/* Pauhu v0019 design pass: Swiss grid felt not drawn. Two weights (400/600), one sans, one mono, hairlines, no boxes, no gradients. */
:root{--paper:#f5f4ef;--ink:#111;--mute:#5a5a56;--hair:#cfcdc5;--acc:#0a3fa8;--ok:#0b5d33;--hold:#8a4300;--bad:#a3111b;
--gut:24px;--pad:40px;--max:1440px;
--s1:8px;--s2:16px;--s3:24px;--s4:48px;--s5:96px;
--sans:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--paper);color:var(--ink);font:400 16px/26px var(--sans);-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{padding:0 var(--pad)}
a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--hair)}
a:hover{text-decoration-color:var(--acc);color:var(--acc)}
a:focus-visible,button:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto}
.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut)}
.mono,code{font:400 12.5px/22px var(--mono);overflow-wrap:anywhere}
.lab,.n,caption,th,.reg>dt,.idx a,.mast nav,.btn,.act .lab{font:400 11px/20px var(--mono);letter-spacing:.09em;text-transform:uppercase}
.lab,.n,caption,.reg>dt{color:var(--mute)}
/* masthead */
.mast .g{padding:var(--s3) 0 var(--s2);align-items:baseline}
.brand{grid-column:1/4;font:600 15px/24px var(--sans);letter-spacing:.3em;text-decoration:none}
.pri{grid-column:7/12;display:flex;gap:var(--s4);justify-content:flex-end}
.lang{grid-column:12/13;text-align:right}
.mast nav a{text-decoration:none;color:var(--ink)}.mast nav a:hover{color:var(--acc)}
.lang a[aria-current]{border-bottom:1px solid var(--ink)}
.ruler{display:none;border-top:1px solid var(--hair)}.ruler span{font:400 10px/18px var(--mono);color:var(--mute);border-left:1px solid var(--hair);padding-left:6px}
body.showgrid .ruler{display:block}
.gt{position:fixed;right:16px;bottom:16px;z-index:50;font:400 11px/1 var(--mono);letter-spacing:.1em;background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:10px 12px;cursor:pointer;opacity:.55}.gt:hover,.gt:focus{opacity:1}
.ov{position:fixed;inset:0;pointer-events:none;display:none;z-index:40;padding:0 var(--pad)}
.ov .wrap,.ov .g{height:100%}.ov i{border-inline:1px solid rgba(10,63,168,.35);background:rgba(10,63,168,.05)}
body.showgrid .ov{display:block}
/* passport / hero */
.passport{border-top:1px solid var(--ink);padding:var(--s4) 0 var(--s4)}
.passport .k{grid-column:1/-1;margin-bottom:var(--s3)}
.passport h1{font-weight:600;letter-spacing:-.045em;line-height:.98;margin-bottom:var(--s4)}
.passport .def{font-size:20px;line-height:30px;max-width:34ch}
.pp{min-width:0}
.reg{display:grid;grid-template-columns:minmax(110px,max-content) 1fr;column-gap:var(--gut)}
.reg>dt{border-top:1px solid var(--hair);padding:10px 0 9px}
.reg>dd{border-top:1px solid var(--hair);padding:9px 0 9px;min-width:0;overflow-wrap:anywhere}
.reg>dt:first-of-type,.reg>dt:first-of-type+dd{border-top-color:var(--ink)}
/* home hero: type left, register right, one action */
.passport.home h1{grid-column:1/11;font-size:clamp(46px,8.2vw,124px);margin-bottom:64px}
.passport.home .def{grid-column:1/6;grid-row:3}
.passport.home .pp{grid-column:7/13;grid-row:3/5}
.passport.home .act{grid-column:1/6;grid-row:4;align-self:start;margin-top:var(--s4)}
/* product + register passport: title left, compact register right */
.passport.prod h1,.passport.reg h1{grid-column:1/8;font-size:clamp(38px,5.4vw,84px);margin-bottom:var(--s3)}
.passport.prod .def,.passport.reg .def{grid-column:1/7;grid-row:3;font-size:18px;line-height:28px;max-width:46ch}
.passport.prod .pp,.passport.reg .pp{grid-column:8/13;grid-row:2/5;align-self:end}
.passport.prod .act,.passport.reg .act{display:none}
.passport.prod .k,.passport.reg .k{margin-bottom:var(--s4)}
.act{text-decoration:none;display:block;border-top:1px solid var(--ink);padding-top:var(--s2)}
.act .lab{display:block}.act .t{display:block;font:600 24px/32px var(--sans);letter-spacing:-.01em;margin-top:6px}.act .t i{font-style:normal;color:var(--acc)}
.act small{display:block;font:400 12px/20px var(--mono);color:var(--mute);margin-top:6px}
.act:hover .t{color:var(--acc)}
/* status text, never colour alone */
.s{font:600 12px/22px var(--mono);letter-spacing:.05em;white-space:nowrap}.s:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border:1.5px solid currentColor;vertical-align:0}
.s.ok{color:var(--ok)}.s.ok:before{background:currentColor}.s.hold{color:var(--hold)}.s.hold:before{background:currentColor;opacity:.4}
.s.unk{color:var(--mute)}.s.bad{color:var(--bad)}.s.bad:before{background:currentColor;transform:rotate(45deg)}
/* section index: one quiet row, stable order */
.idx{border-top:1px solid var(--ink);border-bottom:1px solid var(--hair);padding:var(--s2) 0}
.idx ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px var(--s3)}
.idx a{text-decoration:none;display:flex;gap:8px}.idx a span{color:var(--mute)}.idx a:hover{color:var(--acc)}
/* body */
.body{padding:var(--s4) 0 0;align-items:start;row-gap:var(--s4)}
main{grid-column:1/9}
.body:has(.rail.wide) main{grid-column:1/-1}
.rail{grid-column:9/13}
section{padding:0 0 64px}
.body section{border-top:1px solid var(--ink);padding-top:var(--s2)}
.sg .h{grid-column:1/4}.sg .c{grid-column:4/13;min-width:0}
.h{display:flex;gap:var(--s2);align-items:baseline;margin-bottom:var(--s3)}
section h2{font:600 24px/30px var(--sans);letter-spacing:-.015em}
.n{color:var(--mute)}
section p{max-width:62ch;margin-bottom:var(--s2)}
section p:last-child{margin-bottom:0}
ul.l{list-style:none}ul.l li{border-top:1px solid var(--hair);padding:10px 0 9px}ul.l li:first-child{border-top-color:var(--ink)}
.c>*+*,main>section>*+*:not(.g){margin-top:var(--s3)}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
caption{text-align:left;caption-side:top;padding-bottom:var(--s2)}
th{text-align:left;border-bottom:1px solid var(--ink);padding:8px var(--s2) 8px 0;font-weight:400;color:var(--mute)}
td{border-bottom:1px solid var(--hair);padding:12px var(--s2) 11px 0;vertical-align:top;overflow-wrap:anywhere}
.note{font:400 12px/20px var(--mono);color:var(--mute)}
/* evidence rail */
.rail .blk{border-top:1px solid var(--ink);padding:var(--s2) 0 var(--s3)}
.rail .blk h3{font:400 11px/20px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--mute);margin-bottom:var(--s1)}
.rail ul{list-style:none}.rail li{border-top:1px solid var(--hair);padding:9px 0 8px;overflow-wrap:anywhere;font-size:14px;line-height:22px}.rail li:first-child{border-top:0}
.rail.wide{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut)}
.rail.wide .blk{grid-column:span 4}
footer{border-top:1px solid var(--ink);margin-top:var(--s4);padding:var(--s3) 0 var(--s5)}
footer .f1{grid-column:1/5}footer .f2{grid-column:5/9}footer .f3{grid-column:9/13}
td.num{white-space:nowrap;text-align:right;padding-right:0}th:last-child{text-align:right;padding-right:0}
td[data-h="Name"] .mono{white-space:nowrap}
@media (max-width:1000px){
 :root{--pad:24px}
 .passport.home h1,.passport.home .def,.passport.home .pp,.passport.home .act,.passport.prod h1,.passport.prod .def,.passport.prod .pp,.passport.reg h1,.passport.reg .def,.passport.reg .pp{grid-column:1/-1;grid-row:auto}
 .passport.home h1{margin-bottom:var(--s3)}.passport .def{margin-bottom:var(--s3)}
 .passport.home .act{margin-top:var(--s3)}
 main,.rail,.rail.wide{grid-column:1/-1}.rail.wide .blk{grid-column:span 6}
 .sg .h,.sg .c{grid-column:1/-1}
 .pri{grid-column:4/12;gap:var(--s3)}
 footer .f1,footer .f2,footer .f3{grid-column:1/-1}}
