/*
  EGR Foundation, static site styles.
  Layout idea: one left-aligned 12-column page. White "pane" surfaces carry a
  float-glass edge. A single frit-black showroom band holds the vehicle image.
*/

@font-face{font-family:"Barlow";src:url("fonts/barlow-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("fonts/barlow-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("fonts/barlow-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("fonts/barlow-condensed-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("fonts/barlow-condensed-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --ink:#0d2545;          /* navy ink: text and dark surfaces */
  --ink-2:#3b4d68;        /* secondary text */
  --ink-3:#5f6f85;        /* captions */
  --red:#b51f35;          /* signal red: primary action, damaged glass */
  --red-deep:#8e1628;
  --red-wash:#fbeaed;
  --glass:#d3eae5;        /* float-glass tint: panes */
  --glass-wash:#eaf4f1;
  --glass-deep:#86c0b5;   /* glass edge */
  --glass-ink:#1c5a52;    /* text and marks on glass */
  --paper:#f3f6f5;        /* page background */
  --white:#fff;
  --line:#d2dbdc;         /* hairlines */
  --frit:#06090f;         /* frit black: showroom band */
  --focus:#1c5fd1;
  --display:"Barlow Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --text:"Barlow","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --gutter:clamp(1.25rem,5vw,3rem);
  --radius:.5rem;
  --radius-lg:.875rem;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--text);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg,picture{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,fieldset,legend{margin:0;padding:0}
fieldset{border:0;min-width:0}
ul[class],ol[class]{list-style:none}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:1rem;top:-5rem;z-index:20;background:#fff;color:var(--ink);padding:.75rem 1rem;border:2px solid var(--ink);border-radius:var(--radius);font-weight:600}
.skip:focus{top:1rem}

/* ---------- type ---------- */
.display{font:600 clamp(2.875rem,10.5vw,5.5rem)/.94 var(--display);letter-spacing:-.012em;text-wrap:balance}
.display--page{font-size:clamp(2.5rem,7.5vw,4.25rem)}
.title{font:600 clamp(2rem,5.2vw,3.125rem)/1 var(--display);letter-spacing:-.008em;text-wrap:balance}
.subtitle{font:600 1.5rem/1.12 var(--display);letter-spacing:-.003em}
.label{font:600 1.0625rem/1.3 var(--text)}
.lede{font-size:clamp(1.125rem,2.3vw,1.3125rem);line-height:1.5;color:var(--ink-2);max-width:33em}
.small{font-size:.9375rem;line-height:1.5}
.caption{font-size:.8125rem;line-height:1.45;color:var(--ink-3)}
.muted{color:var(--ink-2)}
.prose{max-width:34em;color:var(--ink-2)}
.prose > * + *{margin-top:1em}
.prose strong{color:var(--ink);font-weight:600}
.prose ul{padding-left:1.2em}
.prose li + li{margin-top:.4em}
.link{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:.22em}
.link:hover{color:var(--red-deep)}

/* ---------- layout ---------- */
.wrap{width:min(100% - (2 * var(--gutter)),73.75rem);margin-inline:auto}
.band{padding-block:clamp(3.25rem,8.5vw,6.5rem)}
.band--tight{padding-block:clamp(2.5rem,6vw,4.25rem)}
.band--white{background:var(--white)}
.band--glass{background:var(--glass-wash)}
.band--ink{background:var(--ink);color:#fff}
.band--rule{border-top:1px solid var(--line)}
.stack > * + *{margin-top:var(--space,1rem)}
.blocks{display:grid;gap:1.75rem;align-content:start}
.block > * + *{margin-top:.5rem}
.split{display:grid;gap:clamp(2rem,5vw,4.5rem);grid-template-columns:minmax(0,1fr)}
.cols{display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr)}
@media (min-width:56rem){
  .split{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .split--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .split--wide{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .split--center{align-items:center}
  .split--top{align-items:start}
  .cols--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cols--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.head{max-width:44rem;margin-bottom:clamp(1.75rem,4vw,2.75rem)}
.head > * + *{margin-top:.875rem}

/* ---------- ribbon and masthead ---------- */
.ribbon{background:var(--glass);color:var(--glass-ink);font-size:.8125rem;line-height:1.4;padding:.5rem 0;font-weight:500}
.masthead{background:var(--white);border-bottom:1px solid var(--line)}
.masthead__in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;min-height:4.5rem;padding-block:.75rem}
.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink)}
.brand__mark{background:var(--red);color:#fff;font:600 1.625rem/1 var(--display);letter-spacing:.01em;padding:.4rem .6rem .34rem;border-radius:3px;transform:skewX(-8deg)}
.brand__name{font:600 1rem/1.15 var(--text)}
.brand__tag{display:block;margin-top:.15rem;font:400 .75rem/1.25 var(--text);color:var(--ink-3)}
.menu-btn{display:none;align-items:center;gap:.5rem;min-height:2.75rem;padding:.5rem .875rem;border:1.5px solid var(--ink);border-radius:var(--radius);background:#fff;font:600 .9375rem/1 var(--text)}
.menu-btn__bars{width:1rem;height:.75rem;background:linear-gradient(var(--ink),var(--ink)) top/100% 2px no-repeat,linear-gradient(var(--ink),var(--ink)) center/100% 2px no-repeat,linear-gradient(var(--ink),var(--ink)) bottom/100% 2px no-repeat}
.masthead__menu{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2rem)}
.nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,1.75rem)}
.nav a{display:inline-block;padding-block:.5rem;border-bottom:2px solid transparent;font:500 .9375rem/1.2 var(--text);text-decoration:none;white-space:nowrap}
.nav a:hover{border-bottom-color:var(--glass-deep)}
.nav a[aria-current="page"]{border-bottom-color:var(--red)}
.masthead__actions{display:flex;align-items:center;gap:.625rem}
@media (max-width:61.99rem){
  .masthead__menu{width:100%;flex-direction:column;align-items:stretch;gap:.75rem;padding-block:.5rem .75rem}
  .nav{flex-direction:column;align-items:stretch;gap:0}
  .nav a{display:flex;align-items:center;min-height:3rem;border-bottom:1px solid var(--line);font-size:1.0625rem}
  .nav a[aria-current="page"]{border-bottom-color:var(--line);box-shadow:inset 3px 0 0 var(--red);padding-left:.75rem}
  .masthead__actions{flex-wrap:wrap}
  .masthead__actions .btn{flex:1 1 9rem}
  .brand{flex:1 1 0;min-width:0}
  .menu-btn{flex:none}
  .js .menu-btn{display:inline-flex}
  .js .masthead__menu{display:none}
  .js .masthead__menu.is-open{display:flex}
}
@media (max-width:30rem){.brand__tag{display:none}.brand__mark{font-size:1.5rem}.brand{gap:.625rem}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.75rem 1.375rem;border:1.5px solid var(--red);border-radius:var(--radius);background:var(--red);color:#fff;font:600 1rem/1.2 var(--text);text-align:center;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}
.btn:hover{background:var(--red-deep);border-color:var(--red-deep)}
.btn--ghost{background:#fff;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn--light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn--light:hover{background:#fff;border-color:#fff;color:var(--ink)}
.btn--sm{min-height:2.625rem;padding:.5rem 1rem;font-size:.9375rem}
.btn--block{width:100%}
.btn:disabled,.btn[aria-disabled="true"]{background:#e4e9ea;border-color:#e4e9ea;color:#6d7b88;cursor:not-allowed}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}
@media (prefers-reduced-motion:reduce){.btn{transition:none}html{scroll-behavior:auto}}

/* ---------- pane: a white surface with a glass edge ---------- */
.pane{background:#fff;border:1px solid var(--glass-deep);border-radius:var(--radius-lg);box-shadow:.375rem .375rem 0 var(--glass)}
.pane--pad{padding:clamp(1.25rem,3.2vw,2rem)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.125rem,3vw,1.75rem)}
.note{border-left:3px solid var(--glass-deep);background:var(--glass-wash);padding:.875rem 1.125rem;border-radius:0 var(--radius) var(--radius) 0;font-size:.9375rem;line-height:1.5;color:var(--ink-2)}
.note--red{border-left-color:var(--red);background:var(--red-wash)}
.note strong{color:var(--ink);font-weight:600}
.tag{display:inline-block;padding:.2rem .625rem;border-radius:99px;background:var(--glass);color:var(--glass-ink);font:600 .75rem/1.4 var(--text)}
.tag--plain{background:#e9edef;color:var(--ink-2)}
.tag--red{background:var(--red-wash);color:var(--red-deep)}
.plate{display:inline-block;max-width:100%;padding:.45rem .75rem .4rem;border:2px solid var(--ink);border-radius:.375rem;background:#fff;font:600 1.375rem/1.05 var(--display);letter-spacing:.035em;text-transform:uppercase}
.plate--sm{font-size:1.125rem;padding:.3rem .55rem .26rem;border-width:1.5px}

/* ---------- hero ---------- */
.hero{background:#fff;border-bottom:1px solid var(--line);padding-block:clamp(2.25rem,6vw,4.5rem) clamp(3rem,7vw,5.5rem)}
.hero__grid{display:grid;gap:clamp(1.5rem,4vw,2.25rem);grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "pane" "more"}
.hero__copy{grid-area:copy}
.hero__pane{grid-area:pane}
.hero__more{grid-area:more}
@media (min-width:62rem){
  .hero__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);grid-template-rows:auto 1fr;grid-template-areas:"copy pane" "more pane";column-gap:clamp(2rem,5vw,4rem);row-gap:1.75rem}
  .hero__copy{align-self:start;padding-top:clamp(.5rem,2.5vw,2.25rem)}
  .hero__more{align-self:start}
  .hero__pane{align-self:start}
}
.hero__copy > * + *,.hero__more > * + *{margin-top:1.25rem}
.hero__alt{display:flex;flex-wrap:wrap;gap:.375rem 1.25rem;align-items:baseline;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.9375rem}
.hero__alt span{color:var(--ink-3)}

/* ---------- glass picker ---------- */
.picker__head > * + *{margin-top:.375rem}
.picker{container:picker / inline-size}
.picker__body{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr);margin-top:1.25rem}
@container picker (min-width:26rem){
  .picker__body{grid-template-columns:minmax(0,13rem) minmax(0,1fr);align-items:center}
  .picker__body .opts--2{grid-template-columns:minmax(0,1fr)}
}
@container picker (min-width:38rem){
  .picker__body{grid-template-columns:minmax(0,14.5rem) minmax(0,1fr)}
  .picker__body .opts--2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.picker__note{margin-top:.5rem;text-align:center}
.picker__foot{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.picker__foot > * + *{margin-top:.75rem}
.car{width:100%;max-width:15.5rem;margin-inline:auto;overflow:visible}
.car__body{fill:#fff;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.car__roof{fill:#f3f6f5;stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.car__line{fill:none;stroke:var(--ink);stroke-width:1;stroke-linecap:round;opacity:.4;vector-effect:non-scaling-stroke}
.car__lamp{fill:#e7ecee;stroke:var(--ink);stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.car__hit{fill:transparent;stroke:none;pointer-events:all}
.car__pane{cursor:pointer;-webkit-tap-highlight-color:transparent}
.car__glass{fill:var(--glass);stroke:var(--glass-ink);stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .15s}
.car__pane:hover .car__glass{fill:#b9ddd5}
.car__crack{pointer-events:none;fill:none;stroke:var(--red);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;vector-effect:non-scaling-stroke}
.car__pane.is-on .car__glass{fill:var(--red-wash);stroke:var(--red);stroke-width:2}
.car__pane.is-on .car__crack{opacity:1}
.car__text{font:500 13px var(--text);fill:var(--ink-3)}
.car--static .car__pane{cursor:default}
.car--static .car__pane:hover .car__glass{fill:var(--glass)}
/* Drawings whose glass opens the request form: pointing at a pane shows it as the damaged one. */
.car--go .car__pane:hover .car__glass,.car--go .car__pane.is-hot .car__glass{fill:var(--red-wash);stroke:var(--red);stroke-width:2}
.car--go .car__pane:hover .car__crack,.car--go .car__pane.is-hot .car__crack{opacity:1}
.golist{align-content:start}
.go{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.75rem;height:100%;padding:.5rem .625rem .5rem .75rem;border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;font-size:.875rem;line-height:1.25;text-decoration:none;color:var(--ink)}
.go::after{content:"";flex:none;width:.5rem;height:.5rem;margin-right:.2rem;border-top:2px solid var(--ink-3);border-right:2px solid var(--ink-3);transform:rotate(45deg)}
.go:hover,.go.is-hot{border-color:var(--red);background:var(--red-wash)}
.go:hover::after,.go.is-hot::after{border-color:var(--red)}
.hero__area{font:600 1.0625rem/1.35 var(--text);color:var(--glass-ink)}

/* ---------- option controls (checkbox and radio rows) ---------- */
.opts{display:grid;gap:.5rem;grid-template-columns:minmax(0,1fr)}
.opts--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.opts--2 .opt__box{padding:.5rem .625rem;gap:.5rem;font-size:.875rem}
@media (min-width:40rem){.opts--3{grid-template-columns:repeat(3,minmax(0,1fr))}.opts--wide2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.opt{position:relative;display:block}
.opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.opt__box{display:flex;align-items:center;gap:.625rem;min-height:2.75rem;height:100%;padding:.5rem .75rem;border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;font-size:.9375rem;line-height:1.25}
.opt__box::before{content:"";flex:none;width:1.125rem;height:1.125rem;border:1.5px solid var(--ink-3);border-radius:.25rem;background:#fff center/72% no-repeat}
.opt input[type="radio"] + .opt__box::before{border-radius:50%}
.opt input:hover + .opt__box{border-color:var(--ink-3)}
.opt input:checked + .opt__box{border-color:var(--ink);background:var(--glass-wash)}
.opt input:checked + .opt__box::before{border-color:var(--ink);background-color:var(--ink);background-image: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='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.opt input[type="radio"]:checked + .opt__box::before{background-image:none;box-shadow:inset 0 0 0 3px #fff}
.opt input:focus-visible + .opt__box{outline:3px solid var(--focus);outline-offset:2px}
.opt--damage input:checked + .opt__box{border-color:var(--red);background:var(--red-wash)}
.opt--damage input:checked + .opt__box::before{border-color:var(--red);background-color:var(--red)}

/* ---------- service index ---------- */
.svc{display:grid;gap:clamp(1.75rem,4vw,3rem);grid-template-columns:minmax(0,1fr)}
@media (min-width:58rem){.svc{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}
.svc__feature{display:block;text-decoration:none;color:inherit}
.svc__feature > * + *{margin-top:1rem}
/* The featured service shows the vehicle picture, cropped close to the glass. */
.svc__photo{display:block;overflow:hidden;border-radius:var(--radius);aspect-ratio:16/10;background:#05080d}
.svc__photo img{display:block;width:167%;max-width:none;height:auto;margin:-6% 0 0 -30%}
.svc__feature:hover .subtitle,.svc__row:hover .subtitle{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:.18em}
.svc__list{border-bottom:1px solid var(--line)}
.svc__row{display:grid;grid-template-columns:5.25rem minmax(0,1fr);gap:1.125rem;align-items:center;padding:1rem 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}
@media (min-width:34rem){.svc__row{grid-template-columns:7rem minmax(0,1fr);gap:1.5rem}}
.svc__row .art{height:3.75rem}
.svc__row p{margin-top:.2rem;font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
.svc-group + .svc-group{margin-top:clamp(2.5rem,6vw,4rem)}
.svc-cards{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:40rem){.svc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.svc-card{display:grid;gap:1rem;align-content:start;padding:clamp(1.125rem,3vw,1.5rem);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);text-decoration:none;color:inherit}
.svc-card:hover{border-color:var(--ink)}
.svc-card__art{height:clamp(7rem,20vw,10.5rem)}
.svc-card__art .art{width:100%;height:100%}
.svc-card p{font-size:.9375rem;line-height:1.5;color:var(--ink-2)}
.svc-card ul{font-size:.875rem;line-height:1.45;color:var(--ink-3);padding-left:1.1em;list-style:disc}

/* ---------- steps (a real sequence) ---------- */
.steps{display:grid;gap:1.75rem;grid-template-columns:minmax(0,1fr);counter-reset:step}
@media (min-width:48rem){.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}}
.steps > li{counter-increment:step;padding-top:1rem;border-top:2px solid var(--ink)}
.steps > li::before{content:counter(step);display:block;margin-bottom:.375rem;font:600 3.25rem/1 var(--display);color:var(--red)}
.steps p{margin-top:.375rem;color:var(--ink-2)}
.band--ink .steps > li{border-top-color:rgba(255,255,255,.55)}
.band--ink .steps > li::before{color:#ff8f9f}
.band--ink .steps p,.band--ink .lede,.band--ink .muted{color:#c9d4e4}

/* ---------- lists ---------- */
.checklist{display:grid;gap:.75rem}
.checklist > li{display:grid;grid-template-columns:1.375rem minmax(0,1fr);gap:.75rem;align-items:start}
.checklist > li::before{content:"";width:1.375rem;height:1.375rem;margin-top:.15rem;border-radius:50%;background:var(--glass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9L12.6 5' fill='none' stroke='%231c5a52' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat}
.checklist--open > li::before{background:none;border:2px solid var(--glass-deep)}
.checklist small{display:block;margin-top:.15rem;font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
.band--ink .checklist small{color:#c9d4e4}
.band--ink .checklist > li{padding-bottom:.875rem;border-bottom:1px solid rgba(255,255,255,.18)}
.rows{border-bottom:1px solid var(--line)}
.rows > li{padding:1rem 0;border-top:1px solid var(--line)}
.rows > li > * + *{margin-top:.25rem}
.rows p{color:var(--ink-2);font-size:.9375rem;line-height:1.5}
.rows--split > li{display:grid;gap:.25rem 1.5rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:40rem){.rows--split > li{grid-template-columns:minmax(0,14rem) minmax(0,1fr);align-items:baseline}.rows--split > li > * + *{margin-top:0}}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}
@media (min-width:40rem){.facts--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.facts dt{font-size:.8125rem;line-height:1.3;color:var(--ink-3)}
.facts dd{font:600 1.375rem/1.1 var(--display);letter-spacing:.01em}

/* ---------- diagrams ---------- */
.art{width:100%;height:auto;overflow:visible}
.art .o{fill:#fff;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.art .s{fill:#e7ecee;stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.art .l{fill:none;stroke:var(--ink);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;opacity:.45;vector-effect:non-scaling-stroke}
.art .g{fill:var(--glass);stroke:var(--glass-ink);stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.art .gl{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;opacity:.9;vector-effect:non-scaling-stroke}
.art .k{fill:var(--ink)}
.art .f{fill:var(--frit)}
.art .gr{fill:none;stroke:var(--line);stroke-width:1.5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.art .dash{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-dasharray:5 4;stroke-linecap:round;vector-effect:non-scaling-stroke}
.art .red{fill:none;stroke:var(--red);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.art .arm-o{fill:none;stroke:var(--ink);stroke-width:23;stroke-linejoin:round;stroke-linecap:round}
.art .arm-i{fill:none;stroke:#e7ecee;stroke-width:20;stroke-linejoin:round;stroke-linecap:round}
.art .ld{fill:none;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}
.art .mk__hit{fill:transparent}
.art .mk__halo{fill:var(--red);opacity:0;transition:opacity .15s}
.art .mk__dot{fill:var(--ink);transition:fill .15s}
.art .mk text{fill:#fff;font:600 17px var(--text);text-anchor:middle;pointer-events:none}
.art .mk--sm text{font-size:13px}
.art .etch{fill:var(--glass-ink);font:600 15px var(--display);letter-spacing:.08em}
.art .q{fill:var(--ink-3);font:600 40px var(--display)}
.art .gl,.art .ld{pointer-events:none}
.art--mini .l,.art--mini .gl{display:none}

/* Parts of a drawing that can be clicked: glass that starts a request, numbers that light up. */
.art .hot{cursor:pointer;-webkit-tap-highlight-color:transparent}
.art .hot .g{transition:fill .15s,stroke .15s}
.art .hot:hover .g,.art .hot:focus-visible .g{fill:#b9ddd5}
.art .hot:focus-visible .g{stroke:var(--focus);stroke-width:3}
.art .hot.is-on .g,.art .hot.is-on:hover .g{fill:var(--red-wash);stroke:var(--red);stroke-width:2}
.is-live .mk{cursor:pointer;-webkit-tap-highlight-color:transparent}
.is-live .mk:hover .mk__halo{opacity:.2}
.is-live .mk.is-lit .mk__dot{fill:var(--red)}
.is-live .mk.is-lit .mk__halo{opacity:.3}
.is-live .mk:focus,.art .hot:focus:not(:focus-visible),.car__pane:focus:not(:focus-visible){outline:none}
.is-live .mk:focus-visible .mk__halo{opacity:1;fill:none;stroke:var(--focus);stroke-width:3;vector-effect:non-scaling-stroke}
.art .is-lit.g,.art .hot:hover .is-lit.g,.art .is-lit.s,.art .is-lit.o{fill:var(--red-wash);stroke:var(--red);stroke-width:2}
.art .is-lit.l{stroke:var(--red);stroke-width:2.2;opacity:1}
.art .is-lit.dash{stroke:var(--red);stroke-width:2.2;fill:var(--red-wash)}
.art .is-lit.f{fill:var(--red-deep)}
.art .is-lit.k{fill:var(--red)}
.art .etch.is-lit,.art .etch .is-lit{fill:var(--red)}
@media (prefers-reduced-motion:reduce){.art .mk__halo,.art .mk__dot,.art .hot .g{transition:none}}
.figure > * + *{margin-top:.75rem}
.diagram{display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr);align-items:center}
@media (min-width:56rem){.diagram{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.diagram--narrow{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.key{display:grid;gap:.875rem;counter-reset:key}
.key > li{counter-increment:key;display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:.75rem;align-items:start}
.key > li::before{content:counter(key);display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--ink);color:#fff;font:600 .875rem/1 var(--text)}
.key strong{display:block;font-weight:600}
.key span{display:block;font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
.key a{color:inherit;text-decoration:underline;text-decoration-color:var(--glass-deep);text-decoration-thickness:2px;text-underline-offset:.2em}
.key a:hover{text-decoration-color:var(--red)}
.is-live .key > li{margin:-.375rem -.5rem;padding:.375rem .5rem;border-radius:var(--radius);cursor:pointer}
.is-live .key > li:hover{background:var(--glass-wash)}
.is-live .key > li.is-lit{background:var(--red-wash)}
.is-live .key > li.is-lit::before{background:var(--red)}
.band--white .is-live .key > li:hover{background:var(--paper)}
.band--white .is-live .key > li.is-lit{background:var(--red-wash)}
.callout{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .875rem;min-height:3.375rem;padding:.625rem .875rem;border-radius:var(--radius);background:var(--glass-wash);font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
.callout:empty{display:none}
.callout.is-lit{background:var(--red-wash);color:var(--ink)}
.callout__n{flex:none;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--red);color:#fff;font:600 .875rem/1 var(--text)}
.callout__text{flex:1 1 12rem;min-width:0}
.callout__text strong{font-weight:600}
.callout .btn{background:#fff}
.callout .btn:hover{background:var(--ink)}
.styles{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:40rem){.styles{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}}
.styles .art{max-width:5.5rem;margin-inline:auto}
.styles--mini{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}
.stylecard{display:grid;gap:.625rem;justify-items:center;align-content:start;padding:1rem .5rem .875rem;border:1.5px solid var(--line);border-radius:.75rem;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .15s,background-color .15s}
.stylecard .art{width:100%}
.stylecard:hover{border-color:var(--red);background:var(--red-wash)}
.stylecard:hover .g{fill:#fff;stroke:var(--red)}
.stylecard__name{font-size:.875rem;line-height:1.3;font-weight:600;text-align:center}
@media (prefers-reduced-motion:reduce){.stylecard{transition:none}}

/* ---------- showroom band ---------- */
.frit-edge{height:48px;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='48' viewBox='0 0 16 48'%3E%3Cg fill='%2306090f'%3E%3Ccircle cx='8' cy='5' r='1'/%3E%3Ccircle cx='0' cy='13' r='1.9'/%3E%3Ccircle cx='16' cy='13' r='1.9'/%3E%3Ccircle cx='8' cy='21' r='2.9'/%3E%3Ccircle cx='0' cy='29' r='4'/%3E%3Ccircle cx='16' cy='29' r='4'/%3E%3Ccircle cx='8' cy='37' r='5.2'/%3E%3Ccircle cx='0' cy='45' r='6.6'/%3E%3Ccircle cx='16' cy='45' r='6.6'/%3E%3C/g%3E%3C/svg%3E") left bottom/16px 48px repeat-x}
.frit-edge--white{background-color:#fff}
.frit-edge--out{transform:scaleY(-1)}
.showroom{background:var(--frit);color:#fff;padding-block:clamp(1.5rem,4vw,3rem) clamp(2.5rem,6vw,4.5rem)}
.showroom__grid{display:grid;gap:clamp(1.25rem,4vw,3rem);grid-template-columns:minmax(0,1fr);align-items:center}
@media (min-width:60rem){.showroom__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.showroom__img{order:2}}
.showroom__img img{width:100%}
/* Home page: the vehicle picture leads, on the frit-black of a showroom. Its glass is tappable and the list below offers every piece. */
.heropic{margin:0;background:var(--frit);border-radius:var(--radius-lg);overflow:hidden}
.heropic figcaption{padding:.125rem 1rem .875rem;font-size:.8125rem;line-height:1.45;color:#93a1b5}
.heropick{margin-top:1rem}
.heropick .golist{margin-top:1rem}
.hotpic__pane.is-hot polygon{fill:rgba(211,234,229,.42);stroke:#fff;stroke-dasharray:none}
.hotpic{position:relative}
.hotpic img{width:100%}
.hotpic__map{position:absolute;inset:0;width:100%;height:100%}
.hotpic__pane polygon{fill:rgba(211,234,229,0);stroke:rgba(211,234,229,.6);stroke-width:1.5;stroke-dasharray:5 4;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s,stroke .15s}
.hotpic__pane:hover polygon,.hotpic__pane:focus-visible polygon{fill:rgba(211,234,229,.42);stroke:#fff;stroke-dasharray:none}
.hotpic__pane:focus{outline:none}
.hotpic__pane:focus-visible polygon{stroke:#9cc2ff;stroke-width:3}
@media (prefers-reduced-motion:reduce){.hotpic__pane polygon{transition:none}}
.showroom__img figcaption{margin-top:.25rem;font-size:.8125rem;line-height:1.45;color:#93a1b5}
.showroom .lede{color:#c2cddc}
.guides{margin-top:1.75rem;border-bottom:1px solid rgba(255,255,255,.22)}
.guides a{display:block;padding:1rem 0;border-top:1px solid rgba(255,255,255,.22);text-decoration:none;color:#fff}
.guides a:hover .subtitle{text-decoration:underline;text-decoration-color:#ff8f9f;text-decoration-thickness:2px;text-underline-offset:.18em}
.guides span{display:block;margin-top:.2rem;font-size:.9375rem;line-height:1.45;color:#b3c0d1}

/* ---------- FAQ ---------- */
.faq{border-bottom:1px solid var(--line)}
.faq details{border-top:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.125rem 0;cursor:pointer;list-style:none;font:600 1.125rem/1.35 var(--text)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:1.125rem;height:1.125rem;background:linear-gradient(var(--ink),var(--ink)) center/100% 2px no-repeat,linear-gradient(var(--ink),var(--ink)) center/2px 100% no-repeat}
.faq details[open] summary::after{background:linear-gradient(var(--ink),var(--ink)) center/100% 2px no-repeat}
.faq details p{padding-bottom:1.25rem;max-width:36em;color:var(--ink-2)}

/* ---------- inner page head ---------- */
.pagehead{background:#fff;border-bottom:1px solid var(--line);padding-block:clamp(1.75rem,4.5vw,3.25rem) clamp(2rem,5vw,3.5rem)}
.pagehead__grid{display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr);align-items:center}
@media (min-width:56rem){.pagehead__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.pagehead__copy > * + *{margin-top:1.125rem}
.pagehead--compact{padding-block:clamp(1.25rem,3vw,2rem) clamp(1.25rem,3vw,2rem)}
.pagehead--compact .display--page{font-size:clamp(2rem,5.5vw,3rem)}
.pagehead--compact .lede{font-size:1.0625rem}
.pagehead--compact .pagehead__copy > * + *{margin-top:.625rem}
.pagehead--compact + .band{padding-top:clamp(1.5rem,4vw,2.5rem)}
.crumbs{display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.875rem;line-height:1.4;color:var(--ink-3)}
.crumbs li + li::before{content:"/";margin-right:.5rem;color:var(--line)}
.crumbs a{text-underline-offset:.2em}
.pagehead__art .art{max-width:30rem;margin-inline:auto}

/* ---------- forms ---------- */
.field{display:grid;gap:.375rem}
.field + .field,.field + .fieldset,.fieldset + .field,.fieldset + .fieldset{margin-top:1.5rem}
.field__label,.fieldset > legend{font:600 1rem/1.35 var(--text)}
.fieldset > legend{margin-bottom:.625rem}
.field__hint{font-size:.875rem;line-height:1.45;color:var(--ink-3)}
.field__opt{font-weight:400;color:var(--ink-3)}
.input,.select,.textarea{width:100%;min-height:3rem;padding:.625rem .875rem;border:1.5px solid #94a3b0;border-radius:var(--radius);background:#fff;font-size:1rem;line-height:1.4}
.select{appearance:none;-webkit-appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%230d2545' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;background-size:.875rem}
.textarea{min-height:6.5rem;resize:vertical}
.input:disabled,.select:disabled{background-color:#edf0f1;border-color:var(--line);color:#7b8794}
.input--short{max-width:9rem}
.input[aria-invalid="true"],.select[aria-invalid="true"]{border-color:var(--red)}
.error{font-size:.9375rem;line-height:1.45;font-weight:500;color:var(--red-deep)}
.error[data-errors]{margin-bottom:1.25rem;padding:.75rem 1rem;border-left:3px solid var(--red);border-radius:0 var(--radius) var(--radius) 0;background:var(--red-wash)}
.error[data-errors] p + p{margin-top:.25rem}
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,9rem));gap:.75rem;align-items:end}
.pair > .field + .field{margin-top:0}
.grid2{display:grid;gap:1.5rem 1rem;grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:36rem){.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.grid2 > .field + .field{margin-top:0}
.field + .grid2,.grid2 + .field,.grid2 + .grid2,.grid2 + .fieldset,.fieldset + .grid2{margin-top:1.5rem}
.formpart + .formpart{margin-top:2.25rem;padding-top:2rem;border-top:1px solid var(--line)}
.formpart > .subtitle{margin-bottom:1.25rem}
.nextsteps{display:grid;gap:1rem;margin-top:1rem;counter-reset:next}
.nextsteps > li{counter-increment:next;display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:.125rem .75rem;font-size:.9375rem;line-height:1.45}
.nextsteps > li::before{content:counter(next);grid-row:span 2;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--ink);color:#fff;font:600 .875rem/1 var(--text)}
.nextsteps strong{font-weight:600}
.nextsteps span{grid-column:2;color:var(--ink-2)}
.textbtn{justify-self:start;padding:.25rem 0;border:0;background:none;text-align:left;font-size:.875rem;font-weight:500;text-decoration:underline;text-underline-offset:.2em;color:var(--ink-2)}
.textbtn:hover{color:var(--red-deep)}

/* ---------- vehicle selector ---------- */
.sel{counter-reset:sel}
.sel__vin{display:grid;gap:.375rem;padding-bottom:1.375rem;margin-bottom:1.375rem;border-bottom:1px solid var(--line)}
.sel__vin .input,.input--vin{text-transform:uppercase;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.sel__vinnote{padding:.625rem .875rem;border-radius:var(--radius);background:var(--glass-wash);font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
.sel__step{position:relative;display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:0 1rem;padding-bottom:1.375rem;counter-increment:sel}
.sel__step::before{content:counter(sel);display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1.5px solid var(--line);border-radius:50%;background:#fff;font:600 1.125rem/1 var(--display);color:var(--ink-3);position:relative;z-index:1}
.sel__step:not(:last-child)::after{content:"";position:absolute;left:calc(1.125rem - 1px);top:2.25rem;bottom:0;width:2px;background:var(--line)}
.sel__step.is-next::before{border-color:var(--ink);color:var(--ink)}
.sel__step.is-done::before{content:"";border-color:var(--glass-ink);background:var(--glass-ink) 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='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/55% no-repeat}
.sel__step.is-done:not(:last-child)::after{background:var(--glass-ink)}
.sel__body{display:grid;gap:.375rem;min-width:0}
.sel__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;min-height:2.25rem;align-content:center}
.sel__state{font-size:.8125rem;line-height:1.3;color:var(--ink-3)}
.sel__step.is-done .sel__state{color:var(--glass-ink);font-weight:500}
.sel__status{margin-top:.25rem;padding:.75rem 1rem;border-radius:var(--radius);background:var(--glass-wash);font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
.sel__result{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.sel__result > * + *{margin-top:.75rem}

/* ---------- request flow ---------- */
.req{display:grid;gap:clamp(1.5rem,4vw,2.5rem);grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:62rem){.req{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}.req__aside{position:sticky;top:1.5rem}}
.progress{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1.5rem}
.progress__bar{display:flex;gap:.25rem;flex:1 1 8rem;min-width:8rem}
.progress__bar i{flex:1;height:.375rem;border-radius:99px;background:var(--line)}
.progress__bar i.is-on{background:var(--ink)}
.progress__text{font-size:.875rem;font-weight:500;color:var(--ink-2)}
.req__step > .title{font-size:clamp(1.75rem,4.6vw,2.5rem)}
.req__step > .title:focus{outline:none}
.req__step > * + *{margin-top:1.25rem}
.req__nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.tiles{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:44rem){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tile{position:relative;display:block}
.tile input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.tile__box{display:grid;gap:.5rem;align-content:start;height:100%;padding:.875rem;border:1.5px solid var(--line);border-radius:.75rem;background:#fff}
.tile__art{height:3.75rem}
.tile__art .art{width:100%;height:100%}
.tile__name{font:600 .9375rem/1.25 var(--text)}
.tile input:hover + .tile__box{border-color:var(--ink-3)}
.tile input:checked + .tile__box{border-color:var(--ink);background:var(--glass-wash);box-shadow:inset 0 0 0 1px var(--ink)}
.tile input:focus-visible + .tile__box{outline:3px solid var(--focus);outline-offset:2px}
/* Answers given by tapping a picture: any number of tiles, or the parts of one drawing. */
.tiles--pick .tile__box{position:relative;justify-items:center;text-align:center}
.tiles--pick .tile__art{width:100%;height:5.25rem}
.tiles--pick .tile input:checked + .tile__box::after{content:"";position:absolute;top:.5rem;right:.5rem;width:1.375rem;height:1.375rem;border-radius:50%;background:var(--ink) 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='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/62% no-repeat}
.spick{display:grid;gap:1rem 1.5rem;grid-template-columns:minmax(0,1fr);align-items:center}
@media (min-width:40rem){.spick{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
.summary{border-bottom:1px solid var(--line)}
.summary > div{display:grid;grid-template-columns:minmax(0,1fr);gap:.125rem 1rem;padding:.75rem 0;border-top:1px solid var(--line)}
@media (min-width:34rem){.summary > div{grid-template-columns:9.5rem minmax(0,1fr)}}
.summary dt{font-size:.875rem;line-height:1.5;color:var(--ink-3)}
.summary dd{font-weight:500;line-height:1.45}
.aside__title{font:600 1.25rem/1.15 var(--display)}
.aside__list{margin-top:.875rem;display:grid;gap:.75rem;font-size:.9375rem;line-height:1.4}
.aside__list dt{font-size:.8125rem;color:var(--ink-3)}
.aside__list dd{font-weight:500}
.copybox{width:100%;min-height:9rem;padding:.75rem .875rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font:400 .875rem/1.5 var(--text);resize:vertical}

/* ---------- guides ---------- */
.source{padding:1rem 1.125rem;border:1px solid var(--line);border-left:3px solid var(--ink);border-radius:0 var(--radius) var(--radius) 0;background:#fff;font-size:.9375rem;line-height:1.5}
.source > * + *{margin-top:.375rem}
.source dt{display:inline;color:var(--ink-3)}
.source dd{display:inline;font-weight:500}
.source a{font-weight:500;overflow-wrap:anywhere}
.empty{padding:1.125rem 1.25rem;border:1.5px dashed #a9b6bf;border-radius:var(--radius-lg);background:transparent}
.empty > * + *{margin-top:.5rem}
.empty p{font-size:.9375rem;line-height:1.5;color:var(--ink-2)}
.guide-grid{display:grid;gap:clamp(1.5rem,4vw,2.5rem);grid-template-columns:minmax(0,1fr)}
@media (min-width:56rem){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.guide-block > * + *{margin-top:.875rem}
.guide-hero{background:var(--frit);border-radius:var(--radius-lg);overflow:hidden}
.guide-hero figcaption{padding:0 1rem .875rem;font-size:.8125rem;line-height:1.45;color:#93a1b5}

/* ---------- forum: profiles, contests ---------- */
.profile__top{display:flex;flex-wrap:wrap;align-items:center;gap:.875rem 1rem}
.avatar{flex:none;display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--ink);color:#fff;font:600 1.375rem/1 var(--display);letter-spacing:.03em}
.profile__id{flex:1 1 10rem;min-width:0}
.profile__id p{font-size:.9375rem;color:var(--ink-2)}
.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.125rem 1.25rem;margin-top:1.375rem;padding-top:1.375rem;border-top:1px solid var(--line)}
@media (min-width:40rem){.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
.metric dt{font-size:.8125rem;line-height:1.3;color:var(--ink-3)}
.metric dd{margin-top:.2rem;font:600 1.875rem/1 var(--display);letter-spacing:.005em;font-variant-numeric:tabular-nums}
.metric dd small{display:block;margin-top:.3rem;font:400 .8125rem/1.3 var(--text);letter-spacing:0;color:var(--ink-3)}
.metric--text dd{font-size:1.375rem;line-height:1.1}
.activity{margin-top:1.375rem;padding-top:1.375rem;border-top:1px solid var(--line)}
.activity__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;font-size:.875rem;line-height:1.4}
.legend{display:flex;gap:1rem;color:var(--ink-2)}
.legend i{display:inline-block;width:.625rem;height:.625rem;margin-right:.375rem;border-radius:2px;background:var(--ink)}
.legend i.is-resp{background:var(--glass-deep)}
.bars{display:flex;align-items:flex-end;gap:2px;height:4.5rem;margin-top:.75rem;border-bottom:1px solid var(--line)}
.bars span{flex:1;display:flex;flex-direction:column-reverse;justify-content:flex-start;min-width:0;height:100%}
.bars b{display:block;background:var(--glass-deep)}
.bars b.is-post{background:var(--ink)}
.byline{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center;font-size:.875rem;line-height:1.4;color:var(--ink-2)}
.byline strong{color:var(--ink);font-weight:600}
.contest{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:52rem){.contest{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fix{display:grid;gap:.875rem;align-content:start;padding:1.25rem;background:#fff;border:1px solid var(--line);border-top:4px solid var(--ink);border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.fix--day{border-top-color:var(--glass-deep)}
.fix--week{border-top-color:var(--glass-ink)}
.fix--month{border-top-color:var(--red)}
.fix__period{font:600 1.375rem/1.1 var(--display)}
.fix__title{font-weight:600;line-height:1.35}
.votes{display:grid;gap:.5rem}
.vote{display:grid;grid-template-columns:5.75rem minmax(0,1fr) 2.25rem;gap:.625rem;align-items:center;font-size:.875rem;line-height:1.3}
.vote__track{height:.5rem;border-radius:99px;background:#e6ebed;overflow:hidden}
.vote__track i{display:block;height:100%;border-radius:99px;background:var(--ink)}
.vote__n{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.fix__score{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:.75rem;border-top:1px solid var(--line);font-size:.875rem;color:var(--ink-2)}
.fix__score b{font:600 1.625rem/1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums}
.votebtns{display:flex;flex-wrap:wrap;gap:.5rem}
.votebtn{display:inline-flex;align-items:center;gap:.5rem;min-height:2.5rem;padding:.375rem .75rem;border:1.5px solid var(--line);border-radius:99px;background:#fff;font-size:.875rem;font-weight:500}
.votebtn[aria-pressed="true"]{border-color:var(--ink);background:var(--glass-wash)}
.votebtn b{font-variant-numeric:tabular-nums}

/* ---------- glossary ---------- */
.gloss__tools{display:grid;gap:1rem;max-width:44rem}
.jumps{display:flex;flex-wrap:wrap;gap:.5rem}
.jumps a{display:inline-flex;align-items:center;min-height:2.5rem;padding:.375rem .875rem;border:1.5px solid var(--line);border-radius:99px;background:#fff;font-size:.875rem;font-weight:500;line-height:1.2;text-decoration:none}
.jumps a:hover{border-color:var(--ink)}
.gloss__group{margin-top:clamp(2rem,5vw,3rem);padding-top:clamp(1.5rem,4vw,2.25rem);border-top:2px solid var(--ink);scroll-margin-top:1rem}
.gloss__head{display:grid;gap:1.25rem 2rem;grid-template-columns:minmax(0,1fr);align-items:end;margin-bottom:1.25rem}
@media (min-width:48rem){.gloss__head{grid-template-columns:minmax(0,1fr) minmax(0,14rem)}}
.gloss__head .muted{margin-top:.5rem;max-width:34em}
.gloss__art{max-width:14rem}
.gloss__art .car{max-width:6rem;margin-inline:0}
.gloss__art .car__text{display:none}
.terms{display:grid;gap:0 2.5rem;grid-template-columns:minmax(0,1fr);border-bottom:1px solid var(--line)}
@media (min-width:52rem){.terms{grid-template-columns:repeat(2,minmax(0,1fr))}}
.term{padding:1rem .75rem 1rem .875rem;border-top:1px solid var(--line);border-left:3px solid transparent;scroll-margin-top:1rem}
.term dt{font:600 1.0625rem/1.3 var(--text)}
.term dd{margin-top:.25rem;font-size:.9375rem;line-height:1.55;color:var(--ink-2)}
.term:target{border-left-color:var(--red);background:var(--red-wash)}
.term__go{white-space:nowrap}

/* ---------- call panel ---------- */
.call > * + *{margin-top:.875rem}
.phone{display:inline-block;font:600 clamp(2.25rem,8vw,3.5rem)/1 var(--display);letter-spacing:.01em;text-decoration:none;color:var(--ink)}
.phone:hover{color:var(--red-deep)}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:#cdd7e5;padding-block:clamp(2.5rem,6vw,4rem) 2rem}
.foot__grid{display:grid;gap:2rem 2.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.foot__brand{grid-column:1 / -1}
@media (min-width:52rem){.foot__grid{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}.foot__brand{grid-column:auto}}
.foot .brand{color:#fff}
.foot .brand__tag{color:#a9b8cc}
.foot__brand p{margin-top:1rem;max-width:24em;font-size:.9375rem;line-height:1.5}
.foot__h{margin-bottom:.625rem;font:600 .9375rem/1.3 var(--text);color:#fff}
.foot__links{display:grid;gap:.125rem;font-size:.9375rem}
.foot__links a{display:inline-block;padding-block:.3rem;color:#e6ecf4;text-decoration:none}
.foot__links a:hover{text-decoration:underline;text-underline-offset:.2em}
.foot__note{margin-top:2.25rem;padding-top:1.375rem;border-top:1px solid rgba(255,255,255,.2);font-size:.8125rem;line-height:1.55;color:#a9b8cc}
.foot__note p{max-width:62em}
.foot__note p + p{margin-top:.5rem}
.foot a{color:#fff}
.foot__legal{display:flex;flex-wrap:wrap;gap:0 1.75rem;margin-top:.625rem}
.foot__legal a{display:inline-block;padding-block:.625rem;color:#e6ecf4;text-underline-offset:.2em}
