:root {
  color-scheme: dark;
  --dark:#172c35; --ink:#f6efe6; --soft:#e4ded5; --quiet:#cad2d1;
  --line:rgba(243,237,226,.38); --serif:"Iowan Old Style",Baskerville,"Palatino Linotype",Georgia,serif;
  --sans:"Helvetica Neue","Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-snap-type:y proximity;}
body{margin:0;background:var(--dark);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
:focus-visible{outline:2px solid #f5dcb5;outline-offset:3px}
.skip-link{position:fixed;z-index:20;top:-100px;left:18px;padding:12px 18px;background:white;color:#172c35}
.skip-link:focus{top:18px}
.panel{position:relative;isolation:isolate;height:100svh;min-height:630px;overflow:hidden;scroll-snap-align:start;background:var(--dark)}
.panel__image{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%}
.panel__image img{width:100%;height:100%;display:block;object-fit:cover}
.hero__image img{object-position:100% 48%}
.hero__veil{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(11,27,34,.68) 0%,rgba(11,27,34,.51) 21%,rgba(11,27,34,.22) 43%,transparent 64%),linear-gradient(0deg,rgba(12,25,32,.18),transparent 21%)}
.header{position:absolute;left:0;right:0;top:0;z-index:4;min-height:104px;display:flex;justify-content:space-between;align-items:center;padding:22px clamp(38px,5vw,92px)}
.brand{display:flex;flex-direction:column;align-items:center;min-width:122px;line-height:1}
.brand__name{font:400 44px/.84 var(--serif);letter-spacing:-.05em}
.brand__type{font:600 8px/1 var(--sans);letter-spacing:.47em;margin-top:12px;margin-left:7px}
.nav{display:flex;align-items:center;gap:36px;font-size:13px}
.nav a:not(.nav__cta){border-bottom:1px solid transparent;padding:5px 0;transition:border-color .18s}
.nav a:hover:not(.nav__cta){border-color:var(--soft)}
.nav__cta{border:1px solid rgba(244,239,231,.48);padding:12px 17px 12px 20px;min-height:46px;display:flex;align-items:center;gap:30px;transition:background .18s}
.nav__cta:hover{background:rgba(255,255,255,.1)}
.nav__cta span{font-size:17px}
.menu-button{display:none}
.hero__text{position:absolute;top:50%;left:clamp(38px,5vw,92px);width:min(475px,41vw);transform:translateY(-41%)}
.overline{font:600 10px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.25em}
.overline--light{color:var(--soft)}
.hero__text .overline{margin:0}
.hero h1{margin:22px 0 21px;font:400 clamp(52px,4.2vw,76px)/1.05 var(--serif);letter-spacing:-.045em;text-wrap:balance}
.hero h1 em{font-weight:400;font-style:italic}
.hero__lead{max-width:390px;margin:0 0 28px;color:#e8e9e5;font-size:15px;line-height:1.72}
.cta{min-height:53px;display:inline-flex;justify-content:space-between;align-items:center;gap:46px;border:1px solid transparent;border-radius:1px;padding:0 22px;font-weight:600;font-size:13px;transition:background .18s,transform .18s;white-space:nowrap}
.cta:hover{transform:translateY(-1px)}
.cta--light{background:#f4eadd;color:#172c35}
.cta--light:hover{background:#fff8f0}
.cta span:last-child{font-size:18px;font-weight:400}
/* The second section is one photograph, never a left-column image. */
.apply__image img{object-position:0% 48%}
.apply__veil{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(7,24,31,.08) 0%,rgba(7,24,31,.06) 41%,rgba(8,24,31,.37) 60%,rgba(8,24,31,.72) 100%),linear-gradient(0deg,rgba(9,24,31,.32),transparent 16%)}
.apply__form-area{position:absolute;top:0;right:0;bottom:0;width:45%;display:flex;align-items:center;justify-content:center;padding:36px clamp(34px,5.3vw,100px) 54px clamp(28px,4vw,70px)}
.form-shell{width:min(100%,445px);color:var(--ink)}
.form-shell__eyebrow{margin:0 0 12px}
.form-shell h2{font:400 clamp(37px,3.1vw,51px)/1.07 var(--serif);letter-spacing:-.045em;margin:0 0 12px}
.form-shell__intro{margin:0 0 20px;max-width:420px;font-size:13px;line-height:1.7;color:#dee4e3}
.fields{display:grid;gap:10px}
.field{min-width:0}
.field label{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:600;margin-bottom:5px;gap:8px;color:#f5f0e8}
.required{color:#edc7a7;margin-right:auto}
.optional{color:#b2beba;font-size:10px;font-weight:400}
.field input,.field select{width:100%;height:44px;border:1px solid rgba(245,240,231,.48);border-radius:1px;background:rgba(9,29,37,.29);color:#fffaf2;padding:0 13px;outline:0;transition:border-color .18s,background .18s;font-size:13px}
.field input::placeholder{color:#b9c6c5;opacity:1}
.field input:hover,.field select:hover{border-color:rgba(255,250,242,.82)}
.field input:focus,.field select:focus{background:rgba(9,29,37,.68);border-color:#fff4df;box-shadow:0 0 0 2px rgba(255,244,223,.13)}
.field input[aria-invalid="true"]{border-color:#ffc1ab}
.field__error{font-size:11px;line-height:1.3;color:#ffccba;margin:0}
.field__error:not(:empty){padding:5px 0 1px}
.fields__pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.select-shell{position:relative}
.select-shell::after{content:"⌄";position:absolute;right:15px;top:8px;font-size:19px;pointer-events:none;color:#f5eadb}
.field select{appearance:none;padding-right:35px}
.field select option{background:var(--dark);color:white}
.privacy{margin:13px 0 16px;font-size:10.5px;line-height:1.55;color:#cad4d3}
.privacy a{border-bottom:1px solid #d6e0de;text-underline-offset:3px}
.privacy a:hover{color:#fff}
.cta--submit{width:100%;text-align:left;min-height:50px}
.cta:disabled{opacity:.7;cursor:progress;transform:none}
.form-status{margin:0;font-size:12px;line-height:1.5}
.form-status:not(:empty){margin-top:10px;padding:10px 12px;background:rgba(225,241,227,.14);border-left:2px solid #bdd9cb}
.form-status[data-state="error"]{border-color:#ffc1ab;background:rgba(255,193,171,.12)}
.apply__photo-label{position:absolute;left:clamp(38px,5vw,92px);bottom:32px;text-transform:uppercase;font-size:10px;letter-spacing:.17em;color:#ede4dc;text-shadow:0 1px 5px #172c35}
.page-footer{position:absolute;bottom:30px;right:clamp(34px,5.3vw,100px);display:flex;justify-content:flex-end;gap:22px;align-items:center;color:#d9e3df;font-size:10px}
.page-footer a{border-bottom:1px solid rgba(255,255,255,.48)}
@media(max-height:760px) and (min-width:861px){
 .panel{min-height:615px}
 .header{min-height:84px;padding-top:16px;padding-bottom:16px}
 .brand__name{font-size:37px}
 .hero h1{font-size:clamp(49px,3.8vw,62px)}
 .form-shell__eyebrow{margin-bottom:8px}
 .form-shell h2{font-size:37px;margin-bottom:8px}
 .form-shell__intro{font-size:12px;margin-bottom:12px}
 .fields{gap:8px}
 .field input,.field select{height:40px}
 .privacy{margin:10px 0 12px}
 .cta--submit{min-height:44px}
 .apply__form-area{padding-top:20px;padding-bottom:40px}
 .page-footer{bottom:13px}
}
@media(max-width:1100px) and (min-width:861px){
 .hero__text{width:45vw}
 .hero h1{font-size:clamp(47px,5vw,58px)}
 .apply__form-area{width:49%;padding-left:24px;padding-right:24px}
 .form-shell h2{font-size:36px}
 .page-footer{right:24px}
}
@media(max-width:860px){
 html{scroll-snap-type:none}
 .panel{height:auto;min-height:0;overflow:visible}
 .hero{display:flex;flex-direction:column}
 .hero__image{position:relative;order:0;height:clamp(285px,48svh,460px);z-index:0}
 .hero__image img{object-position:center 37%}
 .hero__veil{position:absolute;top:0;bottom:auto;left:0;right:0;height:clamp(285px,48svh,460px);z-index:1;background:linear-gradient(180deg,rgba(9,26,34,.37),transparent 31%,transparent 86%,#172c35 100%)}
 .header{position:absolute;z-index:4;min-height:77px;padding:14px 23px;width:100%}
 .brand{min-width:90px}
 .brand__name{font-size:36px}
 .brand__type{font-size:6px;letter-spacing:.41em;margin-top:10px;margin-left:6px}
 .menu-button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px;width:43px;height:43px;background:rgba(12,31,40,.52);border:1px solid rgba(245,240,231,.44);border-radius:1px}
 .menu-button span{width:18px;height:1px;background:#f5ede4;transition:transform .2s}
 .menu-button[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .menu-button[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .nav{display:none;position:absolute;top:72px;left:0;right:0;background:#162d36;padding:14px 23px 22px;box-shadow:0 18px 28px rgba(0,0,0,.28);flex-direction:column;align-items:stretch;gap:0}
 .nav[data-open="true"]{display:flex}
 .nav a{padding:15px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.16)}
 .nav__cta{border:0;border-radius:0;padding:15px 0;min-height:0;justify-content:space-between}
 .hero__text{position:relative;transform:none;top:auto;left:auto;order:1;width:100%;background:#172c35;padding:25px 24px 38px}
 .hero__text .overline{font-size:9px;margin:0}
 .hero h1{font-size:clamp(44px,10.8vw,64px);max-width:600px;line-height:1.02;margin:14px 0 14px}
 .hero__lead{font-size:13px;line-height:1.72;margin-bottom:19px;max-width:540px}
 .cta{min-height:51px;padding:0 18px;font-size:12px}
 .apply{display:flex;flex-direction:column;background:#172c35}
 .apply__image{position:relative;height:clamp(235px,40svh,405px);z-index:0}
 .apply__image img{object-position:center 35%}
 .apply__veil{position:absolute;left:0;right:0;top:0;bottom:auto;height:clamp(235px,40svh,405px);background:linear-gradient(180deg,rgba(10,28,35,.12),transparent 72%,#172c35 100%);z-index:1}
 .apply__photo-label{left:24px;top:clamp(190px,34svh,350px);bottom:auto;z-index:2;font-size:9px}
 .apply__form-area{position:relative;top:auto;bottom:auto;right:auto;width:100%;padding:30px 24px 34px;background:#172c35;display:block}
 .form-shell{width:min(100%,570px);margin:auto}
 .form-shell__eyebrow{font-size:9px;margin-bottom:12px}
 .form-shell h2{font-size:clamp(42px,9vw,56px);margin-bottom:10px}
 .form-shell__intro{font-size:13px;max-width:490px;margin-bottom:20px}
 .fields{gap:13px}
 .field input,.field select{height:50px;font-size:14px}
 .field label{font-size:12px;margin-bottom:7px}
 .privacy{font-size:11px;margin:17px 0}
 .cta--submit{min-height:52px}
 .page-footer{position:relative;right:auto;bottom:auto;display:flex;gap:18px;justify-content:space-between;padding:17px 24px 23px;border-top:1px solid rgba(255,255,255,.15);font-size:10px}
}
@media(max-width:420px){
 .hero__image,.hero__veil{height:clamp(270px,44svh,365px)}
 .hero h1{font-size:clamp(42px,11vw,50px)}
 .fields__pair{grid-template-columns:1fr;gap:13px}
 .apply__photo-label{top:clamp(185px,34svh,330px)}
 .page-footer{flex-direction:column;align-items:flex-start;gap:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}*,*::before,*::after{transition:none!important}}
/* Explicit foreground stacking: keep photo above panel background. */
.panel__image{z-index:0}
.hero__veil,.apply__veil{z-index:1}
.hero__text,.apply__form-area,.apply__photo-label,.page-footer{z-index:2}
@media(max-width:860px){
 .hero__image,.apply__image{z-index:0}
 .hero__veil,.apply__veil{z-index:1}
 .hero__text,.apply__form-area,.apply__photo-label,.page-footer{z-index:2}
}
@media (min-width:861px) and (max-width:1100px) {
  .apply__form-area {width:35%;padding-left:12px;padding-right:22px}
  .form-shell h2{font-size:clamp(30px,3vw,35px)}
  .form-shell__intro{font-size:12px;line-height:1.6}
  .apply__veil{background:linear-gradient(90deg,transparent 0%,rgba(9,26,32,.08) 49%,rgba(9,26,32,.67) 64%,rgba(9,26,32,.83) 100%)}
  .fields__pair{gap:8px}
  .field label{font-size:11px}
  .optional{font-size:9px}
  .field input,.field select{padding-left:9px;padding-right:9px;font-size:12px}
  .field input::placeholder{font-size:11px}
  .page-footer{right:22px}
  .page-footer span{display:none}
}
@media(min-width:1101px){
  .apply__form-area{
    right:clamp(54px,5.3vw,112px);
    width:min(445px,34vw);
    padding:0 0 12px;
  }
  .page-footer{right:clamp(54px,5.3vw,112px)}
}
@media(max-width:420px){
  .hero__image,.hero__veil{height:clamp(235px,41svh,345px)}
}
