/* Katsumi — precise steel, open horizons. */
:root{--brand-blue:#123ced;--blue:#123ced;--blue-dark:#0c2bae;--navy:#12202d;--muted:#52616e;--line:#d5dce3;--pale:#f0f3f7;--radius:0;scroll-padding-top:110px}
body{font-family:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
.container{width:min(1280px,calc(100% - 112px))}
.preview-note{background:#edf1f6;color:#52616e;font-size:.75rem;padding-block:4px}
.site-header{padding:18px 3.9%;gap:26px;background:#fff;border-color:var(--line)}
.brand img{border-radius:0;width:48px;height:48px}.brand strong{font-size:1.25rem}.brand small{font-size:.75rem}
.desktop-nav{gap:25px}.desktop-nav a{font-size:.875rem}.desktop-nav .nav-recruit{color:var(--blue);border-bottom:2px solid var(--blue);padding-inline:4px}
.header-contact{border-radius:0;background:var(--blue);padding:14px 24px;font-weight:700}
.eyebrow{font-size:.75rem;letter-spacing:.17em;margin-bottom:20px}.button{border-radius:0;min-height:58px;padding:16px 24px;gap:25px;font-size:.9375rem;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}
.button-blue{background:var(--blue)}.button-blue:hover{background:var(--blue-dark)}.button-outline{border-color:#b2becb}.text-link{font-size:.9375rem}
h2{font-size:clamp(2rem,3.3vw,3.15rem);letter-spacing:.01em;line-height:1.5}
.future-hero{padding-top:52px}.future-hero-top{display:grid;grid-template-columns:1.18fr 1fr;gap:60px;align-items:end;padding-bottom:44px}
.future-hero h1{font-size:clamp(3.2rem,5.3vw,5.4rem);letter-spacing:-.04em;line-height:1.26;font-weight:800}.future-hero h1 em{font-style:normal;color:var(--blue)}
.future-hero-intro{padding-bottom:5px}.hero-kicker{font:700 .75rem/1.5 Arial,sans-serif;letter-spacing:.15em;color:var(--blue);margin-bottom:15px}.future-hero-intro>p:not(.hero-kicker){font-size:1rem;line-height:1.95}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:24px}.hero-actions .button{min-height:54px;padding:14px 20px}.hero-recruit-link{display:inline-flex;gap:18px;align-items:center;font-weight:700;color:var(--blue);font-size:.9375rem;min-height:44px;border-bottom:1px solid var(--blue)}
.future-factory{margin:0 3.9%;position:relative;background:var(--navy);overflow:hidden}.future-factory img{width:100%;height:clamp(290px,29vw,480px);object-fit:cover;object-position:center 56%}.future-factory:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#061727aa);pointer-events:none}.future-factory figcaption{position:absolute;left:30px;right:30px;bottom:22px;z-index:1;display:flex;justify-content:space-between;gap:22px;font-size:.875rem;font-weight:700;color:white;letter-spacing:.06em}
.recruit-feature{background:var(--blue);color:#fff;margin-top:40px}.recruit-feature-inner{padding-block:46px 54px;display:grid;grid-template-columns:1.3fr 1fr;gap:20px 80px}.recruit-feature-label{grid-column:1/-1;display:flex;align-items:center;gap:26px;border-bottom:1px solid #ffffff50;padding-bottom:20px;margin-bottom:10px}.recruit-feature-label .eyebrow{color:#fff;margin:0;font-size:.875rem}.recruit-feature-label>p:last-child{font-size:.875rem;color:#e0e7ff}.recruit-feature h2{font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.45}.recruit-feature-copy>p{margin-top:20px;font-size:1rem;line-height:2;color:#e9eeff}.recruit-feature-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:end;max-width:390px;width:100%;justify-self:end}.recruit-word{font:800 clamp(2.2rem,4.5vw,4.6rem)/.96 Arial,sans-serif;letter-spacing:-.045em;color:#97b7ff;margin-bottom:24px}.recruit-feature .button-white{color:var(--blue);background:#fff;justify-content:space-between}.recruit-feature .button-white:hover{background:#e9eeff}.recruit-visit-link{display:flex;justify-content:space-between;gap:14px;min-height:48px;align-items:center;font-size:.875rem;margin-top:8px;color:white}.recruit-visit-link:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}
.section{padding-block:94px}.section-heading{margin-bottom:42px;align-items:center}.section-heading>p{font-size:1rem;line-height:2}.services{border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}.service{grid-template-columns:50px 1fr;gap:24px;padding:40px 42px 40px 0}.service+article{padding:40px 0 40px 42px}.service-number{font-size:2.8rem;font-weight:400;letter-spacing:-.07em;color:#9aa8b8}.service-en{font-size:.75rem}.service h3{font-size:2rem;letter-spacing:0}.service a{font-size:.9375rem;margin-top:12px}.service p:not(.service-en){font-size:1rem}.section-note{font-size:.875rem;line-height:2}
#process{padding-top:0}.steps{gap:36px}.steps li{border-top:2px solid var(--blue)}.steps span{font-size:.75rem}.steps h3{font-size:1.2rem}.steps p{font-size:1rem}.company-section{background:var(--pale)}.company-table>div{font-size:1rem;padding-block:21px}.access-card{border-radius:0;box-shadow:none;padding:35px;border:none;border-top:2px solid var(--navy)}.access-card .button{font-size:.9375rem}.access-card>p:not(.eyebrow){font-size:1rem}.faq-section{grid-template-columns:1fr 1.35fr;gap:60px}.faq-list summary{font-size:1rem;padding-block:25px}.faq-intro{font-size:1rem}.faq-list details p{font-size:1rem}
.contact-section{background:var(--navy);color:#fff;border:0;padding-block:78px 66px}.contact-heading-row{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:38px}.contact-heading-row .eyebrow{color:#8fbbff}.contact-heading-row h2{font-size:clamp(2.2rem,3.6vw,3.6rem)}.contact-heading-row>p{color:#c4d0de;line-height:2;font-size:1rem}.contact-paths{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-path{display:flex;flex-direction:column;background:var(--blue);padding:27px 30px 22px;color:#fff;transition:background .2s}.contact-path:hover{color:#fff;background:#2149fc}.path-label{font:700 .75rem/1.5 Arial,sans-serif;letter-spacing:.18em;color:#b8ccff}.contact-path strong{font-size:clamp(1.1rem,1.6vw,1.5rem);margin:10px 0 24px;line-height:1.6}.path-action{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #ffffff50;padding-top:17px;font-size:.9375rem;font-weight:700}.path-action>span{font-size:1.5rem}.contact-reassurance{color:#c4d0de;font-size:.875rem;margin-top:23px;line-height:1.9}.site-footer{padding-block:40px 95px}.footer-top p,.footer-top>a:last-child,.footer-bottom>a,.privacy{font-size:.875rem}.footer-top .brand{min-width:230px}.footer-bottom{gap:18px 30px}.privacy{max-width:500px}.chat-launcher{border-radius:4px;background:#fff;color:var(--navy);border:1px solid #bac6d4;box-shadow:0 5px 20px #10243d18;padding:13px 18px;font-size:.875rem}.chat-launcher:hover{background:#edf2f8;color:var(--navy)}.chat-dialog{border-radius:4px}.chat-header h2{font-size:1.125rem}.chat-disclaimer,.chat-footer,.chat-reset{font-size:.875rem}.message{font-size:1rem}.chat-header small,.message>span{font-size:.75rem}.mobile-home-actions{display:none}
@media(min-width:1600px){.future-factory{max-width:1480px;margin-inline:auto}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.desktop-nav{gap:18px}.desktop-nav a{font-size:.8755rem}.site-header{gap:20px}.future-hero-top{gap:35px;grid-template-columns:1.15fr 1fr}.future-hero h1{font-size:4rem}.hero-actions{gap:10px}.recruit-feature-inner{gap:20px 45px}.contact-heading-row{gap:30px}.contact-path{padding-inline:24px}.footer-top{gap:25px}}
@media(max-width:900px){.site-header{padding:13px 28px}.menu-toggle{border-radius:0;min-height:46px;font-size:.875rem}.future-hero{padding-top:38px}.future-hero h1{font-size:clamp(2.8rem,5.7vw,3.4rem)}.future-hero-top{gap:30px}.future-hero-intro{padding-bottom:0}.future-hero-intro>p:not(.hero-kicker){font-size:1rem}.hero-actions .button{font-size:.875rem;padding-inline:15px;gap:18px}.recruit-feature h2{font-size:2.5rem}.recruit-feature-inner{gap:20px 35px}.section{padding-block:70px}.contact-heading-row{align-items:start;flex-direction:column;gap:24px}.contact-heading-row>p br{display:none}.contact-path strong{font-size:1.125rem}.service{padding-right:25px;grid-template-columns:40px 1fr;gap:18px}.service+article{padding-left:25px}.service h3{font-size:1.7rem}.faq-section{gap:30px}.company-grid{gap:30px}}
@media(max-width:650px){:root{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.site-header{padding:11px 20px;gap:12px}.brand img{width:39px;height:39px}.brand strong{font-size:1.1rem}.brand small{font-size:.75rem}.menu-toggle{padding:8px 11px;font-size:.875rem}.preview-note{font-size:.75rem}.preview-note span{margin-left:7px}.eyebrow{font-size:.75rem;margin-bottom:16px}.future-hero{padding-top:33px}.future-hero-top{grid-template-columns:1fr;gap:26px;padding-bottom:27px}.future-hero h1{font-size:clamp(2rem,9.7vw,3.75rem);letter-spacing:-.045em;line-height:1.35}.hero-kicker{display:none}.future-hero-intro>p:not(.hero-kicker){font-size:1rem;line-height:1.95}.hero-actions{gap:12px 21px;margin-top:21px}.hero-actions .button{font-size:.9375rem;min-height:54px;flex:1;justify-content:space-between;white-space:nowrap}.hero-recruit-link{font-size:.875rem}.future-factory{margin-inline:20px}.future-factory img{height:245px;object-position:53% center}.future-factory figcaption{left:15px;right:15px;bottom:14px;display:block;font-size:.75rem;line-height:1.9}.future-factory figcaption span{display:block}.recruit-feature{margin-top:24px}.recruit-feature-inner{grid-template-columns:1fr;gap:22px;padding-block:28px 33px}.recruit-feature-label{gap:16px;padding-bottom:17px;margin:0;flex-wrap:wrap}.recruit-feature-label>p:last-child{font-size:.875rem}.recruit-feature h2{font-size:clamp(1.9rem,8vw,2.8rem)}.recruit-feature-copy>p{margin-top:16px;font-size:1rem}.recruit-feature-copy>p br{display:none}.recruit-feature-actions{max-width:none;justify-self:stretch}.recruit-word{display:none}.recruit-feature .button{font-size:1rem}.recruit-visit-link{font-size:.875rem}.section{padding-block:57px}h2{font-size:1.95rem}.section-heading>p{font-size:1rem;margin-top:20px}.section-heading{margin-bottom:28px}.services{grid-template-columns:1fr}.service,.service+article{padding:28px 0;grid-template-columns:35px 1fr;gap:18px}.service-number{font-size:2rem}.service h3{font-size:1.7rem}.service a{font-size:.9375rem}.section-note{font-size:.875rem}.steps{gap:25px}.steps h3{font-size:1.2rem}.company-table>div{font-size:.9375rem;grid-template-columns:78px 1fr;gap:12px}.company-grid{gap:30px}.access-card{padding:26px 23px}.faq-section{grid-template-columns:1fr;gap:25px}.faq-list summary,.faq-list details p{font-size:1rem}.contact-section{padding-block:48px 40px}.contact-heading-row h2{font-size:2.25rem}.contact-heading-row{margin-bottom:28px;gap:22px}.contact-heading-row>p{font-size:1rem}.contact-paths{grid-template-columns:1fr;gap:16px}.contact-path{padding:23px}.contact-path strong{font-size:1.15rem;margin-bottom:20px}.contact-reassurance{font-size:.875rem}.site-footer{padding-bottom:170px}.footer-top{gap:22px}.footer-top p{font-size:.875rem}.footer-bottom{display:block}.footer-bottom>a{display:block;font-size:.875rem;margin-bottom:15px}.privacy{font-size:.875rem}.mobile-home-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;position:fixed;inset:auto 0 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);z-index:32}.mobile-home-actions a{display:flex;justify-content:center;align-items:center;gap:18px;min-height:48px;color:var(--blue);border:1px solid var(--blue);background:#fff;font-size:.9375rem;font-weight:700}.mobile-home-actions a:last-child{background:var(--blue);color:#fff}body[data-page=home] .chat-launcher{bottom:calc(85px + env(safe-area-inset-bottom));right:16px;font-size:.875rem;padding:10px 13px;min-height:44px}.chat-dialog{max-height:calc(100dvh - 24px)}.chat-footer{font-size:.875rem;flex-wrap:wrap}.chat-reset{font-size:.875rem}.chat-choices button{font-size:.875rem}.chat-messages{height:200px}}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}
/* Carry the same identity into recruitment and enquiries. */
.recruit-invitation{color:var(--blue);font-size:1.1rem;font-weight:700;margin-bottom:20px}.recruit-hero{padding-top:55px;gap:28px 60px}.recruit-title h1{font-size:clamp(2.6rem,4.5vw,4.5rem);letter-spacing:-.02em;line-height:1.35}.recruit-photo img{border-radius:0;min-height:440px}.recruit-photo figcaption{font-size:.875rem}.recruit-hero .recruit-actions .button{font-size:.9375rem}.recruit-jump{background:var(--navy);color:#fff;border:0}.recruit-jump a:hover{color:#9ec1ff}.recruit-wash{background:var(--pale)}.recruit-facts strong{color:var(--blue)}.job-status{border-radius:0;border-top-color:var(--blue)}.recruit-visit{background:var(--pale);border-top:5px solid var(--blue)}.visit-grid article{border-radius:0;border:0;border-top:2px solid var(--blue)}.work-grid article{border-top-width:1px}.merit-grid p,.work-grid dl,.growth-grid p{font-size:1rem}.mobile-recruit-actions a{border-radius:0}.contact-main{padding-top:54px}.contact-heading{border-bottom:1px solid var(--line);padding-bottom:36px;margin-bottom:36px}.contact-heading h1{font-size:clamp(2.3rem,4.6vw,4rem);letter-spacing:-.02em;line-height:1.4}.contact-heading>p:last-child{font-size:1rem}.paper-form{border-radius:0;border-top:3px solid var(--blue)}.field input,.field select,.field textarea{border-radius:0;background:#f6f8fb}.radio-options label{border-radius:0}.contact-aside{border-top:1px solid var(--navy);padding-top:23px}.contact-flow p{font-size:1rem}.contact-header nav a{padding-block:8px}.send-button{background:var(--blue)}
@media(max-width:900px){.recruit-hero{gap:26px 30px}.recruit-title h1{font-size:clamp(2.25rem,4.5vw,3rem)}.recruit-invitation{font-size:1rem}.recruit-photo img{min-height:390px}}
@media(max-width:650px){.recruit-hero{padding-top:32px;gap:26px}.recruit-title h1{font-size:clamp(2rem,10vw,3.6rem)}.recruit-invitation{font-size:1rem;margin-bottom:18px}.recruit-photo img{height:255px;min-height:0}.recruit-sub{font-size:1.125rem}.recruit-hero .recruit-actions .button{font-size:.9375rem}.recruit-jump a{font-size:.875rem}.growth-grid{grid-template-columns:1fr}.growth-grid h3{font-size:1.125rem}.growth-grid p{font-size:1rem}.contact-main{padding-top:32px}.contact-heading{padding-bottom:26px;margin-bottom:28px}.contact-heading h1{font-size:2.25rem}.contact-header{padding:12px 20px}.contact-header nav{font-size:.875rem}.contact-header .brand strong{font-size:1.1rem}.contact-header .brand img{width:36px;height:36px}.contact-footer{padding-bottom:32px}.contact-footer>a{font-size:.875rem}.contact-layout{gap:34px}.contact-aside{padding-top:24px}.paper-form{padding:24px 20px}.contact-aside .school-note{margin-top:25px}}

.launch-contact{max-width:780px;margin:0 auto 60px}.launch-contact>p{margin-block:20px}.launch-phone{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:Arial,sans-serif;font-size:clamp(1.65rem,5vw,2.8rem);padding:24px 28px;gap:16px;letter-spacing:.02em}.launch-contact .school-note{margin-top:32px}.launch-contact .school-note h3{font-size:1.05rem;margin-bottom:12px}
