/* Shared responsive guardrails for the template and all Korner modules. */
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body.korner{max-width:100%;overflow-x:hidden}
body.korner img,body.korner svg,body.korner video,body.korner canvas{max-width:100%}
body.korner iframe{border:0;max-width:100%;width:100%}
body.korner :where(h1,h2,h3,h4,h5,h6,p,a,span){overflow-wrap:anywhere}
body.korner :where(button,input,select,textarea){font:inherit;max-width:100%}
.korner-footer .footer-map{margin-top:32px;overflow:hidden}
.korner-footer .footer-map iframe{display:block;min-height:280px}

@media(max-width:991px){
  .site-header--fixed>.container{max-width:100%;padding-left:24px;padding-right:24px}
  .site-logo{height:auto;max-height:42px!important;max-width:min(180px,56vw)!important}
  .brandmark{min-width:0}.brandmark>span:last-child{min-width:0}
  .korner-menu-toggle{flex:0 0 44px;height:44px;margin-left:12px;width:44px}
  .korner-menu-toggle span{height:2px;width:24px}
  .korner-navigation.is-open{overscroll-behavior:contain;padding-bottom:max(38px,env(safe-area-inset-bottom))!important;padding-left:24px!important;padding-right:24px!important;padding-top:max(96px,calc(72px + env(safe-area-inset-top) + 24px))!important}
  .korner-navigation.is-open>.mod-menu{max-width:680px!important}
  .korner-navigation.is-open>.mod-menu>li{grid-template-columns:minmax(0,1fr) 48px!important}
  .korner-navigation.is-open>.mod-menu>li>a{min-width:0}
  .korner-navigation.is-open .korner-submenu-toggle{height:52px!important;width:48px!important}
  .korner-navigation.is-open>.mod-menu>li>ul,.korner-navigation.is-open>.mod-menu>li>.mod-menu__sub{grid-column:1/-1}

  .korner-content__layout--fixed-height{height:auto!important;min-height:0}
  .korner-content__layout,.korner-stages__layout{grid-template-columns:1fr!important}
  .korner-content__copy,.korner-content__media,.korner-stages__content,.korner-stages__image{grid-column:auto!important}
  .korner-content__media,.korner-stages__image{order:1!important}
  .korner-content__copy,.korner-stages__content{order:2!important}
  .korner-content__layout--fixed-height .korner-content__media{min-height:clamp(240px,56vw,360px)!important}
  .korner-content__copy{padding:48px 7vw!important}
  .korner-content__copy-inner{max-width:620px!important;width:100%}

  .korner-stages__content{padding:48px 7vw!important}
  .korner-stages__image{min-height:clamp(260px,58vw,380px)!important}
  .korner-stages__list{justify-content:center!important}

  .korner-features__grid{display:grid!important;grid-template-columns:1fr}
  .korner-features__box{max-width:100%!important;width:100%!important}
  .korner-features__icon{height:auto!important;max-width:88px!important}

  .korner-cta__buttons{flex-wrap:wrap}

  .korner-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:36px 28px!important}
  .korner-footer .footer-grid>*{min-width:0}
}

