
/* RITUAL V2 — identity system */
.brand .mark{border:0;background:transparent;color:var(--accent)}
.brand .mark img{width:100%;height:100%;object-fit:contain;padding:4px}
.nav{transition:height .25s,background .25s,box-shadow .25s}
.nav.compact{height:64px;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.v2-kicker{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.v2-marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 0}
.v2-marquee div{white-space:nowrap;font-size:10px;letter-spacing:.16em;text-transform:uppercase;animation:ritualMarquee 22s linear infinite}
@keyframes ritualMarquee{to{transform:translateX(-50%)}}
.v2-quote{font-family:Georgia,serif;font-size:clamp(34px,5vw,76px);line-height:1.05;letter-spacing:-.04em;max-width:1050px}
.v2-caption{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.v2-big-image{height:min(72vw,780px);overflow:hidden;position:relative}
.v2-big-image img{transition:transform 1s ease}
.v2-big-image:hover img{transform:scale(1.02)}
@media(prefers-reduced-motion:reduce){.v2-marquee div{animation:none}.v2-big-image img{transition:none}}

/* FORM — movement / architectural whitespace / timetable first */
body{background:
linear-gradient(90deg,transparent 0 12%,rgba(125,141,116,.025) 12% 12.2%,transparent 12.2% 88%,rgba(125,141,116,.025) 88% 88.2%,transparent 88.2%),
linear-gradient(180deg,#f4f2ec,#e9e7df)}
.form-hero{display:grid;grid-template-columns:.55fr 1.45fr;min-height:820px}
.form-copy{padding:9vw 4vw 7vw 6vw}.form-copy h1{font-family:Georgia,serif;font-size:clamp(58px,8vw,122px);max-width:7ch}
.form-media{margin:0;border-radius:0;box-shadow:none;position:relative}.form-media:before{content:"ALIGN / LENGTH / BREATH";position:absolute;z-index:3;left:4%;bottom:4%;background:rgba(245,243,237,.84);padding:9px;font-size:8px;letter-spacing:.16em}
.class-grid{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.class-slot{border:0;border-right:1px solid var(--line);background:transparent;min-height:210px;text-align:left}.class-slot.active{background:var(--accent)}
.service-list .service{grid-template-columns:80px 1fr auto}.service p{display:none}
.gallery{grid-template-columns:.7fr 1.3fr;grid-template-rows:500px 300px}.gallery figure:first-child{grid-row:auto}.gallery figure:nth-child(2){grid-row:1/3}.gallery figure:last-child{grid-column:1}
