@font-face{font-family:"Asap Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/asap-condensed-latin-ext-500.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Asap Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/asap-condensed-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Asap Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/asap-condensed-latin-ext-600.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Asap Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/asap-condensed-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Signika";font-style:normal;font-weight:300 700;font-display:swap;src:url(assets/fonts/signika-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Signika";font-style:normal;font-weight:300 700;font-display:swap;src:url(assets/fonts/signika-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Tokens: PALETTE.md values, unchanged; the rest are tints and layout measures */
:root{
  --vb-bg:#11110F;--vb-surface:#131313;--vb-surface-2:#181916;--vb-surface-3:#1E1D1D;
  --vb-text:#EAEAEA;--vb-text-body:rgba(255,255,255,.6);--vb-text-muted:#BCBCC0;
  --vb-brand:#95F400;--vb-on-brand:#11110F;--vb-border:#3C3C3D;--vb-accent:#FFDD2A;--vb-error:#FE0000;
  color-scheme:dark;
  --lime-06:rgba(149,244,0,.06);--lime-10:rgba(149,244,0,.1);--lime-16:rgba(149,244,0,.16);--lime-45:rgba(149,244,0,.45);
  --f-h:"Asap Condensed","Arial Narrow","Roboto Condensed",system-ui,sans-serif;
  --f-b:"Signika","Segoe UI",Roboto,system-ui,-apple-system,sans-serif;
  --wrap:70rem;--side:1rem;--lane:60ch;--q:22ch;--gap-sec:2.25rem;--qgap:3.5rem;
  --r-btn:0.4375rem;--r-card:0.625rem;--r-panel:1rem;
  --reserve:0px;
  --ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8' fill='none' stroke='%2395F400' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --no:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%23FE0000' stroke-width='1.8'/%3E%3Cpath d='M3.8 12.2l8.4-8.4' stroke='%23FE0000' stroke-width='1.8'/%3E%3C/svg%3E");
  --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 10l5.5 5.5 5.5-5.5' fill='none' stroke='%2395F400' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--vb-bg);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:1rem}
html:has(dialog.issues[open]){overflow:hidden}
body{margin:0;min-height:100vh;background:var(--vb-bg);color:var(--vb-text-body);font:400 1rem/1.625rem var(--f-b);overflow-wrap:break-word;padding-bottom:var(--reserve)}
img{max-width:100%;height:auto}
h1,h2,h3{color:var(--vb-text);font-family:var(--f-h);font-weight:600;letter-spacing:0;text-wrap:balance}
h1{margin:0;font-size:2.125rem;line-height:2.375rem}
h2{margin:0;font-size:1.625rem;line-height:1.875rem}
h3{margin:0;font-size:1.25rem;line-height:1.5rem}
p{margin:0}
strong,b{color:var(--vb-text);font-weight:600}
a{color:var(--vb-brand);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
button{font:inherit;color:inherit}
:focus{outline:none}
:focus-visible{outline:2px solid var(--vb-text);outline-offset:2px}
.ic{width:1.25rem;height:1.25rem;flex:none;display:block}

/* Split masthead: wordmark, remit line, Problemas */
.split-mast{background:var(--vb-surface);border-bottom:1px solid var(--vb-border)}
.mast-in{max-width:var(--wrap);margin:0 auto;padding:0.375rem var(--side) 0.5rem;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"mark btn" "tag tag";align-items:center;column-gap:0.75rem;row-gap:2px}
.mast-mark{grid-area:mark;justify-self:start;display:inline-flex;align-items:center;gap:.2em;min-height:2.75rem;padding-left:0.75rem;border-left:3px solid var(--vb-brand);color:var(--vb-text);text-decoration:none;font:600 1.375rem/1 var(--f-h)}
.mast-mark .mm-acc{color:var(--vb-brand)}
.mast-mark:hover{text-decoration:none}
.mast-tag{grid-area:tag;font-size:0.875rem;line-height:1.125rem;color:var(--vb-text-muted);text-wrap:balance}
.mast-btn{grid-area:btn;display:inline-flex;align-items:center;gap:0.5rem;min-height:2.75rem;padding:0 0.875rem 0 0.75rem;background:var(--vb-surface-3);border:1px solid var(--vb-border);border-radius:var(--r-btn);color:var(--vb-text);font:600 1rem/1 var(--f-h);text-transform:uppercase;letter-spacing:.02em;cursor:pointer}
.mast-btn .ic{color:var(--vb-brand)}
.mast-btn:hover{filter:brightness(1.08);border-color:var(--lime-45)}

/* Problemas panel: popover dialog, a full-height sheet on phones */
dialog.issues{margin:0;padding:0;border:0;position:fixed;inset:0 0 0 auto;width:min(100%,26rem);max-width:none;height:100dvh;max-height:none;overflow:auto;overscroll-behavior:contain;background:var(--vb-surface-2);color:var(--vb-text);border-left:1px solid var(--vb-border)}
dialog.issues:popover-open,dialog.issues[open]{display:flex;flex-direction:column}
dialog.issues::backdrop{background:rgba(17,17,15,.74)}
.issues-jump{display:grid;grid-template-columns:1.5rem minmax(0,1fr) 1.25rem;align-items:center;gap:0.75rem;width:100%;min-height:3.375rem;margin-top:1rem;padding:0.625rem 0.875rem;background:var(--lime-06);border:1px solid var(--lime-45);border-radius:var(--r-card);color:var(--vb-text);text-align:left;font:600 1.0625rem/1.3125rem var(--f-h);cursor:pointer}
.issues-jump .ic{width:1.5rem;height:1.5rem;color:var(--vb-brand)}
.issues-jump .ic:last-child{width:1.25rem;height:1.25rem;transform:rotate(90deg)}
.issues-jump:hover{background:var(--lime-10)}
.issues-top{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.625rem 1rem;border-bottom:1px solid var(--vb-border);padding-top:calc(0.625rem + env(safe-area-inset-top,0px))}
.issues-title{display:flex;align-items:center;gap:0.625rem;font:600 1.375rem/1.625rem var(--f-h)}
.issues-title .ic{width:1.5rem;height:1.5rem;color:var(--vb-brand)}
.issues-x{display:inline-flex;align-items:center;gap:0.375rem;min-height:2.75rem;padding:0 0.75rem;background:var(--vb-surface-3);border:1px solid var(--vb-border);border-radius:var(--r-btn);font:600 0.9375rem/1 var(--f-h);text-transform:uppercase;letter-spacing:.02em;cursor:pointer}
.issues-x:hover{filter:brightness(1.08)}
.issues-nav{padding:0.25rem 1rem calc(1.5rem + env(safe-area-inset-bottom,0px))}
.ig-head{margin:1.25rem 0 0.5rem;font:600 0.9375rem/1.25rem var(--f-h);color:var(--vb-text-muted)}
.ig ul{list-style:none;margin:0;padding:0;display:grid;gap:0.5rem}
.ig a{display:grid;grid-template-columns:1.5rem minmax(0,1fr) 1.25rem;align-items:center;gap:0.75rem;min-height:3.375rem;padding:0.625rem 0.875rem;background:var(--vb-surface-3);border:1px solid transparent;border-radius:var(--r-card);color:var(--vb-text);text-decoration:none;font-size:1rem;line-height:1.3125rem}
.ig a .ic:first-child{width:1.5rem;height:1.5rem;color:var(--vb-brand)}
.ig a .ic:last-child{color:var(--vb-text-muted)}
.ig a:hover{border-color:var(--lime-45)}
.ig a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--vb-brand);background:var(--lime-06)}
@media (prefers-reduced-motion:no-preference){
  dialog.issues:popover-open,dialog.issues[open]{animation:sheet-in .28s cubic-bezier(.2,.8,.2,1)}
  dialog.issues:popover-open::backdrop,dialog.issues[open]::backdrop{animation:veil-in .28s ease-out}
}
@keyframes sheet-in{from{transform:translateX(100%)}to{transform:none}}
@keyframes veil-in{from{opacity:0}to{opacity:1}}

/* Page frame */
main{display:block;max-width:var(--wrap);margin:0 auto;padding:0.75rem var(--side) 0}

/* Opening: H1 with the subject plate, line, intro */
.title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem 0.875rem}
.opening h1{font-size:2rem;line-height:2.125rem}
.plate{display:inline-flex;align-items:center;height:2.375rem;padding:0 0.6875rem;background:var(--vb-surface-3);border:1px solid var(--vb-border);border-radius:0.5rem}
.opening .plate{height:2.125rem}
.plate img{display:block;height:1.25rem;width:auto}
.lede{margin-top:0.625rem;max-width:52ch;color:var(--vb-text);font:500 1.0625rem/1.375rem var(--f-h)}
.intro{margin-top:0.375rem;max-width:var(--lane);line-height:1.5rem}
/* Home opening: the lede as a desk notice on a lime rule, the intro on its own card */
.opening .lede{max-width:none;margin-top:0.75rem;padding:0.5625rem 0.75rem;background:var(--vb-surface-2);border-left:3px solid var(--vb-brand);border-radius:0 var(--r-card) var(--r-card) 0;font-size:1rem;line-height:1.25rem}
.opening .intro{max-width:none;margin-top:0.375rem;padding:0.75rem 1rem;background:var(--vb-surface);border:1px solid var(--vb-border);border-radius:var(--r-card);font-size:1rem;line-height:1.4375rem}

/* Centred stacked service notice (the one deal block) */
.deal.notice{margin:0.75rem auto 0;max-width:34rem;background:var(--vb-surface-2);border:1px solid var(--vb-border);border-radius:var(--r-panel);text-align:center;overflow:hidden}
.notice-plate{position:relative;display:flex;justify-content:center;padding:0.625rem 1rem;background:var(--vb-surface);border-bottom:1px dashed var(--vb-border)}
.notice-plate img{display:block;height:1.375rem;width:auto}
.notice-body{padding:0.875rem 1rem 1rem}
.notice-k{font:500 0.9375rem/1.25rem var(--f-h);color:var(--vb-text-muted)}
.notice-offer{margin-top:2px;font:600 1.625rem/1.875rem var(--f-h);color:var(--vb-brand);text-wrap:balance}
.notice-terms{list-style:none;margin:0.875rem 0 0;padding:0.75rem 0 0;border-top:1px solid var(--vb-border);display:grid;gap:0.375rem;text-align:left;font-size:var(--fs-run);line-height:1.5;color:var(--vb-text)}
.notice-terms li{position:relative;padding-left:1.125rem}
.notice-terms li::before{content:"";position:absolute;left:2px;top:calc(0.75em - 0.21875rem);width:0.4375rem;height:0.4375rem;border:1.5px solid var(--vb-brand);border-radius:50%}
.notice-btn{display:flex;align-items:center;justify-content:center;gap:0.375rem;min-height:3rem;margin-top:1rem;padding:0 1.125rem;background:var(--vb-brand);color:var(--vb-on-brand);border-radius:var(--r-btn);text-decoration:none;font:600 1.125rem/1 var(--f-h);text-transform:uppercase;letter-spacing:.02em}
.notice-btn:hover{filter:brightness(1.08);text-decoration:none}
.notice-btn .ic{width:1.125rem;height:1.125rem;stroke-width:2}
.notice-fine{margin-top:0.75rem;font-size:0.875rem;line-height:1.25rem;color:var(--vb-text-muted)}
.notice-tags{display:flex;justify-content:center;gap:0.5rem}
.notice-ad,.notice-age{display:inline-block;padding:1px 0.4375rem;border:1px solid var(--vb-border);border-radius:0.3125rem;color:var(--vb-text);font:600 0.875rem/1.125rem var(--f-h)}
.notice-aff{margin-top:0.375rem;text-wrap:pretty}

/* Issue picker: permanent heading, six symptom buttons */
[data-picker]{margin-top:var(--gap-sec)}
.picker-q{margin-bottom:0.75rem;color:var(--vb-text);font:600 1.625rem/1.875rem var(--f-h)}
.picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--vb-border);border:1px solid var(--vb-border);border-radius:var(--r-panel);overflow:hidden}
.picker-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:0.625rem;min-height:6.25rem;padding:0.75rem;background:var(--vb-surface);border:0;border-radius:0;color:var(--vb-text);text-align:left;font:600 1.0625rem/1.25rem var(--f-h);cursor:pointer;transition:border-color .15s,background-color .15s}
.picker-grid .ic{width:1.5rem;height:1.5rem;color:var(--vb-brand)}
.picker-grid button:hover{background:var(--vb-surface-3)}
.picker-grid button:focus-visible{outline-offset:-0.3125rem}
.picker-grid button[aria-pressed="true"]{background:var(--lime-06);box-shadow:inset 0 0 0 2px var(--vb-brand)}

