/* ============================================================
   VERGI Osnabrück — vergi.css
   Source of truth: VERGI Design System (tokens/, guidelines/web.md)
   One file, no @import chain. Sections:
   1 fonts · 2 tokens · 3 base · 4 components · 5 chrome · 6 pages · 7 responsive
   ============================================================ */

/* ---------- 1 · Fonts (self-hosted WOFF2 subsets of the licensed files) ---------- */
@font-face{font-family:"Philosopher";src:url("../fonts/Philosopher-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Philosopher";src:url("../fonts/Philosopher-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Philosopher";src:url("../fonts/Philosopher-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Pogonia";src:url("../fonts/Pogonia-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Pogonia";src:url("../fonts/Pogonia-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Pogonia";src:url("../fonts/Pogonia-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

/* ---------- 2 · Tokens (verbatim from the Design System) ---------- */
:root{
--navy-900:#141C27;--navy-800:#1C2634;--navy-700:#223046;--navy-600:#2A394E;--navy-500:#3A4E68;--navy-400:#566E8C;--navy-300:#8595AA;--navy-200:#B9C3CF;--navy-100:#DDE2E9;--navy-050:#EDF0F4;
--sand-800:#6E5B49;--sand-700:#8B7663;--sand-600:#A08A76;--sand-500:#B5A291;--sand-400:#C7B8AA;--sand-300:#D9CEC3;--sand-200:#E8E1D9;--sand-100:#F2EDE7;--sand-050:#F8F5F1;
--paper:#FBFAF8;--paper-warm:#F5F1EA;--white:#FFFFFF;
--ink-900:#141C27;--ink-700:#39434F;--ink-500:#5C6672;--ink-400:#828C98;--ink-200:#C6CBD1;
--green-600:#3F6350;--green-100:#E4EBE6;--amber-600:#9C7524;--amber-100:#F4EBD9;--brick-600:#98423B;--brick-100:#F3E3E1;
--text-strong:var(--navy-900);--text-body:var(--navy-700);--text-muted:var(--ink-500);--text-faint:var(--ink-400);
--text-accent:var(--sand-700);--text-on-navy:#F3F1ED;--text-on-navy-muted:#A8B4C4;--text-on-sand:var(--navy-900);
--text-link:var(--navy-600);--text-link-hover:var(--sand-700);
--surface-page:var(--paper);--surface-card:var(--white);--surface-sunken:var(--sand-050);
--surface-inverse:var(--navy-600);--surface-inverse-deep:var(--navy-900);--surface-accent:var(--sand-100);
--surface-hover:var(--sand-050);--surface-active:var(--sand-100);
--line-hairline:rgba(42,57,78,.12);--line-soft:rgba(42,57,78,.20);--line-strong:rgba(42,57,78,.42);
--line-on-navy:rgba(243,241,237,.18);--line-accent:var(--sand-400);
--action-primary:var(--navy-600);--action-primary-hover:var(--navy-700);--action-primary-active:var(--navy-800);
--action-accent:var(--sand-500);--action-accent-hover:var(--sand-600);--focus-ring:var(--sand-600);
--status-success:var(--green-600);--status-success-bg:var(--green-100);--status-warning:var(--amber-600);--status-warning-bg:var(--amber-100);
--status-critical:var(--brick-600);--status-critical-bg:var(--brick-100);--status-neutral:var(--navy-400);--status-neutral-bg:var(--navy-050);
--font-display:"Philosopher",'Iowan Old Style',Georgia,serif;--font-sans:"Pogonia",'Helvetica Neue',Helvetica,sans-serif;
--fs-3xs:11px;--fs-2xs:12px;--fs-xs:13px;--fs-sm:15px;--fs-md:17px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:30px;--fs-3xl:38px;--fs-4xl:48px;--fs-5xl:62px;--fs-6xl:78px;--fs-7xl:104px;
--lh-tight:1.04;--lh-display:1.12;--lh-snug:1.28;--lh-body:1.62;--lh-loose:1.78;
--ls-display:-0.02em;--ls-tight:-0.01em;--ls-wide:0.04em;--ls-eyebrow:0.18em;--ls-lockup:0.34em;
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--space-40:160px;--space-48:192px;
--gutter:24px;--section-y:var(--space-32);--section-y-tight:var(--space-20);--section-y-loose:var(--space-48);
--page-max:1320px;--content-max:1080px;--measure:66ch;--measure-narrow:46ch;--page-x:32px;--page-x-lg:64px;
--control-h-sm:34px;--control-h:44px;--control-h-lg:54px;--pad-card:var(--space-8);--pad-card-lg:var(--space-12);
--radius-sm:2px;--border-hairline:1px solid var(--line-hairline);--border-soft:1px solid var(--line-soft);
--shadow-1:0 1px 2px rgba(20,28,39,.05);--shadow-2:0 2px 10px rgba(20,28,39,.06);--shadow-3:0 12px 32px -8px rgba(20,28,39,.14);--shadow-4:0 28px 64px -16px rgba(20,28,39,.22);
--ease-standard:cubic-bezier(.22,.61,.36,1);--ease-entrance:cubic-bezier(.16,.84,.44,1);--ease-exit:cubic-bezier(.4,0,.7,.2);
--dur-fast:120ms;--dur:220ms;--dur-slow:420ms;--dur-reveal:720ms;
--blur-glass:saturate(120%) blur(14px);
--z-sticky:100;--z-header:200;--z-overlay:800;--z-modal:900;--z-toast:1000;
--header-h:84px;
}

/* ---------- 3 · Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:300;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;color:var(--text-strong);letter-spacing:var(--ls-display);line-height:var(--lh-display);margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--line-soft);transition:color var(--dur) var(--ease-standard),border-color var(--dur) var(--ease-standard)}
a:hover{color:var(--text-link-hover);border-bottom-color:var(--line-accent)}
strong{font-weight:500}
ul{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
::selection{background:var(--sand-300);color:var(--navy-900)}
:focus-visible{outline:1px solid var(--focus-ring);outline-offset:3px}
img{max-width:100%;display:block}
svg.i{display:block;flex:0 0 auto;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
svg.i.i-14{width:14px;height:14px}svg.i.i-16{width:16px;height:16px}svg.i.i-20{width:20px;height:20px}svg.i.i-22{width:22px;height:22px}svg.i.i-24{width:24px;height:24px}
.sr-only{position:absolute;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:var(--space-4);top:-60px;z-index:calc(var(--z-header) + 1);background:var(--navy-900);color:var(--text-on-navy);padding:10px 16px;border:0;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}
.skip:focus{top:var(--space-4)}
.wrap{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-x-lg)}
.measure{max-width:var(--measure)}
.num{font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums}

/* ---------- 4 · Components ---------- */
/* Eyebrow — rendered as div/span, never a heading */
.eyebrow{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-2xs);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sand-700)}
.eyebrow--muted{color:var(--text-faint)}.eyebrow--inverse{color:var(--sand-500)}
.eyebrow__index{opacity:.65}.eyebrow__rule{width:22px;height:1px;background:currentColor;opacity:.5}

/* Section heading */
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-12)}
.sh__main{max-width:62ch}
.sh h2{margin-top:var(--space-5);font-size:var(--fs-3xl)}
.sh--sm h2{font-size:var(--fs-2xl)}.sh--lg h2{font-size:var(--fs-4xl)}
.sh__lead{margin-top:var(--space-5);max-width:var(--measure);font-size:var(--fs-lg);font-weight:300;line-height:1.5;color:var(--text-muted)}
.sh__action{flex:0 0 auto}
.sh--inverse h2{color:var(--text-on-navy)}.sh--inverse .sh__lead{color:var(--text-on-navy-muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-h);padding:0 26px;font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:500;letter-spacing:.09em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;white-space:nowrap;border:1px solid var(--action-primary);background:var(--action-primary);color:var(--text-on-navy);transition:background var(--dur) var(--ease-standard),color var(--dur) var(--ease-standard),border-color var(--dur) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),opacity var(--dur) var(--ease-standard)}
.btn:hover{background:var(--action-primary-hover);border-color:var(--action-primary-hover);color:var(--text-on-navy)}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.38;cursor:not-allowed;transform:none}
.btn--sm{height:var(--control-h-sm);padding:0 18px;font-size:var(--fs-2xs)}
.btn--lg{height:var(--control-h-lg);padding:0 34px;font-size:var(--fs-sm)}
.btn--secondary{background:transparent;color:var(--navy-600);border-color:var(--line-strong)}
.btn--secondary:hover{background:var(--surface-hover);border-color:var(--navy-600);color:var(--navy-600)}
.btn--inverse{background:var(--sand-500);color:var(--navy-900);border-color:var(--sand-500)}
.btn--inverse:hover{background:var(--sand-400);border-color:var(--sand-400);color:var(--navy-900)}
.btn--inverse-outline{background:transparent;color:var(--text-on-navy);border-color:var(--line-on-navy)}
.btn--inverse-outline:hover{background:transparent;border-color:var(--sand-500);color:var(--sand-500)}
.btn--link{height:auto;padding:0;background:transparent;border:0;border-bottom:1px solid var(--line-accent);border-radius:0;color:var(--navy-600)}
.btn--link:hover{background:transparent;color:var(--sand-700);border-color:var(--line-accent)}
.btn--block{display:flex;width:100%}
.btn .i{width:16px;height:16px}

/* Stat */
.stat__value{font-family:var(--font-display);font-size:var(--fs-4xl);line-height:1;letter-spacing:var(--ls-display);color:var(--navy-600)}
.stat__label{margin-top:var(--space-3);font-size:var(--fs-3xs);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-faint)}
.stat__note{margin-top:var(--space-2);font-size:var(--fs-xs);font-weight:300;color:var(--text-muted)}
.stat--inverse .stat__value{color:var(--sand-500)}.stat--inverse .stat__label,.stat--inverse .stat__note{color:var(--text-on-navy-muted)}

