:root{--ink:#24211f;--cream:#f6f0e6;--paper:#fffdf8;--coral:#ef725f;--blue:#5267d6;--lime:#dce64b;--line:#d8d0c4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;border:0}.announcement{background:var(--ink);color:#fffdf8;text-align:center;padding:11px;font:11px "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.announcement span{color:var(--lime);margin:0 16px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--line);background:var(--cream);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:11px;font:600 11px "DM Mono",monospace;letter-spacing:.12em}.brand i{font-style:normal;color:var(--coral)}.brand-mark{font:700 23px "Playfair Display",serif;letter-spacing:-.12em}.brand-mark span{font:14px sans-serif;color:var(--coral);vertical-align:top;margin:0 2px}.main-nav{display:flex;gap:32px;font-size:13px}.main-nav a:hover,.text-link:hover{color:var(--coral)}.header-actions{display:flex;align-items:center;gap:20px;font-size:12px}.icon-btn{background:none;font-size:27px;line-height:1}.admin-link{font:11px "DM Mono",monospace;text-transform:uppercase}.bag-btn{background:var(--ink);color:#fff;padding:10px 14px;border-radius:30px}.bag-btn span{color:var(--lime);margin-left:5px}.menu-toggle{display:none;background:none;font-size:22px}.hero{min-height:570px;display:grid;grid-template-columns:48% 52%;padding:75px 8% 65px;overflow:hidden}.hero-copy{align-self:center;max-width:520px}.eyebrow{font:11px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.13em;color:var(--coral);margin:0 0 22px}.hero h1,h2{font:500 clamp(42px,5vw,74px)/.98 "Playfair Display",serif;letter-spacing:-.04em;margin:0}.hero h1 em,h2 em{font-weight:500;color:var(--coral)}.hero-text{font-size:17px;line-height:1.55;max-width:390px;margin:28px 0}.hero-buttons{display:flex;align-items:center;gap:27px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 19px;font:11px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.04em}.button span{font-size:18px;line-height:10px}.button-dark{background:var(--ink);color:#fff}.button-light{background:var(--lime);color:var(--ink)}.text-link{font:12px "DM Mono",monospace;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link span{font-size:19px;margin-left:9px}.hero-art{position:relative;min-height:430px}.sun{position:absolute;background:var(--coral);width:280px;height:280px;border-radius:50%;right:13%;top:5%}.fabric-shape{position:absolute;width:250px;height:340px;background:var(--blue);right:26%;top:14%;transform:rotate(17deg);border-radius:56% 44% 54% 46%;background-image:repeating-linear-gradient(125deg,transparent 0 15px,rgba(255,255,255,.12) 16px 17px)}.hero-card{position:absolute;z-index:1;background:var(--lime);padding:17px 20px;width:122px;height:130px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:5px 6px 0 var(--ink)}.hero-card span{font:11px "DM Mono",monospace}.hero-card b{font:600 18px/1 "Playfair Display",serif}.card-one{left:4%;top:26%;transform:rotate(-8deg)}.card-two{right:6%;bottom:5%;background:#fffdf8;transform:rotate(8deg)}.thread-line{position:absolute;width:72%;height:67%;border:1px solid var(--ink);border-radius:50%;right:15%;top:17%;transform:rotate(-25deg)}.ticker{background:var(--lime);padding:14px 0;overflow:hidden;white-space:nowrap;font:11px "DM Mono",monospace;letter-spacing:.12em}.ticker div{word-spacing:17px}.ticker span{font-size:16px}.section{padding:115px 8%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-intro{max-width:290px;line-height:1.55;font-size:14px}.filter-row{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:28px}.filter{background:none;padding:0 0 13px;color:#8e867b;font:11px "DM Mono",monospace;text-transform:uppercase}.filter.active{color:var(--ink);border-bottom:2px solid var(--coral)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-image{height:295px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-image:after{content:"";width:135px;height:190px;border-radius:50% 50% 8% 8%;background:var(--shape);transform:rotate(var(--tilt));box-shadow:35px 4px 0 rgba(255,255,255,.2)}.product-image span{position:absolute;top:13px;left:13px;font:10px "DM Mono",monospace;z-index:1}.product-image button{position:absolute;right:12px;bottom:12px;background:var(--ink);color:#fff;padding:9px;border-radius:50%;z-index:1;font-size:18px}.product-info{display:flex;justify-content:space-between;padding:14px 0;font-size:13px}.product-info small{color:#8e867b}.lesson-feature{background:var(--blue);color:#fff;display:grid;grid-template-columns:50% 50%;min-height:570px}.lesson-image{background:linear-gradient(135deg,rgba(239,114,95,.8),rgba(82,103,214,.15)),repeating-linear-gradient(45deg,#e9cfb8 0 18px,#e7af96 19px 21px);position:relative;overflow:hidden}.lesson-image:before{content:"";position:absolute;width:45%;height:80%;left:21%;top:10%;background:#f1d7bd;border-radius:48% 52% 15% 10%;transform:rotate(12deg)}.lesson-note{position:absolute;z-index:1;right:14%;top:19%;background:var(--lime);color:var(--ink);padding:20px;font:600 23px/.9 "Playfair Display",serif;transform:rotate(-10deg);box-shadow:4px 5px 0 var(--ink)}.lesson-note span{font:18px sans-serif;float:right;color:var(--coral)}.lesson-copy{padding:90px 12%;align-self:center}.lesson-copy h2{color:#fff}.lesson-copy h2 em{color:var(--lime)}.lesson-copy>p:not(.eyebrow){line-height:1.6;max-width:400px;margin:28px 0}.lesson-meta{display:flex;gap:35px;margin:36px 0}.lesson-meta div{display:flex;gap:8px}.lesson-meta strong{font:11px "DM Mono",monospace;color:var(--lime)}.lesson-meta span{font-size:12px}.calendar-section{background:var(--paper)}.booking-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;max-width:880px}.calendar-card{background:var(--cream);padding:28px}.calendar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.calendar-top button{background:none;font-size:22px}.calendar-top h3{font:500 22px "Playfair Display",serif;margin:0}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:7px}.weekdays{font:10px "DM Mono",monospace;color:#8e867b;margin-bottom:12px}.days button{background:none;border-radius:50%;aspect-ratio:1;font-size:13px}.days button:hover,.days button.selected{background:var(--coral);color:white}.days button:disabled{color:#c9c1b5}.booking-details{padding:20px 0}.booking-details h3{font:500 30px "Playfair Display",serif;margin:0 0 30px}.session-option{display:flex;gap:12px;padding:18px 0;border-block:1px solid var(--line);margin-bottom:28px}.radio-dot{width:14px;height:14px;background:var(--coral);border-radius:50%;margin-top:3px}.session-option strong,.session-option small{display:block}.session-option small{font-size:12px;color:#8e867b;margin-top:5px}.full{width:100%}.fine-print,.muted,.demo-note{font-size:11px;color:#8e867b;line-height:1.5}.dance-section{background:var(--coral);color:var(--ink);padding:90px 8%;display:grid;grid-template-columns:22% 42% 36%;align-items:center;gap:30px}.dance-stamp{border:2px solid var(--ink);border-radius:50%;width:190px;height:190px;display:flex;align-items:center;justify-content:center;text-align:center;font:600 27px/.85 "Playfair Display",serif;transform:rotate(-12deg)}.dance-stamp span{font-size:17px}.dance-stamp b{font:18px sans-serif}.dance-copy h2{font-size:57px}.dance-copy h2 em{color:var(--lime)}.dance-copy>p:not(.eyebrow){line-height:1.55;max-width:370px;margin:25px 0}.reel-preview{height:275px;background:linear-gradient(135deg,var(--blue),#29264e);position:relative;color:#fff;display:flex;align-items:center;justify-content:center}.reel-preview:before{content:"";width:160px;height:220px;background:var(--lime);border-radius:48% 48% 15% 15%;transform:rotate(18deg)}.play{position:absolute;background:var(--coral);color:white;border-radius:50%;padding:19px 20px;font-size:14px}.reel-preview span,.reel-preview strong{position:absolute;font:10px "DM Mono",monospace}.reel-preview span{left:15px;bottom:15px}.reel-preview strong{right:15px;top:15px}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.about-photo{height:460px;background:linear-gradient(145deg,rgba(82,103,214,.2),rgba(239,114,95,.8)),repeating-linear-gradient(135deg,#a9b7d5 0 25px,#c9d0e6 26px 29px);position:relative}.about-photo:after{content:"";position:absolute;width:45%;height:70%;background:#f0d3b9;border-radius:50% 50% 10% 10%;left:30%;top:20%;transform:rotate(-8deg)}.photo-label{position:absolute;z-index:1;bottom:18px;left:18px;font:10px "DM Mono",monospace;line-height:1.5}.about-copy>p:not(.eyebrow){line-height:1.6;max-width:390px}.about-copy .text-link{display:inline-block;margin-top:20px}footer{background:var(--ink);color:#fffdf8;padding:70px 8% 25px;display:grid;grid-template-columns:30% 70%;gap:60px}.footer-brand .brand-mark{font-size:36px}.footer-brand p{font:20px "Playfair Display",serif;color:var(--lime);line-height:1.1}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.footer-links div{display:flex;flex-direction:column;gap:12px}.footer-links strong{color:var(--lime);font:10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.footer-links a,.footer-links p{font-size:13px;margin:0}.footer-links a:hover{color:var(--coral)}#newsletter{display:flex;border-bottom:1px solid #777;margin-top:8px}#newsletter input{background:none;border:0;color:white;outline:0;padding:8px 0;width:100%;font-size:12px}#newsletter button{background:none;color:var(--lime);font-size:20px}.footer-bottom{grid-column:1/-1;border-top:1px solid #555;padding-top:18px;display:flex;justify-content:space-between;color:#aaa;font:10px "DM Mono",monospace}.overlay{position:fixed;inset:0;background:rgba(36,33,31,.55);z-index:10;display:none}.overlay.open{display:block}.side-panel{margin-left:auto;background:var(--paper);height:100%;width:min(430px,100%);padding:45px 35px;overflow:auto;position:relative}.close-panel{position:absolute;right:25px;top:20px;background:none;font-size:30px}.side-panel h2{font-size:53px;margin-bottom:15px}.bag-item{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}.bag-item small{display:block;color:#8e867b;margin-top:4px}.remove-item{background:none;text-decoration:underline;font-size:11px}.bag-total{display:flex;justify-content:space-between;padding:25px 0;font:14px "DM Mono",monospace}.bag-total strong{font-size:18px}.admin-panel label{display:block;font:11px "DM Mono",monospace;text-transform:uppercase;margin:20px 0}.admin-panel input{display:block;width:100%;border:1px solid var(--line);background:var(--cream);padding:13px;margin-top:7px;outline-color:var(--coral)}.demo-note{margin-top:22px;background:var(--cream);padding:12px}.inventory-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.inventory-row input{width:60px!important;text-align:center;padding:8px!important;margin:0!important}.sign-out{background:none;margin-top:24px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:14px 22px;font:11px "DM Mono",monospace;opacity:0;pointer-events:none;transition:.3s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:800px){.site-header{height:70px}.main-nav{display:none}.main-nav.open{display:flex;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:20px 8%;flex-direction:column;border-bottom:1px solid var(--line)}.menu-toggle{display:block;order:2}.header-actions{gap:10px}.admin-link,.icon-btn{display:none}.hero{grid-template-columns:1fr;padding:60px 8% 20px}.hero-art{min-height:370px;margin-top:30px}.product-grid{grid-template-columns:repeat(2,1fr)}.product-image{height:220px}.section{padding:75px 8%}.lesson-feature{grid-template-columns:1fr}.lesson-image{min-height:340px}.lesson-copy{padding:65px 8%}.booking-layout{grid-template-columns:1fr;gap:25px}.dance-section{grid-template-columns:1fr;gap:45px}.dance-stamp{width:140px;height:140px;font-size:21px}.dance-copy h2{font-size:45px}.reel-preview{max-width:330px}.about-section{grid-template-columns:1fr;gap:45px}.about-photo{height:340px}footer{grid-template-columns:1fr;gap:40px}.footer-links{grid-template-columns:1fr 1fr}.footer-links div:last-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:12px}.section-heading{display:block}.section-heading>.text-link{display:inline-block;margin-top:25px}}
