@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650&family=Manrope:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--wine:#202124;--wine-dark:#17181a;--ink:#202124;--paper:#ffffff;--soft:#f1f0ec;--muted:#5c5d61;--line:#dadad6;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b89552;outline-offset:6px}img{display:block;width:100%;height:auto;object-fit:cover}p{margin:0 0 1.25rem}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.14;letter-spacing:-.045em;margin:0 0 1.5rem}h1{font-size:clamp(3.3rem,5.6vw,6.3rem)}h2{font-size:clamp(2.7rem,4.1vw,4.65rem)}h3{font-size:clamp(1.85rem,2.7vw,2.75rem)}em{font-weight:400;color:var(--wine)}.wrap{width:min(1240px,88%);margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:600;margin-bottom:1.6rem;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--wine);color:#fff;padding:15px 24px;font-size:.9rem;font-weight:500;line-height:1.5;border:1px solid var(--wine);cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--wine-dark);transform:translateY(-2px)}.button span{font-size:1.3rem}.button.small{padding:11px 18px;gap:20px}.text-link{font-size:.9rem;font-weight:500;display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid currentColor;padding-block:7px;line-height:1.5}.text-link:hover{color:var(--wine)}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.site-header{height:96px;padding-inline:4.5%;display:flex;justify-content:space-between;align-items:center;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #dadad6}.brand{display:flex;gap:15px;align-items:center}.brand-name{font:500 1.1rem var(--serif);letter-spacing:-.02em}.brand-name small{display:block;font:500 .625rem var(--sans);letter-spacing:.21em;margin-top:9px}.monogram{position:relative;font:italic 2.8rem var(--serif);color:var(--wine);width:44px;line-height:1}.monogram span{font-size:1.8rem;position:absolute;top:18px;left:18px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:.875rem}.site-header nav>a:not(.button){position:relative;padding-block:10px}.site-header nav>a:not(.button):hover{color:var(--wine)}.menu-toggle{display:none}.hero{position:relative;min-height:650px;min-height:clamp(620px,47vw,780px);isolation:isolate;overflow:hidden;background:#b7b7b7}.hero-image{position:absolute;inset:0;height:100%;object-position:70% center;z-index:-3}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(241,240,236,.94),rgba(241,240,236,.76) 27%,rgba(241,240,236,.32) 44%,transparent 62%);z-index:-2}.hero-copy{padding:65px 0 75px 6%;width:56%;max-width:820px}.hero .eyebrow{margin-bottom:28px}.hero h1{max-width:660px;margin-bottom:27px}.hero-description{font-size:1.05rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:30px}.hero-actions .text-link{font-size:.85rem}.hero-caption{position:absolute;right:35px;bottom:23px;font-size:.625rem;letter-spacing:.2em;color:#fff;text-shadow:0 1px 4px #000}.service-ribbon{background:var(--wine);color:#ffffff;display:flex;justify-content:center;align-items:center;gap:42px;padding:25px 4%;font-size:.875rem}.service-ribbon>span{color:#b89552;font-size:.85rem}.service-ribbon a:hover{text-decoration:underline;text-underline-offset:5px}.lessons{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center}.lesson-visual{position:relative;padding-bottom:55px}.lesson-visual>img{aspect-ratio:1/1.14;object-position:50% center}.image-note{position:absolute;bottom:0;right:-24px;width:80%;background:var(--wine);color:var(--paper);padding:30px 34px;display:flex;align-items:center;justify-content:space-between;font:1.75rem/1.3 var(--serif);letter-spacing:-.025em}.image-note em{color:#e7d6af}.note-mark{font:italic 2.8rem var(--serif);color:#b89552;letter-spacing:-.16em;margin-right:8px}.lesson-copy>p:not(.eyebrow){color:var(--muted)}.lesson-facts{display:grid;grid-template-columns:1fr 1.5fr;gap:20px 16px;border-block:1px solid var(--line);padding-block:23px;margin:28px 0}.lesson-facts span{font-size:.65rem;letter-spacing:.1em;color:var(--muted);font-weight:600}.lesson-facts p{font-size:.875rem;margin:5px 0 0;line-height:1.6}.occasions{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:335px;color:var(--muted);margin:0 0 8px}.occasion-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:34px}.occasion-card{background:var(--paper)}.occasion-photo{position:relative;height:445px;overflow:hidden}.occasion-photo img{height:100%;object-position:center 35%;transition:transform .6s}.occasion-photo:hover img{transform:scale(1.025)}.occasion-photo>span{position:absolute;bottom:23px;left:28px;font-size:.65rem;letter-spacing:.2em;background:var(--paper);padding:8px 13px}.occasion-content{padding:36px 38px 40px}.occasion-content .eyebrow,.memorial-card .eyebrow{margin-bottom:14px;font-size:.6875rem}.occasion-content p:not(.eyebrow),.memorial-card>p:not(.eyebrow){color:var(--muted);font-size:.9375rem}.occasion-stack{display:flex;flex-direction:column;gap:32px}.private-card{display:grid;grid-template-columns:37% 63%}.private-card>img{height:100%;min-height:385px;object-position:52% center}.private-card .occasion-content{padding:31px 26px}.private-card h3{font-size:2.1rem}.memorial-card{background:#e8e7e2;padding:38px 40px;flex:1;border-top:3px solid var(--wine)}.memorial-card h3{font-size:2.4rem}.occasion-footnote{font-size:.875rem;color:var(--muted);margin:30px 0 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-copy>p:not(.eyebrow){color:var(--muted)}.about-copy .large-copy{font-family:var(--serif);font-size:1.5rem;line-height:1.5;color:var(--ink)!important}.about-visual{padding-top:30px}.about-visual img{aspect-ratio:.95;object-position:58% center;border-radius:50% 50% 0 0}.about-visual p{font-size:.625rem;letter-spacing:.17em;text-align:center;margin:20px 0 0}.testimonials{background:var(--wine-dark);color:var(--paper)}.testimonials em{color:#e7d6af}.testimonials .eyebrow{color:#e7d6af}.testimonials .section-heading>p{color:#d6d6d6}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.review{margin:0;padding:15px 0 30px;display:flex;flex-direction:column}.quote-mark{color:#b89552;font:4rem/.7 var(--serif);margin:15px 0}.review blockquote{font-family:var(--serif);font-size:1.4rem;line-height:1.65;margin:0 0 30px}.review figcaption{margin-top:auto;display:flex;align-items:center;gap:22px;font-size:.875rem}.stars{font-size:.7rem;letter-spacing:.2em;color:#b89552}.more-reviews{margin-top:20px;border-top:1px solid #5c5d61}.more-reviews details{border-bottom:1px solid #5c5d61}.more-reviews summary{list-style:none;display:flex;align-items:center;gap:30px;padding:23px 0;cursor:pointer;font-family:var(--serif);font-size:1.2rem}.more-reviews summary::-webkit-details-marker{display:none}.summary-description{font-family:var(--sans);font-size:.875rem;color:#d6d6d6;margin-left:auto}.plus{font:1.5rem var(--sans);width:24px;text-align:center;transition:transform .2s}.more-reviews details[open] .plus{transform:rotate(45deg)}.more-reviews blockquote{max-width:900px;margin:0 0 30px;font-size:1.05rem;line-height:1.85;color:#f1f0ec}.consulting{padding-block:55px;display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:40px}.consulting .eyebrow{font-size:.65rem;margin-bottom:12px}.consulting h3{font-size:1.8rem;margin:0}.consulting>p{font-size:.9rem;color:var(--muted);margin:0}.consulting .text-link{white-space:nowrap}.contact{background:var(--wine);color:var(--paper)}.contact-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:10%}.contact h2{font-size:clamp(2.7rem,4.1vw,4.4rem)}.contact em{color:#e7d6af}.contact-copy>p:not(.eyebrow){max-width:350px;color:#dedede}.contact-location{margin-top:35px}.contact-location>span{font-size:.65rem;letter-spacing:.14em;color:#d6d6d6}.contact-location p{font-size:.9rem;margin-top:6px}.contact .demo-note{font-size:.8125rem;line-height:1.65;padding-top:24px;border-top:1px solid #5c5d61;margin-top:32px;max-width:340px}.contact form{padding-top:5px}label{display:block;font-size:.875rem;line-height:1.6;margin:0 0 22px}label>span:not(.message-label-text),.message-label-text>span{font-size:.75rem;color:#d6d6d6}input,select,textarea{display:block;width:100%;margin-top:9px;border:1px solid #828386;border-radius:0;background:#ffffff08;color:#fff;padding:12px 13px;outline:none;font-size:1rem;min-height:49px}input::placeholder,textarea::placeholder{color:#d6d6d6;opacity:1}input:focus,select:focus,textarea:focus{border-color:#e7d6af;box-shadow:0 0 0 2px #e7d6af55}select{color-scheme:dark;padding-right:24px}select option{background:var(--wine-dark);color:#fff}textarea{resize:vertical;min-height:140px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-row[hidden]{display:none}input[type=date]{color-scheme:dark}.button.light{background:var(--paper);color:var(--wine);border-color:var(--paper);min-width:205px}.button.light:hover{background:#f1f0ec}.form-status{margin:22px 0 0;border-left:2px solid #b89552;padding:12px 18px;background:#ffffff0a;font-size:.9rem}.footer{padding-top:55px;display:flex;flex-wrap:wrap;gap:25px;align-items:center;justify-content:space-between}.footer>p{font-size:.875rem;color:var(--muted);margin:0}.footer-bottom{flex-basis:100%;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:22px 0;font-size:.75rem;color:var(--muted);margin-top:20px}@media(min-width:1600px){.hero-copy{padding-top:85px;padding-left:calc((100vw - 1400px)/2)}.hero-image{object-position:center 40%}}@media(max-width:1150px){.site-header nav{gap:17px;font-size:.8rem}.brand-name{font-size:1rem}.hero-copy{width:61%;padding-left:5%}.hero h1{font-size:4.3rem}.hero-actions{gap:18px}.service-ribbon{gap:24px}.wrap{width:90%}.lessons{gap:6%}.private-card{display:block}.private-card>img{height:220px;min-height:0;object-position:center 30%}.occasion-photo{height:440px}.wedding-card .occasion-content{padding:35px 30px}.consulting{gap:25px}.contact-layout{gap:6%}}@media(max-width:900px){.site-header{height:80px}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:24px 6%;border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;font-size:1rem;gap:9px}.site-header nav.open{display:flex}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;border:0;background:none;padding:9px;cursor:pointer}.menu-toggle span{height:1px;width:26px;background:var(--wine)}.hero{min-height:620px}.hero h1{font-size:3.7rem}.hero-copy{width:65%;padding-top:70px}.hero-actions{align-items:start;flex-direction:column;gap:14px}.hero-image{object-position:65% center}.hero-wash{background:linear-gradient(90deg,rgba(241,240,236,.96),rgba(241,240,236,.8) 29%,rgba(241,240,236,.2) 59%,transparent 75%)}.service-ribbon{gap:18px;font-size:.75rem}.section{padding-block:80px}.lessons{grid-template-columns:1fr 1fr;gap:6%}.lesson-facts{grid-template-columns:1fr}.lesson-visual>img{aspect-ratio:.65}.image-note{right:-12px;padding:24px;font-size:1.5rem;width:90%}.note-mark{display:none}.section-heading>p{max-width:260px}.occasion-grid{gap:22px}.occasion-content{padding:28px}.about{gap:6%}.about h2{font-size:2.7rem}.about-visual img{aspect-ratio:.7}.review-grid{gap:35px}.review blockquote{font-size:1.2rem}.consulting{grid-template-columns:1fr 1fr}.consulting .text-link{justify-self:start}.contact-layout{grid-template-columns:1fr 1.15fr;gap:6%}.form-row{grid-template-columns:1fr;gap:0}.footer>.text-link{display:none}}@media(max-width:640px){html{scroll-padding-top:80px}.wrap{width:88%}.site-header{padding-inline:6%;height:76px}.brand-name{font-size:.96rem}.brand-name small{font-size:.55rem}.monogram{font-size:2.5rem;width:38px}.monogram span{font-size:1.6rem;top:17px;left:16px}.site-header nav{top:76px}.hero{display:flex;flex-direction:column;min-height:0;background:#f1f0ec}.hero-copy{width:100%;padding:42px 6% 35px;max-width:none;order:0}.hero h1{font-size:clamp(3.15rem,10.5vw,4.3rem);line-height:1.12;max-width:460px}.hero h1 br:last-of-type{display:none}.hero .eyebrow{font-size:.65rem;margin-bottom:22px}.hero-description{font-size:.9375rem}.hero-image{position:relative;order:1;z-index:0;height:auto;aspect-ratio:1.18;object-fit:cover;object-position:75% center;width:100%;content:url('assets/hero-concert-portrait.png')}.hero-wash{display:none}.hero-actions{flex-direction:row;gap:18px;align-items:center;margin-top:25px}.hero-actions .button{padding:13px 15px;gap:13px;font-size:.8125rem}.hero-actions .text-link{font-size:.8rem;max-width:125px}.hero-caption{bottom:14px;right:17px;z-index:1;font-size:.5rem}.service-ribbon{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:10px;padding:22px 6%;font-size:.75rem}.service-ribbon>span{display:none}.section{padding-block:65px}.eyebrow{font-size:.6875rem;margin-bottom:20px}h2{font-size:2.8rem}.lessons{display:flex;flex-direction:column;gap:42px}.lesson-copy{order:0}.lesson-visual{order:1;width:100%;padding-bottom:38px}.lesson-visual>img{aspect-ratio:1.1;object-position:center}.image-note{right:-10px;width:75%;font-size:1.55rem;padding:24px}.lesson-facts{grid-template-columns:1fr 1.3fr;gap:20px 10px}.lesson-facts p{font-size:.8125rem}.section-heading{display:block;margin-bottom:32px}.section-heading>p{max-width:none;margin-top:22px}.occasion-grid{grid-template-columns:1fr;gap:24px}.occasion-photo{height:380px}.occasion-content,.wedding-card .occasion-content{padding:29px 26px 34px}.occasion-stack{gap:24px}.private-card{display:grid;grid-template-columns:35% 65%}.private-card>img{height:100%;object-position:center}.private-card .occasion-content{padding:26px 21px}.private-card h3{font-size:1.8rem}.private-card .text-link{font-size:.8rem}.memorial-card{padding:30px 28px}.occasion-footnote{font-size:.8rem}.about{display:flex;flex-direction:column;gap:30px}.about-visual{width:88%;padding-top:0}.about-visual img{aspect-ratio:1}.review-grid{grid-template-columns:1fr;gap:10px}.review{padding-bottom:25px}.review+.review{border-top:1px solid #5c5d61;padding-top:32px}.review blockquote{font-size:1.3rem}.summary-description{font-size:.75rem;max-width:155px;line-height:1.5}.more-reviews summary{gap:15px;font-size:1rem}.more-reviews blockquote{font-size:1rem}.consulting{grid-template-columns:1fr;padding-block:40px;gap:20px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact h2{font-size:3.1rem}.contact-copy>p:not(.eyebrow){max-width:none}.contact-location{margin-top:25px}.contact .demo-note{max-width:none}.form-row{grid-template-columns:1fr 1fr;gap:16px}.form-row label{min-width:0}.form-row input,.form-row select{min-width:0}.footer{display:block;padding-top:40px}.footer>p{margin-top:25px}.footer-bottom{display:flex;flex-direction:column;gap:8px;margin-top:30px;font-size:.6875rem}}@media(max-width:370px){.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .text-link{max-width:none}.form-row{grid-template-columns:1fr;gap:0}.private-card{display:block}.private-card>img{height:260px}.summary-description{display:none}.plus{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Photo framing: intrinsic image proportions prevent fixed HTML heights
   from turning responsive photographs into narrow, oversized crops. */