/* Issue packets: section cards; question gutter from 64rem */
:is(.packet,main>section){--pp:0.875rem;position:relative;margin-top:var(--gap-sec);padding:1.25rem var(--pp) 1.375rem;background:var(--vb-surface);border:1px solid var(--vb-border);border-radius:var(--r-panel)}
:is(.packet,main>section)>h2{position:relative;padding-bottom:0.875rem;margin-bottom:1rem;border-bottom:1px dashed var(--vb-border)}
/* Phones and tablets: the H2 rule is the tear line, notched at both card edges */
:is(.packet,main>section)>h2::after{content:"";position:absolute;left:calc(-1px - var(--pp));right:calc(-1px - var(--pp));bottom:-0.7188rem;height:1.375rem;pointer-events:none;background:radial-gradient(circle at 0 50%,var(--vb-bg) 0 0.5625rem,var(--vb-border) 0.5938rem 0.6562rem,transparent 0.6875rem),radial-gradient(circle at 100% 50%,var(--vb-bg) 0 0.5625rem,var(--vb-border) 0.5938rem 0.6562rem,transparent 0.6875rem)}
:is(.packet,main>section)>*+*:not(h2){margin-top:1.25rem}
:is(.packet,main>section)>h2+*{margin-top:0}
.answer{max-width:var(--lane)}
.answer>*+*{margin-top:1rem}
.answer h3{margin-top:1.75rem}
.answer ul:not([class]),.answer ol:not([class]){margin:0;padding-left:1.25em}
.answer li+li{margin-top:0.375rem}
.answer li::marker{color:var(--vb-brand)}
/* Callout as a torn ticket stub: notches left and right, no side rule */
.packet-note,p.note{max-width:var(--lane);padding:0.8125rem 1.375rem;background:var(--vb-surface-3);border-radius:var(--r-card);color:var(--vb-text);font-size:0.9375rem;line-height:1.4375rem;-webkit-mask:radial-gradient(circle 0.5rem at 0 50%,transparent 0.4688rem,#000 0.5rem) left/51% 100% no-repeat,radial-gradient(circle 0.5rem at 100% 50%,transparent 0.4688rem,#000 0.5rem) right/51% 100% no-repeat;mask:radial-gradient(circle 0.5rem at 0 50%,transparent 0.4688rem,#000 0.5rem) left/51% 100% no-repeat,radial-gradient(circle 0.5rem at 100% 50%,transparent 0.4688rem,#000 0.5rem) right/51% 100% no-repeat}

/* Routing table (tool) and plain .routes tables */
.routes>.picker{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 0.75rem;margin-bottom:0.75rem}
.routes>.picker label{color:var(--vb-text);font:600 1.0625rem/1.375rem var(--f-h)}
.routes>.picker select{min-height:2.75rem;max-width:100%;padding:0 2.5rem 0 0.75rem;background:var(--vb-surface-3) var(--chev) no-repeat right 0.625rem center/1.25rem;border:1px solid var(--vb-border);border-radius:var(--r-btn);color:var(--vb-text);font:400 1rem/1.2 var(--f-b);-webkit-appearance:none;appearance:none;cursor:pointer}
.routes>.picker select:hover{border-color:var(--lime-45)}
.routes>.picker .picker-status{flex-basis:100%;font-size:0.875rem;line-height:1.25rem;color:var(--vb-text-muted)}
.routes>.picker .picker-status:empty{display:none}
.routes-scroll{overflow-x:auto;background:var(--vb-surface-2);border:1px solid var(--vb-border);border-radius:var(--r-card)}
.routes table,.tbl table{width:100%;border-collapse:collapse}
.routes caption,.tbl caption{caption-side:top;padding:0.875rem 1rem;text-align:left;color:var(--vb-text);font:600 1.125rem/1.4375rem var(--f-h);border-bottom:1px solid var(--vb-border)}
.routes thead th,.tbl thead th{padding:0.625rem 0.875rem;background:var(--vb-surface-3);color:var(--vb-text-muted);text-align:left;vertical-align:bottom;font:600 0.9375rem/1.1875rem var(--f-h)}
.routes tbody th,.tbl tbody th{padding:0.875rem;text-align:left;vertical-align:top;color:var(--vb-text);font:600 1.0625rem/1.375rem var(--f-h);border-top:1px solid var(--vb-border)}
.routes td,.tbl td{padding:0.875rem;vertical-align:top;font-size:0.9375rem;line-height:1.375rem;border-top:1px solid var(--vb-border)}
.routes tbody th{width:24%}
.routes .note{display:block;margin-top:0.375rem;color:var(--vb-text-body);font:400 0.875rem/1.25rem var(--f-b)}
.routes thead th.prep{color:var(--vb-brand)}
.routes thead th.prep,.routes thead th.never{padding-left:2.375rem;background-repeat:no-repeat;background-position:0.875rem 50%;background-size:1rem}
.routes thead th.prep{background-image:var(--ok)}
.routes thead th.never{background-image:var(--no);color:var(--vb-text)}
.routes td.prep{padding-left:2.375rem;color:var(--vb-text);background:var(--ok) no-repeat 0.875rem 1.0625rem/1rem,var(--vb-surface-3)}
.routes td.never{padding-left:2.375rem;color:var(--vb-text);background:var(--no) no-repeat 0.875rem 1.0625rem/1rem;border-left:1px dashed var(--vb-border)}
.routes.has-picker>.picker>label,.routes.has-picker>.picker>select{display:none}
.routes.has-picker>.picker{margin-bottom:0}
.routes.has-picker>.picker:has(.picker-status:not(:empty)){margin-bottom:0.75rem}
.routes-reset{display:inline-flex;align-items:center;gap:0.5rem;min-height:2.75rem;margin-top:0.75rem;padding:0 1rem 0 0.75rem;background:var(--vb-surface-3);border:1px solid var(--lime-45);border-radius:var(--r-btn);color:var(--vb-text);font:600 1rem/1 var(--f-h);cursor:pointer}
.routes-reset:hover{background:var(--lime-06)}
.routes.is-one tbody tr:not([hidden]) th{box-shadow:inset 3px 0 0 var(--vb-brand)}
@media (prefers-reduced-motion:no-preference){.routes.is-one tbody tr:not([hidden]){animation:route-in .6s ease-out}}
@keyframes route-in{from{background-color:var(--lime-16)}to{background-color:transparent}}

/* Signature: prepare / never send pair */
.pair-never{max-width:var(--lane);display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--vb-border);border-radius:var(--r-card);overflow:hidden;background:var(--vb-surface-2)}
.pair-never>div{padding:0.875rem 1rem}
.pair-never .pn-prep{background:var(--vb-surface-3)}
.pair-never .pn-never{border-top:1px dashed var(--vb-border)}
.pn-h{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.375rem;color:var(--vb-text);font:600 1.0625rem/1.375rem var(--f-h)}
.pn-h::before{content:"";width:1rem;height:1rem;flex:none;background:var(--ok) no-repeat center/1rem}
.pn-never .pn-h::before{background-image:var(--no)}
.pair-never ul{list-style:none;margin:0;padding:0;display:grid;gap:0.25rem;font-size:0.9375rem;line-height:1.375rem}
.pn-prep li{color:var(--vb-text)}
.pair-never li{padding-left:1.5rem;position:relative}
.pair-never li::before{content:"";position:absolute;left:0.3125rem;top:0.5625rem;width:0.375rem;height:0.375rem;border-radius:50%;background:var(--vb-brand)}
.pn-never li::before{background:none;border:1.5px solid var(--vb-error);top:0.5rem;width:0.4375rem;height:0.4375rem}

/* Steps, timeline, checklist */
.checks-seq{list-style:none;margin:0;padding:0;max-width:var(--lane);counter-reset:chk}
.checks-seq>li{position:relative;padding:0 0 1.125rem 2.875rem;counter-increment:chk}
.checks-seq>li::before{content:counter(chk);position:absolute;left:0;top:0;width:2rem;height:2rem;display:grid;place-items:center;border:1.5px solid var(--vb-brand);border-radius:50%;color:var(--vb-brand);font:600 1rem/1 var(--f-h)}
.checks-seq>li::after{content:"";position:absolute;left:1rem;top:2.25rem;bottom:0.25rem;border-left:1px dashed var(--vb-border)}
.checks-seq>li:last-child{padding-bottom:0}
.checks-seq>li:last-child::after{display:none}
.checks-seq strong{display:block;font:600 1.125rem/1.5rem var(--f-h);padding-top:0.25rem}
.wait-line{list-style:none;margin:0;padding:0 0 0 1.375rem;max-width:var(--lane);border-left:2px solid var(--vb-border)}
.wait-line>li{position:relative;padding:0 0 1.125rem}
.wait-line>li:last-child{padding-bottom:0}
.wait-line>li::before{content:"";position:absolute;left:-1.8125rem;top:0.375rem;width:0.75rem;height:0.75rem;border-radius:50%;background:var(--vb-bg);border:2px solid var(--vb-brand)}
.wl-when{display:block;color:var(--vb-brand);font:600 1.0625rem/1.375rem var(--f-h)}
.prep-list{list-style:none;margin:0;padding:0;max-width:var(--lane);display:grid;gap:0.5rem}
.prep-list>li{position:relative;padding:0.625rem 0.875rem 0.625rem 2.875rem;background:var(--vb-surface-2);border:1px solid var(--vb-border);border-radius:var(--r-card);color:var(--vb-text);font-size:0.9375rem;line-height:1.375rem}
.prep-list>li::before{content:"";position:absolute;left:0.875rem;top:0.6875rem;width:1.25rem;height:1.25rem;border:1.5px solid var(--vb-brand);border-radius:0.3125rem;background:var(--ok) no-repeat center/0.875rem}

/* Directory cards (operator box, helplines, footer) */
.directory{display:grid;gap:0.625rem}
.dir-grp{padding:0.875rem 1rem;background:var(--vb-surface-2);border:1px solid var(--vb-border);border-radius:var(--r-card)}
.dir-head{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;color:var(--vb-text);font:600 1.125rem/1.4375rem var(--f-h)}
.dir-head .ic{color:var(--vb-brand)}
.dir-grp ul{list-style:none;margin:0;padding:0}
.dir-grp li+li{border-top:1px solid var(--vb-border)}
.dir-grp li>a{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;min-height:2.875rem;color:var(--vb-text);text-decoration:none;font-size:1rem;line-height:1.3125rem}
.dir-grp li>a .ic{width:1.125rem;height:1.125rem;color:var(--vb-text-muted)}
.dir-grp li>a:hover span{text-decoration:underline;text-underline-offset:3px}
.dir-grp li>a[aria-current="page"]{color:var(--vb-brand)}
.dl-name{display:block;padding-top:0.625rem;color:var(--vb-text);font:600 1.0625rem/1.375rem var(--f-h)}
.dl-detail{display:block;padding-bottom:0.625rem;font-size:0.9375rem;line-height:1.3125rem;color:var(--vb-text-muted)}
.opbox{margin-top:var(--gap-sec);padding:0.375rem 1rem;background:var(--vb-surface-2);border:1px solid var(--vb-border);border-radius:var(--r-panel)}
.opbox dl{margin:0;display:grid}
.opbox dl>div{padding:0.75rem 0}
.opbox dl>div+div{border-top:1px solid var(--vb-border)}
.opbox dt{color:var(--vb-text-muted);font:600 0.9375rem/1.25rem var(--f-h)}
.opbox dd{margin:2px 0 0;color:var(--vb-text);font-size:0.9375rem;line-height:1.375rem}

/* Q&A and the RG close */
.gutter-qa{padding-top:1.125rem;border-top:1px dashed var(--vb-border)}
:is(.packet,main>section)>h2+.gutter-qa{padding-top:0;border-top:0}
:is(.packet,main>section)>.gutter-qa+.gutter-qa{margin-top:1.125rem}
.gutter-qa>h3{margin-bottom:0.375rem}
.gutter-qa>p{max-width:var(--lane)}
:is(.packet,main>section).rg{background:var(--vb-surface-2)}

/* Byline sign-off */
.sign{display:flex;align-items:center;gap:0.75rem;max-width:var(--wrap);margin:var(--gap-sec) 0 0;padding:1rem 0 0;border-top:1px solid var(--vb-border)}
.sign-ic{display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:none;border-radius:50%;background:var(--vb-surface-3);color:var(--vb-brand)}
.sign-ic .ic{width:1.375rem;height:1.375rem}
.sign-n{color:var(--vb-text);font:600 1.125rem/1.4375rem var(--f-h)}
.sign-n a{color:var(--vb-text);text-decoration-color:var(--vb-brand)}
.sign-up{font-size:0.875rem;line-height:1.25rem;color:var(--vb-text-muted)}

/* Floating shortcut (phones and tablets only) */
.shortcut{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:30;display:inline-flex;align-items:center;gap:0.5rem;min-height:3rem;padding:0 1.125rem 0 0.875rem;background:var(--vb-surface-3);border:1px solid var(--lime-45);border-radius:1.5rem;box-shadow:0 0.625rem 1.75rem rgba(0,0,0,.55);color:var(--vb-text);font:600 1.0625rem/1 var(--f-h);cursor:pointer}
.shortcut .ic{width:1.375rem;height:1.375rem;color:var(--vb-brand)}

/* Footer: contact directory */
.desk-foot{margin-top:3.5rem;border-top:1px solid var(--vb-border);background:var(--vb-bg)}
.df-in{max-width:var(--wrap);margin:0 auto;padding:1.75rem var(--side) 2rem}
.df-top{display:grid;gap:0.5rem}
.df-mark{display:inline-flex;gap:.2em;padding-left:0.75rem;border-left:3px solid var(--vb-brand);color:var(--vb-text);font:600 1.375rem/1.875rem var(--f-h)}
.df-mark .mm-acc{color:var(--vb-brand)}
.df-indep{max-width:60ch;color:var(--vb-text);font-size:0.9375rem;line-height:1.4375rem}
.desk-foot .directory{margin-top:1.375rem}
.dir-pages{display:grid;gap:0.625rem}
.df-rg{display:flex;align-items:flex-start;gap:0.75rem;margin-top:1.375rem;max-width:70ch}
.df-age{flex:none;padding:2px 0.5rem;border:1px solid var(--vb-text-muted);border-radius:0.375rem;color:var(--vb-text);font:600 0.9375rem/1.25rem var(--f-h)}
.df-pub{margin-top:0.75rem;max-width:70ch;font-size:0.875rem;line-height:1.3125rem;color:var(--vb-text-muted)}
.desk-foot .dir-pages .dir-grp ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.375rem}
.desk-foot .dir-pages .dir-grp li+li{border-top:0}
.desk-foot .dir-pages .dir-grp li>a{min-height:3.25rem;height:100%;padding:0.5rem 0.625rem 0.5rem 0.75rem;background:var(--vb-surface-3);border:1px solid transparent;border-radius:var(--r-btn);font-size:0.9375rem;line-height:1.1875rem}
.desk-foot .dir-pages .dir-grp li>a:hover{border-color:var(--lime-45)}
.desk-foot .dir-pages .dir-grp li:last-child:nth-child(odd){grid-column:1 / -1}

