/* ==========================================================================
   Wintaros — site stylesheet
   Institutional editorial system on the brand palette. Sharp geometry,
   hairline rules, flat offset frames instead of shadows, Cinzel numerals
   as chapter markers. Mobile-first. No framework. No gradients.
   ========================================================================== */

:root{
  /* Brand palette (brand board 03) */
  --evergreen:#0F3D2E;
  --evergreen-deep:#0A2A1F;
  --evergreen-soft:#1B5340;
  --copper:#B86B3C;
  --copper-deep:#8F4F28;
  --copper-darker:#7A4322;
  --copper-light:#E09566;
  --ivory:#F6F2E8;
  --sandstone:#D8C9B2;
  --charcoal:#1D1D1B;

  /* Applied roles */
  --ground:#F6F2E8;
  --surface:#FFFDF8;
  --sand:#EDE4D2;
  --ink:#1D1D1B;
  --ink-soft:#4C534A;
  --ink-faint:#636A5F;
  --rule:#DCD3C0;
  --rule-firm:#C9BBA0;
  --on-dark:#F6F2E8;
  --on-dark-soft:rgba(246,242,232,.78);
  --rule-dark:rgba(246,242,232,.18);

  /* Spacing scale */
  --s1:4px;  --s2:8px;  --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:128px;

  /* Type */
  --display:"Cinzel","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --measure:64ch;
  --container:1240px;
  --gutter:clamp(16px,4vw,48px);
  --header-h:68px;
  --plate:14px;               /* offset of the flat frame behind photographs */
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.menu-open{overflow:hidden;}

img,svg{max-width:100%;height:auto;display:block;}
p{margin:0;}
p + p{margin-top:var(--s4);}
ul,ol{margin:0;padding:0;}
a{color:inherit;}
::selection{background:var(--evergreen);color:var(--ivory);}

/* ---------- Type ---------- */
h1,h2,h3,h4{margin:0;color:var(--evergreen);text-wrap:balance;}
h1{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.1rem,1.35rem + 3.4vw,4.1rem);
  line-height:1.06;
  letter-spacing:-.005em;
}
h2{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(1.5rem,1.12rem + 1.7vw,2.4rem);
  line-height:1.16;
}
h3{font-weight:700;font-size:1.18rem;line-height:1.3;letter-spacing:-.005em;}
.lede{font-size:clamp(1.05rem,.98rem + .4vw,1.24rem);line-height:1.55;color:var(--ink-soft);max-width:var(--measure);}
.note{font-size:.92rem;color:var(--ink-faint);}

.eyebrow{
  display:inline-flex;align-items:center;gap:var(--s3);
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--copper-deep);margin-bottom:var(--s4);
}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor;flex:none;}
.on-dark .eyebrow{color:var(--copper-light);}

/* Chapter numerals — Roman, Cinzel, copper */
.numeral{
  font-family:var(--display);font-weight:600;line-height:1;
  color:var(--copper-deep);font-size:clamp(2rem,1.5rem + 2.6vw,3.6rem);
  letter-spacing:.02em;
}
.on-dark .numeral{color:var(--copper-light);}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
.chapter{padding-block:clamp(56px,8vw,112px);}
.chapter--tight{padding-block:clamp(40px,6vw,72px);}
.chapter--sand{background:var(--sand);}
.chapter--dark{background:var(--evergreen);color:var(--on-dark);}
.chapter--deep{background:var(--evergreen-deep);color:var(--on-dark);}
.chapter--rule-top{border-top:1px solid var(--rule);}
.on-dark h1,.on-dark h2,.on-dark h3{color:var(--on-dark);}
.on-dark p{color:var(--on-dark-soft);}
.on-dark .lede{color:var(--on-dark-soft);}

/* Chapter head: numeral in the margin, title beside it */
.ch-head{display:grid;gap:var(--s4) var(--s7);margin-bottom:clamp(36px,5vw,64px);align-items:start;}
.ch-head p{max-width:var(--measure);}
.ch-head .lede{margin-top:var(--s4);}
@media(min-width:760px){
  .ch-head{grid-template-columns:5.5rem minmax(0,1fr);}
  .ch-head .numeral{padding-top:.35rem;}
}
.ch-head--center{text-align:center;justify-items:center;}
@media(min-width:760px){.ch-head--center{grid-template-columns:1fr;}}
.ch-head--center .eyebrow{justify-content:center;}

