/* Review copy — unpublished
   Direction: field-documentary recruitment editorial
   Golden-ratio layout: 38.2 / 61.8 */

:root{
  --bg:#f4f3ef;
  --panel:#ffffff;
  --panel-alt:#eaedef;
  --amber:#e99b22;
  --amber-dim:#a66a12;
  --teal:#0a907f;
  --text:#17212b;
  --text-muted:#5c6873;
  --line:rgba(23,33,43,.14);
  --line-strong:rgba(23,33,43,.28);
  --radius:5px;
  --header-bg:rgba(13,20,28,.96);
  --btn-shadow:rgba(174,104,7,.22);
  --input-bg:#ffffff;
  --success-bg:rgba(10,144,127,.08);
  --btn-text:#15100a;
}

body{
  background:var(--bg);
  color:var(--text);
  font-size:16px;
  line-height:1.85;
  text-rendering:optimizeLegibility;
}

html{scroll-padding-top:82px;}
#work,#apply{scroll-margin-top:82px;}

.wrap{max-width:1160px;padding-inline:clamp(20px,4vw,40px);}

h1,h2,h3,.display{
  letter-spacing:0;
  text-wrap:balance;
}

p{max-width:68ch;}

header{
  color:#f8f7f2;
  box-shadow:0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:saturate(120%) blur(14px);
  -webkit-backdrop-filter:saturate(120%) blur(14px);
}
.header-inner{max-width:1160px;padding:14px 40px;}
.logo{font-size:16px;}
.header-cta .btn{font-family:'Noto Sans JP',sans-serif;letter-spacing:.02em;padding:12px 22px;}

.btn{
  justify-content:center;
  font-family:'Noto Sans JP',sans-serif;
  letter-spacing:.01em;
  border-radius:4px;
  box-shadow:none;
  min-height:48px;
}
.btn:hover{box-shadow:0 9px 24px -12px var(--btn-shadow);}
.btn:active{transform:translateY(0);box-shadow:none;}
.btn:focus-visible,.field input:focus-visible,.field select:focus-visible{
  outline:3px solid #f4b24b;
  outline-offset:3px;
}

