/* ============================================================
   NURSE NAVIGATORS -- Shared Stylesheet v3.0
   nursenavigatorspro.com
   Luxury Healthcare Redesign -- 2026-08-15
   Design: Ritz-Carlton meets Mayo Clinic
   ============================================================ */

/* ===== BRAND TOKENS ===== */
:root{
  /* Primary surfaces */
  --nn-off-white:#FAF8F5;
  --nn-white:#FFFFFF;
  --nn-cream:#F7F3EC;
  --nn-linen:#F0EBE2;

  /* Navy system */
  --nn-navy:#193149;
  --nn-navy-deep:#0F2436;
  --nn-navy-light:#1E4060;

  /* Legacy steel (kept for cookie banner + backward compat) */
  --nnp-steel:#1c1c1c;
  --nnp-steel-2:#101010;
  --nnp-steel-3:#292929;

  /* Gold system */
  --nn-gold:#D0A256;
  --nn-gold-deep:#8A6B2E;
  --nn-gold-hi:#E9C585;
  --nnp-gold:#D0A256;
  --nnp-gold-deep:#8A6B2E;
  --nnp-gold-hi:#E9C585;

  /* Ink (text on light surfaces) */
  --nn-ink:#22201D;
  --nn-ink-soft:rgba(34,32,29,0.68);
  --nn-ink-muted:rgba(34,32,29,0.65);

  /* Light on dark (text on navy surfaces) */
  --nn-light:#fdfcf9;
  --nn-light-soft:rgba(253,252,249,.68);
  --nn-light-muted:rgba(253,252,249,.48);

  /* Lines and borders */
  --nn-hair:rgba(22,50,74,0.12);
  --nn-hair-dark:rgba(253,252,249,.13);
  --nn-border:rgba(22,50,74,0.18);
  --nn-border-dark:rgba(253,252,249,.22);

  /* Legacy aliases (for backward compat during rollout) */
  --off-white:#FAF8F5;
  --navy:#193149;
  --cream:#fdfcf9;
  --linen:#F0EBE2;
  --muted:rgba(253,252,249,.62);
  --line:rgba(253,252,249,.13);
  --hairline:rgba(253,252,249,.09);
  --border-strong:rgba(253,252,249,.22);
  --hairline-dark:rgba(22,50,74,0.14);
  --harbor-muted:#5b6472;
  --harbor-text:#22201D;
  --black:#000000;
  --border:rgba(22,50,74,0.14);
  --border-s:rgba(22,50,74,0.10);
  --hdr-h:0px;
  --nnp-cream:#fdfcf9;
  --liq:linear-gradient(100deg,var(--nn-gold-deep) 0%,var(--nn-gold) 30%,var(--nn-gold-hi) 50%,var(--nn-gold) 70%,var(--nn-gold-deep) 100%);

  /* Legacy font aliases (page body styles reference these) */
  --font-display:'Times New Roman', Times, serif;
  --font-ui:'Helvetica Neue', Arial, sans-serif;
  --font-mono:'Helvetica Neue', Arial, sans-serif;
  --font-body:'Times New Roman', Times, serif;
  --font-d:'Times New Roman', Times, serif;
  --font-m:'Helvetica Neue', Arial, sans-serif;

  /* Typography */
  --display:'Times New Roman', Times, serif;
  --ui:'Helvetica Neue', Arial, sans-serif;
  --mono:'Helvetica Neue', Arial, sans-serif;

  /* Header tokens (white header) */
  --header-bg:var(--nn-off-white);
  --header-text:var(--nn-navy);
  --header-gold:var(--nn-gold);
  --header-hair:var(--nn-hair);
  /* Legacy header tokens (for mobile panel dark background) */
  --header-charcoal:var(--nn-navy-deep);
  --header-charcoal-2:var(--nn-navy-deep);
  --header-charcoal-3:var(--nn-navy);
  --header-cream:#fdfcf9;
  --header-line:rgba(253,252,249,.13);
  --header-muted:rgba(253,252,249,.62);

  /* Effects */
  --dual-liquid:linear-gradient(100deg,var(--nn-gold-deep) 0%,var(--nn-gold) 30%,var(--nn-gold-hi) 50%,var(--nn-gold) 70%,var(--nn-gold-deep) 100%);

  /* Layout */
  --max:1240px;
  --focus:2px solid var(--nn-gold-deep);
}

/* ===== BASE RESET ===== */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important}
}
body{
  font-family:'Times New Roman', Times, serif;
  background:var(--nn-off-white);
  color:var(--nn-ink);
  line-height:1.7;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:var(--focus);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:'Times New Roman', Times, serif;line-height:1.15;font-weight:600;color:var(--nn-navy)}
h1{font-size:clamp(28px,4vw,48px)}
h2{font-size:clamp(22px,3vw,36px)}
h3{font-size:clamp(18px,2.2vw,24px)}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* Utility classes */
.sans{font-family:var(--ui)}
.serif{font-family:var(--display)}
.text-gold{color:var(--nn-gold)}
.text-navy{color:var(--nn-navy)}
.text-ink{color:var(--nn-ink)}
.bg-navy{background:var(--nn-navy);color:var(--nn-light)}
.bg-cream{background:var(--nn-cream)}
.bg-off-white{background:var(--nn-off-white)}

/* Skip link */
.skip{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;background:var(--nn-gold);color:var(--nn-navy-deep);z-index:200;font-weight:700;font-family:var(--ui)}
.visually-hidden{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:16px;top:16px;width:auto;height:auto;padding:12px 18px;border-radius:4px}

