:root{--paper:#f8f5ef;--ink:#22211f;--muted:#615b54;--red:#a7282d;--gold:#af8437;--line:#d9d1c4;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(44px,5.6vw,80px)}h2{font-size:clamp(34px,3.6vw,52px)}h3{font-size:28px}em{color:var(--red);font-weight:400}p+p{margin-top:20px}p{color:var(--muted)}.wrap{max-width:1280px;margin:auto;padding-left:64px;padding-right:64px}.preview-bar{background:var(--ink);color:#f5e8cd;display:flex;justify-content:center;gap:20px;padding:7px 20px;font-size:10px;letter-spacing:.17em}.preview-bar span{letter-spacing:.02em;color:#eee6db;font-size:11px}.site-header{position:sticky;top:0;z-index:5;background:rgba(248,245,239,.97);border-bottom:1px solid var(--line)}.header-inner{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:15px 64px;gap:20px}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand img{width:54px;height:54px;background:var(--ink);border-radius:50%;padding:3px}.brand span{font:23px var(--serif);letter-spacing:-.035em}.brand b{font-weight:400;color:var(--red)}nav{display:flex;gap:28px;font-size:13px}nav a{padding:8px 0;position:relative}nav a[aria-current]{color:var(--red)}nav a[aria-current]:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--red)}.menu-toggle{display:none}.eyebrow{color:var(--red);font-size:10px;font-weight:bold;letter-spacing:.18em;text-transform:uppercase;margin-bottom:22px}.red-dot{width:6px;height:6px;border-radius:50%;background:var(--red);display:inline-block;margin-right:7px}.hero{display:grid;grid-template-columns:1.28fr 1fr;gap:64px;padding-top:78px;padding-bottom:80px;align-items:center}.hero h1{line-height:1.06;font-size:clamp(48px,5.7vw,78px)}.hero-lead{font-size:16px;line-height:1.85;margin-top:30px;max-width:600px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--red);border:1px solid var(--red);color:white;padding:14px 22px;line-height:1.35;font-size:13px;font-weight:500;transition:background .15s}.button:hover{background:#812025}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:var(--ink);background:#eee8dd}.button span{font-size:18px;line-height:1}.hero-art{background:#24231f;border-radius:220px 220px 5px 5px;padding:50px 25px 26px;position:relative;min-height:470px;display:flex;flex-direction:column;justify-content:center}.art-caption{text-align:center;color:#d3bd90;font-size:9px;letter-spacing:.2em;margin-top:8px}.hero-art img{width:340px;margin:20px auto}.art-bottom{border-top:1px solid #5b5140;display:flex;justify-content:space-around;padding-top:20px;font:italic 18px var(--serif);color:#e3cfaa}.ribbon{display:flex;justify-content:center;gap:65px;padding:22px 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font:italic 19px var(--serif)}.ribbon span:before{content:'✦';color:var(--gold);font-size:12px;padding-right:16px}.section{padding-top:96px;padding-bottom:96px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.large-copy{font-size:18px;line-height:1.85}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.text-link{display:inline-block;border:0;border-bottom:1px solid var(--gold);background:transparent;padding:5px 0;color:var(--ink);font-size:13px;line-height:1.6;max-width:100%}.text-link:hover{color:var(--red);border-color:var(--red)}.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-card{padding:30px 22px;display:flex;flex-direction:column;align-items:start;border-right:1px solid var(--line)}.feature-card:first-child{padding-left:0}.feature-card:last-child{border:0;padding-right:0}.card-number{font:italic 25px var(--serif);color:var(--gold);margin-bottom:30px;display:block}.feature-card .eyebrow{font-size:9px;margin-bottom:15px}.feature-card h3{font-size:27px;line-height:1.15;margin-bottom:20px}.feature-card p:not(.eyebrow){font-size:14px;margin-bottom:30px}.feature-card .text-link{margin-top:auto;font-size:12px}.why-section{background:var(--ink);color:var(--paper)}.why-inner{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;padding-top:85px;padding-bottom:85px}.why-inner .eyebrow{color:#cbb482}.why-inner em{color:#d4b57c}.why-inner ul{list-style:none;margin:0;padding:0}.why-inner li{padding:12px 0 12px 28px;border-bottom:1px solid #4b463e;position:relative;font-size:14px;color:#e5dfd4}.why-inner li:before{content:'✦';color:#cbb482;position:absolute;left:0}.event-card{border:1px solid var(--line);display:flex;gap:35px;align-items:center;padding:36px}.date-tile{min-width:120px;padding:16px 24px;background:#ebe4d7;text-align:center;display:flex;flex-direction:column;align-items:center}.date-tile span{font-size:10px;letter-spacing:.2em;color:var(--muted)}.date-tile strong{font:64px var(--serif);color:var(--red)}.event-card .eyebrow{margin-bottom:12px}.event-card h3{font-size:34px;margin-bottom:15px}.event-card .price{margin-top:9px}.price{font-size:15px;font-weight:600;color:var(--ink)}.event-card .text-link{margin-top:12px}.reviews-section{background:#eee8de}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:35px}.reviews figure{margin:0;padding-top:15px;display:flex;flex-direction:column}.quote-mark{font:64px var(--serif);height:54px;color:var(--gold)}blockquote{margin:0 0 25px;line-height:1.8;color:var(--ink);font-size:15px}.reviews figcaption{font-size:11px;color:var(--red);margin-top:auto;letter-spacing:.05em}.extra-review{margin-top:38px;border-top:1px solid var(--line);padding-top:18px;max-width:650px}.extra-review summary{font-size:13px;cursor:pointer}.extra-review blockquote{margin-top:20px}.extra-review p{font-size:12px}.review-links{gap:32px}.closing{padding-top:90px;padding-bottom:90px;text-align:center}.closing p:not(.eyebrow){max-width:600px;margin:22px auto 30px;font-size:17px}.page-intro{padding-top:80px;padding-bottom:65px;max-width:1100px;margin-left:auto;margin-right:auto}.page-intro h1{max-width:900px}.page-intro>.large-copy{margin-top:30px;max-width:760px}.jump-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:35px}.jump-links a{font-size:12px;border:1px solid var(--line);padding:9px 15px}.jump-links a:hover{border-color:var(--red);color:var(--red)}.program{display:grid;grid-template-columns:.75fr 1.4fr;gap:70px;padding:55px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.program-title h2{font-size:40px;line-height:1.12}.program-title .card-number{margin-bottom:20px}.tag{display:inline-block;font-size:10px;border:1px solid var(--line);color:var(--muted);padding:4px 10px;margin-top:25px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:30px 0;border-top:1px solid var(--line);padding-top:25px}.facts h3{font-family:var(--sans);font-size:11px;letter-spacing:.09em;text-transform:uppercase;line-height:1.5;margin-bottom:15px}.facts p{font-size:14px}.detail-list{padding-left:18px;color:var(--muted);font-size:15px;line-height:1.8}.detail-list li{padding-left:6px;margin-bottom:10px}.selection-caption{font-size:11px;margin-top:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.small{font-size:12px;margin-top:15px}.service .price{margin:25px 0}.workshops{padding-top:50px;padding-bottom:90px;max-width:850px;text-align:center}.workshops p:not(.eyebrow){margin:25px 0}.events-list{padding-bottom:30px}.event-detail{padding-top:60px;padding-bottom:90px}.event-detail>.eyebrow{margin-top:45px}.event-detail h1{max-width:850px}.event-detail>.large-copy{margin-top:25px;max-width:690px}.event-info{display:grid;grid-template-columns:1.5fr 1fr;gap:75px;margin-top:55px;margin-bottom:45px}.timeline{list-style:none;padding:0;margin:25px 0 0}.timeline li{display:grid;grid-template-columns:165px 1fr;gap:15px;border-top:1px solid var(--line);padding:20px 0;font-size:14px}.timeline b{font-weight:500;color:var(--red)}.event-info aside{background:#eee8de;padding:35px}.event-info aside p{margin-top:20px}.event-info aside h3{font-size:30px}.about-section{display:grid;grid-template-columns:.7fr 1.2fr;gap:80px;padding-bottom:90px;align-items:center}.about-brand{background:var(--ink);border-radius:50%;padding:22px}.about-section .large-copy{margin-top:25px}.about-section .button{margin-top:30px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-bottom:100px}.contact-panel{background:#eee8de;padding:40px}.contact-panel h2{margin-bottom:25px}.contact-panel a{display:block;border-top:1px solid var(--line);padding:18px 0;overflow-wrap:anywhere;font-size:15px}.contact-panel a span{display:block;color:var(--red);font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:5px}.contact-context>p:not(.eyebrow){margin-top:25px}.contact-context #team{margin-top:40px}.contact-context #team p{margin:15px 0}.contact-context #team a{display:table;margin-top:12px}footer{background:var(--ink);color:var(--paper);padding:50px 64px 20px}.footer-inner{max-width:1152px;margin:auto;display:grid;grid-template-columns:1.3fr .8fr 1.2fr;gap:55px}.footer-brand{font:32px var(--serif)}.footer-brand i{color:#cbb482}.footer-inner p{color:#bdb5a9;font-size:12px;margin-top:15px}.footer-inner .eyebrow{color:#cbb482;margin:0 0 17px;font-size:10px}.footer-inner>div:not(:first-child)>a{display:block;font-size:12px;color:#e0d8cb;margin-top:10px;overflow-wrap:anywhere}.footer-note{max-width:1152px;margin:40px auto 0;border-top:1px solid #514b42;display:flex;justify-content:space-between;padding-top:20px;font-size:10px;color:#bab2a5}.skip{position:fixed;top:-80px;left:10px;padding:15px;background:white;z-index:20}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--red);outline-offset:4px}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:32px;width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto}dialog::backdrop{background:rgba(20,16,12,.65)}body.modal-open{overflow:hidden}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top .eyebrow{margin-bottom:0}.close-dialog{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink);line-height:1}dialog h2{font-size:36px;margin-top:18px}.preview-note{border-left:2px solid var(--gold);padding-left:14px;font-size:12px;line-height:1.7;margin:20px 0}.selection-fields{display:grid;gap:18px;margin:24px 0}.selection-fields label{display:block;font-size:12px;font-weight:600;color:var(--ink)}select{display:block;width:100%;min-height:48px;background:#fffdf8;border:1px solid #b6ad9e;border-radius:0;padding:10px 35px 10px 12px;margin-top:6px;color:var(--ink);font-size:15px}.selection-summary{background:#ede5d7;padding:22px}.selection-summary h3{font:11px var(--sans);font-weight:bold;letter-spacing:.12em;text-transform:uppercase;margin-bottom:15px}.selection-summary dl{margin:0}.selection-summary dt{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:12px}.selection-summary dd{margin:2px 0 0;font-size:15px}.summary-price{font:28px var(--serif);color:var(--red);margin-top:17px}.selection-notices{font-size:12px;padding-left:18px;color:var(--muted);margin-top:20px}.selection-notices li+li{margin-top:8px}.policy-note{font-size:11px;margin-top:22px}.preview-end{font-size:12px;color:var(--red);margin-top:15px;font-weight:600}.empty-select{padding:20px;font-size:14px}
@media(min-width:1450px){.hero{padding-top:90px;padding-bottom:100px}.hero-art{min-height:500px}}@media(max-width:1000px){.wrap{padding-left:35px;padding-right:35px}.header-inner{padding-left:35px;padding-right:35px}nav{gap:18px}.brand span{font-size:20px}.hero{gap:35px}.hero-art{min-height:400px;padding:30px 15px 23px}.hero-art img{width:290px}.hero h1{font-size:58px}.ribbon{gap:25px}.ribbon span{font-size:16px}.intro{gap:40px}.featured-grid{grid-template-columns:repeat(2,1fr)}.feature-card{padding:28px!important}.feature-card:nth-child(2){border-right:0}.feature-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.why-inner{gap:40px}.program{gap:40px}.program-title h2{font-size:34px}.event-info{gap:30px}.contact-grid{gap:35px}.footer-inner{gap:30px}footer{padding-left:35px;padding-right:35px}}
@media(max-width:760px){html{scroll-padding-top:105px}.wrap{padding-left:22px;padding-right:22px}.preview-bar{font-size:9px;gap:8px;padding:7px 12px;letter-spacing:.08em}.preview-bar span{font-size:9px;letter-spacing:0}.header-inner{padding:12px 22px;flex-wrap:wrap;gap:0}.brand img{width:43px;height:43px}.brand span{font-size:22px}.menu-toggle{display:flex;gap:12px;align-items:center;margin-left:auto;border:1px solid var(--line);padding:9px 12px;background:transparent;color:var(--ink);font-size:12px}nav{display:none;flex-direction:column;width:100%;gap:0;padding-top:15px}nav[data-open]{display:flex}nav a{font-size:15px;padding:12px 0}nav a[aria-current]:after{width:35px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:40px;gap:40px}.hero h1{font-size:52px}.hero .eyebrow{font-size:9px;letter-spacing:.13em}.hero-lead{font-size:15px;line-height:1.8;margin-top:24px}.actions{gap:12px;margin-top:25px}.button{font-size:12px;padding:13px 17px;gap:16px;min-height:46px}.hero-art{max-width:420px;min-height:380px;width:100%;margin:auto;padding-top:35px;padding-bottom:22px;border-radius:200px 200px 4px 4px}.hero-art img{width:260px;margin:18px auto}.art-bottom{font-size:17px}.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;text-align:left;padding:20px 22px}.ribbon span{font-size:15px}.ribbon span:before{padding-right:8px}.section{padding-top:55px;padding-bottom:55px}.intro{grid-template-columns:1fr;gap:25px}.large-copy{font-size:16px;line-height:1.8}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.eyebrow{margin-bottom:18px}.featured-grid{grid-template-columns:1fr}.feature-card{padding:25px 0!important;border-right:0;border-bottom:1px solid var(--line)}.feature-card h3{font-size:30px;max-width:320px}.feature-card .card-number{margin-bottom:15px}.feature-card p:not(.eyebrow){font-size:15px;margin-bottom:18px}.feature-card .text-link{font-size:13px}.why-inner{grid-template-columns:1fr;gap:25px;padding-top:50px;padding-bottom:50px}.event-card{padding:24px;gap:22px;align-items:start}.date-tile{min-width:70px;padding:9px 10px}.date-tile strong{font-size:45px}.date-tile span{font-size:8px;letter-spacing:.06em}.event-card h3{font-size:27px}.event-card .eyebrow{font-size:8px;letter-spacing:.07em}.event-card p{font-size:13px}.event-card .text-link{font-size:12px}.reviews{grid-template-columns:1fr;gap:26px}.reviews figure{border-top:1px solid var(--line);padding-top:15px}.reviews blockquote{font-size:16px}.reviews figcaption{font-size:12px}.review-links{gap:15px;align-items:start;flex-direction:column}.closing{padding-top:55px;padding-bottom:55px}.closing p:not(.eyebrow){font-size:15px}.page-intro{padding-top:45px;padding-bottom:40px}.page-intro h1{font-size:43px}.page-intro>.large-copy{margin-top:24px}.jump-links{gap:8px;margin-top:25px}.jump-links a{font-size:11px;padding:8px 11px}.program{grid-template-columns:1fr;gap:25px;padding:35px 0}.program-title h2{font-size:35px;max-width:400px}.program-title .card-number{margin-bottom:10px}.program-title .eyebrow{margin-bottom:13px}.tag{margin-top:17px}.facts{grid-template-columns:1fr;gap:22px;margin:25px 0}.facts p{font-size:15px}.program .actions{align-items:start;flex-direction:column;gap:10px}.program .button{align-self:start}.detail-list{font-size:14px}.workshops{padding-top:40px;padding-bottom:55px}.event-detail{padding-top:35px;padding-bottom:55px}.event-detail h1{font-size:44px}.event-detail>.eyebrow{margin-top:35px}.event-info{grid-template-columns:1fr;gap:20px;margin-top:35px}.timeline li{grid-template-columns:1fr;gap:4px;font-size:15px}.event-info aside{padding:25px}.about-section{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.about-brand{max-width:270px;margin:auto}.about-section .large-copy{font-size:16px}.contact-grid{grid-template-columns:1fr;gap:40px;padding-bottom:55px}.contact-panel{padding:25px}.contact-panel a{font-size:14px}footer{padding:40px 22px 20px}.footer-inner{grid-template-columns:1fr;gap:32px}.footer-note{flex-direction:column;gap:8px;margin-top:30px}.footer-inner p{font-size:13px}.footer-inner>div:not(:first-child)>a{font-size:13px}dialog{padding:22px;max-height:calc(100dvh - 24px)}dialog h2{font-size:32px}.selection-summary{padding:18px}.selection-summary dd{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Verified Lior portraits: native proportions retain hands, face and dance framing. */
.hero-art.hero-photo{margin:0 auto;width:100%;max-width:440px;padding:0;min-height:0;border-radius:4px;background:#eee8de;overflow:hidden}
.hero-photo .art-caption{color:var(--muted);margin:0;padding:16px 12px;font-size:9px}
.hero-art.hero-photo img{width:100%;height:auto;margin:0;object-fit:contain;object-position:50% 50%}
.hero-photo .art-bottom{border-color:var(--line);color:var(--ink);padding:14px 10px;font-size:17px}
.about-portrait{margin:0 auto;width:100%;max-width:380px}
.about-portrait img,.service-portrait img{width:100%;height:auto;object-fit:contain;object-position:50% 50%;border-radius:4px}
.about-portrait figcaption,.service-portrait figcaption{font-size:11px;color:var(--muted);margin-top:12px;letter-spacing:.04em}
.service-portrait{margin:28px 0 0;width:100%;max-width:380px}
@media(max-width:760px){.hero-art.hero-photo{max-width:420px}.about-portrait{max-width:380px}.service-portrait{margin-top:24px}}

/* Optional owner-supplied event artwork stays complete at its native ratio. */
.event-card>div:last-child{min-width:0}
.event-media{margin:28px 0 0;width:100%;max-width:760px}
.event-media-preview{max-width:260px;margin:20px 0}
.event-media img{display:block;width:100%;height:auto;object-fit:contain;border-radius:4px}
.event-media figcaption{font-size:12px;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}
.event-media .text-link{display:inline-block;margin-top:12px;overflow-wrap:anywhere}
.venue-directions .text-link{overflow-wrap:anywhere}

.native-video{width:100%;min-width:0}.native-video video,.native-video .video-still img{display:block;width:100%;height:auto;object-fit:contain;border-radius:4px}.video-still{margin-top:12px}.video-still summary{cursor:pointer}.video-still .text-link{display:inline-block;margin-top:12px}

footer :focus-visible { outline-color: var(--paper); }

/* Preserve immediate Classes jumps and contextual inquiry links. */
html:has(.jump-links){scroll-behavior:auto}
.inquiry-routes{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px}.inquiry-routes .text-link{min-height:44px;display:inline-flex;align-items:center;gap:6px}
@media(max-width:760px){.inquiry-routes{flex-direction:column;align-items:start;gap:4px}}

/* Home offerings: full flyers beside copy, with a centered action row below. */
.home-offerings-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.home-offerings-grid .feature-card{padding:32px 0!important;border:0;min-width:0;align-items:stretch}
.home-offerings-grid .feature-card:nth-child(-n+2){border-bottom:1px solid var(--line)}
.home-offering-content{display:flex;align-items:center;gap:24px;flex:1;min-width:0}
.home-offering-flyer{flex:0 0 160px;margin:0}
.home-offering-flyer img{display:block;width:100%;height:auto;object-fit:contain}
.home-offering-copy{min-width:0}
.home-offerings-grid .card-number{margin-bottom:12px}
.home-offerings-grid .eyebrow{margin-bottom:12px}
.home-offerings-grid h3{margin-bottom:16px}
.home-offering-title{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:.16em}
.home-offering-title:hover,.home-offering-title:focus-visible{color:var(--red);text-decoration-thickness:2px}
.home-offerings-grid .home-offering-copy p:not(.eyebrow){margin-bottom:0}
.home-offering-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 24px;margin-top:24px}
.home-offering-actions .text-link{margin-top:0;min-height:44px;display:inline-flex;align-items:center;gap:6px;text-align:center}
@media(min-width:761px) and (max-width:1100px){
 .home-offerings-grid{column-gap:28px}
 .home-offering-content{gap:18px}
 .home-offering-flyer{flex-basis:120px}
 .home-offerings-grid h3{font-size:25px}
}
@media(max-width:760px){
 .home-offerings-grid{grid-template-columns:1fr}
 .home-offerings-grid .feature-card:not(:last-child){border-bottom:1px solid var(--line)}
 .home-offering-flyer{flex-basis:160px}
}
@media(max-width:480px){
 .home-offering-content{align-items:center;gap:16px}
 .home-offering-flyer{flex:0 0 34%;max-width:120px}
 .home-offerings-grid h3{max-width:none;font-size:25px;overflow-wrap:anywhere}
 .home-offerings-grid .eyebrow{font-size:9px;letter-spacing:.1em}
 .home-offerings-grid .home-offering-copy p:not(.eyebrow){font-size:14px;line-height:1.6}
}

/* Mobile WhatsApp shortcut; forms/footer visibility is managed by app.mjs. */
.whatsapp-launcher{display:none}
@media(max-width:760px){
 .whatsapp-launcher:not([hidden]){display:flex;position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:56px;height:56px;align-items:center;justify-content:center;border:1px solid var(--red);border-radius:50%;background:var(--paper);color:var(--red);box-shadow:0 3px 12px #18161326;z-index:10}
 .whatsapp-launcher:hover{background:#eee8de}
 .whatsapp-launcher:focus-visible{outline:3px solid var(--red);outline-offset:4px}
 body.modal-open .whatsapp-launcher,body:has(dialog[open],nav[data-open],form:focus-within) .whatsapp-launcher{display:none}
}

/* Narrow phones keep the shortcut beside the header, clear of reading text. */
@media(max-width:360px){
 .whatsapp-launcher:not([hidden]){position:static;margin:16px 16px 0 auto}
}

/* Full square film in the hero; the complete transparent class composition introduces the studio below. */
.home-introduction{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:64px;align-items:center}
.home-introduction .large-copy{margin-top:25px;font-size:16px}
.home-introduction .home-welcome-photo{margin:0;width:100%;max-width:380px;justify-self:center;text-align:center}
.home-welcome-photo img{display:block;width:100%;height:auto;object-fit:contain;margin:18px auto}
.home-welcome-photo .art-caption{color:var(--muted);margin:0;padding:16px 12px;font-size:9px}
.home-film-media{margin:0;min-width:0;width:100%;max-width:440px;justify-self:center}
.film-stage{position:relative}
.home-film-media video,.film-poster{display:block;width:100%;height:auto;object-fit:contain;border-radius:4px;background:#111}
.home-film-media [hidden]{display:none}
/* The film itself is the native tap/keyboard control; no visible controls or captions. */
.film-start{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer}
.film-start:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.film-error{font-size:13px;margin-top:12px}
@media(max-width:1000px){.home-introduction{gap:35px;grid-template-columns:minmax(0,1fr) minmax(0,40%)}}
@media(max-width:760px){.home-introduction{grid-template-columns:1fr;gap:28px}.home-introduction .large-copy{margin-top:22px}.home-film-media{max-width:420px}}

/* Action labels use the existing bold type weight across button treatments. */
button,.button,.text-link,.jump-links a{font-weight:bold}

/* Classes opens with choices; retain the full program sections below. */
.classes-intro{max-width:1280px;padding-top:40px;padding-bottom:32px}
.classes-intro h1{font-size:clamp(36px,4vw,52px)}
.classes-intro>.large-copy{margin-top:12px;font-size:16px;line-height:1.5}
.classes-intro .jump-links{gap:8px;margin-top:20px}
.classes-intro .jump-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;line-height:1.3;text-align:center}
@media(max-width:760px){
 .classes-intro{padding-top:20px;padding-bottom:20px}
 .classes-intro h1{font-size:36px}
 .classes-intro>.large-copy{margin-top:10px;font-size:15px}
 .classes-intro .jump-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}
 .classes-intro .jump-links a{padding:8px 6px;font-size:12px;overflow-wrap:anywhere}
}
@media(max-width:359px){.classes-intro .jump-links{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep footer policy destinations visually separate at every width. */
footer > a[href^="/policies/"] { display: inline-block; max-width: 100%; margin: 8px 24px 0 0; }
@media (max-width: 760px) {
  footer > a[href^="/policies/"] { display: block; margin: 12px 0 0; }
}

/* Supplied private-lesson compositions retain the complete arch, bodies and hands. */
.service-gallery{margin-top:28px;width:100%;max-width:380px}
.service-gallery .service-portrait{margin:0;min-width:0}
/* These two supplied canvases share an arch: x 1.67–98.33%, apex y 4.75%.
   Clip just inside its antialiased edge so the paper shows through the white
   surround. Keep the original pixels, intrinsic dimensions and responsive files.
   Exact source selectors leave future replacement photos uncropped. */
#private .service-gallery img[src="/assets/private-mirror-640.webp"],
#private .service-gallery img[src="/assets/private-partner-640.webp"]{
 clip-path:inset(4.85% 1.8% 0 round 50% 50% 0 0 / 40.55% 40.55% 0 0);
 border-radius:0;
}
.service-gallery-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
@media(max-width:760px){.service-gallery{margin-top:24px}}
@media(max-width:360px){.service-gallery-pair{grid-template-columns:1fr}}

/* One request entry per service, using the existing native disclosure treatment. */
.inquiry-disclosure>summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--red);font-weight:bold;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.inquiry-disclosure[open]>summary{margin-bottom:20px}

/* Class artwork follows its title/status before the HTML description at every width. */
.program-with-flyer{grid-template-columns:minmax(0,1fr);gap:24px}
.program-with-flyer>.program-title,.program-with-flyer>.program-body,.program-with-flyer>.flyer{width:100%;max-width:760px;margin:0 auto}
.flyer img{display:block;width:100%;max-width:600px;height:auto}
.flyer-original{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}
.flyer .small{margin-top:0}

/* Preserve the supplied transparent arch and full class composition. */
.home-closing{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:center;gap:64px;text-align:left}
.home-closing-photo{margin:0;width:100%;max-width:420px;justify-self:center}
.home-closing-photo img{width:100%;height:auto;object-fit:contain}
.home-closing-copy p:not(.eyebrow){margin-left:0;margin-right:0}
@media(max-width:1000px){.home-closing{gap:36px}}
@media(max-width:760px){.home-closing{grid-template-columns:1fr;gap:32px;text-align:center}.home-closing-copy p:not(.eyebrow){margin-left:auto;margin-right:auto}}

/* Separate the private booking choices from their scoped policy notice. */
#private .inquiry-disclosure>.actions+p{margin-top:12px}

/* L01–L02: headline, CMS copy, centered CTAs, then the unadorned film. */
.home-hero{grid-template-columns:minmax(0,1fr);gap:36px;text-align:center}
.home-hero .hero-copy{width:100%;max-width:820px;margin:0 auto}
.home-hero .hero-tagline{margin-top:28px;font-size:21px;font-weight:bold;color:var(--ink);line-height:1.5}
.home-hero .hero-lead{max-width:720px;margin:16px auto 0;font-size:17px;line-height:1.75}
.home-hero .actions{justify-content:center;gap:14px}
.home-hero .actions .button{font-size:18px;padding:16px 26px;min-height:56px}
@media(max-width:760px){
 .home-hero{gap:30px}
 .home-hero .hero-tagline{font-size:20px;margin-top:24px}
 .home-hero .hero-lead{font-size:16px}
 .home-hero .actions{gap:12px}
 .home-hero .actions .button{font-size:17px;padding:15px 20px}
}

/* Inquiry first in source and keyboard order; direct channels stay beside it on desktop. */
.contact-inquiry-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}
.contact-inquiry-grid #contact-form-host{min-width:0}
.contact-support{min-width:0}
.contact-support .contact-panel{padding:28px}
.contact-support .contact-panel a{padding:12px 0}
.contact-support .contact-context{margin-top:40px}
.private-booking{margin:25px 0}
.private-booking h3{margin-bottom:15px}
.private-booking .actions{margin:20px 0}
@media(max-width:760px){.contact-inquiry-grid{grid-template-columns:1fr;gap:32px}.contact-support .contact-panel{padding:22px}.contact-support .contact-context{margin-top:32px}}

.selection-field-label{display:block;font-size:12px;font-weight:600;color:var(--ink)}.selection-package{margin-top:6px;color:var(--ink);font-size:15px}

/* The existing close control stays reachable throughout long registration forms. */
#selection-dialog { scroll-padding-top: 64px; }
#selection-dialog .dialog-top { position: sticky; top: -32px; z-index: 2; margin: -32px -32px 0; padding: 8px 16px; background: var(--paper); border-bottom: 1px solid var(--line); }
@media (max-width: 760px) {
 #selection-dialog .dialog-top { top: -22px; margin: -22px -22px 0; padding-inline: 12px; }
}

/* Approved event-title and registration-strip links. */
.event-title{display:inline-block;min-height:44px;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:.16em}
.event-title:hover,.event-title:focus-visible{color:var(--red);text-decoration-thickness:2px}
.preview-bar a{text-decoration:underline;text-underline-offset:3px;letter-spacing:.02em}

.venue-address{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.16em;overflow-wrap:anywhere}
.venue-address:hover,.venue-address:focus-visible{color:var(--red);text-decoration-thickness:2px}
/* Completed registrations keep their summary while hiding editing controls. */
.selection-fields[hidden]{display:none}
