/* Hallmark · Studio 108 · approved owner composition A · headline revision · brand accent from existing project */
/* Critique: preserve approved image-led hierarchy; photographs illustrative; real schedule only. */
/* Waivers: owner-approved white/cyan surfaces, accented hero word and composition-specific spacing are preserved; punctuation in factual Russian copy is intentional. */
:root{--ink:#15191a;--paper:#fff;--soft:#f1f3f4;--muted:#50595f;--accent:#21dded;--line:#d9dfe1;--shade:rgba(0,0,0,.7);--overlay:rgba(0,0,0,.55);--danger:#a71924;--font:"Manrope","Segoe UI",sans-serif;--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a{color:inherit;text-underline-offset:5px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}.wrap{width:min(1384px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;z-index:10;top:8px;left:8px;transform:translateY(-200%);background:var(--accent);padding:10px 18px}.skip:focus{transform:none}.hero{position:relative;color:var(--paper);background:var(--ink);min-height:600px}.hero-photo,.scrim{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}.scrim{background:linear-gradient(90deg,var(--shade),transparent 75%)}header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:90px}.brand{font-size:26px;font-weight:800;text-decoration:none;letter-spacing:-.04em;white-space:nowrap}nav{display:flex;gap:42px;margin-right:auto;margin-left:30px}nav a{text-decoration:none;font-size:14px}.button{display:inline-flex;justify-content:center;align-items:center;gap:26px;min-height:48px;padding:12px 26px;border-radius:50px;border:1px solid transparent;font-size:14px;font-weight:700;text-decoration:none;transition:transform 160ms var(--ease),background-color 160ms var(--ease)}.primary{background:var(--accent);color:var(--ink)}.outline{border-color:var(--paper);background:transparent;color:var(--paper)}.button:active{transform:scale(.97)}.hero-copy{position:relative;padding-block:28px 44px}.hero h1{font-size:clamp(64px,6.4vw,100px);line-height:.91;letter-spacing:-.04em;font-weight:800;margin:0 0 20px;max-width:660px;min-width:0;overflow-wrap:break-word}.hero h1 span{color:var(--accent)}.hero-copy p{font-size:24px;line-height:1.35;margin:0 0 32px}.hero-actions{display:flex;flex-wrap:wrap;gap:16px}.main-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:40px;padding-block:36px 50px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.section-head h2{font-size:clamp(25px,2.6vw,40px);line-height:1.05;letter-spacing:-.04em;margin:0}.section-head>a{font-size:12px;white-space:nowrap;text-decoration:none}.direction-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.direction{position:relative;min-height:290px;border:0;padding:18px 12px;background-image:none;background-size:400% 100%;display:flex;align-items:end;justify-content:space-between;color:var(--paper);isolation:isolate;font-size:17px;font-weight:700;text-align:left;transition:transform 180ms var(--ease)}.direction:before{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,var(--shade));z-index:-1}.hip{background-position:0 50%}.breaking{background-position:33.333% 50%}.contemporary{background-position:66.666% 50%}.yoga{background-position:100% 50%}.direction i{font-style:normal;font-size:22px}.selection{font-size:13px;color:var(--muted);min-height:24px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}label{display:grid;gap:5px;font-size:13px}input,select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);min-width:0}input{caret-color:var(--ink)}.text-button{align-self:end;background:transparent;border:0;font-size:12px;padding:10px;text-decoration:underline;text-underline-offset:3px}.dates{display:flex;gap:6px;overflow:auto;padding:6px 2px}.date-tab{border:0;background:var(--soft);color:var(--ink);border-radius:15px;padding:9px 12px;font-size:12px;white-space:nowrap;min-height:40px}.date-tab[aria-pressed=true]{background:var(--accent)}.status{font-size:13px;color:var(--muted);margin:10px 0}.lesson{display:grid;grid-template-columns:83px minmax(0,1fr) auto;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.lesson time{align-self:start;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.lesson h3{font-size:14px;margin:0}.lesson small{font-size:11px;color:var(--muted);display:block}.lesson button{border:0;background:transparent;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:10px 0 10px 8px}.all-schedule{width:100%;margin-top:18px;font-size:12px;padding-inline:12px}.studio{padding-block:44px 70px;display:grid;grid-template-columns:1fr 1fr;gap:64px}.studio h2{font-size:clamp(36px,4vw,60px);line-height:1.03;letter-spacing:-.04em;margin:0}.studio p{max-width:60ch;margin:0 0 18px}footer{background:var(--ink);color:var(--paper);padding:25px 30px;display:flex;gap:25px;justify-content:space-between;align-items:center;width:100%!important}footer small{font-size:11px;color:var(--paper)}footer>a:not(.brand){font-size:12px}dialog{max-width:560px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);border:0;border-radius:16px;padding:32px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:var(--overlay)}dialog h2{font-size:30px;line-height:1.1;margin:0 35px 18px 0;letter-spacing:-.03em}.close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;padding:5px 12px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}.form-fields input{min-height:46px}.consent{display:flex;gap:12px;align-items:start;margin-top:20px}.consent input{width:20px;min-height:20px;flex:0 0 auto;accent-color:var(--accent)}#formStatus{min-height:24px;font-size:14px}#formStatus.error{color:var(--danger)}.submit{width:100%}.honeypot{position:absolute;opacity:0;pointer-events:none;width:1px;min-height:1px;height:1px}.preview{background:var(--soft);font-size:12px;text-align:center;padding:7px}.audience-selected[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px)}.direction:hover{transform:translateY(-4px)}nav a:hover{text-decoration:underline}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}nav{gap:20px;margin-left:0}.hero{min-height:570px}.main-grid{grid-template-columns:1fr}.direction{min-height:350px}#schedule{max-width:100%}.lesson{grid-template-columns:100px 1fr auto}.filters{grid-template-columns:1fr 1fr 1fr auto}.hero h1{font-size:80px}}
@media(max-width:620px){.wrap{width:calc(100% - 36px)}header{min-height:72px;gap:15px}.brand{font-size:22px}nav{margin-left:auto}nav a:not([href='/schedule']){display:none}.header-book{display:none}.hero{min-height:680px}.hero-photo{object-position:60% 50%}.scrim{background:var(--overlay)}.hero-copy{padding-top:56px}.hero h1{font-size:clamp(53px,12vw,74px);line-height:.94}.hero-copy p{font-size:20px}.hero-actions{gap:12px;max-width:360px}.hero-actions .button{padding-inline:18px;gap:10px;flex:1;white-space:nowrap}.hero-actions a{flex-basis:100%}.main-grid{padding-block:30px;gap:28px}.section-head h2{font-size:28px}.section-head>a{font-size:11px}.direction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.direction{min-height:260px;font-size:16px}.filters{grid-template-columns:1fr 1fr}.lesson{grid-template-columns:80px minmax(0,1fr) auto;gap:6px}.studio{grid-template-columns:1fr;gap:22px;padding-block:20px 45px}.studio h2{font-size:36px}footer{flex-wrap:wrap;padding:24px 18px}footer small{flex-basis:100%}dialog{padding:26px 20px}.form-fields{grid-template-columns:1fr}.hero{background:var(--ink)}.all-schedule{min-height:48px}.date-tab{min-height:44px}}
[hidden]{display:none!important}.main-grid>section{min-width:0}.section-head h2{min-width:0;overflow-wrap:break-word}.studio>div{min-width:0}#scheduleList{max-height:340px;overflow-y:auto;scrollbar-color:var(--muted) var(--soft)}
h1,h2{text-wrap:balance}.hero{color:var(--paper)}
/* Keep the source contact-sheet aspect ratio: crop, never stretch both axes. */
.direction{background-size:400% auto;background-repeat:no-repeat}
@media(max-width:620px){#scheduleList{max-height:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