/* ===== SCROLL-REVEAL ANIMATIONS ===== */
@keyframes nn-fadeUp{
  from{opacity:0;transform:translateY(32px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes nn-fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes nn-scaleIn{
  from{opacity:0;transform:scale(0.92)}
  to{opacity:1;transform:scale(1)}
}
@keyframes nn-slideLeft{
  from{opacity:0;transform:translateX(40px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes nn-slideRight{
  from{opacity:0;transform:translateX(-40px)}
  to{opacity:1;transform:translateX(0)}
}
.nn-reveal{opacity:0;transition:none}
.nn-reveal.revealed{animation:nn-fadeUp 0.7s cubic-bezier(0.22,1,0.36,1) forwards}
.nn-reveal-fade.revealed{animation:nn-fadeIn 0.8s ease forwards}
.nn-reveal-scale.revealed{animation:nn-scaleIn 0.6s cubic-bezier(0.22,1,0.36,1) forwards}
.nn-reveal-left.revealed{animation:nn-slideLeft 0.7s cubic-bezier(0.22,1,0.36,1) forwards}
.nn-reveal-right.revealed{animation:nn-slideRight 0.7s cubic-bezier(0.22,1,0.36,1) forwards}
.nn-delay-1{animation-delay:0.1s!important}
.nn-delay-2{animation-delay:0.2s!important}
.nn-delay-3{animation-delay:0.3s!important}
.nn-delay-4{animation-delay:0.4s!important}

/* ===== HEADER (Compact, Premium) ===== */
.nn-utility{
  background:var(--nn-navy-deep);color:var(--nn-light-soft);
  font:400 11px/1 var(--ui);letter-spacing:.04em;
}
.nn-utility .wrap{
  display:flex;justify-content:space-between;align-items:center;
  height:32px;gap:24px;
}
.nn-utility .loc{opacity:.8}
.nn-utility .links{display:flex;align-items:center;gap:18px}
.nn-utility .links a{color:var(--nn-light-soft);text-decoration:none;transition:color .2s}
.nn-utility .links a:hover{color:var(--nn-gold)}
.nn-utility .phone{color:var(--nn-gold);font-weight:600;letter-spacing:.06em}

.nn-header{
  background:var(--nn-off-white);
  border-bottom:1px solid var(--nn-hair);
  position:sticky;top:0;z-index:100;
  transition:box-shadow .3s,height .3s;
}
.nn-header.scrolled{box-shadow:0 2px 24px rgba(22,50,74,.1)}
.nn-header .wrap{
  display:flex;justify-content:space-between;align-items:center;
  height:80px;gap:32px;
  transition:height .3s;
}
.nn-header .brand{display:flex;align-items:center;gap:16px;flex-shrink:0}
.nn-header .brand-logo{
  height:56px;width:auto;
  transition:height .3s;
}
.nn-header.compact .brand-logo{height:40px}
.nn-header.compact .wrap{height:64px}

.nn-header .nav{display:flex;align-items:center;gap:28px}
.nn-header .nav a{
  color:var(--nn-navy);text-decoration:none;
  font:400 11px var(--ui);letter-spacing:.12em;text-transform:uppercase;
  transition:color .2s;position:relative;
}
.nn-header .nav a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;
  height:2px;background:var(--nn-gold);transform:scaleX(0);
  transition:transform .25s cubic-bezier(0.22,1,0.36,1);
  transform-origin:left;
}
.nn-header .nav a:hover{color:var(--nn-gold)}
.nn-header .nav a:hover::after{transform:scaleX(1)}

.nn-header .header-cta{
  flex-shrink:0;background:var(--nn-gold);color:var(--nn-navy-deep);
  padding:14px 24px;text-decoration:none;
  font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;
  transition:background .25s,color .25s,transform .2s;
}
.nn-header .header-cta:hover{background:var(--nn-navy);color:var(--nn-light);transform:translateY(-1px)}

.nn-header .header-chronicle{
  flex-shrink:0;background:transparent;color:var(--nn-gold);
  border:1px solid var(--nn-gold);padding:13px 20px;text-decoration:none;
  font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;
  transition:background .2s,color .2s;
}
.nn-header .header-chronicle:hover{background:var(--nn-gold);color:var(--nn-navy-deep)}

.nn-header .menu-toggle{
  display:none;border:1px solid var(--nn-hair);background:transparent;
  color:var(--nn-navy);cursor:pointer;padding:10px 14px;
  font:600 10px var(--ui);letter-spacing:.12em;text-transform:uppercase;
}

/* ===== MOBILE PANEL ===== */
.nn-mobile-panel{display:none}
@media (max-width:1100px){
  .nn-utility .links a:not(.phone){display:none}
  .nn-header .nav,.nn-header .header-cta,.nn-header .header-chronicle{display:none}
  .nn-header .wrap{height:64px}
  .nn-header .brand-logo{height:40px}
  .nn-header .menu-toggle{display:block}

  .nn-mobile-panel{
    display:none;position:fixed;z-index:99;top:64px;left:0;right:0;bottom:0;overflow:auto;
    background:var(--nn-navy-deep);padding:24px;padding-bottom:90px;
    border-top:2px solid var(--nn-gold);font-family:var(--ui);color:var(--nn-light);
  }
  .nn-mobile-panel *{box-sizing:border-box}
  .nn-mobile-panel a{color:inherit}
  .nn-mobile-panel.open{display:block;animation:nn-fadeIn .25s ease}
  .nn-mobile-panel .mobile-phone{
    display:block;padding:12px 0 24px;border-bottom:1px solid var(--nn-hair-dark);
    color:var(--nn-gold);text-decoration:none;font:400 11px var(--ui);letter-spacing:.1em;
  }
  .nn-mobile-panel .mobile-group{border-bottom:1px solid var(--nn-hair-dark)}
  .nn-mobile-panel .mobile-group button{
    width:100%;min-height:57px;display:flex;justify-content:space-between;align-items:center;
    border:0;background:transparent;color:var(--nn-light);cursor:pointer;text-align:left;
    font:600 11px var(--ui);letter-spacing:.12em;text-transform:uppercase;
  }
  .nn-mobile-panel .mobile-links{display:none;padding:0 0 16px 15px;border-left:1px solid var(--nn-hair-dark);margin:0 0 13px 8px}
  .nn-mobile-panel .mobile-group.open .mobile-links{display:block}
  .nn-mobile-panel .mobile-links a{
    display:flex;align-items:center;gap:10px;padding:14px 0;min-height:48px;
    color:var(--nn-light-soft);text-decoration:none;font:400 12px var(--ui);transition:color .2s;
  }
  .nn-mobile-panel .mobile-links a:hover,.nn-mobile-panel .mobile-links a:focus-visible{color:var(--nn-gold)}
  .nn-mobile-panel .mobile-links .menu-icon{width:18px;height:18px;flex-shrink:0;opacity:.6}
  .nn-mobile-panel .mobile-cta{
    display:flex;align-items:center;justify-content:center;width:100%;margin-top:29px;
    min-height:52px;background:var(--nn-gold);color:var(--nn-navy-deep);text-decoration:none;border:1px solid var(--nn-gold);
    font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;
  }
  .nn-mobile-panel .mobile-cta:hover{background:var(--nn-light);border-color:var(--nn-light)}
  .nn-mobile-panel .mobile-chronicle{
    display:flex;align-items:center;justify-content:center;width:100%;margin-top:12px;
    min-height:52px;background:transparent;color:var(--nn-gold);text-decoration:none;border:1px solid var(--nn-gold);
    font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;
  }
  .nn-mobile-panel .mobile-chronicle:hover{background:var(--nn-gold);color:var(--nn-navy-deep)}
}

/* ===== FOOTER (Navy 4-Column) ===== */
.nn-footer *{box-sizing:border-box}
.nn-footer{
  background:var(--nn-navy-deep);color:var(--nn-light);
  border-top:3px solid var(--nn-gold);
  padding:72px 48px 36px;font-family:var(--ui);
}
.nn-footer a{color:inherit}
.nn-footer .footer-inner{max-width:var(--max);margin:auto}
.nn-footer .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.nn-footer .footer-logo{display:block;height:44px;width:auto;object-fit:contain;margin-bottom:20px}
.nn-footer .footer-desc{color:var(--nn-light-soft);font:400 13px/1.7 var(--display);margin:0;max-width:300px}
.nn-footer .footer-social{display:flex;gap:12px;margin-top:22px}
.nn-footer .footer-social a{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border:1px solid var(--nn-hair-dark);
  color:var(--nn-light-soft);transition:color .2s,border-color .2s;flex-shrink:0;
}
.nn-footer .footer-social a:hover,.nn-footer .footer-social a:focus-visible{color:var(--nn-gold);border-color:var(--nn-gold);outline:0}
.nn-footer .footer-social svg{width:16px;height:16px;display:block}
.nn-footer h5{
  margin:0 0 20px;color:var(--nn-gold);
  font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;
}
.nn-footer ul{list-style:none;padding:0;margin:0}
.nn-footer li{margin:0 0 12px}
.nn-footer li a{color:var(--nn-light-soft);text-decoration:none;font:400 13px/1.4 var(--ui);transition:color .2s}
.nn-footer li a:hover,.nn-footer li a:focus-visible{color:var(--nn-gold);outline:0}
.nn-footer .contact-phone{color:var(--nn-gold);font:600 14px var(--ui);letter-spacing:.04em;margin-bottom:8px;display:block;transition:color .2s}
.nn-footer .contact-phone:hover{color:var(--nn-gold-hi)}
.nn-footer .contact-email{color:var(--nn-light-soft);font:400 13px var(--ui);margin-bottom:8px;display:block;transition:color .2s}
.nn-footer .contact-email:hover{color:var(--nn-gold)}
.nn-footer .contact-addr{color:var(--nn-light-muted);font:400 12px/1.6 var(--ui)}

.nn-footer .footer-bottom{
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding-top:28px;border-top:1px solid var(--nn-hair-dark);
  color:var(--nn-light-muted);font:400 11px var(--ui);letter-spacing:.04em;
}
.nn-footer .footer-bottom a{color:var(--nn-light-muted);text-decoration:none;transition:color .2s}
.nn-footer .footer-bottom a:hover{color:var(--nn-gold)}
.nn-footer .legal-links{display:flex;flex-wrap:wrap;gap:8px 20px}

@media (max-width:1100px){
  .nn-footer{padding:48px 24px 28px}
  .nn-footer .footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px}
  .nn-footer .footer-grid > div:first-child{grid-column:1/-1;border-bottom:1px solid var(--nn-hair-dark);padding-bottom:24px}
  .nn-footer .footer-bottom{flex-direction:column;text-align:center;gap:12px}
  .nn-footer .legal-links{justify-content:center}
}
@media (max-width:580px){
  .nn-footer .footer-grid{grid-template-columns:1fr}
  .nn-footer .footer-grid > div:first-child{grid-column:auto}
}

/* ===== COOKIE BANNER ===== */
#nnpCookieBanner{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:9999;
  background:var(--nn-navy-deep);color:var(--nn-light);border-top:1px solid var(--nn-gold);
  font-family:var(--ui);box-shadow:0 -12px 30px rgba(0,0,0,.35);
}
#nnpCookieBanner.open{display:block}
#nnpCookieBanner .nnp-cookie-inner{
  max-width:1240px;margin:0 auto;padding:22px 48px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
}
#nnpCookieBanner p{margin:0;color:var(--nn-light-soft);font:400 12.5px/1.7 var(--ui);max-width:760px}
#nnpCookieBanner p strong{color:var(--nn-light)}
#nnpCookieBanner a{color:var(--nn-gold);text-decoration:none}
#nnpCookieBanner a:hover{text-decoration:underline}
#nnpCookieBanner .nnp-cookie-actions{display:flex;align-items:center;gap:12px;flex:none}
#nnpCookieBanner button{
  border:1px solid var(--nn-hair-dark);background:transparent;color:var(--nn-light);cursor:pointer;
  padding:11px 20px;font:600 9px var(--ui);letter-spacing:.12em;text-transform:uppercase;
  transition:.2s;white-space:nowrap;
}
#nnpCookieBanner .nnp-cookie-accept{background:var(--nn-gold);color:var(--nn-navy-deep);border-color:var(--nn-gold)}
#nnpCookieBanner .nnp-cookie-accept:hover{background:var(--nn-light);border-color:var(--nn-light)}
#nnpCookieBanner .nnp-cookie-decline:hover{border-color:var(--nn-gold);color:var(--nn-gold)}
@media (max-width:768px){
  #nnpCookieBanner .nnp-cookie-inner{flex-direction:column;align-items:stretch;gap:18px;padding:20px 22px}
  #nnpCookieBanner .nnp-cookie-actions{justify-content:flex-end}
}

/* ===== SHARED PAGE COMPONENTS ===== */

/* Section spacing */
.nn-section{padding:80px 0}
.nn-section-sm{padding:48px 0}

/* Section headers */
.section-eyebrow{
  font:600 10px var(--ui);letter-spacing:.18em;text-transform:uppercase;
  color:var(--nn-gold);margin-bottom:12px;
}
.section-title{font:600 clamp(24px,3vw,36px)/1.15 var(--display);color:var(--nn-navy);margin-bottom:16px}
.section-title em{font-style:italic;color:var(--nn-gold)}
.section-sub{font:400 15px/1.7 var(--display);color:var(--nn-ink-soft);max-width:560px}

/* Buttons */
/* Reset so <button class="btn-*"> renders identically to <a class="btn-*"> */
button.btn-primary,button.btn-navy,button.btn-ghost,button.btn-ghost-dark{
  font-family:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;
}
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--nn-gold);color:var(--nn-navy-deep);border:none;
  padding:16px 32px;text-decoration:none;
  font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;
  transition:background .25s,color .25s,transform .2s,box-shadow .25s;min-height:48px;
}
.btn-primary:hover{background:var(--nn-navy);color:var(--nn-light);transform:translateY(-1px);box-shadow:0 4px 16px rgba(22,50,74,.2)}
.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;color:var(--nn-light);
  border:1px solid rgba(253,252,249,.4);
  padding:16px 32px;text-decoration:none;
  font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;
  transition:border-color .25s,color .25s,background .25s,transform .2s;min-height:48px;
}
.btn-ghost:hover{border-color:var(--nn-gold);color:var(--nn-gold);transform:translateY(-1px)}
.btn-ghost-dark{
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;color:var(--nn-navy);
  border:1px solid var(--nn-border);
  padding:16px 32px;text-decoration:none;
  font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;
  transition:border-color .25s,color .25s,background .25s,transform .2s;min-height:48px;
}
.btn-ghost-dark:hover{background:var(--nn-navy);color:var(--nn-light);border-color:var(--nn-navy);transform:translateY(-1px)}

