@font-face{font-family:Manrope;src:url(/fonts/manrope.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{--font-manrope:Manrope}
:root{--font-display:var(--font-manrope),Arial,sans-serif;--font-body:var(--font-manrope),Arial,sans-serif;--ink:#211f1f;--paper:#f6f3ef;--accent:#d71932;--accent-strong:#bc1028;--black:#121212;--line:#d3ccc7}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}figure,p,h1,h2,h3{margin:0}img{display:block;max-width:100%;height:auto}svg{display:block}p{line-height:1.8}h1,h2,h3{font-family:var(--font-display);font-weight:550}h2{font-size:clamp(42px,5.1vw,80px);line-height:1.06;letter-spacing:-.065em}h3{letter-spacing:-.04em}::selection{background:#d71932;color:#ffffff}:focus-visible{outline:3px solid #d71932;outline-offset:6px}.skip-link{position:fixed;z-index:100;top:12px;left:20px;background:#fff5f0;padding:14px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}.section-shell{padding-inline:clamp(24px,6.4vw,120px)}.site-header{min-height:96px;padding:18px 4.2vw;display:flex;justify-content:space-between;align-items:center;gap:30px;background:#121212;color:#f6f3ef;border-bottom:1px solid #ffffff14;position:relative;z-index:20}.wordmark{display:inline-flex;flex-direction:column;gap:5px}.wordmark>span{font-size:25px;line-height:1.15;font-weight:750;letter-spacing:-.07em}.wordmark small{font-size:10px;letter-spacing:.03em;color:#b7afab}.site-navigation{display:flex;gap:clamp(20px,2.6vw,44px);align-items:center;font-size:12px}.site-navigation>a{min-height:44px;display:flex;align-items:center}.site-navigation>a:hover{color:#ff6175}.header-cta{border:1px solid #d71932;border-radius:3px;padding:12px 18px;gap:25px}.header-cta span{font-size:21px}.menu-toggle{display:none}.location-line{font-size:12px;color:#635b57;display:flex;align-items:center;gap:11px;margin-bottom:28px}.location-line>span{width:6px;height:6px;border-radius:50%;background:#d71932}.detailing{padding-block:115px 120px}.section-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end}.section-intro>p{max-width:390px;font-size:15px;color:#625b57;padding-bottom:4px}.detail-spread{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;margin-top:70px;align-items:center}.mobile-art{min-height:490px;background:#e6dfd8;position:relative;isolation:isolate;overflow:hidden;padding:38px;display:flex;flex-direction:column;justify-content:flex-end}.mobile-art:before,.mobile-art:after{content:"";position:absolute;width:650px;height:80px;border-block:1px solid #c6bbb3;z-index:-1;transform:rotate(-38deg);left:-120px;top:110px}.mobile-art:after{transform:rotate(38deg);top:150px}.route-line{position:absolute;inset:46px 55px 180px;border:1px solid #be8e8f;border-radius:45% 55% 30% 60%;transform:rotate(-15deg)}.map-pin{position:absolute;top:72px;left:52%;width:40px;color:#b41328}.art-place{position:absolute;top:141px;left:52%;font-size:11px;transform:translateX(-18px);color:#8e1a29}.mobile-art>p{font-size:clamp(32px,3.2vw,49px);line-height:1.14;letter-spacing:-.06em;font-weight:500;max-width:360px}.art-footnote{font-size:10px;color:#6a5c56;margin-top:25px;line-height:1.6}.detail-list article{border-top:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:.9fr 1fr;gap:25px}.detail-list article:nth-child(2){border-bottom:1px solid var(--line)}.detail-list h3{font-size:clamp(26px,2.5vw,39px);line-height:1.15}.detail-list p{font-size:13px;color:#625b57}.text-link{display:flex;gap:25px;align-items:center;font-size:12px;font-weight:650;margin-top:22px;min-height:44px}.text-link svg{width:19px;height:19px}.portfolio{padding-block:105px 85px;background:#191717;color:#f6f3ef}.portfolio-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:end;margin-bottom:54px}.portfolio-heading>p{color:#c8bdb7;font-size:14px;max-width:360px}.portfolio-placeholder{height:440px;position:relative;overflow:hidden;background:linear-gradient(120deg,#302020,#141212);border:1px solid #d7193240;display:flex;justify-content:flex-end;align-items:center;padding:45px 8%}.placeholder-tag{position:absolute;top:25px;left:25px;font-size:10px;color:#d4c8c1;border:1px solid #d7b6b650;padding:8px 13px;border-radius:2px}.ghost-wordmark{position:absolute;left:4%;bottom:20px;font-size:clamp(80px,13vw,190px);line-height:.9;letter-spacing:-.08em;font-weight:700;color:#f1c6c613;user-select:none}.placeholder-copy{position:relative;max-width:300px}.placeholder-icon{display:block;font-size:45px;font-weight:200;color:#d71932;margin-bottom:22px}.placeholder-copy h3{font-size:clamp(30px,3.2vw,48px);line-height:1.12;font-weight:450}.placeholder-copy p{font-size:11px;color:#bdb1ab;margin-top:18px}.portfolio-caption{display:flex;justify-content:space-between;gap:24px;margin-top:24px;font-size:10px;line-height:1.7;color:#bdb1ab}.approach{display:grid;grid-template-columns:1.2fr .82fr;gap:13%;padding-block:120px;background:#eae5df;align-items:center}.approach-copy>p{font-size:14px;color:#625b57;max-width:370px;margin-top:28px}.approach ol{padding:0;margin:40px 0 0;list-style:none}.approach li{display:flex;gap:28px;padding:24px 0;border-top:1px solid #cfc5bd}.approach li>span{font-size:11px;line-height:30px;color:#ad2433}.approach li h3{font-size:21px;line-height:1.4}.approach li p{font-size:12px;color:#625b57;margin-top:8px;max-width:380px}.visit-note{background:#c8102e;padding:40px 35px;color:#ffffff;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:520px}.note-symbol{font-size:50px;line-height:1;margin-bottom:65px}.visit-note h3{font-size:clamp(38px,4vw,61px);line-height:1.08;letter-spacing:-.065em}.visit-note>p{font-size:13px;margin-top:27px}.visit-note a{margin-top:32px;padding-block:15px;border-top:1px solid #ffffff55;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700}.visit-note svg{width:22px;height:22px}.visit-note small{font-size:10px;line-height:1.7;color:#fff0ed;margin-top:20px;max-width:230px}.questions{padding-block:105px 115px;display:grid;grid-template-columns:1fr 1.08fr;gap:12%}.questions h2{font-size:clamp(35px,3.8vw,58px)}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none}summary::-webkit-details-marker{display:none}.faq-list summary{padding:23px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:13px;font-weight:650;line-height:1.6}.faq-list summary>span{font-size:23px;font-weight:300;color:#bb1930}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:12px;line-height:1.9;color:#625b57;padding:0 25px 25px 0}.contact{background:#191717;color:#f6f3ef;padding-block:40px 90px}.contact-topline{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #a78d8455;padding-bottom:26px;font-size:11px}.contact-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:9%;padding-top:65px;align-items:start}.contact h2{font-size:clamp(52px,6.3vw,96px);line-height:1.02;letter-spacing:-.075em}.contact-copy>p{font-size:14px;margin-top:30px;color:#c8bdb7}.booking-note{display:flex;gap:12px;border-top:1px solid #a78d8455;margin-top:45px;padding-top:23px;max-width:350px}.booking-note>span{height:6px;width:6px;border-radius:50%;background:#f23b53;margin-top:7px;flex-shrink:0}.booking-note strong{font-size:12px}.booking-note p{font-size:11px;line-height:1.8;color:#c8bdb7;margin-top:7px}.planner{padding:30px;background:#f3eee7;color:#302622;border:1px solid #ffffff55}.planner-title h3{font-size:25px;line-height:1.2}.planner-title p{font-size:11px;margin-top:8px;color:#665c55}.planner>label{display:block;font-size:11px;font-weight:700;margin:24px 0 8px}.planner>label span{font-weight:400}.planner>input,.planner textarea{width:100%;min-height:46px;border:1px solid #a79a91;background:#fffcf8;color:#302622;padding:13px;font-size:12px;border-radius:2px;outline-offset:3px}.planner input::placeholder,.planner textarea::placeholder{color:#75665c}.planner textarea{resize:vertical}.planner fieldset{border:0;margin:24px 0 0;padding:0}.planner legend{font-size:11px;font-weight:700;margin-bottom:10px}.focus-options{display:flex;gap:8px;flex-wrap:wrap}.focus-options label{position:relative;cursor:pointer}.focus-options input{position:absolute;opacity:0;width:1px;height:1px}.focus-options span{display:flex;align-items:center;min-height:44px;padding:10px 11px;border:1px solid #ae9d92;font-size:10px;border-radius:2px;background:#fffaf4}.focus-options input:checked+span{background:#bc1028;color:#fff;border-color:#bc1028}.focus-options input:focus-visible+span{outline:3px solid #d71932;outline-offset:3px}.planner-privacy{font-size:10px;line-height:1.7;color:#65594f;margin:16px 0}.copy-button{border:0;background:#bc1028;color:#fffcf8;min-height:51px;padding:15px 18px;display:flex;justify-content:space-between;gap:15px;align-items:center;width:100%;font-size:12px;font-weight:650;border-radius:2px}.copy-button:hover{background:#9f1024}.copy-button span{font-size:21px}.copy-status{font-size:11px;line-height:1.7;margin-top:10px}.copy-status:empty{display:none}.brief-output{margin-top:10px}.brief-output summary{font-size:10px;text-decoration:underline;min-height:44px;display:flex;align-items:center}.brief-output pre{font-family:inherit;font-size:11px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.site-footer{background:#121212;color:#f6f3ef;padding-block:50px 28px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:40px}.footer-main nav{display:flex;gap:25px;font-size:11px;color:#c8bdb7}.footer-main nav a{min-height:44px;display:flex;align-items:center}.back-top{display:flex;gap:20px;align-items:center;min-height:44px;font-size:11px}.back-top span{font-size:24px}.footer-small{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid #ffffff20;color:#b5aaa4;font-size:9px}.artwork-credit{color:#b5aaa4;font-size:9px;line-height:1.9;margin-top:15px;max-width:800px}.artwork-credit a{text-decoration:underline;text-underline-offset:3px}.mobile-cta{display:none}
@media(min-width:1700px){.section-shell{padding-inline:max(120px,calc((100vw - 1450px)/2))}.site-header{padding-inline:max(80px,calc((100vw - 1530px)/2))}}
@media(max-width:1100px){.detail-list article{grid-template-columns:1fr;gap:16px}.detail-list h3 br{display:none}.approach{gap:8%}.contact-grid{gap:5%}.planner{padding:24px}.questions{gap:8%}.footer-main{flex-wrap:wrap}.site-navigation{gap:20px}.wordmark>span{font-size:23px}}
@media(max-width:760px){html{scroll-padding-top:20px}body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.site-header{min-height:84px;padding:17px 6vw}.wordmark>span{font-size:23px}.wordmark small{font-size:9px}.menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;min-width:78px;background:transparent;border:0;font-size:11px;padding:8px 0 8px 10px}.menu-toggle>span{font-size:24px}.menu-toggle>.menu-label{font-size:11px}.site-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#211c1c;padding:20px 6vw 26px;border-bottom:1px solid #74323a}.site-navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:5px}.site-navigation>a{padding-block:13px}.site-navigation .header-cta{margin-top:10px;justify-content:space-between;padding-inline:15px}.section-shell{padding-inline:6vw}.detailing{padding-block:70px 75px}.section-intro,.detail-spread,.portfolio-heading,.approach,.questions,.contact-grid{grid-template-columns:1fr;gap:30px}.location-line{font-size:10px;margin-bottom:23px}h2{font-size:clamp(38px,10.7vw,62px)}.section-intro>p{font-size:13px;max-width:500px}.detail-spread{margin-top:40px;gap:33px}.mobile-art{min-height:410px;padding:28px}.mobile-art>p{font-size:39px}.detail-list article{grid-template-columns:.85fr 1fr;gap:20px;padding-block:25px}.detail-list h3{font-size:25px}.detail-list h3 br{display:block}.detail-list p{font-size:12px}.portfolio{padding-block:70px 55px}.portfolio-heading{margin-bottom:35px}.portfolio-heading>p{font-size:12px;max-width:330px}.portfolio-placeholder{height:365px;padding:70px 30px 35px;justify-content:flex-end;align-items:flex-end}.placeholder-copy h3{font-size:35px}.ghost-wordmark{font-size:90px;bottom:auto;top:87px;left:4%;color:#f1c6c614}.placeholder-icon{margin-bottom:14px;font-size:33px}.placeholder-tag{top:20px;left:20px;font-size:9px}.portfolio-caption{flex-direction:column;gap:5px;font-size:9px}.approach{padding-block:70px;gap:35px}.approach-copy>p{font-size:13px}.approach li{gap:23px}.approach li h3{font-size:20px}.visit-note{min-height:440px;padding:30px}.visit-note h3{font-size:48px}.note-symbol{margin-bottom:32px}.visit-note>a{max-width:400px}.visit-note small{max-width:300px}.questions{padding-block:65px 75px;gap:35px}.questions h2{font-size:40px}.faq-list summary{font-size:12px;padding-block:23px}.contact{padding-block:28px 55px}.contact-topline{font-size:10px;padding-bottom:22px}.contact-grid{padding-top:42px;gap:35px}.contact h2{font-size:clamp(48px,12.9vw,73px)}.contact-copy>p{margin-top:25px;font-size:13px}.booking-note{margin-top:30px;max-width:420px}.planner{padding:24px}.planner-title h3{font-size:25px}.site-footer{padding-block:35px 26px}.footer-main{gap:26px;padding-bottom:25px}.footer-main nav{order:3;width:100%;gap:27px;font-size:10px}.back-top{margin-left:auto;font-size:9px;gap:12px}.footer-small{flex-direction:column;gap:6px;font-size:8px}.artwork-credit{font-size:8px}.mobile-cta{position:fixed;z-index:30;bottom:0;left:0;right:0;padding:14px 6vw calc(14px + env(safe-area-inset-bottom));background:#bc1028;color:#ffffff;border-top:1px solid #9f1024;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:calc(66px + env(safe-area-inset-bottom))}.mobile-cta>span{font-size:10px}.mobile-cta strong{font-size:12px;font-weight:650;display:flex;gap:20px;align-items:center}.mobile-cta svg{width:18px;height:18px}}
@media(max-width:370px){.detail-list article{grid-template-columns:1fr;gap:12px}.detail-list h3 br{display:none}.mobile-art{padding:24px}.mobile-art>p{font-size:34px}.planner{padding:20px}.wordmark>span{font-size:21px}.focus-options span{font-size:9px;padding-inline:9px}.footer-main .wordmark>span{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.focus-options input:checked+span{outline:2px solid Highlight}.copy-button,.header-cta{border:1px solid ButtonText}.map-pin{color:CanvasText}}

.visit-note a:focus-visible{outline-color:#ffffff}.contact :focus-visible{outline-color:#ff6175}.contact .planner :focus-visible{outline-color:#121212}

/* Verified business content: keep original photography first and supporting artwork optional. */
.official-page-link{text-decoration:underline;text-underline-offset:4px}
.more-services{margin-top:50px;padding-top:30px;border-top:1px solid var(--line)}
.more-services h3{font-size:27px;line-height:1.25}
.more-services>p{max-width:850px;margin-top:15px;color:#625b57;font-size:13px}
.more-services .text-link{margin-top:15px}
.work-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:29px 20px}
.gallery-item{min-width:0}
.gallery-image{position:relative;display:block;aspect-ratio:4/3;background:#0c0c0c;overflow:hidden}
.gallery-image>img{width:100%;height:100%;object-fit:cover}
.gallery-item-contain .gallery-image>img{object-fit:contain}
.gallery-open{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:32px;height:32px;background:#121212df;color:#fff;font-size:20px;line-height:1}
.gallery-image:hover .gallery-open{background:#bc1028}
.gallery-image:focus-visible{outline-color:#ff6175;outline-offset:4px}
.gallery-item figcaption{display:flex;flex-direction:column;gap:4px;padding-top:12px;line-height:1.5;overflow-wrap:anywhere}
.gallery-item figcaption>span{font-size:11px;color:#f6f3ef;font-weight:600}
.gallery-item figcaption>small{font-size:10px;color:#bdb1ab}
.gallery-source{font-size:11px;line-height:1.8;color:#bdb1ab;margin-top:26px;max-width:780px}
.gallery-source a{text-decoration:underline;text-underline-offset:4px}
.work-reel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:8%;align-items:center;margin-top:65px}
.work-reel-copy h3,.facebook-feature-copy h3{font-size:clamp(34px,3.5vw,52px);line-height:1.12;letter-spacing:-.055em}
.work-reel-copy>p,.facebook-feature-copy>p{max-width:450px;color:#c8bdb7;font-size:13px;margin-top:22px}
.work-reel-copy .text-link,.facebook-feature-copy .text-link{color:#f6f3ef;line-height:1.6}
.work-reel-figure{width:100%;max-width:360px;justify-self:center;min-width:0}
.work-reel-link{display:block;position:relative;background:#0c0c0c}
.work-reel-link>img{width:100%;height:auto;object-fit:contain}
.reel-play{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:calc(100% - 12px);padding:9px 12px;background:#121212ed;color:#fff;font-size:11px;line-height:1.4}
.reel-play svg{width:20px;height:20px;flex-shrink:0}
.work-reel-figure figcaption,.facebook-promo figcaption{font-size:10px;line-height:1.7;color:#bdb1ab;margin-top:12px}
.work-reel-figure figcaption a,.facebook-promo figcaption a{text-decoration:underline;text-underline-offset:3px}
.work-reel-compact{grid-template-columns:minmax(0,1fr) 160px;gap:40px;border-top:1px solid #ffffff26;padding-top:38px;max-width:850px}
.work-reel-compact .work-reel-copy h3{font-size:clamp(30px,3.1vw,44px)}
.work-reel-compact .work-reel-copy>p{max-width:480px;margin-top:18px}
.work-reel-compact .work-reel-figure{max-width:135px}
.work-reel-compact .reel-play{font-size:9px;gap:3px;padding:7px 5px;bottom:12px}
.work-reel-compact .reel-play svg{width:16px;height:16px}
.work-reel-compact .work-reel-figure figcaption{font-size:9px;margin-top:9px}
.promotional-materials{border-block:1px solid #ffffff26;margin-top:42px}
.promotional-materials>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:23px;font-size:12px;line-height:1.5;font-weight:600;min-height:60px}
.promotional-materials>summary>span{font-size:24px;line-height:1;font-weight:300;color:#ff6175}
.promotional-materials[open]>summary>span{transform:rotate(45deg)}
.promotional-content{padding:10px 0 38px}
.brand-artwork{width:100%;background:#0c0c0c}
.brand-artwork>img{width:100%;height:auto;object-fit:contain}
.facebook-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:8%;margin-top:50px;align-items:center}
.facebook-promo{min-width:0}
.facebook-promo>a{display:block}
.facebook-promo img{width:100%;height:auto;object-fit:contain}
.contact-phone{display:block;width:fit-content;font-size:clamp(24px,2.45vw,38px);line-height:1.2;letter-spacing:-.05em;font-weight:650;margin-top:12px;padding-block:6px;color:#f6f3ef}
.contact-facebook{display:flex;align-items:center;width:fit-content;min-height:44px;margin-top:4px;gap:8px;font-size:11px;line-height:1.7;text-decoration:underline;text-underline-offset:4px;color:#c8bdb7}
.contact-booking{color:#f6f3ef;font-weight:650;margin-top:12px}
.booking-note .contact-address{margin-top:22px;padding-top:17px;border-top:1px solid #a78d8455;font-size:11px;line-height:1.8}
.contact-address strong{display:inline-block;color:#f6f3ef;font-weight:600;margin-bottom:2px}
.contact-address span{display:inline-block;margin-top:6px}
.planner-next{display:flex;flex-wrap:wrap;gap:0 18px;border-top:1px solid #cfc5bd;padding-top:10px;margin-top:18px}
.planner-next>a{display:flex;align-items:center;min-height:44px;max-width:100%;font-size:11px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;color:#302622;overflow-wrap:anywhere}
.footer-main nav{flex-wrap:wrap;gap:4px 24px;min-width:0}
.footer-main nav>a{max-width:100%;overflow-wrap:anywhere}
@media(max-width:1199px){.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.facebook-feature{gap:6%}.footer-main nav{gap:4px 20px}}
@media(max-width:760px){
.more-services{margin-top:35px;padding-top:25px}.more-services h3{font-size:25px}.more-services>p{font-size:12px}
.work-gallery{gap:25px 16px}.gallery-item figcaption>span{font-size:11px}.gallery-item figcaption>small{font-size:9px}.gallery-source{font-size:10px;margin-top:22px}
.work-reel{margin-top:38px;gap:28px}.work-reel-compact{grid-template-columns:minmax(0,1fr) 135px;padding-top:30px}.work-reel-compact .work-reel-copy h3{font-size:31px}.work-reel-copy>p,.facebook-feature-copy>p{font-size:12px;margin-top:16px}.work-reel-copy .text-link{font-size:11px;gap:12px}.work-reel-copy .text-link svg{flex-shrink:0}
.promotional-materials{margin-top:30px}.promotional-materials>summary{font-size:11px;padding-block:20px}.promotional-content{padding-bottom:28px}.facebook-feature{grid-template-columns:1fr;gap:27px;margin-top:30px}.facebook-feature-copy h3{font-size:38px}.facebook-feature-copy>p{max-width:500px}.facebook-promo{max-width:460px;width:100%;justify-self:center}
.contact-phone{font-size:29px}.contact-facebook{font-size:11px}.planner-next{gap:0 16px}.planner-next>a{font-size:10px}.footer-main nav{gap:4px 22px;width:100%}.footer-main nav>a{font-size:10px}
}
@media(max-width:500px){.work-gallery{grid-template-columns:minmax(0,1fr);gap:25px}.gallery-image{aspect-ratio:4/3}.gallery-item figcaption{flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:5px 12px}.gallery-item figcaption>small{font-size:9px}.work-reel-compact{grid-template-columns:minmax(0,1fr) 108px;gap:20px}.work-reel-compact .work-reel-copy h3{font-size:27px}.work-reel-compact .work-reel-copy>p{font-size:11px;line-height:1.8}.work-reel-copy .text-link{font-size:10px;gap:8px}.work-reel-copy .text-link svg{width:16px;height:16px}.work-reel-compact .reel-play{font-size:8px;gap:2px;padding:5px 3px}.work-reel-compact .reel-play svg{width:14px;height:14px}.work-reel-compact .work-reel-figure figcaption{font-size:8px}.footer-main nav{gap:3px 20px}}
@media(forced-colors:active){.gallery-open,.reel-play{border:1px solid ButtonText}.gallery-image{outline:1px solid CanvasText}}

/* Live contact form: retains the approved planner card. */
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;pointer-events:none}
.copy-button:disabled{opacity:.72;cursor:default}
.planner input,.planner textarea{font-size:16px}
.planner input:user-invalid,.planner textarea:user-invalid{border-color:#bc1028}

.hero-hero {
  --hero-progress: 0;
  --hero-reveal: 1;
  --hero-copy: 1;
  --hero-finale: 0;
  --hero-drive: 0;
  position: relative;
  isolation: isolate;
  background: #080808;
  color: #f5f3f3;
}

.hero-viewport {
  position: relative;
  isolation: isolate;
  height: 100svh;
  min-height: 760px;
  overflow: hidden;
  padding: clamp(58px, 8svh, 90px) 6.5vw 100px;
  background: linear-gradient(115deg, #080808 29%, #2b181b 76%, #1b1113);
}

.hero-copy {
  position: relative;
  z-index: 3;
  max-width: 760px;
  pointer-events: none;
  opacity: var(--hero-copy);
  transform: translate3d(0, calc((1 - var(--hero-copy)) * -24px), 0);
}

.hero-copy a { pointer-events: auto; }
.hero-location { color: #ccc5c5; font-size: 13px; line-height: 1.5; font-weight: 500; margin: 0 0 29px; }
.hero-copy h1 { color: #f5f3f3; font-family: var(--font-display), sans-serif; font-weight: 550; font-size: clamp(72px, 7.0vw, 108px); line-height: 1.015; letter-spacing: -.075em; margin: 0 0 29px; }
.hero-copy h1 > span { display: block; white-space: nowrap; }
.hero-description { color: #bcb5b5; font-size: 15px; line-height: 1.8; letter-spacing: -.012em; margin: 0; max-width: 390px; }
.hero-description > span { display: block; }
.hero-descriptionLead { color: #e7e1e1; font-size: 17px; font-weight: 550; letter-spacing: -.025em; margin-bottom: 3px; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 32px; }
.hero-primary { min-height: 60px; padding: 18px 24px; background: #c91e2d; color: #ffffff; display: inline-flex; align-items: center; justify-content: center; gap: 30px; font-size: 14px; line-height: 1.4; font-weight: 650; white-space: nowrap; text-decoration: none; border: 1px solid #ff7d8670; border-radius: 3px; box-shadow: inset 0 1px 0 #ffffff80; transition: background .2s ease, border-color .2s ease; }
.hero-primary svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .2s ease; }
.hero-primaryIcon { display: inline-flex; flex: 0 0 20px; }
.hero-secondary { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; color: #e5dddd; text-decoration: none; font-size: 12px; font-weight: 500; white-space: nowrap; transition: color .2s ease; }
.hero-secondary svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.2; transition: transform .2s ease; }

.hero-art { position: absolute; z-index: 1; left: 31%; right: -6%; top: 10%; bottom: 13%; pointer-events: none; }
.hero-stage { position: relative; width: 100%; height: 100%; isolation: isolate; }
.hero-canvas { position: absolute; inset: 0; z-index: 1; opacity: 0; transition: opacity .4s; }
.hero-canvas[data-ready=true] { opacity: 1; }
.hero-canvas canvas { display: block; width: 100%; height: 100%; }
.hero-poster { width: 100%; height: 100%; object-fit: contain; position: absolute; inset: 0; opacity: 1; transition: opacity .4s; z-index: 0; filter: grayscale(1) brightness(.77); }
.hero-stage[data-ready=true] .hero-poster { opacity: 0; }
.hero-caption { position: absolute; bottom: 6%; right: 13%; font-size: 9px; color: #bcb5b5; line-height: 1.5; margin: 0; text-align: right; }
.hero-caption a { color: inherit; text-decoration: underline; text-underline-offset: 3px; pointer-events: auto; }

.hero-finale {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px 6.5vw 130px;
  opacity: var(--hero-finale);
  transform: translate3d(0, calc((1 - var(--hero-finale)) * 28px), 0);
  pointer-events: none;
  text-align: center;
  visibility: hidden;
}

.hero-hero[data-motion=active] .hero-finale { visibility: visible; }
.hero-finale:not([inert]) a { pointer-events: auto; }
.hero-finaleWordmark { font-size: 19px; font-weight: 650; line-height: 1.4; letter-spacing: -.025em; color: #ff6570; margin-bottom: 27px; }
.hero-finaleHeading { font-size: clamp(40px, 4.5vw, 68px); line-height: 1.1; letter-spacing: -.065em; font-weight: 550; color: #f5f3f3; }
.hero-finaleDescription { color: #bcb5b5; font-size: 14px; line-height: 1.8; margin-top: 17px; }
.hero-finaleCall { display: grid; grid-template-columns: 1fr 28px; gap: 10px 25px; align-items: center; width: fit-content; min-height: 88px; margin-top: 34px; padding: 0 0 17px; border-bottom: 1px solid #bd797f80; text-align: left; color: #f5d2d5; }
.hero-finaleCall > span { grid-column: 1/-1; font-size: 12px; color: #d0bdbf; }
.hero-finaleCall strong { font-size: clamp(28px, 3vw, 40px); line-height: 1.2; letter-spacing: -.045em; font-weight: 500; white-space: nowrap; }
.hero-finaleCall svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.2; transition: transform .2s ease; }

.hero-bottomLine { position: absolute; z-index: 5; left: 6.5vw; right: 6.5vw; bottom: 27px; border-top: 1px solid #cfb1b42b; padding-top: 19px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 11px; color: #c7b8ba; }
.hero-bottomLine a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: none; white-space: nowrap; }
.hero-place { gap: 9px; font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums; letter-spacing: .015em; }
.hero-place > span { color: #b7a6a8; font-size: 11px; font-weight: 400; letter-spacing: 0; }
.hero-closer { gap: 34px; }
.hero-closer > span { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #cfb1b445; border-radius: 50%; transition: border-color .2s ease; }
.hero-closer svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform .2s ease; }
.hero-bottomLine a:hover { color: #fff; }
.hero-hero a:focus-visible { outline: 2px solid #ff727d; outline-offset: 6px; }

/* A focused control keeps its complete frame visible while someone scrolls. */
.hero-hero[data-focus-hold=intro] .hero-copy { opacity: 1; transform: none; }
.hero-hero[data-focus-hold=intro] .hero-finale { opacity: 0; visibility: hidden; }
.hero-hero[data-focus-hold=finale] .hero-finale { opacity: 1; transform: none; visibility: visible; }
.hero-hero[data-focus-hold=finale] .hero-copy { opacity: 0; }

/* No extra scroll space exists before the renderer is ready. */
@media (min-width: 761px) {
  .hero-hero[data-motion=active] { height: max(210svh, 1500px); }
  .hero-hero[data-motion=active] .hero-viewport { position: sticky; top: 0; }
}

@media (min-width: 1600px) {
  .hero-viewport { padding-left: 8vw; }
  .hero-copy h1 { font-size: 118px; }
  .hero-bottomLine { left: 8vw; right: 8vw; }
  .hero-art { left: 34%; right: -1%; }
}

@media (min-width: 1001px) and (max-width: 1200px) {
  .hero-viewport { padding-top: 59px; min-height: 790px; }
  .hero-copy h1 { font-size: 7.1vw; }
  .hero-art { left: 31%; right: -11%; top: 19%; bottom: 9%; }
  .hero-actions { gap: 22px; }
  .hero-caption { right: 17%; bottom: 5%; }
}

@media (min-width: 761px) and (max-width: 1000px) {
  .hero-viewport { min-height: 900px; padding-top: 55px; }
  .hero-copy h1 { font-size: clamp(68px, 8.7vw, 84px); }
  .hero-description { font-size: 14px; }
  .hero-descriptionLead { font-size: 16px; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 29px; }
  .hero-art { left: 8%; right: -13%; top: 43%; bottom: 10%; }
  .hero-caption { right: 16%; bottom: 3%; }
  .hero-finaleHeading { font-size: 52px; }
}

@media (max-width: 760px) {
  .hero-viewport { height: auto; min-height: 860px; padding: 38px 6vw 82px; }
  .hero-copy { max-width: 100%; opacity: 1; transform: none; }
  .hero-location { font-size: 11px; margin-bottom: 23px; }
  .hero-copy h1 { font-size: clamp(48px, 12vw, 84px); letter-spacing: -.075em; line-height: 1.035; margin-bottom: 24px; }
  .hero-description { font-size: 13px; line-height: 1.8; max-width: 340px; }
  .hero-descriptionLead { font-size: 14px; margin-bottom: 2px; }
  .hero-actions { margin-top: 25px; gap: 14px 18px; flex-wrap: wrap; }
  .hero-primary { min-height: 52px; padding: 16px 18px; font-size: 12px; gap: 16px; }
  .hero-secondary { font-size: 11px; gap: 8px; }
  .hero-secondary svg { width: 16px; height: 16px; }
  .hero-art { top: 405px; left: -18%; right: -14%; bottom: 110px; min-height: 310px; }
  .hero-caption { right: 16%; bottom: 3%; font-size: 8px; }
  .hero-finale { display: none; }
  .hero-bottomLine { left: 6vw; right: 6vw; bottom: 23px; padding-top: 17px; font-size: 9px; }
  .hero-place { gap: 7px; font-size: 10px; }
  .hero-place > span { font-size: 9px; }
  .hero-closer { gap: 15px; }
  .hero-closer > span { width: 25px; height: 25px; }
  .hero-closer svg { width: 12px; height: 12px; }
  .hero-canvas, .hero-poster { transition: none; }
}

@media (max-width: 390px) {
  .hero-viewport { min-height: 840px; }
  .hero-copy h1 { font-size: clamp(40px, 12.5vw, 48px); }
  .hero-primary { padding-inline: 15px; gap: 12px; }
  .hero-art { top: 355px; left: -24%; right: -20%; }
  .hero-caption { right: 20%; }
  .hero-bottomLine { font-size: 8px; gap: 12px; }
  .hero-place { gap: 6px; }
  .hero-closer { gap: 10px; }
}

@media (hover: hover) {
  .hero-primary:hover { background: #de2937; border-color: #ff8991; }
  .hero-primary:hover svg { transform: translateX(3px); }
  .hero-secondary:hover { color: #f5f3f3; text-decoration: underline; text-underline-offset: 5px; }
  .hero-secondary:hover svg { transform: translate(2px, -2px); }
  .hero-closer:hover > span { border-color: #efa6ad; }
  .hero-closer:hover svg { transform: translateY(2px); }
  .hero-finaleCall:hover { color: #fff; border-color: #f5d2d5; }
  .hero-finaleCall:hover svg { transform: translateX(4px); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-hero:not([data-preview-motion=true]) { height: auto; }
  .hero-hero:not([data-preview-motion=true]) .hero-viewport { position: relative; }
  .hero-hero:not([data-preview-motion=true]) .hero-copy { opacity: 1; transform: none; }
  .hero-hero:not([data-preview-motion=true]) .hero-finale { display: none; }
  .hero-canvas, .hero-poster, .hero-primary, .hero-primary svg, .hero-secondary, .hero-secondary svg, .hero-closer > span, .hero-closer svg, .hero-finaleCall svg { transition: none; }
}

@media (forced-colors: active) {
  .hero-primary { color: ButtonText; background: ButtonFace; border-color: ButtonText; box-shadow: none; }
  .hero-closer > span, .hero-finaleCall { border-color: LinkText; }
}

.atmo-atmosphere {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  contain: paint;
}

.atmo-studio {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: calc(1 - var(--hero-finale, 0) * .8);
}

.atmo-falloff {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #080808 6%, #080808a8 28%, transparent 57%),
    linear-gradient(180deg, transparent 68%, #080808a0 100%);
}

.atmo-endFrame {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #281416, #080808 65%);
  opacity: var(--hero-finale, 0);
}

@media (min-width: 761px) and (max-width: 1000px) {
  .atmo-studio { top: 19%; height: 81%; }
  .atmo-falloff {
    background:
      linear-gradient(180deg, #08080866 12%, transparent 43%, transparent 70%, #080808a0),
      linear-gradient(90deg, #080808a0, transparent 60%);
  }
}

@media (max-width: 760px) {
  .atmo-studio { inset: 40% -30% auto; width: 160%; height: 47%; opacity: .85; }
  .atmo-falloff {
    background:
      linear-gradient(180deg, #0808084d 32%, transparent 50%, transparent 75%, #080808a0),
      linear-gradient(90deg, #08080866, transparent 65%);
  }
  .atmo-endFrame { display: none; }
}

@media (forced-colors: active) {
  .atmo-atmosphere { display: none; }
}
