:root{
  --paper:#EFEEE9;
  --paper-hi:#F7F6F2;
  --paper-lo:#E5E4DD;
  --ink:#15132B;
  --ink-2:#47455C;
  --ink-3:#625F77;
  --rule:rgba(21,19,43,.14);
  --rule-2:rgba(21,19,43,.08);
  --violet:#5240FF;
  --violet-ink:#3D2CE0;
  --violet-soft:#DCD8FF;
  --teal:#21D8CF;
  --teal-ink:#0A8C85;
  --red:#EA381B;
  --red-ink:#C42C12;
  --board:#17152E;
  --board-text:#F2EEE3;
  --led:#FFC24A;
  --pad:clamp(16px,4.2vw,64px);
  --rail:clamp(28px,11vw,172px);
  --line-x:clamp(9px,3.2vw,46px);
  --line-w:6px;
  --display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --mono:"Martian Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display);font-size:17px;line-height:1.55;font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(21,19,43,.075) .7px,transparent .8px);background-size:22px 22px;mask-image:linear-gradient(#000,rgba(0,0,0,.35))}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ol,ul,figure,blockquote,dl,dd{margin:0}
ol,ul{padding:0;list-style:none}
h1,h2,h3{text-wrap:balance;font-weight:700}
p{text-wrap:pretty}
.num,.tab{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-variation-settings:"wdth" 87.5;font-size:11px;letter-spacing:.06em;text-transform:uppercase;line-height:1.5}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:4px}
::selection{background:var(--violet);color:#fff}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
.top.scrolled{border-bottom-color:var(--rule)}
.top-in{display:flex;align-items:center;gap:28px;height:68px;padding:0 var(--pad);max-width:1560px;margin:0 auto}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex:none}
.tapit{display:flex;align-items:center;gap:8px}
.tapit svg{width:19px;height:27px}
.wordmark{font-family:"Mulish",var(--display);font-size:25px;letter-spacing:-.01em;color:#2B3C53;line-height:1;display:flex;align-items:flex-start}
.wordmark b{font-weight:800}
.wordmark sup{font-size:12px;font-weight:800;margin:2px 0 0 2px;font-family:var(--display)}
.brand-x{width:1px;height:26px;background:var(--rule)}
.logo-co{display:block;height:25px;width:auto}
.logo-tapit{display:block;height:31px;width:auto}
.logo-sd{display:block;height:21px;width:auto}
.sd{font-family:var(--display);font-variation-settings:"wdth" 92;font-size:14px;letter-spacing:.02em;line-height:1;color:var(--ink)}
.sd b{color:var(--red);font-weight:800}
.sd span{font-weight:400}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{font-size:14.5px;white-space:nowrap;text-decoration:none;color:var(--ink-2);padding:8px 12px;border-radius:999px;transition:color .2s,background-color .2s}
.nav a:hover{color:var(--ink);background:var(--paper-lo)}
.nav a.sd-link{color:var(--red-ink)}
.btn{--b:var(--ink);display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:999px;font-family:var(--display);font-size:15px;font-weight:600;font-variation-settings:"wdth" 96;text-decoration:none;white-space:nowrap;background:var(--b);color:#fff;border:1.5px solid var(--b);transition:transform .25s var(--ease),background-color .25s,color .25s,box-shadow .25s}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px -12px color-mix(in srgb,var(--b) 70%,transparent)}
.btn:active{transform:translateY(0) scale(.98)}
.btn svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.btn:hover svg{transform:translate(2px,-2px)}
.btn.violet{--b:var(--violet)}
.btn.red{--b:var(--red-ink)}
.btn.ghost{background:transparent;color:var(--b)}
.btn.ghost:hover{background:var(--b);color:#fff}
.btn.sm{height:40px;padding:0 16px;font-size:14px}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border-radius:999px;border:1px solid var(--rule);background:var(--paper-hi);align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.menu-btn span{display:block;width:16px;height:1.5px;background:currentColor;position:relative}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:currentColor}
.menu-btn span::before{top:-5px}.menu-btn span::after{top:5px}
.drawer{display:none}
.drawer.open{display:block;position:fixed;inset:68px 0 auto 0;z-index:39;background:var(--paper);border-bottom:1px solid var(--rule);padding:8px var(--pad) 24px;box-shadow:0 30px 40px -30px rgba(21,19,43,.35);max-height:calc(100vh - 60px);overflow-y:auto;overscroll-behavior:contain}
.drawer a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule-2);text-decoration:none;font-size:20px;font-weight:600;font-variation-settings:"wdth" 88}
.drawer a .mono{color:var(--ink-3)}
.drawer .btn{margin-top:18px;width:100%;justify-content:center;border-bottom:0}

/* ---------- hero ---------- */
main{position:relative;z-index:1}
.hero{position:relative;max-width:1560px;margin:0 auto;padding:clamp(28px,4vw,56px) var(--pad) 0;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:clamp(24px,4vw,64px);align-items:start}
.kicker{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--ink-2);margin-bottom:clamp(20px,2.4vw,34px)}
.kicker span{display:inline-flex;align-items:center;gap:8px}
.kicker i{width:8px;height:8px;border-radius:50%;display:inline-block}
h1{font-weight:400}
.h1-big{display:block;font-size:clamp(50px,7.3vw,124px);line-height:.87;letter-spacing:-.026em;font-weight:760;font-variation-settings:"wdth" 76}
.h1-big .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.h1-big .ln>span{display:block;transform:translateY(105%);animation:rise 1.05s var(--ease) forwards}
.h1-big .ln:nth-child(2)>span{animation-delay:.08s}
.h1-big .ln:nth-child(3)>span{animation-delay:.16s}
.h1-big em{font-style:italic;font-weight:300;font-variation-settings:"wdth" 62;letter-spacing:-.03em;color:var(--violet)}
.h1-sub{display:block;margin-top:clamp(18px,2vw,28px);font-size:clamp(19px,1.7vw,25px);line-height:1.25;font-weight:560;font-variation-settings:"wdth" 92;letter-spacing:-.01em;max-width:24em;color:var(--ink)}
.h1-sub a{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat}
.lede{margin-top:16px;max-width:36em;color:var(--ink-2);font-size:clamp(16px,1.15vw,18px)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,2.6vw,36px)}
@keyframes rise{to{transform:none}}
@keyframes fadeup{from{opacity:.06;transform:translateY(14px)}to{opacity:1;transform:none}}
.fade-in{animation:fadeup .9s var(--ease) both}

/* kiosk drawing */
.kiosk-wrap{position:relative;justify-self:end;width:min(100%,510px);margin:-18px clamp(0px,2vw,30px) 0 0}
.kiosk-wrap::before{content:"";position:absolute;left:50%;top:30%;width:150%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(82,64,255,.16),rgba(82,64,255,.05) 55%,transparent);pointer-events:none;z-index:-1}
.kiosk{position:relative;width:100%;aspect-ratio:360/680}
.kiosk svg.draw{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.draw .ln{fill:none;stroke:var(--violet-ink);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.draw .ln.thin{stroke-width:.8;stroke:color-mix(in srgb,var(--violet-ink) 55%,transparent)}
.draw .ln.dim{stroke:var(--ink-3);stroke-width:.8}
.draw .fillv{fill:var(--violet)}
.draw .fillp{fill:var(--paper-hi)}
.draw .teal{fill:none;stroke:var(--teal);stroke-width:7;stroke-linecap:round;opacity:.9}
.draw .lbl{font-family:var(--mono);font-size:8.6px;letter-spacing:.06em;text-transform:uppercase;fill:var(--ink-2);font-variation-settings:"wdth" 87.5}
.draw .lbl.v{fill:var(--violet-ink)}
.draw .anim{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.6s var(--ease) forwards}
.draw .anim.d2{animation-delay:.35s}.draw .anim.d3{animation-delay:.7s}.draw .anim.d4{animation-delay:1s}
.draw .labels{opacity:.06;animation:labels .8s 1.3s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.kiosk.drawn .anim{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
@keyframes labels{from{opacity:.06}to{opacity:1}}

/* live screen */
.screen{position:absolute;left:24.44%;top:16.47%;width:51.11%;height:41.47%;border-radius:6px;background:#fff;overflow:hidden;box-shadow:0 0 0 1px rgba(61,44,224,.18),0 18px 40px -18px rgba(61,44,224,.55);display:flex;flex-direction:column;container-type:inline-size;opacity:.06;animation:labels .7s .55s var(--ease) forwards}
.scr-top{display:flex;align-items:center;justify-content:space-between;padding:6cqw 7cqw 4cqw;background:var(--violet);color:#fff}
.scr-top .tapit svg{width:5.6cqw;height:8cqw}
.scr-top .wordmark{color:#fff;font-size:8.4cqw}
.scr-time{font-family:var(--mono);font-size:5.4cqw;letter-spacing:.04em;opacity:.85}
.scr-hi{padding:5cqw 7cqw 1cqw;font-size:6.9cqw;line-height:1.12;font-weight:700;font-variation-settings:"wdth" 88;letter-spacing:-.01em}
.scr-lab{display:flex;align-items:center;gap:2cqw;padding:3.4cqw 7cqw 1.8cqw;font-family:var(--mono);font-size:3.5cqw;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.scr-lab::after{content:"";flex:1;height:1px;background:#ECEBF5}
.scr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4cqw;padding:0 7cqw;align-content:start}
.scr-grid.oth{flex:1}
.scr-grid li{position:relative;border-radius:2.8cqw;background:#F3F2FF;padding:2.8cqw 2.4cqw 2.6cqw;display:flex;flex-direction:column;gap:1.6cqw;font-size:3.9cqw;line-height:1.12;font-weight:600;color:var(--ink);transition:background-color .35s,color .35s,transform .35s var(--ease);overflow:hidden}
.scr-grid li svg{width:6cqw;height:6cqw;stroke:var(--violet);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s}
.scr-grid.ssm li{background:var(--ink);color:#fff;padding:3.2cqw 2.6cqw 3cqw}
.scr-grid.ssm li svg{stroke:var(--teal)}
.scr-grid li.on,.scr-grid.ssm li.on{background:var(--violet);color:#fff;transform:scale(.97)}
.scr-grid li.on svg{stroke:#fff}
.scr-grid li .rip{position:absolute;left:50%;top:50%;width:14cqw;height:14cqw;margin:-7cqw;border-radius:50%;border:1.2cqw solid var(--teal);opacity:0;visibility:hidden;pointer-events:none}
.scr-grid li.on .rip{animation:ripple .9s var(--ease) forwards}
@keyframes ripple{0%{opacity:.9;transform:scale(.3);visibility:visible}100%{opacity:0;transform:scale(2.6);visibility:hidden}}
.scr-pay{display:flex;justify-content:space-between;gap:2cqw;padding:3cqw 7cqw 4.4cqw;border-top:1px solid #ECEBF5;font-family:var(--mono);font-size:4.1cqw;letter-spacing:.04em;color:var(--ink-3);text-transform:uppercase}

/* status board */
.board-sign{position:relative;margin-top:clamp(28px,3.4vw,44px);max-width:720px;display:grid;grid-template-columns:auto 1fr 1fr;background:var(--board);color:var(--board-text);border-radius:16px;box-shadow:0 34px 60px -34px rgba(21,19,43,.7),inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.board-sign::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px);pointer-events:none}
.board-sign>div{padding:16px 20px 15px;display:flex;flex-direction:column;gap:6px;min-width:0}
.board-sign>div+div{border-left:1px dashed rgba(242,238,227,.16)}
.board-sign .mono{color:rgba(242,238,227,.62);font-size:10px;display:flex;align-items:center;gap:8px;white-space:nowrap}
.board-sign .clock{font-family:var(--mono);font-size:30px;font-weight:500;letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--led);line-height:1.05;text-shadow:0 0 18px rgba(255,194,74,.35);white-space:nowrap}
.board-sign .clock .s{opacity:.55}
.board-sign .buka{color:rgba(242,238,227,.7);font-size:13px;font-style:italic;font-variation-settings:"wdth" 80}
.board-sign b.num{font-family:var(--mono);font-weight:500;font-size:26px;line-height:1.05;letter-spacing:.01em;color:var(--board-text)}
.board-sign b.num small{font-size:11px;letter-spacing:.06em;color:rgba(242,238,227,.62);margin-right:4px;font-weight:400}
.board-sign .st-open{font-family:var(--mono);font-size:10px;color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-variation-settings:"wdth" 87.5}
.led{width:8px;height:8px;border-radius:50%;flex:none;background:var(--teal);box-shadow:0 0 0 3px rgba(33,216,207,.18),0 0 12px var(--teal);animation:blink 2.4s ease-in-out infinite}
.led.r{background:#FF6A4D;box-shadow:0 0 0 3px rgba(255,106,77,.18),0 0 12px #FF6A4D;animation-delay:1.2s}
@keyframes blink{50%{opacity:.45}}

/* line map (hero nav) */
.hero{row-gap:0}
.hero>*{min-width:0}
html,.hero{overflow-x:clip}
.linemap-wrap{grid-column:1/-1;margin-top:-15px;position:relative;z-index:2;min-width:0}
.linemap-head{position:absolute;left:0;bottom:calc(100% + 18px);display:flex;gap:22px;color:var(--ink-3)}
.linemap-head i{display:inline-block;width:22px;height:5px;border-radius:3px;vertical-align:middle;margin-left:6px}
.linemap-scroll{overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--pad)*-1);padding:0 var(--pad) 6px}
.linemap-scroll::-webkit-scrollbar{display:none}
.linemap{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));min-width:1060px;position:relative}
.linemap li{position:relative;padding-top:30px}
.linemap li::before{content:"";position:absolute;top:9px;left:0;right:0;height:var(--line-w);background:var(--c,var(--violet));transform-origin:left;transform:scaleX(0);animation:grow .7s var(--ease) forwards;animation-delay:calc(.9s + var(--i)*.07s)}
.linemap li:first-child::before{left:11px}
.linemap li:last-child::before{right:calc(100% - 11px)}
.linemap li[data-l="v"]{--c:var(--violet)}
.linemap li[data-l="r"]{--c:var(--red)}
.linemap li[data-l="x"]::before{background:linear-gradient(90deg,var(--violet) 50%,var(--red) 50%)}
.linemap a{display:block;text-decoration:none;padding-right:10px}
.linemap .stop{position:absolute;top:3px;left:0;width:18px;height:18px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--c,var(--violet));z-index:1;transition:transform .25s var(--ease),background-color .25s}
.linemap li[data-l="x"] .stop{width:40px;left:-11px;border-radius:999px;border-color:var(--ink);border-width:3.5px}
.linemap li[data-l="t"] .stop{width:22px;height:22px;top:1px;left:-2px;border-color:var(--red);background:var(--red);box-shadow:inset 0 0 0 4px var(--paper-hi)}
.linemap li[data-l="b"] .stop{border-color:var(--teal)}
.linemap li[data-l="b"] .stop::after{content:"";position:absolute;left:50%;top:calc(100% + 1px);width:4px;height:9px;margin-left:-2px;border-radius:0 0 2px 2px;background:var(--teal)}
.linemap li[data-l="b"] .no{color:var(--teal-ink)}
.linemap li[data-l="b"] a:hover .stop{background:var(--teal)}
.linemap li[data-l="b"] a:hover .nm{color:var(--teal-ink)}
.linemap a:hover .stop{transform:scale(1.2);background:var(--c,var(--violet))}
.linemap .no{display:block;color:var(--ink-3);margin-top:8px}
.linemap .nm{display:block;font-size:15px;line-height:1.2;font-weight:620;font-variation-settings:"wdth" 86;margin-top:2px;transition:color .2s}
.linemap a:hover .nm{color:var(--c,var(--violet))}
@keyframes grow{to{transform:scaleX(1)}}

/* ---------- route (the continuous line) ---------- */
.route{position:relative;max-width:1560px;margin:clamp(48px,6vw,90px) auto 0;padding:0 var(--pad)}
.st{--c:var(--violet);position:relative;padding:0 0 clamp(80px,9vw,150px) var(--rail)}
.st::before{content:"";position:absolute;left:var(--line-x);top:0;bottom:0;width:var(--line-w);margin-left:calc(var(--line-w)/-2);background:var(--c);border-radius:0}
.st:first-child::before{top:14px;border-radius:6px 6px 0 0}
.st.r{--c:var(--red)}
.st.x::before{background:linear-gradient(var(--violet) 0 var(--xi,96px),var(--red) var(--xi,96px))}
.st.t{padding-bottom:0}
.st.t::before{bottom:auto;height:24px}
.sign{position:relative;display:flex;align-items:center;gap:14px;margin:0 0 clamp(22px,3vw,40px) calc(var(--line-x) + 30px - var(--rail));min-height:28px}
.sign::before{content:"";position:absolute;left:-30px;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--paper-hi);border:5px solid var(--c);box-sizing:border-box}
.st.x .sign::before{width:30px;height:62px;margin:-31px 0 0 -15px;border-radius:999px;border-color:var(--ink);border-width:4px}
.st.t .sign::before{background:var(--red);box-shadow:inset 0 0 0 5px var(--paper-hi)}
.sign .mono{color:var(--ink-2)}
.sign .mono b{color:var(--c);font-weight:600}
.st.x .sign .mono b{color:var(--ink)}
.sign .tag{white-space:nowrap;display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--c);color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-variation-settings:"wdth" 87.5}
.h2{font-size:clamp(34px,4.6vw,74px);line-height:.96;letter-spacing:-.035em;font-weight:720;font-variation-settings:"wdth" 78;max-width:15ch}
.h2 em{font-style:italic;font-weight:300;font-variation-settings:"wdth" 64;color:var(--c)}
.h3{font-size:clamp(20px,1.7vw,26px);line-height:1.15;letter-spacing:-.015em;font-weight:660;font-variation-settings:"wdth" 88}
.body{color:var(--ink-2);max-width:36em}
.body strong{color:var(--ink);font-weight:620}
.answer{font-size:clamp(18px,1.45vw,22px);line-height:1.45;color:var(--ink);max-width:34em;font-weight:420}
.answer strong{font-weight:640}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.link{color:var(--c);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .3s var(--ease)}
.link:hover{background-size:100% 1.5px}
.link svg{width:14px;height:14px}
.js .reveal{opacity:.06;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

/* station 01: kaas */
.kaas{grid-auto-flow:dense;align-items:center}
.kaas .plan{grid-column:1/span 5;position:relative}
.kaas .plan svg{width:100%;height:auto}
.plan .ln{fill:none;stroke:var(--violet-ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.plan .thin{stroke-width:.8;stroke:color-mix(in srgb,var(--violet-ink) 50%,transparent)}
.plan .hatch{stroke:color-mix(in srgb,var(--violet-ink) 22%,transparent);stroke-width:.8}
.plan text{font-family:var(--mono);font-size:10px;letter-spacing:.06em;fill:var(--ink-2);text-transform:uppercase}
.plan text.big{font-family:var(--display);font-size:40px;font-weight:700;letter-spacing:-.02em;fill:var(--violet-ink);text-transform:none;font-variation-settings:"wdth" 74}
.kaas .txt{grid-column:6/span 7;display:flex;flex-direction:column;gap:22px}
.spec{border-top:1.5px solid var(--ink);margin-top:10px}
.spec div{display:grid;grid-template-columns:minmax(120px,.8fr) 1.4fr;gap:18px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--rule)}
.spec dt{color:var(--ink-3)}
.spec dd{font-size:clamp(22px,2.1vw,32px);font-weight:680;letter-spacing:-.02em;line-height:1.1;font-variation-settings:"wdth" 80}
.spec dd small{display:block;font-size:15px;font-weight:400;letter-spacing:0;color:var(--ink-2);margin-top:4px;font-variation-settings:"wdth" 100}

/* station 02: services */
.svc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,90px);align-items:start}
.svc-list{counter-reset:s;border-top:1.5px solid var(--ink)}
.svc-list li{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--rule);position:relative;cursor:default}
.svc-list li::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.svc-list li span{font-size:clamp(22px,2.3vw,36px);line-height:1.05;letter-spacing:-.025em;font-weight:640;font-variation-settings:"wdth" 82;transition:color .3s,transform .4s var(--ease)}
.svc-list li svg{width:26px;height:26px;stroke:var(--ink-3);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s,transform .4s var(--ease)}
.svc-list li:hover span{color:var(--violet);transform:translateX(6px)}
.svc-list li:hover svg{stroke:var(--violet);transform:rotate(-8deg) scale(1.1)}
.pay-plate{margin-top:28px;display:inline-grid;grid-template-columns:auto auto auto;border:1.5px solid var(--ink);border-radius:12px;overflow:hidden;background:var(--paper-hi)}
.pay-plate>.mono{grid-column:1/-1;padding:8px 14px;background:var(--ink);color:var(--paper-hi)}
.pay-plate>div{padding:14px 18px;display:flex;align-items:center;gap:10px;font-weight:640;font-variation-settings:"wdth" 88;font-size:16px}
.pay-plate>div+div{border-left:1px solid var(--rule)}
.pay-plate svg{width:22px;height:22px;stroke:var(--violet);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* station 03: partners */
.partners .lead{grid-column:1/span 7}
.partners .gain{grid-column:8/span 5;align-self:end}
.gain li{display:flex;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule);font-size:18px;font-weight:560;font-variation-settings:"wdth" 90}
.gain li .mono{color:var(--violet-ink);min-width:28px}
.dest{margin-top:clamp(36px,5vw,64px);border-top:1.5px solid var(--ink);padding-top:16px}
.dest .mono{color:var(--ink-3)}
.dest ul{display:flex;flex-wrap:wrap;gap:4px 0;margin-top:10px}
.dest li{font-size:clamp(26px,3.6vw,56px);line-height:1.06;letter-spacing:-.03em;font-weight:700;font-variation-settings:"wdth" 70;color:var(--ink);transition:color .25s}
.dest li::after{content:"/";color:var(--violet);font-weight:300;margin:0 .28em}
.dest li:last-child::after{content:""}
.dest li:hover{color:var(--violet)}
.contact-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;align-items:center}

/* station 04: network */
.net{position:relative}
.net-top{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:clamp(20px,4vw,64px)}
.net-top .h2{max-width:12ch}
.net-top .body{margin-top:18px}
.map text{paint-order:stroke;stroke:var(--paper);stroke-width:.9px;stroke-linejoin:round}
@property --m{syntax:'<percentage>';inherits:false;initial-value:0%}
.js .map svg{-webkit-mask-image:linear-gradient(100deg,#000 calc(var(--m) - 14%),rgba(0,0,0,.06) var(--m));mask-image:linear-gradient(100deg,#000 calc(var(--m) - 14%),rgba(0,0,0,.06) var(--m))}
.js .map.in svg{animation:sweep 2.2s .15s var(--ease) forwards}
@keyframes sweep{to{--m:120%}}
.big500{font-size:clamp(96px,15vw,240px);line-height:.8;letter-spacing:-.06em;font-weight:760;font-variation-settings:"wdth" 66;color:var(--violet)}
.big500 sup{font-size:.42em;vertical-align:top;position:relative;top:.08em;margin-left:.02em}
.map{position:relative;margin-top:clamp(18px,3vw,40px)}
.map svg{width:100%;height:auto;overflow:visible}
.map .dots{stroke:color-mix(in srgb,var(--violet) 72%,var(--paper));stroke-width:.64;stroke-linecap:round}
.map .ring{fill:none;stroke:var(--ink);stroke-width:.35}
.map .pulse{fill:var(--teal);opacity:.06;transform-box:fill-box;transform-origin:center;animation:pulse 3.2s ease-out infinite}
.map .core{fill:var(--ink)}
.map text{font-family:var(--mono);font-size:2.05px;letter-spacing:.06em;fill:var(--ink);text-transform:uppercase}
.map .lead-l{stroke:var(--ink);stroke-width:.2;fill:none}
@keyframes pulse{0%{opacity:.55;transform:scale(.4)}80%,100%{opacity:.06;transform:scale(2.6)}}
.net-foot{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px;align-items:center;justify-content:space-between}

/* branch line: the company */
.st.b .sign::before{border-color:var(--teal)}
.st.b .sign .mono b{color:var(--teal-ink)}
.st.b .sign .tag{background:var(--teal-ink)}
.co-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:end}
.co-top .h2{max-width:12ch}
.co-top .h2 em{color:var(--teal-ink)}
.branch{position:relative;margin-top:clamp(36px,4.6vw,64px)}
.branch::before{content:"";position:absolute;top:9px;left:calc(var(--line-x) - var(--rail));width:calc(var(--rail) - var(--line-x));height:var(--line-w);background:var(--teal)}
.branch::after{content:"";position:absolute;top:calc(9px + var(--line-w)/2 - 11px);left:calc(var(--line-x) - var(--rail) - 11px);width:22px;height:22px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--teal);box-sizing:border-box;z-index:1}
.br-scroll{overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
.br-scroll::-webkit-scrollbar{display:none}
.br-line{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.br-line li{position:relative;padding:34px 20px 0 0}
.br-line li::before{content:"";position:absolute;top:9px;left:0;right:0;height:var(--line-w);background:var(--teal)}
.br-line li:last-child::before{right:20px;border-radius:0 3px 3px 0}
.br-line li::after{content:"";position:absolute;top:3px;left:0;width:18px;height:18px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--teal);box-sizing:border-box}
.br-line li:last-child::after{left:auto;right:20px;background:var(--teal);box-shadow:inset 0 0 0 3px var(--paper-hi)}
.br-line .pic{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:var(--paper-lo);box-shadow:0 1px 0 rgba(21,19,43,.05),0 22px 40px -30px rgba(21,19,43,.6)}
.br-line .pic img{width:100%;height:100%;object-fit:contain;transition:transform .7s var(--ease)}
.br-line .pic.white{background:#fff}
.br-line li:hover .pic img{transform:scale(1.04)}
.pic figcaption,.xc-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 12px 10px;background:linear-gradient(rgba(21,19,43,0),rgba(21,19,43,.82));color:#fff;font-size:12px;line-height:1.3;font-weight:500}
.br-line .pic.sketch{background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule)}
.br-line .pic.sketch svg{width:100%;height:100%}
.br-line .pic.sketch figcaption{background:none;color:var(--ink-3);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:0 12px 10px}
.sketch .ln{fill:none;stroke:var(--violet-ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sketch .ln.thin{stroke-width:.9;stroke:color-mix(in srgb,var(--violet-ink) 55%,transparent)}
.sketch .fv{fill:var(--violet)}
.sketch .teal{fill:none;stroke:var(--teal);stroke-width:6;stroke-linecap:round;opacity:.9}
.sketch .flow{fill:none;stroke:var(--teal);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:3 9;animation:flow 1.4s linear infinite}
.sketch text{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;fill:var(--ink-2)}
.sketch text.api{font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:0;fill:var(--violet-ink);text-transform:none}
@keyframes flow{to{stroke-dashoffset:-24}}
.br-line h3{margin-top:14px;font-size:17px;line-height:1.2;font-weight:660;letter-spacing:-.01em;font-variation-settings:"wdth" 86}
.br-line p{margin-top:5px;font-size:14px;color:var(--ink-2);line-height:1.4}
.br-hint{display:none;margin-left:auto}
.br-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}
.corp{margin-top:clamp(30px,4vw,52px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 32px;align-items:center;padding:18px 0;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--rule)}
.corp>.mono{color:var(--teal-ink)}
.corp p{font-size:clamp(17px,1.4vw,21px);font-weight:560;letter-spacing:-.01em;font-variation-settings:"wdth" 90;line-height:1.3;max-width:34em}
.corp-cta{display:flex;gap:10px;flex-wrap:wrap}

/* interchange */
.xchg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:end}
.xchg .h2{max-width:13ch}
.xchg .h2 .v{color:var(--violet)}
.xchg .h2 .r{color:var(--red)}
.xc-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,3vw,48px);margin-top:clamp(32px,4vw,56px);align-items:start}
.xc-photo{grid-column:1/span 4}
.xc-right{grid-column:5/span 8;display:flex;flex-direction:column;gap:clamp(18px,2vw,26px)}
/* photos */
.xc-photo{position:relative;border-radius:16px;overflow:hidden;background:var(--paper-lo);box-shadow:0 1px 0 rgba(21,19,43,.06),0 34px 60px -40px rgba(21,19,43,.6)}
.xc-photo img{width:100%;height:auto}
.xc-photo figcaption{padding:44px 16px 14px;font-size:13px}
.xc-photo figcaption small{display:block;font-size:11px;opacity:.72;margin-top:2px}
.credit{color:var(--ink-3)}
/* wayfinding sign: where to go */
.wayfind{display:grid;grid-template-columns:1fr 1fr;background:var(--board);color:var(--board-text);border-radius:16px;overflow:hidden;position:relative;box-shadow:0 34px 60px -36px rgba(21,19,43,.7),inset 0 0 0 1px rgba(255,255,255,.06)}
.wayfind::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px);pointer-events:none}
.wf{--lc:var(--violet);position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:start;padding:22px 22px 20px;text-decoration:none;border-top:5px solid var(--lc);transition:background-color .25s}
.wf.r{--lc:var(--red)}
.wf+.wf{border-left:1px dashed rgba(242,238,227,.16)}
.wf:hover{background:rgba(255,255,255,.04)}
.wf-ic{width:44px;height:44px;border-radius:11px;background:var(--lc);display:grid;place-items:center}
.wf-ic svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wf .mono{color:rgba(242,238,227,.6);display:block}
.wf b{display:block;margin-top:6px;font-size:clamp(19px,1.6vw,24px);line-height:1.15;letter-spacing:-.015em;font-weight:620;font-variation-settings:"wdth" 86}
.wf b span{display:block}
.wf .go{display:inline-flex;align-items:center;gap:6px;margin-top:12px;text-decoration:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--lc-t,#B9B1FF);font-variation-settings:"wdth" 87.5}
.wf.r .go{--lc-t:#FF8A70}
.wf .go svg{width:12px;height:12px}
.wf-ar{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(242,238,227,.22);display:grid;place-items:center;transition:transform .3s var(--ease),border-color .25s,background-color .25s}
.wf-ar svg{width:18px;height:18px;stroke:var(--board-text);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wf:hover .wf-ar{background:var(--lc);border-color:var(--lc)}
.wf.v:hover .wf-ar{transform:translateX(-3px)}
.wf.r:hover .wf-ar{transform:translateY(3px)}
/* kiosk fare chart */
.kfare{position:relative;background:var(--paper-hi);border-radius:16px;padding:22px 26px 20px;box-shadow:0 1px 0 rgba(21,19,43,.06),0 24px 50px -36px rgba(21,19,43,.5)}
.kfare::before{content:"";position:absolute;left:26px;right:26px;top:0;height:4px;background:var(--violet);border-radius:0 0 4px 4px}
.kf-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1.5px solid var(--ink)}
.kf-head .t{font-size:clamp(19px,1.6vw,23px);font-weight:680;letter-spacing:-.015em;font-variation-settings:"wdth" 84}
.kf-head .mono{color:var(--ink-3)}
table.kf{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.kf th{font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:12px 12px 8px 0;white-space:nowrap}
.kf th:last-child,.kf td:last-child{text-align:right;padding-right:0}
.kf td{padding:13px 12px 13px 0;border-bottom:1px solid var(--rule);vertical-align:top;font-size:16px;line-height:1.3}
.kf td:first-child{font-size:clamp(17px,1.35vw,20px);font-weight:620;letter-spacing:-.01em;font-variation-settings:"wdth" 88}
.kf td:first-child small{display:block;font-size:13.5px;font-weight:400;color:var(--ink-3);letter-spacing:0;margin-top:2px;font-variation-settings:"wdth" 100}
.kf td.fee{font-family:var(--mono);font-size:14px;letter-spacing:.01em;color:var(--ink);white-space:nowrap}
.kf td.fee span{display:block}
.kf td.fee span+span{margin-top:7px}
.kf td.fee.wrap{white-space:normal}
.kf td.fee small{display:block;font-family:var(--display);font-size:13px;color:var(--ink-3);margin-top:2px;letter-spacing:0}
.kf td.k{font-family:var(--mono);font-size:15px;color:var(--violet-ink);font-weight:600;white-space:nowrap}
.kf td.free{color:var(--teal-ink)}
.kf-foot{margin-top:14px;color:var(--ink-2);font-size:14.5px;line-height:1.45}
.kf-foot strong{color:var(--ink);font-weight:620}
.xc-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* station 05: safedata */
.sd-mark{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,56px)}
.sd-word{font-size:clamp(54px,10.4vw,176px);line-height:.82;letter-spacing:-.05em;font-variation-settings:"wdth" 72;color:var(--ink)}
.sd-word b{font-weight:820;color:var(--red)}
.sd-word span{font-weight:340}
.sd-word i{font-style:normal;font-weight:340;color:var(--ink-3)}
.sd-logo{display:block;width:clamp(280px,46vw,700px);height:auto}
.sd-mark .mono{color:var(--ink-2);padding-bottom:1.2em}
.sd-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,90px)}
.quote{position:relative;margin-top:30px;padding:26px 28px 24px;background:var(--paper-hi);border-radius:16px;box-shadow:0 1px 0 rgba(21,19,43,.06),0 24px 50px -36px rgba(21,19,43,.5)}
.quote::before{content:"";position:absolute;left:28px;right:28px;top:0;height:4px;background:var(--red);border-radius:0 0 4px 4px}
.quote p{font-size:clamp(19px,1.6vw,24px);line-height:1.32;letter-spacing:-.012em;font-weight:500;font-variation-settings:"wdth" 90}
.quote footer{margin-top:16px;color:var(--ink-3)}
.quote footer a{color:var(--red-ink)}
.facts4{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--ink)}
.facts4>div{padding:18px 0 20px;border-bottom:1px solid var(--rule)}
.facts4>div:nth-child(odd){padding-right:18px;border-right:1px solid var(--rule)}
.facts4>div:nth-child(even){padding-left:22px}
.facts4 b{display:block;font-size:clamp(36px,3.8vw,58px);line-height:.95;letter-spacing:-.04em;font-weight:740;font-variation-settings:"wdth" 72;color:var(--red)}
.facts4 b small{font-size:.42em;letter-spacing:-.01em;margin-right:.08em;font-weight:600}
.facts4 span{display:block;margin-top:8px;font-size:14.5px;color:var(--ink-2);line-height:1.35}
.platforms{margin-top:clamp(40px,5vw,72px)}
.platforms .mono{color:var(--ink-3)}
.pl-line{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px}
.pl-line::before{content:"";position:absolute;left:8px;right:8px;top:8px;height:3px;background:repeating-linear-gradient(90deg,var(--ink-3) 0 6px,transparent 6px 11px)}
.pl-line::after{content:"";position:absolute;right:8px;top:8px;height:3px;width:calc(25% - 0px);background:var(--red)}
.pl-line li{position:relative;padding-top:30px;padding-right:12px}
.pl-line li::before{content:"";position:absolute;top:0;left:0;width:19px;height:19px;border-radius:50%;background:var(--paper-hi);border:3px solid var(--ink-3);z-index:1}
.pl-line li.me::before{border-color:var(--red);background:var(--red);box-shadow:inset 0 0 0 3.5px var(--paper-hi);width:22px;height:22px;top:-1.5px}
.pl-line b{display:block;font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink-3)}
.pl-line span{display:block;font-size:17px;font-weight:640;font-variation-settings:"wdth" 86;line-height:1.2;margin-top:4px}
.pl-line li.me span{color:var(--red-ink)}
.pl-note{margin-top:18px;color:var(--ink-2);font-size:15px;max-width:52em}
.register{margin-top:clamp(40px,5vw,72px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:0;border-top:1.5px solid var(--ink)}
.register>div{padding:18px 20px 22px 0}
.register>div+div{padding-left:22px;border-left:1px solid var(--rule)}
.register .mono{color:var(--ink-3)}
.register b{display:block;font-size:clamp(34px,4.4vw,70px);line-height:1;letter-spacing:-.045em;font-weight:720;font-variation-settings:"wdth" 70;margin-top:10px;font-variant-numeric:tabular-nums}
.register span{display:block;margin-top:6px;font-size:14.5px;color:var(--ink-2)}
.register span.mono{font-size:11px;margin-top:0;color:var(--ink-3)}
.register .kyc{font-size:clamp(22px,2vw,30px);line-height:1.15;letter-spacing:-.02em;font-weight:640;font-variation-settings:"wdth" 84;margin-top:10px}
.register .kyc em{color:var(--red);font-style:normal}
.featured{margin-top:clamp(36px,4vw,56px)}
.featured .mono{color:var(--ink-3)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.chips li{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px 0 8px;border-radius:999px;background:var(--paper-hi);border:1px solid var(--rule);font-weight:600;font-variation-settings:"wdth" 90;font-size:15.5px}
.chips li i{width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--red) 12%,var(--paper-hi));display:grid;place-items:center;font-style:normal}
.chips li i svg{width:15px;height:15px;stroke:var(--red-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chips li small{color:var(--ink-3);font-weight:400;font-size:13.5px}
.cats{margin-top:16px;color:var(--ink-2);font-size:15px}

/* station 06: price board */
.prices-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:end;margin-bottom:clamp(28px,4vw,48px)}
.boardp{background:var(--board);color:var(--board-text);border-radius:22px;padding:clamp(18px,2.6vw,36px);box-shadow:0 50px 90px -50px rgba(21,19,43,.7),inset 0 0 0 1px rgba(255,255,255,.05);position:relative;overflow:hidden}
.boardp::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);pointer-events:none}
.bp-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid rgba(242,238,227,.16)}
.bp-head .t{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.bp-head .t b{color:#FF6A4D;font-weight:600}
.bp-head .mono{color:rgba(242,238,227,.55)}
table.fares{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.fares caption{text-align:left}
.fares col.p{width:8.5em}
.fares th{font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,227,.55);text-align:right;padding:16px 0 10px 12px;white-space:nowrap}
.fares th:first-child{text-align:left;padding-left:0}
.fares th.ctc{color:var(--led)}
.fares td{padding:13px 0 13px 12px;border-top:1px solid rgba(242,238,227,.09);text-align:right;font-family:var(--mono);font-size:clamp(13px,1.1vw,16px);letter-spacing:.02em;white-space:nowrap;vertical-align:top}
.fares td:first-child{text-align:left;padding-left:0;font-family:var(--display);font-size:clamp(15px,1.25vw,18.5px);letter-spacing:-.005em;font-weight:520;white-space:normal;font-variation-settings:"wdth" 92}
.fares td:first-child small{display:block;color:rgba(242,238,227,.55);font-size:13px;font-weight:400;margin-top:3px;line-height:1.35}
.fares td.ctc{color:var(--led)}
.fares td.na{color:rgba(242,238,227,.28)}
.fares tr.hl td{font-size:clamp(15px,1.35vw,20px)}
.fares tr.hl td:first-child{font-weight:680;font-size:clamp(17px,1.5vw,22px)}
.fares tr.hl td:first-child small{display:inline-block;margin:0 0 0 10px;padding:2px 8px;border-radius:999px;border:1px solid rgba(255,194,74,.45);color:var(--led);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}
.fares tr:hover td{background:rgba(255,255,255,.035)}
.fares tr.fc-m{display:none}
.fares td small.fr{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,227,.55);margin-bottom:2px}
.bp-foot{margin-top:18px;padding-top:16px;border-top:1px solid rgba(242,238,227,.16);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;color:rgba(242,238,227,.7);font-size:14px}
.bp-foot a.btn{--b:var(--red-ink)}

/* station 07: how to buy */
.how{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,5vw,90px);align-items:start}
.steps{margin-top:26px;border-top:1.5px solid var(--ink)}
.steps li{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--rule);transition:opacity .4s}
.steps li .n{width:38px;height:38px;border-radius:50%;border:2px solid var(--red);display:grid;place-items:center;font-family:var(--mono);font-size:13px;color:var(--red-ink);transition:background-color .35s,color .35s}
.steps li.on .n{background:var(--red);color:#fff}
.steps li h3{font-size:20px;font-weight:660;font-variation-settings:"wdth" 88;letter-spacing:-.01em;line-height:1.2}
.steps li p{color:var(--ink-2);font-size:15.5px;margin-top:3px}
.steps.live li:not(.on){opacity:.55}
.anytime{margin-top:20px;display:flex;gap:14px;flex-wrap:wrap}
.anytime span{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;color:var(--ink-2)}
.anytime span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red)}

.win{position:sticky;top:100px;background:var(--paper-hi);border-radius:18px;box-shadow:0 1px 0 rgba(21,19,43,.06),0 40px 80px -48px rgba(21,19,43,.6),inset 0 0 0 1px var(--rule-2);overflow:hidden}
.win-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--rule-2);background:var(--paper)}
.win-bar i{width:10px;height:10px;border-radius:50%;background:var(--paper-lo);box-shadow:inset 0 0 0 1px var(--rule)}
.win-url{flex:1;height:30px;border-radius:999px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2);display:flex;align-items:center;gap:8px;padding:0 14px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}
.win-url svg{width:12px;height:12px;stroke:var(--teal-ink);fill:none;stroke-width:2}
.win-body{position:relative;height:318px;padding:22px}
.ents{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.ents span{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;padding:6px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--rule);color:var(--ink-2)}
.ents span.on{background:var(--ink);color:#fff;box-shadow:none}
.pane{position:absolute;inset:22px;opacity:.06;visibility:hidden;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s .5s}
.pane.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s}
.pane h4{margin:0 0 14px;font-size:13px;font-family:var(--mono);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.fld{height:54px;border-radius:12px;border:1.5px solid var(--ink);display:flex;align-items:center;gap:12px;padding:0 16px;font-size:18px;font-weight:560;background:#fff}
.fld svg{width:18px;height:18px;stroke:var(--ink-3);fill:none;stroke-width:2;flex:none}
.fld .typed{white-space:nowrap;overflow:hidden}
.fld .caret{width:2px;height:22px;background:var(--red);animation:blink 1s steps(1) infinite}
.res{margin-top:14px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--rule-2);padding:14px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.res b{font-weight:680;font-variation-settings:"wdth" 88}
.res small{display:block;font-family:var(--mono);font-size:11px;color:var(--ink-3);margin-top:3px}
.res .pill{font-family:var(--mono);font-size:10.5px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--teal) 18%,#fff);color:var(--teal-ink)}
.doc-rows li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--rule-2);font-size:15px;font-weight:540}
.doc-rows .o{font-family:var(--mono);font-size:11.5px;padding:6px 10px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--rule);color:var(--ink-2);white-space:nowrap}
.doc-rows .o.sel{background:var(--red);color:#fff;box-shadow:none}
.cart{border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--rule-2);padding:6px 16px}
.cart div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dashed var(--rule)}
.cart div:last-child{border-bottom:0;font-weight:700}
.cart span:last-child{font-family:var(--mono);font-size:14px}
.paybtn{margin-top:16px;height:52px;border-radius:12px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:650;letter-spacing:.01em}
.dl{display:flex;gap:16px;align-items:center;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--rule-2);padding:16px}
.dl .file{width:52px;height:64px;border-radius:6px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--rule);position:relative;flex:none}
.dl .file::after{content:"PDF";position:absolute;left:6px;bottom:6px;font-family:var(--mono);font-size:9px;background:var(--red);color:#fff;padding:2px 4px;border-radius:3px}
.dl b{display:block;font-weight:680}
.dl small{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.dl .go{margin-left:auto;width:44px;height:44px;border-radius:50%;background:var(--ink);display:grid;place-items:center;flex:none}
.dl .go svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
.win-note{padding:0 22px 18px;color:var(--ink-3)}
.prog{position:absolute;left:0;bottom:0;height:3px;background:var(--red);width:0}
/* her real SAFEDATA-SSM screens (Alexzis, 27 Oct 2026): each step zooms into the part that matters */
.win.real{--dur:4200ms}
.win.real .win-body{height:auto;aspect-ratio:16/9;padding:0;background:#fff}
.win.real .pane{inset:0}
.win.real .pane.drawn{inset:22px}
.shot{position:absolute;inset:0;overflow:hidden;background:#fff}
.shot img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:var(--zx) var(--zy)}
.pane.on .shot img{animation:shotzoom var(--dur) cubic-bezier(.45,0,.25,1) both}
.pane.on .shot.b img{animation-name:shotzoom2}
.shot.b{opacity:0}
.pane.on .shot.b{animation:shotin calc(var(--dur) / 2) ease both;animation-delay:calc(var(--dur) / 2)}
.pane.on .shot.b img{animation-duration:calc(var(--dur) / 2);animation-delay:calc(var(--dur) / 2)}
/* step 4, her My Purchase(s) screen (Alexzis, 28 Oct 2026): wider than 16:9, so shown whole from the top on the
   page's own grey instead of cut */
.shot.full{background:#eef0f4}
.shot.full img{object-fit:contain;object-position:50% 0}
@keyframes shotzoom{0%,18%{transform:scale(1)}100%{transform:scale(1.9)}}
@keyframes shotzoom2{0%,20%{transform:scale(1)}100%{transform:scale(1.3)}}
@keyframes shotin{0%{opacity:0}30%,100%{opacity:1}}
@media (prefers-reduced-motion:reduce){.pane.on .shot img,.pane.on .shot.b{animation:none}}

/* station 08: faq */
.faq-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,90px)}
.faq{border-top:1.5px solid var(--ink)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 32px;gap:16px;align-items:center;padding:20px 0;font-size:clamp(18px,1.5vw,22px);font-weight:620;letter-spacing:-.01em;line-height:1.25;font-variation-settings:"wdth" 88}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--rule);position:relative;transition:transform .35s var(--ease),background-color .25s,border-color .25s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:var(--ink)}
.faq summary i::after{transform:rotate(90deg);transition:transform .35s var(--ease)}
.faq details[open] summary i{background:var(--c);border-color:var(--c)}
.faq details[open] summary i::before,.faq details[open] summary i::after{background:#fff}
.faq details[open] summary i::after{transform:rotate(0)}
.faq summary:hover{color:var(--c)}
.faq .a{padding:0 48px 22px 0;color:var(--ink-2);max-width:44em}
.faq .a a{color:var(--red-ink)}
.faq-side{position:sticky;top:110px;align-self:start}
.faq-side p{color:var(--ink-2);margin-top:18px}
.faq-side .btn{margin-top:22px}

/* terminus */
.term{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.plat{background:var(--paper-hi);border-radius:20px;padding:clamp(22px,2.6vw,36px);box-shadow:0 1px 0 rgba(21,19,43,.05),0 30px 60px -44px rgba(21,19,43,.5);position:relative;overflow:hidden}
.plat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--pc)}
.plat.v{--pc:var(--violet)}
.plat.r{--pc:var(--red)}
.plat .mono{color:var(--ink-3)}
.plat h3{font-size:clamp(26px,2.6vw,40px);letter-spacing:-.03em;font-variation-settings:"wdth" 78;line-height:1;margin-top:10px}
.plat h3 b{color:var(--pc)}
.plat p{color:var(--ink-2);margin-top:12px;max-width:30em}
.plat dl{margin-top:20px;border-top:1px solid var(--rule)}
.plat dl div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule-2);align-items:baseline}
.plat dt{color:var(--ink-3)}
.plat dd a{text-decoration:none;font-weight:600;font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}
.plat dd a:hover{color:var(--pc)}
.plat .btn{margin-top:22px}
.colophon{margin-top:clamp(40px,5vw,72px);padding:22px 0 calc(28px + env(safe-area-inset-bottom));border-top:1.5px solid var(--ink);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:20px 40px;align-items:start;color:var(--ink-2);font-size:14.5px}
.colophon strong{color:var(--ink);font-weight:640}
.colophon .soc{display:flex;gap:8px}
.colophon .soc a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--rule);transition:background-color .2s,border-color .2s}
.colophon .soc a:hover{background:var(--ink);border-color:var(--ink)}
.colophon .soc a:hover svg{stroke:#fff}
.colophon .soc svg{width:17px;height:17px;stroke:var(--ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.colophon .note{grid-column:1/-1;color:var(--ink-3);font-size:12.5px}

/* you-are-here marker */
.here{position:fixed;left:calc(max(var(--pad),(100vw - 1560px)/2 + var(--pad)) + var(--line-x));top:50vh;z-index:30;transform:translate(-50%,-50%);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.here.show{opacity:1;visibility:visible;transition:opacity .35s,visibility 0s}
.here .dot{width:16px;height:16px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--rule)}
.here .lab{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;white-space:nowrap;background:var(--ink);color:var(--paper-hi);padding:10px 5px;border-radius:999px;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;font-variation-settings:"wdth" 87.5}

/* ---------- responsive ---------- */
@media (max-width:1320px){
  .nav a.hide-md{display:none}
}
@media (max-width:1120px){
  .nav a.hide-sm{display:none}
}
/* the company's own logo in the header (Alexzis, 23 Oct 2026; was its typed name from 22 Oct) takes ~170px:
   the optional links go ~200px earlier, the menu button takes over ~110px earlier, logos a step smaller below 760px */
@media (max-width:1520px){.nav a.hide-md{display:none}}
@media (max-width:1330px){.nav a.hide-sm{display:none}}
@media (max-width:1090px){.nav{display:none}.top .btn{margin-left:auto}.menu-btn{display:inline-flex;margin-left:0}}
@media (max-width:760px){.brand{gap:10px}.logo-co{height:20px}.logo-tapit{height:27px}.logo-sd{height:17px}}
@media (max-width:1120px){.top-in{gap:18px}.nav a{padding:8px 10px}}
@media (max-width:1200px){
  .br-scroll{margin-right:calc(var(--pad)*-1);padding-right:var(--pad)}
  .br-line{grid-template-columns:repeat(6,184px);width:max-content}
  .wayfind{grid-template-columns:1fr}
  .wf+.wf{border-left:0}
  .br-hint{display:inline}
}
@media (max-width:980px){
  .nav{display:none}
  .top .btn{margin-left:auto}
  .menu-btn{display:inline-flex;margin-left:0}
  .hero{grid-template-columns:minmax(0,1fr)}
  .kiosk-wrap{width:min(100%,440px);margin:8px auto 0;justify-self:center}
  .kaas .plan,.kaas .txt{grid-column:1/-1}
  .kaas .plan{max-width:520px}
  .svc,.xchg,.sd-grid,.prices-top,.how,.faq-grid,.term,.co-top{grid-template-columns:1fr}
  .co-top{gap:16px}
  .xc-right{display:contents}
  .xc-photo{grid-column:1/span 5;grid-row:1;align-self:stretch}
  .xc-photo img{height:100%;object-fit:contain}
  .wayfind{grid-column:6/span 7;grid-row:1;align-self:stretch}
  .kfare,.xc-cta{grid-column:1/-1}
  .corp{grid-template-columns:minmax(0,1fr);gap:12px}
  .partners .lead,.partners .gain{grid-column:1/-1}
  .win{position:relative;top:0}
  .here{display:none}
  .linemap-head{display:none}
  .faq-side{position:static}
}
@media (max-width:640px){
  body{font-size:16px}
  :root{--rail:30px;--line-x:7px;--line-w:4px}
  .top-in{height:60px;gap:12px}
  .top .btn{display:none}
  .menu-btn{margin-left:auto}
  .drawer.open{top:60px}
  .wordmark{font-size:21px}
  .tapit svg{width:16px;height:23px}
  .sd{font-size:12px}
  .brand{gap:8px}
  .logo-co{height:15px}
  .logo-tapit{height:24px}
  .logo-sd{height:15px}
  .hero{padding-top:22px}
  .kicker{gap:6px 14px;margin-bottom:18px}
  .kiosk-wrap{width:100%;max-width:360px}
  .board-sign{grid-template-columns:1fr 1fr;border-radius:14px}
  .board-sign .bs-clock{grid-column:1/-1;flex-direction:row;align-items:baseline;justify-content:space-between;flex-wrap:wrap;border-bottom:1px dashed rgba(242,238,227,.16)}
  .board-sign .bs-clock .mono{width:100%}
  .board-sign>div{padding:13px 14px 12px}
  .board-sign>div+div{border-left:0}
  .board-sign>div:last-child{border-left:1px dashed rgba(242,238,227,.16)}
  .board-sign .clock{font-size:26px}
  .board-sign b.num{font-size:21px}
  .board-sign .st-open{font-size:9px}
  .draw .lbl{font-size:11px}
  .linemap-head{display:none}
  .linemap{min-width:960px}
  .linemap .nm{font-size:14px}
  .st{padding-bottom:72px}
  .sign{margin-left:calc(var(--line-x) + 20px - var(--rail))}
  .sign::before{left:-20px;width:20px;height:20px;margin:-10px 0 0 -10px;border-width:4px}
  .st.x .sign::before{width:22px;height:48px;margin:-24px 0 0 -11px;border-width:3.5px}
  .spec div{grid-template-columns:1fr;gap:4px;padding:12px 0}
  .svc-list li{grid-template-columns:36px 1fr auto;padding:12px 0}
  .pay-plate{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}
  .pay-plate>div{flex-direction:column;align-items:flex-start;gap:6px;padding:12px;font-size:14px}
  .dest li{font-size:28px}
  .net-top{grid-template-columns:1fr;gap:6px}
  .register span.mono{font-size:10px}
  .facts4>div:nth-child(odd){padding-right:12px}
  .facts4>div:nth-child(even){padding-left:14px}
  .pl-line{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .pl-line::before,.pl-line::after{display:none}
  .register{grid-template-columns:1fr 1fr}
  .register>div:first-child{grid-column:1/-1;padding-right:0}
  .register>div:nth-child(2){padding-left:0;border-left:0}
  .fares td{padding:11px 0 11px 8px;font-size:12.5px}
  .fares th{padding-left:8px}
  .fares td:first-child small{font-size:12px}
  .win-body{height:330px;padding:16px}
  .pane{inset:16px}
  .faq summary{padding:16px 0}
  .faq .a{padding-right:0}
  .plat dl div{grid-template-columns:90px 1fr}
  .colophon{grid-template-columns:1fr}
  .map text{font-size:3px}
}
/* phone: compact, everything readable, total height kept under ~8,000px */
@media (max-width:640px){
  .st{padding-bottom:44px}
  .h2{font-size:clamp(28px,8.4vw,34px);line-height:1}
  .answer{font-size:16.5px;line-height:1.45}
  .body{font-size:15.5px}
  .sign{margin-bottom:14px}
  .hero{padding-top:18px}
  .kicker{margin-bottom:14px}
  .h1-big{font-size:clamp(42px,12.4vw,54px);line-height:.9}
  .h1-sub{font-size:17.5px;margin-top:14px}
  .lede{font-size:15px;margin-top:10px}
  .cta-row{gap:8px;margin-top:18px}
  .cta-row .btn{height:44px;padding:0 16px;font-size:14px}
  .board-sign{margin-top:18px}
  .kiosk-wrap{max-width:300px;height:calc(min(300px,100vw - 32px) * 1.16);overflow:hidden;margin-top:18px;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
  .kiosk-wrap::before{display:none}
  .linemap-wrap{margin-top:6px}
  .linemap{min-width:900px}
  .kaas .plan{display:none}
  .kaas .txt{gap:14px}
  .spec{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;margin-top:4px}
  .spec div{padding:10px 0}
  .spec dd{font-size:19px}
  .spec dd small{font-size:13px}
  .svc{gap:18px}
  .svc .body{margin-top:12px!important}
  .pay-plate{margin-top:16px}
  .svc-list li{padding:9px 0;grid-template-columns:30px 1fr auto}
  .svc-list li span{font-size:19px}
  .svc-list li svg{width:20px;height:20px}
  .partners .body{margin-top:12px!important}
  .gain{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
  .gain li{font-size:14.5px;padding:9px 0;gap:8px}
  .dest{margin-top:22px;padding-top:10px}
  .dest li{font-size:21px}
  .contact-strip{margin-top:16px;gap:8px}
  .contact-strip .btn{height:40px;padding:0 14px;font-size:13.5px}
  .big500{font-size:76px}
  .map{margin-top:10px}
  .net-foot{margin-top:10px;gap:10px}
  .net-foot .mono{font-size:9.5px}
  .xchg{gap:12px}
  .xchg .body{margin-top:10px!important}
  .sd-mark{margin-bottom:18px;gap:8px}
  .sd-word{font-size:clamp(44px,13vw,56px)}
  .sd-logo{width:min(100%,330px)}
  .sd-mark .mono{padding-bottom:0;font-size:9.5px}
  .sd-grid{gap:18px}
  .sd-grid .answer{margin-top:12px!important}
  .quote{margin-top:16px;padding:18px 18px 16px}
  .quote::before{left:18px;right:18px}
  .quote p{font-size:16.5px}
  .facts4>div{padding:12px 0 12px}
  .facts4 b{font-size:32px}
  .facts4 span{font-size:13px;margin-top:4px}
  .facts4>div.dup{display:none}
  .facts4>div:nth-child(2n+1 of :not(.dup)){padding-right:12px;padding-left:0;border-right:1px solid var(--rule)}
  .facts4>div:nth-child(2n of :not(.dup)){padding-left:14px;padding-right:0;border-right:0}
  .sd-grid .body{margin-top:12px!important;font-size:14.5px!important}
  .platforms{margin-top:24px}
  .pl-line{grid-template-columns:repeat(4,1fr);row-gap:0;margin-top:12px}
  .pl-line li{padding-top:24px;padding-right:4px}
  .pl-line span{font-size:13px}
  .pl-line b{font-size:10px}
  .pl-note{font-size:13.5px;margin-top:10px}
  .register{margin-top:24px}
  .register>div{padding:12px 12px 12px 0}
  .register>div+div{padding-left:12px}
  .register b{font-size:27px;margin-top:6px}
  .register span{font-size:12.5px}
  .register .kyc{font-size:19px;margin-top:6px}
  .featured{margin-top:20px}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:10px calc(var(--pad)*-1) 0 0;padding-right:var(--pad)}
  .chips::-webkit-scrollbar{display:none}
  .chips li{flex:none;height:38px;font-size:14px}
  .chips li small{display:none}
  .cats{font-size:13.5px;margin-top:10px}
  .prices-top{gap:12px;margin-bottom:16px}
  .boardp{padding:14px 14px 12px;border-radius:16px}
  .bp-head{padding-bottom:10px}
  .bp-head .mono{font-size:9px}
  .fares col.p{width:4.6em}
  .fares th{padding:10px 0 6px 6px;font-size:9.5px}
  .fares td{padding:8px 0 8px 6px;font-size:12px}
  .fares td:first-child{font-size:14px}
  .fares td:first-child small{font-size:11.5px}
  .fares tr.hl td:first-child{font-size:15.5px}
  .fares tr.hl td:first-child small{display:none}
  .bp-foot{margin-top:10px;padding-top:10px;font-size:12.5px;gap:10px}
  .how .win{display:none}
  .how .answer{margin-top:12px!important}
  .steps{margin-top:14px}
  .steps li{padding:11px 0;grid-template-columns:44px 1fr;gap:6px}
  .steps li .n{width:32px;height:32px}
  .steps li h3{font-size:17px}
  .steps li p{font-size:14px}
  .steps.live li:not(.on){opacity:1}
  .anytime{margin-top:12px;gap:8px 12px}
  .anytime span{font-size:13px}
  .faq-side p{margin-top:10px;font-size:15px}
  .faq-side .btn{margin-top:14px;height:42px;font-size:14px}
  .faq-grid{gap:18px}
  .faq summary{padding:13px 0;font-size:16px;grid-template-columns:1fr 28px;gap:12px}
  .faq summary i{width:28px;height:28px}
  .faq .a{padding-bottom:14px;font-size:15px}
  .term{gap:14px}
  .plat{padding:18px 18px 18px 22px;border-radius:16px}
  .plat h3{font-size:24px;margin-top:6px}
  .plat p{display:none}
  .plat dl{margin-top:12px}
  .plat dl div{padding:9px 0;grid-template-columns:64px 1fr}
  .plat dd a{font-size:15px}
  .plat .btn{margin-top:14px;height:42px;font-size:14px}
  .colophon{margin-top:24px;padding-top:14px;gap:12px;font-size:13px}
  .colophon .note{font-size:12px}
  .st{padding-bottom:36px}
  .kicker{display:none}
  .kiosk-wrap{max-width:280px;height:calc(min(280px,100vw - 32px) * 1.16)}
  .fares td{line-height:1.28;padding:7px 0 7px 6px}
  .fares td:first-child small{font-size:11px;line-height:1.35;margin-top:2px}
  .bp-head .t{font-size:11px}
  .pl-line{margin-top:10px}
  .pl-line::before{display:block;top:7px;left:6px;right:6px}
  .pl-line li{padding-top:22px}
  .pl-line li::before{width:15px;height:15px;border-width:2.5px}
  .pl-line li.me::before{width:17px;height:17px;top:-1px}
  .pl-line span{font-size:12px;line-height:1.15}
  .pl-note{margin-top:8px}
  .fares col.p{width:4.1em}
  .fares td:first-child{font-size:13.5px}
  .faq-side p{display:none}
  .partners .gain{display:none}
  .register b{font-size:24px}
  .plat dl div{padding:7px 0}
  .plat dl{margin-top:8px}
  .linemap li{padding-top:26px}
  .linemap .no{margin-top:4px}
  .linemap .nm{font-size:13px}
  .h2{font-size:clamp(26px,7.6vw,31px)}
  .answer{font-size:15.5px}
  .lede .m-hide{display:none}
  .plat.v .btn{display:none}
  .prices-top .answer{display:none}
  .register>div:first-child{display:none}
  .register>div:nth-child(2){padding-left:0;border-left:0}
  .facts4{display:none}
  .sd-mark .mono{display:none}
  .net-foot .btn{height:38px;padding:0 12px;font-size:13px}
  .net-foot>div{gap:8px!important}
  .big500{display:none}
  .faq summary{padding:9px 0}
  .colophon{font-size:12.5px;gap:8px;line-height:1.45}
  .colophon .soc a{width:36px;height:36px}
  .plat>.mono{display:none}
  .plat h3{margin-top:0}
  .st{padding-bottom:24px}
  .sign{margin-bottom:10px}
  .svc-list li{padding:7px 0}
  .anytime{display:none}
  .xchg .body{font-size:14.5px}
  /* 16 Oct brief additions: phone layout + the trims that pay for them */
  .m-hide{display:none}
  .pay-plate{display:none}
  #partners .contact-strip .btn{display:none}
  .contact-strip{margin-top:10px}
  .dest li{font-size:19px}
  .net-foot .btn.ssm-loc{display:none}
  .quote{display:none}
  .cats{display:none}
  .pl-note{font-size:12.5px}
  .fares tr.fc{display:none}
  .fares tr.fc-m{display:table-row}
  .steps{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
  .steps li{grid-template-columns:1fr;gap:6px;padding:10px 0 11px;align-content:start}
  .steps li .n{width:28px;height:28px;font-size:12px}
  .steps li h3{font-size:16px}
  .steps li p{font-size:13px;line-height:1.4;margin-top:1px}
  .colophon .note{font-size:12px}
  /* interchange */
  .xchg{gap:10px}
  .xc-body{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:12px;margin-top:16px}
  .xc-photo{grid-column:1;grid-row:1;border-radius:12px}
  .xc-photo figcaption{padding:28px 9px 8px;font-size:10.5px}
  .xc-photo figcaption small{font-size:9.5px}
  .wayfind{grid-column:2;grid-row:1;border-radius:12px;align-self:stretch}
  .wf{grid-template-columns:minmax(0,1fr);gap:0;padding:10px 12px 11px;border-top-width:4px}
  .wf-ic,.wf-ar{display:none}
  .wf .mono{font-size:9px}
  .wf b{font-size:14.5px;margin-top:4px;line-height:1.2}
  .wf .go{margin-top:7px;font-size:9px;gap:4px}
  .kfare{grid-column:1/-1;padding:12px 14px 10px;border-radius:12px}
  .kfare::before{left:14px;right:14px}
  .kf-head{padding-bottom:8px}
  .kf-head .t{font-size:16px}
  .kf-head .mono{font-size:9px}
  .kf th{padding:8px 8px 6px 0;font-size:9px}
  .kf td{padding:8px 8px 8px 0;font-size:13px}
  .kf td:first-child{font-size:14.5px}
  .kf td.fee{font-size:12px}
  .kf td.fee small{font-size:11px}
  .kf td.k{font-size:12.5px}
  .kf-foot{display:none}
  .xc-cta{grid-column:1/-1;gap:8px}
  .xc-cta .btn{height:40px;padding:0 14px;font-size:13.5px}
  .xc-cta .body{display:none}
  /* branch */
  .co-top{gap:10px}
  .branch{margin-top:18px}
  .br-line{grid-template-columns:repeat(6,140px)}
  .br-line li{padding:28px 12px 0 0}
  .br-line li:last-child::before{right:12px}
  .br-line li:last-child::after{right:12px}
  .br-line .pic{border-radius:10px}
  .pic figcaption{padding:24px 8px 7px;font-size:10px}
  .br-line .pic.sketch figcaption{font-size:8.5px;padding:0 8px 7px}
  .br-line h3{font-size:14.5px;margin-top:9px}
  .br-line p{font-size:12px;margin-top:3px;line-height:1.35}
  .br-foot{margin-top:8px}
  .br-foot .mono{font-size:9.5px}
  .corp{margin-top:16px;padding:12px 0;gap:10px}
  .corp>.mono{display:none}
  .corp p{font-size:15px}
  .corp-cta{gap:8px}
  .corp-cta .btn{height:38px;padding:0 12px;font-size:13px}
  .co-top .h2{max-width:none}
  .br-hint{font-size:9.5px}
  .kf{table-layout:fixed}
  .kf col.s{width:44%}
  .kf col.f{width:36%}
  .kf td:first-child{font-size:14px;line-height:1.25}
  .cta-row{flex-wrap:nowrap;gap:8px}
  .cta-row .btn{padding:0 12px;font-size:13.5px;gap:6px}
  .cta-row .btn svg{width:13px;height:13px}
  .faq-side .btn{display:none}
  .faq summary{font-size:15px}
  .spec dd small{display:none}
  .platforms>.mono{font-size:9.5px}
  .kf-head .t{display:none}
  .kf-head{padding-bottom:7px}
  .kf td.fee.wrap{font-family:var(--display);font-size:13px;letter-spacing:0}
  .sd-prod{display:none}
  .br-foot{flex-wrap:nowrap}
  .plat dl div{grid-template-columns:50px 1fr;gap:8px}
  .plat dd a{font-size:14px}
  .colophon{gap:6px}
}
@media (max-width:380px){
  body{font-size:15px}
  .h2{font-size:25px}
  .answer,.body{font-size:14.5px}
  .h1-big{font-size:41px}
  .h1-sub{font-size:16px}
  .lede{font-size:14px}
  .dest li{font-size:18px}
  .svc-list li span{font-size:17px}
  .faq summary{font-size:15px}
  .faq .a{font-size:14px}
  .quote p{font-size:15px}
  .fares td:first-child{font-size:13px}
  .fares td:first-child small{font-size:10.5px}
  .steps li p{font-size:13.5px}
  .pl-note,.cats{font-size:12.5px}
}
@media (max-width:359px){.top-in{gap:8px}.brand{gap:6px}.logo-co{height:13px}.logo-tapit{height:21px}.logo-sd{height:13px}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .reveal{opacity:1;transform:none}
  .js .map svg{-webkit-mask-image:none;mask-image:none}
  .map .pulse{display:none}
}
@media (max-width:640px){.kf th{white-space:normal}}

/* =====================================================================================
   INNER PAGES - tapitnetworks.com in design 1 ("the counter that never closes")
   Everything above this line in css/tokens.css is the locked landing page's stylesheet,
   verbatim (home_lock style-lock). Everything below is the inner-page system, written in
   the landing page's own vocabulary: one route line per page, station signs, departure
   boards, condensed Archivo with light italics in the line colour, Martian Mono labels.
   Source: builder/css/inner.css (build_aeo_pages.py appends it to the locked CSS).
   No declared size below 12px here (design_gate type floor).
   ===================================================================================== */

/* ---------- the line a page runs on ---------- */
.ip{--line:var(--violet);--line-ink:var(--violet-ink);--line-soft:var(--violet-soft)}
.ip.ln-r{--line:var(--red);--line-ink:var(--red-ink);--line-soft:#FADBD3}
.ip.ln-t{--line:var(--teal-ink);--line-ink:#066B65;--line-soft:#CDEFEC} /* text teal 5.5:1 on paper (teal-ink is 3.5:1) */
.ip.ln-k{--line:var(--ink);--line-ink:var(--ink);--line-soft:var(--paper-lo)}
.ip-main .mono,.ip-end .mono{font-size:12px}
.ip-main [id]{scroll-margin-top:96px}
.ip-main a:not(.btn){text-underline-offset:3px}
.btn.redink{--b:var(--red-ink)}
.btn.vink{--b:var(--violet-ink)}
.btn svg.ic{width:16px;height:16px}

/* one icon family: the landing page's 24-unit line icons (1.6 stroke, round caps) */
.ic{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- page head: the platform sign ---------- */
.ph{position:relative;max-width:1560px;margin:0 auto;padding:clamp(18px,2.2vw,30px) var(--pad) 0}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;row-gap:8px}
.crumbs li{display:flex;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-variation-settings:"wdth" 87.5;color:var(--ink-2);line-height:1.3}
.crumbs li+li::before{content:"";width:clamp(18px,2.6vw,38px);height:4px;border-radius:2px;background:var(--line);margin:0 10px 0 2px}
.crumbs a,.crumbs [aria-current]{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink-2)}
.crumbs a::before,.crumbs [aria-current]::before{content:"";width:14px;height:14px;flex:none;border-radius:50%;border:3.5px solid var(--line);background:var(--paper-hi);box-sizing:border-box}
.crumbs [aria-current]{color:var(--ink)}
.crumbs [aria-current]::before{background:var(--line);box-shadow:inset 0 0 0 2.5px var(--paper-hi)}
.crumbs a:hover{color:var(--line-ink)}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4.6vw,84px);align-items:start;margin-top:clamp(24px,3.2vw,48px)}
.ph-grid.tight{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.ph-grid>*{min-width:0}
.ph-line{display:inline-flex;align-items:center;gap:10px;color:var(--ink-2);margin-bottom:clamp(14px,1.6vw,22px)}
.ph-line i{display:inline-block;width:30px;height:6px;border-radius:3px;background:var(--line)}
.ph-line i.x{width:34px;height:14px;border-radius:999px;background:var(--paper-hi);border:3px solid var(--ink);box-sizing:border-box}
.ph-t{font-size:clamp(40px,5.1vw,84px);line-height:.93;letter-spacing:-.03em;font-weight:740;font-variation-settings:"wdth" 74;max-width:15ch}
.ph-t em{font-style:italic;font-weight:300;font-variation-settings:"wdth" 62;color:var(--line-ink);letter-spacing:-.025em}
.ph-t.long{font-size:clamp(36px,4.4vw,70px);max-width:17ch}
.ph-lede{margin-top:clamp(18px,2vw,28px);font-size:clamp(17px,1.3vw,20px);line-height:1.5;max-width:36em;color:var(--ink);font-weight:420}
.ph-lede strong{font-weight:640}
.ph-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(20px,2.4vw,32px)}
.ph-note{margin-top:14px;color:var(--ink-2);font-size:14.5px;max-width:40em}

/* ---------- the route: one line, a station per chapter ---------- */
.ip-route{margin-top:clamp(56px,6vw,104px)}
.ip-route .st,.ip-end .st{--c:var(--line)}
.ip-route .st{padding-bottom:clamp(60px,6.4vw,112px)}
.ip-route .st.x{--c:var(--line)}
.ip-route .st.x::before{background:linear-gradient(var(--violet) 0 var(--xi,96px),var(--red) var(--xi,96px))}
.ip-route .st:last-child{padding-bottom:clamp(40px,4vw,64px)}
.sign .mono b{color:var(--line-ink)}
.ip .sign .tag{font-size:12px;height:26px;background:var(--line-ink)}
.ip-h2{font-size:clamp(29px,3.1vw,48px);line-height:1.02;letter-spacing:-.03em;font-weight:720;font-variation-settings:"wdth" 78;max-width:21ch;color:var(--ink)}
.ip-h2 em{font-style:italic;font-weight:300;font-variation-settings:"wdth" 64;color:var(--line-ink)}
.ip-h3{font-size:clamp(19px,1.6vw,24px);line-height:1.18;letter-spacing:-.015em;font-weight:660;font-variation-settings:"wdth" 86}
.ip-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:clamp(28px,5vw,96px);align-items:start;margin-top:clamp(18px,2vw,28px)}
.ip-cols.wide-aside{grid-template-columns:minmax(0,1fr) minmax(0,420px)}
.ip-cols>*{min-width:0}
.prose{max-width:38em;color:var(--ink-2);font-size:17px;line-height:1.62}
.prose p+p,.prose p+ul,.prose ul+p{margin-top:1em}
.prose strong{color:var(--ink);font-weight:620}
.prose a{color:var(--line-ink);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px}
.prose a:hover{color:var(--ink)}
.prose .lead{font-size:clamp(18px,1.35vw,20px);color:var(--ink);line-height:1.5}
.ticks{display:grid;gap:10px;margin-top:14px}
.ticks li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;color:var(--ink-2)}
.ticks li .ic{color:var(--line-ink);width:22px;height:22px;margin-top:2px}
.ticks li strong{color:var(--ink);font-weight:620}
.wide{margin-top:clamp(26px,3vw,44px)}
.st>.prose{margin-top:clamp(16px,1.8vw,26px)}
.nw{white-space:nowrap}

/* marginalia: what fills the gutter */
.margin{display:flex;flex-direction:column;gap:18px}
.note-card{position:relative;background:var(--paper-hi);border-radius:14px;padding:18px 20px 18px 24px;box-shadow:0 1px 0 rgba(21,19,43,.05),0 22px 44px -34px rgba(21,19,43,.55)}
.note-card::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 4px 4px 0;background:var(--line)}
.note-card .mono{display:block;color:var(--ink-2);margin-bottom:8px}
.note-card p{font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.note-card p strong{color:var(--ink);font-weight:640}
.note-card p+p{margin-top:8px}
.note-card a{color:var(--line-ink);font-weight:600}
.note-card.red::before{background:var(--red)}
.note-card.violet::before{background:var(--violet)}
.note-card.ink::before{background:var(--ink)}
.plaque{border-top:1.5px solid var(--ink)}
.plaque div{display:grid;grid-template-columns:minmax(96px,.7fr) minmax(0,1.3fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.plaque dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.plaque dd{font-size:16px;font-weight:600;line-height:1.35;color:var(--ink);font-variation-settings:"wdth" 92}
.plaque dd a{color:inherit;text-decoration:none;border-bottom:1.5px solid var(--line)}
.src{margin-top:10px;font-size:13.5px;color:var(--ink-2);line-height:1.45}
.src a{color:var(--ink-2)}

/* ---------- departure boards (dark, LED) ---------- */
.dboard{position:relative;background:var(--board);color:var(--board-text);border-radius:18px;padding:clamp(16px,1.8vw,24px) clamp(16px,2vw,26px);box-shadow:0 40px 70px -44px rgba(21,19,43,.75),inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.dboard::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px);pointer-events:none}
.db-head{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid rgba(242,238,227,.18);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-variation-settings:"wdth" 87.5;color:rgba(242,238,227,.74)}
.db-head b{color:var(--board-text);font-weight:600}
.db-head .lt{display:inline-flex;align-items:center;gap:9px}
.db-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:baseline;padding:13px 0;border-bottom:1px dashed rgba(242,238,227,.16)}
.db-row:last-child{border-bottom:0;padding-bottom:4px}
.db-row>span{font-size:15.5px;line-height:1.35;color:rgba(242,238,227,.86)}
.db-row>span small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,227,.66);margin-bottom:2px;font-variation-settings:"wdth" 87.5}
.db-row>b{font-family:var(--mono);font-weight:500;font-size:clamp(20px,1.9vw,28px);line-height:1.05;letter-spacing:.01em;color:var(--led);font-variant-numeric:tabular-nums;text-shadow:0 0 16px rgba(255,194,74,.3);white-space:nowrap;text-align:right}
.db-row>b.w{color:var(--board-text);text-shadow:none}
.db-row a{color:var(--board-text);text-decoration:none;border-bottom:1px solid rgba(242,238,227,.35)}
.db-row a:hover{border-bottom-color:var(--led)}
.db-row.ic-row{grid-template-columns:30px minmax(0,1fr) auto}
.db-row.ic-row>.ic{width:22px;height:22px;color:var(--led);align-self:center}
.db-row>b.sm{font-size:clamp(15px,1.3vw,19px)}
.db-row>b a{border:0}
.db-foot{position:relative;margin-top:12px;padding-top:12px;border-top:1px solid rgba(242,238,227,.16);font-size:13.5px;color:rgba(242,238,227,.72)}

/* ---------- fare board: a real price table on the board ---------- */
.fb{position:relative;background:var(--board);color:var(--board-text);border-radius:20px;padding:clamp(16px,2.2vw,32px);box-shadow:0 50px 90px -52px rgba(21,19,43,.75),inset 0 0 0 1px rgba(255,255,255,.05);overflow:hidden}
.fb::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);pointer-events:none}
.fb-scroll{position:relative;overflow-x:auto;scrollbar-width:thin}
table.fbt{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:520px}
.fbt caption{text-align:left;padding:0 0 14px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,227,.74);font-variation-settings:"wdth" 87.5;border-bottom:1px solid rgba(242,238,227,.18)}
.fbt th{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,227,.7);text-align:right;padding:14px 0 10px 14px;white-space:nowrap;font-variation-settings:"wdth" 87.5}
.fbt th:first-child{text-align:left;padding-left:0}
.fbt th.ctc{color:var(--led)}
.fbt td{padding:13px 0 13px 14px;border-top:1px solid rgba(242,238,227,.1);text-align:right;font-family:var(--mono);font-size:clamp(14px,1.1vw,16px);letter-spacing:.02em;white-space:nowrap;vertical-align:top;color:var(--board-text)}
.fbt td:first-child{text-align:left;padding-left:0;font-family:var(--display);font-size:clamp(15.5px,1.2vw,18px);letter-spacing:-.005em;font-weight:540;white-space:normal;font-variation-settings:"wdth" 92}
.fbt td:first-child a{color:var(--board-text);text-decoration:none;border-bottom:1px solid rgba(242,238,227,.32)}
.fbt td:first-child a:hover{border-bottom-color:var(--led)}
.fbt td:first-child small{display:block;color:rgba(242,238,227,.68);font-size:13px;font-weight:400;margin-top:3px;line-height:1.4}
.fbt td.ctc{color:var(--led)}
.fbt td.na{color:rgba(242,238,227,.62)}
.fbt td.nb{white-space:normal;font-family:var(--display);font-size:14px;letter-spacing:0;color:rgba(242,238,227,.78);text-align:right;max-width:16em}
.fbt tr.hl td:first-child{font-weight:700}
.fbt tbody tr:hover td{background:rgba(255,255,255,.035)}
.fb-foot{position:relative;margin-top:16px;padding-top:14px;border-top:1px solid rgba(242,238,227,.16);display:flex;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;align-items:center;color:rgba(242,238,227,.74);font-size:14px}
.fb-foot a:not(.btn){color:var(--board-text)}

/* the price, taken apart */
.fare-split{display:grid;grid-template-columns:minmax(0,10fr) minmax(0,3.24fr);margin-top:16px;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1.5px var(--ink)}
.fare-split>div{padding:14px 16px;min-width:0}
.fare-split .fs-ssm{background:var(--paper-hi)}
.fare-split .fs-fee{background:var(--ink);color:var(--paper-hi)}
.fare-split b{display:block;font-family:var(--mono);font-weight:500;font-size:clamp(18px,1.6vw,24px);font-variant-numeric:tabular-nums}
.fare-split span{display:block;font-size:13.5px;line-height:1.35;margin-top:4px}
.fare-split .fs-ssm span{color:var(--ink-2)}
.fare-split .fs-fee span{color:rgba(247,246,242,.8)}
.fare-eq{margin-top:12px;font-family:var(--mono);font-size:13px;letter-spacing:.03em;color:var(--ink-2)}
.fare-eq b{color:var(--ink);font-weight:600}

/* ---------- light tables (comparisons, fees) ---------- */
.tbox{margin-top:clamp(18px,2vw,26px);background:var(--paper-hi);border-radius:16px;box-shadow:0 1px 0 rgba(21,19,43,.05),0 30px 60px -44px rgba(21,19,43,.55),inset 0 0 0 1px var(--rule-2);overflow:hidden}
.tbox-scroll{overflow-x:auto;scrollbar-width:thin}
table.lt{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.lt caption{caption-side:top;text-align:left;padding:16px 20px 12px;font-size:14px;color:var(--ink-2);line-height:1.4;border-bottom:1.5px solid var(--ink)}
.lt caption b{display:block;font-size:clamp(17px,1.4vw,20px);color:var(--ink);font-weight:680;font-variation-settings:"wdth" 86;letter-spacing:-.01em;margin-bottom:2px}
.lt th{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);text-align:left;padding:14px 20px 10px;background:var(--paper);white-space:nowrap;font-variation-settings:"wdth" 87.5}
.lt th.c-n{color:var(--violet-ink)}
.lt th.c-c{color:var(--red-ink)}
.lt td{padding:14px 20px;border-top:1px solid var(--rule);vertical-align:top;font-size:15.5px;line-height:1.45;color:var(--ink-2)}
.lt tbody th{font-family:var(--display);text-transform:none;letter-spacing:-.005em;font-size:16.5px;font-weight:640;color:var(--ink);background:none;white-space:normal;padding:14px 20px;border-top:1px solid var(--rule);font-variation-settings:"wdth" 90;vertical-align:top}
.lt td.num{font-family:var(--mono);font-size:16px;color:var(--ink);white-space:nowrap}
.lt td.num small,.lt td small{display:block;font-family:var(--display);font-size:13px;color:var(--ink-2);margin-top:3px;white-space:normal}
.lt td.c-c.num{color:var(--red-ink)}
.lt tr:nth-child(even) td,.lt tbody tr:nth-child(even) th{background:color-mix(in srgb,var(--paper) 55%,transparent)}
.tbox-foot{padding:12px 20px 16px;border-top:1px solid var(--rule);font-size:13.5px;color:var(--ink-2)}
.tbox-foot a{color:var(--ink-2)}

/* ---------- kiosk services (the SSM fare chart, light) ---------- */
.kfees td.fee{font-family:var(--mono);font-size:15px;color:var(--ink);white-space:nowrap}
.kfees td.fee span{display:block}
.kfees td.fee span+span{margin-top:6px}
.kfees td.fee small{display:block;font-family:var(--display);font-size:13px;color:var(--ink-2);margin-top:2px}
.kfees td.k{font-family:var(--mono);font-size:15px;color:var(--violet-ink);font-weight:600;white-space:nowrap}
.kfees td.k.nc{color:var(--teal-ink)}
.kfees td.wrap{white-space:normal;font-family:var(--display);font-size:15px}
.kfees tbody th a{color:inherit;text-decoration:none;border-bottom:1.5px solid var(--violet)}

/* ---------- wayfinding sign: two directions ---------- */
.way{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--board);border-radius:18px;overflow:hidden;box-shadow:0 34px 60px -38px rgba(21,19,43,.7),inset 0 0 0 1px rgba(255,255,255,.06)}
.way>a{--lc:var(--violet);position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:20px 22px 22px;text-decoration:none;color:var(--board-text);border-top:6px solid var(--lc);transition:background-color .25s}
.way>a.r{--lc:var(--red)}
.way>a.t{--lc:var(--teal)}
.way>a+a{border-left:1px dashed rgba(242,238,227,.18)}
.way>a:hover{background:rgba(255,255,255,.045)}
.way .wi{width:44px;height:44px;border-radius:11px;background:var(--lc);display:grid;place-items:center;color:#fff}
.way .wi .ic{width:24px;height:24px}
.way>a.t .wi{color:var(--board)}
.way .mono{display:block;color:rgba(242,238,227,.7)}
.way b{display:block;margin-top:6px;font-size:clamp(19px,1.6vw,24px);line-height:1.15;letter-spacing:-.015em;font-weight:640;font-variation-settings:"wdth" 86}
.way p{margin-top:8px;font-size:14.5px;line-height:1.45;color:rgba(242,238,227,.8)}
.way .go{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#C9C2FF;font-variation-settings:"wdth" 87.5}
.way>a.r .go{color:#FF9C85}
.way>a.t .go{color:#7FEAE4}
.way .go .ic,.way .go svg{width:13px;height:13px;display:inline-block}

/* ---------- steps: a short line of stops ---------- */
.stops4{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(18px,2vw,26px)}
.stops4 li{position:relative;padding:34px 18px 0 0}
.stops4 li::before{content:"";position:absolute;top:10px;left:0;right:0;height:6px;background:var(--line)}
.stops4 li:last-child::before{right:auto;width:22px;border-radius:0 3px 3px 0}
.stops4 li::after{content:attr(data-n);position:absolute;top:0;left:0;width:26px;height:26px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box;font-family:var(--mono);font-size:12px;line-height:18px;text-align:center;color:var(--ink);font-weight:600}
.stops4 li:last-child::after{background:var(--line);color:#fff}
.stops4 .sx{display:block;font-size:19px;line-height:1.2;font-weight:660;font-variation-settings:"wdth" 88;letter-spacing:-.01em}
.stops4 p{margin-top:6px;font-size:15px;line-height:1.45;color:var(--ink-2)}
.steps-v{counter-reset:sv;border-top:1.5px solid var(--ink);margin-top:16px}
.steps-v li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--rule)}
.steps-v li::before{counter-increment:sv;content:counter(sv);width:36px;height:36px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-family:var(--mono);font-size:13px;color:var(--line-ink);font-weight:600}
.steps-v .sx{display:block;font-size:18.5px;font-weight:660;font-variation-settings:"wdth" 88;letter-spacing:-.01em;line-height:1.25}
.steps-v p{margin-top:3px;color:var(--ink-2);font-size:15.5px;line-height:1.5}

/* ---------- cards that are stations: lines out of a hub ---------- */
.lines6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1.5px solid var(--ink);margin-top:clamp(18px,2vw,26px)}
.lines6>a{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:20px 20px 22px 0;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule)}
.lines6>a:not(:nth-child(3n+1)){padding-left:22px;border-left:1px solid var(--rule)}
.lines6 .li{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--paper-hi);box-shadow:inset 0 0 0 3.5px var(--line);color:var(--line-ink)}
.lines6 .li .ic{width:22px;height:22px}
.lines6 b{display:block;font-size:clamp(18px,1.45vw,21px);line-height:1.18;font-weight:660;font-variation-settings:"wdth" 86;letter-spacing:-.012em}
.lines6 span.d{display:block;margin-top:5px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.lines6 span.p{display:block;margin-top:8px;font-family:var(--mono);font-size:13px;color:var(--line-ink);font-variant-numeric:tabular-nums}
.lines6>a:hover b{color:var(--line-ink)}
.lines6>a:hover .li{background:var(--line);color:#fff}

/* who uses it: four platforms */
.who4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:clamp(18px,2vw,26px)}
.who4 li{background:var(--paper-hi);border-radius:14px;padding:18px 18px 20px;box-shadow:inset 0 0 0 1px var(--rule-2),0 20px 40px -34px rgba(21,19,43,.5)}
.who4 .ic{color:var(--line-ink);width:28px;height:28px}
.who4 b{display:block;margin-top:12px;font-size:17px;line-height:1.2;font-weight:660;font-variation-settings:"wdth" 88}
.who4 span{display:block;margin-top:5px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}

/* chips (benefits, languages) */
.chips2{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips2 li{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px 0 10px;border-radius:999px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule);font-size:15px;font-weight:600;font-variation-settings:"wdth" 90}
.chips2 li .ic{width:18px;height:18px;color:var(--line-ink)}

/* ---------- photos ---------- */
.ph-photo{position:relative;margin:0;border-radius:18px;overflow:hidden;background:var(--paper-lo);box-shadow:0 1px 0 rgba(21,19,43,.06),0 40px 70px -46px rgba(21,19,43,.6)}
.ph-photo img{width:100%;height:auto;display:block}
.ph-photo figcaption,.fig figcaption{font-size:13.5px;line-height:1.4;color:var(--ink-2);padding:12px 16px 14px;background:var(--paper-hi);border-top:1px solid var(--rule-2)}
.ph-photo figcaption small,.fig figcaption small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin-top:3px;font-variation-settings:"wdth" 87.5}
.ph-photo.tall{max-width:440px;justify-self:end;width:100%}
.ph-photo.tall img{aspect-ratio:633/860;object-fit:cover;object-position:50% 30%}
.ph-photo.render img,.fig.render img{aspect-ratio:633/900;object-fit:contain;background:#fff;padding:18px 18px 8px}
.ph-dev.tallwrap{justify-self:end;width:100%;max-width:440px}
.ph-dev.tallwrap .ph-photo.tall{max-width:none}
.plate .cap{font-size:12px;line-height:1.4;color:rgba(242,238,227,.7);margin-top:4px}
.fig{margin:0;border-radius:16px;overflow:hidden;background:var(--paper-hi);box-shadow:0 1px 0 rgba(21,19,43,.05),0 30px 60px -44px rgba(21,19,43,.55)}
.fig img{width:100%;height:auto;display:block}
.fig.wide-img img{aspect-ratio:16/9;object-fit:cover}
.plate{position:relative;margin:-38px 18px 0;z-index:2;background:var(--board);color:var(--board-text);border-radius:12px;padding:12px 16px;box-shadow:0 20px 40px -24px rgba(21,19,43,.7);display:grid;gap:2px}
.plate .mono{color:rgba(242,238,227,.72)}
.plate b{font-size:16px;font-weight:640;line-height:1.3;font-variation-settings:"wdth" 90}
.strip3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin-top:clamp(20px,2.4vw,32px)}
.strip3>figure{margin:0;position:relative;padding-top:30px}
.strip3>figure::before{content:"";position:absolute;top:9px;left:0;right:calc(-1 * clamp(14px,1.8vw,24px));height:6px;background:var(--line)}
.strip3>figure:last-child::before{right:0;border-radius:0 3px 3px 0}
.strip3>figure::after{content:"";position:absolute;top:3px;left:0;width:18px;height:18px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box}
.strip3 .pic{border-radius:14px;overflow:hidden;background:var(--paper-lo);aspect-ratio:3/4;box-shadow:0 26px 46px -34px rgba(21,19,43,.6)}
.strip3 .pic img{width:100%;height:100%;object-fit:cover}
.strip3 figcaption{margin-top:12px;font-size:15px;line-height:1.35;font-weight:600;font-variation-settings:"wdth" 90;color:var(--ink)}
.strip3 figcaption small{display:block;font-weight:400;font-size:13.5px;color:var(--ink-2);margin-top:3px}
.credit-line{margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}

/* ---------- panels: buy, customer service, sales ---------- */
.pnl{position:relative;background:var(--paper-hi);border-radius:18px;padding:clamp(18px,2vw,28px) clamp(18px,2vw,28px) clamp(18px,2vw,26px) clamp(24px,2.4vw,34px);box-shadow:0 1px 0 rgba(21,19,43,.05),0 30px 60px -44px rgba(21,19,43,.5);overflow:hidden}
.pnl::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--pc,var(--line))}
.pnl.r{--pc:var(--red)}
.pnl.v{--pc:var(--violet)}
.pnl.k{--pc:var(--ink)}
.pnl .mono{display:block;color:var(--ink-2)}
.pnl h3{margin-top:8px;font-size:clamp(22px,2vw,30px);line-height:1.05;letter-spacing:-.025em;font-weight:700;font-variation-settings:"wdth" 80}
.pnl h3 b{color:var(--pc,var(--line-ink))}
.pnl.r h3 b{color:var(--red-ink)}
.pnl.v h3 b{color:var(--violet-ink)}
.pnl p{margin-top:10px;color:var(--ink-2);font-size:15.5px;line-height:1.5;max-width:34em}
.pnl dl{margin-top:16px;border-top:1px solid var(--rule)}
.pnl dl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--rule-2);align-items:baseline}
.pnl dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.pnl dd{font-size:16px;line-height:1.4;overflow-wrap:anywhere;min-width:0}
.pnl dd a{font-weight:620;text-decoration:none;font-variant-numeric:tabular-nums;border-bottom:1.5px solid var(--pc,var(--line))}
.pnl .btn{margin-top:18px}
.pnl-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,2.4vw,32px);margin-top:clamp(18px,2vw,26px)}

/* ---------- quote as a station plaque ---------- */
.plq{position:relative;margin:clamp(18px,2vw,26px) 0 0;padding:22px 24px 20px;background:var(--paper-hi);border-radius:16px;box-shadow:0 1px 0 rgba(21,19,43,.05),0 24px 50px -38px rgba(21,19,43,.5)}
.plq::before{content:"";position:absolute;left:24px;right:24px;top:0;height:4px;border-radius:0 0 4px 4px;background:var(--line)}
.plq p{font-size:clamp(18px,1.5vw,22px);line-height:1.35;letter-spacing:-.01em;font-weight:520;font-variation-settings:"wdth" 90;color:var(--ink)}
.plq cite{display:block;margin-top:12px;font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.plq cite a{color:var(--ink-2)}

/* ---------- next stops (related pages) ---------- */
.nx-wrap .ip-h2{max-width:none}
.nx{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));margin-top:clamp(20px,2.4vw,30px)}
.nx li{position:relative;padding:34px 18px 0 0}
.nx li::before{content:"";position:absolute;top:10px;left:0;right:0;height:6px;background:var(--line)}
.nx li:last-child::before{right:18px;border-radius:0 3px 3px 0}
.nx a{display:block;text-decoration:none;color:var(--ink)}
.nx a::before{content:"";position:absolute;top:2px;left:0;width:22px;height:22px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box;transition:transform .25s var(--ease),background-color .25s}
.nx a:hover::before{transform:scale(1.15);background:var(--line)}
.nx .mono{display:block;color:var(--ink-2)}
.nx b{display:block;margin-top:4px;font-size:clamp(17px,1.4vw,20px);line-height:1.2;font-weight:640;font-variation-settings:"wdth" 86;letter-spacing:-.01em}
.nx span.d{display:block;margin-top:4px;font-size:14px;line-height:1.4;color:var(--ink-2)}
.nx a:hover b{color:var(--line-ink)}

/* ---------- the end of the line (holds the locked footer) ---------- */
.ip-end{margin-top:0}
.ip-end .st.t{padding-bottom:0}
.ip-end .sign{margin-bottom:0}
.ip-end .colophon{margin-top:clamp(24px,3vw,40px)}

/* ---------- article kit, skinned as a route (pillars + articles) ---------- */
.ip{--ak-ink:var(--ink);--ak-muted:var(--ink-2);--ak-rule:var(--rule);--ak-accent:var(--line);--ak-surface:var(--paper-hi);--ak-tint:var(--paper);--ak-zebra:transparent;--ak-radius:14px;--ak-top:92px;--ak-side:270px;--ak-gap:clamp(40px,4vw,72px);--ak-ui-font:var(--display)}
.ip .ak-toc__label{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.08em;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.ip .ak-toc__list{position:relative;border-left:0}
.ip .ak-toc__list::before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:4px;border-radius:2px;background:var(--line)}
.ip .ak-toc__list a{position:relative;margin-left:0;padding:7px 0 7px 30px;border-left:0;font-size:14.5px;line-height:1.35;color:var(--ink-2)}
.ip .ak-toc__list a::after{content:"";position:absolute;left:1px;top:9px;width:16px;height:16px;border-radius:50%;background:var(--paper-hi);border:3.5px solid var(--line);box-sizing:border-box;transition:background-color .2s}
.ip .ak-toc__list a[aria-current="true"]{color:var(--ink);font-weight:660}
.ip .ak-toc__list a[aria-current="true"]::after{background:var(--line);box-shadow:inset 0 0 0 3px var(--paper-hi)}
.ip .ak-toc__progress::after{background:var(--line)}
.ip .ak-toc__top{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.ip .ak-toc-m{margin:22px 0 0;background:var(--paper-hi);border:0;box-shadow:inset 0 0 0 1px var(--rule)}
.ip .ak-toc-m>summary{font-family:var(--mono);font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;font-weight:500}
.ip .ak-toc-m .ak-toc__list{margin:0 18px 16px}
.ip-rail .rail-card{margin-top:24px;background:var(--board);color:var(--board-text);border-radius:14px;padding:16px 16px 18px}
.ip-rail .rail-card .mono{color:rgba(242,238,227,.74);display:block}
.ip-rail .rail-card b{display:block;margin-top:6px;font-size:17px;line-height:1.25;font-weight:640;font-variation-settings:"wdth" 88}
.ip-rail .rail-card a.btn{margin-top:12px;width:100%;justify-content:center}
.ip-rail .rail-card a.lk{display:block;margin-top:10px;font-size:14px;color:var(--board-text)}
.ip .ak-layout{position:relative}
.ip .ak-main>.st:last-child{padding-bottom:clamp(40px,4vw,64px)}
.ak-main .ip-cols{grid-template-columns:minmax(0,1fr);gap:22px}
.ak-main .margin{max-width:560px}
.ak-main .lines6{grid-template-columns:repeat(2,minmax(0,1fr))}
.ak-main .lines6>a:not(:nth-child(3n+1)){padding-left:0;border-left:0}
.ak-main .lines6>a:nth-child(even){padding-left:22px;border-left:1px solid var(--rule)}
.fb .fbt caption{caption-side:top;text-align:left;padding:0 0 14px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,227,.74);border-bottom:1px solid rgba(242,238,227,.18)}
.fbt th:not(:first-child),.fbt td:not(:first-child):not(.nb){width:7.5em}

/* =====================================================================================
   PAGE TYPES
   ===================================================================================== */

/* about: the branch line */
.co-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(18px,2vw,26px)}
.feat5{border-top:1.5px solid var(--ink);margin-top:clamp(16px,2vw,24px)}
.feat5 li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:15px 0;border-bottom:1px solid var(--rule);align-items:start}
.feat5 .ic{width:28px;height:28px;color:var(--line-ink);margin-top:2px}
.feat5 b{display:block;font-size:clamp(19px,1.5vw,22px);line-height:1.2;font-weight:660;font-variation-settings:"wdth" 86;letter-spacing:-.012em}
.feat5 span{display:block;margin-top:3px;font-size:15px;color:var(--ink-2);line-height:1.45}

/* services: the screen, enlarged into a board of counters */
.counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.2vw,16px);margin-top:clamp(18px,2vw,26px);padding:clamp(14px,1.6vw,22px);border-radius:22px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2),0 40px 80px -56px rgba(21,19,43,.6)}
.counters li{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px 18px 20px;border-radius:14px;background:#F3F2FF;min-height:150px}
.counters li .ic{width:30px;height:30px;color:var(--violet)}
.counters li b{font-size:clamp(18px,1.5vw,22px);line-height:1.15;font-weight:660;font-variation-settings:"wdth" 86;letter-spacing:-.012em;color:var(--ink)}
.counters li span{font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.counters li .no{position:absolute;top:16px;right:16px;font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.screen-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:clamp(18px,2vw,26px);padding:14px 20px;border-radius:16px 16px 0 0;background:var(--violet);color:#fff}
.screen-top+.counters{margin-top:0;border-radius:0 0 22px 22px}
.screen-top .hi{font-size:clamp(17px,1.5vw,21px);font-weight:640;font-variation-settings:"wdth" 88}
.screen-top .mono{color:rgba(255,255,255,.86)}
.pay3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1.5px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--paper-hi);margin-top:16px}
.pay3 li{display:flex;align-items:center;gap:12px;padding:16px 18px;font-weight:640;font-variation-settings:"wdth" 88;font-size:16.5px}
.pay3 li+li{border-left:1px solid var(--rule)}
.pay3 .ic{color:var(--violet);width:26px;height:26px}
.spec4{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1.5px solid var(--ink);margin-top:16px}
.spec4>div{padding:16px 0 18px;border-bottom:1px solid var(--rule)}
.spec4>div:nth-child(odd){padding-right:18px;border-right:1px solid var(--rule)}
.spec4>div:nth-child(even){padding-left:22px}
.spec4 dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.spec4 dd{margin-top:6px;font-size:clamp(22px,2vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.05;font-variation-settings:"wdth" 78}
.spec4 dd small{display:block;margin-top:5px;font-size:14px;font-weight:400;letter-spacing:0;color:var(--ink-2);line-height:1.4;font-variation-settings:"wdth" 100}

/* document page: the ticket */
.ticket{position:relative;max-width:460px;justify-self:end;width:100%;background:var(--paper-hi);border-radius:18px;box-shadow:0 1px 0 rgba(21,19,43,.06),0 44px 80px -50px rgba(21,19,43,.65);overflow:hidden}
.ticket::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--line)}
.tk-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px 22px 0}
.tk-top .mono{color:var(--ink-2)}
.tk-top .tk-tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--ink);color:var(--paper-hi);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.tk-name{padding:10px 22px 0;font-size:clamp(26px,2.4vw,36px);line-height:1;letter-spacing:-.03em;font-weight:740;font-variation-settings:"wdth" 74}
.tk-fares{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:18px 0 0;border-top:1px solid var(--rule)}
.tk-fares>div{padding:14px 22px 16px}
.tk-fares>div+div{border-left:1px dashed var(--rule)}
.tk-fares dt{font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2)}
.tk-fares dd{margin-top:4px;font-family:var(--mono);font-size:clamp(26px,2.5vw,36px);font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1}
.tk-fares dd small{font-size:max(12px,.45em);margin-right:3px;color:var(--ink-2)}
.tk-fares>div.c dd{color:var(--red-ink)}
.tk-perf{position:relative;height:22px;margin:0 -1px;background:radial-gradient(circle at 0 50%,var(--paper) 10px,transparent 10.5px),radial-gradient(circle at 100% 50%,var(--paper) 10px,transparent 10.5px)}
.tk-perf::after{content:"";position:absolute;left:22px;right:22px;top:50%;border-top:2px dashed var(--rule)}
.tk-meta{padding:2px 22px 4px}
.tk-meta li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;padding:7px 0;font-size:14.5px;line-height:1.4;color:var(--ink-2)}
.tk-meta .ic{width:18px;height:18px;color:var(--line-ink);margin-top:1px}
.tk-act{padding:12px 22px 22px}
.tk-act .btn{width:100%;justify-content:center}

/* comparison page: the split sign */
.split{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--board);color:var(--board-text);border-radius:20px;overflow:hidden;box-shadow:0 44px 80px -50px rgba(21,19,43,.75),inset 0 0 0 1px rgba(255,255,255,.06)}
.split::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px);pointer-events:none}
.split>div{position:relative;padding:22px 24px 24px}
.split>div:first-of-type{border-top:6px solid var(--violet)}
.split>div:last-of-type{border-top:6px solid var(--red);border-left:1px dashed rgba(242,238,227,.2)}
.split .mono{display:block;color:rgba(242,238,227,.72)}
.split .sp-k{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:clamp(24px,2.3vw,34px);font-weight:720;letter-spacing:-.025em;font-variation-settings:"wdth" 78}
.split .sp-k .ic{width:30px;height:30px}
.split>div:first-of-type .sp-k .ic{color:#B9B1FF}
.split>div:last-of-type .sp-k .ic{color:#FF9C85}
.split .sp-p{display:block;margin-top:16px;font-family:var(--mono);font-size:clamp(30px,3vw,44px);font-weight:500;color:var(--led);font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(255,194,74,.3);line-height:1}
.split .sp-p small{font-size:max(12px,.42em);margin-right:4px;color:rgba(242,238,227,.74);text-shadow:none}
.split p{margin-top:10px;font-size:14.5px;line-height:1.45;color:rgba(242,238,227,.8)}
.split .vs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:46px;height:74px;border-radius:999px;background:var(--paper-hi);border:4px solid var(--ink);display:grid;place-items:center;font-family:var(--mono);font-size:13px;color:var(--ink);font-weight:600}
.cost-bars{margin-top:clamp(16px,2vw,24px);display:grid;gap:14px}
.cost-bars .cb{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr);gap:16px;align-items:center}
.cost-bars .cb>span{font-size:15px;font-weight:600;line-height:1.3}
.cost-bars .cb>span small{display:block;font-family:var(--mono);font-size:12px;color:var(--ink-2);font-weight:400;letter-spacing:.04em;text-transform:uppercase}
.cost-bars .bar{display:flex;min-width:200px;max-width:100%;height:38px;border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 1.5px var(--ink)}
.cost-bars .bar i{display:flex;align-items:center;padding:0 10px;font-style:normal;font-family:var(--mono);font-size:13px;white-space:nowrap;overflow:hidden}
.cost-bars .bar .s{background:var(--paper-hi);color:var(--ink)}
.cost-bars .bar .s.c{background:#FADBD3;color:var(--ink)}
.cost-bars .bar .f{background:var(--ink);color:var(--paper-hi);min-width:58px;justify-content:center}

/* region page: the state line and the register */
.stateline{position:relative;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));margin-top:clamp(28px,3.4vw,52px)}
.stateline li{position:relative;padding:50px 14px 0 0}
.stateline li::before{content:"";position:absolute;top:14px;left:0;right:0;height:var(--line-w);background:var(--line)}
.stateline li:last-child::before{right:14px;border-radius:0 3px 3px 0}
.stateline a{display:block;text-decoration:none;color:var(--ink)}
.stateline a::before{content:"";position:absolute;top:calc(17px - var(--d,30px)/2);left:0;width:var(--d,30px);height:var(--d,30px);border-radius:50%;background:var(--paper-hi);border:5px solid var(--line);box-sizing:border-box;transition:background-color .25s,transform .25s var(--ease)}
.stateline a:hover::before{background:var(--line);transform:scale(1.1)}
.stateline b{display:block;font-size:clamp(22px,2.2vw,34px);line-height:1;font-weight:720;letter-spacing:-.025em;font-variation-settings:"wdth" 78}
.stateline .ct{display:block;margin-top:6px;font-family:var(--mono);font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.stateline .ct b{display:inline;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:0;color:var(--line-ink)}
.reg{margin-top:clamp(18px,2vw,26px)}
.reg-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1.5px solid var(--ink)}
.reg-head .mono{color:var(--ink-2)}
.reg-list{columns:3 290px;column-gap:clamp(22px,2.6vw,40px)}
.reg-list li{break-inside:avoid;display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;padding:13px 0 14px;border-bottom:1px solid var(--rule)}
.reg-list li::before{content:"";width:14px;height:14px;margin-top:4px;border-radius:50%;background:var(--paper-hi);border:3.5px solid var(--line);box-sizing:border-box}
.reg-list li.ssm::before{width:14px;height:20px;margin-top:2px;border-radius:999px;border-color:var(--ink);border-width:3px}
.reg-list b{display:block;font-size:15.5px;line-height:1.3;font-weight:650;font-variation-settings:"wdth" 90;color:var(--ink)}
.reg-list .ad{display:block;margin-top:3px;font-size:13.5px;line-height:1.45;color:var(--ink-2);overflow-wrap:anywhere}
.reg-list .sm{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);font-variation-settings:"wdth" 87.5}
.reg-list .sm::before{content:"";width:16px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--violet) 50%,var(--red) 50%)}
.key{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px;font-size:14px;color:var(--ink-2)}
.key span{display:inline-flex;align-items:center;gap:8px}
.key i{display:inline-block;width:14px;height:14px;border-radius:50%;border:3.5px solid var(--line);background:var(--paper-hi);box-sizing:border-box}
.key i.ssm{height:20px;border-radius:999px;border-color:var(--ink);border-width:3px}

/* contact: the terminus board and the form */
.ct-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(20px,3vw,44px);align-items:start;margin-top:clamp(18px,2vw,26px)}
.form-card{position:relative;background:var(--paper-hi);border-radius:20px;padding:clamp(20px,2.4vw,32px);box-shadow:0 1px 0 rgba(21,19,43,.05),0 40px 80px -56px rgba(21,19,43,.6)}
.form-card::before{content:"";position:absolute;left:28px;right:28px;top:0;height:5px;border-radius:0 0 5px 5px;background:var(--violet)}
.form-card .ip-h3{margin-top:2px}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 18px;margin-top:18px}
.fgrid .full{grid-column:1/-1}
.fld2 label{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px;font-variation-settings:"wdth" 87.5}
.fld2 label small{text-transform:none;letter-spacing:0;font-family:var(--display);font-size:13px}
.fld2 input,.fld2 select,.fld2 textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--rule);border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.fld2 textarea{min-height:140px;resize:vertical}
.fld2 select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.fld2 input:focus,.fld2 select:focus,.fld2 textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}
.f-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.f-act{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:20px}
.f-act button.btn{cursor:pointer;--b:var(--violet-ink)}
.f-act p{font-size:14px;color:var(--ink-2);max-width:30em}
.f-ok{display:none;margin-top:16px;padding:14px 16px;border-radius:12px;background:#E3F6F4;color:var(--ink);font-size:15.5px}
.f-ok.on{display:block}

/* faq: two lines, each question a stop */
.faq-lines{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:start;margin-top:clamp(18px,2vw,26px)}
.faq-idx{position:sticky;top:96px}
.faq-idx .mono{display:block;color:var(--ink-2)}
.faq-idx ol{margin-top:12px;position:relative}
.faq-idx ol::before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:4px;border-radius:2px;background:var(--line)}
.faq-idx a{position:relative;display:block;padding:6px 0 6px 30px;font-size:14px;line-height:1.35;color:var(--ink-2);text-decoration:none}
.faq-idx a::before{content:"";position:absolute;left:1px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--paper-hi);border:3.5px solid var(--line);box-sizing:border-box}
.faq-idx a:hover{color:var(--ink)}
.qa{position:relative;padding:0 0 26px 42px}
.qa::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--line);opacity:.35}
.qa:last-child::before{bottom:auto;height:22px}
.qa::after{content:"";position:absolute;left:1px;top:4px;width:20px;height:20px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box}
.qa h3{font-size:clamp(19px,1.6vw,23px);line-height:1.22;font-weight:660;letter-spacing:-.012em;font-variation-settings:"wdth" 88}
.qa p{margin-top:8px;max-width:42em;color:var(--ink-2);font-size:16.5px;line-height:1.58}
.qa p a{color:var(--line-ink);font-weight:600}
.qa+.qa{padding-top:4px}
.idx2{display:grid;gap:12px}
.idx2 a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--board);color:var(--board-text);text-decoration:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.idx2 a i{width:34px;height:8px;border-radius:4px;background:var(--lc,var(--violet))}
.idx2 a b{font-size:17px;font-weight:640;font-variation-settings:"wdth" 88}
.idx2 a b small{display:block;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,227,.7)}
.idx2 a span{font-family:var(--mono);font-size:22px;color:var(--led);font-variant-numeric:tabular-nums}
.idx2 a:hover{background:#221F40}

/* glossary: the A-Z line and the directory */
.azline{display:flex;flex-wrap:wrap;gap:10px 0;margin-top:4px}
.azline a{position:relative;display:grid;place-items:center;width:52px;height:52px;padding-top:0;text-decoration:none;font-family:var(--mono);font-size:16px;font-weight:600;color:var(--ink)}
.azline a::before{content:"";position:absolute;left:0;right:0;top:50%;height:5px;margin-top:-2.5px;background:var(--line);z-index:0}
.azline a span{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box}
.azline a:hover span{background:var(--line);color:#fff}
.gl{margin-top:clamp(14px,1.6vw,22px)}
.gl>div{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:14px clamp(20px,3vw,48px);padding:20px 0 22px;border-top:1px solid var(--rule)}
.gl>div:first-child{border-top:1.5px solid var(--ink)}
.gl dt{display:flex;gap:14px;align-items:flex-start}
.gl dt .ic{width:30px;height:30px;color:var(--line-ink);margin-top:2px}
.gl dt b{display:block;font-size:clamp(20px,1.7vw,26px);line-height:1.08;letter-spacing:-.02em;font-weight:720;font-variation-settings:"wdth" 80}
.gl dt small{display:block;margin-top:5px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-weight:400;font-variation-settings:"wdth" 87.5}
.gl dd{color:var(--ink-2);font-size:16.5px;line-height:1.58;max-width:44em}
.gl dd a{color:var(--line-ink);font-weight:600}
.gl dd .see{display:inline-flex;margin-top:8px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}

/* a station with its own line colour inside a page on another line */
.lnr{--line:var(--red);--line-ink:var(--red-ink);--line-soft:#FADBD3}
/* glossary: the directory board */
.dir-row{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px dashed rgba(242,238,227,.16)}
.dir-row:last-child{border-bottom:0;padding-bottom:2px}
.dir-row>b{font-family:var(--mono);font-size:20px;font-weight:500;color:var(--led);text-shadow:0 0 14px rgba(255,194,74,.28)}
.dir-row>span{font-size:15px;line-height:1.5;color:rgba(242,238,227,.86)}
.dir-row a{color:var(--board-text);text-decoration:none;border-bottom:1px solid rgba(242,238,227,.3)}
.dir-row a:hover{border-bottom-color:var(--led)}
/* hub head: the answer sits opposite the title */
.ph-dev-ans{padding-top:clamp(0px,3.4vw,58px)}
.ph-dev-ans .ph-lede{margin-top:0;font-size:clamp(17px,1.4vw,21px);padding-left:22px;border-left:6px solid var(--line)}

/* hub: the network map */
.net-map{margin-top:clamp(28px,3.4vw,52px);display:grid;gap:clamp(22px,2.6vw,36px)}
.nm-line{--lc:var(--violet);display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(16px,2.4vw,36px);align-items:start}
.nm-line.r{--lc:var(--red)}
.nm-line.x{--lc:var(--ink)}
.nm-line>div:first-child .mono{display:block;color:var(--ink-2)}
.nm-line>div:first-child b{display:block;margin-top:6px;font-size:clamp(20px,1.8vw,26px);line-height:1.08;font-weight:700;letter-spacing:-.02em;font-variation-settings:"wdth" 80}
.nm-line>div:first-child a{display:inline-block;margin-top:8px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--lc)}
.nm-stops{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));row-gap:18px}
.nm-stops li{position:relative;padding:32px 14px 0 0}
.nm-stops li::before{content:"";position:absolute;top:9px;left:0;right:0;height:6px;background:var(--lc)}
.nm-stops li:last-child::before{right:auto;width:24px;border-radius:0 3px 3px 0}
.nm-stops a{display:block;text-decoration:none;color:var(--ink);font-size:15.5px;line-height:1.25;font-weight:620;font-variation-settings:"wdth" 88}
.nm-stops a::before{content:"";position:absolute;top:2px;left:0;width:20px;height:20px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--lc);box-sizing:border-box;transition:background-color .25s}
.nm-stops a:hover::before{background:var(--lc)}
.nm-stops a small{display:block;margin-top:3px;font-size:13.5px;font-weight:400;color:var(--ink-2)}
.ins-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(18px,2vw,26px)}
.ins-grid>article:first-child{grid-column:1/-1}
.ins-grid>article:first-child>a{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center}
.ins-grid>article:first-child img{height:100%;aspect-ratio:auto;min-height:260px}
.ins-grid>article:first-child h3{font-size:clamp(22px,2vw,30px);padding:22px 26px 0;letter-spacing:-.02em;font-variation-settings:"wdth" 82}
.ins-grid>article:first-child time{padding:10px 26px 24px}
.ins-grid:empty{display:none}
.ins-grid>article>a{display:block;text-decoration:none;color:var(--ink);background:var(--paper-hi);border-radius:16px;overflow:hidden;height:100%;box-shadow:inset 0 0 0 1px var(--rule-2),0 26px 50px -40px rgba(21,19,43,.55)}
.ins-grid>article img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--paper-lo)}
.ins-grid>article h3{padding:16px 18px 0;font-size:19px;line-height:1.22;font-weight:660;font-variation-settings:"wdth" 88;letter-spacing:-.01em}
.ins-grid>article time{display:block;padding:8px 18px 18px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.ins-grid>article p{padding:6px 18px 0;font-size:14.5px;color:var(--ink-2);line-height:1.45}
.ins-grid>article a:hover h3{color:var(--line-ink)}
.ins-empty{display:none;margin-top:clamp(18px,2vw,26px)}
.ins-grid:empty+.ins-empty{display:block}

/* 404: the line that stops */
.lost{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:center}
.lost-draw svg{width:100%;height:auto;max-width:520px}
.lost-draw .l{fill:none;stroke:var(--violet);stroke-width:8;stroke-linecap:round}
.lost-draw .l2{fill:none;stroke:var(--red);stroke-width:8;stroke-linecap:round;stroke-dasharray:2 18}
.lost-draw .st0{fill:var(--paper-hi);stroke:var(--violet);stroke-width:6}
.lost-draw .end{fill:var(--red);stroke:var(--paper-hi);stroke-width:6}
.lost-draw .x{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round}
.lost-list{margin-top:18px;position:relative}
.lost-list::before{content:"";position:absolute;left:7px;top:14px;bottom:14px;width:4px;border-radius:2px;background:var(--line)}
.lost-list a{position:relative;display:block;padding:9px 0 9px 32px;font-size:17px;font-weight:620;color:var(--ink);text-decoration:none;font-variation-settings:"wdth" 90}
.lost-list a::before{content:"";position:absolute;left:0;top:12px;width:18px;height:18px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box}
.ip-404 .ip-end{margin-top:clamp(40px,5vw,80px)}
.lost-list a small{font-weight:400;color:var(--ink-2);font-size:14px}
.lost-list a:hover{color:var(--line-ink)}

/* article shell */
.ar-meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:18px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.ar-meta span{display:inline-flex;align-items:center;gap:8px}
.ar-meta span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line)}
.ar-hero{margin:0}
.ar-hero img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:18px;background:var(--paper-lo);box-shadow:0 40px 70px -48px rgba(21,19,43,.6)}
.ar-hero figcaption{margin-top:10px;font-size:13.5px;color:var(--ink-2)}
.ar-hero figcaption:empty{display:none}
.ar-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.ar-crumbs a{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);text-decoration:none}
.ar-crumbs a::before{content:"";width:14px;height:14px;border-radius:50%;border:3.5px solid var(--line);background:var(--paper-hi);box-sizing:border-box}
.ar-crumbs>span[aria-hidden]{display:inline-block;width:28px;height:4px;border-radius:2px;background:var(--line);color:transparent;overflow:hidden;font-size:12px;line-height:4px}
.ar-crumbs>span:last-child{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.ar-crumbs>span:last-child::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--line);box-shadow:inset 0 0 0 2.5px var(--paper-hi);border:3.5px solid var(--line);box-sizing:border-box}
.ar-body{max-width:44em;color:var(--ink-2);font-size:18px;line-height:1.68}
.ar-body>*+*{margin-top:1em}
.ar-body h2{margin-top:2.2em;font-size:clamp(26px,2.4vw,36px);line-height:1.08;letter-spacing:-.025em;font-weight:720;font-variation-settings:"wdth" 80;color:var(--ink);position:relative;padding-top:22px}
.ar-body h2::before{content:"";position:absolute;left:0;top:0;width:44px;height:6px;border-radius:3px;background:var(--line)}
.ar-body h3{margin-top:1.6em;font-size:clamp(19px,1.6vw,23px);line-height:1.2;font-weight:660;font-variation-settings:"wdth" 88;color:var(--ink)}
.ar-body strong{color:var(--ink);font-weight:620}
.ar-body a{color:var(--line-ink);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px}
.ar-body ul,.ar-body ol{padding-left:0}
.ar-body ul li{position:relative;padding-left:26px}
.ar-body ul li::before{content:"";position:absolute;left:4px;top:.62em;width:10px;height:10px;border-radius:50%;border:3px solid var(--line);box-sizing:border-box}
.ar-body ol{counter-reset:ao}
.ar-body ol li{position:relative;padding-left:40px;counter-increment:ao}
.ar-body ol li::before{content:counter(ao);position:absolute;left:0;top:.1em;width:28px;height:28px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-family:var(--mono);font-size:13px;color:var(--line-ink);font-weight:600;line-height:1}
.ar-body li+li{margin-top:.5em}
.ar-body figure{margin:1.6em 0}
.ar-body figure img{width:100%;height:auto;border-radius:14px}
.ar-body figcaption{margin-top:8px;font-size:14px;color:var(--ink-2)}
.ar-body blockquote{padding:18px 22px;border-radius:14px;background:var(--paper-hi);box-shadow:inset 4px 0 0 var(--line);color:var(--ink)}
.ar-body .ak-table{margin:1.4em 0 0}
.ar-body .ak-table table{font-size:15.5px}
.ar-body .ak-table thead th{font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:500;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.ar-body .ak-table .ak-num{font-family:var(--mono)}
.ar-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:20px;border-top:1.5px solid var(--ink)}
.ar-related .related-card{display:block;padding:16px 18px 18px 0;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule)}
.ar-related .related-card:nth-child(even){padding-left:22px;border-left:1px solid var(--rule)}
.ar-related .rc-cat{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.ar-related .rc-title{display:block;margin-top:5px;font-size:18px;line-height:1.25;font-weight:640;font-variation-settings:"wdth" 88}
.ar-related .related-card:hover .rc-title{color:var(--line-ink)}
.ar-all{margin-top:20px}

/* =====================================================================================
   RESPONSIVE (inner pages)
   ===================================================================================== */
/* a board strip of four facts under a page head */
.db-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(24px,3vw,44px);padding:0}
.db-strip>div{position:relative;padding:16px 20px 15px;display:flex;flex-direction:column;gap:5px}
.db-strip>div+div{border-left:1px dashed rgba(242,238,227,.18)}
.db-strip .mono{color:rgba(242,238,227,.72)}
.db-strip b{font-family:var(--mono);font-weight:500;font-size:clamp(19px,1.7vw,26px);line-height:1.1;color:var(--led);text-shadow:0 0 16px rgba(255,194,74,.28);font-variant-numeric:tabular-nums}
.db-strip b.w{color:var(--board-text);text-shadow:none}
/* the fare board inside the article kit's table box: the board keeps its own look */
.fb .ak-table{background:none;border:0;border-radius:0;overflow-x:auto}
.fb .fbt th{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,227,.7);text-align:right;padding:14px 0 10px 14px;background:none;border-bottom:0;vertical-align:bottom}
.fb .fbt th:first-child{text-align:left;padding-left:0}
.fb .fbt th.ctc{color:var(--led)}
.fb .fbt td{padding:13px 0 13px 14px;border-bottom:0;border-top:1px solid rgba(242,238,227,.1);text-align:right;background:none}
.fb .fbt td:first-child{text-align:left;padding-left:0}
.fb .fbt td.nb{text-align:right}
.fb .ak-table.is-scrollable :is(th,td):first-child{background:var(--board);box-shadow:inset -1px 0 0 rgba(242,238,227,.16)}
.fb .ak-table tbody tr:last-child>*{border-bottom:0}
/* a short related row with an odd count runs down the page instead of leaving a gap */
.nx-v,.nx.odd.nx-v{grid-template-columns:minmax(0,1fr)}

@media (max-width:1200px){
  .lines6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lines6>a:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .lines6>a:nth-child(even){padding-left:22px;border-left:1px solid var(--rule)}
  .who4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .counters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1099px){
  .ip .ak-main{max-width:none}
}
@media (max-width:980px){
  .ph-grid,.ph-grid.tight{grid-template-columns:minmax(0,1fr)}
  .ph-photo.tall,.ticket{justify-self:start;max-width:520px}
  .ip-cols,.ip-cols.wide-aside{grid-template-columns:minmax(0,1fr)}
  .margin{max-width:560px}
  .pnl-pair,.ct-grid,.co-grid{grid-template-columns:minmax(0,1fr)}
  .faq-lines{grid-template-columns:minmax(0,1fr)}
  .faq-idx{position:static}
  .faq-idx ol{display:none}
  .lost{grid-template-columns:minmax(0,1fr)}
  .nm-line{grid-template-columns:minmax(0,1fr);gap:10px}
  .nm-stops{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ph-dev.tallwrap{justify-self:start}
  .ins-grid>article:first-child>a{grid-template-columns:minmax(0,1fr)}
  .ins-grid>article:first-child img{min-height:0;aspect-ratio:16/9}
  .gl>div{grid-template-columns:minmax(0,1fr);gap:8px}
  .nx{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .nx li:nth-child(2n)::before{right:18px;border-radius:0 3px 3px 0}
  .nx.odd{grid-template-columns:minmax(0,1fr);row-gap:0}
  .nx.odd li{padding:0 0 18px 34px}
  .nx.odd li::before,.nx.odd li:nth-child(2n)::before,.nx.odd li:last-child::before{top:0;bottom:0;left:9px;right:auto;width:4px;height:auto;border-radius:0}
  .nx.odd li:last-child::before{bottom:auto;height:14px}
  .nx.odd a::before{top:0;left:0}
  .db-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .db-strip>div:nth-child(3){border-left:0}
  .db-strip>div:nth-child(n+3){border-top:1px dashed rgba(242,238,227,.18)}
}
@media (max-width:760px){
  .stops4{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .stops4 li:nth-child(2)::before{right:18px;border-radius:0 3px 3px 0}
  .strip3{grid-template-columns:repeat(3,minmax(180px,1fr));overflow-x:auto;scrollbar-width:none;margin-right:calc(var(--pad)*-1);padding-right:var(--pad)}
  .strip3::-webkit-scrollbar{display:none}
  .way{grid-template-columns:minmax(0,1fr)}
  .way>a+a{border-left:0;border-top-width:6px}
}
@media (max-width:640px){
  .ph-t,.ph-t.long{font-size:clamp(34px,9.6vw,42px);line-height:.96}
  .ph-lede{font-size:16.5px}
  .ph-grid{margin-top:20px;gap:22px}
  .crumbs li+li::before{width:16px;margin:0 8px 0 2px}
  .crumbs li{font-size:12px}
  .ip-route{margin-top:44px}
  .ip-route .st{padding-bottom:48px}
  .ip-h2{font-size:clamp(25px,7.2vw,30px)}
  .prose{font-size:16px;line-height:1.6}
  .who4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .who4 li{padding:14px}
  .who4 b{font-size:15.5px}
  .who4 span{font-size:13.5px}
  .lines6{grid-template-columns:minmax(0,1fr)}
  .lines6>a,.lines6>a:nth-child(even),.lines6>a:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .counters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}
  .counters li{min-height:0;padding:14px 12px 16px}
  .counters li span{font-size:13.5px}
  .counters li .no{display:none}
  .pay3{grid-template-columns:minmax(0,1fr)}
  .pay3 li+li{border-left:0;border-top:1px solid var(--rule)}
  .spec4{grid-template-columns:minmax(0,1fr)}
  .spec4>div:nth-child(odd),.spec4>div:nth-child(even){padding:12px 0;border-right:0}
  .fare-split{grid-template-columns:minmax(0,1fr)}
  .tk-fares dd{font-size:28px}
  .split{grid-template-columns:minmax(0,1fr)}
  .split>div:last-child{border-left:0;border-top:6px solid var(--red)}
  .split .vs{top:auto;bottom:auto;left:auto;right:18px;transform:none;margin-top:-37px;position:absolute}
  .split>div:last-child .vs{display:none}
  .cost-bars .cb{grid-template-columns:minmax(0,1fr);gap:6px}
  .reg-list{columns:1}
  .stateline b{font-size:20px}
  .stateline .ct{font-size:12px}
  .stateline .ct b{font-size:12px}
  .fgrid{grid-template-columns:minmax(0,1fr)}
  .ins-grid{grid-template-columns:minmax(0,1fr)}
  .nx{grid-template-columns:minmax(0,1fr);row-gap:0}
  .nx li{padding:0 0 18px 34px}
  .nx li::before,.nx li:nth-child(2n)::before,.nx li:last-child::before{top:0;bottom:0;left:9px;right:auto;width:4px;height:auto;border-radius:0}
  .nx li:last-child::before{bottom:auto;height:14px}
  .nx a::before{top:0;left:0}
  .azline a{width:44px;height:44px}
  .azline a span{width:34px;height:34px;font-size:14px}
  .db-row>b{font-size:20px}
  .lt td,.lt tbody th,.lt th{padding-left:14px;padding-right:14px}
  .lt caption{padding:14px}
  .ar-related{grid-template-columns:minmax(0,1fr)}
  .ar-related .related-card:nth-child(even){padding-left:0;border-left:0}
  .ar-body{font-size:16.5px}
  .plate{margin:-30px 12px 0}
  .qa{padding-left:36px}
  .qa p{font-size:15.5px}
  .gl dd{font-size:15.5px}
  .tk-name{font-size:28px}
  .split .vs{display:none}
  .db-row.st-row{display:none}
  .reg-list li{padding:10px 0 11px;gap:8px}
  .reg-list .ad{font-size:13px;line-height:1.4}
  .reg-list .sm{margin-top:4px}
  .db-row.ic-row{grid-template-columns:26px minmax(0,1fr)}
  .db-row.ic-row>b{grid-column:2;text-align:left}
  .lt.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .lt.stack,.lt.stack tbody,.lt.stack tr,.lt.stack tbody th,.lt.stack td{display:block;width:100%}
  .lt.stack caption{display:block}
  .lt.stack tr{padding:14px;border-top:1px solid var(--rule)}
  .lt.stack tbody th,.lt.stack tbody tr:nth-child(even) th{padding:0 0 6px;border:0;background:none}
  .lt.stack td,.lt.stack tr:nth-child(even) td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:5px 0;border:0;background:none;white-space:normal}
  .lt.stack td::before{content:attr(data-label);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding-top:2px}
  .lt.stack td>small,.lt.stack td.num small{display:block;grid-column:2;margin-top:0}
  .lt.stack td.fee{display:block;padding-left:102px;position:relative}
  .lt.stack td.fee::before{position:absolute;left:0;top:7px;width:92px}
  .ph-photo.tall img{aspect-ratio:4/3}
  .ph-photo.render img{aspect-ratio:633/700}
  .ph-dev.tallwrap{max-width:none}
  .nm-stops{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---- inner-company.css ---- */
/* =====================================================================================
   COMPANY GROUP - about, services, contact, partnership, promotion, kiosk-solutions,
   corporate-solutions (builder/pages_company.py). Appended after inner.css by
   build_aeo_pages.py; adds rules only. No declared size below 12px.
   ===================================================================================== */

/* a station on the Tap.It line inside a page on another line (corporate-solutions runs on ink) */
.lnv{--line:var(--violet);--line-ink:var(--violet-ink);--line-soft:var(--violet-soft)}

/* contacts never break mid-token (round-1 lesson) */
.nwl{white-space:nowrap}
a.nwl.blk{display:block;width:max-content;max-width:100%}
a.nwl.blk+a.nwl.blk{margin-top:6px}

/* the group's pages draw boards, panels and figures flat: an edge, not a soft drop shadow */
:is(.ip-about,.ip-services,.ip-contact,.ip-partnership,.ip-promotion,.ip-kiosk-solutions,.ip-corporate-solutions) :is(.pnl,.note-card,.plq,.tbox,.fig){box-shadow:inset 0 0 0 1px var(--rule-2)}
:is(.ip-about,.ip-services,.ip-contact,.ip-partnership,.ip-promotion,.ip-kiosk-solutions,.ip-corporate-solutions) :is(.dboard,.way){box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
:is(.ip-about,.ip-services,.ip-contact,.ip-partnership,.ip-promotion,.ip-kiosk-solutions,.ip-corporate-solutions) .ph-photo{box-shadow:0 0 0 1px var(--rule-2)}
.margin.stick{position:sticky;top:96px}

/* panels with their own contact rows */
.pnl.cpan dl div{grid-template-columns:72px minmax(0,1fr)}
.pnl.cpan dd{overflow-wrap:normal}
.pnl.cpan .btn{margin-top:16px}

/* closing call to action: a ruled band at route width */
.band{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:18px clamp(24px,3vw,48px);align-items:center;margin-top:clamp(28px,3.2vw,44px);padding-top:22px;border-top:1.5px solid var(--ink)}
.band::before{content:"";position:absolute;left:0;top:-4px;width:72px;height:6px;border-radius:3px;background:var(--line)}
.band .mono{display:block;color:var(--ink-2)}
.band-h{margin-top:6px;font-size:clamp(24px,2.2vw,34px);line-height:1.04;letter-spacing:-.025em;font-weight:720;font-variation-settings:"wdth" 78;color:var(--ink)}
.band-h em{font-style:italic;font-weight:300;font-variation-settings:"wdth" 64;color:var(--line-ink)}
.band p.d{margin-top:8px;font-size:15.5px;line-height:1.5;color:var(--ink-2);max-width:34em}
.band dl{border-top:1px solid var(--rule)}
.band dl div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.band dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.band dd{font-size:16px;font-weight:620;min-width:0}
.band dd a{color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--line)}
.band-a{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- about ---------- */
.co-photo .plate{margin:-46px 16px 0}
.co-photo figcaption{margin-top:12px}
.jobline{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:clamp(24px,2.8vw,40px)}
.jobline li{position:relative;padding:44px 16px 0 0;min-width:0}
.jobline li::before{content:"";position:absolute;top:12px;left:0;right:0;height:var(--line-w);background:var(--line)}
.jobline li:last-child::before{right:auto;width:28px;border-radius:0 3px 3px 0}
.jobline li::after{content:attr(data-n);position:absolute;top:0;left:0;width:30px;height:30px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box;font-family:var(--mono);font-size:12px;line-height:22px;text-align:center;color:var(--ink);font-weight:600}
.jobline .ic{display:block;width:26px;height:26px;color:var(--line-ink);margin-bottom:10px}
.jobline b{display:block;font-size:clamp(17px,1.35vw,20px);line-height:1.2;font-weight:660;font-variation-settings:"wdth" 86;letter-spacing:-.01em}
.jobline span{display:block;margin-top:5px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.jobline+.ip-cols{margin-top:clamp(26px,3vw,40px)}
.where2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.where2>div:first-child{padding-right:clamp(16px,2vw,28px)}
.where2>.rg{position:relative;padding-left:clamp(16px,2vw,28px);border-left:1px dashed rgba(242,238,227,.18)}
.where2>.db-foot{grid-column:1/-1}
.where2 .rg a{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed rgba(242,238,227,.16);color:var(--board-text);text-decoration:none;font-size:15.5px;line-height:1.35}
.where2 .rg a:last-child{border-bottom:0}
.where2 .rg a svg{width:14px;height:14px;flex:none;color:var(--led)}
.where2 .rg a:hover span{color:var(--led)}

/* ---------- services: the screen, drawn ---------- */
.kscreen{margin:clamp(22px,2.6vw,36px) 0 0}
.ks-bezel{padding:clamp(10px,1.2vw,16px);border-radius:28px;background:var(--ink)}
.ks-glass{border-radius:16px;overflow:hidden;background:var(--paper-hi)}
.ks-bar{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:12px 18px;background:var(--violet-ink);color:#fff}
.ks-hi{font-size:clamp(15px,1.3vw,18px);font-weight:600;font-variation-settings:"wdth" 92}
.ks-bar .mono{color:#fff}
.ks-grp{padding:16px 18px 18px}
.ks-grp+.ks-grp{border-top:1px solid var(--rule)}
.ks-grp>.mono{display:block;margin-bottom:10px;color:var(--ink-2)}
.ks-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--rule)}
.ks-tiles>li{background:var(--paper-hi);min-width:0}
.ks-tiles .t{display:grid;grid-template-columns:30px minmax(0,1fr);gap:3px 12px;padding:14px 16px 16px;align-content:start;height:100%;box-sizing:border-box;color:inherit;text-decoration:none}
.ks-tiles .t .ic{grid-row:span 2;width:26px;height:26px;color:var(--violet-ink);margin-top:1px}
.ks-tiles .t b{font-size:16.5px;line-height:1.2;font-weight:660;font-variation-settings:"wdth" 88;color:var(--ink)}
.ks-tiles .t span{font-size:14px;line-height:1.4;color:var(--ink-2)}
.ks-grp.ssm .ks-tiles>li{background:var(--board)}
.ks-grp.ssm .t b{color:var(--board-text)}
.ks-grp.ssm .t span{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,227,.74)}
.ks-grp.ssm .t .ic{color:#C9C2FF}
.ks-grp.ssm a.t:hover b{text-decoration:underline;text-underline-offset:3px}
.ks-pay{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding:12px 18px;border-top:1px solid var(--rule);background:var(--paper)}
.ks-pay .mono{color:var(--ink-2)}
.ks-pay span:not(.mono){display:inline-flex;align-items:center;gap:8px;font-weight:620;font-size:15px}
.ks-pay .ic{width:20px;height:20px;color:var(--violet-ink)}
.kscreen>figcaption{margin-top:10px;font-size:13.5px;color:var(--ink-2)}
.fee-h{margin-top:clamp(28px,3.2vw,44px)}
.kfees td.fee small.br{margin-top:8px;white-space:normal;max-width:22em}

/* line drawings (the landing page's sketch vocabulary, drawn in the page's line colour) */
.sk{display:block;width:100%;max-width:300px;height:auto;margin:0 auto}
.sk .ln{fill:none;stroke:var(--line-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sk .ln.fill{fill:rgba(82,64,255,.05)}
.sk .ln.thin{stroke-width:1;stroke:color-mix(in srgb,var(--line-ink) 55%,transparent)}
.sk .tint{fill:var(--line);opacity:.85}
.sk .lead{fill:none;stroke:var(--ink-2);stroke-width:1;stroke-dasharray:3 4}
.sk .dot{fill:var(--line)}
.sk text{font-family:var(--mono);font-size:14.5px;letter-spacing:.06em;text-transform:uppercase;fill:var(--ink-2)}
.fig.skfig{padding:18px 16px 0;background:var(--paper-hi)}
.fig.skfig figcaption{margin:12px -16px 0}

/* ---------- contact ---------- */
.tline{margin:clamp(26px,3vw,44px) 0 0}
.tline ol{display:flex;justify-content:space-between}
.tline li{position:relative;flex:1 1 0;padding-top:46px}
.tline li::before{content:"";position:absolute;top:15px;left:0;right:0;height:var(--line-w);background:var(--violet)}
.tline li.end{flex:0 0 auto;text-align:right;min-width:120px}
.tline li.end::before{right:46px}
.tline li.end .t-i{left:auto;right:0}
.tline .t-i{position:absolute;top:0;left:0;z-index:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--violet);box-sizing:border-box;color:var(--violet-ink)}
.tline .t-i .ic{width:16px;height:16px}
.tline .end .t-i{width:52px;border-radius:999px;border-color:var(--ink);background:var(--red-ink);color:#fff}
.tline small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.tline figcaption{margin-top:12px;font-size:13.5px;color:var(--ink-2)}
.ip-contact .ct-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr)}
.form-wrap{min-width:0}
.fticket{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,236px);background:var(--paper-hi);border-radius:20px;box-shadow:inset 0 0 0 1px var(--rule-2)}
.ft-main{padding:clamp(20px,2.4vw,30px);min-width:0}
.ft-main>.mono{display:block;color:var(--ink-2)}
.ft-main .ip-h3{margin-top:4px}
.ft-perf{position:relative;background:radial-gradient(circle at 50% 0,var(--paper) 11px,transparent 11.5px),radial-gradient(circle at 50% 100%,var(--paper) 11px,transparent 11.5px)}
.ft-perf::after{content:"";position:absolute;top:22px;bottom:22px;left:50%;border-left:2px dashed var(--rule)}
.ft-stub{display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:clamp(20px,2.4vw,30px) clamp(16px,1.8vw,22px);border-radius:0 20px 20px 0;background:color-mix(in srgb,var(--violet-soft) 32%,var(--paper-hi))}
.ft-stub .mono{color:var(--ink-2)}
.ft-stub b{font-size:18px;line-height:1.25;font-weight:660;font-variation-settings:"wdth" 88}
.ft-stub button.btn{cursor:pointer;--b:var(--violet-ink);justify-content:center;width:100%}
.ft-stub p{font-size:14px;line-height:1.5;color:var(--ink-2)}
.ft-stub p a{color:var(--ink);font-weight:600}
.ft-stub .f-pd{font-size:13px}

/* ---------- partnership ---------- */
.ph-grid.tight-r{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.ph-dev.wide-dev{min-width:0}
.ph-photo.gen img{aspect-ratio:16/9;object-fit:cover}
.ph-photo .plate{margin:-40px 16px 0}
.ben6{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);border-top:1.5px solid var(--ink);margin-top:clamp(20px,2.4vw,32px)}
.ben6 li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--rule);align-items:start}
.ben6 .ic{width:28px;height:28px;color:var(--line-ink);margin-top:2px}
.ben6 b{display:block;font-size:clamp(18px,1.5vw,21px);line-height:1.2;font-weight:660;font-variation-settings:"wdth" 86;letter-spacing:-.01em}
.ben6 span{display:block;margin-top:4px;font-size:15px;line-height:1.45;color:var(--ink-2)}
.ind10{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,auto);grid-auto-flow:column;column-gap:clamp(20px,3vw,48px)}
.ind10 li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:13px 0;border-bottom:1px dashed rgba(242,238,227,.16)}
.ind10 li:nth-child(5),.ind10 li:nth-child(10){border-bottom:0}
.ind10 i{font-style:normal;font-family:var(--mono);font-size:15px;color:var(--led);text-shadow:0 0 14px rgba(255,194,74,.28);font-variant-numeric:tabular-nums}
.ind10 span{font-size:clamp(18px,1.6vw,23px);font-weight:620;color:var(--board-text);font-variation-settings:"wdth" 86;letter-spacing:-.01em}
.ledger2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(20px,2.4vw,32px);border-top:1.5px solid var(--ink)}
.ledger2>div{padding:16px 0 4px;min-width:0}
.ledger2>div:first-child{padding-right:clamp(20px,3vw,44px)}
.ledger2>div+div{padding-left:clamp(20px,3vw,44px);border-left:1px solid var(--rule)}
.ledger2 .mono{display:block;color:var(--ink-2);margin-bottom:6px}
.ledger2 li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule);font-size:17px;font-weight:620;font-variation-settings:"wdth" 90;color:var(--ink)}
.ledger2 li .ic{width:20px;height:20px;color:var(--line-ink)}

/* ---------- promotion ---------- */
.prose .sub-h{margin-top:1.5em;color:var(--ink)}
.follow3{border-top:1.5px solid var(--ink);margin-top:clamp(20px,2.4vw,30px)}
.follow3 a{display:grid;grid-template-columns:30px minmax(0,190px) minmax(0,1fr) 20px;gap:6px 16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.follow3 b{font-size:clamp(20px,1.8vw,26px);line-height:1.1;font-weight:700;letter-spacing:-.02em;font-variation-settings:"wdth" 80}
.ip-main .follow3 .mono{color:var(--ink-2);text-transform:none;font-size:13px;letter-spacing:.02em;overflow-wrap:anywhere}
.follow3 svg{width:18px;height:18px;color:var(--line-ink)}
.follow3 svg.sg{width:24px;height:24px}
.follow3 a:hover b{color:var(--line-ink)}

/* ---------- kiosk-solutions (pillar) ---------- */
.range4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);border-top:1.5px solid var(--ink);margin-top:clamp(20px,2.4vw,30px)}
.range4 li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:20px 0 22px;border-bottom:1px solid var(--rule)}
.range4 .ic{width:32px;height:32px;color:var(--line-ink)}
.range4 b{display:block;font-size:clamp(19px,1.6vw,23px);line-height:1.15;font-weight:680;font-variation-settings:"wdth" 82;letter-spacing:-.015em}
.range4 span{display:block;margin-top:6px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.ticks.two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:12px;margin-top:18px}
.fig.coin{max-width:340px}
.draw2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-top:clamp(20px,2.4vw,30px)}
.draw2 figure{margin:0;padding:18px 18px 0;border-radius:16px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2)}
.draw2 .sk{max-width:260px}
.draw2 figcaption{padding:12px 0 14px;margin-top:8px;border-top:1px solid var(--rule-2);font-size:15px;font-weight:620;color:var(--ink)}
.draw2 figcaption small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-weight:400;margin-top:2px}

/* ---------- corporate-solutions ---------- */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.duo>.db-head,.duo>.db-foot{grid-column:1/-1}
.duo-p{position:relative;padding:16px 18px 6px 0;min-width:0}
.duo-p+.duo-p{padding:16px 0 6px 18px;border-left:1px dashed rgba(242,238,227,.18)}
.duo-p::before{content:"";display:block;width:44px;height:6px;border-radius:3px;background:var(--violet);margin-bottom:12px}
.duo-p.r::before{background:var(--red)}
.duo-p .mono{display:block;color:rgba(242,238,227,.74)}
.duo-p b{display:block;margin-top:6px;font-size:clamp(22px,2vw,30px);line-height:1.05;font-weight:700;letter-spacing:-.02em;font-variation-settings:"wdth" 80;color:var(--board-text)}
.duo-p ul{margin-top:10px}
.duo-p li{padding:8px 0;border-top:1px dashed rgba(242,238,227,.14);font-size:15px;line-height:1.35;color:rgba(242,238,227,.86)}
.duo .db-foot a{color:var(--board-text)}
.doc6{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);border-top:1.5px solid var(--ink);margin-top:clamp(20px,2.4vw,30px)}
.doc6 a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px 14px;align-items:start;padding:16px 0 18px;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);height:100%;box-sizing:border-box}
.doc6 .ic{width:24px;height:24px;color:var(--line-ink);margin-top:2px}
.doc6 b{display:block;font-size:17.5px;line-height:1.2;font-weight:660;font-variation-settings:"wdth" 88}
.doc6 .d{display:block;margin-top:4px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.doc6 .p{grid-column:2;font-family:var(--mono);font-size:13px;color:var(--line-ink);font-variant-numeric:tabular-nums;padding-top:3px}
.doc6 a:hover b{color:var(--line-ink)}
.users4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;border-top:1.5px solid var(--ink)}
.prose p+.users4,.prose .users4+p{margin-top:1em}
.users4 li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 12px;padding:14px 0;border-bottom:1px solid var(--rule);align-content:start}
.users4 .ic{grid-row:span 2;width:24px;height:24px;color:var(--line-ink)}
.users4 b{font-size:16.5px;font-weight:660;line-height:1.25;color:var(--ink);font-variation-settings:"wdth" 88}
.users4 span{font-size:14.5px;line-height:1.4;color:var(--ink-2)}
.fig.gen img{aspect-ratio:16/9;object-fit:cover}
.flow3{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(22px,2.6vw,34px)}
.flow3>div{position:relative;padding:18px 22px 20px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2);min-width:0}
.flow3>div:first-child{border-radius:16px 0 0 16px}
.flow3>div:last-child{border-radius:0 16px 16px 0}
.flow3>.mid{background:var(--board);color:var(--board-text);box-shadow:none}
.flow3>div+div::before{content:"";position:absolute;left:-14px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box;z-index:2}
.flow3 .mono{display:block;color:var(--ink-2)}
.flow3 .mid .mono{color:rgba(242,238,227,.74)}
.flow3 b{display:block;margin-top:6px;font-size:clamp(19px,1.6vw,23px);line-height:1.15;font-weight:680;font-variation-settings:"wdth" 84;letter-spacing:-.015em}
.flow3 ul{margin-top:10px}
.flow3 li{padding:7px 0;border-top:1px solid var(--rule);font-size:15px;line-height:1.4;color:var(--ink-2)}
.flow3 .mid li{border-top-color:rgba(242,238,227,.16);color:rgba(242,238,227,.86)}

/* ---------- responsive ---------- */
@media (max-width:1200px){
  .fticket{grid-template-columns:minmax(0,1fr)}
  .ft-perf{height:24px;background:radial-gradient(circle at 0 50%,var(--paper) 11px,transparent 11.5px),radial-gradient(circle at 100% 50%,var(--paper) 11px,transparent 11.5px)}
  .ft-perf::after{top:50%;bottom:auto;left:22px;right:22px;border-left:0;border-top:2px dashed var(--rule)}
  .ft-stub{border-radius:0 0 20px 20px}
}
@media (max-width:1100px){
  .jobline{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}
  .jobline li:nth-child(3)::before{right:16px;border-radius:0 3px 3px 0}
}
@media (max-width:980px){
  .band{grid-template-columns:minmax(0,1fr)}
  .ph-grid.tight-r{grid-template-columns:minmax(0,1fr)}
  .ip-contact .ct-grid{grid-template-columns:minmax(0,1fr)}
  .margin.stick{position:static}
}
@media (max-width:760px){
  .where2{grid-template-columns:minmax(0,1fr)}
  .where2>div:first-child{padding-right:0}
  .where2>.rg{padding-left:0;border-left:0;border-top:1px solid rgba(242,238,227,.18);margin-top:8px;padding-top:6px}
  .ks-tiles{grid-template-columns:minmax(0,1fr)}
  .ks-grp{padding:14px 12px}
  .ben6,.range4,.doc6,.ticks.two{grid-template-columns:minmax(0,1fr)}
  .ledger2{grid-template-columns:minmax(0,1fr)}
  .ledger2>div:first-child{padding-right:0}
  .ledger2>div+div{padding-left:0;border-left:0;margin-top:10px}
  .flow3{grid-template-columns:minmax(0,1fr)}
  .flow3>div:first-child{border-radius:16px 16px 0 0}
  .flow3>div:last-child{border-radius:0 0 16px 16px}
  .flow3>div+div::before{left:50%;top:-14px;margin:0 0 0 -14px}
}
@media (max-width:640px){
  .jobline{grid-template-columns:minmax(0,1fr);row-gap:0}
  .jobline li{padding:0 0 22px 46px}
  .jobline li::before,.jobline li:nth-child(3)::before,.jobline li:last-child::before{top:0;bottom:0;left:13px;right:auto;width:4px;height:auto;border-radius:0}
  .jobline li:last-child::before{bottom:auto;height:16px}
  .jobline .ic{margin-bottom:6px}
  .ind10{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
  .ind10 li:nth-child(5){border-bottom:1px dashed rgba(242,238,227,.16)}
  .draw2,.users4{grid-template-columns:minmax(0,1fr)}
  .duo{grid-template-columns:minmax(0,1fr)}
  .duo-p+.duo-p{padding:12px 0 6px;border-left:0;border-top:1px dashed rgba(242,238,227,.18);margin-top:10px}
  .follow3 a{grid-template-columns:30px minmax(0,1fr) 18px}
  .follow3 svg.sg{grid-column:1;grid-row:1/3}
  .follow3 b{grid-column:2;grid-row:1}
  .ip-main .follow3 .mono{grid-column:2;grid-row:2}
  .follow3 svg:not(.sg){grid-column:3;grid-row:1/3}
  .tline .t-i{width:32px;height:32px}
  .tline .end .t-i{width:46px}
  .tline li::before{top:13px}
  .tline li{padding-top:42px}
  .co-photo .plate,.ph-photo .plate{margin:-30px 12px 0}
  .fig.skfig{padding:14px 8px 0}
  .fig.skfig figcaption{margin:12px -8px 0}
}
/* panel titles that are labels, not sub-headings (round-1: card titles as H3 read as fake headings) */
.pnl .pt{margin-top:8px;font-size:clamp(22px,2vw,30px);line-height:1.05;letter-spacing:-.025em;font-weight:700;font-variation-settings:"wdth" 80;color:var(--ink)}
.pnl.r .pt b{color:var(--red-ink)}
.pnl.v .pt b{color:var(--violet-ink)}

/* ===================== round 2 (19 Oct): review fixes ===================== */
.ip-main p.upd{margin-top:14px;color:var(--ink-2)}
.nx-wrap p.nx-h{margin:0}
:is(.ip-about,.ip-services) .st.x .ip-h2 em{color:var(--red-ink)}
.ip-about .way .go{white-space:nowrap}
.ph-photo.tall.co-photo img{object-position:50% 100%}
/* sketches keep the 1.6 stroke at any size */
.sk .ln{vector-effect:non-scaling-stroke}
.sk .wall{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round}
.sk .tape{fill:rgba(82,64,255,.08);stroke:var(--violet);stroke-width:6}
.sk .dim{fill:none;stroke:var(--ink-2);stroke-width:1.2}
.sk.plan text{font-size:17px}
.sk text.big{font-family:var(--display);font-size:21px;letter-spacing:-.005em;text-transform:none;fill:var(--ink);font-weight:600}
/* about: where the kiosks stand, drawn on the line */
.sk3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin-top:clamp(22px,2.6vw,34px)}
.sk3 figure{margin:0;position:relative;padding-top:30px;min-width:0}
.sk3 figure::before{content:"";position:absolute;top:9px;left:0;right:calc(-1 * clamp(14px,1.8vw,24px));height:6px;background:var(--line)}
.sk3 figure:last-child::before{right:0;border-radius:0 3px 3px 0}
.sk3 figure::after{content:"";position:absolute;top:3px;left:0;width:18px;height:18px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box}
.sk3 .pic{border-radius:14px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2);padding:10px}
.sk3 .sk{max-width:none;width:100%}
.sk3 figcaption{margin-top:10px;font-size:15px;line-height:1.35;font-weight:600;color:var(--ink);font-variation-settings:"wdth" 90}
.sk3 figcaption small{display:block;margin-top:2px;font-weight:400;font-size:13.5px;color:var(--ink-2)}
/* services */
.ip-services .ph-photo.render img{max-height:560px}
.ip-services .kfees thead th:nth-child(1){width:34%}
.ip-services .kfees thead th:nth-child(2){width:46%}
/* contact: the ticket */
.ip-contact .fld2 :is(input,select,textarea){border-color:var(--ink-3)}
.ft-top dl{margin-top:12px;border-top:1px solid var(--rule)}
.ft-top dl div{padding:10px 0;border-bottom:1px solid var(--rule)}
.ft-top dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.ft-top dd{margin-top:3px;font-size:16px;font-weight:620;line-height:1.3;color:var(--ink)}
.ft-bot{display:flex;flex-direction:column;gap:12px}
/* partnership: the plan, the industries, the ledger */
.fplan,.mofig{margin:0;justify-self:end;width:100%;max-width:560px;background:var(--paper-hi);border-radius:18px;box-shadow:inset 0 0 0 1px var(--rule-2);padding:clamp(16px,2vw,24px);box-sizing:border-box}
.fplan .sk,.mofig .sk{max-width:none;width:100%}
.fplan figcaption,.mofig figcaption{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule-2);font-size:14.5px;line-height:1.4;font-weight:600;color:var(--ink)}
.fplan figcaption small,.mofig figcaption small{display:block;margin-top:3px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-weight:400}
.ind10 .ic{width:22px;height:22px;color:var(--led)}
.needs{padding:16px clamp(20px,3vw,44px) 4px 0;min-width:0}
.needs>.mono{display:block;color:var(--ink-2);margin-bottom:6px}
.bigfig{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule)}
.bigfig div{padding:12px 0 14px}
.bigfig dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.bigfig dd{margin-top:4px;font-size:clamp(26px,2.4vw,36px);line-height:1;font-weight:720;letter-spacing:-.02em;font-variation-settings:"wdth" 78;color:var(--ink)}
.needs .fig{margin-top:14px}
.ledger2>.needs+div{padding-left:clamp(20px,3vw,44px);border-left:1px solid var(--rule);padding-top:16px}
.places6{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;border-top:1.5px solid var(--ink)}
.prose p+.places6{margin-top:12px}
.places6 li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule);font-size:15.5px;color:var(--ink)}
.places6 .ic{width:20px;height:20px;color:var(--line-ink)}
.fig.render.capped img{max-height:460px}
/* kiosk-solutions */
.ks-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
.ks-strip>div:nth-child(3){border-left:0}
.ks-strip>div:nth-child(n+3){border-top:1px dashed rgba(242,238,227,.18)}
.ks-strip b{white-space:nowrap;font-size:clamp(17px,1.5vw,22px)}
.range4.imgs li{grid-template-columns:120px minmax(0,1fr)}
.range4.imgs .rpic{margin:0;border-radius:12px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2);overflow:hidden;align-self:start}
.range4.imgs .rpic img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.range4.imgs .rpic .sk{display:block;max-width:none;width:100%;padding:8px;box-sizing:border-box}
.range4.imgs figcaption{padding:6px 8px 8px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border-top:1px solid var(--rule-2)}
@media (max-width:760px){
  .ledger2>.needs+div{padding-left:0;border-left:0}
  .needs{padding-right:0}
}
@media (max-width:640px){
  .sk3{grid-template-columns:minmax(0,1fr)}
  .sk3 figure{padding-top:0}
  .sk3 figure::before,.sk3 figure::after{display:none}
  .sk3 .pic{max-width:240px}
  .ph-photo.tall.co-photo img{object-position:50% 40%}
  .ks-tiles.six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ks-tiles.six .t{grid-template-columns:22px minmax(0,1fr);padding:12px 10px;align-items:center}
  .ks-tiles.six .t .ic{grid-row:auto;width:22px;height:22px}
  .ks-tiles.six .t span{display:none}
  .ks-tiles.six .t b{font-size:15px}
  .places6{grid-template-columns:minmax(0,1fr)}
  .range4.imgs li{grid-template-columns:96px minmax(0,1fr)}
  .tline li.end{min-width:96px}
}
.tbox .tbox-scroll.ak-table{background:none;border:0;border-radius:0;margin:0;box-shadow:none}

/* ===================== batch J (19 Oct): last-review fixes ===================== */
/* partnership: the plan straight on the paper, family-weight lines, labels as 12px HTML */
.fplan{background:none;box-shadow:none;border-radius:0;padding:0}
.fp-box{position:relative}
.fp-box .pl{position:absolute;transform:translate(-50%,-50%);font-family:var(--mono);font-size:12px;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;font-variation-settings:"wdth" 87.5}
.fp-box .pl.l{transform:translate(0,-50%)}
.fp-box .pl.in{color:var(--line-ink);font-weight:600}
.sk .band2{fill:none;stroke:var(--violet);stroke-width:2.5;vector-effect:non-scaling-stroke}
.sk .hatch{stroke:var(--violet);stroke-width:1;opacity:.28}
.ind-board .db-foot{font-size:14px}
.ind-board .db-foot a{color:var(--board-text)}
.bigfig.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.bigfig.three dd{font-size:clamp(22px,2vw,30px)}
.fig.gen.crop2 img{aspect-ratio:2/1;object-fit:cover;width:100%;height:auto}
.fig.render.rplate{margin-top:clamp(18px,2vw,26px)}
.fig.render.rplate img{display:block;max-height:340px;width:100%;object-fit:contain;background:var(--paper-hi)}
/* partnership: the CelcomDigi store photo in the Sepang render's place (Alexzis, 22 Oct 2026), cropped to a band */
.fig.pband{margin-top:clamp(18px,2vw,26px)}
.fig.pband img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 58%}
/* promotion: the kiosk on the paper, a violet line of stops running into it */
.mofig{background:none;box-shadow:none;border-radius:0;padding:0}
.sk.moments .route{fill:none;stroke:var(--violet);stroke-width:4;stroke-linecap:round}
.sk.moments .stop{fill:var(--paper);stroke:var(--violet);stroke-width:3}
.sk.moments text.lb{font-family:var(--display);font-size:19px;letter-spacing:-.005em;text-transform:none;fill:var(--ink);font-weight:600}
.adband .plaque{margin-top:10px}
.net3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px}
.net3>div:nth-child(odd){border-left:0}
.net3>div+div{border-left:1px dashed rgba(242,238,227,.18)}
.net3 small{font-size:12px;line-height:1.35;color:rgba(242,238,227,.72)}
/* kiosk-solutions */
.ks-strip>div:nth-child(3){border-left:1px dashed rgba(242,238,227,.18)}
.ks-strip>div:nth-child(odd){border-left:0}
.range4.names li{align-items:center;padding:16px 0 18px}
.range4.imgs li{grid-template-columns:180px minmax(0,1fr)}
.range4.imgs span.cr{font-size:12px;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;margin-top:10px}
.kmw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;border-top:1.5px solid var(--ink);margin-top:14px}
.kmw li{padding:10px 0;border-bottom:1px solid var(--rule);font-size:15.5px;line-height:1.35;color:var(--ink)}
/* corporate: the portal strip on the head board; one row form for the users */
.duo-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;padding:14px 0 12px;border-top:1px dashed rgba(242,238,227,.18);margin-top:8px}
.duo-strip>.mono{grid-column:1/-1;color:rgba(242,238,227,.74)}
.duo-strip small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,227,.72)}
.duo-strip b{display:block;margin-top:3px;font-family:var(--mono);font-weight:500;font-size:clamp(18px,1.5vw,22px);line-height:1.1;color:var(--led);text-shadow:0 0 16px rgba(255,194,74,.28)}
.users4.one li{align-items:center}
.users4.one .ic{grid-row:auto}
@media (max-width:640px){
  .range4.imgs li{grid-template-columns:130px minmax(0,1fr)}
  .kmw{grid-template-columns:minmax(0,1fr)}
  .net3{grid-template-columns:minmax(0,1fr)}
  .net3>div+div{border-left:0;border-top:1px dashed rgba(242,238,227,.18)}
  .bigfig.three dd{font-size:20px}
  .bigfig.three div{padding-right:8px}
  .ks-strip b{font-size:17px}
}

/* ---- inner-kiosk.css ---- */
/* =====================================================================================
   KIOSK GROUP (Phase 3, round 2 + final pass): the SSM services cluster on the Tap.It line.
   /ssm-kiosk-services (pillar), /ssm-business-renewal-kiosk, /ssm-compound-payment-kiosk,
   /ssm4u-activation-kiosk. Every class starts with kx- or is scoped to these four pages'
   body classes, so no other group's page changes. No declared size below 12px.
   Source: builder/css/inner-kiosk.css (build_aeo_pages.py appends it after inner.css).
   ===================================================================================== */

/* the interchange: the Tap.It line and the SAFEDATA-SSM line run side by side for one chapter, and the
   heading's italic word takes the SAFEDATA-SSM colour there */
.ip-route .st.x.kx-x::before{background:linear-gradient(90deg,var(--violet) 0 50%,var(--red) 50% 100%)}
.st.kx-x .ip-h2 em{color:var(--red-ink)}

/* flat surfaces on these pages: a hairline edge, no soft drop shadow (round-1 design reviews) */
:is(.ip-ssm-kiosk-services,.ip-ssm-business-renewal-kiosk,.ip-ssm-compound-payment-kiosk,.ip-ssm4u-activation-kiosk) :is(.note-card,.pnl,.fig,.ph-photo,.plq){box-shadow:inset 0 0 0 1px var(--rule-2)}
:is(.ip-ssm-kiosk-services,.ip-ssm-business-renewal-kiosk,.ip-ssm-compound-payment-kiosk,.ip-ssm4u-activation-kiosk) :is(.dboard,.way){box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
:is(.ip-ssm-kiosk-services,.ip-ssm-business-renewal-kiosk,.ip-ssm-compound-payment-kiosk,.ip-ssm4u-activation-kiosk) .btn svg{flex:none;width:16px;height:16px}
:is(.ip-ssm-kiosk-services,.ip-ssm-business-renewal-kiosk,.ip-ssm-compound-payment-kiosk,.ip-ssm4u-activation-kiosk) .plaque dd small{display:block;margin-top:2px;font-size:13.5px;font-weight:400;color:var(--ink-2)}
:is(.ip-ssm-kiosk-services,.ip-ssm-business-renewal-kiosk,.ip-ssm-compound-payment-kiosk,.ip-ssm4u-activation-kiosk) .plaque dd{overflow-wrap:break-word}
/* a button inside the reading column keeps the button's own colours (.prose a would repaint it) */
.ip .prose .ph-cta a.btn{color:#fff;text-decoration:none;font-weight:600}
.ip .prose .ph-cta a.btn:hover{color:#fff}
.ip .prose .src{font-size:13.5px}
.ip .prose .src a{color:var(--ink-2);font-weight:400}

/* ---------- head ---------- */
.ip-ssm-kiosk-services .ph-photo.render img{aspect-ratio:auto;max-height:560px;object-fit:contain}
.ph-txt .ar-meta{margin-top:16px}
.ph-txt .kx-strip{margin-top:20px}
.kx-strip small{font-size:12.5px;line-height:1.3;color:rgba(242,238,227,.72)}
.kx-hboard{width:100%;max-width:520px;justify-self:end}
.kx-hboard .db-row.kf{margin-top:4px;border-top:1px solid rgba(242,238,227,.32)}
.kx-hboard .db-row.kf>b{color:#C9C2FF;text-shadow:none}

/* compound: what you pay (a slip with a torn foot) */
.kx-slipw{width:100%;max-width:420px;justify-self:end;align-self:start}
.kx-slip{position:relative;margin-bottom:10px;padding:26px 24px 22px;background:var(--paper-hi);border-radius:14px 14px 0 0;box-shadow:inset 0 0 0 1px var(--rule-2)}
.kx-slip::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:14px 14px 0 0;background:var(--line)}
.kx-slip::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;background:linear-gradient(135deg,var(--paper-hi) 50%,transparent 50%) 0 0/14px 10px repeat-x,linear-gradient(-135deg,var(--paper-hi) 50%,transparent 50%) 0 0/14px 10px repeat-x}
.kx-slip .mono{display:block;color:var(--ink-2)}
.kx-slip dl{margin-top:14px;border-top:1.5px solid var(--ink)}
.kx-slip dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px dashed var(--rule)}
.kx-slip dt{font-size:16.5px;font-weight:620;line-height:1.3;font-variation-settings:"wdth" 90}
.kx-slip dt small{display:block;margin-top:2px;font-size:13.5px;font-weight:400;color:var(--ink-2)}
.kx-slip dd{font-family:var(--mono);font-size:18px;font-weight:500;white-space:nowrap;color:var(--ink)}
.kx-slip .k dd{color:var(--violet-ink);font-weight:600}
.kx-slip-crs{display:flex;gap:10px;align-items:flex-start;margin-top:24px;padding-top:12px;border-top:1px solid var(--rule);font-size:14px;line-height:1.4;color:var(--ink)}
.kx-slip dd.blank>span[aria-hidden]{display:inline-block;min-width:92px;padding:0 4px 2px;border-bottom:2px dashed var(--ink-2);color:var(--ink-2)}
.kx-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kx-slip-crs .ic{flex:none;width:20px;height:20px;color:var(--ink-2)}

/* ---------- line drawings of the kiosk screen (no wordmark; captioned as drawings) ---------- */
.kx-draw{margin:0;border-radius:16px;overflow:hidden;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2)}
.kx-bezel{margin:18px;padding:16px 16px 18px;border:1.6px solid var(--ink);border-radius:18px;background:#fff}
.kx-d-lab{display:block;padding-bottom:10px;margin-bottom:12px;border-bottom:1.6px solid var(--violet);color:var(--violet-ink)}
.kx-tiles{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:10px}
.kx-tiles li>a,.kx-tiles li>.ic{text-decoration:none}
.kx-tiles li{position:relative;border:1.6px solid var(--violet);border-radius:12px;color:var(--ink)}
.kx-tiles li>a,.kx-tiles li:not(:has(a)){display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 12px;font-size:16px;font-weight:640;line-height:1.2;color:inherit;font-variation-settings:"wdth" 90}
.kx-tiles .ic{width:24px;height:24px;color:var(--violet)}
.kx-tiles li>a>svg:last-child{width:14px;height:14px;color:var(--ink-2)}
.kx-tiles li>a:hover{background:#F3F2FF}
.kx-tiles li.on{background:var(--violet);color:#fff}
.kx-tiles li.on .ic{color:#fff}
.kx-d-pay{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--rule);font-size:14.5px;font-weight:600;color:var(--ink)}
.kx-d-pay .mono{flex-basis:100%;color:var(--ink-2)}
.kx-d-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;margin-top:8px;padding:10px 12px;border:1.6px solid var(--violet);border-radius:10px;font-size:15px;font-weight:600;line-height:1.3;color:var(--ink)}
.kx-d-steps .ic{width:24px;height:24px;color:var(--violet)}
.kx-d-btn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:14px}
.kx-d-btn span{display:grid;place-items:center;height:42px;border:1.6px solid var(--violet);border-radius:10px;font-size:15px;font-weight:660;color:var(--violet-ink)}
.kx-draw figcaption{padding:12px 16px 14px;border-top:1px solid var(--rule-2);font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.kx-draw figcaption small{display:block;margin-top:3px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.kx-draw-u{width:100%;max-width:400px;justify-self:end}

/* ---------- light ruled tables (the pillar's sit in the article kit's .ak-table) ---------- */
.kx-tb{margin-top:clamp(18px,2vw,26px);background:var(--paper-hi);border-radius:16px;box-shadow:inset 0 0 0 1px var(--rule-2);overflow:hidden}
.ip .kx-tb .ak-table,.kx-scroll{position:relative;border:0;border-radius:0;background:none;overflow-x:auto;scrollbar-width:thin}
.ip .kx-tb table.kx-t{width:100%;min-width:0;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:inherit;background:none}
.ip .kx-tb .kx-t caption{caption-side:top;text-align:left;padding:16px 20px 12px;font-size:14px;line-height:1.4;color:var(--ink-2);border-bottom:1.5px solid var(--ink)}
.ip .kx-tb .kx-t caption b{display:block;margin-bottom:2px;font-size:clamp(17px,1.4vw,20px);font-weight:680;letter-spacing:-.01em;color:var(--ink);font-variation-settings:"wdth" 86}
.ip .kx-tb .kx-t thead th{padding:14px 20px 10px;border:0;background:var(--paper);text-align:left;vertical-align:bottom;white-space:nowrap;font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.ip .kx-tb .kx-t tbody th{width:26%;padding:15px 20px;border:0;border-top:1px solid var(--rule);background:none;text-align:left;vertical-align:top;font-family:var(--display);font-size:16.5px;line-height:1.3;font-weight:640;color:var(--ink);font-variation-settings:"wdth" 90}
.ip .kx-tb .kx-t td{padding:15px 20px;border:0;border-top:1px solid var(--rule);background:none;vertical-align:top;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.ip .kx-tb .kx-t tbody tr:nth-child(even)>*{background:color-mix(in srgb,var(--paper) 55%,transparent)}
.kx-tb-foot{padding:12px 20px 16px;border-top:1px solid var(--rule);font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.kx-tb-foot a{color:var(--ink-2)}

/* ---------- the pillar's fee board (dark, LED) ---------- */
.kx-fare{position:relative;background:var(--board);color:var(--board-text);border-radius:18px;padding:clamp(16px,2.2vw,30px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.kx-fare::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);pointer-events:none}
.ip .kx-fare .ak-table{position:relative;border:0;border-radius:0;background:none;overflow:visible}
.ip .kx-fare .kx-ft{width:100%;min-width:0;border-collapse:collapse;font-variant-numeric:tabular-nums;background:none}
.ip .kx-fare .kx-ft caption{caption-side:top;text-align:left;padding:0 0 14px;border-bottom:1px solid rgba(242,238,227,.18);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,227,.74);font-variation-settings:"wdth" 87.5}
.ip .kx-fare .kx-ft thead th{padding:14px 0 10px 16px;border:0;background:none;text-align:right;white-space:nowrap;font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,227,.72);font-variation-settings:"wdth" 87.5}
.ip .kx-fare .kx-ft thead th:first-child{text-align:left;padding-left:0}
.ip .kx-fare .kx-ft thead th:last-child{color:#C9C2FF}
.ip .kx-fare .kx-ft tbody th{padding:14px 0;border:0;border-top:1px dashed rgba(242,238,227,.16);background:none;text-align:left;vertical-align:top;font-family:var(--display);font-size:clamp(15.5px,1.2vw,18px);line-height:1.3;font-weight:560;color:var(--board-text);font-variation-settings:"wdth" 92}
.ip .kx-fare .kx-ft tbody th small{display:block;margin-top:3px;font-size:13px;font-weight:400;color:rgba(242,238,227,.72)}
.ip .kx-fare .kx-ft td{padding:14px 0 14px 16px;border:0;border-top:1px dashed rgba(242,238,227,.16);background:none;text-align:right;vertical-align:top;white-space:nowrap;font-family:var(--mono);font-size:clamp(15px,1.2vw,17px);color:var(--led);text-shadow:0 0 14px rgba(255,194,74,.26)}
.ip .kx-fare .kx-ft td.k{color:#C9C2FF;text-shadow:none;font-weight:600}
.ip .kx-fare .kx-ft tbody tr:nth-child(even)>*{background:none}
.kx-fare-foot{position:relative;margin-top:14px;padding-top:12px;border-top:1px solid rgba(242,238,227,.16);font-size:14px;line-height:1.5;color:rgba(242,238,227,.78)}
.kx-fare-foot a{color:var(--board-text)}

/* ---------- SSM's own words (pillar) ---------- */
.kx-q .plq{max-width:none}
.kx-says{margin-top:clamp(18px,2vw,26px);border-top:1.5px solid var(--ink)}
.kx-says li{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:8px clamp(18px,2.4vw,36px);padding:18px 0 20px;border-bottom:1px solid var(--rule)}
.kx-says .who b{display:block;font-size:18px;line-height:1.2;font-weight:660;font-variation-settings:"wdth" 88}
.kx-says .who .mono{display:block;margin-top:5px;color:var(--ink-2)}
.kx-says p{padding-left:16px;border-left:4px solid var(--line);font-size:clamp(16.5px,1.3vw,19px);line-height:1.45;color:var(--ink);font-variation-settings:"wdth" 94}
.kx-says .go{grid-column:2;justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-left:20px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--line-ink);text-decoration:none;white-space:nowrap}
.kx-says .go svg{width:13px;height:13px}

/* ---------- questions ---------- */
.kx-qa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(22px,3vw,40px);margin-top:clamp(18px,2vw,26px);border-top:1.5px solid var(--ink)}
.kx-qa>div{padding:18px 0 20px;border-bottom:1px solid var(--rule)}
.kx-qa h3{position:relative;padding-left:24px}
.kx-qa h3::before{content:"";position:absolute;left:0;top:.32em;width:14px;height:14px;border-radius:50%;border:3.5px solid var(--line);box-sizing:border-box}
.kx-qa p{margin-top:8px;font-size:15.5px;line-height:1.55;color:var(--ink-2)}
.st>.src,.kx-qa+.src{margin-top:12px}

/* ---------- find a kiosk: the region line (pillar), board (renewal), bars (SSM4U), links (compound) ---------- */
.kx-rline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.kx-rline li{position:relative;padding:48px 12px 0 0}
.kx-rline li::before{content:"";position:absolute;top:15px;left:0;right:0;height:var(--line-w);background:var(--line)}
.kx-rline li:last-child::before{right:12px;border-radius:0 3px 3px 0}
.kx-rline a{display:block;text-decoration:none;color:var(--ink)}
.kx-rline a::before{content:"";position:absolute;top:6px;left:0;width:24px;height:24px;border-radius:50%;background:var(--paper-hi);border:5px solid var(--line);box-sizing:border-box;transition:background-color .25s}
.kx-rline a:hover::before{background:var(--line)}
.kx-rline a>b{display:block;font-size:clamp(19px,1.7vw,24px);line-height:1.05;font-weight:720;letter-spacing:-.02em;font-variation-settings:"wdth" 80}
.kx-rline .ct{display:block;margin-top:10px;font-size:13.5px;line-height:1.3;color:var(--ink-2)}
.kx-rline .ct b{display:inline-block;margin-bottom:6px;padding:6px 10px 5px;border-radius:7px;background:var(--board);font-family:var(--mono);font-size:clamp(19px,1.6vw,22px);font-weight:500;line-height:1;color:var(--led);text-shadow:0 0 12px rgba(255,194,74,.3);font-variant-numeric:tabular-nums}
.kx-rline .ct>span{display:block}
.kx-rline .ct2{display:block;margin-top:2px;font-size:13.5px;color:var(--ink-2)}
.kx-rline a:hover>b{color:var(--line-ink)}
.kx-rboard ol{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.kx-rboard li{display:flex;flex-direction:column;gap:4px;padding:16px 16px 4px 0}
.kx-rboard li+li{padding-left:16px;border-left:1px dashed rgba(242,238,227,.18)}
.kx-rboard li a{align-self:flex-start;font-size:16px;font-weight:600;color:var(--board-text);text-decoration:none;border-bottom:1px solid rgba(242,238,227,.35)}
.kx-rboard li a:hover{border-bottom-color:var(--led)}
.kx-rboard li b{font-family:var(--mono);font-weight:500;font-size:clamp(26px,2.4vw,34px);line-height:1.05;color:var(--led);text-shadow:0 0 16px rgba(255,194,74,.3);font-variant-numeric:tabular-nums}
.kx-rboard li span{font-size:13.5px;color:rgba(242,238,227,.74)}
.kx-rbars>.mono{display:block;padding-bottom:10px;border-bottom:1.5px solid var(--ink);color:var(--ink-2)}
.kx-rbars li{display:grid;grid-template-columns:minmax(0,118px) minmax(0,1fr) 40px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--rule)}
.kx-rbars a{justify-self:start;font-size:15.5px;font-weight:640;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--line);font-variation-settings:"wdth" 90}
.kx-rbars .bar{display:block;height:10px;border-radius:5px;background:var(--paper-lo)}
.kx-rbars .bar i{display:block;height:100%;border-radius:5px;background:var(--line)}
.kx-rbars b{text-align:right;font-family:var(--mono);font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}
.kx-rlinks>.mono{display:block;padding-bottom:10px;border-bottom:1.5px solid var(--ink);color:var(--ink-2)}
.kx-rlinks a{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:12px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.kx-rlinks .n{font-size:16.5px;font-weight:640;font-variation-settings:"wdth" 90}
.kx-rlinks .c{font-size:14px;color:var(--ink-2);white-space:nowrap}
.kx-rlinks .c b{font-family:var(--mono);font-size:16px;font-weight:500;color:var(--line-ink)}
.kx-rlinks svg{width:14px;height:14px;align-self:center;color:var(--ink-2);transition:transform .25s}
.kx-rlinks a:hover .n{color:var(--line-ink)}
.kx-rlinks a:hover svg{transform:translate(2px,-2px);color:var(--line-ink)}
.kx-rlinks+.ph-cta{margin-top:18px}

/* ---------- pillar: the other routes as a small route map ---------- */
.kx-map{margin-top:clamp(20px,2.4vw,32px);border-top:1.5px solid var(--ink)}
.kx-map-row{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:clamp(16px,2.4vw,32px);padding:20px 0 22px;border-bottom:1px solid var(--rule)}
.kx-map-h{display:grid;grid-template-columns:30px minmax(0,1fr);gap:4px 10px;align-content:start}
.kx-map-h .ic{width:26px;height:26px;color:var(--line-ink)}
.kx-map-h b{font-size:18px;line-height:1.2;font-weight:680;font-variation-settings:"wdth" 86}
.kx-map-h p{grid-column:2;font-size:14px;line-height:1.45;color:var(--ink-2)}
.kx-map-row ol{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}
.kx-map-row ol li{position:relative;padding:32px 12px 0 0}
.kx-map-row ol li::before{content:"";position:absolute;top:9px;left:0;right:0;height:4px;background:var(--ink)}
.kx-map-row ol li:last-child::before{right:auto;width:24px;border-radius:0 2px 2px 0}
.kx-map-row ol li::after{content:"";position:absolute;top:2px;left:0;width:18px;height:18px;border-radius:50%;background:var(--paper-hi);border:3.5px solid var(--ink);box-sizing:border-box}
.kx-map-row ol li.k::before{background:linear-gradient(90deg,var(--violet) 0 40%,var(--ink) 40%)}
.kx-map-row ol li.k::after{width:22px;height:22px;top:0;border:5px solid var(--violet);background:var(--violet);box-shadow:inset 0 0 0 3px var(--paper-hi)}
.kx-map-row ol b{display:block;font-size:15.5px;line-height:1.25;font-weight:640;font-variation-settings:"wdth" 88}
.kx-map-row ol li.k b{color:var(--violet-ink)}
.kx-map-row ol li.brk::before{top:10px;height:3px;background:repeating-linear-gradient(90deg,var(--ink-2) 0 7px,transparent 7px 13px)}
.kx-map-row ol span{display:block;margin-top:3px;font-size:13.5px;line-height:1.35;color:var(--ink-2)}

/* ---------- renewal: the fee taken apart, to scale ---------- */
.kx-bars{margin-top:clamp(18px,2vw,26px);display:grid;gap:14px;max-width:880px}
.kx-bars .cb{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:16px;align-items:center}
.kx-bars .l{font-size:15.5px;font-weight:620;line-height:1.3;font-variation-settings:"wdth" 90}
.kx-bars .l small{display:block;margin-top:2px;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.03em;color:var(--ink-2)}
.kx-bars .bar{display:flex;height:30px;border-radius:8px;overflow:hidden;border:1.5px solid var(--ink);box-sizing:border-box}
.kx-bars .bar i{display:block;min-width:0}
.kx-bars .bar .s{background:repeating-linear-gradient(135deg,var(--paper-lo) 0 6px,var(--paper-hi) 6px 12px)}
.kx-bars .bar .f{border-left:1.5px solid var(--ink)}
.kx-bars .bar .f{background:var(--violet)}
.kx-bars-key{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:13.5px;color:var(--ink-2)}
.kx-bars-key span{display:inline-flex;align-items:center;gap:8px}
.kx-bars-key i{display:inline-block;width:16px;height:12px;border-radius:3px;border:1.5px solid var(--ink);box-sizing:border-box;background:repeating-linear-gradient(135deg,var(--paper-lo) 0 3px,var(--paper-hi) 3px 6px)}
.kx-bars-key i.f{background:var(--violet)}
.kx-bars-key .mono{margin-left:auto;color:var(--ink-2)}

/* ---------- renewal: the window as a timeline ---------- */
.kx-time{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(22px,2.6vw,36px)}
.kx-time li{position:relative;padding:42px 22px 0 0}
.kx-time li::before{content:"";position:absolute;top:11px;left:0;right:0;height:6px;background:var(--line)}
.kx-time li.exp::before{top:12px;height:4px;background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 16px)}
.kx-time li:last-child::before{right:auto;width:44px;top:12px;height:4px;background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 16px)}
.kx-time li::after{content:"";position:absolute;top:2px;left:0;width:24px;height:24px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box}
.kx-time li.act::after{width:20px;height:20px;top:4px;border-width:3px;border-color:var(--ink-2)}
.kx-time li.exp::after{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 4px var(--paper-hi)}
.kx-time li.late::before{top:12px;height:4px;background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 16px)}
.kx-time li.late::after{border-color:var(--ink);border-style:dashed}
.kx-time li.gone::before{display:none}
.kx-time li.gone::after{border:3px solid var(--ink-2);background:var(--paper-lo)}
.kx-time b{display:block;font-size:clamp(18px,1.5vw,21px);line-height:1.2;font-weight:660;font-variation-settings:"wdth" 86}
.kx-time p{margin-top:6px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.kx-time+.src{margin-top:16px}

/* ---------- renewal: three routes as lines leaving one station ---------- */
.kx-lines{margin-top:clamp(20px,2.4vw,30px);max-width:880px}
.kx-lines-h{display:flex;align-items:center;gap:12px;padding:0 0 14px;font-size:clamp(19px,1.6vw,22px);font-weight:680;font-variation-settings:"wdth" 86}
.kx-lines-h .ic{width:26px;height:26px;color:var(--line-ink)}
.kx-lines ol{border-top:1.5px solid var(--ink)}
.kx-lines li{position:relative;display:grid;gap:3px;padding:18px 0 18px 84px;border-bottom:1px solid var(--rule)}
.kx-lines li::after{content:"";position:absolute;left:12px;top:0;bottom:0;width:6px;background:var(--line)}
.kx-lines li:last-child::after{bottom:50%;border-radius:0 0 3px 3px}
.kx-lines li::before{content:"";position:absolute;left:15px;top:50%;width:30px;height:6px;margin-top:-3px;background:var(--line)}
.kx-lines li b{position:relative;font-size:18px;font-weight:660;line-height:1.2;font-variation-settings:"wdth" 88}
.kx-lines li b::before{content:"";position:absolute;left:-40px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--ink);box-sizing:border-box}
.kx-lines li.k b::before{border-color:var(--violet);background:var(--violet);box-shadow:inset 0 0 0 3px var(--paper-hi)}
.kx-lines li span{font-size:15px;line-height:1.45;color:var(--ink-2)}
.kx-lines li span.q{color:var(--ink)}
.kx-lines+.src{margin-top:12px}

/* ---------- compound: s.38A as a line that forks ---------- */
.kx-fork{margin-top:clamp(22px,2.6vw,36px)}
.kx-fork-a li{position:relative;padding:0 0 22px 44px}
.kx-fork-a li::before{content:"";position:absolute;left:9px;top:0;bottom:0;width:6px;background:var(--line)}
.kx-fork-a li::after{content:"";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box}
.kx-fork b{display:block;font-size:18px;line-height:1.25;font-weight:660;font-variation-settings:"wdth" 88}
.kx-fork span{display:block;margin-top:3px;font-size:15px;line-height:1.45;color:var(--ink-2)}
.kx-fork-b{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;padding-top:30px}
.kx-fork-b::before{content:"";position:absolute;left:9px;top:0;height:18px;width:6px;background:var(--line)}
.kx-fork-b::after{content:"";position:absolute;left:9px;top:12px;width:calc(50% + 14px);height:6px;background:var(--line)}
.kx-fork-b>div{position:relative;padding:14px 16px 16px 18px;border-radius:12px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2)}
.kx-fork-b>div::before{content:"";position:absolute;top:-12px;left:9px;width:6px;height:12px;background:var(--line)}
.kx-fork-b>div.ok{box-shadow:inset 4px 0 0 var(--line),inset 0 0 0 1px var(--rule-2)}
.kx-fork-b>div.no{box-shadow:inset 4px 0 0 var(--ink),inset 0 0 0 1px var(--rule-2)}

/* ---------- compound: the fee as an open bar (the compound amount is SSM's, so it is not sized) ---------- */
.kx-open{display:flex;max-width:880px;margin-top:clamp(18px,2vw,26px);border-radius:12px;overflow:hidden;border:1.5px solid var(--ink)}
.kx-open>div{padding:14px 18px}
.kx-open .o{flex:1;background:repeating-linear-gradient(135deg,var(--paper-hi) 0 10px,var(--paper) 10px 20px);border-right:2px dashed var(--ink)}
.kx-open .f{flex:none;background:var(--violet);color:#fff}
.kx-open b{display:block;font-family:var(--mono);font-size:18px;font-weight:500}
.kx-open span{display:block;margin-top:3px;font-size:13.5px}
.kx-open .o span{color:var(--ink-2)}
.kx-open-key{max-width:880px;margin-top:8px;text-align:right;color:var(--ink-2)}

/* ---------- SSM4U: the eight kiosk steps as a vertical line ---------- */
.kx-steps{margin-top:18px;border-top:1.5px solid var(--ink)}
.kx-steps li{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;padding:14px 0 14px 58px;border-bottom:1px solid var(--rule)}
.kx-steps li::before{content:"";position:absolute;left:15px;top:0;bottom:0;width:6px;background:var(--line)}
.kx-steps li:first-child::before{top:50%}
.kx-steps li:last-child::before{bottom:50%}
.kx-steps .n{position:absolute;left:2px;top:50%;width:32px;height:32px;margin-top:-16px;display:grid;place-items:center;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink)}
.kx-steps li:last-child .n{background:var(--line);color:#fff}
.ip .prose .kx-steps p{font-size:16.5px;line-height:1.45;font-weight:520;color:var(--ink)}
.kx-steps p .ic{display:inline-block;width:20px;height:20px;margin-left:8px;vertical-align:-4px;color:var(--line-ink)}
.kx-steps.kx-pre li::before{background:color-mix(in srgb,var(--ink) 30%,transparent)}
.kx-steps.kx-pre .n{border-color:var(--ink-2)}
.kx-steps.kx-pre li:last-child .n{background:var(--paper-hi);color:var(--ink)}
.kx-steps.kx-pre li:last-child::before{bottom:0}
.ip .prose .kx-steps.kx-pre p{font-weight:400}
.kx-steps.kx-pre p b{display:block;font-weight:660;color:var(--ink);font-variation-settings:"wdth" 90}

/* ---------- figures in the gutter; the client's kiosk panel, small on a white plate ---------- */
.kx-fig img{background:var(--paper-lo)}
.kx-plate{max-width:264px;background:#fff}
.kx-plate img{padding:12px 12px 4px;background:#fff}

/* =====================================================================================
   RESPONSIVE
   ===================================================================================== */
@media (max-width:980px){
  .kx-hboard,.kx-slipw,.kx-draw-u{justify-self:start;max-width:520px}
  .kx-rline{grid-template-columns:minmax(0,1fr)}
  .kx-rline li{min-height:58px;padding:0 0 18px 58px}
  .kx-rline li::before{top:0;bottom:0;left:16px;right:auto;width:var(--line-w);height:auto}
  .kx-rline li:last-child::before{right:auto;bottom:auto;height:20px;border-radius:0 0 3px 3px}
  .kx-rline a::before{top:4px;left:calc(16px + var(--line-w)/2 - 12px)}
  .kx-says li{grid-template-columns:minmax(0,1fr)}
  .kx-says .go{grid-column:1;margin-left:20px}
  .kx-rboard ol{grid-template-columns:minmax(0,1fr)}
  .kx-rboard li,.kx-rboard li+li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:baseline;padding:12px 0;border-left:0;border-top:1px dashed rgba(242,238,227,.16)}
  .kx-rboard li:first-child{border-top:0}
  .kx-rboard li b{grid-row:1/3;grid-column:2;font-size:26px}
  .kx-map-row{grid-template-columns:minmax(0,1fr)}
  .kx-time{grid-template-columns:minmax(0,1fr)}
  .kx-time li{padding:0 0 22px 44px}
  .kx-time li::before{top:0;bottom:0;left:9px;right:auto;width:6px;height:auto}
  .kx-time li.exp::before,.kx-time li.late::before{left:10px;width:4px;height:auto;top:0;bottom:0;background:repeating-linear-gradient(180deg,var(--ink) 0 10px,transparent 10px 16px)}
  .kx-time li.act::after{left:2px}
  .kx-time li.gone::after{left:1px}
  .margin .kx-tiles{grid-template-columns:repeat(var(--n,2),minmax(0,1fr))}
}
@media (min-width:981px){
  .margin .kx-tiles{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .kx-qa{grid-template-columns:minmax(0,1fr)}
  .kx-map-row ol{grid-template-columns:minmax(0,1fr)}
  .kx-map-row ol li{padding:0 0 14px 34px}
  .kx-map-row ol li::before,.kx-map-row ol li.k::before{top:0;bottom:0;left:7px;right:auto;width:4px;height:auto;background:var(--ink)}
  .kx-map-row ol li:last-child::before{bottom:auto;height:12px;width:4px}
  .kx-map-row ol li.brk::before{left:8px;width:3px;background:repeating-linear-gradient(180deg,var(--ink-2) 0 7px,transparent 7px 13px)}
  .kx-map-row ol li.k::after{left:-2px}
  .kx-bars .cb{grid-template-columns:minmax(0,1fr);gap:6px}
}
@media (max-width:640px){
  .kx-tiles,.margin .kx-tiles{grid-template-columns:minmax(0,1fr)}
  .ip .kx-tb .kx-t.stk thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ip .kx-tb .kx-t.stk,.ip .kx-tb .kx-t.stk tbody,.ip .kx-tb .kx-t.stk tr,.ip .kx-tb .kx-t.stk tbody th,.ip .kx-tb .kx-t.stk td{display:block;width:100%}
  .ip .kx-tb .kx-t.stk caption{display:block;padding:14px}
  .ip .kx-tb .kx-t.stk tr{padding:14px;border-top:1px solid var(--rule)}
  .ip .kx-tb .kx-t.stk tbody th,.ip .kx-tb .kx-t.stk td,.ip .kx-tb .kx-t.stk tbody tr:nth-child(even)>*{padding:0;border:0;background:none}
  .ip .kx-tb .kx-t.stk tbody th{padding-bottom:4px}
  .ip .kx-tb .kx-t.stk td{padding-top:8px;white-space:normal}
  .ip .kx-tb .kx-t.stk td::before{content:attr(data-label);display:block;margin-bottom:2px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
  .kx-tb-foot{padding:12px 14px 14px}
  .ip .kx-fare .kx-ft thead{display:none}
  .ip .kx-fare .kx-ft,.ip .kx-fare .kx-ft tbody{display:block;width:100%}
  .ip .kx-fare .kx-ft caption{display:block}
  .ip .kx-fare .kx-ft tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;padding:12px 0;border-top:1px dashed rgba(242,238,227,.16)}
  .ip .kx-fare .kx-ft tbody th{grid-column:1/-1;padding:0 0 6px;border:0}
  .ip .kx-fare .kx-ft td{padding:0;border:0;text-align:left;white-space:normal}
  .ip .kx-fare .kx-ft td.k{text-align:right}
  .ip .kx-fare .kx-ft td::before{content:attr(data-label);display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,227,.7);text-shadow:none}
  .kx-fork-b{grid-template-columns:minmax(0,1fr);row-gap:14px;padding:0 0 0 44px}
  .kx-fork-b::before{top:0;bottom:30px;height:auto}
  .kx-fork-b::after{display:none}
  .kx-fork-b>div::before{top:20px;left:-35px;width:35px;height:6px}
  .kx-steps li{padding-left:52px}
  .ip .prose .kx-steps p{font-size:16px}
  .kx-rbars li{grid-template-columns:minmax(0,108px) minmax(0,1fr) 36px}
  .kx-lines li{padding-left:72px}
  .kx-lines li::before{width:24px}
  .kx-lines li b::before{left:-34px}
  .kx-open{flex-direction:column}
  .kx-open .o{border-right:0;border-bottom:2px dashed var(--ink)}
  .kx-bezel{margin:12px}
  .ip-ssm-kiosk-services .ph-photo.render img{max-height:300px}
}

/* =====================================================================================
   FINAL PASS (19 Oct, from the round-2 reviews; no new facts)
   ===================================================================================== */
/* the three services: one drawing on all four pages, one box (no inner bezel), the page's own service lit */
.kx-svc .kx-svc-in{padding:18px 18px 20px}
.kx-svc .kx-tiles li.on>span,.kx-svc .kx-tiles li.on{font-weight:660}
/* a plaque that follows prose gets its normal top margin; a quote under a photo in the gutter */
.ip .prose p+.plaque{margin-top:22px}
.margin .fig+.plq{margin-top:18px}
.margin .plq p{font-size:clamp(16.5px,1.3vw,19px)}

/* renewal: the hero fee board as a real table (Item / Amount / Set by) */
.kx-hb-box{position:relative;overflow-x:auto}
.ip .kx-hb{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.ip .kx-hb caption{caption-side:top;text-align:left;padding:0 0 12px;border-bottom:1px solid rgba(242,238,227,.18);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,227,.74);font-variation-settings:"wdth" 87.5}
.ip .kx-hb caption span{display:inline-block;margin-right:14px}
.ip .kx-hb caption span:first-child{color:var(--board-text);font-weight:600}
.ip .kx-hb thead th{padding:12px 0 6px;border:0;background:none;text-align:left;font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:rgba(242,238,227,.7);font-variation-settings:"wdth" 87.5}
.ip .kx-hb thead th:nth-child(2){text-align:right;padding-right:16px}
.ip .kx-hb tbody th{padding:12px 12px 12px 0;border:0;border-top:1px dashed rgba(242,238,227,.16);background:none;text-align:left;vertical-align:top;font-size:15.5px;line-height:1.3;font-weight:560;color:rgba(242,238,227,.92)}
.ip .kx-hb td{padding:12px 0;border:0;border-top:1px dashed rgba(242,238,227,.16);background:none;vertical-align:top}
.ip .kx-hb td.a{padding-right:16px;text-align:right;white-space:nowrap}
.ip .kx-hb td.a b{display:block;font-family:var(--mono);font-weight:500;font-size:clamp(20px,1.8vw,26px);line-height:1.05;color:var(--led);text-shadow:0 0 16px rgba(255,194,74,.3)}
.ip .kx-hb td.a small{display:block;margin-top:3px;white-space:normal;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:rgba(242,238,227,.7)}
.ip .kx-hb td.by{font-size:13.5px;line-height:1.35;color:rgba(242,238,227,.8)}
.ip .kx-hb tr.kx-k>*{border-top:1px solid rgba(242,238,227,.34)}
.ip .kx-hb tr.kx-k td.a b{color:#C9C2FF;text-shadow:none}
.kx-hboard .db-foot a{color:var(--board-text)}

/* compound: Companies Act compounds -- three closed stops (struck) and one open stop, CRS */
.kx-shut{margin-top:clamp(20px,2.4vw,30px)}
.kx-shut ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.kx-shut li{position:relative;padding:40px 14px 0 0}
.kx-shut li::before{content:"";position:absolute;top:11px;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,var(--ink-2) 0 8px,transparent 8px 14px)}
.kx-shut li::after{content:"";position:absolute;top:2px;left:0;width:22px;height:22px;border-radius:50%;background:var(--paper-hi);border:3px solid var(--ink-2);box-sizing:border-box}
.kx-shut li.o::before{right:auto;width:48px;top:10px;height:6px;border-radius:0 3px 3px 0;background:var(--line)}
.kx-shut li.o::after{top:0;width:26px;height:26px;border:5px solid var(--line)}
.kx-shut b{display:block;font-size:17px;line-height:1.25;font-weight:640;font-variation-settings:"wdth" 88}
.kx-shut li.x b{color:var(--ink-2);text-decoration:line-through;text-decoration-thickness:2px}
.kx-shut li.o b{color:var(--line-ink)}
.kx-shut span{display:block;margin-top:3px;font-size:14px;line-height:1.4;color:var(--ink-2)}

/* SSM4U hero: one moment of SSM's steps (step 06), Confirm lit; the details are blank lines, never invented data */
.kx-d-check{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:17px;font-weight:660;line-height:1.25;color:var(--ink);font-variation-settings:"wdth" 90}
.kx-d-check .ic{width:24px;height:24px;color:var(--violet)}
.kx-d-check .mono{color:var(--ink-2);font-weight:400}
.kx-d-lines{display:grid;gap:10px;margin-top:12px;padding:14px;border:1.6px solid var(--rule);border-radius:10px}
.kx-d-lines li{height:10px;border-radius:5px;background:var(--paper-lo)}
.kx-d-lines li:nth-child(2){width:72%}
.kx-d-lines li:nth-child(3){width:54%}
.kx-d-btn.one{grid-template-columns:minmax(0,1fr)}
.kx-d-btn span.on{background:var(--violet);color:#fff}

@media (min-width:981px){
  /* compound: the regions run full width, five across */
  .wide .kx-rlinks ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:22px}
  .wide .kx-rlinks a{grid-template-columns:minmax(0,1fr) 16px;grid-template-areas:"n i" "c c";row-gap:4px}
  .wide .kx-rlinks .n{grid-area:n}
  .wide .kx-rlinks .c{grid-area:c}
  .wide .kx-rlinks svg{grid-area:i}
}
@media (max-width:640px){
  .kx-shut ol{grid-template-columns:minmax(0,1fr)}
  .kx-shut li{padding:0 0 18px 40px}
  .kx-shut li::before{top:0;bottom:0;left:9px;right:auto;width:4px;height:auto;background:repeating-linear-gradient(180deg,var(--ink-2) 0 8px,transparent 8px 14px)}
  .kx-shut li.o::before{display:none}
  .kx-shut li.o::after{left:-2px}
  .kx-bars-key .mono{margin-left:0}
}
@media (max-width:480px){
  .kx-rboard .db-head{flex-direction:column;align-items:flex-start;gap:4px}
  .ip .kx-hb tbody th{font-size:14.5px}
}

/* ---- inner-locations.css ---- */
/* =====================================================================================
   LOCATIONS GROUP (Phase 3, round 2): /location, /location-ssm and the five region pages.
   Component classes are lc-*; the only page-scoped rules (flat edges) sit under
   .ip[class*="ip-location"]. No declared size below 12px. Source: builder/css/inner-locations.css.
   ===================================================================================== */

/* flat on these pages: hairline edges instead of soft drop shadows */
.ip[class*="ip-location"] .tbox,
.ip[class*="ip-location"] .fig,
.ip[class*="ip-location"] .pnl,
.ip[class*="ip-location"] .plq,
.ip[class*="ip-location"] .note-card,
.ip[class*="ip-location"] .ph-photo{box-shadow:none;border:1px solid var(--rule)}
.ip[class*="ip-location"] .dboard{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}

/* a SAFEDATA-SSM word is drawn on the red line, never violet */
.ip-main a.lc-r{color:var(--red-ink);text-decoration-color:var(--red)}
.ip-main a.lc-r:hover{color:var(--ink)}

/* visually hidden words (the register's marks carry them for screen readers and text-only readers) */
.lc-vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;font-style:normal}
.ip-main address{font-style:normal}

/* ---------- a short line of stations, rings sized by count ---------- */
.lc-line{position:relative;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));margin-top:clamp(28px,3.4vw,52px)}
.lc-line li{position:relative;padding:72px 14px 0 0;min-width:0}
.lc-line li::before{content:"";position:absolute;top:34px;left:0;right:0;height:var(--line-w);margin-top:calc(var(--line-w)/-2);background:var(--line)}
.lc-line li:last-child::before{right:14px;border-radius:0 3px 3px 0}
.lc-line a{display:block;text-decoration:none;color:var(--ink)}
.lc-line a::before{content:"";position:absolute;top:calc(34px - var(--d,30px)/2);left:0;width:var(--d,30px);height:var(--d,30px);border-radius:50%;background:var(--paper-hi);border:5px solid var(--line);box-sizing:border-box;transition:background-color .25s}
.lc-line a:hover::before{background:var(--line)}
.lc-line b{display:block;font-size:clamp(20px,2vw,30px);line-height:1.02;font-weight:720;letter-spacing:-.025em;font-variation-settings:"wdth" 78;overflow-wrap:anywhere}
.lc-line .ct{display:block;margin-top:6px;font-family:var(--mono);font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.lc-line .ct b{display:inline;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:0;color:var(--line-ink)}
.lc-line.sm{margin-top:0}
.lc-line.sm li{padding-top:52px}
.lc-line.sm li::before{top:24px}
.lc-line.sm a::before{top:calc(24px - var(--d,30px)/2);border-width:4.5px}
.lc-line.sm b{font-size:clamp(16px,1.3vw,20px);font-weight:640;font-variation-settings:"wdth" 86;letter-spacing:-.012em}
.lc-sline{margin-top:clamp(24px,2.8vw,40px)}

/* ---------- head devices ---------- */
.lc-photohead{position:relative;width:100%;max-width:640px;justify-self:end}
.lc-hero img{aspect-ratio:16/10;object-fit:cover}
.lc-hero .lc-plate{margin:-56px 18px 0}
.lc-hero figcaption{background:none;border-top:0;padding:10px 18px 14px}
.lc-plate dl{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));margin-top:8px}
.lc-plate dl>div{padding:4px 10px 2px 0;min-width:0}
.lc-plate dl>div+div{padding-left:12px;border-left:1px dashed rgba(242,238,227,.18)}
.lc-plate dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-variation-settings:"wdth" 87.5}
.lc-plate dt a{color:rgba(242,238,227,.86);text-decoration:none;border-bottom:1px solid rgba(242,238,227,.35)}
.lc-plate dt a:hover{color:var(--led);border-bottom-color:var(--led)}
.lc-plate dd{margin-top:3px;font-family:var(--mono);font-size:clamp(20px,1.8vw,27px);line-height:1.05;color:var(--led);text-shadow:0 0 14px rgba(255,194,74,.28);font-variant-numeric:tabular-nums;white-space:nowrap}
.lc-plate-c{display:block;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(242,238,227,.18);font-size:13.5px;color:rgba(242,238,227,.78)}
/* Eastern: a departure board of its states and their SSM offices */
.lc-stboard{width:100%;max-width:560px;justify-self:end}
.lc-stboard .db-row>span{font-size:clamp(20px,1.8vw,26px);font-weight:680;letter-spacing:-.015em;font-variation-settings:"wdth" 84}
.lc-stboard .db-row>span small{font-weight:400;letter-spacing:.06em}
/* Southern: the busiest towns as short lines on paper, each line as long as its count */
.lc-tb{width:100%;max-width:620px;justify-self:end;background:var(--paper-hi);border:1px solid var(--rule);border-radius:18px;padding:clamp(16px,1.8vw,24px) clamp(18px,2vw,28px) clamp(14px,1.6vw,20px)}
.lc-tb-h{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding-bottom:12px;border-bottom:1.5px solid var(--ink);color:var(--ink-2)}
.lc-tb li{display:grid;grid-template-columns:minmax(0,10em) minmax(0,1fr) 3ch;align-items:center;gap:6px 18px;padding:13px 0;border-bottom:1px solid var(--rule)}
.lc-tb .t{min-width:0;text-decoration:none;color:var(--ink)}
.lc-tb .t b{display:block;font-size:clamp(18px,1.5vw,22px);line-height:1.1;font-weight:680;letter-spacing:-.015em;font-variation-settings:"wdth" 84}
.lc-tb .t:hover b{color:var(--line-ink)}
.lc-tb .t small{display:block;margin-top:4px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.lc-tb .bar{position:relative;display:block;height:var(--line-w);width:calc(var(--w) * (100% - 12px));background:var(--line);border-radius:3px 0 0 3px}
.lc-tb .bar::after{content:"";position:absolute;right:-10px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;background:var(--paper-hi);border:4.5px solid var(--line);box-sizing:border-box}
.lc-tb em{font-style:normal;font-family:var(--mono);font-size:clamp(20px,1.8vw,26px);line-height:1;color:var(--line-ink);font-variant-numeric:tabular-nums;text-align:right}
.lc-tb-f{margin-top:12px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
/* East Malaysia: the states drawn as a vertical line, each ring sized by its count; a violet top bar */
.lc-vl{position:relative;width:100%;max-width:520px;justify-self:end;background:var(--paper-hi);border:1px solid var(--rule);border-radius:18px;padding:clamp(20px,2vw,28px) clamp(18px,2vw,28px) clamp(14px,1.6vw,20px);overflow:hidden}
.lc-vl::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--line)}
.lc-vl-h{padding-bottom:12px;border-bottom:1.5px solid var(--ink);color:var(--ink-2)}
.lc-vl ol{margin-top:4px}
.lc-vl li{position:relative;min-height:100px;padding:18px 0 18px 104px;display:flex;align-items:center}
.lc-vl li::before{content:"";position:absolute;left:46px;top:0;bottom:0;width:var(--line-w);margin-left:calc(var(--line-w) / -2);background:var(--line)}
.lc-vl li:first-child::before{top:50%}
.lc-vl li:last-child::before{bottom:50%}
.lc-vl li a{display:block;text-decoration:none;color:var(--ink)}
.lc-vl li a::before{content:"";position:absolute;z-index:1;left:calc(46px - var(--d,40px) / 2);top:calc(50% - var(--d,40px) / 2);width:var(--d,40px);height:var(--d,40px);border-radius:50%;background:var(--paper-hi);border:6px solid var(--line);box-sizing:border-box;transition:background-color .25s}
.lc-vl li a:hover::before{background:var(--line)}
.lc-vl b{display:block;font-size:clamp(24px,2.2vw,34px);line-height:1;font-weight:720;letter-spacing:-.025em;font-variation-settings:"wdth" 78}
.lc-vl .ct{display:block;margin-top:8px;font-family:var(--mono);font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.lc-vl .ct em{font-style:normal;font-size:15px;font-weight:600;color:var(--line-ink)}
.lc-vl .ss{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:14px;line-height:1.3;color:var(--ink-2)}
.lc-vl .ss::before{content:"";flex:none;width:26px;height:14px;border-radius:999px;border:2.5px solid var(--ink);background:linear-gradient(90deg,var(--violet) 0 50%,var(--red) 50% 100%);box-shadow:inset 0 0 0 2px var(--paper-hi);box-sizing:border-box}
.lc-vl-foot{margin-top:6px;padding-top:12px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:12.5px;letter-spacing:.03em;line-height:1.7;color:var(--ink-2)}
.lc-vl-foot a{color:var(--line-ink);text-underline-offset:3px}

/* ---------- keys: the marks and the names on the list ---------- */
.lc-key{display:grid;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--rule)}
.lc-key li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;font-size:15px;line-height:1.4;color:var(--ink-2)}
.lc-key li strong{color:var(--ink);font-weight:620}
.lc-keyline{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--rule);font-size:15px;line-height:1.45;color:var(--ink-2)}
.lc-mk{display:inline-block;justify-self:center;width:14px;height:14px;border-radius:50%;background:var(--paper-hi);border:3.5px solid var(--line);box-sizing:border-box}
.lc-mk.x{width:30px;height:16px;border-radius:999px;border:2.5px solid var(--ink);background:linear-gradient(90deg,var(--violet) 0 50%,var(--red) 50% 100%);box-shadow:inset 0 0 0 2px var(--paper-hi)}
.lc-names{margin-top:clamp(22px,2.6vw,34px)}
.lc-names>.mono{color:var(--ink-2);margin-bottom:8px}
.lc-names ul{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--r,4),auto);grid-template-columns:repeat(var(--c,3),minmax(0,1fr));column-gap:clamp(20px,2.4vw,36px);border-top:1.5px solid var(--ink)}
.lc-names li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule);min-width:0}
.lc-names li b{font-family:var(--mono);font-size:13.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);overflow-wrap:anywhere}
.lc-names li em{flex:none;font-style:normal;font-family:var(--mono);font-size:20px;line-height:1;color:var(--line-ink);font-variant-numeric:tabular-nums}
.lc-names-f{margin-top:10px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.margin .lc-names{margin-top:0}
.margin .lc-names ul{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:minmax(0,1fr)}
.lc-fig img{aspect-ratio:3/2;object-fit:cover}

/* ---------- SSM's own offices, drawn as a line of stations ---------- */
.lc-off{position:relative;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));row-gap:28px;margin-top:clamp(22px,2.6vw,36px)}
.lc-off li{position:relative;padding:62px 22px 0 0;min-width:0}
.lc-off li::before{content:"";position:absolute;top:21px;left:0;right:0;height:var(--line-w);margin-top:calc(var(--line-w)/-2);background:var(--line)}
.lc-off li:nth-child(3n)::before,.lc-off li:last-child::before{right:22px;border-radius:0 3px 3px 0}
.lc-off .lc-off-t{display:block;text-decoration:none;color:var(--ink)}
.lc-off .lc-off-t::before{content:"";position:absolute;top:4px;left:0;width:34px;height:34px;border-radius:50%;background:var(--paper-hi);border:6px solid var(--line);box-sizing:border-box}
.lc-off .lc-off-t:hover::before{background:var(--line)}
.lc-off .lc-off-t b{display:block;font-size:clamp(20px,1.8vw,26px);line-height:1.05;font-weight:720;letter-spacing:-.02em;font-variation-settings:"wdth" 80}
.lc-off .lc-off-t span{display:block;margin-top:4px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.lc-off .nm{display:block;margin-top:10px;font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--ink);overflow-wrap:anywhere}
.lc-off address{display:block;margin-top:4px;font-size:14.5px;line-height:1.5;color:var(--ink-2);overflow-wrap:anywhere}
.lc-off .n{display:block;margin-top:4px;font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.lc-off .lc-map{display:inline-block;margin-top:6px}
.lc-map{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--line-ink);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;white-space:nowrap}
.lc-map:hover{color:var(--ink)}

/* ---------- the register ---------- */
.lc-sintro{margin-top:clamp(14px,1.6vw,22px)}
.lc-scols{align-items:start}
.lc-saside .lc-jump{padding:0}
.lc-state{margin-top:clamp(18px,2vw,28px)}
.lc-shead{display:flex;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1.5px solid var(--ink)}
.lc-shead .mono{color:var(--ink-2)}
.lc-jump{display:block}
.lc-jump>.mono{display:block;color:var(--ink-2);margin-bottom:10px}
.lc-jump ul{display:flex;flex-wrap:wrap;gap:8px}
.lc-jump a{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:999px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule);font-family:var(--mono);font-size:12.5px;letter-spacing:.03em;color:var(--ink);text-decoration:none;white-space:nowrap}
.lc-jump a b{font-weight:600;color:var(--line-ink)}
.lc-jump a:hover{box-shadow:inset 0 0 0 1.5px var(--line)}
.lc-jump .up a{background:var(--ink);color:var(--paper-hi);box-shadow:none}
/* wide towns run full width, row by row; the small towns share columns in which a town never splits */
.lc-towns{columns:3 300px;column-gap:clamp(24px,2.8vw,44px)}
.lc-town{padding-top:18px}
.lc-towns .lc-town{break-inside:avoid}
.lc-th{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding-bottom:8px;border-bottom:1.5px solid var(--ink);font-size:clamp(19px,1.5vw,22px);line-height:1.15;font-weight:680;letter-spacing:-.015em;font-variation-settings:"wdth" 86;color:var(--ink);break-after:avoid}
.lc-th small{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.04em;color:var(--ink-2);white-space:nowrap}
.lc-grid{--cg:clamp(24px,2.8vw,44px);columns:3 260px;column-gap:var(--cg)}
.lc-grid>li{break-inside:avoid;min-width:0}
.lc-top{margin-top:6px}
.lc-reg li{position:relative;padding:12px 58px 13px 40px;border-bottom:1px solid var(--rule);break-inside:avoid}
.lc-reg li::before{content:"";position:absolute;left:8px;top:15px;width:14px;height:14px;border-radius:50%;background:var(--paper-hi);border:3.5px solid var(--line);box-sizing:border-box}
.lc-reg li.x::before{left:0;top:15px;width:30px;height:16px;border-radius:999px;border:2.5px solid var(--ink);background:linear-gradient(90deg,var(--violet) 0 50%,var(--red) 50% 100%);box-shadow:inset 0 0 0 2px var(--paper-hi)}
.lc-reg li:target{background:var(--line-soft)}
.lc-reg b{display:block;font-size:15.5px;line-height:1.3;font-weight:650;font-variation-settings:"wdth" 90;color:var(--ink);overflow-wrap:anywhere}
.lc-reg .ad{display:block;margin-top:4px;font-size:15px;line-height:1.5;color:var(--ink-2);overflow-wrap:anywhere}
.lc-reg .lc-map{position:absolute;right:0;top:13px}
.lc-reg .tw{display:inline-block;margin-top:6px;padding:2px 9px;border-radius:999px;background:var(--line-soft);font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink)}
.lc-reg .n,.lc-reg .nt{display:block;margin-top:5px;font-family:var(--mono);font-size:12px;letter-spacing:.03em;line-height:1.45;color:var(--ink-2)}
.lc-reg .nt{font-family:var(--display);font-size:13.5px;letter-spacing:0;font-style:italic}
.lc-also{margin-top:10px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.lc-also a{color:var(--line-ink);font-weight:600}
.lc-back{margin-top:16px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.lc-back a{color:var(--ink-2);text-underline-offset:3px}
.lc-back a:hover{color:var(--line-ink)}
.lc-more{margin-top:1em}
.lc-h3{margin-top:clamp(26px,2.8vw,38px);color:var(--ink)}
.lc-h3+.steps-v{margin-top:12px}

/* not on the SSM list: names only, each linking to its entry */
.lc-nos2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,2.4vw,36px);margin-top:16px;border-top:1.5px solid var(--ink)}
.lc-nos2 li{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0 11px 26px;border-bottom:1px solid var(--rule);min-width:0}
.lc-nos2 li::before{content:"";position:absolute;left:0;top:15px;width:14px;height:14px;border-radius:50%;border:3.5px solid var(--line);background:var(--paper-hi);box-sizing:border-box}
.lc-nos2 a{font-size:15.5px;font-weight:620;color:var(--ink);text-decoration-color:var(--line);text-underline-offset:3px;overflow-wrap:anywhere}
.lc-nos2 span{flex:none;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.lc-nosgs{display:grid;gap:22px;margin-top:8px}
.lc-nosg>p{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px}
.lc-nosg>p a{font-size:clamp(18px,1.4vw,21px);font-weight:680;color:var(--ink);text-decoration-color:var(--violet);text-underline-offset:4px}
.lc-nosg>p span{font-family:var(--mono);font-size:12.5px;color:var(--ink-2)}

/* ---------- end objects, one per region ---------- */
/* Northern: when to renew, as a short timeline */
.lc-tl{margin:0;background:var(--paper-hi);border:1px solid var(--rule);border-radius:16px;padding:18px 20px 14px}
.lc-tl ol{position:relative;display:grid;gap:0}
.lc-tl li{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;padding:0 0 18px}
.lc-tl li::after{content:"";position:absolute;left:19px;top:34px;bottom:0;width:var(--line-w);margin-left:calc(var(--line-w)/-2);background:var(--line)}
.lc-tl li:last-child::after{display:none}
.lc-tl .ic{grid-row:1 / span 2;width:38px;height:38px;padding:7px;border-radius:50%;border:3px solid var(--line);color:var(--line-ink);background:var(--paper-hi);box-sizing:border-box}
.lc-tl b{font-size:17px;line-height:1.25;font-weight:660;font-variation-settings:"wdth" 88;color:var(--ink)}
.lc-tl span{margin-top:3px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.lc-tl figcaption{padding-top:10px;border-top:1px solid var(--rule);font-size:13.5px;color:var(--ink-2)}
/* Southern: which way to pay a compound */
.lc-sign{background:var(--paper-hi);border:1px solid var(--rule);border-radius:16px;padding:16px 20px 8px}
.lc-sign>.mono{color:var(--ink-2);padding-bottom:10px;border-bottom:1.5px solid var(--ink)}
.lc-sign li{display:grid;gap:6px;padding:14px 0;border-bottom:1px solid var(--rule)}
.lc-sign li:last-child{border-bottom:0}
.lc-sign .q b{display:block;font-size:17px;line-height:1.25;font-weight:660;font-variation-settings:"wdth" 88;color:var(--ink)}
.lc-sign .q small{display:block;margin-top:3px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.lc-sign .a{position:relative;padding-left:26px;font-size:15px;line-height:1.45;color:var(--ink)}
.lc-sign .a::before{content:"";position:absolute;left:0;top:.55em;width:16px;height:var(--line-w);background:var(--line);border-radius:2px}
/* Eastern: what SSM4U activation opens */
.lc-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:var(--paper-hi);border:1px solid var(--rule);border-radius:16px;overflow:hidden}
.lc-two>div{padding:16px 18px}
.lc-two>div+div{border-left:1px solid var(--rule)}
.lc-two>div.on{box-shadow:inset 0 5px 0 var(--line)}
.lc-two .mono{color:var(--ink-2)}
.lc-two b{display:block;margin-top:8px;font-size:17px;line-height:1.25;font-weight:660;font-variation-settings:"wdth" 88;color:var(--ink)}
.lc-two span{display:block;margin-top:6px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.lc-two-f{grid-column:1 / -1;padding:10px 18px;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-2)}

/* ---------- next stops as a labelled nav (no heading) ---------- */
.lc-nav-t{font-size:clamp(24px,2.2vw,34px);line-height:1.05;letter-spacing:-.025em;font-weight:700;font-variation-settings:"wdth" 80;color:var(--ink)}
.lc-nav-t em{font-style:italic;font-weight:300;font-variation-settings:"wdth" 64;color:var(--line-ink)}
.lc-nav .nx{row-gap:26px}

/* ---------- /location: the network ---------- */
.lc-net{margin-top:clamp(30px,3.6vw,56px);border-top:1.5px solid var(--ink)}
.lc-net-r{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(16px,2.4vw,40px);align-items:center;padding:12px 0 14px;border-bottom:1px solid var(--rule)}
.lc-net-h{display:block;text-decoration:none;color:var(--ink)}
.lc-net-h .mono{display:block;color:var(--ink-2)}
.lc-net-h b{display:block;margin-top:4px;font-size:clamp(22px,2vw,30px);line-height:1.02;font-weight:720;letter-spacing:-.025em;font-variation-settings:"wdth" 78}
.lc-net-h:hover b{color:var(--line-ink)}
/* where they stand: place types counted from the names */
.lc-pt{margin-top:clamp(22px,2.6vw,34px);border-top:1.5px solid var(--ink)}
.lc-pt li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:6px 18px;align-items:start;padding:16px 0;border-bottom:1px solid var(--rule)}
.lc-pt .ic{width:28px;height:28px;margin-top:2px;color:var(--line-ink)}
.lc-pt b{display:block;font-size:clamp(18px,1.4vw,21px);line-height:1.2;font-weight:680;font-variation-settings:"wdth" 86;color:var(--ink)}
.lc-pt span{display:block;margin-top:4px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.lc-pt em{font-style:normal;font-family:var(--mono);font-size:clamp(24px,2.2vw,32px);line-height:1;color:var(--line-ink);font-variant-numeric:tabular-nums;text-align:right}
.lc-pt em small{display:block;margin-top:4px;font-size:12px;color:var(--ink-2)}
.lc-pt-l{margin-top:10px;font-size:14px;line-height:1.7;color:var(--ink-2)}
.lc-pt-l a{color:var(--ink);text-decoration-color:var(--line);text-underline-offset:3px}
.lc-pt-l a:hover{color:var(--line-ink)}
/* the town finder */
.lc-find{margin-top:clamp(18px,2vw,26px)}
.lc-q{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px}
.lc-q[hidden]{display:none}
.lc-q label{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.lc-q input{flex:1 1 260px;max-width:420px;min-height:46px;padding:0 16px;border-radius:999px;border:1.5px solid var(--ink);background:var(--paper-hi);font:inherit;font-size:16px;color:var(--ink)}
.lc-q input:focus{outline:3px solid var(--line);outline-offset:2px}
.lc-top{margin-bottom:14px;font-size:15px;line-height:1.7;color:var(--ink-2)}
.lc-top .mono{margin-right:8px}
.lc-top a{color:var(--ink);font-weight:620;text-decoration-color:var(--line);text-underline-offset:3px}
.lc-towndx{columns:4 220px;column-gap:clamp(20px,2.4vw,36px);border-top:1.5px solid var(--ink)}
.lc-towndx li{break-inside:avoid;border-bottom:1px solid var(--rule)}
.lc-towndx a{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;padding:7px 0;text-decoration:none;color:var(--ink)}
.lc-towndx b{min-width:0;font-size:15.5px;font-weight:620;font-variation-settings:"wdth" 90}
.lc-towndx span{flex:none;font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.lc-towndx a:hover b{color:var(--line-ink)}
.lc-none{margin-top:14px;font-size:15px;color:var(--ink-2)}
.lc-sgs{columns:3 280px;column-gap:clamp(20px,2.4vw,36px);margin-top:clamp(20px,2.4vw,30px)}
.lc-sg{break-inside:avoid;padding-bottom:18px}
.lc-sg>p{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:6px;border-bottom:1.5px solid var(--ink)}
.lc-sg>p a{font-size:18px;font-weight:680;font-variation-settings:"wdth" 86;color:var(--ink);text-decoration:none}
.lc-sg>p a:hover{color:var(--line-ink)}
.lc-sg>p span{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.lc-sg ul{display:flex;flex-wrap:wrap;gap:6px 8px;padding-top:10px}
.lc-sg li a{display:inline-flex;gap:6px;align-items:baseline;padding:5px 10px;border-radius:999px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule);font-size:14px;color:var(--ink);text-decoration:none}
.lc-sg li a b{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--line-ink)}
.lc-sg li a:hover{box-shadow:inset 0 0 0 1.5px var(--line)}
.lc-az{columns:4 210px;column-gap:clamp(20px,2.4vw,36px);margin-top:clamp(16px,2vw,24px);border-top:1.5px solid var(--ink)}
.lc-az li{break-inside:avoid;border-bottom:1px solid var(--rule)}
.lc-az a{position:relative;display:block;padding:12px 0 12px 26px;text-decoration:none;color:var(--ink)}
.lc-az a::before{content:"";position:absolute;left:0;top:16px;width:14px;height:14px;border-radius:50%;border:3.5px solid var(--line);background:var(--paper-hi);box-sizing:border-box}
.lc-az b{display:block;font-size:17px;line-height:1.2;font-weight:650;font-variation-settings:"wdth" 88}
.lc-az span{display:block;margin-top:3px;font-family:var(--mono);font-size:12.5px;color:var(--ink-2)}
.lc-az a:hover b{color:var(--line-ink)}
.lc-rt tfoot th,.lc-rt tfoot td{border-top:1.5px solid var(--ink);color:var(--ink);font-weight:650;background:none}
.lc-rt tbody th a{color:inherit;text-decoration:none;border-bottom:1.5px solid var(--violet)}
.lc-rt td a{color:var(--ink);text-decoration-color:var(--line);text-underline-offset:3px}
.lc-tbox{margin-top:clamp(18px,2vw,26px)}
.lc-pnl dl div{grid-template-columns:72px minmax(0,1fr)}
.lc-pnl dd{overflow-wrap:normal}
.pnl p.lc-pnl-t{margin:6px 0 6px;max-width:none;font-size:clamp(21px,1.7vw,25px);line-height:1.15;font-weight:700;font-variation-settings:"wdth" 82;color:var(--ink)}

/* ---------- /location-ssm ---------- */
.lc-pick{width:100%;max-width:600px;justify-self:end}
.lc-pick ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(8,auto);grid-auto-flow:column;column-gap:22px}
.lc-pick li{border-bottom:1px dashed rgba(242,238,227,.16)}
.lc-pick a{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 0;color:var(--board-text);text-decoration:none}
.lc-pick a span{font-size:15.5px}
.lc-pick a b{font-family:var(--mono);font-weight:500;font-size:18px;color:var(--led);font-variant-numeric:tabular-nums}
.lc-pick a:hover span{color:var(--led)}
.lc-offt th[scope=row] small{display:block;margin-top:2px;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.lc-offt th[scope=row] a{color:var(--ink);text-decoration-color:var(--line);text-underline-offset:3px}
.lc-offt td:nth-child(2){font-family:var(--mono);font-size:13px;color:var(--ink);min-width:12em}
.lc-offt td:nth-child(3){min-width:16em}
.lc-offt address{font-size:15px;line-height:1.5}
.lc-offt td a.lc-map{color:var(--line-ink)}
.lc-svc3{margin-top:18px;border-top:1.5px solid var(--ink)}
.lc-svc3 li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:16px 0 17px;border-bottom:1px solid var(--rule)}
.lc-svc3 .ic{width:28px;height:28px;color:var(--line-ink);margin-top:2px}
.lc-svc3 a{text-decoration:none!important}
.lc-svc3 a b{font-size:clamp(18px,1.4vw,20px);line-height:1.2;font-weight:660;font-variation-settings:"wdth" 88;color:var(--ink);border-bottom:1.5px solid var(--violet)}
.lc-svc3 a:hover b{color:var(--line-ink)}
.lc-svc3 p{margin-top:6px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.lc-fees{margin-top:clamp(20px,2.4vw,32px)}
.lc-who th[scope=col]{white-space:normal}
.lc-who td{min-width:11em}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .lc-net-r{grid-template-columns:minmax(0,180px) minmax(0,1fr)}
  .lc-off{--n:2!important}
  .lc-off li:nth-child(3n)::before{right:0;border-radius:0}
  .lc-off li:nth-child(2n)::before,.lc-off li:last-child::before{right:22px;border-radius:0 3px 3px 0}
}
@media (max-width:980px){
  .lc-photohead,.lc-tb,.lc-vl,.lc-stboard,.lc-pick{justify-self:start}
  /* the town chips leave the gutter and ride along with the register as a one-line strip */
  .lc-scols,.lc-saside{display:contents}
  .lc-saside .lc-jump{position:sticky;top:60px;z-index:6;margin:14px -16px 0;padding:8px 16px;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
  .lc-saside .lc-jump>.mono{display:none}
  .lc-state [id]{scroll-margin-top:124px}
  .lc-saside .lc-jump ul{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .lc-saside .lc-jump ul::-webkit-scrollbar{display:none}
}
@media (max-width:760px){
  .lc-line{grid-template-columns:minmax(0,1fr)}
  .lc-line li{padding:4px 0 16px 76px;min-height:58px}
  .lc-line li::before,.lc-line li:last-child::before{top:0;bottom:0;left:31px;right:auto;width:var(--line-w);height:auto;margin:0 0 0 calc(var(--line-w)/-2);border-radius:0}
  .lc-line li:first-child::before{top:30px}
  .lc-line li:last-child::before{bottom:auto;height:30px}
  .lc-line li:only-child::before{display:none}
  .lc-line a::before{top:calc(30px - var(--d,30px)/2);left:calc(31px - var(--d,30px)/2)}
  .lc-line b{font-size:22px;padding-top:12px}
  .lc-line.sm li{padding-top:4px}
  .lc-line.sm li::before{top:0}
  .lc-line.sm li:first-child::before{top:30px}
  .lc-line.sm a::before{top:calc(30px - var(--d,30px)/2)}
  .lc-line.sm b{font-size:18px}
  .lc-net-r{grid-template-columns:minmax(0,1fr);gap:10px}
  .lc-off{--n:1!important;grid-template-columns:minmax(0,1fr)}
  .lc-off li{padding:0 0 22px 56px}
  .lc-off li::before,.lc-off li:nth-child(n)::before{top:0;bottom:0;left:17px;right:auto;width:var(--line-w);height:auto;margin:0 0 0 calc(var(--line-w)/-2);border-radius:0}
  .lc-off li:first-child::before{top:20px}
  .lc-off li:last-child::before{bottom:auto;height:20px}
  .lc-off li:only-child::before{display:none}
  .lc-off .lc-off-t::before{top:2px;left:0}
  .lc-names ul{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}
  .lc-nos2{grid-template-columns:minmax(0,1fr)}
  .lc-two{grid-template-columns:minmax(0,1fr)}
  .lc-two>div+div{border-left:0;border-top:1px solid var(--rule)}
}
@media (max-width:640px){
  .lc-hero .lc-plate{margin:-40px 10px 0}
  .lc-plate dl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}
  .lc-plate dl>div:nth-child(odd){padding-left:0;border-left:0}
  .lc-plate dd{font-size:20px}
  .lc-reg li{padding:11px 56px 12px 40px}
  .lc-jump a{min-height:36px}
  .lt.stack tfoot{display:block}
  .lt.stack tfoot th{display:block;padding:0 0 6px;border:0;background:none}
  .lc-who td,.lc-offt td{min-width:0!important}
  .lc-tb li{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}
  .lc-tb .bar{grid-column:1 / -1;grid-row:2}
  .lc-vl li{padding-left:96px;min-height:92px}
  .lc-pick ol{column-gap:16px}
  .lc-pt li{grid-template-columns:32px minmax(0,1fr);}
  .lc-pt em{grid-column:2;text-align:left}
  .lc-names ul{grid-template-columns:minmax(0,1fr)}
  .lc-offt td,.lc-rt td,.ip-location-ssm .kfees td{display:block!important;padding-left:0!important}
  .lc-offt td::before,.lc-rt td::before,.ip-location-ssm .kfees td::before{display:block;position:static!important;width:auto!important;margin-bottom:3px}
  .lc-offt td::before{display:none}
  .lc-offt td:last-child{display:none!important}
  .lc-offt tr{padding:12px 14px}
  .lc-offt td{padding:2px 0!important}
}

/* ---- inner-photos.css ---- */
/* Kiosks at work: her kiosk photos (Alexzis, 25 Oct 2026) on /kiosk-solutions, station 04. Adds rules only. */
.kgal-wrap{margin-top:clamp(26px,3vw,40px)}
.kgal-h{margin:0 0 12px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.kgal{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,18px)}
.kgal li{margin:0;padding:0}
.kgal figure{margin:0;border-radius:12px;overflow:hidden;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2)}
.kgal img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.kgal figcaption{padding:8px 10px 10px;font-family:var(--mono);font-size:12px;line-height:1.35;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border-top:1px solid var(--rule-2)}
@media (max-width:980px){.kgal{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- inner-safedata-docs.css ---- */
/* =====================================================================================
   safedata-docs group (Phase 3, 19 Oct 2026; round 2): the five SAFEDATA-SSM document pages written by
   builder/pages_safedata_docs.py (Business Profile, Personal Involvement, company particulars, financial
   comparison, certificates). Every selector is scoped under .sdd (the wrapper those pages put inside <main>), so
   no other page changes. Only adds rules. No size below 12px.
   ===================================================================================== */

/* ---------- flat edges: the locked homepage's boards and lists carry no soft drop shadows ---------- */
.sdd .tbox{box-shadow:none;border:1px solid var(--rule)}
.sdd .note-card,.sdd .plq{box-shadow:inset 0 0 0 1px var(--rule)}
.sdd .fig,.sdd .ph-photo{box-shadow:none;border:1px solid var(--rule)}
.sdd .dboard,.sdd .way{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.sdd .lt tbody th small{display:block;margin-top:3px;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.sdd .lt thead th small{display:block;margin-top:2px;font-family:var(--display);font-size:12px;letter-spacing:0;text-transform:none;color:var(--ink-2)}
.sdd .lt td.na{font-family:var(--display);font-size:15px;color:var(--ink-2)}
.sdd .lt tr:target>*{background:var(--line-soft)}
.sdd .sdd-after{margin-top:14px;font-size:15.5px;line-height:1.55;color:var(--ink-2);max-width:42em}
.sdd .sdd-after a{color:var(--line-ink);font-weight:600}
.sdd .nw{white-space:nowrap}
.sdd .prose .plaque{margin-top:16px}
.sdd .src{margin-top:12px;font-size:13.5px;color:var(--ink-2)}
.sdd .src a{color:var(--ink-2)}

/* ---------- stations: the H2 heads the reading column, so the aside top-aligns with it ---------- */
.sdd .sdd-cols{margin-top:0}
.sdd .sdd-main .prose{margin-top:clamp(16px,1.8vw,26px)}
.sdd .sdd-solo{max-width:none}
.sdd .sdd-cols>.margin{padding-top:6px}
.sdd .margin>.plq:first-child,.sdd .margin>.fig:first-child,.sdd .margin>.dboard:first-child{margin-top:0}
.sdd .sdd-main .ip-h2{max-width:22ch}

/* the freshness line under the answer */
.sdd .sdd-meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:18px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.sdd .sdd-meta span{display:inline-flex;align-items:center;gap:8px}
.sdd .sdd-meta span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line)}

/* ---------- plaques: customer service and buy-online ---------- */
.sdd .sdd-plq{position:relative;background:var(--paper-hi);border-radius:16px;padding:22px 22px 22px;box-shadow:inset 0 0 0 1px var(--rule)}
.sdd .sdd-plq::before{content:"";position:absolute;left:22px;right:22px;top:0;height:5px;border-radius:0 0 4px 4px;background:var(--red)}
.sdd .sdd-plq .mono{display:block;color:var(--ink-2)}
.sdd .sdd-plq-t{margin-top:8px;font-size:clamp(21px,1.9vw,27px);line-height:1.08;letter-spacing:-.022em;font-weight:700;font-variation-settings:"wdth" 80;color:var(--ink)}
.sdd .sdd-plq-t b{color:var(--red-ink);font-weight:700}
.sdd .sdd-plq-p{margin-top:10px;font-family:var(--mono);font-size:15px;line-height:1.4;color:var(--red-ink);font-variant-numeric:tabular-nums}
.sdd .sdd-plq dl{margin-top:14px;border-top:1.5px solid var(--ink)}
.sdd .sdd-plq dl div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.sdd .sdd-plq dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.sdd .sdd-plq dd{font-size:16px;line-height:1.35;min-width:0}
.sdd .sdd-plq dd a{font-weight:620;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--red);font-variant-numeric:tabular-nums}
.sdd .sdd-plq .btn{margin-top:16px}

/* ---------- corrections: three stops beside customer service ---------- */
.sdd .sdd-fix{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(24px,4vw,64px);align-items:start}
.sdd .sdd-vline{position:relative;counter-reset:v}
.sdd .sdd-vline::before{content:"";position:absolute;left:10px;top:14px;bottom:30px;width:6px;border-radius:3px;background:var(--line)}
.sdd .sdd-vline li{position:relative;padding:0 0 22px 44px;counter-increment:v}
.sdd .sdd-vline li::before{content:counter(v);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box;font-family:var(--mono);font-size:12px;line-height:18px;text-align:center;font-weight:600;color:var(--ink)}
.sdd .sdd-vline li:last-child{padding-bottom:0}
.sdd .sdd-vline li:last-child::before{background:var(--line);color:#fff}
.sdd .sdd-vline b{display:block;font-size:18.5px;line-height:1.25;font-weight:660;font-variation-settings:"wdth" 88;letter-spacing:-.01em;color:var(--ink)}
.sdd .sdd-vline p{margin-top:4px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.sdd .sdd-vline a{color:var(--line-ink);font-weight:600}

/* ---------- next stops: the design label sits outside the link ---------- */
.sdd .sdd-next .sdd-next-t{max-width:none}
.sdd .sdd-next .nx .mono{display:block;color:var(--ink-2)}
.sdd .sdd-next .nx a b{margin-top:4px}

/* ---------- users: a ruled two-by-two list with the site's icons ---------- */
.sdd .sdd-users{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1.5px solid var(--ink);margin-top:16px}
.sdd .sdd-users li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 12px;align-content:start;padding:14px 16px 15px 0;border-bottom:1px solid var(--rule)}
.sdd .sdd-users li:nth-child(even){padding-left:18px;border-left:1px solid var(--rule)}
.sdd .sdd-users .ic{grid-row:span 2;width:26px;height:26px;color:var(--line-ink)}
.sdd .sdd-users b{font-size:16.5px;line-height:1.25;font-weight:650;font-variation-settings:"wdth" 88;color:var(--ink)}
.sdd .sdd-users span{grid-column:2;font-size:15px;line-height:1.4;color:var(--ink-2)}

/* ---------- buying as a line of stops ---------- */
.sdd .sdd-line{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));margin-top:clamp(18px,2vw,26px);counter-reset:l}
.sdd .sdd-line li{position:relative;padding:36px 18px 0 0;counter-increment:l}
.sdd .sdd-line li::before{content:"";position:absolute;top:10px;left:0;right:0;height:6px;background:var(--line)}
.sdd .sdd-line li:last-child::before{right:auto;width:22px;border-radius:0 3px 3px 0}
.sdd .sdd-line li::after{content:counter(l);position:absolute;top:0;left:0;width:26px;height:26px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box;font-family:var(--mono);font-size:12px;line-height:18px;text-align:center;font-weight:600;color:var(--ink)}
.sdd .sdd-line li:last-child::after{background:var(--line);color:#fff}
.sdd .sdd-line b{display:block;font-size:18.5px;line-height:1.2;font-weight:660;font-variation-settings:"wdth" 88;letter-spacing:-.01em;color:var(--ink)}
.sdd .sdd-line p{margin-top:6px;font-size:15px;line-height:1.45;color:var(--ink-2)}

/* ---------- prices: the light table, the dark parts table, bars to scale ---------- */
.sdd .sdd-pt td.num{font-size:16px}
.sdd .sdd-pt th.sdd-grp .pn{display:inline}
.sdd .sdd-pt th.sdd-grp .pn+.pn::before{content:" · ";color:var(--ink-2);font-weight:400}
.sdd .sdd-parts{position:relative;background:var(--board);color:var(--board-text);border-radius:18px;padding:clamp(16px,2vw,26px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.sdd .sdd-parts::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);pointer-events:none}
.sdd .sdd-pt2{position:relative;width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.sdd .sdd-pt2 caption{caption-side:top;text-align:left;padding:0 0 14px;font-size:14.5px;line-height:1.45;color:rgba(242,238,227,.82);border-bottom:1px solid rgba(242,238,227,.18)}
.sdd .sdd-pt2 thead th{padding:14px 16px 8px 0;text-align:left;font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,227,.72);font-variation-settings:"wdth" 87.5}
.sdd .sdd-pt2 tbody th{padding:14px 16px 14px 0;text-align:left;vertical-align:top;font-size:18px;line-height:1.2;font-weight:640;font-variation-settings:"wdth" 88;border-top:1px dashed rgba(242,238,227,.16)}
.sdd .sdd-pt2 tbody th small{display:block;margin-top:3px;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:rgba(242,238,227,.68);font-variation-settings:"wdth" 87.5}
.sdd .sdd-pt2 td{padding:14px 16px 14px 0;vertical-align:top;font-family:var(--mono);font-size:clamp(17px,1.5vw,21px);line-height:1.15;color:var(--board-text);border-top:1px dashed rgba(242,238,227,.16);white-space:nowrap}
.sdd .sdd-pt2 td b{font-weight:500;color:var(--led);text-shadow:0 0 16px rgba(255,194,74,.3)}
.sdd .sdd-parts-foot{position:relative;margin-top:12px;padding-top:12px;border-top:1px solid rgba(242,238,227,.16);font-size:13.5px;line-height:1.45;color:rgba(242,238,227,.74)}
.sdd .sdd-parts-foot a{color:var(--board-text)}

.sdd .sdd-bars{margin-top:clamp(18px,2vw,26px)}
.sdd .sdd-bars ul{border-top:1.5px solid var(--ink)}
.sdd .sdd-bars li{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:6px 18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule)}
.sdd .sdd-bars .bl{font-size:16px;line-height:1.25;font-weight:640;font-variation-settings:"wdth" 88;color:var(--ink)}
.sdd .sdd-bars .bt{display:block;min-width:0}
.sdd .sdd-bars .bw{display:flex;height:30px;border:1.5px solid var(--ink);border-radius:8px;overflow:hidden;box-sizing:border-box}
.sdd .sdd-bars .bw i{display:block;min-width:0}
.sdd .sdd-bars .bw .s{background:var(--paper-lo)}
.sdd .sdd-bars .bw .f{background:var(--ink)}
.sdd .sdd-bars .bn{grid-column:2;font-family:var(--mono);font-size:13px;line-height:1.4;color:var(--ink-2);font-variant-numeric:tabular-nums}
.sdd .sdd-bars .bn em{font-style:normal}
.sdd .sdd-bars .bn b{font-weight:600;color:var(--ink)}
.sdd .sdd-key{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px;font-size:14px;line-height:1.4;color:var(--ink-2)}
.sdd .sdd-key span{display:inline-flex;align-items:center;gap:8px}
.sdd .sdd-key i{display:inline-block;flex:none;width:18px;height:12px;border:1.5px solid var(--ink);border-radius:3px;box-sizing:border-box}
.sdd .sdd-key i.s{background:var(--paper-lo)}
.sdd .sdd-key i.f{background:var(--ink)}

/* ---------- head devices (one per page: data-hero) ---------- */
.sdd .sdd-hdev,.sdd .sdd-qb,.sdd .sdd-pi,.sdd .sdd-rack{width:100%;max-width:520px;justify-self:end}
.sdd .sdd-hdev{display:grid;gap:14px}
/* business profile: the fee board with the shop under it */
.sdd .rob-f{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 0 12px;border-bottom:1px dashed rgba(242,238,227,.16)}
.sdd .rob-f>div+div{padding-left:18px;border-left:1px dashed rgba(242,238,227,.2)}
.sdd .rob-f b{display:block;font-family:var(--mono);font-weight:500;font-size:clamp(30px,2.8vw,40px);line-height:1;color:var(--led);text-shadow:0 0 16px rgba(255,194,74,.3);font-variant-numeric:tabular-nums}
.sdd .rob-f small{display:block;margin-top:6px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,227,.74)}
.sdd .sdd-rob .db-row>b.sm{font-size:clamp(17px,1.5vw,21px)}
.sdd .sdd-hshop img{aspect-ratio:16/8;object-fit:cover;object-position:50% 62%}
/* business profile: SSM's register counts beside ROB / ROC */
.sdd .sdd-count .db-row>b{font-size:clamp(18px,1.6vw,22px)}
.sdd .sdd-count .db-row.sub{padding:8px 0 8px 16px}
.sdd .sdd-count .db-row.sub>span{font-size:14px;color:rgba(242,238,227,.78)}
.sdd .sdd-count .db-row.sub>b.sm{font-size:15px}
/* company particulars: question -> document */
.sdd .sdd-qb .qb-row{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:center;padding:11px 0;border-bottom:1px dashed rgba(242,238,227,.16);text-decoration:none;color:var(--board-text)}
.sdd .sdd-qb .qb-row:last-of-type{border-bottom:0}
.sdd .sdd-qb .qb-row .ic{width:22px;height:22px;color:var(--led)}
.sdd .sdd-qb .qb-row .q{display:block;font-size:15.5px;line-height:1.3;color:rgba(242,238,227,.86)}
.sdd .sdd-qb .qb-row b{display:block;margin-top:3px;font-family:var(--mono);font-weight:500;font-size:clamp(14px,1.1vw,16px);line-height:1.35;color:var(--led)}
.sdd .sdd-qb .qb-row:first-of-type{padding-bottom:13px;border-bottom:1px solid rgba(242,238,227,.3)}
.sdd .sdd-qb .qb-row:hover .q{color:var(--board-text)}
/* personal involvement: one person, two roles */
.sdd .sdd-pi{position:relative;margin:0;background:var(--board);color:var(--board-text);border-radius:18px;padding:clamp(18px,2vw,26px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.sdd .sdd-pi::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px);pointer-events:none}
.sdd .pi-key{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px 14px;align-items:center;padding:16px 18px;border-radius:12px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(242,238,227,.18)}
.sdd .pi-key .pi-ic{width:44px;height:44px;color:var(--led);stroke-width:1.4}
.sdd .pi-key .mono{display:block;color:rgba(242,238,227,.72)}
.sdd .pi-key b{display:block;margin-top:2px;font-size:clamp(20px,1.8vw,24px);line-height:1.1;font-weight:680;font-variation-settings:"wdth" 82}
.sdd .pi-mask{grid-column:1/-1;font-family:var(--mono);font-size:clamp(19px,1.8vw,24px);letter-spacing:.06em;color:var(--led);text-shadow:0 0 14px rgba(255,194,74,.28);white-space:nowrap}
.sdd .pi-stem{position:relative;width:6px;height:30px;margin:0 auto;background:var(--red)}
.sdd .pi-fork{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:30px}
.sdd .pi-fork::before{content:"";position:absolute;top:0;left:calc(25% - 6.5px);right:calc(25% - 6.5px);height:6px;border-radius:3px;background:var(--red)}
.sdd .pi-fork li{position:relative;padding:22px 12px 16px;border-radius:12px;text-align:center;box-shadow:inset 0 0 0 1px rgba(242,238,227,.18)}
.sdd .pi-fork li::before{content:"";position:absolute;left:50%;top:-30px;width:6px;height:30px;margin-left:-3px;background:var(--red)}
.sdd .pi-fork li::after{content:"";position:absolute;left:50%;top:-11px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:var(--board);border:4.5px solid var(--red);box-sizing:border-box}
.sdd .pi-fork .mono{display:block;color:rgba(242,238,227,.72)}
.sdd .pi-fork b{display:block;margin-top:4px;font-size:clamp(18px,1.6vw,22px);line-height:1.15;font-weight:660;font-variation-settings:"wdth" 86}
.sdd .pi-fork li>span:last-child{display:block;margin-top:6px;font-size:14px;line-height:1.35;color:rgba(242,238,227,.8)}
.sdd .sdd-pi figcaption{position:relative;margin-top:18px;padding-top:12px;border-top:1px solid rgba(242,238,227,.16);font-size:13.5px;line-height:1.45;color:rgba(242,238,227,.76)}
.sdd .sdd-io{margin-top:0}
.sdd .sdd-io dd{font-size:17px}
/* financial comparison: the photo beside the title, the price board across the head */
.sdd .sdd-hphoto img{aspect-ratio:16/9;object-fit:cover}
.sdd .sdd-yl{margin-top:clamp(28px,3.4vw,52px)}
.sdd .yl-body{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,48px);align-items:start}
.sdd .yl-col>.mono,.sdd .yl-fhc>.mono{display:block;color:rgba(242,238,227,.74)}
.sdd .yl{position:relative;margin-top:12px;padding-left:36px}
.sdd .yl::before{content:"";position:absolute;left:9px;top:18px;bottom:18px;width:6px;border-radius:3px;background:var(--red)}
.sdd .yl li{position:relative;display:flex;align-items:baseline;gap:14px;padding:12px 0;border-bottom:1px dashed rgba(242,238,227,.18)}
.sdd .yl li:last-child{border-bottom:0}
.sdd .yl li::before{content:"";position:absolute;left:-38px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--board);border:4.5px solid var(--red);box-sizing:border-box}
.sdd .yl .yl-y{font-size:17px;line-height:1.1;font-weight:640;font-variation-settings:"wdth" 88;color:var(--board-text);white-space:nowrap}
.sdd .yl .yl-s{font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:rgba(242,238,227,.72);white-space:nowrap}
.sdd .yl b{margin-left:auto;font-family:var(--mono);font-weight:500;font-size:clamp(20px,1.9vw,27px);line-height:1;color:var(--led);text-shadow:0 0 16px rgba(255,194,74,.3);font-variant-numeric:tabular-nums;white-space:nowrap}
.sdd .yl-fhc{position:relative;padding:18px 20px 20px;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(242,238,227,.2)}
.sdd .yl-fhc>b{display:block;margin-top:6px;font-size:clamp(22px,2vw,28px);line-height:1;font-weight:700;font-variation-settings:"wdth" 80}
.sdd .yl-fhc>span:not(.mono){display:block;margin-top:4px;font-size:14.5px;line-height:1.4;color:rgba(242,238,227,.82)}
.sdd .yl-fhc dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;border-top:1px dashed rgba(242,238,227,.2)}
.sdd .yl-fhc dl div{padding-top:10px}
.sdd .yl-fhc dl div+div{padding-left:16px;border-left:1px dashed rgba(242,238,227,.2)}
.sdd .yl-fhc dt{font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:rgba(242,238,227,.72)}
.sdd .yl-fhc dd{margin-top:4px;font-family:var(--mono);font-size:clamp(22px,2vw,28px);line-height:1;color:var(--led);text-shadow:0 0 16px rgba(255,194,74,.3);font-variant-numeric:tabular-nums}
/* certificates: one board racking the documents, the attestation lifted out */
.sdd .sdd-rack{position:relative}
.sdd .rk-slips{position:relative;margin-top:4px}
.sdd .rk-slips li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px dashed rgba(242,238,227,.16)}
.sdd .rk-slips .ic{width:22px;height:22px;color:var(--led)}
.sdd .rk-slips b{font-size:15.5px;line-height:1.25;font-weight:600;font-variation-settings:"wdth" 90;color:var(--board-text)}
.sdd .rk-slips span{font-family:var(--mono);font-size:16px;line-height:1.2;text-align:right;white-space:nowrap;color:var(--led);font-variant-numeric:tabular-nums}
.sdd .rk-slips small{display:block;margin-top:2px;font-size:12px;color:rgba(242,238,227,.74)}
.sdd .rk-acgs{position:relative;margin:14px -4px 0;padding:18px 20px 20px;border-radius:14px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(242,238,227,.2);overflow:hidden}
.sdd .rk-acgs::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--red)}
.sdd .rk-acgs .mono{display:block;color:rgba(242,238,227,.74)}
.sdd .rk-acgs>b{display:block;margin-top:6px;font-size:clamp(20px,1.8vw,25px);line-height:1.1;letter-spacing:-.015em;font-weight:700;font-variation-settings:"wdth" 80}
.sdd .rk-p{display:block;margin-top:10px;font-family:var(--mono);font-size:clamp(32px,3vw,44px);line-height:1;color:var(--led);text-shadow:0 0 18px rgba(255,194,74,.3);font-variant-numeric:tabular-nums}
.sdd .rk-p small{font-size:max(12px,.42em);margin-right:4px;color:rgba(242,238,227,.74);text-shadow:none}
.sdd .rk-s{display:block;margin-top:6px;font-family:var(--mono);font-size:13px;color:rgba(242,238,227,.76)}
/* photo bands: on the line (particulars) and under the head (certificates) */
.sdd .sdd-band img{aspect-ratio:21/9;object-fit:cover}
.sdd .sdd-band-head{margin-top:clamp(28px,3.4vw,48px)}
.sdd .sdd-band-head img{object-position:50% 55%}

/* ---------- business profile: the specimen sheet and the register sign ---------- */
.sdd .sdd-sheet{margin:0}
.sdd .sdd-sheet .sh-paper{position:relative;background:var(--paper-hi);border-radius:6px 6px 16px 16px;padding:clamp(18px,2.4vw,34px);box-shadow:inset 0 0 0 1px var(--rule)}
.sdd .sdd-sheet .sh-paper::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:6px 6px 0 0;background:var(--line)}
.sdd .sh-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1.5px solid var(--ink)}
.sdd .sh-top .mono{color:var(--ink-2)}
.sdd .sh-tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--ink);color:var(--paper-hi);font-family:var(--mono);font-size:12px;letter-spacing:.08em}
.sdd .sh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(20px,3vw,44px)}
.sdd .sh-g{padding:16px 0 8px;border-bottom:1px solid var(--rule)}
.sdd .sh-g .mono{display:block;margin-bottom:6px;color:var(--line-ink)}
.sdd .sh-g li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:center;padding:8px 0;border-top:1px dashed var(--rule)}
.sdd .sh-g li span{font-size:15px;line-height:1.3;font-weight:560;color:var(--ink)}
.sdd .sh-g li i{display:block;padding:3px 8px;border-radius:4px;font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:repeating-linear-gradient(135deg,var(--paper-lo) 0 6px,var(--paper-hi) 6px 12px);box-shadow:inset 0 0 0 1px var(--rule);white-space:nowrap;overflow:hidden;font-variation-settings:"wdth" 87.5}
.sdd .sdd-sheet figcaption{margin-top:10px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.sdd .sdd-reg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--board);border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.sdd .sdd-reg a{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:22px 24px 24px;text-decoration:none;color:var(--board-text);border-top:6px solid var(--red);transition:background-color .25s}
.sdd .sdd-reg a+a{border-left:1px dashed rgba(242,238,227,.22)}
.sdd .sdd-reg a.is-here{background:rgba(255,255,255,.04)}
.sdd .sdd-reg a:hover{background:rgba(255,255,255,.07)}
.sdd .sdd-reg .cap{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--paper-hi);color:var(--ink);font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.06em}
.sdd .sdd-reg .mono{color:rgba(242,238,227,.74)}
.sdd .sdd-reg b{font-size:clamp(24px,2.3vw,34px);line-height:1.02;letter-spacing:-.025em;font-weight:720;font-variation-settings:"wdth" 78}
.sdd .sdd-reg .p{font-family:var(--mono);font-size:14px;line-height:1.4;color:var(--led)}
.sdd .sdd-reg .go{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#FF9C85;font-variation-settings:"wdth" 87.5;white-space:nowrap}
.sdd .sdd-reg .go svg{width:13px;height:13px;display:inline-block}
.sdd .way .go{white-space:nowrap}

/* ---------- personal involvement: the two-way table and the onward line ---------- */
.sdd .sdd-two td{font-size:15.5px}
.sdd .sdd-chain{position:relative;margin-top:clamp(18px,2vw,26px);border-top:1.5px solid var(--ink)}
.sdd .sdd-chain li{position:relative}
.sdd .sdd-chain a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:4px 16px;align-items:start;padding:16px 0 18px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule)}
.sdd .sdd-chain .ic{grid-row:span 2;width:26px;height:26px;color:var(--line-ink);margin-top:1px}
.sdd .sdd-chain b{grid-column:2;font-size:clamp(18px,1.5vw,21px);line-height:1.2;font-weight:660;font-variation-settings:"wdth" 86;letter-spacing:-.01em}
.sdd .sdd-chain .d{grid-column:2/-1;font-size:15px;line-height:1.45;color:var(--ink-2);max-width:52em}
.sdd .sdd-chain .p{grid-column:3;grid-row:1;align-self:baseline;font-family:var(--mono);font-size:14px;color:var(--line-ink);white-space:nowrap}
.sdd .sdd-chain a:hover b{color:var(--line-ink)}

/* ---------- company particulars: how far back, to scale ---------- */
.sdd .sdd-time{margin:0;padding:clamp(16px,2.2vw,28px);border-radius:16px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule)}
.sdd .sdd-time .tl-head,.sdd .sdd-time li{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:6px 22px;align-items:center}
.sdd .sdd-time .tl-head{padding:22px 0 10px;border-bottom:1.5px solid var(--ink)}
.sdd .tl-axis{position:relative;display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.sdd .tl-axis i{position:absolute;top:-2px;bottom:-12px;width:0;border-left:1.5px dashed var(--ink-2)}
.sdd .tl-axis i em{position:absolute;bottom:100%;left:0;transform:translateX(-50%);padding-bottom:4px;font-style:normal;white-space:nowrap;color:var(--ink)}
.sdd .sdd-time ul{position:relative}
.sdd .sdd-time li{padding:14px 0;border-bottom:1px solid var(--rule)}
.sdd .sdd-time li b{font-size:16px;line-height:1.25;font-weight:640;font-variation-settings:"wdth" 88;color:var(--ink)}
.sdd .tl-track{position:relative;display:block;height:14px;border-radius:7px;background:var(--paper-lo);box-shadow:inset 0 0 0 1px var(--rule)}
.sdd .tl-track i{position:absolute;top:0;bottom:0;border-radius:7px;background:var(--line)}
.sdd .tl-track i.dot{width:14px;border-radius:50%;background:var(--ink)}
.sdd .tl-n{grid-column:2;font-size:14px;line-height:1.4;color:var(--ink-2)}
.sdd .sdd-time figcaption{margin-top:12px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}

/* ---------- financial comparison: the grouped comparison table and SSM's sample report ---------- */
.sdd .sdd-ct tbody.g-fhc tr>*{border-top:1.5px solid var(--ink)}
.sdd .sdd-ct th.sdd-grp{vertical-align:middle}
.sdd .sdd-ct td.sdd-ctc{vertical-align:middle;font-family:var(--display);font-size:15px;color:var(--ink-2)}
.sdd .sdd-ct tr.gn td{border-top:1px dashed var(--rule)}
.sdd .sdd-ct tbody tr:nth-child(even) td,.sdd .sdd-ct tbody tr:nth-child(even) th{background:none}
.sdd .sdd-spec3{margin:clamp(22px,2.6vw,36px) 0 0}
.sdd .sp3-top{padding-bottom:10px}
.sdd .sp3-top .mono{color:var(--ink-2)}
.sdd .sp3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--ink)}
.sdd .sp3>div{padding:16px 20px 18px 0}
.sdd .sp3>div+div{padding-left:20px;border-left:1px solid var(--rule)}
.sdd .sp3 .mono{display:block;margin-bottom:8px;color:var(--line-ink)}
.sdd .sp3 li{padding:7px 0;border-top:1px dashed var(--rule);font-size:15.5px;line-height:1.35;color:var(--ink)}
.sdd .sdd-spec3 figcaption{margin-top:10px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.sdd .sdd-spec3 figcaption a{color:var(--ink-2)}

/* ---------- certificates: the QR check and SSM's criteria ---------- */
.sdd .sdd-qr{margin:clamp(22px,2.6vw,36px) 0 0}
.sdd .sdd-qr figcaption{margin-top:14px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.sdd .sdd-qr figcaption a{color:var(--ink-2)}
.sdd .sdd-stops3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));counter-reset:q}
.sdd .sdd-stops3 li{position:relative;padding:36px 22px 0 0;counter-increment:q}
.sdd .sdd-stops3 li::before{content:"";position:absolute;top:10px;left:0;right:0;height:6px;background:var(--line)}
.sdd .sdd-stops3 li:last-child::before{right:auto;width:22px;border-radius:0 3px 3px 0}
.sdd .sdd-stops3 li::after{content:counter(q);position:absolute;top:0;left:0;width:26px;height:26px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box;font-family:var(--mono);font-size:12px;line-height:18px;text-align:center;font-weight:600;color:var(--ink)}
.sdd .sdd-stops3 li:last-child::after{background:var(--line);color:#fff}
.sdd .sdd-stops3 b{display:block;font-size:19px;line-height:1.2;font-weight:660;font-variation-settings:"wdth" 88;letter-spacing:-.01em;color:var(--ink)}
.sdd .sdd-stops3 p{margin-top:6px;font-size:15px;line-height:1.45;color:var(--ink-2)}
.sdd .sdd-check{margin-top:16px;border-top:1.5px solid var(--ink)}
.sdd .sdd-check li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--rule)}
.sdd .sdd-check .ic{width:24px;height:24px;margin-top:1px;color:var(--line-ink)}
.sdd .sdd-check span{font-size:15.5px;line-height:1.45;color:var(--ink-2)}
.sdd .sdd-check b{display:block;font-size:17px;line-height:1.25;font-weight:650;font-variation-settings:"wdth" 88;color:var(--ink)}
.sdd .sdd-check a{color:var(--line-ink);font-weight:600}

/* ---------- responsive ---------- */
@media (min-width:641px){
  .sdd .sdd-ct{min-width:660px}
}
@media (max-width:980px){
  .sdd .sdd-hdev,.sdd .sdd-qb,.sdd .sdd-pi,.sdd .sdd-rack{justify-self:start}
  .sdd .sdd-fix{grid-template-columns:minmax(0,1fr)}
  .sdd .sdd-fix>.sdd-plq{max-width:560px}
}
@media (max-width:860px){
  .sdd .yl-body{grid-template-columns:minmax(0,1fr)}
  .sdd .sp3{grid-template-columns:minmax(0,1fr)}
  .sdd .sp3>div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
}
@media (max-width:760px){
  .sdd .sh-grid{grid-template-columns:minmax(0,1fr)}
  .sdd .sdd-reg{grid-template-columns:minmax(0,1fr)}
  .sdd .sdd-reg a+a{border-left:0}
  .sdd .sdd-time .tl-head,.sdd .sdd-time li{grid-template-columns:minmax(0,1fr)}
  .sdd .sdd-time .tl-head>span:first-child{display:none}
  .sdd .tl-n{grid-column:1}
  .sdd .sdd-stops3,.sdd .sdd-line{grid-template-columns:minmax(0,1fr)}
  .sdd .sdd-stops3 li,.sdd .sdd-line li{padding:0 0 20px 40px}
  .sdd .sdd-stops3 li::before,.sdd .sdd-stops3 li:last-child::before,.sdd .sdd-line li::before,.sdd .sdd-line li:last-child::before{top:0;bottom:0;left:10px;right:auto;width:6px;height:auto;border-radius:0}
  .sdd .sdd-stops3 li:last-child::before,.sdd .sdd-line li:last-child::before{bottom:auto;height:14px}
}
@media (max-width:640px){
  .sdd .crumbs ol{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .sdd .crumbs ol::-webkit-scrollbar{display:none}
  .sdd .crumbs li{flex:none;white-space:nowrap}
  .sdd .crumbs li:nth-child(2):not(:last-child){display:none}
  .sdd .sdd-users{grid-template-columns:minmax(0,1fr)}
  .sdd .sdd-users li:nth-child(even){padding-left:0;border-left:0}
  .sdd .sdd-bars li{grid-template-columns:minmax(0,1fr)}
  .sdd .sdd-bars .bn{grid-column:1}
  .sdd .sdd-plq dl div{grid-template-columns:64px minmax(0,1fr)}
  /* the parts board: label left, value right, one row each */
  .sdd .sdd-pt2 thead{display:none}
  .sdd .sdd-pt2,.sdd .sdd-pt2 tbody,.sdd .sdd-pt2 tr{display:block}
  .sdd .sdd-pt2 caption{display:block}
  .sdd .sdd-pt2 tr{padding:12px 0;border-top:1px dashed rgba(242,238,227,.16)}
  .sdd .sdd-pt2 tbody th{display:block;padding:0 0 6px;border:0}
  .sdd .sdd-pt2 td{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:5px 0;border:0;font-size:17px}
  .sdd .sdd-pt2 td::before{content:attr(data-label);font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:rgba(242,238,227,.72);white-space:normal}
  /* the person / company table keeps its two narrow columns */
  .sdd .sdd-two td,.sdd .sdd-two tbody th,.sdd .sdd-two th{padding:10px 8px;font-size:14px;overflow-wrap:anywhere}
  .sdd .sdd-two tbody th{font-size:14px;width:76px}
  .sdd .sdd-two thead th{white-space:normal}
  .sdd .sdd-two caption{padding:14px 10px}
  /* the grouped financial table: one card per document */
  .sdd .sdd-ct thead{display:none}
  .sdd .sdd-ct,.sdd .sdd-ct tbody,.sdd .sdd-ct caption{display:block;width:100%}
  .sdd .sdd-ct tr{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.2fr);gap:4px 10px;padding:8px 14px}
  .sdd .sdd-ct tr.g1{padding-top:14px;border-top:1px solid var(--rule)}
  .sdd .sdd-ct tbody th{grid-column:1/-1;display:block;padding:0 0 6px;border:0;background:none}
  .sdd .sdd-ct td{display:block;padding:0;border:0;background:none;white-space:normal;font-size:15px}
  .sdd .sdd-ct tr.g1 td::before{content:attr(data-label);display:block;margin-bottom:2px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
  .sdd .sdd-ct td.sdd-ctc{display:none}
  .sdd .sdd-ct tbody.g-fhc tr>*{border-top:0}
  .sdd .sdd-chain a{grid-template-columns:26px minmax(0,1fr)}
  .sdd .sdd-chain .p{grid-column:2;grid-row:auto}
  .sdd .sdd-chain .d{grid-column:2}
  .sdd .rk-slips li{grid-template-columns:22px minmax(0,1fr);row-gap:4px}
  .sdd .rk-slips li span{grid-column:2;text-align:left}
  .sdd .rk-slips small{display:inline;margin-left:8px}
  .sdd .yl li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline}
  .sdd .yl .yl-s{grid-column:1;grid-row:2}
  .sdd .yl b{grid-column:2;grid-row:1/span 2;align-self:center;font-size:22px}
  .sdd .yl .yl-y{font-size:16px}
  .sdd .pi-fork{gap:10px}
  .sdd .pi-fork li>span:last-child{font-size:13.5px}
  .sdd .tl-axis i{display:none}
  .sdd .sdd-time .tl-head{padding-top:10px}
}
@media (max-width:480px){
  .sdd .sdd-qb .qb-row b{font-size:15px}
}

/* ---------- company particulars (retargeted 19 Oct): the fare card and the start-here pointer ---------- */
.sdd .sdd-fare{width:100%;max-width:520px;justify-self:end}
.sdd .sdd-fare .fare-names{position:relative;padding:6px 0;border-bottom:1px dashed rgba(242,238,227,.16)}
.sdd .sdd-fare .fare-names a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:center;padding:8px 0;text-decoration:none;color:var(--board-text);font-size:15.5px;line-height:1.3;font-weight:600;font-variation-settings:"wdth" 90}
.sdd .sdd-fare .fare-names .ic{width:20px;height:20px;color:var(--led)}
.sdd .sdd-fare .fare-names a:hover span{text-decoration:underline;text-underline-offset:3px}
.sdd .sdd-fare .db-row>span small{display:block;margin:2px 0 0;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:rgba(242,238,227,.7)}
.sdd .sdd-start{margin-top:18px;padding:12px 16px;border-radius:12px;background:var(--paper-hi);box-shadow:inset 3px 0 0 var(--line),inset 0 0 0 1px var(--rule);font-size:15.5px;line-height:1.5;color:var(--ink-2);max-width:36em}
.sdd .sdd-start .mono{display:block;margin-bottom:2px;color:var(--line-ink)}
.sdd .sdd-start a{color:var(--line-ink);font-weight:600}
.sdd .sdd-pt5 td[data-label="Covers"]{font-size:15px;max-width:22em}
@media (max-width:980px){.sdd .sdd-fare{justify-self:start}}
.sdd .sdd-pt5 td.sdd-span{vertical-align:middle;border-left:1px solid var(--rule);background:var(--paper-hi)}
.sdd .sdd-pt5 tr.gn>*{border-top:1px dashed var(--rule)}
.sdd .sdd-pt5 tbody tr:nth-child(even) td,.sdd .sdd-pt5 tbody tr:nth-child(even) th{background:none}
.sdd .sdd-pt5 #p-listing>*{border-top:1.5px solid var(--ink)}
@media (max-width:640px){
  .sdd .sdd-pt5 tr.gn{padding-top:6px;border-top:0}
  .sdd .sdd-pt5 td.sdd-span{border-left:0;background:none}
}

/* ---------- final pass (19 Oct, after the round-2 reviews): classes only the four halted pages emit.
   business-profile is frozen, so nothing here restyles a class it uses. ---------- */
.sdd .sdd-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){.sdd .sdd-meta .sdd-lg{display:none}}
/* family icons beside step names and board / exhibit labels */
.sdd .sdd-sic{width:20px;height:20px;margin-right:8px;vertical-align:-4px;color:var(--line-ink)}
.sdd .sdd-bic{width:18px;height:18px;margin-right:8px;vertical-align:-4px}
.sdd .yl-col>.mono .sdd-bic,.sdd .yl-fhc>.mono .sdd-bic{color:var(--led)}
/* personal involvement: person / company as two equal columns, a real two-column table on phones */
.sdd .sdd-two{table-layout:fixed}
.sdd .sdd-two thead th:first-child,.sdd .sdd-two tbody th{width:22%;white-space:normal}
.sdd .sdd-two thead th+th{width:39%}
@media (max-width:640px){
  .sdd .sdd-two,.sdd .sdd-two thead,.sdd .sdd-two tbody{display:block;width:100%}
  .sdd .sdd-two caption{display:block}
  .sdd .sdd-two tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .sdd .sdd-two thead th:first-child{display:none}
  .sdd .sdd-two thead th+th{width:auto}
  .sdd .sdd-two tbody th{grid-column:1/-1;width:auto;padding:12px 8px 2px;border-bottom:0}
  .sdd .sdd-two tbody td{border-top:0}
}
/* company particulars: a price line on every phone card; the listing and the charges row ruled once */
.sdd .sdd-pt5 td.sdd-ph{display:none}
.sdd .sdd-pt5 #p-charges>*{border-top:1px dashed var(--rule)}
.sdd .sdd-pt5 #p-charges td[data-label="Covers"] a{color:var(--line-ink);font-weight:600}
@media (max-width:640px){
  .sdd .sdd-pt5 td.sdd-ph{display:grid}
  .sdd .sdd-pt5 tr.gn{border-top:1px dashed var(--rule)}
  .sdd .sdd-pt5 #p-listing>*,.sdd .sdd-pt5 #p-charges>*{border-top:0}
  .sdd .sdd-pt5 #p-listing{border-top:1.5px solid var(--ink)}
  .sdd .sdd-pt5 #p-charges{border-top:1px solid var(--rule)}
}
/* financial comparison: the historical card runs the board's full height; the sample in two balanced columns */
.sdd .sdd-yl .yl-body{align-items:stretch}
.sdd .sdd-yl .yl-fhc{display:flex;flex-direction:column}
.sdd .sdd-yl .yl-src{margin-top:auto;padding-top:16px;font-family:var(--mono);font-size:12px;line-height:1.45;letter-spacing:.05em;text-transform:uppercase;color:rgba(242,238,227,.72)}
.sdd .sdd-rr{margin-top:16px}
.sdd .sp3.sp2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sdd .sp3 dl,.sdd .sp3 dd{margin:0}
.sdd .sp3 dt.mono{display:flex;align-items:center}
.sdd .sp3 dd+dt{margin-top:20px}
.sdd .sp3 dt .sdd-bic{color:var(--line-ink)}
@media (max-width:860px){.sdd .sp3.sp2{grid-template-columns:minmax(0,1fr)}}
/* certificates: the five documents as a ruled list; one-line criteria and attestation details */
.sdd .sdd-docs{margin-top:16px;border-top:1.5px solid var(--ink)}
.sdd .sdd-docs li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:4px 14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--rule)}
.sdd .sdd-docs .ic{width:24px;height:24px;color:var(--line-ink);align-self:start}
.sdd .sdd-docs b{font-size:17px;line-height:1.3;font-weight:650;font-variation-settings:"wdth" 88;color:var(--ink)}
.sdd .sdd-docs span{font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--line-ink);white-space:nowrap}
.sdd .sdd-check1 li{padding:11px 0}
.sdd .sdd-check1 b{font-size:16px;line-height:1.4;font-weight:600}
@media (max-width:640px){
  .sdd .sdd-docs li{grid-template-columns:28px minmax(0,1fr)}
  .sdd .sdd-docs span{grid-column:2;white-space:normal}
}
.sdd .sdd-meta .sdd-mt{font-weight:inherit}
.sdd .sdd-meta .sdd-lg{font-style:normal}
.sdd .sdd-stv .sx{display:flex;align-items:center}
.sdd .prose .sdd-io{margin:16px 0 18px}
.sdd .sp3.sp2>div+div{padding-left:0;border-left:0}
.sdd .sp3.sp2>div+div>dl{padding-left:20px;border-left:1px solid var(--rule)}
@media (max-width:860px){.sdd .sp3.sp2>div+div>dl{padding-left:0;border-left:0}}
.sdd .sdd-yl .yl-col>.mono,.sdd .sdd-yl .yl-fhc>.mono{display:flex;align-items:center}

/* ---- inner-safedata-steps.css ---- */
/* Her real SAFEDATA-SSM screens (Alexzis, 27 Oct 2026, "safedata steps.zip") under "How to buy" on /safedata-ssm and
   /safedata-ssm-company-profile (pages_safedata.sd_screens). Adds rules only. */
.sds-wrap{margin-top:clamp(26px,3vw,40px)}
.sds-h{margin:0 0 12px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
/* six screens since 28 Oct 2026 (her download step): three to a row */
.sds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.2vw,16px)}
.sds li{margin:0;padding:0;min-width:0}
.sds figure{margin:0;height:100%;border-radius:12px;overflow:hidden;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2)}
.sds a{display:block;background:#fff}
.sds img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .35s var(--ease,ease)}
.sds a:hover img{transform:scale(1.03)}
.sds a:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.sds figcaption{padding:9px 11px 12px;border-top:1px solid var(--rule-2);font-size:14px;line-height:1.35;color:var(--ink-2)}
.sds figcaption .mono{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;border-radius:50%;background:var(--red);color:#fff;font-size:10.5px;vertical-align:1px}
.sds figcaption b{color:var(--ink);font-weight:650}
.sds figcaption .d{display:block;margin-top:4px}
.sdv{margin:clamp(16px,2vw,24px) 0 0;max-width:760px}
.sdv video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:12px;background:#0d0c1d}
.sdv figcaption{margin-top:8px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-2)}
@media (max-width:640px){
  .sds{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .sds li{scroll-snap-align:start}
}

/* ---- inner-safedata.css ---- */
/* =====================================================================================
   safedata-hub group (builder/pages_safedata.py): /safedata-ssm, /safedata-ssm-company-profile,
   /ssm-ctc-vs-non-ctc, /company-profile-vs-business-profile. Round 2, 19 Oct 2026.
   Only adds rules. Component classes (sd-*, and the `flat` modifier the module adds to shared parts) style
   wherever pages_safedata's parts are used, so pages that import them (safedata-docs) get the same look.
   Page-scoped rules name the four pages' body classes. No declared size below 12px.
   ===================================================================================== */

/* ---------- flat: the homepage's boards and cards sit flat on the paper (round-1 design fixes) ---------- */
.note-card.flat,.plq.flat,.pnl.flat{box-shadow:inset 0 0 0 1px var(--rule-2)}
.tbox.flat{box-shadow:inset 0 0 0 1px var(--rule)}
.fig.flat,.ph-photo.flat{box-shadow:none}
.fb.flat,.way.flat,.split.flat,.dboard.flat{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.ip-cols .margin>.plq.flat:first-child,.ip-cols .margin>.note-card.flat:first-child{margin-top:0}
.plq.flat{margin-top:0}

/* the interchange on a red page (round 2): the red line enters the capsule and leaves it violet for this chapter,
   which is about the Tap.It kiosks; the next station picks the red line up again */
.st.xv{--line:var(--violet);--line-ink:var(--violet-ink);--line-soft:var(--violet-soft)}
.ip-route .st.x.xv::before{background:linear-gradient(var(--red) 0 14px,var(--violet) 14px)}
/* quote card whose line bar is the card's own top edge */
.plq.edge{overflow:hidden}
.plq.edge::before{left:0;right:0;border-radius:0}
/* panels that size to their own content */
.pnl-pair.top{align-items:start}

/* visible freshness under the answer */
.sd-upd{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:16px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.sd-upd span{display:inline-flex;align-items:center;gap:8px}
.sd-upd span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line)}

/* card titles: a plain line, one light italic word in red (never an extra heading) */
.pnl .pnl-t{margin-top:8px;max-width:none;font-size:clamp(21px,1.9vw,28px);line-height:1.06;letter-spacing:-.025em;font-weight:700;font-variation-settings:"wdth" 80;color:var(--ink)}
.pnl .pnl-t em{font-style:italic;font-weight:300;font-variation-settings:"wdth" 64;color:var(--red-ink)}

/* SAFEDATA-SSM customer service: one contact per row, never broken mid-number */
.pnl.sd-cs dl div{grid-template-columns:84px minmax(0,1fr)}
.pnl.sd-cs dd{overflow-wrap:normal}
.pnl.sd-cs dd a.nw{white-space:nowrap}
.sd-w{max-width:38em;margin-top:clamp(20px,2.4vw,30px)}
.pnl.flat p a{color:var(--red-ink);font-weight:600}

/* ---------- document page: price table + the price taken apart ---------- */
.sd-pt tbody th small{display:block;margin-top:3px;font-family:var(--display);font-size:13px;font-weight:400;color:var(--ink-2)}
.sd-split{margin:18px 0 0}
.sd-split-bar{display:flex;height:30px;border:1.5px solid var(--ink);border-radius:9px;overflow:hidden}
.sd-split-bar i{display:block;min-width:0}
.sd-split-bar i.s{background:var(--paper-hi)}
.sd-split-bar i.f{background:var(--ink);border-left:1.5px solid var(--ink)}
.sd-split figcaption{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:10px;font-size:14px;line-height:1.4;color:var(--ink-2)}
.sd-split .k{display:inline-flex;align-items:baseline;gap:8px}
.sd-split .k b{font-family:var(--mono);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.sd-split .k.s::before,.sd-split .k.f::before{content:"";flex:none;width:12px;height:12px;border-radius:3px;align-self:center;box-shadow:inset 0 0 0 1.5px var(--ink)}
.sd-split .k.s::before{background:var(--paper-hi)}
.sd-split .k.f::before{background:var(--ink)}
.sd-split .k.t b{color:var(--red-ink)}

/* the questions a document answers: a ruled list */
.sd-q{border-top:1.5px solid var(--ink);margin-top:16px}
.sd-q li{display:grid;grid-template-columns:24px minmax(0,1.15fr) minmax(0,1fr);gap:6px 14px;padding:12px 0;border-bottom:1px solid var(--rule);align-items:start}
.sd-q .ic{width:22px;height:22px;color:var(--line-ink);margin-top:1px}
.sd-q b{font-size:16px;line-height:1.38;font-weight:620;color:var(--ink);font-variation-settings:"wdth" 92}
.sd-q span{font-family:var(--mono);font-size:13px;line-height:1.5;letter-spacing:.01em;color:var(--red-ink)}

/* ROC / ROB as a two-cell sign */
.sd-reg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--board);color:var(--board-text);border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.rs-cell{position:relative;padding:20px 24px 22px;border-top:6px solid var(--red)}
.rs-cell+.rs-cell{border-left:1px dashed rgba(242,238,227,.2)}
.sd-reg:has(.on) .rs-cell:not(.on){border-top-color:rgba(242,238,227,.32)}
.rs-cell .mono{display:block;color:rgba(242,238,227,.74)}
.rs-cell b{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:clamp(22px,2vw,30px);line-height:1.05;font-weight:720;letter-spacing:-.02em;font-variation-settings:"wdth" 80}
.rs-cell b .ic{width:28px;height:28px;color:#FF9C85}
.rs-cell .d{display:block;margin-top:6px;font-size:15px;line-height:1.45;color:rgba(242,238,227,.84)}
.rs-cell .doc{display:block;margin-top:12px;font-size:15px;color:rgba(242,238,227,.84)}
.rs-cell .doc strong{color:var(--led);font-weight:600}
.rs-cell .go{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#FF9C85;text-decoration:none;font-variation-settings:"wdth" 87.5}
.rs-cell .go svg{width:13px;height:13px}
.rs-cell a.go:hover{color:var(--board-text)}
.rs-cell .go.this{height:24px;padding:0 10px;border-radius:999px;background:var(--led);color:var(--board)}

/* ---------- pillar: the hub, six lines out of it ---------- */
.sd-hub{display:grid;grid-template-columns:minmax(0,176px) minmax(0,1fr);align-items:center;margin-top:clamp(18px,2vw,26px)}
.sd-hub-core{position:relative;z-index:1;display:grid;gap:4px;padding:16px 16px 15px;border-radius:14px;background:var(--board);color:var(--board-text)}
.sd-hub-core .mono{color:rgba(242,238,227,.74)}
.sd-hub-core b{font-size:19px;line-height:1.1;font-weight:720;letter-spacing:-.01em;font-variation-settings:"wdth" 82}
.sd-hub-core .d{font-family:var(--mono);font-size:12px;color:var(--led)}
.sd-hub-core::after{content:"";position:absolute;left:100%;top:50%;width:28px;height:6px;margin-top:-3px;background:var(--line)}
.sd-hub-lines{margin-left:28px;border-top:1.5px solid var(--ink)}
.sd-hub-lines li{position:relative}
.sd-hub-lines li::before{content:"";position:absolute;left:0;top:0;bottom:-1px;width:6px;background:var(--line)}
.sd-hub-lines li:first-child::before{top:26px}
.sd-hub-lines li:last-child::before{bottom:auto;height:32px}
.sd-hub-lines li::after{content:"";position:absolute;left:0;top:26px;width:30px;height:6px;border-radius:0 3px 3px 0;background:var(--line)}
.sd-hub-lines a{display:grid;grid-template-columns:24px minmax(0,1fr) 16px;grid-template-areas:"ic t ar" "ic p ar";gap:4px 14px;align-items:start;padding:16px 4px 16px 46px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule)}
.sd-hub-lines a>.ic{grid-area:ic;width:24px;height:24px;color:var(--line-ink);margin-top:1px}
.sd-hub-lines .t{grid-area:t;min-width:0}
.sd-hub-lines .t b{display:block;font-size:clamp(18px,1.45vw,21px);line-height:1.18;font-weight:660;letter-spacing:-.012em;font-variation-settings:"wdth" 86}
.sd-hub-lines .t .d{display:block;margin-top:4px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.sd-hub-lines .p{grid-area:p;margin-top:4px;font-family:var(--mono);font-size:13px;color:var(--red-ink);font-variant-numeric:tabular-nums}
.sd-hub-lines a>svg:last-child{grid-area:ar;width:16px;height:16px;margin-top:4px;color:var(--ink-2)}
.sd-hub-lines a:hover .t b{color:var(--line-ink)}

/* who uses it: a ruled list */
.sd-who{border-top:1.5px solid var(--ink);margin-top:14px}
.sd-who li{display:grid;grid-template-columns:26px minmax(0,230px) minmax(0,1fr);gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.sd-who .ic{width:22px;height:22px;color:var(--line-ink);align-self:center}
.sd-who b{font-size:16.5px;line-height:1.3;font-weight:640;color:var(--ink);font-variation-settings:"wdth" 90}
.sd-who span{font-size:15.5px;line-height:1.45;color:var(--ink-2)}

/* sign-up, languages, products: a ruled spec */
.sd-spec dd{font-size:clamp(19px,1.6vw,24px)}
.sd-spec dd a{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--line)}

/* the price board: Business Profile as SSM's fee + fee */
.sd-fbt td.bp{color:var(--board-text)}
.sd-fbt td.ctc.bp{color:var(--led)}
.sd-fbt td.bp i{font-style:normal;margin-left:6px;font-size:12px;letter-spacing:.04em;color:rgba(242,238,227,.74)}
.fb.sd-fb{margin:0}
.sd-fb .fb-foot>span{max-width:64em;line-height:1.5}

/* ---------- comparison: CTC vs non-CTC ---------- */
.split.sd-vs>div.n{border-top-color:rgba(242,238,227,.55)}
.split.sd-vs>div.n .sp-k .ic{color:var(--board-text)}
.lt th.c-i{color:var(--ink)}
.sd-bars{margin:clamp(16px,2vw,24px) 0 0}
.cost-bars2{display:grid;gap:12px}
.cost-bars2 .cb{display:grid;grid-template-columns:minmax(150px,250px) minmax(0,1fr) minmax(92px,auto);gap:10px 16px;align-items:center}
.cost-bars2 .cb-l{font-size:15px;line-height:1.3;font-weight:620;color:var(--ink);font-variation-settings:"wdth" 90}
.cost-bars2 .cb-l small{display:block;margin-top:2px;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.cost-bars2 .cb-track{min-width:0}
.cost-bars2 .bar{display:flex;height:40px;box-sizing:border-box;border:1.5px solid var(--ink);border-radius:10px;overflow:hidden}
.cost-bars2 .bar i{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;font-style:normal;font-family:var(--mono);font-size:12.5px;white-space:nowrap}
.cost-bars2 .bar i+i{border-left:1.5px solid var(--ink)}
.cost-bars2 .bar i.s{background:var(--paper-lo);color:var(--ink)}
.cost-bars2 .bar i.x{background:var(--red-ink);color:#fff}
.cost-bars2 .bar i.f{background:var(--ink);color:var(--paper-hi)}
.cost-bars2 .bar i.f.bp{background:repeating-linear-gradient(135deg,var(--ink) 0 5px,#3B3955 5px 10px)}
.cost-bars2 .cb-t{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--ink);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.cb-key{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);font-size:14px;line-height:1.4;color:var(--ink-2)}
.cb-key span{display:inline-flex;align-items:center;gap:8px}
.cb-key i{flex:none;width:14px;height:14px;border-radius:3px;box-shadow:inset 0 0 0 1.5px var(--ink)}
.cb-key i.s{background:var(--paper-lo)}
.cb-key i.x{background:var(--red-ink)}
.cb-key i.f{background:var(--ink)}
.sd-prices{border-top:1.5px solid var(--ink);margin-top:16px}
.sd-prices div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:11px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.sd-prices dt{font-size:16px;line-height:1.35;font-weight:600;color:var(--ink);font-variation-settings:"wdth" 92}
.sd-prices dt a{color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--line)}
.sd-prices dt a:hover{color:var(--line-ink)}
.sd-prices dd{font-family:var(--mono);font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}

/* the choose step and its fork */
.sd-fork{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:0}
.fk-stop{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;padding:22px 24px;border-radius:16px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2)}
.fk-n{display:grid;place-items:center;width:52px;height:52px;box-sizing:border-box;border-radius:50%;border:5px solid var(--line);background:var(--paper-hi);font-family:var(--mono);font-size:20px;font-weight:600;color:var(--ink)}
.fk-stop .mono{display:block;color:var(--ink-2)}
.fk-stop b{display:block;margin-top:4px;font-size:clamp(22px,2vw,28px);line-height:1.05;font-weight:720;letter-spacing:-.02em;font-variation-settings:"wdth" 80}
.fk-stop p{margin-top:6px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.fk-ways{position:relative;display:grid;gap:20px;padding-left:66px}
.fk-ways::before{content:"";position:absolute;left:0;top:50%;width:36px;height:6px;margin-top:-3px;background:var(--ink)}
.fk-ways li{--lc:var(--ink);position:relative;padding:14px 18px 15px 20px;border-radius:14px;background:var(--paper-hi);box-shadow:inset 0 0 0 1px var(--rule-2)}
.fk-ways li.c{--lc:var(--red)}
.fk-ways li::before{content:"";position:absolute;left:-36px;top:50%;width:36px;height:6px;margin-top:-3px;background:var(--lc)}
.fk-ways li::after{content:"";position:absolute;left:-36px;width:6px;background:var(--lc)}
.fk-ways li:first-child::after{top:50%;bottom:-10px}
.fk-ways li:last-child::after{top:-10px;bottom:50%}
.fk-ways .mono{display:block;color:var(--ink-2)}
.fk-ways b{display:block;margin-top:2px;font-size:21px;line-height:1.1;font-weight:700;font-variation-settings:"wdth" 82}
.fk-ways li.c b{color:var(--red-ink)}
.fk-ways span:last-child{display:block;margin-top:4px;font-family:var(--mono);font-size:13px;color:var(--ink-2)}

/* ---------- comparison: Company Profile vs Business Profile ---------- */
.sd-street{position:relative}
.sd-tags{position:absolute;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}
.sd-tags span{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;background:var(--board);color:var(--board-text);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-variation-settings:"wdth" 87.5}
.sd-tags span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.sd-counter .db-head{flex-wrap:wrap}
.sd-counter-cols{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(24px,3vw,44px)}
.sd-counter-cols>div+div{padding-left:clamp(24px,3vw,44px);border-left:1px dashed rgba(242,238,227,.18)}
.sd-counter-cols .db-row:last-child{border-bottom:0}
.sd-counter .db-head b{color:var(--led)}
.sd-counter .db-row>span small{margin-bottom:3px}
.sd-counter .db-row.sub>span{padding-left:18px;font-size:14.5px}
.sd-counter .db-row.sub>b{font-size:clamp(16px,1.3vw,19px);color:var(--board-text);text-shadow:none}
.sd-scale{position:relative;display:grid;gap:8px;margin-top:12px;padding-top:14px;border-top:1px solid rgba(242,238,227,.16)}
.sd-scale div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center}
.sd-scale .mono{color:rgba(242,238,227,.74)}
.sd-scale i{display:block;height:12px;border-radius:3px;background:var(--led)}
.sd-defs{align-items:start}
.sd-two{display:grid;gap:18px}
.sd-two>div{border-top:1.5px solid var(--ink)}
.sd-two .mono{display:block;padding:10px 0 4px;color:var(--ink-2)}
.sd-two li{padding:10px 0;border-bottom:1px solid var(--rule);font-size:15.5px;line-height:1.4;font-weight:600;color:var(--ink);font-variation-settings:"wdth" 92}
.sd-two li a{color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--line)}
.sd-two li a:hover{color:var(--line-ink)}
.sd-pp tbody td.num{font-size:15.5px}

@media (max-width:980px){
  .sd-fork{grid-template-columns:minmax(0,1fr)}
  .fk-ways{margin-top:20px;padding-left:46px}
  .fk-ways::before{left:24px;top:-20px;width:6px;height:20px;margin-top:0}
  .fk-ways li::before{left:-22px;width:22px}
  .fk-ways li::after{left:-22px}
  .fk-ways li:first-child::after{top:-1px;bottom:-10px}
}
@media (max-width:760px){
  .cost-bars2 .cb{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}
  .cost-bars2 .cb-l{grid-column:1/-1}
  .cost-bars2 .bar i span{display:none}
}
@media (max-width:640px){
  /* the trail scrolls inside itself instead of wrapping with a dangling dash (round-1 design fixes) */
  :is(.ip-safedata-ssm,.ip-safedata-ssm-company-profile,.ip-ssm-ctc-vs-non-ctc,.ip-company-profile-vs-business-profile) .crumbs ol{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  :is(.ip-safedata-ssm,.ip-safedata-ssm-company-profile,.ip-ssm-ctc-vs-non-ctc,.ip-company-profile-vs-business-profile) .crumbs ol::-webkit-scrollbar{display:none}
  :is(.ip-safedata-ssm,.ip-safedata-ssm-company-profile,.ip-ssm-ctc-vs-non-ctc,.ip-company-profile-vs-business-profile) .crumbs li{flex:none}
  :is(.ip-safedata-ssm,.ip-safedata-ssm-company-profile,.ip-ssm-ctc-vs-non-ctc,.ip-company-profile-vs-business-profile) .crumbs li+li::before{width:12px;margin:0 6px 0 2px}
  .pnl.sd-cs dl div{grid-template-columns:minmax(0,1fr);gap:2px}
  .sd-q li{grid-template-columns:24px minmax(0,1fr)}
  .sd-q span{grid-column:2}
  .sd-reg{grid-template-columns:minmax(0,1fr)}
  .rs-cell+.rs-cell{border-left:0}
  .sd-hub{grid-template-columns:minmax(0,1fr)}
  .sd-hub-core{justify-self:start;min-width:200px}
  .sd-hub-core::after{left:24px;top:100%;width:6px;height:18px;margin-top:0}
  .sd-hub-lines{margin:18px 0 0 24px}
  .sd-hub-lines li:first-child::before{top:-19px}
  .sd-hub-lines a{grid-template-columns:22px minmax(0,1fr);grid-template-areas:"ic t" "ic p";padding:14px 0 14px 42px}
  .sd-hub-lines a>svg:last-child{display:none}
  .sd-who li{grid-template-columns:26px minmax(0,1fr)}
  .sd-who span{grid-column:2}
  .fb.sd-fb{padding:16px}
  .fb.sd-fb table.sd-fbt{min-width:0}
  .fb.sd-fb .sd-fbt thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .fb.sd-fb .sd-fbt,.fb.sd-fb .sd-fbt tbody{display:block}
  .fb.sd-fb .sd-fbt caption{display:block}
  .fb.sd-fb .sd-fbt tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px;padding:12px 0;border-top:1px solid rgba(242,238,227,.12)}
  .fb.sd-fb .sd-fbt td{display:block;width:auto;padding:2px 0;border-top:0;text-align:left;background:none;box-shadow:none}
  .fb.sd-fb .sd-fbt td:first-child{grid-column:1/-1;padding-bottom:6px}
  .fb.sd-fb .sd-fbt td:not(:first-child)::before{content:attr(data-label);display:block;margin-bottom:2px;font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:rgba(242,238,227,.72)}
  .fb.sd-fb .sd-fbt td.ctc::before{color:var(--led)}
  .split.sd-vs .vs{display:grid;position:relative;left:auto;top:auto;right:auto;transform:none;justify-self:center;width:74px;height:40px;margin:-20px 0;z-index:2}
  .sd-tags em{display:none}
  .sd-counter-cols{grid-template-columns:minmax(0,1fr)}
  .sd-counter-cols>div+div{padding-left:0;border-left:0;border-top:1px solid rgba(242,238,227,.16)}
  .sd-tags span{height:28px;padding:0 10px}
}

/* ---------- round 2: pillar ---------- */
.ip-safedata-ssm .ak-main .margin{max-width:646px}
.ip-safedata-ssm .ph-txt .db-strip{margin-top:22px}
.nx-wrap .nx-t{margin:0}
.sd-who1 li{grid-template-columns:26px minmax(0,1fr)}
/* the wayfinding sign with bare line icons */
.way.bare>a{grid-template-columns:28px minmax(0,1fr)}
.way.bare .wi{width:28px;height:28px;border-radius:0;background:none;color:#FF9C85}
.way.bare>a.v .wi{color:#B9B1FF}
.way.bare .wi .ic{width:26px;height:26px}
.way.bare .go{display:block}
.way.bare .go svg{display:inline-block;width:13px;height:13px;margin-left:6px;vertical-align:-1px}
/* the fee taken apart, both copies on one scale, labelled on the bars */
.sd-fee{margin:18px 0 0}
.fr-rows{display:grid;gap:10px}
.fr{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:12px;align-items:center}
.fr-l{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.fr-t{min-width:0}
.fr-bar{display:flex;height:34px;box-sizing:border-box;border:1.5px solid var(--ink);border-radius:9px;overflow:hidden}
.fr-bar i{display:flex;align-items:center;min-width:0;overflow:hidden;font-style:normal;font-family:var(--mono);font-size:12px;white-space:nowrap}
.fr-bar i.s{padding-left:10px;background:var(--paper-hi);color:var(--ink)}
.fr-bar i.f{justify-content:center;background:var(--ink);color:var(--paper-hi);border-left:1.5px solid var(--ink)}
.fr-v{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--red-ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.sd-fee figcaption{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:12px;font-size:14px;line-height:1.4;color:var(--ink-2)}
.sd-fee .k{display:inline-flex;align-items:center;gap:8px}
.sd-fee .k::before{content:"";flex:none;width:12px;height:12px;border-radius:3px;box-shadow:inset 0 0 0 1.5px var(--ink)}
.sd-fee .k.s::before{background:var(--paper-hi)}
.sd-fee .k.f::before{background:var(--ink)}

/* ---------- round 2: company profile vs business profile ---------- */
.sd-street figcaption{text-wrap:balance}
.sd-buy-row{margin-top:18px}
.sd-pbars .bar i.f{background:var(--red-ink);color:#fff}
.sd-pbars .cost-bars2 .cb{grid-template-columns:minmax(150px,250px) minmax(0,1fr)}
.sd-pbars .cb-track{display:flex;align-items:center;gap:12px}
.sd-pbars .cb-t{text-align:left}
.sd-two li.plain{color:var(--ink-2);font-weight:500}
.sd-two li.plain span{color:var(--ink-2)}
.sd-fig{font-family:var(--mono);font-weight:600;color:var(--red-ink);margin-right:6px;white-space:nowrap}
.sd-pbars .cb-key i.f{background:var(--red-ink)}
.sd-two2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(24px,3vw,44px)}
.sd-two li span{display:block;margin-top:3px;font-family:var(--mono);font-size:13px;font-weight:400;color:var(--red-ink);font-variant-numeric:tabular-nums}

@media (max-width:640px){
  .fr{grid-template-columns:68px minmax(0,1fr) auto;gap:8px}
  .fr-bar i span{display:none}
  .sd-pbars .cost-bars2 .cb{grid-template-columns:minmax(0,1fr)}
  .sd-pbars .cb-t{font-size:14px}
  .sd-two2{grid-template-columns:minmax(0,1fr)}
  .ip-company-profile-vs-business-profile .crumbs ol{-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent)}
}
.prose>.plq.edge{margin-top:22px}
.sd-upd span span::before{content:none}
.ip-company-profile-vs-business-profile .prose>.plaque{margin-top:16px}

/* ---- inner-utility.css ---- */
/* =====================================================================================
   UTILITY GROUP - faq, glossary, insights (phase 3, round 2, 19 Oct 2026)
   Appended after inner.css by build_aeo_pages.py. Adds rules only; every class here is
   this group's own (ut-*) or scoped to .ip-faq / .ip-glossary / .ip-insights.
   Line colours mean something: red = SAFEDATA-SSM, violet = Tap.It, ink = SSM / both,
   teal = the company. No declared size below 12px.
   ===================================================================================== */

/* ---------- shared: the both-lines kicker, the "updated" line, the violet station ---------- */
.ip-faq .ph-line i,.ip-glossary .ph-line i{background:linear-gradient(90deg,var(--red) 0 50%,var(--violet) 50% 100%)}
.ip-insights .ph-line i{width:42px;background:linear-gradient(90deg,var(--red) 0 33.3%,var(--ink) 33.3% 66.6%,var(--violet) 66.6% 100%)}
.ut-upd{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5;line-height:1.5}
.ut-lnv{--line:var(--violet);--line-ink:var(--violet-ink);--line-soft:var(--violet-soft)}

/* =====================================================================================
   FAQ
   ===================================================================================== */
.ip-faq .ph-t em{color:var(--red-ink)}
.ut-faq-dev{display:grid;gap:16px;align-content:start}
.ip-faq .ut-faq-dev .ph-photo img{aspect-ratio:4/5;object-fit:cover;object-position:62% 50%}
.ip-faq .ph-txt .ut-ib{margin-top:22px;max-width:36em}
/* boards on these pages are flat, like the homepage's: no soft drop shadow */
.ip-faq .ut-ib,.ip-faq .ut-regions,.ip-glossary .ut-dir{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}

/* the hero's one departure board: two lines, their counts, the next two departures each */
.ut-ib-row{position:relative;padding:14px 0 12px;border-bottom:1px dashed rgba(242,238,227,.16)}
.ut-ib-row:last-child{border-bottom:0;padding-bottom:4px}
.ut-ib-row>a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:14px;align-items:center;text-decoration:none;color:var(--board-text)}
.ut-ib-row>a i{width:34px;height:8px;border-radius:4px;background:var(--violet)}
.ut-ib-row.r>a i{background:var(--red)}
.ut-ib-row>a span{font-size:18px;line-height:1.15;font-weight:640;font-variation-settings:"wdth" 88}
.ut-ib-row>a small{display:block;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,227,.72);font-variation-settings:"wdth" 87.5;margin-bottom:2px}
.ut-ib-row>a b{font-family:var(--mono);font-weight:500;font-size:clamp(24px,2.2vw,30px);line-height:1;color:var(--led);font-variant-numeric:tabular-nums;text-shadow:0 0 16px rgba(255,194,74,.3)}
.ut-ib-row>a:hover span{text-decoration:underline;text-decoration-color:var(--led);text-underline-offset:4px}
.ut-ib-row ol{margin:8px 0 0 48px;display:grid;gap:4px}
.ut-ib-row li{position:relative;padding-left:16px}
.ut-ib-row li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;border:2px solid var(--led);box-sizing:border-box}
.ut-ib-row li a{font-size:14.5px;line-height:1.4;color:rgba(242,238,227,.86);text-decoration:none;border-bottom:1px solid rgba(242,238,227,.28)}
.ut-ib-row li a:hover{border-bottom-color:var(--led)}

/* a station: the index (sticky on wide screens, folded on phones) beside the answers */
.ut-lines{display:grid;grid-template-columns:minmax(0,236px) minmax(0,1fr);gap:clamp(28px,3.4vw,56px);align-items:start;margin-top:clamp(18px,2vw,26px)}
.ut-nav{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;scrollbar-width:thin}
.ut-nav .mono{display:block;color:var(--ink-2)}
.ut-nav ol,.ut-fold ol{position:relative;margin-top:12px}
.ut-nav ol::before,.ut-fold ol::before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:4px;border-radius:2px;background:var(--line)}
.ut-nav a,.ut-fold a{position:relative;display:block;padding:6px 0 6px 30px;font-size:14px;line-height:1.35;color:var(--ink-2);text-decoration:none}
.ut-nav a::before,.ut-fold a::before{content:"";position:absolute;left:1px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--paper-hi);border:3.5px solid var(--line);box-sizing:border-box}
.ut-nav a:hover,.ut-fold a:hover{color:var(--ink)}
.ut-nav a:hover::before,.ut-fold a:hover::before{background:var(--line)}
.ut-nav a[aria-current="true"]{color:var(--ink);font-weight:660}
.ut-nav a[aria-current="true"]::before{background:var(--line);box-shadow:inset 0 0 0 3px var(--paper-hi)}
.ut-fold{display:none}
.ut-qas{min-width:0}

/* the hand-over between the red and the violet station, drawn */
.ut-xfer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin:clamp(14px,1.6vw,20px) 0 0}
.ut-xfer svg{width:min(100%,340px);height:auto;flex:none}
.ut-xfer .lr,.ut-xfer .lv{fill:none;stroke-width:6;stroke-linecap:round}
.ut-xfer .lr{stroke:var(--red)}
.ut-xfer .lv{stroke:var(--violet)}
.ut-xfer .sr,.ut-xfer .sv{fill:var(--paper-hi);stroke-width:4}
.ut-xfer .sr{stroke:var(--red)}
.ut-xfer .sv{stroke:var(--violet)}
.ut-xfer .cap{fill:var(--paper-hi);stroke:var(--ink);stroke-width:4}
.ut-xfer .end{fill:var(--violet);stroke:var(--paper-hi);stroke-width:4}
.ut-xfer figcaption{max-width:30em;font-size:15px;line-height:1.45;color:var(--ink-2)}
.ut-xfer figcaption b{color:var(--ink);font-weight:640}

/* one question: a stop with its icon, the answer, then its object and the next stop */
.ut-qa{position:relative;padding:0 0 34px 54px}
.ut-qa::before{content:"";position:absolute;left:17px;top:4px;bottom:0;width:2px;background:var(--rule)}
.ut-qa:last-child{padding-bottom:0}
.ut-qa:last-child::before{display:none}
.ut-qi{position:absolute;left:0;top:-5px;width:36px;height:36px;border-radius:50%;background:var(--paper-hi);border:3px solid var(--line);box-sizing:border-box;display:grid;place-items:center;color:var(--line-ink)}
.ut-qi .ic{width:18px;height:18px}
.ut-qa h3{font-size:clamp(19px,1.6vw,23px);line-height:1.22;font-weight:660;letter-spacing:-.012em;font-variation-settings:"wdth" 88;max-width:32em}
.ut-qa .ut-a{margin-top:8px;max-width:38em;color:var(--ink-2);font-size:16.5px;line-height:1.6}
.ut-qa .stops4{max-width:44em}
.ut-act{margin-top:16px}
.qa-go{margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-variation-settings:"wdth" 87.5}
.qa-go a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--line);padding-bottom:2px}
.qa-go.r a{border-bottom-color:var(--red)}
.qa-go.v a{border-bottom-color:var(--violet)}
.qa-go.x a{border-bottom-color:var(--ink)}
.qa-go.t a{border-bottom-color:var(--teal-ink)}
.qa-go a svg{width:12px;height:12px;flex:none}
.qa-go a:hover{color:var(--line-ink)}

/* figures as a small board strip (LED, tabular) */
.ut-figs{margin-top:14px;max-width:38em}
.ut-figs dl{display:grid;width:100%;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));background:var(--board);border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.ut-figs dl>div{padding:10px 16px 11px;min-width:0}
.ut-figs dl>div+div{border-left:1px dashed rgba(242,238,227,.2)}
.ut-figs dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,227,.72);font-variation-settings:"wdth" 87.5;line-height:1.3}
.ut-figs dd{margin-top:3px;font-family:var(--mono);font-weight:500;font-size:clamp(16px,1.3vw,19px);color:var(--led);font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 0 14px rgba(255,194,74,.26)}
.ut-figs dd.w{font-family:var(--display);font-weight:620;font-size:clamp(15px,1.15vw,17px);color:var(--board-text);text-shadow:none;white-space:normal;font-variation-settings:"wdth" 90}
.ut-figs-note{margin-top:8px;font-size:13.5px;color:var(--ink-2);line-height:1.45}

/* the two contacts, never mixed */
.ut-contacts{margin-top:14px;max-width:44em;border-top:1.5px solid var(--ink)}
.ut-contacts>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;padding:12px 0;border-bottom:1px solid var(--rule);align-items:start}
.ut-contacts dt{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5;padding-top:3px}
.ut-contacts dt i{width:22px;height:6px;border-radius:3px;background:var(--violet);flex:none}
.ut-contacts .r dt i{background:var(--red)}
.ut-contacts dd{display:grid;gap:4px;justify-items:start}
.ut-contacts dd a{font-size:16px;font-weight:620;color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums;border-bottom:1.5px solid var(--violet)}
.ut-contacts .r dd a{border-bottom-color:var(--red)}

/* where the kiosks with SSM services are: a small region board */
.ut-regions{margin-top:14px;max-width:440px}
.ut-regions a.db-row{text-decoration:none;color:var(--board-text)}
.ut-regions a.db-row:hover>span{text-decoration:underline;text-decoration-color:var(--led);text-underline-offset:4px}
.ut-regions .db-row>b{font-size:clamp(18px,1.6vw,22px)}

/* payment modes */
.ut-pay{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:36em;margin-top:14px;border-top:1.5px solid var(--ink)}
.ut-pay li{display:flex;align-items:center;gap:10px;padding:12px 14px 12px 0;border-bottom:1px solid var(--rule);font-size:15.5px;font-weight:620;font-variation-settings:"wdth" 90}
.ut-pay li+li{padding-left:14px;border-left:1px solid var(--rule)}
.ut-pay .ic{color:var(--line-ink)}

/* =====================================================================================
   GLOSSARY
   ===================================================================================== */
.ut-az.azline{display:grid;grid-template-columns:repeat(var(--n,13),minmax(0,48px));gap:0;margin-top:clamp(18px,2vw,26px)}
.ut-az.azline a{width:auto;height:48px}
.ut-az.azline a span{width:min(36px,100%);height:auto;aspect-ratio:1;font-size:15px}
.ut-az.azline a:first-child::before{left:50%}
.ut-az.azline a:last-child::before{right:50%}
.ip-glossary .ut-upd{margin-top:14px}

/* the directory board: a line dot before every term, a key at its foot */
.ut-dir .dir-row>span{display:flex;flex-wrap:wrap;gap:4px 16px}
.ut-dir .dir-row a{display:inline-flex;align-items:center;gap:7px}
.ut-dir .dir-row a::before{content:"";width:9px;height:9px;border-radius:50%;flex:none;border:2.5px solid #A79DFF;box-sizing:border-box}
.ut-dir .dir-row a.r::before{border-color:#FF8A70}
.ut-dir .dir-row a.k::before{border-color:var(--board-text)}
.ut-key{position:relative;display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(242,238,227,.16);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,227,.74)}
.ut-key span{display:inline-flex;align-items:center;gap:8px}
.ut-key span::before{content:"";width:9px;height:9px;border-radius:50%;border:2.5px solid #A79DFF;box-sizing:border-box}
.ut-key .r::before{border-color:#FF8A70}
.ut-key .k::before{border-color:var(--board-text)}

/* the terms: one ruled row each, the term column tagged with its line */
.ut-gl{margin-top:clamp(14px,1.6vw,22px)}
/* a row: term | definition | source and "See" links (the third column fills the row's width) */
.ut-term{--tc:var(--ink);--tci:var(--ink);display:grid;grid-template-columns:minmax(0,240px) minmax(0,38em) minmax(0,1fr);gap:14px clamp(22px,2.6vw,44px);padding:24px 0 26px;border-top:1px solid var(--rule)}
.ut-gl>:first-child{border-top:1.5px solid var(--ink)}
.ut-term.r{--tc:var(--red);--tci:var(--red-ink)}
.ut-term.v{--tc:var(--violet);--tci:var(--violet-ink)}
.ut-tc{min-width:0}
.ut-tc>.ic{width:30px;height:30px;color:var(--tci)}
.ut-tc h3{margin-top:10px;font-size:clamp(21px,1.75vw,27px);line-height:1.08;letter-spacing:-.02em;font-weight:720;font-variation-settings:"wdth" 80}
.ut-tc h3 dfn{font-style:normal}
.ut-tc>small{display:block;margin-top:6px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5;line-height:1.45}
.ut-tag{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--tci);font-variation-settings:"wdth" 87.5}
.ut-tag i{width:13px;height:13px;border-radius:50%;border:3.5px solid var(--tc);background:var(--paper-hi);box-sizing:border-box}
.ut-chip{display:block;width:100%;max-width:240px;margin-top:12px;padding:8px 12px 9px;border-radius:10px;background:var(--board);font-family:var(--mono);font-size:14px;letter-spacing:-.01em;font-weight:500;color:var(--led);font-variant-numeric:tabular-nums;line-height:1.3}
.ut-chip small{display:block;margin-top:2px;font-family:var(--display);font-size:12.5px;font-weight:400;color:rgba(242,238,227,.78);letter-spacing:0;line-height:1.35}
.ut-chipnote{display:block;max-width:240px;margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);line-height:1.45;font-variation-settings:"wdth" 87.5}
.ut-td{min-width:0}
.ut-td p{color:var(--ink-2);font-size:16.5px;line-height:1.6}
.ut-td p+p{margin-top:10px}
.ut-td .ut-def{color:var(--ink);font-size:17.5px;line-height:1.5;font-weight:500}
.ut-ta{min-width:0;padding-top:4px}
.ut-src{font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.ut-see{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:12px}
.ut-see .see{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--violet);padding-bottom:2px;font-variation-settings:"wdth" 87.5}
.ut-see .see.r{border-bottom-color:var(--red)}
.ut-see .see.x{border-bottom-color:var(--ink)}
.ut-see .see.t{border-bottom-color:var(--teal-ink)}
.ut-see .see svg{width:12px;height:12px;flex:none}
.ut-see .see:hover{color:var(--tci)}
/* two terms face to face: CTC / Non-CTC and ROB / ROC, the comparison page on the seam */
.ut-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0 clamp(18px,2.4vw,36px);padding:24px 0 26px;border-top:1px solid var(--rule)}
.ut-pair .ut-term{display:block;padding:0;border-top:0}
.ut-pair .ut-td{margin-top:14px}
.ut-pair .ut-td p{max-width:36em}
.ut-pair .ut-ta{margin-top:12px}
.ut-pair .ut-see{flex-direction:row;flex-wrap:wrap}
.ut-vs{align-self:start;display:grid;justify-items:center;gap:10px;margin-top:6px;text-decoration:none;color:var(--ink)}
.ut-vs b{display:grid;place-items:center;width:46px;height:74px;border-radius:999px;border:4px solid var(--ink);background:var(--paper-hi);box-sizing:border-box;font-family:var(--mono);font-size:13px;font-weight:600}
.ut-vs span{display:grid;justify-items:center;gap:4px;max-width:8.5em;text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;line-height:1.4;font-variation-settings:"wdth" 87.5;border-bottom:2px solid var(--red);padding-bottom:3px}
.ut-vs span svg{width:12px;height:12px}
.ut-vs:hover b{background:var(--ink);color:var(--paper-hi)}
/* the directory in two columns, so the board ends near the title column */
@media (min-width:981px){
  .ut-dir-rows{columns:2;column-gap:28px}
  .ut-dir-rows .dir-row{break-inside:avoid}
  .ut-dir-rows .dir-row:last-child{border-bottom:1px dashed rgba(242,238,227,.16);padding-bottom:10px}
}

/* =====================================================================================
   INSIGHTS (hub)
   ===================================================================================== */
.ip-insights .ut-ans{padding-top:0}
.ip-insights .ph-t{max-width:13ch}

/* the network map: three lines on one grid; capsules where two lines share a station */
.ut-nm{--rh:182px;--rg:26px;position:relative;margin-top:clamp(30px,3.6vw,56px);display:grid;row-gap:var(--rg);padding:clamp(18px,2vw,28px) clamp(18px,2vw,30px) clamp(16px,1.8vw,24px);background:var(--paper-hi);border-radius:20px;box-shadow:inset 0 0 0 1px var(--rule-2)}
.ut-nm-row{--lc:var(--violet);position:relative;height:var(--rh)}
.ut-nm-row.r{--lc:var(--red)}
.ut-nm-row.x{--lc:var(--ink)}
.ut-nm-name{display:flex;align-items:baseline;gap:12px;height:30px;padding-left:40px}
.ut-nm-name .mono{color:var(--ink-2)}
.ut-nm-name b{font-size:clamp(18px,1.5vw,22px);line-height:1;font-weight:720;letter-spacing:-.02em;font-variation-settings:"wdth" 80}
/* columns: the two interchange columns (1 and 9) are wider, so their labels clear the capsule */
.ut-nm-row ol{position:relative;display:grid;grid-template-columns:14% repeat(7,minmax(0,1fr)) 14%;margin-top:8px}
.ut-nm-row ol::before{content:"";position:absolute;top:9px;left:0;right:calc(14% - 22px);height:6px;border-radius:0 3px 3px 0;background:var(--lc)}
.ut-nm-row li{position:relative;grid-row:1;grid-column:var(--c);padding:32px 12px 0 0;min-width:0}
.ut-nm-row a{display:block;text-decoration:none;color:var(--ink)}
.ut-nm-row a::before{content:"";position:absolute;top:2px;left:0;width:20px;height:20px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--lc);box-sizing:border-box;transition:background-color .25s}
.ut-nm-row a:hover::before{background:var(--lc)}
.ut-nm-row a b{display:block;font-size:clamp(14px,1.08vw,15.5px);line-height:1.25;font-weight:640;font-variation-settings:"wdth" 86;overflow-wrap:break-word}
.ut-nm-row a small{display:block;margin-top:3px;font-size:13px;line-height:1.35;color:var(--ink-2)}
.ut-nm-row a:hover b{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lc);text-underline-offset:3px}
/* an interchange: one capsule spans from this line to the next; both rings give way to it */
.ut-nm-row li.cap a::before{display:none}
.ut-nm-row li.cap{padding-left:36px}
.ut-nm-row li.cap-top::after{content:"";position:absolute;z-index:1;left:-3px;top:-1px;width:28px;height:calc(var(--rh) + var(--rg) + 26px);border-radius:999px;background:var(--paper-hi);border:4px solid var(--ink);box-sizing:border-box;pointer-events:none}
@media (min-width:1200px){
  .ut-nm-row:has(li.c9.cap) ol::before{right:12px}
  .ut-nm-row li.c9.cap{padding:32px 36px 0 0;text-align:right}
  .ut-nm-row li.c9.cap-top::after{left:auto;right:-3px}
}
.ut-nm-foot{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--rule)}
.ut-nm-key,.ut-nm-reg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.ut-nm-key{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:18px;row-gap:6px}
.ut-nm-key .mono{color:var(--ink-2);padding-top:3px}
.ut-nm-key>span:not(.mono){grid-column:2;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2);line-height:1.4}
.ut-nm-key i{width:12px;height:22px;flex:none;border-radius:999px;border:3px solid var(--ink);background:var(--paper-hi);box-sizing:border-box}
.ut-nm-reg .mono{color:var(--ink-2)}
.ut-nm-reg a{font-size:15px;font-weight:620;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--violet)}

/* start here: the three overviews as a ruled list, each on its line */
.ut-start{display:grid;margin-top:clamp(18px,2vw,26px);border-top:1.5px solid var(--ink)}
.ut-start>a{--lc:var(--violet);--li:var(--violet-ink);display:grid;grid-template-columns:28px minmax(0,44em) auto;justify-content:start;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.ut-start>a.r{--lc:var(--red);--li:var(--red-ink)}
.ut-start>a.x{--lc:var(--ink);--li:var(--ink)}
.ut-si{width:28px;height:28px;display:grid;place-items:center;color:var(--li)}
.ut-si .ic{width:28px;height:28px}
.ut-start b{display:block;font-size:clamp(20px,1.9vw,28px);line-height:1.1;letter-spacing:-.02em;font-weight:700;font-variation-settings:"wdth" 80}
.ut-start>a>span>span{display:block;margin-top:6px;max-width:44em;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.ut-start>a>svg,.ut-qa2>a>svg{width:18px;height:18px;color:var(--li,var(--ink));transition:transform .25s var(--ease)}
.ut-start>a:hover b{color:var(--li)}
.ut-start>a:hover>svg,.ut-qa2>a:hover>svg{transform:translate(3px,-3px)}

/* the guides grid: update_hub.py clones the first card; the featured card spans the row */
.ip-insights .ut-lede{margin-top:clamp(14px,1.6vw,20px);max-width:44em;font-size:16px;line-height:1.6;color:var(--ink-2)}
.ip-insights .ut-lede a{color:var(--ink);text-decoration-color:var(--line);text-underline-offset:3px}
.ip-insights .ut-grid>article>a{--lc:var(--red);--lk:var(--red-ink);display:flex;flex-direction:column;border-radius:12px;border-top:5px solid var(--lc);box-shadow:inset 0 0 0 1px var(--rule-2)}
/* the line each guide rides, read from its link: SSM services at the kiosk (ink), Tap.It (violet), else SAFEDATA-SSM */
.ip-insights .ut-grid>article>a:is([href*="renew"],[href*="compound"],[href*="ssm4u"]){--lc:var(--ink);--lk:var(--ink)}
.ip-insights .ut-grid>article>a:is([href*="kiosk-as-a-service"],[href*="self-service-kiosk"]){--lc:var(--violet);--lk:var(--violet-ink)}
.ip-insights .ut-line{display:block;padding:14px 18px 0;font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--lk);font-variation-settings:"wdth" 87.5}
.ip-insights .ut-line::before{content:"SAFEDATA-SSM"}
.ip-insights .ut-grid>article>a:is([href*="renew"],[href*="compound"],[href*="ssm4u"]) .ut-line::before{content:"SSM at the kiosk"}
.ip-insights .ut-grid>article>a:is([href*="kiosk-as-a-service"],[href*="self-service-kiosk"]) .ut-line::before{content:"Tap.It"}
.ip-insights .ut-grid>article:first-child .ut-line::after{content:" · Start here";color:var(--ink-2)}
.ip-insights .ut-grid>article h3{padding:6px 18px 0}
.ip-insights .ut-grid>article time{padding:8px 18px 0}
.ip-insights .ut-grid>article p{padding:8px 18px 0}
.ip-insights .ut-go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding:14px 18px 18px;font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--lk);font-variation-settings:"wdth" 87.5}
.ip-insights .ut-go::after{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.ip-insights .ut-grid>article>a:hover .ut-go{text-decoration:underline;text-underline-offset:3px}
.ip-insights .ut-grid>article:first-child>a{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:1fr repeat(6,auto) 1fr;align-items:start}
.ip-insights .ut-grid>article:first-child>a>img{grid-column:1;grid-row:1 / -1;align-self:stretch}
.ip-insights .ut-grid>article:first-child>a>:not(img){grid-column:2;padding-left:26px;padding-right:26px}
.ip-insights .ut-grid>article:first-child .ut-line{grid-row:2;padding:24px 26px 0}
.ip-insights .ut-grid>article:first-child>a>span[data-hub-tag]{grid-row:3}
.ip-insights .ut-grid>article:first-child h3{grid-row:4;padding:8px 26px 0}
.ip-insights .ut-grid>article:first-child time{grid-row:5;padding:10px 26px 0}
.ip-insights .ut-grid>article:first-child p{grid-row:6;padding:10px 26px 0;font-size:15.5px;max-width:30em}
.ip-insights .ut-grid>article:first-child .ut-go{grid-row:7;align-self:start;margin-top:0;padding:14px 26px 24px}
.ut-grid span[data-hub-tag]{display:block;padding:16px 18px 0;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
.ut-grid span[data-hub-tag]+h3{padding-top:6px}

/* quick answers: the FAQ and the glossary, two ruled rows with their icons */
.ut-qa2{display:grid;margin-top:clamp(18px,2vw,26px);border-top:1.5px solid var(--ink)}
.ut-qa2>a{display:grid;grid-template-columns:28px minmax(0,44em) auto;justify-content:start;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);--lc:var(--ink);--li:var(--ink)}
.ut-qa2 .mono{display:block;color:var(--ink-2)}
.ut-qa2 b{display:block;margin-top:4px;font-size:clamp(22px,2vw,30px);line-height:1.05;letter-spacing:-.025em;font-weight:720;font-variation-settings:"wdth" 78}
.ut-qa2 b em{font-style:italic;font-weight:300;font-variation-settings:"wdth" 62}
.ut-qa2>a>span>span:last-child{display:block;margin-top:8px;max-width:44em;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.ut-way{margin-top:clamp(22px,2.6vw,34px)}
.ip-insights .ut-way .way{box-shadow:none}
.ip-insights .ut-way .way .wi{width:28px;height:28px;border-radius:0;background:none;color:#C9C2FF}
.ip-insights .ut-way .way>a.r .wi{color:#FF9C85}
.ip-insights .ut-way .way .wi .ic{width:28px;height:28px}
/* "Where to go from here": each stop on its own line (Tap.It violet, the company teal, contact ink) */
.ip-insights .nx li:nth-child(-n+2){--line:var(--violet);--line-ink:var(--violet-ink)}
.ip-insights .nx li:nth-child(3){--line:var(--teal-ink);--line-ink:#066B65}
.ip-insights .nx li:nth-child(4){--line:var(--ink);--line-ink:var(--ink)}

/* =====================================================================================
   ARTICLE TEMPLATE (article-template.html): the answer wrapper, the labelled date line,
   the side rail's two routes kept apart (documents online; SSM services at a kiosk)
   ===================================================================================== */
.ar-answer{padding:4px 0 4px 22px;border-left:6px solid var(--line)}
.ar-answer>p{margin:0}
.ar-meta a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule)}
.ar-meta a:hover{color:var(--ink);border-bottom-color:var(--line)}
.ar-meta time{color:var(--ink)}
/* the side rail's two routes, one card, never mixed: documents online (red) | SSM services at a kiosk (violet) */
.ip-rail .rail-card.ut-routes{margin-top:18px;padding:0;overflow:hidden}
.ip-article .ip-rail .ak-toc__list a{padding-top:5px;padding-bottom:5px}
.ip-article .ip-rail .ak-toc__list a::after{top:7px}
.ut-routes>div{position:relative;padding:16px 16px 14px}
.ut-routes>div::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--red)}
.ut-routes>div.k::before{background:var(--violet)}
.ut-routes>div+div{border-top:1px dashed rgba(242,238,227,.2)}
.ip-rail .ut-routes b{font-size:16px}
.ip-rail .ut-routes p{margin-top:6px;font-size:13.5px;line-height:1.45;color:rgba(242,238,227,.82)}
.ip-rail .ut-routes a.lk{display:inline-block;margin-top:10px;font-weight:600;text-decoration:none;border-bottom:1.5px solid #A79DFF}
/* article body: a reading measure under 100 characters a line; FAQ questions read as headings */
.ip-article .ar-body{max-width:41em}
.ip-article .ar-body .faq summary{font-size:clamp(17.5px,1.5vw,21px);color:var(--ink)}
/* a solid button inside the body keeps white text (".ar-body a" would paint it the button's own colour) */
.ip-article .ar-body a.btn{text-decoration:none}
.ip-article .ar-body a.btn:not(.ghost){color:#fff}
/* FAQ questions are <h3> inside <summary>: they take the summary's own type */
.ip-article .ar-body .faq summary h3{margin:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit}
.ip-article .ar-body .faq summary h3::before{display:none}
/* the closing "Next stop" card: its buttons wrap (the landing page keeps its own cta row on one line on phones) */
.ip-article .ar-body .cta-row{flex-wrap:wrap;gap:10px}
/* tables: words take the room, figure columns shrink to their figures */
.ip-article .ar-body .ak-table table{width:100%;table-layout:auto}
.ip-article .ar-body .ak-table :is(th,td){white-space:normal}
.ip-article .ar-body>.ar-tbl{margin-top:1.4em}
.ip-article .ar-body .ar-tbl>.ak-table{margin-top:0}
.ip-article .ar-body .ak-table :is(th,td).ak-num{white-space:nowrap}
.ip-article .ar-body .ak-table th.ak-num{white-space:normal;min-width:5.5em}
.ip-article .ar-body .ak-table :is(td.ak-long,td.ak-price){white-space:normal}
.ip-article .ar-body .ak-table :is(.ak-num,.ak-price){font-family:var(--mono);font-variant-numeric:tabular-nums}
@media (min-width:641px){
  /* a table fits its column on laptop and wide screens (the kit's min-width is for phones) */
  .ip-article .ar-body .ak-table>table{min-width:100%}
  .ip-article .ar-body .ak-table td:first-child{min-width:9em}
}
/* the hero's "Illustrative image" credit as the small label the other pages use */
.ip-article .ar-hero figcaption small{display:block;margin-top:3px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}

/* ---- article body components (build-notes/ARTICLE-COMPONENTS.md), drawn only inside .ar-body ---- */
/* the reading measure: text at the system's 38em; tables, boxes and exhibits keep the wider body box */
.ip-article .ar-body>:is(p,ul,ol,blockquote){max-width:38em}
.ip-article .ar-body>ol.ar-stations{max-width:none}
/* plaque and ruled spec block */
.ip-article :is(.ar-body,.ar-head) .plaque{max-width:38em}
.ip-article :is(.ar-body,.ar-head) .spec4 dd{font-family:var(--mono);font-weight:500;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink)}
.ip-article :is(.ar-body,.ar-head) .spec4 dd small{font-family:var(--display);font-variant-numeric:normal}
/* proportional cost bars */
.ip-article :is(.ar-body,.ar-head) .ar-bars .cost-bars{margin-top:0}
.ip-article :is(.ar-body,.ar-head) .ar-bars .bar{min-width:0}
.ip-article :is(.ar-body,.ar-head) .ar-bars .bar i{padding:0 8px}
/* a short line of stations */
.ip-article :is(.ar-body,.ar-head) ol.ar-stations{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:0;margin-top:1.4em}
.ip-article :is(.ar-body,.ar-head) ol.ar-stations>li{position:relative;margin:0;padding:34px 16px 0 0;counter-increment:none}
.ip-article :is(.ar-body,.ar-head) ol.ar-stations>li::before{content:"";display:block;position:absolute;top:10px;left:0;right:0;width:auto;height:6px;border:0;border-radius:0;background:var(--line)}
.ip-article :is(.ar-body,.ar-head) ol.ar-stations>li:last-child::before{right:auto;width:22px;border-radius:0 3px 3px 0}
.ip-article :is(.ar-body,.ar-head) ol.ar-stations>li::after{content:"";position:absolute;top:2px;left:0;width:22px;height:22px;border-radius:50%;background:var(--paper-hi);border:4px solid var(--line);box-sizing:border-box}
.ip-article :is(.ar-body,.ar-head) ol.ar-stations>li.end::after{background:var(--line);box-shadow:inset 0 0 0 3px var(--paper-hi)}
.ip-article :is(.ar-body,.ar-head) ol.ar-stations b{display:block;font-size:17px;line-height:1.25;font-weight:660;color:var(--ink);font-variation-settings:"wdth" 88}
.ip-article :is(.ar-body,.ar-head) ol.ar-stations span{display:block;margin-top:4px;font-size:15px;line-height:1.45;color:var(--ink-2)}
/* the wayfinding sign */
.ip-article :is(.ar-body,.ar-head) .way{margin-top:1.6em}
.ip-article :is(.ar-body,.ar-head) .way>a{color:var(--board-text);text-decoration:none;font-weight:inherit}
.ip-article :is(.ar-body,.ar-head) .way b{color:var(--board-text)}
/* a drawn document specimen: field names on a plain sheet, every value a blank line */
.ip-article :is(.ar-body,.ar-head) .ar-doc{margin:1.8em 0}
.ar-doc__sheet{position:relative;width:min(100%,480px);background:#FBFAF7;border-radius:8px;padding:26px 26px 22px;box-shadow:inset 0 0 0 1px var(--rule),0 22px 44px -36px rgba(21,19,43,.5)}
.ar-doc__sheet::before{content:"";position:absolute;left:26px;right:26px;top:0;height:5px;border-radius:0 0 4px 4px;background:var(--line)}
.ip-article :is(.ar-body,.ar-head) .ar-doc__title{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);max-width:none}
.ip-article :is(.ar-body,.ar-head) .ar-doc__sub{margin-top:4px;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.ar-doc__sheet dl{margin-top:16px;border-top:1.5px solid var(--ink)}
.ar-doc__sheet dl>div{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:14px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--rule)}
.ar-doc__sheet dt{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);line-height:1.35;font-variation-settings:"wdth" 87.5}
.ar-doc__sheet dd{font-size:14px;color:var(--ink-2)}
.ar-doc__sheet dd:empty{height:9px;width:88%;border-radius:5px;background:var(--paper-lo)}
.ar-doc__sheet dl>div:nth-child(3n+2) dd:empty{width:64%}
.ar-doc__sheet dl>div:nth-child(3n) dd:empty{width:76%}
/* an inline figure */
.ip-article :is(.ar-body,.ar-head) .ar-fig img{aspect-ratio:16/9;object-fit:cover;background:var(--paper-lo)}
.ip-article :is(.ar-body,.ar-head) figcaption small{display:block;margin-top:3px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-variation-settings:"wdth" 87.5}
/* a ruled list with icons */
.ip-article .ar-body ul.ticks{display:grid;gap:10px;margin-top:1em}
.ip-article .ar-body ul.ticks>li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding-left:0;margin:0}
.ip-article .ar-body ul.ticks>li::before{display:none}
.ip-article .ar-body ul.ticks .ic{color:var(--line-ink);margin-top:3px}
/* SAFEDATA-SSM customer service panel */
.ip-article :is(.ar-body,.ar-head) .pnl{margin-top:1.6em;max-width:38em}
.ip-article :is(.ar-body,.ar-head) .pnl .pnl-h{margin-top:8px;font-size:clamp(22px,2vw,30px);line-height:1.05;letter-spacing:-.025em;font-weight:700;font-variation-settings:"wdth" 80;color:var(--ink)}
.ip-article :is(.ar-body,.ar-head) .pnl .pnl-h b{color:var(--red-ink)}
.ip-article :is(.ar-body,.ar-head) .pnl dd a{color:var(--ink)}
/* changing lines */
.ar-xfer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.ip-article :is(.ar-body,.ar-head) .ar-xfer{margin:1.8em 0 0}
.ar-xfer svg{width:min(100%,340px);height:auto;flex:none}
.ar-xfer .lr,.ar-xfer .lv{fill:none;stroke-width:6;stroke-linecap:round}
.ar-xfer .lr{stroke:var(--red)}
.ar-xfer .lv{stroke:var(--violet)}
.ar-xfer .sr,.ar-xfer .sv{fill:var(--paper-hi);stroke-width:4}
.ar-xfer .sr{stroke:var(--red)}
.ar-xfer .sv{stroke:var(--violet)}
.ar-xfer .cap{fill:var(--paper-hi);stroke:var(--ink);stroke-width:4}
.ar-xfer .end{fill:var(--violet);stroke:var(--paper-hi);stroke-width:4}
.ip-article :is(.ar-body,.ar-head) .ar-xfer figcaption{margin:0;max-width:30em;font-size:15px;line-height:1.45;color:var(--ink-2)}
.ar-xfer figcaption b{color:var(--ink);font-weight:640}
/* plaque values at body size and weight; the figure in a value is the bold (<b>) */
.ip-article .ar-body .plaque dd{font-size:inherit;font-weight:400;line-height:1.5;color:var(--ink);font-variation-settings:normal}
.ip-article .ar-body .plaque dd :is(b,strong){font-weight:640}
/* flat boards: cards sit on a hairline edge with their line-coloured bar, never on a soft drop shadow */
.ip-article :is(.ar-body,.ar-head) :is(.note-card,.pnl,.ar-doc__sheet){box-shadow:inset 0 0 0 1px var(--rule-2)}
.ip-article .ar-body .note-card{border-radius:10px}
.ip-article :is(.ar-body,.ar-head) .way{box-shadow:none}
.ip-article .ar-body blockquote{box-shadow:inset 4px 0 0 var(--line),inset 0 0 0 1px var(--rule-2)}
.ip-article :is(.ar-hero,.ar-photo) img{box-shadow:none}
/* numbered lists past nine: the ring becomes a capsule, so "10" to "13" stay inside it */
.ip-article .ar-body ol:not(.ar-stations):has(>li:nth-child(10))>li{padding-left:48px}
.ip-article .ar-body ol:not(.ar-stations)>li:nth-child(n+10)::before{width:auto;min-width:28px;padding:0 6px;border-radius:14px;font-size:12px}
/* a closing card with three buttons: one stack of equal buttons, never a third button orphaned on its own row */
.ip-article .ar-body .cta-row:has(>.btn:nth-child(3)){display:grid;grid-template-columns:minmax(0,1fr);width:fit-content;max-width:100%}
.ip-article .ar-body .cta-row:has(>.btn:nth-child(3))>.btn{justify-content:center}
/* the head: the photo (or the guide's own head object) runs as tall as the answer column, so both end together */
@media (min-width:981px){
  .ip-article .ph-grid:has(>.ar-hero){align-items:stretch}
  .ip-article .ar-hero{display:flex;flex-direction:column}
  .ip-article .ar-hero img{flex:1 0 auto;max-height:620px}
  .ip-article .ph-grid>.ar-head{align-self:center}
}
.ip-article .ph-grid>.ar-head{min-width:0}
.ip-article .ph-grid>.ar-head>:first-child{margin-top:0}
.ip-article .ar-head figcaption{margin-top:10px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.ip-article .ar-body .ar-photo img{border-radius:14px}
/* "Read next": the column count follows the card count, so no row leaves a dead cell */
.ip-article .ar-related:has(>:last-child:nth-child(odd)){grid-template-columns:minmax(0,1fr)}
.ip-article .ar-related:has(>:last-child:nth-child(odd)) .related-card{padding-left:0;border-left:0}
@media (min-width:641px){
  .ip-article .ar-related:has(>:last-child:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
  .ip-article .ar-related:has(>:last-child:nth-child(3)) .related-card{padding-right:18px}
  .ip-article .ar-related:has(>:last-child:nth-child(3)) .related-card:not(:first-child){padding-left:22px;border-left:1px solid var(--rule)}
}

/* =====================================================================================
   RESPONSIVE
   ===================================================================================== */
@media (max-width:1320px){
  .ut-nm{--rh:200px}
}
@media (max-width:1239px){
  .ut-term{grid-template-columns:minmax(0,240px) minmax(0,1fr)}
  .ut-term>.ut-ta{grid-column:2;padding-top:0}
  .ut-term .ut-see{flex-direction:row;flex-wrap:wrap;gap:8px 20px}
}
@media (max-width:1199px){
  /* the map: one vertical line per line, its stops down it */
  .ut-nm{row-gap:22px}
  .ut-nm-row{height:auto}
  .ut-nm-row ol{display:block;margin-top:10px}
  .ut-nm-row ol::before{top:10px;bottom:14px;left:8px;right:auto;width:4px;height:auto;border-radius:2px}
  .ut-nm-row li{padding:0 0 14px 36px}
  .ut-nm-row li:last-child{padding-bottom:0}
  .ut-nm-row a::before{top:1px}
  .ut-nm-row li.cap{padding-left:36px}
  .ut-nm-row li.cap a::before{display:block;left:2px;top:-3px;width:16px;height:30px;border-radius:999px;border:3.5px solid var(--ink);background:var(--paper-hi)}
  .ut-nm-row li.cap-top::after{display:none}
  .ut-nm-row a b{font-size:16px}
  .ut-nm-row a small{font-size:13.5px}
}
@media (min-width:641px) and (max-width:1199px){
  .ut-nm{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px}
  .ut-nm-foot{grid-column:1 / -1}
  .ut-nm-name{flex-direction:column;gap:4px;height:auto;padding-left:0}
}
@media (max-width:980px){
  .ut-lines{grid-template-columns:minmax(0,1fr);gap:20px}
  .ut-nav{display:none}
  .ut-fold{display:block;background:var(--paper-hi);border-radius:14px;box-shadow:inset 0 0 0 1px var(--rule)}
  .ut-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;cursor:pointer;list-style:none}
  .ut-fold>summary::-webkit-details-marker{display:none}
  .ut-fold>summary .mono{color:var(--ink-2)}
  .ut-fold>summary b{display:inline-flex;align-items:center;gap:10px;font-size:15.5px;font-weight:640;font-variation-settings:"wdth" 90}
  .ut-fold>summary b::after{content:"";width:9px;height:9px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translate(-2px,-2px)}
  .ut-fold[open]>summary b::after{transform:rotate(-135deg) translate(-2px,-2px)}
  .ut-fold ol{margin:0 18px 14px}
  .ut-term{grid-template-columns:minmax(0,1fr);gap:10px}
  .ut-term>.ut-ta{grid-column:1}
  .ut-pair{grid-template-columns:minmax(0,1fr)}
  .ut-vs{grid-auto-flow:column;justify-content:start;align-items:center;margin:20px 0}
  .ut-vs b{width:74px;height:40px}
  .ut-vs span{max-width:none;display:inline-flex;align-items:center}
  .ip-faq .ut-faq-dev .ph-photo img{aspect-ratio:16/10}
  .ut-tc{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:start}
  .ut-tc>.ic{grid-row:1 / span 2;margin-top:4px}
  .ut-tc h3{margin-top:0}
  .ut-tc>small,.ut-tag,.ut-chip,.ut-chipnote{grid-column:2}
  .ip-insights .ut-grid>article:first-child>a{display:flex;flex-direction:column}
  .ip-insights .ut-grid>article:first-child>a>:not(img){padding-left:18px;padding-right:18px}
  .ip-insights .ut-grid>article:first-child .ut-line{padding-top:14px}
  .ip-insights .ut-grid>article:first-child :is(.ut-line,.ut-go){padding-left:18px;padding-right:18px}
}
@media (max-width:640px){
  .ut-qa{padding-left:46px;padding-bottom:28px}
  .ut-qa::before{left:15px}
  .ut-qi{width:32px;height:32px;top:-3px}
  .ut-qi .ic{width:16px;height:16px}
  .ut-qa h3{font-size:18px;line-height:1.25}
  .ut-qa .ut-a{font-size:15.5px}
  /* phones: each cell stacks its label over its value; a value never runs past the board */
  .ut-figs dl{grid-template-columns:minmax(0,1fr)}
  .ut-figs dl>div{padding:9px 14px 10px}
  .ut-figs dl>div+div{border-left:0;border-top:1px dashed rgba(242,238,227,.2)}
  .ut-figs dd{white-space:normal;overflow-wrap:anywhere}
  .ut-contacts>div{grid-template-columns:minmax(0,1fr)}
  .ut-pay{grid-template-columns:minmax(0,1fr)}
  .ut-pay li+li{padding-left:0;border-left:0}
  .ut-ib-row ol{margin-left:0}
  .ut-ib-row li a{font-size:14px}
  /* phones: all thirteen letters on one row, nothing hidden */
  .ut-az.azline{grid-template-columns:repeat(var(--n,13),minmax(0,1fr))}
  .ut-az.azline a{height:36px;font-size:12px}
  .ut-az.azline a span{width:min(26px,100%);border-width:3px;font-size:12px}
  .ut-td p{font-size:15.5px}
  .ut-td .ut-def{font-size:16.5px}
  .ut-tc h3{font-size:21px}
  .ut-nm{padding:16px 16px 14px}
  .ut-start>a,.ut-qa2>a{grid-template-columns:28px minmax(0,1fr);gap:14px;align-items:start}
  .ut-start>a>svg,.ut-qa2>a>svg{display:none}
  .ut-si{width:28px;height:28px;margin-top:2px}
  .ut-si .ic{width:24px;height:24px}
  .ip-insights .ut-grid>article:first-child p{font-size:14.5px}
  .ip-insights .ut-grid>article:first-child .ut-go{padding-bottom:18px}
  .qa-go a{display:inline;border-bottom:0;padding-bottom:0;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--line);line-height:1.9}
  .qa-go.r a{text-decoration-color:var(--red)}
  .qa-go.v a{text-decoration-color:var(--violet)}
  .qa-go.x a{text-decoration-color:var(--ink)}
  .qa-go.t a{text-decoration-color:var(--teal-ink)}
  .qa-go a svg{display:inline-block;vertical-align:-1px;margin-left:4px}
}
@media (max-width:640px){
  .ip-article :is(.ar-body,.ar-head) ol.ar-stations{grid-auto-flow:row;grid-template-columns:minmax(0,1fr)}
  .ip-article :is(.ar-body,.ar-head) ol.ar-stations>li{padding:0 0 18px 34px}
  .ip-article :is(.ar-body,.ar-head) ol.ar-stations>li::before,.ip-article :is(.ar-body,.ar-head) ol.ar-stations>li:last-child::before{top:0;bottom:0;left:9px;right:auto;width:4px;height:auto;border-radius:0}
  .ip-article :is(.ar-body,.ar-head) ol.ar-stations>li:last-child::before{bottom:auto;height:14px}
  .ip-article :is(.ar-body,.ar-head) ol.ar-stations>li::after{top:0;left:0}
  .ar-doc__sheet{padding:22px 18px 18px}
  .ar-doc__sheet::before{left:18px;right:18px}
  .ar-doc__sheet dl>div{grid-template-columns:minmax(0,1fr);gap:6px}
}
@media (max-width:480px){
  .ip-article .ar-body .cta-row .btn{width:100%;justify-content:center}
  .ip-article .ar-body .cta-row:has(>.btn:nth-child(3)){width:auto}
  /* a three-column price table fits a phone: words wrap, figures stay whole */
  .ip-article .ar-body .ak-table td:first-child{min-width:0}
  .ip-article .ar-body .ak-table :is(th,td){padding-left:8px;padding-right:8px}
  .ip-article .ar-body .ak-table :is(th,td).ak-num{font-size:14px}
  .ip-article .ar-body .ak-table td:first-child{font-size:14px;overflow-wrap:anywhere}
  .ip-article .ar-body .ak-table th{letter-spacing:.02em}
  .ip-article .ar-body .ak-table th.ak-num{min-width:0}
}

/* ---- inner-wholekiosk.css ---- */
/* Every kiosk whole (Alexzis, 27 Oct 2026: "Can this show full Kiosk visible, instead of cut off like this?").
   A kiosk photo is fitted into its frame, never filled and cut: the tall hero photos (/about, /kiosk-solutions), the
   product and gallery photos on /kiosk-solutions, and /partnership's CelcomDigi band. Loads last; adds rules only. */
.ph-photo.tall img,.ph-photo.tall.co-photo img{object-fit:contain;object-position:50% 50%}
.range4.imgs .rpic img,.kgal img{object-fit:contain}
.fig.pband img{aspect-ratio:633/620;object-position:50% 33%}
/* /about: the company plate sits under the Maxis kiosk photo, not over the kiosk's base */
.co-photo .plate{margin:12px 16px 0}
@media (max-width:640px){
  .ph-photo.tall:not(.render) img{aspect-ratio:3/4}
  .ph-photo.tall.co-photo img{object-position:50% 50%}
  .co-photo .plate{margin:10px 12px 0}
}
