@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{color-scheme:light;--bg:#f4f5f5;--surface:#fff;--surface-2:#f0f1ef;--line:#d8d9d5;--line-strong:#c5c6c1;--ink:#131313;--ink-2:#3b3b39;--ink-3:#73736c;--ink-4:#b4b5af;--on-ink:#fff;--ink-hover:#2c2c2a;--highlight:#f0e835;--highlight-soft:#eeecc1;--nav-bg:#f4f5f5d1;--accent:var(--ink);--accent-ink:#000;--accent-soft:var(--highlight-soft);--accent-contrast:var(--on-ink);--rep:#2550d4;--rep-soft:#e9edfb;--pro:#c1422c;--pro-soft:#fbeae6;--edu:#1d8a5c;--edu-soft:#e4f3ec;--evt:#6b4ea8;--evt-soft:#efeaf8;--danger:#b42318;--danger-soft:#fbeceb;--success:#1d8a5c;--success-soft:#e4f3ec;--success-line:#b7e0c9;--radius-xs:5px;--radius-sm:7px;--radius:11px;--radius-lg:16px;--radius-xl:22px;--shadow-sm:0 1px 2px #14120e0d, 0 1px 1px #14120e08;--shadow:0 4px 14px #14120e0f, 0 12px 34px #14120e0d;--shadow-lg:0 18px 50px #14120e29;--maxw:1200px;--nav-h:66px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Space Grotesk", var(--font-sans);--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}:root[data-theme=dark]{color-scheme:dark;--bg:#131313;--surface:#1c1c1b;--surface-2:#212120;--line:#2c2c2a;--line-strong:#3d3d3a;--ink:#f4f5f5;--ink-2:#c9c9c4;--ink-3:#8c8c85;--ink-4:#52524d;--on-ink:#131313;--ink-hover:#e2e3df;--highlight-soft:#38361d;--nav-bg:#131313d1;--rep-soft:#1b2340;--pro-soft:#38201a;--edu-soft:#172f24;--evt-soft:#292138;--danger-soft:#391b17;--success-soft:#172f24;--success-line:#2b543f;--shadow-sm:0 1px 2px #0000004d, 0 1px 1px #0003;--shadow:0 4px 14px #00000059, 0 12px 34px #0000004d;--shadow-lg:0 18px 50px #0000008c}.dir-main{--accent:var(--rep);--accent-soft:var(--rep-soft);--accent-contrast:#fff}.dir-pro{--accent:var(--pro);--accent-soft:var(--pro-soft);--accent-contrast:#fff}.dir-edu{--accent:var(--edu);--accent-soft:var(--edu-soft);--accent-contrast:#fff}.dir-evt{--accent:var(--evt);--accent-soft:var(--evt-soft);--accent-contrast:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;letter-spacing:-.006em;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:0;font-family:inherit}input,select,textarea{font-family:inherit}img{max-width:100%;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}.wrap-wide{max-width:1360px;margin:0 auto;padding:0 32px}.section{padding:84px 0}.section-sm{padding:52px 0}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.spacer{flex:1}.mono{font-family:var(--font-mono)}.tnum{font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;align-items:center;gap:9px;font-size:11px;font-weight:700;display:inline-flex}.eyebrow.on-accent{color:var(--accent)}.eyebrow:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.eyebrow.no-dot:before{display:none}.display{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(40px,5.5vw,66px);font-weight:700;line-height:1.09}.h1{font-family:var(--font-display);letter-spacing:-.034em;text-wrap:balance;margin:0;font-size:clamp(32px,4vw,44px);font-weight:700;line-height:1.14}.h2{font-family:var(--font-display);letter-spacing:-.033em;text-wrap:balance;margin:0;font-size:clamp(26px,3vw,30px);font-weight:700;line-height:1.2}.h3{font-family:var(--font-display);letter-spacing:-.023em;margin:0;font-size:22px;font-weight:700;line-height:1.27}.lead{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:clamp(16px,1.6vw,19px);line-height:1.55}.muted{color:var(--ink-3)}.fineprint{color:var(--ink-3);font-size:12.5px;line-height:1.6}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .8em}.md h2,.md h3,.md h4,.md h5,.md h6{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:1.4em 0 .5em;font-weight:700;line-height:1.25}.md h2{font-size:1.35em}.md h3{font-size:1.18em}.md h4,.md h5,.md h6{font-size:1.04em}.md ul,.md ol{margin:0 0 .8em;padding-left:1.35em}.md li{margin:.2em 0}.md li>ul,.md li>ol{margin:.2em 0 0}.md ul{list-style:outside}.md ol{list-style:decimal}.md blockquote{border-left:3px solid var(--line-strong);color:var(--ink-3);margin:0 0 .8em;padding-left:.9em}.md a{color:var(--ink);text-underline-offset:2px;text-decoration:underline;text-decoration-color:var(--ink-4);overflow-wrap:anywhere}.md a:hover{text-decoration-color:currentColor}.md strong{color:var(--ink);font-weight:600}.md code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-xs);padding:.1em .35em;font-size:.88em}.md pre{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 0 .8em;padding:12px 14px;overflow-x:auto}.md pre code{background:0 0;border:0;padding:0}.md img{border-radius:var(--radius-sm);max-width:100%;height:auto;margin:.4em 0;display:block}.md hr{border:0;border-top:1px solid var(--line);margin:1.2em 0}.btn{border-radius:var(--radius-sm);letter-spacing:-.01em;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;height:46px;padding:0 20px;font-size:14.5px;font-weight:500;transition:background .14s,color .14s,border-color .14s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-lg{border-radius:var(--radius);height:54px;padding:0 26px;font-size:16px}.btn-sm{height:38px;padding:0 14px;font-size:13.5px}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-primary:hover{background:var(--ink-hover)}.btn-accent{background:var(--accent);color:var(--accent-contrast)}.btn-accent:hover{filter:brightness(1.08)}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--ink-4)}.btn-quiet{color:var(--ink-2);background:0 0}.btn-quiet:hover{color:var(--ink)}.btn-block{width:100%}.btn:disabled{opacity:.55;pointer-events:none}.btn .arrow{transition:transform .16s}.btn:hover .arrow{transform:translate(3px)}.tag{letter-spacing:.02em;height:26px;font-size:11.5px;font-weight:600;font-family:var(--font-mono);background:var(--surface);border:1px solid var(--line-strong);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.tag .dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.tag-dir{background:var(--accent-soft);color:var(--accent);border-color:#0000}.tag-solid{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.tag-status{font-size:11.5px;font-weight:500;font-family:var(--font-mono);color:var(--ink-2);align-items:center;gap:7px;display:inline-flex}.tag-status:before{content:"";background:var(--ink-4);border-radius:50%;width:7px;height:7px}.tag-status.open:before{background:var(--edu)}.tag-status.soon:before{background:#d4a017}.tag-status.closed:before{background:var(--ink-4)}.ph{background:repeating-linear-gradient(135deg, var(--surface-2) 0 11px, var(--surface) 11px 22px);border:1px solid var(--line);color:var(--ink-3);place-items:center;display:grid;position:relative;overflow:hidden}.ph:after{content:attr(data-label);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:11px}.ph-dark{background:repeating-linear-gradient(135deg,#16150f 0 11px,#1b1a12 11px 22px);border-color:#26251c}.ph-dark:after{color:#a9a48c;background:#1b1a12;border-color:#2c2a20}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card-pad{padding:22px}.hr{background:var(--line);border:0;height:1px;margin:0}.vr{background:var(--line);align-self:stretch;width:1px}.nav{z-index:60;min-height:var(--nav-h);background:var(--nav-bg);backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav-inner{height:var(--nav-h);align-items:center;gap:22px;display:flex}.nav-links{align-items:center;gap:4px;display:flex}.nav-link{border-radius:var(--radius-sm);height:38px;color:var(--ink-2);align-items:center;gap:8px;padding:0 13px;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.nav-link:hover{background:var(--surface);color:var(--ink)}.nav-link.active{color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.nav-link .ndot{border-radius:50%;width:6px;height:6px}.nav-cta{align-items:center;gap:8px;display:flex}.theme-toggle{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--ink-2);place-items:center;transition:background .12s,color .12s;display:grid}.theme-toggle:hover{background:var(--surface);color:var(--ink)}.theme-toggle .i-sun{display:none}:root[data-theme=dark] .theme-toggle .i-sun{display:block}:root[data-theme=dark] .theme-toggle .i-moon{display:none}.nav-dd{position:relative}.nav-dd-btn{cursor:pointer;background:0 0;border:0;font-family:inherit}.nav-dd-btn svg{opacity:.65;transition:transform .15s}.nav-dd:hover .nav-dd-btn svg,.nav-dd:focus-within .nav-dd-btn svg{transform:rotate(180deg)}.nav-dd-menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:230px;box-shadow:var(--shadow);z-index:60;padding:6px;display:none;position:absolute;top:calc(100% + 6px);left:0}.nav-dd-menu:before{content:"";height:8px;position:absolute;top:-8px;left:0;right:0}.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{display:block}.nav-dd-item{border-radius:var(--radius-sm);color:var(--ink-2);white-space:nowrap;padding:9px 12px;font-size:14px;font-weight:500;display:block}.nav-dd-item:hover{background:var(--surface-2);color:var(--ink)}.nav-dd-item.active{color:var(--ink);background:var(--surface-2)}.nav-m-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:12px 13px 4px;font-size:11px}.nav-burger{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--ink);place-items:center;display:none}.nav-burger:hover{background:var(--surface)}.nav-mobile{display:none}.logo{align-items:center;gap:11px;display:inline-flex}.logo-mark{border-radius:9px;flex-shrink:0;width:34px;height:34px}.logo-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:17px;font-weight:700;line-height:1}.hub-hero{padding:56px 0 72px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(400px,620px);align-items:center;gap:clamp(28px,3vw,48px);display:grid}.hub-hero .display{max-width:13ch}.hub-hero .lead{max-width:56ch;margin-top:22px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero-stats{flex-wrap:wrap;gap:38px;margin-top:46px;display:flex}.hero-stat .v{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.hero-stat .l{color:var(--ink-3);margin-top:3px;font-size:12.5px}.photo-frame{aspect-ratio:3/2;border-radius:var(--radius);background:var(--surface-2);position:relative;overflow:hidden}.photo-frame .photo{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.photo-frame .photo.active{opacity:1}.photo-nav{justify-content:center;align-items:center;gap:14px;margin-top:16px;display:flex}.photo-dots{display:flex}.photo-dot{place-items:center;width:22px;height:22px;padding:0;display:grid}.photo-dot:before{content:"";background:var(--ink-4);border-radius:50%;width:7px;height:7px;transition:background .14s}.photo-dot:hover:before{background:var(--ink-3)}.photo-dot.active:before{background:var(--ink)}.dir-row-wrap{border-top:1px solid var(--line);margin-top:56px;padding-top:28px}.dir-row{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:22px;display:grid}.dir-item-top{align-items:center;gap:12px;display:flex}.dir-num{background:var(--ink);width:26px;height:26px;color:var(--on-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.dir-line{background:var(--line);flex:1;height:1px}.dir-item h3{font-family:var(--font-display);letter-spacing:-.02em;margin:18px 0 0;font-size:17px;font-weight:700}.dir-item p{color:var(--ink-3);margin:5px 0 0;font-size:14px}.dir-item:hover h3{color:var(--ink-2)}.dir-item:hover .dir-line{background:var(--line-strong)}@media (width<=720px){.dir-row{grid-template-columns:1fr;gap:22px}}.arrow-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--ink-2);background:0 0;place-items:center;transition:color .12s,background .12s;display:grid}.arrow-btn:hover{color:var(--ink);background:var(--surface-2)}.arrow-btn:disabled{opacity:.35;pointer-events:none}@media (width<=980px){.hero-grid{grid-template-columns:1fr}}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.sec-head .col{gap:12px}.sec-head-link{color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.sec-head-link:hover{color:var(--accent)}.tcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;overflow:hidden}.tcard:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.tcard-body{flex-direction:column;flex:1;padding:16px 16px 18px;display:flex}.tcard-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tcard-price{background:var(--surface-2);border:1px solid var(--line);font-family:var(--font-mono);border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:600}.tcard-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tcard-date{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;align-items:baseline;gap:7px;font-size:12px;display:inline-flex}.tcard h3{letter-spacing:-.018em;margin:9px 0 0;font-size:17px;font-weight:600;line-height:1.25}.tcard-meta{flex-wrap:wrap;gap:6px 14px;margin-top:11px;display:flex}.tcard-meta .m{color:var(--ink-3);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.tcard-meta .m svg{color:var(--ink-4)}.tcard-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:15px;display:flex}.tcard-spots{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.tcard-spots .lbl{color:var(--ink-3);font-size:11.5px;font-family:var(--font-mono);justify-content:space-between;display:flex}.tprog{background:var(--accent-soft);border-radius:999px;height:5px;overflow:hidden}.tprog>div{background:var(--accent);border-radius:999px;height:100%}.tgrid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.tgrid-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.trow{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:64px 1fr auto auto;align-items:center;gap:18px;padding:14px 18px;transition:border-color .14s,box-shadow .14s;display:grid}.trow:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.trow-date{text-align:center;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);width:64px;padding:8px 0}.trow-date .d{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1}.trow-date .m{font-family:var(--font-mono);text-transform:uppercase;color:var(--ink-3);letter-spacing:.06em;margin-top:3px;font-size:10px}.trow-main{min-width:0}.trow-main h3{letter-spacing:-.015em;margin:0;font-size:16px;font-weight:600}.trow-main .sub{color:var(--ink-3);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12.5px;display:flex}.trow-ctrl{font-family:var(--font-mono);text-align:right;font-size:13px;font-weight:600}.trow-ctrl small{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;font-size:10px;font-weight:500;display:block}.filters{flex-direction:column;gap:14px;margin-bottom:26px;display:flex}.filter-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fchip{background:var(--surface);border:1px solid var(--line-strong);height:36px;color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.fchip:hover{border-color:var(--ink-4);color:var(--ink)}.fchip .fdot{border-radius:50%;width:8px;height:8px}.fchip.active{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.fchip.active.dir-main{background:var(--rep);border-color:var(--rep);color:#fff}.fchip.active.dir-pro{background:var(--pro);border-color:var(--pro);color:#fff}.fchip.active.dir-edu{background:var(--edu);border-color:var(--edu);color:#fff}.fchip .cnt{font-family:var(--font-mono);opacity:.6;font-size:11px}.fchip.active .cnt{opacity:.85}.filter-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.fsearch{flex:1;min-width:180px;position:relative}.fsearch input{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);width:100%;height:40px;color:var(--ink);outline:none;padding:0 12px 0 36px;font-size:14px}.fsearch input:focus{background:var(--surface);border-color:var(--line-strong)}.fsearch svg{color:var(--ink-3);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.fselect{position:relative}.fselect select{appearance:none;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);height:40px;color:var(--ink);outline:none;padding:0 34px 0 13px;font-size:13.5px;font-weight:500}.fselect svg{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.fseg{background:var(--bg);border:1px solid var(--line);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.fseg button{height:32px;color:var(--ink-3);border-radius:6px;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:500;display:inline-flex}.fseg button:hover{color:var(--ink)}.fseg button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000000f, 0 0 0 1px var(--line-strong)}.filter-meta{justify-content:space-between;align-items:center;gap:16px;display:flex}.filter-count{font-family:var(--font-mono);color:var(--ink-3);font-size:12.5px}.filter-count b{color:var(--ink);font-weight:600}.empty{text-align:center;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--ink-3);padding:72px 24px}.empty h3{color:var(--ink);margin:14px 0 6px}.about-hero{padding:8px 0 44px}.about-hero .h1{max-width:16ch;margin-top:20px}.about-hero .lead{max-width:54ch;margin-top:20px}.about-hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.feature-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.feature-ic{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:11px;place-items:center;margin-bottom:16px;display:grid}.feature h3{letter-spacing:-.015em;margin:0 0 7px;font-size:17px}.feature p{color:var(--ink-2);margin:0;font-size:14px}.steps{counter-reset:step;grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.step{border-top:2px solid var(--ink);padding-top:22px}.step.accent-top{border-top-color:var(--accent)}.step-n{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.08em;font-size:12px}.step h3{letter-spacing:-.015em;margin:12px 0 7px;font-size:17px}.step p{color:var(--ink-2);margin:0;font-size:14px}.case-scroller{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--ink-4) transparent;grid-auto-columns:316px;grid-auto-flow:column;gap:16px;padding-bottom:8px;display:grid;overflow-x:auto}.case-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;transition:border-color .12s;display:flex;overflow:hidden}.case-card:hover{border-color:var(--ink-3)}.case-photo{aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--line);width:100%;display:block}.case-body{flex-direction:column;flex:1;gap:7px;padding:18px 20px 0;display:flex}.case-tag{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.case-body h3{letter-spacing:-.015em;margin:2px 0 0;font-size:17px}.case-body p{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.case-more{color:var(--ink-3);align-items:center;gap:7px;padding:14px 20px 18px;font-size:13px;font-weight:600;transition:color .12s;display:flex}.case-card:hover .case-more{color:var(--accent)}.case-cols{grid-template-columns:1fr 1.3fr;align-items:start;gap:48px;display:grid}.case-text{color:var(--ink-2);margin:14px 0 0;font-size:15px;line-height:1.65}.case-gallery{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.case-gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);width:100%;height:100%;display:block}.case-gallery img:first-child{aspect-ratio:auto;grid-area:span 2/span 2}.split{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.split-media{aspect-ratio:4/3;border-radius:var(--radius-lg)}.checklist{flex-direction:column;gap:12px;margin:22px 0 0;padding:0;list-style:none;display:flex}.checklist li{color:var(--ink-2);align-items:flex-start;gap:12px;font-size:15px;display:flex}.checklist .ci{background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.statband{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;display:grid;overflow:hidden}.statband .s{background:var(--surface);padding:26px 22px}.statband .v{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:36px;font-weight:700}.statband .l{color:var(--ink-3);margin-top:5px;font-size:13px}.plan-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;padding:26px;display:flex}.plan.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan-name{font-size:13px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.plan-price{font-family:var(--font-display);letter-spacing:-.02em;margin:16px 0 4px;font-size:38px;font-weight:700}.plan-price small{color:var(--ink-3);font-size:15px;font-weight:500}.plan ul{flex-direction:column;gap:11px;margin:18px 0 24px;padding:0;list-style:none;display:flex}.plan ul li{color:var(--ink-2);gap:10px;font-size:14px;display:flex}.plan ul li svg{color:var(--accent);flex-shrink:0;margin-top:2px}.plan .btn{margin-top:auto}.cta-band{background:var(--ink);color:var(--on-ink);border-radius:var(--radius-xl);padding:56px;position:relative;overflow:hidden}.cta-band.accent-bg{background:var(--accent);color:var(--accent-contrast)}.cta-band .h2{color:inherit;max-width:20ch}.cta-band .lead{color:color-mix(in srgb, currentcolor 72%, transparent);max-width:50ch;margin-top:16px}.cta-band-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.btn-on-dark{background:var(--bg);color:var(--ink)}.btn-on-dark:hover{background:var(--surface-2)}.btn-ghost-dark{color:var(--on-ink);border-color:color-mix(in srgb, var(--on-ink) 28%, transparent);background:0 0}.btn-ghost-dark:hover{background:color-mix(in srgb, var(--on-ink) 8%, transparent);border-color:color-mix(in srgb, var(--on-ink) 50%, transparent)}.program{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.prog-step{background:var(--surface);opacity:0;transition:opacity .45s,transform .45s;transition-delay:calc(var(--i,0) * 90ms);padding:26px 24px 30px;transform:translateY(10px)}[data-reveal].in .prog-step{opacity:1;transform:none}.prog-n{letter-spacing:.08em;color:var(--ink-4);font-size:11px;font-weight:700;display:block}.prog-step h3{font-family:var(--font-display);letter-spacing:-.02em;margin:16px 0 0;font-size:19px;font-weight:700}.prog-step p{color:var(--ink-3);margin:10px 0 0;font-size:14px;line-height:1.55}@media (prefers-reduced-motion:reduce){.prog-step{opacity:1;transition:none;transform:none}}@media (width<=1000px){.program{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.program{grid-template-columns:1fr}}.city-list{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);gap:1px;display:grid;overflow:hidden}.city-row{background:var(--surface);color:var(--ink-3);grid-template-columns:minmax(140px,1fr) 2fr auto 20px;align-items:center;gap:20px;padding:20px 24px;transition:background .14s,color .14s;display:grid}.city-row:hover{background:var(--surface-2);color:var(--ink-2)}.city-row svg{color:var(--ink-4);transition:transform .16s,color .14s}.city-row:hover svg{color:var(--ink);transform:translate(3px)}.city-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:21px;font-weight:700}.city-next{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.city-date{color:var(--ink-2);white-space:nowrap;font-size:13px;font-weight:600}.city-row.is-loading{pointer-events:none}.skeleton-line{background:var(--surface-2);border-radius:999px;height:14px;animation:1.2s ease-in-out infinite skel;display:block}@media (width<=820px){.city-row{grid-template-columns:1fr auto;gap:6px 16px;padding:18px 20px}.city-next{white-space:normal;grid-column:1/-1}.city-row svg{display:none}}.coach-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.coach{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px}.coach-ava{object-fit:cover;background:var(--surface-2);border:1px solid var(--line);border-radius:50%;width:64px;height:64px}.coach h3{font-family:var(--font-display);letter-spacing:-.02em;margin:16px 0 0;font-size:18px;font-weight:700}.coach-meta{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-top:6px;font-size:11.5px}.coach p{color:var(--ink-2);margin:12px 0 0;font-size:14px;line-height:1.55}@media (width<=1000px){.coach-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.coach-grid{grid-template-columns:1fr}}.faq{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);gap:1px;display:grid;overflow:hidden}.faq details{background:var(--surface)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:15.5px;font-weight:600;list-style:none;transition:background .14s;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{background:var(--surface-2)}.faq summary svg{color:var(--ink-3);flex-shrink:0;transition:transform .16s}.faq details[open] summary svg{transform:rotate(180deg)}.faq-a{color:var(--ink-2);max-width:72ch;padding:0 22px 20px;font-size:14.5px;line-height:1.6}.faq-a a{text-underline-offset:3px;text-decoration:underline}.partners-track{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.partners-track::-webkit-scrollbar{display:none}.partners-page{scroll-snap-align:start;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);flex:0 0 100%;grid-template-columns:repeat(5,1fr);gap:1px;display:grid;overflow:hidden}.partners-page+.partners-page{margin-left:24px}.partner{text-align:center;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:26px 14px;display:flex}.partner-img{object-fit:contain;width:auto;max-width:78%;max-height:44px}.partner-name{color:var(--ink-2);font-size:12.5px;font-weight:600}.partners-nav{justify-content:center;align-items:center;gap:14px;margin-top:20px;display:flex}.partners-dots{display:flex}.partners-dot{place-items:center;width:22px;height:22px;padding:0;display:grid}.partners-dot:before{content:"";background:var(--ink-4);border-radius:50%;width:7px;height:7px;transition:background .14s}.partners-dot:hover:before{background:var(--ink-3)}.partners-dot.active:before{background:var(--ink)}:root[data-theme=dark] .partner{background:#fff}:root[data-theme=dark] .partner-name{color:#3b3b39}:root[data-theme=dark] .partners-page{background:#d8d9d5;border-color:#d8d9d5}@media (width<=1000px){.partners-page{grid-template-columns:repeat(3,1fr)}}@media (width<=720px){.partners-page{grid-template-columns:repeat(2,1fr)}.partner{padding:20px 10px}}.footer{background:var(--surface);border-top:1px solid var(--line);margin-top:20px;padding:56px 0 30px}.footer-grid{grid-template-columns:1fr 1fr 1.2fr 1.2fr;align-items:start;gap:40px;display:grid}.footer-col h4{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px;font-size:11px;font-weight:700}.footer-col a{width:fit-content;color:var(--ink-2);align-items:center;gap:5px;padding:6px 0;font-size:14px;display:flex}.footer-col a:hover{color:var(--ink)}.footer-col a svg{color:var(--ink-3)}.footer-mail{text-underline-offset:3px;text-decoration:underline}.footer-addr{color:var(--ink-2);max-width:26ch;margin:6px 0 0;font-size:14px;line-height:1.55}.footer-social{gap:8px;margin-top:16px;display:flex}.footer-social a{border:1px solid var(--line-strong);width:38px;height:38px;color:var(--ink-2);border-radius:50%;place-items:center;padding:0;display:grid}.footer-social a:hover{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.footer-social a svg{color:inherit}.footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:48px;padding-top:22px;display:flex}.footer-bottom .fineprint{max-width:60ch}.lf-in,.input{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-sm);width:100%;height:44px;color:var(--ink);outline:none;padding:0 13px;font-size:14.5px;transition:border-color .14s,box-shadow .14s}textarea.lf-in{resize:vertical;height:auto;padding:11px 13px;line-height:1.5}.lf-in:focus,.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lf-in::placeholder{color:var(--ink-4)}.input-wrap{display:flex;position:relative}.input-ic{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.input.has-ic{padding-left:40px}.field-lbl{color:var(--ink-2);font-size:12.5px;font-weight:500}.field-req{color:var(--danger);margin-left:3px}.field-hint2{color:var(--ink-3);font-size:11.5px}.field-err{color:var(--danger);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.input.invalid{border-color:var(--danger)}.tdetail{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:40px;display:grid}.tdetail-side{top:calc(var(--nav-h) + 20px);position:sticky}.tdetail-hero{aspect-ratio:21/9;border-radius:var(--radius-lg);margin-bottom:26px;position:relative;overflow:hidden}.tdetail-hero .ov{gap:8px;display:flex;position:absolute;bottom:18px;left:20px}.tgal{--tgal-h:33vh;display:block}.tgal-stage{width:fit-content;max-width:100%;max-height:var(--tgal-h);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);margin-inline:auto;line-height:0;position:relative;overflow:hidden}.tgal-media{width:auto;max-width:100%;height:auto;max-height:var(--tgal-h);display:block}.tgal-open{cursor:zoom-in;width:100%;position:absolute;inset:0}.tgal-expand{background:var(--surface);border:1px solid var(--line);width:26px;height:26px;color:var(--ink-2);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid;position:absolute;top:7px;right:7px}.tgal-expand:hover{color:var(--ink);border-color:var(--line-strong)}.tgal-arrow{background:var(--surface);border:1px solid var(--line);width:40px;height:40px;color:var(--ink-2);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;transition:color .12s,border-color .12s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.tgal-arrow:hover{color:var(--ink);border-color:var(--line-strong)}.tgal-arrow.left{left:14px}.tgal-arrow.right{right:14px}.tgal-stage .tgal-arrow{width:28px;height:28px}.tgal-stage .tgal-arrow.left{left:7px}.tgal-stage .tgal-arrow.right{right:7px}.tgal-count{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:1px 7px;font-size:10.5px;position:absolute;bottom:7px;right:7px}.tgal-strip{justify-content:center;gap:6px;margin-top:8px;padding-bottom:2px;display:flex;overflow-x:auto}.tgal-thumb{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);opacity:.68;flex:none;width:54px;padding:0;transition:border-color .12s,opacity .12s;position:relative;overflow:hidden}.tgal-thumb img{object-fit:cover;width:100%;height:100%;display:block}.tgal-thumb:hover{opacity:1}.tgal-thumb.active{opacity:1;border-color:var(--ink)}.tgal-thumb-fallback{color:var(--ink-4);place-items:center;display:grid;position:absolute;inset:0}.tgal-thumb-play{color:#fff;background:#1313139e;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;bottom:5px;right:5px}.tgal-lb{z-index:300;background:#0c0c0ce0;place-items:center;padding:56px 20px;animation:.16s ease-out modal-in;display:grid;position:fixed;inset:0}.tgal-lb-media{border-radius:var(--radius);width:auto;max-width:min(100%,1400px);height:auto;max-height:calc(100vh - 112px);display:block}.tgal-lb-x{color:#f4f5f5;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:16px;right:18px}.tgal-lb-x:hover{background:#ffffff1f}.tgal-lb .tgal-arrow{color:#f4f5f5;box-shadow:none;background:#ffffff1a;border-color:#ffffff2e}.tgal-lb .tgal-arrow:hover{color:#fff;background:#fff3;border-color:#ffffff57}.tgal-lb .tgal-arrow.left{left:20px}.tgal-lb .tgal-arrow.right{right:20px}.tgal-lb-count{color:#f4f5f5b8;font-size:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}@media (width<=720px){.tgal-arrow{width:34px;height:34px}.tgal-arrow.left{left:8px}.tgal-arrow.right{right:8px}.tgal-thumb{width:74px}.tgal-lb{padding:52px 8px}.tgal-lb .tgal-arrow.left{left:8px}.tgal-lb .tgal-arrow.right{right:8px}}.info-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.info-row{align-items:center;gap:14px;padding:15px 17px;display:flex}.info-tile{background:var(--surface-2);border:1px solid var(--line);width:40px;height:40px;color:var(--ink-2);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.info-t{font-size:14.5px;font-weight:600}.info-s{color:var(--ink-3);margin-top:2px;font-size:13px}.facts{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fact{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.fact-h{color:var(--ink-3);align-items:center;gap:8px;display:flex}.fact-l{letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.fact-v{letter-spacing:-.01em;margin-top:9px;font-size:18px;font-weight:600}.spots-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:17px}.order-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px}.ticket-box{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ticket-h{border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;justify-content:space-between;align-items:center;padding:12px 15px;font-size:11.5px;display:flex}.ticket-b{flex-direction:column;gap:10px;padding:14px 15px;display:flex}.order-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.order-total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:4px;padding-top:16px;display:flex}.order-total .v{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.coupon-applied{border-radius:var(--radius-sm);background:var(--success-soft);border:1px solid var(--success-line);align-items:center;gap:10px;padding:11px 13px;display:flex}.coupon-ic{background:var(--edu);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}@media (width<=900px){.tdetail{grid-template-columns:1fr;gap:28px}.tdetail-side{position:static}}.crumb{color:var(--ink-3);align-items:center;gap:9px;padding:22px 0 4px;font-size:13px;display:flex}.crumb a:hover{color:var(--ink)}.crumb .sep{color:var(--ink-4)}.is-loading{color:var(--ink-3)}.skeleton{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);animation:1.2s ease-in-out infinite skel}@keyframes skel{0%,to{opacity:.6}50%{opacity:1}}.modal-ov{z-index:200;backdrop-filter:blur(3px);background:#13131375;place-items:center;padding:20px;animation:.16s ease-out modal-in;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:28px;animation:.18s ease-out modal-rise;position:relative}.modal-x{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--ink-3);place-items:center;display:grid;position:absolute;top:14px;right:14px}.modal-x:hover{background:var(--surface-2);color:var(--ink)}@keyframes modal-in{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px)}}.auth-err,.auth-ok{border-radius:var(--radius-sm);padding:10px 13px;font-size:13px;line-height:1.5}.auth-err{background:var(--danger-soft);color:var(--danger)}.auth-ok{background:var(--success-soft);color:var(--success)}.auth-link{color:var(--ink);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--ink-4);font-weight:600;font:inherit;background:0 0;border:0;padding:0}.auth-link:hover{text-decoration-color:var(--ink)}.auth-foot{color:var(--ink-3);text-align:center;margin:0;font-size:13px}.auth-div{color:var(--ink-3);align-items:center;gap:12px;font-size:12px;display:flex}.auth-div:before,.auth-div:after{content:"";background:var(--line);flex:1;height:1px}.auth-code{text-align:center;letter-spacing:.5em;text-indent:.5em;font-family:var(--font-mono);height:52px;font-size:19px}.auth-wait{color:var(--ink-3);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);justify-content:center;align-items:center;gap:10px;padding:12px;font-size:13px;display:flex}.auth-wait:before{content:"";border:2px solid var(--ink-4);border-top-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.nav-dd-right .nav-dd-menu{left:auto;right:0}.nav-user-btn{gap:8px;max-width:200px}.nav-ava{background:var(--ink);width:26px;height:26px;color:var(--on-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.nav-dd-note{border-bottom:1px solid var(--line);color:var(--ink-3);text-overflow:ellipsis;margin-bottom:4px;padding:8px 12px 10px;font-size:12px;overflow:hidden}.nav-dd-item-btn{text-align:left;width:100%;font:inherit;color:var(--ink-2);background:0 0;border:0;align-items:center;gap:9px;font-size:14px;font-weight:500;display:flex}@media (prefers-reduced-motion:reduce){.modal-ov,.modal{animation:none}.auth-wait:before{animation-duration:2s}}@media (width<=1000px){.dir-grid,.tgrid,.feature-grid,.plan-grid,.steps,.statband{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:28px}.case-cols{grid-template-columns:1fr;gap:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}}@media (width<=720px){.wrap,.wrap-wide{padding:0 20px}.section{padding:56px 0}.nav-links,.nav-desktop{display:none}.nav-burger{display:grid}.nav-mobile:not([hidden]){display:block}.dir-grid,.tgrid,.tgrid-2,.feature-grid,.plan-grid{grid-template-columns:1fr}.case-scroller{grid-auto-columns:272px}.case-gallery{grid-template-columns:repeat(2,1fr)}.case-gallery img:first-child{aspect-ratio:4/3;grid-area:auto/span 2}.statband{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.cta-band{padding:36px 26px}.trow{grid-template-columns:52px 1fr}.trow-ctrl,.trow .btn{display:none}.hero-stats{gap:24px}}
