:root{--blue:#c34d18;--orange:#ef9f13;--lime:#ffe082;--ink:#25262b;--muted:#666872;--line:#e3e5e9;--paper:#fff;--font:'Geologica',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 var(--font);font-weight:350}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:450;line-height:1.12;letter-spacing:-.06em;text-wrap:balance}h2{font-size:clamp(38px,4.5vw,64px)}h3{font-size:30px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;border:0;background:none;cursor:pointer}button,a{touch-action:manipulation}img{display:block;max-width:100%;object-fit:cover}svg{display:block;max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:var(--lime);color:var(--ink)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;z-index:100;left:20px;top:-100px;padding:12px 18px;background:var(--blue);color:white}.skip-link:focus{top:10px}.eyebrow,.tiny-label{display:block;font-size:11px;letter-spacing:.07em;font-weight:400}.eyebrow{margin-bottom:22px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 23px;background:var(--blue);color:white;border-radius:12px;font-size:13px;font-weight:450;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px);background:#a63c11}.button>span{font-size:24px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:25px;color:var(--blue);font-size:12px;border-bottom:1px solid #c34d1855;padding-bottom:7px}.wave,.loop,.spark{pointer-events:none}.spark{width:65px;height:65px}.wave{width:150px;height:auto}
.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:25px}.identity{display:flex;align-items:center;gap:13px;flex-shrink:0}.identity>svg{width:46px;height:40px;color:var(--blue)}.identity>span{font-size:14px;font-weight:500;line-height:1.5}.identity small{display:block;font-size:9px;font-weight:350;letter-spacing:.03em;margin-top:3px}.site-header nav{display:flex;align-items:center;gap:24px;font-size:11px}.site-header nav a{padding:10px 0}.site-header nav a:hover{color:var(--blue)}.site-header nav .nav-contact{padding:11px 16px;border:1px solid var(--line);border-radius:50px}.menu-toggle{display:none}
/* A white typographic canvas: the portrait sits between two parts of the sentence. */
.opening{padding:28px 0 60px}.specialty{font-size:10px;letter-spacing:.065em;text-transform:uppercase;margin-bottom:25px;color:var(--muted)}.opening-grid{display:grid;grid-template-columns:.8fr 1.15fr 1fr;grid-template-rows:auto 1fr auto;column-gap:32px;position:relative;isolation:isolate}.opening h1{display:contents}.title-first{grid-column:1/4;grid-row:1;font-size:clamp(70px,8.5vw,122px);font-weight:500;letter-spacing:-.08em;line-height:1.1;padding-bottom:25px}.title-second{grid-column:3;grid-row:2;font-size:clamp(53px,5.9vw,85px);line-height:1.05;letter-spacing:-.075em;color:var(--blue);font-weight:450;align-self:start;padding-top:32px;z-index:2}.opening-photo{grid-column:2;grid-row:2/4;position:relative;align-self:start;justify-self:center;width:90%;max-width:365px;margin-top:0;padding-top:8px;isolation:isolate}.opening-photo .photo-frame{border-radius:18px;overflow:hidden}.opening-photo img{width:100%;height:auto;aspect-ratio:854/1280}.opening-photo figcaption{font-size:9px;color:var(--muted);margin-top:13px;text-align:center;letter-spacing:.04em}.opening-photo .loop{position:absolute;width:132%;height:115%;max-width:none;left:-17%;top:-8%;z-index:-1;color:var(--orange);transform:rotate(-9deg)}.hello{grid-column:1;grid-row:2;align-self:center;max-width:260px;padding-bottom:30px}.hello .tiny-label{font-size:10px;color:var(--muted)}.hello p{font-size:24px;line-height:1.5;letter-spacing:-.04em;margin:23px 0 27px}.hello strong{font-weight:500}.voice-sticker{position:absolute;right:calc(35% - 25px);top:115px;z-index:3;border-radius:50%;background:var(--lime);width:108px;height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:19px;letter-spacing:-.05em;line-height:1.2;transform:rotate(10deg)}.voice-sticker .spark{position:absolute;right:-13px;top:-20px;width:40px;height:40px;color:var(--blue)}.opening-note{grid-column:3;grid-row:3;align-self:end;justify-self:start;padding:0 0 50px 15px}.opening-note .wave{color:var(--orange);width:135px;transform:rotate(-15deg)}.opening-note p{font-size:10px;margin-top:20px;color:var(--muted)}.scroll-cue{grid-column:1;grid-row:3;font-size:10px;display:flex;align-items:center;gap:13px;align-self:end;padding-bottom:35px}.scroll-cue>span{display:grid;place-items:center;border:1px solid var(--line);width:36px;height:36px;border-radius:50%;font-size:18px}.photo-frame{display:block;position:relative;padding:0;width:100%;text-align:left;background:#f1f1ef}.photo-frame img{width:100%;transition:transform .6s}.photo-zoom{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#ffffffed;color:var(--ink);font-size:21px;opacity:0;transition:opacity .2s}.photo-frame:hover .photo-zoom,.photo-frame:focus-visible .photo-zoom{opacity:1}
/* The biography opens with her teaching philosophy, not a repeated portrait card. */
.about{padding:110px 0 100px}.about-intro{position:relative;text-align:center;max-width:1040px;margin:0 auto 85px}.about-intro h2{font-size:clamp(38px,4.5vw,64px);line-height:1.2;font-weight:400}.about-intro h2>span{color:var(--blue)}.about-intro .spark{position:absolute;color:var(--orange);right:-10px;top:-35px;width:48px;transform:rotate(13deg)}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.biography h3{font-size:43px;line-height:1.17;margin-bottom:25px}.biography>p{font-size:15px;line-height:1.9;margin-top:17px;color:#54565e}.biography>.text-link{margin-top:28px}.story-photo{padding-top:50px}.story-photo .photo-frame{border-radius:100px 14px 14px 14px;overflow:hidden}.story-photo img{height:auto;aspect-ratio:1.18;object-position:55% center}.story-photo figcaption{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-top:15px}.story-photo figcaption>span:last-child{font-size:23px;color:var(--orange)}
.video-section{padding:40px 0 90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-heading h2>span{color:var(--blue)}.section-heading>p{font-size:14px;line-height:1.8;max-width:370px;color:#54565e}.video-library{background:#fff8ef;border-radius:30px;display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;padding:45px 55px;align-items:center}.preview-column{position:relative;width:100%;max-width:330px;justify-self:center}.featured-video{display:block;position:relative;width:100%;aspect-ratio:9/13;padding:0;overflow:hidden;border-radius:22px;background:#25262b;color:white}.featured-video>img{width:100%;height:100%;object-position:center}.featured-video:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#000c)}.play-disc{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:var(--blue);color:white;font-size:20px;padding-left:3px;transition:transform .3s}.featured-video .play-disc{position:absolute;z-index:1;bottom:95px;left:25px;background:var(--lime);color:var(--ink)}.featured-video:hover .play-disc,.live-play:hover .play-disc{transform:scale(1.1)}.preview-caption{position:absolute;bottom:25px;left:25px;right:25px;z-index:1;text-align:left;font-size:19px;line-height:1.35;letter-spacing:-.035em}.video-index{display:block;text-align:center;font-size:10px;margin-top:15px;letter-spacing:.08em}.preview-column>.wave{position:absolute;bottom:15px;left:-70px;width:105px;color:var(--orange);transform:rotate(-25deg)}.question{position:relative;border-bottom:1px solid #ecdaca;padding-bottom:18px;margin-bottom:18px}.question:last-child{margin-bottom:0}.question-choice{display:grid;grid-template-columns:30px 1fr 28px;align-items:center;gap:14px;width:100%;padding:10px 0;text-align:left}.question-number{font-size:10px;color:var(--muted);align-self:start;padding-top:6px}.question-tag{display:block;font-size:9px;margin-bottom:7px;letter-spacing:.02em;color:var(--muted)}.question-title{font-size:23px;line-height:1.35;letter-spacing:-.04em}.question-arrow{width:28px;height:28px;display:grid;place-items:center;font-size:22px;transition:transform .2s}.question-choice.is-active .question-title{color:var(--blue)}.question-choice.is-active .question-arrow{background:var(--blue);color:white;border-radius:50%;font-size:17px;transform:rotate(45deg)}.question-external{font-size:9px;display:inline-block;margin-left:44px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.live-section{padding:65px 0 95px;display:grid;grid-template-columns:.8fr 1.2fr;gap:0 55px;align-items:center}.live-intro h2{font-size:clamp(36px,3.5vw,51px)}.live-intro h2>span{color:var(--blue)}.live-intro>p{font-size:15px;line-height:1.65;margin-top:25px;color:#54565e}.live-intro .wave{color:var(--orange);width:120px;margin-top:30px}.live-frame{position:relative;aspect-ratio:1.24;overflow:hidden;border-radius:16px}.live-frame>img{height:100%;width:100%;object-position:52% center}.live-frame:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.live-play{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:white;font-size:11px}.live-play .play-disc{background:white;color:var(--blue);width:75px;height:75px}.live-play>span:last-child{padding:5px 10px;background:#0006;border-radius:4px}.live-title{position:absolute;z-index:1;left:24px;bottom:22px;font-size:10px;color:white;pointer-events:none}.live-links{grid-column:1/-1;display:flex;justify-content:space-between;gap:30px;font-size:10px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.live-links>span{color:var(--muted)}.live-links>a{color:var(--blue)}
.moments{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:30px 70px;padding:65px 0 110px;position:relative}.moment-heading{grid-column:1;grid-row:1;position:relative;padding-bottom:25px}.moment-heading h2>span{color:var(--blue)}.moment-heading>p{font-size:14px;color:#54565e;line-height:1.85;margin-top:25px}.moment-word{position:absolute;right:0;bottom:-10px;font-size:95px;line-height:1;font-weight:500;letter-spacing:-.07em;color:var(--orange);transform:rotate(-8deg);z-index:2}.energy-photo{grid-column:2;grid-row:1/3;padding-top:35px;align-self:start}.energy-photo .photo-frame{border-radius:16px;overflow:hidden}.energy-photo img{aspect-ratio:854/1280;height:auto}.band-photo{grid-column:1;grid-row:2;padding-top:15px}.band-photo .photo-frame{border-radius:16px;overflow:hidden}.band-photo img{aspect-ratio:1.5;width:100%;height:auto}.energy-photo figcaption,.band-photo figcaption{font-size:10px;color:var(--muted);margin-top:13px}.moment-note{position:absolute;bottom:25px;right:40px;display:flex;align-items:center;gap:25px;font-size:13px;line-height:1.6}.moment-note .spark{color:var(--blue);width:55px;height:55px}
.reviews{padding:60px 0 100px}.reviews .section-heading h2{font-size:clamp(36px,4.1vw,58px)}.review-score>div{display:flex;align-items:center;gap:18px}.review-score strong{font-size:55px;font-weight:450;letter-spacing:-.075em;line-height:1}.review-score>div>span{display:flex;flex-direction:column;gap:7px;font-size:9px;white-space:nowrap}.review-stars{color:#b84716;letter-spacing:.1em;font-size:12px}.review-score>a{display:inline-block;font-size:9px;margin-top:15px;text-decoration:underline;text-underline-offset:4px}.review-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.review-controls>p{font-size:10px;color:var(--muted)}.review-controls>div{display:flex;gap:10px}.review-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;font-size:20px}.review-controls button:hover{background:var(--lime);border-color:var(--lime)}.review-controls button:disabled{opacity:.35;cursor:default}.review-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#f5d3b9 transparent;padding-bottom:16px;overscroll-behavior-inline:contain}.testimonial{flex:0 0 calc((100% - 40px)/2.4);min-width:0;scroll-snap-align:start;padding:30px;background:#fff9f1;border-radius:16px;display:flex;flex-direction:column;gap:24px}.testimonial:nth-child(3n+2){background:#fff4ea}.testimonial:nth-child(3n){background:#fff7dc}.review-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px}.testimonial blockquote{font-size:14px;line-height:1.85;flex:1}.testimonial figcaption{display:flex;align-items:center;gap:12px;font-size:11px}.review-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:white;color:var(--blue);font-size:9px;flex-shrink:0}.testimonial small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.reviews-foot{display:flex;justify-content:space-between;gap:25px;font-size:9px;color:var(--muted);margin-top:22px}.reviews-foot a{color:var(--blue)}
.contact{padding:65px 0 95px;display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line)}.contact-intro{position:relative}.contact-intro h2{font-size:clamp(52px,5.8vw,82px)}.contact-intro h2>span{color:var(--blue)}.contact-intro>p{font-size:16px;margin-top:25px;max-width:25ch}.contact-intro>.spark{position:absolute;right:35px;top:50px;width:65px;color:var(--orange);transform:rotate(15deg)}.contact-details{display:flex;flex-direction:column;gap:25px;margin-top:40px}.contact-details>a:first-child{font-size:26px;letter-spacing:-.04em}.contact-details>a{font-size:15px}.contact-details span{display:block;font-size:10px;color:var(--muted);margin-top:7px}.contact-details>p{font-size:12px;line-height:1.85;color:var(--muted)}.contact-paper{background:#fff9ee;border-radius:22px;padding:40px;align-self:start}.contact-form{display:flex;flex-direction:column;gap:24px}.form-intro{font-size:16px;line-height:1.6;margin-bottom:6px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:11px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;min-width:0;padding:12px 0;border:0;border-bottom:1px solid #d8d1c4;border-radius:0;color:var(--ink);background:transparent;font-size:14px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#78756f}.contact-form select option{background:white}.contact-form textarea{resize:vertical}.grid{display:grid}.gap-6{gap:24px}.form-note,.form-status{font-size:9px;line-height:1.8;color:#66615b}.form-status:empty{display:none}.contact-form .button{align-self:start;margin:0}.site-footer{display:flex;position:relative;align-items:end;justify-content:space-between;gap:50px;padding:45px 0;border-top:1px solid var(--line)}.footer-name{font-size:45px;font-weight:450;line-height:1.05;letter-spacing:-.055em;color:var(--blue)}.footer-name>span{display:block;font-size:10px;font-weight:350;letter-spacing:0;margin-top:15px;color:var(--ink)}.site-footer>div{display:flex;flex-direction:column;align-items:end;gap:15px;font-size:9px;color:var(--muted)}.site-footer>.wave{position:absolute;left:46%;top:30px;width:100px;color:var(--orange);transform:rotate(-20deg)}
dialog:not([open]){display:none}dialog{position:fixed;inset:0;margin:auto;width:min(1100px,94vw);max-height:94dvh;overflow:auto;background:white;color:var(--ink);border:0;border-radius:16px;padding:20px}dialog::backdrop{background:#30251ce8;backdrop-filter:blur(8px)}.photo-toolbar,.photo-controls,.video-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}.photo-toolbar,.video-dialog-header{margin-bottom:15px}.photo-controls{margin-top:15px}.photo-controls button,.photo-close,.video-close{min-height:44px}.photo-close,.video-close{background:var(--blue);color:white;border-radius:30px;padding:8px 16px}.photo-large{height:70dvh;width:100%;object-fit:contain}.video-mount iframe{width:100%;aspect-ratio:16/9;border:0}.video-dialog.is-short{width:min(450px,94vw)}.video-dialog.is-short iframe{aspect-ratio:9/16;max-height:72dvh}.video-fallback{display:inline-block;font-size:12px;margin-top:14px;color:var(--blue)}
.voice-sticker .spark,.moment-note .spark{animation:drift 7s ease-in-out infinite alternate}.opening-note>.wave{animation:wave-drift 6s ease-in-out infinite alternate}@keyframes drift{to{transform:translateY(-9px) rotate(18deg)}}@keyframes wave-drift{to{transform:translateY(-8px) rotate(-6deg)}}
@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:15px;font-size:10px}.identity>span{font-size:12px}.identity>svg{width:38px}.opening-grid{gap:24px}.title-first{font-size:9vw}.title-second{font-size:6.3vw}.voice-sticker{width:90px;height:90px;font-size:17px;right:calc(35% - 20px);top:100px}.hello p{font-size:21px}.hello .button{padding:14px 17px;font-size:11px;gap:20px}.about-story{gap:55px}.video-library{padding:35px;gap:45px}.question-title{font-size:20px}.live-section{gap:0 35px}.moments{gap:25px 45px}.contact{gap:60px}.contact-paper{padding:30px}.section-heading{gap:35px}.testimonial{flex-basis:calc((100% - 20px)/2)}.opening-note{padding-bottom:30px}.opening-note .wave{width:110px}.contact-intro>.spark{right:0}}
@media(max-width:850px){.site-header{height:90px;position:relative;z-index:10}.menu-toggle{display:flex;align-items:center;gap:10px;font-size:13px;min-height:44px}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:22px;border:1px solid var(--line);box-shadow:0 16px 35px #57371814;border-radius:15px}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{font-size:15px;padding:12px!important;border:0!important}.identity>span{font-size:14px}.identity>svg{width:42px}.opening{padding-top:20px}.opening-grid{gap:20px;grid-template-columns:.8fr 1.1fr 1fr}.title-first{font-size:10.5vw;padding-bottom:20px}.title-second{font-size:6.8vw;padding-top:20px}.hello p{font-size:18px}.hello .tiny-label{font-size:8px}.hello .button{padding:12px;font-size:10px;gap:10px}.opening-photo{width:100%}.voice-sticker{width:75px;height:75px;font-size:15px;top:100px;right:calc(35% - 16px)}.voice-sticker .spark{width:29px;right:-10px;top:-15px}.opening-note{padding-left:5px}.opening-note .wave{width:95px}.opening-note p{font-size:8px}.scroll-cue{font-size:8px;gap:8px;padding-bottom:25px}.scroll-cue>span{width:28px;height:28px}.about{padding:70px 0}.about-intro{margin-bottom:55px}.about-intro .spark{right:0;top:-40px;width:35px}.about-story{gap:35px}.biography h3{font-size:35px}.biography>p{font-size:14px}.story-photo img{aspect-ratio:.95}.video-library{gap:30px;padding:28px}.question-choice{gap:10px;grid-template-columns:20px 1fr 24px}.question-title{font-size:18px}.question-external{margin-left:30px;font-size:8px}.question-tag{font-size:8px}.question{margin-bottom:12px;padding-bottom:12px}.preview-caption{font-size:16px;left:18px;right:18px;bottom:20px}.featured-video .play-disc{width:50px;height:50px;bottom:90px;left:18px;font-size:16px}.preview-column>.wave{width:75px;left:-35px;bottom:20px}.section-heading{align-items:start;gap:25px}.section-heading>p{font-size:12px;max-width:260px}.live-intro h2{font-size:35px}.live-frame{aspect-ratio:1}.moment-word{font-size:75px}.contact{gap:35px}.contact-paper{padding:25px}.contact-intro h2{font-size:58px}.contact-intro>.spark{width:45px;top:30px}.form-intro{font-size:14px}.reviews .section-heading{flex-direction:column;gap:30px}.review-score strong{font-size:48px}.site-footer>.wave{left:43%;width:80px}}
@media(max-width:600px){body{font-size:15px}.wrap{width:calc(100% - 40px)}.site-header{height:85px}.identity{gap:10px}.identity>span{font-size:12px}.identity small{font-size:8px}.identity>svg{width:34px}.menu-toggle{font-size:12px;padding:0;gap:7px}.opening{padding:20px 0 45px}.specialty{font-size:8px;letter-spacing:.02em;margin-bottom:20px}.opening-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto auto;gap:0 15px}.title-first{grid-column:1/-1;grid-row:1;font-size:13.2vw;letter-spacing:-.07em;padding:0;line-height:1.08}.title-second{grid-column:1/-1;grid-row:2;font-size:11.7vw;letter-spacing:-.07em;padding:5px 0 25px;line-height:1.08}.title-second br{display:none}.opening-photo{grid-column:1/-1;grid-row:3;width:76%;max-width:300px;padding:0;margin:15px 0 30px}.opening-photo img{aspect-ratio:854/1280}.opening-photo .loop{width:125%;left:-12%;top:-5%;height:110%}.opening-photo figcaption{font-size:8px;margin-top:10px}.voice-sticker{top:145px;right:0;width:75px;height:75px;font-size:15px}.hello{grid-column:1;grid-row:4;max-width:none;align-self:start;padding:0}.hello .tiny-label{font-size:8px}.hello p{font-size:18px;margin:14px 0 20px}.hello .button{font-size:11px;padding:13px 15px;gap:15px}.opening-note{grid-column:2;grid-row:4;align-self:center;justify-self:end;padding:0 0 10px}.opening-note .wave{width:100px}.opening-note p{font-size:8px;max-width:13ch;margin-top:15px}.scroll-cue{grid-column:1/-1;grid-row:5;margin-top:25px;padding:0;font-size:9px}.scroll-cue>span{width:32px;height:32px}.about{padding:55px 0}.about-intro{text-align:left;margin:0 0 38px}.about-intro h2{font-size:33px;line-height:1.25}.about-intro .spark{right:5px;top:-15px;width:30px}.eyebrow{font-size:9px;margin-bottom:18px}.about-story{grid-template-columns:1fr;gap:30px}.biography h3{font-size:36px}.biography>p{font-size:14px;line-height:1.85}.biography .text-link{font-size:11px;margin-top:24px;gap:15px}.story-photo{padding-top:0}.story-photo img{aspect-ratio:1.3;object-position:55% center}.story-photo .photo-frame{border-top-left-radius:65px}.story-photo figcaption{font-size:9px}.video-section{padding:35px 0 55px}.section-heading{flex-direction:column;gap:22px;margin-bottom:28px}h2{font-size:38px}.section-heading>p{max-width:none;font-size:13px}.video-library{grid-template-columns:1fr;padding:25px 20px;gap:25px;border-radius:22px}.preview-column{width:78%;max-width:265px}.featured-video{aspect-ratio:9/12;border-radius:16px}.preview-caption{font-size:16px;left:18px;right:18px;bottom:20px}.featured-video .play-disc{bottom:90px;width:45px;height:45px}.preview-column>.wave{left:-38px;width:85px;bottom:4px}.video-index{font-size:9px;margin-top:12px}.question-choice{grid-template-columns:22px 1fr 26px;gap:10px;padding:9px 0}.question-title{font-size:18px}.question-tag{font-size:8px;margin-bottom:5px}.question{margin-bottom:12px;padding-bottom:12px}.question-external{font-size:8px;margin-left:32px}.live-section{padding:40px 0 55px;grid-template-columns:1fr;gap:25px}.live-intro h2{font-size:38px}.live-intro>p{font-size:14px;margin-top:20px}.live-intro .wave{display:none}.live-frame{aspect-ratio:1.18;border-radius:14px}.live-play .play-disc{width:60px;height:60px;font-size:17px}.live-play{gap:15px;font-size:9px}.live-title{left:18px;bottom:18px;font-size:9px}.live-links{flex-direction:column;gap:15px;margin-top:0;font-size:9px;padding-top:20px}.moments{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:25px 14px;padding:40px 0 80px}.moment-heading{grid-column:1/-1;grid-row:1;padding-bottom:10px}.moment-heading>p{font-size:13px;margin-top:20px}.moment-word{font-size:65px;right:0;bottom:-25px}.energy-photo{grid-column:1;grid-row:2/4;padding-top:0}.energy-photo img{height:auto;aspect-ratio:854/1280}.energy-photo .photo-frame,.band-photo .photo-frame{border-radius:10px}.band-photo{grid-column:2;grid-row:2;padding-top:40px}.band-photo img{aspect-ratio:.95;object-position:50% center}.energy-photo figcaption,.band-photo figcaption{font-size:8px;line-height:1.6;margin-top:9px}.moment-note{position:static;grid-column:2;grid-row:3;align-self:start;font-size:9px;gap:12px;margin-top:-10px}.moment-note .spark{width:30px;height:30px;flex-shrink:0}.reviews{padding:20px 0 60px}.reviews .section-heading h2{font-size:36px}.review-summary{align-self:start}.review-controls{margin-bottom:16px}.review-controls button{width:40px;height:40px}.review-track{gap:14px}.testimonial{flex-basis:88%;padding:25px;gap:22px;border-radius:14px}.testimonial blockquote{font-size:14px}.testimonial figcaption{font-size:11px}.reviews-foot{flex-direction:column;gap:15px;font-size:9px}.contact{padding:45px 0 55px;grid-template-columns:1fr;gap:35px}.contact-intro h2{font-size:58px}.contact-intro>.spark{top:42px;right:20px;width:55px}.contact-intro>p{font-size:16px;max-width:none}.contact-details{gap:22px;margin-top:30px}.contact-details>a:first-child{font-size:27px}.contact-details>a{font-size:14px}.contact-details>p{font-size:11px}.contact-paper{padding:28px 22px}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}.contact-form .button{font-size:12px}.form-note,.form-status{font-size:10px}.site-footer{flex-direction:column;align-items:start;gap:30px;padding:35px 0}.footer-name{font-size:38px}.site-footer>div{align-items:start;font-size:9px;gap:13px}.site-footer>.wave{left:auto;right:10px;top:42px;width:80px}.photo-zoom{opacity:1;width:28px;height:28px;font-size:17px;right:8px;bottom:8px}.photo-large{height:62dvh}.photo-toolbar,.photo-controls,.video-dialog-header{font-size:11px;gap:10px}dialog{padding:12px}.photo-controls button{font-size:11px}}
@media(max-width:360px){.identity>span{font-size:10px}.identity small{font-size:7px}.identity>svg{width:28px}.identity{gap:8px}.menu-toggle{font-size:11px}.voice-sticker{top:125px;width:65px;height:65px;font-size:13px}.opening-photo{width:78%}.hello .button{font-size:10px;padding:12px;gap:10px}.opening-note .wave{width:85px}.about-intro h2{font-size:30px}.video-library{padding-inline:16px}.question-title{font-size:17px}.moment-word{font-size:55px}.moment-note{gap:7px;font-size:8px}.contact-intro h2{font-size:53px}}


.question-title{display:block;font-weight:450;text-wrap:balance}
@media(max-width:600px){.opening-photo .loop{width:113%;left:-6%;transform:rotate(0deg)}.contact-intro>.spark{top:170px;right:12px;width:45px}}

/* Music illustration variant: three floating notes around an original vintage microphone. */
.music-art{display:block;pointer-events:none;color:var(--orange);overflow:visible}
.opening-note .jazz-scene{width:158px;height:158px}
.opening-note p{margin-top:14px}
.live-intro .live-mic{width:95px;height:95px;margin-top:23px}

.music-note{transform-box:fill-box;transform-origin:center;animation:note-float 5.5s ease-in-out infinite}
.note-two{animation-delay:-1.8s;animation-duration:6.3s}
.note-three{animation-delay:-3.6s;animation-duration:7s}
@keyframes note-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(5deg)}}

@media(max-width:850px){.opening-note .jazz-scene{width:125px;height:125px}}
@media(max-width:600px){.opening-note .jazz-scene{width:115px;height:115px}.live-intro .live-mic{display:none}}
@media(max-width:360px){.opening-note .jazz-scene{width:95px;height:95px}}


/* Static photographs: no zoom target, hover treatment, or lightbox. */
.photo-frame{cursor:default}.photo-frame img{transition:none}
/* The owner explicitly requested motion enabled regardless of OS preference. */
.music-note{animation:none}.opening-note .jazz-scene{width:195px;height:209px}
.live-intro .live-mic{width:113px;height:121px}
@media(max-width:850px){.opening-note .jazz-scene{width:155px;height:166px}}
@media(max-width:600px){.opening-note .jazz-scene{width:135px;height:145px}}
@media(max-width:360px){.opening-note .jazz-scene{width:110px;height:118px}}

@media(max-width:600px){.voice-sticker .spark{right:2px;top:-12px}}

/* Small musical punctuation replaces every starburst. */
.accent-notes{display:block;pointer-events:none;width:34px;height:40px;opacity:.85;overflow:visible}
.voice-sticker .accent-notes{position:absolute;right:2px;top:-15px;width:29px;height:34px;color:var(--blue)}
.about-intro>.accent-notes{position:absolute;right:4px;top:-30px;width:37px;height:43px;color:var(--orange)}
.moment-note>.accent-notes{width:34px;height:39px;color:var(--blue);flex-shrink:0}
.contact-intro>.accent-notes{position:absolute;right:35px;top:50px;width:37px;height:43px;color:var(--orange)}
@media(max-width:850px){.about-intro>.accent-notes{width:31px;height:36px}.contact-intro>.accent-notes{right:0}}
@media(max-width:600px){.voice-sticker .accent-notes{right:4px;top:-13px;width:24px;height:28px}.about-intro>.accent-notes{right:5px;top:-22px;width:27px;height:31px}.moment-note>.accent-notes{width:24px;height:28px}.contact-intro>.accent-notes{top:170px;right:18px;width:29px;height:34px}}

/* A smaller microphone, with a narrow flat-color support and pedestal. */
.opening-note .jazz-scene{width:170px;height:182px}
.live-intro .live-mic{width:98px;height:105px}
@media(max-width:850px){.opening-note .jazz-scene{width:138px;height:148px}}
@media(max-width:600px){.opening-note .jazz-scene{width:118px;height:126px}}
@media(max-width:360px){.opening-note .jazz-scene{width:100px;height:107px}}

/* Simple single-color illustration for the live section only. */
.live-intro .live-mic{color:var(--blue);width:76px;height:99px}

.opening-note .mono-scene{color:var(--blue)}

/* Orange and yellow local comparison: warm PNG rendering, original asset preserved. */
.mic-raster{filter:hue-rotate(158deg) saturate(.86)}

/* Tight upper-body crop: source region x=160..580, y=60..620. */
.opening-photo .photo-frame{aspect-ratio:3 / 4;position:relative;overflow:hidden}
.opening-photo img{position:absolute;width:203.333333%;max-width:none;height:auto;aspect-ratio:854 / 1280;left:-38.095238%;top:-10.714286%;object-fit:contain}

/* Warm beige hero background, extending to both viewport edges. */
.opening{position:relative;isolation:isolate}
.opening::before{content:"";position:absolute;z-index:-1;inset:0 calc((100% - 100vw) / 2);background:#f7efe3;pointer-events:none}

/* Client reference: soft yellow/orange silhouettes behind the photographs. */
.opening-photo::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:-13%;right:-8%;top:12%;bottom:9%;border-radius:48% 52% 46% 54% / 53% 38% 62% 47%;background:linear-gradient(145deg,#ffe7a2 5%,#ffd476 52%,#ffbb69 100%);transform:rotate(-9deg)}
.story-photo{position:relative;isolation:isolate}
.story-photo::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:5% -8% 0 -8%;border-radius:43% 57% 37% 63% / 46% 34% 66% 54%;background:linear-gradient(150deg,#ffe7ac 0%,#ffd175 48%,#ffa66c 100%);transform:rotate(-11deg)}
.story-photo::after{content:"";position:absolute;z-index:-2;pointer-events:none;right:-6%;top:-3%;width:65%;height:66%;border-radius:72% 28% 46% 54% / 58% 35% 65% 42%;background:linear-gradient(145deg,#ffe8af,#ffd784);transform:rotate(14deg)}
.opening-photo .photo-frame,.story-photo .photo-frame{box-shadow:0 8px 24px #a66c3010}
@media(max-width:700px){.opening-photo::before{left:-9%;right:-6%}.story-photo::before{left:-5%;right:-5%}.story-photo::after{right:-3%;top:2%}}
/* Decorative backgrounds may extend beyond the canvas, without sideways scrolling. */
body{overflow-x:clip}
html,body{overflow-x:hidden}

/* Selected ev3 portrait: natural vertical framing, no stage-photo zoom. */
.opening-photo img{position:relative;inset:auto;width:100%;max-width:100%;height:100%;aspect-ratio:3 / 4;object-fit:cover;object-position:50% 50%}


/* Light musical staff flowing into the upper-right edge of the hero. */
.hero-music-ribbon{position:absolute;right:calc((100% - 100vw) / 2);top:-15px;width:min(53vw,760px);height:auto;max-width:none;color:#edac31;opacity:.72;pointer-events:none;z-index:-1}
.ribbon-notes{transform-box:fill-box;transform-origin:center;animation:ribbon-note-drift 4.8s ease-in-out infinite alternate}
@keyframes ribbon-note-drift{from{transform:translateY(-3px) rotate(-4deg)}to{transform:translateY(5px) rotate(3deg)}}
@media(max-width:850px){.hero-music-ribbon{width:54vw;top:-10px;opacity:.48}}
@media(max-width:600px){.hero-music-ribbon{width:70vw;top:-3px;right:-28px;opacity:.32}}


/* Broad flowing curves inspired by the supplied liquid-shape references. */
.opening-photo .photo-frame{border-radius:0;clip-path:url(#hero-liquid);box-shadow:none}

/* Full-section orange curtain; isolated from content and pointer events. */
.section-wipe-host{position:relative}
.section-wipe-window{position:absolute;inset:0 calc((100% - 100vw) / 2);overflow:hidden;z-index:8;pointer-events:none}
.section-wipe-panel{width:100%;height:100%;background:#ed9a56;will-change:transform}

/* Continuous warm beige canvas across header and hero. */
.site-header{position:relative;isolation:isolate;background:#f7efe3}
.site-header::before{content:"";position:absolute;inset:0 calc((100% - 100vw) / 2);background:#f7efe3;z-index:-1;pointer-events:none}
@media(max-width:850px){.site-header nav{background:#f7efe3}}

/* Beige-to-white transition with the approved warm waves. */
.hero-wave-divider{width:100%;line-height:0;background:#fff;margin-top:-1px;pointer-events:none}
.hero-wave-divider img{display:block;width:100%;height:clamp(90px,16vw,230px);object-fit:fill}
.about{padding-top:55px}
@media(max-width:700px){.about{padding-top:38px}}

/* Preserve the full head within the liquid outline. */
.opening-photo img{object-position:50% 0%}
/* Overlap the hero edge to prevent a subpixel white seam above the SVG. */
.hero-wave-divider{position:relative;margin-top:-3px}
.hero-wave-divider::before{content:"";position:absolute;top:-1px;left:0;right:0;height:6px;background:#f7efe3;pointer-events:none}

/* Full-width transparent footer wave; no gray divider. */
.site-footer{border-top:0}
.footer-wave-divider{position:relative;width:100vw;max-width:none;left:50%;margin-left:-50vw;line-height:0;pointer-events:none;background:transparent}
.footer-wave-divider img{display:block;width:100%;max-width:none;height:clamp(80px,12vw,175px);object-fit:fill}
/* Slightly larger footer navigation and agency credit. */
.site-footer>div{font-size:12px}

/* Show the complete square avatar artwork without the portrait mask. */
.opening-photo{width:100%;max-width:410px}
.opening-photo .photo-frame{clip-path:none;border-radius:0;aspect-ratio:1;overflow:visible;background:transparent}
.opening-photo img{height:auto;aspect-ratio:1;object-fit:contain}

/* Student photography is a separate section from live performances. */
.students{padding-top:80px;padding-bottom:80px}.students .section-heading{margin-bottom:36px}.student-photos{columns:3;column-gap:22px}.student-photos figure{margin:0 0 22px;break-inside:avoid}.student-photos img{display:block;width:100%;height:auto;border-radius:5px}@media(max-width:850px){.student-photos{columns:2;column-gap:16px}.student-photos figure{margin-bottom:16px}}@media(max-width:540px){.students{padding-top:48px;padding-bottom:48px}.student-photos{columns:1}.students .section-heading{margin-bottom:24px}}

.student-photos{display:flex;columns:auto;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.student-photos::-webkit-scrollbar{display:none}.student-photos figure{flex:0 0 calc((100% - 44px)/3);min-width:0;margin:0;scroll-snap-align:start}.student-photo-open{display:block;width:100%;padding:0;border:0;background:#f7efe3;cursor:zoom-in;border-radius:5px;overflow:hidden}.student-photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.student-slider-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.student-slider-controls>div{display:flex;gap:8px}.student-slider-controls button,.student-lightbox button{min-width:44px;min-height:44px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;font:inherit}.student-slider-controls .student-pause{border-radius:24px;padding:8px 16px}.student-slider-controls button:focus-visible,.student-photo-open:focus-visible,.student-lightbox button:focus-visible{outline:3px solid #ed9a56;outline-offset:-4px}.student-counter{font-size:13px}.student-lightbox{width:96vw;max-width:1500px;max-height:96dvh;padding:16px;border:0;border-radius:8px;background:#171717;color:#fff}.student-lightbox::backdrop{background:#000c}.student-lightbox-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.student-lightbox img{display:block;width:100%;height:calc(90dvh - 140px);object-fit:contain}.student-lightbox-bottom{display:flex;justify-content:center;gap:18px;margin-top:12px}@media(max-width:1000px){.student-photos{gap:16px}.student-photos figure{flex-basis:calc((100% - 16px)/2)}}@media(max-width:540px){.student-photos{gap:10px}.student-photos figure{flex-basis:calc((100% - 10px)/2)}.student-slider-controls{flex-wrap:wrap}.student-counter{font-size:11px}.student-slider-controls .student-pause{font-size:12px;padding:7px 12px}}

.student-photos img.student-portrait{object-position:50% 60%}
