:root{--bg:#121014;--panel:#19161b;--ink:#f2ece4;--muted:#b8b0b8;--gold:#d9b67c;--line:#ffffff24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.preview{background:#28212b;color:#e2d1b8;font-size:10px;letter-spacing:1.7px;text-align:center;padding:7px 20px}.preview span{margin-left:25px;color:#c5bec7;letter-spacing:.4px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--gold);color:#17131b;padding:15px}.skip:focus{top:10px}header{display:flex;justify-content:space-between;align-items:center;padding:23px 5.5%;background:#121014f5;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{font:italic 27px Georgia,serif;line-height:1}.brand i,.footer-brand i{font-size:.65em;color:var(--gold)}.brand span{display:block;font:7px Arial;letter-spacing:1.5px;margin-top:10px}nav{display:flex;align-items:center;gap:30px;font-size:12px}nav a:hover,.text-link:hover{color:var(--gold)}.nav-cta{padding:11px 17px;border:1px solid #d9b67c80}.nav-cta span{margin-left:18px;color:var(--gold)}.menu{display:none}.hero{overflow:hidden;position:relative;min-height:760px;background:radial-gradient(ellipse at 3% 25%,#572d251f,transparent 50%),radial-gradient(ellipse at 93% 5%,#7d30402b,transparent 50%),#0d0c0f}.hero-inner{position:relative;z-index:1;text-align:center;max-width:900px;margin:auto;padding:68px 24px 70px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600;color:var(--gold);margin:0 0 22px}.hero-logo{display:block;max-width:610px;width:80%;height:auto;margin:30px auto 28px}.hero h1{font:normal clamp(38px,4.4vw,66px)/1.1 Georgia,serif;letter-spacing:-1.7px;margin:20px 0}.hero h1 em,h2 em{color:var(--gold);font-weight:400}.hero-copy{max-width:510px;margin:23px auto 30px;color:#c0b8c1;font-size:15px}.hero-actions{display:flex;justify-content:center;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--gold);background:var(--gold);color:#19141b;padding:14px 24px;font-size:12px;font-weight:600;transition:background .2s}.button:hover{background:#efd09b}.text-link{font-size:12px;border-bottom:1px solid #a48a60;padding-bottom:5px}.hero-bottom{position:relative;z-index:1;border-top:1px solid var(--line);margin:0 5.5%;padding:22px 0;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.4px;color:var(--muted)}.hero-bottom a{letter-spacing:0;text-align:right}.hero-bottom b{display:block;color:var(--ink);font-size:12px;font-weight:400}.beam{position:absolute;top:-200px;width:250px;height:1000px;filter:blur(26px);opacity:.24;transform-origin:top;background:linear-gradient(#e2aa65aa,transparent 85%);clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);pointer-events:none}.beam.one{left:4%;transform:rotate(-25deg)}.beam.two{right:4%;transform:rotate(25deg)}.section{padding:90px 8.5%}.section-top{display:flex;justify-content:space-between;align-items:start;border-top:1px solid var(--line);padding-top:25px;margin-bottom:40px}.fine{font:italic 15px Georgia;color:var(--muted)}h2{font:normal clamp(32px,3.7vw,53px)/1.15 Georgia,serif;letter-spacing:-1px;margin:0 0 30px}h3{font-weight:400}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:start}.lead{font-size:18px;line-height:1.6;margin-top:0}.prose p:not(.lead){font-size:14px;color:var(--muted)}.names{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:40px;padding:17px 0}.names span{padding:9px 22px 9px 0;margin-right:20px;font-size:13px;color:#d8cfd9}.statement{display:flex;align-items:center;gap:55px;padding:65px 0 0}.ornament{font:150px Georgia;color:var(--gold);line-height:1}.statement>p{font:35px/1.25 Georgia;margin:0}.statement>p em{color:var(--gold)}.statement>div{margin-left:auto;font-size:13px;color:var(--muted)}.statement .eyebrow{font-size:9px}.offers{background:#1b171d}.occasion-list{margin-top:25px}.occasion-list article{display:flex;gap:30px;border-top:1px solid var(--line);padding:26px 0}.occasion-list article>span:first-child{font-size:11px;color:var(--gold);padding-top:6px}.occasion-list h3{font:25px Georgia;margin:0 0 9px}.occasion-list p{font-size:13px;color:var(--muted);margin:0;max-width:610px}.occasion-list article>span:last-child{margin-left:auto;color:var(--gold);font-size:23px}.formation{border-top:1px solid var(--line);margin-top:12px;padding-top:33px;display:flex;align-items:center;gap:30px;justify-content:space-between}.formation p{margin:0;font-size:13px}.formation .eyebrow{font-size:9px;margin-bottom:8px}.formation-buttons{display:flex;gap:8px;flex-wrap:wrap}.formation-buttons button{border:1px solid #76624d;background:transparent;padding:10px 14px;color:var(--ink);font-size:11px}.formation-buttons button:hover{background:var(--gold);color:var(--bg)}.production{position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 100%,#6a42302e,transparent 70%),#241a20;padding-top:85px;padding-bottom:90px}.production h2,.production>p,.production>a{position:relative;z-index:1}.production>p:not(.eyebrow){font-size:14px;color:#c9bdc5;max-width:580px;margin-bottom:28px}.production-word{position:absolute;right:-20px;bottom:-35px;font:italic 190px Georgia;color:#d9b67c08;pointer-events:none}.dates h2{margin-bottom:45px}.event{border-top:1px solid var(--line);padding:28px 0;display:flex;align-items:center;gap:44px}.event:last-child{border-bottom:1px solid var(--line)}time{min-width:75px;text-align:center}time b{font:45px Georgia;display:block;line-height:1.1;color:var(--gold)}time span{font-size:9px;letter-spacing:1.7px}.event-type{font-size:9px;letter-spacing:1.7px;color:var(--gold)}.event h3{font:25px Georgia;margin:8px 0}.event p{font-size:12px;color:var(--muted);margin:0}.event-note{margin-left:auto;font-size:11px;color:var(--muted)}.contact{background:#1c181f}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.contact-grid>div>p{font-size:14px;color:var(--muted);max-width:350px}.contact-person{margin-top:40px}.contact-person h3{font:24px Georgia;margin:0 0 8px}.contact-person .eyebrow{font-size:9px;margin-bottom:13px}address{font-style:normal;font-size:13px;color:var(--muted)}.draft-note{font-size:11px!important;border-left:2px solid #8a704c;padding-left:14px;margin-top:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;color:#d6cdd7;margin-bottom:18px}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #ffffff2d;background:#151217;color:var(--ink);border-radius:0;padding:13px 12px;font-size:12px;color-scheme:dark}input::placeholder,textarea::placeholder{color:#9a909f}textarea{resize:vertical}.form-help{font-size:10px;color:var(--muted);margin:0 0 20px}#form-status{font-size:13px;color:var(--gold);white-space:pre-line}footer{padding:48px 5.5% 25px;display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:30px}.footer-brand{font:italic 30px Georgia}.footer-brand span{display:block;font:7px Arial;letter-spacing:1.6px;margin-top:12px}.footer-links{display:flex;gap:24px;font-size:11px}.footer-links button{background:none;border:0;color:var(--ink);font:inherit;padding:0}footer>p{width:100%;border-top:1px solid var(--line);padding-top:22px;font-size:10px;color:var(--muted);margin-bottom:0}footer>p span{float:right}dialog{background:#201a23;color:var(--ink);border:1px solid #927345;max-width:620px;width:90%;padding:40px;font-size:14px}dialog::backdrop{background:#000b}dialog h2{font-size:30px}dialog .close{float:right;background:none;color:var(--ink);border:0;font-size:28px}.menu{background:transparent;color:var(--ink);border:1px solid var(--line);padding:8px 12px;font-size:12px}
@media(min-width:1600px){.section{padding-left:max(8.5%,calc((100% - 1250px)/2));padding-right:max(8.5%,calc((100% - 1250px)/2))}}@media(max-width:900px){nav{gap:16px}.brand{font-size:23px}.brand span{font-size:6px}.section{padding:65px 6%}.formation{align-items:start;flex-direction:column}.hero{min-height:720px}.hero-inner{padding-top:55px}.contact-grid{gap:6%}.statement{gap:30px}}@media(max-width:650px){.preview{font-size:8px}.preview span{display:block;margin-left:0;margin-top:2px;font-size:9px}header{padding:19px 6%}.menu{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#18141c;padding:24px 6%;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{min-height:0}.hero-inner{padding:45px 20px}.hero-logo{width:100%;margin:38px auto}.hero h1{font-size:40px}.hero-copy{font-size:14px}.hero-actions{flex-direction:column;gap:20px}.hero-bottom{align-items:start;gap:20px}.hero-bottom>span{max-width:140px;font-size:8px}.hero-bottom b{font-size:11px}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:15px}.section-top{margin-bottom:30px}.section-top .fine{display:none}.names{margin-top:25px}.names span{padding:8px 10px 8px 0;margin-right:10px;font-size:12px}.statement{flex-wrap:wrap;padding-top:40px;gap:25px}.ornament{font-size:110px}.statement>p{font-size:30px}.statement>div{margin-left:0;width:100%}.occasion-list article{gap:17px}.occasion-list h3{font-size:22px}.event{gap:20px;flex-wrap:wrap}.event>div{flex:1;min-width:190px}.event h3{font-size:22px}.event-note{margin-left:95px;margin-top:-10px;font-size:10px}.event-type{font-size:8px}time{min-width:65px}time b{font-size:40px}.contact-grid form{margin-top:20px}.form-row{gap:12px}.footer-links{width:100%}footer>p span{display:block;float:none;margin-top:9px}.production-word{font-size:120px}h2{font-size:37px}.lead{font-size:17px}.hero .eyebrow{font-size:9px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Photographs and ensemble portraits */
.hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;opacity:.42}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0d0c0fc9,#0d0c0f70,#0d0c0fb8),linear-gradient(0deg,#0d0c0f 0%,transparent 60%,#0d0c0f60)}.stage-panorama{padding:0 8.5%;background:#0d0c0f}.stage-panorama figure{margin:0}.stage-panorama .photo-open{width:100%;aspect-ratio:2.45}.stage-panorama img{object-position:center 47%}.stage-panorama figcaption{padding:14px 0 25px;font-size:11px;letter-spacing:1px;color:var(--gold)}.photo-open{position:relative;display:block;background:#100e12;border:0;color:var(--ink);padding:0;overflow:hidden;width:100%;text-align:left}.photo-open img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s}.photo-open:hover img{transform:scale(1.025)}.photo-expand{position:absolute;bottom:12px;right:12px;width:30px;height:30px;border:1px solid #ead9bd80;background:#0d0c0f99;display:grid;place-items:center;color:#f3dfbd;font-size:17px}.artist-heading{margin-top:48px;padding-top:30px;border-top:1px solid var(--line)}.artist-heading .eyebrow{margin-bottom:12px}.artist-heading h3{font:28px Georgia;margin:0 0 28px}.artist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}.artist .photo-open{aspect-ratio:4/5}.artist img{object-position:center 25%;}.artist-nina img{object-position:center 13%;transform:scale(1.2);transform-origin:center 17%}.artist-nina .photo-open:hover img{transform:scale(1.23)}.artist-christian img{transform:scale(1.15);transform-origin:center 25%}.artist-christian .photo-open:hover img{transform:scale(1.18)}.artist-daniel img{transform:scale(1.18);transform-origin:center 20%}.artist-daniel .photo-open:hover img{transform:scale(1.21)}.artist-david img{transform:scale(1.17);transform-origin:center 24%}.artist-david .photo-open:hover img{transform:scale(1.2)}.artist h3{font:19px/1.3 Georgia;margin:14px 0 4px;overflow-wrap:break-word}.artist p{font-size:11px;color:var(--gold);margin:0}.production-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;position:relative;z-index:1;align-items:center}.production-grid>div>p:not(.eyebrow){font-size:14px;color:#c9bdc5;margin-bottom:28px}.production-grid figure{margin:0}.production-grid .photo-open{aspect-ratio:4/4.3}.production-grid img{object-position:45% center}.production-grid figcaption{font-size:10px;color:var(--muted);margin-top:12px}.wedding{background:#eee6dc;color:#241d23}.wedding .section-top{border-color:#30252f30}.wedding .eyebrow{color:#70522b}.wedding .fine{color:#705e6b}.wedding h2 em{color:#87632e}.wedding .intro-grid>div>p:not(.lead){font-size:14px;color:#635861}.wedding .text-link:hover{color:#70522b}.wedding-photos{margin-top:35px;display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:end}.wedding-photos figure{margin:0}.wedding-main .photo-open{aspect-ratio:1.5}.wedding-detail .photo-open{aspect-ratio:1.5}.wedding-photos figcaption{font-size:11px;margin-top:12px;color:#635861}.gallery-section{background:#151217}.gallery-intro{font-size:14px;color:var(--muted);max-width:530px;margin:-10px 0 35px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.photo-grid figure{margin:0;min-width:0}.photo-grid .photo-open{aspect-ratio:4/4.5}.photo-grid figcaption{font-size:11px;color:var(--muted);padding-top:12px}.gallery-quartett{grid-column:span 2}.gallery-quartett .photo-open{aspect-ratio:8.3/4.5}.gallery-weinherbst{grid-column:span 2}.gallery-weinherbst .photo-open{aspect-ratio:8.3/4.5}.gallery-nina-show img{object-position:center 20%}.gallery-duett img{object-position:55% 20%}.gallery-nonnen-quartett img{object-position:50% center}.gallery-kinderfest{grid-column:span 2}.gallery-kinderfest .photo-open{aspect-ratio:8.3/4.5}.gallery-david-show img{object-position:center 20%}#photo-viewer{max-width:1100px;width:94vw;max-height:94dvh;padding:15px 20px 12px;background:#0f0c12;border-color:#7b6244;overflow:auto}#photo-viewer::backdrop{background:#08060bf2}.photo-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.photo-toolbar button{background:#221c28;color:var(--ink);border:1px solid #ffffff35;width:38px;height:38px;font-size:19px}.photo-toolbar .photo-close{margin-left:auto;font-size:28px}#photo-count{font-size:11px;color:var(--muted)}#photo-full{display:block;max-width:100%;width:auto;height:auto;max-height:73dvh;object-fit:contain;margin:auto}#photo-caption{text-align:center;font-size:12px;color:#dfd3df;margin:12px 0 0}body.photo-dialog-open{overflow:hidden}
@media(min-width:1600px){.stage-panorama{padding-left:max(8.5%,calc((100% - 1250px)/2));padding-right:max(8.5%,calc((100% - 1250px)/2))}}@media(max-width:1000px){nav{gap:15px;font-size:11px}.brand{font-size:22px}.artist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.production-grid{gap:5%}}@media(max-width:760px){header .menu{display:block}header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#18141c;padding:24px 6%;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}header nav.open{display:flex}.stage-panorama{padding:0 6%}.stage-panorama .photo-open{aspect-ratio:1.5}.stage-panorama figcaption{font-size:10px}.artist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.artist h3{font-size:18px}.production-grid{grid-template-columns:1fr;gap:30px}.production-grid .photo-open{aspect-ratio:1.4}.production-grid img{object-position:center 42%}.wedding-photos{grid-template-columns:1fr;gap:28px}.wedding-detail{max-width:400px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 15px}.gallery-quartett,.gallery-kinderfest,.gallery-weinherbst{grid-column:span 2}.photo-grid .gallery-kinderfest .photo-open,.photo-grid .gallery-quartett .photo-open,.photo-grid .gallery-weinherbst .photo-open{aspect-ratio:1.5}.photo-grid .gallery-nonnen-quartett{grid-column:span 2}.photo-grid .gallery-nonnen-quartett .photo-open{aspect-ratio:1.5}.hero-backdrop{object-position:center}.hero-shade{background:linear-gradient(0deg,#0d0c0f,transparent 90%),#0d0c0f95}}@media(prefers-reduced-motion:reduce){.photo-open:hover img{transform:none}.artist .photo-open:hover img{transform:none}}
.gallery-wide{grid-column:span 2}.photo-grid .gallery-wide .photo-open{aspect-ratio:8.3/4.5}.gallery-gala-ensemble img{object-position:center 47%}.gallery-theater-duett img{object-position:center 32%}.gallery-weisse-figur img,.gallery-blaues-solo img{object-position:center 40%}.gallery-historisches-duett img{object-position:center 18%}.gallery-show-zylinder img,.gallery-show-meerjungfrau img,.gallery-show-charakter img{object-position:center 22%}@media(max-width:760px){.photo-grid .gallery-wide .photo-open{aspect-ratio:1.5}}
.gallery-nina-spielfreude img{object-position:center 20%}.gallery-nadine-show img{object-position:53% 38%}.gallery-simone-gold img{object-position:center 20%}.gallery-maenner-duo img{object-position:center 30%}.gallery-zusammenhalt img,.gallery-finale img{object-position:center 42%}
.gallery-solo-historisch img{object-position:center 20%}.gallery-duett-hellblau img{object-position:center 25%}.gallery-duett-rosa img{object-position:center 25%}.gallery-solo-gold-gestik img{object-position:center 23%}
.gallery-rock-ensemble img{object-position:center 20%}.gallery-retro-szene img{object-position:center 25%}.gallery-fantasie-solo img{object-position:center 30%}.gallery-zwei-stimmen-bunt img{object-position:center 25%}
/* Pack smaller photographs into free cells and align image/caption rows. */
.photo-grid{grid-auto-flow:row dense;container-type:inline-size;--gallery-photo-height:clamp(180px,calc((100cqw - 44px)*.375),440px)}
.photo-grid .photo-open{height:var(--gallery-photo-height);aspect-ratio:auto}
.photo-grid figcaption{min-height:3.8em;line-height:1.5}
@media(max-width:760px){
 .photo-grid{--gallery-photo-height:clamp(155px,calc((100cqw - 15px)*.5625),420px)}
 .photo-grid .gallery-zwei-stimmen-bunt{grid-column:span 2}
 .photo-grid .gallery-quartett .photo-open,.photo-grid .gallery-kinderfest .photo-open,.photo-grid .gallery-weinherbst .photo-open,.photo-grid .gallery-nonnen-quartett .photo-open,.photo-grid .gallery-wide .photo-open{aspect-ratio:auto}
}
/* Frame both singers, rather than the empty curtain above their heads. */
.photo-grid .gallery-zwei-stimmen-bunt img{object-position:center 65%}
@media(max-width:760px){
 .photo-grid .gallery-zwei-stimmen-bunt img{object-fit:contain;object-position:center;transform:scale(1.3);transform-origin:center 75%}
 .photo-grid .gallery-zwei-stimmen-bunt .photo-open:hover img{transform:scale(1.3)}
}
.photo-grid .song-title,.stage-panorama .song-title{display:block;font-weight:500;color:var(--ink);font-size:12px}
.photo-grid .song-work,.stage-panorama .song-work{display:block;margin-top:3px;font-size:10px;letter-spacing:.2px;color:var(--gold)}
.photo-grid figcaption{min-height:4.8em}
.gallery-song-daniel img{object-position:center 25%}.gallery-song-nina img{object-position:center 12%}.gallery-song-simone img{object-position:center 18%}
@media(max-width:760px){.photo-grid .gallery-daniel-solo-buehne{grid-column:span 2}.gallery-daniel-solo-buehne img{object-position:57% center}}

/* Personal introductions share the portrait cards without stretching every card. */
.artist-grid{align-items:start}
.artist-bio{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}
.artist-bio summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;color:var(--gold);font-size:12px}
.artist-bio summary::-webkit-details-marker{display:none}
.artist-bio summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.artist-bio summary span{font-size:19px;line-height:1;transition:transform .2s}
.artist-bio[open] summary span{transform:rotate(45deg)}
.artist .artist-bio-copy p{font-size:12px;line-height:1.7;color:var(--muted);margin:14px 0 0}
.artist .artist-bio-copy .artist-typical{border-left:2px solid var(--gold);padding-left:12px;color:var(--ink)}
.artist-typical strong{display:block;color:var(--gold);font-weight:500}
.artist-website{display:inline-block;margin-top:17px}
.artist .artist-bio-pending{margin-top:15px;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:var(--muted);font-style:italic}
@media(max-width:760px){.artist .artist-bio-copy p{font-size:12px}.artist-bio summary{font-size:12px}}

/* A short gallery preview keeps the inquiry within easy reach. */
.photo-grid.is-collapsible:not(.is-expanded)>figure{display:none}
.photo-grid.is-collapsible:not(.is-expanded)>figure[data-preview]{display:block;grid-column:span 1}
.gallery-actions{display:flex;justify-content:center;margin-top:32px}
.gallery-toggle[hidden]{display:none}
.nav-cta{background:var(--gold);color:#19141b;border-color:var(--gold);font-weight:600}
nav .nav-cta:hover{background:#efd09b;color:#19141b}
.nav-cta span{color:inherit}
.mobile-booking{display:none}
.hero-actions .button{padding:17px 30px;font-size:14px;box-shadow:0 6px 26px #0005}
@media(max-width:760px){
 .photo-grid.is-collapsible:not(.is-expanded)>figure[data-preview="desktop"]{display:none}
 header{gap:8px;padding-left:4%;padding-right:4%}
 header .brand{font-size:18px;flex:1;min-width:0}
 header .brand span{font-size:5px;letter-spacing:.7px}
 .mobile-booking{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 11px;background:var(--gold);color:#19141b;font-size:10px;font-weight:600;white-space:nowrap}
 header .menu{padding:8px;font-size:10px;min-height:40px}
 header .menu span{display:none}
 .gallery-toggle{min-height:48px}
}

/* Shared services introduce a compact grid of occasions. */
.occasion-intro .occasion-theme{color:var(--gold);font-size:13px;margin:0 0 12px}
.occasion-intro .lead{font-size:17px;margin-bottom:12px}
.occasion-intro .lead strong{font-weight:500;color:var(--ink)}
.occasion-intro>p:last-child{font-size:13px;color:var(--muted);margin:0}
.occasion-list.occasion-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin-top:30px}
.occasion-cards article{margin:0;padding:22px;gap:16px;border:1px solid var(--line);background:#ffffff02;min-width:0}
.occasion-cards h3{font-size:22px;line-height:1.25;margin-bottom:10px}
.occasion-cards p{font-size:13px;line-height:1.65}
.occasion-cards .occasion-number{flex:none;font-size:10px;color:var(--gold);padding-top:3px}
.offers .formation{margin-top:24px;padding-top:24px}
@media(max-width:650px){.occasion-list.occasion-cards{grid-template-columns:1fr;gap:12px}.occasion-cards article{padding:20px}.occasion-cards h3{font-size:21px}}

/* Headline-only occasions reveal their descriptions on demand. */
.occasion-accordion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin-top:24px;align-items:start}
.occasion-item{border-top:1px solid var(--line);min-width:0}
.occasion-item:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
.occasion-item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:66px;padding:17px 0;list-style:none;cursor:pointer;font:21px/1.3 Georgia,serif}
.occasion-item summary::-webkit-details-marker{display:none}
.occasion-item summary:hover{color:var(--gold)}
.occasion-item summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.occasion-toggle-icon{flex:none;color:var(--gold);font:22px/1 Arial,sans-serif;transition:transform .2s}
.occasion-item[open] .occasion-toggle-icon{transform:rotate(45deg)}
.occasion-item>p{font-size:13px;color:var(--muted);margin:0 0 18px;max-width:610px;line-height:1.65}
@media(max-width:650px){.occasion-accordion{grid-template-columns:1fr;margin-top:18px}.occasion-item summary{font-size:20px;min-height:62px;padding:16px 0}.occasion-item:nth-last-child(2){border-bottom:0}}

/* Booking has its own contrast and frame, distinct from the gold utility buttons. */
header .booking-cta,.hero-actions .booking-cta{position:relative;background:#fff6e7;color:#171219;border:2px solid #171219;outline:1px solid var(--gold);outline-offset:3px;box-shadow:0 4px 16px #0005;letter-spacing:.25px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s}
header .booking-cta span,.hero-actions .booking-cta span{color:#171219}
header .booking-cta:hover,.hero-actions .booking-cta:hover{background:#fffdf8;color:#171219;transform:translateY(-2px);box-shadow:0 7px 24px #d9b67c35}
header .booking-cta:focus-visible,.hero-actions .booking-cta:focus-visible{outline:3px solid #fff;outline-offset:5px}
header .booking-cta:active,.hero-actions .booking-cta:active{transform:translateY(0);box-shadow:0 2px 8px #0005}
@media(prefers-reduced-motion:reduce){header .booking-cta,.hero-actions .booking-cta{transition:none}header .booking-cta:hover,.hero-actions .booking-cta:hover{transform:none}}

/* Quiet, familiar controls: plus/minus for disclosure, a loupe for photographs. */
.artist-bio summary .disclosure-icon,.occasion-item summary .disclosure-icon{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;font:22px/1 Arial,sans-serif;color:var(--gold);transform:none;transition:none}
.disclosure-icon::before{content:"+"}
.artist-bio[open] .disclosure-icon::before,.occasion-item[open] .disclosure-icon::before{content:"−"}
.artist-bio[open] summary .disclosure-icon,.occasion-item[open] .disclosure-icon{transform:none}
.photo-expand svg{display:block}

.location-partners{margin-top:22px;border:1px solid #d9b67c60;padding:0 18px;background:#d9b67c06}
.location-partners summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:17px 0;color:var(--gold);font-size:14px;line-height:1.45}
.location-partners summary::-webkit-details-marker{display:none}
.location-partners summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.location-partners .disclosure-icon{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;font:22px/1 Arial,sans-serif}
.location-partners[open] .disclosure-icon::before{content:"−"}
.location-partners>div{padding-bottom:20px;max-width:740px}
.location-partners p{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 14px}

/* One compact wedding image at a time, beside the introduction. */
.wedding-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.wedding-copy>p:not(.lead){font-size:14px;color:#635861;margin:0 0 20px}
.wedding-slider{width:100%;max-width:480px;min-width:0;justify-self:end}
.wedding-viewport{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:2px;overscroll-behavior-x:contain}
.wedding-viewport::-webkit-scrollbar{display:none}
.wedding-viewport>figure{flex:0 0 100%;min-width:0;max-width:none;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.wedding-slider .photo-open{aspect-ratio:3/2}
.wedding-slider figcaption{font-size:11px;line-height:1.5;color:#635861;padding:10px 0;min-height:3.4em}
.wedding-slide-controls{display:flex;justify-content:center;gap:20px;margin-top:8px}
.wedding-slide-controls button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#635861;padding:10px 2px;min-height:44px;font-size:11px}
.wedding-slide-controls button[aria-pressed="true"]{color:#332417;font-weight:600}
.slide-dot{width:8px;height:8px;border-radius:50%;border:1px solid #87632e;display:inline-block}
[aria-pressed="true"]>.slide-dot{background:#87632e}
@media(max-width:760px){.wedding-layout{grid-template-columns:1fr;gap:28px}.wedding-slider{justify-self:center;max-width:420px}.wedding-copy h2{margin-bottom:20px}}

#form-status{white-space:normal}#form-status p{line-height:1.65}#form-status label{margin-top:22px}#form-status textarea{min-height:190px}.inquiry-copy{border:1px solid var(--gold);background:transparent;color:var(--ink);padding:10px 16px;font-size:12px}.inquiry-copy:hover{background:#d9b67c18}

/* Standalone legal pages */
.legal-main{max-width:900px;margin:0 auto;padding:65px 28px 90px;overflow-wrap:anywhere}.legal-main h1{font:clamp(34px,6vw,58px)/1.15 Georgia,serif;margin:0 0 32px}.legal-main h2{font:25px/1.35 Georgia,serif;margin:36px 0 15px}.legal-main p,.legal-main address{font-size:15px;color:var(--muted);line-height:1.85}.legal-main address{font-style:normal}.legal-main a,.form-help a{text-decoration:underline;text-underline-offset:3px}.legal-main a{color:var(--gold)}.legal-main .eyebrow,.legal-main .legal-date{font-size:11px}.legal-home{font-size:12px;white-space:nowrap}.legal-page .footer-links{position:static;gap:20px}.legal-page footer{border-top:1px solid var(--line)}@media(max-width:600px){.legal-page header{gap:20px;padding:20px}.legal-page .brand{font-size:23px}.legal-main{padding:40px 22px 65px}.legal-main p,.legal-main address{font-size:14px}.legal-main h2{font-size:23px}.legal-page .footer-links{display:flex;flex-wrap:wrap}}
.legal-page .brand span{font-size:6px;letter-spacing:.75px}.legal-page .footer-links{padding:0;background:none;width:auto}.legal-page .footer-links a{white-space:nowrap}@media(max-width:600px){.legal-page header{gap:12px}.legal-home{font-size:11px}}
