/* Assertwise components v2 — depends on tokens.css */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--c-bg);color:var(--c-text);font:var(--fw-regular) var(--fs-16)/var(--lh-body) var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}
img,svg{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;font-weight:var(--fw-semibold);letter-spacing:var(--tr-tight);line-height:var(--lh-tight);text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:inherit}
:focus-visible{outline:var(--focus-w) solid var(--focus-color);outline-offset:var(--focus-offset);border-radius:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--c-accent);color:var(--c-on-accent);padding:12px 16px;border-radius:var(--r-md);font-weight:600;text-decoration:none}
.skip:focus{top:12px}
[hidden]{display:none!important}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:calc(var(--container-narrow) + 2*var(--gutter))}
/* uiux-wrap-alias — blog/legacy pages use .wrap; v2 stylesheets only defined .container */
.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-width:calc(var(--container-narrow) + 2*var(--gutter))}

.section{padding-block:var(--section-y);position:relative}
.section--raise{background:var(--c-bg-raise);border-block:1px solid var(--c-line)}
.section-head{max-width:720px;margin-bottom:var(--s-12)}
.section-head--center{margin-inline:auto;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:var(--fw-medium) var(--fs-13)/1 var(--font-mono);letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--c-accent-text)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px var(--c-accent-soft)}
.h2{font-size:var(--fs-44);letter-spacing:-.03em;margin-top:var(--s-4)}
.h3{font-size:var(--fs-20);letter-spacing:-.01em}
.lead{font-size:var(--fs-18);color:var(--c-muted);margin-top:var(--s-5);max-width:62ch}
.muted{color:var(--c-muted)}
.mono{font-family:var(--font-mono)}
.grid{display:grid;gap:var(--s-6)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:959px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* ---------- Buttons ---------- */
.btn{--_bg:var(--c-surface-2);--_fg:var(--c-text);--_bd:var(--c-line);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--target);padding:12px 20px;border-radius:var(--r-md);
  background:var(--_bg);color:var(--_fg);border:1px solid var(--_bd);font:var(--fw-semibold) var(--fs-16)/1.2 var(--font-sans);letter-spacing:-.005em;text-decoration:none;cursor:pointer;
  transition:transform var(--dur-1) var(--ease-out),background var(--dur-2),border-color var(--dur-2),box-shadow var(--dur-2)}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:none}
.btn--primary{--_bg:var(--c-accent);--_fg:var(--c-on-accent);--_bd:transparent;box-shadow:var(--glow-accent)}
.btn--primary:hover{--_bg:var(--c-accent-hover)}
.btn--ghost{--_bg:rgba(255,255,255,.03);--_bd:var(--c-line-strong)}
.btn--ghost:hover{--_bd:var(--c-accent);--_bg:var(--c-accent-soft)}
.surface-paper .btn--ghost{--_bg:transparent;--_fg:var(--c-ink);--_bd:#6B7480}
.surface-paper .btn--ghost:hover{--_bd:var(--c-accent-ink);--_bg:rgba(15,122,67,.06)}
.btn--sm{min-height:var(--target);padding:10px 16px;font-size:var(--fs-14)}
.btn--lg{min-height:52px;padding:15px 24px;font-size:var(--fs-16)}
.btn--block{width:100%}
.btn .arrow,.link-arrow .arrow,.card__more [aria-hidden]{display:inline-block;transition:transform var(--dur-2) var(--ease-out)}
.btn:hover .arrow,.btn:focus-visible .arrow,.link-arrow:hover .arrow,.link-arrow:focus-visible .arrow{transform:translateX(3px)}
a.card:hover .card__more [aria-hidden],a.card:focus-visible .card__more [aria-hidden]{transform:translateX(3px)}
.link-arrow{display:inline-flex;align-items:center;gap:6px;min-height:var(--target);color:var(--c-accent-text);font-weight:var(--fw-semibold);text-decoration:none}
.link-arrow:hover{text-decoration:underline;text-underline-offset:4px}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}
.cta-note{margin-top:var(--s-4);font-size:var(--fs-14);color:var(--c-muted)}