.hero{
  padding:42px 0 38px;
  background:#0c131b;
  border-bottom:0;
}
.hero-artwork{
  border-color:rgba(255,255,255,.18);
  border-radius:4px;
  box-shadow:0 28px 72px rgba(0,0,0,.24);
}
.hero-artwork figcaption{border:0;background:rgba(8,13,18,.72);}
.hero-actions{padding-top:18px;}
.hero-actions p{color:#aeb9c4;font-size:14px;}
.hero-actions .btn-outline{color:#f6f7f8;border-color:rgba(255,255,255,.35);}

.stats-bar{background:#17222d;color:#f6f7f8;border-color:rgba(255,255,255,.12);}
.stats-bar .wrap{max-width:1160px;}
.stat{padding:26px clamp(18px,2vw,26px);border-color:rgba(255,255,255,.12);}
.stat .reading{font-family:'Noto Sans JP',sans-serif;color:#f0b452;letter-spacing:.05em;}
.stat .val{font-size:clamp(23px,2.3vw,30px);}
.stat .val small,.stat .desc{color:#b9c2ca;}

section{padding:clamp(68px,8vw,104px) 0;}
section + section{border-top:1px solid var(--line);}
.section-head{max-width:680px;margin-bottom:clamp(30px,4vw,48px);}
.section-head h2{
  max-width:18em;
  font-size:clamp(30px,4vw,44px);
  line-height:1.28;
  word-break:auto-phrase;
  line-break:strict;
}
.section-head p{margin-top:18px;font-size:16px;line-height:1.9;color:var(--text-muted);}
.eyebrow{
  margin-bottom:12px;
  font-family:'Noto Sans JP',sans-serif;
  font-size:10px;
  letter-spacing:.12em;
  color:var(--teal);
}
.eyebrow::before{width:24px;height:1px;border-radius:0;box-shadow:none;background:currentColor;}

.golden-split{
  display:grid;
  grid-template-columns:minmax(0,38.2fr) minmax(0,61.8fr);
  gap:clamp(30px,5vw,64px);
  align-items:center;
  margin-bottom:clamp(42px,6vw,72px);
}
.golden-split .section-head{margin-bottom:0;}
.training-intro{grid-template-columns:minmax(0,61.8fr) minmax(0,38.2fr);}

.section-photo{
  position:relative;
  margin:0;
  aspect-ratio:1.5;
  overflow:hidden;
  border-radius:4px;
  background:#d8dcdd;
}
.section-photo::after{
  content:'';
  position:absolute;
  inset:0;
  border:1px solid rgba(16,25,34,.13);
  pointer-events:none;
}
.section-photo img{width:100%;height:100%;object-fit:cover;}
.section-photo figcaption{
  position:absolute;
  right:10px;
  bottom:8px;
  padding:3px 7px;
  background:rgba(10,16,22,.72);
  color:#f5f5f2;
  font-size:10px;
}

#work{background:#f4f3ef;}
.process{
  gap:0;
  margin-bottom:72px;
  background:transparent;
  border:0;
  border-top:1px solid var(--line-strong);
  border-bottom:1px solid var(--line-strong);
  border-radius:0;
}
.process .step{background:transparent;padding:30px 26px;}
.process .step + .step{border-left:1px solid var(--line);}
.process .step .idx{font-family:'Noto Sans JP',sans-serif;color:var(--amber-dim);}
.process .step h3{font-size:20px;}
.process .step p{font-size:15px;line-height:1.85;}

.timeline{border:0;border-top:1px solid var(--line-strong);border-radius:0;}
.timeline .row{grid-template-columns:130px 1fr;border-color:var(--line);}
.timeline .time{background:transparent;color:var(--amber-dim);font-family:'Noto Sans JP',sans-serif;font-weight:700;border-color:var(--line);}
.timeline .desc{font-size:15px;}

.reasons-section{background:#fff;}
.features{
  gap:0;
  border-top:1px solid var(--line-strong);
  border-bottom:1px solid var(--line-strong);
}
.feature{
  padding:30px clamp(20px,3vw,34px);
  background:transparent;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
}
.feature .reading{font-family:'Noto Sans JP',sans-serif;color:var(--amber-dim);letter-spacing:.06em;}
.feature h3{font-size:21px;}
.feature p{font-size:15px;line-height:1.9;}

.voices-section{background:#17222d;color:#f5f7f8;}
.voices-section .eyebrow{color:#58c7b7;}
.voices-section .section-head p{color:#bdc6ce;}
.voices{gap:0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);}
.voice{
  padding:32px 28px;
  background:transparent;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  border-radius:0;
}
.voice:last-child{border-right:0;}
.voice .quote-mark{color:#f0b452;}
.voice p{color:#f5f7f8;line-height:1.9;}
.voice .who{border-color:rgba(255,255,255,.16);}
.voice .who .age{color:#f0b452;}
.voice .who .prev{color:#bdc6ce;}

.pay-section{background:#f4f3ef;}
.pay-table{max-width:1040px;border:0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);border-radius:0;}
.pay-row{border-color:var(--line);}
.pay-row .k{background:#e9ecec;font-family:'Noto Sans JP',sans-serif;font-weight:700;color:#44515c;}
.pay-row .v{background:#fff;line-height:1.85;}
.pay-row .v strong{color:#a9680d;}

.fit-section{background:#fff;}
.req-grid{max-width:1040px;gap:0;padding:0;border-top:1px solid var(--line-strong);}
.req-grid li{
  padding:18px 8px;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  font-size:15px;
}
.req-grid li::before{content:'—';color:var(--teal);}

.selection-section{background:#edf0f0;}
.flow .fstep{grid-template-columns:56px 1fr;padding:24px 0;border-color:var(--line);}
.flow .fstep .num{font-family:'Noto Sans JP',sans-serif;color:var(--amber-dim);font-weight:700;}
.flow .fstep h3{font-size:18px;}
.flow .fstep p{font-size:15px;}

.company-section{background:#fff;}
.company-card{max-width:1040px;border:0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);border-radius:0;}
.company-card .row{border-color:var(--line);}
.company-card .k{background:#edf0f0;font-weight:700;color:#44515c;}

.form-section{background:#17222d;color:#f6f7f8;border:0;}
.form-section .section-head p{color:#bdc6ce;}
.form-section .eyebrow{color:#58c7b7;}
.form-section form{width:61.8%;max-width:680px;}
.field label{font-family:'Noto Sans JP',sans-serif;color:#d7dde2;font-size:13px;letter-spacing:0;}
.field input,.field select{min-height:50px;border-color:rgba(255,255,255,.34);color:#17212b;}
.form-note{color:#bdc6ce;}
.form-foot{align-items:center;}
.form-foot .btn{min-width:184px;}

footer{background:#0d141c;color:#c3cbd2;}
footer .wrap{color:#c3cbd2;}
footer .btn-outline{color:#f5f7f8;border-color:rgba(255,255,255,.34);}

@media(min-width:720px){
  .feature:nth-child(odd){border-right:1px solid var(--line);}
  .feature:nth-last-child(-n+2){border-bottom:0;}
}

@media(max-width:899px){
  .header-inner{padding:12px 20px;}
  .header-cta .btn{padding:10px 14px;min-height:42px;}
  .hero{padding:24px 0 32px;}
  .hero-artwork{border-radius:3px;}
}

@media(max-width:759px){
  html{scroll-padding-top:16px;}
  #work,#apply{scroll-margin-top:16px;}
  header{position:relative;top:auto;}
  section{padding:58px 0;}
  .golden-split,.training-intro{grid-template-columns:1fr;gap:26px;}
  .training-intro .section-photo{order:2;}
  .golden-split .section-head{order:1;}
  .section-photo{order:2;aspect-ratio:4/3;}
  .process .step + .step{border-left:0;border-top:1px solid var(--line);}
  .voice{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);}
  .voice:last-child{border-bottom:0;}
  .form-section form{width:100%;}
  .hero-actions .hero-cta-row{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:8px;
  }
  .hero-actions .btn{min-height:48px;padding-inline:12px;font-size:13px;}
  .form-foot{display:grid;grid-template-columns:1fr;gap:10px;}
  .form-foot .btn{width:100%;}
  .form-note{line-height:1.65;}
  footer .tel-cta{display:grid;grid-template-columns:1fr;gap:10px;}
  footer .tel-cta .btn{width:100%;}
}

@media(max-width:520px){
  .logo{font-size:14px;white-space:nowrap;}
  .header-cta .btn{font-size:12px;padding:9px 12px;}
  .hero-actions p{font-size:13px;}
  .stat{padding:22px 16px;}
  .stat .val{font-size:21px;}
  .timeline .row{grid-template-columns:92px 1fr;}
  .timeline .time,.timeline .desc{padding:14px 12px;}
  .section-head h2{font-size:clamp(27px,8.2vw,34px);line-height:1.34;}
  .section-head p{font-size:15px;line-height:1.9;}
}