/* Card */
.card{background:var(--surface-card);border:var(--border-hairline);box-shadow:var(--shadow-1);border-radius:var(--radius-sm);padding:var(--pad-card);position:relative;transition:box-shadow var(--dur) var(--ease-standard),border-color var(--dur) var(--ease-standard),transform var(--dur) var(--ease-standard)}
.card--lg{padding:var(--pad-card-lg)}
.card--flat{background:var(--surface-sunken);border-color:transparent;box-shadow:none}
.card--accent{background:var(--surface-accent);border-color:transparent;box-shadow:none}
.card--inverse{background:var(--surface-inverse);border-color:transparent;box-shadow:none;color:var(--text-on-navy)}
a.card,.card--interactive{cursor:pointer;border-bottom:var(--border-hairline);color:inherit}
a.card:hover,.card--interactive:hover{box-shadow:var(--shadow-3);border-color:var(--line-accent);transform:translateY(-2px);color:inherit}

/* Accordion */
.acc{border-top:var(--border-hairline)}
.acc__item{border-bottom:var(--border-hairline)}
.acc__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);background:none;border:0;padding:var(--space-5) 0;cursor:pointer;text-align:left;font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:var(--ls-tight);color:var(--text-strong);transition:color var(--dur) var(--ease-standard)}
.acc__btn[aria-expanded="true"]{color:var(--navy-600)}
.acc__btn .i{color:var(--sand-700);transition:transform var(--dur) var(--ease-standard)}
.acc__btn[aria-expanded="true"] .i{transform:rotate(45deg)}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-slow) var(--ease-standard)}
.acc__panel>div{overflow:hidden}
.acc__item.is-open .acc__panel{grid-template-rows:1fr}
.acc__body{padding:0 0 var(--space-6);max-width:var(--measure);font-size:var(--fs-sm);font-weight:300;line-height:var(--lh-body);color:var(--text-muted)}

/* Badge */
.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:5px 10px 5px 9px;font-size:var(--fs-3xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);line-height:1.2;background:var(--status-neutral-bg);color:var(--status-neutral)}
.badge::before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}
.badge--success{background:var(--status-success-bg);color:var(--status-success)}
.badge--warning{background:var(--status-warning-bg);color:var(--status-warning)}
.badge--critical{background:var(--status-critical-bg);color:var(--status-critical)}

/* Forms */
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field__label{font-size:var(--fs-2xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.field__label b{color:var(--sand-700);font-weight:500;margin-left:4px}
.field__hint{font-size:var(--fs-xs);font-weight:300;color:var(--text-faint)}
.field__error{font-size:var(--fs-xs);color:var(--status-critical)}
.input,.select,.textarea{width:100%;height:var(--control-h);padding:0 var(--space-4);background:var(--surface-card);border:var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:400;color:var(--text-strong);outline:none;transition:border-color var(--dur) var(--ease-standard)}
.textarea{height:auto;padding:var(--space-3) var(--space-4);line-height:1.5;resize:vertical;min-height:140px}
.input:focus,.select:focus,.textarea:focus{border-color:var(--navy-600)}
.input[aria-invalid="true"],.textarea[aria-invalid="true"]{border-color:var(--status-critical)}
.select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23566E8C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.check{display:flex;gap:var(--space-3);align-items:flex-start;cursor:pointer;font-size:var(--fs-sm);font-weight:300;line-height:1.55;color:var(--text-body)}
.check input{appearance:none;flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--white);display:grid;place-items:center;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}
.check input:checked{background:var(--navy-600);border-color:var(--navy-600)}
.check input:checked::after{content:"";width:10px;height:6px;border-left:1.5px solid var(--text-on-navy);border-bottom:1.5px solid var(--text-on-navy);transform:translateY(-1px) rotate(-45deg)}

/* Toast */
.toast-host{position:fixed;right:24px;bottom:24px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3)}
.toast{display:flex;gap:var(--space-4);align-items:flex-start;min-width:340px;max-width:460px;background:var(--surface-card);border-left:2px solid var(--navy-600);box-shadow:var(--shadow-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);animation:rise var(--dur) var(--ease-entrance)}
.toast--success{border-left-color:var(--status-success)}.toast--success .i{color:var(--status-success)}
.toast--critical{border-left-color:var(--status-critical)}.toast--critical .i{color:var(--status-critical)}
.toast__title{font-size:var(--fs-sm);font-weight:500;color:var(--text-strong)}
.toast__desc{margin-top:4px;font-size:var(--fs-xs);font-weight:300;line-height:1.5;color:var(--text-muted)}
.toast__x{margin-left:auto;background:none;border:0;padding:4px;cursor:pointer;color:var(--text-faint)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Breadcrumbs */
.crumbs{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.crumbs a{border:0;color:var(--text-faint)}.crumbs a:hover{color:var(--sand-700)}
.crumbs span{color:var(--text-body)}.crumbs i{font-style:normal;color:var(--text-faint);opacity:.6}
.crumbs--inverse a{color:var(--text-on-navy-muted)}.crumbs--inverse span{color:var(--text-on-navy)}.crumbs--inverse i{color:var(--text-on-navy-muted)}

/* Image placeholder — photography not produced yet (shoot planned) */
.ph{background:var(--navy-700);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-6);position:relative;min-height:240px}
.ph--sand{background:var(--sand-200)}
.ph__label{font-size:var(--fs-3xs);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sand-500)}
.ph__note{margin-top:6px;max-width:40ch;font-size:var(--fs-xs);font-weight:300;line-height:1.5;color:var(--text-on-navy-muted)}
.ph--sand .ph__label{color:var(--sand-800)}.ph--sand .ph__note{color:var(--ink-500)}

/* Feature (2px navy top-rule) */
.feat{border-top:2px solid var(--navy-600);padding-top:var(--space-5)}
.feat .i{color:var(--sand-700)}
.feat__title{margin-top:var(--space-4);font-family:var(--font-display);font-size:var(--fs-lg);color:var(--text-strong)}
.feat__body{margin-top:6px;font-size:var(--fs-xs);font-weight:300;line-height:1.6;color:var(--text-muted)}
.feat--inverse{border-top-color:var(--sand-500)}.feat--inverse .feat__title{color:var(--text-on-navy)}.feat--inverse .feat__body{color:var(--text-on-navy-muted)}.feat--inverse .i{color:var(--sand-500)}