/* ---------- Header / nav ---------- */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:rgba(11,14,19,.72);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--c-line)}
.nav{display:flex;align-items:center;gap:var(--s-6);height:68px}
.logo{display:inline-flex;align-items:center;gap:10px;min-height:var(--target);font-weight:var(--fw-bold);font-size:var(--fs-18);letter-spacing:-.02em;text-decoration:none;color:var(--c-text)}
.logo svg{width:28px;height:28px}
.nav__links{display:flex;gap:var(--s-1);list-style:none;margin:0 0 0 auto;padding:0}
.nav__links a{display:inline-flex;align-items:center;min-height:var(--target);padding:0 12px;border-radius:var(--r-sm);color:var(--c-muted);font-size:var(--fs-14);font-weight:var(--fw-medium);text-decoration:none;transition:color var(--dur-1),background var(--dur-1)}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--c-text);background:rgba(255,255,255,.04)}
.nav__lang{display:inline-flex;align-items:center;justify-content:center;min-width:var(--target);min-height:var(--target);color:var(--c-muted);font:var(--fw-medium) var(--fs-13) var(--font-mono);text-decoration:none;border-radius:var(--r-sm)}
.nav__lang:hover{color:var(--c-text)}
.nav__toggle{display:none;margin-left:auto;min-height:var(--target);min-width:var(--target);padding:0 14px;background:transparent;border:1px solid var(--c-line-strong);border-radius:var(--r-md);color:var(--c-text);font:var(--fw-medium) var(--fs-14) var(--font-sans);cursor:pointer}
.nav__menu-cta{display:none}
@media (max-width:959px){
  .nav{gap:var(--s-2)}
  .nav__toggle{display:inline-flex;align-items:center;gap:8px}
  .nav__cta{display:none}
  .nav__links{display:none;position:absolute;top:68px;left:0;right:0;margin:0;flex-direction:column;gap:0;padding:var(--s-3) var(--gutter) var(--s-6);background:var(--c-bg);border-bottom:1px solid var(--c-line);z-index:var(--z-menu)}
  .nav__links.is-open{display:flex}
  .nav__links a{font-size:var(--fs-18);color:var(--c-text);padding:0 4px;border-bottom:1px solid var(--c-line);border-radius:0;min-height:52px}
  .nav__menu-cta{display:block;padding-top:var(--s-4)}
  .nav__menu-cta a{border:0}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(56px,6vw,104px) clamp(64px,7vw,120px);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 70% at 60% 30%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 60% 30%,#000 30%,transparent 75%)}
.hero::after{content:"";position:absolute;z-index:-1;width:900px;height:700px;right:-200px;top:-260px;background:radial-gradient(closest-side,rgba(43,214,123,.18),transparent);filter:blur(10px);pointer-events:none}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero__title{hyphens:manual;overflow-wrap:break-word;font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);font-weight:var(--fw-bold);margin-top:var(--s-6)}
.hero__title .dim{color:var(--c-muted)}
.hero .lead{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);margin-top:var(--s-6)}
.hero .cta-row{margin-top:var(--s-8)}
@media (max-width:959px){.hero__grid{grid-template-columns:minmax(0,1fr)}.hero__visual{max-width:560px}}
@media (max-width:599px){.hero .cta-row .btn{width:100%}}

/* ---------- Trust strip ---------- */
.trust{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);list-style:none;padding:0;margin:var(--s-8) 0 0;font-size:var(--fs-14);color:var(--c-muted)}
.trust li{display:inline-flex;align-items:center;gap:8px}
.trust svg{width:16px;height:16px;color:var(--c-accent)}

