:root{--bg-canvas:#fbf1f0;--bg-surface:#ffffff;--bg-surface-hover:#fff8f8;--text-primary:#1c1917;--text-muted:#584549;--accent-primary:#6b2155;--accent-secondary:#9a3d7a;--tint:#f3dfe6;--border-subtle:#e6cfd4;--line:#e6cfd4;--ease-kinetic:cubic-bezier(0.16,1,0.3,1);--shadow-elevation:0 12px 32px -4px rgba(28,25,23,.12);--glow-accent:0 0 0 1px var(--accent-primary);--glass-backdrop:blur(16px) saturate(180%);--hfont:"Arial Narrow","Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3,h4{font-family:var(--hfont);text-transform:uppercase;letter-spacing:.12em;line-height:1.15;margin:0 0 .6em;overflow-wrap:anywhere;hyphens:auto}
h1{font-size:clamp(1.8rem,4.2vw,3rem)}
h2{font-size:clamp(1.3rem,2.5vw,1.85rem)}
h3{font-size:1.08rem}
p{margin:0 0 1em}
a{color:var(--accent-primary)}
svg,img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.prose{max-width:68ch}
.center{margin-left:auto;margin-right:auto}
.muted{color:var(--text-muted)}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:99}
:focus-visible{outline:3px solid var(--accent-primary);outline-offset:3px}
main a:not(.btn),.site-foot a:not(.brand),button.tlink{text-decoration:none;font-weight:600;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat,linear-gradient(var(--line),var(--line)) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:background-size .4s var(--ease-kinetic)}
main a:not(.btn):hover,.site-foot a:not(.brand):hover,button.tlink:hover{background-size:100% 2px,100% 1px}
button.tlink{background-color:transparent;border:0;padding:0 0 2px;font:inherit;font-weight:700;color:var(--accent-primary);cursor:pointer}
.btn{display:inline-block;background:var(--accent-primary);color:#fff;border:0;border-radius:4px;padding:.9rem 1.5rem;font:700 .9rem/1 var(--hfont);text-transform:uppercase;letter-spacing:.12em;text-decoration:none;cursor:pointer;transition:background-color .3s var(--ease-kinetic),transform .3s var(--ease-kinetic)}
.btn:hover{background:#521840;transform:translateY(-2px)}
.kicker{font:700 .78rem/1.2 var(--hfont);text-transform:uppercase;letter-spacing:.22em;color:var(--accent-primary);margin-bottom:.8rem;display:block}
/* header */
.site-header{position:relative;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:30}
.hdr{display:flex;align-items:center;gap:1rem;min-height:70px}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--text-primary);font:700 1rem/1 var(--hfont);text-transform:uppercase;letter-spacing:.12em;margin-right:auto}
.brand b{color:var(--accent-primary)}
.nav{display:flex;align-items:center;gap:1rem}
.nav-group{display:flex;gap:1.05rem;list-style:none;margin:0;padding:0}
.nav a{color:var(--text-primary);text-decoration:none;font:700 .8rem/1 var(--hfont);text-transform:uppercase;letter-spacing:.11em;padding:.4rem 0;background:linear-gradient(var(--accent-primary),var(--accent-primary)) 0 100%/0 2px no-repeat;transition:background-size .35s var(--ease-kinetic),color .3s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--accent-primary);background-size:100% 2px}
.nav-div{width:6px;height:22px;background:var(--accent-primary);border-radius:2px}
.menu-btn{display:none;background:#fff;border:1px solid var(--border-subtle);border-radius:4px;width:44px;height:44px;font-size:1.5rem;line-height:1;color:var(--accent-primary);cursor:pointer}
/* sections */
.sec{padding:4.5rem 0}
.band{background:var(--tint);padding:calc(3vw + 4rem) 0;clip-path:polygon(0 0,100% 3vw,100% 100%,0 calc(100% - 3vw))}
.band.alt{clip-path:polygon(0 3vw,100% 0,100% calc(100% - 3vw),0 100%)}
.band.white{background:#fff}
.curve{background:var(--tint);padding:4.5rem 0 6rem;border-radius:0 0 50% 50%/0 0 5vw 5vw}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.sec-head p{max-width:60ch;margin:0;color:var(--text-muted)}
/* hero */
.hero{padding:4rem 0 4.5rem;background:radial-gradient(circle at 20% 20%,#f3dfe6 0,transparent 45%),radial-gradient(circle at 85% 70%,#f6e4e9 0,transparent 40%),var(--bg-canvas);background-size:200% 200%;animation:gradientShift 14s ease infinite}
@keyframes gradientShift{0%,100%{background-position:0 0}50%{background-position:100% 100%}}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.lead{font-size:1.15rem;color:var(--text-muted);max-width:54ch}
.hero-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:1.6rem}
.relay{position:relative;height:clamp(300px,36vw,450px)}
.relay .panel{position:absolute;width:50%;aspect-ratio:4/5;border-radius:4px;border:1px solid var(--border-subtle);overflow:hidden;background:#fff;transition:transform .7s var(--ease-kinetic)}
.relay .panel svg{width:100%;height:100%}
.relay .p1{left:0;top:14%;z-index:1;transform:rotate(-5deg)}
.relay .p2{left:25%;top:0;z-index:2;transform:rotate(1deg)}
.relay .p3{left:50%;top:18%;z-index:3;transform:rotate(5deg)}
.relay:hover .p1{transform:rotate(-8deg) translateX(-10px)}
.relay:hover .p3{transform:rotate(8deg) translateX(10px)}
.page-hero{padding:3.5rem 0 3rem}
.page-hero .hero-grid{grid-template-columns:1.3fr .7fr}
.art{border:1px solid var(--border-subtle);border-radius:4px;overflow:hidden;background:#fff}
.art svg{width:100%;height:auto}
/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));background:var(--tint);border:1px solid var(--border-subtle);border-radius:4px}
.stat{padding:1.4rem 1.6rem;border-left:1px solid var(--border-subtle)}
.stat:first-child{border-left:0}
.stat strong{display:block;font:700 2.5rem/1 var(--hfont);color:var(--accent-primary);letter-spacing:.04em;margin-bottom:.35rem}
.stat span{font:700 .78rem/1.3 var(--hfont);text-transform:uppercase;letter-spacing:.14em}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:4px;padding:1.5rem;transition:border-color .3s var(--ease-kinetic)}
.card:hover{border-color:var(--accent-primary)}
.card .num{font:700 2.2rem/1 var(--hfont);color:var(--accent-primary);display:block;margin-bottom:.6rem}
.card p:last-child{margin-bottom:0}
/* tabs */
.tablist{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem}
.tab{display:flex;align-items:center;gap:.55rem;background:#fff;border:1px solid var(--border-subtle);border-radius:4px;padding:.65rem 1rem;font:700 .8rem/1 var(--hfont);text-transform:uppercase;letter-spacing:.12em;color:var(--text-primary);cursor:pointer;transition:border-color .3s,background-color .3s}
.tab svg{width:22px;height:22px}
.tab:hover{border-color:var(--accent-primary)}
.tab[aria-selected="true"]{background:var(--tint);border-color:var(--accent-primary);color:var(--accent-primary)}
.ranklist{list-style:none;margin:0;padding:0;counter-reset:r}
.rank{display:grid;grid-template-columns:3.4rem 1fr;gap:1rem;background:#fff;border:1px solid var(--border-subtle);border-radius:4px;padding:1.25rem 1.4rem;margin-bottom:.75rem;transition:border-color .3s}
.rank::before{counter-increment:r;content:counter(r,decimal-leading-zero);font:700 2.1rem/1 var(--hfont);color:var(--accent-primary)}
.rank:hover{border-color:var(--accent-primary)}
.rank h3{margin-bottom:.35em}
.rank p{margin:0 0 .7em;color:var(--text-muted)}
.mini{display:flex;flex-wrap:wrap;background:var(--tint);border-radius:4px;font-size:.88rem;margin:0}
.mini div{padding:.4rem .85rem;border-right:1px solid var(--border-subtle)}
.mini div:last-child{border-right:0}
.mini dt{display:inline;font:700 .72rem/1 var(--hfont);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-primary);margin-right:.4rem}
.mini dd{display:inline;margin:0}
/* split */
.split-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:1.25rem}
.split{display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;border:1px solid var(--border-subtle);border-radius:4px;overflow:hidden;transition:border-color .3s}
.split:hover{border-color:var(--accent-primary)}
.split .side{background:var(--tint);padding:1.4rem}
.split .side strong{display:block;font:700 1.9rem/1 var(--hfont);color:var(--accent-primary);margin:.4rem 0}
.split .body{padding:1.4rem}
.split .body p:last-child{margin:0}
/* rows */
.rows{list-style:none;margin:0;padding:0}
.rows li{display:grid;grid-template-columns:minmax(160px,1fr) 3fr;gap:.6rem 1.6rem;background:#fff;border:1px solid var(--border-subtle);border-radius:4px;padding:1.15rem 1.4rem;margin-bottom:.6rem;transition:border-color .3s}
.rows li:hover{border-color:var(--accent-primary)}
.rows .tag{font:700 .95rem/1.3 var(--hfont);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-primary)}
.rows p{margin:0}
/* tables */
.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1.25rem}
.tw{overflow-x:auto;background:#fff;border:1px solid var(--border-subtle);border-radius:4px}
table{border-collapse:collapse;width:100%;min-width:420px;font-size:.95rem}
caption{text-align:left;padding:.9rem 1rem;font:700 .85rem/1.2 var(--hfont);text-transform:uppercase;letter-spacing:.12em}
th,td{padding:.65rem 1rem;text-align:left;border-top:1px solid var(--border-subtle);vertical-align:top}
th{background:var(--tint);font:700 .76rem/1.2 var(--hfont);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-primary)}
/* accordion */
.acc{background:#fff;border:1px solid var(--border-subtle);border-radius:4px;margin-bottom:.6rem;transition:border-color .3s}
.acc[open],.acc:hover{border-color:var(--accent-primary)}
.acc summary{cursor:pointer;list-style:none;position:relative;padding:1.05rem 3rem 1.05rem 1.3rem;font:700 .95rem/1.35 var(--hfont);text-transform:uppercase;letter-spacing:.1em}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);color:var(--accent-primary);font-size:1.5rem}
.acc[open] summary::after{content:"–"}
.acc-body{padding:0 1.3rem 1.1rem;max-width:68ch}
.acc-body p:last-child{margin:0}
/* contact tool */
.tool{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;background:#fff;border:1px solid var(--border-subtle);border-radius:4px;padding:1.5rem}
.tool label{display:block;font:700 .76rem/1.2 var(--hfont);text-transform:uppercase;letter-spacing:.12em;margin:.9rem 0 .35rem}
.tool label:first-of-type{margin-top:0}
.tool input,.tool textarea{width:100%;font:inherit;font-size:1rem;padding:.65rem .8rem;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-canvas);color:inherit}
.tool input:focus,.tool textarea:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px var(--tint)}
.preview{background:var(--tint);border-radius:4px;padding:1rem;white-space:pre-wrap;font:.88rem/1.55 ui-monospace,Menlo,Consolas,monospace;min-height:280px;margin:0;overflow-wrap:anywhere}
.tool-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:1rem}
.status{font-size:.9rem;color:var(--text-muted);min-height:1.4em;margin:.6rem 0 0}
/* legal */
.legal h2{font-size:1.15rem;margin-top:2rem}
.legal ul{padding-left:1.2rem}
/* footer */
.site-foot{background:var(--accent-primary);color:var(--bg-canvas);--line:rgba(251,241,240,.35);clip-path:polygon(0 4vw,100% 0,100% 100%,0 100%);padding:calc(4vw + 3rem) 0 1.5rem;margin-top:2.5rem}
.site-foot a{color:var(--bg-canvas)}
.site-foot .brand{color:var(--bg-canvas);margin-bottom:1rem}
.site-foot .brand b{color:#f3dfe6}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem}
.site-foot h2{font-size:.88rem;margin-bottom:1rem}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:.45rem}
.site-foot p{font-size:.95rem}
.small{font-size:.84rem!important;opacity:.92}
.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(251,241,240,.3);margin-top:2rem;padding-top:1rem;font-size:.86rem}
.foot-bottom p{margin:0}
/* reveal */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-kinetic),transform .7s var(--ease-kinetic)}
.js .reveal.reveal-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}.hero{animation:none}}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width:1024px){.hero-grid{gap:2rem}.nav-group{gap:.8rem}.nav a{font-size:.76rem}}
@media (max-width:768px){
.menu-btn{display:block}
.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:3px solid var(--accent-primary);flex-direction:column;align-items:stretch;gap:.6rem;padding:1rem 1.25rem 1.3rem}
.nav.open{display:flex;animation:drop .35s var(--ease-kinetic)}
.nav-group{flex-direction:column;gap:0}
.nav a{display:block;padding:.75rem 0;border-bottom:1px solid var(--border-subtle);font-size:.9rem}
.nav-div{width:40px;height:4px}
.hero-grid,.page-hero .hero-grid{grid-template-columns:1fr}
.relay{height:340px;max-width:480px}
.split,.tool,.foot-grid{grid-template-columns:1fr}
.rows li{grid-template-columns:1fr}
.stat{border-left:0;border-top:1px solid var(--border-subtle)}
.stat:first-child{border-top:0}
}
@media (max-width:480px){body{font-size:16px}.sec{padding:3.2rem 0}.rank{grid-template-columns:1fr}.relay{height:270px}.brand{font-size:.86rem}.tab{flex:1 1 100%}}
@media (min-width:1025px){.hero{padding:5rem 0 5.5rem}}