@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Great+Vibes&family=Manrope:wght@400;500;600&family=Montserrat:wght@500;800;900&display=swap');
:root{--cream:#ecddcd;--ink:#624a32;--gold:#9b7548;--line:#aa855845;--paper:#f4eade}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;color:var(--ink);background:var(--cream);font-family:Manrope,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:7px}header{height:125px;display:flex;align-items:center;justify-content:space-between;padding:0 4.7%;position:absolute;top:0;width:100%;z-index:10}header .logo{font-size:36px;letter-spacing:9px}.logo{display:inline-flex;flex-direction:column;font-weight:400}.logo span{font-family:'Great Vibes',cursive;font-size:26px;letter-spacing:1px;margin-top:-4px}header nav{display:flex;gap:3.5vw}header nav a{font-size:12px;text-transform:uppercase;letter-spacing:1.7px;padding:12px 0;border-bottom:1px solid transparent}header nav a:hover{border-color:var(--gold)}.menu-toggle{background:none;border:0;padding:12px 0 12px 18px;width:52px;display:grid;gap:7px;color:var(--gold)}.menu-toggle i{height:1px;background:currentColor;width:34px;transition:transform .2s}.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-8px) rotate(-45deg)}#menu{position:fixed;inset:0;background:#eee1d3fa;z-index:9;padding:150px 10% 50px;backdrop-filter:blur(14px)}#menu nav{display:flex;flex-direction:column;max-width:700px;margin:auto}#menu a{padding:17px;border-bottom:1px solid var(--line);font-size:14px}#menu span{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,5vw,50px);margin-left:35px}.hero{height:min(930px,100svh);min-height:700px;position:relative;overflow:hidden;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center;padding-top:95px;background:radial-gradient(ellipse at 50% 40%,#fff7eaaa 0,transparent 60%),linear-gradient(120deg,#dfcbb9,#efe0cf 45%,#e7d5c5)}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23816c55' opacity='.55' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.halo{position:absolute;top:19%;width:65%;aspect-ratio:1.4;border-radius:50%;border:1px solid #fff5de85;box-shadow:0 -2px 15px #fff9eaaa,inset 0 2px 10px #fff7e766;transform:rotate(-10deg);mask-image:linear-gradient(#000,transparent 80%)}.hero-top{font-size:12px;letter-spacing:4px;position:relative;z-index:1;margin-top:10px}.wordmark{font-family:Arial,Helvetica,sans-serif;font-size:clamp(200px,35vw,495px);font-weight:800;letter-spacing:-.052em;line-height:1.08;padding-right:.052em;color:#eddbc2;text-shadow:1px 1px 0 #fff7e8,2px 2px 0 #d2b994,3px 3px 0 #c9b08e,4px 4px 0 #bea582,5px 5px 0 #b79c78,8px 12px 10px #8e6e4455,20px 30px 32px #8e6e4430;position:relative;z-index:1}.signature{font-family:'Great Vibes',cursive;font-size:clamp(60px,10vw,135px);font-weight:400;transform:rotate(-7deg);line-height:1.3;margin-top:-.65em;color:#8e602f;text-shadow:0 1px #fff5d5,1px 2px 2px #96683266;position:relative;z-index:2}.hero-line{font-size:12px;letter-spacing:4px;margin-top:38px;position:relative;z-index:2}.hero-line b{padding:0 12px;font-weight:400}.down{border:1px solid #b89972;border-radius:50%;width:49px;height:49px;display:grid;place-items:center;font-size:25px;margin-top:35px;z-index:2;transition:background .2s}.down:hover{background:#fff3dc}.tiles{display:grid;grid-template-columns:repeat(5,1fr)}.tile{height:430px;text-align:center;position:relative;overflow:hidden;border-right:1px solid #fff6e6;display:flex;align-items:center;flex-direction:column;padding:48px 16px 25px;background:#e1ccb8;transition:filter .3s}.tile:hover{filter:brightness(1.07)}.num{font-size:12px;letter-spacing:1px}.num:after{content:'';display:block;width:28px;height:1px;background:currentColor;opacity:.45;margin:12px auto 24px}.tile h2{font-size:14px;text-transform:uppercase;font-weight:500;letter-spacing:1.7px;margin:0}.tile h2:after{content:'';display:block;width:28px;height:1px;background:currentColor;opacity:.45;margin:22px auto}.tile-bottom{margin-top:auto;font-size:12px;width:100%;display:flex;align-items:center;justify-content:space-between;z-index:1}.tile-bottom span{font-size:21px}.tile-about{background:linear-gradient(135deg,#e8d8c8,#d4bca4)}.tile-mark{font-size:clamp(48px,7vw,108px);font-weight:600;letter-spacing:-6px;color:#eadac8;text-shadow:2px 3px #c4a585,5px 8px 12px #84624022;margin-top:35px}.tile-stage{background:linear-gradient(#e7d4bf55,#b8996e22),url('stage.png') 23% center/cover}.tile-media{background:linear-gradient(#594a3e66,#392c2066),url('stage.png') 78% center/cover;color:#fff0d9}.play{height:64px;width:64px;border:1px solid #fff0d999;border-radius:50%;display:grid;place-items:center;font-size:29px;margin-top:26px}.tile-book{background:linear-gradient(125deg,#ecddcc,#deccb9)}.lock{margin-top:3px}.tile-contact{background:linear-gradient(145deg,#e5d3c1 15%,#f4e7d6 48%,#d4b99b 49%,#ead9c6 52%,#e5d1bb 70%)}.section{padding:95px max(6%,calc((100% - 1200px)/2));scroll-margin-top:10px;border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;letter-spacing:3px;margin-bottom:40px;color:#8c6a44}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:start}.section h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(40px,4.5vw,65px);font-weight:400;line-height:1.04;margin:0 0 24px}.section h2 em{font-weight:400;color:var(--gold)}p{line-height:1.85;margin:0 0 20px}.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding:12px 0;font-size:14px}.text-link span{margin-left:40px}.about{background:var(--paper)}.names{margin-top:60px;padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:'Cormorant Garamond',Georgia,serif;font-size:29px}.program-list{margin-top:45px}.program-list article{border-top:1px solid var(--line);display:flex;gap:30px;align-items:center;padding:25px 0}.program-list article>span{font-size:12px}.program-list h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:400;margin:0 0 4px}.program-list p{margin:0;font-size:14px}.program-list button{margin-left:auto;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:24px;flex-shrink:0}.program-list button:hover{background:var(--paper)}.media{background:#6b5848;color:#f5e9d9}.media .eyebrow,.media h2 em{color:#d9bc93}.media-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.media-links>a{border:1px solid #d9bc9355;padding:30px;transition:background .2s}.media-links>a:hover{background:#d9bc931c}.media-icon{font-size:30px}.media-links h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:400;margin:25px 0 10px}.media-links>a>span:last-child{font-size:14px}.booking{background:var(--paper)}.booking .split{gap:8%}.booking p{max-width:440px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;margin-bottom:22px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #aa855877;background:transparent;color:var(--ink);padding:13px 0;border-radius:0;outline-offset:4px;font-size:16px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#907c67}.primary{width:100%;background:#80613e;border:1px solid #80613e;padding:19px 23px;display:flex;justify-content:space-between;color:#fff6e9;font-size:14px}.primary:hover{background:#664b2e}.form-note{font-size:12px;margin:14px 0 0;opacity:.85}#form-status{font-size:14px;margin:12px 0 0}.contact{text-align:center;padding-top:95px;padding-bottom:95px}.contact .email{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,4.5vw,60px);margin:30px 0 20px}.phone{font-size:18px}.socials{display:flex;gap:30px;justify-content:center;margin-top:35px;font-size:14px}footer{display:flex;align-items:center;justify-content:space-between;padding:32px 5%;gap:20px}footer .logo{font-size:25px;letter-spacing:6px}footer p{font-size:11px;letter-spacing:3px;margin:0}footer>a:last-child{font-size:12px}@media(min-width:1500px){.hero{height:960px;max-height:none}}@media(max-width:900px){header nav{gap:18px}header nav a{font-size:10px;letter-spacing:1px}.tile{height:350px;padding:35px 10px 20px}.tile h2{font-size:12px;letter-spacing:.7px}.tile-bottom{font-size:10px}.split{gap:5%}.section{padding:65px 6%}.media-links>a{padding:22px}}@media(max-width:650px){header{height:95px;padding:0 7%}header nav{display:none}header .logo{font-size:29px}.logo span{font-size:22px}.hero{min-height:580px;height:84svh;max-height:780px;padding-top:50px}.hero-top{font-size:10px;letter-spacing:2.5px}.wordmark{font-size:43vw;margin-top:26px}.signature{font-size:14vw;margin-top:-.38em}.halo{width:100%;top:26%}.hero-line{font-size:10px;letter-spacing:1.5px;margin-top:45px}.hero-line b{padding:0 3px}.down{margin-top:35px}.tiles{grid-template-columns:repeat(2,1fr)}.tile{height:300px;padding:30px 18px 20px}.tile h2{font-size:14px;letter-spacing:1px}.tile-mark{font-size:80px;margin-top:5px}.tile-bottom{font-size:11px}.tile:last-child{grid-column:1/-1;height:180px}.tile:last-child h2:after{display:none}.tile:last-child .num:after{margin-bottom:15px}.tile:last-child .tile-bottom{max-width:220px}.section{padding:60px 7%}.split{grid-template-columns:1fr;gap:20px}.eyebrow{margin-bottom:26px;font-size:11px}.section h2{font-size:43px}.names{font-size:23px;gap:12px;margin-top:35px}.media-links{grid-template-columns:1fr;gap:12px}.media-links>a{display:grid;grid-template-columns:40px 1fr;align-items:center;column-gap:14px}.media-links h3{margin:0;font-size:27px}.media-links>a>span:last-child{grid-column:2;margin-top:8px}.form-row{gap:18px}label{font-size:12px}.contact .email{font-size:32px}.socials{gap:20px;font-size:12px}footer{flex-wrap:wrap;justify-content:space-between;padding:28px 7%}footer p{order:3;width:100%;font-size:9px;letter-spacing:2px;text-align:center;margin-top:10px}.program-list article{gap:16px}.program-list h3{font-size:27px}.program-list p{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Refined identity and multi-page experience */
header .logo strong{font-family:Montserrat,Arial,sans-serif;font-weight:500;letter-spacing:.28em;font-size:30px}.wordmark{font-family:Montserrat,Arial,sans-serif;font-weight:900;letter-spacing:-.08em}.signature{font-family:'Great Vibes','Snell Roundhand',cursive}.tile-bottom{justify-content:center}.text-link span,.program-list button{display:none}header nav .active{border-color:var(--gold)}.floating-book{position:fixed;right:28px;bottom:28px;z-index:20;border:1px solid #d7ba8e;background:#725538;color:#fff7eb;padding:16px 25px;box-shadow:0 10px 30px #5c402944;letter-spacing:1.2px;text-transform:uppercase;font-size:12px}.floating-book:hover{background:#8b6843}.modal-backdrop{position:fixed;inset:0;z-index:40;background:#392b22aa;display:grid;place-items:center;padding:22px;backdrop-filter:blur(8px)}.booking-modal{width:min(680px,100%);max-height:92svh;overflow:auto;background:#f3e7d9;padding:34px;color:var(--ink);position:relative}.modal-close{position:absolute;right:23px;top:18px;background:transparent;border:0;color:var(--ink);font-size:30px}.booking-modal h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:42px;font-weight:400;margin:0 0 10px}.booking-modal>p{font-size:14px;margin-bottom:25px}.inner-page header{position:relative}.inner-page main{min-height:calc(100vh - 125px)}.inner-hero{padding:90px max(7%,calc((100% - 1180px)/2)) 75px}.inner-hero h1,.pin-screen h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(50px,7vw,92px);line-height:.98;font-weight:400;margin:0 0 24px}.inner-hero h1 em{font-weight:400;color:#a77a48}.inner-hero p{max-width:560px}.media-page{background:#ead9c8}.channel-grid,.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:0 auto;padding:0 5% 80px;gap:1px}.channel-grid>a{background:#675343;color:#f4e7d5;padding:38px;min-height:310px}.channel-grid h2,.resource-grid h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:35px;font-weight:400;margin:26px 0 12px}.channel-grid p{font-size:14px}.social-icon{display:block;width:47px;height:47px}.social-icon svg{width:100%;height:100%;fill:#eddbc3}.social-icon.instagram svg{fill:none;stroke:#eddbc3;stroke-width:1.7}.social-icon.instagram circle:not(.line){fill:#eddbc3;stroke:none}.youtube .cut{fill:#675343}.gallery-section,.songs{padding:80px max(7%,calc((100% - 1180px)/2));border-top:1px solid var(--line)}.gallery-section h2,.songs h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(43px,5vw,70px);font-weight:400;margin:0}.gallery-section h2 em,.songs h2 em{font-weight:400;color:var(--gold)}.gallery-placeholders{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px;gap:10px;margin-top:40px}.gallery-placeholders div{background:linear-gradient(145deg,#d8c2ab,#f1e3d3 47%,#cdb091 49%,#ead6c1);display:flex;align-items:end;padding:18px}.gallery-placeholders div:first-child{grid-row:1/3}.gallery-placeholders div:last-child{grid-column:2/4}.song-list{margin-top:35px}.song-list>div{display:grid;grid-template-columns:55px 1fr 1fr;border-top:1px solid var(--line);padding:24px 0;align-items:center}.song-list span,.song-list small{font-size:12px}.song-list strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;font-weight:400}.pin-screen{min-height:calc(100svh - 125px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:50px 20px;background:radial-gradient(circle at 50% 30%,#f8eddf,#e5d0bc)}.large-lock{width:48px;height:60px;stroke-width:.8;margin-bottom:25px}.pin-screen p{margin:0 0 25px}.pin-screen form{width:min(340px,100%)}.pin-screen label{position:absolute;left:-9999px}.pin-screen input{text-align:center;font-size:30px;letter-spacing:15px;padding-left:15px;margin-bottom:20px}.pin-screen .primary{display:block;text-align:center}.pin-screen #pin-error{color:#8c352f;font-size:13px;margin-top:13px}.resource-grid{grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:45px}.resource-grid article{background:#f2e5d6;border:1px solid var(--line);padding:28px;min-height:255px}.resource-grid article>span{font-size:11px}.resource-grid p{font-size:14px}.resource-grid button{border:0;border-bottom:1px solid var(--line);background:none;padding:8px 0;color:#8c755d}.logout{display:block;margin:0 auto 80px;border:1px solid var(--line);background:none;padding:13px 25px;color:var(--ink)}@media(max-width:650px){header .logo strong{font-size:25px}.floating-book{right:14px;bottom:14px;padding:14px 18px}.booking-modal{padding:30px 20px 22px}.booking-modal h2{font-size:36px}.inner-hero{padding:55px 7% 45px}.channel-grid,.resource-grid{grid-template-columns:1fr;padding:0 7% 55px}.channel-grid>a{min-height:220px;padding:28px}.gallery-section,.songs{padding:55px 7%}.gallery-placeholders{grid-template-columns:1fr 1fr;grid-template-rows:220px 150px 150px}.gallery-placeholders div:first-child{grid-column:1/3;grid-row:auto}.gallery-placeholders div:last-child{grid-column:auto}.song-list>div{grid-template-columns:35px 1fr}.song-list small{grid-column:2;margin-top:5px}.resource-grid article{min-height:210px}.pin-screen{min-height:calc(100svh - 95px)}}

[hidden]{display:none!important}
/* Unified DAR typography */
body{font-family:Montserrat,Arial,sans-serif}.logo,#menu span,.section h2,.program-list h3,.contact .email,.inner-hero h1,.pin-screen h1,.channel-grid h2,.resource-grid h2,.gallery-section h2,.songs h2,.song-list strong,.booking-modal h2{font-family:Montserrat,Arial,sans-serif}.section h2,.inner-hero h1,.pin-screen h1,.gallery-section h2,.songs h2{font-weight:500;letter-spacing:-.045em}.section h2 em,.inner-hero h1 em,.gallery-section h2 em,.songs h2 em{font-family:inherit;font-style:normal;font-weight:500}.program-list h3,.channel-grid h2,.resource-grid h2,.song-list strong,.booking-modal h2{font-weight:500;letter-spacing:-.025em}#menu span{font-weight:500;letter-spacing:-.03em}.contact .email{font-weight:500;letter-spacing:-.04em}.contact-socials{gap:18px;align-items:center}.contact-socials a{width:112px;min-height:94px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;transition:background .2s}.contact-socials a:hover{background:#f5e7d5}.contact-socials svg{width:28px;height:28px;fill:var(--ink)}.contact-socials .outline-icon{fill:none;stroke:var(--ink);stroke-width:1.7}.contact-socials .outline-icon .dot{fill:var(--ink);stroke:none}.contact-socials .play-cut{fill:var(--cream)}.contact-socials span{font-size:11px;letter-spacing:.5px}@media(max-width:650px){.contact-socials{gap:9px}.contact-socials a{width:94px;min-height:85px}.contact-socials svg{width:25px;height:25px}}

/* Booking confirmation replaces the form only after successful delivery. */
[data-booking-entry][hidden],[data-booking-success][hidden]{display:none!important}
[data-booking-entry]>p{font-size:14px;margin-bottom:25px}
.booking-modal.is-success{width:min(530px,100%);padding:46px 38px 36px;text-align:center}
.booking-like{width:154px;height:154px;margin:0 auto 25px;border-radius:50%;display:grid;place-items:center;color:#9b7548;background:radial-gradient(circle at 35% 25%,#fffaf1,#e6cdae);box-shadow:inset 0 0 0 1px #b899724d,0 12px 32px #80613e14;animation:dar-like-in .5s ease-out both}
.booking-like svg{width:109px;height:109px;transform:rotate(-8deg)}
.booking-success-eyebrow{font-size:10px;letter-spacing:2.4px;color:#9b7548;margin:0 0 14px}
.booking-success h2{font-size:clamp(34px,7vw,46px);margin:0 0 14px;outline:none}
.booking-success-message{font-size:14px;line-height:1.8;margin:0 auto 28px;max-width:350px}
.booking-success-close{justify-content:center;max-width:270px;margin:auto}
@keyframes dar-like-in{from{opacity:0;transform:translateY(12px) scale(.8) rotate(-12deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@media(max-width:650px){.booking-modal.is-success{padding:40px 24px 28px}.booking-like{width:132px;height:132px;margin-bottom:22px}.booking-like svg{width:96px;height:96px}}
@media(prefers-reduced-motion:reduce){.booking-like{animation:none}}
/* Keep the booking field focus ring inside its box and clear of the label. */
.booking-modal input,.booking-modal textarea{margin-top:7px;padding:12px 10px;border-radius:4px;outline-offset:-2px}
.booking-modal input:focus,.booking-modal textarea:focus{outline:2px solid #9b7548;outline-offset:-2px;border-bottom-color:#9b7548;background:#fff8ed66}
@media(forced-colors:active){.booking-modal input:focus,.booking-modal textarea:focus{outline-color:Highlight}}