/* ---------- Badges ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);font:var(--fw-medium) var(--fs-12)/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--c-line);color:var(--c-muted);background:rgba(255,255,255,.02)}
.badge--accent{color:var(--c-accent-text);border-color:var(--c-accent-line);background:var(--c-accent-soft)}
.badge--warn{color:var(--c-warn);border-color:rgba(242,169,59,.4);background:rgba(242,169,59,.08)}
.surface-paper .badge--warn,.report .badge--warn{color:var(--c-warn-ink);border-color:rgba(138,83,0,.35);background:#FFF4E0}
.badge--sev-high{color:var(--c-danger-ink);background:#FDECEA;border-color:#F5C2BE}
.badge--sev-med{color:var(--c-warn-ink);background:#FFF4E0;border-color:#F2D3A2}
.badge--sev-low{color:#1F4E8C;background:#E8F0FB;border-color:#BFD3F0}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:var(--target);padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--c-line-strong);color:var(--c-text);font-size:var(--fs-14);font-weight:var(--fw-medium);text-decoration:none;background:rgba(255,255,255,.02)}
.chip small{color:var(--c-muted);font-weight:400}

/* ---------- Cards ---------- */
.card{position:relative;display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-8) var(--s-6) var(--s-6);border-radius:var(--r-lg);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--c-surface);border:1px solid var(--c-line);box-shadow:var(--sh-1);color:var(--c-text);text-decoration:none;transition:border-color var(--dur-2),transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2)}
a.card:hover{border-color:var(--c-accent-line);transform:translateY(-2px);box-shadow:var(--sh-2)}
.card p{color:var(--c-muted);font-size:var(--fs-14)}
.card__icon{width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--c-accent-soft);color:var(--c-accent);font:var(--fw-semibold) var(--fs-12) var(--font-mono);border:1px solid var(--c-accent-line)}
.card__more{margin-top:auto;padding-top:var(--s-3);color:var(--c-accent-text);font-size:var(--fs-14);font-weight:var(--fw-semibold)}
a.card::after{content:"";position:absolute;inset:0;border-radius:inherit}
a.card:focus-visible{outline-offset:2px}

/* Feature (why) */
.feature{display:flex;flex-direction:column;gap:var(--s-2);padding-top:var(--s-5);border-top:1px solid var(--c-line)}
.feature h3{font-size:var(--fs-16)}
.feature p{color:var(--c-muted);font-size:var(--fs-14)}

/* Deliverable cards */
.deliverable{display:grid;grid-template-columns:auto 1fr;gap:var(--s-4);padding:var(--s-6);border-radius:var(--r-lg);background:var(--c-surface);border:1px solid var(--c-line)}
.deliverable__n{font:var(--fw-medium) var(--fs-13) var(--font-mono);color:var(--c-accent-text);padding-top:3px}
.deliverable h3{font-size:var(--fs-16);margin-bottom:6px}
.deliverable p{font-size:var(--fs-14);color:var(--c-muted)}
.deliverable .fine{font-size:var(--fs-12);margin-top:var(--s-2)}

/* Tool cards (proof) */
.tool{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5);border-radius:var(--r-lg);background:var(--c-surface);border:1px solid var(--c-line);text-decoration:none;color:var(--c-text);position:relative;transition:border-color var(--dur-2)}
.tool:hover{border-color:var(--c-accent-line)}
.tool h3{font-size:var(--fs-16)}
.tool p{font-size:var(--fs-14);color:var(--c-muted)}
.tool .badge{align-self:flex-start}

/* ---------- Sample report preview (product-like visual) ---------- */
.report-stage{position:relative;perspective:1600px}
.report{position:relative;border-radius:var(--r-xl);background:var(--c-paper-2);color:var(--c-ink);box-shadow:var(--sh-paper),0 0 0 1px rgba(255,255,255,.08);overflow:hidden;font-size:var(--fs-13);
  --c-muted:var(--c-ink-muted);--focus-color:var(--c-accent-ink)}