/* Cards */
.nn-card{
  background:var(--nn-white);
  border:1px solid var(--nn-hair);
  overflow:hidden;
  transition:box-shadow .35s cubic-bezier(0.22,1,0.36,1),transform .35s cubic-bezier(0.22,1,0.36,1);
}
.nn-card:hover{
  box-shadow:0 16px 48px rgba(22,50,74,.12);
  transform:translateY(-4px);
}
.nn-card .card-img{
  width:100%;height:220px;object-fit:cover;
  background:var(--nn-navy);
  transition:transform .5s cubic-bezier(0.22,1,0.36,1);
}
.nn-card:hover .card-img{
  transform:scale(1.03);
}
.nn-card .card-tag{
  position:absolute;bottom:12px;left:12px;
  background:var(--nn-gold);color:var(--nn-navy-deep);
  padding:5px 12px;font:600 9px var(--ui);letter-spacing:.1em;text-transform:uppercase;
}
.nn-card .card-body{padding:28px 24px}
.nn-card .card-body h3{font:600 20px/1.25 var(--display);color:var(--nn-navy);margin-bottom:12px}
.nn-card .card-body p{font:400 14px/1.65 var(--display);color:var(--nn-ink-soft);margin-bottom:16px}
.nn-card .card-link{
  color:var(--nn-gold);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;display:inline-flex;align-items:center;gap:6px;
  transition:color .2s,gap .2s;
}
.nn-card .card-link:hover{color:var(--nn-navy);gap:10px}

/* Trust bar */
.nn-trust{padding:56px 0;border-bottom:1px solid var(--nn-hair);background:var(--nn-off-white)}
.nn-trust .wrap{display:flex;justify-content:center;gap:0}
.nn-trust .stat{
  flex:1;text-align:center;padding:16px 24px;
  border-right:1px solid var(--nn-hair);
}
.nn-trust .stat:last-child{border-right:none}
.nn-trust .stat-num{
  font:600 clamp(28px,3.5vw,42px)/1 var(--display);
  color:var(--nn-navy);margin-bottom:4px;
}
.nn-trust .stat-num::after{
  content:'';display:block;width:32px;height:2px;
  background:var(--dual-liquid);margin:10px auto 0;
}
.nn-trust .stat-label{
  font:400 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;
  color:var(--nn-ink-muted);margin-top:8px;
}

@media (max-width:768px){
  .nn-trust .wrap{flex-wrap:wrap}
  .nn-trust .stat{flex:1 1 50%;border-right:none;border-bottom:1px solid var(--nn-hair)}
  .nn-trust .stat:nth-last-child(-n+2){border-bottom:none}
}

/* CTA Band */
.nn-cta-band{
  background:linear-gradient(135deg,var(--nn-gold-deep) 0%,var(--nn-gold) 40%,var(--nn-gold-hi) 70%,var(--nn-gold) 100%);
  padding:72px 0;text-align:center;
  position:relative;overflow:hidden;
}
.nn-cta-band::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(120deg,rgba(255,255,255,0.03) 0 1px,transparent 1px 40px);
  pointer-events:none;
}
.nn-cta-band h2{font:600 clamp(22px,3vw,32px)/1.2 var(--display);color:var(--nn-navy-deep);margin-bottom:12px;position:relative}
.nn-cta-band p{font:400 15px/1.6 var(--display);color:var(--nn-navy);margin-bottom:28px;opacity:.85;position:relative}
.btn-navy{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--nn-navy);color:var(--nn-light);border:none;
  padding:16px 36px;text-decoration:none;
  font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;
  transition:background .2s;min-height:48px;
}
.btn-navy:hover{background:var(--nn-navy-deep)}
.nn-cta-band .btn-navy{
  padding:18px 40px;
  transition:background .25s,transform .2s,box-shadow .25s;min-height:52px;
  position:relative;
}
.nn-cta-band .btn-navy:hover{background:var(--nn-navy-deep);transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,36,54,.3)}
.nn-cta-band .cta-contact{margin-top:16px;font:400 13px var(--ui);color:var(--nn-navy)}
.nn-cta-band .cta-contact a{color:var(--nn-navy);font-weight:600;text-decoration:underline}

/* ============================================================
   SHARED INTERIOR-PAGE COMPONENT LIBRARY
   Generalized from the working patterns on index.html /
   families.html / facilities.html, added here so every page draws
   from one real, tested source instead of duplicating (and losing)
   its own copy. Added 2026-08 during the CSS-recovery pass.
   ============================================================ */

/* ---- Generic interior hero (image bg + navy scrim) ---- */
.page-hero{
  position:relative;min-height:420px;display:flex;align-items:center;
  background:var(--nn-navy-deep);overflow:hidden;
}
.page-hero .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero .hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(15,36,54,0.92) 0%,rgba(15,36,54,0.8) 55%,rgba(15,36,54,0.35) 100%);
}
.page-hero .wrap{position:relative;z-index:2;padding:72px 24px}
.page-hero .eyebrow,.page-hero .hero-eyebrow{
  font:600 11px var(--ui);letter-spacing:.18em;text-transform:uppercase;
  color:var(--nn-gold);margin-bottom:16px;display:block;
}
.page-hero h1{
  font:400 clamp(28px,4.4vw,44px)/1.15 var(--display);
  color:#fff;max-width:720px;margin-bottom:18px;
}
.page-hero h1 em{font-style:italic;color:var(--nn-gold)}
.page-hero .hero-sub{
  font:400 15px/1.75 var(--ui);color:rgba(247,243,236,0.82);
  max-width:560px;margin-bottom:28px;
}
.page-hero .hero-links,.page-hero .hero-ctas{display:flex;gap:14px;flex-wrap:wrap}