/* Check list */
.checks{border-top:var(--border-hairline)}
.checks li{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-3) 0;border-bottom:var(--border-hairline);font-size:var(--fs-sm);font-weight:300;color:var(--text-body)}
.checks .i{color:var(--sand-700);margin-top:4px}
.checks--inverse li{border-color:var(--line-on-navy);color:var(--text-on-navy)}.checks--inverse .i{color:var(--sand-500)}

/* Sections */
.section{padding:var(--section-y) 0}
.section--tight{padding:var(--section-y-tight) 0}
.section--loose{padding:var(--section-y-loose) 0}
.section--paper{background:var(--paper)}.section--white{background:var(--white)}.section--warm{background:var(--paper-warm)}
.section--navy{background:var(--navy-600)}.section--deep{background:var(--navy-900)}
.section--navy,.section--deep{color:var(--text-on-navy)}
.section--navy h2,.section--deep h2,.section--navy h3,.section--deep h3{color:var(--text-on-navy)}

/* Grids */
.split{display:grid;gap:var(--space-20);align-items:center}
.split--7-5{grid-template-columns:7fr 5fr}.split--5-7{grid-template-columns:5fr 7fr}.split--4-8{grid-template-columns:4fr 8fr;align-items:start}.split--6-6{grid-template-columns:1fr 1fr}
.grid-hair{display:grid;gap:1px;background:var(--line-hairline);border:var(--border-hairline)}
.grid-hair>*{background:var(--white)}
.grid-hair--2{grid-template-columns:repeat(2,1fr)}.grid-hair--3{grid-template-columns:repeat(3,1fr)}.grid-hair--4{grid-template-columns:repeat(4,1fr)}
.grid-hair--navy{background:var(--line-on-navy);border-color:var(--line-on-navy)}.grid-hair--navy>*{background:var(--navy-900)}

/* Scroll reveal — opacity 0→1, 8px rise, 120ms stagger (only entrance in the system) */
.rv{opacity:0;transform:translateY(8px);transition:opacity var(--dur-reveal) var(--ease-entrance),transform var(--dur-reveal) var(--ease-entrance)}
.rv.is-in{opacity:1;transform:none}
.rv[data-d="1"]{transition-delay:120ms}.rv[data-d="2"]{transition-delay:240ms}.rv[data-d="3"]{transition-delay:360ms}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{transform:none;transition:opacity var(--dur-reveal) var(--ease-entrance)}
  *,*::before,*::after{transition-duration:0ms!important;animation-duration:0ms!important}
}

/* ---------- 5 · Chrome ---------- */
.header{position:sticky;top:0;z-index:var(--z-header);background:rgba(251,250,248,.86);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);border-bottom:1px solid var(--line-hairline);transition:background var(--dur) var(--ease-standard),border-color var(--dur) var(--ease-standard)}
.header--inverse{background:rgba(20,28,39,.82);border-bottom-color:var(--line-on-navy)}
.header__bar{position:relative;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.header__logo{border:0;display:flex;flex:0 0 auto}
.header__logo img{height:26px;width:auto}
.header__logo .logo-sand{display:none}
.header--inverse .header__logo .logo-navy{display:none}.header--inverse .header__logo .logo-sand{display:block}
.nav{display:flex;align-items:center;gap:var(--space-8);height:100%}
.nav__item{position:relative;}.nav__item--wide{position:static;height:var(--header-h);display:flex;align-items:center}
.nav__link{display:inline-flex;align-items:center;gap:6px;border:0;font-size:var(--fs-2xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding-bottom:2px;border-bottom:1px solid transparent;background:none;cursor:pointer;white-space:nowrap}
.nav__link .i{width:14px;height:14px;transition:transform var(--dur) var(--ease-standard)}
.nav__link:hover,.nav__item.is-open>.nav__link{color:var(--navy-600);border-bottom-color:var(--navy-600)}
.nav__link[aria-current="page"]{color:var(--navy-600);border-bottom-color:var(--navy-600)}
.nav__item.is-open>.nav__link .i{transform:rotate(180deg)}
.header--inverse .nav__link{color:var(--text-on-navy-muted)}
.header--inverse .nav__link:hover,.header--inverse .nav__item.is-open>.nav__link,.header--inverse .nav__link[aria-current="page"]{color:var(--sand-500);border-bottom-color:var(--sand-500)}
.header__right{display:flex;align-items:center;gap:var(--space-5)}
.header__portal{border:0;display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-2xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}
.header__portal:hover{color:var(--navy-600)}
.header--inverse .header__portal{color:var(--text-on-navy-muted)}.header--inverse .header__portal:hover{color:var(--sand-500)}
.header__portal .i{width:14px;height:14px}
.lang{display:flex;align-items:center;gap:10px}
.lang a,.lang span{border:0;font-size:var(--fs-3xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}
.lang a:hover{color:var(--sand-700)}
.lang span{color:var(--navy-600)}
.lang i{width:1px;height:10px;background:var(--line-soft)}
.header--inverse .lang a{color:var(--text-on-navy-muted)}.header--inverse .lang span{color:var(--sand-500)}.header--inverse .lang i{background:var(--line-on-navy)}
.header .btn--primary-swap{background:var(--action-primary);border-color:var(--action-primary);color:var(--text-on-navy)}
.header--inverse .btn--primary-swap{background:var(--sand-500);border-color:var(--sand-500);color:var(--navy-900)}
.header--inverse .btn--primary-swap:hover{background:var(--sand-400);border-color:var(--sand-400)}
.burger{display:none;background:none;border:0;padding:10px;margin-right:-10px;cursor:pointer;color:var(--navy-600);min-width:44px;min-height:44px;align-items:center;justify-content:center}
.header--inverse .burger{color:var(--text-on-navy)}

/* Mega panel (Figma kit behaviour, VERGI surface: paper, hairlines, no radius) */
.mega{position:absolute;left:var(--page-x-lg);right:var(--page-x-lg);top:var(--header-h);transform:translateY(-6px);background:var(--paper);border:var(--border-hairline);border-top:0;box-shadow:var(--shadow-3);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur) var(--ease-standard),transform var(--dur) var(--ease-standard),visibility 0s linear var(--dur)}
.nav__item.is-open>.mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
.mega--narrow{left:0;right:auto;width:520px}
.mega__grid{display:grid;grid-template-columns:5fr 7fr}
.mega__intro{padding:var(--space-8);border-right:var(--border-hairline);background:var(--paper-warm)}
.mega__intro h3{font-size:var(--fs-xl);margin-top:var(--space-4);max-width:18ch}
.mega__intro p{margin-top:var(--space-3);font-size:var(--fs-sm);font-weight:300;color:var(--text-muted);max-width:36ch}
.mega__intro .btn{margin-top:var(--space-6)}
.mega__list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-hairline)}
.mega__list--1{grid-template-columns:1fr}
.mega__link{display:flex;flex-direction:column;gap:6px;padding:var(--space-6) var(--space-8);background:var(--paper);border:0;color:inherit;transition:background var(--dur) var(--ease-standard)}
.mega__link:hover{background:var(--surface-hover);color:inherit}
.mega__link .i{color:var(--navy-400)}
.mega__title{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--text-strong);display:flex;align-items:center;gap:var(--space-3)}
.mega__meta{font-size:var(--fs-3xs);letter-spacing:.1em;text-transform:uppercase;color:var(--sand-700);font-weight:500}
.mega__desc{font-size:var(--fs-xs);font-weight:300;color:var(--text-muted);line-height:1.5}
.mega__foot{grid-column:1/-1;border-top:var(--border-hairline);padding:var(--space-4) var(--space-8);display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-2xs);color:var(--text-faint);background:var(--paper)}
.mega__foot a{border:0;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:var(--fs-3xs);color:var(--navy-600)}

