
:root{
--navy:#1A3070;--navy-deep:#101E46;--offwhite:#F7F4EE;--ink:#1C1B19;
--n900:#0A1229;--n700:#1C316E;--n600:#314C9B;--n300:#D2D7E5;--n200:#ECEEF3;
--copper-deep:#8A4B2A;--copper:#A35A32;--gold:#A8823C;--brass:#D6BC85;
--signal-deep:#1E4FC4;--signal:#2E6BE6;--teal:#0F7B7B;--mist:#E3E1DC;
--ground:var(--offwhite);--surface:#FFFDF8;--band:#EFEBE1;
--body:var(--ink);--head:var(--navy);--rule:#DCD6C8;--rule-strong:#C2BAA8;
--muted:#6E6A62;--accent:var(--copper-deep);--mark:var(--navy);
--serif:"EB Garamond","Garamond","Georgia","Times New Roman",serif;
--sans:"Lato","Segoe UI","Helvetica Neue",Arial,sans-serif;
--wide:1100px;--m:clamp(1.25rem,5vw,4rem);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
--ground:var(--n900);--surface:#131A31;--band:#16203C;--body:#EFEAE0;--head:#C9D2EA;
--rule:#25314F;--rule-strong:#3A4870;--muted:#8E96AA;--accent:var(--brass);--mark:#E8EBF4;}}
:root[data-theme="dark"]{--ground:var(--n900);--surface:#131A31;--band:#16203C;--body:#EFEAE0;--head:#C9D2EA;--rule:#25314F;--rule-strong:#3A4870;--muted:#8E96AA;--accent:var(--brass);--mark:#E8EBF4;}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--body);font-family:var(--serif);
font-size:19px;line-height:1.55;font-weight:400;font-variant-numeric:oldstyle-nums;
font-feature-settings:"onum" 1,"kern" 1,"liga" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

.logo{display:block;height:auto}
.logo-h{width:230px}
.logo-lockup{width:100%;max-width:460px}
.bar{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--rule)}
.bari{max-width:var(--wide);margin:0 auto;padding:.9rem var(--m);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
nav{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap;font-family:var(--sans);font-size:13px;line-height:1.4}
nav button{background:none;border:0;padding:0 0 3px;font:inherit;color:var(--muted);cursor:pointer;border-bottom:1px solid transparent;letter-spacing:.02em}
nav button:hover{color:var(--body)}
nav button[aria-current="page"]{color:var(--head);border-bottom-color:var(--accent)}
nav button.cta{border:1px solid var(--rule-strong);border-radius:2px;padding:.5rem .9rem;color:var(--head)}
.note{background:var(--band);border-bottom:1px solid var(--rule);font-family:var(--sans);font-size:13px;color:var(--muted)}
.note div{max-width:var(--wide);margin:0 auto;padding:.55rem var(--m)}
h1,h2,h3,.display{color:var(--head);font-weight:500;margin:0 0 1.1rem;font-variant-numeric:lining-nums}
.display{font-size:44px;line-height:1.1;letter-spacing:-.005em;max-width:16ch}
h1{font-size:34px;line-height:1.15;max-width:18ch}
h2{font-size:27px;line-height:1.2;max-width:22ch}
h3{font-size:22px;line-height:1.3;font-weight:600;margin-bottom:.5rem}
p{margin:0 0 1.15rem;max-width:68ch}
p:last-child{margin-bottom:0}
.small{font-size:16px;line-height:1.5}
.lab{font-family:var(--sans);font-size:13px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1.5rem}
.pull{font-size:27px;line-height:1.2;color:var(--head);font-weight:500;max-width:30ch;margin:2rem 0 0}
.it{font-style:italic}
.sc{font-variant-caps:small-caps;font-feature-settings:"smcp" 1,"onum" 1;letter-spacing:.02em}
.lining{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.tab{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"lnum" 1,"tnum" 1}
main{max-width:var(--wide);margin:0 auto;padding:0 var(--m)}
section{padding:clamp(3rem,7vw,5.5rem) 0;border-bottom:1px solid var(--rule)}
section:last-of-type{border-bottom:0}
section.band{background:var(--band);margin:0 calc(var(--m)*-1);padding-left:var(--m);padding-right:var(--m)}
.split{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
@media(min-width:840px){.split{grid-template-columns:1fr 1fr}.split.r>:first-child{order:2}}
.triad{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:2rem}
@media(min-width:840px){.triad{grid-template-columns:1fr 1fr}.triad .primary{grid-column:1/-1}}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.1rem;margin-top:2rem}
.card{border:1px solid var(--rule);background:var(--surface);padding:1.6rem;border-radius:2px}
.card.primary{padding:2.2rem;border-color:var(--rule-strong)}
.card.primary h3{font-size:27px;font-weight:500;line-height:1.2}
.rows{border-top:1px solid var(--rule);margin-top:2rem}
.row{border-bottom:1px solid var(--rule);padding:1.3rem 0;display:grid;grid-template-columns:1fr;gap:.2rem}
@media(min-width:740px){.row{grid-template-columns:230px 1fr;gap:2rem}}
.row b{font-weight:600;color:var(--head)}
.row span{font-size:16px;line-height:1.5}
.steps{margin-top:1rem}
.step{padding:1.6rem 0;border-top:1px solid var(--rule);max-width:68ch}
.step:first-child{border-top:0;padding-top:0}
.caps{columns:2;column-gap:3rem;margin:1.6rem 0 0;max-width:900px;padding-left:1.1rem}
@media(max-width:740px){.caps{columns:1}}
.caps li{break-inside:avoid;margin-bottom:.7rem;font-size:16px;line-height:1.5;max-width:44ch}
.bridge{border:1px solid var(--rule-strong);background:var(--band);padding:2rem;border-radius:2px;margin-top:2.5rem}
.photo{border:1px dashed var(--rule-strong);background:var(--band);border-radius:2px;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;font-family:var(--sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

.ph{display:block;width:100%;height:auto;object-fit:cover;background:var(--band);
border:1px solid var(--rule);border-radius:2px}
.ph.hero{aspect-ratio:21/9;margin-top:2.5rem}
.ph.wideph{aspect-ratio:16/6}
.ph.half{aspect-ratio:4/3}
.ph.tall{aspect-ratio:3/4}
.ph.square{aspect-ratio:1/1}

.btn{display:inline-block;font-family:var(--serif);font-size:19px;border:1px solid var(--rule-strong);border-radius:2px;padding:.6rem 1.4rem;color:var(--head);text-decoration:none;margin:.4rem .6rem .4rem 0;background:var(--surface)}
.btn.solid{background:var(--navy);border-color:var(--navy);color:var(--offwhite)}
.lnk{font-size:16px;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--rule-strong);padding-bottom:2px}
form{max-width:68ch;margin-top:1.5rem}
.fset{margin-bottom:2.75rem}
label{display:block;font-family:var(--sans);font-size:13px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:var(--head);margin-bottom:.35rem}
.hint{font-family:var(--sans);font-size:13px;line-height:1.4;color:var(--muted);margin:0 0 .55rem;max-width:none;text-transform:none;letter-spacing:0}
.f{margin-bottom:1.6rem}
input,select,textarea{width:100%;font-family:var(--serif);font-size:16px;line-height:1.5;padding:.65rem .8rem;background:var(--surface);color:var(--body);border:1px solid var(--rule-strong);border-radius:2px}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.two{display:grid;grid-template-columns:1fr;gap:0 1.25rem}
@media(min-width:640px){.two{grid-template-columns:1fr 1fr}}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chip{font-family:var(--sans);font-size:13px;line-height:1.4;border:1px solid var(--rule-strong);
border-radius:99px;padding:.45rem .9rem;background:var(--surface);color:var(--body);
cursor:pointer;user-select:none;transition:background .12s,border-color .12s,color .12s;
display:inline-flex;align-items:center;text-transform:none;letter-spacing:0;margin:0}
.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.chip:hover{border-color:var(--head)}
.chip:has(input:checked){background:var(--navy);border-color:var(--navy);color:var(--offwhite)}
.chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.chip-other{margin-top:.6rem;max-width:32rem}
fieldset.f{border:0;padding:0;margin:0 0 1.6rem;min-width:0}
fieldset.f legend{padding:0;font-family:var(--sans);font-size:13px;line-height:1.4;
letter-spacing:.06em;text-transform:uppercase;color:var(--head);margin-bottom:.5rem}
@supports not selector(:has(*)){
.chip input{position:static;opacity:1;width:auto;height:auto;margin-right:.45rem;accent-color:var(--navy)}}
.confirm{border:1px solid var(--rule-strong);background:var(--band);padding:2rem;border-radius:2px;margin-top:3rem}
.hp{position:absolute;left:-9999px}
footer{border-top:1px solid var(--rule);background:var(--surface)}
.fin{max-width:var(--wide);margin:0 auto;padding:3rem var(--m);font-size:16px;color:var(--muted);display:grid;gap:1.4rem}
.fin a{color:var(--muted);text-decoration:none;margin-right:1.4rem}
.fin a:hover{color:var(--body)}








.logo-h{width:220px}
.logo-lockup{width:200px}
.skip{position:absolute;left:-9999px;top:0;background:var(--surface);color:var(--head);padding:.75rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.err{border:1px solid var(--copper-deep);background:#fbf3ee;color:#5c3018;padding:1rem;border-radius:2px;margin-bottom:1.5rem;font-size:16px}

.f.invalid input,.f.invalid textarea,.f.invalid select{border-color:var(--copper-deep);background:#fdf7f3}
.f.invalid legend,.f.invalid>label{color:var(--copper-deep)}
:root:not([data-theme="light"]) .f.invalid input,:root:not([data-theme="light"]) .f.invalid textarea{background:#2a1c14}
input:invalid,textarea:invalid{box-shadow:none}