/* ---------- Skip link ---------- */
.skip-link{
  position:absolute;left:var(--s4);top:-100px;z-index:200;
  background:var(--evergreen);color:var(--ivory);padding:var(--s3) var(--s4);
  font-weight:700;text-decoration:none;
}
.skip-link:focus{top:var(--s4);outline:2px solid var(--copper);outline-offset:2px;}

/* ---------- Focus ---------- */
:focus-visible{outline:2px solid var(--copper);outline-offset:3px;}
.on-dark :focus-visible,.chapter--dark :focus-visible,.footer :focus-visible,.menu :focus-visible{outline-color:var(--copper-light);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  min-height:48px;padding:0 var(--s5);
  font-family:var(--sans);font-weight:700;font-size:.95rem;letter-spacing:.01em;
  text-decoration:none;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;
  transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease);
}
.btn--copper{background:var(--copper-deep);color:var(--ivory);border-color:var(--copper-deep);}
.btn--copper:hover{background:var(--copper-darker);border-color:var(--copper-darker);}
.btn--outline{background:transparent;color:var(--evergreen);border-color:var(--evergreen);}
.btn--outline:hover{background:var(--evergreen);color:var(--ivory);}
.btn--light{background:var(--ivory);color:var(--evergreen);border-color:var(--ivory);}
.btn--light:hover{background:var(--sandstone);border-color:var(--sandstone);}
.btn--ghost{background:transparent;color:var(--ivory);border-color:rgba(246,242,232,.55);}
.btn--ghost:hover{border-color:var(--ivory);background:rgba(246,242,232,.08);}
.btn:active{transform:translateY(1px);}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6);}

/* Text links inside copy */
.chapter p a,.prose a,.faq a{color:var(--copper-deep);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px;}
.chapter p a:hover,.prose a:hover{color:var(--copper-darker);text-decoration-thickness:2px;}
.on-dark p a{color:var(--copper-light);}
.ext::after{content:"\2197";font-size:.85em;margin-left:.2em;}

/* ---------- Header ---------- */
.header{
  position:sticky;top:0;z-index:100;
  background:var(--ground);
  border-bottom:1px solid var(--rule);
  transition:border-color .2s var(--ease);
}
.header.is-stuck{border-bottom-color:var(--rule-firm);}
.header__inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:var(--s5);}
.brand{display:inline-flex;align-items:center;gap:var(--s3);text-decoration:none;color:var(--evergreen);}
.brand__mark{width:28px;height:auto;flex:none;}
.brand__name{font-family:var(--display);font-weight:600;font-size:1.12rem;letter-spacing:.14em;}
.nav{display:none;align-items:center;gap:var(--s6);}
.nav__link{
  position:relative;text-decoration:none;font-weight:600;font-size:.95rem;color:var(--ink);padding:var(--s2) 0;
}
.nav__link::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease);}
.nav__link:hover::after,.nav__link[aria-current="page"]::after{transform:scaleX(1);}
.header__cta{min-height:42px;padding-inline:var(--s5);}
@media(min-width:1000px){.nav{display:flex;} .header .burger{display:none;}}

/* Burger */
.burger{
  width:44px;height:44px;margin-right:-8px;border:0;background:transparent;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;position:relative;
}
.burger span,.burger span::before,.burger span::after{
  display:block;width:22px;height:2px;background:var(--evergreen);position:absolute;left:11px;
  transition:transform .22s var(--ease),opacity .22s var(--ease);
}
.burger span{top:21px;}
.burger span::before{content:"";left:0;top:-7px;}
.burger span::after{content:"";left:0;top:7px;}
.burger[aria-expanded="true"] span{background:transparent;}
.burger[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg);}
.burger[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg);}

