:root{--ink:#392222;--wine:#f9c56b;--plum:#a13f49;--gold:#f3a83b;--cream:#fff9ec;--rose:#ffd3bf;--line:rgba(57,34,34,.2)}
body{background:var(--cream);color:var(--ink);font-weight:400}body:after{opacity:.025}
nav{position:relative;background:#fff9ec;color:var(--ink);border-bottom:1px solid rgba(57,34,34,.18);padding-block:20px}.wordmark{font-size:1.7rem;font-weight:500}.navlinks a{font-size:.78rem;opacity:1}.navlinks a:hover{text-decoration:underline;text-underline-offset:6px}
.hero{min-height:min(850px,100svh);padding:clamp(46px,7vw,90px) clamp(22px,8vw,120px) 60px;background:#ffedb8;color:var(--ink);grid-template-columns:1fr .82fr;gap:5vw;align-items:center}.hero:before{display:none}.hero-copy{max-width:720px}.eyebrow{color:#a13f49;font-weight:500;font-size:.78rem;letter-spacing:.18em}.hero h1{font-size:clamp(5.5rem,13vw,12rem);line-height:.78;letter-spacing:-.055em}.hero h1 em{color:#dc6545;font-weight:400}.hero-note{color:#593d32;font-size:clamp(1.6rem,2.7vw,2.55rem);max-width:580px;line-height:1.15;margin:40px 0}.button{background:#a13f49;border-color:#a13f49;color:#fff9ec;border-radius:100px;font-size:.76rem;font-weight:500;letter-spacing:.1em;padding:16px 25px}.button:hover,.button:focus-visible{background:#4c2930;border-color:#4c2930;color:#fff;transform:translateY(-2px)}.hero-image{position:relative;z-index:1;align-self:stretch;min-height:500px;max-height:690px;padding:18px 18px 44px;background:#fa855a;border-radius:48% 48% 5px 5px;transform:rotate(2deg);box-shadow:18px 22px 0 #f7d779}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 27%;border-radius:48% 48% 2px 2px;display:block}.hero-image span{position:absolute;bottom:9px;left:22px;color:#442522;font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-style:italic}.hero-bottom{position:absolute;bottom:23px;left:clamp(22px,8vw,120px);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;color:#8e4d38}
section{padding-block:clamp(75px,9vw,125px)}.intro{background:#fff9ec;gap:6vw}.intro .display{line-height:.93}.intro .display em,.offer .display em,.music .display em,.inquiry .display em{color:#d75d45;font-weight:400}.intro-copy p:first-child{font-size:1.9rem;line-height:1.2}.sig{color:#b44951}.offer{background:#f8b86c;color:#392222}.section-head .display{line-height:.92}.section-head p{color:#593d32;font-family:'Cormorant Garamond',serif;font-size:1.7rem;line-height:1.2}.cards{border-color:rgba(57,34,34,.35);gap:16px;border:0}.card{background:#fff5dc;border:1px solid rgba(57,34,34,.22)!important;border-radius:160px 160px 12px 12px;padding:32px 32px 42px;min-height:340px;transition:transform .25s}.card:hover{transform:translateY(-7px)}.number{font-family:'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.15em;font-style:normal;font-size:.76rem;color:#a13f49}.card h3{font-size:2.35rem;line-height:1;margin:82px 0 15px}.card p{color:#513e35;line-height:1.5}.music{background:#f7d6d3;color:var(--ink)}.music .eyebrow{color:#a13f49!important}.music .display{line-height:.9}.music-note{opacity:.75}.music .button{border-color:#a13f49!important}.about{background:#fff9ec}.about-photo img{border:12px solid #ffd68e;border-radius:210px 210px 8px 8px;aspect-ratio:4/5}.about-photo figcaption{color:#a13f49}.about .eyebrow{color:#a13f49!important}.inquiry{background:#e56d4f;color:#fff9ec;min-height:65vh}.inquiry .eyebrow{color:#ffe6a8}.inquiry .display em{color:#ffe6a8}.inquiry p{font-size:1.7rem}.inquiry .button{background:#fff9ec;color:#873945;border-color:#fff9ec}.inquiry .button:hover{background:#ffe6a8;color:#392222}footer{background:#392222;color:#fff1df}
@media(max-width:800px){nav .navlinks{display:flex;gap:14px}.navlinks a{font-size:.68rem;letter-spacing:.08em}.navlinks a:nth-child(1),.navlinks a:nth-child(3){display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:60px;gap:40px}.hero h1{font-size:clamp(5.7rem,23vw,9rem)}.hero-image{width:min(85%,440px);height:500px;min-height:0;justify-self:center}.hero-bottom{position:relative;bottom:auto;left:auto;margin-top:15px}.intro,.music-grid,.about{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.card{min-height:280px;border-radius:150px 150px 8px 8px}.card h3{margin-top:50px}.section-head{margin-bottom:36px}.about-photo{max-width:470px}.repertoire{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.hero-image{height:390px}.repertoire{grid-template-columns:1fr}.hero-note{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){.card,.button{transition:none}}
/* Comfortable card tops keep the labels inside the shapes at every width. */
.cards{align-items:stretch}
.card{display:flex;flex-direction:column;align-items:flex-start;min-height:370px;padding:34px 30px 42px;border-radius:58px 58px 12px 12px}
.card .number{display:inline-block;flex:none;white-space:nowrap;border:1px solid rgba(161,63,73,.4);border-radius:99px;padding:7px 13px;font-size:.74rem;line-height:1.3;letter-spacing:.1em}
.card h3{margin:42px 0 14px;min-height:2.05em;font-size:clamp(1.9rem,2.4vw,2.35rem);line-height:1.02}
.card p{margin:0}
@media(max-width:800px){.card{min-height:0;border-radius:54px 54px 12px 12px;padding:34px 30px 42px}.card h3{min-height:0;margin-top:36px}}
.inquiry .button{font-family:inherit;cursor:pointer}
.inquiry-form[hidden],.form-fallback[hidden]{display:none}
.inquiry-form{width:min(100%,740px);margin:52px auto 0;padding:clamp(24px,4vw,48px);background:#fff9ec;color:#392222;border-radius:30px;text-align:left;box-shadow:0 20px 55px rgba(75,30,35,.16)}
.inquiry-form h3{font:400 clamp(2rem,4vw,3rem)/1 'Cormorant Garamond',serif;margin:0 0 28px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 20px}
.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:.9rem;font-weight:500;line-height:1.35}
.form-grid .form-wide{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea,.form-fallback textarea{width:100%;min-width:0;border:1px solid #b98b7e;border-radius:12px;background:#fff;color:#392222;padding:12px 14px;font:400 1rem/1.4 'DM Sans',sans-serif}
.form-grid textarea{resize:vertical}
.form-grid input:focus-visible,.form-grid select:focus-visible,.form-grid textarea:focus-visible,.form-submit:focus-visible,.copy-button:focus-visible{outline:3px solid #a13f49;outline-offset:2px}
.inquiry-form .form-note{font:400 .88rem/1.45 'DM Sans',sans-serif;color:#72534a;margin:22px 0 16px}
.form-submit,.copy-button{border:0;border-radius:100px;background:#a13f49;color:#fff9ec;padding:14px 24px;font:500 .82rem/1.3 'DM Sans',sans-serif;letter-spacing:.04em;cursor:pointer}
.form-submit:hover,.copy-button:hover{background:#4c2930}
.form-fallback{margin-top:25px;padding-top:20px;border-top:1px solid #d7b3a0}
.inquiry-form .form-fallback p{font:400 .94rem/1.5 'DM Sans',sans-serif;margin:0 0 14px}
.form-fallback textarea{resize:vertical;margin-bottom:12px}
@media(max-width:650px){.form-grid{grid-template-columns:1fr}.inquiry-form{border-radius:22px}}

.wordmark{display:inline-flex;align-items:center;gap:8px}.nav-mark{display:block;width:74px;height:48px;object-fit:contain}.intro-mark{display:block;width:min(310px,75%);height:auto;margin:40px auto 0;filter:contrast(1.08)}@media(max-width:500px){.nav-mark{width:52px;height:38px}.wordmark{font-size:1.4rem}.intro-mark{width:min(270px,72%);margin-top:30px}}

.hero h1 em{font-style:normal;font-weight:500;letter-spacing:-.045em}.hero-mark{display:block;width:min(235px,55%);height:auto;margin:15px 0 -8px;filter:contrast(1.15)}@media(max-width:800px){.hero-mark{width:min(205px,55%);margin:12px 0 -4px}}

.hero-title-row{display:flex;align-items:flex-end;gap:clamp(12px,2vw,28px)}.hero-title-row h1{flex:0 0 auto}.hero-title-row .hero-mark{flex:1 1 190px;width:auto;max-width:220px;min-width:105px;height:auto;align-self:flex-end;margin:0 0 10px;filter:contrast(1.15)}.hero-title-row+.hero-note{margin-top:34px}@media(max-width:800px){.hero-title-row .hero-mark{max-width:175px;min-width:70px;margin-bottom:4px}.hero-title-row+.hero-note{margin-top:28px}}@media(max-width:420px){.hero-title-row{gap:8px}.hero-title-row .hero-mark{max-width:92px;min-width:0}}

.pricing{background:#ffe8b8;color:#392222;display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,130px);align-items:center}.pricing .display{font-size:clamp(3.4rem,6vw,6.5rem);line-height:.92}.pricing .display em{color:#b44951;font-weight:400}.pricing-intro>p:last-child{max-width:550px;font-size:1.08rem;line-height:1.65;margin:32px 0 0}.pricing-details{max-width:590px}.pricing-line{border-top:1px solid rgba(57,34,34,.35);padding:22px 0;display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15}.pricing-line strong{font-weight:500;color:#a13f49;white-space:nowrap}.pricing-details>p{border-top:1px solid rgba(57,34,34,.35);padding-top:27px;margin:0 0 30px;line-height:1.6}.pricing .button{background:#a13f49;color:#fff9ec}
@media(max-width:800px){.pricing{grid-template-columns:1fr;gap:38px}.pricing-intro>p:last-child{margin-top:22px}}@media(max-width:480px){.pricing-line{display:block}.pricing-line strong{display:block;margin-top:6px}}
