:root{
  color-scheme:only light;
  --site-bg:#F5F3F0;
  --site-surface:#E9E4DE;
  --site-text:#262220;
  --site-text-muted:#6F6761;
  --site-accent:#A44A1F;
  --site-accent-contrast:#FFFFFF;
  --site-line:#D3CAC0;
  --font-display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --font-body:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --pad:16px;
}

*,*::before,*::after{box-sizing:border-box}

html{
  background-color:var(--site-bg);
  color:var(--site-text);
  font-family:var(--font-body);
  font-size:100%;
  line-height:1.6;
  -webkit-text-size-adjust:100%;
}

body.story{
  margin:0;
  background-color:var(--site-bg);
  color:var(--site-text);
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.7;
  overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased;
}

img,video{max-width:100%;height:auto}
img{display:block}
em,i{color:inherit}

h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
h1,h2,h3{font-weight:400;color:var(--site-text);text-wrap:balance}

a{
  color:var(--site-accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  transition:color .2s ease,background-color .2s ease;
}
a:hover{color:var(--site-text);text-decoration:underline}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--site-accent);
  outline-offset:3px;
}

.wrap{
  width:100%;
  max-width:calc(940px + var(--pad) * 2);
  margin:0 auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
}
.wrap--flush{padding-left:0;padding-right:0}

.top{
  background-color:var(--site-bg);
  color:var(--site-text);
  padding:20px 0 24px;
}
.top__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:6px 14px 6px 10px;
  border:1px solid var(--site-text);
  background-color:transparent;
  color:var(--site-text);
  text-decoration:none;
}
.brand:hover{
  background-color:var(--site-surface);
  color:var(--site-text);
  text-decoration:none;
}
.brand__mark{width:32px;height:32px}
.brand__name{
  font-family:var(--font-display);
  font-size:1.5rem;
  line-height:1;
  letter-spacing:.01em;
}
.tag{
  display:inline-block;
  padding-bottom:3px;
  border-bottom:1px solid var(--site-accent);
  color:var(--site-accent);
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1.3;
  text-transform:uppercase;
  white-space:nowrap;
}

.hero{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:620px;
  overflow:hidden;
  background-color:#1B1614;
  color:var(--site-accent-contrast);
}
.hero__img{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:38% 20%;
}
.hero::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  background:linear-gradient(to top,rgba(27,22,20,.96) 0%,rgba(27,22,20,.88) 34%,rgba(27,22,20,.5) 62%,rgba(27,22,20,0) 100%);
}
.hero__text{
  position:relative;
  z-index:2;
  width:100%;
  padding:150px var(--pad) 28px;
}
.hero__title{
  max-width:640px;
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.75rem,1.2rem + 2.2vw,2.875rem);
  font-weight:400;
  line-height:1.12;
  color:var(--site-accent-contrast);
  text-shadow:0 1px 18px rgba(0,0,0,.3);
}
.hero__title::before{
  content:"";
  display:block;
  width:56px;
  height:6px;
  margin-bottom:20px;
  background-color:var(--site-accent);
}
.hero__dek{
  max-width:34em;
  margin:16px 0 0;
  font-size:clamp(1rem,.94rem + .3vw,1.1875rem);
  line-height:1.55;
  color:var(--site-accent-contrast);
}

.meta{
  padding:18px 0 0;
  color:var(--site-text-muted);
  font-size:.9375rem;
  letter-spacing:.01em;
}

.sec{
  background-color:var(--site-bg);
  color:var(--site-text);
  padding:44px 0 0;
}
.sec--band{
  margin-top:56px;
  padding:52px 0 56px;
  background-color:var(--site-surface);
}
.sec--band .bleed:last-child{margin-bottom:0}
.sec--legal{padding:36px 0 0}
.sec--legal .sec-grid{
  padding-top:30px;
  border-top:1px solid var(--site-line);
}

.sec-grid{display:block}
.rail{margin:0 0 18px}
.rail__note{
  margin:0;
  padding-top:12px;
  border-top:1px solid var(--site-line);
  color:var(--site-text-muted);
  font-size:.875rem;
  line-height:1.5;
}
.rail h2{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.5rem,1.25rem + 1vw,1.875rem);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.005em;
  color:var(--site-text);
}
.kicker{
  display:block;
  margin:0 0 12px;
  color:var(--site-accent);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1.3;
  text-transform:uppercase;
}

.prose{max-width:680px}
.prose p{margin:0 0 1.3em}
.prose > :last-child{margin-bottom:0}
.prose strong{font-weight:700}
.prose h3{
  margin:2em 0 .8em;
  font-family:var(--font-body);
  font-size:1.0625rem;
  font-weight:700;
  line-height:1.4;
  color:var(--site-text);
}
.prose ul,.note ul{
  margin:0 0 1.3em;
  padding:0;
  list-style:none;
}
.prose ul li,.note ul li{
  position:relative;
  margin:0 0 .6em;
  padding-left:24px;
}
.prose ul li::before,.note ul li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;
  width:11px;
  height:2px;
  background-color:var(--site-accent);
}
.prose a{font-weight:500}
.lede{
  font-size:1.1875rem;
  line-height:1.6;
  color:var(--site-text);
}