/* Inner pages: readable article basics */
.hero::after{content:"";display:table;clear:both}
.hero .plate{float:right;height:2.125rem;margin:2px 0 0.375rem 0.75rem;padding:0 0.5625rem}
.hero .plate img{height:1.0625rem}
.hero h1{max-width:24ch}
.hero .lede{margin-top:0.625rem}
.hero>p:not(.lede){margin-top:0.5rem;max-width:var(--lane)}
.tbl{overflow-x:auto;background:var(--vb-surface-2);border:1px solid var(--vb-border);border-radius:var(--r-card)}
.tbl table{min-width:30rem}
figure.shot{margin:0;max-width:var(--lane)}
figure.shot img{display:block;width:100%;height:auto;border:1px solid var(--vb-border);border-radius:var(--r-card)}
figure.shot figcaption{margin-top:0.5rem;font-size:0.875rem;line-height:1.25rem;color:var(--vb-text-muted)}
.faq details{border-top:1px solid var(--vb-border)}
.faq details:last-of-type{border-bottom:1px solid var(--vb-border)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;min-height:3.25rem;padding:0.625rem 0;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:1.25rem;height:1.25rem;flex:none;background:var(--chev) no-repeat center/1.25rem;transition:transform .15s}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq summary h3{margin:0;font-size:1.1875rem;line-height:1.5rem}
.faq details>p{padding:0 0 0.875rem}
main>section.faq>*+*:not(h2){margin-top:0}
/* Design-time placeholder only; never shipped in a final page */
.v5-pending{padding:0.875rem 1rem;border:1px dashed var(--vb-text-muted);border-radius:var(--r-card);color:var(--vb-text-muted);font:500 0.9375rem/1.375rem var(--f-h)}

