/* Functional corrections apply at every viewport. */
.ss-site .invoice-section{background:#25292a;color:#f1f7f4}
.ss-site .invoice-guidance h2,.ss-site .invoice-guidance p,.ss-site .invoice-guidance li,.ss-site .invoice-guidance a{color:#f1f7f4!important}
.ss-site .invoice-guidance .eyebrow,.ss-site .invoice-guidance li span{color:#b5d9ca!important}
.ss-site .invoice-layout{grid-template-columns:1fr 1fr;align-items:start}
.ss-site .invoice-payment-slot{background:#edf6f1;color:#203f35}
.ss-site .invoice-payment-slot h3,.ss-site .invoice-payment-slot p{color:#203f35!important}
.ss-site .ss-ux-payment-note{font-weight:600;font-size:16px;line-height:1.5}
.ss-site .invoice-intro{padding-bottom:24px}
.ss-site .invoice-section{padding-top:24px}
.ss-site .contact-vision-grid{grid-template-columns:1fr;max-width:1100px}
.ss-site .contact-vision{padding-bottom:28px;min-height:0}
.ss-site .contact-vision h1{font-size:clamp(40px,5vw,68px);max-width:850px}
.ss-site .contact-vision-copy>p{max-width:690px}
.ss-site .contact-vision-proof{margin-top:20px}
.ss-site .contact-conversation{padding-top:20px}
.ss-site .contact-conversation-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:start}
.ss-site .contact-invite{min-width:0}
.ss-site .contact-invite .contact-vision-media{margin-top:24px;padding:16px;border-radius:16px;background:#25292a;color:#eff7f4;box-sizing:border-box}
.ss-site .contact-invite .contact-vision-media .contact-scene-note{color:#d4e6de}
.ss-site .ss-ux-next-step{font-size:15px;line-height:1.5;max-width:65ch}
.ss-site .ss-ux-context{padding:14px;border-left:4px solid #245d48;background:#dbeee5;font-weight:600}
.ss-site .ss-ux-toggle,.ss-site .ss-ux-summary,.ss-site .ss-ux-select{display:none}
.ss-site .ss-ux-toggle:focus-visible,.ss-site .ss-ux-select select:focus-visible{outline:3px solid #57b99a;outline-offset:4px}
.ss-site [id]{scroll-margin-top:150px}
@media(max-width:760px){
 .ss-site .ss-ux-panel:not(.ss-ux-open){display:none!important}
 .ss-site .ss-ux-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;box-sizing:border-box;width:100%;min-height:52px;margin:14px 0;padding:16px 18px;border:1px solid #82b09e;border-radius:8px;background:#25292a;color:#eff7f4;font:600 16px/1.4 'Manrope',sans-serif;text-align:left;cursor:pointer}
 .ss-site .ss-ux-toggle::after{content:'+';font-size:24px;line-height:1}
 .ss-site .ss-ux-toggle[aria-expanded=true]::after{content:'−'}
 .ss-site .ss-ux-summary{display:block;max-width:68ch;margin:0 auto 16px;font:400 16px/1.65 'Manrope',sans-serif;color:inherit}
 .ss-site .ss-ux-fold-section{padding:28px max(5%,env(safe-area-inset-left))!important;min-height:0!important}
 .ss-site .ss-ux-fold-section>.ss-ux-toggle,.ss-site .ss-ux-fold-section>.ss-ux-summary{max-width:1200px;margin-left:auto;margin-right:auto}
 .ss-site .ss-ux-fold-section>.wrap{width:100%;max-width:1200px}
 .ss-site .ss-ux-long-options{display:none!important}
 .ss-site .ss-ux-select{display:block;width:100%;margin:0 0 18px}
 .ss-site .ss-ux-select label{display:block;margin-bottom:8px;font-size:16px;font-weight:700;color:inherit}
 .ss-site .ss-ux-select select{box-sizing:border-box;width:100%;min-height:52px;padding:12px 14px;border:1px solid #82b09e;border-radius:8px;background:#edf6f1;color:#203f35;font:400 17px/1.5 'Manrope',sans-serif}
 .ss-site .ms-games-layout,.ss-site .product-studio-layout{display:block}
 .ss-site .ms-game-focus,.ss-site .product-preview{position:relative;top:auto;min-height:0;max-width:100%;overflow:hidden}
 .ss-site main .wrap>*{min-width:0}
 .ss-site main h1{overflow-wrap:break-word;max-width:100%}
 .ss-site .commercial-hero h1,.ss-site .ms-hero h1{font-size:48px!important;line-height:1.04!important}
 .ss-site .showroom-map-page h1{font-size:46px!important;line-height:1.04!important}
 .ss-site .showroom-map-layout{display:flex;flex-direction:column}
 .ss-site .showroom-location-panel{order:-1;width:100%;min-width:0}
 .ss-site .showroom-map-card{width:100%;min-width:0}
 .ss-site .media-tabs{display:flex;flex-wrap:wrap;max-width:100%;min-width:0}
 .ss-site .media-tabs button{white-space:normal;min-width:0;flex:1 1 130px;max-width:100%;min-height:44px}
 .ss-site .media-panel{max-width:100%;min-width:0}
 .ss-site .product-preview img,.ss-site .ms-game-focus img{max-height:300px;object-fit:contain}
 .ss-site .ms-category-filters,.ss-site .product-studio-filters,.ss-site .catalog-filters{gap:8px;flex-wrap:wrap}
 .ss-site .ms-category-filters button,.ss-site .product-studio-filters button,.ss-site .catalog-filter{min-height:44px;font-size:14px;padding:10px 12px}
 .ss-site .contact-vision{padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:12px}
 .ss-site .contact-vision h1{font-size:40px;line-height:1.02;letter-spacing:-.02em;margin:14px 0}
 .ss-site .contact-vision .eyebrow,.ss-site .contact-vision-proof{display:none}
 .ss-site .contact-vision-copy>p{font-size:16px;line-height:1.6;margin-bottom:16px}
 .ss-site .contact-vision .btn{display:none}
 .ss-site .contact-hero-phone{display:inline-flex;margin:0;min-height:44px;align-items:center}
 .ss-site .contact-conversation-grid{display:flex;flex-direction:column;gap:24px}
 .ss-site .contact-form-shell,.ss-site .contact-invite{width:100%;min-width:0}
 .ss-site .contact-form-intro{padding:20px}
 .ss-site .contact-form-intro h2{font-size:34px;margin:8px 0}
 .ss-site .contact-form-intro .eyebrow{display:none}
 .ss-site .contact-invite>h2{font-size:32px}
 .ss-site .contact-invite .contact-direct strong{font-size:30px}
 .ss-site .invoice-layout{display:flex;flex-direction:column;gap:28px}
 .ss-site .invoice-payment-slot,.ss-site .invoice-guidance{width:100%;box-sizing:border-box}
 .ss-site .invoice-payment-slot{padding:24px}
 .ss-site .invoice-guidance h2{font-size:34px}
 .ss-site .invoice-payment-slot .btn{white-space:normal;min-height:52px}
 .ss-site .experience-card{min-height:0!important;padding-top:28px!important;padding-bottom:28px!important;gap:20px!important}
 .ss-site .experience-copy h2{font-size:36px!important}
 .ss-site .experience-scene{height:auto!important;min-height:0!important;max-height:260px;overflow:hidden}
 .ss-site .experience-scene img{max-height:260px;object-fit:cover}
 .ss-site .home-next{padding:32px 0}
 .ss-site .home-next h2{font-size:36px;line-height:1.05}
 .ss-site .home-next-contact{padding-top:20px;margin-top:20px}
 .ss-site .home-next-contact a{font-size:26px}
 .ss-site .ss-ux-compact-close{min-height:0!important;padding-top:36px!important;padding-bottom:36px!important}
 .ss-site .ss-ux-compact-close h2{font-size:38px!important;line-height:1.06!important}
 .ss-site .ss-ux-compact-close img{max-height:240px;object-fit:contain}
 .ss-site .ss-ux-compact-hero{min-height:0!important;padding-bottom:32px!important}
 .ss-site .ss-ux-compact-hero h1{font-size:48px!important;line-height:1!important}
 .ss-site .ss-ux-compact-hero figure{max-height:280px;min-height:0;overflow:hidden}
 .ss-site .ss-ux-compact-hero figure img{max-height:280px;object-fit:cover}
 .ss-site .film-credit{display:block;padding:20px!important;min-height:0}
 .ss-site .film-credit-copy{padding:12px 0!important}
 .ss-site .cad-team-grid{display:block}
 .ss-site .cad-team-grid article{margin-bottom:16px}
 .ss-site .ss-ux-ready .showroom-map-stage{min-height:0}
}

/* Interface polish, 2026-10-24. Preserve approved layout and motion. */
/* Direct product images should match the existing rounded menu photo frames. */
.ss-site #menu-products .menu-feature-card>img{border-radius:8px}
/* A light ring with a dark separator stays visible on both site palettes. */
.ss-site :is(a,button,summary,select,input,textarea):focus-visible{outline:2px solid #eff7f4;outline-offset:3px;box-shadow:0 0 0 3px #203f35}
.ss-site .studio-header .mega-panel a:focus-visible{outline-color:#285d4e;outline-offset:-3px;box-shadow:none}
.ss-site .ss-quote-card summary{cursor:pointer}
/* Limit Divi's blanket transitions to the properties its visible overlay uses. */
.ss-site .et_pb_button:before,.ss-site .et_pb_button:after{transition-property:opacity,transform,margin}
.ss-site .et_overlay{transition-property:opacity}
.ss-site .et_overlay:before{transition-property:opacity,transform,color}
@media(max-width:760px),(pointer:coarse){
 .ss-site .flagship-controls .slide-dot{min-width:44px;min-height:44px}
 .ss-site .flagship-controls .slide-dots{gap:4px}
 .ss-site .flagship-controls .slideshow-toggle{min-width:70px;min-height:44px;justify-content:center}
 .ss-site .ss-quote-card summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px}
}

/* Approved mobile touch/legibility refinements, 2026-10-24. */
@media(max-width:760px){
 /* Reuse the FAQ row's existing space for the touch target. */
 body.page-id-78 .ss-site .regional-faq details{padding-block:6px}
 body.page-id-78 .ss-site .regional-faq summary{min-height:44px;display:flex;align-items:center}
 /* Keep the existing chip colors, shape, spacing and hover treatment. */
 body:is(.page-id-50,.page-id-52) .ss-site .rental-quick-links a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;font-size:12px}
}
