/* Reference-template chrome: header, dropdowns, mobile panel, footer.
   Rules come from ref qshark-theme.css / site-overrides.css / qs-footer-seo.css; palette is ours. */

/* ---------- Header ---------- */
.qs-header{position:fixed;left:0;right:0;top:0;z-index:100;padding:max(14px,env(safe-area-inset-top)) 0 14px;background:#fff;box-shadow:0 9px 36px 0 rgba(0,0,0,.12);transition:background-color .2s ease-in-out;font-family:var(--qs-font-body)}
.qs-header .container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;max-width:1280px}
.qs-nav__left{display:flex;flex-grow:1;align-items:center}
.qs-nav__logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:30px;line-height:0}
.qs-nav__img{display:block;height:48px;width:auto;max-width:200px;object-fit:contain}
@media (min-width:1300px){.qs-nav__logo{margin-right:40px}}
@media (min-width:1450px){.qs-nav__logo{margin-right:60px}}
.qs-nav__links{display:flex;margin:0;padding:0;list-style:none}
.qs-nav__links>.menu-item{position:relative;list-style:none}
.qs-nav__links>.nav-item{padding-bottom:20px;margin-top:20px;margin-bottom:0}
.qs-nav__links>.nav-item+.nav-item{margin-left:24px}
.qs-nav__links>.menu-item>.nav-link{display:flex;align-items:center;text-decoration:none;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:800;line-height:1.5;color:#333;transition:.3s ease-out;font-family:var(--qs-font-body)}
@media (min-width:1201px){.qs-nav__links>.menu-item>.nav-link{font-size:13px}}
@media (min-width:1400px){.qs-nav__links>.menu-item>.nav-link{font-size:14px}}
@media (min-width:1600px){.qs-nav__links>.menu-item>.nav-link{font-size:15px}}
.qs-nav__links>.menu-item>.nav-link:hover,.qs-nav__links>.menu-item>.nav-link:focus-visible{color:var(--qs-accent-dark)}
.caret{display:inline-block;margin-left:8px;border:5px solid;border-color:#000 transparent transparent;border-width:5px 5px 0}
.dropdown-menu{display:none;position:absolute;top:30px;left:0;width:300px;margin:0;padding:20px 0;background:#fff;list-style:none;box-shadow:0 26px 36px rgba(0,0,0,.38);z-index:9999}
.dropdown-menu .menu-item+.menu-item{margin:0}
.dropdown-menu .nav-link{display:block;padding:10px 20px;color:#333;font-size:16px;font-weight:400;line-height:1.43;text-decoration:none;font-family:var(--qs-font-body)}
.dropdown-menu .nav-link:hover,.dropdown-menu .nav-link:focus-visible{background-image:linear-gradient(80deg,var(--qs-accent-hover),var(--qs-accent-2));color:var(--qs-ink)}
.dropdown:hover>.dropdown-menu,.dropdown:focus-within>.dropdown-menu{display:block}
@media (min-width:992px){
  .qs-nav__links .dropdown:hover>.dropdown-menu .dropdown-menu,.qs-nav__links .dropdown:focus-within>.dropdown-menu .dropdown-menu{display:none}
  .qs-nav__links .dropdown-submenu{position:relative}
  .qs-nav__links .dropdown-submenu>a{position:relative;padding-right:2.5rem}
  .qs-nav__links .dropdown-submenu>a::after{content:"";position:absolute;right:20px;top:50%;width:0;height:0;margin-top:-4px;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent #333}
  .qs-nav__links .dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:0}
  .qs-nav__links .dropdown:hover>.dropdown-menu .dropdown-submenu:hover>.dropdown-menu,.qs-nav__links .dropdown:focus-within>.dropdown-menu .dropdown-submenu:focus-within>.dropdown-menu{display:block}
}
.qs-nav__get-quote-wrap{margin-right:18px;margin-left:12px;flex-shrink:0}
.qs-nav__get-quote-wrap .qs-button{width:auto;padding:10px 18px;white-space:nowrap}
.qs-header .qs-button:hover{transform:translateY(-3px);box-shadow:rgba(0,0,0,.16) 0 20px 38px}
.qs-nav__phone{display:flex;align-items:center;flex-shrink:0}
.qs-nav__phone__link{display:flex;align-items:center;gap:12px;font-family:var(--qs-font);font-size:12px;font-weight:800;line-height:normal;color:#0d0d0d;text-decoration:none;white-space:nowrap}
.qs-nav__phone__link:hover{color:#0d0d0d;text-decoration:none}
@media (min-width:992px){.qs-nav__phone__link{font-size:16px}}
.qs-nav__menu-toggle{display:none;position:relative;margin:0;padding:0;border:0;background:none;color:#fff}
.qs-header__toggle{display:none}

/* ---------- Header: mobile panel (breakpoint 1200px as in the reference) ---------- */
@keyframes qs-nav-panel-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width:1200px){
  .qs-header .container{flex-wrap:nowrap;gap:8px;align-items:center;padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}
  .qs-header .qs-nav__left{flex:1 1 auto;min-width:0;display:flex;align-items:center;align-self:center}
  .qs-header .qs-nav__logo{margin-right:10px}
  .qs-header .qs-nav__links{display:none!important}
  .qs-header .qs-nav__get-quote-wrap{flex-shrink:0;margin-right:8px;margin-left:0;align-self:center}
  .qs-header .qs-nav__phone{flex-shrink:0;align-self:center}
  .qs-header .qs-nav__menu-toggle,.qs-header .qs-header__toggle{display:flex!important;align-items:center;justify-content:center;position:relative;top:0;margin:0;flex-shrink:0;width:44px;height:44px;border-radius:10px;cursor:pointer;z-index:103;transition:background-color .2s ease}
  .qs-header.qs-nav-open .qs-nav__menu-toggle{background:rgba(0,0,0,.05)}
  .qs-header.qs-nav-open .qs-nav__menu-toggle svg{opacity:0}
  .qs-header.qs-nav-open .qs-nav__menu-toggle::before,.qs-header.qs-nav-open .qs-nav__menu-toggle::after{content:"";position:absolute;width:20px;height:2px;border-radius:1px;background:#141414}
  .qs-header.qs-nav-open .qs-nav__menu-toggle::before{transform:rotate(45deg)}
  .qs-header.qs-nav-open .qs-nav__menu-toggle::after{transform:rotate(-45deg)}
  .qs-header.qs-nav-open::before{content:"";position:fixed;inset:0;z-index:101;background:rgba(13,13,13,.42);pointer-events:none}
  .qs-header.qs-nav-open .qs-nav__links{display:block!important;position:fixed;top:72px;right:0;bottom:0;left:0;z-index:102;width:100%;max-width:none;margin:0;padding:12px 16px 32px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#f4f4f5;box-sizing:border-box;list-style:none;font-family:var(--qs-font);animation:qs-nav-panel-in .24s ease}
  .qs-header.qs-nav-open .qs-nav__links::before{content:"Navigation";display:block;padding:4px 4px 14px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#737373}
  .qs-header.qs-nav-open .qs-nav__links>.menu-item,.qs-header.qs-nav-open .qs-nav__links>.nav-item{margin:0 0 10px!important;padding:0;text-align:left;list-style:none;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04)}
  .qs-header.qs-nav-open .qs-nav__links>.menu-item>.nav-link,.qs-header.qs-nav-open .qs-nav__links .dropdown>a.dropdown-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px 16px;font-size:16px;font-weight:700;line-height:1.3;letter-spacing:0;text-transform:none;text-align:left;color:#141414!important;text-decoration:none;box-sizing:border-box;transition:background-color .18s ease;font-family:var(--qs-font)}
  .qs-header.qs-nav-open .qs-nav__links .dropdown.show>a.dropdown-toggle,.qs-header.qs-nav-open .qs-nav__links .dropdown-submenu.show>a{background:linear-gradient(90deg,rgba(244,165,28,.16),rgba(244,165,28,.03));box-shadow:inset 3px 0 0 var(--qs-accent)}
  .qs-header.qs-nav-open .qs-nav__links .caret{display:none}
  .qs-header.qs-nav-open .qs-nav__links .dropdown-menu{display:block!important;position:static;float:none;box-shadow:none;border:none;width:100%;margin:0;padding:0;max-height:0;overflow:hidden;background:#fafafa;border-top:0 solid rgba(0,0,0,.06);transition:max-height .34s ease,padding .28s ease,border-top-width .2s ease}
  .qs-header.qs-nav-open .qs-nav__links .dropdown.show>.dropdown-menu,.qs-header.qs-nav-open .qs-nav__links .dropdown-submenu.show>.dropdown-menu{max-height:1200px;padding:6px 0 10px;border-top-width:1px}
  .qs-header.qs-nav-open .qs-nav__links .dropdown-menu .menu-item,.qs-header.qs-nav-open .qs-nav__links .dropdown-menu .nav-item{margin:0!important;padding:0;text-align:left;list-style:none}
  .qs-header.qs-nav-open .qs-nav__links .dropdown-menu>.menu-item>.nav-link,.qs-header.qs-nav-open .qs-nav__links .dropdown-menu>.nav-item>.nav-link{display:flex;align-items:center;min-height:44px;padding:10px 16px 10px 20px;font-size:15px;font-weight:600;text-transform:none;color:#262626!important;text-decoration:none;transition:background-color .15s ease,color .15s ease;font-family:var(--qs-font)}
  .qs-header.qs-nav-open .qs-nav__links .dropdown-menu>.menu-item>.nav-link:active,.qs-header.qs-nav-open .qs-nav__links .dropdown-menu>.nav-item>.nav-link:active,.qs-header.qs-nav-open .qs-nav__links>.menu-item>.nav-link:active{background:rgba(244,165,28,.14)}
  .qs-header.qs-nav-open .qs-nav__links .dropdown-menu>.dropdown-submenu{margin:6px 10px!important;border:1px solid rgba(0,0,0,.06);border-radius:10px;overflow:hidden;background:#fff}
  .qs-header.qs-nav-open .qs-nav__links .dropdown-menu>.dropdown-submenu>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 14px;font-size:15px;font-weight:700;color:#141414!important;text-decoration:none;box-sizing:border-box}
  .qs-header.qs-nav-open .qs-nav__links .dropdown>a.dropdown-toggle::after,.qs-header.qs-nav-open .qs-nav__links .dropdown-submenu>a::after{content:"";position:static;flex-shrink:0;width:9px;height:9px;margin:0 0 0 auto;border:0;border-right:2px solid #737373;border-bottom:2px solid #737373;transform:rotate(45deg);transition:transform .22s ease,border-color .2s ease}
  .qs-header.qs-nav-open .qs-nav__links .dropdown.show>a.dropdown-toggle::after,.qs-header.qs-nav-open .qs-nav__links .dropdown-submenu.show>a::after{transform:rotate(-135deg);border-color:var(--qs-accent-dark)}
  .qs-header.qs-nav-open .qs-nav__links .dropdown-submenu>.dropdown-menu{margin:0;padding:0;background:#f5f5f5;border-top:1px solid rgba(0,0,0,.05)}
  .qs-header.qs-nav-open .qs-nav__links .dropdown-submenu.show>.dropdown-menu{padding:4px 0 8px}
  .qs-header.qs-nav-open .qs-nav__links .dropdown-submenu .dropdown-menu .nav-link{min-height:42px;padding:9px 14px 9px 18px;font-size:14px;font-weight:500;color:#404040!important;opacity:1}
  .qs-header.qs-nav-open .qs-nav__links .dropdown-submenu .dropdown-menu .nav-link::before{content:"";display:inline-block;width:5px;height:5px;margin-right:10px;border-radius:50%;background:#d4d4d4;vertical-align:middle}
}
@media (max-width:600px){
  .qs-nav__img{height:34px}
  .qs-header .qs-nav__logo{margin-right:6px}
  .qs-nav__get-quote-wrap .qs-button{padding:10px 8px;font-size:11px}
  .qs-nav__phone__link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .qs-nav__phone__link{width:40px;height:40px;justify-content:center;gap:0;border-radius:10px;background:rgba(0,0,0,.05)}
}
@media (max-width:370px){.qs-nav__get-quote-wrap .qs-button{display:none}}

/* ---------- Footer ---------- */
.qs-footer--seo{background:var(--qs-warm);border-top:1px solid rgba(8,47,75,.1);padding:clamp(36px,4vw,52px) 0 clamp(28px,3vw,40px);font-family:var(--qs-font);color:var(--qs-ink)}
.qs-footer--seo .container{max-width:1160px;margin:0 auto;padding:0 16px}
.qs-footer__grid{display:grid;grid-template-columns:1.15fr repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,36px);align-items:start}
.qs-footer__brand-name{margin:0 0 8px;font-size:clamp(18px,1.6vw,22px);font-weight:800;line-height:1.2;letter-spacing:-.2px}
.qs-footer__brand-tagline{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--qs-muted);font-weight:600;max-width:34ch}
.qs-footer__cta{margin:0 0 8px}
.qs-footer__phone{font-size:clamp(18px,1.5vw,22px);font-weight:800;color:var(--qs-ink);text-decoration:none}
.qs-footer__phone:hover{color:var(--qs-accent-dark)}
.qs-footer__email{margin:0 0 14px;font-size:14px;font-weight:600}
.qs-footer__email a{color:var(--qs-ink);text-decoration:underline;text-underline-offset:2px}
.qs-footer__quote{margin:0 0 10px}
.qs-footer__quote-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:var(--qs-accent);color:var(--qs-ink)!important;font-size:13px;font-weight:800;text-decoration:none!important;letter-spacing:.01em}
.qs-footer__quote-btn:hover{background:var(--qs-accent-hover)}
.qs-footer__contact-link{margin:0;font-size:13px;font-weight:600}
.qs-footer__contact-link a{color:var(--qs-muted);text-decoration:underline;text-underline-offset:2px}
.qs-footer__col-title{margin:0 0 12px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--qs-ink)}
.qs-footer__links{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.qs-footer__links a{font-size:14px;font-weight:600;line-height:1.35;color:var(--qs-ink);text-decoration:none}
.qs-footer__links a:hover{color:var(--qs-accent-dark);text-decoration:underline;text-underline-offset:2px}
.qs-footer__areas-all{margin:14px 0 0;font-size:13px;font-weight:700}
.qs-footer__areas-all a{color:var(--qs-ink);text-decoration:underline;text-underline-offset:2px}
.qs-footer__bottom{margin-top:clamp(24px,3vw,34px);padding-top:18px;border-top:1px solid rgba(8,47,75,.12);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px}
.qs-footer__legal{margin:0;font-size:12px;line-height:1.5;color:var(--qs-muted);font-weight:600}
.qs-footer__legal a{color:var(--qs-ink);text-decoration:underline;text-underline-offset:2px}
.qs-footer__legal-sep{margin:0 6px;opacity:.55}
@media (max-width:991px){.qs-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qs-footer__col--brand{grid-column:1/-1}}
@media (max-width:560px){
  .qs-footer__grid{grid-template-columns:1fr}
  .qs-footer__bottom{flex-direction:column;align-items:flex-start}
  .qs-footer__legal-sep{display:none}
  .qs-footer__legal span,.qs-footer__legal a{display:inline-block;margin:0 10px 6px 0}
}

/* beat legacy h2 rules from site.css */
body.s365-site .qs-footer--seo h2.qs-footer__col-title{margin:0 0 12px;max-width:none;font-family:var(--qs-font);font-size:13px;font-weight:800;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;text-wrap:wrap;color:var(--qs-ink)}
body.s365-site .qs-footer--seo p{max-width:none}
