/* Page-specific refinements for the local concept. */
[hidden]{display:none!important}em{font-weight:400;color:inherit}h1 em,h2 em{color:var(--gold)}.hero h1{letter-spacing:-.055em}.hero-note{font-size:.61rem;letter-spacing:.12em;margin-top:46px;color:#d9c8ad;display:flex;align-items:center;gap:13px}.small-star{font-size:1.2rem}.hero-edge-label{position:absolute;right:36px;bottom:36px;font-size:.58rem;letter-spacing:.18em;color:#f2eadcb3}.brand-spark{color:var(--gold);font-size:1.15rem;vertical-align:middle;margin-left:12px}.heading-row{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:80px;max-width:none}.heading-row>p{max-width:400px;margin:0}.service-number{font-size:.61rem;letter-spacing:.13em;display:block;color:var(--red);font-weight:bold}.section-burgundy .service-number{color:var(--gold)}.service-symbol{font-size:3.3rem;line-height:1.4;margin:20px 0;color:var(--red)}.service-card>p{margin-top:18px}.service-card>.text-link{margin-top:26px}.text-link::after{content:none}.lead{font-size:1.15rem;line-height:1.65;margin-top:25px}.split-layout>div>p:not(.eyebrow),.split-layout>div>.button,.split-layout>div>.text-link{margin-top:25px}.split-layout>.media-frame>p{margin-top:0}.portrait-frame img{object-position:center 28%;max-height:560px}.image-caption{display:block;margin-top:17px;color:var(--gold);font-size:.58rem;letter-spacing:.18em}.about-portrait{width:min(380px,100%);justify-self:end}.about-portrait img{height:540px;object-position:50% 18%}.card{padding:38px 30px;border:1px solid #e2c6b52e}.card h3{margin-top:28px}.card p{margin-top:20px;color:#e5d5c8}.proof-grid{align-items:stretch}.proof-item>p:not(.eyebrow){margin:20px 0}.proof-item h3{font-size:2rem}.proof-item .eyebrow{margin-bottom:24px}.quote-mark{font:5rem/.7 Georgia,serif;color:var(--red);display:block}.quote-card blockquote{margin:24px 0 35px}.quote-card figcaption strong,.quote-card figcaption span{display:block}.quote-card figcaption span{font-size:.72rem;margin-top:6px;color:var(--muted)}.finder-panel label{font-weight:600;display:block;margin-bottom:14px}.finder-panel select{width:100%;padding:15px 14px;background:var(--cream);border:0;color:var(--ink);font-size:.9rem;margin-bottom:18px}.finder-panel button{background:var(--cream);color:var(--ink);width:100%}.finder-result{padding-top:28px;border-top:1px solid var(--line);margin-top:28px}.finder-result h3{font-size:1.6rem}.finder-result p{font-size:.9rem;color:var(--muted);margin:15px 0}.finder-result .text-link{color:var(--red)}.review-panel{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.review-panel p:not(.eyebrow){margin-top:24px;max-width:550px}.review-action{justify-self:end}.small-text{font-size:.75rem;line-height:1.65;color:var(--muted)}.review-action .small-text{font-size:.7rem;text-align:center;margin-top:14px}.button:disabled{opacity:.65;cursor:not-allowed;transform:none}.footer-top>.button{align-self:center;justify-self:end;width:fit-content}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:40px;padding-block:52px}.footer-grid a:not(.brand){display:block;width:fit-content;margin-bottom:10px;font-size:.83rem;text-decoration:none}.footer-grid .eyebrow{margin-bottom:15px}.footer-grid .brand{align-self:start}.footer-bottom p{font-size:.64rem}.preview-badge{font-size:.55rem;letter-spacing:.12em;opacity:.65}.narrow{max-width:850px}.contact-intro h1{font-size:clamp(3rem,5.4vw,5.5rem);max-width:1060px}.contact-intro p{max-width:620px}.direct-contact{display:flex;flex-direction:column;gap:10px;margin-top:30px}.direct-contact span{font-size:.75rem;color:var(--muted)}.direct-contact a{width:fit-content;text-decoration:none;font-size:1.04rem}.booking-panel .eyebrow{margin-bottom:20px}.booking-panel fieldset{min-width:0;padding:0;border:0;margin:0;scroll-margin-top:30px}.booking-panel legend{font:1.65rem/1.25 Georgia,serif;margin:12px 0 27px;padding:0;max-width:100%;letter-spacing:-.025em}.step-indicator{list-style:none;padding:0;display:flex;margin:0 0 30px;border-bottom:1px solid var(--line)}.step-indicator li{padding:0 0 14px;flex:1;border-bottom:2px solid transparent;font-size:.65rem;color:var(--muted);line-height:1.4}.step-indicator .is-active{color:var(--red);border-color:var(--red);font-weight:bold}.form-field label span{font-weight:400;font-size:.67rem}.form-privacy{font-size:.7rem;color:var(--muted);margin-top:24px}.local-form-note{font-size:.68rem;padding-top:23px;border-top:1px solid var(--line);margin-top:28px!important;color:var(--muted)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-feedback{padding:28px;border:1px solid var(--red);background:#320b1209;margin-bottom:24px}.form-feedback p{margin-top:20px}.form-feedback.error{border-left-width:4px}.booking-summary{background:#f2eadc;padding:22px;margin-bottom:24px}.booking-summary dl{display:grid;grid-template-columns:90px 1fr;gap:12px;margin:0;font-size:.8rem}.booking-summary dt{color:var(--muted)}.booking-summary dd{margin:0;overflow-wrap:anywhere}.form-actions{margin-top:28px;justify-content:space-between}html:not(.js-enabled) [data-next],html:not(.js-enabled) [data-back],html:not(.js-enabled) .step-indicator{display:none}html:not(.js-enabled) fieldset+fieldset{margin-top:38px}html:not(.js-enabled) #booking-summary{display:none}
@media(max-width:800px){.heading-row{grid-template-columns:1fr;gap:25px}.review-panel{grid-template-columns:1fr;gap:30px}.review-action{justify-self:start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>.brand{grid-column:1/-1}.footer-top>.button{justify-self:start}.hero-edge-label{display:none}.about-portrait{justify-self:center}.contact-intro h1{font-size:clamp(2.7rem,7vw,4rem)}}
@media(max-width:520px){.hero-note{font-size:.52rem;margin-top:35px;max-width:250px}.footer-grid{grid-template-columns:1fr;gap:25px}.hero .text-link{font-size:.7rem}.hero .button-row{align-items:flex-start;flex-direction:column;gap:22px}.about-portrait img{height:440px}.review-panel{padding-top:0}.step-indicator li{font-size:.57rem}.booking-summary dl{grid-template-columns:75px 1fr}.contact-intro h1{font-size:2.7rem}.brand-name{font-size:1.8rem}.brand-tagline{font-size:.43rem}.brand-spark{margin-left:6px}.direct-contact a{overflow-wrap:anywhere}.footer-top h2{font-size:2.55rem}.form-actions .button{padding:12px 15px}.card{padding:30px 24px}}

.section-cream h1 em,.section-cream h2 em{color:#85552c}

.testimonials-section{padding-bottom:60px}.testimonials-section .quote-card{position:relative;display:flex;flex-direction:column;min-height:350px}.testimonials-section .quote-card blockquote{flex:1}.testimonials-section .quote-card figcaption{margin-top:auto}.google-reviews-section{padding-top:0}.google-reviews-section .review-panel{padding-top:48px;border-top:1px solid #c5b7a2}.google-reviews-section .review-panel h2{font-size:clamp(2.1rem,3.5vw,3.3rem)}@media(max-width:800px){.testimonials-section .quote-card{min-height:280px}.testimonials-section{padding-bottom:40px}.google-reviews-section .review-panel{padding-top:35px}}

/* Home inquiry gives planners a choice of direct contact or a short form. */
.home-contact-section{scroll-margin-top:25px}.home-contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.home-contact-copy h2{font-size:clamp(2.9rem,4.4vw,4.5rem)}.home-contact-copy>.lead{max-width:455px;color:#d8cbbd;font-size:1rem}.contact-channels{display:grid;gap:0;margin-top:36px}.contact-channel{display:block;padding:24px 0;border-top:1px solid #f2eadc2b;text-decoration:none}.contact-channel:last-child{border-bottom:1px solid #f2eadc2b}.channel-label{display:flex;justify-content:space-between;color:var(--gold);font-size:.62rem;font-weight:700;letter-spacing:.15em}.channel-label span{font-size:.95rem}.contact-channel strong{display:block;font:1.65rem/1.3 Georgia,serif;margin-top:12px;overflow-wrap:anywhere;color:var(--cream)}.contact-channel>span:last-child{display:block;color:#bfb3a5;font-size:.73rem;margin-top:8px}.contact-channel:hover strong{color:var(--gold)}.home-contact-small{font-size:.73rem;color:#cbbdad;margin-top:28px!important}.home-contact-small a{display:block;color:var(--cream);margin-top:8px;max-width:100%}.home-contact-form-panel{background:var(--cream);color:var(--ink);padding:42px;border-top:3px solid var(--gold)}.section-dark .home-contact-form-panel .eyebrow{color:var(--red);margin-bottom:15px}.home-contact-form-panel h3{font-size:2.05rem}.home-contact-form-panel .form-intro{font-size:.83rem;color:var(--muted);margin:15px 0 28px}.home-contact-form-panel .form-grid{gap:19px}.home-contact-form-panel textarea{min-height:100px}.home-contact-form-panel .form-privacy{margin-top:20px}.home-contact-form-panel .home-submit{width:100%;margin-top:20px}.home-contact-form-panel .local-form-note{font-size:.64rem;margin-top:22px!important}.home-contact-form-panel .success .button{margin-top:24px}.footer-overlay{background:linear-gradient(90deg,rgba(22,10,14,.86),rgba(26,11,16,.71)),linear-gradient(0deg,#11100fe8,transparent 75%)}.footer-image{object-position:center 42%}.site-footer{border-top:1px solid #8c5c57}
@media(max-width:1000px){.home-contact-layout{gap:40px;grid-template-columns:.85fr 1.15fr}.home-contact-form-panel{padding:30px}.home-contact-copy h2{font-size:3.2rem}.contact-channel strong{font-size:1.3rem}}
@media(max-width:800px){.home-contact-layout{grid-template-columns:1fr;gap:45px}.home-contact-copy>.lead{max-width:650px}.contact-channels{grid-template-columns:1fr 1fr;gap:28px}.contact-channel:last-child{border-bottom:0}.home-contact-form-panel{padding:34px}.home-contact-copy h2{font-size:3.4rem}}
@media(max-width:520px){.home-contact-copy h2{font-size:2.9rem}.contact-channels{grid-template-columns:1fr;gap:0}.contact-channel:last-child{border-bottom:1px solid #f2eadc2b}.home-contact-form-panel{padding:28px 20px}.home-contact-form-panel .form-grid{grid-template-columns:1fr}.home-contact-form-panel h3{font-size:1.85rem}.contact-channel strong{font-size:1.45rem}}

.hero-content h1{font-size:clamp(3rem,5.8vw,5.5rem);line-height:1.06}.hero-description{max-width:530px}@media(max-width:520px){.hero-content h1{font-size:clamp(2.55rem,10.5vw,3.3rem)}.hero .eyebrow{max-width:270px}}

.credentials-strip{padding-block:28px 23px}.credentials-strip .trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gig-types{display:flex;align-items:center;gap:28px;border-top:1px solid #d9cdbb;margin-top:25px;padding-top:19px}.gig-types>p{margin:0;font-size:.52rem;letter-spacing:.15em;font-weight:700;color:var(--red);flex-shrink:0}.gig-types ul{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0;margin:0}.gig-types li{font-size:.8rem;color:var(--ink);display:flex;align-items:center;gap:24px}.gig-types li+li:before{content:'·';color:var(--red)}@media(max-width:800px){.gig-types{align-items:flex-start;gap:18px;flex-direction:column}.gig-types li{font-size:.72rem}.gig-types ul{gap:10px 18px}.gig-types li+li:before{display:none}}@media(max-width:520px){.credentials-strip .trust-grid{grid-template-columns:1fr;gap:18px}.credentials-strip .trust-grid>div{border-left:0;padding-left:0}.credentials-strip .trust-grid strong{font-size:1.2rem}.credentials-strip .trust-grid>div>span{font-size:.75rem}.gig-types ul{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px 12px}.gig-types li{line-height:1.5}}

/* Keep the event strip and service introduction visually connected. */
.credentials-strip{padding-block:26px}.credentials-strip .trust-grid{gap:0;align-items:stretch}.credentials-strip .trust-grid>div{padding:4px 30px;display:flex;flex-direction:column;justify-content:center}.credentials-strip .trust-grid>div:first-child{padding-left:0}.credentials-strip .trust-grid>div:last-child{padding-right:0}.credentials-strip .trust-grid strong{font-size:1.35rem;line-height:1.2;margin-bottom:7px}.credentials-strip .trust-grid>div>span{font-size:.76rem;line-height:1.55}.credentials-strip+.section{padding-top:58px}.credentials-strip+.section .section-heading{margin-bottom:35px}.credentials-strip+.section .heading-row .eyebrow{margin-top:0;margin-bottom:14px}.credentials-strip+.section .heading-row>div>h2{margin:0}
@media(max-width:900px){.credentials-strip .trust-grid>div{padding-inline:20px}.credentials-strip .trust-grid strong{font-size:1.17rem}.credentials-strip .trust-grid>div>span{font-size:.7rem}.credentials-strip+.section{padding-top:46px}.credentials-strip+.section .heading-row{gap:22px}}
@media(max-width:520px){.credentials-strip{padding-block:23px}.credentials-strip .trust-grid{gap:0}.credentials-strip .trust-grid>div{padding:15px 0;border-left:0;border-bottom:1px solid var(--line)}.credentials-strip .trust-grid>div:first-child{padding-top:0}.credentials-strip .trust-grid>div:last-child{padding-bottom:0;border-bottom:0}.credentials-strip .trust-grid strong{font-size:1.22rem;margin-bottom:5px}.credentials-strip .trust-grid>div>span{font-size:.75rem}.credentials-strip+.section{padding-top:38px}.credentials-strip+.section .section-heading{margin-bottom:28px}}

/* Career highlights from Jim's supplied homepage reference. */
.career-section .split-layout{gap:65px;align-items:center}.career-photo{width:85%;max-width:480px;justify-self:center;align-self:center;min-height:0}.career-photo img{display:block;width:100%;height:auto;object-fit:cover;object-position:58% center}.career-copy .lead{font-size:1rem}.career-credits{display:grid;grid-template-columns:1fr 1fr;gap:25px 28px;border-top:1px solid #f2eadc33;padding-top:27px;margin:30px 0 0}.career-credits>div{min-width:0}.career-credits dt{font-size:.7rem;letter-spacing:.06em;font-weight:700;color:var(--gold);margin-bottom:7px}.career-credits dd{margin:0;font-size:.82rem;line-height:1.6}.career-credits cite{font-style:italic}.career-copy>.button{margin-top:30px}
@media(max-width:900px){.career-section .split-layout{gap:35px}.career-photo{min-height:0}.career-credits{gap:22px}}
@media(max-width:800px){.career-photo{width:100%;max-width:360px;min-height:0}.career-photo img{height:auto;aspect-ratio:4/3;object-position:center}.career-copy h2{max-width:580px}}
@media(max-width:520px){.career-section .split-layout{gap:30px}.career-credits{gap:22px 18px}.career-credits dd{font-size:.8rem}.career-copy .lead{font-size:.95rem}}

/* Verified 2026 recognition, shown as a credential rather than an invented seal. */
.hero-award{display:flex;gap:13px;align-items:center;width:fit-content;border-left:2px solid var(--gold);padding:4px 0 4px 15px;margin-top:24px;color:var(--cream)}.hero-award>span:first-child{font-size:1.3rem;color:var(--gold)}.hero-award strong{display:block;font-size:.76rem;line-height:1.45;font-weight:600}.hero-award>span>span{display:block;font-size:.65rem;color:#d8c7af;margin-top:3px}.hero .hero-award+.button-row{margin-top:26px}.career-award{border-top:1px solid #f2eadc33;margin-top:28px;padding-top:25px}.career-award .eyebrow{font-size:.55rem;margin-bottom:12px}.career-award h3{font-size:1.6rem;line-height:1.2;color:var(--cream)}.section-burgundy .career-award>p{font-size:.78rem;margin-top:12px}.career-copy .career-credits{margin-top:24px;padding-top:22px}
@media(max-width:520px){.hero-award{padding-left:12px;gap:10px;margin-top:22px}.hero-award strong{font-size:.67rem}.hero-award>span>span{font-size:.61rem}.career-award h3{font-size:1.5rem}}

/* Compact home contact section, focused on calls, email and inquiries. */
.home-contact-section{padding-block:65px}.home-contact-layout{width:min(1100px,calc(100% - 96px));grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}.home-contact-copy h2{font-size:clamp(2.7rem,4vw,3.7rem)}.home-contact-copy>.lead{font-size:.93rem;max-width:350px;margin-top:22px}.home-contact-copy .contact-channels{margin-top:25px}.home-contact-copy .contact-channel{padding-block:19px}.home-contact-copy .contact-channel strong{font-size:1.5rem;margin-top:9px}.home-contact-form-panel{padding:28px 30px}.home-contact-form-panel h3{font-size:1.65rem;line-height:1.2}.home-contact-form-panel .form-intro{font-size:.76rem;margin:10px 0 21px}.home-contact-form-panel .form-grid{gap:14px 16px}.home-contact-form-panel .form-field label{font-size:.7rem;margin-bottom:5px}.home-contact-form-panel .form-field label span{font-size:.62rem}.home-contact-form-panel .form-field input,.home-contact-form-panel .form-field select{min-height:44px;height:44px;padding:8px 10px;font-size:.82rem}.home-contact-form-panel .form-field textarea{min-height:76px;height:76px;padding:9px 10px;font-size:.82rem}.home-contact-form-panel .form-privacy{font-size:.64rem;margin-top:14px}.home-contact-form-panel .home-submit{margin-top:14px;min-height:44px;padding:11px 16px;font-size:.7rem}.home-contact-form-panel .local-form-note{padding-top:13px;margin-top:15px!important;font-size:.61rem;line-height:1.6}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:65;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--red);color:var(--cream);border:1px solid var(--gold);border-radius:50%;text-decoration:none;box-shadow:0 4px 18px #0004;font:1.4rem/1 var(--sans)}.back-to-top:hover{background:#4b1520;color:white}.js-enabled .back-to-top:not(.is-visible){opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:1100px){.home-contact-layout{width:calc(100% - 64px);gap:40px}.home-contact-form-panel{padding:26px}.home-contact-copy .contact-channel strong{font-size:1.3rem}}
@media(max-width:800px){.home-contact-layout{grid-template-columns:1fr;gap:32px}.home-contact-section{padding-block:50px}.home-contact-copy h2{font-size:3rem}.home-contact-copy>.lead{max-width:none}.home-contact-copy .contact-channels{grid-template-columns:1fr 1fr;gap:25px}.home-contact-form-panel{padding:28px}.home-contact-form-panel .form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.home-contact-section{padding-block:40px}.home-contact-layout{width:calc(100% - 40px);gap:28px}.home-contact-copy h2{font-size:2.5rem}.home-contact-copy .contact-channels{grid-template-columns:1fr;gap:0}.home-contact-copy .contact-channel strong{font-size:1.45rem}.home-contact-form-panel{padding:24px 20px}.home-contact-form-panel h3{font-size:1.5rem}.home-contact-form-panel .form-grid{grid-template-columns:1fr;gap:13px}.back-to-top{right:15px;bottom:15px;width:44px;height:44px}}

/* A short homepage message; detailed event intake remains on Contact. */
.home-contact-section{padding-block:42px}.home-contact-layout{width:min(1000px,calc(100% - 96px));grid-template-columns:1fr 1fr;gap:65px}.home-contact-copy h2{font-size:2.65rem}.home-contact-copy>.lead{font-size:.84rem;margin-top:16px}.home-contact-copy .contact-channels{margin-top:20px;display:block}.home-contact-copy .contact-channel{padding-block:13px}.home-contact-copy .contact-channel strong{font-size:1.2rem;margin-top:6px}.home-contact-copy .contact-channel>span:last-child{display:none}.home-contact-copy .channel-label{font-size:.55rem}.home-contact-form-panel{padding:23px 25px}.home-contact-form-panel h3{font-size:1.4rem;margin-bottom:19px}.home-contact-form-panel .form-field textarea{min-height:78px;height:78px}.home-contact-form-panel .form-grid{gap:13px}.home-contact-form-panel .home-submit{margin-top:12px}.home-contact-form-panel .form-privacy{margin-top:12px}.home-contact-form-panel .local-form-note{margin-top:12px!important;padding-top:10px}
@media(max-width:1100px){.home-contact-layout{width:calc(100% - 64px);gap:40px}}
@media(max-width:800px){.home-contact-layout{grid-template-columns:1fr;gap:26px;max-width:650px}.home-contact-copy h2{font-size:2.4rem}.home-contact-copy .contact-channels{display:grid;grid-template-columns:1fr 1fr;gap:25px}.home-contact-section{padding-block:35px}}
@media(max-width:520px){.home-contact-layout{width:calc(100% - 40px)}.home-contact-copy h2{font-size:2.25rem}.home-contact-copy .contact-channels{display:block}.home-contact-form-panel{padding:22px 20px}.home-contact-form-panel h3{font-size:1.35rem}.home-contact-form-panel .form-grid{grid-template-columns:1fr}.home-contact-section{padding-block:30px}}

/* Homepage contact invitation leads to the detailed Contact page. */
.home-contact-button-section{padding-block:45px}.home-contact-button-section .home-contact-layout{grid-template-columns:1.2fr .8fr;gap:75px}.home-contact-button-section .contact-channels{display:grid;grid-template-columns:1fr 1fr;gap:25px}.home-contact-button-section .contact-channel{border-bottom:0!important}.home-message-action{border-left:1px solid #f2eadc33;padding:25px 0 25px 55px}.home-message-action>p{font:1.7rem/1.3 var(--serif);color:var(--cream);margin-bottom:23px}.home-message-action .button{min-height:50px;padding:14px 28px;font-size:.8rem}.home-message-action>span{display:block;font-size:.75rem;color:#cbbdad;margin-top:16px}
@media(max-width:800px){.home-contact-button-section .home-contact-layout{grid-template-columns:1fr;gap:25px}.home-message-action{border-left:0;border-top:1px solid #f2eadc33;padding:26px 0 0}.home-contact-button-section{padding-block:38px}}
@media(max-width:520px){.home-contact-button-section .contact-channels{grid-template-columns:1fr;gap:0}.home-message-action>p{font-size:1.5rem;margin-bottom:19px}.home-message-action .button{width:fit-content;max-width:100%;margin-inline:auto}}

/* Reserve footer space beside the floating back-to-top control. */
.footer-bottom{padding-right:72px}


/* Keep the footer credit concise and separate from contact details. */
.footer-grid{padding-bottom:32px}
.footer-bottom{gap:16px;padding-top:20px;border-top:1px solid #ffffff26}
.footer-bottom p{font-size:.75rem}
.footer-bottom a{color:var(--cream);text-decoration:none}
.footer-bottom a:hover,.footer-bottom a:focus-visible{color:var(--gold);text-decoration:underline}


/* A client-supplied review balances the closing invitation. */
.footer-top{align-items:center;gap:60px;padding-bottom:48px}
.footer-endorsement{display:grid;gap:26px;max-width:430px;justify-self:end}
.footer-review{margin:0;padding-left:26px;border-left:2px solid var(--gold)}
.footer-review blockquote{margin:0}
.footer-review blockquote p{margin:0;color:var(--cream);font:clamp(1.35rem,2vw,1.9rem)/1.45 var(--serif)}
.footer-review figcaption{margin-top:18px;color:var(--gold);font-size:.8rem;letter-spacing:.06em}
.footer-endorsement>.button{justify-self:start}
@media(max-width:800px){.footer-top{gap:32px;padding-bottom:38px}.footer-endorsement{max-width:550px;justify-self:start}.footer-review{padding-left:20px}.footer-review blockquote p{font-size:1.5rem}}
/* Photo-led homepage experiences use Jim's existing official-site images. */
.services-showcase .services-grid{gap:24px}
.services-showcase .service-card{padding:0;overflow:hidden;border:1px solid var(--line);border-bottom:3px solid var(--gold)}
.services-showcase .service-card-media{aspect-ratio:16/10;overflow:hidden;background:var(--red)}
.services-showcase .service-card-media img{display:block;width:100%;max-width:100%;height:100%;margin:0;object-fit:cover;object-position:60% 50%}
.services-showcase .service-card-body{display:flex;flex-direction:column;flex:1;padding:24px}
.services-showcase .service-number{margin:0 0 12px;font-size:.62rem;letter-spacing:.15em}
.services-showcase .service-card h3{color:var(--red);font-size:clamp(1.55rem,2.2vw,2rem);margin:0;line-height:1.15}
.services-showcase .service-card p{font-size:.88rem;line-height:1.65;margin:15px 0 24px}
.services-showcase .service-card .text-link{margin-top:auto;font-size:.7rem;color:var(--red);padding-block:8px;line-height:1.5}
.services-showcase .service-card .text-link:hover,.services-showcase .service-card .text-link:focus-visible{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1100px) and (min-width:801px){.services-showcase .services-grid{gap:18px}.services-showcase .service-card-body{padding:20px}}
@media(max-width:800px){.services-showcase .services-grid{gap:28px}.services-showcase .service-card-media{aspect-ratio:16/9;max-height:320px}.services-showcase .service-card-body{padding:25px}.services-showcase .service-card h3{font-size:2rem}}
@media(max-width:520px){.services-showcase .service-card-body{padding:22px}.services-showcase .service-card-media{aspect-ratio:16/10}.services-showcase .service-card h3{font-size:1.8rem}}
/* Clear testimonial cards use the site's cream, burgundy and gold palette. */
.testimonials-section{background:var(--red);color:var(--cream);padding-block:72px}
.testimonials-section .section-heading{margin-bottom:36px;max-width:760px}
.testimonials-section .section-heading .eyebrow{color:var(--gold);margin-bottom:16px}
.testimonials-section h2{font-size:clamp(2.25rem,3.6vw,3.35rem);line-height:1.12}
.testimonials-section .proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.testimonials-section .quote-card{position:relative;display:flex;flex-direction:column;margin:0;min-width:0;min-height:285px;padding:30px;background:var(--cream);color:var(--ink);border:1px solid #c8a97999;border-bottom:3px solid var(--gold)}
.testimonials-section .testimonial-star{position:absolute;top:26px;right:28px;color:#936c3a;font-size:1.8rem;line-height:1}.testimonials-section .quote-mark{display:block;font:4.5rem/.75 var(--serif);color:#936c3a;height:45px;margin-bottom:12px}
.testimonials-section .quote-card blockquote{font:clamp(1.35rem,1.8vw,1.65rem)/1.4 var(--serif);color:var(--ink);margin:0 0 26px;flex:1}
.testimonials-section .quote-card figcaption{margin:0;padding-top:18px;border-top:1px solid #9b7a4d55}
.testimonials-section .quote-card figcaption strong{display:block;color:var(--red);font-size:.85rem;font-weight:700;line-height:1.5}
.testimonials-section .quote-card figcaption span{display:block;color:#655c53;font-size:.72rem;margin-top:4px;line-height:1.5}
.google-reviews-section{padding-top:48px}
@media(max-width:800px){.testimonials-section{padding-block:50px}.testimonials-section .proof-grid{grid-template-columns:1fr;gap:18px}.testimonials-section .quote-card{padding:26px;min-height:0}.testimonials-section .quote-card blockquote{font-size:1.5rem;margin-bottom:24px}.testimonials-section .section-heading{margin-bottom:28px}.google-reviews-section{padding-top:35px}}

/* A decorative cream interlude separates the burgundy sections. */
.testimonials-section{border-top:0}
.testimonial-divider{display:flex;align-items:center;justify-content:center;gap:18px;min-height:104px;padding:24px;background:var(--cream);color:#99743e}
.testimonial-divider svg{display:block;flex:0 0 100px}
.testimonial-divider .divider-line{height:1px;width:clamp(55px,12vw,170px);background:currentColor;opacity:.55}
@media(max-width:800px){.testimonial-divider{min-height:84px;padding:20px;gap:12px}}

/* A framed invitation gives the review request a clear visual focus. */
.google-reviews-section{padding-block:52px}
.google-reviews-section .review-panel{position:relative;grid-template-columns:1.35fr 1fr;gap:45px;align-items:center;padding:38px 42px;border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--paper);box-shadow:0 12px 32px #320b1208}
.google-reviews-section .review-kicker{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.google-reviews-section .review-emblem{display:flex;align-items:center;justify-content:center;flex:0 0 46px;height:46px;background:#fff;border:1px solid var(--line);border-radius:50%;color:#4285f4;font:700 1.7rem/1 Arial,sans-serif}
.google-reviews-section .review-kicker .eyebrow{font-size:.59rem;letter-spacing:.15em;color:var(--red);margin:0}
.google-reviews-section .review-panel h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.1}
.google-reviews-section .review-copy>p{font-size:.85rem;line-height:1.65;margin-top:18px;max-width:440px}
.google-reviews-section .review-action{justify-self:stretch;text-align:center;border-left:1px solid var(--line);padding:12px 0 12px 38px}
.google-reviews-section .review-flourish{display:block;color:#99743e;font-size:1.6rem;line-height:1;margin-bottom:12px}
.google-reviews-section .review-panel .review-invitation{font:1.5rem/1.2 var(--serif);color:var(--red);margin:0 0 21px;max-width:none}
.google-reviews-section .review-action .button{min-height:48px;padding:15px 22px;font-size:.7rem;line-height:1.4}
.google-reviews-section .review-action .button:disabled{opacity:.75}
.google-reviews-section .review-action .small-text{font-size:.66rem;line-height:1.6;margin:14px auto 0;max-width:260px}
@media(max-width:800px){.google-reviews-section{padding-block:36px}.google-reviews-section .review-panel{grid-template-columns:1fr;gap:26px;padding:28px}.google-reviews-section .review-action{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.google-reviews-section .review-copy>p{max-width:none}}
@media(max-width:520px){.google-reviews-section .review-panel{padding:26px 22px}.google-reviews-section .review-panel h2{font-size:2.1rem}.google-reviews-section .review-action .button{width:fit-content;max-width:100%;margin-inline:auto}.google-reviews-section .review-kicker{gap:10px}.google-reviews-section .review-kicker .eyebrow{font-size:.53rem}}
/* Center the mobile presentation while keeping forms easy to complete. */
@media(max-width:800px){
main section,.site-footer{text-align:center}
.hero-content.container{margin-inline:auto}
.hero-content h1,.hero-description,.hero-note,.hero-award,.section-heading,.section-heading p,.heading-row>p,.career-copy>.lead,.home-contact-copy>.lead,.contact-hero-content p,.contact-intro p{margin-inline:auto}
.hero .button-row,.button-row{justify-content:center;align-items:center}
.hero-note{justify-content:center}
.hero-award{justify-content:center;text-align:left}
.services-showcase .service-card-body{align-items:center}
.services-showcase .service-card .text-link{align-self:center}
.career-credits dd{margin-inline:0}
.home-contact-copy .contact-channel,.home-contact-button-section .contact-channel{align-items:center}
.google-reviews-section .review-kicker{justify-content:center}
.google-reviews-section .review-copy>p{margin-inline:auto}
.footer-top{justify-items:center}
.footer-top h2,.footer-top p{margin-inline:auto}
.footer-endorsement{justify-self:center;justify-items:center}
.footer-review{padding:20px 0 0;border-left:0;border-top:1px solid #c8a97966}
.footer-endorsement>.button{justify-self:center}
.footer-grid{grid-template-columns:1fr;justify-items:center;gap:30px}
.footer-grid>.brand{justify-self:center}
.footer-grid a:not(.brand){margin-inline:auto}
.footer-grid .brand,.site-footer .brand{text-align:center;align-items:center}
.footer-bottom{flex-direction:column;align-items:center;justify-content:center;padding-right:0;padding-bottom:54px;gap:12px}
.footer-bottom p{margin-inline:auto;text-align:center}
.page-hero h1,.page-hero .lead,.experience-hero h1,.experience-hero p{margin-inline:auto}
.direct-contact{align-items:center}
.booking-panel,.finder-panel,main details,main form,.privacy-content{text-align:left}
}
@media(max-width:520px){.hero .button-row{align-items:center}.hero-description{max-width:100%}.hero-note{max-width:280px}.home-contact-button-section .contact-channel{display:flex;flex-direction:column;align-items:center}}
/* Leave the upper mobile hero clear for Jim's face. */
@media(max-width:800px){.hero{align-items:flex-start;padding-top:clamp(376px,calc(44svh - 24px),436px);padding-bottom:64px}.hero-image{height:100svh;object-position:62% center}.hero-overlay{background:linear-gradient(0deg,#11100f 0%,#11100fb8 45%,#110c0b55 100%)}}

/* Keep navigation readable and available throughout the page. */
html{scroll-padding-top:116px}
header.site-header{height:82px;position:fixed;background:rgba(33,11,16,.72);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);box-shadow:0 4px 20px #0002;border-bottom-color:#c8a97955}
@media(max-width:800px){html{scroll-padding-top:101px}#primary-nav{max-height:calc(100dvh - 85px);overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:800px){#nav-toggle[aria-expanded="true"]{font-size:1.65rem;line-height:1;padding:8px 14px}}

/* Desktop navigation becomes compact after leaving the top of the page. */
@media(min-width:801px){
.site-header{transition:height .2s ease,box-shadow .2s ease}
.site-header .brand-name{transition:font-size .2s ease}
.site-header.is-compact{height:70px;box-shadow:0 5px 20px #0003}
.site-header.is-compact .brand-name{font-size:1.8rem}
.site-header.is-compact .brand-tagline{font-size:.43rem}
.site-header.is-compact #primary-nav .button{min-height:40px;padding:9px 16px}
}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .brand-name{transition:none}}
/* A brief gold sweep and star flourish introduce the header wordmark. */
.site-header .brand-name{background:linear-gradient(110deg,var(--cream) 35%,#d7b16b 45%,#fff0b8 50%,#d7b16b 55%,var(--cream) 65%);background-size:300% 100%;background-position:0% 0;background-clip:text;-webkit-background-clip:text;color:transparent;animation:brand-name-shimmer 3.2s ease-in-out .4s 1}

.site-header .brand-spark{display:inline-block;transform-origin:center;animation:brand-star-intro 3s ease-in-out .4s 1}
.site-header .brand:hover .brand-name,.site-header .brand:focus-visible .brand-name{animation:brand-name-replay 3.2s ease-in-out 1}
.site-header .brand:hover .brand-spark,.site-header .brand:focus-visible .brand-spark{animation:brand-star-replay 3s ease-in-out 1}
@keyframes brand-name-shimmer{0%{background-position:100% 0}100%{background-position:0% 0}}
@keyframes brand-name-replay{0%{background-position:100% 0}100%{background-position:0% 0}}
@keyframes brand-star-intro{0%,100%{transform:scale(1) rotate(0);filter:none}45%{transform:scale(1.6) rotate(45deg);color:#ffe0a0;filter:drop-shadow(0 0 8px #ffd58bcc)}70%{transform:scale(1.2) rotate(90deg);filter:drop-shadow(0 0 4px #ffd58b99)}}
@keyframes brand-star-replay{0%,100%{transform:scale(1) rotate(0);filter:none}45%{transform:scale(1.6) rotate(45deg);color:#ffe0a0;filter:drop-shadow(0 0 8px #ffd58bcc)}70%{transform:scale(1.2) rotate(90deg);filter:drop-shadow(0 0 4px #ffd58b99)}}
@media(prefers-reduced-motion:reduce){.site-header .brand .brand-name{background:none;color:var(--cream);animation:none}.site-header .brand .brand-spark{animation:none;transform:none;filter:none}}
/* Continue the wordmark shimmer into the tagline as one sequence. */
.site-header .brand-tagline{background:linear-gradient(110deg,var(--cream) 35%,#d7b16b 45%,#fff0b8 50%,#d7b16b 55%,var(--cream) 65%);background-size:300% 100%;background-position:0% 0;background-clip:text;-webkit-background-clip:text;color:transparent;animation:brand-name-shimmer 2.6s ease-in-out 3.2s 1}
.site-header .brand:hover .brand-tagline,.site-header .brand:focus-visible .brand-tagline{animation:brand-name-replay 2.6s ease-in-out 2.8s 1}
@media(prefers-reduced-motion:reduce){.site-header .brand .brand-tagline{background:none;color:var(--cream);animation:none}}
/* Place Jim's portrait beside the career credits without repeating it. */
.about-credits-photo{margin:30px 0 0;max-width:355px}
.about-credits-photo img{display:block;width:100%;height:400px;object-fit:cover;object-position:center 10%;border:1px solid #c8a97966;padding:6px;background:#210b10}
.about-credits-photo figcaption{font-size:.55rem;letter-spacing:.12em;color:var(--gold);line-height:1.6;margin-top:12px}
.about-audience .about-audience-text{grid-template-columns:1fr;max-width:920px}
@media(max-width:800px){.about-credits-photo{margin:28px auto 0;max-width:320px}.about-credits-photo img{height:370px}.about-credits-heading>p:not(.eyebrow){margin-inline:auto}.about-audience-text .button-row{justify-content:center;align-items:center}.about-audience-copy>p:not(.eyebrow){margin-inline:auto}}
/* Faint line art and warm washes soften the About page's cream space. */
section.about-award,section.about-story{position:relative;isolation:isolate;overflow:hidden}
section.about-award{background:radial-gradient(ellipse at 95% 5%,#c8a97920,transparent 60%),linear-gradient(110deg,var(--cream),#eae0ce)}
section.about-story{background:radial-gradient(ellipse at 0% 100%,#c8a97924,transparent 65%),linear-gradient(110deg,#f5eee2,var(--cream))}
.about-award::before,.about-story::before{content:"";position:absolute;z-index:-1;pointer-events:none;background:url('images/about-card-flourish.svg') center/contain no-repeat;opacity:.18;width:420px;height:385px}
.about-award::before{right:28px;top:auto;bottom:5px;transform:none;width:55px;height:46px}
.about-story::before{left:auto;right:28px;bottom:8px;transform:none;width:76px;height:62px;opacity:.2}
@media(max-width:800px){.about-award::before{width:280px;height:260px;right:-90px;top:-70px;opacity:.13}.about-story::before{width:300px;height:275px;left:-90px;bottom:-70px;opacity:.17}}
/* Shared quiet atmosphere for large light sections across the site. */
section.ambient-cream{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 100% 0%,#c8a97920,transparent 65%),linear-gradient(110deg,#f5eee2,var(--cream))}
.ambient-cream::before{content:"";position:absolute;z-index:-1;pointer-events:none;right:28px;top:auto;bottom:8px;width:82px;height:68px;background:url('images/about-card-flourish.svg') center/contain no-repeat;opacity:.22}
.ambient-cream.ambient-reverse::before{left:auto;right:28px;top:auto;bottom:8px;transform:none;opacity:.2}
.ambient-cream.ambient-quiet::before{opacity:.09}
@media(max-width:800px){.ambient-cream::before{width:250px;height:230px;opacity:.11;max-width:80%;right:0}.ambient-cream.ambient-reverse::before{opacity:.13}.ambient-cream.ambient-quiet::before{opacity:.07}}
/* Use the larger motif only in the About heading's empty right-hand area. */
.about-audience.ambient-cream::before{width:200px;height:180px;right:max(35px,6vw);top:24px;bottom:auto;opacity:.2}
.about-audience-text .about-audience-copy>h2,.about-audience-text .about-audience-copy>.eyebrow{max-width:540px}


/* Give the artwork its own clear space instead of hiding it or layering over copy. */
main section:is(.about-award,.about-story,.ambient-cream){padding-bottom:174px}
main section:is(.about-award,.about-story,.ambient-cream,.ambient-cream.ambient-reverse,.ambient-cream.ambient-quiet)::before{display:block;left:50%;right:auto;top:auto;bottom:8px;width:min(1200px,calc(100% - 64px));height:156px;max-width:none;transform:translateX(-50%);opacity:.35;background-image:url('images/magic-flourish-wide.svg')}
main section.about-audience.ambient-cream{padding-bottom:86px}
main section.about-audience.ambient-cream::before{left:auto;right:max(35px,6vw);top:20px;bottom:auto;width:300px;height:190px;transform:none;background-image:url('images/magic-flourish-small.svg')}
@media(max-width:800px){
main section:is(.about-award,.about-story,.ambient-cream){padding-bottom:140px}
main section:is(.about-award,.about-story,.ambient-cream,.ambient-cream.ambient-reverse,.ambient-cream.ambient-quiet)::before{left:50%;right:auto;top:auto;bottom:8px;width:calc(100% - 40px);height:120px;opacity:.32;transform:translateX(-50%);background-image:url('images/magic-flourish-small.svg')}
main section.about-audience.ambient-cream{padding-bottom:140px}
main section.about-audience.ambient-cream::before{left:50%;right:auto;top:auto;bottom:8px;width:calc(100% - 40px);height:120px;transform:translateX(-50%);background-image:url('images/magic-flourish-small.svg')}
}
/* Occupy open heading columns and transition bands, not reading areas. */
main section.about-award{padding-top:64px}
main section.about-audience.ambient-cream::before{width:320px;height:180px;top:28px;opacity:.45}
main .about-audience-text .about-audience-copy>h2,main .about-audience-text .about-audience-copy>.eyebrow{max-width:min(540px,calc(100% - 340px))}
.about-story-art{height:140px;max-width:430px;margin-top:24px;background:url('images/magic-flourish-small.svg') left center/contain no-repeat;opacity:.38}
main section:is(.about-award,.about-story,.ambient-cream)::after{content:"";position:absolute;left:50%;top:8px;width:min(1200px,calc(100% - 64px));height:40px;transform:translateX(-50%);background:url('images/magic-rule.svg') center/contain no-repeat;opacity:.4;pointer-events:none;z-index:-1}
.about-credits{position:relative;isolation:isolate}
.about-credits::after{content:"";position:absolute;left:50%;bottom:12px;width:min(1200px,calc(100% - 64px));height:42px;transform:translateX(-50%);background:url('images/magic-rule.svg') center/contain no-repeat;opacity:.65;pointer-events:none}
@media(max-width:800px){
main section.about-audience.ambient-cream::before{width:calc(100% - 40px);height:120px;top:auto;bottom:8px;opacity:.35}
main .about-audience-text .about-audience-copy>h2,main .about-audience-text .about-audience-copy>.eyebrow{max-width:100%}
.about-story-art{display:none}
main section:is(.about-award,.about-story,.ambient-cream)::after,.about-credits::after{width:calc(100% - 40px);height:28px}
}
/* Direct links make all experience choices visible and usable without scripting. */
main .experience-choice-panel>.eyebrow{color:var(--red);font-size:.59rem;margin:0 0 12px}
.experience-choice-panel>h3{font-size:1.85rem;line-height:1.2;margin:0 0 24px}
.experience-choices{display:grid;gap:12px}
.experience-choice{display:grid;grid-template-columns:24px 1fr 18px;align-items:center;gap:12px;padding:18px 16px;background:var(--paper);border:1px solid var(--line);text-decoration:none;color:var(--red);text-align:left}
.experience-choice:hover,.experience-choice:focus-visible{background:#efe4d3;border-color:#99743e;color:var(--red)}
.choice-number{font-size:.65rem;color:#85552c;align-self:start;padding-top:4px}
.choice-copy strong{display:block;font:1.4rem/1.2 var(--serif);letter-spacing:-.025em}
.choice-copy>span{display:block;font-size:.77rem;line-height:1.55;color:#625a50;margin-top:8px}
.choice-arrow{font-size:1.1rem}
.experience-choice-help{display:block;font-size:.73rem;line-height:1.6;margin-top:22px;color:var(--red);text-underline-offset:4px}
@media(max-width:520px){.experience-choice{padding:17px 12px;gap:9px;grid-template-columns:20px 1fr 14px}.choice-copy strong{font-size:1.3rem}.choice-copy>span{font-size:.75rem}.experience-choice-panel>h3{font-size:1.7rem;text-align:center}.experience-choice-panel>.eyebrow,.experience-choice-help{text-align:center}}
/* Unique atmosphere photos give each experience a visual setting. */
.experience-photo{margin:28px 0 0;min-width:0}
.experience-photo>img{display:block;width:100%;height:280px;object-fit:cover;border:1px solid #c8a97988;padding:5px;background:var(--paper)}
.experience-photo>figcaption{margin-top:12px;color:#70604a;font-size:.57rem;letter-spacing:.1em;line-height:1.6}
.experience-stage-visual{margin:0;align-self:center}
.experience-stage-visual>img{height:330px;background:#210b10}
.experience-stage-visual>figcaption{padding:20px 4px 0;margin:0;border:0;color:var(--gold)}
.experience-stage-visual blockquote{font:1.6rem/1.35 var(--serif);color:var(--cream);margin:0 0 12px;letter-spacing:-.025em}
.experience-stage-visual figcaption>span{font-size:.7rem;letter-spacing:0}
.experience-hybrid-photo{max-width:680px;margin:28px auto 0;text-align:center}
.experience-hybrid-photo>img{height:260px;object-position:center 55%}
@media(max-width:800px){.experience-closeup-photo{max-width:560px;margin-inline:auto}.experience-stage-visual{max-width:560px;margin-inline:auto;width:100%}.experience-hybrid-photo>img{height:250px}}
@media(max-width:520px){.experience-photo>img,.experience-stage-visual>img{height:225px}.experience-hybrid-photo>img{height:200px}.experience-stage-visual blockquote{font-size:1.5rem}.experience-stage-visual{text-align:center}.experience-photo>figcaption{font-size:.52rem;text-align:center}}

/* Keep the award portrait complete at every screen width. */
.career-card-photo{border:1px solid #c8a97966;padding:6px;background:#210b10}
.career-card-photo img{height:auto;aspect-ratio:2/3;object-fit:contain}

/* A cream pause before the homepage contact section. */
.impossible-section{background:var(--cream);color:var(--red);padding-block:88px;border-block:1px solid var(--line)}
.impossible-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.impossible-copy{text-align:center}
.impossible-copy h2{font-size:clamp(2.5rem,4.5vw,4.6rem);line-height:1.08}
.impossible-copy h2 em{color:var(--red);font-style:italic}
.impossible-copy h2::after{content:"";display:block;width:150px;height:28px;margin:24px auto;background:url('images/magic-rule.svg') center/contain no-repeat;opacity:.7}
.impossible-copy>p:not(.eyebrow){max-width:440px;margin:18px auto 0;color:#625349}
.impossible-image{padding:6px;border:1px solid #aa8756;background:#e6dac7}
.impossible-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
@media(max-width:800px){.impossible-section{padding-block:60px}.impossible-layout{grid-template-columns:1fr;gap:36px}.impossible-image{width:min(560px,100%);margin-inline:auto}.impossible-image img{aspect-ratio:4/3}}
/* Jim-supplied portraits and performance photographs retain their full framing. */
main .about-award-grid{grid-template-columns:.7fr .9fr 1.2fr}
.about-award-photo{margin:0;padding:6px;border:1px solid #aa8756;background:#e6dac7;width:min(220px,100%);justify-self:center}
.about-award-photo img{width:100%;height:auto}
.jim-performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch}.jim-performance-grid figure{display:flex;flex-direction:column;min-width:0;margin:0;padding:6px;border:1px solid #aa8756}.jim-performance-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 25%;flex-shrink:0}.jim-performance-grid figcaption{display:flex;align-items:center;justify-content:center;flex:1;padding:15px 10px 10px;font-size:.78rem;text-align:center;color:#625349}@media(max-width:800px){.jim-performance-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:800px){main .about-award-grid{grid-template-columns:1fr;text-align:center;gap:28px}.about-award-photo{width:min(280px,100%)}.about-award-copy{grid-column:auto}}

/* One staggered letter ripple for pointer and keyboard navigation. */
#primary-nav .nav-wave{display:inline-flex;white-space:pre}
#primary-nav .nav-wave>span{display:inline-block}
@keyframes jim-nav-wave{0%,100%{transform:translateY(0)}45%{transform:translateY(-5px)}70%{transform:translateY(1px)}}
@media(min-width:801px) and (prefers-reduced-motion:no-preference){#primary-nav>a:focus-visible .nav-wave>span{animation:jim-nav-wave .5s ease both;animation-delay:var(--letter-delay)}}
@media(min-width:801px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){#primary-nav>a:hover .nav-wave>span{animation:jim-nav-wave .5s ease both;animation-delay:var(--letter-delay)}}
@media(prefers-reduced-motion:reduce){#primary-nav .nav-wave>span{animation:none!important;transform:none!important}}

/* Approved wordmark: transparent SVG layers retain the existing shimmer sequence. */
.brand .brand-wordmark{display:block;position:relative;width:210px;aspect-ratio:1940/550;flex:none}
.brand-wordmark .brand-name,.brand-wordmark .brand-tagline,.brand-wordmark .brand-spark{position:absolute;inset:0;display:block;margin:0!important;width:100%;height:100%;font-size:0!important;background:var(--cream);color:transparent;mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.brand-wordmark .brand-name{mask-image:url('branding/jim-wordmark-name.svg?v=20261027-print');-webkit-mask-image:url('branding/jim-wordmark-name.svg?v=20261027-print')}
.brand-wordmark .brand-tagline{background:var(--gold);mask-image:url('branding/jim-wordmark-tagline.svg?v=20261027-print');-webkit-mask-image:url('branding/jim-wordmark-tagline.svg?v=20261027-print')}
.brand-wordmark .brand-spark{background:var(--gold);mask-image:url('branding/jim-wordmark-star.svg?v=20261027-print');-webkit-mask-image:url('branding/jim-wordmark-star.svg?v=20261027-print');transform-origin:94% 24%}
.site-header .brand-wordmark .brand-name,.site-header .brand-wordmark .brand-tagline{background-clip:border-box;-webkit-background-clip:border-box}
.site-header.is-compact .brand-wordmark{width:180px}
.footer-grid .brand-wordmark{width:min(230px,100%)}
@media(max-width:800px){.site-header .brand-wordmark{width:180px}.footer-grid .brand{width:min(340px,100%)}}
@media(max-width:360px){.site-header .brand-wordmark{width:170px}}
@media(prefers-reduced-motion:reduce){.site-header .brand-wordmark .brand-name{background:var(--cream)}.site-header .brand-wordmark .brand-tagline,.site-header .brand-wordmark .brand-spark{background:var(--gold)}}
.site-header .brand-wordmark .brand-name,.site-header .brand-wordmark .brand-tagline{background-image:linear-gradient(110deg,var(--cream) 35%,#d7b16b 45%,#fff0b8 50%,#d7b16b 55%,var(--cream) 65%);background-size:300% 100%}@media(prefers-reduced-motion:reduce){.site-header .brand-wordmark .brand-name,.site-header .brand-wordmark .brand-tagline{background-image:none}}

/* Balance the navigation with the smaller wordmark. */
@media(min-width:801px){#primary-nav{gap:22px}#primary-nav>a{font-size:.7rem}#primary-nav .button{min-height:40px;padding:9px 16px;font-size:.7rem}html{scroll-padding-top:98px}}
@media(max-width:800px){header.site-header{height:76px}#primary-nav{top:76px;max-height:calc(100dvh - 76px)}html{scroll-padding-top:92px}}
/* Repeat the approved logo animation while respecting reduced motion. */
@media(prefers-reduced-motion:no-preference){.site-header .brand .brand-wordmark .brand-name,.site-header .brand .brand-wordmark .brand-tagline,.site-header .brand .brand-wordmark .brand-spark{animation-iteration-count:infinite}}
/* Match the footer wordmark to the approved continuous header animation. */
@media(prefers-reduced-motion:no-preference){.site-footer .brand-wordmark .brand-name,.site-footer .brand-wordmark .brand-tagline{background-image:linear-gradient(110deg,var(--cream) 35%,#d7b16b 45%,#fff0b8 50%,#d7b16b 55%,var(--cream) 65%);background-size:300% 100%;animation:brand-name-shimmer 3.2s ease-in-out .4s infinite}.site-footer .brand-wordmark .brand-tagline{animation-duration:2.6s;animation-delay:3.2s}.site-footer .brand-wordmark .brand-spark{animation:brand-star-intro 3s ease-in-out .4s infinite}}
/* Keep a direct contact action beside the phone menu with room between controls. */
.mobile-header-actions{display:none}
@media(max-width:800px){.site-header .header-inner{width:calc(100% - 32px);gap:16px}.mobile-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.mobile-contact{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border:1px solid #c8a97999;background:var(--red);color:var(--cream);font-size:.72rem;font-weight:700;text-decoration:none;line-height:1.2}.mobile-contact:hover{background:#4b1520;color:var(--cream)}.mobile-header-actions #nav-toggle{flex-shrink:0;margin:0}}
@media(max-width:360px){.site-header .header-inner{gap:12px}.site-header .brand .brand-wordmark{width:132px}}
/* A quiet wand flourish balances the gallery heading. */
.gallery-heading-row{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:48px}.gallery-heading-row .section-heading{margin-bottom:0}.gallery-wand-art{width:360px;max-width:42%;height:auto;opacity:.38;flex-shrink:0;pointer-events:none}
@media(max-width:800px){.gallery-heading-row{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:32px}.gallery-wand-art{width:210px;max-width:65%;justify-self:end}}
@media(max-width:520px){.gallery-wand-art{width:170px}}

/* Original client logos in a quiet, controllable brand ribbon. */
.client-logos-section { padding-block:42px 28px; border-bottom:1px solid var(--line); }
.client-logos-section .section-heading { max-width:none; text-align:center; margin-bottom:26px; }
.client-logos-section h2 { font-size:clamp(1.65rem,2.6vw,2.3rem); }
.client-logo-window { width:100%; overflow:hidden; padding:20px 0; background:var(--red); border-block:1px solid var(--gold); }
.client-logo-track { display:flex; width:max-content; animation:jim-client-scroll 90s linear infinite; }
.client-logo-list { display:flex; flex:none; align-items:center; gap:36px; list-style:none; padding:0 36px 0 0; margin:0; }
.client-logo-list li { flex:0 0 148px; width:148px; height:64px; background:var(--red); display:flex; align-items:center; justify-content:center; }
.client-logo-list img { display:block; width:auto; height:auto; max-width:124px; max-height:44px; object-fit:contain; mix-blend-mode:screen; }
.client-logo-window:hover .client-logo-track,.client-logo-window:focus-within .client-logo-track { animation-play-state:paused; }
@keyframes jim-client-scroll { to { transform:translateX(-50%); } }
@media(max-width:600px) { .client-logos-section { padding-block:34px 20px; } .client-logo-window { padding-block:14px; } }
@media(prefers-reduced-motion:reduce) {
 .client-logo-track { animation:none; width:100%; }
 .client-logo-list { width:100%; flex-wrap:wrap; justify-content:center; gap:18px; padding:0 18px; }
 .client-logo-list li { flex-basis:124px; width:124px; }
 .client-logo-list[aria-hidden="true"] { display:none; }
}


/* Existing gold line art quietly finishes the client banner. */
.client-logo-decoration { height:36px; margin-top:10px; background:url('images/magic-rule.svg') center/contain no-repeat; opacity:.4; pointer-events:none; }
.client-logo-window:focus-visible { outline:2px solid var(--gold); outline-offset:-4px; }

/* A separate narrow ribbon below the complete theatre footer image. */
.footer-client-banner { margin:0; background:var(--red); border-block:1px solid #c8a97966; }
.footer-client-banner .client-logo-window { padding:8px 0; border:0; }
.footer-client-banner .client-logo-list { gap:24px; padding-right:24px; }
.footer-client-banner .client-logo-list li { flex-basis:110px; width:110px; height:30px; }
.footer-client-banner .client-logo-list img { max-width:92px; max-height:26px; }

/* Keep the floating control clear of the bottom client ribbon. */
.back-to-top { bottom:calc(72px + env(safe-area-inset-bottom, 0px)); }