@media (max-width:640px){
 :root{--pad:16px;--gut:12px;--s5:64px;--s4:40px}
 html{font-size:15px;line-height:24px}
 .brand{grid-column:1/7}.pri{grid-column:1/-1;grid-row:2;justify-content:flex-start;flex-wrap:wrap;gap:var(--s1) var(--s3);margin-top:var(--s1)}.lang{grid-column:7/13;grid-row:1}
 .passport{padding:var(--s3) 0 var(--s4)}.passport .def{font-size:17px;line-height:26px}
 .reg{grid-template-columns:1fr}.reg>dt{padding-bottom:0;border-top:1px solid var(--hair)}.reg>dd{border-top:0;padding-top:2px}
 .reg>dt:first-of-type{border-top-color:var(--ink)}
 .idx ol{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--gut)}.idx li{border-top:1px solid var(--hair)}
 table.stack td:empty{display:none}
 .rail.wide .blk{grid-column:1/-1}
 table.stack thead{display:none}table.stack tr{display:block;border-bottom:1px solid var(--hair);padding:10px 0}table.stack td{display:block;border:0;padding:0}table.stack td:before{content:attr(data-h) ": ";font:400 11px/20px var(--mono);color:var(--mute);letter-spacing:.06em;text-transform:uppercase}
 td.num{text-align:left}th:last-child{text-align:left}.s{white-space:normal}
 .ruler span:nth-child(n+5){display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.gt,.ov{display:none}}

