/* ==========================================================================
   IDS — www.idsapp.com · Design system  (Bright / Open Sans headings — 2026-09-19)
   Single source of truth. Pages inherit via CSS custom properties.
   ========================================================================== */

/* ---------- Self-hosted fonts (no external calls) ------------------------- */
@font-face{font-family:"Open Sans";src:url("../fonts/open-sans.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-grotesk.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Schibsted Grotesk";src:url("../fonts/schibsted-grotesk.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/bricolage-grotesque.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}

/* ---------- Tokens -------------------------------------------------------- */
:root{
  --ink:#12233A; --ink-soft:#3A4A61; --ink-mute:#5E6B7E;
  --line:#E2E8F0; --line-soft:#EDF1F6;
  --bg:#FFFFFF; --bg-tint:#F4F7FB; --bg-tint2:#EDF2F8;

  --acc:#2D527C; --acc-hover:#35608D; --acc-tint:#E9EFF6; --acc-ink:#1E3B5C;
  --core:#2D527C; --costop:#1E7E34; --costop-tint:#E7F3EA;
  --cosend:#9A6206; --cosend-tint:#F6EEDF; --ok:#1E7E34;

  --f-head:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-ui:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-word:"Bricolage Grotesque",system-ui,sans-serif;

  --r-xs:6px; --r-sm:10px; --r:14px; --r-lg:20px; --r-xl:28px; --r-pill:999px;
  --sh-sm:0 1px 2px rgba(18,35,58,.06),0 1px 3px rgba(18,35,58,.05);
  --sh:0 8px 22px -10px rgba(18,35,58,.18),0 2px 6px rgba(18,35,58,.06);
  --sh-lg:0 26px 60px -24px rgba(18,35,58,.32),0 10px 26px -14px rgba(18,35,58,.16);

  --wrap:1160px; --wrap-narrow:740px;
  --pad-sec:clamp(4.4rem,2.6rem + 6vw,8.5rem);

  --fs-hero:clamp(2.35rem,1.6rem + 2.55vw,3.55rem);
  --fs-h2:clamp(1.95rem,1.38rem + 1.95vw,2.75rem);
  --fs-h3:clamp(1.24rem,1.07rem + .72vw,1.56rem);
  --fs-lead:clamp(1.1rem,1rem + .45vw,1.3rem);
  --fs-body:1.0625rem; --fs-sm:.9rem; --fs-eyebrow:.78rem;
}

/* ---------- Reset --------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);
  font-size:var(--fs-body);line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--acc);text-decoration:none}
a:hover{color:var(--acc-hover)}
button{font:inherit;cursor:pointer;color:inherit}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:700;letter-spacing:-.015em;line-height:1.12;color:var(--ink);margin:0 0 .5em}
h1{font-size:var(--fs-hero);letter-spacing:-.016em}
h2{font-size:var(--fs-h2);letter-spacing:-.012em;line-height:1.16}
h3{font-size:var(--fs-h3);letter-spacing:-.006em;font-weight:560;line-height:1.22}
p{margin:0 0 1rem}
strong{font-weight:640}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px;border-radius:4px}
::selection{background:#cfe0f2;color:var(--ink)}

/* ---------- Layout helpers ----------------------------------------------- */
.wrap{width:min(100% - 2.4rem,var(--wrap));margin-inline:auto}
.narrow{max-width:var(--wrap-narrow)}
.sec{padding-block:var(--pad-sec)}
.sec--tint{background:var(--bg-tint)}
.sec--pad-sm{padding-block:clamp(2.4rem,1.6rem + 3vw,4rem)}
.eyebrow{font-family:var(--f-ui);font-size:var(--fs-eyebrow);font-weight:640;
  letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:0 0 .9rem}
.lead{font-size:var(--fs-lead);line-height:1.5;color:var(--ink-soft);max-width:56ch}
.center{text-align:center;margin-inline:auto}
.center .lead{margin-inline:auto}
.sec-head{max-width:62ch;margin-bottom:clamp(2.7rem,1.6rem + 2.7vw,4.2rem)}
.sec-head.center{margin-inline:auto}
.muted{color:var(--ink-mute)}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Buttons ------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--f-ui);
  font-weight:620;font-size:.98rem;line-height:1;padding:.9em 1.35em;border-radius:var(--r-pill);
  border:1.5px solid transparent;transition:transform .15s ease,background .15s ease,box-shadow .15s ease,border-color .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--acc);color:#fff;box-shadow:0 8px 18px -8px rgba(45,82,124,.6)}
.btn-primary:hover{background:var(--acc-hover);color:#fff}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--acc);color:var(--acc)}
.btn-onblue{background:#fff;color:var(--acc-ink)}
.btn-onblue:hover{background:#eef4fb;color:var(--acc-ink)}
.btn-lg{padding:1.05em 1.7em;font-size:1.02rem}
.arrow{transition:transform .15s ease}
.btn:hover .arrow{transform:translateX(3px)}
.textlink{font-family:var(--f-ui);font-weight:620;color:var(--acc);display:inline-flex;align-items:center;gap:.35em}
.textlink:hover .arrow{transform:translateX(3px)}

/* ---------- Header / nav -------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);
  backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line-soft)}
.nav{display:flex;align-items:center;gap:1.4rem;height:68px}
.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-word);font-weight:750;font-size:1.5rem;letter-spacing:-.02em;color:var(--ink)}
.brand-mark{flex:0 0 auto;display:block;width:30px;height:30px}
.brand-word{line-height:1}
.brand:hover{color:var(--ink)}
.brand .dot{color:var(--acc)}
.nav-primary{display:flex;align-items:center;gap:.25rem;margin-left:.6rem}
.nav-primary a,.nav-primary .navbtn{font-family:var(--f-ui);font-weight:560;font-size:.96rem;
  color:var(--ink);padding:.55em .7em;border-radius:var(--r-sm);background:none;border:0;display:inline-flex;align-items:center;gap:.3em}
.nav-primary a:hover,.nav-primary .navbtn:hover{background:var(--acc-tint);color:var(--acc-ink)}
.nav-actions{display:flex;align-items:center;gap:.9rem;margin-left:auto}
.nav-login{font-family:var(--f-ui);font-weight:560;color:var(--ink-soft)}
.nav-login:hover{color:var(--acc)}
.caret{width:.6em;height:.6em;transition:transform .2s ease}
.has-menu[aria-expanded="true"] .caret{transform:rotate(180deg)}
.menu{position:absolute;margin-top:.5rem;min-width:250px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--sh-lg);padding:.5rem;display:none}
.has-menu[aria-expanded="true"]+.menu,.menu:hover{display:block}
.menu a{display:block;padding:.6rem .7rem;border-radius:var(--r-sm)}
.menu a:hover{background:var(--acc-tint)}
.menu a .m-t{font-family:var(--f-ui);font-weight:620;color:var(--ink);display:block}
.menu a .m-d{font-size:.85rem;color:var(--ink-mute)}
.menu-wrap{position:relative}
.hamb{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);
  border-radius:var(--r-sm);background:#fff;align-items:center;justify-content:center}
.hamb span,.hamb span::before,.hamb span::after{content:"";display:block;width:20px;height:2px;background:var(--ink);position:relative;transition:.2s}
.hamb span::before{position:absolute;top:-6px}.hamb span::after{position:absolute;top:6px}

@media (max-width:960px){
  .hamb{display:inline-flex}
  .nav-primary,.nav-actions{position:fixed;inset:68px 0 auto 0;flex-direction:column;align-items:stretch;
    gap:.2rem;background:#fff;margin:0;padding:1rem 1.2rem;border-bottom:1px solid var(--line);box-shadow:var(--sh);
    transform:translateY(-140%);transition:transform .25s ease;visibility:hidden}
  .nav[data-open="true"] .nav-primary{transform:none;visibility:visible}
  .nav[data-open="true"] .nav-actions{transform:none;visibility:visible;inset-block-start:auto;position:static;box-shadow:none;border:0;padding-top:.4rem}
  .nav-actions{margin-top:.4rem}
  .menu{position:static;display:none;box-shadow:none;border:0;border-left:2px solid var(--acc-tint);border-radius:0;padding-left:.8rem}
  .has-menu[aria-expanded="true"]+.menu{display:block}
  .nav-primary a,.nav-primary .navbtn{padding:.8em .4em;width:100%;justify-content:space-between}
}

/* ---------- Hero ---------------------------------------------------------- */
.hero{padding-top:clamp(3.2rem,2rem + 3.6vw,5.6rem);padding-bottom:clamp(4.4rem,2.6rem + 4.4vw,7.4rem);
  background:radial-gradient(120% 90% at 82% -10%,var(--acc-tint) 0%,rgba(233,239,246,0) 55%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,1.2rem + 3.4vw,4.2rem);align-items:center}
.hero .eyebrow{margin-bottom:1.15rem}
.hero h1{margin-bottom:.66em;line-height:1.15}
.hero .lead{margin-bottom:2.3rem;max-width:42ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.hero-note{margin-top:1.6rem;font-size:.9rem;color:var(--ink-mute);display:flex;align-items:center;gap:.5em}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:2.2rem}.hero-visual{order:-1}}

/* ---------- Product mockups (HTML/CSS/SVG — real, no image) --------------- */
.stage{position:relative;filter:drop-shadow(0 30px 50px rgba(18,35,58,.18))}
.board{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh)}
.board-bar{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;border-bottom:1px solid var(--line-soft);background:#fbfcfe}
.board-bar .dots{display:flex;gap:.35rem}
.board-bar .dots i{width:10px;height:10px;border-radius:50%;background:#dde5ee;display:block}
.board-bar .b-title{font-family:var(--f-ui);font-weight:620;font-size:.82rem;color:var(--ink-soft)}
.board-bar .b-live{margin-left:auto;font-family:var(--f-ui);font-size:.72rem;font-weight:640;color:var(--ok);
  display:inline-flex;align-items:center;gap:.35em}
.board-bar .b-live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.board-rows{padding:.5rem}
.trip{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.6rem .65rem;border-radius:var(--r-sm)}
.trip+.trip{border-top:1px solid var(--line-soft)}
.trip .seq{width:26px;height:26px;border-radius:8px;background:var(--acc-tint);color:var(--acc-ink);
  font-family:var(--f-ui);font-weight:700;font-size:.8rem;display:grid;place-items:center}
.trip .who{font-family:var(--f-ui);font-weight:600;font-size:.86rem}
.trip .who small{display:block;font-weight:500;color:var(--ink-mute);font-size:.76rem}
.tag{font-family:var(--f-ui);font-size:.7rem;font-weight:660;padding:.25em .6em;border-radius:var(--r-pill)}
.tag--ok{background:var(--costop-tint);color:var(--costop)}
.tag--go{background:var(--acc-tint);color:var(--acc-ink)}
.tag--hold{background:var(--cosend-tint);color:var(--cosend)}
.phone{position:absolute;right:-6px;bottom:-26px;width:190px;background:#0e1c30;border-radius:26px;padding:8px;
  box-shadow:var(--sh-lg);border:1px solid #23364f}
.phone-screen{background:#fff;border-radius:19px;overflow:hidden}
.ph-top{background:var(--costop);color:#fff;padding:.7rem .8rem}
.ph-top .s{font-family:var(--f-ui);font-size:.68rem;font-weight:600;opacity:.85}
.ph-top .a{font-family:var(--f-ui);font-weight:700;font-size:.92rem}
.ph-map{height:78px;background:
  linear-gradient(0deg,rgba(30,126,52,.06),rgba(30,126,52,.06)),
  radial-gradient(circle at 30% 40%,#e8eef5 0 3px,transparent 3px),
  radial-gradient(circle at 70% 60%,#e8eef5 0 3px,transparent 3px),#f3f6fa;position:relative}
.ph-map::after{content:"";position:absolute;left:22%;top:38%;width:52%;height:24%;
  border-bottom:2.5px dashed var(--acc);border-left:2.5px dashed var(--acc);border-bottom-left-radius:14px;opacity:.7}
.ph-body{padding:.7rem .8rem}
.ph-stop{font-family:var(--f-ui);font-weight:700;font-size:.86rem;margin-bottom:.15rem}
.ph-sub{font-size:.74rem;color:var(--ink-mute);margin-bottom:.6rem}
.ph-pod{display:flex;align-items:center;gap:.5em;background:var(--costop-tint);color:var(--costop);
  font-family:var(--f-ui);font-weight:700;font-size:.78rem;padding:.55em .7em;border-radius:var(--r-sm)}
.ph-badge{margin-top:.55rem;font-family:var(--f-ui);font-size:.68rem;font-weight:600;color:var(--ink-mute);
  display:flex;align-items:center;gap:.4em}
.ph-badge b{color:var(--ok)}

/* ---------- Real app screenshots in a device frame ---------------------- */
.device{background:#0f1d31;border-radius:32px;padding:7px;border:1px solid #263a54;box-shadow:var(--sh-lg)}
.device img{display:block;width:100%;border-radius:26px}
.hero-phone{position:absolute;right:-4px;bottom:-38px;width:188px}
@media (max-width:860px){.hero-phone{position:static;width:208px;margin:1.6rem auto 0}}
.returns-phone{max-width:258px;margin-inline:auto}
figure.shot{margin:0}
figure.shot figcaption{margin-top:.9rem;text-align:center;font-family:var(--f-ui);font-size:.82rem;color:var(--ink-mute)}

/* ---------- Proof strip --------------------------------------------------- */
.proof{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--bg-tint)}
.proof-in{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem 2.8rem;padding-block:clamp(2.4rem,1.8rem + 1.6vw,3.3rem)}
.stat{flex:0 0 auto}
.stat b{font-family:var(--f-head);font-weight:700;font-size:1.95rem;color:var(--ink);display:block;line-height:1.05;white-space:nowrap}
.stat span{display:block;margin-top:.3rem;font-family:var(--f-ui);font-size:.8rem;letter-spacing:.01em;color:var(--ink-mute);white-space:nowrap}
.proof-note{flex:1 1 260px;min-width:220px;margin-left:auto;font-size:.92rem;line-height:1.45;color:var(--ink-soft);max-width:42ch;border-left:2px solid var(--line);padding-left:1.2rem}
@media (max-width:560px){.proof-note{margin-left:0;flex-basis:100%}}

/* ---------- Cards / grid -------------------------------------------------- */
.grid{display:grid;gap:1.6rem}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:820px){.g-3{grid-template-columns:1fr}.g-2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;box-shadow:var(--sh-sm);transition:box-shadow .2s ease,transform .2s ease}
.card:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.card h3{margin-bottom:.35rem}
.card p{color:var(--ink-soft);margin-bottom:.9rem}
.prodcard{border-top:3px solid var(--acc)}
.prodcard--core{border-top-color:var(--core)}
.prodcard--costop{border-top-color:var(--costop)}
.prodcard--cosend{border-top-color:var(--cosend)}
.prodcard .kicker{font-family:var(--f-ui);font-weight:700;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.prodcard--core .kicker{color:var(--core)}
.prodcard--costop .kicker{color:var(--costop)}
.prodcard--cosend .kicker{color:var(--cosend)}
.prodcard-ic{display:block;width:48px;height:48px;margin-bottom:1.15rem;line-height:0}
.prodcard-ic svg{width:48px;height:48px;display:block}

/* ---------- Split (text + visual) ---------------------------------------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,1rem + 3vw,3.6rem);align-items:center}
.split--rev .split-media{order:2}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:2rem}.split--rev .split-media{order:0}}
.feat-list{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.75rem}
.feat-list li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start}
.feat-list .ck{width:22px;height:22px;border-radius:7px;background:var(--acc-tint);color:var(--acc);display:grid;place-items:center;margin-top:1px}
.feat-list b{font-family:var(--f-ui);font-weight:640}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:1.4rem}

/* custody chain + returns diagram (SVG lives in HTML; light framing here) */
.diagram{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:1.4rem 1.5rem}
.chain{display:flex;flex-direction:column;gap:0}
.chain-step{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;padding:.15rem 0}
.chain-ic{width:34px;height:34px;border-radius:10px;background:var(--acc-tint);color:var(--acc-ink);display:grid;place-items:center;position:relative;z-index:1}
.chain-step:not(:last-child) .chain-ic::after{content:"";position:absolute;left:50%;top:34px;transform:translateX(-50%);width:2px;height:26px;background:var(--line)}
.chain-t{font-family:var(--f-ui);font-weight:640;font-size:.94rem}
.chain-d{font-size:.84rem;color:var(--ink-mute)}
.chain-step .stamp{grid-column:2;font-family:var(--f-ui);font-size:.72rem;color:var(--ok);font-weight:600;margin-bottom:.5rem}

/* ---------- Dark band (Why IDS) ------------------------------------------ */
.sec--dark{background:var(--ink);color:#E7EDF5}
.sec--dark h2,.sec--dark h3{color:#fff}
.sec--dark .eyebrow{color:#8FB2D8}
.sec--dark .lead{color:#B9C6D8}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.2rem}
@media (max-width:820px){.why-grid{grid-template-columns:1fr}}
.why-item h3{font-size:1.15rem;margin-bottom:.3rem}
.why-item p{color:#AEBCCE;font-size:.96rem;margin:0}
.why-item .ic{width:40px;height:40px;border-radius:11px;background:rgba(143,178,216,.16);color:#Bcd3ee;display:grid;place-items:center;margin-bottom:.8rem}
.sig{margin-top:2.4rem;font-family:var(--f-ui);font-weight:640;letter-spacing:.02em;color:#9FB6D2;
  border-top:1px solid rgba(255,255,255,.12);padding-top:1.3rem}

/* ---------- Never-metered check grid ------------------------------------- */
.checkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1.8rem}
@media (max-width:720px){.checkgrid{grid-template-columns:1fr 1fr}}
.checktile{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:.85rem 1rem;font-family:var(--f-ui);font-weight:560;font-size:.94rem}
.checktile .ck{width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:var(--costop-tint);color:var(--costop);display:grid;place-items:center}

/* ---------- Pricing ------------------------------------------------------- */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:stretch;margin-top:2.2rem}
@media (max-width:860px){.pricing{grid-template-columns:1fr;max-width:420px;margin-inline:auto}}
.price{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.7rem;display:flex;flex-direction:column;box-shadow:var(--sh-sm)}
.price--feat{border:1.5px solid var(--acc);box-shadow:var(--sh-lg);position:relative}
.price--feat .flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--acc);color:#fff;
  font-family:var(--f-ui);font-weight:660;font-size:.72rem;letter-spacing:.04em;padding:.35em .9em;border-radius:var(--r-pill)}
.price .p-name{font-family:var(--f-ui);font-weight:720;font-size:1.05rem}
.price .p-for{color:var(--ink-mute);font-size:.86rem;margin:.15rem 0 1rem;min-height:2.4em}
.price .p-amt{font-family:var(--f-head);font-weight:600;font-size:2rem;line-height:1;color:var(--ink)}
.price .p-amt small{font-family:var(--f-ui);font-size:.82rem;font-weight:560;color:var(--ink-mute)}
.price .p-start{font-family:var(--f-ui);font-size:.72rem;font-weight:640;letter-spacing:.06em;text-transform:uppercase;color:var(--acc);margin-bottom:.35rem}
.price .p-drv{color:var(--ink-soft);font-size:.9rem;margin:.5rem 0 1.2rem}
/* quoted price: the translated phrasing is longer than "From $2,500" */
.price .p-amt--quote{font-size:1.5rem;line-height:1.2}
.price ul{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:.55rem}
.price li{display:grid;grid-template-columns:auto 1fr;gap:.55rem;font-size:.92rem;color:var(--ink-soft)}
.price li .ck{color:var(--acc)}
.price .btn{margin-top:auto;justify-content:center}
.price-foot{margin-top:1.3rem;font-size:.9rem;color:var(--ink-mute);text-align:center}

/* ---------- FAQ ----------------------------------------------------------- */
.faq{max-width:var(--wrap-narrow);margin-inline:auto}
.qa{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;padding:1.15rem 2.4rem 1.15rem 0;position:relative;
  font-family:var(--f-ui);font-weight:620;font-size:1.05rem;color:var(--ink)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);
  font-family:var(--f-ui);font-weight:500;font-size:1.5rem;color:var(--acc);transition:transform .2s ease}
.qa[open] summary::after{content:"–"}
.qa .qa-body{padding-bottom:1.2rem;color:var(--ink-soft);max-width:64ch}
.qa .qa-body p{margin:0}

/* ---------- CTA band ------------------------------------------------------ */
.cta-band{background:var(--acc);color:#fff;text-align:center}
.cta-band h2{color:#fff;margin-bottom:.4em}
.cta-band p{color:#DCE8F5;max-width:52ch;margin-inline:auto;margin-bottom:1.7rem}
.cta-band .btn-onblue{box-shadow:0 10px 24px -10px rgba(0,0,0,.35)}

/* ---------- Forms --------------------------------------------------------- */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:clamp(1.4rem,1rem + 1.6vw,2.2rem)}
.field{margin-bottom:1.1rem}
.field label{display:block;font-family:var(--f-ui);font-weight:620;font-size:.9rem;margin-bottom:.4rem}
.field .req{color:var(--acc)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);
  padding:.8em .9em;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-tint)}
.field textarea{min-height:120px;resize:vertical}
.field .hint{font-size:.82rem;color:var(--ink-mute);margin-top:.35rem}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:600px){.form-row{grid-template-columns:1fr}}
.form .btn{width:100%;justify-content:center;margin-top:.4rem}
.form-note{font-size:.84rem;color:var(--ink-mute);margin-top:.9rem;text-align:center}
.alert{border-radius:var(--r-sm);padding:.9rem 1rem;font-size:.94rem;margin-bottom:1.2rem}
.alert-ok{background:var(--costop-tint);color:#155724;border:1px solid #bfe3c6}
.alert-err{background:#fdecec;color:#8a1f1f;border:1px solid #f3c9c9}

/* ---------- Placeholder blocks (photography — replace before launch) ------ */
[data-placeholder]{position:relative;background:
  repeating-linear-gradient(135deg,var(--bg-tint) 0 14px,var(--bg-tint2) 14px 28px);
  border:1.5px dashed #B7C6D8;border-radius:var(--r-lg);display:grid;place-items:center;text-align:center;color:var(--ink-mute);min-height:180px;overflow:hidden}
[data-placeholder] .ph-label{font-family:var(--f-ui);font-weight:640;font-size:.82rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--acc-ink);background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:.4em 1em;margin-bottom:.5rem}
[data-placeholder] .ph-desc{font-size:.86rem;max-width:34ch;padding:0 1rem}
[data-placeholder]::before{content:"PLACEHOLDER";position:absolute;top:.6rem;right:.7rem;font-family:var(--f-ui);
  font-size:.62rem;font-weight:700;letter-spacing:.1em;color:#9aa9bb}

/* ---------- Footer -------------------------------------------------------- */
.site-footer{background:var(--ink);color:#AEBCCE;padding-block:clamp(2.8rem,2rem + 2.4vw,4rem) 1.6rem}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:1.6rem}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-brand .brand{color:#fff;font-size:1.6rem}
.foot-brand p{color:#93a3b8;font-size:.92rem;max-width:30ch;margin-top:.7rem}
.foot-col h4{font-family:var(--f-ui);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#8298b1;margin:0 0 .9rem}
.foot-col a{display:block;color:#C3CFDE;font-size:.94rem;padding:.28rem 0}
.foot-col a:hover{color:#fff}
.foot-bar{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;justify-content:space-between;
  margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem;color:#8298b1}
.foot-bar .sig{margin:0;border:0;padding:0;font-family:var(--f-ui);font-weight:640;color:#B9C6D8}
.foot-bar nav{display:flex;gap:1.2rem;flex-wrap:wrap}
.foot-bar a{color:#8298b1}.foot-bar a:hover{color:#fff}

/* ---------- Motion preferences ------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
  .btn:hover,.card:hover{transform:none}
}

/* ---------- Reveal-on-scroll (progressive; safe default = visible) -------- */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}

.foot-contact{margin-top:.75rem;font-size:.92rem;line-height:1.7;color:var(--ink-mute)}
.foot-contact a{color:inherit;text-decoration:none}
.foot-contact a:hover{text-decoration:underline}

.foot-social{margin-top:.9rem}
.foot-social a{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink-mute);text-decoration:none;font-size:.92rem}
.foot-social a:hover{text-decoration:underline}

/* ===================== Language switcher (i18n) ===================== */
.lang-switch .navbtn{display:inline-flex;align-items:center;gap:.35rem}
.lang-switch .globe{flex:0 0 auto;opacity:.75}
.lang-switch .lang-code{font-family:var(--f-ui);font-weight:620;font-size:.9rem;letter-spacing:.02em}
.lang-switch .menu{right:0;min-width:180px}
.lang-switch .menu a[aria-current="true"] .m-t{color:var(--acc)}
.lang-foot{display:flex;gap:1.1rem;flex-wrap:wrap;align-items:center}
.lang-foot a{font-size:.9rem}
.lang-foot a[aria-current="true"]{color:#fff;font-weight:640}
@media (max-width:960px){.lang-switch .menu{right:auto}.lang-switch{order:-1}}