/* Mobile menu: pinned below the header, over the page */
.menu{
  position:fixed;left:0;right:0;top:var(--header-h);bottom:0;z-index:99;
  background:var(--evergreen);color:var(--ivory);
  display:none;overflow-y:auto;padding-block:var(--s7) var(--s8);
}
.menu.is-open{display:block;}
.menu__list{list-style:none;display:flex;flex-direction:column;}
.menu__list a{
  display:block;padding:var(--s4) 0;text-decoration:none;color:var(--ivory);
  font-family:var(--display);font-weight:600;font-size:1.6rem;letter-spacing:.06em;
  border-bottom:1px solid var(--rule-dark);
}
.menu__list a[aria-current="page"]{color:var(--copper-light);}
.menu .btn{margin-top:var(--s6);width:100%;}
.menu__foot{margin-top:var(--s7);color:var(--on-dark-soft);font-size:.9rem;}

/* ---------- Hero ---------- */
.hero{background:var(--evergreen);color:var(--on-dark);}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr);}
.hero__panel{
  padding:clamp(40px,6vw,88px) var(--gutter) clamp(40px,6vw,72px);
  display:flex;flex-direction:column;justify-content:center;
}
.hero__panel .eyebrow{color:var(--copper-light);}
.hero__panel h1{color:var(--ivory);max-width:14ch;}
.hero__sub{margin-top:var(--s5);max-width:46ch;font-size:clamp(1.02rem,.96rem + .35vw,1.18rem);line-height:1.6;color:var(--on-dark-soft);}
.hero__visual img{width:100%;height:auto;}
@media(min-width:900px){
  .hero__grid{grid-template-columns:minmax(0,10fr) minmax(0,11fr);align-items:stretch;}
  .hero__panel{padding-left:max(var(--gutter),calc((100vw - var(--container)) / 2 + var(--gutter)));padding-right:clamp(32px,4vw,64px);}
  .hero__visual{display:flex;align-items:center;background:var(--evergreen-deep);}
}

/* Ledger: the facts strip under the hero */
.ledger{background:var(--ground);border-bottom:1px solid var(--rule);}
.ledger__list{list-style:none;display:grid;grid-template-columns:1fr 1fr;}
.ledger__item{padding:var(--s5) var(--s4) var(--s5) 0;border-bottom:1px solid var(--rule);}
.ledger__item:nth-child(odd){border-right:1px solid var(--rule);padding-right:var(--s4);}
.ledger__item:nth-child(even){padding-left:var(--s4);}
.ledger__item:nth-last-child(-n+2){border-bottom:0;}
.ledger__k{display:block;font-family:var(--display);font-weight:600;font-size:.8rem;letter-spacing:.14em;color:var(--copper-deep);margin-bottom:var(--s1);}
.ledger__v{display:block;font-weight:600;font-size:.98rem;color:var(--evergreen);line-height:1.35;}
@media(min-width:900px){
  .ledger__list{grid-template-columns:repeat(4,1fr);}
  .ledger__item{border-bottom:0!important;padding:var(--s5) var(--s5) var(--s5) 0;border-right:1px solid var(--rule);}
  .ledger__item:nth-child(even){padding-left:var(--s5);}
  .ledger__item:nth-child(n+2){padding-left:var(--s5);}
  .ledger__item:last-child{border-right:0;}
}

/* ---------- Page banner (inner pages) ---------- */
.banner{background:var(--evergreen);color:var(--on-dark);padding-block:clamp(48px,7vw,96px) clamp(40px,6vw,72px);}
.banner .eyebrow{color:var(--copper-light);}
.banner h1{color:var(--ivory);max-width:16ch;}
.banner .lede{margin-top:var(--s5);color:var(--on-dark-soft);}
.crumbs{border-bottom:1px solid var(--rule);background:var(--ground);}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s2);padding-block:var(--s3);font-size:.85rem;color:var(--ink-faint);}
.crumbs li+li::before{content:"/";margin-right:var(--s2);color:var(--rule-firm);}
.crumbs a{color:var(--ink-soft);text-decoration:none;}
.crumbs a:hover{color:var(--copper-deep);text-decoration:underline;}