.people{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,160px);gap:24px;padding:0;margin:0 0 24px}
.people .ph{display:block;text-decoration:none}
.people .pn{text-decoration:none}
.people .pn:hover{text-decoration:underline;text-decoration-color:var(--acc)}
.people img{display:block;border-radius:12px;width:160px;height:160px;object-fit:cover;filter:grayscale(1);margin-bottom:8px}
.people .pn{display:block;font-weight:600}
.people .pt{display:block;font-size:.875rem;line-height:1.35;color:#555}

.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 24px}
.door{display:flex;flex-direction:column;gap:16px;min-height:380px;padding:24px 0 24px;border-top:4px solid var(--ink);color:inherit;text-decoration:none}
.door .dn{font-size:clamp(2.5rem,6vw,5rem);font-weight:600;letter-spacing:-.02em;line-height:1}
.door .dk{font-weight:600}
.door .dd{max-width:36ch;font-size:1.125rem;line-height:1.5}
.door .dc{margin-top:auto;font-weight:600;color:var(--acc)}
.door:hover .dc,.door:focus-visible .dc{text-decoration:underline}
@media (max-width:720px){.doors{grid-template-columns:1fr}.door{min-height:0;padding-bottom:24px}}
/* v0032 corporate home: compact routes, services, plain headings */
.passport.home .def{grid-column:1/8;grid-row:3;font-size:20px;line-height:30px;max-width:52ch}
.passport.home .act{grid-column:1/6;grid-row:4;margin-top:var(--s3)}
.passport.home .hr{grid-column:7/13;grid-row:4;align-self:end}
.routes{list-style:none;margin:0 0 24px}
.routes li{border-top:1px solid var(--hair)}.routes li:first-child{border-top-color:var(--ink)}
.routes a{display:grid;grid-template-columns:minmax(110px,max-content) 1fr auto;column-gap:var(--gut);padding:12px 0;text-decoration:none;color:inherit;align-items:baseline}
.routes .rn{font-weight:600}.routes .rc{font-weight:600;color:var(--acc)}
.routes a:hover .rn,.routes a:hover .rc{text-decoration:underline}
.cta{margin:var(--s3) 0 24px}.cta a{font:600 24px/32px var(--sans);letter-spacing:-.01em;color:var(--acc);text-decoration:none;border-top:2px solid var(--acc);padding-top:var(--s2);display:inline-block}
.cta a:hover{text-decoration:underline}
@media (max-width:720px){.passport.home .def,.passport.home .act,.passport.home .hr{grid-column:1/-1;grid-row:auto}.routes a{grid-template-columns:1fr auto}.routes .rk{grid-column:1/2;grid-row:2}}
body.home main{grid-column:1/-1}

:root{--paper:#e8eecf;--acc:#3b3f42}
.gt{display:none}
.sg+.sg{margin-top:40px}
.passport.home .def{font-size:26px;line-height:37px;max-width:40ch}
@media (max-width:720px){.passport.home .def{font-size:22px;line-height:32px}}
.passport.home h1{font-size:clamp(30px,6.9vw,106px);white-space:nowrap}
ul:not([class]){list-style:disc;padding-left:1.5em;margin-left:0}ul:not([class]) li{padding-left:.25em}
.passport,.reg>dt,.reg>dd,.act,.idx,.idx li,.body section,ul.l li,th,td,.rail .blk,.rail li,footer,.routes li,.ruler,table.stack tr,.cta a,.door,.lang a[aria-current]{border-top:0!important;border-bottom:0!important}

.brand{display:inline-flex;align-items:center;gap:1.1em}.brand img{height:1.5em;width:auto;display:block}

.partners{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:var(--s3)}.partners a,.partners .pm{display:block;background:#fff;padding:6px 10px;border-radius:2px;line-height:0}.partners img{height:36px;width:auto;max-width:100%;display:block}



.tsw{font:inherit;background:none;border:1px solid var(--hair);color:var(--ink);padding:2px 10px;cursor:pointer}

:root{color-scheme:light}