/* ---- Reassurance / scope-disclosure strips ---- */
.reassurance-strip{background:var(--nn-off-white);border-bottom:1px solid var(--nn-hair);padding:22px 24px}
.reassurance-inner{max-width:var(--max);margin:0 auto;display:flex;gap:26px;flex-wrap:wrap;justify-content:center}
.reassurance-item{display:flex;align-items:center;gap:10px;font:600 11px var(--ui);text-transform:uppercase;letter-spacing:.08em;color:var(--nn-ink-soft)}
.reassurance-dot{width:6px;height:6px;background:var(--nn-gold);flex-shrink:0;border-radius:50%}
.scope-disclosure{max-width:var(--max);margin:0 auto;padding:18px 24px;font:400 13px/1.7 var(--ui);color:var(--nn-ink-soft)}
.scope-disclosure strong{color:var(--nn-navy)}

/* ---- Scenario / topic cards ---- */
.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:20px}
.scenario-card{display:block;padding:28px 26px;background:var(--nn-white);border:1px solid var(--nn-hair);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.scenario-card:hover{border-color:var(--nn-gold);box-shadow:0 8px 24px rgba(22,50,74,.08)}
.scenario-num{font:700 12px var(--ui);color:var(--nn-gold);letter-spacing:.06em;margin-bottom:12px;display:block}
.scenario-card h3{font:600 16px/1.35 var(--display);color:var(--nn-navy);margin-bottom:10px}
.scenario-card p{font:400 13px/1.65 var(--ui);color:var(--nn-ink-soft);margin-bottom:14px}
.scenario-link{font:700 11px var(--ui);color:var(--nn-gold);letter-spacing:.04em}
.scenario-link::after{content:" \2192"}

/* ---- Do / Don't (scope) grid ---- */
.do-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.do-card{padding:30px;background:var(--nn-white);border:1px solid var(--nn-hair)}
.do-card h3{font:600 17px var(--display);color:var(--nn-navy);margin-bottom:14px}
.do-card ul{list-style:none}
.do-card li{font:400 13.5px/1.65 var(--ui);color:var(--nn-ink-soft);padding:8px 0;border-bottom:1px solid var(--nn-hair)}
.do-card li:last-child{border-bottom:0}
@media (max-width:768px){.do-grid{grid-template-columns:1fr}}

/* ---- Dark service tiles (for use on navy sections) ---- */
.service-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px}
.service-tile{display:block;padding:26px 24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);text-decoration:none;position:relative;transition:border-color .2s,background .2s}
.service-tile:hover{border-color:var(--nn-gold);background:rgba(255,255,255,.09)}
.service-tile h3{font:600 16px var(--display);color:#fff;margin-bottom:8px;padding-right:24px}
.service-tile p{font:400 13px/1.6 var(--ui);color:rgba(255,255,255,.65)}
.service-tile-arrow{position:absolute;top:26px;right:24px;font:400 18px var(--display);color:var(--nn-gold)}

/* ---- Light service / offer cards with a quote-request price ---- */
.offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:20px}
.offer-card{padding:28px 26px;background:var(--nn-white);border:1px solid var(--nn-hair);display:flex;flex-direction:column}
.offer-card .offer-eyebrow{font:700 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--nn-gold);margin-bottom:10px}
.offer-card h3,.offer-card h4{font:600 17px/1.3 var(--display);color:var(--nn-navy);margin-bottom:10px}
.offer-card .offer-price{font:600 14px var(--ui);color:var(--nn-navy);margin-bottom:10px}
.offer-card p{font:400 13.5px/1.65 var(--ui);color:var(--nn-ink-soft);flex:1;margin-bottom:14px}
.offer-card a{font:700 11px var(--ui);color:var(--nn-gold);letter-spacing:.05em;text-decoration:none}
.offer-card a:hover{color:var(--nn-navy)}

/* ---- Team / audit-team cards ---- */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:24px}
.team-card{text-align:center;padding:32px 24px;background:var(--nn-white);border:1px solid var(--nn-hair)}
.team-photo{width:88px;height:88px;margin:0 auto 16px;background:var(--nn-cream);display:flex;align-items:center;justify-content:center;font:400 22px var(--display);color:var(--nn-gold)}
.team-card h3{font:600 16px var(--display);color:var(--nn-navy);margin-bottom:4px}
.team-cred{font:400 12px var(--ui);color:var(--nn-gold);display:block;margin-bottom:10px}
.team-card p{font:400 13px/1.6 var(--ui);color:var(--nn-ink-soft)}

/* ---- Testimonial / quote cards ---- */
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:24px}
.testi-card{padding:30px;background:var(--nn-white);border:1px solid var(--nn-hair)}
.testi-card blockquote{font:italic 15px/1.65 var(--display);color:var(--nn-navy);margin:0 0 16px}
.testi-card cite{font:600 11px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--nn-ink-muted);font-style:normal}

/* ---- Dark pull-quote band ---- */
.quote-band{background:var(--nn-navy-deep);text-align:center;padding:88px 24px}
.quote-band .mark{font:400 56px/1 var(--display);color:var(--nn-gold);margin-bottom:8px}
.quote-band blockquote{font:italic clamp(19px,2.4vw,25px)/1.55 var(--display);color:#fff;max-width:740px;margin:0 auto 18px}
.quote-band .attr{font:400 11px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--nn-gold)}

/* ---- Numbered process / step list ---- */
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:28px;text-align:center}
.process-step .process-num{font:600 22px var(--display);color:var(--nn-gold);margin-bottom:10px}
.process-step h3,.process-step h4{font:600 14px var(--ui);letter-spacing:.02em;color:var(--nn-navy);margin-bottom:8px}
.process-step p{font:400 12.5px/1.6 var(--ui);color:var(--nn-ink-soft)}

/* ---- Checklist with a value on the right (e.g. pricing line items) ---- */
.check-list{list-style:none}
.check-list li{font:400 14px var(--ui);color:var(--nn-ink);padding:12px 0;border-bottom:1px solid var(--nn-hair);display:flex;justify-content:space-between;gap:16px}
.check-list li .check{color:var(--nn-gold);margin-right:8px;font-weight:700}