/* ---------- Photograph plates ----------
   The image is shown whole at its own ratio; a flat offset slab behind it
   stands in for the shadow the brand does not use. */
.plate{margin:0;position:relative;}
.plate__frame{position:relative;}
.plate__frame::before{
  content:"";position:absolute;inset:0;background:var(--evergreen);
  transform:translate(var(--plate),var(--plate));z-index:0;
  transition:transform .6s var(--ease);
}
.plate__frame img{position:relative;z-index:1;width:100%;height:auto;background:var(--sand);}
.plate--copper .plate__frame::before{background:var(--copper-deep);}
.on-dark .plate__frame::before,.chapter--dark .plate__frame::before{background:var(--copper-deep);}
.plate__cap{
  display:flex;gap:var(--s3);align-items:baseline;margin-top:calc(var(--plate) + var(--s4));
  font-size:.82rem;letter-spacing:.04em;color:var(--ink-faint);
}
.plate__cap::before{content:"";width:18px;height:1px;background:var(--copper);flex:none;transform:translateY(-.3em);}
.on-dark .plate__cap{color:var(--on-dark-soft);}
.reveal:not(.is-in) .plate__frame::before{transform:translate(0,0);}
.plate--flush .plate__frame::before{display:none;}

/* Full-width band image */
.band{margin:0;}
.band img{width:100%;height:auto;}

/* ---------- Media rows (text beside a plate) ---------- */
.media{display:grid;gap:clamp(32px,5vw,64px);align-items:center;}
.media__text .eyebrow{margin-bottom:var(--s4);}
.media__text p{max-width:var(--measure);margin-top:var(--s4);}
.media__text h2 + p,.media__text h3 + p{margin-top:var(--s4);}
@media(min-width:900px){
  .media{grid-template-columns:repeat(12,minmax(0,1fr));}
  .media__text{grid-column:1/6;}
  .media__visual{grid-column:7/13;}
  .media--flip .media__text{grid-column:8/13;grid-row:1;}
  .media--flip .media__visual{grid-column:1/7;grid-row:1;}
}

/* ---------- Home: four parts ---------- */
.parts{display:grid;gap:var(--s6);}
.part{
  position:relative;padding:var(--s6) 0 0;border-top:1px solid var(--rule-firm);
}
.part__num{font-family:var(--display);font-weight:600;font-size:2.4rem;line-height:1;color:var(--copper-deep);margin-bottom:var(--s4);letter-spacing:.02em;}
.part h3{font-family:var(--display);font-weight:600;font-size:1.3rem;letter-spacing:.02em;color:var(--evergreen);}
.part p{margin-top:var(--s3);color:var(--ink-soft);}
.part ul{margin-top:var(--s4);list-style:none;}
.part li{position:relative;padding-left:var(--s5);font-size:.95rem;line-height:1.5;margin-top:var(--s2);}
.part li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:1px;background:var(--copper);}
@media(min-width:700px){.parts{grid-template-columns:1fr 1fr;gap:var(--s7) var(--s8);}}
@media(min-width:1100px){.parts{grid-template-columns:repeat(4,1fr);gap:var(--s7) var(--s6);}}

/* ---------- Steps (how it works / engagement) ---------- */
.steps{list-style:none;counter-reset:step;display:grid;gap:var(--s5);}
.step{
  counter-increment:step;position:relative;padding:var(--s5) 0 0;border-top:1px solid var(--rule-firm);
}
.step::before{
  content:counter(step,upper-roman);display:block;
  font-family:var(--display);font-weight:600;font-size:1.6rem;line-height:1;color:var(--copper-deep);margin-bottom:var(--s3);
}
.step h3{font-size:1.1rem;}
.step p{margin-top:var(--s2);color:var(--ink-soft);font-size:.98rem;}
.on-dark .step{border-top-color:var(--rule-dark);}
.on-dark .step::before{color:var(--copper-light);}
@media(min-width:760px){.steps{grid-template-columns:1fr 1fr;gap:var(--s7) var(--s7);}}
@media(min-width:1000px){
  .steps{grid-template-columns:repeat(var(--cols,4),1fr);gap:var(--s6);}
  .steps--5{--cols:5;}
}