.report__bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ECEEEA;border-bottom:1px solid var(--c-paper-line);font:var(--fw-medium) var(--fs-12) var(--font-mono);color:var(--c-ink-muted)}
.report__dots{display:flex;gap:6px}.report__dots i{width:10px;height:10px;border-radius:50%;background:#C9CDD2;display:block}
.report__bar .badge{margin-left:auto}
.report__body{padding:var(--s-6)}
.report__title{font-size:var(--fs-18);font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--c-ink)}
.report__sub{color:var(--c-ink-muted);font-size:var(--fs-12);margin-top:4px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:var(--s-5)}
.kpi{padding:12px;border-radius:var(--r-md);background:var(--c-paper);border:1px solid var(--c-paper-line)}
.kpi b{display:block;font-size:var(--fs-20);letter-spacing:-.02em;color:var(--c-ink)}
.kpi span{font-size:var(--fs-12);color:var(--c-ink-muted);line-height:1.3;display:block;margin-top:2px}
.chart{margin-top:var(--s-4);padding:12px;border-radius:var(--r-md);border:1px solid var(--c-paper-line)}
.chart figcaption{font-size:var(--fs-12);color:var(--c-ink-muted);display:flex;justify-content:space-between;gap:8px}
.chart svg{width:100%;height:auto;margin-top:8px}
.findings{width:100%;border-collapse:collapse;margin-top:var(--s-4);font-size:var(--fs-12)}
.findings th{text-align:left;font-weight:var(--fw-semibold);color:var(--c-ink-muted);padding:6px 8px;border-bottom:1px solid var(--c-paper-line)}
.findings td{padding:8px;border-bottom:1px solid var(--c-paper-line);vertical-align:top;color:var(--c-ink)}
.findings tr:last-child td{border-bottom:0}
.report__float{position:absolute;right:-18px;bottom:-22px;padding:12px 14px;border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-line);box-shadow:var(--sh-3);font:var(--fw-medium) var(--fs-12)/1.5 var(--font-mono);color:var(--c-muted);max-width:260px}
.report__float b{color:var(--c-accent)}
@media (min-width:960px){.hero .report{transform:rotateY(-6deg) rotateX(2deg);transform-origin:left center}}
@media (max-width:599px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi b{font-size:var(--fs-16)}.report__body{padding:var(--s-4)}.report__float{position:static;margin-top:var(--s-3);max-width:none}.findings .col-rec{display:none}}

/* ---------- Process ---------- */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-6);counter-reset:s}
.step{position:relative;padding-top:var(--s-8)}
.step::before{counter-increment:s;content:"0" counter(s);position:absolute;top:0;left:0;font:var(--fw-medium) var(--fs-13) var(--font-mono);color:var(--c-accent-text)}
.step::after{content:"";position:absolute;top:8px;left:36px;right:-12px;height:1px;background:linear-gradient(90deg,var(--c-accent-line),rgba(43,214,123,.08));transform:scaleX(1);transform-origin:left center}
.step:last-child::after{display:none}
.step h3{font-size:var(--fs-18)}
.step p{color:var(--c-muted);font-size:var(--fs-14);margin-top:var(--s-2)}
@media (max-width:959px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.step::after{display:none}}
@media (max-width:599px){.steps{grid-template-columns:1fr;gap:var(--s-5);border-left:1px solid var(--c-line);padding-left:var(--s-5)}.step{padding-top:0}.step::before{position:static;display:block;margin-bottom:6px}}

/* ---------- Pricing teaser ---------- */
.pricing{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s-8);padding:clamp(24px,4vw,48px);border-radius:var(--r-xl);border:1px solid var(--c-line);background:radial-gradient(600px 300px at 100% 0,rgba(43,214,123,.08),transparent),var(--c-surface)}
.pricing__models{display:grid;gap:var(--s-3);margin:0;padding:0;list-style:none}
.pricing__models li{padding:var(--s-4) var(--s-5);border-radius:var(--r-md);border:1px solid var(--c-line);background:var(--c-bg)}
.pricing__models b{display:block;font-size:var(--fs-16)}
.pricing__models span{font-size:var(--fs-14);color:var(--c-muted)}
@media (max-width:799px){.pricing{grid-template-columns:1fr}}

