/* Ondera website: one shared stylesheet. Mobile-first; desktop nav/layout from 1180px.
   Tokens first, then base, layout, components. No inline styles, no external requests. */

@font-face{font-family:"Fraunces";src:url("fonts/Fraunces-var-latin.woff2") format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-var-latin.woff2") format("woff2");font-weight:400 600;font-style:normal;font-display:swap}

:root{
  /* palette: warm off-white, dark ink, ONE accent (forest green) + a darker tint */
  --c-bg:#F6F4EF;
  --c-alt:#ECE8DF;
  --c-card:#FBFAF7;
  --c-ink:#1B211D;
  --c-muted:#48514B;
  --c-line:#D3CEC1;
  --c-accent:#1F4D3A;
  --c-accent-dark:#163A2B;
  --c-on-accent:#F6F4EF;
  --c-error:#9B2C2C;

  /* type */
  --ff-head:"Fraunces","Source Serif Pro","Source Serif 4",Georgia,"Times New Roman",serif;
  --ff-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fs-h1:clamp(2.125rem,1.45rem + 2.9vw,3.5rem);
  --fs-h2:clamp(1.75rem,1.3rem + 1.7vw,2.5rem);
  --fs-h3:clamp(1.25rem,1.15rem + .45vw,1.5rem);
  --fs-lead:clamp(1.0625rem,1rem + .35vw,1.3125rem);
  --fs-body:1.0625rem;
  --fs-small:.9375rem;
  --fs-xs:.875rem;
  --lh-head:1.12;
  --lh-body:1.6;

  /* layout */
  --maxw:1200px;
  --gutter:clamp(20px,5vw,48px);
  --section-pad:clamp(56px,10vh,104px);   /* the ONLY vertical section padding */
  --header-h:68px;
  --gap-s:12px;
  --gap-m:24px;
  --gap-l:clamp(32px,4vw,56px);
  --card-pad:clamp(24px,3vw,36px);
  --radius:4px;
  --measure:62ch;
}
@media (min-width:1180px){:root{--header-h:80px}}

/* base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html.is-menu-open,html.is-menu-open body{overflow:hidden}
body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--c-bg);color:var(--c-ink);
  font:400 var(--fs-body)/var(--lh-body) var(--ff-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
main{flex:1 0 auto}
img,svg{display:block;max-width:100%}
h1,h2,h3{font-family:var(--ff-head);font-weight:500;line-height:var(--lh-head);letter-spacing:-.012em;margin:0;text-wrap:balance}
h1{font-size:var(--fs-h1);letter-spacing:-.02em}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
p{margin:0;text-wrap:pretty}
.h-seg{display:block}
a{color:var(--c-accent);text-decoration-thickness:1px;text-underline-offset:.2em}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:2px}
.skip-link{position:absolute;left:var(--gutter);top:-100px;z-index:100;background:var(--c-accent);color:var(--c-on-accent);padding:12px 18px;border-radius:var(--radius)}
.skip-link:focus{top:12px}
[hidden]{display:none!important}
.ph{background:rgba(31,77,58,.09);border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.container{width:min(100% - 2*var(--gutter),var(--maxw));margin-inline:auto}
.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--c-muted);max-width:var(--measure)}

/* header */
.site-header{position:sticky;top:0;z-index:60;height:var(--header-h);background:var(--c-bg);border-bottom:1px solid var(--c-line)}
.site-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--gap-m)}
.wordmark{font:600 1.375rem/1 var(--ff-head);letter-spacing:.02em;color:var(--c-ink);text-decoration:none;white-space:nowrap}
.site-header .nav-desktop,.site-header .header-cta{display:none}
.nav-toggle,.nav-fallback{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--c-ink);border-radius:var(--radius);
  background:transparent;color:var(--c-ink);font:600 var(--fs-small)/1 var(--ff-body);cursor:pointer;text-decoration:none}
