
:root{--paper:#FFFFFF;--tx:#111111;--dim:#555555;--red:#E9012E;--redtx:#C2001F;
--mist:#F6F5F4;--line:#E4E2E0;--frame:#111111;--onred:#FFFFFF;
--fsz:1;--msz:clamp(2.6rem,8.6vw,6.2rem)}
:root.dk{--paper:#111111;--tx:#F5F3F1;--dim:#BDB8B4;--redtx:#FF5C72;
--mist:#1B1A1A;--line:#2F2D2C;--frame:#F5F3F1}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem;font-size:calc(100%*var(--fsz))}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--tx);font-family:'Montserrat',system-ui,sans-serif;
font-size:1.0625rem;line-height:1.72;font-weight:400;
-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--redtx);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{text-decoration-thickness:3px}
p>a:only-child{display:inline-block;padding-block:.25rem}
:focus-visible{outline:3px solid var(--redtx);outline-offset:3px;border-radius:2px}
::selection{background:#E9012E;color:#fff}
.wrap{max-width:76rem;margin:0 auto;padding:0 clamp(1.1rem,4.5vw,2.5rem)}
.skip{position:absolute;left:-200vw;top:0;background:var(--red);color:#fff;padding:.8rem 1.4rem;z-index:300;font-weight:700;border-radius:0 0 .6rem 0}
.skip:focus{left:0}
/* ---------- headline system: crimson full stop ---------- */
h1,h2,h3{font-weight:900;letter-spacing:-.028em;line-height:1.04;text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(2.3rem,6vw,4.3rem)}
h2{font-size:clamp(1.8rem,4.2vw,2.9rem)}
h3{font-size:clamp(1.18rem,2vw,1.42rem);letter-spacing:-.015em;line-height:1.25}
.rp{color:var(--red)}
.kick{display:block;color:var(--redtx);font-weight:700;font-size:.95rem;letter-spacing:.01em;margin-bottom:.9rem}
.lede{color:var(--dim);font-size:1.17rem;line-height:1.65;max-width:44rem;font-weight:500}
p{max-width:44rem}
/* ---------- rabbit progress ---------- */
.trk{position:fixed;top:0;left:0;right:0;height:4px;z-index:120;pointer-events:none}
.trk i{position:absolute;inset:0;background:var(--red);transform-origin:0 50%;transform:scaleX(0)}
.trk .rab{position:absolute;top:3px;width:30px;height:21px;transform:translateX(-100%)}
@media(prefers-reduced-motion:reduce){.trk .rab{display:none}}
:root.rm .trk .rab{display:none}
/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:110;background:color-mix(in srgb,var(--paper) 88%,transparent);
backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.4rem}
.lg{display:flex;align-items:center;text-decoration:none}
.lg img{height:2.1rem;width:auto}
.lg .lgd{display:none}
:root.dk .lg .lgl{display:none}
:root.dk .lg .lgd{display:block}
:root.cm-hcd .lg .lgl,:root.cm-yb .lg .lgl{display:none}
:root.cm-hcd .lg .lgd,:root.cm-yb .lg .lgd{display:block}
:root.cm-hcd .fhead .flgl,:root.cm-yb .fhead .flgl{display:none}
:root.cm-hcd .fhead .flgd,:root.cm-yb .fhead .flgd{display:block}
.tbar{display:flex;align-items:center;gap:.5rem}
.icb{appearance:none;border:2px solid var(--frame);background:transparent;color:var(--tx);
width:2.7rem;height:2.7rem;border-radius:50%;cursor:pointer;display:grid;place-items:center;font:inherit}
.icb:hover{border-color:var(--red);color:var(--redtx)}
.mb{appearance:none;border:0;background:var(--tx);color:var(--paper);font:inherit;font-weight:800;
padding:.72rem 1.5rem;border-radius:99px;cursor:pointer;display:flex;align-items:center;gap:.55rem}
.mb .d{width:.55em;height:.55em;border-radius:50%;background:var(--red)}
.mb:hover{background:var(--red);color:#fff}
.mb:hover .d{background:#fff}
/* ---------- fullscreen menu ---------- */
.menu{position:fixed;inset:0;z-index:200;background:radial-gradient(circle at 0% 100%,rgba(233,1,46,.38),rgba(233,1,46,0) 26rem),linear-gradient(130deg,#6B0117 0%,#520112 55%,#37000C 100%);color:#fff;display:none;overflow:auto}
.menu.on{display:block}
.menu .wrap{min-height:100%;display:flex;flex-direction:column;padding-top:1.2rem;padding-bottom:2rem}
.mhead{display:flex;justify-content:space-between;align-items:center;min-height:3.2rem}
.mhead img{height:2rem}
.mx{appearance:none;border:2px solid #fff;background:transparent;color:#fff;width:2.9rem;height:2.9rem;
border-radius:50%;font-size:1.3rem;font-weight:800;cursor:pointer;line-height:1}
.mx:hover{background:#fff;color:#520112}
.mnav{margin:auto 0;padding:2.5rem 0;display:grid;gap:.15em}
.mnav a{font-size:clamp(2.2rem,7.5vh,4rem);font-weight:900;letter-spacing:-.03em;color:#F6CBD3;
text-decoration:none;line-height:1.14;width:fit-content;display:flex;align-items:baseline;gap:.35em}
.mnav a small{font-size:.32em;font-weight:700;color:#fff;opacity:0;transform:translateX(-6px);transition:.18s}
.mnav a:hover,.mnav a[aria-current]{color:#fff}
.mnav a:hover small,.mnav a[aria-current] small{opacity:1;transform:none}
.msub{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;border-top:2px solid rgba(255,255,255,.28);padding-top:1.4rem}
.msub a{color:#fff;font-weight:700;text-decoration:none;font-size:1.02rem}
.msub a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}
.mtag{margin-top:1.6rem;font-weight:800;font-size:1rem;letter-spacing:.14em;color:#F6CBD3}
.mtag b{color:#fff}
@media(prefers-reduced-motion:no-preference){
.menu.on .mnav a{animation:mi .5s cubic-bezier(.2,.9,.3,1) backwards}
.menu.on .mnav a:nth-child(2){animation-delay:.04s}.menu.on .mnav a:nth-child(3){animation-delay:.08s}
.menu.on .mnav a:nth-child(4){animation-delay:.12s}.menu.on .mnav a:nth-child(5){animation-delay:.16s}
.menu.on .mnav a:nth-child(6){animation-delay:.2s}.menu.on .mnav a:nth-child(7){animation-delay:.24s}
@keyframes mi{from{opacity:0;transform:translateY(.6em)}}}
/* ---------- buttons ---------- */
.cta{display:inline-flex;align-items:center;gap:.6rem;background:var(--red);color:#fff;font-weight:800;
font-size:1.05rem;padding:1rem 2rem;border-radius:99px;text-decoration:none;border:2px solid var(--red)}
.cta:hover{background:transparent;color:var(--redtx)}
.cta.ghost{background:transparent;color:var(--tx);border-color:var(--frame)}
.cta.ghost:hover{border-color:var(--red);color:var(--redtx)}
.ctarow{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
/* ---------- sections ---------- */
section{padding:clamp(3.6rem,9vw,6.5rem) 0}
section.tight{padding:clamp(2.4rem,5vw,3.6rem) 0}
section.mist{background:var(--mist)}
.shead{margin-bottom:clamp(1.8rem,4vw,3rem);max-width:46rem}
.shead .lede{margin-top:1rem}
/* ---------- hero ---------- */
.hero{padding:clamp(3rem,8vw,5.5rem) 0 clamp(3rem,7vw,5rem)}
.hero h1{font-size:var(--msz);letter-spacing:-.035em;line-height:.99;max-width:11ch}
.hero h1 .w{display:inline-block}
.hero .lede{margin:1.6rem 0 2.2rem}
@media(prefers-reduced-motion:no-preference){
.hero h1 .w{animation:hw .7s cubic-bezier(.2,.9,.3,1) backwards}
.hero h1 .w:nth-child(2){animation-delay:.08s}.hero h1 .w:nth-child(3){animation-delay:.16s}
.hero h1 .w:nth-child(4){animation-delay:.24s}
.hero h1 .rp{display:inline-block;animation:hd .55s cubic-bezier(.3,1.6,.4,1) .45s backwards}
@keyframes hw{from{opacity:0;transform:translateY(.45em)}}
@keyframes hd{from{opacity:0;transform:translateY(-1.2em) scale(.6)}}}
.proof{display:flex;flex-wrap:wrap;gap:.6rem 2rem;margin-top:2.4rem;color:var(--dim);font-weight:600;font-size:.98rem}
.proof b{color:var(--tx)}
.proof span{display:flex;align-items:center;gap:.5rem}
.proof .d{width:.5em;height:.5em;border-radius:50%;background:var(--red);flex:none}
/* ---------- service index (editorial list) ---------- */
.sdx{border-top:2px solid var(--frame)}
.sdx a{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.4rem 1.5rem;
padding:1.35rem .2rem;border-bottom:2px solid var(--frame);text-decoration:none;color:var(--tx);position:relative}
.sdx .nm{font-weight:900;font-size:clamp(1.45rem,3.4vw,2.3rem);letter-spacing:-.025em;line-height:1.1;display:flex;align-items:center;gap:.9rem}
.sdx .nm svg{width:1.5rem;height:1.5rem;flex:none;color:var(--redtx)}
.sdx .ds{color:var(--dim);font-weight:500;font-size:1rem;text-align:right;max-width:22rem}
.sdx a:hover{background:var(--mist)}
.sdx a:hover .nm{color:var(--redtx)}
@media(max-width:720px){.sdx a{grid-template-columns:1fr}.sdx .ds{text-align:left}}
/* ---------- frames & grids ---------- */
.fr{border:2px solid var(--frame);border-radius:14px;overflow:hidden;background:var(--paper)}
.g2{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(min(21rem,100%),1fr))}
.g3{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(min(16.5rem,100%),1fr))}
.blk{border:2px solid var(--frame);border-radius:14px;padding:1.6rem;background:var(--paper)}
.blk h3{margin-bottom:.6rem;display:flex;align-items:center;gap:.7rem}
.blk h3 svg{width:1.35rem;height:1.35rem;color:var(--redtx);flex:none}
.blk p{color:var(--dim);font-size:.99rem;font-weight:500}
.blk ul{list-style:none;margin-top:.8rem;display:grid;gap:.45rem}
.blk li{display:flex;gap:.6rem;color:var(--dim);font-weight:500;font-size:.97rem;line-height:1.5}
.blk li::before{content:"";width:.45em;height:.45em;border-radius:50%;background:var(--red);flex:none;margin-top:.55em}
/* ---------- work wall ---------- */
.wall{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr))}
.wall a{border:2px solid var(--frame);border-radius:12px;overflow:hidden;display:block;position:relative;text-decoration:none}
.wall img{aspect-ratio:4/3;object-fit:cover;width:100%;filter:none;transition:transform .35s}
.wall a:hover img{transform:scale(1.04)}
.wall .cap{position:absolute;inset:auto 0 0 0;background:#111111E6;color:#fff;font-weight:700;font-size:.92rem;
padding:.55rem .9rem;display:flex;justify-content:space-between;gap:.5rem;align-items:center}
.wall .cap i{font-style:normal;color:#FF8296;font-weight:600;font-size:.82rem}
@media(prefers-reduced-motion:reduce){.wall img{transition:none}.wall a:hover img{transform:none}}
/* ---------- steps (real sequence) ---------- */
.steps{display:grid;gap:0;border:2px solid var(--frame);border-radius:14px;overflow:hidden;grid-template-columns:repeat(5,1fr)}
.steps div{padding:1.4rem 1.2rem;border-left:2px solid var(--frame)}
.steps div:first-child{border-left:0}
.steps b{display:block;font-size:2rem;font-weight:900;color:var(--redtx);letter-spacing:-.03em}
.steps h3{font-size:1.04rem;margin:.3rem 0 .4rem}
.steps p{font-size:.92rem;color:var(--dim);font-weight:500;line-height:1.55}
@media(max-width:960px){.steps{grid-template-columns:1fr}.steps div{border-left:0;border-top:2px solid var(--frame)}.steps div:first-child{border-top:0}}
/* ---------- stats ---------- */
.stats{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr))}
.stats b{display:block;font-size:clamp(2.6rem,5vw,3.8rem);font-weight:900;letter-spacing:-.03em;line-height:1}
.stats b i{font-style:normal;color:var(--redtx)}
.stats span{color:var(--dim);font-weight:600;font-size:.97rem;display:block;margin-top:.45rem}
/* ---------- red band CTA ---------- */
.band{position:relative;overflow:hidden;color:#fff;padding:clamp(3.5rem,9vw,6rem) 0;background:radial-gradient(circle at 0% 0%,rgba(255,217,223,.78),rgba(255,217,223,0) 17rem),radial-gradient(circle at 0% 100%,rgba(251,185,195,.70),rgba(251,185,195,0) 17rem),linear-gradient(90deg,rgba(255,217,223,.46) 0,rgba(255,217,223,.14) min(7rem,9vw),rgba(255,217,223,0) min(15rem,21vw)),radial-gradient(90% 130% at 88% -10%,rgba(255,255,255,.16),transparent 55%),linear-gradient(118deg,#E9012E 0%,#D3032B 48%,#A30221 100%)}
.band::before{content:"";position:absolute;right:-3rem;top:50%;transform:translateY(-50%);width:min(34rem,70vw);aspect-ratio:1;background:url(../brand/Spring-mark-white.svg) no-repeat center/contain;opacity:.11;pointer-events:none}
.band::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1.6px);background-size:24px 24px;-webkit-mask-image:linear-gradient(to left,#000,transparent 65%);mask-image:linear-gradient(to left,#000,transparent 65%)}
@media(max-width:760px){.band{background:radial-gradient(circle at 0% 100%,rgba(251,185,195,.55),rgba(251,185,195,0) 9rem),radial-gradient(90% 130% at 88% -10%,rgba(255,255,255,.16),transparent 55%),linear-gradient(118deg,#E9012E 0%,#D3032B 48%,#A30221 100%)}}
.menu::before{content:"";position:fixed;right:-3rem;top:50%;transform:translateY(-50%);width:min(40rem,80vw);aspect-ratio:1;background:url(../brand/Spring-mark-white.svg) no-repeat center/contain;opacity:.07;pointer-events:none;z-index:0}
.menu::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.6px);background-size:24px 24px;-webkit-mask-image:linear-gradient(to left,#000,transparent 65%);mask-image:linear-gradient(to left,#000,transparent 65%)}
.menu .wrap{position:relative;z-index:1}
.band .wrap{position:relative;z-index:1}
.band h2{color:#fff;font-size:clamp(2.4rem,7vw,5rem);letter-spacing:-.03em}
.band h2 b{color:#111}
.band p{color:#FFD9DF;font-weight:600;font-size:1.15rem;margin:1.2rem 0 2rem;max-width:40rem}
.band .cta{background:#111;border-color:#111;color:#fff}
.band .cta:hover{background:#fff;border-color:#fff;color:#C2001F}
.band .cta.ghost{background:transparent;border-color:#fff;color:#fff}
.band .cta.ghost:hover{background:#fff;color:#C2001F}
/* ---------- prose / article ---------- */
.prose{max-width:46rem}
.prose h2{font-size:clamp(1.5rem,3vw,2rem);margin:2.6rem 0 .9rem}
.prose h3{margin:1.9rem 0 .6rem}
.prose p{margin:.95rem 0;color:var(--tx)}
.prose ul,.prose ol{margin:.95rem 0 .95rem 1.3rem;display:grid;gap:.5rem}
.prose li{line-height:1.65}
.prose strong{font-weight:700}
.prose blockquote{border-left:4px solid var(--red);padding:.4rem 0 .4rem 1.3rem;margin:1.4rem 0;font-weight:600;font-size:1.12rem;color:var(--tx)}
.prose .updated{display:block;color:var(--dim);font-weight:600;font-size:.92rem;margin-bottom:1.6rem}
.prose .tw{overflow-x:auto;max-width:100%;margin:1.5rem 0;-webkit-overflow-scrolling:touch}.prose .tw:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.prose table{display:table;min-width:32rem;width:100%;border-collapse:collapse;margin:0;font-size:.95rem}
.prose th,.prose td{border:1px solid var(--frame);padding:.6rem .85rem;text-align:left;vertical-align:top;line-height:1.5}
.prose th{background:rgba(127,127,127,.13);font-weight:800;white-space:nowrap}
.prose td{min-width:8rem}
.prose pre{background:rgba(127,127,127,.12);border:2px solid var(--frame);border-radius:.7rem;padding:1rem 1.1rem;overflow-x:auto;max-width:100%;font-size:.86rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;margin:1.3rem 0}
.prose code{font-size:.9em;background:rgba(127,127,127,.15);padding:.08em .35em;border-radius:.3em;word-break:break-word}
.prose pre code{background:none;padding:0}
.prose h3{font-size:1.2rem}
/* ---------- page head ---------- */
.phead{padding:clamp(2.8rem,7vw,4.6rem) 0 0}
.phead h1{max-width:16ch}
.phead .lede{margin-top:1.3rem}
.crumbs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;color:var(--dim);font-weight:600;font-size:.9rem;margin-bottom:1.6rem}
.crumbs a{color:var(--dim);text-decoration:none}
.crumbs a:hover{color:var(--redtx);text-decoration:underline}
.crumbs .d{width:.4em;height:.4em;border-radius:50%;background:var(--red)}
/* ---------- faq ---------- */
.qa{border:2px solid var(--frame);border-radius:14px;margin-bottom:.9rem;overflow:hidden;max-width:46rem}
.qa summary{cursor:pointer;font-weight:800;font-size:1.07rem;padding:1.15rem 1.4rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-size:1.5rem;font-weight:800;color:var(--redtx);flex:none;line-height:1}
.qa[open] summary::after{content:"–"}
.qa .ans{padding:0 1.4rem 1.2rem;color:var(--dim);font-weight:500}
.qa[open]{border-color:var(--red)}
/* ---------- blog cards ---------- */
.bgrid{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fill,minmax(min(19rem,100%),1fr))}
.bc{border:2px solid var(--frame);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--tx);background:var(--paper)}
.bc img{aspect-ratio:16/9;object-fit:cover;width:100%;border-bottom:2px solid var(--frame)}
.bc .bci{padding:1.15rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.bc .bm{color:var(--dim);font-weight:600;font-size:.86rem;display:flex;gap:.55rem;align-items:center}
.bc .bm .d{width:.4em;height:.4em;border-radius:50%;background:var(--red)}
.bc h3{font-size:1.12rem;line-height:1.3}
.bc:hover h3{color:var(--redtx)}
.bc p{color:var(--dim);font-size:.93rem;font-weight:500;line-height:1.55}
.bc .tag{margin-top:auto;padding-top:.6rem;color:var(--redtx);font-weight:700;font-size:.88rem}
/* ---------- video card ---------- */
.vid{border:2px solid var(--frame);border-radius:14px;overflow:hidden;margin:1.8rem 0;max-width:46rem;text-decoration:none;display:block;color:var(--tx)}
.vid .vt{background:#111;color:#fff;padding:2rem 1.5rem;display:flex;align-items:center;gap:1.1rem}
.vid .vp{width:3.4rem;height:3.4rem;border-radius:50%;background:#E9012E;display:grid;place-items:center;flex:none}
.vid .vp svg{width:1.2rem;height:1.2rem;color:#fff;margin-left:3px}
.vid .vt b{font-size:1.08rem;font-weight:800;line-height:1.35}
.vid .vt span{display:block;color:#BDB8B4;font-weight:600;font-size:.88rem;margin-top:.25rem}
.vid:hover .vp{background:#fff}.vid:hover .vp svg{color:#C2001F}
/* ---------- footer (centered brand style) ---------- */
footer{background:var(--mist);color:var(--tx);margin-top:clamp(3rem,7vw,5rem);
border-top:4px solid #E9012E;position:relative;overflow:hidden}
footer .wrap{padding-top:clamp(3rem,7vw,5rem);padding-bottom:2rem;position:relative;z-index:1}
.fhead{text-align:center;max-width:44rem;margin:0 auto}
.fhead .flg{width:min(100%,50rem);height:auto;margin:0 auto 1.6rem}
.fhead .flgd{display:none}
:root.dk .fhead .flgl{display:none}
:root.dk .fhead .flgd{display:block}
.fhead p{color:var(--dim);font-weight:500;margin:.9rem auto 1.7rem;max-width:36rem}
.fsoc{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}
.fsoc a{width:2.9rem;height:2.9rem;border-radius:50%;border:2px solid var(--frame);color:var(--tx);
display:grid;place-items:center;background:var(--paper)}
.fsoc a svg{width:1.1rem;height:1.1rem}
.fsoc a:hover{border-color:#E9012E;color:#fff;background:#E9012E}
.fcols{display:grid;gap:2.2rem;grid-template-columns:1fr 1fr 1fr 1.3fr;max-width:62rem;
margin:clamp(2.4rem,5vw,3.6rem) auto 0}
@media(max-width:860px){.fcols{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.fcols{grid-template-columns:1fr}}
.fcols .fh{font-weight:800;font-size:.92rem;margin-bottom:.95rem;color:var(--redtx)}
.fcols ul{list-style:none;display:grid;gap:.55rem}
.fcols a{color:var(--dim);text-decoration:none;font-weight:500;font-size:.96rem}
.fcols a:hover{color:var(--redtx);text-decoration:underline}
.fcols a:not(.cta),.fbot a{display:inline-flex;align-items:center;min-height:1.5rem}
.fgit li{display:flex;align-items:center;gap:.55rem}
.fgit svg{width:1.05rem;height:1.05rem;color:var(--redtx);flex:none}
.fgit .note{color:var(--dim);font-weight:500;font-size:.9rem;margin:.5rem 0 1rem}
.fcols a.cta{color:#fff;font-weight:800;padding:.72rem 1.5rem;font-size:.98rem}
.fcols a.cta:hover{color:var(--redtx);background:transparent;text-decoration:none}
.fbot{border-top:1px solid var(--line);margin-top:clamp(2.2rem,4vw,3rem);padding-top:1.4rem;
display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;align-items:center;
color:var(--dim);font-weight:500;font-size:.9rem}
.fbot a{color:var(--dim);text-decoration:none}
.fbot a:hover{color:var(--redtx)}
.fbot .live{display:flex;align-items:center;gap:.5rem;font-weight:600}
.fbot .live i{width:.55em;height:.55em;border-radius:50%;background:#E9012E;flex:none}
/* ---------- a11y panel ---------- */
.apo{position:fixed;inset:0;z-index:300;background:var(--paper);color:var(--tx);display:none;overflow:auto;overscroll-behavior:contain}
.apo.on{display:block}
.apw{max-width:80rem;margin:0 auto;padding:clamp(1.1rem,3vw,2rem)}
.aph{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.apk{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--redtx)}
.aph h2{font-size:clamp(1.9rem,5vw,3.2rem);font-weight:900;line-height:1.05;letter-spacing:-.02em;margin:.35rem 0 .6rem}
.aph p{color:var(--dim);font-weight:500;max-width:40rem}
.apx{flex:none;appearance:none;width:3rem;height:3rem;border-radius:50%;border:2px solid var(--frame);background:transparent;color:var(--tx);font:inherit;font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.apx:hover{background:var(--tx);color:var(--paper)}
.apg{display:grid;grid-template-columns:minmax(0,21rem) minmax(0,1fr);gap:1.2rem;margin-top:1.4rem;align-items:start}
.apl{display:flex;flex-direction:column;gap:1.2rem;min-width:0}
.apwm{color:var(--redtx);opacity:.13;width:min(100%,19rem);margin:.5rem auto 0;pointer-events:none}
.apwm svg{width:100%;height:auto}
.apc{border:2px solid var(--line);border-radius:18px;padding:1.2rem}
.apc h3{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--redtx);margin-bottom:.9rem}
.apf{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;margin-bottom:.4rem}
.apf output{font-weight:800;color:var(--redtx)}
.ap-r{width:100%;accent-color:#E9012E;height:1.6rem;cursor:pointer}
.aps{width:100%;font:inherit;font-weight:600;padding:.75rem .9rem;border:2px solid var(--frame);border-radius:12px;background:var(--paper);color:var(--tx);min-height:48px}
.apn{font-size:.82rem;color:var(--dim);margin:.4rem 0 1.1rem;font-weight:500}
.apv{margin-top:1.1rem;border-left:5px solid var(--red);background:var(--mist);padding:.9rem 1rem;border-radius:0 12px 12px 0}
.apv small{display:block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.apv b{display:block;font-size:1.05rem;margin:.25rem 0}
.apv p{font-size:.9rem;line-height:1.55}
.apt{display:flex;flex-wrap:wrap;gap:.3rem;border:2px solid var(--line);border-radius:16px;padding:.4rem;margin-bottom:.9rem}
.apt button{appearance:none;font:inherit;font-weight:700;font-size:.92rem;border:0;background:transparent;color:var(--tx);padding:.65rem 1rem;border-radius:11px;cursor:pointer;min-height:44px}
.apt button[aria-selected="true"]{background:var(--tx);color:var(--paper)}
.apy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.apy [hidden]{display:none!important}
.apy button{appearance:none;font:inherit;text-align:left;color:var(--tx);background:transparent;border:2px solid var(--line);border-radius:16px;padding:1rem 1.1rem;min-height:7.5rem;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;align-content:start}
.apy button:hover{border-color:var(--tx)}
.apy button strong{font-size:1rem;font-weight:800}
.apy button span.d{grid-column:1/-1;color:var(--dim);font-size:.88rem;font-weight:500;line-height:1.45}
.apy button i{width:2.7rem;height:1.55rem;border-radius:99px;border:2px solid var(--frame);position:relative;flex:none;align-self:start;transition:background .2s}
.apy button i::after{content:"";position:absolute;top:2px;left:2px;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--tx);transition:transform .2s}
.apy button[aria-checked="true"]{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--paper))}
.apy button[aria-checked="true"] i{background:var(--red);border-color:var(--red)}
.apy button[aria-checked="true"] i::after{transform:translateX(1.15rem);background:#fff}
.apfoot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.3rem;padding-top:1.1rem;border-top:2px solid var(--line)}
.apfoot p{font-size:.85rem;color:var(--dim);font-weight:500;flex-basis:100%}
.apr{appearance:none;font:inherit;font-weight:800;border:2px solid var(--frame);background:transparent;color:var(--tx);border-radius:12px;padding:.8rem 1.2rem;cursor:pointer;min-height:48px}
.apr:hover{background:var(--tx);color:var(--paper)}
@media(max-width:62rem){.apwm{display:none}.apg{grid-template-columns:1fr}.apy{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:34rem){.apy{grid-template-columns:1fr}.apy button{min-height:0}}
#apguide{position:fixed;left:0;right:0;height:2.6rem;margin-top:-1.3rem;z-index:290;pointer-events:none;display:none;border-block:3px solid #E9012E;background:rgba(255,235,59,.18)}
#apwin{position:fixed;left:0;right:0;height:9rem;margin-top:-4.5rem;z-index:290;pointer-events:none;display:none;box-shadow:0 0 0 200vmax rgba(0,0,0,.72)}
:root.a-rg #apguide,:root.a-rw #apwin{display:block}
/* user preference modes */
:root.cm-hcl{--paper:#fff;--tx:#000;--dim:#000;--redtx:#8A0017;--mist:#fff;--line:#000;--frame:#000}
:root.cm-hcd{--paper:#000;--tx:#fff;--dim:#fff;--redtx:#7DD3FF;--mist:#000;--line:#fff;--frame:#fff}
:root.cm-yb{--paper:#000;--tx:#FFE600;--dim:#FFE600;--redtx:#FFFFFF;--mist:#000;--line:#FFE600;--frame:#FFE600}
:root.cm-gs{filter:grayscale(1)}
:root.cm-soft{--paper:#F4EEDC;--tx:#2B2B2B;--dim:#4A4A4A;--mist:#EAE3CE;--line:#CFC6AB;--frame:#2B2B2B}
:root.a-rt,:root.a-rt *{font-family:Arial,Helvetica,"Segoe UI",sans-serif!important}
:root.a-sp body *{letter-spacing:.12em!important;word-spacing:.16em!important}
:root.a-lh :where(p,li,dd,dt,td,th,blockquote,figcaption,label,summary){line-height:1.95!important}
:root.a-lt :where(p,h1,h2,h3,h4,h5,h6,li,dd,dt,blockquote,figcaption,td,th,.lede){text-align:left!important}
:root.a-rc :where(main p,main li,main dd,main blockquote,article p,article li){max-width:66ch}
:root.a-hl :where(main,footer,article) a:not(.btn):not(.cta){text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important;background:color-mix(in srgb,var(--redtx) 14%,transparent);border-radius:3px;box-shadow:0 0 0 2px color-mix(in srgb,var(--redtx) 14%,transparent)}
:root.a-kf :focus-visible{outline:4px solid #FFD400!important;outline-offset:3px!important;box-shadow:0 0 0 8px #000!important;border-radius:4px}
:root.a-hi img[alt=""],:root.a-hi img[aria-hidden="true"],:root.a-hi .band::before,:root.a-hi .menu::before,:root.a-hi .deco{display:none!important}
:root.a-cp,:root.a-cp *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M20 0v40M0 20h40' stroke='%23fff' stroke-width='5'/%3E%3Cpath d='M20 0v40M0 20h40' stroke='%23E9012E' stroke-width='2'/%3E%3C/svg%3E") 20 20,crosshair!important}
:root.a-hh :where(h1,h2,h3,h4,h5,h6){background:color-mix(in srgb,var(--redtx) 13%,transparent);border-left:6px solid var(--redtx);padding:.2em .5em;border-radius:0 8px 8px 0}
:root.a-ct :where(button,summary,select,input:not([type=range]),textarea,.btn,.cta){min-height:48px;min-width:48px}
:root.a-ct :where(nav a,footer a,.fcols a){display:inline-flex;align-items:center;min-height:48px;padding-block:.3rem}
:root.a-ct :where(p,li) a{padding:.25em .1em}
:root.a-ec :where(button,select,input,textarea,summary,.btn,.cta){box-shadow:0 0 0 3px var(--tx)!important;border:2px solid var(--tx)!important}
:root.rm *,:root.rm *::before,:root.rm *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
:root.rm{scroll-behavior:auto}
:root.a-big .top .wrap{flex-wrap:wrap;row-gap:.5rem}
:root.a-big .lg img{width:8rem;height:auto}
:root.a-big .tbar{margin-left:auto;gap:.3rem}
:root.a-big .mb{font-size:.62rem;padding:.45rem .7rem}
:root.a-big .icb{width:2.3rem;height:2.3rem;padding:0}
:root.a-big .icb svg{width:1rem;height:1rem}
:root.a-big :where(main,footer) :where(h1,h2,h3,h4,p,li,a,span,b,dd,dt,td,th,small){overflow-wrap:anywhere}
:root.a-big .w{display:inline-block;max-width:100%}
/* ---------- reveal ---------- */
@media(prefers-reduced-motion:no-preference){
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}
.rv.in{opacity:1;transform:none}}
:root.rm .rv{opacity:1!important;transform:none!important;transition:none!important}
/* text columns */
.cols2{display:grid;gap:2.5rem;grid-template-columns:1fr 1fr;align-items:start}
@media(max-width:860px){.cols2{grid-template-columns:1fr}}
.hr2{border:0;border-top:2px solid var(--frame);margin:0}

__FONTCSS__