/* ---------- Pillars (the standard) ---------- */
.standard-band{margin-bottom:clamp(48px,7vw,96px);}
.pillars{list-style:none;display:grid;gap:1px;background:var(--rule-dark);border:1px solid var(--rule-dark);}
.pillar{background:var(--evergreen);padding:var(--s5) var(--s5) var(--s6);}
.pillar h3{font-family:var(--display);font-weight:600;font-size:1.25rem;letter-spacing:.08em;color:var(--copper-light);}
.pillar p{margin-top:var(--s2);font-size:.95rem;}
@media(min-width:600px){.pillars{grid-template-columns:1fr 1fr;}}
@media(min-width:1000px){.pillars{grid-template-columns:repeat(3,1fr);} .pillar{padding:var(--s6);}}

/* ---------- Fit / scope panels ---------- */
.split{display:grid;gap:var(--s5);}
.panel{padding:var(--s6);border:1px solid var(--rule-firm);background:var(--surface);}
.panel--alt{background:var(--sand);}
.panel--dark{background:var(--evergreen);color:var(--on-dark);border-color:var(--evergreen);}
.panel--dark h3{color:var(--copper-light);}
.panel h3{font-family:var(--display);font-weight:600;letter-spacing:.06em;font-size:1.05rem;}
.panel ul{list-style:none;margin-top:var(--s4);}
.panel li{position:relative;padding-left:var(--s6);margin-top:var(--s3);line-height:1.5;}
.panel li::before{
  content:"";position:absolute;left:0;top:.55em;width:14px;height:8px;
  border-left:1.5px solid var(--copper-deep);border-bottom:1.5px solid var(--copper-deep);transform:rotate(-45deg);
}
.panel--alt li::before,.panel--no li::before{
  border:0;width:12px;height:1.5px;background:var(--ink-faint);transform:none;top:.7em;
}
.panel--dark li::before{border-color:var(--copper-light);}
.panel--dark p{color:var(--on-dark-soft);}
@media(min-width:760px){.split{grid-template-columns:1fr 1fr;gap:var(--s6);}}

/* ---------- Commitments ---------- */
.commitments{list-style:none;display:grid;gap:var(--s5);}
.commit{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:var(--s4);padding-top:var(--s5);border-top:1px solid var(--rule-firm);}
.commit__num{font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--copper-deep);line-height:1.3;}
.commit h3{font-size:1.08rem;}
.commit p{margin-top:var(--s2);color:var(--ink-soft);font-size:.98rem;}
@media(min-width:760px){.commitments{grid-template-columns:1fr 1fr;gap:var(--s6) var(--s8);}}

/* ---------- CTA band ---------- */
.cta{position:relative;overflow:hidden;background:var(--evergreen);color:var(--on-dark);}
.cta__inner{position:relative;z-index:1;display:grid;gap:var(--s6);align-items:center;padding-block:clamp(48px,7vw,88px);}
.cta h2{color:var(--ivory);max-width:18ch;}
.cta p{margin-top:var(--s3);color:var(--on-dark-soft);max-width:48ch;}
.cta .btn-row{margin-top:0;}
.cta__mark{position:absolute;right:-6%;top:50%;width:min(46vw,420px);transform:translateY(-50%);opacity:.12;z-index:0;pointer-events:none;}
@media(min-width:900px){.cta__inner{grid-template-columns:minmax(0,1fr) auto;} .cta__inner .btn-row{justify-content:flex-end;}}

/* ---------- About: lexicon ---------- */
.lexicon{display:grid;gap:var(--s6);}
.lex{padding-top:var(--s5);border-top:1px solid var(--rule-firm);}
.lex__word{font-family:var(--display);font-weight:600;font-size:clamp(1.7rem,1.3rem + 1.6vw,2.4rem);letter-spacing:.04em;color:var(--evergreen);line-height:1.1;}
.lex__gloss{display:block;margin-top:var(--s2);font-size:.85rem;letter-spacing:.06em;color:var(--copper-deep);}
.lex p{margin-top:var(--s4);color:var(--ink-soft);}
@media(min-width:900px){.lexicon{grid-template-columns:repeat(3,1fr);gap:var(--s7);}}