/* Mobile drawer — navy-900 full screen */
.drawer{position:fixed;inset:0;z-index:var(--z-modal);background:var(--navy-900);color:var(--text-on-navy);display:flex;flex-direction:column;padding:0 var(--page-x);transform:translateX(100%);visibility:hidden;transition:transform var(--dur-slow) var(--ease-standard),visibility 0s linear var(--dur-slow)}
.drawer.is-open{transform:none;visibility:visible;transition-delay:0s}
.drawer__top{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-on-navy)}
.drawer__top img{height:24px;width:auto}
.drawer__close{background:none;border:0;padding:10px;margin-right:-10px;color:var(--text-on-navy);cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
.drawer__nav{flex:1;overflow-y:auto;padding:var(--space-6) 0}
.drawer__group{border-bottom:1px solid var(--line-on-navy)}
.drawer__link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 0;background:none;border:0;text-align:left;font-family:var(--font-display);font-size:var(--fs-xl);color:var(--text-on-navy);cursor:pointer;letter-spacing:var(--ls-display)}
.drawer__link .i{color:var(--sand-500);transition:transform var(--dur) var(--ease-standard)}
.drawer__link[aria-expanded="true"] .i{transform:rotate(180deg)}
.drawer__sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-slow) var(--ease-standard)}
.drawer__sub>div{overflow:hidden}
.drawer__group.is-open .drawer__sub{grid-template-rows:1fr}
.drawer__sub a{display:block;padding:12px 0 12px var(--space-5);border:0;border-left:1px solid var(--line-on-navy);font-size:var(--fs-md);font-weight:300;color:var(--text-on-navy-muted)}
.drawer__sub a:last-child{margin-bottom:var(--space-4)}
.drawer__sub a:hover{color:var(--sand-500)}
.drawer__meta{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) 0;border-top:1px solid var(--line-on-navy)}
.drawer__meta .lang a,.drawer__meta .lang span{color:var(--text-on-navy-muted);font-size:var(--fs-2xs)}
.drawer__meta .lang span{color:var(--sand-500)}.drawer__meta .lang i{background:var(--line-on-navy)}
.drawer__meta .header__portal{color:var(--text-on-navy-muted)}
.drawer__cta{padding:0 0 var(--space-8)}
.drawer__cta .btn{width:100%}

/* Footer */
.footer{background:var(--navy-900);color:var(--text-on-navy)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-16);padding:var(--space-24) 0 var(--space-10)}
.footer__brand img{height:24px;width:auto}
.footer__brand p{margin-top:var(--space-6);max-width:34ch;font-size:var(--fs-sm);font-weight:300;line-height:1.7;color:var(--text-on-navy-muted)}
.footer__nap{margin-top:var(--space-6);font-size:var(--fs-sm);font-weight:300;line-height:1.8;color:var(--text-on-navy-muted);font-style:normal}
.footer__nap a{border:0;color:var(--text-on-navy)}.footer__nap a:hover{color:var(--sand-500)}
.footer__h{font-size:var(--fs-3xs);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sand-500)}
.footer__col ul{margin-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}
.footer__col a{border:0;font-size:var(--fs-sm);font-weight:300;color:var(--text-on-navy-muted)}
.footer__col a:hover{color:var(--sand-500)}
.footer__entities{padding:var(--space-8) 0;border-top:1px solid var(--line-on-navy);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}
.footer__entity{font-size:var(--fs-xs);font-weight:300;line-height:1.7;color:var(--text-on-navy-muted)}
.footer__entity b{display:block;font-family:var(--font-display);font-weight:400;font-size:var(--fs-md);color:var(--text-on-navy);letter-spacing:0}
.footer__legal{padding:var(--space-5) 0 var(--space-8);border-top:1px solid var(--line-on-navy);display:flex;justify-content:space-between;gap:var(--space-6);font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;color:rgba(168,180,196,.72)}
.footer__legal a{border:0;color:rgba(168,180,196,.72)}.footer__legal a:hover{color:var(--sand-500)}
.footer__legal ul{display:flex;gap:var(--space-5)}

/* ---------- 6 · Pages: Home ---------- */
.hero{background:var(--navy-900);color:var(--text-on-navy)}
.hero__grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--space-24);align-items:end;padding:var(--space-32) 0 var(--space-24)}
.hero__kicker{display:block;font-family:var(--font-sans);font-size:var(--fs-2xs);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sand-500);margin-bottom:var(--space-8);line-height:1.5}
.hero h1{font-size:var(--fs-6xl);line-height:1.02;letter-spacing:-0.025em;color:var(--text-on-navy);text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--sand-500)}
.hero__lead{margin-top:var(--space-8);max-width:46ch;font-size:var(--fs-lg);font-weight:300;line-height:1.55;color:var(--text-on-navy-muted)}
.hero__cta{margin-top:var(--space-12);display:flex;gap:var(--space-4);flex-wrap:wrap}
.hero__rail{border-left:1px solid var(--line-on-navy);padding-left:var(--space-10);display:flex;flex-direction:column;gap:var(--space-10)}

/* Fristenrail — signature element: statutory deadlines set in the display face */
.fristen{border-top:1px solid var(--line-on-navy)}
.fristen__row{display:grid;grid-template-columns:auto 1fr;align-items:stretch}
.fristen__label{padding:var(--space-6) var(--space-8) var(--space-6) 0;border-right:1px solid var(--line-on-navy);display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:200px}
.fristen__label .eyebrow{color:var(--sand-500)}
.fristen__label small{font-size:var(--fs-2xs);font-weight:300;color:var(--text-on-navy-muted)}
.fristen__list{display:grid;grid-template-columns:repeat(4,1fr)}
.fristen__item{padding:var(--space-6) var(--space-8);border-right:1px solid var(--line-on-navy);display:flex;flex-direction:column;gap:6px}
.fristen__item:last-child{border-right:0}
.fristen__date{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--text-on-navy);letter-spacing:var(--ls-tight)}
.fristen__what{font-size:var(--fs-xs);font-weight:300;color:var(--text-on-navy-muted);line-height:1.45}

/* Service grid — hairline-gap, white cells */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-hairline);border:var(--border-hairline);margin-top:var(--space-16)}
.svc__cell{background:var(--white);padding:var(--space-12);display:flex;flex-direction:column;border:0;color:inherit;transition:background var(--dur) var(--ease-standard)}
.svc__cell:hover{background:var(--surface-hover);color:inherit}
.svc__top{display:flex;align-items:center;justify-content:space-between}
.svc__num{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.2em;color:var(--sand-600)}
.svc__top .i{color:var(--navy-400)}
.svc__cell h3{margin-top:var(--space-8);font-size:var(--fs-2xl)}
.svc__entity{margin-top:var(--space-2);font-size:var(--fs-3xs);letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--text-faint)}
.svc__body{margin-top:var(--space-4);max-width:40ch;font-size:var(--fs-sm);font-weight:300;line-height:1.65;color:var(--text-muted)}
.svc__promise{margin-top:var(--space-6);padding-top:var(--space-4);border-top:var(--border-hairline);font-size:var(--fs-xs);color:var(--text-body);display:flex;gap:var(--space-3);align-items:flex-start}
.svc__promise .i{color:var(--sand-700);margin-top:2px}
.svc__promise .num{font-size:var(--fs-sm);color:var(--navy-600)}
.svc__more{margin-top:auto;padding-top:var(--space-8);display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-2xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-600)}
.svc__cell:hover .svc__more{color:var(--sand-700)}

/* Feature list 2-col */
.feats{margin-top:var(--space-12);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10)}

/* Entity band (navy) */
.ent{margin-top:var(--space-12);display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-on-navy);border:1px solid var(--line-on-navy)}
.ent__cell{background:var(--navy-600);padding:var(--space-10)}
.ent__name{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--text-on-navy)}
.ent__sub{margin-top:4px;font-size:var(--fs-2xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--sand-500)}
.ent__reg{margin-top:var(--space-6);font-size:var(--fs-2xs);font-weight:300;color:var(--text-on-navy-muted)}
.ent .checks{margin-top:var(--space-5)}

