:root{--ink:#111315;--paper:#f4f0e8;--ivory:#e6dfd2;--muted:#b7b9ba;--gold:#b99a5a;--violet:#9c79e8;--line:rgba(244,240,232,.18);font-family:"Avenir Next",Avenir,Arial,sans-serif;color:var(--paper);background:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:var(--gold);color:var(--ink)}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;background:var(--gold);padding:.7rem 1rem;color:var(--ink)}.skip-link:focus{top:1rem}
.site-header{height:84px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:30;background:var(--ink)}.wordmark{display:flex;align-items:center;gap:.8rem;font-size:1.1rem;font-weight:850;letter-spacing:.055em;line-height:1}.wordmark small{display:block;color:var(--muted);font-size:.5rem;letter-spacing:.24em;margin-top:.52rem}.wordmark-icon{font-family:Georgia,serif;font-size:1.95rem;font-style:italic;letter-spacing:-.12em;color:var(--paper)}.wordmark-icon span{color:var(--gold)}.primary-nav{display:flex;align-items:center;gap:2.5rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:750}.primary-nav>a:not(.nav-contact){transition:color .2s}.primary-nav>a:not(.nav-contact):hover{color:var(--gold)}.nav-contact{padding:.9rem 1.15rem;border:1px solid var(--gold);display:flex;gap:2rem;align-items:center}.nav-contact:hover{background:var(--gold);color:var(--ink)}.menu-toggle{display:none}
.hero{min-height:min(740px,calc(100vh - 84px));display:grid;grid-template-columns:55% 45%;overflow:hidden}.hero-copy{display:flex;flex-direction:column;padding:6.7vw 5.5vw 2.5rem 7vw;position:relative;z-index:2}.eyebrow,.kicker{font-size:.68rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}.eyebrow{display:flex;align-items:center;gap:.9rem}.eyebrow .line{width:31px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600;letter-spacing:-.065em}h1{font-size:clamp(4.3rem,7.5vw,8.8rem);line-height:.95;max-width:850px;margin:2.5rem -11vw 2rem 0;z-index:2}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.085em;color:var(--gold)}.hero-copy>p{color:#c7c8c6;max-width:27rem;font-size:1.04rem;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:1.4rem}.button{min-height:52px;padding:1rem 1.4rem;display:inline-flex;align-items:center;justify-content:space-between;gap:2.7rem;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;font-weight:850;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-gold{background:var(--gold);color:var(--ink)}.button-gold:hover{background:#d1b274}.text-link{font-size:.79rem;letter-spacing:.08em;text-transform:uppercase;font-weight:750;border-bottom:1px solid currentColor;padding-bottom:.55rem;display:inline-flex;gap:1.7rem}.text-link:hover{color:var(--gold)}.hero-bottom{display:flex;justify-content:space-between;gap:1rem;color:#9da0a1;margin-top:auto;padding-top:4rem;font-size:.58rem;font-weight:750;letter-spacing:.2em}.hero-visual{position:relative;overflow:hidden;background:#362b43}.hero-visual>img{width:100%;height:100%;object-fit:cover;filter:none;transform:scale(1.07);animation:hero-settle 1.8s ease-out forwards}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,19,21,.35),transparent 45%),linear-gradient(0deg,rgba(17,19,21,.6),transparent 30%)}.hero-orbit{position:absolute;z-index:2;width:190px;height:190px;right:7%;top:9%;border:1px solid rgba(244,240,232,.5);border-radius:50%;display:grid;place-items:center;transform:rotate(-16deg)}.hero-orbit:after{content:"✳";font-size:3.5rem;color:var(--gold)}.hero-orbit span{position:absolute;top:1rem;left:1.6rem;font-size:.52rem;letter-spacing:.16em;font-weight:800}.hero-visual-label{position:absolute;z-index:2;bottom:2.7rem;left:2.7rem;font-size:.63rem;letter-spacing:.22em;font-weight:800;display:flex;align-items:center;gap:.6rem}.pulse{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(185,154,90,.16)}.light-cue{position:absolute;z-index:3;inset:-50%;background:linear-gradient(108deg,transparent 44%,rgba(244,240,232,.13) 50%,transparent 56%);transform:translateX(-100%);animation:light-sweep 1.7s ease-out .3s 1 forwards;pointer-events:none}@keyframes light-sweep{to{transform:translateX(100%)}}@keyframes hero-settle{to{transform:scale(1)}}
.intro-band{display:flex;align-items:center;gap:2rem;background:var(--gold);color:var(--ink);padding:1.1rem 4.5vw;font-size:.69rem;font-weight:850;letter-spacing:.22em}.intro-band-line{height:1px;background:rgba(17,19,21,.45);flex:1}.intro-band .star{font-size:1.8rem;line-height:0}
.section{padding:8rem 7vw}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.section-heading>p{max-width:18rem;color:#adb0ae;line-height:1.65;font-size:1rem;margin-bottom:.7rem}h2{font-size:clamp(3.5rem,6vw,6.2rem);line-height:1.04;margin:.8rem 0 0}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.event-card{min-height:480px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;background:#282b2f}.event-card:before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.35) brightness(.48);transition:transform .55s ease,filter .55s ease}.event-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.92),transparent 75%)}.event-card:hover:before,.event-card:focus-visible:before{transform:scale(1.055);filter:grayscale(0) brightness(.65)}.card-private:before{background-image:url('assets/private-celebration-enhanced.jpg');filter:grayscale(.1) brightness(.6)}.card-corporate:before{background-image:url('assets/dancefloor.jpg')}.card-venues:before{background-image:url('assets/crowded-dancefloor.jpg');background-size:auto 125%;background-position:center bottom}.card-top,.card-bottom{position:relative;z-index:1}.card-top{display:flex;justify-content:space-between;color:#eee;font-size:.76rem;font-weight:800}.card-top span:last-child{font-size:1.3rem}.card-bottom p{font-size:.59rem;letter-spacing:.18em;color:#d9c092;font-weight:850;margin-bottom:.65rem}.card-bottom h3{font-size:clamp(2.1rem,3vw,3.7rem);line-height:1.02;margin:0 0 1.2rem}.card-bottom>span{display:block;color:#d1d0cc;line-height:1.5;font-size:.89rem;max-width:16rem}.wedding-link{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid var(--line);padding:2rem 0 1.7rem;margin-top:1rem}.wedding-glyph{font-size:2.6rem;color:var(--gold)}.wedding-link small{font-size:.6rem;letter-spacing:.18em;color:var(--gold);font-weight:800;display:block;margin-bottom:.35rem}.wedding-link strong{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:1.5rem}.wedding-arrow{margin-left:auto;font-size:1.4rem}.wedding-link:hover .wedding-arrow{transform:translate(3px,-3px)}
.approach-section{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#e7e1d6;color:var(--ink)}.approach-copy h2 em{color:#927340}.approach-copy>p:not(.kicker){font-size:1.18rem;line-height:1.75;max-width:33rem;color:#444746;margin:2.5rem 0 3rem}.note-line{border-top:1px solid #c2b9a8;padding-top:1.2rem;font-size:.7rem;font-weight:850;letter-spacing:.15em;display:flex;align-items:center;gap:.7rem}.note-line span{font-size:2rem;color:#977a42;line-height:0}.approach-feature{align-self:center;min-height:460px;background:#16191b;color:var(--paper);padding:2.2rem;display:flex;flex-direction:column;overflow:hidden}.feature-no,.feature-foot{font-size:.6rem;letter-spacing:.2em;font-weight:850;color:#aaa}.mood-tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line);margin-top:2.7rem;overflow-x:auto}.mood-tabs button{border:0;background:transparent;color:#aaa;padding:.9rem .9rem .9rem 0;margin-right:1.2rem;white-space:nowrap;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;cursor:pointer;border-bottom:2px solid transparent}.mood-tabs button[aria-selected="true"]{border-bottom-color:var(--gold);color:var(--paper)}.mood-panel{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2rem}.mood-panel strong{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(2rem,3vw,3rem);line-height:1.1}.mood-panel p{color:#adb0ae;font-size:.95rem;line-height:1.6;max-width:25rem;margin:.8rem 0 0}.mood-bars{height:85px;display:flex;align-items:end;gap:5px}.mood-bars i{width:8px;height:25%;background:var(--gold);transition:height .5s ease,background .5s}.mood-bars i:nth-child(2),.mood-bars i:nth-child(8){height:55%}.mood-bars i:nth-child(3),.mood-bars i:nth-child(6),.mood-bars i:nth-child(10){height:78%}.mood-bars i:nth-child(4),.mood-bars i:nth-child(11){height:42%}.mood-bars i:nth-child(5),.mood-bars i:nth-child(9){height:96%}.approach-feature[data-mood="build"] .mood-bars i{height:60%;background:#bdad88}.approach-feature[data-mood="build"] .mood-bars i:nth-child(odd){height:95%}.approach-feature[data-mood="floor"] .mood-bars i{height:90%;background:var(--violet)}.approach-feature[data-mood="floor"] .mood-bars i:nth-child(3n){height:45%}.feature-foot{margin:0}
.wedding-section{display:grid;grid-template-columns:45% 55%;min-height:630px}.wedding-image{min-height:540px;overflow:hidden}.wedding-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.95) brightness(.94)}.wedding-copy{padding:7vw 9vw 7vw 7vw;display:flex;flex-direction:column;align-items:start}.wedding-copy h2{font-size:clamp(3.3rem,5vw,5.5rem)}.wedding-copy>p:not(.kicker){color:#b9baba;line-height:1.7;max-width:31rem;font-size:1rem;margin:2rem 0}.wedding-copy blockquote{border-left:1px solid var(--gold);padding-left:1.4rem;margin:0 0 2.7rem;font-family:Georgia,serif;font-style:italic;font-size:1.4rem;line-height:1.4}.wedding-copy cite{display:block;font:normal .66rem "Avenir Next",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#a8a7a5;margin-top:1rem}.light-link{margin-top:auto}
.about-section{background:#d9d1c3;color:var(--ink);display:grid;grid-template-columns:1fr 1fr 1fr;gap:3vw;align-items:start}.about-heading h2 em{color:#8e6d35}.about-photo{aspect-ratio:3/4;background:#867966;overflow:hidden}.about-photo img{height:100%;width:100%;object-fit:cover;filter:none}.about-copy{padding-top:5.4rem}.large-copy{font:italic clamp(1.65rem,2.5vw,2.7rem)/1.25 Georgia,serif;letter-spacing:-.03em}.about-copy>p:not(.large-copy){line-height:1.7;color:#3e403d;font-size:1rem}.about-mark{display:flex;align-items:end;gap:1rem;border-top:1px solid #afa797;margin-top:3rem;padding-top:1.3rem}.about-mark img{width:70px;height:70px;object-fit:cover}.about-mark span{font-size:.58rem;letter-spacing:.15em;font-weight:800}
.palladium-section{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:5vw;align-items:center;padding:7rem 7vw;background:#1c1820;color:var(--paper)}.palladium-image{margin:0;min-width:0}.palladium-image img{display:block;width:100%;height:auto;border:1px solid rgba(244,240,232,.14)}.palladium-copy{display:flex;flex-direction:column;align-items:flex-start}.palladium-copy .kicker{margin-bottom:2.5rem}.palladium-copy h2{font-size:clamp(3.1rem,5.1vw,5.8rem);line-height:1.03;margin:0}.palladium-copy>p:not(.kicker){max-width:25rem;margin:2rem 0 0;color:#d5d0d6;font:italic clamp(1.35rem,2vw,2rem)/1.4 Georgia,serif}.palladium-era{display:block;width:100%;margin-top:3.5rem;padding-top:1.2rem;border-top:1px solid rgba(244,240,232,.25);color:#b99a5a;font-size:.63rem;font-weight:800;letter-spacing:.17em}
@media(max-width:900px){.palladium-section{grid-template-columns:1fr;gap:2.5rem;padding:5rem 5vw}.palladium-copy .kicker{margin-bottom:1.5rem}.palladium-copy h2{max-width:12ch}.palladium-era{margin-top:2.5rem}}
.contact-section{background:var(--gold);color:var(--ink);padding:6rem 7vw 2.5rem}.contact-top{display:flex;justify-content:space-between}.contact-top .kicker{color:#4c432f}.contact-spark{font-size:3rem;line-height:1}.contact-section h2{font-size:clamp(4rem,9vw,10rem);max-width:1100px;line-height:.93}.contact-section h2 em{color:#f4f0e8}.contact-section>p{font-size:1.1rem;line-height:1.6;max-width:36rem;margin:2rem 0}.contact-actions{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#303536}.phone-link{font-size:.88rem;font-weight:800;letter-spacing:.03em;border-bottom:1px solid var(--ink);padding-bottom:.5rem}.contact-meta{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:6rem;border-top:1px solid rgba(17,19,21,.3);padding-top:1.5rem;font-size:.61rem;font-weight:800;letter-spacing:.17em}.site-footer{display:flex;align-items:center;gap:3rem;padding:2.5rem 7vw;color:#9fa1a0;font-size:.62rem;font-weight:800;letter-spacing:.12em}.footer-wordmark{font-size:1.35rem;color:var(--paper);letter-spacing:-.04em;font-weight:900;margin-right:auto}.footer-wordmark span{font-size:.45rem;vertical-align:top;margin-left:.15rem}.site-footer a:hover{color:var(--gold)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in-view{opacity:1;transform:none}
@media(max-width:1050px){.hero-copy{padding-left:5vw}.hero h1{font-size:clamp(4rem,7.5vw,6rem)}.section{padding:6rem 5vw}.event-card{min-height:410px}.approach-section{gap:5vw}.wedding-copy{padding:6vw}.about-section{grid-template-columns:1fr 1fr}.about-heading{grid-column:1/-1}.about-photo{max-height:450px}.about-copy{padding-top:1rem}.contact-section{padding-left:5vw;padding-right:5vw}}
@media(max-width:760px){.site-header{height:70px;padding:0 5vw}.menu-toggle{display:flex;align-items:center;gap:.7rem;background:none;border:0;color:var(--paper);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;padding:.6rem}.menu-toggle i,.menu-toggle i:after{display:block;width:20px;height:1px;background:var(--paper);content:""}.menu-toggle i:after{transform:translateY(6px)}.primary-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ink);padding:1.5rem 5vw 2rem;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--gold)}.primary-nav.is-open{display:flex}.primary-nav a{padding:1rem 0;border-bottom:1px solid var(--line)}.primary-nav .nav-contact{margin-top:1rem;padding:1rem}.hero{min-height:0;display:flex;flex-direction:column}.hero-copy{padding:5rem 5vw 3rem}.hero h1{font-size:clamp(3.8rem,12vw,6rem);margin:2rem 0 1.5rem}.hero-copy>p{font-size:1rem}.hero-bottom{display:none}.hero-visual{height:430px}.hero-orbit{width:120px;height:120px}.hero-orbit:after{font-size:2.5rem}.hero-orbit span{display:none}.section-heading{display:block}.section-heading>p{margin:1.5rem 0 0}.event-grid{grid-template-columns:1fr}.event-card{min-height:370px}.approach-section{grid-template-columns:1fr;gap:3rem}.approach-feature{min-height:410px}.wedding-section{grid-template-columns:1fr}.wedding-image{min-height:350px;max-height:430px}.wedding-copy{padding:5rem 5vw}.about-section{grid-template-columns:1fr}.about-heading{grid-column:auto}.about-photo{max-height:500px}.about-copy{padding-top:0}.contact-section{padding-top:5rem}.site-footer{flex-wrap:wrap;gap:1.5rem;padding:2.5rem 5vw}.footer-wordmark{width:100%}}
@media(max-width:480px){.wordmark small{font-size:.42rem}.hero-copy{padding-top:4rem}.hero h1{font-size:clamp(3.5rem,15vw,4.8rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.5rem}.hero-visual{height:330px}.hero-visual-label{left:1.5rem;bottom:1.5rem}.intro-band{gap:.8rem;font-size:.48rem}.intro-band .star{font-size:1.2rem}.section{padding:5rem 5vw}.section h2{font-size:clamp(3.2rem,12vw,4.2rem)}.approach-feature{padding:1.5rem}.mood-tabs button{font-size:.65rem;margin-right:.4rem}.wedding-copy h2{font-size:3.2rem}.wedding-copy blockquote{font-size:1.18rem}.contact-section h2{font-size:clamp(4rem,14vw,6rem)}.contact-meta{gap:1rem 1.8rem}.site-footer span:not(.footer-wordmark span){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero-visual>img{transform:none}}

/* Dale's supplied mark anchors the identity at every major entry and exit. */
.wordmark img{width:56px;height:56px;object-fit:cover;flex:none}.wordmark small{white-space:nowrap}.hero-copy{padding-top:3.2vw}.hero-brand{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.hero-brand img{width:112px;height:112px;object-fit:cover;box-shadow:0 0 0 1px rgba(185,154,90,.42)}.hero-brand span{color:#bfb7aa;font-size:.56rem;font-weight:850;letter-spacing:.2em;line-height:1.6}.hero h1{margin-top:1.5rem}.hero-copy>p{max-width:31rem}.about-mark{align-items:center}.about-mark img{width:104px;height:104px;flex:none}.about-mark span{line-height:1.65}.footer-wordmark{display:flex;align-items:center;gap:.8rem}.footer-wordmark img{width:76px;height:76px;object-fit:cover;flex:none}.footer-wordmark span{font-size:1.15rem;vertical-align:baseline;letter-spacing:-.04em}

.testimonial-section{background:#202224;color:var(--paper);padding:8rem 7vw;display:grid;grid-template-columns:34% 1fr;gap:6vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.testimonial-intro h2{font-size:clamp(2.8rem,4vw,4.6rem);line-height:1.08;max-width:23rem}.testimonial-intro>p:last-child{color:#aeb1af;line-height:1.65;font-size:.95rem;max-width:20rem}.testimonial-rule{display:block;width:56px;height:1px;background:var(--gold);margin:2.5rem 0}.testimonial-quote{margin:0;border-left:1px solid rgba(185,154,90,.55);padding:0 0 0 5vw;display:flex;flex-direction:column;justify-content:center}.quote-mark{font:normal 8rem/.65 Georgia,serif;color:var(--gold);margin:0 0 2rem -.35rem}.testimonial-quote blockquote{margin:0;font:italic clamp(2.6rem,4.6vw,5.7rem)/1.12 Georgia,serif;letter-spacing:-.045em;max-width:18ch}.testimonial-quote figcaption{display:flex;flex-wrap:wrap;gap:.6rem 2rem;margin-top:3rem;color:#b9bcba;font-size:.61rem;font-weight:800;letter-spacing:.17em}.testimonial-quote figcaption span:first-child{color:var(--gold)}

@media(max-width:1050px){.testimonial-section{padding:6rem 5vw;grid-template-columns:38% 1fr;gap:3vw}.testimonial-quote{padding-left:4vw}}
@media(max-width:760px){.hero-copy{padding-top:3rem}.hero-brand{margin-bottom:1.8rem}.hero-brand img{width:94px;height:94px}.hero h1{margin-top:1.5rem}.testimonial-section{display:block;padding:5rem 5vw}.testimonial-intro{margin-bottom:3rem}.testimonial-intro h2{max-width:none}.testimonial-intro>p:last-child{max-width:34rem}.testimonial-rule{margin:1.5rem 0}.testimonial-quote{padding:2.5rem 0 0;border-left:0;border-top:1px solid rgba(185,154,90,.55)}.quote-mark{font-size:6rem;margin-bottom:1rem}.testimonial-quote blockquote{font-size:clamp(2.5rem,7vw,4.4rem)}.testimonial-quote figcaption{margin-top:2rem}}
@media(max-width:480px){.wordmark{gap:.45rem;font-size:.9rem}.wordmark img{width:45px;height:45px}.wordmark small{font-size:.39rem;letter-spacing:.1em}.hero-brand img{width:82px;height:82px}.hero-brand span{font-size:.48rem}.hero h1{margin-top:1rem}.about-mark img{width:86px;height:86px}.footer-wordmark img{width:64px;height:64px}.footer-wordmark span{font-size:1.05rem}}

/* The complete archive is visible as a list without JavaScript; enhancement makes it a carousel. */
.testimonial-intro>p:not(.kicker):not(.carousel-hint){color:#aeb1af;line-height:1.65;font-size:.95rem;max-width:21rem}.testimonial-carousel{min-width:0;border-left:1px solid rgba(185,154,90,.55);padding-left:5vw}.testimonial-track{display:grid;gap:2.5rem}.testimonial-card{margin:0;padding:0 0 2rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;min-height:350px}.testimonial-event{font-size:.62rem;font-weight:850;letter-spacing:.19em;text-transform:uppercase;color:var(--gold)}.testimonial-card .quote-mark{margin:2.1rem 0 .1rem -.25rem;font-size:6.5rem;line-height:.55}.testimonial-card blockquote{margin:0;width:100%}.testimonial-text{margin:0;font:italic clamp(2.1rem,3.3vw,3.7rem)/1.2 Georgia,serif;letter-spacing:-.04em;overflow-wrap:anywhere}.testimonial-text.is-collapsed{font-size:clamp(1.7rem,2.7vw,2.7rem)}.testimonial-card figcaption{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:auto;padding-top:2.5rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}.testimonial-card figcaption strong{color:var(--gold)}.testimonial-date{color:#9fa4a1}.testimonial-more{display:none;background:none;border:0;border-bottom:1px solid var(--gold);color:var(--paper);font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;padding:.7rem 0 .5rem;margin-top:1rem;cursor:pointer}.testimonial-more:hover{color:var(--gold)}.testimonial-more span{margin-left:1rem}.carousel-controls,.carousel-progress,.carousel-hint{display:none}.carousel-ready .carousel-controls{display:flex;align-items:center;gap:1.5rem;margin-top:3rem}.carousel-arrow{width:50px;height:50px;border:1px solid rgba(244,240,232,.4);background:transparent;color:var(--paper);font-size:1.3rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.carousel-arrow:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}.carousel-counter{color:#aeb1af;white-space:nowrap;font-size:.72rem;letter-spacing:.15em;font-weight:850}.carousel-counter span:first-child{color:var(--paper)}.carousel-ready .carousel-progress{display:block;width:min(230px,100%);height:1px;background:rgba(244,240,232,.22);margin-top:1.5rem}.carousel-progress span{display:block;height:100%;width:3%;background:var(--gold);transition:width .35s ease}.carousel-ready .carousel-hint{display:block;color:#929693;font-size:.68rem;letter-spacing:.09em;margin-top:1.2rem}.carousel-ready .testimonial-track{display:block}.carousel-ready .testimonial-card{display:none;border:0;min-height:400px;padding:0}.carousel-ready .testimonial-card.is-active{display:flex;animation:testimonial-appear .38s ease both}.carousel-ready .testimonial-more{display:inline-flex}.carousel-ready .testimonial-text.is-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}.testimonial-carousel:focus-visible{outline:2px solid var(--gold);outline-offset:12px}@keyframes testimonial-appear{from{opacity:.3;transform:translateX(14px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.testimonial-carousel{padding-left:4vw}.testimonial-text{font-size:clamp(1.9rem,3.3vw,3rem)}}
@media(max-width:760px){.testimonial-carousel{border-left:0;border-top:1px solid rgba(185,154,90,.55);padding:2.5rem 0 0}.carousel-ready .testimonial-card{min-height:350px}.testimonial-card .quote-mark{margin-top:1rem}.testimonial-text{font-size:clamp(2rem,6vw,3rem)}.testimonial-text.is-collapsed{font-size:clamp(1.6rem,5vw,2.4rem)}.carousel-ready .carousel-controls{margin-top:2rem}}
@media(prefers-reduced-motion:reduce){.carousel-ready .testimonial-card.is-active{animation:none}.carousel-progress span{transition:none}}

.testimonial-text{font-size:clamp(1.85rem,2.75vw,2.65rem)}.testimonial-text.is-collapsed{font-size:clamp(1.85rem,2.75vw,2.65rem)}.carousel-ready .testimonial-text.is-collapsed{-webkit-line-clamp:5}.testimonial-card.is-expanded .testimonial-text{font:normal 1.08rem/1.7 "Avenir Next",Avenir,Arial,sans-serif;letter-spacing:0;white-space:normal}.testimonial-card.is-expanded blockquote{max-width:42rem}
@media(max-width:760px){.testimonial-text,.testimonial-text.is-collapsed{font-size:clamp(1.6rem,5vw,2rem)}}

.proof-quote{margin:0}.proof-quote blockquote{margin:0;font:italic 1.4rem/1.35 Georgia,serif;letter-spacing:-.025em}.proof-quote figcaption{font-size:.58rem;font-weight:850;letter-spacing:.14em;line-height:1.5}.proof-quote figcaption span{color:#969994}.proof-quote-strip{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.7rem 0 .6rem}.proof-quote-strip blockquote{color:var(--paper)}.proof-quote-strip figcaption{flex:none;color:var(--gold);text-align:right}.proof-quote-light{border-left:2px solid #957745;padding-left:1.2rem;margin:0 0 3rem}.proof-quote-light blockquote{color:#292b2b}.proof-quote-light figcaption{margin-top:.85rem;color:#80693c}.proof-quote-light figcaption span{color:#62645e}
@media(max-width:760px){.proof-quote-strip{display:block}.proof-quote-strip figcaption{text-align:left;margin-top:.85rem}}

/* Keep each person's name attached to their words, with a clear byline hierarchy. */
.testimonial-card figcaption{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:1.7rem;padding-top:1.25rem;border-top:1px solid rgba(185,154,90,.45);letter-spacing:0;text-transform:none}.testimonial-card figcaption strong{font-size:clamp(1.3rem,1.8vw,1.8rem);font-weight:750;line-height:1.2;letter-spacing:-.025em;color:var(--paper)}.testimonial-card .testimonial-date{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--gold)}.proof-quote figcaption{display:flex;align-items:baseline;gap:.5rem 1rem;flex-wrap:wrap;margin-top:1rem;letter-spacing:0;text-align:left}.proof-quote figcaption strong{font-size:1.06rem;line-height:1.3;font-weight:800;letter-spacing:-.015em;color:var(--paper)}.proof-quote figcaption span{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.proof-quote-light figcaption strong{color:#292b2b}.proof-quote-strip figcaption{flex:none}.proof-quote-strip figcaption strong{color:var(--gold)}
@media(max-width:760px){.testimonial-card figcaption strong{font-size:1.4rem}.proof-quote figcaption{display:block}.proof-quote figcaption strong,.proof-quote figcaption span{display:block}.proof-quote figcaption span{margin-top:.25rem}}

.testimonial-card figcaption strong{font-family:Georgia,serif;font-weight:400;color:var(--gold)}.proof-quote figcaption strong{font-family:Georgia,serif;font-weight:400;color:var(--gold)}.proof-quote-light figcaption strong{color:#80693c}

[hidden]{display:none!important}.booking-flow{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);gap:1.5rem;margin-top:3.5rem;align-items:stretch}.booking-ticket{background:#151819;color:var(--paper);min-height:490px;padding:2rem;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 24px 48px rgba(52,39,18,.16)}.booking-ticket:after{content:"";position:absolute;width:370px;height:370px;right:-150px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(185,154,90,.14),transparent 70%);pointer-events:none}.ticket-top,.ticket-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.62rem;letter-spacing:.16em;font-weight:850}.ticket-top{padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.ticket-top span:last-child{font-size:1.8rem;color:var(--gold);line-height:0}.ticket-label{font-size:.65rem;letter-spacing:.18em;font-weight:850;color:var(--gold);margin:3rem 0 1rem}.ticket-date{display:grid;grid-template-columns:.7fr 1fr 1.1fr;border-bottom:1px solid var(--line);padding-bottom:2rem;gap:.6rem}.ticket-date>div+div{border-left:1px solid var(--line);padding-left:1rem}.ticket-date small,.ticket-event small{display:block;font-size:.6rem;letter-spacing:.19em;font-weight:800;color:#989c9a;margin-bottom:.7rem}.ticket-date strong{display:block;color:var(--paper);font:normal clamp(2.2rem,3.4vw,4.5rem)/1 Georgia,serif;letter-spacing:-.07em;white-space:nowrap}.ticket-event{padding-top:1.6rem}.ticket-event strong{display:block;color:var(--gold);font:italic clamp(1.5rem,2vw,2.4rem)/1.2 Georgia,serif}.ticket-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:1.2rem;color:#929794;line-height:1.5}.booking-choices{border:1px solid rgba(17,19,21,.3);background:rgba(244,240,232,.15);padding:2rem;min-width:0}.booking-step-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.booking-step-head>span{font-size:.65rem;letter-spacing:.17em;font-weight:850}.booking-back{border:0;background:none;color:var(--ink);font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:.45rem 0}.booking-back:hover{text-decoration:underline}.booking-choices h3{font-size:clamp(2.3rem,3.5vw,3.6rem);line-height:1.05;margin:2rem 0 .7rem}.booking-choices>p{font-size:.95rem;line-height:1.5;color:#423c32;margin:0}.booking-grid{display:grid;gap:.65rem;margin-top:2rem}.booking-grid[data-step="year"]{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-grid[data-step="month"]{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-grid[data-step="day"]{grid-template-columns:repeat(7,minmax(0,1fr))}.booking-grid[data-step="event"]{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-option{min-height:76px;border:1px solid rgba(17,19,21,.5);background:rgba(255,255,255,.19);color:var(--ink);font-size:.95rem;font-weight:750;cursor:pointer;padding:.6rem;transition:background .2s,color .2s,border-color .2s,transform .2s}.booking-option:hover:not(:disabled){background:var(--ink);color:var(--paper);transform:translateY(-2px)}.booking-option[aria-pressed="true"]{background:var(--ink);color:var(--gold);border-color:var(--ink)}.booking-option:disabled{opacity:.38;cursor:not-allowed;background:transparent}.booking-grid[data-step="year"] .booking-option{font:normal clamp(1.7rem,2.3vw,2.5rem) Georgia,serif}.booking-grid[data-step="day"] .booking-option{min-height:56px;font-size:1.15rem}.booking-grid[data-step="event"] .booking-option{min-height:108px;text-align:left;padding:1rem;font-size:1rem}.booking-finish{border-top:1px solid rgba(17,19,21,.28);margin-top:1.8rem;padding-top:1.5rem}.booking-finish .button{width:100%}.booking-finish p{font-size:.82rem;line-height:1.5;color:#423c32;margin:1rem 0 0}.contact-fallback{border-top:1px solid rgba(17,19,21,.3);padding-top:2rem;margin-top:2.3rem}.contact-fallback>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:850}.direct-email{font-size:.85rem;font-weight:850;border-bottom:1px solid var(--ink);padding-bottom:.5rem}.direct-email:hover,.phone-link:hover{color:#f4f0e8;border-color:#f4f0e8}.booking-flow+.contact-fallback+.contact-meta{margin-top:4rem}
@media(max-width:960px){.booking-flow{grid-template-columns:1fr}.booking-ticket{min-height:380px}.booking-choices{min-height:400px}}
@media(max-width:600px){.booking-flow{gap:1rem;margin-top:2.5rem}.booking-ticket,.booking-choices{padding:1.5rem}.booking-ticket{min-height:340px}.ticket-label{margin-top:2rem}.ticket-date strong{font-size:clamp(1.75rem,7vw,2.5rem)}.ticket-date>div+div{padding-left:.7rem}.ticket-bottom{font-size:.47rem}.booking-grid[data-step="month"]{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-grid[data-step="day"]{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-grid[data-step="event"]{grid-template-columns:1fr}.booking-option{min-height:64px}.booking-grid[data-step="day"] .booking-option{min-height:54px}.booking-grid[data-step="event"] .booking-option{min-height:70px}.contact-fallback{align-items:flex-start;gap:1.3rem;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.booking-option{transition:none}}
.ticket-top img{width:54px;height:54px;object-fit:cover;flex:none}

/* A brighter calendar surface for the enquiry flow. */
.contact-section{background:#e9dec5}
.contact-top .kicker,.contact-spark,.contact-section h2 em{color:#80612e}
.contact-section>p{color:#47463f}
.booking-flow{gap:1.25rem}
.booking-ticket{background:linear-gradient(145deg,#f5efdf 0%,#e8d9b9 100%);color:var(--ink);border:1px solid #d3c39f;border-radius:18px;box-shadow:0 20px 45px rgba(52,39,18,.08)}
.booking-ticket:after{background:radial-gradient(circle,rgba(185,154,90,.14),transparent 70%)}
.ticket-top,.ticket-date,.ticket-date>div+div,.ticket-bottom{border-color:#ded8ca}
.ticket-top{color:#49473f}
.ticket-label{color:#97743c}
.ticket-date small,.ticket-event small{color:#77776f}
.ticket-date strong{color:#171b1b}
.ticket-event strong{color:#9c783b}
.ticket-bottom{color:#6a6a63}
.booking-choices{background:rgba(255,250,238,.35);border:1px solid #d6c7a9;border-radius:18px;box-shadow:0 20px 45px rgba(52,39,18,.06)}
.booking-step-head>span{color:#94733e}
.booking-choices>p{color:#60605a}
.booking-grid{gap:.5rem}
.booking-option{position:relative;background:#fff;border:1px solid #dedfd9;border-radius:10px;box-shadow:0 2px 6px rgba(34,37,35,.035);color:#1f2524}
.booking-option:hover:not(:disabled){background:#f7f0df;color:#24221d;border-color:#ae8c50;box-shadow:0 7px 16px rgba(111,87,43,.12)}
.booking-option[aria-pressed="true"],.booking-option[aria-pressed="true"]:hover{background:#b99a5a;color:#17191a;border-color:#9d7c41;box-shadow:0 5px 13px rgba(111,87,43,.16)}
.booking-option:disabled{background:#f4f4f1;color:#8d8e89;opacity:1;border-color:#ededeb;box-shadow:none}
.booking-grid[data-step="day"]{gap:.35rem}
.booking-grid[data-step="day"] .booking-option{min-height:52px;aspect-ratio:1;border-radius:8px;padding:.2rem}
.booking-weekday{display:grid;place-items:center;min-height:28px;color:#777a72;font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.booking-empty{min-height:52px}
.booking-grid[data-step="event"] .booking-option{border-left:3px solid #c5ac76}
.booking-grid[data-step="event"] .booking-option:last-child{grid-column:1/-1;min-height:76px}
.booking-finish{border-color:#e1ded6}
.booking-finish .button-dark{background:#1d2423;color:#fff;border-radius:8px}
.booking-finish .button-dark:hover{background:#37413e}
.contact-fallback,.contact-meta{border-color:#ded9cd}

/* Keep both direct contact routes visible around the site navigation. */
.header-actions{display:flex;align-items:center;gap:2rem;margin-left:auto}
.header-phone{color:#e8d7b6;font-size:.78rem;letter-spacing:.035em;font-weight:800;white-space:nowrap}
.header-phone:hover{color:#fff}
.primary-nav{gap:1.7rem}
.footer-phone{color:#f4f0e8;white-space:nowrap}
@media(max-width:1120px){.site-footer{gap:1.2rem 2rem}.site-footer>span{width:100%;order:3}.header-actions{gap:1.3rem}.primary-nav{gap:1.2rem}}
@media(max-width:760px){.header-actions{order:1;margin-left:auto}.header-phone{font-size:.73rem}.menu-toggle{order:2;margin-left:.75rem}.primary-nav{left:0;right:0;top:70px}.booking-ticket,.booking-choices{border-radius:14px}}
@media(max-width:600px){.booking-grid[data-step="day"]{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.booking-grid[data-step="day"] .booking-option{min-height:40px;font-size:.9rem}.booking-empty{min-height:40px}.booking-weekday{font-size:.58rem}.booking-grid[data-step="month"] .booking-option{font-size:.85rem;padding:.4rem}}
@media(max-width:480px){.site-header .wordmark img{width:42px;height:42px}.site-header .wordmark{font-size:.85rem;gap:.4rem}.site-header .wordmark small{display:none}.menu-toggle span{display:none}.menu-toggle{margin-left:.1rem}.header-phone{font-size:.66rem}.booking-choices{padding:1rem}.booking-grid[data-step="day"]{gap:.2rem}.site-footer>span{display:none}.site-footer{align-items:flex-start}.footer-wordmark{margin-bottom:.4rem}}

.site-credit{background:var(--ink);color:#9fa1a0;padding:.65rem 0 1.25rem;text-align:center;font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:.75rem;font-weight:300;letter-spacing:.02em}
.site-credit__link{display:inline-grid;vertical-align:baseline;color:inherit;text-decoration:none}
.site-credit__link::after{content:attr(data-label);grid-area:1 / 1;font-weight:400;visibility:hidden}
.site-credit__link span{grid-area:1 / 1;justify-self:center;transition:transform 180ms ease}
.site-credit__link:hover span{font-weight:400;transform:scale(1.035)}
.site-credit__link:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
@media(prefers-reduced-motion:reduce){.site-credit__link span{transition:none}}

/* Show the full DJ rig in the hero instead of cropping the equipment. */
.hero{grid-template-columns:minmax(0,38%) minmax(0,62%)}
.hero-copy{padding:3.2vw 2.8vw 2.5rem 5vw}
.hero-brand{margin-bottom:1.4rem}
.hero-brand img{width:88px;height:88px}
.hero h1{font-size:clamp(3.3rem,5.2vw,5.5rem);margin:1.25rem 0 1.5rem;max-width:100%}
.hero-actions{flex-wrap:wrap}
.hero-visual{display:grid;place-items:center;isolation:isolate;background:#211a2b}
.hero-visual:before{content:"";position:absolute;inset:-2rem;background:url("assets/hero-enhanced-v3.jpg") center / cover;filter:blur(24px) brightness(.35);z-index:0}
.hero-visual>img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;transform:none;animation:none}
.hero-visual:after{z-index:2;background:linear-gradient(0deg,rgba(17,19,21,.24),transparent 25%)}
.hero-orbit{display:none}
.hero-visual-label{z-index:3;left:auto;right:2rem;bottom:1.5rem}
@media(max-width:1200px){
  .hero{min-height:0;display:flex;flex-direction:column}
  .hero-copy{padding:3rem 5vw}
  .hero-brand img{width:88px;height:88px}
  .hero h1{font-size:clamp(3.5rem,8vw,5.5rem);margin:1.25rem 0}
  .hero-bottom{display:none}
  .hero-visual{width:100%;height:auto;aspect-ratio:1492 / 1054}
}
@media(max-width:480px){
  .hero-copy{padding:2.5rem 5vw 3rem}
  .hero-brand img{width:82px;height:82px}
  .hero h1{font-size:clamp(3.5rem,15vw,4.8rem)}
  .hero-visual-label{right:1rem;bottom:1rem;font-size:.54rem}
}

/* Dale's availability note sits beside the enquiry flow without interrupting it. */
.backup-note{display:grid;grid-template-columns:minmax(13rem,.6fr) minmax(0,1fr);gap:2.5rem;align-items:start;max-width:70rem;margin:3rem 0 0;padding:1.75rem 0;border-top:1px solid rgba(17,19,21,.4);border-bottom:1px solid rgba(17,19,21,.4)}
.backup-note .kicker{color:#4c432f;margin:0 0 .8rem}
.backup-note h3{font-size:clamp(1.7rem,2.8vw,2.7rem);line-height:1.08;letter-spacing:-.045em;margin:0}
.backup-note>p{font-size:1.05rem;line-height:1.65;max-width:39rem;margin:0}
@media(max-width:760px){.backup-note{grid-template-columns:1fr;gap:1.25rem;margin-top:2.5rem}.backup-note>p{font-size:1rem}}