/* ---- Two-column split section (image + copy) ---- */
.split-section .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-img{height:400px;position:relative;overflow:hidden;background-size:cover;background-position:center}
.split-img .cap{position:absolute;bottom:0;left:0;right:0;background:rgba(15,36,54,.92);padding:18px 24px;border-top:3px solid var(--nn-gold)}
.split-img .cap .k1{color:var(--nn-gold);font:700 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.split-img .cap .k2{color:#fff;font:400 14px var(--display)}
@media (max-width:900px){.split-section .wrap{grid-template-columns:1fr}}

/* ---- FAQ accordion ---- */
.faq-list{max-width:820px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--nn-hair)}
.faq-question{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  background:transparent;border:0;text-align:left;cursor:pointer;padding:22px 4px;
  font:600 15px/1.4 var(--display);color:var(--nn-navy);
}
.faq-question .faq-icon{flex-shrink:0;color:var(--nn-gold);font:400 20px var(--display);transition:transform .2s}
.faq-item.open .faq-question .faq-icon{transform:rotate(45deg)}
.faq-answer{display:none;padding:0 4px 22px;font:400 14px/1.7 var(--ui);color:var(--nn-ink-soft)}
.faq-item.open .faq-answer{display:block}
.section.dark .faq-item,.section.noir .faq-item,.section.noir-2 .faq-item{border-bottom-color:var(--nn-hair-dark)}
.section.dark .faq-question,.section.noir .faq-question,.section.noir-2 .faq-question,
.section.dark .faq-question h3,.section.noir .faq-question h3,.section.noir-2 .faq-question h3{color:#fff}
.section.dark .faq-answer,.section.noir .faq-answer,.section.noir-2 .faq-answer{color:var(--nn-light-soft)}

/* ---- Tab navigator (multi-form selector) ---- */
.tab-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--nn-hair);margin-bottom:32px}
.tab-btn{
  background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer;
  padding:14px 18px;font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--nn-ink-muted);
  transition:color .2s,border-color .2s;
}
.tab-btn:hover{color:var(--nn-navy)}
.tab-btn.active{color:var(--nn-navy);border-bottom-color:var(--nn-gold)}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* ---- Forms ---- */
.form-card{background:var(--nn-white);border:1px solid var(--nn-hair);padding:40px}
.form-card .form-eyebrow{font:600 10px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--nn-gold);margin-bottom:12px;display:block}
.form-card .form-title{font:400 clamp(24px,3vw,32px)/1.2 var(--display);color:var(--nn-navy);margin-bottom:10px}
.form-card .form-sub{font:400 14px/1.65 var(--ui);color:var(--nn-ink-soft);margin-bottom:28px}
.form-group{margin-bottom:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){.form-row{grid-template-columns:1fr}}
.form-label,.form-group label{display:block;font:700 11px var(--ui);letter-spacing:.04em;color:var(--nn-navy);margin-bottom:7px}
.form-input,.form-select,.form-textarea,
.form-group input[type="text"],.form-group input[type="email"],.form-group input[type="tel"],
.form-group input[type="number"],.form-group input[type="password"],.form-group select,.form-group textarea{
  width:100%;border:1px solid var(--nn-border);background:var(--nn-off-white);
  padding:13px 14px;font:400 14px var(--ui);color:var(--nn-ink);appearance:none;
  transition:border-color .2s;
}
.form-input:focus,.form-select:focus,.form-textarea:focus,
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--nn-gold);
}
.form-textarea,.form-group textarea{min-height:110px;resize:vertical}
.select-wrapper{position:relative}
.form-consent{display:flex;align-items:flex-start;gap:10px;padding:14px;background:var(--nn-cream);border:1px solid var(--nn-hair);margin-bottom:16px;font:400 12.5px/1.6 var(--ui);color:var(--nn-ink-soft)}
.form-consent input[type="checkbox"]{margin-top:3px;width:16px;height:16px;accent-color:var(--nn-gold);flex-shrink:0}
.form-disclaimer{font:400 12px/1.6 var(--ui);color:var(--nn-ink-muted);margin-top:16px}
.form-msg{margin-top:16px;padding:14px 16px;font:400 13px/1.6 var(--ui);display:none}
.form-msg.show{display:block}
.form-msg.success{background:rgba(74,222,128,.08);color:#2f7d4f;border:1px solid rgba(74,222,128,.25)}
.form-msg.error{background:rgba(239,68,68,.08);color:#c0392b;border:1px solid rgba(239,68,68,.25)}

/* ---- Two-column "reach us" contact layout ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:start}
.contact-grid .direct h2,.contact-grid .form-box h2{font:600 22px var(--display);color:var(--nn-navy);margin-bottom:20px}
.contact-method{padding:16px 0;border-bottom:1px solid var(--nn-hair)}
.contact-method-label{display:block;font:700 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--nn-gold);margin-bottom:6px}
.contact-method-val{display:block;font:600 16px var(--display);color:var(--nn-navy);text-decoration:none;margin-bottom:4px}
.contact-method-val:hover{color:var(--nn-gold)}
.contact-method-sub{display:block;font:400 12.5px var(--ui);color:var(--nn-ink-muted)}
.hours-box{margin-top:22px;padding:20px;background:var(--nn-cream);border:1px solid var(--nn-hair);font:400 13px/1.7 var(--ui);color:var(--nn-ink-soft)}
.urgency-note{margin-top:16px;font:400 12px/1.6 var(--ui);color:var(--nn-ink-muted)}
.form-box{background:var(--nn-white);border:1px solid var(--nn-hair);padding:36px}
.form-box .form-sub{font:400 13.5px/1.6 var(--ui);color:var(--nn-ink-soft);margin-bottom:20px}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* ---- Generic section w/ background variants ---- */
.section{padding:80px 0}
.section.light{background:var(--nn-off-white)}
.section.warm{background:var(--nn-cream)}
.section.dark,.section.noir{background:var(--nn-navy-deep)}
.section.noir-2{background:var(--nn-navy)}
.section.dark .section-title,.section.noir .section-title,.section.noir-2 .section-title{color:#fff}
.section.dark .section-eyebrow,.section.noir .section-eyebrow,.section.noir-2 .section-eyebrow{color:var(--nn-gold)}
.section.dark .section-desc,.section.dark .section-sub,.section.dark p,
.section.noir .section-desc,.section.noir .section-sub,.section.noir p,
.section.noir-2 .section-desc,.section.noir-2 .section-sub,.section.noir-2 p{color:var(--nn-light-soft)}
.section-desc{font:400 15px/1.7 var(--ui);color:var(--nn-ink-soft);max-width:640px}

/* ---- Service cards on a dark section ---- */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px}
.svc-card{padding:28px 26px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.svc-card .svc-code{font:700 10px var(--ui);letter-spacing:.1em;color:var(--nn-gold);display:block;margin-bottom:10px}
.svc-card h3{font:600 18px var(--display);color:#fff;margin-bottom:8px}
.svc-card .svc-price{display:block;font:600 11px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--nn-gold-hi);margin-bottom:14px}
.svc-card p{font:400 13px/1.65 var(--ui);color:rgba(255,255,255,.65);margin-bottom:14px}
.svc-card ul{list-style:none}
.svc-card li{font:400 12.5px/1.6 var(--ui);color:rgba(255,255,255,.55);padding:6px 0 6px 16px;position:relative}
.svc-card li::before{content:'\2013';position:absolute;left:0;color:var(--nn-gold)}

/* ---- Simple icon-free feature/report item grid ---- */
.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:28px}
.report-item h4{font:600 15px var(--display);color:#fff;margin-bottom:10px}
.report-item p{font:400 13px/1.65 var(--ui);color:rgba(255,255,255,.65)}

/* ---- Hero extras: badge, cta row, phone line ---- */
.urgency-tag{
  display:inline-block;margin-left:10px;padding:5px 12px;
  background:rgba(184,84,84,.18);color:#e8a5a5;border:1px solid rgba(184,84,84,.4);
  font:700 10px var(--ui);letter-spacing:.08em;text-transform:uppercase;
}
.hero-cta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hero-phone{font:400 13px var(--ui);color:rgba(247,243,236,.75)}
.hero-phone a{color:var(--nn-gold);font-weight:600;text-decoration:none}

/* ---- Prominent alert / urgent-action box ---- */
.urgent-box,.alert-box{
  background:rgba(184,84,84,.06);border:1px solid rgba(184,84,84,.25);
  padding:18px 22px;font:400 14px/1.6 var(--ui);color:var(--nn-ink);
}
.urgent-box strong,.alert-box strong{color:#a23a2c}
.urgent-box a,.alert-box a{color:var(--nn-gold);font-weight:600}

/* ---- Multi-phase / multi-step process cards ---- */
.phase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:28px}
.phase{padding:30px 28px;background:var(--nn-white);border:1px solid var(--nn-hair)}
.phase-num{display:block;font:700 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--nn-gold);margin-bottom:12px}
.phase h3{font:600 18px var(--display);color:var(--nn-navy);margin-bottom:14px}
.phase ul{list-style:none}
.phase li{font:400 13px/1.6 var(--ui);color:var(--nn-ink-soft);padding:8px 0 8px 18px;border-bottom:1px solid var(--nn-hair);position:relative}
.phase li::before{content:'\2192';position:absolute;left:0;color:var(--nn-gold)}
.phase li:last-child{border-bottom:0}

/* ---- Checklist with a round check badge ---- */
.discharge-list{display:grid;gap:4px;max-width:820px}
.discharge-item{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--nn-hair)}
.discharge-item:last-child{border-bottom:0}
.discharge-check{
  flex-shrink:0;width:28px;height:28px;background:var(--nn-gold);color:var(--nn-navy-deep);
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;
}
.discharge-item p{font:400 14px/1.7 var(--ui);color:var(--nn-ink-soft)}
.discharge-item strong{color:var(--nn-navy)}

/* ---- Notice / disclaimer strip ---- */
.notice-strip{background:var(--nn-cream);border-bottom:1px solid var(--nn-hair);padding:16px 24px;text-align:center}
.notice-strip p{max-width:var(--max);margin:0 auto;font:400 13px/1.6 var(--ui);color:var(--nn-ink-soft)}
.notice-strip a{color:var(--nn-gold);font-weight:600;text-decoration:none}
.notice-strip a:hover{text-decoration:underline}
.notice-strip.warn{background:rgba(184,146,42,.08);border-color:rgba(184,146,42,.2)}

/* ---- Field-group section label (inside a longer form) ---- */
.field-section-label{
  display:block;font:700 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;
  color:var(--nn-gold);border-bottom:1px solid var(--nn-hair);
  padding-bottom:8px;margin:28px 0 16px;
}
.field-section-label:first-child{margin-top:0}

/* ---- "What happens next" expectation list (sits beside/under a form) ---- */
.expect-box{margin-top:32px;padding:26px 28px;background:var(--nn-cream);border:1px solid var(--nn-hair)}
.expect-box h3{font:600 14px var(--display);color:var(--nn-navy);margin-bottom:16px}
.expect-steps{list-style:none}
.expect-steps li{display:flex;gap:14px;font:400 13px/1.6 var(--ui);color:var(--nn-ink-soft);padding:10px 0;border-bottom:1px solid var(--nn-hair)}
.expect-steps li:last-child{border-bottom:0}
.expect-num{flex-shrink:0;font:700 12px var(--ui);color:var(--nn-gold)}

/* ---- Internal ops dashboard shell (intake-dashboard.html) ---- */
.main-workspace{
  display:grid;grid-template-columns:300px 1fr 260px;
  min-height:calc(100vh - 200px);border-top:1px solid var(--nn-hair);
}
@media (max-width:1100px){.main-workspace{grid-template-columns:1fr;min-height:auto}}

.sidebar-list{border-right:1px solid var(--nn-hair);background:var(--nn-off-white);padding:20px}
.search-filter{margin-bottom:4px}
.search-input{
  width:100%;border:1px solid var(--nn-border);background:var(--nn-white);
  padding:11px 13px;font:400 13px var(--ui);color:var(--nn-ink);margin-bottom:10px;
}
.filter-row{display:flex;gap:8px}
.filter-select{
  flex:1;border:1px solid var(--nn-border);background:var(--nn-white);
  padding:9px 10px;font:400 12px var(--ui);color:var(--nn-ink);
}
.inquiry-items{margin-top:18px;min-height:120px}
.inquiry-items:empty::after{
  content:'No inquiries loaded.';display:block;padding:24px 4px;
  font:400 13px var(--ui);color:var(--nn-ink-muted);text-align:center;
}

.content-area{padding:36px 32px}
.placeholder-view{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:320px;text-align:center;color:var(--nn-ink-muted);
}
.placeholder-view h3{font:600 16px var(--display);color:var(--nn-ink-soft);margin-bottom:8px}
.placeholder-view p{font:400 13px var(--ui)}
.detail-view{display:none}
.detail-header{border-bottom:1px solid var(--nn-hair);padding-bottom:20px;margin-bottom:24px}
.detail-id{font:700 10px var(--mono);letter-spacing:.08em;color:var(--nn-ink-muted);margin-bottom:8px}
.detail-name{font:600 26px var(--display);color:var(--nn-navy);margin-bottom:8px}
.detail-source-badge{
  display:inline-block;background:var(--nn-cream);border:1px solid var(--nn-hair);
  padding:5px 12px;font:600 10px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--nn-gold-deep);
}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.info-block-label{font:700 10px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--nn-ink-muted);margin-bottom:5px}
.info-block-val{font:400 14px var(--ui);color:var(--nn-ink)}
.detail-message-box{
  background:var(--nn-off-white);border:1px solid var(--nn-hair);
  padding:16px;font:400 13px/1.7 var(--ui);color:var(--nn-ink-soft);min-height:60px;margin-bottom:24px;
}
.raw-payload-box{
  background:var(--nn-navy-deep);color:#a8d8c8;border:1px solid var(--nn-hair-dark);
  padding:16px;font:400 11px/1.6 var(--mono);overflow-x:auto;white-space:pre-wrap;word-break:break-word;
}