.bleed{margin:36px calc(var(--pad) * -1)}
.bleed img{display:block;width:100%;height:auto}
.bleed__cap{
  margin:12px var(--pad) 0;
  color:var(--site-text-muted);
  font-size:.9375rem;
  line-height:1.5;
}

.reel{
  position:relative;
  aspect-ratio:3 / 2;
  margin:32px calc(var(--pad) * -1);
  overflow:hidden;
  background-color:#1B1614;
}
.reel video{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.note{
  margin:32px 0;
  padding:24px 22px 12px;
  background-color:var(--site-surface);
  color:var(--site-text);
  border-radius:6px;
}
.note .note__title{
  margin:0 0 14px;
  font-family:var(--font-body);
  font-size:1.0625rem;
  font-weight:700;
  line-height:1.35;
  color:var(--site-text);
}

.cta-row{margin:36px 0 0}
.cta-row:first-child{margin-top:0}
.cta{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  min-height:52px;
  padding:12px 22px;
  border:2px solid var(--site-accent);
  border-radius:4px;
  background-color:transparent;
  color:var(--site-accent);
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:700;
  line-height:1.3;
  text-decoration:none;
  transition:background-color .2s ease,color .2s ease;
}
.cta::after{
  content:"\2192";
  font-size:1.15em;
  transition:transform .2s ease;
}
.cta:hover{
  background-color:var(--site-accent);
  color:var(--site-accent-contrast);
  text-decoration:none;
}
.cta:hover::after{transform:translateX(4px)}

.divide{
  height:0;
  margin:0 0 40px;
  border:0;
  border-top:1px solid var(--site-line);
}

.about-box{
  margin:56px 0 0;
  padding:24px 22px;
  border:1px solid var(--site-text);
  background-color:var(--site-bg);
  color:var(--site-text);
}
.about-box .about-box__title{
  margin:0 0 10px;
  font-family:var(--font-display);
  font-size:1.375rem;
  font-weight:400;
  line-height:1.2;
  color:var(--site-text);
}
.about-box p{margin:0;font-size:1rem;line-height:1.65}

.page-head{padding:6px 0 36px}
.page-head .kicker{margin-bottom:18px}
.page-title{
  max-width:16em;
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.875rem,1.3rem + 2.4vw,3.125rem);
  font-weight:400;
  line-height:1.1;
  color:var(--site-text);
}
.page-title::before{
  content:"";
  display:block;
  width:56px;
  height:6px;
  margin-bottom:20px;
  background-color:var(--site-accent);
}
.legal-info{
  margin:16px 0 0;
  color:var(--site-text-muted);
  font-size:.9375rem;
}

.bottom{
  margin-top:88px;
  padding:0 0 36px;
  background-color:var(--site-surface);
  color:var(--site-text);
  font-size:.9375rem;
  line-height:1.65;
}
.bottom__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 0;
  border-bottom:1px solid var(--site-text);
  color:var(--site-text);
}
.bottom__title{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-display);
  font-size:1.25rem;
  line-height:1;
}
.bottom__mark{width:28px;height:28px}
.bottom__date{
  color:var(--site-text);
  font-size:.8125rem;
  font-weight:500;
  letter-spacing:.04em;
  text-align:right;
}
.bottom__footer-words{
  max-width:46rem;
  margin:0;
  padding:30px 0 30px;
  color:var(--site-text);
  font-size:1rem;
  line-height:1.7;
}
.bottom__legal-bar{
  display:flex;
  flex-wrap:wrap;
  gap:0 26px;
  padding:14px 0;
  border-top:1px solid rgba(38,34,32,.3);
  border-bottom:1px solid rgba(38,34,32,.3);
}
.bottom__legal-bar a{
  display:inline-flex;
  align-items:center;
  min-height:45px;
  color:var(--site-accent);
  font-weight:500;
}
.bottom__legal-bar a:hover{color:var(--site-text)}
.bottom__colophon-details{
  max-width:60rem;
  padding-top:22px;
  color:var(--site-text);
}
.bottom__colophon-details p{margin:0;font-size:.9375rem;line-height:1.75}