/* About: the mark */
.mark-row{display:grid;gap:var(--s7);align-items:center;}
.mark-row__art{width:min(60%,260px);margin-inline:auto;}
.mark-row p{max-width:var(--measure);}
.mark-row p+p{margin-top:var(--s4);}
@media(min-width:800px){.mark-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr);} .mark-row__art{width:min(100%,280px);}}

/* About: swatches */
.swatches{list-style:none;display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
.swatch__chip{height:88px;border:1px solid var(--rule-firm);}
.swatch b{display:block;margin-top:var(--s3);font-family:var(--display);font-weight:600;letter-spacing:.06em;font-size:.95rem;color:var(--evergreen);}
.swatch span{display:block;margin-top:var(--s1);font-size:.9rem;color:var(--ink-soft);line-height:1.45;}

/* ---------- Services: rail + service blocks ---------- */
.services{display:grid;gap:clamp(48px,7vw,96px);}
.rail{display:none;}
@media(min-width:1100px){
  .services{grid-template-columns:200px minmax(0,1fr);gap:var(--s9);align-items:start;}
  .rail{display:block;position:sticky;top:calc(var(--header-h) + var(--s6));}
  .rail__title{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--s4);}
  .rail ol{list-style:none;border-top:1px solid var(--rule-firm);}
  .rail__link{display:grid;grid-template-columns:2rem 1fr;gap:var(--s2);padding:var(--s3) 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink-soft);font-size:.92rem;font-weight:600;transition:color .18s var(--ease);}
  .rail__link b{font-family:var(--display);font-weight:600;color:var(--rule-firm);transition:color .18s var(--ease);}
  .rail__link:hover,.rail__link.is-current{color:var(--evergreen);}
  .rail__link.is-current b{color:var(--copper-deep);}
}
.service-list{display:grid;gap:clamp(56px,8vw,112px);}
.service{scroll-margin-top:calc(var(--header-h) + var(--s5));}
.service__num{font-family:var(--display);font-weight:600;font-size:clamp(2.4rem,2rem + 2vw,3.4rem);line-height:1;color:var(--copper-deep);letter-spacing:.02em;}
.service h3{font-family:var(--display);font-weight:600;font-size:clamp(1.35rem,1.15rem + 1vw,1.85rem);letter-spacing:.02em;color:var(--evergreen);margin-top:var(--s3);}
.service ul{list-style:none;margin-top:var(--s5);border-top:1px solid var(--rule);}
.service li{padding:var(--s3) 0 var(--s3) var(--s5);border-bottom:1px solid var(--rule);position:relative;font-size:.96rem;line-height:1.5;}
.service li::before{content:"";position:absolute;left:0;top:1.25em;width:10px;height:1px;background:var(--copper);}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--rule-firm);}
.faq details{border-bottom:1px solid var(--rule);}
.faq summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:var(--s4);align-items:center;
  padding:var(--s4) 0;font-weight:700;font-size:1.02rem;color:var(--evergreen);
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"";width:12px;height:12px;justify-self:center;
  border-right:1.5px solid var(--copper-deep);border-bottom:1.5px solid var(--copper-deep);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .22s var(--ease);
}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px);}
.faq summary:hover{color:var(--copper-deep);}
.faq__answer{padding:0 0 var(--s5);max-width:var(--measure);color:var(--ink-soft);}

/* ---------- Contact ---------- */
.contact{display:grid;gap:clamp(32px,5vw,64px);align-items:start;}
.contact-card{background:var(--evergreen);color:var(--on-dark);padding:clamp(28px,4vw,44px);}
.contact-card h2{color:var(--ivory);}
.contact-card p{color:var(--on-dark-soft);margin-top:var(--s3);}
.contact-card .btn{margin-top:var(--s5);}
.contact-note{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--rule-firm);}
.contact-note h3{font-size:1.05rem;}
.contact-note p{margin-top:var(--s2);color:var(--ink-soft);}
.contact-note ul{list-style:none;margin-top:var(--s3);}
.contact-note li{position:relative;padding-left:var(--s5);margin-top:var(--s2);line-height:1.5;}
.contact-note li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:1px;background:var(--copper);}
@media(min-width:900px){
  .contact{grid-template-columns:repeat(12,minmax(0,1fr));}
  .contact__main{grid-column:1/7;}
  .contact__visual{grid-column:8/13;position:sticky;top:calc(var(--header-h) + var(--s6));}
}