/* Portal teaser: a real DS panel rendered in HTML, not a screenshot */
.portal-demo{background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);overflow:hidden}
.portal-demo__bar{display:flex;align-items:flex-end;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:var(--border-hairline);background:rgba(251,250,248,.9)}
.portal-demo__bar h3{font-size:var(--fs-xl);margin-top:var(--space-2)}
.portal-demo__bar .eyebrow{font-size:var(--fs-3xs)}
.portal-demo__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:var(--border-hairline)}
.portal-demo__row:last-child{border-bottom:0}
.portal-demo__t{font-size:var(--fs-xs);font-weight:500;color:var(--text-strong)}
.portal-demo__d{margin-top:2px;font-family:var(--font-display);font-size:var(--fs-sm);color:var(--text-muted)}
.portal-demo__foot{padding:var(--space-4) var(--space-6);background:var(--surface-sunken);font-size:var(--fs-2xs);color:var(--text-faint);display:flex;gap:var(--space-5)}
.portal-demo__foot span{display:inline-flex;gap:6px;align-items:center}

/* CTA band */
.cta{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-16)}
.cta h2{margin-top:var(--space-5);font-size:var(--fs-4xl);max-width:24ch}
.cta__note{margin-top:var(--space-4);font-size:var(--fs-sm);color:var(--text-muted)}


