@font-face{font-family:DM;src:url('assets/dm-sans.ttf') format('truetype');font-display:swap;font-weight:400}@font-face{font-family:DM;src:url('assets/dm-sans-bold.ttf') format('truetype');font-display:swap;font-weight:700}
:root{--ink:#111f30;--muted:#4e5e6b;--paper:#f7f9fa;--ice:#bcdef3;--blue:#255a83;--line:#cbd4da;--parallax-y:0px;font-family:DM,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-size:1rem;line-height:1.65}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.1rem,5.3vw,5.2rem);font-weight:700}h2{font-size:clamp(2.35rem,3.8vw,3.8rem)}h3{font-size:1.35rem;letter-spacing:-.025em;line-height:1.3}em,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.05em}p{color:var(--muted)}p+p{margin-top:1rem}a{color:inherit;text-decoration:none}img{max-width:100%;display:block;height:auto}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3987bf;outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:5px}::selection{background:var(--ice);color:var(--ink)}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:.78rem;letter-spacing:.14em;font-weight:700;line-height:1.5;margin-bottom:21px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:16px 22px;background:var(--ice);color:var(--ink);font-size:1rem;font-weight:700;border:1px solid transparent;border-radius:3px;line-height:1.4;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:#d6edfc;text-decoration:none;transform:translateY(-2px)}.button span{font-size:1.3rem}.text-link{display:inline-block;font-weight:700;text-decoration:underline;text-decoration-color:#93a8b8;text-underline-offset:7px;font-size:.94rem}.skip{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:100;background:white;padding:12px}.skip:focus{transform:none}
.site-header{background:var(--ink);color:white;position:sticky;top:0;z-index:30;border-bottom:1px solid #ffffff20}.nav{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand:hover{text-decoration:none}.brand>span{font-size:1.23rem;font-weight:700;letter-spacing:.015em;line-height:1.1}.brand small{display:block;font-size:.63rem;font-weight:400;letter-spacing:.1em;margin-bottom:7px}.brand img{object-fit:contain}.nav nav{display:flex;align-items:center;gap:24px;font-size:.87rem}.nav .small{font-size:.85rem;padding:12px 16px;min-height:44px;gap:15px}.menu-toggle{display:none}
.hero{background:var(--ink);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:60px}.hero-copy{padding-block:64px}.hero-copy .eyebrow{color:var(--ice)}.hero h1 span{display:block;font-size:.38em;letter-spacing:-.015em;margin-top:24px}.hero h1 em{color:var(--ice)}.hero-intro{font-size:1.35rem;line-height:1.5;color:white;margin-top:32px;margin-bottom:16px}.hero-copy>p:not(.eyebrow):not(.hero-intro){color:#bccbd5}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}.hero-note{font-size:.79rem;margin-top:24px!important}.hero-art{position:relative;transform:translateY(var(--parallax-y));align-self:stretch;background:#bbc1c5;display:flex;align-items:center}.hero-art img{width:100%;height:auto;object-fit:contain}.hero-art figcaption{position:absolute;bottom:22px;left:24px;right:24px;text-align:center;background:var(--ink);color:white;font-size:.83rem;line-height:1.5;padding:13px 10px;box-shadow:6px 6px 0 var(--ice)}
.trusted{padding-block:30px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:35px}.trusted .eyebrow{margin:0;font-size:.69rem;white-space:nowrap}.trusted>div{display:flex;flex:1;align-items:center;justify-content:space-between;gap:20px;font-size:1.06rem;font-weight:700}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:40px}.section-head>p{max-width:370px}.section-head h2 em{color:var(--blue)}.wide-photo{overflow:hidden}.wide-photo img{width:100%;aspect-ratio:1.8;object-fit:cover;object-position:center 54%}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:30px}.benefits h3{margin-bottom:12px}.benefits p{max-width:340px}.shows-section{background:#e8eff3}.show-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.show-image{display:block;overflow:hidden;background:#d4dce0}.show-image img{width:100%;height:360px;object-fit:cover;transition:transform .5s}.show-image:hover img{transform:scale(1.025)}.show-card:first-child img{object-position:58% 36%}.show-card:nth-child(2) img{object-position:50% 46%}.show-card:nth-child(3) img{object-fit:contain;background:#d9e0e4}.show-card h3{margin-top:22px}.show-card h3 a{display:flex;align-items:center;justify-content:space-between;gap:12px}.show-card p{margin-top:10px;font-size:.96rem}.show-secondary{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #b7c6d1;margin-top:38px}.show-secondary a{padding:20px 12px 20px 0;font-weight:700;font-size:.95rem}
.booking{background:var(--ink);color:white;position:relative;overflow:hidden}.pattern{position:absolute;inset:-80px;background-image:url('assets/logo.png');background-size:138px 138px;background-repeat:repeat;opacity:.035;transform:translateY(var(--parallax-y)) rotate(-12deg);pointer-events:none}.booking>.wrap,.closing>.wrap{position:relative}.booking .eyebrow{color:var(--ice)}.booking h2 em{color:var(--ice)}.booking p{color:#c6d4de}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:0;list-style:none;margin:45px 0 35px}.steps>li{border-top:1px solid #788b9c;padding-top:20px}.steps>li>span{font-family:Georgia,serif;font-style:italic;font-size:2.7rem;color:var(--ice);display:block;margin-bottom:16px;line-height:1.2}.steps h3{margin-bottom:14px}.steps p{font-size:.95rem}.booking-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.testimonial{text-align:center;max-width:900px;margin:auto}.testimonial blockquote{font-family:Georgia,serif;font-size:clamp(1.9rem,3.3vw,3.3rem);line-height:1.3;letter-spacing:-.025em;margin-bottom:24px}.testimonial>p:not(.eyebrow){font-size:.87rem}.testimonial .text-link{margin-top:18px}.about{background:#e6edf1}.about-grid{display:grid;grid-template-columns:.8fr 1fr;align-items:center;gap:100px}.about figure{max-width:410px}.about figure img{width:100%}.about h2{margin-bottom:28px}.about p:not(.eyebrow){max-width:540px}.about .text-link{margin-top:27px}.format-list>div{display:grid;grid-template-columns:60px 1fr 1.1fr;gap:20px;padding:30px 0;border-top:1px solid var(--line);align-items:baseline}.format-list>div:last-child{border-bottom:1px solid var(--line)}.format-list>div>span{color:var(--blue);font-family:Georgia,serif;font-size:1.6rem;font-style:italic}.format-list h3{font-size:1.7rem}.region{background:#c8e0ee}.region-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.region .text-link{margin-top:25px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-layout h2{margin-bottom:24px}.faqs{border-top:1px solid var(--line)}.faqs details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;position:relative;padding:24px 40px 24px 0;font-size:1.08rem;line-height:1.5;font-weight:700}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:5px;top:24px;font-size:1.4rem;font-weight:400;line-height:1.2}details[open]>summary::after{content:'−'}details>div{padding:0 35px 24px 0}.faqs a,.faq-contact a{text-decoration:underline;text-underline-offset:4px}.closing{padding:85px 0;background:#1b3c57;color:white;position:relative;overflow:hidden}.closing h2{font-size:clamp(2.2rem,3.3vw,3.2rem)}.closing p{color:#d4e3ee}.closing h2+p{margin-top:24px}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.closing .button{flex-shrink:0}footer{background:var(--ink);color:white;padding-top:60px}.footer-top{display:grid;grid-template-columns:1fr 1fr .8fr;gap:60px;padding-bottom:50px}.footer-top p{font-size:.87rem;color:#b7c8d5}.footer-top .brand+p{margin-top:24px}.event-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 25px;font-size:.9rem}.event-links a{display:flex;justify-content:space-between;gap:10px}.event-links span{color:#8eb6d4}.contact a{display:block;font-size:.9rem;margin:8px 0;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #ffffff25;padding:24px 0;display:flex;justify-content:space-between;gap:25px;color:#b7c8d5;font-size:.76rem}
.service-hero{background:#e5edf2;padding:28px 0 64px}.breadcrumb{font-size:.82rem;margin-bottom:28px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.service-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.service-grid h1{font-size:clamp(2.7rem,4.4vw,4.4rem)}.service-grid em{color:var(--blue)}.lead{font-size:1.15rem;margin:28px 0}.service-note{font-size:.81rem;margin-top:18px}.service-photo img{width:100%;height:auto}.portrait-event{max-width:430px;justify-self:center}.library-event img{aspect-ratio:1;object-fit:cover;object-position:50% 70%}.portrait-studio{max-width:360px;justify-self:center}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:100px}.service-detail h2{font-size:clamp(2.2rem,3.3vw,3.2rem);margin-bottom:24px}.service-detail>ul{list-style:none;margin:0;padding:0}.service-detail li{border-top:1px solid var(--line);padding:22px 0}.service-detail li h3{margin-bottom:9px}.local-note{margin-top:55px;border-top:1px solid var(--line);padding-top:25px;font-size:.9rem}.other-events{padding-bottom:70px}.other-events .event-links{grid-template-columns:repeat(3,1fr)}.supporting-photo img{width:100%;height:auto}.page-heading{padding-top:80px;padding-bottom:60px}.page-heading h1{margin-bottom:27px}.page-heading p:not(.eyebrow){font-size:1.15rem;max-width:670px}.page-heading .button{margin-top:25px;background:var(--ink);color:white}.faq-page{max-width:880px;padding-bottom:80px}.faq-contact{padding-top:55px}.faq-contact h2{font-size:2rem;margin-bottom:20px}.area-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:start}.area-layout h2{font-size:2.3rem;margin-bottom:20px}.area-layout dt{font-weight:700;margin-top:25px}.area-layout dd{margin:8px 0 0;color:var(--muted)}.area-layout figure{position:sticky;top:115px}.error-page{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-block:80px}.error-page p{margin-block:25px}.error-page .button{background:var(--ink);color:white}
@media(min-width:1500px){.hero-art{max-height:760px}.hero-art img{max-height:760px}.hero-copy{padding-block:100px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.nav nav{gap:15px}.brand>span{font-size:1.05rem}.brand small{font-size:.57rem}.brand img{width:38px}.hero-grid{gap:35px}.hero h1{font-size:4.3rem}.hero-copy{padding-block:45px}.hero-intro{font-size:1.2rem}.hero-copy>p:not(.hero-intro){font-size:.91rem}.show-image img{height:300px}.about-grid{gap:60px}.footer-top{gap:35px}.trusted{gap:22px}.trusted>div{font-size:.91rem}.service-grid{gap:40px}}
@media(max-width:960px) and (min-width:761px){.nav{flex-wrap:wrap;padding:18px 0;gap:16px}.nav nav{width:100%;justify-content:space-between}.hero-grid{gap:28px}.hero h1{font-size:3.5rem}.hero-copy{padding-block:35px}.hero-actions{gap:16px}.hero-art{align-self:center}.hero-art figcaption{font-size:.74rem;bottom:14px;left:15px;right:15px}.steps{grid-template-columns:1fr 1fr;gap:35px}.trusted{display:block}.trusted .eyebrow{margin-bottom:18px}.show-secondary{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr 1fr}.footer-top>.contact{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 25px}.footer-top>.contact .eyebrow{width:100%;margin:0}.about-grid{gap:40px}.faq-layout,.region-grid{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.section{padding-block:65px}.nav{min-height:76px;gap:16px}.brand img{width:37px;height:37px}.brand>span{font-size:1.12rem}.brand small{font-size:.58rem}.menu-toggle{display:block;background:transparent;color:white;border:1px solid #9bb0c0;border-radius:2px;min-height:44px;padding:8px 15px;font-size:.9rem}.nav nav{position:absolute;top:100%;left:0;right:0;background:var(--ink);display:none;padding:20px;box-shadow:0 14px 25px #0003;max-height:calc(100dvh - 76px);overflow:auto}.nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav nav>a:not(.button){padding:12px 5px;border-bottom:1px solid #ffffff20;font-size:1rem}.nav nav>.button{margin-top:18px}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:32px 0 28px}.hero h1{font-size:clamp(3rem,10vw,4.2rem);line-height:1.02}.hero h1 span{font-size:.42em;margin-top:20px}.hero-copy .eyebrow{font-size:.69rem}.hero-intro{font-size:1.15rem;margin-top:22px}.hero-copy>p:not(.eyebrow):not(.hero-intro){font-size:.94rem}.hero-copy br:not(h1 br){display:none}.hero-intro br{display:block!important}.hero-actions{gap:20px;margin-top:24px}.hero .button{padding:14px 17px;gap:16px;font-size:.92rem}.hero-actions .text-link{font-size:.85rem}.hero-art{width:100%;max-width:430px;justify-self:center;align-self:auto;margin-bottom:28px}.hero-art img{width:100%;max-height:570px;object-fit:contain}.hero-art figcaption{left:18px;right:18px;bottom:20px;font-size:.85rem}.hero-note{margin-top:18px!important}.trusted{padding-block:25px;display:block}.trusted .eyebrow{margin-bottom:20px}.trusted>div{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:.92rem}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:24px;max-width:none}.eyebrow{font-size:.7rem;margin-bottom:17px}h2{font-size:2.45rem}.wide-photo img{aspect-ratio:auto;object-fit:contain}.benefits{grid-template-columns:1fr;gap:25px}.benefits>div{border-bottom:1px solid var(--line);padding-bottom:23px}.benefits p{max-width:none}.benefits h3{margin-bottom:8px}.show-grid{grid-template-columns:1fr;gap:35px}.show-image img{height:auto;max-height:500px;aspect-ratio:1.05;object-fit:cover}.show-card:nth-child(3) img{aspect-ratio:auto}.show-card h3{font-size:1.6rem;margin-top:18px}.show-secondary{grid-template-columns:1fr 1fr;margin-top:30px}.show-secondary a{font-size:.9rem;padding-block:18px}.steps{grid-template-columns:1fr;gap:24px;margin-top:30px}.steps>li{display:grid;grid-template-columns:50px 1fr;column-gap:15px;padding-top:20px}.steps>li>span{grid-row:1/3;font-size:2rem;margin:0}.steps h3{font-size:1.3rem;margin-bottom:9px}.steps p{grid-column:2}.booking-actions{align-items:flex-start;flex-direction:column;gap:24px}.booking-actions .text-link{font-size:.9rem}.testimonial blockquote{font-size:2rem}.testimonial>p:not(.eyebrow){font-size:.82rem}.about-grid{grid-template-columns:1fr;gap:35px}.about figure{max-width:330px;width:90%;justify-self:center}.about h2{font-size:2.5rem}.format-list>div{grid-template-columns:40px 1fr;gap:12px;padding-block:25px}.format-list p{grid-column:2}.format-list h3{font-size:1.5rem}.region-grid,.faq-layout{grid-template-columns:1fr;gap:35px}.faq-layout h2{margin-bottom:20px}summary{font-size:1rem;padding-block:21px}.closing{padding-block:60px}.closing-inner{display:block}.closing h2{font-size:2.25rem}.closing .button{margin-top:30px}.footer-top{grid-template-columns:1fr;gap:36px}.footer-top .brand{margin-bottom:10px}.footer-top p{font-size:.9rem}.footer-top .eyebrow{margin-bottom:12px}.footer-top .event-links{font-size:.94rem}.footer-bottom{flex-direction:column;gap:9px;font-size:.74rem}.service-hero{padding:25px 0 45px}.breadcrumb{margin-bottom:30px}.service-grid{grid-template-columns:1fr;gap:35px}.service-grid h1{font-size:clamp(2.7rem,10vw,3.9rem)}.lead{font-size:1.07rem;margin-top:24px}.service-note{font-size:.79rem}.service-photo{width:100%}.portrait-event{max-width:430px}.portrait-studio{max-width:350px}.service-detail{grid-template-columns:1fr;gap:35px}.service-detail h2{font-size:2.3rem}.service-detail>ul{margin-bottom:-20px}.other-events .event-links{grid-template-columns:1fr 1fr}.page-heading{padding-top:50px;padding-bottom:40px}.page-heading h1{font-size:3rem}.page-heading p:not(.eyebrow){font-size:1.06rem}.faq-page{padding-bottom:55px}.faq-contact h2{font-size:1.9rem}.area-layout{grid-template-columns:1fr;gap:40px}.area-layout figure{position:static}.error-page{grid-template-columns:1fr;padding-block:50px;gap:35px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.brand{gap:8px}.brand>span{font-size:1rem}.brand small{font-size:.52rem}.brand img{width:31px;height:31px}.menu-toggle{padding-inline:11px}.hero h1{font-size:3.15rem}.hero-actions{gap:15px}.hero-actions .text-link{font-size:.79rem}.hero .button{font-size:.85rem;padding-inline:13px;gap:12px}.hero-intro{font-size:1.12rem}.show-secondary{grid-template-columns:1fr}.show-secondary a{padding-block:14px}.show-secondary a+a{border-top:1px solid #b7c6d1}.page-heading h1{font-size:2.7rem}.footer-bottom{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.hero-art,.pattern{transform:none!important}}

/* An opening built around the performer, guest reactions and client confidence. */
.opening{background:var(--ink);color:white;padding:58px 0 64px}.opening-grid{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-areas:'copy photo' 'copy review';gap:0 56px;align-items:center}.opening-copy{grid-area:copy}.opening-title .eyebrow{color:var(--ice)}.opening h1{font-size:clamp(3.2rem,5.5vw,5.25rem);line-height:1.06}.opening h1 em{color:var(--ice)}.opening h1 span{display:block;font-size:.42em;margin-top:20px;letter-spacing:-.02em}.opening-promise{font-size:1.24rem;color:white;line-height:1.55;margin:28px 0 16px}.opening-pitch>p:not(.opening-promise){color:#c4d4df}.opening-pitch>p{max-width:450px}.opening-photo{grid-area:photo;align-self:end}.opening-photo img{width:100%;height:auto}.opening-review{grid-area:review;background:#c8e0ee;color:var(--ink);padding:27px 30px;align-self:start}.opening-review .eyebrow{font-size:.67rem;color:#35546a;margin-bottom:12px}.opening-review blockquote{font-family:Georgia,serif;line-height:1.35;font-size:1.6rem;letter-spacing:-.025em}.opening-review .review-author{font-size:.79rem;color:#35546a;margin-top:17px;line-height:1.6}.opening-review .text-link{font-size:.8rem;margin-top:12px}.opening .inquiry-help{font-size:.82rem;margin-top:13px}.opening .hero-note{font-size:.76rem;margin-top:20px!important}.wedding-scene{width:100%}
@media(max-width:1150px){.opening-grid{gap:0 35px}.opening h1{font-size:3.8rem}.opening-review{padding:24px}.opening-review blockquote{font-size:1.4rem}.opening-promise{font-size:1.14rem}.opening .hero-actions{gap:19px}.opening .button{padding-inline:16px;gap:17px;font-size:.92rem}.opening .hero-actions .text-link{font-size:.85rem}}
@media(max-width:960px) and (min-width:761px){.opening{padding-block:42px}.opening-grid{gap:0 25px;grid-template-columns:1fr 1fr}.opening h1{font-size:3.25rem}.opening-promise{font-size:1.05rem}.opening-pitch>p{font-size:.95rem}.opening-review blockquote{font-size:1.25rem}.opening .hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.opening-review{padding:22px}}
@media(max-width:760px){.opening{padding:30px 0 36px}.opening-grid{grid-template-columns:1fr;grid-template-areas:none;gap:0}.opening-copy{display:contents}.opening-title{grid-row:1;padding-bottom:25px}.opening h1{font-size:clamp(2.75rem,10vw,4rem)}.opening h1 span{margin-top:13px;font-size:.46em}.opening-title .eyebrow{font-size:.67rem;margin-bottom:15px}.opening-photo{grid-area:auto;grid-row:2;margin-inline:-20px}.opening-pitch{grid-row:3;padding:24px 0 28px}.opening-promise{margin:0 0 13px;font-size:1.08rem}.opening-pitch>p{font-size:.94rem}.opening .hero-actions{margin-top:23px;gap:20px}.opening .button{font-size:.89rem;padding:13px 16px;gap:16px}.opening .inquiry-help{font-size:.78rem;margin-top:12px}.opening .hero-note{font-size:.74rem;margin-top:16px!important}.opening-review{grid-area:auto;grid-row:4;padding:24px}.opening-review blockquote{font-size:1.5rem}.opening-review .review-author{font-size:.79rem}.opening-review .text-link{font-size:.85rem}}
@media(max-width:360px){.opening-photo{margin-inline:-16px}.opening .hero-actions{gap:14px}.opening .button{font-size:.82rem;padding-inline:13px;gap:12px}.opening .hero-actions .text-link{font-size:.77rem}.opening-promise{font-size:1rem}.opening-review{padding:20px}}

/* Each audience gets its own composition, pacing and visual language. */
body{--accent:var(--ice)}main{overflow:clip}.opening{position:relative;isolation:isolate;overflow:clip}.opening-grid{position:relative}.opening-texture{opacity:.045!important;z-index:-1!important;background-size:190px!important}.logo-field{position:absolute;inset:-80px;background:url('assets/logo.png') repeat;background-size:150px;opacity:.13;pointer-events:none}.audience-hero{padding:28px 0 70px;position:relative;isolation:isolate}.audience-hero .breadcrumb{font-size:.875rem}.audience-copy{position:relative;z-index:2}.audience-copy .lead{max-width:550px}.audience-copy h1{font-size:clamp(3rem,5.5vw,5.4rem)}.audience-hero .service-note{font-size:.875rem;max-width:460px}.audience-details{background:var(--surface,#f7f9fa)}.audience-detail-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;margin-bottom:55px}.audience-detail-intro h2{font-size:clamp(2.3rem,3.7vw,3.7rem)}.audience-options{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.audience-options li{position:relative;padding:28px 0;border-top:1px solid var(--line)}.audience-options h3{margin-bottom:14px}.item-number{display:block;font-size:.875rem;letter-spacing:.1em;margin-bottom:22px}.audience-hero figure img{width:100%;height:auto}.audience-hero .eyebrow{font-size:.875rem}.theme-college{--accent:#9eeeff;--ice:#9eeeff;--blue:#0753d8;--surface:#ebf0ff}.college-hero{background:#1025b5;color:white;padding-bottom:0;overflow:hidden}.college-hero p{color:#e0eaff}.campus-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center;min-height:680px;padding-bottom:70px}.college-hero h1{font-family:DM,Arial,sans-serif;font-size:clamp(3.6rem,6.7vw,6.4rem);line-height:.97;letter-spacing:-.065em}.college-hero h1 em{font-family:inherit;font-weight:700;font-style:normal;color:#9eeeff;letter-spacing:inherit}.campus-art{position:relative;padding:30px 50px}.campus-portrait{position:relative;max-width:360px;rotate:5deg;box-shadow:18px 18px 0 #070f5d;border:8px solid #eaf8ff}.campus-tag{position:absolute;bottom:15px;left:0;background:#9eeeff;color:#071c63!important;padding:22px;font-weight:700;line-height:1.15;letter-spacing:-.04em;font-size:1.4rem;rotate:-5deg;box-shadow:7px 7px 0 #071c63}.scroll-band{overflow:hidden;background:#9eeeff;color:#081867;padding:18px 0;border-block:1px solid #081867;font-size:clamp(1.2rem,2.5vw,2.2rem);font-weight:700;letter-spacing:.015em;white-space:nowrap}.scroll-band>div{width:max-content;transform:translate3d(var(--drift-x,0px),0,0);will-change:transform}.college-options li{border:2px solid #1025b5;padding:30px;box-shadow:6px 6px 0 #1025b5;background:white}.college-options li:nth-child(2){margin-top:28px;margin-bottom:-28px}.theme-college .booking{background:#0a124b}.theme-college .closing{background:#1025b5}.theme-college .steps>li>span{font-family:DM;font-style:normal;font-weight:700}.theme-college .audience-detail-intro em{font-family:DM;font-weight:700;font-style:normal;color:#1025b5}.theme-college .pattern{opacity:.09;background-size:170px}
/* A reading-room pace: warm paper, deep teal, generous margins. */
.theme-library{--surface:#fffaf0;--ice:#d4ede3;--blue:#225d53;--line:#b9d0c3}.library-hero{background:#f5efdf;padding-bottom:95px}.library-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center;padding-top:20px}.library-art{position:relative;padding:25px 22px 0 0}.library-mat{position:absolute;inset:0 0 20px 24px;background:#225d53;border-radius:180px 180px 8px 8px}.library-art figure{position:relative;rotate:-3deg;background:white;padding:14px;box-shadow:0 12px 35px #17332b20}.library-art figure img{aspect-ratio:1;object-fit:cover;object-position:50% 70%}.library-art figcaption{font-family:Georgia,serif;font-style:italic;padding:18px 7px 8px;color:#225d53;font-size:1rem}.library-tab{position:absolute;right:-20px;top:60px;writing-mode:vertical-rl;background:#cbded0;padding:18px 12px;font-size:.75rem;letter-spacing:.15em;font-weight:700}.library-hero h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;font-size:clamp(3rem,5vw,4.8rem);line-height:1.1}.library-hero h1 em{color:#225d53}.theme-library .button{background:#225d53;color:white;border-radius:50px;padding-inline:25px}.library-options{gap:0}.library-options li{padding:25px 32px;border-top:3px solid #225d53;border-right:1px solid #b9d0c3}.library-options li:last-child{border-right:0}.library-options .item-number{font-family:Georgia;font-size:2.5rem;color:#225d53;margin-bottom:12px}.theme-library .booking{background:#225d53}.theme-library .closing{background:#173e38}.theme-library .steps{grid-template-columns:1fr 1fr}.theme-library .steps>li{display:grid;grid-template-columns:55px 1fr;gap:0 18px}.theme-library .steps>li>span{grid-row:1/3}.theme-library .steps>li p{grid-column:2}.theme-library .audience-details h2 em{color:#225d53}.theme-library .pattern{opacity:.055;background-size:190px}
/* A family show opens like the curtain going up. */
.theme-family{--ice:#b9ebff;--surface:#f0f8ff;--blue:#133fb4}.family-hero{background:#153fab;color:white;padding-bottom:0}.family-hero p{color:#e3eeff}.family-title{max-width:940px;text-align:center;margin:0 auto 52px}.family-title .lead{margin:25px auto;max-width:600px}.family-title .service-note{margin:18px auto}.family-title h1{font-size:clamp(3rem,6vw,5.8rem)}.family-title h1 em{color:#b9ebff}.family-stage{max-width:1050px;margin:auto;border:10px solid #b9ebff;box-shadow:20px -20px 0 #294eba}.family-caption{text-align:center;background:#b9ebff;color:#12337e;padding:27px 20px;font-weight:700;font-size:1.35rem;position:relative;z-index:2;margin-top:25px}.family-options li{background:#dceefb;padding:32px;border:0;border-radius:24px}.family-options li:nth-child(2){background:#ceddff}.family-options li:nth-child(3){background:#e2e5ff}.family-options .item-number{font-weight:700;font-size:2rem;color:#153fab}.theme-family .booking{background:#153fab}.theme-family .closing{background:#102968}.theme-family .button{border-radius:12px}
/* Schools: calm, clear and spacious, with the full room in view. */
.theme-school{--ice:#c5ebe7;--blue:#1b6667;--surface:white}.school-hero{background-color:#edf7f6;background-image:linear-gradient(#1b66670b 1px,transparent 1px),linear-gradient(90deg,#1b66670b 1px,transparent 1px);background-size:36px 36px}.school-title{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;align-items:center;padding:25px 0 55px}.school-title h1 em{color:#1b6667}.school-aside{justify-self:end;max-width:230px;border-block:2px solid #1b6667;padding:30px 0;font-weight:700;letter-spacing:.09em;color:#1b6667;text-align:center;font-size:1rem}.school-aside span{font-family:Georgia;font-size:2.5rem;font-style:italic;font-weight:400}.school-panorama{border-bottom:12px solid #1b6667}.school-panorama img{max-height:640px;object-fit:contain;background:#d1e7e3}.school-options{grid-template-columns:1fr}.school-options li{display:grid;grid-template-columns:70px 1fr 1.4fr;gap:30px;align-items:baseline}.school-options .item-number{margin:0;font-size:1.3rem;color:#1b6667}.theme-school .booking{background:#174b50}.theme-school .closing{background:#1b6667}
/* Dedicated-site companion pages retain their own editorial treatment. */
.theme-wedding{--surface:#fffdf8;--ice:#d9e5eb;--blue:#3d586a}.wedding-hero{background:#f4f0e8;padding-bottom:75px}.wedding-hero .audience-copy{text-align:center;max-width:900px;margin:25px auto 65px}.wedding-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(3.2rem,6vw,5.7rem);line-height:1.1}.wedding-hero .lead{margin:28px auto;max-width:620px}.wedding-hero .service-note{margin:20px auto}.wedding-panorama{border:12px solid white;box-shadow:0 20px 60px #2d3b421a}.theme-wedding .button{background:#324c5c;color:white;border-radius:0}.wedding-options .item-number{font-family:Georgia;font-style:italic;font-size:2rem;color:#526e7d}.theme-wedding .booking{background:#324c5c}.theme-wedding .closing{background:#405b6b}.theme-corporate{--ice:#c8e9fa;--surface:#fff;--blue:#184b70}.corporate-hero{background:#16242d;color:white}.corporate-hero p{color:#d0dee6}.corporate-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;padding-block:35px 65px}.corporate-grid figure{border-left:8px solid #c8e9fa}.corporate-grid h1{font-size:clamp(3rem,5vw,4.8rem)}.corporate-grid h1 em{font-family:DM;font-style:normal;font-weight:700;color:#c8e9fa;letter-spacing:-.045em}.corporate-facts{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #b9d0dc66;padding-top:26px;font-size:.875rem;letter-spacing:.1em}.corporate-options{gap:0}.corporate-options li{padding-inline:30px;border-left:1px solid #cbd4da}.theme-corporate .booking{background:#16242d}.theme-corporate .closing{background:#263e4b}
/* Private parties: intimate, after-dinner photography and deep plum. */
.theme-private{--ice:#ead7df;--surface:#faf5f7;--blue:#63384f}.private-hero{background:#30232d;color:white}.private-hero p{color:#e4d6de}.private-grid{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center;padding-top:25px}.private-grid figure{max-width:460px;border-radius:220px 220px 0 0;overflow:hidden;box-shadow:20px 20px 0 #543b4c}.private-grid h1{font-family:Georgia;font-weight:400;font-size:clamp(3rem,5.2vw,5rem)}.private-grid h1 em{color:#ead7df}.private-options li{border-top-color:#bca8b3}.private-options .item-number{font-family:Georgia;font-style:italic;font-size:2rem;color:#63384f}.theme-private .booking{background:#30232d}.theme-private .closing{background:#543b4c}
/* Motion adds depth without cropping photos or taking control of scrolling. */
[data-depth]{transform:translate3d(0,var(--depth-y,0px),0)}.motion-enabled [data-depth]{will-change:transform}.motion-enabled [data-reveal]{transition:opacity .65s ease,translate .8s cubic-bezier(.2,.7,.2,1)}.motion-enabled [data-reveal].await-reveal{opacity:0;translate:0 24px}.motion-enabled [data-reveal].revealed{opacity:1;translate:0 0}.motion-control{position:fixed;z-index:35;bottom:18px;right:18px;border:1px solid #8398ab;background:#111f30;color:#fff;box-shadow:0 3px 16px #0002;border-radius:30px;padding:9px 15px;min-height:44px;font:inherit;font-size:.875rem;cursor:pointer}.motion-paused [data-depth],.motion-paused .pattern,.motion-paused [data-drift]{transform:none!important}.motion-paused [data-reveal]{opacity:1!important;translate:none!important}.motion-paused .button,.motion-paused .show-image img{transition:none}.theme-home .pattern{opacity:.08;background-size:175px}.theme-home .closing .pattern{opacity:.09}
@media(max-width:1100px){.campus-grid{gap:25px;min-height:580px}.campus-art{padding-inline:25px}.campus-tag{font-size:1.1rem;padding:17px}.library-grid,.private-grid{gap:65px}.corporate-grid{gap:40px}.audience-detail-intro{gap:40px}.college-options li{padding:22px}.school-title{gap:40px}.opening-texture{opacity:.025!important}}
@media(max-width:760px){.audience-hero{padding-top:25px;padding-bottom:50px}.audience-copy h1{font-size:clamp(2.6rem,10vw,4.5rem)}.audience-copy .lead{font-size:1rem;margin:24px 0}.audience-hero .eyebrow{font-size:.78rem}.audience-hero .service-note{font-size:.875rem}.audience-detail-intro{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.audience-detail-intro h2{font-size:2.35rem}.audience-options{grid-template-columns:1fr;gap:18px}.audience-options li{padding:24px}.audience-options h3{font-size:1.35rem}.campus-grid{grid-template-columns:1fr;gap:40px;min-height:0;padding-bottom:50px}.college-hero{padding-bottom:0}.college-hero h1{font-size:clamp(3rem,13vw,5.3rem)}.campus-art{width:min(100%,400px);justify-self:center;padding:12px 30px 30px}.campus-portrait{max-width:285px;margin:auto}.campus-tag{bottom:0;left:0;font-size:1.1rem;padding:18px}.scroll-band{padding-block:15px}.college-options li:nth-child(2){margin:0}.theme-college .steps{grid-template-columns:1fr}.library-grid{display:flex;flex-direction:column-reverse;gap:50px;padding-top:0}.library-hero h1{font-size:clamp(2.8rem,10vw,4.2rem)}.library-art{width:min(100% - 14px,420px);margin-right:14px}.library-tab{right:-15px;font-size:.7rem;top:45px}.library-art figcaption{font-size:.94rem}.library-options li{border-right:0;border-top:2px solid #225d53;padding-inline:0}.library-options .item-number{font-size:2rem}.theme-library .steps{grid-template-columns:1fr}.family-title{text-align:left;margin-bottom:45px}.family-title .lead{margin:24px 0}.family-title .service-note{margin:18px 0}.family-stage{border-width:5px;box-shadow:10px -10px 0 #294eba}.family-caption{font-size:1.1rem;margin-top:15px;padding-block:22px}.family-hero{padding-bottom:0}.school-title{grid-template-columns:1fr;gap:25px;padding-top:0;padding-bottom:35px}.school-aside{display:none}.school-options li{grid-template-columns:35px 1fr;gap:12px;padding-inline:0}.school-options li p{grid-column:2}.school-options .item-number{font-size:1rem}.school-panorama{margin-inline:-20px;border-bottom-width:6px}.wedding-hero .audience-copy{margin:10px auto 45px}.wedding-hero .lead{margin:25px auto}.wedding-panorama{border-width:5px;margin-inline:-12px}.corporate-grid{grid-template-columns:1fr;gap:45px;padding-top:0;padding-bottom:35px}.corporate-facts{flex-wrap:wrap;justify-content:flex-start;gap:14px 24px;font-size:.75rem}.corporate-options li{border-left:0;padding-inline:0}.private-grid{display:flex;flex-direction:column-reverse;gap:45px;padding-top:0}.private-grid figure{width:85%;margin-right:15px;border-radius:180px 180px 0 0;box-shadow:12px 12px 0 #543b4c}.private-options li{padding-inline:0}.motion-control{bottom:12px;right:12px;font-size:.8rem;padding:8px 12px}.footer-bottom{padding-bottom:76px}.opening-texture{display:none}.theme-home .pattern{background-size:145px}}
@media(prefers-reduced-motion:reduce){[data-depth],.pattern,[data-drift]{transform:none!important}[data-reveal]{opacity:1!important;translate:none!important}.motion-control{display:none!important}}
@media(max-width:760px){.campus-grid,.library-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}.campus-grid .audience-copy,.library-grid .audience-copy{display:contents}.campus-grid .audience-heading,.library-grid .audience-heading{grid-row:1}.campus-art,.library-art{grid-row:2}.campus-grid .audience-pitch,.library-grid .audience-pitch{grid-row:3}.campus-grid .lead,.library-grid .lead{margin-top:0}.library-art{max-width:340px;justify-self:center}.campus-art{max-width:330px}.campus-portrait{max-width:255px}.college-hero h1{font-size:clamp(2.85rem,11.7vw,5.3rem)}}
@media(max-width:360px){.library-hero h1{font-size:2.5rem}.audience-hero .button{font-size:.94rem;gap:16px;padding-inline:20px}}
.theme-library .booking .button,.theme-library .closing .button{background:#f5efdf;color:#173e38}.theme-wedding .booking .button,.theme-wedding .closing .button{background:#f4f0e8;color:#324c5c}
/* A full-width stage scene gives the next section a real foreground/background transition. */
.theme-home .experience{padding-bottom:0}.theme-home .experience>.wrap{width:100%;max-width:none}.theme-home .experience .section-head{width:min(1240px,calc(100% - 96px));margin:0 auto 48px}.performance-scene{position:relative;background:#08162b;isolation:isolate;padding:45px 0}.scene-sticky{position:relative;overflow:hidden;display:grid;place-items:center;min-height:400px;padding:60px 48px}.performance-scene .wide-photo{position:relative;z-index:1;width:min(1180px,100%);box-shadow:0 28px 80px #0006;overflow:visible}.performance-scene .wide-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.scene-pattern{opacity:.09;background-size:220px;inset:-260px;z-index:0}.motion-enabled .performance-scene{height:140svh;min-height:880px;padding:0}.motion-enabled .scene-sticky{position:sticky;top:88px;height:calc(100svh - 88px);min-height:420px;align-content:center}.motion-enabled .performance-scene .wide-photo{max-width:min(1180px,calc((100svh - 240px)*1.5))}.theme-home .experience .benefits{position:relative;z-index:3;width:min(1180px,calc(100% - 96px));margin:-40px auto 0;padding:44px;background:#fff;border-top:6px solid #91c9ec;box-shadow:0 22px 60px #11223a1a;gap:36px}.theme-home .shows-section{position:relative;padding-top:110px;border-radius:38px 38px 0 0;background:#d7e9f5;margin-top:65px}.theme-home .show-card{background:#f9fcff;padding:14px 14px 28px;box-shadow:0 12px 30px #1c446b14;border-bottom:4px solid #255a83}.theme-home .show-card h3,.theme-home .show-card p{padding-inline:10px}.theme-home .show-card:nth-child(2){margin-top:48px;margin-bottom:-48px}.theme-home .show-secondary{margin-top:85px}.theme-home .booking{margin-top:0;border-top:8px solid #91c9ec}.theme-home .about{background:#edf4f8;border-radius:0 0 38px 38px;position:relative;z-index:2;box-shadow:0 24px 60px #10243a12}.opening-photo{z-index:2;box-shadow:0 16px 45px #0003}.opening-review{position:relative;z-index:3}.pattern{inset:-240px;opacity:.07}.theme-home .opening-texture{opacity:.07!important}.theme-college .audience-details{position:relative;z-index:3;border-radius:36px 36px 0 0;margin-top:-12px;border-top:7px solid #9eeeff}.theme-library .audience-details{position:relative;z-index:3;border-top:8px solid #225d53;box-shadow:0 -18px 40px #173e3812}.audience-options li{transition:box-shadow .25s,translate .25s}.audience-options li:hover{translate:0 -5px;box-shadow:0 18px 30px #132c4514}.motion-enabled .show-card:nth-child(2)[data-reveal]{transition-delay:.12s}.motion-enabled .show-card:nth-child(3)[data-reveal]{transition-delay:.24s}
@media(max-width:960px){.motion-enabled .scene-sticky{top:130px;height:calc(100svh - 130px)}}
@media(max-width:760px){.theme-home .experience .section-head{width:calc(100% - 40px);margin-bottom:30px}.motion-enabled .performance-scene{height:105svh;min-height:640px}.scene-sticky{padding:48px 20px;min-height:300px}.motion-enabled .scene-sticky{top:76px;height:calc(72svh - 76px);min-height:310px}.motion-enabled .performance-scene .wide-photo{max-width:100%}.scene-pattern{background-size:120px;opacity:.1}.theme-home .experience .benefits{width:calc(100% - 32px);padding:28px 24px;margin-top:-55px;gap:22px;border-top-width:5px}.theme-home .shows-section{margin-top:45px;padding-top:60px;border-radius:24px 24px 0 0}.theme-home .show-card:nth-child(2){margin:0}.theme-home .show-secondary{margin-top:35px}.theme-home .about{border-radius:0 0 24px 24px}.theme-home .opening-texture{display:block;opacity:.035!important}.theme-home .show-card{padding-bottom:22px}.theme-college .audience-details{border-radius:22px 22px 0 0}.audience-options li:hover{translate:none}}
@media(prefers-reduced-motion:reduce){.performance-scene{height:auto!important;min-height:0!important}.scene-sticky{position:relative!important;height:auto!important;min-height:0!important}.performance-scene .wide-photo{max-width:1180px!important}.audience-options li:hover{translate:none}.show-card{transition-delay:0s!important}}
.motion-paused .performance-scene{height:auto;min-height:0}.motion-paused .scene-sticky{position:relative;height:auto;min-height:0}.motion-paused .audience-options li:hover{translate:none}

/* Requested type pairing. Versailles uses an installed face until a webfont is supplied. */
@font-face{font-family:'Open Sans';src:url('assets/open-sans-300.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:'Open Sans';src:url('assets/open-sans-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Open Sans';src:url('assets/open-sans-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Versailles';src:local('Versailles'),local('Versailles Regular');font-weight:400;font-style:normal;font-display:swap}
:root{--display-font:'Versailles',DM,Arial,sans-serif}
body{font-family:'Open Sans',Arial,sans-serif;font-size:18px;font-weight:300;line-height:1.7}
body :is(h1,h2,h3),body :is(h1,h2,h3) em{font-family:var(--display-font);font-weight:400;font-style:normal;letter-spacing:-.035em}
body :is(.opening,.audience-copy,.page-heading) h1{font-size:clamp(3.3rem,5.9vw,6rem);line-height:1.07;overflow-wrap:normal}
body h2,body .audience-detail-intro h2,body .closing h2{font-size:clamp(2.7rem,4.4vw,4.6rem);line-height:1.12}
body h3{font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.25}
body .opening-promise{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.45;font-weight:400}
body :is(.lead,.audience-pitch .lead){font-size:1.25rem;line-height:1.65}
body :is(.section-head>p,.benefits p,.steps p,.format-list p,.audience-options p,.audience-detail-intro>p,.show-card>p){font-size:1.125rem;line-height:1.7}
body :is(.button,.text-link,.menu-toggle,summary){font-family:'Open Sans',Arial,sans-serif;font-weight:600}
body :is(.eyebrow,.breadcrumb,.hero-note,.service-note,.inquiry-help){font-family:'Open Sans',Arial,sans-serif;font-weight:400}
body .eyebrow{font-size:.8rem;line-height:1.5}
body .audience-copy,body .opening-copy{min-width:0}
body .college-hero h1{letter-spacing:-.05em}
body .opening-title h1>span{font-size:.6em;letter-spacing:-.02em}
body .theme-library h1{color:#225d53}
/* Two identical groups make a continuous, seamless ribbon. Hidden from screen readers. */
.moving-banner{--ribbon-bg:#bcdef3;--ribbon-ink:#111f30;position:relative;isolation:isolate;overflow:hidden;width:100%;background:var(--ribbon-bg);color:var(--ribbon-ink);border-block:1px solid currentColor;padding:24px 0}
.banner-track{display:flex;width:max-content;animation:banner-travel 38s linear infinite;animation-play-state:paused;will-change:transform}
.banner-track>div{display:flex;flex:none;align-items:center}
.banner-track span{display:flex;align-items:center;gap:44px;padding-inline:22px;font-family:var(--display-font);font-size:clamp(1.7rem,3.5vw,3.2rem);font-weight:400;letter-spacing:.025em;line-height:1.15;white-space:nowrap}
.banner-track i{font-size:.65em;font-style:normal}
.moving-banner.reverse{--ribbon-bg:#111f30;--ribbon-ink:#bcdef3}
.reverse .banner-track{animation-direction:reverse;animation-duration:45s}
.motion-enabled .banner-track{animation-play-state:running}
.theme-college .moving-banner{--ribbon-bg:#9eeeff;--ribbon-ink:#1025b5}
.theme-college .banner-track{animation-duration:28s}
.theme-library .moving-banner{--ribbon-bg:#225d53;--ribbon-ink:#fff8e9}
.theme-library .banner-track{animation-duration:55s}
.theme-private .moving-banner{--ribbon-bg:#63384f;--ribbon-ink:#fff4f8}
.theme-wedding .moving-banner{--ribbon-bg:#e7edf0;--ribbon-ink:#263945}
@keyframes banner-travel{to{transform:translateX(-50%)}}
.motion-paused .banner-track{animation-play-state:paused;will-change:auto}
@media(max-width:1100px){body .site-header nav{gap:15px}body .site-header nav a{font-size:.8rem}body .brand span{font-size:1.1rem}}
@media(max-width:760px){
 body{font-size:18px}
 body :is(.opening,.audience-copy,.page-heading) h1{font-size:clamp(2.9rem,10.5vw,4.6rem)}
 body h2,body .audience-detail-intro h2,body .closing h2{font-size:clamp(2.35rem,8.7vw,3.3rem)}
 body .opening-promise{font-size:1.4rem}
 body :is(.lead,.audience-pitch .lead){font-size:1.125rem}
 .moving-banner{padding-block:19px}.banner-track span{gap:24px;padding-inline:12px}
 body .site-header nav a{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){.banner-track{animation:none!important;will-change:auto}}

/* Full-width photographic entrances with the supplied Versailles LT face. */
@font-face{font-family:'Versailles LT Web';src:url('assets/versailles-lt-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.edge-hero{background:#111f30;color:#fff;overflow:hidden}
.edge-heading{padding-block:54px 46px}
.edge-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:6vw;align-items:end}
body .edge-intro h1{font-size:clamp(3.3rem,5.8vw,6rem);line-height:1.1;letter-spacing:-.015em;margin:0}
.edge-intro h1 em{color:#bcdef3}
.edge-hero .eyebrow,.edge-hero .breadcrumb{color:inherit}
.edge-pitch{max-width:470px;font-size:1.125rem}
.edge-pitch p{margin-bottom:22px}
.edge-pitch .opening-promise{font-size:1.4rem;margin-top:0}
.edge-photo{display:block;width:100%;margin:0;overflow:hidden;background:#111f30}
.edge-photo img{display:block;width:100%;height:auto;border-radius:0;max-width:none;object-fit:cover}
.edge-photo picture{display:block}
.home-edge .edge-photo img,.wedding-edge .edge-photo img{aspect-ratio:2.36;object-position:50% 50%}
.college-edge{background:#1025b5}.college-edge .edge-photo img{aspect-ratio:1.595}
.college-edge h1 em{color:#9eeeff}
.library-edge{background:#fff8e9;color:#225d53}.library-edge h1 em{color:#225d53}
.library-edge .edge-photo img{height:clamp(420px,60vw,850px);object-position:50% 40%}
.family-edge{background:#d6f2ff;color:#111f30}.family-edge h1 em{color:#255a83}
.school-edge{background:#e4f2ef;color:#183d39}.school-edge h1 em{color:#225d53}
.school-edge .edge-photo img{aspect-ratio:1.5;object-position:center 60%}
.wedding-edge{background:#f4f7f8;color:#263945}.wedding-edge h1 em{color:#526e7d}
.private-edge{background:#3c2534}.private-edge h1 em{color:#f3cde2}
.private-edge .edge-photo img,.info-photo img{max-height:760px;object-position:50% 45%}
.hero-quote{padding-block:36px;text-align:center}
.hero-quote blockquote{font-family:var(--display-font);font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.4;margin:0 0 12px}
.hero-quote p{font-size:.9rem;margin:0}
.book-story{background:#fff8e9;color:#183d39;border-block:1px solid #b4c7be}
.book-grid{display:grid;grid-template-columns:260px 1fr;gap:7vw;align-items:center}
.book-grid figure{margin:0;text-align:center}
.book-grid img{width:220px;max-width:100%;height:auto;box-shadow:14px 20px 0 #225d53;transform:rotate(-3deg)}
.book-grid p{max-width:680px}.book-grid h2{margin-bottom:26px}
.book-grid p em{font:inherit;font-style:italic;letter-spacing:normal}
.planner-resources{background:#1025b5;color:white}
.planner-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:7vw;align-items:center}
.planner-resources h2{margin-bottom:24px}.planner-resources h2 em{color:#9eeeff}
.planner-resources .eyebrow{color:#9eeeff}
.planner-resources .button{background:#9eeeff;color:#081867}
.planner-price{padding:32px;border:1px solid #9eeeff}
.planner-price dl{margin:0 0 24px}.planner-price dt{font-size:1.05rem;margin-top:20px}.planner-price dd{font-family:var(--display-font);font-size:2.1rem;margin:0}
.planner-price p{font-size:.95rem}.download-note{font-size:.875rem;margin-top:15px}
.area-layout.area-text{display:block;max-width:900px}.info-photo{margin-bottom:64px}
@media(max-width:760px){
 .edge-heading{padding-block:32px}.edge-intro{grid-template-columns:1fr;gap:24px}
 body .edge-intro h1{font-size:clamp(2.7rem,10vw,4.5rem)}
 .edge-pitch{max-width:none}.edge-pitch p{margin-bottom:18px}
 .edge-photo img,.school-edge .edge-photo img,.college-edge .edge-photo img{height:auto;aspect-ratio:auto;max-height:none}
 .home-edge .edge-photo img,.wedding-edge .edge-photo img{aspect-ratio:1.25;object-position:60% center}
 .library-edge .edge-photo img{height:auto;aspect-ratio:auto}
 .book-grid,.planner-grid{grid-template-columns:1fr;gap:40px}
 .book-grid figure{order:2}.book-grid img{width:185px;margin-inline:auto}
 .planner-price{padding:24px}.info-photo{margin-bottom:40px}
}

/* The photograph is the entrance; headline and photograph move at different speeds. */
.home-edge{position:relative;min-height:calc(100svh - 88px);display:flex;align-items:center;background:#071525;isolation:isolate}
.home-edge .edge-photo{position:absolute;inset:0;height:100%;z-index:-2}
.home-edge .edge-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:62% 45%}
.home-edge::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#061426f2 0%,#061426c9 28%,#06142625 72%),linear-gradient(0deg,#061426b3,transparent 55%);pointer-events:none}
.home-edge .edge-heading{padding-block:100px 90px}
.home-edge .edge-intro{display:block}
body .home-edge h1{font-size:clamp(5rem,9vw,9rem);line-height:1.04;max-width:850px;letter-spacing:-.025em}
body .home-edge h1 .hero-kicker{display:block;font-family:'Open Sans',sans-serif;font-size:clamp(1rem,1.7vw,1.4rem);letter-spacing:.04em;margin-bottom:20px;font-weight:300}
body .home-edge h1 em{color:white}
.home-edge .edge-pitch{margin-top:32px;max-width:440px}
.home-edge .edge-pitch p{color:#eaf4fc}.home-edge .edge-pitch .opening-promise{font-size:1.55rem;line-height:1.45}
.home-edge .eyebrow{color:#bcdef3}.home-edge .button{border-radius:999px;background:white;padding:19px 30px;margin-top:8px}
.edge-photo[data-photo-parallax] img{transform:translate3d(0,var(--photo-y,0px),0) scale(1.16);will-change:transform}
.edge-photo[data-photo-parallax]{isolation:isolate}
.moving-banner{padding:29px 0;border:0;background:#bcdef3;z-index:4}
.banner-track{animation-duration:19s;animation-play-state:running}
.banner-track span{font-size:clamp(2rem,5vw,5rem);letter-spacing:-.015em;gap:65px;padding-inline:32px}
.reverse .banner-track{animation-duration:24s}
.theme-college .banner-track{animation-duration:16s}
.theme-library .banner-track{animation-duration:27s}
.theme-home .hero-quote{padding-block:64px}
.theme-home .shows-section{border-radius:0;background:#edf4fa}
.theme-home .show-card{border:0;box-shadow:none;background:transparent;padding:0}
.theme-home .show-image{border-radius:180px 180px 8px 8px}
.theme-home .show-card:nth-child(2) .show-image{border-radius:8px}
.theme-home .show-image img{height:430px}
.theme-home .booking{border-top:0}.theme-home .about{border-radius:0}
.motion-control{display:block!important;z-index:100!important;background:#fff!important;color:#111f30!important;box-shadow:0 5px 24px #0003;border:1px solid #9cb5c8!important}
.motion-paused .banner-track{animation-play-state:paused!important}
.motion-paused .edge-photo img{transform:none!important}
/* Honor reduced motion initially, with an explicit opt-in that remains available. */
@media(prefers-reduced-motion:reduce){
 body.motion-enabled .banner-track{animation:banner-travel 19s linear infinite!important}
 body.motion-enabled .reverse .banner-track{animation-direction:reverse!important}
 body.motion-enabled [data-depth]{transform:translate3d(0,var(--depth-y,0px),0)!important}
 body.motion-enabled .pattern{transform:translateY(var(--parallax-y)) rotate(-12deg)!important}
}
@media(max-width:760px){
 .home-edge{min-height:calc(100svh - 76px);align-items:flex-end}
 .home-edge .edge-heading{padding-block:260px 58px}
 .home-edge::after{background:linear-gradient(0deg,#061426f5 0%,#061426b3 42%,#06142608 85%)}
 .home-edge .edge-photo img{object-position:65% 40%}
 body .home-edge h1{font-size:clamp(3.8rem,15vw,6rem)}
 .home-edge .edge-pitch{margin-top:22px}
 .home-edge .edge-pitch .opening-promise{font-size:1.2rem}
 .home-edge .edge-pitch>p:not(.opening-promise){font-size:1rem}
 .edge-photo[data-photo-parallax] img{transform:translate3d(0,var(--photo-y,0px),0) scale(1.12)}
 .moving-banner{padding-block:23px}.banner-track span{gap:30px;padding-inline:15px}
 .theme-home .show-image img{height:370px}
}
.home-edge .edge-photo{z-index:0}
.home-edge::after{z-index:1}
.home-edge .edge-heading{position:relative;z-index:2}

:root{--display-font:"Versailles LT Web",Georgia,serif}

/* College: a clean editorial layout, high-contrast copy, and unframed photography. */
.college-edge,.theme-college .planner-resources{background:#101c35;color:#fff}
.theme-college .edge-pitch p,.theme-college .planner-resources p{color:#edf5ff;font-weight:400}
.theme-college .edge-heading .eyebrow,.theme-college .planner-resources .eyebrow{color:#a3efff}
.theme-college .edge-heading .breadcrumb{color:#d8e6f6}
.theme-college .edge-intro h1 em{color:#a3efff}
.college-edge .edge-photo img{aspect-ratio:1.5}
.theme-college .audience-details{margin-top:0;border:0;border-radius:0;box-shadow:none;background:#f7f9fc}
.theme-college .audience-detail-intro em{font-family:var(--display-font);font-weight:400;color:#184e90}
.theme-college .audience-details p{color:#33465d;font-weight:400}
.theme-college .college-options{display:block}
.theme-college .college-options li,.theme-college .college-options li:nth-child(2){display:grid;grid-template-columns:46px 1fr 1.3fr;align-items:baseline;gap:30px;margin:0;padding:30px 0;background:transparent;border:0;border-top:1px solid #bac8d8;box-shadow:none;transform:none;translate:none;border-radius:0}
.theme-college .college-options li:hover{box-shadow:none;translate:none}
.theme-college .college-options .item-number{color:#184e90;font-size:.9rem;font-weight:600}
.theme-college .college-options h3{margin:0}
.theme-college .planner-price{border:0;border-left:1px solid #60738e;border-radius:0;box-shadow:none;padding:0 0 0 40px;background:transparent}
.theme-college .planner-price dt{color:#edf5ff;font-weight:400}
.theme-college .planner-price dd{color:#a3efff}
.theme-college .planner-price p{color:#d8e6f6}
.theme-college .booking{background:#182942}
.theme-college .booking .pattern{display:none}
.theme-college .booking p,.theme-college .closing p{color:#edf5ff;font-weight:400}
.theme-college .closing{background:#101c35}
.theme-college .local-note{color:#33465d}
body .site-header nav a{font-size:.875rem;white-space:nowrap}
@media(min-width:761px) and (max-width:1180px){.nav{flex-wrap:wrap;padding-block:16px;gap:16px}.nav nav{width:100%;justify-content:space-between;gap:14px}}
@media(max-width:760px){
 .theme-college .college-options li,.theme-college .college-options li:nth-child(2){grid-template-columns:28px minmax(0,1fr);gap:12px;padding-block:25px}
 .theme-college .college-options p{grid-column:2}
 .theme-college .planner-price{padding:28px 0 0;border:0;border-top:1px solid #60738e}
 .college-edge .edge-photo img{aspect-ratio:auto}
 body .site-header nav a{font-size:1rem}
}

/* Chris Wheel brand typography: punchy display lettering, open readable text. */
@font-face{font-family:'CW Bebas';src:url('assets/bebas-neue-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'CW Manrope';src:url('assets/manrope-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'CW Manrope';src:url('assets/manrope-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{--display-font:'CW Bebas',Impact,sans-serif}
body{font-family:'CW Manrope',Arial,sans-serif;font-weight:400}
body :is(h1,h2),body :is(h1,h2) em{font-family:var(--display-font);font-weight:400;font-style:normal;letter-spacing:.015em;line-height:1.03}
body :is(h3,p,button,summary,.button,.text-link,.eyebrow,.breadcrumb,.brand,.service-note,.hero-note,.inquiry-help),body .home-edge h1 .hero-kicker{font-family:'CW Manrope',Arial,sans-serif}
body :is(h3,button,summary,.button,.text-link){font-weight:600}
body .banner-track span{font-family:var(--display-font);letter-spacing:.035em}
body .edge-intro h1,body .home-edge h1{letter-spacing:.01em;line-height:1.02}
body .home-edge h1 .hero-kicker{font-weight:400;line-height:1.5;letter-spacing:.025em}
body .hero-quote blockquote{font-family:'CW Manrope',Arial,sans-serif;font-weight:400}
body .theme-college .audience-detail-intro em{font-family:var(--display-font)}

/* Campus: a full-width live-show poster with an uncluttered planner flow. */
.theme-college .campus-poster{position:relative;isolation:isolate;overflow:hidden;background:#06100f;min-height:760px;display:flex;align-items:center}
.campus-poster .edge-heading{position:relative;z-index:2;width:100%;padding-block:32px 72px;pointer-events:none}
.campus-poster .edge-heading a{pointer-events:auto}
.campus-poster .edge-photo{position:absolute;inset:0 0 0 43%;height:100%;z-index:0;background:#06100f}
.campus-poster .edge-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:50% 50%}
.campus-poster::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#06100f 5%,#06100f 33%,rgba(6,16,15,.72) 48%,transparent 69%)}
.campus-copy{max-width:650px;padding-top:46px}
body .campus-copy h1{font-size:clamp(4.2rem,8.2vw,8.8rem);line-height:.94;color:#c9ff63;margin:22px 0 28px;letter-spacing:.005em}
.campus-copy .campus-intro{max-width:440px;font-size:1.15rem;line-height:1.65;color:#f3f6f3}
.campus-actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:28px}
.theme-college .campus-actions .button{background:#c9ff63;color:#14200b;border-color:#c9ff63}
.campus-actions .text-link{color:#fff}
.campus-copy .campus-rate{font-size:.85rem;color:#d4e1da;margin-top:24px}
.theme-college .moving-banner{background:#c9ff63;color:#14200b}
.theme-college .campus-proof{background:#c9ff63;color:#14200b}
.campus-proof-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:8vw;align-items:center}
.campus-proof blockquote{font-family:'CW Manrope',Arial,sans-serif;font-size:clamp(1.55rem,2.5vw,2.5rem);line-height:1.4;margin:24px 0}
.campus-proof p{color:#14200b}
.campus-reel{display:flex;align-items:center;gap:24px;color:#14200b;font-family:var(--display-font);font-size:2.3rem;text-decoration:none;padding-block:35px;border-block:1px solid #536a29}
.campus-reel small{display:block;font-family:'CW Manrope',Arial,sans-serif;font-size:.95rem;margin-top:12px}
.reel-play{font-size:2rem;transition:transform .2s}.campus-reel:hover .reel-play{transform:translateX(6px)}
@media(max-width:760px){
 .theme-college .campus-poster{min-height:0;display:block;padding-top:0}
 .campus-poster .edge-heading{padding-top:24px;padding-bottom:36px}
 .campus-poster .edge-photo{inset:45px 0 auto 24%;height:440px;opacity:.9}
 .campus-poster .edge-photo img{object-position:center top}
 .campus-poster::after{background:linear-gradient(0deg,#06100f 0%,#06100f 37%,transparent 82%)}
 .campus-copy{padding-top:325px;max-width:none}
 body .campus-copy h1{font-size:clamp(3.65rem,13vw,6rem);margin-block:18px}
 .campus-copy .campus-intro{font-size:1.05rem}
 .campus-copy .eyebrow{font-size:.7rem}
 .campus-actions{gap:22px}
 .campus-proof-grid{grid-template-columns:1fr;gap:30px}
 .campus-reel{font-size:2rem}
}

/* In-page promo playback, with a direct link as a fallback. */
.campus-proof-grid{grid-template-columns:1fr 1.35fr;gap:5vw}
.campus-video{min-width:0;scroll-margin-top:120px}
.campus-video h2{font-size:clamp(2.4rem,4vw,4rem);margin:0 0 20px}
.video-window{width:100%;aspect-ratio:16/9;background:#06100f}
.video-window iframe{display:block;width:100%;height:100%;border:0}
.campus-video .text-link{display:inline-block;color:#14200b;margin-top:16px}
@media(max-width:760px){.campus-proof-grid{grid-template-columns:minmax(0,1fr)}}

/* Audience reactions lead the homepage promo; preserve the full crowd photo. */
.home-reactions{background:#101c35;color:#fff;scroll-margin-top:100px}
.home-reactions .wrap{max-width:1000px}
.home-reactions h2{margin:0 0 28px;font-size:clamp(3rem,5vw,5rem)}
.home-reactions h2 em,.home-reactions .eyebrow{color:#a3efff}
.home-reactions .text-link{display:inline-block;color:#fff;margin-top:18px}
.performance-scene .wide-photo img{aspect-ratio:auto;height:auto;object-fit:contain}

/* Edge-to-edge performance photography; scroll motion stays inside the image. */
.theme-home .performance-panorama{width:100%;max-width:none;height:clamp(440px,60vw,900px);margin:0;border:0;border-radius:0;overflow:hidden;background:#111b2c}
.theme-home .performance-panorama img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 48%;border-radius:0}
.theme-home .experience .benefits{margin:0 auto;box-shadow:none;border-top:0;padding-block:48px}
@media(max-width:760px){
 .theme-home .performance-panorama{height:clamp(380px,115vw,580px)}
 .theme-home .performance-panorama img{object-position:27% 50%}
 .theme-home .experience .benefits{margin:0 auto;padding-block:32px}
}

/* Campus booking steps: subtle desktop emphasis and one-at-a-time mobile focus. */
.theme-college .steps li{padding:22px 16px;transition:transform .25s ease,background-color .3s ease,color .3s ease;transform-origin:center;background:transparent}
@media(hover:hover) and (pointer:fine){.theme-college.motion-enabled .steps li:hover{transform:scale(1.025);background:#c9ff63;color:#14200b}.theme-college.motion-enabled .steps li:hover :is(p,h3,span){color:#14200b}}
@media(max-width:760px){
 .theme-college.motion-enabled .steps li{transform:translateY(var(--step-y,0px));margin-block:10px}
 .theme-college.motion-enabled .steps li.scroll-highlight{background:#c9ff63;color:#14200b}
 .theme-college.motion-enabled .steps li.scroll-highlight :is(p,h3,span){color:#14200b}
}
.format-flexibility{padding-bottom:50px;font-size:1.1rem;max-width:900px}
@media(prefers-reduced-motion:reduce){.theme-college .steps li{transition:none}}

/* Service-area page: full-bleed crowd panorama with shared scroll parallax. */
.area-panorama{width:100%;max-width:none;height:clamp(420px,60vw,880px);margin:0;border:0;border-radius:0;overflow:hidden}
.area-panorama img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:52% 55%;border-radius:0}
@media(max-width:760px){.area-panorama{height:clamp(360px,110vw,550px)}.area-panorama img{object-position:53% 55%}}

/* Compact service links on the travel page. */
.area-possibilities .event-links{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 28px;margin-top:16px}
.area-possibilities .event-links a{display:inline-flex;flex:0 0 auto;justify-content:flex-start;padding:10px 0;min-height:44px;border:0;text-decoration:none}
.area-possibilities .event-links a:hover,.area-possibilities .event-links a:focus-visible{text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.area-possibilities .event-links{gap:4px 24px}}

/* Audience-specific client names and concise, attributed review excerpts. */
.client-proof{background:#edf3f6;color:#14283d}
.client-name-list{list-style:none;display:flex;flex-wrap:wrap;gap:18px 32px;margin:20px 0 0;padding:0;font-size:1.1rem;font-weight:600;line-height:1.5}
.client-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:40px}
.client-review-grid figure{margin:0;padding-top:28px;border-top:1px solid #9cadba}
.client-review-grid blockquote{margin:0 0 24px;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.55;font-family:'CW Manrope',Arial,sans-serif}
.client-review-grid figcaption{font-size:1rem;font-weight:600}
.client-review-grid figcaption span{display:block;margin-top:6px;font-size:.875rem;font-weight:400}
.theme-college .client-proof{background:#101c35;color:#fff}
.theme-college .client-proof .eyebrow{color:#c9ff63}
.theme-library .client-proof{background:#e8f1ed;color:#173e38}
.trusted>div{flex-wrap:wrap;justify-content:flex-start;gap:18px 32px}
@media(max-width:760px){.client-review-grid{grid-template-columns:1fr;gap:30px}.client-name-list{gap:14px 24px;font-size:1rem}.trusted{align-items:flex-start}.trusted>div{gap:16px 24px}}

/* A calmer navigation and centered client names. */
.trusted{display:block;text-align:center}
.trusted .eyebrow{margin-bottom:22px}
.trusted>div,.client-name-list{justify-content:center;text-align:center}
.client-proof>.wrap>.eyebrow{text-align:center}
.occasion-menu{position:relative;color:inherit}
.occasion-menu summary{cursor:pointer;font-size:.875rem;font-weight:600;padding:12px 0;list-style:none;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.occasion-menu summary::after{position:static;display:inline-block;margin:0;line-height:1;transform:none}
.occasion-menu summary::-webkit-details-marker{display:none}
.occasion-menu summary:hover,.occasion-menu[open] summary{color:#a3efff}
.occasion-links{position:absolute;top:100%;left:-24px;min-width:220px;padding:12px;background:#111f30;box-shadow:0 12px 28px #0004;z-index:30;display:grid;gap:2px;border:1px solid #496076}
body .site-header .occasion-links a{display:block;padding:12px;color:#fff;font-size:1rem}
.occasion-links a:hover,.occasion-links a:focus-visible{background:#29435c}
/* Review excerpts fade in as their photograph moves through the viewport. */
.performance-panorama,.school-quote-photo{position:relative}
.photo-reviews{position:absolute;right:5%;bottom:7%;width:min(500px,43%);z-index:3;display:grid;gap:26px;padding:26px;background:rgba(8,20,35,.88);color:white}
.photo-review blockquote{font-family:'CW Manrope',Arial,sans-serif;font-size:clamp(1.1rem,1.65vw,1.7rem);line-height:1.45;margin:0 0 10px}
.photo-review cite{font-family:'CW Manrope',Arial,sans-serif;font-size:.875rem;line-height:1.4;font-style:normal;color:#c3eaff}
.motion-enabled .photo-review{opacity:var(--quote-opacity,1);transform:translateY(var(--quote-shift,0px));will-change:opacity,transform}
.school-quote-photo{height:clamp(550px,65vw,950px)}
.school-edge .school-quote-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;aspect-ratio:auto}
.school-quote-photo .photo-reviews{right:auto;left:5%;bottom:5%}
.family-edge .edge-photo{height:clamp(500px,65vw,950px)}
.family-edge .edge-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 57%;aspect-ratio:auto}
@media(max-width:760px){
 .occasion-menu summary{font-size:1rem;min-height:44px;padding:12px 5px;border-bottom:1px solid #ffffff20}
 .occasion-links{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid #a3efff;margin:8px 0;padding:0 0 0 10px}
 .photo-reviews{right:0;left:0;bottom:0;width:auto;padding:22px 20px;gap:20px;background:linear-gradient(0deg,#081423 5%,rgba(8,20,35,.92) 85%,rgba(8,20,35,.75));}
 .photo-review blockquote{font-size:1.05rem}
 .photo-review cite{font-size:.8rem}
 .theme-home .performance-panorama{height:680px}
 .theme-home .performance-panorama img{object-position:27% 35%}
 .school-edge .school-quote-photo{height:720px}
 .school-edge .school-quote-photo img{object-position:78% 40%}
 .school-quote-photo .photo-reviews{left:0;right:0;bottom:0}
 .family-edge .edge-photo{height:600px}
 .family-edge .edge-photo img{object-position:50% 55%}
}
.motion-paused .photo-review{opacity:1;transform:none}

.motion-enabled .photo-reviews{opacity:var(--caption-opacity,1)}

/* Blend the studio backdrop into the campus hero without darkening the performer. */
.campus-poster .edge-photo{
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 22%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 18%,#000 76%,transparent 100%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent 0%,#000 22%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 18%,#000 76%,transparent 100%);
 mask-composite:intersect;
}
@media(max-width:760px){
 .campus-poster .edge-photo{
  opacity:1;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 20%,#000 100%),linear-gradient(to bottom,transparent 0%,#000 22%,#000 76%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 20%,#000 100%),linear-gradient(to bottom,transparent 0%,#000 22%,#000 76%,transparent 100%);
 }
}

/* Center-stage reviews: sequential scroll entrances instead of bottom captions. */
.edge-photo:has(.photo-reviews){position:relative}
.review-panorama{width:100%;height:clamp(520px,65vw,950px);overflow:hidden}
.review-panorama img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.edge-photo .photo-reviews,.school-quote-photo .photo-reviews{top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%);width:min(680px,80%);padding:0;background:none;gap:24px;opacity:1;text-align:center}
.photo-review{padding:28px;background:rgba(5,16,29,.84);border-radius:3px}
.photo-review blockquote{font-size:clamp(1.3rem,2.8vw,2.5rem);line-height:1.3}
.motion-enabled .photo-reviews{display:grid;opacity:1}
.motion-enabled .photo-review{grid-area:1/1;align-self:center;opacity:var(--quote-opacity,0);transform:translateY(var(--quote-shift,40px)) scale(var(--quote-scale,.94));pointer-events:none}
.motion-paused .photo-review{opacity:1;transform:none}
.college-review-photo img{object-position:center}
@media(max-width:760px){
 .edge-photo .photo-reviews,.school-quote-photo .photo-reviews{width:calc(100% - 40px);left:50%;right:auto;top:50%;bottom:auto}
 .photo-review{padding:24px 18px}
 .photo-review blockquote{font-size:clamp(1.25rem,5.7vw,1.8rem)}
 .photo-review cite{font-size:.875rem}
 .review-panorama{height:600px}
 .college-review-photo img{object-position:50% 50%}
}

/* Lift only the studio backdrop's darker tones to the hero's exact background. */
.campus-poster .edge-photo{background:transparent;mix-blend-mode:lighten}
.campus-reactions{max-width:1050px}

/* A quiet signature tied to Chris's paper-crane routine. */
.footer-signature{grid-column:1/-1;display:flex;justify-content:center;padding:18px 0 4px}
.footer-signature img{width:min(240px,58vw);height:auto}
.chris-aside{border-left:2px solid currentColor;padding-left:18px;margin-top:24px;font-size:1rem}

.service-footer{display:grid;grid-template-columns:1fr 1fr;gap:32px}.service-footer .footer-bottom{grid-column:1/-1}.service-inquiry{max-width:900px}.service-inquiry>p{max-width:600px}.service-inquiry .button{margin:24px 0}.service-inquiry .inquiry-help{font-size:.9rem}html{scroll-padding-top:110px}@media(max-width:760px){.service-footer{grid-template-columns:1fr}.service-footer .footer-bottom{grid-column:auto}.service-inquiry .button{max-width:100%}.footer-signature{grid-column:1/-1;padding-top:8px}}

/* Audience introductions keep the service journey personal and connected. */
.service-about{border-block:1px solid var(--line,#a0b0bd)}
.service-about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,6vw,90px);align-items:start}
.service-about h2{max-width:560px;font-size:clamp(2.4rem,4.5vw,4rem)}
.service-about-grid>div>p:not(.eyebrow){max-width:620px;margin-bottom:20px}
.service-about .text-link,.book-story .text-link{display:inline-block;margin-top:12px;min-height:44px;padding-block:10px}
@media(max-width:760px){.service-about-grid{grid-template-columns:1fr;gap:24px}.service-about h2{font-size:2.6rem}}

/* Official client marks: roomy, centered, with their original proportions. */
.client-logos{background:#fff;color:#15283c;padding:42px 0 46px;border-bottom:1px solid #e5e9ed}
.client-logos .eyebrow{text-align:center;margin:0 0 30px;color:#4c6073;font-size:.73rem}
.client-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 42px;list-style:none;margin:0;padding:0;align-items:center}
.client-logo{min-width:0;min-height:96px;display:flex;align-items:center;justify-content:center;margin:0;padding:6px 12px}
.client-logo img{display:block;width:100%;max-width:190px;height:80px;object-fit:contain;object-position:center}
.client-logo--pwc img{max-width:80px;height:64px}
.client-logo--utica-zoo img{max-width:115px}
.client-logo--estate-planning img{max-width:155px;height:88px}
.client-logo--gcc img,.client-logo--coldwell-banker img{filter:brightness(0)}
@media(max-width:760px){.client-logos{padding:30px 0}.client-logos .eyebrow{margin-bottom:20px}.client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.client-logo{min-height:78px;padding:4px 10px}.client-logo img{max-width:160px;height:64px}.client-logo--pwc img{max-width:66px;height:54px}.client-logo--utica-zoo img{max-width:95px}.client-logo--estate-planning img{max-width:135px;height:76px}}

/* Verified client marks used on their relevant service pages. */
.page-client-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;margin:24px 0 0;padding:0}
.page-client-logo{min-width:0;min-height:118px;margin:0;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:22px 24px;box-shadow:0 10px 28px #07192a12;border:1px solid #a6b3be35;overflow:hidden}
.page-client-logo.logo-light-bg{background:#fff}
.page-client-logo.logo-dark-bg{background:#10283f}
.page-client-logo img{display:block;width:100%;max-width:210px;height:74px;object-fit:contain;object-position:center}
.page-client-logo--pwc img{max-width:72px;height:58px}
.page-client-logo--utica-zoo img{max-width:100px}
.page-client-logo--estate-planning img{max-width:160px;height:86px}
.page-client-logo--mvcaa img{max-width:180px;height:68px}
.page-client-logo--city-rome img{max-width:175px}
.client-name-list--supplemental{margin-top:18px}
@media(max-width:900px){.page-client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.page-client-logo-grid{gap:12px}.page-client-logo{min-height:94px;padding:15px 14px;border-radius:12px}.page-client-logo img{height:60px;max-width:160px}.page-client-logo--pwc img{max-width:60px;height:50px}.page-client-logo--utica-zoo img{max-width:82px}.page-client-logo--estate-planning img{max-width:130px;height:68px}}

/* Keep the family-show card visually consistent with the other occasion cards. */
.theme-home .show-card:nth-child(3) .show-image img{object-fit:cover;object-position:72% 50%;background:transparent}
@media(max-width:760px){.theme-home .show-card:nth-child(3) .show-image img{aspect-ratio:1.05;object-position:72% 50%}}

/* Corporate: confident editorial navy, full-room photography, and planner-ready resources. */
.theme-corporate{--ice:#a9ddf8;--surface:#f3f7fa;--blue:#22638d}
.corporate-edge{background:#0c1c2d;color:#fff}
.corporate-edge .edge-intro h1 em{color:#a9ddf8}
.theme-corporate .eyebrow{color:#215a7a;font-weight:700}
.theme-corporate :is(.corporate-edge,.corporate-video,.planning-center,.booking,.closing) .eyebrow{color:#b9e6ff}
.theme-corporate .client-proof>.wrap>.eyebrow{color:#215a7a}
.theme-corporate .service-inquiry .eyebrow{color:#174d6c;font-weight:800}
.corporate-edge .edge-pitch p{color:#dbe8f0}
.corporate-edge .review-panorama{height:clamp(560px,58vw,860px)}
.corporate-edge .review-panorama img{object-position:50% 53%}
.theme-corporate .moving-banner{--ribbon-bg:#a9ddf8;--ribbon-ink:#0c1c2d}
.corporate-video{background:#0c1c2d;color:#fff}
.corporate-video-grid{display:grid;grid-template-columns:.8fr 1.35fr;gap:clamp(38px,7vw,100px);align-items:center}
.corporate-video h2{margin-bottom:24px}.corporate-video p{color:#c8d8e3;max-width:480px}
.corporate-video .video-window{box-shadow:22px 22px 0 #1e4d6e}
.corporate-formats{background:#e9f1f6}
.corporate-formats .section-head{align-items:start}
.format-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.format-cards article{background:#fff;padding:34px;border-top:5px solid #22638d;box-shadow:0 18px 45px #0c274014}
.format-cards span{color:#22638d;font-weight:600;font-size:.82rem;letter-spacing:.15em}
.format-cards h3{margin:28px 0 14px}.format-cards p{font-size:1rem}
.planning-center{background:#14283e;color:#fff}
.planning-center .planning-intro{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:". eyebrow" "copy title";column-gap:7vw;row-gap:14px;align-items:start;margin-bottom:48px}
.planning-center .planning-intro>.eyebrow{grid-area:eyebrow;margin:0}
.planning-center .planning-intro>h2{grid-area:title}
.planning-center .planning-intro>p:not(.eyebrow){grid-area:copy;align-self:end}
.planning-center .planning-intro p{color:#c5d5e0;max-width:520px}
.planning-center h2 em,.planning-center .eyebrow{color:#a9ddf8}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.resource-card{display:flex;flex-direction:column;min-height:310px;padding:30px;background:#fff;color:#14283e;border:1px solid #ffffff25;transition:transform .2s,background .2s}
.resource-card:hover{transform:translateY(-6px);background:#eaf6fc;text-decoration:none}
.resource-card>span{font-size:.73rem;letter-spacing:.12em;color:#42708f;font-weight:600}
.resource-card h3{margin:28px 0 14px}.resource-card p{font-size:.98rem}.resource-card strong{margin-top:auto;padding-top:32px;font-size:.9rem}
.theme-corporate .page-client-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1060px;margin-inline:auto}
.page-client-logo--t-mobile img{width:68px;height:68px}
@media(max-width:900px){.theme-corporate .page-client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Weddings: quiet ceremony-blue and warm ivory, with the celebration kept central. */
.theme-wedding{--surface:#fbfaf7;--ice:#e9dcc8;--blue:#526e7d}
.wedding-edge{background:#f6f3ed;color:#263945}
.wedding-edge .edge-intro h1 em{color:#8d6d4c}
.wedding-edge .review-panorama{height:clamp(560px,58vw,860px)}
.wedding-edge .review-panorama img{object-position:50% 45%}
.theme-wedding .moving-banner{--ribbon-bg:#263945;--ribbon-ink:#f4ede3}
.wedding-moments{background:#263945;color:#fff}
.wedding-moments>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,120px)}
.wedding-moments-heading{position:sticky;top:130px;align-self:start}
.wedding-moments-heading h2{margin-bottom:26px}.wedding-moments-heading h2 em,.wedding-moments .eyebrow{color:#e6d2b7}
.wedding-moments-heading p{color:#d8e1e5}
.wedding-moment-list article{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:30px 0;border-top:1px solid #ffffff45}
.wedding-moment-list article:last-child{border-bottom:1px solid #ffffff45}
.wedding-moment-list span{font-family:var(--display-font);font-size:2.25rem;color:#e6d2b7;line-height:1}
.wedding-moment-list h3{margin-bottom:10px}.wedding-moment-list p{color:#d8e1e5}

/* Near-bottom lead magnets: purposeful, accessible, and easy to dismiss. */
.lead-popup{width:min(920px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:0;border:0;border-radius:4px;color:#111f30;background:#f7fbfd;box-shadow:0 28px 100px #0008;overflow:auto}
.lead-popup::backdrop{background:rgba(3,12,22,.72);backdrop-filter:blur(4px)}
.lead-popup[open]{display:grid;grid-template-columns:180px 1fr}
.lead-popup-mark{display:grid;place-items:center;background:#17334b;color:#fff;min-height:100%}
.lead-popup-mark img{display:block;width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 10px 20px #07142155)}
.lead-popup-content{padding:clamp(34px,6vw,68px)}
.lead-popup h2{font-size:clamp(2.5rem,5vw,4.7rem);margin-bottom:20px}.lead-popup h2 em{color:#2e6c94}
.lead-popup-content>p:not(.eyebrow){max-width:620px}
.lead-popup-close{position:absolute;right:18px;top:14px;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:2rem;line-height:1;cursor:pointer}
.lead-form{margin-top:30px}.lead-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.lead-form label{display:grid;gap:7px;font-size:.78rem;font-weight:600;letter-spacing:.04em}
.lead-form input{width:100%;min-height:50px;padding:11px 13px;border:1px solid #8aa0b1;background:#fff;font:inherit;font-size:1rem}
.lead-form .button{border:0;cursor:pointer;background:#17334b;color:#fff}.lead-form .button:hover{background:#254f70}.lead-form .button:disabled{cursor:wait;opacity:.72}
.form-status{min-height:1.5em;margin:10px 0 0!important;color:#8b2430!important;font-size:.86rem;line-height:1.45}.lead-consent{font-size:.75rem;line-height:1.5;margin-top:13px!important;color:#586b78!important}.form-trap{display:none!important}
.lead-popup--wedding{background:#fbf7f0;color:#263945}.lead-popup--wedding .lead-popup-mark{background:#263945}.lead-popup--wedding h2 em{color:#8d6d4c}.lead-popup--wedding .lead-form .button{background:#8d6d4c;color:#fff}
.download-thanks{min-height:70svh;display:grid;place-items:center;background:#eaf2f7}
.theme-wedding .download-thanks{background:#f5f0e8}
.download-thanks-card{max-width:850px;text-align:center}.download-thanks-card h1{margin-bottom:24px}.download-thanks-card p{max-width:650px;margin-inline:auto}
.download-thanks-card .button{margin:30px 12px 18px;background:#17334b;color:#fff}.download-thanks-card .text-link{display:block;margin-top:10px}

@media(max-width:760px){
 .corporate-edge .review-panorama,.wedding-edge .review-panorama{height:620px}
 .corporate-edge .review-panorama img{object-position:40% 50%}.wedding-edge .review-panorama img{object-position:60% 50%}
 .corporate-video-grid,.planning-center .planning-intro,.wedding-moments>.wrap{grid-template-columns:1fr}
 .planning-center .planning-intro{grid-template-areas:"eyebrow" "title" "copy";row-gap:18px}
 .corporate-video .video-window{box-shadow:10px 10px 0 #1e4d6e}
 .format-cards,.resource-grid{grid-template-columns:1fr}.resource-card{min-height:240px}
 .wedding-moments-heading{position:static}.wedding-moment-list article{grid-template-columns:44px 1fr}
 .lead-popup[open]{display:block}.lead-popup-mark{display:flex;min-height:0;padding:20px 24px;justify-content:flex-start}.lead-popup-mark img{width:70px;height:70px}.lead-popup-close{color:#fff;z-index:2}.lead-popup-content{padding:38px 24px 30px}
 .lead-fields{grid-template-columns:1fr}.lead-form .button{width:100%}.lead-popup h2{font-size:2.65rem}
}