/* ---------- Prose (legal) ---------- */
.prose{max-width:var(--measure);}
.prose__meta{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--s6);}
.prose h2{font-family:var(--sans);font-weight:700;font-size:1.25rem;margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--rule);}
.prose h3{font-size:1.02rem;margin-top:var(--s5);}
.prose p{margin-top:var(--s3);color:var(--ink-soft);}
.prose ul{margin-top:var(--s3);padding-left:1.2em;color:var(--ink-soft);}
.prose li{margin-top:var(--s2);}

/* ---------- Footer ---------- */
.footer{background:var(--evergreen-deep);color:var(--on-dark);padding-block:clamp(56px,7vw,96px) var(--s6);}
.footer__word{
  font-family:var(--display);font-weight:600;line-height:.95;letter-spacing:.06em;color:var(--ivory);
  font-size:clamp(2rem,.9rem + 6.6vw,7.2rem);display:flex;align-items:center;gap:clamp(12px,2vw,28px);min-width:0;
  padding-bottom:clamp(28px,4vw,48px);border-bottom:1px solid var(--rule-dark);
}
.footer__word .mark{width:.72em;flex:none;}
.footer__grid{display:grid;gap:var(--s6);padding-block:var(--s7) var(--s7);}
.footer h2{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--copper-light);font-family:var(--sans);margin-bottom:var(--s3);}
.footer ul{list-style:none;}
.footer li+li{margin-top:var(--s2);}
.footer a{color:var(--ivory);text-decoration:none;}
.footer a:hover{color:var(--copper-light);text-decoration:underline;text-underline-offset:.2em;}
.footer__blurb{color:var(--on-dark-soft);max-width:34ch;}
.footer__descriptor{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-light);margin-bottom:var(--s3);}
.footer__bottom{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);justify-content:space-between;padding-top:var(--s5);border-top:1px solid var(--rule-dark);font-size:.85rem;color:var(--on-dark-soft);}
@media(min-width:760px){.footer__grid{grid-template-columns:minmax(0,2fr) 1fr 1fr;}}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.reveal.is-in{opacity:1;transform:none;}
html.reveal-off .reveal,html.no-js .reveal{opacity:1;transform:none;transition:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .plate__frame::before,.btn,.nav__link::after,.faq summary::after,.burger span,.burger span::before,.burger span::after{transition:none;}
}

/* ---------- Utilities ---------- */
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.mark{width:100%;height:auto;display:block;}
.measure{max-width:var(--measure);}
.mt-4{margin-top:var(--s4);} .mt-6{margin-top:var(--s6);} .mt-7{margin-top:var(--s7);}

/* ---------- Late additions ---------- */
.chapter--flush-top{padding-top:0;}
.numeral + .eyebrow{display:flex;margin-top:var(--s4);}

/* ---------- Single-file router (harmless on the multi-page build) ---------- */
.page{display:none;}
.page.is-active{display:block;}
html.no-js .page[data-route="/"]{display:block;}
.page:focus{outline:none;}
#wtx-defs{position:absolute;width:0;height:0;overflow:hidden;}

/* Services rows sit beside the rail, so they split text and photograph evenly and top-align */
@media(min-width:900px){
  .services .service{align-items:start;}
  .services .service .media__text{grid-column:1/7;}
  .services .service .media__visual{grid-column:7/13;}
  .services .service.media--flip .media__text{grid-column:7/13;grid-row:1;}
  .services .service.media--flip .media__visual{grid-column:1/7;grid-row:1;}
  .services .service .media__visual{padding-top:var(--s3);}
}