/* ---------- 6b · Inner-page templates (hub / longform / firm / people / jobs / article / contact / legal) ---------- */
/* Section landing hero: navy-600 or paper-warm (web.md). H1 62px display, breadcrumbs above. */
.hero-inner{padding:calc(var(--header-h) + var(--space-20)) 0 var(--space-20)}
.hero-inner--warm{background:var(--paper-warm)}
.hero-inner--navy{background:var(--navy-600);color:var(--text-on-navy)}
.hero-inner h1{margin-top:var(--space-8);font-size:var(--fs-5xl);max-width:22ch}
.hero-inner--navy h1{color:var(--text-on-navy)}
.hero-inner__entity{margin-top:var(--space-5);font-size:var(--fs-2xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--sand-700)}
.hero-inner--navy .hero-inner__entity{color:var(--sand-500)}
.hero-inner__lead{margin-top:var(--space-6);max-width:62ch;font-size:var(--fs-lg);font-weight:300;line-height:1.6;color:var(--text-muted)}
.hero-inner--navy .hero-inner__lead{color:var(--text-on-navy-muted)}
/* Hub cells: hairline-gap grid, sand-border lift on hover */
.hub{display:grid;gap:1px;background:var(--line-hairline);border:var(--border-hairline)}
.hub--2{grid-template-columns:repeat(2,1fr)}.hub--3{grid-template-columns:repeat(3,1fr)}.hub--4{grid-template-columns:repeat(4,1fr)}
.hub__cell{display:flex;flex-direction:column;background:var(--white);padding:var(--space-10);border:0;color:inherit;transition:background var(--dur) var(--ease-standard);position:relative}
a.hub__cell:hover{background:var(--surface-hover);color:inherit}
a.hub__cell::after{content:"";position:absolute;inset:0;border:1px solid transparent;pointer-events:none;transition:border-color var(--dur) var(--ease-standard)}
a.hub__cell:hover::after{border-color:var(--line-accent)}
.hub__meta{font-size:var(--fs-3xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--sand-700)}
.hub__cell h3{margin-top:var(--space-4);font-size:var(--fs-xl)}
.hub__cell p{margin-top:var(--space-3);font-size:var(--fs-sm);font-weight:300;line-height:1.6;color:var(--text-muted);max-width:40ch}
.hub__more{margin-top:auto;padding-top:var(--space-8);display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-2xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-600)}
.hub__more .i{color:var(--sand-700)}
.hub__cell--static{background:var(--surface-sunken)}
.hub__cell--static .hub__meta{color:var(--text-faint)}
/* Service grouping labels on home + index */
.svc-group{margin-top:var(--space-12);display:flex;align-items:center;gap:var(--space-4)}
.svc-group__label{font-size:var(--fs-3xs);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sand-700);white-space:nowrap}
.svc-group::after{content:"";flex:1;height:1px;background:var(--line-hairline)}
.svc-group+.svc,.svc-group+.hub{margin-top:var(--space-4)}
.svc--2{grid-template-columns:repeat(2,1fr)}.svc--3{grid-template-columns:repeat(3,1fr)}
.svc--3 .svc__cell{padding:var(--space-8)}
.svc--3 .svc__cell h3{font-size:var(--fs-xl);margin-top:var(--space-6)}
/* Service page: scope split + deliverables rail + stack */
.stack{display:flex;flex-direction:column;gap:var(--space-6)}
.stack--sm{gap:var(--space-4)}
.rail .rail__list{margin-top:var(--space-5);display:flex;flex-direction:column}
.rail__item{padding:var(--space-4) 0;border-top:var(--border-hairline);font-family:var(--font-display);font-size:var(--fs-lg);color:var(--navy-700);line-height:1.35}
.card__title{font-family:var(--font-display);font-size:var(--fs-xl);color:inherit;line-height:1.25}
.card--inverse .card__title{color:var(--text-on-navy)}
.card__body{margin-top:var(--space-3);font-size:var(--fs-sm);font-weight:300;line-height:1.6;color:var(--text-muted)}
.card--inverse .card__body{color:var(--text-on-navy-muted)}
.card .btn{margin-top:var(--space-6)}
.card__title a{border:0;color:inherit}.card__title a:hover{color:var(--sand-700)}
.typs{margin-top:var(--space-10);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-hairline);border:var(--border-hairline)}
.typ{background:var(--white);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-3);border:0;color:inherit;transition:background var(--dur) var(--ease-standard)}
.typ:hover{background:var(--surface-hover);color:inherit}
.typ .i{color:var(--sand-700)}
.typ__title{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--text-strong)}
.typ__body{font-size:var(--fs-xs);font-weight:300;color:var(--text-muted);line-height:1.5}
/* Process: 4 steps, 2px top rules */
.steps{margin-top:var(--space-10);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8)}
.feat__num{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.2em;color:var(--sand-600);margin-bottom:var(--space-4)}
.feat--step .feat__title{font-size:var(--fs-lg)}
/* Home: audiences row */
.auds{margin-top:var(--space-12);display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line-hairline);border:var(--border-hairline)}
.aud{background:var(--white);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;border:0;color:inherit;transition:background var(--dur) var(--ease-standard)}
.aud:hover{background:var(--surface-hover);color:inherit}
.aud .i{color:var(--sand-700)}
.aud h3{margin-top:var(--space-6);font-size:var(--fs-lg)}
.aud p{margin-top:var(--space-3);font-size:var(--fs-xs);font-weight:300;line-height:1.55;color:var(--text-muted)}
.aud__ind{margin-top:var(--space-6);font-size:var(--fs-sm);font-weight:300;color:var(--text-muted)}
.aud__ind a{margin-left:var(--space-2);font-weight:500}
/* Entity panel light variant (Kanzlei) */
.ent--light{background:var(--line-hairline);border-color:var(--line-hairline)}
.ent--light .ent__cell{background:var(--white)}
.ent--light .ent__name{color:var(--text-strong)}.ent--light .ent__sub{color:var(--sand-700)}.ent--light .ent__reg{color:var(--text-faint);border-top-color:var(--line-hairline)}
.stats{margin-top:var(--space-16);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);padding-top:var(--space-8);border-top:var(--border-hairline)}
/* People grid 4-up */
.people{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8)}
.person__ph{aspect-ratio:4/5;min-height:0;padding:var(--space-4)}
.person__ph .ph__label{font-size:var(--fs-3xs)}
.person__name{margin-top:var(--space-4);font-family:var(--font-display);font-size:var(--fs-lg);color:var(--text-strong)}
.person__role{margin-top:var(--space-1);font-size:var(--fs-xs);font-weight:300;color:var(--text-muted);line-height:1.45}
.team__note{margin-top:var(--space-12);padding-top:var(--space-8);border-top:var(--border-hairline);max-width:var(--measure);font-family:var(--font-display);font-size:var(--fs-lg);color:var(--navy-700);line-height:1.5}
/* Jobs */
.jobs{display:grid;grid-template-columns:1fr 1fr;}.jobs--3{grid-template-columns:repeat(3,1fr)}.jobs{gap:1px;background:var(--line-hairline);border:var(--border-hairline)}
.job{background:var(--white);padding:var(--space-8);display:flex;justify-content:space-between;gap:var(--space-6);align-items:flex-start;border:0;color:inherit;transition:background var(--dur) var(--ease-standard)}
.job:hover{background:var(--surface-hover);color:inherit}
.job>.i{flex:0 0 auto;margin-top:6px;color:var(--sand-700)}
.job__title{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--text-strong)}
.job__meta{margin-top:var(--space-2);font-size:var(--fs-3xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--sand-700)}
.job__task{margin-top:var(--space-4);font-size:var(--fs-sm);font-weight:300;line-height:1.6;color:var(--text-muted);max-width:44ch}
.section--deep .jobs{background:var(--line-on-navy);border-color:var(--line-on-navy)}
.section--deep .job{background:var(--navy-900)}
.section--deep .job:hover{background:var(--navy-800)}
.section--deep .job__title{color:var(--text-on-navy)}.section--deep .job__meta{color:var(--sand-500)}.section--deep .job__task{color:var(--text-on-navy-muted)}
.meta-list{display:flex;flex-direction:column;border-top:var(--border-hairline)}
.meta-list>div,.meta-list__row{display:grid;grid-template-columns:110px 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:var(--border-hairline);font-size:var(--fs-sm)}
.meta-list span{font-size:var(--fs-3xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding-top:3px}
.meta-list b{font-weight:400;color:var(--text-body)}
.meta-list--flat{border-top:0}
/* Wissen */
.lead-story{display:grid;grid-template-columns:7fr 5fr;gap:0;background:var(--white);border:var(--border-hairline);color:inherit;transition:box-shadow var(--dur) var(--ease-standard)}
.lead-story:hover{color:inherit;box-shadow:var(--shadow-2)}
.lead-story__body{padding:var(--space-12);display:flex;flex-direction:column;align-items:flex-start}
.lead-story__body h2,.lead-story__body h3{margin-top:var(--space-5);font-size:var(--fs-2xl);max-width:22ch}
.lead-story__body p{margin-top:var(--space-4);font-size:var(--fs-sm);font-weight:300;line-height:1.65;color:var(--text-muted);max-width:52ch}
.lead-story__body .btn{margin-top:auto;padding-top:0;margin-top:var(--space-8)}
.lead-story .ph{min-height:100%}
.article{max-width:var(--measure)}
.article h2{font-size:var(--fs-2xl);margin-top:var(--space-12);scroll-margin-top:calc(var(--header-h) + var(--space-6))}
.article h2:first-child{margin-top:0}
.article p{margin-top:var(--space-5);font-size:var(--fs-md);line-height:1.7;color:var(--text-body)}
.article__contact{margin-top:var(--space-10);padding-top:var(--space-6);border-top:var(--border-hairline)}
.article__author{margin-top:var(--space-8);font-size:var(--fs-3xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}
.article__aside{position:sticky;top:calc(var(--header-h) + var(--space-8))}
.toc{list-style:none;margin:var(--space-4) 0 0;padding:0;border-top:var(--border-hairline)}
.toc li{border-bottom:var(--border-hairline)}
.toc a{display:block;padding:var(--space-3) 0;border:0;font-size:var(--fs-sm);font-weight:300;color:var(--text-body)}
.toc a:hover{color:var(--sand-700)}
/* Contact */
.form{display:flex;flex-direction:column;gap:var(--space-6)}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.field label{font-size:var(--fs-2xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.field label small{font-weight:300;letter-spacing:0;text-transform:none;color:var(--text-faint)}
.field label abbr{border:0;text-decoration:none;color:var(--sand-700)}
.field input,.field select,.field textarea{width:100%;height:var(--control-h);padding:0 var(--space-4);background:var(--surface-card);border:var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:400;color:var(--text-strong);outline:0;transition:border-color var(--dur-fast) var(--ease-standard)}
.field textarea{height:auto;padding:var(--space-3) var(--space-4);line-height:1.5;resize:vertical;min-height:150px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy-600)}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:var(--status-critical)}
.field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23566E8C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.field input[readonly]{background:var(--surface-sunken);color:var(--text-body)}
.check__box{display:none}
.check abbr{border:0;text-decoration:none;color:var(--sand-700)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form__submit{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}
.form__promise{font-size:var(--fs-xs);font-weight:300;color:var(--text-faint)}
.form__status{font-size:var(--fs-sm);color:var(--text-body);min-height:1em;margin:0}
.form__status.is-error{color:var(--status-critical)}
.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}
.contact-card{margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);font-style:normal}
.contact-card>*{display:flex;gap:var(--space-4);align-items:flex-start;border:0;color:var(--text-on-navy);font-size:var(--fs-md);line-height:1.5}
.contact-card a:hover{color:var(--sand-500)}
.contact-card .i{color:var(--sand-500);flex:0 0 auto;margin-top:5px}
.contact-note{font-size:var(--fs-xs);font-weight:300;line-height:1.6;color:var(--text-faint)}
/* Legal prose, 66ch */
.legal{max-width:var(--measure)}
.legal h2{font-size:var(--fs-xl);margin-top:var(--space-12)}
.legal h3{font-size:var(--fs-lg);margin-top:var(--space-8)}
.legal p{margin-top:var(--space-4);font-size:var(--fs-md);line-height:1.7}
.legal p:first-child{font-size:var(--fs-lg)}
.legal ul{margin:var(--space-4) 0 0;padding-left:1.2em}
.legal li{margin-top:var(--space-2);line-height:1.6}
.legal hr{border:0;border-top:var(--border-hairline);margin:var(--space-10) 0 0}
.legal code{font-family:var(--font-mono,ui-monospace,monospace);font-size:.9em;background:var(--surface-sunken);padding:1px 5px;border-radius:var(--radius-sm)}
.legal a{word-break:break-word}
/* Mega variants */
.mega__grid--services{grid-template-columns:4fr 3fr 5fr}
.mega__grid--audiences{grid-template-columns:5fr 7fr}
.mega__col{border-right:var(--border-hairline)}
.mega__col:last-of-type{border-right:0}
.mega__group{padding:var(--space-4) var(--space-8) 0;font-size:var(--fs-3xs);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sand-700)}
.mega__grid--services .mega__list{background:transparent}
.mega__grid--services .mega__link{padding:var(--space-4) var(--space-8)}
.mega__grid--services .mega__desc{display:none}
.mega__list--aud{grid-template-columns:1fr 1fr}
.mega__foot--chips{flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-8)}
.mega__foot--chips .mega__group{padding:0}
.mega__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.mega__chip{border:var(--border-hairline);padding:6px 12px;font-size:var(--fs-xs);font-weight:400;color:var(--text-body);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}
.mega__chip:hover{border-color:var(--line-accent);color:var(--sand-700)}
.mega__chip--all{display:inline-flex;align-items:center;gap:6px;border-color:transparent;color:var(--navy-600);font-weight:500}
.drawer__sub a strong{font-weight:500;color:var(--sand-500)}
.badge--neutral{background:var(--status-neutral-bg);color:var(--status-neutral)}
.btn--link{padding:0;height:auto;background:none;border:0;color:var(--navy-600);text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn--link:hover{color:var(--sand-700);background:none}

/* ---------- 6c · Mandantenportal (guidelines/portal.md) — visual only ---------- */
.is-portal{background:var(--paper)}
.is-portal .skip:focus{top:8px}
.portal{display:flex;min-height:100vh}
.pside{width:260px;flex:0 0 260px;background:var(--navy-900);color:var(--text-on-navy);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;align-self:flex-start}
.portal{overflow-x:clip}
.pside__head{padding:var(--space-8) var(--space-6);border-bottom:1px solid var(--line-on-navy)}
.pside__head img{height:22px;width:auto}
.pside__head a{border:0}
.pside__ws{margin-top:var(--space-4);font-size:var(--fs-3xs);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-on-navy-muted)}
.pnav{padding:var(--space-6) var(--space-3);display:flex;flex-direction:column;gap:2px}
.pnav__link{display:flex;align-items:center;gap:var(--space-4);padding:11px 13px;border:0;border-left:2px solid transparent;color:var(--text-on-navy-muted);font-size:var(--fs-sm);font-weight:300;letter-spacing:.02em;transition:background var(--dur) var(--ease-standard),color var(--dur) var(--ease-standard)}
.pnav__link:hover{color:var(--text-on-navy);background:rgba(181,162,145,.08)}
.pnav__link.is-active{background:rgba(181,162,145,.14);border-left-color:var(--sand-500);color:var(--text-on-navy);font-weight:500}
.pside__team{margin-top:auto;padding:var(--space-6);border-top:1px solid var(--line-on-navy)}
.pside__person{margin-top:var(--space-4);display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-xs);color:var(--text-on-navy)}
.pside__person small{display:block;font-size:var(--fs-3xs);color:var(--text-on-navy-muted)}
.pside__avatar{width:34px;height:34px;background:var(--sand-500);color:var(--navy-900);display:grid;place-items:center;font-family:var(--font-display);font-size:14px;flex:0 0 auto}
.pside__langs{margin-top:var(--space-6);display:flex;gap:var(--space-4);font-size:var(--fs-3xs);letter-spacing:.14em;text-transform:uppercase}
.pside__langs a{border:0;color:var(--text-on-navy-muted)}.pside__langs a[aria-current]{color:var(--sand-500)}.pside__langs a:hover{color:var(--sand-500)}
.pmain{flex:1;min-width:0;display:flex;flex-direction:column}
.ptop{position:sticky;top:0;z-index:200;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-10);padding:var(--space-8) var(--space-12);background:rgba(251,250,248,.9);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);border-bottom:var(--border-hairline)}
.ptop h1{margin-top:var(--space-3);font-size:var(--fs-3xl)}
.ptop__actions{display:flex;align-items:center;gap:var(--space-3);flex:0 0 auto}
.pdemo{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-12);background:var(--sand-100);font-size:var(--fs-xs);color:var(--sand-800)}
.pdemo .i{color:var(--sand-700)}.pdemo a{margin-left:auto;font-weight:500;border:0;color:var(--navy-600)}
.pbody{padding:var(--space-12);display:flex;flex-direction:column;gap:var(--space-8)}
.pstats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-hairline);border:var(--border-hairline)}
.pstat{background:var(--white);padding:var(--space-6) var(--space-8)}
.pstat .stat__value{font-size:var(--fs-3xl)}
.pgrid{display:grid;grid-template-columns:7fr 5fr;gap:var(--space-8);align-items:start}
.pgrid--8-4{grid-template-columns:8fr 4fr}.pgrid--4-8{grid-template-columns:4fr 8fr}.pgrid--7-5{grid-template-columns:7fr 5fr}
.pgrid .stack{gap:var(--space-8)}
.panel{background:var(--white);border:var(--border-hairline);border-radius:var(--radius-sm)}
.panel__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:var(--border-hairline)}
.panel__title{font-size:var(--fs-3xs);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted)}
.panel__body{padding:var(--space-6)}
.prow{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5) 0;border-bottom:var(--border-hairline)}
.prow:last-child{border-bottom:0;padding-bottom:0}.prow:first-child{padding-top:0}
.prow>.i{color:var(--navy-400);flex:0 0 auto}
.prow__main{flex:1;min-width:0}
.prow__t{font-size:var(--fs-sm);font-weight:500;color:var(--text-strong)}
.prow__m{margin-top:3px;font-size:var(--fs-xs);font-weight:300;color:var(--text-muted)}
.pfiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.pfile{border:var(--border-hairline);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-6)}
.pfile .i{color:var(--sand-700)}
.pfile__m{margin-top:3px;font-size:var(--fs-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}
.pupload{background:var(--surface-inverse);padding:var(--pad-card-lg);border-radius:var(--radius-sm);color:var(--text-on-navy)}
.pupload__t{margin-top:var(--space-5);font-family:var(--font-display);font-size:var(--fs-xl);max-width:20ch}
.pupload p{margin-top:var(--space-4);font-size:var(--fs-xs);font-weight:300;color:var(--text-on-navy-muted)}
.pupload .btn{margin-top:var(--space-8)}
.pdl{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:var(--border-hairline)}
.pdl:last-child{border-bottom:0}
.pdl__d{margin-top:2px;font-family:var(--font-display);font-size:var(--fs-sm);color:var(--text-muted)}
.pdl--lg{justify-content:flex-start;gap:var(--space-6);padding:var(--space-5) 0}
.pdl__date{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--navy-600);width:72px;flex:0 0 auto}
.pdl--lg .badge{margin-left:auto}
.pmonth+.pmonth{margin-top:var(--space-8)}
.pmonth__h{font-size:var(--fs-3xs);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sand-700);padding-bottom:var(--space-3);border-bottom:var(--border-hairline)}
.pmsg{font-size:var(--fs-sm);font-weight:300;line-height:1.7;color:var(--text-body)}
.switch{position:relative;display:inline-flex;flex:0 0 auto;width:36px;height:20px;cursor:pointer}
.switch input{position:absolute;opacity:0;inset:0;margin:0}
.switch span:not(.sr-only){position:absolute;inset:0;border-radius:999px;background:var(--navy-200);transition:background var(--dur) var(--ease-standard)}
.switch span:not(.sr-only)::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:var(--white);transition:transform var(--dur) var(--ease-standard)}
.switch input:checked+span{background:var(--navy-600)}.switch input:checked+span::after{transform:translateX(16px)}
.pfilters{display:flex;gap:var(--space-2);flex-wrap:wrap}
.chip{height:var(--control-h-sm);padding:0 14px;border:var(--border-hairline);background:var(--white);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:400;color:var(--text-body);cursor:pointer}
.chip.is-active{background:var(--navy-600);border-color:var(--navy-600);color:var(--text-on-navy)}
.ptable{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.ptable th{background:var(--sand-050);padding:var(--space-3) var(--space-5);text-align:left;font-size:var(--fs-3xs);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted);border-bottom:var(--border-hairline)}
.ptable td{padding:var(--space-4) var(--space-5);border-bottom:var(--border-hairline);color:var(--text-muted);font-weight:300;vertical-align:middle}
.ptable tr:last-child td{border-bottom:0}
.ptable tr.is-selected td{background:var(--sand-050)}
.ptable .ptd-t{font-weight:500;color:var(--text-strong)}
.ptable .ptd-date{font-family:var(--font-display);color:var(--navy-700);white-space:nowrap}
.ptable .ptd-act{text-align:right;white-space:nowrap}
.ptable input[type=checkbox]{width:16px;height:16px;accent-color:var(--navy-600)}
.ibtn{width:32px;height:32px;display:inline-grid;place-items:center;border:var(--border-hairline);background:var(--white);border-radius:var(--radius-sm);color:var(--navy-400);cursor:pointer;margin-left:var(--space-2)}
.ibtn:hover{border-color:var(--line-accent);color:var(--navy-600)}
.ptable__foot{display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5);font-size:var(--fs-xs);color:var(--text-faint);border-top:var(--border-hairline)}
.pmessages{min-height:560px}
.pthreads{display:flex;flex-direction:column}
.pthread{display:block;padding:var(--space-5) var(--space-6);border:0;border-bottom:var(--border-hairline);border-left:2px solid transparent;color:inherit;position:relative}
.pthread.is-active{background:var(--sand-050);border-left-color:var(--sand-500)}
.pthread:hover{background:var(--surface-hover);color:inherit}
.pthread__d{position:absolute;top:var(--space-5);right:var(--space-6);font-size:var(--fs-3xs);color:var(--text-faint)}
.pconv{display:flex;flex-direction:column;min-height:560px}
.pconv__body{flex:1;padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}
.bubble{max-width:72%;padding:var(--space-5) var(--space-6);font-size:var(--fs-sm);font-weight:300;line-height:1.65}
.bubble p{margin-top:var(--space-2);color:var(--text-body)}
.bubble__meta{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}
.bubble--firm{align-self:flex-start;background:var(--white);border:var(--border-hairline);border-left:2px solid var(--navy-600)}
.bubble--client{align-self:flex-end;background:var(--sand-050)}
.pconv__composer{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:var(--border-hairline)}
.pconv__composer input{flex:1;height:var(--control-h);padding:0 var(--space-4);border:var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--fs-sm)}
.pconv__meta{display:flex;align-items:center;gap:6px;padding:var(--space-3) var(--space-6) var(--space-4);font-size:var(--fs-xs);color:var(--text-faint)}
/* Login split */
.plogin{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.plogin__brand{background:var(--navy-900);color:var(--text-on-navy);padding:var(--space-16);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-16)}
.plogin__brand img{height:24px;width:auto}
.plogin__brand a{border:0}
.plogin__brand h1{margin-top:var(--space-6);font-size:var(--fs-4xl);color:var(--text-on-navy);max-width:20ch}
.plogin__brand p{margin-top:var(--space-6);max-width:38ch;font-size:var(--fs-md);font-weight:300;line-height:1.7;color:var(--text-on-navy-muted)}
.plogin__meta a{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-on-navy-muted)}
.plogin__meta a:hover{color:var(--sand-500)}
.plogin__form{display:flex;align-items:center;justify-content:center;padding:var(--space-16)}
.plogin__box{width:100%;max-width:400px}
.plogin__box h2{font-size:var(--fs-2xl)}
.plogin__note{margin-top:var(--space-3);font-size:var(--fs-sm);font-weight:300;color:var(--text-muted)}
.plogin__box .form{margin-top:var(--space-10)}
.plogin__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--fs-xs)}
.plogin__demo{margin-top:var(--space-8);display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--text-faint)}