.actions-drawer{border-left:1px solid var(--nn-hair);background:var(--nn-off-white);padding:24px 20px;display:flex;flex-direction:column;gap:28px}
.action-group-title{font:700 10px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--nn-ink-muted);margin-bottom:12px}
.btn-action{
  display:block;width:100%;border:1px solid var(--nn-border);background:var(--nn-white);
  padding:12px 14px;font:600 11px var(--ui);letter-spacing:.04em;color:var(--nn-navy);cursor:pointer;text-align:center;
  transition:background .2s,border-color .2s,color .2s;
}
.btn-action.primary{background:var(--nn-navy-deep);color:#fff;border-color:var(--nn-navy-deep)}
.btn-action.primary:hover{background:var(--nn-navy)}
.btn-action.danger{color:#a23a2c;border-color:rgba(162,58,44,.35)}
.btn-action.danger:hover{background:rgba(162,58,44,.06)}

/* ---- Grouped-section wrapper (used for stacked topic sections) ---- */
.group-section{padding:64px 0;border-bottom:1px solid var(--nn-hair)}
.group-section:last-of-type{border-bottom:0}
.group-inner{max-width:var(--max);margin:0 auto;padding:0 24px}
.group-eyebrow{font:600 10px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--nn-gold);margin-bottom:12px;display:block}
.group-title{font:600 clamp(22px,3vw,30px)/1.2 var(--display);color:var(--nn-navy);margin-bottom:14px}
.group-title em{font-style:italic;color:var(--nn-gold)}
.group-desc{font:400 14px/1.7 var(--ui);color:var(--nn-ink-soft);max-width:640px;margin-bottom:36px}

/* ---- Link-card grid (services index, pillars, etc.) ---- */
.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:20px}
.service-card{
  display:block;padding:28px 26px;background:var(--nn-white);
  border:1px solid var(--nn-hair);text-decoration:none;transition:border-color .2s,box-shadow .2s;
}
.service-card:hover{border-color:var(--nn-gold);box-shadow:0 8px 24px rgba(22,50,74,.08)}
.service-card h3{font:600 16px/1.35 var(--display);color:var(--nn-navy);margin-bottom:10px}
.service-card p{font:400 13px/1.65 var(--ui);color:var(--nn-ink-soft);margin-bottom:14px}
.service-arrow{font:700 11px var(--ui);color:var(--nn-gold);letter-spacing:.05em}
.service-arrow::after{content:" \2192"}
.service-card:hover .service-arrow{color:var(--nn-navy)}

/* ---- Big two-audience selector band ---- */
.audience-band{background:var(--nn-cream);padding:56px 0}
.audience-grid{max-width:var(--max);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.audience-card{background:var(--nn-white);border:1px solid var(--nn-hair);padding:36px 32px}
.audience-icon{display:block;margin-bottom:18px}
.audience-card h2{font:600 20px var(--display);color:var(--nn-navy);margin-bottom:12px}
.audience-card p{font:400 14px/1.7 var(--ui);color:var(--nn-ink-soft);margin-bottom:20px}
@media (max-width:768px){.audience-grid{grid-template-columns:1fr}}

/* ---- Bare section + alt background ---- */
.section.alt{background:var(--nn-cream)}

/* ---- Partner/audience type grid (icon-free simple cards) ---- */
.partner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:24px}
.partner-type{padding:26px 24px;background:var(--nn-white);border:1px solid var(--nn-hair)}
.partner-type h3{font:600 16px var(--display);color:var(--nn-navy);margin-bottom:10px}
.partner-type p{font:400 13px/1.65 var(--ui);color:var(--nn-ink-soft)}

/* ---- Form + info sidebar split (referral, intake pages) ---- */
.referral-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.referral-form-box{background:var(--nn-white);border:1px solid var(--nn-hair);padding:32px}
.referral-info h3{font:600 18px var(--display);color:var(--nn-navy);margin-bottom:16px}
.referral-info ul{list-style:none;margin-bottom:20px}
.referral-info li{font:400 13.5px/1.65 var(--ui);color:var(--nn-ink-soft);padding:8px 0 8px 18px;position:relative}
.referral-info li::before{content:'\2013';position:absolute;left:0;color:var(--nn-gold)}
.referral-info p{font:400 14px/1.7 var(--ui);color:var(--nn-ink-soft);margin-bottom:20px}
.referral-contact{padding:18px 20px;background:var(--nn-cream);border:1px solid var(--nn-hair)}
.referral-contact p{margin:0;font:400 13px/1.8 var(--ui)}
@media (max-width:900px){.referral-grid{grid-template-columns:1fr}}

.articles-section,.guides-section{padding:64px 0}
.guides-section{background:var(--nn-cream)}