@media(max-width:767px){
  body.korner .container{--bs-gutter-x:40px}
  body.korner main>*,body.korner main section{max-width:100%}
  .section-korner{padding-bottom:48px;padding-top:48px}

  .korner-home-hero{background-position:64% center!important;min-height:auto!important}
  .korner-home-hero__shade{background:linear-gradient(90deg,rgba(249,248,245,.98) 0%,rgba(249,248,245,.92) 62%,rgba(249,248,245,.38) 100%)!important}
  .korner-home-hero__inner{min-height:max(620px,100svh)!important;padding-bottom:48px!important;padding-top:104px!important}
  .korner-home-hero__copy{width:100%!important}
  .korner-home-hero__copy h1 span,.korner-home-hero__copy h1 em{white-space:normal!important}
  .korner-home-hero__eyebrow{white-space:normal!important}

  .korner-content,.korner-stages,.korner-features,.korner-brands{margin-left:0!important;margin-right:0!important}
  .korner-content__copy,.korner-stages__content{padding:42px 20px!important}
  .korner-content__media,.korner-stages__image{min-height:clamp(230px,72vw,340px)!important}

  .korner-stages__list{display:grid!important;gap:24px 16px!important;grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0!important}
  .korner-stages__item{flex:none!important;width:auto!important}
  .korner-stages__arrow{display:none!important}
  .korner-stages__cta{justify-content:space-between;min-height:48px;width:100%}

  .korner-brands .brand-card{aspect-ratio:auto;min-height:clamp(340px,112vw,440px);padding:32px 24px!important}
  .korner-brands .brand-card__content{max-width:min(100%,270px)!important}
  .korner-brands .brand-card h2{font-size:clamp(32px,11vw,42px)}

  .korner-features{padding-left:0!important;padding-right:0!important}
  .korner-features__box{gap:20px;padding:28px 20px!important}
  .korner-features__icon{max-width:64px!important}

  .korner-portfolio{padding:48px 0!important}
  .korner-portfolio__text-block{padding:0!important}
  .portfolio-logos{margin-top:32px!important}

  .korner-cta{margin-left:0!important;margin-right:0!important;padding-bottom:clamp(42px,var(--pb),72px)!important;padding-top:clamp(42px,var(--pt),72px)!important}
  .korner-cta__buttons{gap:14px!important}
  .korner-cta__buttons{flex-direction:column!important}
  .korner-cta__button{min-height:52px;min-width:0;padding:14px 18px;width:100%}
  .korner-cta__modal{padding:12px}
  .korner-cta__form{max-height:calc(100dvh - 24px);overflow-y:auto;padding:32px 20px 24px}
  .korner-cta__close{align-items:center;display:flex;height:44px;justify-content:center;right:4px;top:2px;width:44px}

  .korner-footer .footer-grid{grid-template-columns:1fr!important;gap:30px!important}
  .korner-footer .footer-grid h3{margin-bottom:12px}
  .korner-footer .footer-bottom{line-height:1.9}
  .korner-footer .social-list{flex-wrap:wrap}
  .korner-footer .social-list a{align-items:center;display:inline-flex;min-height:44px;min-width:44px}
}

@media(max-width:480px){
  .site-header--fixed>.container{padding-left:16px;padding-right:16px}
  .site-logo{max-width:min(155px,52vw)!important}
  .korner-navigation.is-open{padding-left:18px!important;padding-right:18px!important}
  .korner-navigation.is-open>.mod-menu>li>a{font-size:clamp(20px,7.4vw,27px);letter-spacing:.02em;padding:13px 4px}
  .korner-navigation.is-open>.mod-menu>li>ul,.korner-navigation.is-open>.mod-menu>li>.mod-menu__sub{gap:9px!important;grid-template-columns:1fr!important;padding-bottom:16px!important}
  .korner-navigation.is-open>.mod-menu>li>ul img,.korner-navigation.is-open>.mod-menu>li>.mod-menu__sub img{height:96px}

  .korner-home-hero{background-position:66% center!important}
  .korner-home-hero__inner{min-height:620px!important;padding-top:96px!important}
  .korner-home-hero__copy h1{font-size:clamp(29px,10.4vw,39px);letter-spacing:-.035em}
  .korner-home-hero__lead{font-size:14px}
  .korner-home-hero__benefits{gap:7px!important;margin-top:24px!important}
  .korner-home-hero__benefit{min-height:34px}
  .korner-home-hero__cta{font-size:13px;margin-top:24px;padding:15px 18px}

  .korner-stages__list{grid-template-columns:1fr 1fr}
  .portfolio-logos{column-gap:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .portfolio-brand{border-left:0;border-top:1px solid #d8d3cd;padding:10px}
  .portfolio-brand:nth-child(-n+2){border-top:0}
  .portfolio-brand:nth-child(even){border-left:1px solid #d8d3cd}
}

@media(hover:none){
  .korner-brands .brand-card:hover{box-shadow:none;transform:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
