:root { --purple:#8025de; --pink:#c05cff; --ink:#0b0b0d; --paper:#f7f4ee; --muted:#aaa7a2; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Manrope,Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.noise { position:fixed; inset:0; z-index:10; pointer-events:none; opacity:.045; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
.site-header { position:absolute; z-index:5; top:0; width:100%; height:104px; padding:17px 5.3%; display:flex; align-items:center; justify-content:space-between; }
.brand { width:122px; height:72px; overflow:hidden; display:flex; align-items:center; }
.brand img { width:126px; height:auto; display:block; }
.site-nav { display:flex; gap:36px; align-items:center; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.site-nav a:not(.nav-cta) { transition:color .2s; }.site-nav a:not(.nav-cta):hover { color:var(--pink); }
.nav-cta { padding:13px 17px; border:1px solid rgba(255,255,255,.55); border-radius:30px; }.nav-cta span { color:var(--pink); font-size:15px; margin-left:4px; }
.menu-toggle { display:none; }
.hero { min-height:100svh; position:relative; display:flex; align-items:center; padding:128px 5.3% 92px; overflow:hidden; isolation:isolate; }
.hero-grid { position:absolute; z-index:-1; inset:0; opacity:.3; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:77px 77px; mask-image:linear-gradient(90deg,transparent,black 35%,black 90%,transparent); }
.hero-glow { position:absolute; z-index:-2; border-radius:50%; filter:blur(8px); background:radial-gradient(circle,rgba(129,33,229,.65),rgba(102,14,183,.15) 45%,transparent 70%); }.glow-one { width:750px; height:750px; right:-85px; top:4%; }.glow-two { width:500px; height:500px; left:17%; bottom:-55%; opacity:.5; }
.hero-copy { position:relative; z-index:2; max-width:730px; }
.eyebrow,.section-marker { font:11px 'DM Mono',monospace; letter-spacing:.11em; text-transform:uppercase; }.eyebrow { color:#e9dcff; display:flex; align-items:center; gap:9px; }.eyebrow span { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--pink); box-shadow:0 0 14px 3px var(--purple); }
h1,h2,h3 { margin:0; font-family:Unbounded,Arial,sans-serif; letter-spacing:-.08em; text-transform:uppercase; }
h1 { margin:22px 0 26px; font-size:clamp(46px,7.2vw,110px); font-weight:800; line-height:.92; } h1 em { color:var(--pink); font-style:normal; } h1 strong { color:transparent; -webkit-text-stroke:1.5px var(--paper); }
.hero-description { max-width:420px; color:#d2ced5; font-size:14px; line-height:1.7; }.hero-actions { display:flex; gap:27px; align-items:center; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:16px 21px; border-radius:3px; font-size:11px; text-transform:uppercase; font-weight:800; letter-spacing:.07em; transition:transform .2s,box-shadow .2s; }.button:hover { transform:translateY(-3px); box-shadow:0 8px 25px rgba(128,37,222,.34); }.button span { font-size:20px; line-height:0; }.button-primary { background:var(--purple); color:white; }.button-dark { background:var(--ink); color:white; }
.text-link { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.text-link span { color:var(--pink); font-size:17px; padding-left:8px; }
.hero-art { position:absolute; z-index:1; width:min(55vw,800px); height:88%; right:-3%; top:7%; }.dancer { position:absolute; font:800 clamp(85px,13vw,206px)/.75 Unbounded,sans-serif; letter-spacing:-.15em; transform:rotate(-90deg); transform-origin:center; white-space:nowrap; }.dancer-back { color:transparent; -webkit-text-stroke:2px rgba(190,101,255,.45); top:44%; left:-5%; }.dancer-front { color:rgba(245,242,237,.96); mix-blend-mode:screen; top:38%; left:15%; text-shadow:13px 13px 0 var(--purple); }
.orbit { position:absolute; border:1px solid rgba(207,133,255,.4); border-radius:50%; transform:rotate(-30deg); }.orbit-large { width:590px; height:250px; top:26%; left:7%; }.orbit-small { width:330px; height:135px; top:52%; left:23%; }.stamp { position:absolute; display:grid; place-content:center; text-align:center; width:130px; height:130px; border:1px solid white; border-radius:50%; top:12%; right:20%; transform:rotate(14deg); font:10px/1.05 'DM Mono',monospace; letter-spacing:.12em; }.stamp b { color:var(--pink); font-size:16px; }.art-label { position:absolute; font:9px 'DM Mono',monospace; letter-spacing:.08em; }.label-top { top:12%; left:2%; transform:rotate(-90deg); }.label-bottom { bottom:7%; left:25%; }.label-bottom i { display:inline-block; width:54px; margin:0 7px 3px; border-top:1px solid var(--pink); }
.hero-footer { position:absolute; z-index:3; left:5.3%; right:5.3%; bottom:31px; display:flex; justify-content:space-between; align-items:center; font:10px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }.scroll-note { display:flex; align-items:center; gap:10px; color:#b3adb7; }.scroll-line { height:35px; border-left:1px solid var(--pink); }.hero-socials { display:flex; gap:14px; }.hero-socials a:hover { color:var(--pink); }
.section-pad { padding:130px 7.5%; }.section-marker { color:var(--purple); }.section-marker span { color:currentColor; margin:0 8px; }.intro { background:var(--paper); color:var(--ink); }.intro-layout { display:grid; grid-template-columns:1.8fr .8fr; gap:80px; margin-top:62px; }.intro h2,.styles h2,.schedule h2,.contact h2 { font-size:clamp(30px,4vw,64px); line-height:1; }.intro h2 span { color:var(--purple); }.intro-text { padding-top:8px; }.intro-text p { margin:0; font-size:17px; line-height:1.65; }.round-link { width:58px; height:58px; border-radius:50%; color:white; background:var(--purple); display:grid; place-items:center; font-size:25px; margin-top:32px; transition:transform .25s; }.round-link:hover { transform:rotate(45deg); }.numbers { display:grid; grid-template-columns:repeat(4,1fr); margin-top:112px; border-top:1px solid #c6c3c0; }.numbers div { display:flex; gap:12px; padding-top:22px; }.numbers div+div { border-left:1px solid #c6c3c0; padding-left:23px; }.numbers strong { font:600 clamp(30px,3.3vw,52px)/1 Unbounded,sans-serif; letter-spacing:-.1em; }.numbers span { text-transform:uppercase; font:9px/1.4 'DM Mono',monospace; color:#5d5b5c; }
.styles { background:#151317; position:relative; overflow:hidden; }.section-heading { display:flex; justify-content:space-between; align-items:end; }.styles h2 i,.schedule h2 span,.contact h2 i { color:var(--pink); font-style:normal; }.style-list { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1.15fr 1fr; margin-top:62px; }.style-card { min-height:475px; padding:25px 26px; position:relative; overflow:hidden; display:flex; flex-direction:column; }.card-purple { background:var(--purple); }.card-white { background:var(--paper); color:var(--ink); }.card-black { background:#272329; }.card-number { font:11px 'DM Mono',monospace; }.style-age { font:10px 'DM Mono',monospace; text-transform:uppercase; margin:55px 0 11px; }.style-card h3 { position:relative; z-index:2; font-size:clamp(33px,3.8vw,58px); line-height:.83; }.style-card>p:not(.style-age) { position:relative; z-index:2; margin:18px 0 auto; max-width:210px; font-size:12px; line-height:1.6; }.style-card a { position:relative; z-index:2; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.style-card a span { color:var(--pink); font-size:18px; margin-left:8px; }.card-purple a span { color:white; }.card-shape { position:absolute; z-index:1; }.shape-circle { height:210px; width:210px; border-radius:50%; border:34px solid rgba(255,255,255,.18); bottom:-82px; right:-48px; }.shape-cross { font:300 240px/1 Unbounded,sans-serif; color:var(--purple); right:-45px; bottom:-66px; transform:rotate(15deg); }
.schedule { color:var(--ink); background:#d8d3cb; display:grid; grid-template-columns:.8fr 1.4fr; gap:10%; }.schedule-intro p { max-width:310px; margin:25px 0 30px; font-size:14px; line-height:1.7; }.schedule-table { padding-top:29px; }.schedule-row { display:grid; grid-template-columns:1.1fr 1.55fr .5fr 25px; gap:12px; align-items:center; min-height:72px; border-bottom:1px solid #aaa6a1; font-size:12px; font-weight:700; }.schedule-row small { display:block; color:#6f6b68; font:9px 'DM Mono',monospace; margin-top:4px; text-transform:uppercase; }.schedule-row a { width:25px; height:25px; display:grid; place-items:center; background:var(--ink); color:white; border-radius:50%; transition:.2s; }.schedule-row a:hover { background:var(--purple); transform:rotate(45deg); }.schedule-head { min-height:28px; color:#6f6b68; font:9px 'DM Mono',monospace; text-transform:uppercase; }
.quote-band { overflow:hidden; background:var(--purple); color:#fff; padding:0 0 90px; }.ticker { display:flex; width:max-content; gap:33px; align-items:center; padding:15px 0; margin-left:-4px; border-bottom:1px solid rgba(255,255,255,.43); font:600 24px Unbounded,sans-serif; letter-spacing:-.07em; white-space:nowrap; }.ticker i { font-style:normal; color:#0e0912; }.quote-band blockquote { margin:91px auto 0; max-width:1050px; padding:0 28px; font:600 clamp(29px,4vw,59px)/1.18 Unbounded,sans-serif; letter-spacing:-.07em; text-align:center; }.quote-band em { color:#150a20; font-style:normal; }
.contact { position:relative; overflow:hidden; isolation:isolate; background:#0e0d11; }.contact-orb { position:absolute; z-index:-1; border-radius:50%; background:radial-gradient(circle at 50% 50%,#993cff,transparent 66%); filter:blur(2px); }.orb-a { width:650px; height:650px; right:-15%; top:-70%; opacity:.55; }.orb-b { width:450px; height:450px; left:-13%; bottom:-78%; opacity:.3; }.contact-main { display:flex; justify-content:space-between; gap:60px; align-items:end; margin-top:62px; }.contact h2 { font-size:clamp(52px,8vw,124px); }.contact-side { width:310px; padding-bottom:10px; }.contact-side p { margin:0 0 25px; color:#d2cdd4; line-height:1.7; font-size:14px; }.contact-info { margin-top:110px; padding-top:22px; border-top:1px solid rgba(255,255,255,.24); display:grid; grid-template-columns:1fr 1fr 1fr; gap:25px; }.contact-info>* { margin:0; font-size:16px; font-weight:600; }.contact-info a:hover { color:var(--pink); }.contact-info small { display:block; margin-bottom:9px; color:#a7a0ab; font:9px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; } footer { padding:19px 7.5%; background:#0e0d11; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; font:9px 'DM Mono',monospace; color:#9f99a4; text-transform:uppercase; letter-spacing:.05em; } footer a:hover { color:var(--pink); }
@media (max-width:760px) { .site-header { height:85px; padding:8px 6%; }.brand { width:100px; height:60px; }.brand img { width:105px; }.menu-toggle { z-index:7; display:flex; width:42px; height:42px; border:0; border-radius:50%; background:var(--purple); flex-direction:column; justify-content:center; align-items:center; gap:5px; }.menu-toggle span { width:16px; border-top:1px solid white; transition:.2s; }.menu-toggle.open span:first-child { transform:translateY(3px) rotate(45deg); }.menu-toggle.open span:last-child { transform:translateY(-3px) rotate(-45deg); }.site-nav { position:absolute; z-index:6; visibility:hidden; opacity:0; transition:.2s; top:0; left:0; width:100%; height:100vh; background:#121014; padding:115px 8%; display:flex; flex-direction:column; align-items:flex-start; gap:26px; font:600 26px Unbounded,sans-serif; letter-spacing:-.08em; }.site-nav.open { visibility:visible; opacity:1; }.nav-cta { font:inherit; padding:0; border:0; color:var(--pink); }.hero { min-height:770px; padding:135px 7% 90px; align-items:flex-start; }.hero-copy { max-width:100%; }.hero-description { max-width:330px; font-size:13px; }.hero-art { width:105vw; height:47%; right:-24%; top:auto; bottom:35px; opacity:.62; }.dancer { font-size:105px; }.dancer-back { top:39%; }.dancer-front { top:33%; color:rgba(245,242,237,.58); text-shadow:10px 10px 0 rgba(128,37,222,.72); }.orbit-large { width:400px; height:170px; }.orbit-small { width:220px; height:90px; }.stamp { width:86px; height:86px; font-size:7px; top:4%; right:26%; }.stamp b { font-size:11px; }.label-top { display:none; }.label-bottom { left:4%; bottom:2%; font-size:7px; }.hero-footer { bottom:23px; }.hero-socials { display:none; }.section-pad { padding:80px 7%; }.intro-layout { grid-template-columns:1fr; gap:28px; margin-top:39px; }.intro-text p { font-size:15px; }.numbers { margin-top:70px; grid-template-columns:1fr 1fr; gap:26px 0; }.numbers div+div { border-left:0; padding-left:0; }.numbers div:nth-child(even) { border-left:1px solid #c6c3c0; padding-left:15px; }.numbers strong { font-size:32px; }.section-heading { display:block; }.styles h2 { margin-top:34px; }.style-list { display:flex; overflow:auto; margin:42px -7% 0; padding:0 7% 12px; gap:12px; scrollbar-width:none; }.style-card { flex:0 0 270px; min-height:395px; }.style-card h3 { font-size:38px; }.schedule { display:block; }.schedule h2 { margin-top:34px; }.schedule-table { margin-top:40px; }.schedule-row { grid-template-columns:1fr 1.35fr .5fr 22px; font-size:10px; min-height:69px; }.schedule-row small { font-size:7px; }.schedule-head { font-size:8px; }.quote-band { padding-bottom:70px; }.quote-band blockquote { margin-top:66px; padding:0 22px; font-size:29px; }.contact-main { margin-top:40px; display:block; }.contact-side { width:auto; margin-top:30px; }.contact-info { margin-top:70px; grid-template-columns:1fr; gap:20px; }.contact-info>* { font-size:15px; } footer { padding:18px 7%; font-size:8px; } }

/* Street treatment derived from the hand-painted, outlined logo. */
h1 { font-family:'Bowlby One SC',Unbounded,sans-serif; font-size:clamp(42px,6.5vw,100px); font-weight:400; letter-spacing:-.07em; line-height:.94; text-shadow:7px 7px 0 #000; transform:rotate(-1.5deg); transform-origin:left center; }
.hero-logo { position:absolute; z-index:2; top:2%; left:1%; width:87%; filter:drop-shadow(12px 15px 0 rgba(128,37,222,.26)); transform:rotate(-4deg); }
.hero-art .dancer { z-index:1; opacity:.17; }.hero-art .orbit { z-index:0; border-width:2px; border-color:rgba(207,133,255,.55); }.hero-art .stamp { z-index:3; bottom:13%; top:auto; right:13%; border:2px solid var(--pink); background:#0b0b0dcc; }.hero-art .art-label { z-index:3; }.hero-art .label-bottom i { border-width:2px; }
.style-card { border:2px solid var(--purple); }.card-purple { border-color:#c574ff; }.card-black { background:#050506; }.style-card h3 { font-family:'Bowlby One SC',Unbounded,sans-serif; font-size:clamp(29px,3.5vw,52px); font-weight:400; letter-spacing:-.08em; line-height:.88; text-shadow:5px 5px 0 rgba(0,0,0,.72); }.card-white h3 { color:var(--purple); text-shadow:4px 4px 0 #0b0b0d; }
@media (max-width:760px) { .hero-logo { width:108%; top:-17%; left:-3%; opacity:.82; }.hero-art .stamp { top:8%; bottom:auto; } }

/* Compact layout and phone-first refinements. */
.site-header { height:88px; padding:15px 5.3%; }
.wordmark { color:#f7f4ee; font:700 10px 'DM Mono',monospace; letter-spacing:.13em; text-transform:uppercase; }
.wordmark span { color:var(--pink); font-size:15px; vertical-align:-1px; margin:0 4px; }
.hero { min-height:min(880px,100svh); padding:105px 5.3% 75px; }
.hero h1 { margin:18px 0 21px; font-size:clamp(40px,5.8vw,86px); text-shadow:6px 6px 0 #000; }
.section-pad { padding-top:105px; padding-bottom:105px; }
.intro-layout { margin-top:52px; }.intro h2,.styles h2,.schedule h2,.contact h2 { font-size:clamp(30px,4vw,58px); }.intro-text p { font-size:16px; }.numbers { margin-top:82px; }.numbers strong { font-size:clamp(30px,3.3vw,48px); }

@media (max-width:760px) {
  .site-header { height:70px; padding:8px 6%; }
  .wordmark { font-size:8px; letter-spacing:.11em; }.wordmark span { font-size:12px; margin:0 2px; }
  .site-nav { padding-top:105px; }
  .hero { min-height:700px; padding:104px 7% 70px; align-items:flex-start; }
  .eyebrow { font-size:9px; }.hero h1 { margin:14px 0 18px; font-size:clamp(34px,10.5vw,47px); text-shadow:4px 4px 0 #000; }
  .hero-description { max-width:300px; font-size:12px; line-height:1.65; }.hero-actions { margin-top:26px; gap:17px; }.button { padding:14px 16px; gap:18px; font-size:10px; }
  .hero-art { width:102vw; height:42%; right:-22%; bottom:14px; opacity:.47; }.hero-logo { width:108%; top:-7%; left:-3%; opacity:.78; }.dancer { font-size:88px; }
  .stamp { width:70px; height:70px; font-size:6px; }.stamp b { font-size:9px; }.hero-footer { bottom:16px; }
  .section-pad { padding:68px 7%; }.intro-layout { gap:24px; margin-top:34px; }.intro-text p { font-size:14px; }.numbers { margin-top:55px; gap:22px 0; }.numbers strong { font-size:30px; }
  .styles h2,.schedule h2 { margin-top:30px; }.style-list { margin-top:36px; }.style-card { flex-basis:260px; min-height:370px; }.style-card h3 { font-size:34px; }
  .schedule-table { margin-top:34px; }.schedule-row { min-height:65px; }.quote-band { padding-bottom:60px; }.quote-band blockquote { margin-top:55px; font-size:27px; }.contact-main { margin-top:34px; }.contact-side { margin-top:26px; }.contact-info { margin-top:60px; }
}

/* The action image makes the first screen feel like a real dance school, not a brand poster. */
.hero-art { width:min(56vw,880px); height:100%; right:0; top:0; }
.hero-dancer { position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; object-position:68% center; opacity:.94; mix-blend-mode:screen; clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,5% 38%); filter:saturate(1.15) contrast(1.08); }
.hero-art .hero-logo { z-index:4; width:150px; left:8%; top:13%; padding:7px; background:#09090b; border:2px solid var(--purple); transform:rotate(-7deg); filter:drop-shadow(7px 8px 0 rgba(128,37,222,.34)); }
.hero-art .dancer { display:none; }.hero-art .orbit { z-index:3; opacity:.52; }.hero-art .orbit-large { width:440px; height:190px; top:50%; left:25%; }.hero-art .orbit-small { width:265px; height:100px; top:67%; left:42%; }.hero-art .stamp { z-index:5; right:8%; bottom:15%; }.hero-art .label-bottom { z-index:5; left:18%; bottom:7%; }

@media (max-width:760px) {
  .hero-art { width:100%; height:47%; right:0; bottom:0; top:auto; opacity:1; }
  .hero-dancer { opacity:.68; object-position:73% center; clip-path:polygon(0 10%,100% 0,100% 100%,0 100%); }
  .hero-art .hero-logo { display:none; }.hero-art .orbit { opacity:.26; }.hero-art .stamp { display:none; }.hero-art .label-bottom { display:none; }
}

/* Offer layout: category cards replace the old timetable. */
.style-list { grid-template-columns:repeat(3,1fr); }
.style-card { min-height:425px; }
.activity-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; padding-top:28px; }
.activity-card { position:relative; min-height:150px; padding:22px; overflow:hidden; background:#c5bfb7; border:1px solid rgba(11,11,13,.22); color:var(--ink); display:flex; flex-direction:column; justify-content:space-between; transition:background .22s,color .22s,transform .22s; }
.activity-card:nth-child(2),.activity-card:nth-child(5) { background:var(--purple); color:#fff; }.activity-card:nth-child(3) { background:#151317; color:#fff; }.activity-card:nth-child(4) { background:#eeeae3; }
.activity-card:hover { background:var(--ink); color:#fff; transform:translateY(-4px); }.activity-card span { font:10px 'DM Mono',monospace; color:currentColor; opacity:.65; }.activity-card strong { font:600 clamp(18px,1.75vw,27px)/.96 Unbounded,sans-serif; letter-spacing:-.08em; text-transform:uppercase; }.activity-card i { position:absolute; right:19px; bottom:16px; font-size:22px; color:var(--purple); font-style:normal; }.activity-card:nth-child(2) i,.activity-card:nth-child(5) i,.activity-card:nth-child(3) i { color:#fff; }
@media (max-width:760px) { .style-list { grid-template-columns:none; }.style-card { min-height:370px; }.style-card h3 { font-size:30px; }.activity-grid { grid-template-columns:1fr; gap:9px; padding-top:32px; }.activity-card { min-height:116px; padding:17px; }.activity-card strong { font-size:20px; }.activity-card i { right:16px; bottom:13px; } }

/* Interactive offer board beneath the categories. */
.activity-card { width:100%; border-radius:0; appearance:none; font:inherit; text-align:left; cursor:pointer; }
.activity-card.is-active { background:var(--purple); color:#fff; box-shadow:inset 0 0 0 3px #d79aff,0 8px 18px rgba(94,16,183,.18); transform:translateY(-4px); }.activity-card.is-active i { color:#fff; }
.offer-showcase { overflow:hidden; background:radial-gradient(circle at 75% 30%,#bf63ff 0,rgba(172,66,255,.9) 18%,var(--purple) 54%,#6210b2 100%); color:#fff; }
.offer-showcase-inner { position:relative; min-height:430px; max-width:960px; margin:0 auto; padding:82px 34px 58px; text-align:center; }
.offer-showcase-number { position:absolute; top:42px; right:34px; font:10px 'DM Mono',monospace; letter-spacing:.12em; }.offer-showcase-copy { position:relative; z-index:1; max-width:650px; margin:auto; }.offer-kicker { margin:0 0 11px; color:#180324; font:700 10px 'DM Mono',monospace; letter-spacing:.15em; text-transform:uppercase; }.offer-showcase h2 { margin:0; font-size:clamp(37px,5vw,74px); line-height:.91; text-shadow:5px 5px 0 rgba(57,6,104,.26); }.offer-showcase h2 + p { max-width:520px; margin:22px auto 27px; font-size:15px; line-height:1.68; }.offer-cta { display:inline-flex; align-items:center; gap:16px; padding:13px 18px; border:1px solid rgba(255,255,255,.65); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; transition:background .2s,color .2s; }.offer-cta:hover { color:var(--purple); background:#fff; }.offer-cta span { font-size:18px; line-height:0; }.offer-progress { position:absolute; z-index:1; right:34px; bottom:31px; left:34px; height:2px; background:rgba(255,255,255,.35); }.offer-progress span { display:block; width:16.666%; height:100%; background:#1b0426; transition:width .5s ease; }.offer-hint { position:absolute; z-index:1; bottom:42px; left:34px; margin:0; color:rgba(255,255,255,.78); font:9px 'DM Mono',monospace; letter-spacing:.04em; text-transform:uppercase; }
@media (max-width:760px) { .offer-showcase-inner { min-height:400px; padding:70px 25px 73px; }.offer-showcase-number { top:27px; right:25px; font-size:8px; }.offer-showcase h2 { font-size:42px; }.offer-showcase h2 + p { margin:19px auto 24px; font-size:13px; }.offer-progress { right:25px; bottom:23px; left:25px; }.offer-hint { display:none; } }

/* Contact form. */
.contact-form { display:grid; grid-template-columns:.7fr 1.3fr; gap:9%; margin-top:82px; padding-top:38px; border-top:1px solid rgba(255,255,255,.24); }
.form-heading h3 { margin:17px 0 0; font:600 clamp(26px,3.4vw,48px)/.96 Unbounded,sans-serif; letter-spacing:-.09em; text-transform:uppercase; }.form-heading h3 i { color:var(--pink); font-style:normal; }
.form-fields { display:grid; grid-template-columns:1fr 1fr; gap:23px 18px; }.form-fields label { color:#c9c2ce; font:9px 'DM Mono',monospace; letter-spacing:.09em; text-transform:uppercase; }.form-fields input,.form-fields textarea,.form-fields select { display:block; width:100%; margin-top:9px; padding:11px 0; color:#fff; border:0; border-bottom:1px solid rgba(255,255,255,.38); border-radius:0; outline:0; background:transparent; font:500 14px Manrope,Arial,sans-serif; resize:vertical; }.form-fields select { padding-right:28px; color-scheme:dark; cursor:pointer; }.form-fields input:focus,.form-fields textarea:focus,.form-fields select:focus { border-color:var(--pink); }.form-class,.form-message,.form-action { grid-column:1 / -1; }.form-action { display:flex; align-items:center; gap:17px; margin-top:4px; }.form-action p { margin:0; color:#d5cfd9; font-size:12px; line-height:1.45; }
.form-help { display:block; max-width:650px; margin-top:9px; color:#aaa2ae; font:400 12px/1.55 Manrope,Arial,sans-serif; letter-spacing:0; text-transform:none; }.form-fields textarea::placeholder { color:#77717b; opacity:1; }
@media (max-width:760px) { .contact-form { grid-template-columns:1fr; gap:28px; margin-top:62px; padding-top:30px; }.form-fields { grid-template-columns:1fr; gap:19px; }.form-action { display:block; }.form-action p { margin-top:13px; } }

.numbers { grid-template-columns:repeat(3,1fr); }
@media (max-width:760px) { .numbers { grid-template-columns:1fr 1fr; } }

/* Keep the style names intentional and fully readable inside the cards. */
.style-card h3 { max-width:100%; font-size:clamp(28px,3vw,48px); line-height:.9; word-break:normal; overflow-wrap:normal; }
.style-card h3:not(.title-commercial) { white-space:nowrap; }.style-card .title-commercial { font-size:clamp(27px,2.8vw,44px); white-space:nowrap; }
@media (max-width:760px) { .style-card h3 { font-size:31px; }.style-card .title-commercial { font-size:29px; } }

.contact-info { grid-template-columns:1fr 1fr; }
@media (max-width:760px) { .contact-info { grid-template-columns:1fr; } }

/* SEO-friendly news and blog section. */
.news { color:var(--ink); background:var(--paper); }.news-heading { display:flex; align-items:end; justify-content:space-between; gap:55px; }.news-heading h2 { margin:27px 0 0; font-size:clamp(37px,5.3vw,75px); line-height:.9; }.news-heading h2 i { color:var(--purple); font-style:normal; }.news-heading>p { max-width:350px; margin:0; font-size:14px; line-height:1.65; }.news-list { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:57px; }.news-card { display:flex; flex-direction:column; min-height:365px; padding:28px; border:1px solid #bdb8b2; background:#e2ddd6; }.news-card-dark { color:#fff; border-color:#232127; background:#161519; }.news-card-purple { color:#fff; border-color:#a957ed; background:linear-gradient(140deg,#a140f0,var(--purple)); }.news-meta { margin:0; font:9px 'DM Mono',monospace; letter-spacing:.09em; text-transform:uppercase; opacity:.72; }.news-card h3 { margin:37px 0 17px; font:600 clamp(20px,2vw,31px)/.98 Unbounded,sans-serif; letter-spacing:-.08em; text-transform:uppercase; }.news-card>p:not(.news-meta) { margin:0; max-width:320px; font-size:13px; line-height:1.62; }.news-card a { margin-top:auto; padding-top:28px; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.news-card a span { margin-left:8px; color:var(--purple); font-size:18px; vertical-align:-2px; }.news-card-dark a span,.news-card-purple a span { color:#fff; }
@media (max-width:760px) { .news-heading { display:block; }.news-heading h2 { margin-top:22px; }.news-heading>p { margin-top:22px; font-size:13px; }.news-list { grid-template-columns:1fr; gap:9px; margin-top:37px; }.news-card { min-height:290px; padding:23px; }.news-card h3 { margin-top:30px; font-size:24px; } }

/* Standalone news archive, used by the publishing portal. */
.news-page { color:var(--ink); background:var(--paper); }.news-page .site-header { position:relative; background:var(--ink); }.news-archive { min-height:calc(100vh - 150px); max-width:1220px; margin:auto; padding-top:105px; }.archive-back { display:inline-block; margin-bottom:58px; font:10px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }.archive-back:hover { color:var(--purple); }.news-archive h1 { margin:26px 0 18px; color:var(--ink); font-size:clamp(50px,8vw,120px); }.news-archive h1 em { color:var(--purple); font-style:normal; }.archive-intro { max-width:530px; margin:0; font-size:17px; line-height:1.65; }.news-feed { min-height:190px; margin-top:66px; padding:32px; border-top:2px solid var(--ink); border-bottom:1px solid #bdb8b2; font-size:14px; }.news-feed p { margin:0; }
@media (max-width:760px) { .news-archive { min-height:calc(100vh - 120px); padding-top:70px; }.archive-back { margin-bottom:42px; }.news-archive h1 { margin-top:22px; }.archive-intro { font-size:15px; }.news-feed { margin-top:45px; padding:24px 0; } }

/* Final brand treatment for the standalone articles page. */
.news-page { color:var(--paper); background:var(--ink); }.news-page .site-header { border-bottom:1px solid rgba(255,255,255,.14); background:#0a0a0c; }.news-archive { isolation:isolate; max-width:none; min-height:calc(100vh - 150px); overflow:hidden; background:radial-gradient(circle at 86% 16%,rgba(144,42,238,.42),transparent 28%),linear-gradient(120deg,#0d0c10 0%,#0d0c10 60%,#170d24 100%); }.news-archive:before { content:''; position:absolute; z-index:-1; inset:0; opacity:.2; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:70px 70px; mask-image:linear-gradient(90deg,black,transparent 75%); }.archive-glow { position:absolute; z-index:-1; border-radius:50%; filter:blur(8px); background:radial-gradient(circle,rgba(171,78,255,.5),transparent 67%); }.archive-glow-one { width:570px; height:570px; right:-130px; top:-170px; }.archive-glow-two { width:360px; height:360px; left:20%; bottom:-230px; opacity:.45; }.archive-back { color:#e8e3eb; }.archive-back:hover { color:var(--pink); }.news-archive h1 { color:#fff; text-shadow:8px 8px 0 #000; }.news-archive h1 em { color:var(--pink); }.archive-intro { color:#d7d1db; }.news-feed { max-width:900px; min-height:210px; margin-top:66px; padding:30px; border:1px solid rgba(211,143,255,.65); background:rgba(10,9,12,.68); box-shadow:12px 12px 0 rgba(128,37,222,.35); }.news-feed>p { color:#dad3df; }
/* The portal may inject articles inside #ko-media-news; these rules keep them on brand. */
.news-feed article { padding:30px 0; border-bottom:1px solid rgba(255,255,255,.22); }.news-feed article:last-child { border-bottom:0; }.news-feed article h2,.news-feed article h3 { margin:12px 0; color:#fff; font:600 clamp(23px,3vw,44px)/.98 Unbounded,sans-serif; letter-spacing:-.08em; text-transform:uppercase; }.news-feed article p { max-width:700px; color:#d5ceda; font-size:14px; line-height:1.7; }.news-feed article a { color:var(--pink); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
@media (max-width:760px) { .news-archive { min-height:calc(100vh - 120px); }.news-feed { margin-top:45px; padding:22px; box-shadow:7px 7px 0 rgba(128,37,222,.35); }.archive-glow-one { right:-280px; }.news-feed article h2,.news-feed article h3 { font-size:25px; } }

.form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.form-action .button:disabled { cursor:wait; opacity:.65; transform:none; box-shadow:none; }

/* Featured schedule poster. */
.schedule-poster { grid-column:1 / -1; display:grid; grid-template-columns:220px 1fr; gap:38px; align-items:center; margin-top:58px; padding:24px; overflow:hidden; color:#fff; background:#111014; border:2px solid var(--purple); box-shadow:12px 12px 0 rgba(128,37,222,.28); }
.schedule-poster-preview { position:relative; display:block; width:100%; padding:0; overflow:hidden; border:0; background:#30105d; cursor:zoom-in; }.schedule-poster-preview img { display:block; width:100%; height:auto; transition:transform .28s,filter .28s; }.schedule-poster-preview span { position:absolute; right:10px; bottom:10px; padding:9px 11px; color:#fff; background:rgba(9,8,11,.88); font:700 8px Unbounded,sans-serif; letter-spacing:.05em; text-transform:uppercase; opacity:0; transform:translateY(4px); transition:.22s; }
.schedule-poster-preview:hover img { transform:scale(1.025); filter:brightness(.78); }.schedule-poster-preview:hover span { opacity:1; transform:none; }
.schedule-poster-kicker { margin:0 0 14px; color:var(--pink); font:10px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }.schedule-poster h3 { max-width:600px; margin:0; color:#fff; font:400 clamp(30px,4vw,58px)/.95 'Bowlby One SC',Unbounded,sans-serif; letter-spacing:-.06em; }.schedule-poster-copy>p:not(.schedule-poster-kicker) { max-width:570px; margin:22px 0 28px; color:#d7d1dc; font-size:14px; line-height:1.7; }
.poster-text-button { padding:0; color:var(--pink); border:0; background:transparent; font:800 10px Manrope,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }.poster-text-button span { margin-left:8px; font-size:18px; }.poster-text-button:hover { color:#fff; }

.poster-dialog { width:min(92vw,720px); max-height:94vh; padding:0; overflow:hidden; color:#fff; border:1px solid rgba(211,143,255,.8); background:#0b0a0d; box-shadow:18px 18px 0 rgba(128,37,222,.35); }.poster-dialog::backdrop { background:rgba(5,4,7,.9); backdrop-filter:blur(5px); }.poster-dialog-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 17px; border-bottom:1px solid rgba(255,255,255,.18); }.poster-dialog-bar p { margin:0; font:10px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }.poster-dialog-bar button { padding:8px 0 8px 12px; color:var(--pink); border:0; background:transparent; font:800 9px Manrope,sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }.poster-dialog-body { max-height:calc(94vh - 54px); padding:16px; overflow:auto; text-align:center; }.poster-dialog-body img { display:block; width:min(100%,620px); height:auto; margin:auto; }

@media (max-width:760px) {
  .schedule-poster { grid-template-columns:115px 1fr; gap:18px; margin-top:42px; padding:15px; box-shadow:7px 7px 0 rgba(128,37,222,.28); }
  .schedule-poster h3 { font-size:27px; }.schedule-poster-copy>p:not(.schedule-poster-kicker) { margin:14px 0 17px; font-size:12px; line-height:1.55; }.schedule-poster-kicker { font-size:8px; margin-bottom:10px; }.schedule-poster-preview span { display:none; }.poster-text-button { font-size:9px; }
  .poster-dialog { width:95vw; max-height:96vh; }.poster-dialog-body { max-height:calc(96vh - 54px); padding:10px; }
}

@media (max-width:430px) {
  .schedule-poster { grid-template-columns:1fr; }.schedule-poster-preview { width:175px; margin:auto; }.schedule-poster-copy { text-align:center; }.schedule-poster h3 { margin:auto; }.schedule-poster-copy>p:not(.schedule-poster-kicker) { margin-left:auto; margin-right:auto; }
}

@media (prefers-reduced-motion:reduce) { .schedule-poster-preview img,.schedule-poster-preview span { transition:none; } }
