/* Global motion only; original product copy and per-photo framing remain intact. */
.site-header::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--green);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.motion-scrolled .site-header{box-shadow:0 5px 18px rgb(32 37 32 / .045)}
.site-header{transition:box-shadow .3s ease}.editorial{position:relative}
.motion-enhanced .editorial::before{content:"";position:absolute;top:-1px;left:var(--gutter);right:var(--gutter);height:1px;background:var(--green);transform:scaleX(var(--section-progress,1));transform-origin:left;pointer-events:none}
.hero-gallery{touch-action:pan-y pinch-zoom}
.gallery-view{transform:translateY(var(--scene-y,0px)) scale(1.025)}
@media(prefers-reduced-motion:no-preference){
 .gallery-slide,.gallery-slide.is-active{transition:opacity .85s ease,visibility 0s}.gallery-slide:not(.is-active){transition-delay:0s,.85s}
 .menu-dialog[open]{animation:global-menu-in .5s cubic-bezier(.16,1,.3,1)}
 .menu-dialog[open]::backdrop{animation:global-backdrop-in .4s ease}
 .product-entry[open]>.product-expanded,.line-details[open]>.disclosure-body{animation:global-detail-in .55s cubic-bezier(.16,1,.3,1)}
 @keyframes global-menu-in{from{opacity:.65;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}
 @keyframes global-backdrop-in{from{opacity:0}to{opacity:1}}
 @keyframes global-detail-in{from{opacity:.3;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
 @media(hover:hover) and (pointer:fine){
  .product-entry>summary .photo-frame{transition:transform .65s cubic-bezier(.16,1,.3,1)}
  .product-entry>summary:hover .photo-frame{transform:scale(1.055)}
  .menu-main,.menu-sub a{transition:transform .35s cubic-bezier(.16,1,.3,1),color .2s}
  .menu-main:hover,.menu-sub a:hover{transform:translateX(6px)}
  .contact-methods>div{transition:background-color .25s}.contact-methods>div:hover{background:var(--wash)}
 }
}
@media(min-width:701px) and (max-width:1050px){
 .hero-text{padding:38px 28px}.hero-text h1{font-size:clamp(38px,4.5vw,48px);margin-top:22px}
 .hero-actions{flex-wrap:wrap;gap:14px 22px}.intro-copy{font-size:16px}
 .editorial{grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr);gap:36px}
 .catalog-layout{grid-template-columns:170px minmax(0,1fr);gap:30px}
 .product-entry>summary{grid-template-columns:110px minmax(0,1fr) 72px;gap:16px}
 .small-photo{width:110px}.product-row-name strong{font-size:19px}
 .product-expanded{grid-template-columns:1fr}.expanded-photo{max-width:560px}
 .contact-methods>div{grid-template-columns:125px minmax(0,1fr);gap:16px}
}
@media(min-width:1051px){.editorial>.section-label{position:sticky;top:114px;align-self:start}}
@media(max-width:700px){
 .menu-sub a{min-height:44px;display:flex;align-items:center}.hero-actions{flex-wrap:wrap;gap:18px 24px}
 .contact-methods>div{grid-template-columns:minmax(95px,.7fr) minmax(0,1.3fr)}
 .spec-table td,.spec-table th{padding:10px 5px;font-size:13px}
 .section-label,.hero-text{min-width:0}
}
@media(max-width:360px){.hero-text h1{font-size:38px}.menu-sub{padding-left:32px;gap:10px}.contact-methods>div{grid-template-columns:90px minmax(0,1fr);gap:10px}.contact-methods .text-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){
 .gallery-view{transform:none}.site-header::after,.motion-enhanced .editorial::before{display:none}
 .motion-scrolled .site-header{box-shadow:none}.editorial>.section-label{position:static}
}
.copy-editing .gallery-view{transform:none}.copy-editing .editorial>.section-label{position:static}
@media print{.gallery-play,.site-header::after,.editorial::before{display:none}.gallery-view{transform:none}.editorial>.section-label{position:static}}

/* Only the header remains above each page; navigation lives in the menu. */
:root{--site-chrome-height:82px}
html{scroll-padding-top:calc(var(--site-chrome-height) + 16px)}
.product-entry{scroll-margin-top:0}.catalog-side{top:calc(var(--site-chrome-height) + 20px)}
@media(min-width:1051px){.editorial>.section-label{top:calc(var(--site-chrome-height) + 20px)}}
@media(max-width:700px){:root{--site-chrome-height:70px}.catalog-side{top:auto}}
@media print{.catalog-side,.editorial>.section-label{position:static}}
