/* DW v19.7 — flat artwork previews, retained frame options, and arrow-only link motion. */
:root {
  --dw-copy: #625b54;
  --dw-copy-soft: #736a62;
  --dw-ease-out: cubic-bezier(.22, 1, .36, 1);
  --dw-ease-sculpt: cubic-bezier(.22, .72, .18, 1);
  --dw-border: rgba(82, 68, 56, .16);
  --dw-shadow: 0 4px 12px rgba(50, 39, 30, .025), 0 22px 50px rgba(50, 39, 30, .065);
}
html { scroll-padding-top: calc(var(--header-height) + 24px); scrollbar-color: #b6aaa0 #f7f5f1; }
main { overflow: clip; }

::selection { color: #fffefa; background: #766b62; }
:is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid #897666; outline-offset: 5px;
}
:is(.hero, .site-footer, .internal-final, .final-cta, .art-finish-section, .dialog-intro) :is(a, button):focus-visible {
  outline-color: #fffefa;
}

/* A translucent header, with a fine line marking the current page. */
.site-header, .art-page .site-header {
  background: rgba(248, 246, 242, .90);
  backdrop-filter: blur(22px) saturate(1.15);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
  border-bottom: 1px solid rgba(82, 68, 56, .10);
  transition: background .35s, box-shadow .35s, border-color .35s;
}
.site-header.is-scrolled { background: rgba(248, 246, 242, .96); box-shadow: 0 6px 30px rgba(50, 39, 30, .055); }
.header-inner { gap: 22px; }
.desktop-nav { gap: clamp(13px, 1.2vw, 19px); }
.nav-link, .art-nav a { position: relative;   }
.nav-link-art { padding-left: 18px; }
.nav-link::after, .art-nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 1px; height: 1px;
  background: #8d7b6b; transform: scaleX(0); transform-origin: left;
  transition: transform .35s var(--dw-ease-out);
}
.nav-link-art::after, .art-nav .back-to-staging::after { left: 18px; }
.nav-link:hover, .art-nav a:hover, .art-nav a[aria-current="page"] { opacity: 1; }
.nav-link:is(:hover, :focus-visible, [aria-current="page"], [aria-current="true"])::after,
.art-nav a:is(:hover, :focus-visible, [aria-current="page"])::after { transform: scaleX(1); }
.nav-dropdown-trigger svg { transition: transform .3s var(--dw-ease-out); }
.nav-dropdown-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.nav-dropdown-panel {
  padding: 30px; border-color: var(--dw-border); border-radius: 4px;
  background: #fffefa; box-shadow: var(--dw-shadow);
  transform: translateY(8px); transition: opacity .24s, visibility .24s, transform .32s var(--dw-ease-out);
}
.brand-division {   margin-top: 6px; }
.menu-toggle { border: 1px solid var(--dw-border); border-radius: 50%; }
.mobile-menu { background: #f7f5f1; }
.mobile-menu a { transition: color .2s, padding-left .3s; }
.mobile-menu a:hover { color: #8d7b6b; }

/* Crisp, softly lit controls with restrained movement. */
.button, .button-small {
  position: relative; min-height: 48px; border-radius: 3px; 
    
  transition: color .25s, background .25s, border-color .25s, box-shadow .35s, transform .35s var(--dw-ease-out);
}
.button-small { min-height: 42px; padding: 10px 15px; }
.button:hover { transform: translateY(-2px); box-shadow: 0 7px 20px rgba(49, 40, 32, .12); }
.button:active { transform: translateY(0); box-shadow: none; }
.button:disabled { transform: none; box-shadow: none; }
.button-outline { border-color: #a2988e; }
.text-link span[aria-hidden="true"] { transition: transform .4s var(--dw-ease-out); }
.text-link:hover span[aria-hidden="true"] { transform: translateX(5px); }
.hero .button-outline { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.hero-image-note {
    border: 1px solid rgba(255,255,255,.22);
  background: rgba(42,36,31,.24); backdrop-filter: blur(12px); border-radius: 2px;
}
.hero h1 { text-shadow: 0 2px 30px rgba(0,0,0,.12); }
.hero .eyebrow { color: #fffefa; }
.hero-services { color: rgba(255,255,255,.85); }
.service-image, .rental-feature, .furnishing-feature, .service-landing-image,
.rental-landing-image, .service-visual, .about-portrait, .about-image { border-radius: 3px; }
.service-image, .service-landing-image, .rental-landing-image, .about-portrait { box-shadow: var(--dw-shadow); }
.service-image img, .project img, .portfolio-card > img, .service-visual img,
.service-landing-image img, .rental-landing-image img { transition: transform 1.1s var(--dw-ease-out); }
.service-image:hover img, .project:hover img, .portfolio-card:hover > img { transform: scale(1.035); }
.portfolio-card { border-radius: 3px; }
.portfolio-card-caption { transition: transform .5s var(--dw-ease-out); }
.portfolio-card:hover .portfolio-card-caption { transform: translateY(-4px); }
.portfolio-card-action {  border-radius: 3px; }
.process-number, .service-process-step b, .art-process-step b {  color: #9b8979; }
.process-list li { transition: border-color .35s, background .35s; }
.process-list li:hover { background: rgba(255,254,250,.55); border-color: #b6a89b; }
.process-list li > div { transition: transform .4s var(--dw-ease-out); }
.process-list li:hover > div { transform: translateX(6px); }
.package-card, .light-package-card, .value-card, .service-value-card, .contact-route-card,
.contact-info-card, .art-info-card, .art-path-card, .finish-card {
  transition: background .35s, border-color .35s, box-shadow .4s, transform .4s var(--dw-ease-out);
}
.package-card:hover, .light-package-card:hover { background: rgba(255,254,250,.72); }
.package-card-featured { position: relative; background: rgba(255,254,250,.7); box-shadow: inset 0 2px #998371; }
.value-card, .service-value-card, .contact-route-card, .contact-info-card, .art-info-card {
  border-color: var(--dw-border); border-radius: 3px; background: rgba(255,254,250,.65);
}
.contact-route-card:hover, .contact-info-card:hover, .art-path-card:hover { box-shadow: var(--dw-shadow); border-color: #c7b9aa; }
.rental-options span, .furnishing-options span, .collection-chips span {   border-radius: 2px; }
.testimonial-controls button { width: 44px; height: 44px; transition: background .25s, border-color .25s, transform .3s; }
.testimonial-controls button:hover { transform: translateY(-2px); }
.testimonial.is-active { animation: dw-testimonial-in .5s var(--dw-ease-out) both; }
@keyframes dw-testimonial-in { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: none; } }
.portfolio-lightbox { border-radius: 5px; background: #25211e; }
.portfolio-lightbox::backdrop { background: rgba(25,22,20,.82); backdrop-filter: blur(12px); }
.portfolio-lightbox-figure img { transition: opacity .24s ease, transform .5s var(--dw-ease-out); }
.portfolio-lightbox-figure img.is-changing { opacity: 0; transform: scale(.97); }

/* Gallery surfaces retain the same grid and artwork. */
.art-hero-gallery { perspective: 1400px; }
.art-hero-gallery .art-panel { box-shadow: 8px 24px 36px rgba(50,39,30,.13); }
.art-path-card { border-radius: 3px; overflow: hidden; }
.category-card { perspective: 1100px; }
.category-card > .category-visual {
  transform: rotateX(var(--art-tilt-x, 0deg)) rotateY(var(--art-tilt-y, 0deg));
  transition: transform var(--pointer-response, .65s) var(--dw-ease-out), box-shadow var(--pointer-response, .65s) var(--dw-ease-out);
  transform-origin: center;
}
.category-card:hover > .category-visual, .category-card:focus-visible > .category-visual {
  transform: rotateX(var(--art-tilt-x, 2deg)) rotateY(var(--art-tilt-y, -3deg)) translateY(-6px) translateZ(var(--art-lift, 0px));
  box-shadow: var(--art-shadow-x, 0px) var(--art-shadow-y, 18px) var(--art-shadow-blur, 32px) rgba(50,39,30,var(--art-shadow-alpha, .15));
}
.is-pointer-tilting { --pointer-response: .18s; }
.store-browser-toolbar { background: #eee9e2; border-color: var(--dw-border); border-radius: 4px; padding: 22px; }
.store-browser-toolbar label { color: #62594f;    }
.store-browser-toolbar input, .store-browser-toolbar select { border-radius: 3px;   }

.store-browser-category {   color: #73695e; }
.artwork-card-visual { border-radius: 2px; }
.store-artwork-card .artwork-card-visual {
  transform: perspective(1100px) rotateX(var(--art-tilt-x, 0deg)) rotateY(var(--art-tilt-y, 0deg));
  transition: transform var(--pointer-response, .65s) var(--dw-ease-out), box-shadow var(--pointer-response, .65s) var(--dw-ease-out);
}
.store-artwork-card:hover .artwork-card-visual, .store-artwork-card:focus-visible .artwork-card-visual {
  transform: perspective(1100px) rotateX(var(--art-tilt-x, 2deg)) rotateY(var(--art-tilt-y, -3deg)) translateY(-6px) translateZ(var(--art-lift, 0px));
  box-shadow: var(--art-shadow-x, 0px) var(--art-shadow-y, 18px) var(--art-shadow-blur, 32px) rgba(50,39,30,var(--art-shadow-alpha, .15));
}
.artwork-card-copy p {   color: #73695e; }
.store-artwork-price, .store-artwork-action {  color: #62564a;  }
.store-artwork-action { transition: color .25s; }
.store-artwork-card:hover .store-artwork-action { color: #302c28; }
.art-format-badge { color: #302c28; background: #fffefa; }
.store-browser-card { animation: dw-browse-in .65s var(--dw-ease-out) both; animation-delay: var(--card-delay, 0ms); }
@keyframes dw-browse-in { from { opacity: 0; transform: perspective(1100px) translateY(16px) rotateX(4deg); } to { opacity: 1; transform: none; } }

/* The canvas remains upright while its aperture and physical edge reshape. */
.product-visual-stage {
  perspective: 1100px; perspective-origin: 50% 50%; border-radius: 4px;
  background: radial-gradient(ellipse at 34% 18%, #fcfaf6 0%, #eee9e1 48%, #ded5c9 100%);
  box-shadow: inset 0 0 0 1px rgba(90,72,56,.07);
}
.product-visual-stage .product-frame {
  transform: translate(-50%, -50%) rotateX(var(--preview-tilt-x, 0deg)) rotateY(var(--preview-tilt-y, 0deg)) translateZ(var(--preview-lift, 0px));
  transform-style: flat; transform-origin: center; will-change: auto;
}
.product-frame.is-preview-ready {
  transition: width .7s var(--dw-ease-sculpt), height .7s var(--dw-ease-sculpt), transform var(--pointer-response, .6s) var(--dw-ease-out);
}
.product-frame::before {
  inset: 0; background: #d4c9ba;
  box-shadow: calc(var(--preview-shadow-x, 0px) * .25) calc(var(--preview-shadow-y, 20px) * .25) 12px rgba(47,35,23,.09),
    var(--preview-shadow-x, 0px) var(--preview-shadow-y, 20px) var(--preview-shadow-blur, 34px) rgba(47,35,23,var(--preview-shadow-alpha, .15));
  transition: inset .65s var(--dw-ease-sculpt), background .5s, box-shadow var(--pointer-response, .65s) var(--dw-ease-out);
}
.product-frame.is-poly::before {
  inset: -14px; background: #302d2a;
  box-shadow: inset 0 0 0 1px #655b51,
    calc(var(--preview-shadow-x, 0px) * .25) calc(var(--preview-shadow-y, 20px) * .25) 12px rgba(47,35,23,.1),
    var(--preview-shadow-x, 0px) var(--preview-shadow-y, 20px) var(--preview-shadow-blur, 34px) rgba(47,35,23,var(--preview-shadow-alpha, .17));
}
.product-art-aperture { box-shadow: inset 0 0 0 1px rgba(45,34,24,.08); }
.product-frame::after {
  z-index: 3; background: linear-gradient(115deg, rgba(255,255,255,.16), transparent 38%, transparent 65%, rgba(44,31,20,.045));
  pointer-events: none;
}
.product-frame.is-preview-ready .product-art-aperture .category-visual {
  transition: width .7s var(--dw-ease-sculpt), height .7s var(--dw-ease-sculpt);
}
.product-art-aperture .store-art-image {
  inset: 0; width: 100%; height: 100%; transform: none; object-fit: cover; object-position: center; will-change: auto;
}
.product-frame.is-preview-ready .product-art-aperture .store-art-image { transition: none; }
.product-stage-caption {
  position: absolute; left: 18px; right: 18px; bottom: 16px; display: flex;
  justify-content: space-between; gap: 12px; color: #655a4e;  
  pointer-events: none;
}
.product-stage-caption span:last-child { text-align: right; }
.product-preview-note { color: #776c5f;    }

.product-option-label span {  color: #776c5f; }
.product-option-label:has([data-frame-description]) { display: grid; grid-template-columns: max-content minmax(0, 1fr); }
.product-option-label:has([data-frame-description]) > :first-child { white-space: nowrap; }
.product-option-label [data-frame-description] { min-width: 0; white-space: normal; }
.product-select, .product-quantity { border-radius: 3px;  border-color: #c7bdb1; background: #fffefa; }
.product-orientation-group.is-visible { max-height: 130px; }
.frame-choice label { position: relative; border-radius: 3px; background: rgba(255,254,250,.5); padding: 17px; min-height: 114px; }
.frame-choice input:checked + label { border-color: #887361; background: #eee7de; box-shadow: inset 0 0 0 1px #887361, 0 3px 8px rgba(60,44,30,.04); }
.frame-choice input:focus-visible + label { outline: 2px solid #897666; outline-offset: 4px; }
.frame-choice small {   color: #73695e; }

.product-order-note {   color: #73695e; }
.product-orientation-note { margin: 14px 0 0; color: #73695e;  }

/* Every form and the cart use the same quieter field treatment. */
.quote-dialog { border-radius: 5px; box-shadow: 0 30px 100px rgba(30,22,16,.25); }
.quote-dialog[open] { animation: dw-dialog-in .45s var(--dw-ease-out) both; }
.quote-dialog::backdrop { background: rgba(35,29,24,.52); backdrop-filter: blur(10px); }
@keyframes dw-dialog-in { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: none; } }
:is(.quote-form, .art-form, .checkout-field, .cart-discount-entry) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    border-color: #c7bdb1; border-radius: 3px; background: #fffefa;
  transition: background .2s, border-color .2s, box-shadow .2s;
}
:is(.quote-form, .art-form, .checkout-field, .cart-discount-entry, .store-browser-toolbar) :is(input, select, textarea):focus {
  border-color: #887361; box-shadow: 0 0 0 3px rgba(136,115,97,.10); background: #fffefa;
}
.contact-form-card, .service-inquiry-card, .art-form { border-radius: 4px; box-shadow: var(--dw-shadow); }
.upload-box { border-radius: 3px; transition: background .3s, border-color .3s; }
.upload-box:hover, .upload-box:focus-within { background: #eee8df; border-color: #887361; }
.site-form-status, .confirmation-reference, .form-note {  border-radius: 3px; }
.cart-summary { background: #eee8df; border: 1px solid var(--dw-border); border-radius: 4px; box-shadow: var(--dw-shadow); }

.cart-qty { min-height: 44px; border-radius: 3px; }
.cart-thumb { display: grid; place-items: center; padding: 10px; aspect-ratio: 1; border-radius: 3px; }
.cart-thumb-canvas { position: relative; width: var(--thumb-width, 100%); height: var(--thumb-height, 100%); overflow: hidden; box-shadow: 2px 3px 0 #cbbdab, 5px 8px 13px rgba(45,32,20,.15); }
.cart-thumb-canvas .category-visual { position: absolute; top: 50%; left: 50%; width: var(--thumb-art-width, 100%); height: var(--thumb-art-height, 100%); transform: translate(-50%, -50%); }
.cart-thumb-canvas.is-poly { outline: 4px solid #302d2a; outline-offset: 1px; }
.cart-thumb-canvas.is-poly[data-frame-finish="natural"] { outline-color: #bb9467; }

.toast { border-radius: 4px;  box-shadow: var(--dw-shadow); }
.toast:not([hidden]) { animation: dw-dialog-in .35s var(--dw-ease-out) both; }
.policy-nav { border-radius: 3px; border: 1px solid var(--dw-border); }

.site-footer a { text-underline-offset: 5px; transition: color .25s; }
.footer-grid > div:not(.footer-brand) a:hover { color: #fffefa; }
.footer-bottom { border-color: rgba(255,255,255,.15); }

/* Progressive motion: all content remains visible when scripts are unavailable. */
.reveal, .reveal-media { opacity: 1; transform: none; }
.motion-ready .reveal:not(.is-visible) { opacity: 0; transform: translateY(18px); }
.motion-ready .reveal-media:not(.is-visible) { opacity: 0; transform: scale(.99); }
.motion-ready .reveal, .motion-ready .reveal-media {
  transition: opacity .8s var(--dw-ease-out), transform .95s var(--dw-ease-out); transition-delay: var(--reveal-delay, 0ms);
}


@view-transition { navigation: auto; }
::view-transition-old(root) { animation: dw-page-out .18s ease both; }
::view-transition-new(root) { animation: dw-page-in .32s ease both; }
::view-transition-group(dw-artwork) { animation-duration: .7s; animation-timing-function: cubic-bezier(.22,.72,.18,1); }
::view-transition-old(dw-artwork) { animation: dw-page-out .3s ease both; }
::view-transition-new(dw-artwork) { animation: dw-artwork-in .7s var(--dw-ease-out) both; }
@keyframes dw-page-out { to { opacity: 0; } }
@keyframes dw-page-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes dw-artwork-in { from { opacity: 0; transform: perspective(1200px) rotateY(-7deg) scale(.97); } to { opacity: 1; transform: none; } }

/* Earlier menu handoff prevents long service names crowding the brand. */
@media (max-width: 1280px) {
  .header-cta:not(.store-cart-link) { display: none; }
  .header-inner { grid-template-columns: auto 1fr; }
  .desktop-nav { gap: 16px; }
}
@media (max-width: 1080px) {
  :root { --header-height: 72px; }
  .site-header .desktop-nav, .site-header .art-nav { display: none; }
  .header-inner, .art-page .header-inner { grid-template-columns: 1fr auto; }
  .art-page .header-inner:has(.store-cart-link) { grid-template-columns: 1fr auto auto; gap: 12px; }
  .site-header .store-cart-link { display: inline-flex; }
  .menu-toggle { display: block; }
  .mobile-menu { display: block; position: fixed; top: var(--header-height); left: 0; right: 0;
    height: calc(100dvh - var(--header-height)); overflow-y: auto; padding: 24px 0 40px;
    opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity .3s, visibility .3s, transform .4s var(--dw-ease-out); }
  .mobile-menu.is-open { opacity: 1; visibility: visible; transform: none; }
  .mobile-menu-inner { display: flex; flex-direction: column; }
  .mobile-menu a, .mobile-menu summary { padding: 12px 0;  text-decoration: none; list-style: none; }
  .mobile-submenu { padding: 8px 0 14px 18px; }
  .mobile-submenu a { display: block;  }
  .product-layout { gap: 36px; }
}
@media (max-width: 720px) {
  .product-visual-stage { padding: 32px; height: 420px; }
  .product-stage-caption { bottom: 14px;  }
  .product-breadcrumbs { margin-bottom: 24px; }
  .product-sizes { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .portfolio-lightbox { border-radius: 0; }
}
@media (max-width: 640px) {
  :root { --shell: calc(100% - 40px); --header-height: 72px; }
  .shell { padding-inline: 0 !important; }
  body {  padding-bottom: 0; }
  body:has(.mobile-sticky-cta) { padding-bottom: 62px; }

  .brand { gap: 9px; }
  .hero, .hero-inner { min-height: 100svh; }
  .hero-inner { min-height: calc(100svh - var(--header-height)); }
  .hero-copy { min-height: calc(100svh - var(--header-height)) !important; padding: 110px 0 46px; }
  .hero-copy-inner { padding: 0; }
  .hero h1 { max-width: 100%;   }
  .hero-intro {  max-width: 100%; }

  .art-subhero, .standard-art-page .art-subhero { padding-top: calc(var(--header-height) + 42px) !important; }
  .policy-hero { padding-top: calc(var(--header-height) + 42px); }
  .store-browser-toolbar { padding: 16px; }
  .store-browser-grid { gap: 24px 16px !important; }
  .store-browser-card .artwork-card-copy { display: flex; flex-direction: column; gap: 0; padding: 16px 0 0; }

  .store-artwork-action { margin-top: 6px;  align-self: flex-start; }
  .store-browser-card .art-format-badge, .art-format-badge { display: none; }
  .art-page .header-cta.store-cart-link { padding: 7px 10px;  gap: 5px; }
  .cart-item { gap: 14px; }
  .cart-line-price { min-width: 0; }
  .product-option-label { gap: 12px; }

}
@media (hover: none) {
  .store-artwork-card:hover .artwork-card-visual, .category-card:hover > .category-visual { transform: none; }
  .portfolio-card-action { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .001ms !important; transition-delay: 0ms !important; }
  .motion-ready .reveal, .motion-ready .reveal-media { opacity: 1; transform: none; }
  .product-frame { transform: translate(-50%, -50%) !important; }
  .store-artwork-card:hover .artwork-card-visual, .category-card:hover > .category-visual { transform: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}

/* Typography for new annotations follows the original preview-note treatment. */
.product-stage-caption { font-size: 10.5px; letter-spacing: .04em; }
.product-orientation-note { font-size: 13px; line-height: 1.75; }
/* Preserve the original mobile type when the navigation switches earlier. */
@media (min-width: 901px) and (max-width: 1080px) {
  .mobile-menu a, .mobile-menu summary { font-family: var(--serif); font-size: 28px; line-height: 1; }
  .mobile-submenu a { font-family: var(--sans); font-size: 13px; }
}

/* Landing choreography changes movement only; the approved type is inherited. */
.landing-title-line { display: inline-block; max-width: 100%; }
.motion-ready .has-landing-motion .hero-copy-inner > .reveal,
.motion-ready .has-landing-motion .art-hero-copy,
.motion-ready .art-hero-gallery.has-art-motion { opacity: 1; transform: none; transition: none; }
.hero.has-landing-motion .hero-media img {
  translate: 0 var(--hero-photo-y, 0px);
  scale: var(--hero-depth-scale, 1);
  transform-origin: 50% 45%;
}
.hero.has-landing-motion .hero-copy-inner { translate: 0 var(--hero-copy-y, 0px); }
.motion-ready .art-hero-gallery.has-art-motion {
  transform: perspective(1400px) rotateX(var(--gallery-tilt-x, 0deg)) rotateY(var(--gallery-tilt-y, 0deg));
  transition: transform var(--pointer-response, .85s) var(--dw-ease-out);
  transform-style: preserve-3d;
}
.art-panel-slot { position: relative; min-width: 0; min-height: 0; perspective: 1400px; }
.art-panel-slot:first-child { grid-row: 1 / 3; }
.art-panel-slot > .art-panel { width: 100%; height: 100%; }
.has-art-motion .art-panel {
  box-shadow: var(--gallery-shadow-x, 8px) var(--gallery-shadow-y, 24px) var(--gallery-shadow-blur, 36px) rgba(50,39,30,var(--gallery-shadow-alpha, .13));
  transition: box-shadow var(--pointer-response, .85s) var(--dw-ease-out);
}

/* Two distinct upright canvases: only position/rotation animate during a swap. */
.product-frame.is-swap-canvas, .product-frame.is-swap-canvas::before,
.product-frame.is-swap-canvas .product-art-aperture .category-visual,
.product-frame.is-swap-canvas .product-art-aperture .store-art-image { transition: none !important; }
.product-frame.is-swap-canvas { z-index: 2; will-change: transform; }
.product-frame.product-frame-ghost {
  z-index: 1; pointer-events: none; view-transition-name: none;
  transform: translate(-50%, -50%); transition: none !important;
}
.product-stage-caption { z-index: 4; }
@media (prefers-reduced-motion: reduce) {
  .hero.has-landing-motion .hero-media img { translate: none; scale: 1; }
  .hero.has-landing-motion .hero-copy-inner { translate: none; }
  .motion-ready .art-hero-gallery.has-art-motion { transform: none; }
}

/* Mobile staging request: reveal on scroll and keep the form inside the viewport. */
@media (max-width: 640px) {
  .mobile-sticky-cta:not(.is-scroll-visible) {
    visibility: hidden;
    pointer-events: none;
  }
  html:has(#quote[open]) { overflow: hidden; }
  body:has(#quote[open]) {
    position: fixed;
    top: var(--quote-scroll-offset, 0px);
    left: 0;
    width: 100%;
    overflow: hidden;
  }
  #quote.quote-dialog {
    position: fixed;
    inset: 0;
    margin: auto;
    width: calc(100% - 24px);
    max-width: calc(100% - 24px);
    height: auto;
    max-height: calc(100svh - 24px);
    max-height: calc(100dvh - 24px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    touch-action: pan-y pinch-zoom;
  }
  #quote .dialog-layout { grid-template-columns: minmax(0, 1fr) !important; min-height: 0; }
  #quote .dialog-intro { min-width: 0; min-height: 0; padding: 68px 22px 26px !important; }
  #quote .dialog-close { top: 16px; right: 16px; left: auto; width: 44px; height: 44px; }
  #quote .dialog-form-wrap { min-width: 0; padding: 26px 20px max(28px, env(safe-area-inset-bottom)); overflow: visible; }
  #quote .quote-form { min-width: 0; padding: 0 !important; }
  #quote :is(.form-row, .choice-grid) { min-width: 0; }
  #quote .form-row { grid-template-columns: minmax(0, 1fr) !important; }
  #quote .choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #quote :is(label, fieldset, input, select, textarea) { min-width: 0; max-width: 100%; }
  #quote :is(input, select, textarea) { font-size: 16px; }
  #quote .file-field { grid-template-columns: minmax(0, 1fr); }
  #quote .file-field span { grid-row: auto; }
}