body[data-page="consultation"]{
  --site-bg:#EEF2F6;
  --site-surface:#E1E9F2;
  --site-text:#12202F;
  --site-text-muted:#4A5B70;
  --site-accent:#1D4E89;
  --site-accent-contrast:#FFFFFF;
  --site-line:#C5D1DF;
  --card:#FFFFFF;
  --navy:#12263F;
  background-color:var(--site-bg);
  color:var(--site-text);
}
body.page-consultation-page{background-color:var(--site-bg);color:var(--site-text)}
html:has(body[data-page="consultation"]){background-color:#EEF2F6;color:#12202F}

.c-top{
  background-color:var(--site-bg);
  color:var(--site-text);
  padding:10px 0;
}
.c-top__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.c-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  color:var(--site-text);
  text-decoration:none;
}
.c-brand:hover{color:var(--site-accent);text-decoration:none}
.c-brand__mark{width:32px;height:32px}
.c-brand__name{
  font-family:var(--font-display);
  font-size:1.375rem;
  line-height:1;
}
.c-back{
  display:inline-flex;
  align-items:center;
  min-height:48px;
  color:var(--site-accent);
  font-size:.9375rem;
  font-weight:500;
}

.c-hero{
  padding:40px 0 48px;
  background-color:var(--navy);
  color:#FFFFFF;
}
.c-hero__label{
  margin:0 0 14px;
  color:#9DB8D9;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.c-hero__title{
  max-width:20em;
  margin:0;
  font-family:var(--font-body);
  font-size:clamp(1.75rem,1.3rem + 2vw,2.75rem);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.015em;
  color:#FFFFFF;
}
.c-hero__text{
  max-width:38em;
  margin:16px 0 0;
  color:#E4ECF5;
  font-size:1.0625rem;
  line-height:1.6;
}