/* ---------- 7 · Responsive ---------- */
@media (max-width:1180px){
  .nav{gap:var(--space-6)}
  .header__right{gap:var(--space-4)}
  .fristen__list{grid-template-columns:repeat(2,1fr)}
  .fristen__item:nth-child(2){border-right:0}
  .fristen__item:nth-child(-n+2){border-bottom:1px solid var(--line-on-navy)}
}
@media (max-width:1024px){
  :root{--page-x-lg:32px}
  .hero__grid{grid-template-columns:1fr;gap:var(--space-16);padding:var(--space-24) 0 var(--space-20)}
  .hero__rail{border-left:0;padding-left:0;flex-direction:row;gap:var(--space-16);border-top:1px solid var(--line-on-navy);padding-top:var(--space-8)}
  .split,.split--7-5,.split--5-7,.split--4-8,.split--6-6{grid-template-columns:1fr;gap:var(--space-16)}
  .split--5-7 .ph{order:2}
  .ent{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-12)}
  .footer__brand{grid-column:1/-1}
  .fristen__row{grid-template-columns:1fr}
  .fristen__label{border-right:0;border-bottom:1px solid var(--line-on-navy);padding:var(--space-5) 0}
}
@media (max-width:960px){
  .nav,.header .header__portal,.header .lang,.header .btn{display:none}
  .burger{display:flex}
}
@media (max-width:768px){
  :root{--section-y:var(--space-20);--section-y-tight:var(--space-16);--section-y-loose:var(--space-24);--header-h:72px}
  .hero h1{font-size:var(--fs-5xl)}
  .sh h2{font-size:var(--fs-2xl)}.sh--lg h2{font-size:var(--fs-3xl)}.cta h2{font-size:var(--fs-3xl)}
  .sh{flex-direction:column;align-items:flex-start;gap:var(--space-6)}
  .svc{grid-template-columns:1fr}
  .svc__cell{padding:var(--space-8)}
  .feats{grid-template-columns:1fr;gap:var(--space-8)}
  .hero__rail{flex-wrap:wrap;gap:var(--space-8)}
  .hero__rail .stat{flex:1 1 30%}
  .stat__value{font-size:var(--fs-3xl)}
  .hero__cta .btn{width:100%}
  .cta{flex-direction:column;align-items:flex-start;gap:var(--space-8)}
  .cta .btn{width:100%}
  .fristen__list{grid-template-columns:1fr}
  .fristen__item{border-right:0;border-bottom:1px solid var(--line-on-navy);padding:var(--space-4) 0}
  .fristen__item:last-child{border-bottom:0}
  .footer__grid{grid-template-columns:1fr;gap:var(--space-10);padding-top:var(--space-16)}
  .footer__entities{grid-template-columns:1fr;gap:var(--space-8)}
  .footer__legal{flex-direction:column;gap:var(--space-3)}
  .toast-host{left:16px;right:16px;bottom:16px}.toast{min-width:0}
}
@media (max-width:480px){
  :root{--page-x:20px;--page-x-lg:20px}
  .hero h1{font-size:var(--fs-4xl)}
  .drawer{padding:0 20px}
}