/* ---- Pill filter bar ---- */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:32px 24px;background:var(--nn-off-white);border-bottom:1px solid var(--nn-hair)}
.filter-btn{
  background:transparent;border:1px solid var(--nn-border);color:var(--nn-ink-soft);cursor:pointer;
  padding:9px 18px;font:600 11px var(--ui);letter-spacing:.04em;transition:.2s;
}
.filter-btn:hover{border-color:var(--nn-gold);color:var(--nn-navy)}
.filter-btn.active{background:var(--nn-navy-deep);border-color:var(--nn-navy-deep);color:#fff}

/* ---- Article card grid ---- */
.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:24px}
.article-card{padding:26px 24px;background:var(--nn-white);border:1px solid var(--nn-hair)}
.article-card.is-hidden{display:none}
.article-tag{font:700 10px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--nn-gold);display:block;margin-bottom:12px}
.article-card h3{font:600 16px/1.4 var(--display);color:var(--nn-navy);margin-bottom:10px}
.article-card p{font:400 13px/1.65 var(--ui);color:var(--nn-ink-soft);margin-bottom:14px}
.article-meta{font:400 11px var(--ui);color:var(--nn-ink-muted)}

/* ---- Topic guide card grid ---- */
.guides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:20px}
.guide-card{
  display:block;padding:26px 24px;background:var(--nn-white);
  border:1px solid var(--nn-hair);text-decoration:none;transition:border-color .2s,box-shadow .2s;
}
.guide-card:hover{border-color:var(--nn-gold);box-shadow:0 8px 24px rgba(22,50,74,.08)}
.guide-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px}
.guide-card h4{font:600 15px var(--display);color:var(--nn-navy);margin-bottom:8px}
.guide-card p{font:400 12.5px/1.6 var(--ui);color:var(--nn-ink-soft)}

/* ---- Legacy short-class aliases (compact template shared by ~20 landing pages) ---- */
.s{padding:80px 0}
.s.dk,.s.n2,.s.nr{background:var(--nn-navy-deep)}
.s.bl,.s.lt{background:var(--nn-off-white)}
.s.wm{background:var(--nn-cream)}
.s.dk .st,.s.dk .s-ti,.s.dk .s-title,.s.n2 .st,.s.n2 .s-ti,.s.n2 .s-title,.s.nr .st,.s.nr .s-ti,.s.nr .s-title{color:#fff}
.s.dk .se,.s.dk .s-ey,.s.dk .s-eye,.s.n2 .se,.s.n2 .s-ey,.s.n2 .s-eye,.s.nr .se,.s.nr .s-ey,.s.nr .s-eye{color:var(--nn-gold)}
.s.dk .sd,.s.dk .s-de,.s.dk .s-desc,.s.dk p,.s.n2 .sd,.s.n2 .s-de,.s.n2 .s-desc,.s.n2 p,.s.nr .sd,.s.nr .s-de,.s.nr .s-desc,.s.nr p{color:var(--nn-light-soft)}

.se,.s-ey,.s-eye{font:600 10px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--nn-gold);margin-bottom:12px;display:block}
.st,.s-ti,.s-title{font:600 clamp(24px,3vw,36px)/1.15 var(--display);color:var(--nn-navy);margin-bottom:16px}
.st em,.s-ti em,.s-title em{font-style:italic;color:var(--nn-gold)}
.sd,.s-de,.s-desc{font:400 15px/1.7 var(--ui);color:var(--nn-ink-soft);max-width:640px;margin-top:8px;margin-bottom:24px}

.page-hero .ey{
  font:600 11px var(--ui);letter-spacing:.18em;text-transform:uppercase;
  color:var(--nn-gold);margin-bottom:16px;display:block;
}

/* Checklist with a round +/check icon */
.pt,.pts{list-style:none;max-width:820px}
.pt li,.pts li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--nn-hair)}
.pt li:last-child,.pts li:last-child{border-bottom:0}
.pt .ck,.pts li>span:first-child{
  flex-shrink:0;width:26px;height:26px;background:var(--nn-gold);color:var(--nn-navy-deep);
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;
}
.pt li>div,.pts li>div{font:400 14px/1.7 var(--ui);color:var(--nn-ink-soft)}
.s.dk .pt li,.s.n2 .pt li,.s.nr .pt li,.s.dk .pts li,.s.n2 .pts li,.s.nr .pts li{border-bottom-color:var(--nn-hair-dark)}
.s.dk .pt li>div,.s.n2 .pt li>div,.s.nr .pt li>div,.s.dk .pts li>div,.s.n2 .pts li>div,.s.nr .pts li>div{color:var(--nn-light-soft)}

/* Short CTA-band alias (gold band, matches .nn-cta-band) */
.cb{background:var(--nn-gold);padding:56px 0;text-align:center}
.cb h2{font:600 clamp(22px,3vw,32px)/1.2 var(--display);color:var(--nn-navy-deep);margin-bottom:12px}
.cb p{font:400 15px/1.6 var(--display);color:var(--nn-navy);margin-bottom:24px;opacity:.85}
.cc,.cta-c{margin-top:16px;font:400 13px var(--ui);color:var(--nn-navy)}
.cc a,.cta-c a{color:var(--nn-navy);font-weight:600;text-decoration:underline}

/* Simple pricing/service card grid */
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px}
.card{padding:26px 24px;background:var(--nn-white);border:1px solid var(--nn-hair)}
.s.dk .card,.s.n2 .card,.s.nr .card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.card h4{font:600 16px var(--display);color:var(--nn-navy);margin-bottom:8px}
.s.dk .card h4,.s.n2 .card h4,.s.nr .card h4{color:#fff}
.card p{font:400 13px/1.6 var(--ui);color:var(--nn-ink-soft)}
.s.dk .card p,.s.n2 .card p,.s.nr .card p{color:rgba(255,255,255,.65)}
.price-big{font:600 13px var(--ui);color:var(--nn-gold-deep)}
.s.dk .price-big,.s.n2 .price-big,.s.nr .price-big{color:var(--nn-gold-hi)}

/* ---- Simple doc / legal prose section ---- */
.doc-section{padding:40px 0;border-bottom:1px solid var(--nn-hair)}
.doc-title{font:600 20px var(--display);color:var(--nn-navy);margin-bottom:16px}
.doc-text{font:400 14px/1.8 var(--ui);color:var(--nn-ink-soft)}
.doc-text h4{font:600 14px var(--ui);color:var(--nn-navy);margin:20px 0 8px}
.doc-text p{margin-bottom:12px}
.doc-text strong{color:var(--nn-ink)}

/* ---- Standalone legal document pages (privacy, terms, hipaa, sms, accessibility) ---- */
.legal-page{padding:64px 0 80px}
.legal-wrap{max-width:760px;margin:0 auto;padding:0 24px}
.legal-eyebrow{font:600 11px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--nn-gold-deep);margin-bottom:14px;display:block}
.legal-title{font:400 clamp(28px,4vw,40px)/1.15 var(--display);color:var(--nn-navy);margin-bottom:10px}
.legal-meta{font:400 13px var(--ui);color:var(--nn-ink-soft);margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--nn-hair)}
.legal-notice{background:var(--nn-cream);border-left:3px solid var(--nn-gold);padding:18px 22px;font:400 14px/1.7 var(--ui);color:var(--nn-ink-soft);margin-bottom:32px}
.legal-notice a{color:var(--nn-navy);font-weight:600}
.legal-wrap h2{font:600 20px var(--display);color:var(--nn-navy);margin:36px 0 14px}
.legal-wrap h3{font:600 16px var(--display);color:var(--nn-navy);margin:24px 0 10px}
.legal-wrap p{font:400 14px/1.8 var(--ui);color:var(--nn-ink-soft);margin-bottom:14px}
.legal-wrap ul{margin:0 0 16px;padding-left:22px}
.legal-wrap li{font:400 14px/1.8 var(--ui);color:var(--nn-ink-soft);margin-bottom:6px}
.legal-wrap a{color:var(--nn-navy);font-weight:600}
.contact-box{margin-top:40px;padding:24px 26px;background:var(--nn-off-white);border:1px solid var(--nn-hair)}
.contact-box h3{font:600 15px var(--display);color:var(--nn-navy);margin-bottom:10px}
.contact-box p{font:400 13px/1.8 var(--ui);color:var(--nn-ink-soft);margin-bottom:4px}
.contact-box a{color:var(--nn-navy);font-weight:600}

/* HIPAA-specific */
.hipaa-alert{background:var(--nn-navy-deep);color:#fff;padding:20px 22px;font:400 13px/1.7 var(--ui);margin-bottom:24px;border-left:3px solid var(--nn-gold)}
.notice-box{background:var(--nn-off-white);border:1px solid var(--nn-hair);padding:18px 22px;font:400 14px/1.7 var(--ui);color:var(--nn-ink-soft);margin-bottom:28px}
.rights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:18px;margin:24px 0 32px}
.right-item{padding:18px 20px;background:var(--nn-white);border:1px solid var(--nn-hair)}
.right-title{font:600 14px var(--display);color:var(--nn-navy);margin-bottom:6px}
.right-desc{font:400 13px/1.7 var(--ui);color:var(--nn-ink-soft)}