.c-main{
  padding:32px 0 8px;
  background-color:var(--site-bg);
  color:var(--site-text);
}
.c-grid{
  display:flex;
  flex-direction:column;
  gap:36px;
}
.c-content{min-width:0}
.c-aside{order:-1;min-width:0}
.c-card{
  padding:24px 20px;
  border:1px solid var(--site-line);
  border-radius:12px;
  background-color:var(--card);
  color:var(--site-text);
  box-shadow:0 14px 34px rgba(18,38,63,.1);
}
.c-card__title{
  margin:0 0 8px;
  font-family:var(--font-body);
  font-size:1.375rem;
  font-weight:700;
  line-height:1.25;
  color:var(--site-text);
}
.c-card__intro{
  margin:0 0 20px;
  color:var(--site-text-muted);
  font-size:.9375rem;
  line-height:1.55;
}
.field{margin:0 0 18px}
.field label{
  display:block;
  margin:0 0 6px;
  font-size:.9375rem;
  font-weight:700;
  color:var(--site-text);
}
.field input,
.field select{
  display:block;
  width:100%;
  min-height:50px;
  padding:10px 14px;
  border:1.5px solid #6F839B;
  border-radius:8px;
  background-color:#FFFFFF;
  color:var(--site-text);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.4;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.field input:hover,
.field select:hover{border-color:var(--site-accent)}
.field input:focus,
.field select:focus{border-color:var(--site-accent)}
.field--bad input,
.field--bad select{border-color:#A12B2B}
.field__error{
  margin:6px 0 0;
  color:#A12B2B;
  font-size:.875rem;
  line-height:1.4;
}
.field__error[hidden]{display:none}
.consent-row{margin:0 0 18px}
.consent-row.field--bad .consent{color:#A12B2B}
.consent{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:45px;
  margin:0;
  font-size:.9375rem;
  font-weight:400;
  line-height:1.55;
  color:var(--site-text);
  cursor:pointer;
}
.consent input{
  flex:0 0 auto;
  width:24px;
  height:24px;
  margin:2px 0 0;
  accent-color:var(--site-accent);
}
.consent a{font-weight:500}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:54px;
  margin-top:6px;
  padding:12px 22px;
  border:2px solid var(--site-accent);
  border-radius:8px;
  background-color:var(--site-accent);
  color:var(--site-accent-contrast);
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:700;
  line-height:1.3;
  cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease;
}
.btn:hover{background-color:#163C69;border-color:#163C69}
.btn[disabled]{opacity:.7;cursor:wait}
.c-card__foot{
  margin:14px 0 0;
  color:var(--site-text-muted);
  font-size:.875rem;
  line-height:1.5;
}
.c-form-error{
  margin:14px 0 0;
  color:#A12B2B;
  font-size:.9375rem;
}
.c-form-error[hidden]{display:none}
.c-done{
  padding:8px 0;
  color:var(--site-text);
}
.c-done[hidden]{display:none}
.c-done:focus{outline:none}
.c-done__title{
  margin:0 0 10px;
  font-family:var(--font-body);
  font-size:1.375rem;
  font-weight:700;
  line-height:1.25;
  color:var(--site-text);
}
.c-done p{margin:0;font-size:1rem;line-height:1.6}

.c-section{margin:0 0 44px}
.c-section h2{
  margin:0 0 16px;
  font-family:var(--font-body);
  font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem);
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.01em;
  color:var(--site-text);
}
.c-section p{margin:0 0 1em;max-width:40rem}
.c-list{
  margin:0 0 1em;
  padding:0;
  list-style:none;
  max-width:40rem;
}
.c-list li{
  position:relative;
  margin:0 0 .6em;
  padding-left:26px;
}
.c-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:12px;
  height:7px;
  border-left:2px solid var(--site-accent);
  border-bottom:2px solid var(--site-accent);
  transform:rotate(-45deg) scale(.9);
}

.tiles{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}
.tile{
  padding:20px;
  border:1px solid var(--site-line);
  border-radius:12px;
  background-color:var(--card);
  color:var(--site-text);
}
.tile__icon{
  display:block;
  width:30px;
  height:30px;
  margin-bottom:12px;
  color:var(--site-accent);
}
.tile__title{
  margin:0 0 4px;
  font-family:var(--font-body);
  font-size:1.0625rem;
  font-weight:700;
  line-height:1.3;
  color:var(--site-text);
}
.tile .tile__text{
  max-width:none;
  margin:0;
  color:var(--site-text-muted);
  font-size:.9375rem;
  line-height:1.55;
}

.c-steps{
  max-width:40rem;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:step;
}
.c-steps li{
  position:relative;
  padding:18px 0 18px 54px;
  border-top:1px solid var(--site-line);
  counter-increment:step;
}
.c-steps li:last-child{border-bottom:1px solid var(--site-line)}
.c-steps li::before{
  content:counter(step);
  position:absolute;
  left:0;
  top:14px;
  width:36px;
  color:var(--site-accent);
  font-size:1.875rem;
  font-weight:700;
  line-height:1.1;
}
.c-steps__title{
  display:block;
  margin:0 0 2px;
  font-weight:700;
  color:var(--site-text);
}
.c-steps__text{display:block;color:var(--site-text-muted);font-size:.9375rem;line-height:1.55}

@media (min-width:600px){
  :root{--pad:24px}
  .wrap--flush{padding-left:var(--pad);padding-right:var(--pad)}
  .top{padding:28px 0 32px}
  .hero{min-height:580px;border-radius:6px}
  .hero__text{padding:190px 40px 40px}
  .tag{font-size:.75rem}
  .sec{padding-top:56px}
  .sec--band{margin-top:72px;padding:64px 0 68px}
  .bleed{margin:44px 0}
  .bleed img{border-radius:6px;aspect-ratio:16 / 10;object-fit:cover;object-position:50% 30%}
  .bleed__cap{margin:12px 0 0;max-width:680px}
  .reel{margin:36px 0;border-radius:6px}
  .note{padding:28px 30px 16px}
  .cta{width:auto;min-width:340px}
  .about-box{padding:28px 30px}
  .bottom__legal-bar{gap:0 30px}
  .c-hero{padding:56px 0 64px}
  .c-card{padding:30px 28px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiles .tile:last-child{grid-column:1 / -1}
}

@media (min-width:900px){
  body.story{font-size:1.125rem}
  .top{padding:40px 0 44px}
  .hero{min-height:640px}
  .hero__text{padding:220px 52px 52px}
  .meta{padding-top:22px}
  .sec{padding-top:72px}
  .sec--band{margin-top:88px;padding:84px 0 88px}
  .sec--legal{padding-top:44px}
  .sec--legal .sec-grid{padding-top:40px}
  .sec-grid{
    --gap:clamp(40px,6vw,60px);
    display:grid;
    grid-template-columns:200px minmax(0,680px);
    column-gap:var(--gap);
    justify-content:start;
  }
  .rail{grid-column:1;margin:0}
  .rail__in{position:sticky;top:28px}
  .prose{grid-column:2}
  .rail h2{font-size:1.625rem}
  .bleed{grid-column:1 / -1;margin:56px 0}
  .bleed__cap{margin-left:calc(200px + var(--gap))}
  .reel{margin:44px 0}
  .lede{font-size:1.375rem}
  .divide{margin-bottom:56px}
  .about-box{margin-top:72px}
  .page-head{padding:6px 0 48px}
  .c-main{padding:48px 0 16px}
  .c-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 400px;
    gap:56px;
    align-items:start;
  }
  .c-aside{order:0}
  .c-hero{padding:72px 0 80px}
  .c-card{padding:32px 30px}
  .bottom{margin-top:112px}
  .bottom__footer-words{padding:40px 0}
  .c-main + .bottom{margin-top:72px}
}

@media (min-width:1200px){
  .sec-grid{--gap:60px}
  .hero{min-height:680px}
  .hero__text{padding-bottom:60px}
  .hero__dek{margin-top:20px}
  .bleed{margin:64px 0}
  .tiles{gap:18px}
}