/* ---------- Empty / pending slot (hidden in production until content exists) ---------- */
.slot-pending{border:1px dashed var(--c-line-strong);border-radius:var(--r-lg);padding:var(--s-6);color:var(--c-muted);font-size:var(--fs-14)}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--c-line)}
.faq details{border-bottom:1px solid var(--c-line)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:64px;padding:var(--s-4) 0;cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--fs-18)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--c-muted);border-bottom:2px solid var(--c-muted);transform:rotate(45deg) translate(-3px,-3px);transition:transform var(--dur-2) var(--ease-out)}
.faq details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px)}
.faq .faq__a{padding:0 0 var(--s-6);color:var(--c-muted);max-width:68ch}

/* ---------- CTA band ---------- */
.cta-band{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:clamp(32px,5vw,64px);border:1px solid var(--c-accent-line);background:radial-gradient(800px 400px at 0% 0%,rgba(43,214,123,.16),transparent 60%),linear-gradient(180deg,var(--c-surface),var(--c-bg-raise));display:grid;grid-template-columns:1.3fr auto;gap:var(--s-8);align-items:center}
.cta-band h2{font-size:var(--fs-32);letter-spacing:-.025em}
.cta-band p{color:var(--c-muted);margin-top:var(--s-3)}
@media (max-width:799px){.cta-band{grid-template-columns:1fr}.cta-band .btn{width:100%}}

/* ---------- Forms ---------- */
.field{display:grid;gap:6px;margin-bottom:var(--s-5)}
.field label{font-weight:var(--fw-semibold);font-size:var(--fs-14)}
.field .hint{font-size:var(--fs-13);color:var(--c-muted)}
.input,.select,.textarea{width:100%;min-height:var(--target);padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--c-line-strong);background:var(--c-input);color:var(--c-text);font:inherit;font-size:var(--fs-16);transition:border-color var(--dur-1),box-shadow var(--dur-1)}
.textarea{min-height:120px;resize:vertical}
.input:hover,.select:hover,.textarea:hover{border-color:#8A929C}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px rgba(43,214,123,.25)}
.field--error .input{border-color:var(--c-danger)}
.field__error{display:flex;gap:6px;font-size:var(--fs-13);color:var(--c-danger)}
.check{display:flex;gap:12px;align-items:flex-start;min-height:var(--target);font-size:var(--fs-14)}
.check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--c-accent);flex:none}

/* ---------- Sticky mobile CTA ---------- */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);display:none;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:rgba(11,14,19,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--c-line);transform:translateY(110%);opacity:0;transition:transform var(--dur-4) var(--ease-out),opacity var(--dur-3) var(--ease-out)}
.sticky-cta.is-visible{transform:none;opacity:1}
@media (max-width:959px){.sticky-cta{display:block}body.has-sticky{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--c-line);padding-block:var(--s-16) var(--s-10);font-size:var(--fs-14);color:var(--c-muted)}
.footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--s-8)}
.site-footer h2{font-size:var(--fs-13);font-family:var(--font-mono);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--c-text-2);margin-bottom:var(--s-3)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer a{display:inline-flex;align-items:center;min-height:var(--target);text-decoration:none;color:var(--c-muted)}
.site-footer a:hover{color:var(--c-text)}
.footer__base{margin-top:var(--s-10);padding-top:var(--s-6);border-top:1px solid var(--c-line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s-3)}
@media (max-width:799px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}