@media (max-width:1180px){
  .mega__grid--services{grid-template-columns:4fr 4fr 4fr}
  .auds{grid-template-columns:repeat(3,1fr)}
  .people{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .hub--3,.hub--4,.typs,.svc--3{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .lead-story{grid-template-columns:1fr}
  .lead-story .ph{min-height:260px;order:-1}
  .article__aside{position:static}
  .pgrid,.pgrid--8-4,.pgrid--4-8,.pgrid--7-5{grid-template-columns:1fr}
  .pstats{grid-template-columns:repeat(2,1fr)}
  .plogin{grid-template-columns:1fr}
  .plogin__brand{padding:var(--space-12) var(--space-8);gap:var(--space-10)}
  .plogin__form{padding:var(--space-12) var(--space-8)}
  .stats{grid-template-columns:1fr;gap:var(--space-6)}
}
@media (max-width:960px){
  .portal{flex-direction:column}
  .pside{width:auto;flex:none;height:auto;position:static}
  .pside__team{display:none}
  .pnav{flex-direction:row;overflow-x:auto;padding:var(--space-2) var(--space-3)}
  .pnav__link{border-left:0;border-bottom:2px solid transparent;white-space:nowrap}
  .pnav__link.is-active{border-bottom-color:var(--sand-500)}
  .ptop,.pdemo{padding-left:var(--space-6);padding-right:var(--space-6)}
  .portal{display:block}
  .pside{position:static;height:auto;width:auto}
  .prow,.pdl--lg,.ptop__actions,.pdemo{flex-wrap:wrap}
  .prow__main{flex-basis:60%}
  .panel{overflow-x:auto}
  .pdl--lg .badge{margin-left:0}
  .pbody{padding:var(--space-6)}
}
@media (max-width:768px){
  .hero-inner{padding:calc(var(--header-h) + var(--space-12)) 0 var(--space-12)}
  .hero-inner h1{font-size:var(--fs-4xl)}
  .hero-inner__lead{font-size:var(--fs-md)}
  .hub--2,.hub--3,.hub--4,.typs,.svc--2,.svc--3,.auds,.jobs,.jobs--3,.steps,.pfiles{grid-template-columns:1fr}
  .hub__cell{padding:var(--space-8)}
  .people{grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
  .form__row{grid-template-columns:1fr}
  .ptop{flex-direction:column;align-items:flex-start;gap:var(--space-4)}
  .ptop h1{font-size:var(--fs-2xl)}
  .pstats{grid-template-columns:1fr 1fr}
  .bubble{max-width:92%}
  .ptable th:nth-child(4),.ptable td:nth-child(4),.ptable th:nth-child(3),.ptable td:nth-child(3){display:none}
  .meta-list>div,.meta-list__row{grid-template-columns:1fr;gap:var(--space-1)}
}
@media (max-width:480px){
  .hero-inner h1{font-size:var(--fs-3xl)}
  .people{grid-template-columns:1fr}
}
