/* Shared layout boundaries. Desktop preserves the site's existing proportions. */
.home-showcase{height:auto!important;padding-top:25px;padding-bottom:30px}.home-showcase .portfolio-grid{margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-showcase .portfolio-grid figure{height:125px}.home-showcase .portfolio-grid img{content:normal!important;width:100%;height:100%;object-fit:cover}
.inquiry-form--mockup .custom-choice[hidden]{display:none!important}.inquiry-form--mockup .custom-choice{margin-top:12px!important}
.inquiry-form--mockup .inspiration-upload input[type=file]{display:block!important;width:100%!important;height:auto!important;min-height:36px!important;margin:8px 0!important;padding:9px!important;border:1px dashed #bc955f!important;border-radius:5px;background:#fffaf2!important;color:#422728!important;font:inherit!important;white-space:normal}.inspiration-upload input::file-selector-button{margin-right:10px;padding:7px 10px;border:0;border-radius:3px;background:#76101f;color:#fff;cursor:pointer}.inspiration-upload>small,.inspiration-upload>span{display:block;margin-top:6px;line-height:1.5;overflow-wrap:anywhere}
img{max-width:100%}input,select,textarea{max-width:100%}main,.wrap,form,fieldset{min-width:0}.inquiry-grid>*{min-width:0}.breadcrumb ol{flex-wrap:wrap}.breadcrumb li{overflow-wrap:anywhere}
@media(min-width:1921px){.site-stage{max-width:1920px;margin-inline:auto}}
@media(max-width:1023px){
  html,body{width:100%;margin:0}
  .site-stage,.site-shell{width:100%!important;height:auto!important;transform:none!important;overflow:visible!important}
  .wrap{width:calc(100% - 40px)!important;max-width:720px!important;margin-inline:auto!important}
  .header-frame-space{display:none!important}
  .topbar,.topbar .wrap{height:auto!important;min-height:36px!important}
  .topbar .wrap{display:flex!important;justify-content:center;flex-wrap:wrap;gap:8px 18px!important;padding:8px 0!important;font-size:11px!important}
  .topbar .wrap>span{font-size:11px!important;padding:0!important;border:0!important;white-space:normal!important}
  .topbar-email,.topbar .social,.topbar .wrap>a{display:none!important}
  .topbar svg{width:13px!important;height:13px!important}
  .header{height:76px!important;margin:0!important;border-radius:0!important;overflow:visible!important;z-index:100!important}
  .nav-wrap{height:76px!important;justify-content:space-between!important}
  .image-logo{width:88px!important;height:70px!important;margin:0!important;flex-shrink:0}
  .image-logo img{width:64px!important;height:64px!important;object-fit:contain!important}
  .menu{display:block!important;min-width:44px;min-height:44px;font-size:25px!important;color:#76101f;cursor:pointer}
  .header nav{display:none!important;position:absolute!important;top:76px!important;left:0!important;right:0!important;width:100%!important;height:auto!important;margin:0!important;padding:12px 20px!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;background:#fffdf9!important;max-height:calc(100dvh - 110px);overflow:auto!important;box-shadow:0 10px 20px #35091626!important}
  .header nav.show{display:flex!important}
  .header nav>a,.header nav .expertise-link{display:flex!important;min-height:44px!important;height:auto!important;padding:12px!important;font-size:15px!important;white-space:normal!important}
  .header nav>*{border-left:0!important}.header nav a.active:after{display:none!important}.header nav .search-button{display:none!important}
  .header .expertise-menu{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;height:auto!important;width:100%!important}
  .header nav .expertise-trigger{width:44px!important;min-width:44px!important;height:44px!important;padding:0!important}
  .header .expertise-links{display:none!important;position:static!important;grid-column:1/-1;width:100%!important;min-width:0!important;margin:0!important;padding:4px 0!important;transform:none!important;visibility:visible!important;opacity:1!important;box-shadow:none!important;pointer-events:auto!important}
  .header .expertise-menu.is-open .expertise-links{display:block!important}
  .header .expertise-links a{display:block!important;width:100%!important;min-width:0!important;padding:12px 20px!important;font-size:14px!important;white-space:normal!important;line-height:1.5!important}
  main>section{height:auto!important;min-width:0}main>section:not(.hero):not(.contact){padding-top:36px;padding-bottom:36px}
  .hero{height:auto!important;min-height:480px!important}.hero-copy{padding:65px 0 85px!important}.hero h1{font-size:48px!important;line-height:1!important}.hero h1 em{font-size:46px!important}.hero-copy>p:not(.eyebrow){font-size:15px!important;line-height:1.6!important;max-width:420px}.eyebrow{font-size:11px!important}
  .gold-btn,.outline-btn{min-height:44px!important;height:auto!important;padding:12px 20px!important;font-size:13px!important;white-space:normal!important;text-align:center}
  .section-title h2,.intro h2,.why h2,.faq h2{font-size:36px!important;line-height:1.05!important}
  .section-title>p:last-child,.intro-grid>div>p:last-of-type,.why-copy>p:nth-of-type(2){font-size:14px!important;line-height:1.6!important}
  .intro-grid,.why,.about-intro__grid,.about-vision__grid,.about-proof__grid,.detail-intro__grid,.detail-why__grid,.contact-content>.wrap,.faq-page-content>.wrap{display:grid!important;grid-template-columns:1fr!important;gap:28px!important}
  .intro-grid{padding-top:0!important}.features{margin:22px 0!important;gap:8px!important}.features b{font-size:12px!important}.features svg{width:30px!important;height:30px!important}
  .story{width:100%!important;max-width:480px;height:260px!important;margin:auto!important}.story img{width:100%!important;height:100%!important;object-fit:cover}.story button{left:50%!important;top:50%!important;transform:translate(-50%,-50%)}.story figcaption{left:50%!important;transform:translateX(-50%);bottom:25px!important;white-space:nowrap;font-size:14px!important}
  .service-grid,.portfolio-grid,.portfolio-page-grid .wrap,.detail-feature-grid,.about-explore__cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .why-image,.why-image img{width:100%!important;height:320px!important;object-fit:cover}.why-copy{padding:10px 20px 25px!important}
  .steps{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}.steps>div{min-width:0!important;height:auto!important;padding:16px!important}.steps>div:after{display:none!important}.steps b{font-size:15px!important;line-height:1.4!important}.steps p{font-size:13px!important;line-height:1.6!important;white-space:normal!important}
  .filters{flex-wrap:wrap!important;gap:8px!important}.filters button{min-height:38px!important;padding:8px 12px!important;font-size:12px!important}.portfolio-grid figure,.portfolio-page-grid figure{height:210px!important}.portfolio-grid figcaption,.portfolio-page-grid figcaption{font-size:12px!important;line-height:1.4!important}
  .reviews-carousel{min-width:0!important;padding-inline:34px!important}.reviews{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;gap:16px!important}.reviews article{flex:0 0 100%!important;width:auto!important;height:auto!important;min-height:180px!important;scroll-snap-align:start;padding:20px!important}.reviews p{font-size:14px!important;line-height:1.6!important}.reviews strong,.reviews small{font-size:12px!important}
  .faq{display:grid!important;grid-template-columns:1fr!important;gap:24px!important}.faq p,.accordion p{font-size:14px!important;line-height:1.6!important}.accordion button{height:auto!important;min-height:48px!important;padding:12px!important;font-size:14px!important;line-height:1.5!important}
  .contact{display:grid!important;grid-template-columns:1fr!important;background-size:cover!important;padding:30px 0!important}.contact-copy{padding:20px!important}.contact h2{font-size:34px!important}.contact-copy p{font-size:14px!important}.contact form{padding:20px!important;gap:12px!important}.contact input,.contact select,.contact textarea{min-width:0!important;height:46px!important;font-size:16px!important;padding:10px!important}.contact textarea{height:100px!important}
  .page-hero,.detail-hero,.about-hero{min-height:350px!important;padding:45px 0!important;height:auto!important}.page-hero .wrap,.detail-hero__content,.about-hero__copy{padding-top:0!important}.page-hero h1,.detail-hero h1,.about-hero h1{font-size:44px!important;line-height:1.05!important;overflow-wrap:break-word}.page-hero p:not(.eyebrow),.detail-hero p:not(.eyebrow),.about-hero p:not(.eyebrow){font-size:14px!important;line-height:1.6!important;max-width:540px!important}.breadcrumb ol{font-size:12px!important;margin-bottom:18px!important}
  .listing-intro p:not(.eyebrow),.detail-intro p:not(.eyebrow),.detail-why p:not(.eyebrow),.about-intro p:not(.eyebrow),.about-vision p:not(.eyebrow),.about-proof p,.contact-content aside>p:not(.eyebrow),.faq-page-content aside>p:not(.eyebrow){font-size:15px!important;line-height:1.7!important}
  .detail-intro figure,.detail-why figure,.about-intro figure,.about-vision figure{height:280px!important}.service-list__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.service-list__grid>a{height:260px!important}.service-list__grid b{font-size:18px!important}.service-list__grid em,.service-list__grid i{font-size:12px!important}.detail-feature-grid h3{font-size:18px!important}.detail-feature-grid p{font-size:13px!important}.detail-why li{font-size:14px!important}.detail-enquiry .wrap,.about-enquiry .wrap{display:flex!important;flex-wrap:wrap!important;gap:20px!important}.detail-enquiry p:not(.eyebrow){font-size:14px!important}
  .contact-content aside>a{font-size:15px!important;overflow-wrap:anywhere}.contact-form-card{padding:24px 18px!important}.contact-form-card form>div{grid-template-columns:1fr!important}.contact-form-card label{font-size:14px!important}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{font-size:16px!important;padding:12px!important;min-height:46px!important}.faq-page-accordion button{min-height:50px!important;font-size:14px!important}.faq-page-accordion p{font-size:14px!important;line-height:1.6!important}
  .inquiry-hero{padding:36px 0 24px!important}.inquiry-hero h1{font-size:44px!important}.inquiry-hero p:not(.eyebrow){font-size:14px!important;max-width:540px!important}.inquiry-form--mockup{padding:24px 18px!important}.inquiry-grid--two,.inquiry-grid--three,.inquiry-grid--preference{grid-template-columns:1fr!important}.inquiry-grid-span-2{grid-column:auto!important}.inquiry-grid{gap:20px!important}.inquiry-block>header>div:after{display:none!important}.inquiry-block header h2{font-size:28px!important;line-height:1.1!important}.inquiry-block header p{font-size:13px!important}.inquiry-form--mockup label,.inquiry-form--mockup legend,.inquiry-multiple,.venue-search>label{font-size:14px!important}.inquiry-form--mockup .field-control:not(.field-control--textarea){height:48px!important}.inquiry-form--mockup .field-control input,.inquiry-form--mockup .field-control select{height:44px!important;font-size:16px!important;line-height:1.4!important}.inquiry-form--mockup .field-control--textarea{height:125px!important}.inquiry-form--mockup .field-control textarea{font-size:16px!important;line-height:1.5!important}.inquiry-multiple summary{min-height:48px!important}.inquiry-multiple summary>span,.inquiry-form--mockup .inquiry-multiple__options label{font-size:15px!important}.inquiry-form--mockup .inquiry-multiple__options label{min-height:44px!important}.inquiry-form--mockup .inquiry-multiple__options input[type=checkbox]{width:18px!important;height:18px!important;flex-basis:18px!important}.source-options span{font-size:13px!important;padding:12px!important}.inquiry-form--mockup legend{margin-bottom:12px!important}.venue-search>small{font-size:12px!important}.venue-suggestions li{font-size:15px!important;padding:12px!important}.venue-map-panel #venueMap{height:250px!important}.venue-map-panel>p{font-size:13px!important}
  .site-footer{height:auto!important;background-size:cover!important}.footer-main{height:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:30px 0!important;gap:28px!important}.footer-brand-block{grid-column:1/-1}.footer-column{padding-left:0!important;min-width:0}.footer-column:before{display:none!important}.footer-column b{font-size:25px!important}.footer-column a{font-size:14px!important;line-height:1.6!important;overflow-wrap:anywhere}.footer-brand img{width:100px!important;height:105px!important}.footer-tagline{font-size:15px!important}.footer-description{font-size:14px!important}.copyright{height:auto!important;padding:20px!important;flex-wrap:wrap!important;gap:14px!important;font-size:12px!important;text-align:center!important}.copyright span{width:100%!important}
}
@media(max-width:480px){.wrap{width:calc(100% - 28px)!important}.topbar .wrap{gap:6px!important}.service-grid,.service-list__grid,.portfolio-grid,.portfolio-page-grid .wrap,.steps,.detail-feature-grid,.about-explore__cards,.footer-main{grid-template-columns:1fr!important}.footer-brand-block{grid-column:auto}.hero h1{font-size:42px!important}.features{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.contact form{grid-template-columns:1fr!important}.contact form>*{grid-column:1!important}.inquiry-form--mockup{padding:20px 12px!important}.inquiry-block>header{grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important}.inquiry-section-icon{width:34px!important;height:34px!important}.inquiry-block header h2{font-size:25px!important}.inquiry-form--mockup .gold-btn{width:100%!important}.page-hero h1,.detail-hero h1,.about-hero h1{font-size:38px!important}.footer-column{align-items:flex-start!important}}
@media(max-width:1023px),(max-height:600px){.service-modal,.gallery-modal{padding:16px!important;overflow-y:auto!important}.service-modal__panel{max-width:100%!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;padding:28px 18px!important}.service-request-form__grid{grid-template-columns:1fr!important}.service-request-form input,.service-request-form select,.service-request-form textarea{font-size:16px!important}.gallery-modal__panel{max-width:calc(100vw - 40px)!important}.gallery-modal__panel img{max-height:calc(85dvh - 60px)!important}}
/* The supplied footer artwork contains its own maroon strip. On stacked
   layouts use separate backgrounds so that strip cannot cross contact text. */
@media(max-width:1023px){
  .site-footer{background:#fffaf2!important;height:auto!important;overflow:visible!important}
  .site-footer .footer-main{height:auto!important;align-items:start!important;padding-top:32px!important;padding-bottom:36px!important}
  .site-footer .footer-column{display:flex!important;flex-direction:column!important;gap:12px!important;height:auto!important;margin:0!important}
  .site-footer .footer-column>b{display:block;line-height:1.2!important;margin-bottom:5px!important}
  .site-footer .footer-contact{grid-column:1/-1;padding:0!important;min-width:0}
  .site-footer .footer-contact a{display:flex!important;align-items:center!important;gap:12px!important;white-space:normal!important;color:#422c2c!important;min-height:40px!important}
  .site-footer .footer-contact a>span:last-child{min-width:0;overflow-wrap:anywhere}
  .site-footer .footer-contact .footer-icon{display:grid!important;place-items:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;border-radius:50%;background:#650d1c!important}
  .site-footer .footer-contact .footer-icon svg{width:16px!important;height:16px!important;fill:none;stroke:#f6d78e!important}
  .site-footer .copyright{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;height:auto!important;min-height:100px!important;margin:0!important;padding:24px 20px!important;border-top:2px solid #c8954e;background:linear-gradient(120deg,#510715,#760d20)!important;color:#fff8ed!important;line-height:1.6!important}
  .site-footer .copyright span{width:auto!important;max-width:100%;overflow-wrap:anywhere}
  .site-footer .copyright a{display:inline-block;color:#fff8ed!important;padding:4px 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
