@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/fraunces-400.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/fraunces-600.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/fraunces-700.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/outfit-400.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/outfit-600.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/outfit-700.woff2) format("woff2")}:root{--cream: #f6f1e7;--paper: #fbf8f1;--ink: #2a2a28;--muted: #6a675f;--accent: #2e6fb0;--accent-soft: #8fb8de;--sand: #e0a96d;--line: rgba(46, 111, 176, .16);--shadow: rgba(46, 111, 176, .09);--shadow-lift: rgba(46, 111, 176, .16);--card: var(--paper);--radius: 20px;--ease: cubic-bezier(.22, .61, .36, 1);--sans: "Outfit", "Helvetica Neue", system-ui, -apple-system, sans-serif;--serif: "Fraunces", Georgia, "Times New Roman", serif}:root[data-style=southpark]{--cream: #eaf3fb;--paper: #ffffff;--ink: #23252b;--muted: #5c6069;--accent: #e4572e;--accent-soft: #f2a65a;--sand: #3fa34d;--line: rgba(228, 87, 46, .18);--shadow: rgba(35, 37, 43, .1);--shadow-lift: rgba(228, 87, 46, .22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.55;transition:background .5s var(--ease),color .5s var(--ease);-webkit-font-smoothing:antialiased}.serif{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}a{color:var(--accent)}img{max-width:100%}.wrap{max-width:1200px;margin:0 auto;padding:0 28px}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:color-mix(in srgb,var(--cream) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:background .5s var(--ease),border-color .5s var(--ease)}.topbar .brand{display:flex;align-items:center;gap:11px;font-weight:700;color:var(--accent);font-size:18px}.topbar .brand .cap{width:34px;height:34px;border-radius:9px;background:var(--accent);display:grid;place-items:center;color:#fff;font-size:18px;transition:background .5s var(--ease)}.switcher{display:flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px;box-shadow:0 6px 18px var(--shadow)}.switcher button{border:0;background:transparent;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--muted);padding:8px 16px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;transition:background .35s var(--ease),color .35s var(--ease)}.switcher button.active{background:var(--accent);color:#fff}.switcher button:not(.active):hover{color:var(--ink)}.topbar-right{display:flex;align-items:center;gap:12px}.llms-link{display:inline-flex;align-items:center;gap:7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--muted);text-decoration:none;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);box-shadow:0 6px 18px var(--shadow);transition:color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease)}.llms-link:hover{color:var(--accent);border-color:var(--accent-soft);transform:translateY(-1px);box-shadow:0 10px 26px var(--shadow-lift)}.llms-link .dot{width:7px;height:7px;border-radius:50%;background:var(--sand);box-shadow:0 0 0 3px color-mix(in srgb,var(--sand) 22%,transparent);transition:background .35s var(--ease),box-shadow .35s var(--ease)}.llms-link:hover .dot{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.llms-link .ext{font-family:var(--sans);font-size:12px;opacity:.55}@media (max-width: 560px){.topbar-right{gap:8px}.llms-link{padding:7px 11px}.llms-link .ext{display:none}}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero .bgimg{position:absolute;top:0;right:0;bottom:0;left:0}.hero .bgimg img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--ease)}.hero .bgimg img.loaded{opacity:1}.hero .scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,var(--cream) 0%,color-mix(in srgb,var(--cream) 86%,transparent) 34%,color-mix(in srgb,var(--cream) 25%,transparent) 66%,transparent 88%);transition:background .5s var(--ease)}.hero .inner{position:relative;padding:84px 28px 92px}.badge-top{display:inline-flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:9px 20px;font-size:14px;font-weight:600;color:var(--accent);box-shadow:0 6px 18px var(--shadow)}h1.title{font-size:clamp(42px,6vw,88px);line-height:1.02;margin:24px 0 20px;max-width:16ch}h1 .accent{color:var(--accent)}.lede{font-size:clamp(18px,2vw,23px);color:var(--muted);max-width:58ch}.stats{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:15px 24px;box-shadow:0 8px 22px var(--shadow)}.stat b{display:block;font-size:34px;color:var(--accent);line-height:1;font-family:var(--serif)}.stat span{font-size:13px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}section{padding:74px 0;border-bottom:1px solid var(--line)}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sand);margin-bottom:12px}h2{font-size:clamp(30px,3.6vw,50px);margin:0 0 16px}.section-lede{font-size:19px;color:var(--muted);max-width:68ch;margin-bottom:40px}.dirs{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dir{text-align:left;cursor:pointer;background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);padding:24px 26px;box-shadow:0 10px 26px var(--shadow);transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);font-family:var(--sans)}.dir:hover{transform:translateY(-3px);box-shadow:0 18px 40px var(--shadow-lift)}.dir.active{border-color:var(--accent);box-shadow:0 18px 44px var(--shadow-lift)}.dir .dir-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}.dir .emoji{font-size:30px}.dir h3{margin:0;font-size:22px}.dir .pill{margin-left:auto;font-size:12px;font-weight:700;letter-spacing:.04em;padding:5px 12px;border-radius:999px;background:var(--accent);color:#fff;opacity:0;transition:opacity .4s var(--ease)}.dir.active .pill{opacity:1}.dir p{margin:0;color:var(--muted);font-size:15.5px}.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.vcard{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:0 10px 26px var(--shadow)}.vcard.flag{border:2px solid var(--accent);box-shadow:0 16px 40px var(--shadow-lift);grid-column:1 / -1}.vcard.flag video{max-height:560px}.vcard video{width:100%;display:block;background:#000;aspect-ratio:16 / 9}.badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--accent);color:#fff;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.04em}.vcard figcaption{padding:18px 20px 22px}.vcard figcaption h3{margin:0 0 5px;font-size:21px;display:flex;align-items:baseline;gap:10px}.vcard figcaption p{margin:0;color:var(--muted);font-size:15px}.dur{font-size:14px;font-weight:600;color:var(--muted);margin-left:auto}.note{background:var(--paper);border:1px dashed var(--line);border-radius:var(--radius);padding:20px 24px;color:var(--muted);font-size:15.5px;grid-column:1 / -1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.card{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 26px var(--shadow);cursor:zoom-in;transition:transform .25s var(--ease),box-shadow .25s var(--ease);text-align:left;padding:0;font-family:var(--sans);width:100%}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px var(--shadow-lift)}.thumb{aspect-ratio:16 / 9;overflow:hidden;background:var(--cream)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.card figcaption{padding:16px 20px 20px}.card figcaption h3{margin:0 0 4px;font-size:20px}.card figcaption p{margin:0;color:var(--muted);font-size:15px}.card figcaption .kind{color:var(--sand);font-weight:700}.posters{overflow:hidden}.carousel{position:relative;margin-top:24px}.carousel-stage{position:relative;height:clamp(420px,62vh,640px);perspective:1800px;transform-style:preserve-3d;outline:none;cursor:grab;touch-action:pan-y;background:radial-gradient(60% 70% at 50% 46%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%)}.carousel-stage:active{cursor:grabbing}.poster-slide{position:absolute;left:50%;top:50%;width:clamp(230px,30vw,340px);aspect-ratio:3 / 4;margin:0;border-radius:18px;overflow:hidden;will-change:transform,opacity,filter;transform-style:preserve-3d;background:var(--paper);box-shadow:0 20px 46px #14120e38;transition:box-shadow .5s var(--ease)}.poster-slide img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:auto}.poster-slide.is-active{cursor:zoom-in;box-shadow:0 40px 90px #14120e57,0 0 0 1px var(--line)}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:1100;width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--accent);font-size:30px;line-height:1;font-family:var(--serif);cursor:pointer;box-shadow:0 10px 28px var(--shadow);transition:transform .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease)}.carousel-nav:hover{background:var(--accent);color:#fff;box-shadow:0 16px 40px var(--shadow-lift)}.carousel-nav.prev{left:max(20px,4vw)}.carousel-nav.next{right:max(20px,4vw)}.carousel-nav.prev:hover{transform:translateY(-50%) scale(1.08) translate(-2px)}.carousel-nav.next:hover{transform:translateY(-50%) scale(1.08) translate(2px)}.carousel-foot{display:flex;align-items:center;gap:22px;margin-top:30px}.carousel-count{font-family:var(--serif);font-size:20px;color:var(--muted);letter-spacing:.04em}.carousel-count .cur{color:var(--accent);font-weight:700;font-size:26px}.carousel-count .sep{margin:0 6px;opacity:.5}.carousel-progress{flex:1;height:3px;border-radius:999px;background:var(--line);overflow:hidden}.carousel-progress span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .6s var(--ease)}@media (max-width: 640px){.carousel-nav{width:46px;height:46px;font-size:26px}.carousel-nav.prev{left:8px}.carousel-nav.next{right:8px}}.two{display:grid;grid-template-columns:1fr 1fr;gap:30px}.prop{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px;box-shadow:0 10px 26px var(--shadow)}.prop h3{margin:0 0 16px;font-size:22px;color:var(--accent)}ul.clean{list-style:none;padding:0;margin:0}ul.clean li{padding-left:30px;position:relative;margin-bottom:13px;font-size:16px}ul.clean li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}ul.gap li:before{content:"→";color:var(--sand)}.guard{margin-top:30px;font-size:17px;color:var(--muted);max-width:74ch}.guard code{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:1px 7px;font-size:.92em}footer{padding:50px 0 74px;color:var(--muted);font-size:15px}footer .brand{display:flex;align-items:center;gap:11px;font-weight:700;color:var(--accent);font-size:19px;margin-bottom:14px}footer .brand .cap{width:34px;height:34px;border-radius:9px;background:var(--accent);display:grid;place-items:center;color:#fff;font-size:18px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:32px;background:#14120ec7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade .25s var(--ease)}.lightbox figure{margin:0;max-width:1000px;width:100%;max-height:92vh;overflow:auto;background:var(--paper);border-radius:var(--radius);box-shadow:0 40px 90px #0006;animation:pop .3s var(--ease)}.lightbox figure.poster{max-width:540px}.lightbox img{width:100%;display:block}.lightbox figcaption{padding:20px 26px 24px}.lightbox figcaption h3{margin:0 0 4px;font-size:24px}.lightbox figcaption p{margin:0;color:var(--muted);font-size:16px}.lightbox .close{position:absolute;top:22px;right:26px;width:46px;height:46px;border-radius:50%;border:0;background:var(--paper);color:var(--ink);font-size:22px;cursor:pointer;box-shadow:0 8px 24px #0000004d}.poster-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:28px 16px;background:#14120ed6;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);touch-action:none;overscroll-behavior:contain}.pl-stage{position:relative;width:min(88vw,52.5vh);max-width:520px;aspect-ratio:3 / 4}.pl-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:0 40px 90px #00000080;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;cursor:grab;will-change:transform}.pl-poster:active{cursor:grabbing}.pl-close{position:absolute;top:22px;right:22px;width:46px;height:46px;border-radius:50%;border:0;background:var(--paper);color:var(--ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 8px 24px #00000059;z-index:2}.pl-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--accent);font-size:30px;line-height:1;font-family:var(--serif);cursor:pointer;box-shadow:0 12px 30px #00000052;transition:transform .3s var(--ease),background .3s var(--ease)}.pl-nav:hover{background:var(--accent);color:#fff}.pl-nav.prev{left:max(16px,4vw)}.pl-nav.next{right:max(16px,4vw)}.pl-nav.prev:hover{transform:translateY(-50%) scale(1.08) translate(-2px)}.pl-nav.next:hover{transform:translateY(-50%) scale(1.08) translate(2px)}.pl-meta{text-align:center;color:#f6f1e7;max-width:90vw}.pl-meta h3{margin:0 0 4px;font-size:clamp(19px,2.4vw,25px)}.pl-meta p{margin:0;color:#f6f1e7a8;font-size:15px}.pl-count{margin-top:12px;font-family:var(--serif);font-size:17px;color:#f6f1e7b3;letter-spacing:.04em}.pl-count .cur{color:#fff;font-weight:700;font-size:22px}.pl-count .sep{margin:0 5px;opacity:.5}@media (max-width: 640px){.pl-nav{width:44px;height:44px;font-size:26px}.pl-nav.prev{left:8px}.pl-nav.next{right:8px}.pl-close{top:14px;right:14px}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 820px){.two,.dirs{grid-template-columns:1fr}.hero .scrim{background:linear-gradient(180deg,color-mix(in srgb,var(--cream) 92%,transparent),color-mix(in srgb,var(--cream) 72%,transparent))}.hero .inner{padding:60px 20px}.topbar .brand span.name{display:none}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
