@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--ink:#172d29;--cream:#f0ede5;--orange:#9c7950;--yellow:#cbb78a}
header{padding-top:25px;padding-bottom:25px}.brand-mark{transform:none;background:transparent;color:var(--ink);border:1px solid #9c795070}.brand{font-weight:600}.header-call{background:var(--ink);color:#e6d4ad;padding:16px 28px}.hero{margin:0;padding:0 6%;min-height:690px;background:#172d29}.hero-copy{width:74%;padding:110px 0 100px}.hero h1{font-family:'Noto Serif JP',serif;font-weight:400;font-size:clamp(36px,4.2vw,63px);line-height:1.65;letter-spacing:.015em;position:relative;z-index:2}.hero h1 .accent{color:#d5c5a3}.hero .eyebrow{letter-spacing:3px;font-weight:500;color:#cbb78a}.hero .lead{font-size:14px;line-height:2.3;color:#e2e4da}.hero .pill{background:transparent;color:#e3d2ac;border:1px solid #cbb78a85;padding:20px 25px;gap:65px;margin-top:10px}.hero .pill small{font-size:9px;letter-spacing:2px;font-weight:400;margin-top:10px}.hero .pill:hover{background:#cbb78a14}.hero-recruit{font-weight:400;font-size:11px;border-color:#ffffff40;color:#d6dad1}.hero .tiny{font-size:9px;letter-spacing:1px}.hero-art{width:43%;right:0;top:0;bottom:52px;border-radius:0;background:#728578;opacity:.46;z-index:-1}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#172d29 0%,transparent 65%);pointer-events:none}.hero-art .town{height:100%;width:150%;left:-20%;bottom:-6%}.hero-buddy{width:70%;left:15%;bottom:9%;filter:saturate(.5)}.hero-art .sun{background:#d7c39b;width:110px;height:110px;top:18%;right:22%}.art-label,.speech,.art-caption{display:none}.hero-bottom{position:relative;letter-spacing:2px}.purpose-nav{background:#e9e6dc}.purpose-nav>a{font-weight:500}.purpose-label{font-weight:500}.ticker{display:none}.recruit{margin:0;border-radius:0;padding:110px 8%;background:#e8e4da;color:var(--ink);grid-template-columns:1.25fr 1fr;gap:10%}.recruit h2{font-family:'Noto Serif JP',serif;font-weight:400;line-height:1.65;font-size:clamp(31px,3.5vw,50px);letter-spacing:0}.recruit .eyebrow{color:#806442;letter-spacing:2px}.recruit p{line-height:2.3}.recruit .pill{background:var(--ink);color:#e5d4af;min-width:280px;font-weight:500}.recruit .tiny{font-size:10px;color:#536057}.recruit-art{background:#253d34;min-height:350px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:36px;position:relative;border-top:1px solid #cbb78a}.recruit-art:before{content:'NAGASAKI / YOUR NEXT CHAPTER';position:absolute;top:24px;left:26px;color:#cbb78a;font-size:8px;letter-spacing:2px}.recruit-message{font-family:'Noto Serif JP',serif;color:#e2d6bc;font-size:23px!important;font-weight:400;line-height:1.8!important;margin:15px 0 0}.recruit-art img{width:65%;max-width:240px;margin:18px 0 0;filter:saturate(.65)}.recruit-art>span{display:none}.section h2,.callout h2{font-family:'Noto Serif JP',serif;font-weight:400;letter-spacing:0}.intro>div:last-child{font-size:14px}.vehicle-list h3{font-family:'Noto Serif JP',serif;font-weight:500}.vehicle-visual img{filter:saturate(.45)}.vehicles{background:#e4e6dd}.callout{background:#21382f}.callout>a{font-weight:500;color:#d5c5a3}.group-row h3{font-weight:600}.group-row span{color:#6b7468}.eyebrow{font-weight:500}.guide img{filter:saturate(.65)}.mobile-recruit{font-weight:500}.opening[hidden]{display:none}.opening{position:fixed;inset:0;z-index:100;background:#142a24;color:#e6ddc8;display:flex;flex-direction:column;justify-content:center;padding:7%;overflow:auto}.opening-brand{position:absolute;left:7%;top:9%;font-size:10px;letter-spacing:3px;color:#cbb78a}.opening-label{font-size:12px;letter-spacing:2px;color:#b6c3b6;margin-bottom:28px;animation:opening-appear 1s both}.opening h2{font-family:'Noto Serif JP',serif;font-size:clamp(28px,4.3vw,65px);font-weight:400;line-height:1.9;letter-spacing:.04em;margin:0}.opening h2 span{display:block;animation:opening-appear 1.1s both}.opening h2 span:nth-child(2){animation-delay:.3s}.opening-line{width:100px;height:1px;background:#bda77b;margin-top:35px;transform-origin:left;animation:opening-line 2.3s ease both}#opening-skip{position:absolute;right:7%;bottom:9%;background:none;color:#dbcba7;border:0;border-bottom:1px solid #cbb78a60;padding:13px 0;font-size:12px;letter-spacing:1px}.opening-foot{position:absolute;bottom:10%;left:7%;font-size:10px;letter-spacing:2px;color:#b6c3b6}.opening.is-leaving{animation:opening-exit .75s cubic-bezier(.65,0,.35,1) both;pointer-events:none}.intro-running{overflow:hidden}.site-entered .hero h1{animation:opening-appear 1.1s both}.paused .opening{animation:none!important}@keyframes opening-appear{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes opening-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes opening-exit{to{opacity:0;transform:translateY(-4%)}}
@media(max-width:720px){header{padding:17px 5% 0}.hero{margin:0;padding:0 7%;min-height:0}.hero-copy{width:100%;padding:57px 0 38px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero h1{font-size:clamp(22px,6.2vw,43px);line-height:1.85;letter-spacing:0;margin:0 0 28px}.hero .lead{font-size:12px;line-height:2.1}.hero .pill{padding:18px;gap:15px;width:100%;max-width:340px;font-size:13px}.hero .pill small{font-size:8px;letter-spacing:1.5px}.hero-recruit{font-size:10px}.hero-art{width:100%;height:230px;opacity:.7;border-radius:0;margin:0;right:auto;bottom:auto;top:auto}.hero-art:after{background:linear-gradient(180deg,#172d29,transparent 45%)}.hero-art .town{width:140%;left:-15%;height:135%;bottom:-15%}.hero-buddy{width:57%;left:21%;bottom:0}.hero-art .sun{width:55px;height:55px;top:15%;right:19%}.hero-bottom{margin-top:0;font-size:7px;height:48px}.purpose-nav{padding:25px 7% 15px}.recruit{margin:0;padding:65px 7%;display:block}.recruit h2{font-size:clamp(25px,7.5vw,38px);line-height:1.65;margin:0 0 25px}.recruit p{font-size:12px;line-height:2.2}.recruit p br{display:none}.recruit .pill{min-width:0;width:100%;padding:19px 16px;font-size:12px}.recruit .tiny{font-size:9px}.recruit-art{margin-top:35px;max-width:none;min-height:280px;padding:35px 20px 20px}.recruit-message{font-size:23px!important}.recruit-message br{display:block!important}.recruit-art img{width:56%;max-width:200px;margin-top:10px}.intro h2{font-size:27px;line-height:1.7}.section-heading h2{font-size:29px;line-height:1.6}.callout h2{font-size:28px}.vehicle-list h3{font-size:23px}.mobile-call{right:58%;font-size:12px;min-height:56px;padding-top:10px}.mobile-call small{font-size:8px}.mobile-recruit{width:58%;font-size:13px;background:#cbb78a}.opening{padding:8%}.opening-brand{font-size:8px;left:8%;letter-spacing:2px}.opening h2{font-size:clamp(23px,6.2vw,38px);line-height:2;letter-spacing:0}.opening-label{font-size:10px;letter-spacing:1px}.opening-foot{left:8%;bottom:18%;font-size:9px;letter-spacing:1px}#opening-skip{right:8%;bottom:8%;font-size:11px}}
@media(prefers-reduced-motion:reduce){.opening,.opening *,.site-entered .hero h1{animation:none!important}}
/* Keep the illustrated scene bright; text sits in its own dark column. */
.hero-art{opacity:1;background:#bdd1c4}
.hero-art:after{background:linear-gradient(90deg,#172d29 0%,#172d2900 28%)}
.hero-buddy{filter:none}
@media(max-width:720px){.hero-art{opacity:1;background:#bdd1c4}.hero-art:after{background:linear-gradient(180deg,#172d29 0%,#172d2900 18%)}.hero-buddy{filter:none}}
.hero-art .town,.hero-art .hero-buddy,.hero-art .sun{display:none}
.premium-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;animation:scene-breathe 20s ease-in-out infinite alternate}
.hero-art:after{background:linear-gradient(90deg,#172d29 0%,#172d2940 12%,transparent 28%)}
.scene-credit{position:absolute;right:14px;bottom:14px;z-index:2;color:#fff;background:#172d29b3;padding:6px 9px;font-size:8px;letter-spacing:.5px}
@keyframes scene-breathe{from{transform:scale(1)}to{transform:scale(1.035)}}
@media(max-width:720px){.hero-art{height:340px}.premium-scene{object-position:50% 55%}.hero-art:after{background:linear-gradient(180deg,#172d29 0%,transparent 15%)}.scene-credit{right:8px;bottom:9px;font-size:7px}}
@media(prefers-reduced-motion:reduce){.premium-scene{animation:none!important}}
.vehicle-visual{position:relative}.vehicle-visual img{filter:none!important;aspect-ratio:3/2;object-fit:contain}.vehicle-caption{position:absolute;bottom:9px;right:9px;padding:5px 8px;background:#ffffffdf;color:#253c33;font-size:9px;letter-spacing:.3px}
/* Audit fixes: direct recruitment routes, clear focus and readable motion fallbacks. */
html{scroll-padding-top:24px}
.career-links{margin-top:22px;max-width:470px;border-top:1px solid #172d2930}
.career-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #172d2930;font-size:13px;line-height:1.6;min-height:52px}
.career-links a span{font-size:19px;transition:transform .2s}
.career-links a:hover span,.career-links a:focus-visible span{transform:translate(3px,-3px)}
.career-links a:hover{color:#725a35}
.opening.is-leaving{pointer-events:auto}
h1:focus{outline:none}
.paused .hero h1,.paused .site-entered .hero h1{animation:none!important;opacity:1;transform:none}
.page-hidden *{animation-play-state:paused!important}
.recruit .tiny{color:#4d5a51;line-height:1.9}
@media(max-width:720px){.career-links a{font-size:12px;min-height:54px}.recruit .tiny{font-size:10px}.guide #guide-toggle{padding:0;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#f0ede5}.guide #guide-toggle img{width:44px;height:38px}.guide #guide-toggle span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.guide{right:10px;bottom:calc(67px + env(safe-area-inset-bottom))}#guide-panel{bottom:60px}.hero .hero-recruit{font-size:11px;min-height:44px;display:flex;align-items:center;margin-top:6px}.faq summary{min-height:44px}.scene-credit{font-size:8px}.vehicle-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.career-links a span{transition:none}}
.contact-section{background:#e8e4da;display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start}
.contact-intro{position:sticky;top:30px}.contact-intro h2{font-size:clamp(30px,3.3vw,48px);line-height:1.6}.contact-intro>p{font-size:13px;line-height:2.1}.contact-phone{margin-top:35px}.contact-phone a{font-size:24px}.contact-note{font-size:10px!important;color:#506056}
.form-field{margin:0 0 23px}.form-field label{font-size:13px;font-weight:600;display:block;margin-bottom:10px}.form-field label>span{font-size:9px;background:#d8ccb6;color:#344c3e;padding:3px 6px;margin-left:8px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #172d2945;border-radius:2px;background:#f9f7f0;color:#172d29;font:inherit;font-size:16px;padding:13px;min-height:48px}.form-field textarea{resize:vertical;line-height:1.8}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #8e784e;outline-offset:2px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-pair .form-field{margin-bottom:0}.field-help{font-size:11px;line-height:1.9;margin-top:9px;color:#526054}#contact-reach{margin-bottom:23px}.form-privacy{border-top:1px solid #172d2940;border-bottom:1px solid #172d2940;padding:18px 0;margin-bottom:20px}.form-privacy h3{font-size:13px;margin:0 0 8px}.form-privacy p{font-size:11px;line-height:1.9;margin:0}.consent-label{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.8;margin:25px 0;cursor:pointer}.consent-label input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:#172d29}.form-submit{background:#172d29;color:#e5d4af;display:flex;justify-content:space-between;width:100%;padding:20px 24px;border:0;font-size:14px;min-height:58px}.form-submit:disabled{opacity:.6;cursor:wait}#form-result{font-size:13px;line-height:2;overflow-wrap:anywhere}#form-result:not(:empty){padding:18px;border:1px solid #172d2950;background:#f4f0e5}#form-result.error{border-color:#9b392e;color:#7b3028}#form-result.success{border-color:#506d47}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:720px){.contact-section{display:block;padding:60px 7% 80px}.contact-intro{position:static;margin-bottom:35px}.contact-intro h2{font-size:30px}.contact-intro>p{font-size:12px}.contact-phone{margin-top:25px}.contact-phone a{font-size:23px}.form-pair{grid-template-columns:1fr;gap:20px}.form-field label{font-size:12px}.consent-label{font-size:11px}.form-submit{font-size:13px}.field-help{font-size:10px}}
.contact-intro h2{font-size:clamp(24px,2.7vw,40px)}
@media(max-width:720px){.contact-intro h2{font-size:28px}}
.demo-fields{border:0;padding:0;margin:0;min-width:0}.form-demo-notice{border-left:2px solid #9c7950;padding:12px 15px;background:#f4f0e5;font-size:12px;line-height:1.9;margin:0 0 28px}.demo-fields input:disabled,.demo-fields textarea:disabled,.demo-fields select:disabled{opacity:1;color:#536157;-webkit-text-fill-color:#536157;background:#f4f1e9;cursor:default}.contact-section .form-submit:disabled{cursor:default;opacity:.65}
.hero-with-video{position:relative;background:#172d29;overflow:hidden}
.hero-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hero-with-video:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,25,20,.84),rgba(8,25,20,.62) 46%,rgba(8,25,20,.16));z-index:-1;pointer-events:none}
.hero-with-video .hero-art{display:none}
.hero-with-video .hero-copy{width:100%;max-width:900px;padding-top:110px;padding-bottom:95px}
.hero-with-video .hero-bottom{z-index:1}
.hero-with-video .hero-copy .pill{background:#172d2980;backdrop-filter:blur(3px)}
@media(max-width:720px){.hero-with-video .hero-copy{padding:65px 0 52px;max-width:none}.hero-with-video:before{background:linear-gradient(90deg,rgba(8,25,20,.8),rgba(8,25,20,.43))}.hero-background-video{object-position:60% center}.hero-with-video .hero-bottom{margin-top:0}}
