/* DVP Systems – pmax7 design tokens and shared components (subpages).
   The homepage (../index.html) keeps its own inline CSS; this file mirrors its tokens. */
:root{--paper:#FAFAF7;--w:#fff;--panel:#F1F2EF;--ink:#16191B;--ink2:#2B3034;--grey:#596066;--line:#DDDFDA;--line2:#C6CAC4;--teal:#004F5C;--deep:#003B44;--night:#072A30;--soft:#DCEEF0;--tint:#F2F7F7;--bt:#F2FAFB;--bm:#C3DADD;--accent:#A9DDE4;--st:#F4BD24;--stink:#6B5000;--sf:#0A6A78;--sfink:#0A5562;--r:12px;--rb:8px;--pad:clamp(16px,3.6vw,48px);--gap:24px;--hdr:64px;--ease:cubic-bezier(.2,.8,.2,1);--sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 40px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--teal);color:#fff}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,address,table{margin:0}ul,ol{padding:0;list-style:none}address{font-style:normal}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:12px 16px;border-radius:var(--rb)}.skip:focus{left:8px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nw{white-space:nowrap}
.wrap{max-width:calc(1360px + 2 * var(--pad));margin:0 auto;padding:0 var(--pad)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}

/* type scale: H1 56–72 · H2 36–52 · H3 24 · body 17 · label 12.5 mono */
.idx{display:flex;align-items:center;gap:12px;font:500 12.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin:0 0 20px}
.idx::before{content:"";width:24px;height:1px;background:currentColor}
.h2{font:300 clamp(34px,3.4vw,52px)/1.08 var(--sans);letter-spacing:-.035em;text-wrap:balance}
.h3{font:400 24px/1.25 var(--sans);letter-spacing:-.02em}
.lead{font-size:19px;line-height:1.55;color:var(--ink2);max-width:38em;text-wrap:pretty}
.label{font:500 12.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.muted{color:var(--grey)}

/* buttons and links */
.btn{display:inline-flex;align-items:center;gap:14px;min-height:48px;padding:0 20px;border:1px solid var(--ink);border-radius:var(--rb);background:transparent;color:var(--ink);font:500 15.5px/1 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.btn svg{width:14px;height:14px;flex:none;transition:transform .2s var(--ease)}
.btn:hover{background:var(--ink);color:#fff}.btn:hover svg{transform:translateX(3px)}
.btn.pri{background:var(--ink);color:#fff}.btn.pri:hover{background:var(--teal);border-color:var(--teal)}
.tl{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:500 16px/1.3 var(--sans);text-decoration:none;color:var(--ink);border-bottom:1px solid currentColor}
.tl svg{width:14px;height:14px;transition:transform .2s var(--ease)}.tl:hover{color:var(--teal)}.tl:hover svg{transform:translateX(3px)}

/* floating pill navigation (adapts: .dk over dark areas) */
.hdr{position:sticky;top:16px;z-index:50;width:min(1392px,calc(100% - 2 * var(--pad) + 32px));margin:16px auto calc(-1 * (var(--hdr) + 18px));background:rgba(250,250,247,.6);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(22,25,27,.10);border-radius:999px;box-shadow:0 10px 30px -22px rgba(7,42,48,.45);transition:background-color .3s var(--ease),border-color .3s var(--ease)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.hdr{background:rgba(250,250,247,.97)}.hdr.dk{background:rgba(14,52,59,.97)}}
.hdr .bar{height:var(--hdr);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding:0 9px 0 26px}
.logo{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:600 13.5px/1 var(--mono);letter-spacing:.16em;justify-self:start;min-height:44px;transition:color .3s var(--ease)}
.logo svg{width:22px;height:28px}
.nav ul{display:flex;gap:40px}
.nav a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;text-decoration:none;position:relative;color:var(--ink2);transition:color .3s var(--ease)}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.nav a:hover,.nav a[aria-current]{color:var(--ink)}.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.hdr .hr{justify-self:end;display:flex;align-items:center;gap:8px}
.hdr .lang{font:500 12.5px/1 var(--mono);letter-spacing:.08em;color:var(--ink2);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 10px}
.hdr .lang:hover{color:var(--teal)}
.hdr .btn{min-height:42px;border-radius:999px;padding:0 22px;background:var(--ink);color:#fff}.hdr .btn:hover{background:var(--teal);border-color:var(--teal)}
.hdr.dk{background:rgba(18,62,70,.62);border-color:rgba(159,211,218,.22);box-shadow:0 10px 30px -22px rgba(0,0,0,.6);--lacc:#9FD3DA}
.hdr.dk .logo,.hdr.dk .nav a,.hdr.dk .lang{color:#F2FAFB}
.hdr.dk .btn{background:#F2FAFB;color:var(--ink);border-color:#F2FAFB}.hdr.dk .btn:hover{background:#9FD3DA;border-color:#9FD3DA}
.mbtn{display:none}.sheet{display:none}

/* page hero (dark, compact) */
.phero{position:relative;background:var(--night);color:var(--bt);padding:calc(var(--hdr) + 16px + clamp(56px,7vw,104px)) 0 clamp(56px,6vw,88px);overflow:hidden}
.phero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(159,211,218,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(159,211,218,.08) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 90% at 85% 40%,#000 15%,transparent 75%);mask-image:radial-gradient(ellipse 70% 90% at 85% 40%,#000 15%,transparent 75%);pointer-events:none}
.phero .wrap{position:relative}
.crumb{display:flex;flex-wrap:wrap;gap:8px;font:500 12.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--bm);margin-bottom:28px}
.crumb a{color:var(--accent);text-decoration:none}.crumb a:hover{text-decoration:underline}
.crumb span[aria-hidden]{opacity:.6}
.phero h1{font:300 clamp(44px,5vw,72px)/1.04 var(--sans);letter-spacing:-.04em;color:#fff;max-width:16em;text-wrap:balance}
.phero h1 em{font-style:normal;color:var(--accent)}
.phero .lead{color:#E4F0F2;margin-top:24px;font-size:clamp(18px,1.4vw,21px);max-width:40em}
.phero .meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:36px;padding-top:20px;border-top:1px solid rgba(159,211,218,.28);font:400 13.5px/1.5 var(--mono);color:var(--bm)}
.phero .meta b{font-weight:500;color:#fff}
.phero :focus-visible{outline-color:#F2FAFB}

/* sections */
.sec{padding:clamp(80px,8vw,120px) 0}
.sec--w{background:var(--w);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec--tight{padding:clamp(56px,6vw,88px) 0}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.split>.side{grid-column:1/5}.split>.main{grid-column:6/13}
.split>.side .lead{margin-top:20px;font-size:18px}
.sh{max-width:900px;margin-bottom:48px}.sh .lead{margin-top:18px}

/* rows (editorial list with hairlines) */
.rows>li,.rows>div{display:grid;grid-template-columns:56px 1fr;column-gap:16px;padding:24px 0;border-top:1px solid var(--line)}
.rows>li:first-child,.rows>div:first-child{border-top:1px solid var(--ink)}
.rows .no{font:500 13px/2 var(--mono);color:var(--teal)}
.rows h3{font:400 23px/1.25 var(--sans);letter-spacing:-.02em}
.rows p{color:var(--ink2);margin-top:8px;font-size:17px}
.rows ul.dots{margin-top:12px}

/* key–value data (company data, specs) */
.kv{border-top:1px solid var(--ink)}
.kv>div{display:grid;grid-template-columns:minmax(160px,1fr) 2fr auto;gap:8px 24px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.kv dt{font:500 12.5px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
.kv dd{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}
.kv dd a{color:var(--ink)}.kv dd a:hover{color:var(--teal)}

/* link cards (legal hub, products, related pages) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.card{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:inherit;transition:border-color .2s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.sec--w .card{background:var(--paper)}
.card:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:0 18px 40px -30px rgba(7,42,48,.45)}
.card .label{color:var(--teal)}
.card h3{font:400 23px/1.25 var(--sans);letter-spacing:-.02em}
.card p{color:var(--ink2);font-size:16px}
.card .go{margin-top:auto;padding-top:12px;font:500 15px/1.3 var(--sans);color:var(--ink)}
.card:hover .go{color:var(--teal)}
.card--st{background:#FFFAEA;box-shadow:inset 0 3px 0 var(--st)}.card--st .label,.card--st .go{color:var(--stink)}
.card--sf{background:#EFF6F7;box-shadow:inset 0 3px 0 var(--sf)}.card--sf .label,.card--sf .go{color:var(--sfink)}
.card--st:hover{box-shadow:inset 0 3px 0 var(--st),0 18px 40px -30px rgba(122,92,0,.45)}.card--sf:hover{box-shadow:inset 0 3px 0 var(--sf),0 18px 40px -30px rgba(7,42,48,.45)}

.cards--2{grid-template-columns:1fr 1fr}
@media (max-width:900px){.cards--2{grid-template-columns:1fr}}

/* ledger (verifiable link rows) */
.ledger{border-top:1px solid var(--ink)}
.ledger li{border-bottom:1px solid var(--line)}
.ledger a{display:grid;grid-template-columns:96px 1fr auto;gap:12px;align-items:center;min-height:52px;text-decoration:none}
.ledger .t{font:500 12.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}
.ledger .n{font-size:16.5px}.ledger .ar{color:var(--grey)}
.ledger a:hover .n{color:var(--teal);text-decoration:underline}

/* simple bullet list */
.dots li{position:relative;padding-left:20px;margin-top:8px;color:var(--ink2)}
.dots li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:1px;background:var(--teal)}

/* note / callout */
.note{padding:20px 24px;background:var(--tint);border-radius:var(--r);color:var(--ink2);font-size:16.5px}
.note b{color:var(--ink)}

/* dark statement band */
.band{background:var(--deep);color:var(--bt);padding:clamp(80px,8vw,128px) 0}
.band .idx{color:var(--bm);justify-content:center}
.band .stmt{font:300 clamp(34px,4vw,60px)/1.08 var(--sans);letter-spacing:-.035em;text-align:center;max-width:18em;margin:0 auto;text-wrap:balance;color:#fff}
.band p{color:var(--bm)}
.band :focus-visible{outline-color:var(--bt)}

/* long documents: sticky TOC + readable prose */
.doc{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.toc{grid-column:1/4;position:sticky;top:calc(var(--hdr) + 40px);max-height:calc(100vh - var(--hdr) - 64px);overflow:auto;padding-right:8px}
.toc .label{display:block;padding-bottom:12px;border-bottom:1px solid var(--ink);margin-bottom:8px}
.toc a{display:block;padding:7px 0 7px 12px;border-left:2px solid transparent;font-size:14.5px;line-height:1.4;color:var(--ink2);text-decoration:none}
.toc a:hover{color:var(--teal)}.toc a[aria-current]{border-left-color:var(--teal);color:var(--ink);font-weight:500}
.prose{grid-column:4/11;max-width:72ch}
.doc--notoc .prose{grid-column:3/11}
.prose>*+*{margin-top:16px}
.prose h2{font:400 clamp(24px,2vw,30px)/1.25 var(--sans);letter-spacing:-.02em;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:calc(var(--hdr) + 40px)}
.prose h2:first-child{margin-top:0}
.prose h3{font:500 19px/1.35 var(--sans);margin-top:32px}
.prose h4{font:500 17px/1.4 var(--sans);margin-top:24px}
.prose p,.prose li{font-size:17px;line-height:1.7;color:var(--ink2)}
.prose strong,.prose b{color:var(--ink);font-weight:600}
.prose a{color:var(--teal)}
.prose ul,.prose ol{padding-left:22px}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{margin-top:6px;padding-left:4px}
.prose li::marker{color:var(--teal)}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px;margin-top:20px}
.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line)}
.prose th{font:500 12.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--grey);border-bottom:1px solid var(--ink);background:transparent}
.prose .tbl{overflow-x:auto}
.prose blockquote{margin:24px 0;padding:16px 20px;background:var(--tint);border-radius:var(--r)}
.prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}
.docmeta{display:flex;flex-wrap:wrap;gap:8px 24px;font:400 13.5px/1.5 var(--mono);color:var(--grey);margin-bottom:40px}

/* contact block (same as homepage) */
.kc{border-top:1px solid var(--ink)}
.kc>div{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:center;min-height:68px;border-bottom:1px solid var(--line)}
.kc .k{font:500 12.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.kc .nm{font:500 24px/1.2 var(--sans);letter-spacing:-.015em}
.kc .tel{font:500 24px/1.2 var(--sans);letter-spacing:-.01em;text-decoration:none;font-variant-numeric:tabular-nums}
.kc .em{font-size:18px;text-decoration:none}
.kc .tel:hover,.kc .em:hover{color:var(--teal);text-decoration:underline}
.cp{min-height:36px;padding:0 12px;border:1px solid var(--line2);border-radius:6px;background:transparent;font:500 12.5px/1 var(--mono);color:var(--ink2);cursor:pointer}
.cp:hover{border-color:var(--ink);color:var(--ink)}

/* CTA strip (before footer) */
.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:32px 0;border-top:1px solid var(--line)}
.cta p{font:400 22px/1.35 var(--sans);letter-spacing:-.01em;color:var(--deep);max-width:28em}

/* footer */
.foot{background:var(--paper);border-top:1px solid var(--line);padding:88px 0 40px}
.foot .g12{row-gap:40px}
.foot .co{grid-column:1/5;display:flex;flex-direction:column;gap:20px}
.foot .co p{font-size:16px;line-height:1.65;color:var(--grey)}.foot .co a{color:var(--ink)}
.foot nav{grid-column:span 2}
.foot .fh{font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin-bottom:16px}
.foot nav a{display:inline-flex;align-items:center;min-height:36px;font-size:16px;text-decoration:none}.foot nav a:hover{color:var(--teal);text-decoration:underline}
.foot .fb{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 32px;margin-top:64px;padding-top:20px;border-top:1px solid var(--line);color:var(--grey);font-size:15px}

/* animated hairlines (JS adds .rl only when motion is allowed) */
.rl{background-image:linear-gradient(var(--rlc,var(--line)),var(--rlc,var(--line)));background-repeat:no-repeat;background-size:0 1px;background-position:0 var(--rlp,0);transition:background-size 1.1s var(--ease) var(--rld,0s)}
.rl.in{background-size:100% 1px}

@media (max-width:1180px){
  .split>.side,.split>.main{grid-column:1/13}.split>.side{margin-bottom:40px}
  .toc{display:none}.prose,.doc--notoc .prose{grid-column:1/13}
  .foot .co{grid-column:1/13}.foot nav{grid-column:span 3}
}
@media (max-width:900px){
  .nav,.hdr .hr a.btn{display:none}
  .hdr{top:8px;margin-top:8px;margin-bottom:calc(-1 * (var(--hdr) + 10px))}
  .hdr .bar{grid-template-columns:1fr auto;padding:0 8px 0 18px}
  .mbtn{display:inline-flex;min-height:44px;padding:0 16px;border-radius:999px}
  .sheet{position:fixed;inset:calc(var(--hdr) + 16px) 8px auto;z-index:49;background:var(--paper);padding:8px 20px 20px;flex-direction:column;border-radius:12px;border:1px solid var(--line)}
  .sheet.open{display:flex}
  .sheet a{display:flex;align-items:center;min-height:56px;border-bottom:1px solid var(--line);font:300 26px/1 var(--sans);letter-spacing:-.02em;text-decoration:none}
  .phero{padding-top:calc(var(--hdr) + 56px)}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .kv>div{grid-template-columns:1fr}
  .kc>div{grid-template-columns:1fr auto;padding:12px 0}.kc .k{grid-column:1/3}.kc .nm,.kc .tel{font-size:22px}
  .ledger a{grid-template-columns:72px 1fr auto}
  .foot nav{grid-column:span 6}
  .cta .btn{width:100%;justify-content:space-between}
}