/* ---------- Motion: hero entrance, reveal, steps line (progressive) ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .hero:not(.is-ready) .hero-enter{opacity:0;transform:translateY(16px)}
  .js .hero:not(.is-ready) .hero__visual{opacity:0;transform:translateY(22px) scale(.98)}
  .js .hero.is-ready .hero-enter{animation:pl-hero-in var(--dur-4) var(--ease-out) both;animation-delay:var(--hero-delay,0ms)}
  .js .hero.is-ready .hero__visual{animation:pl-hero-visual var(--dur-5) var(--ease-out) both;animation-delay:var(--hero-delay,220ms)}
  @keyframes pl-hero-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  @keyframes pl-hero-visual{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:none}}
  @media (min-width:960px){
    .js .hero:not(.is-ready) .hero .report{transform:translateY(18px) rotateY(-6deg) rotateX(2deg) scale(.985);opacity:0}
    .js .hero.is-ready .hero .report{animation:pl-hero-report var(--dur-5) var(--ease-out) both;animation-delay:var(--hero-delay,280ms)}
    @keyframes pl-hero-report{from{opacity:0;transform:translateY(18px) rotateY(-6deg) rotateX(2deg) scale(.985)}to{opacity:1;transform:rotateY(-6deg) rotateX(2deg)}}
  }
  .js .reveal{opacity:0;transform:translateY(18px) scale(.985);transition:opacity .42s var(--ease-out),transform .42s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
  .js .reveal.is-in{opacity:1;transform:none}
  .js .steps .step::after{transform:scaleX(0);transition:transform .5s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
  .js .steps .step.is-in::after{transform:scaleX(1)}
  .js .findings tbody tr.pl-find-pending{opacity:0;transform:translateY(8px)}
  .js .findings tbody tr.pl-find-in{opacity:1;transform:none;transition:opacity .38s var(--ease-out),transform .38s var(--ease-out)}
  .js .report .chart.pl-chart-pending path[fill="none"]{stroke-dasharray:480;stroke-dashoffset:480}
  .js .report .chart.pl-chart-in path[fill="none"]{stroke-dashoffset:0;transition:stroke-dashoffset .9s var(--ease-out)}
  .js .report .chart.pl-chart-pending path[fill]:not([fill="none"]){opacity:0}
  .js .report .chart.pl-chart-in path[fill]:not([fill="none"]){opacity:1;transition:opacity .6s var(--ease-out) .25s}
  .js .report .chart.pl-chart-pending circle{opacity:0;transform:scale(0);transform-box:fill-box;transform-origin:center}
  .js .report .chart.pl-chart-in circle{opacity:1;transform:none;transition:opacity .3s var(--ease-out) .7s,transform .3s var(--ease-out) .7s}
}

.grid>*{min-width:0}
@media (max-width:599px){.kpi{padding:10px}.kpi b{font-size:var(--fs-14);white-space:nowrap}.kpi span{font-size:11px}.card{padding:var(--s-6) var(--s-5) var(--s-5)}.hero .report__float{display:none}}
.nav__lang{color:var(--c-text-2)}
.site-footer a{min-width:var(--target)}

.site-header .btn,.nav a{white-space:nowrap}
.site-header svg{flex:none;min-width:20px}

/* ---------- v2 header (Design decision 2 Nov): Services ▾ / Resources ▾ / Pricing / Contact + language + CTA.
   Full row from 1200px (EN) and 1280px (DE); below that the Menu button (CTA stays visible from 960px; <960 it moves into the menu). ---------- */
