/* Morrison final refinement layer. Loaded last so each component has one
   predictable acceptance-test surface without changing the approved header. */
:root{
  --mw-ink:#012d3d;
  --mw-accent:#008fb5;
  --mw-line:#dbe7ee;
  --mw-soft:#f3f8fa;
  --mw-radius:20px;
  --mw-shadow:0 14px 38px rgba(1,45,61,.09);
  --mw-header-clearance:118px;
}

/* Closed mega menus and the off-canvas drawer must never enlarge the page. */
html{overflow-x:clip}
.nav-drop[data-mm="click"]:not(.mega-click-open)>.mega-menu{display:none!important}
.nav-drop[data-mm="click"].mega-click-open>.mega-menu{display:block!important}
html{scroll-padding-top:var(--mw-header-clearance)}
body{overflow-x:hidden}
img{max-width:100%}
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid #39c0dc!important;
  outline-offset:3px!important;
}
.section{padding-block:clamp(54px,6vw,92px)}
.section+.section{border-top-color:rgba(1,45,61,.08)}
:where(.premium-hero h1,.project-hero h1,.resource-hero h1,.design-hero h1,.contact-hero h1,.faq-hero h1){
  max-width:18ch;
  text-wrap:balance;
}
:where(.premium-hero-content,.project-hero-content,.resource-hero-content,.design-hero-content,.contact-hero-content,.faq-hero-content){
  padding-top:max(var(--mw-header-clearance),calc(var(--mw-header-clearance) + env(safe-area-inset-top,0px)));
}

/* Warranty: unified desktop photograph and a structurally safe mobile stack. */
.page-warranty #mw-warranty-hero{min-height:clamp(570px,48vw,760px)}
.page-warranty #mw-warranty-hero .mw-warranty-shell{
  min-height:clamp(570px,48vw,760px);
  width:min(calc(100% - 64px),1440px);
  padding:clamp(136px,10vw,172px) 0 96px;
}
.page-warranty #mw-warranty-hero .mw-warranty-copy{width:min(610px,42vw)}
.page-warranty #mw-warranty-hero .mw-warranty-media img{
  object-fit:contain!important;
  object-position:right center;
}
.page-warranty #mw-warranty-hero .mw-warranty-overlay{
  background:linear-gradient(90deg,rgba(3,20,29,.98) 0%,rgba(3,20,29,.92) 29%,rgba(3,20,29,.58) 48%,rgba(3,20,29,.12) 64%,transparent 76%);
}
.page-warranty #mw-warranty-hero .mw-warranty-care-guide{
  left:max(32px,calc((100% - min(100% - 64px,1440px))/2));
  bottom:40px;
}
.page-warranty #mw-care{padding-block:clamp(52px,5vw,76px)}
.page-warranty #mw-care .mw-care-grid{max-width:1180px}
.page-warranty #mw-care .mw-care-tips{max-width:1180px;margin-inline:auto}

