/* Homepage polish — intentionally excludes Featured Product card internals. */
:root{--home-section-space:80px;--home-section-space-mobile:44px;--home-navy:#082b63;--home-text:#13213a;--home-muted:#66758c;--home-border:#dfe6ef;--home-soft:#f6f9fc}
.announcement-bar-polished{overflow:hidden;background:#082b63;color:#fff;border:0}
.announcement-inner{max-width:1200px;margin:0 auto;min-height:38px;padding:8px 24px;display:flex;align-items:center;justify-content:center;gap:28px;font-size:.79rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.announcement-item{display:inline-flex;align-items:center;gap:8px}
.announcement-item i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.85;flex:0 0 auto}
.featured-home-sections{padding-top:var(--home-section-space);padding-bottom:var(--home-section-space)}
.featured-block+.featured-block{margin-top:var(--home-section-space)}
.featured-heading{margin-bottom:34px;text-align:center}
.featured-heading h2{margin:10px 0 8px;font-size:clamp(2rem,3vw,2.65rem);line-height:1.08;color:var(--home-navy)}
.featured-heading p{max-width:640px;margin:0 auto;color:var(--home-muted);font-size:1rem;line-height:1.65}
.why-mighty-section,.trust-timeline-section,.stay-updated-section{padding-top:var(--home-section-space);padding-bottom:var(--home-section-space)}
.why-mighty-section{background:var(--home-soft)}
.why-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:34px}
.why-trust-card{background:#fff;border:1px solid var(--home-border);border-radius:18px;padding:26px 22px;box-shadow:0 12px 30px rgba(20,42,75,.07);min-height:210px}
.why-trust-icon{width:46px;height:46px;border-radius:14px;background:#edf4ff;display:grid;place-items:center;font-size:1.35rem;margin-bottom:18px}
.why-trust-card h3{margin:0 0 10px;color:var(--home-navy);font-size:1.05rem;line-height:1.35}
.why-trust-card p{margin:0;color:var(--home-muted);line-height:1.65;font-size:.94rem}
.trust-timeline-section{background:#fff}
.stay-updated-section{background:var(--home-soft)}
.site-footer-polished{background:#071f46;color:#fff;padding:56px 24px 0}
.footer-polished-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:42px;padding-bottom:42px}
.footer-brand-block img{width:72px;height:auto;margin-bottom:12px;filter:brightness(0) invert(1)}
.footer-brand-block h3{margin:0 0 10px;font-size:1.35rem}
.footer-brand-block p{margin:0;max-width:360px;color:#c7d3e6;line-height:1.65;font-size:.93rem}
.footer-link-column{display:flex;flex-direction:column;gap:10px}
.footer-link-column h4{margin:0 0 8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#9fb4d2}
.footer-link-column a{color:#fff;text-decoration:none;font-size:.93rem;opacity:.9}
.footer-link-column a:hover{opacity:1;text-decoration:underline}
.footer-polished-bottom{border-top:1px solid rgba(255,255,255,.14);max-width:1180px;margin:0 auto;padding:18px 0 22px;display:flex;justify-content:space-between;gap:20px;color:#aebed5;font-size:.78rem}
.legal-disclaimer{padding-top:34px;padding-bottom:34px;background:#04152f;color:#c8d4e5}
.legal-disclaimer h3{color:#fff}
.legal-disclaimer p{font-size:.78rem;line-height:1.65}
@media(max-width:900px){.announcement-inner{justify-content:flex-start;overflow-x:auto;gap:22px;scrollbar-width:none}.announcement-inner::-webkit-scrollbar{display:none}.why-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-polished-inner{grid-template-columns:1.4fr 1fr 1fr}.footer-link-column:last-child{grid-column:2/4}}
@media(max-width:640px){:root{--home-section-space:var(--home-section-space-mobile)}.announcement-inner{padding:8px 14px;font-size:.72rem}.featured-heading{margin-bottom:24px;padding:0 16px}.featured-block+.featured-block{margin-top:52px}.why-trust-grid{grid-template-columns:1fr;gap:14px}.why-trust-card{min-height:0;padding:22px 18px}.footer-polished-inner{grid-template-columns:1fr 1fr;gap:30px 22px}.footer-brand-block{grid-column:1/-1}.footer-polished-bottom{flex-direction:column;padding-left:0;padding-right:0}.site-footer-polished{padding-left:18px;padding-right:18px}}

/* Newsletter / stay-updated section — isolated homepage treatment */
.stay-updated-section{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  min-height:420px;
  padding:72px 24px;
  background:transparent;
  overflow:hidden;
}
.stay-updated-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:rgba(4,21,47,.16);
  pointer-events:none;
}
.stay-updated-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(4,21,47,.03),rgba(4,21,47,.17));
  pointer-events:none;
}
.stay-updated-card{
  width:min(100%,980px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  align-items:center;
  gap:48px;
  padding:38px 42px;
  border:1px solid rgba(8,43,99,.12);
  border-left:4px solid var(--home-navy);
  border-radius:24px;
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 54px rgba(5,26,57,.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.stay-updated-copy{min-width:0}
.stay-updated-eyebrow{
  display:block;
  margin-bottom:12px;
  color:#48617f;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.stay-updated-copy h2{
  margin:0 0 12px;
  color:var(--home-navy);
  font-size:clamp(2rem,3vw,2.6rem);
  line-height:1.04;
  letter-spacing:-.035em;
}
.stay-updated-copy p{
  max-width:560px;
  margin:0;
  color:#5c6c82;
  font-size:.98rem;
  line-height:1.7;
}
.stay-updated-form{min-width:0}
.stay-updated-form label{
  margin:0 0 8px;
  color:var(--home-navy);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.stay-updated-input-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:stretch;
}
.stay-updated-input-row input{
  min-width:0;
  height:52px;
  margin:0;
  padding:0 17px;
  border:1px solid #ccd7e6;
  border-radius:14px;
  background:#fff;
  color:#102b4f;
  font-size:16px;
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.stay-updated-input-row input::placeholder{color:#8995a7}
.stay-updated-input-row input:focus{
  border-color:#245491;
  box-shadow:0 0 0 4px rgba(8,43,99,.10);
  outline:none;
}
.stay-updated-input-row button{
  min-width:126px;
  height:52px;
  margin:0;
  padding:0 22px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,#123d77,#082b63);
  color:#fff;
  font-size:.86rem;
  font-weight:900;
  box-shadow:0 12px 24px rgba(8,43,99,.20);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.stay-updated-input-row button:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 28px rgba(8,43,99,.27);
  filter:brightness(1.04);
}
.stay-updated-note{
  display:block;
  margin-top:9px;
  color:#6f7e92;
  font-size:.76rem;
  line-height:1.4;
}
.stay-updated-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:16px;
  color:#425775;
  font-size:.76rem;
  font-weight:800;
}
.stay-updated-benefits span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}
.stay-updated-benefits span::before{
  content:"✓";
  display:grid;
  place-items:center;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#e8f5ed;
  color:#177245;
  font-size:.68rem;
  font-weight:950;
}
.stay-updated-success{
  display:none;
  margin-top:12px;
  color:#177245;
  font-size:.8rem;
  font-weight:800;
}
.stay-updated-form.submitted .stay-updated-success{display:block}

@media(max-width:900px){
  .stay-updated-section{min-height:0;padding:56px 22px}
  .stay-updated-card{grid-template-columns:1fr;gap:28px;width:min(100%,720px);padding:34px}
}
@media(max-width:560px){
  .stay-updated-section{padding:42px 16px}
  .stay-updated-card{gap:24px;padding:27px 22px;border-left-width:3px;border-radius:20px}
  .stay-updated-input-row{grid-template-columns:1fr}
  .stay-updated-input-row button{width:100%}
  .stay-updated-benefits{display:grid;grid-template-columns:1fr;gap:9px}
}

/* Announcement bar — authoritative homepage presentation */
body .announcement-bar.announcement-bar-polished{
  position:relative !important;
  top:auto !important;
  z-index:9999 !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:auto !important;
  min-height:36px !important;
  margin:0 !important;
  overflow:hidden !important;
  display:block !important;
  border:0 !important;
  border-radius:0 !important;
  background:#082b63 !important;
  color:#ffffff !important;
  white-space:nowrap !important;
}
body .announcement-bar.announcement-bar-polished::before,
body .announcement-bar.announcement-bar-polished::after{
  display:none !important;
  content:none !important;
}
body .announcement-bar.announcement-bar-polished .announcement-inner{
  width:100% !important;
  max-width:1200px !important;
  min-height:36px !important;
  margin:0 auto !important;
  padding:8px 24px !important;
  color:#ffffff !important;
}
body .announcement-bar.announcement-bar-polished .announcement-item{
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:none !important;
}
body .announcement-bar.announcement-bar-polished .announcement-item i{
  background:#ffffff !important;
  opacity:.8 !important;
}
@media(max-width:640px){
  body .announcement-bar.announcement-bar-polished .announcement-inner{
    padding:8px 14px !important;
  }
}

/* Homepage header and primary navigation — authoritative component */
body.true-north-home .shopify-header{
  position:sticky !important;
  top:0 !important;
  z-index:9000 !important;
  width:100% !important;
  background:rgba(255,255,255,.94) !important;
  border-bottom:1px solid #dbe4f0 !important;
  box-shadow:0 4px 14px rgba(8,43,99,.055) !important;
  backdrop-filter:blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(135%) !important;
}
body.true-north-home .shopify-header .header-top{
  width:100% !important;
  max-width:1420px !important;
  min-height:72px !important;
  margin:0 auto !important;
  padding:0 32px !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:28px !important;
}
body.true-north-home .shopify-header .brand-lockup{
  justify-self:start !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  padding:0 !important;
  color:#082b63 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
body.true-north-home .shopify-header .brand-lockup img{
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  padding:4px !important;
  object-fit:contain !important;
  border:1px solid #d8e2ef !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 7px 18px rgba(8,43,99,.08) !important;
}
body.true-north-home .shopify-header .brand-text{
  display:block !important;
  min-width:0 !important;
}
body.true-north-home .shopify-header .brand-text strong{
  display:block !important;
  color:#082b63 !important;
  font-size:clamp(1.35rem,2vw,1.75rem) !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:-.035em !important;
  white-space:nowrap !important;
}
body.true-north-home .shopify-header .brand-text span{
  display:none !important;
}
body.true-north-home .shopify-header .main-nav{
  justify-self:center !important;
  align-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  gap:4px !important;
  overflow:visible !important;
}
body.true-north-home .shopify-header .main-nav a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:10px 13px !important;
  border-radius:10px !important;
  color:#263a58 !important;
  font-size:.86rem !important;
  line-height:1.15 !important;
  font-weight:720 !important;
  letter-spacing:.005em !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  transition:color .18s ease,background-color .18s ease !important;
}
body.true-north-home .shopify-header .main-nav a::after{
  content:"" !important;
  position:absolute !important;
  left:13px !important;
  right:13px !important;
  bottom:3px !important;
  width:auto !important;
  height:3px !important;
  border-radius:999px !important;
  background:#1261d8 !important;
  opacity:0 !important;
  transform:scaleX(.45) !important;
  transform-origin:center !important;
  transition:opacity .18s ease,transform .18s ease !important;
}
body.true-north-home .shopify-header .main-nav a:hover,
body.true-north-home .shopify-header .main-nav a:focus-visible{
  color:#082b63 !important;
  background:#edf4ff !important;
  outline:none !important;
}
body.true-north-home .shopify-header .main-nav a.active{
  color:#0759c7 !important;
  background:transparent !important;
  font-weight:820 !important;
}
body.true-north-home .shopify-header .main-nav a.active::after{
  opacity:1 !important;
  transform:scaleX(1) !important;
}
body.true-north-home .shopify-header .header-actions{
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:9px !important;
  min-width:0 !important;
}
body.true-north-home .shopify-header .cart-action,
body.true-north-home .shopify-header .mbl-mobile-menu-toggle{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #d9e4f1 !important;
  border-radius:13px !important;
  background:#fff !important;
  color:#082b63 !important;
  box-shadow:0 6px 16px rgba(8,43,99,.07) !important;
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease !important;
}
body.true-north-home .shopify-header .cart-action:hover,
body.true-north-home .shopify-header .mbl-mobile-menu-toggle:hover{
  transform:translateY(-1px) !important;
  border-color:#b8cbe3 !important;
  background:#f5f9ff !important;
  box-shadow:0 9px 20px rgba(8,43,99,.11) !important;
}
body.true-north-home .shopify-header .cart-icon{
  display:grid !important;
  place-items:center !important;
  width:22px !important;
  height:22px !important;
  font-size:0 !important;
  line-height:1 !important;
  color:#082b63 !important;
}
body.true-north-home .shopify-header .cart-icon svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
  stroke:currentColor !important;
}
body.true-north-home .shopify-header .cart-count{
  top:-6px !important;
  right:-6px !important;
  min-width:20px !important;
  height:20px !important;
  padding:0 5px !important;
  border:2px solid #fff !important;
  border-radius:999px !important;
  background:#e31b23 !important;
  color:#fff !important;
  font-size:.66rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-shadow:0 4px 10px rgba(227,27,35,.22) !important;
}
body.true-north-home .shopify-header .mbl-mobile-menu-toggle{
  display:none !important;
  padding:0 !important;
  flex-direction:column !important;
  gap:4px !important;
}
body.true-north-home .shopify-header .mbl-mobile-menu-toggle span{
  width:18px !important;
  height:2px !important;
  background:#082b63 !important;
}

@media(max-width:1120px){
  body.true-north-home .shopify-header .header-top{
    padding:0 22px !important;
    gap:18px !important;
  }
  body.true-north-home .shopify-header .brand-lockup img{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
  }
  body.true-north-home .shopify-header .brand-text strong{
    font-size:1.42rem !important;
  }
  body.true-north-home .shopify-header .main-nav a{
    padding-left:9px !important;
    padding-right:9px !important;
    font-size:.79rem !important;
  }
}

@media(max-width:900px){
  body.true-north-home .shopify-header .header-top{
    min-height:68px !important;
    padding:8px 14px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:12px !important;
  }
  body.true-north-home .shopify-header .brand-lockup{
    gap:10px !important;
  }
  body.true-north-home .shopify-header .brand-lockup img{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    border-radius:12px !important;
  }
  body.true-north-home .shopify-header .brand-text strong{
    max-width:48vw !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    font-size:1.22rem !important;
  }
  body.true-north-home .shopify-header .header-actions{
    gap:7px !important;
  }
  body.true-north-home .shopify-header .mbl-mobile-menu-toggle{
    display:inline-flex !important;
  }
  body.true-north-home .shopify-header .main-nav.mbl-mobile-nav-target{
    display:none !important;
    position:fixed !important;
    top:80px !important;
    left:12px !important;
    right:12px !important;
    z-index:2147483001 !important;
    width:auto !important;
    max-height:calc(100dvh - 96px) !important;
    overflow-y:auto !important;
    padding:10px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:4px !important;
    border:1px solid #d8e3f0 !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.98) !important;
    box-shadow:0 22px 50px rgba(8,31,69,.20) !important;
  }
  body.mbl-mobile-menu-open.true-north-home .shopify-header .main-nav.mbl-mobile-nav-target{
    display:flex !important;
  }
  body.true-north-home .shopify-header .main-nav a{
    justify-content:flex-start !important;
    width:100% !important;
    min-height:48px !important;
    padding:13px 14px !important;
    border-radius:11px !important;
    font-size:.92rem !important;
  }
  body.true-north-home .shopify-header .main-nav a::after{
    left:14px !important;
    right:auto !important;
    bottom:6px !important;
    width:28px !important;
  }
  body.true-north-home .shopify-header .main-nav a.active{
    background:#edf4ff !important;
  }
}

@media(max-width:420px){
  body.true-north-home .shopify-header .brand-text strong{
    max-width:42vw !important;
    font-size:1.08rem !important;
  }
  body.true-north-home .shopify-header .cart-action,
  body.true-north-home .shopify-header .mbl-mobile-menu-toggle{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
  }
}


/* Header brand lockup refinement — final authoritative adjustment */
body.true-north-home .shopify-header .header-top{
  padding-left:36px !important;
  grid-template-columns:minmax(320px,auto) minmax(0,1fr) auto !important;
}
body.true-north-home .shopify-header .brand-lockup{
  gap:14px !important;
  align-items:center !important;
}
body.true-north-home .shopify-header .brand-lockup img{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
}
body.true-north-home .shopify-header .brand-text{
  display:flex !important;
  align-items:center !important;
}
body.true-north-home .shopify-header .brand-text strong{
  font-size:1.46rem !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:-.025em !important;
  transform:translateY(1px) !important;
}

@media(max-width:1120px){
  body.true-north-home .shopify-header .header-top{
    padding-left:24px !important;
    grid-template-columns:minmax(275px,auto) minmax(0,1fr) auto !important;
  }
  body.true-north-home .shopify-header .brand-lockup{
    gap:12px !important;
  }
  body.true-north-home .shopify-header .brand-lockup img{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
  }
  body.true-north-home .shopify-header .brand-text strong{
    font-size:1.30rem !important;
  }
}

@media(max-width:900px){
  body.true-north-home .shopify-header .header-top{
    padding-left:14px !important;
    grid-template-columns:minmax(0,1fr) auto !important;
  }
  body.true-north-home .shopify-header .brand-lockup{
    gap:10px !important;
  }
  body.true-north-home .shopify-header .brand-lockup img{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
  }
  body.true-north-home .shopify-header .brand-text strong{
    font-size:1.12rem !important;
    transform:none !important;
  }
}

@media(max-width:420px){
  body.true-north-home .shopify-header .brand-text strong{
    font-size:1rem !important;
  }
}

/* Newsletter submission states */
.netlify-honeypot{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  margin:-1px !important;
  padding:0 !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.stay-updated-error{
  display:none;
  margin-top:12px;
  color:#a51d26;
  font-size:.8rem;
  font-weight:800;
}
.stay-updated-form.submission-error .stay-updated-error{display:block}
.stay-updated-form[aria-busy="true"] .stay-updated-input-row button{
  cursor:wait;
  opacity:.72;
}