.lesson-visual>img{aspect-ratio:3 / 2;height:auto;object-fit:contain}
.lesson-visual{padding-bottom:0}
.image-note{position:relative;right:auto;bottom:auto;width:90%;margin:-1px 0 0 auto}
.about-visual img{aspect-ratio:3 / 2;height:auto;object-fit:contain;border-radius:8px}
.hero-image{object-position:70% top}
.occasion-grid{align-items:start}
.occasion-photo{height:auto;aspect-ratio:2 / 3}
.occasion-photo img{height:auto;aspect-ratio:2 / 3;object-fit:contain}
.occasion-photo:hover img{transform:none}
.private-card{grid-template-columns:44% 56%;align-items:start}
.private-card>img{height:auto;min-height:0;aspect-ratio:2 / 3;object-fit:contain}
@media(min-width:1600px){.hero-image{object-position:center top}}
@media(max-width:1150px){
.private-card{display:block}
.private-card>img{width:100%;height:auto;aspect-ratio:2 / 3;object-fit:contain}
}
@media(min-width:641px) and (max-width:1150px){
.occasion-grid{grid-template-columns:1fr}
.wedding-card,.private-card{display:grid;grid-template-columns:42% 58%;align-items:center}
.occasion-stack{display:grid;grid-template-columns:1fr}
.occasion-photo{height:auto}
.private-card>img{height:auto}
}
@media(max-width:900px){
.lesson-visual>img,.about-visual img{aspect-ratio:3 / 2;height:auto}
.hero-image{object-position:65% top}
}
@media(max-width:640px){
.lesson-visual{padding-bottom:0}
.image-note{right:auto;width:90%;margin-top:0}
.about-visual{width:100%}
.about-visual img{aspect-ratio:3 / 2;border-radius:8px}
.occasion-photo{height:auto;aspect-ratio:2 / 3}
.private-card{display:block}
.private-card>img{height:auto;min-height:0;aspect-ratio:2 / 3}
.hero-image{height:auto;aspect-ratio:1.18;object-fit:cover;object-position:75% top}
}