/* Category collection cards: natural source imagery, consistent stage and scale. */
:where(.page-windows,.page-doors,.page-skylights) :where(.collection-card,.system-card,.residential-card){
  overflow:hidden;
  border:1px solid var(--mw-line);
  border-radius:var(--mw-radius);
  background:#fff;
  box-shadow:var(--mw-shadow);
}
:where(.page-windows,.page-doors,.page-skylights) :where(.collection-card-media,.system-card-media,.card-image){
  min-height:clamp(230px,22vw,330px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(18px,2.2vw,34px);
  overflow:hidden;
  background:linear-gradient(145deg,#f8fafb,#edf4f6);
}
:where(.page-windows,.page-doors,.page-skylights) :where(.collection-card-media,.system-card-media,.card-image) img{
  width:100%;height:100%;max-height:290px;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important;
}
:where(.page-doors) .system-card-media img[src*="-installed"],
:where(.page-doors) .system-card-media img[src*="folding-door-balcony"]{
  max-width:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  border-radius:12px;
}

/* Individual Residential heroes follow the Residential editorial model. */
.rp-hero--editorial{min-height:clamp(540px,58vh,680px)!important}
.rp-hero-shell{padding-top:max(136px,calc(118px + env(safe-area-inset-top,0px)))!important}
.rp-hero-visual-frame img{image-rendering:auto}
.rp-detail,.rp-slide-stage,.rp-gallery figure{border-color:var(--mw-line);box-shadow:var(--mw-shadow)}
.rp-detail-body{min-width:0}
.rp-list li,.rp-option{line-height:1.45}

/* Premium consistency for recurring cards and controls. */
:where(.resource-card,.project-card,.design-card,.guide-card,.faq-item,.care-grid article){
  border-color:var(--mw-line);
  box-shadow:var(--mw-shadow);
}
:where(.premium-btn,.rp-download,.mw-warranty-care-guide){min-height:44px}
.footer a{min-height:34px;display:flex;align-items:center}

@media(max-width:1024px){
  :root{--mw-header-clearance:104px}
  .page-warranty #mw-warranty-hero{
    display:grid!important;
    min-height:0!important;
    padding-top:calc(var(--mw-header-clearance) + env(safe-area-inset-top,0px))!important;
    background:#061f2b;
  }
  .page-warranty #mw-warranty-hero .mw-warranty-shell{
    grid-row:1;
    min-height:0!important;
    width:min(calc(100% - 48px),760px)!important;
    padding:38px 0 32px!important;
  }
  .page-warranty #mw-warranty-hero .mw-warranty-copy{width:100%!important;max-width:680px}
  .page-warranty #mw-warranty-hero .mw-warranty-media,
  .page-warranty #mw-warranty-hero .mw-warranty-media picture{
    position:relative!important;inset:auto!important;display:block!important;
  }
  .page-warranty #mw-warranty-hero .mw-warranty-media{grid-row:2;background:#edf4f6}
  .page-warranty #mw-warranty-hero .mw-warranty-media img{
    position:relative!important;inset:auto!important;display:block!important;
    width:100%!important;height:auto!important;max-height:none!important;
    object-fit:contain!important;object-position:center!important;
  }
  .page-warranty #mw-warranty-hero .mw-warranty-overlay{display:none!important}
  .page-warranty #mw-warranty-hero .mw-warranty-care-guide{
    grid-row:3;position:relative!important;inset:auto!important;
    width:min(calc(100% - 48px),760px);margin:18px auto 22px;
  }
  .page-warranty #mw-care .mw-care-grid{grid-template-columns:1fr 1fr}
  .page-warranty #mw-care .mw-care-warranty{grid-column:1/-1}
  .page-warranty #mw-care .mw-care-tips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rp-hero-shell{padding-top:30px!important}
}

@media(max-width:700px){
  :root{--mw-header-clearance:88px}
  .section{padding-block:48px}
  :where(.premium-hero-content,.project-hero-content,.resource-hero-content,.design-hero-content,.contact-hero-content,.faq-hero-content){
    padding-top:calc(var(--mw-header-clearance) + 22px + env(safe-area-inset-top,0px))!important;
  }
  .page-warranty #mw-warranty-hero .mw-warranty-shell{width:calc(100% - 36px)!important;padding:28px 0 26px!important}
  .page-warranty #mw-warranty-hero h1{font-size:clamp(34px,10vw,44px)!important;max-width:12ch}
  .page-warranty #mw-warranty-hero .mw-warranty-care-guide{width:calc(100% - 36px);margin:16px auto 20px}
  .page-warranty #mw-care{padding:44px 0 48px}
  .page-warranty #mw-care .mw-care-grid{display:flex;flex-direction:column;gap:24px}
  .page-warranty #mw-care .mw-care-heading{order:1}
  .page-warranty #mw-care .mw-care-copy{order:2}
  .page-warranty #mw-care .mw-care-warranty{order:3;width:100%}
  .page-warranty #mw-care .mw-care-tips{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .page-warranty #mw-care .mw-care-tip{padding:18px 14px!important;min-width:0}
  .page-warranty #mw-care .mw-care-tip h3{font-size:14px!important}
  .page-warranty #mw-care .mw-care-tip p{font-size:12px!important}
  .rp-hero--editorial{padding-top:calc(var(--mw-header-clearance) + env(safe-area-inset-top,0px))!important}
  .rp-hero-shell{width:calc(100% - 32px)!important;padding-top:22px!important}
  .rp-hero--editorial h1{font-size:clamp(36px,11vw,48px)!important;max-width:13ch!important}
  .rp-hero-visual-frame{height:clamp(240px,72vw,330px)!important}
  .rp-hero--editorial .rp-facts{grid-template-columns:1fr!important}
  .rp-hero--editorial .rp-facts span{padding-left:0!important;border-left:0!important}
  :where(.page-windows,.page-doors,.page-skylights) :where(.collection-card-media,.system-card-media,.card-image){min-height:220px;padding:22px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