.nav__dd{position:relative}
.nav__ddbtn{display:inline-flex;align-items:center;gap:6px;min-height:var(--target);padding:0 12px;background:none;border:0;border-radius:var(--r-sm);color:var(--c-muted);font:var(--fw-medium) var(--fs-14) var(--font-sans);cursor:pointer;white-space:nowrap}
.nav__ddbtn::after{content:"▾" / "";font-size:11px}
.nav__ddbtn:hover,.nav__ddbtn[aria-expanded=true],.nav__dd.is-current>.nav__ddbtn{color:var(--c-text);background:rgba(255,255,255,.04)}
.nav__ddbtn:focus-visible,.nav__links a:focus-visible,.nav__lang:focus-visible{outline:2px solid var(--c-accent,#2BD67B);outline-offset:2px}
.nav__panel{display:none;position:absolute;top:calc(100% + 8px);left:0;gap:var(--s-6);padding:var(--s-4) var(--s-5);min-width:240px;background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:0 12px 32px rgba(0,0,0,.4);z-index:var(--z-menu)}
.nav__panel.is-open{display:flex}
.nav__col ul{list-style:none;margin:0;padding:0}
.nav__col a{display:flex;padding:0 8px;white-space:nowrap}
.nav__grp{margin:0 0 var(--s-2);padding:0 8px;font:var(--fw-medium) var(--fs-12,12px) var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted)}
@media (max-width:959px){
  .nav__toggle{display:inline-flex;align-items:center;gap:8px}
  .nav__links{display:none;position:absolute;top:68px;left:0;right:0;margin:0;flex-direction:column;gap:0;padding:var(--s-3) var(--gutter) var(--s-6);background:var(--c-bg);border-bottom:1px solid var(--c-line);z-index:var(--z-menu);max-height:calc(100vh - 68px);overflow-y:auto}
  .nav__links.is-open{display:flex}
  .nav__links a{font-size:var(--fs-18);color:var(--c-text);padding:0 4px;border-bottom:1px solid var(--c-line);border-radius:0;min-height:52px}
  .nav__ddbtn{display:none}
  .nav__panel{display:block;position:static;padding:0;border:0;background:none;box-shadow:none;min-width:0}
  .nav__col{padding-top:var(--s-3)}
}
@media (min-width:960px) and (max-width:1199px){
  .nav__toggle{display:inline-flex;align-items:center;gap:8px}
  .nav__links{display:none;position:absolute;top:68px;left:0;right:0;margin:0;flex-direction:column;gap:0;padding:var(--s-3) var(--gutter) var(--s-6);background:var(--c-bg);border-bottom:1px solid var(--c-line);z-index:var(--z-menu);max-height:calc(100vh - 68px);overflow-y:auto}
  .nav__links.is-open{display:flex}
  .nav__links a{font-size:var(--fs-18);color:var(--c-text);padding:0 4px;border-bottom:1px solid var(--c-line);border-radius:0;min-height:52px}
  .nav__ddbtn{display:none}
  .nav__panel{display:block;position:static;padding:0;border:0;background:none;box-shadow:none;min-width:0}
  .nav__col{padding-top:var(--s-3)}
}
@media (min-width:1200px) and (max-width:1279px){
  html[lang=de] .nav__toggle{display:inline-flex;align-items:center;gap:8px}
  html[lang=de] .nav__links{display:none;position:absolute;top:68px;left:0;right:0;margin:0;flex-direction:column;gap:0;padding:var(--s-3) var(--gutter) var(--s-6);background:var(--c-bg);border-bottom:1px solid var(--c-line);z-index:var(--z-menu);max-height:calc(100vh - 68px);overflow-y:auto}
  html[lang=de] .nav__links.is-open{display:flex}
  html[lang=de] .nav__links a{font-size:var(--fs-18);color:var(--c-text);padding:0 4px;border-bottom:1px solid var(--c-line);border-radius:0;min-height:52px}
  html[lang=de] .nav__ddbtn{display:none}
  html[lang=de] .nav__panel{display:block;position:static;padding:0;border:0;background:none;box-shadow:none;min-width:0}
  html[lang=de] .nav__col{padding-top:var(--s-3)}
}
@media (min-width:800px){.footer__grid:has(> :nth-child(5)){grid-template-columns:1.4fr repeat(4,1fr)}}

/* assertwise-logo-img */
.logo{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:inherit}
.logo__mark{width:32px;height:32px;border-radius:7px;display:block}
.logo__text{display:inline-flex;align-items:baseline;font-weight:700;letter-spacing:-0.01em;line-height:1}
.logo__wise{color:var(--c-accent,#2BD67B);font-weight:700}