.nav-toggle[aria-expanded="true"]{background:var(--c-ink);color:var(--c-bg)}
.nav-list{display:flex;gap:clamp(20px,2.4vw,36px)}
.nav-list a{display:inline-block;padding:8px 0;color:var(--c-ink);text-decoration:none;font-weight:500;font-size:var(--fs-small);border-bottom:2px solid transparent}
.nav-list a:hover,.nav-list a[aria-current="page"]{border-bottom-color:var(--c-accent)}

/* mobile menu panel: always full viewport height, opaque, header stays above it */
.menu-panel{position:fixed;inset:0;z-index:55;height:100vh;height:100dvh;background:var(--c-bg);
  padding:calc(var(--header-h) + 8px) var(--gutter) 32px;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
.menu-panel .nav-list{flex-direction:column;gap:0}
.menu-panel .nav-list li{border-bottom:1px solid var(--c-line)}
.menu-panel .nav-list a{display:block;padding:18px 0;font:500 1.75rem/1.2 var(--ff-head);border-bottom:0}
.menu-panel .nav-list a[aria-current="page"]{color:var(--c-accent)}
.menu-panel .btn{margin-top:var(--gap-m);width:100%}

@media (min-width:1180px){
  .site-header .nav-desktop{display:block}
  .site-header .header-cta{display:inline-flex}
  .nav-toggle,.nav-fallback,.menu-panel{display:none!important}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;border:1px solid var(--c-accent);border-radius:var(--radius);
  background:var(--c-accent);color:var(--c-on-accent);font:600 1rem/1 var(--ff-body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--c-accent-dark)}
.btn--small{min-height:44px;padding:0 22px;font-size:var(--fs-small)}
.btn--inverse{background:var(--c-on-accent);border-color:var(--c-on-accent);color:var(--c-accent)}
.btn--inverse:hover{background:#fff}

/* sections: one padding token, no min-height, alternating tint, accent tick that leads into the next section */
.section{position:relative;padding-block:var(--section-pad);background:var(--c-bg)}
.section--alt{background:var(--c-alt)}
.section + .section::before{content:"";position:absolute;z-index:2;top:-32px;left:max(var(--gutter),calc((100% - var(--maxw)) / 2));width:1px;height:64px;background:var(--c-accent)}
.section.cta-band::before{display:none}
.section__head{margin-bottom:var(--gap-l)}

/* hero */
.hero__grid{display:grid;gap:var(--gap-l);align-items:center}
.hero__text{display:flex;flex-direction:column;align-items:flex-start;gap:var(--gap-m)}
.hero__text .btn{margin-top:var(--gap-s)}
.hero__shape{display:none;color:var(--c-accent)}
.hero__shape svg{width:100%;height:auto;max-height:340px;overflow:visible}
.hero__shape .shape-line{fill:none;stroke:currentColor;stroke-width:1.25;vector-effect:non-scaling-stroke}
.hero__shape .shape-last{fill:rgba(31,77,58,.1)}
@media (min-width:768px){.hero__shape{display:block;max-width:340px}}
@media (min-width:1024px){
  .hero__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
  .hero__shape{justify-self:end;width:100%;max-width:380px}
}
.hero--plain .hero__text{max-width:var(--measure)}

/* two-column split: both columns filled, vertically centred */
.split{display:grid;gap:var(--gap-m);align-items:center}
@media (min-width:1024px){.split{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(40px,5vw,80px)}}
.split__body{font-size:var(--fs-lead);line-height:1.55;color:var(--c-muted)}

/* cards: equal height, titles/text aligned through subgrid (flex fallback) */
.card-grid{display:grid;gap:var(--gap-m);grid-template-columns:minmax(0,1fr)}
.card{display:flex;flex-direction:column;gap:var(--gap-s);padding:var(--card-pad);background:var(--c-alt);border:1px solid var(--c-line);border-top:2px solid var(--c-accent);border-radius:var(--radius)}
.section--alt .card{background:var(--c-card)}
.card__title{font-size:var(--fs-h3)}
.card__text{font-size:var(--fs-body);color:var(--c-muted)}
.card__index{font:500 var(--fs-h2)/1 var(--ff-head);color:var(--c-accent)}
@media (min-width:768px){
  .card-grid--2,.card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
  .card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1180px){
  .card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@supports (grid-template-rows:subgrid){
  @media (min-width:768px){
    .card-grid{row-gap:0}
    .card-grid > .card{display:grid;grid-template-rows:subgrid;grid-row:span var(--rows,2);row-gap:0;align-content:start;margin-bottom:var(--gap-m)}
    .card-grid > .card > :first-child{margin-bottom:var(--gap-s)}
    .card-grid--3 > .card:nth-child(n+3):last-child{margin-bottom:0}
    .card--3rows{--rows:3}
    .card-grid--steps > .card > :nth-child(2){margin-bottom:var(--gap-s)}
  }
  @media (min-width:1024px){.card-grid--3 > .card{margin-bottom:0}}
  @media (min-width:1180px){.card-grid--4 > .card{margin-bottom:0}}
}

/* marker lists (words untouched, markers are pure CSS) */
.list-cards{display:grid;gap:var(--gap-m);grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){.list-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.list-cards > li{position:relative;display:flex;align-items:center;padding:var(--card-pad) var(--card-pad) var(--card-pad) calc(var(--card-pad) + 36px);
  background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--radius);font-size:var(--fs-body)}
.section--alt .list-cards > li{background:var(--c-card)}
.list-cards > li::before,.list-rows > li::before{content:"";position:absolute;left:var(--card-pad);top:50%;width:8px;height:15px;margin-top:-10px;
  border:solid var(--c-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.list-cards--no > li::before,.list-rows > li::before,.list-cards--no > li::after,.list-rows > li::after{content:"";position:absolute;left:var(--card-pad);top:50%;width:18px;height:2px;margin-top:-1px;
  border:0;background:var(--c-muted);transform:rotate(45deg)}
.list-cards--no > li::after,.list-rows > li::after{transform:rotate(-45deg)}
.list-rows{border-top:1px solid var(--c-line)}
.list-rows > li{position:relative;padding:22px 0 22px 44px;border-bottom:1px solid var(--c-line);font-size:var(--fs-lead);line-height:1.5}
.list-rows > li::before,.list-rows > li::after{left:0}
.note{margin-top:var(--gap-l);padding:var(--card-pad);border-left:3px solid var(--c-accent);background:var(--c-card);border-radius:0 var(--radius) var(--radius) 0;
  font:500 var(--fs-h3)/1.35 var(--ff-head)}

/* placeholder blocks (Over / legal) */
.placeholder-card{display:flex;align-items:center;padding:var(--card-pad);background:var(--c-card);border:1px dashed var(--c-muted);border-radius:var(--radius);color:var(--c-muted);font-size:var(--fs-body)}
.legal-text{max-width:var(--measure);padding:var(--card-pad);background:var(--c-card);border:1px dashed var(--c-muted);border-radius:var(--radius);color:var(--c-muted);font-size:var(--fs-lead);line-height:1.55}

/* closing CTA band */
.cta-band{background:var(--c-accent);color:var(--c-on-accent)}
.cta-band__inner{display:grid;gap:var(--gap-m);align-items:center;justify-items:start}
.cta-band .lead{color:var(--c-on-accent);opacity:.92;margin-top:var(--gap-s)}
.cta-band :focus-visible{outline-color:#fff}
.cta-band__inner--solo{justify-items:center}
@media (min-width:1024px){.cta-band__inner:not(.cta-band__inner--solo){grid-template-columns:minmax(0,1fr) auto;gap:var(--gap-l)}}

/* form */
.form-card{max-width:760px;margin-inline:auto;padding:clamp(24px,4vw,48px);background:var(--c-card);border:1px solid var(--c-line);border-top:2px solid var(--c-accent);border-radius:var(--radius)}
.form{display:grid;gap:var(--gap-m);grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){.form{grid-template-columns:repeat(2,minmax(0,1fr))}.form__full{grid-column:1 / -1}}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-weight:600;font-size:var(--fs-small)}
.field .hint{font-weight:400;color:var(--c-muted)}
.field input,.field textarea{width:100%;padding:13px 14px;border:1px solid #8A8F86;border-radius:var(--radius);background:#fff;color:var(--c-ink);font:400 1rem/1.4 var(--ff-body)}
.field textarea{min-height:150px;resize:vertical}
.field input:focus-visible,.field textarea:focus-visible{outline:3px solid var(--c-accent);outline-offset:1px;border-color:var(--c-accent)}
.field input.is-invalid,.field textarea.is-invalid{border-color:var(--c-error);box-shadow:inset 3px 0 0 var(--c-error)}
.check{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;font-size:var(--fs-small);line-height:1.5}
.check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--c-accent)}
.check input.is-invalid{outline:2px solid var(--c-error);outline-offset:2px}
.form__submit{display:flex}

/* footer */
.site-footer{background:var(--c-alt);border-top:1px solid var(--c-line);padding-block:clamp(40px,6vh,64px);font-size:var(--fs-xs);line-height:1.6;color:var(--c-muted)}
.site-footer__grid{display:grid;gap:var(--gap-m)}
.site-footer .wordmark{font-size:1.25rem}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.footer-nav a,.footer-legal a{color:var(--c-ink);text-underline-offset:.2em}
.footer-meta{margin-top:var(--gap-m);padding-top:var(--gap-m);border-top:1px solid var(--c-line);display:grid;gap:var(--gap-s)}
.footer-meta p{max-width:90ch}
.footer-legal{display:flex;flex-wrap:wrap;gap:4px 0}
.footer-legal li + li::before{content:"\00b7";margin:0 .6em}
@media (min-width:768px){.site-footer__grid{grid-template-columns:auto auto;justify-content:space-between;align-items:center}}

/* thanks / 404 mark */
.hero--plain .hero__text .btn{margin-top:var(--gap-s)}

/* home v3 */
.eyebrow{margin:0 0 var(--gap-s);font:600 var(--fs-xs)/1.2 var(--ff-body);letter-spacing:.12em;text-transform:uppercase;color:var(--c-accent)}
.card__hook{margin:0;font-weight:600;color:var(--c-ink)}
.card__link{font-weight:600;font-size:var(--fs-small)}
.card--path{--rows:4}
.cards-after{margin:var(--gap-l) 0 0;font-size:var(--fs-small);color:var(--c-muted);text-align:center;text-wrap:pretty}
.sub-gap{height:var(--gap-m)}
@media (min-width:1024px){.list-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.trust-band{padding-block:clamp(32px,6vh,56px);background:var(--c-alt);border-block:1px solid var(--c-line)}
.trust-band__inner{display:flex;flex-direction:column;gap:var(--gap-s);align-items:center;text-align:center}
.trust-band__title{margin:0;font:500 var(--fs-h3)/1.25 var(--ff-head);color:var(--c-ink)}
.trust-band__text{margin:0;max-width:var(--measure);color:var(--c-muted);text-wrap:pretty}
@media (min-width:1024px){.trust-band__inner{flex-direction:row;justify-content:center;gap:var(--gap-l);text-align:left}}

/* onepager v5 */
[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
.card-grid--pistes > .card{--rows:4}
.piste__lead{margin:0;font-weight:600;color:var(--c-ink)}
.piste__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;color:var(--c-muted)}
.piste__list li{position:relative;padding-left:22px;text-wrap:pretty}
.piste__list li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--c-accent)}
.piste .btn{justify-self:start;align-self:end;margin-top:var(--gap-m)}