/* Tables become records below 47.5rem; column labels stay */
@media (max-width:759.98px){
  .df-top{justify-items:center;text-align:center}
  .desk-foot .dir-pages .dir-grp ul{grid-template-columns:repeat(3,minmax(0,1fr))}
  .desk-foot .dir-pages .dir-grp li:last-child:nth-child(odd){grid-column:auto}
  .desk-foot .dir-pages .dir-grp li>a{flex-direction:column;justify-content:center;gap:0.25rem;min-height:4rem;padding:0.5rem 0.375rem;text-align:center}
  .df-indep{text-wrap:balance}
  .df-rg p,.df-pub{text-wrap:pretty}
  .df-mark{padding:0.625rem 0 0;border-left:0;border-top:3px solid var(--vb-brand)}
  .desk-foot .dir-help{text-align:center}
  .desk-foot .dir-help .dir-head{justify-content:center}
  .df-rg{flex-direction:column;align-items:center;text-align:center;gap:0.5rem;margin:1.375rem auto 0;max-width:30ch}
  .df-pub{text-align:center;margin-inline:auto}
  body:has(.opening) .split-mast{position:relative}
  body:has(.opening) .mast-in{grid-template-areas:"mark btn";padding-block:0.375rem}
  body:has(.opening) .mast-tag{position:absolute;left:var(--side);top:calc(100% + 3.1875rem);max-width:min(22rem,calc(100% - 2 * var(--side)));font-size:0.875rem;line-height:1.125rem}
  .opening .title-row{margin-bottom:3rem}
  .opening .lede{margin-top:0}
  .routes .routes-scroll{overflow:visible;background:none;border:0;border-radius:0}
  .routes table,.routes caption,.routes tbody,.routes tr,.routes th,.routes td{display:block}
  .routes thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .routes caption{padding:0 0 0.25rem;border:0}
  .routes tbody tr{margin-top:0.625rem;background:var(--vb-surface-2);border:1px solid var(--vb-border);border-radius:var(--r-card);overflow:hidden}
  .routes tbody th{width:auto;padding:0.75rem 0.875rem;border:0}
  .routes td{padding:0.625rem 0.875rem 0.75rem}
  .routes td{display:grid;grid-template-columns:minmax(0,6.5rem) minmax(0,1fr);column-gap:0.75rem;align-items:start}
  .routes td::before{content:attr(data-label);display:block;margin:1px 0 0;color:var(--vb-text-muted);font:600 0.875rem/1.1875rem var(--f-h)}
  .routes td.prep::before{color:var(--vb-brand)}
  .routes td.never::before{color:var(--vb-text)}
  .routes td.never{border-left:0;border-top-style:dashed}
  .routes td.prep,.routes td.never{background-position:0.875rem 0.875rem,0 0}
  .routes td.never{background-position:0.875rem 0.875rem}
  .routes.is-one tbody tr:not([hidden]){border-color:var(--vb-brand)}
  .routes.is-one tbody tr:not([hidden]) th{box-shadow:none}
}
@media (min-width:480px) and (max-width:759.98px){
  .routes tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .routes tbody th,.routes td:not(.prep):not(.never){grid-column:1 / -1}
  .routes td.never{border-left:1px dashed var(--vb-border);border-top-style:solid}
  .pair-never{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pair-never .pn-never{border-top:0;border-left:1px dashed var(--vb-border)}
}

@media (min-width:760px){
  html{scrollbar-gutter:stable}
  :root{--side:1.5rem}
  .mast-in{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"mark tag btn";column-gap:1.5rem;padding-block:0.75rem}
  .mast-tag{justify-self:end;max-width:40ch;text-align:right;font-size:0.875rem;line-height:1.125rem}
  dialog.issues{inset:4.75rem max(var(--side),calc((100vw - var(--wrap)) / 2 + var(--side))) auto auto;width:24rem;height:auto;max-height:calc(100dvh - 6.25rem);border:1px solid var(--vb-border);border-radius:var(--r-panel);box-shadow:0 1.5rem 3.75rem rgba(0,0,0,.6)}
  .issues-top{padding-top:0.625rem}
  .issues-nav{padding-bottom:1.125rem}
  .picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .picker-grid button{flex-direction:row;align-items:center;min-height:4.75rem;padding:0.875rem 1rem;gap:0.875rem}
  :is(.packet,main>section){--pp:1.75rem;padding:1.75rem var(--pp) 1.875rem}
  .pair-never{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pair-never .pn-never{border-top:0;border-left:1px dashed var(--vb-border)}
  .opbox{padding:0.25rem 1.5rem}
  .opbox dl{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
  .opbox dl>div:nth-child(2){border-top:0}
  .dir-pages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{display:grid;grid-template-columns:minmax(0,max-content) auto;justify-content:start;align-items:start;column-gap:1rem}
  .hero::after{display:none}
  .hero .plate{float:none;grid-column:2;grid-row:1;margin:0.25rem 0 0}
  .hero h1{grid-column:1;grid-row:1}
  .hero>:not(h1):not(.plate){grid-column:1 / -1}
  .df-top{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:2rem}
  .df-indep{justify-self:end;text-align:right}
  @media (prefers-reduced-motion:no-preference){dialog.issues:popover-open,dialog.issues[open]{animation:panel-in .2s ease-out}}
}
@keyframes panel-in{from{opacity:0;transform:translateY(-0.375rem)}to{opacity:1;transform:none}}

@media (min-width:1024px){
  h1{font-size:3rem;line-height:3.25rem}
  .opening{margin-inline:auto}
  .plate{height:2.75rem;padding:0 0.875rem}
  .plate img{height:1.5rem}
  .lede{margin-top:0.875rem;font-size:1.25rem;line-height:1.625rem}
  .intro{margin-top:0.75rem;max-width:none;font-size:1.0625rem;line-height:1.6875rem;text-wrap:pretty}
  .opening h1{font-size:3rem;line-height:3.25rem}
  .opening .plate{height:2.75rem}
  .opening .lede{margin-top:1rem;padding:0.75rem 1.125rem 0.75rem 1.0625rem;font-size:1.25rem;line-height:1.625rem}
  .opening .intro{margin-top:0.625rem;padding:1.125rem 1.375rem;font-size:1.0625rem;line-height:1.6875rem;text-wrap:pretty}
  .deal.notice{margin-top:1.625rem}
  .notice-body{padding:1.125rem 1.75rem 1.375rem}
  .notice-offer{font-size:1.875rem;line-height:2.125rem}
  [data-picker],:is(.packet,main>section),.opbox,.sign{max-width:calc(5.125rem + var(--q) + var(--qgap) + var(--lane));margin-inline:auto}
  [data-picker]{margin-top:3rem}
  .picker-q{text-align:center;margin-bottom:1rem}
  :is(.packet,main>section){display:grid;grid-template-columns:var(--q) minmax(0,var(--lane)) minmax(0,1fr);column-gap:var(--qgap);align-items:start;padding:2.25rem 2.5rem 2.5rem}
  :is(.packet,main>section)::before{content:"";position:absolute;top:0;bottom:0;left:calc(2.5rem + var(--q) + var(--qgap) / 2);border-left:1px dashed var(--vb-border);pointer-events:none}
  :is(.packet,main>section)::after{content:"";position:absolute;top:-1px;bottom:-1px;left:calc(2.5rem + var(--q) + var(--qgap) / 2 - 0.6875rem);width:1.375rem;pointer-events:none;background:radial-gradient(circle at 50% 0,var(--vb-bg) 0 0.5625rem,var(--vb-border) 0.5938rem 0.6562rem,transparent 0.6875rem),radial-gradient(circle at 50% 100%,var(--vb-bg) 0 0.5625rem,var(--vb-border) 0.5938rem 0.6562rem,transparent 0.6875rem)}
  :is(.packet,main>section)>h2{grid-column:1;grid-row:1 / span 2;margin:0;padding:0;border:0}
  :is(.packet,main>section)>h2::after{display:none}
  :is(.packet,main>section)>*:not(h2){grid-column:2;position:relative;z-index:1}
  :is(.packet,main>section)>*+*:not(h2){margin-top:1.375rem}
  :is(.packet,main>section)>h2+*{margin-top:0}
  :is(.packet,main>section)>.routes,:is(.packet,main>section)>.directory{grid-column:2 / -1}
  :is(.packet,main>section)>.routes.is-tool{grid-column:1 / -1}
  :is(.packet,main>section)>.routes.is-tool{background:var(--vb-surface)}
  :is(.packet,main>section).faq{display:block}
  :is(.packet,main>section).faq::before,:is(.packet,main>section).faq::after{display:none}
  :is(.packet,main>section).faq>h2{margin-bottom:0.75rem}
  :is(.packet,main>section).faq>h2+.gutter-qa{padding-top:1.25rem;border-top:1px dashed var(--vb-border)}
  :is(.packet,main>section)>.gutter-qa{display:grid;grid-template-columns:var(--q) minmax(0,var(--lane));column-gap:var(--qgap);padding:1.25rem 0 0;margin-top:1.25rem;border-left:0;border-top:1px dashed var(--vb-border)}
  :is(.packet,main>section)>.gutter-qa+.gutter-qa{margin-top:1.25rem}
  .gutter-qa>h3{margin:0}
  .opbox dl{grid-template-columns:repeat(4,minmax(0,1fr))}
  .opbox dl>div+div{border-top:0}
  .opbox dl>div{padding:1rem 0}
  .directory:not(.desk-foot .directory){grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
  .df-top{grid-template-columns:none;justify-items:center;row-gap:0.625rem;text-align:center}
  .df-mark{padding:0.625rem 0 0;border-left:0;border-top:3px solid var(--vb-brand)}
  .df-indep{justify-self:center;text-align:center;max-width:56ch}
  .desk-foot .directory{margin-top:1.875rem;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}
  .desk-foot .dir-pages .dir-grp li:last-child:nth-child(odd){grid-column:auto}
  .desk-foot .dir-pages .dir-grp ul{grid-template-columns:minmax(0,1fr)}
  .df-rg{justify-content:center;margin-inline:auto;text-align:left}
  .df-pub{margin-inline:auto;text-align:center}
  .opening{display:grid;grid-template-columns:minmax(0,calc(2.5rem + var(--q))) minmax(0,1fr);column-gap:var(--qgap);max-width:calc(5.125rem + var(--q) + var(--qgap) + var(--lane))}
  .opening .title-row{grid-column:1 / -1}
  .opening .lede{grid-column:1;align-self:stretch;margin-top:1.25rem}
  .opening .intro{grid-column:2;margin-top:1.25rem}
  .routes tbody th{width:30%}
  .shortcut{display:none!important}
}

@media (max-width:1023.98px){
  :root{--reserve:calc(5rem + env(safe-area-inset-bottom,0px))}
  html{scroll-padding-bottom:var(--reserve)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ===== v6 (22.10): readable running text; a wide desk with the service notice pinned in its own rail ===== */
:root{--fs-run:1rem;--lh-run:1.6;--rail:22rem;--railgap:2rem;--desk:calc(5.125rem + var(--q) + var(--qgap) + var(--lane))}
body{color:var(--vb-text-muted);font-size:var(--fs-run);line-height:var(--lh-run)}
.answer,.packet-note,p.note,.pair-never ul,.prep-list>li,.opbox dd,.hero>p:not(.lede),main>section>p,main>section>ul,.tbl-packet>p{font-size:var(--fs-run);line-height:var(--lh-run)}
.packet-note,p.note{padding-block:0.875rem}
main{padding-top:0.5rem}
.opening .intro{padding:0.75rem;line-height:1.5rem}
.deal.notice{margin-top:0.625rem}
.notice-aff{margin-top:0.5rem;color:var(--vb-text-muted);font-size:var(--fs-run);line-height:1.5}
/* Plain sections on the utility pages are tickets too */
main>section>ul:not([class]){margin:0;padding-left:1.25em;max-width:var(--lane)}
main>section>ul:not([class])>li+li{margin-top:0.375rem}
main>section>ul:not([class])>li::marker{color:var(--vb-brand)}
main>section>p,.tbl-packet>p{max-width:var(--lane)}
main>section:not(.faq)>h3{margin-top:0.5rem}
/* Inner-page FAQ: the same question type and dashed separators as the home Q&A */
.faq details{border-top:1px dashed var(--vb-border)}
.faq details:last-of-type{border-bottom:1px dashed var(--vb-border)}
:is(.packet,main>section)>h2+details{border-top:0}
.faq summary{min-height:3.5rem;padding:0.875rem 0}
.faq summary h3{font-size:1.25rem;line-height:1.5rem;color:var(--vb-text)}
.faq summary:hover h3{text-decoration:underline;text-decoration-color:var(--vb-brand);text-decoration-thickness:1px;text-underline-offset:4px}
.faq details>p{max-width:var(--lane);padding:0 0 1.125rem}
.tbl-packet>.tbl+p{margin-top:1.25rem}

@media (min-width:1024px){
  :root{--fs-run:1.0625rem;--lane:48ch}
  main{padding-top:1.5rem}
  .notice-aff{font-size:1.0625rem}
  /* the terms never fall below the disclosure under them */
  .notice-terms{font-size:1.0625rem}
  .intro,.opening .intro{font-size:var(--fs-run);line-height:var(--lh-run)}
  .opening .intro{padding:1.125rem 1.375rem}
  .opening .lede{padding:calc(1.125rem + 1px) 0 0 1.0625rem;background:none;border-radius:0}
  .opening{max-width:var(--desk)}
  .opening .title-row{flex-wrap:nowrap}
  .opening .title-row h1{flex:1 1 auto}
  .hero{grid-template-columns:minmax(0,calc(2.5rem + var(--q))) minmax(0,1fr) auto;column-gap:var(--qgap);max-width:var(--desk);margin-inline:auto}
  .hero h1{grid-column:1 / 3;grid-row:1;max-width:none}
  .hero .plate{grid-column:3;grid-row:1;margin:0.375rem 0 0}
  /* no fill: a filled card stretched to the intro's height left a hollow box under the lede, so the lime rule alone carries it */
  .hero>p.lede{grid-column:1;grid-row:2;align-self:stretch;margin-top:1.25rem;padding:0 0 0 1.0625rem;background:none;border-left:3px solid var(--vb-brand);border-radius:0;font-size:1.1875rem;line-height:1.5rem}
  /* the intro sits behind the same dashed divider as the tickets below, at the same x, and runs the full height of the lede card */
  .hero>p:not(.lede){grid-column:2 / -1;grid-row:2;align-self:stretch;margin:1.25rem 0 0 calc(var(--qgap) / -2);padding-left:calc(var(--qgap) / 2);border-left:1px dashed var(--vb-border);max-width:calc(var(--lane) + var(--qgap) / 2);text-wrap:pretty}
  :is(.packet,main>section)>.routes{grid-column:1 / -1}
  :is(.packet,main>section)>h2+.routes{margin-top:1.5rem}
  :is(.packet,main>section)>h2+details{border-top:1px dashed var(--vb-border)}
  .tbl-packet{display:block}
  .tbl-packet::before,.tbl-packet::after{display:none}
  .faq details>p{margin-left:calc(var(--q) + var(--qgap))}
}
@media (min-width:1280px){
  :root{--fs-run:1.125rem;--wrap:calc(var(--desk) + var(--railgap) + var(--rail) + 2 * var(--side))}
  main{display:grid;grid-template-columns:minmax(0,var(--desk)) minmax(0,var(--rail));column-gap:var(--railgap);justify-content:center;align-items:start;max-width:var(--wrap)}
  main>*{grid-column:1}
  /* auto side margins would shrink grid items to their content; the desk column is already the right width */
  main>:is(.opening,.hero,[data-picker],.packet,section,.opbox,.sign){margin-inline:0}
  main>.deal.notice{grid-column:2;grid-row:1 / span 30;position:sticky;top:1rem;width:100%;max-width:none;margin:0.375rem 0 0}
  /* the larger terms add height to the pinned notice; tighter spacing holds it at 747px from 1280 to 1440 (it pins only where it fits, see the r2 bands below) */
  .notice-body{padding:0.875rem 1.375rem 1.125rem}
  .notice-terms{margin-top:0.75rem;padding-top:0.625rem;gap:0.3125rem}
  .notice-fine{margin-top:0.625rem}
  .notice-offer{font-size:1.75rem;line-height:2rem}
}
@media (min-width:1441px){
  html{font-size:clamp(1rem,calc(0.3vw + 11.68px),1.25rem)}
}
/* r2: the notice pins only when all of it fits the window with 48px to spare, so it never needs a scroll of its own; in a shorter window it stays static at the top of the rail. Above 1440 the root size grows with the width, so each width band has its own floor (747px + 48 to 1440, then about 46.7rem + 48 at the top of each band) */
@media (min-width:1280px) and (max-width:1440.98px) and (max-height:794.98px),
       (min-width:1441px) and (max-width:1600px) and (max-height:816.98px),
       (min-width:1600.02px) and (max-width:1920px) and (max-height:860.98px),
       (min-width:1920.02px) and (max-width:2240px) and (max-height:908.98px),
       (min-width:2240.02px) and (max-width:2560px) and (max-height:948.98px),
       (min-width:2560.02px) and (max-height:981.98px){
  main>.deal.notice{position:static}
}
/* r2: the question stays in its own margin while its answer scrolls past, so the gutter never runs empty beside a long ticket (the FAQ ticket is a single column and keeps a static heading) */
@media (min-width:1024px){
  :is(.packet,main>section):not(.faq)>h2{grid-row:1 / span 40;position:sticky;top:1.5rem;align-self:start}
}
/* balance broke two contato H2s at "e-mail" on phones; pretty keeps the words whole there (H3s stay balanced: pretty split one) */
@media (max-width:767.98px){
  h2{text-wrap:pretty}
}
/* v6: the assembler wraps hyphen-joined H1 words in .nw so a heading never breaks at the hyphen */
.nw { white-space: nowrap; }
