/* NorthShore premium finish. Loads last. Sharper corners, lighter type, navy ink buttons, one restrained accent. */
:root{--navy:#0a1424;--navy2:#101d33;--navy-fg:#eef2f7;--primary:#c2561a;--primary-d:#a8470f;--bg:#f5f7f9;--fg:#0b1220;--muted:#5b6778;--border:#e3e8ee;--alt:#eef1f5;--shadow:0 28px 56px -28px rgba(10,20,36,.30);--r:2px}
body{font-size:16px;line-height:1.65}
h1,h2,h3,h4,.ns-logo{font-family:'Archivo',system-ui,sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1.08}
.ns-container{max-width:1320px;padding-left:32px;padding-right:32px}
.ns-mega-in{max-width:1320px;padding-left:32px;padding-right:32px}

/* Buttons */
.ns-btn{background:var(--navy);border-color:var(--navy);color:#fff;border-radius:var(--r);font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:15px 30px;transition:background .2s,border-color .2s,color .2s}
.ns-btn:hover{background:var(--primary);border-color:var(--primary)}
.ns-btn-sm{padding:11px 20px}
.ns-btn-outline{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;margin-left:0}
.ns-btn-outline:hover{background:#fff;border-color:#fff;color:var(--navy)}
.ns-btn-outline-dark{background:transparent;color:var(--fg);border:0;border-bottom:1px solid var(--fg);border-radius:0;padding:4px 0;font-size:12.5px}
.ns-btn-outline-dark:hover{background:transparent;color:var(--primary);border-color:var(--primary)}
.ns-hero .ns-btn:not(.ns-btn-outline),.ns-mega-help .ns-btn{background:#fff;border-color:#fff;color:var(--navy)}
.ns-hero .ns-btn:not(.ns-btn-outline):hover,.ns-mega-help .ns-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}

/* Top bar and header */
.ns-topbar{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.ns-topbar .ns-container{padding-top:9px;padding-bottom:9px}
.ns-header-row{padding-top:22px;padding-bottom:22px}
.ns-logo{font-size:20px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ns-logo svg{width:22px;height:22px;color:var(--navy);stroke-width:1.5}
.ns-search{border-radius:var(--r);background:var(--bg);border-color:var(--border)}
.ns-search button{background:var(--navy)}
.ns-search button:hover{background:var(--primary)}
.ns-cart{border-radius:var(--r);border-color:var(--border)}
.ns-cart:hover{border-color:var(--navy)}
.ns-cart b{background:var(--navy);border-radius:var(--r);min-width:20px;height:20px;font-size:11px}
.ns-cart svg{color:var(--navy)}
.ns-acct{border-radius:var(--r)}
.ns-link{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:18px 18px 16px}
.ns-link-quiet{font-weight:500}
.ns-item:hover>.ns-link,.ns-item.is-open>.ns-link{color:var(--primary);border-bottom-color:var(--primary)}

/* Dropdown panels */
.ns-mega{border-top:1px solid var(--border);border-bottom:1px solid var(--navy);box-shadow:var(--shadow)}
.ns-mega-head strong{font-weight:600;font-size:22px}
.ns-mega-help{background:var(--navy);border-radius:var(--r)}
.ns-mega-help h3{color:var(--navy-fg);opacity:.72}
.ns-mega em,.ns-brand-card em{border-radius:var(--r);background:var(--alt)}
.ns-shop-group h3{font-weight:600}
.ns-shop-sub a,.ns-brand-tile,.ns-brand-card{border-radius:var(--r)}
.ns-brand-tile b{font-weight:600}
.ns-mega-feat li a{border-radius:var(--r)}

/* Desktop: Shop is a plain nav item like the rest */
@media(min-width:981px){
  .ns-header .ns-item-shop>.ns-link{background:transparent;color:var(--fg);border-bottom-color:transparent;padding-right:32px}
  .ns-header .ns-item-shop>.ns-link svg{color:var(--fg)}
  .ns-header .ns-item-shop .ns-caret{color:var(--muted)}
  .ns-header .ns-item-shop:hover>.ns-link,.ns-header .ns-item-shop.is-open>.ns-link{background:transparent;color:var(--primary);border-bottom-color:var(--primary)}
  .ns-header .ns-item-shop:hover>.ns-link svg,.ns-header .ns-item-shop.is-open>.ns-link svg{color:var(--primary)}
  .ns-header .ns-item-shop.is-open .ns-caret{color:var(--primary)}
}

/* Hero */
.ns-hero{min-height:600px}
.ns-hero:before{background:linear-gradient(90deg,rgba(8,16,30,.94) 0%,rgba(8,16,30,.72) 42%,rgba(8,16,30,.12) 80%)}
.ns-hero .ns-container{padding-top:110px;padding-bottom:100px}
.ns-hero .ns-eyebrow{color:#fff;opacity:.85;display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.22em}
.ns-hero .ns-eyebrow:before{content:'';width:36px;height:1px;background:var(--primary)}
.ns-hero h1{font-size:clamp(40px,6vw,76px);font-weight:600;letter-spacing:-.035em;line-height:1.02;max-width:820px;margin:22px 0 24px}
.ns-hero p{font-size:19px;max-width:560px;opacity:.88;line-height:1.6}
.ns-hero-cta{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap}

/* Trust and signals bands */
.ns-trust .ns-container,.ns-signals .ns-container{gap:0;padding-top:0;padding-bottom:0}
.ns-trust-item{padding:30px 28px;border-left:1px solid var(--border)}
.ns-trust-item:first-child{border-left:0;padding-left:0}
.ns-trust-item svg{width:30px;height:30px;color:var(--navy);stroke-width:1.25}
.ns-trust-item strong{font-size:14px;font-weight:600}
.ns-trust-item small{font-size:12.5px}
.ns-signal-cta{padding:30px 0 30px 28px;border-left:1px solid var(--border)}

/* Sections */
.ns-section{padding:104px 0}
.ns-section-head{align-items:flex-end;padding-bottom:22px;margin-bottom:40px;border-bottom:1px solid var(--border)}
.ns-section h2{font-size:clamp(30px,3.4vw,42px);font-weight:600;letter-spacing:-.03em}
.ns-blurb{font-size:16px;max-width:560px;margin-top:10px}
.ns-card{border-radius:var(--r);padding:32px}
.ns-card-ic{width:34px}.ns-card-ic svg{stroke-width:1.25;color:var(--navy)}
.ns-pay li{border-radius:var(--r)}

/* Product cards */
.woocommerce ul.products{gap:32px}
.woocommerce ul.products li.product{border-radius:var(--r);padding-bottom:26px!important;transition:border-color .25s,transform .25s}
.woocommerce ul.products li.product:hover{border-color:var(--navy);transform:translateY(-3px)}
.woocommerce ul.products li.product img{background:var(--alt);padding:18px;margin-bottom:18px!important}
.ns-eyebrow-sm{padding:0 24px;font-size:10.5px;letter-spacing:.14em}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 24px!important;font-size:15.5px!important;font-weight:600;line-height:1.35;letter-spacing:-.01em}
.woocommerce ul.products li.product .price{padding:0 24px;font-size:21px!important;font-weight:600;letter-spacing:-.01em}
.ns-stock,.ns-tax{padding-left:24px;padding-right:24px}
.woocommerce ul.products li.product .button{margin:auto 24px 0!important;background:transparent!important;color:var(--fg)!important;border:1px solid var(--fg)!important;border-radius:var(--r)!important;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:13px 16px}
.woocommerce ul.products li.product .button:hover{background:var(--navy)!important;color:#fff!important}
.woocommerce ul.products li.product .onsale{border-radius:var(--r);background:var(--navy);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:var(--r)}

/* Product page */
.ns-price{font-weight:600}.ns-price .woocommerce-Price-amount{font-weight:600}
.ns-product-media .woocommerce-product-gallery{border-radius:var(--r)}
.ns-buy .single_add_to_cart_button{background:var(--navy)!important;border-radius:var(--r)!important;text-transform:uppercase;letter-spacing:.1em;font-size:13px!important;padding:16px 36px!important}
.ns-buy .single_add_to_cart_button:hover{background:var(--primary)!important}
.ns-buy .quantity input{border-radius:var(--r)}
.ns-ship-facts{border-radius:var(--r)}

/* Policy and contact pages */
.ns-policy h1,.ns-contact-hero h1{font-weight:600;letter-spacing:-.03em}
.ns-policy h2{font-weight:600}
.ns-stat,.ns-policy-table,.ns-panel,.ns-faq details,.ns-track-panel{border-radius:var(--r)}
.ns-stat strong{font-weight:600;color:var(--navy)}
.ns-policy-note,.ns-policy-highlight{border-radius:var(--r);background:var(--card);border-color:var(--border);border-left-color:var(--primary)}
.ns-contact-hero{padding:96px 0}
.ns-form input,.ns-form select,.ns-form textarea{border-radius:var(--r)}

/* Footer */
.ns-footer{background:var(--navy)}
.ns-footer .ns-cols{padding-top:80px;padding-bottom:56px;gap:48px}
.ns-fcol h3{color:var(--navy-fg);opacity:.72;font-weight:600;letter-spacing:.16em}
.ns-footer .ns-logo svg{color:#fff}
.ns-fcol li a:hover{color:#fff;opacity:1;text-decoration:underline}
main>section:last-child{margin-bottom:-72px}

/* Tablet and mobile */
@media(max-width:980px){
  .ns-hero{min-height:520px}
  .ns-hero .ns-container{padding-top:80px;padding-bottom:72px}
  .ns-section{padding:72px 0}
  .ns-link{font-size:13px;padding:16px 20px}
  .ns-trust-item,.ns-signal-cta{border-left:0;padding:20px 0;border-top:1px solid var(--border)}
  .ns-trust-item:first-child{padding-left:0}
  .ns-logo{letter-spacing:.1em;font-size:17px}
}
@media(max-width:600px){
  .ns-container,.ns-mega-in{padding-left:20px;padding-right:20px}
  .ns-section{padding:56px 0}
  .ns-hero h1{font-size:38px}
}