/* Approved 5A signature, displayed directly from the original concept. */
.signature-logo{display:block;position:relative;width:210px;aspect-ratio:448 / 210;overflow:hidden;flex:none}
.signature-logo img{position:absolute;max-width:none;width:342.857143%;height:auto;left:-10.044643%;top:-349.047619%;mix-blend-mode:multiply}
.site-header{height:116px}.site-header .brand{flex-shrink:0}
.site-header nav{gap:24px}
.image-note{border-top:2px solid #b89552}
.memorial-card{border-top-color:#b89552}
.gig-frame{position:relative;aspect-ratio:880 / 1430;overflow:hidden;background:#202124}
.gig-frame img{position:absolute;width:145.454545%;max-width:none;height:auto;left:0;top:-10.48951%;object-fit:initial}
.private-card{display:block}
.orchestra-frame{position:relative;width:100%;aspect-ratio:330 / 660;overflow:hidden;background:#202124}
.about-visual .orchestra-frame img{position:absolute;width:354.545455%;max-width:none;height:auto;aspect-ratio:auto;left:-136.363636%;top:-17.424242%;border-radius:0;object-fit:initial}
.about-visual{width:min(100%,400px);justify-self:center}
@media(max-width:1150px){.site-header nav{gap:16px}.site-header .signature-logo{width:180px}.private-card{display:grid;grid-template-columns:42% 58%;align-items:center}}
@media(max-width:900px){.site-header{height:96px}.site-header nav{top:96px}.signature-logo{width:180px}}
@media(max-width:640px){.site-header{height:96px}.site-header nav{top:96px}.private-card{display:block}.about-visual{width:min(100%,360px)}.signature-logo{width:180px}.footer .signature-logo{width:230px}}

/* Consistent calls to action across every service and screen size. */
.button,.button.small,.hero-actions .button{min-height:48px;max-width:100%;padding:14px 22px;gap:18px;font-size:.9375rem;font-weight:600;line-height:1.5;text-align:center;text-decoration:none;white-space:normal;border:2px solid var(--wine);border-radius:0;background:var(--wine);color:#fff;box-shadow:0 2px 0 #00000012;transition:background .18s,border-color .18s,transform .18s}
.button span[aria-hidden]{flex-shrink:0;line-height:1}
.button:hover{background:#3b3d41;border-color:#3b3d41;color:#fff;transform:translateY(-2px)}
.button:active{transform:translateY(0);box-shadow:none}
.button:focus-visible{outline:3px solid #b89552;outline-offset:4px}
.button.light{background:#fff;border-color:#fff;color:#202124}
.button.light:hover{background:#f1f0ec;border-color:#f1f0ec;color:#202124}
.button.secondary{background:transparent;border-color:#202124;color:#202124}
.button.secondary:hover{background:#202124;color:#fff}
.hero-actions{flex-wrap:wrap;gap:14px;align-items:stretch}
.hero-actions .button{max-width:100%}
.consulting>.button{justify-self:start}
.footer>.button{flex-shrink:0}
@media(max-width:900px){.hero-actions{align-items:flex-start}}
@media(max-width:640px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.occasion-content>.button,.memorial-card>.button{width:100%}.footer>.button{display:inline-flex;margin-top:24px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}

/* Section 02: three equal service subsections with a shared reading rhythm. */
.occasion-intro{max-width:390px;color:var(--muted)}
.occasion-intro p:last-child{margin-bottom:8px}
.occasion-sections{display:grid;gap:28px}
.occasion-service{display:grid;grid-template-columns:240px minmax(0,1fr);background:var(--paper);border-top:2px solid #b89552;scroll-margin-top:130px}
.service-photo{position:relative;aspect-ratio:880 / 1430;overflow:hidden;align-self:start}
.service-photo:not(.gig-frame)>img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-copy{display:flex;flex-direction:column;align-items:flex-start;padding:36px 44px;min-width:0}
.service-copy h3{font-size:clamp(2rem,3vw,2.75rem);margin:0 0 12px;letter-spacing:-.035em}
.service-line{font-family:var(--serif);font-size:1.25rem;font-style:italic;line-height:1.5;margin-bottom:18px}
.service-description{color:var(--muted);max-width:680px;font-size:1rem;margin-bottom:24px}
.service-copy>.button{margin-top:auto}
@media(max-width:900px){.occasions .section-heading{display:block}.occasion-intro{max-width:620px;margin-top:24px}.occasion-service{grid-template-columns:210px minmax(0,1fr)}.service-copy{padding:28px}.service-copy h3{font-size:2rem}}
@media(max-width:640px){.occasion-service{grid-template-columns:1fr}.service-photo{width:100%;max-width:300px;justify-self:center;margin-top:24px}.service-copy{padding:28px 24px 32px}.service-copy>.button{width:100%}.service-copy h3{font-size:2rem}.occasion-sections{gap:24px}}

/* A light testimonial section gives the dark inquiry form a clear entrance. */
.testimonials{background:var(--soft);color:var(--ink)}
.testimonials em,.testimonials .eyebrow{color:var(--ink)}
.testimonials .quote-mark{color:#86682f}
.testimonials .stars{color:#765b29}
.testimonials .summary-description{color:var(--muted)}
.testimonials .more-reviews,.testimonials .more-reviews details,.testimonials .review+.review{border-color:#cecec8}
.testimonials .more-reviews blockquote{color:var(--ink)}

/* Mobile layout repairs: explicit headline spacing, vector arrows and stable photo framing. */
.hero-title-line{display:block}
.cta-icon{display:block;width:20px;height:20px;flex:0 0 20px}
.about-visual .orchestra-frame img{position:static;display:block;width:100%;max-width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:58% center;left:auto;top:auto;border-radius:0}
.orchestra-frame{aspect-ratio:1 / 2}
@media(max-width:640px){
 html{scroll-padding-top:112px}
 .hero h1{font-size:clamp(2.35rem,9.1vw,3.5rem);line-height:1.2;letter-spacing:-.025em;word-spacing:.04em;margin-bottom:26px}
 .hero-title-line+.hero-title-line{margin-top:.12em}
 .hero h1 em{letter-spacing:-.015em}
 .lessons{display:flex;flex-direction:column;gap:30px}
 .lesson-visual{order:0;width:100%;margin:0;padding:0}
 .lesson-copy{order:1;width:100%}
 .lesson-visual>img{width:100%;height:auto;aspect-ratio:3 / 2}
 .lessons .image-note{position:static;display:block;width:100%;margin:0;padding:20px 24px;font-size:1.5rem;line-height:1.4;letter-spacing:normal}
 .lesson-copy>.button{width:100%}
 .about-visual{width:100%;max-width:360px}
}

/* Match the image-first reading order of other mobile sections. */
@media(max-width:640px){.about-visual{order:0}.about-copy{order:1}}

/* Compact performance portrait: focus on Angelina's face and violin. */
.orchestra-frame{aspect-ratio:6 / 5}
.about-visual .orchestra-frame img{object-position:56% 28%;transform:scale(2.5);transform-origin:56% 28%}
.lesson-facts>div:last-child{grid-column:1 / -1}
@media(max-width:640px){.orchestra-frame{max-height:300px}}

/* Keep native date controls inside their columns, including iOS Safari. */
.contact form,.contact label{min-width:0}
.contact .form-row{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
.contact input,.contact select,.contact textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
.contact input,.contact select{height:52px;min-height:52px}
.contact input[type="date"]{appearance:none;-webkit-appearance:none;display:block}
.contact input[type="date"]::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
@media(max-width:900px){.contact .form-row{grid-template-columns:minmax(0,1fr);gap:0}.contact label{margin-bottom:24px}}

/* One continuous lesson photograph and caption block at every viewport. */
.lessons .lesson-visual{padding-bottom:0}
.lessons .image-note{position:static;inset:auto;display:block;width:100%;margin:0;padding:24px 30px;line-height:1.4;letter-spacing:normal}
@media(max-width:640px){.lessons .image-note{padding:20px 24px}}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.6;cursor:wait}
