:root{--cream:#FCFAF2;--ink-brand:#1C1C1C;--iris-brand:#6A4C9C;--magenta-brand:#C1328E;
--surface-100:#FCFAF2;--surface-200:#F1ECDD;--ink:#1C1C1C;--ink-muted:#5A5560;--hairline:#E2DCC8;--border-strong:#8B8794;--link:#6A4C9C;--accent:#C1328E;--on-accent:#FCFAF2;--iris-tint:#ECE6F4;--glow:#F2B3D8;--c1:rgba(193,50,142,.20);--c2:rgba(106,76,156,.22);--c3:rgba(242,179,216,.55);--c4:rgba(236,230,244,.9);--grain:.16;
--display:"Archivo","Arial Black",system-ui,sans-serif;--sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif}
@media(prefers-color-scheme:dark){:root{--surface-100:#3A2F52;--surface-200:#483C63;--ink:#FCFAF2;--ink-muted:#CFC8DB;--hairline:#5A4D75;--link:#B7A1E3;--accent:#E05AB0;--on-accent:#1C1C1C;--iris-tint:#4A3D68;--glow:#7A3562;--c1:rgba(236,110,190,.42);--c2:rgba(176,140,236,.55);--c3:rgba(214,100,184,.36);--c4:rgba(160,128,222,.50);--grain:.10}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-100);color:var(--ink);font:400 18px/27px var(--sans)}
a{color:var(--link);text-underline-offset:3px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:1062px;margin:0 auto;padding:0 18px}
header.site{border-bottom:1px solid var(--hairline)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}
.brand svg{height:45px;width:auto}
.halo{fill:none;stroke:var(--accent);stroke-width:7}.glow{fill:var(--glow)}.fig{fill:none;stroke:currentColor;stroke-width:8.5;stroke-linecap:round}
.wm{font:900 18px/.94 var(--display);letter-spacing:-.02em;text-transform:uppercase}
nav a{color:var(--ink);text-decoration:none;margin-left:27px;font-weight:800;font-size:15px;letter-spacing:.09em;text-transform:uppercase;padding:9px 0;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-color:var(--accent);color:var(--ink)}
h1,h2,h3{font-family:var(--display);margin:0}
h1{font-weight:900;font-size:clamp(36px,7vw,63px);line-height:.98;letter-spacing:-.02em;text-transform:uppercase}
h2{font-weight:900;font-size:36px;line-height:40px;letter-spacing:-.01em;text-transform:uppercase}h3{font-weight:800;font-size:24px;line-height:29px}
.eyebrow{font:700 14px/18px var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--link);margin:0 0 9px}
.hero{padding:72px 0 54px;position:relative}.hero p.lead{font-size:21px;line-height:30px;max-width:630px;margin:27px 0}
.btn{display:inline-block;background:var(--accent);color:var(--on-accent);border-radius:999px;padding:12px 27px;font-weight:800;text-decoration:none;margin:0 9px 9px 0}
.btn:hover{color:var(--on-accent);filter:brightness(.92)}
.btn.ghost{background:none;color:var(--ink);border:2px solid var(--border-strong)}.btn.ghost:hover{color:var(--ink)}
section{padding:54px 0}section+section{border-top:1px solid var(--hairline)}
.sh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:27px;gap:18px}
.grid{display:grid;gap:36px;grid-template-columns:repeat(auto-fill,minmax(288px,1fr))}
.card{background:var(--surface-200);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.card .b{padding:18px 18px 27px}.card h3{margin:0 0 9px}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--link)}
.meta{font:700 14px/18px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.card p:not(.eyebrow){font-size:16px;line-height:24px;margin:9px 0 0}
.list{list-style:none;margin:0;padding:0}.list li{display:grid;grid-template-columns:144px 1fr;gap:18px;padding:27px 0;border-top:1px solid var(--hairline)}
.list li:last-child{border-bottom:1px solid var(--hairline)}.list .when{font:800 15px/22px var(--sans);letter-spacing:.06em;text-transform:uppercase}
.empty{background:var(--surface-200);border-radius:18px;padding:27px;color:var(--ink-muted)}
.article{max-width:702px}.article p,.article li{font-size:20px;line-height:31px}.article h2{margin:54px 0 18px;font-size:30px;line-height:34px}
.video{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--surface-200);margin:27px 0}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.band{position:relative;overflow:hidden;background:var(--iris-brand);color:var(--cream);border-radius:18px;padding:45px 36px}
.band:before,.band:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.band:before{width:360px;height:360px;right:-90px;top:-130px;border:45px solid rgba(252,250,242,.10)}
.band:after{width:270px;height:270px;right:180px;bottom:-190px;border:36px solid rgba(193,50,142,.35)}
.band>*{position:relative}.band a{color:var(--cream)}.band .eyebrow{color:var(--cream)}
footer{background:var(--ink-brand);color:var(--cream);margin-top:72px;padding:54px 0}
footer .wrap{display:flex;flex-wrap:wrap;gap:27px;justify-content:space-between;align-items:center}footer a{color:var(--cream)}footer a:hover{color:#E05AB0}
footer .wm{font-size:22px}
.rings{position:absolute;right:-90px;top:-18px;width:450px;height:450px;border-radius:50%;border:2px solid var(--accent);opacity:.35;pointer-events:none}
.rings:after{content:"";position:absolute;inset:63px;border-radius:50%;border:2px solid var(--link);opacity:.6}
@media(max-width:560px){.list li{grid-template-columns:1fr;gap:4px}nav a{margin:0 18px 0 0}.hero{padding-top:54px}.rings{display:none}}
main{overflow-x:clip}.hero>*:not(.rings){position:relative}

/* cloudy, grainy, slowly moving background */
body::before{content:"";position:fixed;inset:-25%;z-index:-1;pointer-events:none;will-change:transform;
background:radial-gradient(38% 34% at 22% 28%,var(--c3),transparent 70%),radial-gradient(34% 38% at 78% 22%,var(--c2),transparent 70%),radial-gradient(42% 36% at 68% 78%,var(--c1),transparent 70%),radial-gradient(36% 40% at 14% 82%,var(--c4),transparent 70%);
filter:blur(30px);animation:drift 48s ease-in-out infinite alternate}
body::after{content:"";position:fixed;inset:-50%;z-index:50;pointer-events:none;opacity:var(--grain);mix-blend-mode:multiply;
background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .18  0 0 0 0 .14  0 0 0 0 .22  0 0 0 1.1 -.25'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
animation:grain 1.2s steps(6) infinite}
@keyframes drift{0%{transform:translate3d(-4%,-2%,0) rotate(0) scale(1)}50%{transform:translate3d(5%,3%,0) rotate(6deg) scale(1.12)}100%{transform:translate3d(-2%,6%,0) rotate(-5deg) scale(1.05)}}
@keyframes grain{0%{transform:translate(0,0)}17%{transform:translate(-3%,2%)}33%{transform:translate(2%,-3%)}50%{transform:translate(-2%,-1%)}67%{transform:translate(3%,3%)}83%{transform:translate(-1%,2%)}100%{transform:translate(0,0)}}
@media(prefers-color-scheme:dark){body::after{mix-blend-mode:screen}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none}}

/* typed headline */
h1.type .w{display:inline-block}
h1.type .c{opacity:0;position:relative}
h1.type .c.on{opacity:1}
h1.type .c.now:after{content:"";position:absolute;right:-.07em;top:.06em;bottom:.04em;width:.07em;background:var(--accent);animation:blink 1s steps(1) infinite}
h1.type .c.end:after{animation:blink 1s steps(1) 4,fadeout .4s 4s forwards}
@keyframes blink{50%{opacity:0}}@keyframes fadeout{to{opacity:0}}