/* SMS-specific */
.opt-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px;margin:20px 0 24px}
.opt-item{padding:20px 22px;background:var(--nn-off-white);border:1px solid var(--nn-hair)}
.opt-label{font:600 11px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--nn-gold-deep);margin-bottom:8px;display:block}
.opt-text{font:600 14px var(--display);color:var(--nn-navy);margin-bottom:6px}
.opt-desc{font:400 13px/1.7 var(--ui);color:var(--nn-ink-soft)}

/* ---- legal.html (index/summary page): its own hero + anchor nav + doc wrap ---- */
.legal-nav{display:flex;flex-wrap:wrap;gap:10px;max-width:var(--max);margin:0 auto;padding:24px}
.legal-nav a{font:600 12px var(--ui);color:var(--nn-navy);text-decoration:none;padding:8px 16px;border:1px solid var(--nn-hair);background:var(--nn-white)}
.legal-nav a:hover{border-color:var(--nn-gold);color:var(--nn-gold-deep)}
.doc-wrap{max-width:760px;margin:0 auto;padding:0 24px 40px}

/* ---- "Coming soon" placeholder hero (store-printables, store-tech-kits) ---- */
.hero-coming-soon{
  min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;background:var(--nn-navy-deep);padding:80px 24px;
}
.hero-coming-soon .eyebrow{font:600 11px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--nn-gold);margin-bottom:16px;display:block}
.hero-coming-soon .headline{font:400 clamp(28px,4.4vw,44px)/1.15 var(--display);color:#fff;margin-bottom:16px}
.hero-coming-soon .sub{font:400 15px/1.75 var(--ui);color:rgba(247,243,236,0.82);max-width:480px;margin:0 auto 28px}

/* ---- store.html ---- */
.store-hero{position:relative;min-height:380px;display:flex;align-items:center;background:var(--nn-navy-deep);padding:72px 24px}
.store-hero>div{max-width:640px;margin:0 auto;text-align:center}
.store-hero .eyebrow{font:600 11px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--nn-gold);margin-bottom:16px;display:block}
.store-hero .headline{font:400 clamp(28px,4.4vw,44px)/1.15 var(--display);color:#fff;margin-bottom:16px}
.store-hero .sub{font:400 15px/1.75 var(--ui);color:rgba(247,243,236,0.82);margin-bottom:28px}
.store-body{max-width:var(--max);margin:0 auto;padding:56px 24px}
.store-notice{background:var(--nn-cream);border-left:3px solid var(--nn-gold);padding:18px 22px;font:400 14px/1.7 var(--ui);color:var(--nn-ink-soft);margin-bottom:32px}
.store-notice a{color:var(--nn-navy);font-weight:600}
.store-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px;margin-bottom:8px}
.store-cat{padding:26px 24px;background:var(--nn-white);border:1px solid var(--nn-hair)}
.store-cat-title{font:600 16px var(--display);color:var(--nn-navy);margin-bottom:8px}
.store-cat-desc{font:400 13px/1.6 var(--ui);color:var(--nn-ink-soft)}
.store-cta{background:var(--nn-gold);padding:56px 40px;text-align:center;margin-top:40px}
.store-cta h2{font:600 clamp(22px,3vw,32px)/1.2 var(--display);color:var(--nn-navy-deep);margin-bottom:12px}
.store-cta p{font:400 15px/1.6 var(--display);color:var(--nn-navy);margin-bottom:24px;opacity:.85}

/* ---- Login / auth pages (login.html, employee-login.html) ---- */
.login-wrapper{min-height:60vh;display:flex;align-items:center;justify-content:center;background:var(--nn-off-white);padding:64px 24px}
.auth-card{width:100%;max-width:420px;background:var(--nn-white);border:1px solid var(--nn-hair);padding:44px 40px}
.auth-eyebrow{font:600 11px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--nn-gold-deep);margin-bottom:14px;display:block;text-align:center}
.auth-title{font:400 clamp(22px,3vw,28px)/1.3 var(--display);color:var(--nn-navy);margin-bottom:28px;text-align:center}
.auth-card form{margin-bottom:20px}
.auth-card button[type="submit"]{width:100%;margin-top:6px}
.auth-card .btn-primary{width:100%;margin-top:6px}
.auth-links{display:flex;justify-content:space-between;font:400 13px var(--ui);margin-bottom:24px}
.auth-links a{color:var(--nn-navy);font-weight:600;text-decoration:none}
.auth-links a:hover{color:var(--nn-gold-deep)}
.divider{text-align:center;font:600 11px var(--ui);letter-spacing:.1em;color:var(--nn-ink-muted);margin-bottom:20px;position:relative}
.divider::before,.divider::after{content:'';position:absolute;top:50%;width:38%;height:1px;background:var(--nn-hair)}
.divider::before{left:0}
.divider::after{right:0}
.auth-card .btn-ghost-dark{width:100%}
.mfa-notice{margin-top:24px;padding:14px 16px;background:var(--nn-cream);border:1px solid var(--nn-hair);font:400 12.5px/1.6 var(--ui);color:var(--nn-ink-soft);text-align:center}

/* ---- blog.html ---- */
.blog-card{display:block;padding:28px 26px;background:var(--nn-white);border:1px solid var(--nn-hair);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.blog-card:hover{border-color:var(--nn-gold);box-shadow:0 8px 24px rgba(22,50,74,.08)}
.blog-cat{font:600 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--nn-gold-deep);margin-bottom:12px}
.blog-title{font:600 18px var(--display);color:var(--nn-navy);margin-bottom:10px;line-height:1.3}
.blog-excerpt{font:400 13px/1.7 var(--ui);color:var(--nn-ink-soft);margin-bottom:16px}
.blog-read{font:600 11px var(--ui);letter-spacing:.06em;color:var(--nn-navy)}

/* ---- send-form.html (generic confirmation page) ---- */
.page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:64px 24px;background:var(--nn-off-white)}
.page .card{max-width:480px;text-align:center;padding:48px 40px}
.page .icon{width:56px;height:56px;margin:0 auto 20px;border-radius:50%;background:var(--nn-gold);color:var(--nn-navy-deep);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700}
.page .eyebrow{font:600 11px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--nn-gold-deep);margin-bottom:12px;display:block}
.page h1{font:400 clamp(26px,3.4vw,34px)/1.2 var(--display);color:var(--nn-navy);margin-bottom:14px}
.page p{font:400 14px/1.7 var(--ui);color:var(--nn-ink-soft);margin-bottom:24px}
.page .ref{margin-top:20px;font:400 12px var(--ui);color:var(--nn-ink-muted)}

/* ---- consult.html ---- */
.intake-page{padding:64px 24px;background:var(--nn-off-white)}
.intake-page .form-header{margin-bottom:8px}

/* ---- proof.html ---- */
.testimonials-section{padding:80px 0;background:var(--nn-white)}
.outcomes-section{padding:80px 0;background:var(--nn-cream)}
.outcomes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}
.outcome-card{padding:28px 26px;background:var(--nn-white);border:1px solid var(--nn-hair)}
.outcome-tag{font:600 10px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--nn-gold-deep);margin-bottom:12px;display:block}
.outcome-card h3{font:600 17px var(--display);color:var(--nn-navy);margin-bottom:10px}
.outcome-card p{font:400 13px/1.7 var(--ui);color:var(--nn-ink-soft)}

/* ---- faqs.html ---- */
.faq-section{padding:80px 0}
.faq-category-label{display:block;font:600 11px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--nn-gold-deep);margin:40px 0 12px}
.faq-category-label:first-child{margin-top:0}

/* ---- concierge.html ---- */
.hero-price{font:600 20px var(--display);color:var(--nn-gold);margin-bottom:24px}
.hero-price span{font:400 13px var(--ui);color:rgba(247,243,236,.75);text-transform:none;letter-spacing:0}
.includes-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:14px 28px;margin-top:32px}
.include-item{display:flex;gap:12px;align-items:flex-start}
.include-check{flex-shrink:0;width:22px;height:22px;background:var(--nn-gold);color:var(--nn-navy-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}
.include-item p{font:400 14px/1.6 var(--ui);color:var(--nn-ink-soft)}

/* ---- catalog.html ---- */
.audience-links{display:flex;gap:16px;justify-content:flex-start;flex-wrap:wrap;margin-top:28px}
