:root{--bg:#000000;--ink:#FFFFFF;--panel:#0F0F11;--panel-2:#141416;--line:#232326;--line-2:#33333A;--muted:#A8A8AC;--muted-2:#8A8A8A;--accent:#BD0D16;--accent-lit:#FF3B45;--on-accent:#FFFFFF;--accent-line:rgba(255,255,255,.5);--mnav-bg:#8E0A10;--mnav-line:rgba(255,255,255,.2);--tag-bg:rgba(189,13,22,.92);--hero-grad:radial-gradient(120% 90% at 15% 10%,#2A0407 0%,#000 70%);--glow-grad:radial-gradient(circle,rgba(189,13,22,.55) 0%,rgba(0,0,0,0) 66%);--btn-hover-bg:#FFFFFF;--btn-hover-fg:var(--accent);--logo-filter:brightness(0) invert(1);--pulse:rgba(189,13,22,.55);--pad-y:clamp(96px,12vw,168px);--pad-x:clamp(20px,4vw,48px);--wrap:1400px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;letter-spacing:-.03em;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p,li,dd,dt,h1,h2,h3,h4{word-break:keep-all}
h1,h2,h3,h4{margin:0;font-weight:800;line-height:1.2}
figure{margin:0}
:focus-visible{outline:2px solid var(--accent-lit);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad-x)}
.sec{padding-block:var(--pad-y)}
.sec--tint{background:var(--panel)}
.kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-lit);margin-bottom:18px}
.h2{font-size:clamp(26px,3.2vw,40px);line-height:1.24;letter-spacing:-.04em}
.lede{margin:18px 0 0;max-width:62ch;font-size:clamp(15px,1.15vw,17px);line-height:1.8;color:var(--muted)}
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:80}
.hdr{position:sticky;top:0;z-index:60;background:var(--accent);color:var(--on-accent);box-shadow:0 2px 20px rgba(0,0,0,.4)}
.hdr-in{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,3vw,36px);height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{height:26px;width:auto;flex:0 0 auto;filter:var(--logo-filter)}
.brand-div{width:1px;height:20px;background:currentColor;opacity:.4;flex:0 0 auto}
.brand-name{font-size:clamp(14px,1.3vw,17px);font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:520px){.brand-logo{height:22px}
.brand-div,.brand-name{display:none}
}
.nav{display:flex;align-items:center;gap:clamp(12px,1.6vw,26px)}
.nav a{font-size:14px;font-weight:600;padding:4px 0;border-bottom:2px solid transparent;white-space:nowrap;transition:border-color .34s cubic-bezier(.16,1,.3,1),opacity .34s cubic-bezier(.16,1,.3,1)}
.nav a:hover{border-bottom-color:currentColor}
.hdr-tel{display:inline-flex;align-items:center;gap:8px;background:var(--on-accent);color:var(--accent);font-size:14px;font-weight:800;padding:9px 18px;border-radius:999px;white-space:nowrap;transition:transform .3s cubic-bezier(.22,1.4,.36,1)}
.hdr-tel:hover{transform:translateY(-2px)}
.burger{display:none;width:42px;height:42px;border:1px solid var(--accent-line);border-radius:8px;background:none;color:var(--on-accent);cursor:pointer;padding:0;align-items:center;justify-content:center}
.burger span{display:block;width:18px;height:2px;background:currentColor;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.burger span::before{top:-6px}
.burger span::after{top:6px}
.mnav{display:none;background:var(--mnav-bg);color:var(--on-accent);border-top:1px solid var(--mnav-line)}
.mnav.is-open{display:block}
.mnav a{display:block;padding:15px clamp(16px,4vw,28px);font-size:15px;font-weight:600;border-bottom:1px solid var(--mnav-line)}
@media (max-width:900px){.nav,.hdr-tel{display:none}
.burger{display:inline-flex}
}
.hero{position:relative;overflow:hidden;height:min(94vh,1000px);min-height:640px;display:flex;align-items:center}
.hero-bgw{position:absolute;inset:0;overflow:hidden;will-change:transform}
.hero-bg{position:absolute;inset:0;width:100%;height:112%;object-fit:cover;object-position:center 30%;background:var(--hero-grad);font-size:0;animation:kenburns 26s cubic-bezier(.4,0,.6,1) infinite;will-change:transform}
.hero-bg--none{background:var(--hero-grad)}
.hero-glow{position:absolute;top:0;left:0;width:70vw;height:70vw;max-width:900px;max-height:900px;background:var(--glow-grad);mix-blend-mode:screen;pointer-events:none;animation:heroglow 14s ease-in-out infinite}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.42) 46%,rgba(0,0,0,.12) 100%)}
.hero-scrim-b{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,0) 34%,rgba(0,0,0,.72) 100%)}
.hero-in{position:relative;width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,56px);will-change:transform,opacity}
.tag{display:inline-flex;align-items:center;gap:8px;background:var(--tag-bg);color:var(--on-accent);border-radius:999px;padding:8px 18px;font-size:13px;font-weight:700;margin-bottom:24px}
.hero h1{font-size:clamp(34px,5.4vw,72px);line-height:1.14;letter-spacing:-.05em;text-shadow:0 6px 34px rgba(0,0,0,.8)}
.hero h1 .over{display:block;font-size:.56em;font-weight:700;letter-spacing:-.03em;margin-bottom:10px}
.hero h1 .lit{color:var(--accent-lit)}
.hero h1[data-reveal]{transform:none}
.hero h1 .w{display:inline-block;will-change:transform,opacity;opacity:0;transform:translateY(.5em);transition:opacity .42s ease-out var(--d,0ms),transform .62s cubic-bezier(.16,1,.3,1) var(--d,0ms)}
.hero h1.is-in .w{opacity:1;transform:none}
.hero-sub{margin:24px 0 0;font-size:clamp(15px,1.6vw,21px);font-weight:700;text-shadow:0 2px 16px rgba(0,0,0,.85)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:800;padding:16px 32px;border-radius:999px;transition:transform .52s cubic-bezier(.22,1.4,.36,1),background .32s ease,color .32s ease}
.btn:hover{transform:translateY(-3px) scale(1.03)}
.hero .btn--solid{animation:pulse 2.6s ease-out infinite}
.btn--solid{background:var(--accent);color:var(--on-accent)}
.btn--solid:hover{background:var(--btn-hover-bg);color:var(--btn-hover-fg)}
.btn--ghost{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.4);color:#fff;font-weight:700;backdrop-filter:blur(8px)}
.btn--ghost:hover{background:#fff;color:#111}
.scroll-dot{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);width:22px;height:34px;border:1px solid rgba(255,255,255,.5);border-radius:999px;display:flex;justify-content:center;padding-top:7px}
.scroll-dot i{width:3px;height:6px;border-radius:2px;background:#fff;animation:dot 1.9s cubic-bezier(.2,.8,.2,1) infinite}
@keyframes kenburns{0%,100%{transform:scale(1.06) translate3d(0,0,0)}
50%{transform:scale(1.16) translate3d(-1.6%,-1.2%,0)}
}
@keyframes heroglow{0%,100%{opacity:.25;transform:translate(-18%,-10%) scale(1)}
50%{opacity:.5;transform:translate(-12%,-6%) scale(1.15)}
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 var(--pulse)}
70%{box-shadow:0 0 0 22px rgba(0,0,0,0)}
}
@keyframes dot{0%{opacity:0;transform:translateY(0)}
40%{opacity:1}
100%{opacity:0;transform:translateY(11px)}
}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,72px);align-items:center}
.about-copy p{margin:0 0 18px;font-size:clamp(15px,1.15vw,17px);line-height:1.85;color:#D6D6D8}
.about-copy p:last-of-type{margin-bottom:0}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.badge{border:1px solid var(--line-2);border-radius:6px;padding:10px 16px;font-size:13px;font-weight:600;color:#D6D6D8;background:var(--panel-2)}
.about-figs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.about-figs .fig:first-child{grid-column:1/-1}
.fig img,.fig .ph{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.about-figs .fig:first-child img,.about-figs .fig:first-child .ph{aspect-ratio:16/9}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}
}
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:repeating-linear-gradient(135deg,#141416 0 12px,#101012 12px 24px);border:1px solid var(--line);color:var(--muted-2);text-align:center;padding:18px}
.ph-mark{font-size:11px;font-weight:800;letter-spacing:.28em;color:#4A4A50}
.ph-cap{font-size:13px;font-weight:600;line-height:1.5;max-width:22ch}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:44px}
.stat{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:clamp(24px,2.4vw,34px);display:flex;flex-direction:column;gap:10px}
.stat-when{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--accent-lit)}
.stat-label{font-size:15px;font-weight:700;color:#D6D6D8}
.stat-value{font-size:clamp(30px,3.4vw,46px);font-weight:800;letter-spacing:-.05em;line-height:1}
.stat-value .unit{font-size:.42em;font-weight:700;margin-left:6px;letter-spacing:-.02em;color:var(--muted)}
.stat-detail{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}
.stat-detail li{font-size:13px;line-height:1.6;color:var(--muted)}
.pass{margin:44px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.pass li{display:flex;align-items:center;gap:14px;padding:18px 20px;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;transition:background .3s ease,border-color .3s ease,transform .5s cubic-bezier(.22,1.4,.36,1),box-shadow .42s cubic-bezier(.16,1,.3,1)}
.pass li:hover{background:#1A1A1D;border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.45)}
.pass .yr{flex:0 0 auto;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:800;letter-spacing:.02em;padding:5px 10px;border-radius:999px}
.pass .what{flex:1 1 auto;min-width:0;font-size:14.5px;font-weight:700;letter-spacing:-.03em;line-height:1.45;overflow-wrap:anywhere}
.pass .who{flex:0 1 auto;min-width:0;font-size:13px;font-weight:600;color:var(--muted-2)}
.note{margin:26px 0 0;font-size:13px;line-height:1.7;color:var(--muted-2)}
.class-group{margin-top:56px}
.class-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}
.class-no{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--accent-lit)}
.class-name{font-size:clamp(20px,2vw,26px);letter-spacing:-.04em}
.class-range{font-size:13px;font-weight:700;color:var(--muted)}
.class-lead{margin:14px 0 0;font-size:14px;line-height:1.8;color:var(--muted);max-width:70ch}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,480px));justify-content:center;gap:16px;margin-top:26px}
.card{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transform-style:preserve-3d}
.card img{transform-origin:center;will-change:transform}
.card img,.card .ph{width:100%;aspect-ratio:4/3;object-fit:cover;border:0;border-radius:0}
.card-body{padding:20px;display:flex;flex-direction:column;gap:8px}
.card-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--accent-lit)}
.card-title{font-size:18px;letter-spacing:-.03em}
.card-desc{margin:0;font-size:13.5px;line-height:1.75;color:var(--muted)}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:38px}
.gal .fig img,.gal .fig .ph{aspect-ratio:1/1;border-radius:12px}
.gal .fig{position:relative}
.gal figcaption{margin-top:9px;font-size:12.5px;color:var(--muted-2);line-height:1.5}
.gal button.shot{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:44px;counter-reset:s}
.step{border:1px solid var(--line);border-radius:12px;padding:26px 20px;background:var(--panel-2)}
.step-no{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--accent-lit)}
.step-name{margin-top:12px;font-size:16px;font-weight:700;line-height:1.4}
.faq{margin-top:40px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 34px;position:relative;font-size:16px;font-weight:700;line-height:1.55}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:0;top:22px;font-size:14px;font-weight:800;color:var(--accent-lit)}
.faq summary::after{content:"";position:absolute;right:6px;top:30px;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq .ans{padding:0 34px 26px;font-size:14.5px;line-height:1.85;color:var(--muted)}
.faq .ans a{color:var(--accent-lit);text-decoration:underline;text-underline-offset:3px}
.visit{background:var(--panel);border-top:1px solid var(--line)}
.visit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:44px}
.vcard{border:1px solid var(--line);border-radius:14px;padding:clamp(24px,2.4vw,32px);background:var(--panel-2);display:flex;flex-direction:column;gap:10px}
.vcard h3{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--accent-lit)}
.vcard p{margin:0;font-size:15px;line-height:1.75;color:#D6D6D8}
.vcard .big{font-size:20px;font-weight:800;letter-spacing:-.03em}
.vcard a.more{margin-top:6px;font-size:14px;font-weight:700;color:#fff;border-bottom:1px solid var(--line-2);padding-bottom:4px;align-self:flex-start}
.vcard a.more:hover{border-bottom-color:var(--accent-lit)}
.social{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.social a{border:1px solid var(--line-2);border-radius:6px;padding:9px 15px;font-size:13px;font-weight:600;color:#D6D6D8}
.social a:hover{border-color:var(--accent-lit);color:#fff}
.foot{border-top:1px solid var(--line);padding-block:40px;font-size:12.5px;line-height:1.9;color:var(--muted-2)}
.foot-logo{height:24px;width:auto;margin-bottom:24px;filter:brightness(0) invert(1);opacity:.85}
.foot .sites{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:22px}
.foot .sites a{font-size:13px;font-weight:600;color:var(--muted)}
.foot .sites a:hover{color:#fff}
.rail{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:70;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.rail a{display:flex;align-items:center;height:48px;padding:0 14px;border-radius:999px;background:rgba(20,20,22,.72);backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(255,255,255,.12);color:#fff;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.45);transition:background .32s ease,border-color .32s ease,color .32s ease,box-shadow .42s cubic-bezier(.16,1,.3,1),transform .52s cubic-bezier(.22,1.4,.36,1)}
.rail a.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 8px 28px var(--pulse)}
.rail a:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:translateX(-4px)}
.rail a.pri:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-bg);color:var(--btn-hover-fg)}
.rail svg{flex:0 0 auto}
.rail span{max-width:0;opacity:0;margin-left:0;white-space:nowrap;font-size:13px;font-weight:700;letter-spacing:-.02em;overflow:hidden;transition:max-width .46s cubic-bezier(.16,1,.3,1),opacity .32s ease,margin-left .46s cubic-bezier(.16,1,.3,1)}
.rail a:hover span,.rail a:focus-visible span{max-width:120px;opacity:1;margin-left:9px}
@media (max-width:900px){.rail{display:none}
}
@media (prefers-reduced-motion:reduce){.rail a,.rail span{transition:none}
}
.qbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.qbar a{padding:15px 8px;text-align:center;font-size:14px;font-weight:800;background:#141416}
.qbar a.pri{background:var(--accent);color:var(--on-accent)}
@media (max-width:760px){.qbar{display:grid}
body{padding-bottom:54px}
}
.lb{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:24px}
.lb.is-open{display:flex}
.lb img{max-width:min(1200px,92vw);max-height:88vh;width:auto;object-fit:contain;border-radius:6px}
.lb-close{position:absolute;top:18px;right:20px;width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;background:none;color:#fff;font-size:22px;cursor:pointer;line-height:1}
[data-reveal]{opacity:0;transform:translateY(26px);will-change:transform,opacity;transition:opacity .38s ease-out,transform .58s cubic-bezier(.16,1,.3,1)}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal][data-fx="flip"]{transform-origin:50% 100%;transform:perspective(900px) rotateX(-72deg) translateY(26px) scale(.96);transition:opacity .46s ease-out,transform .76s cubic-bezier(.2,1.25,.34,1)}
[data-reveal][data-fx="flip"].is-in{transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal],[data-reveal][data-fx="flip"]{opacity:1;transform:none;transition:none}
.hero h1 .w{opacity:1;transform:none;transition:none}
.hero-bg,.hero-glow,.hero .btn--solid{animation:none}
.scroll-dot i{animation:none}
}
html{-webkit-text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent}
a,button,summary{touch-action:manipulation}
.sec{content-visibility:auto;contain-intrinsic-size:auto 900px}
.hero,.visit{content-visibility:visible}
@supports (height:100svh){.hero{height:min(94svh,1000px)}
}
@media (max-width:900px){:root{--pad-y:clamp(68px,11vw,120px)}
.hero{height:auto;min-height:auto;padding-block:clamp(104px,22vw,150px) clamp(76px,16vw,110px)}
@supports (height:100svh){.hero{height:auto;min-height:88svh}
}
.hero h1{font-size:clamp(29px,7.6vw,46px);line-height:1.18;letter-spacing:-.045em}
.hero h1 .over{font-size:.6em;margin-bottom:8px}
.hero-sub{font-size:clamp(14px,4vw,18px);margin-top:18px}
.tag{font-size:12px;padding:7px 14px;margin-bottom:18px;line-height:1.45}
.hero-scrim{background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.62) 60%,rgba(0,0,0,.42) 100%)}
.hero-glow{width:110vw;height:110vw}
.scroll-dot{display:none}
.cta-row{margin-top:26px;gap:10px}
.cta-row .btn{flex:1 1 100%;justify-content:center;padding:15px 20px;font-size:15px;min-height:52px}
}
@media (max-width:760px){.h2{font-size:clamp(22px,5.6vw,32px)}
.lede{font-size:15px;line-height:1.75}
.about-figs{gap:10px}
.gal{grid-template-columns:repeat(auto-fill,minmax(min(46%,150px),1fr));gap:10px;margin-top:28px}
.gal figcaption{font-size:11.5px;margin-top:7px}
.cards{grid-template-columns:1fr;gap:12px}
.stats{grid-template-columns:1fr;gap:10px}
.pass{grid-template-columns:1fr}
.steps{grid-template-columns:repeat(auto-fit,minmax(min(46%,140px),1fr));gap:10px}
.step{padding:20px 16px}
.visit-grid{grid-template-columns:1fr;gap:10px}
.class-group{margin-top:38px}
.pass li{padding:15px 16px;gap:11px}
.pass .what{font-size:14px}
.faq summary{padding:19px 40px 19px 28px;font-size:15px}
.faq summary::before{top:19px}
.faq summary::after{top:26px}
.faq .ans{padding:0 28px 22px;font-size:14px}
.social a{padding:11px 16px}
.foot .sites{gap:10px 16px}
.foot .sites a{padding:4px 0}
}
@media (max-width:400px){:root{--pad-x:18px}
.btn{font-size:15px;padding:15px 22px}
.badge{font-size:12px;padding:9px 13px}
}
.qbar{grid-template-columns:repeat(3,1fr);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--line)}
.qbar a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:10px 4px;font-size:13.5px;letter-spacing:-.04em;line-height:1.25}
.qbar a .sm{font-size:12px;font-weight:700}
@media (max-width:760px){body{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:340px){.qbar a{font-size:12.5px}
}
.lb{overscroll-behavior:contain;padding:16px}
.lb-close{top:calc(12px + env(safe-area-inset-top,0px));right:12px}
.lp-head{padding-block:clamp(84px,10vw,132px) clamp(40px,5vw,64px);background:var(--hero-grad);border-bottom:1px solid var(--line)}
.crumb{font-size:12.5px;color:var(--muted-2);margin-bottom:20px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumb a{color:var(--muted);border-bottom:1px solid transparent}
.crumb a:hover{color:#fff;border-bottom-color:var(--accent-lit)}
.crumb span[aria-hidden]{opacity:.5}
.lp-h1{font-size:clamp(28px,4.4vw,52px);line-height:1.2;letter-spacing:-.045em}
.lp-h1 .lit{color:var(--accent-lit)}
.lp-sub{margin:20px 0 0;max-width:64ch;font-size:clamp(15px,1.2vw,18px);line-height:1.8;color:#D6D6D8}
.prose p{margin:0 0 18px;font-size:clamp(15px,1.15vw,17px);line-height:1.9;color:#D6D6D8;max-width:72ch}
.prose p:last-child{margin-bottom:0}
.lp-points{margin:32px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.lp-points li{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.lp-points b{display:block;font-size:15px;margin-bottom:8px;letter-spacing:-.03em}
.lp-points span{font-size:13.5px;line-height:1.75;color:var(--muted)}
@media (max-width:760px){.lp-points{grid-template-columns:1fr}
}
.lp-list{margin:32px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.lp-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:15px 2px;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.6}
.lp-list .k{flex:0 0 auto;font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--accent-lit);min-width:74px}
.lp-list .v{flex:1 1 220px;font-weight:600}
.lp-list .m{flex:0 0 auto;font-size:13px;color:var(--muted-2)}
.lp-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.lp-links a{border:1px solid var(--line-2);border-radius:999px;padding:10px 18px;font-size:13.5px;font-weight:600;color:#D6D6D8;background:var(--panel-2);min-height:44px;display:inline-flex;align-items:center}
.lp-links a:hover{border-color:var(--accent-lit);color:#fff}
.lp-links a[aria-current]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.lp-cta{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-cta .cta-row{margin-top:28px}
.lp-cta .btn{min-height:54px}
.sec > .wrap > .kicker,.sec > .wrap > .h2,.sec > .wrap > .lede,.sec > .wrap > .note{text-align:center}
.lede,.note{margin-inline:auto}
.class-head{justify-content:center}
.vcard{align-items:center;text-align:center}
.vcard a.more{align-self:center}
.social{justify-content:center}
.foot{text-align:center}
.foot-logo{margin-inline:auto}
.foot .sites{justify-content:center}
.vcard a.more,.foot .sites a{position:relative}
.vcard a.more::after,.foot .sites a::after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}
:root{--accent:#FFFFFF;--accent-lit:#FFFFFF;--on-accent:#0B0B0C;--accent-line:rgba(11,11,12,.45);--mnav-bg:#E4E4E6;--mnav-line:rgba(11,11,12,.16);--tag-bg:rgba(255,255,255,.94);--hero-grad:radial-gradient(120% 90% at 15% 10%,#17171A 0%,#000 70%);--glow-grad:radial-gradient(circle,rgba(255,255,255,.24) 0%,rgba(0,0,0,0) 66%);--btn-hover-bg:#C4C4C8;--btn-hover-fg:#0B0B0C;--logo-filter:brightness(0);--pulse:rgba(255,255,255,.35)}
