/* ==========================================================================
   NAWRA Design System — ported from the React/Tailwind source (styles.css)
   Brand: Heat. Cold. Proof. · Editorial luxury · Manrope
   Palette locked from the original oklch values (hex equivalents).
   Namespaced with .nw- to avoid collisions with Elementor / Hello theme.
   ========================================================================== */

/* Border-box for all NAWRA content (prevents width:100% + padding overflow) */
.nw, .nw *, .nw *::before, .nw *::after { box-sizing: border-box; }

:root {
  --nw-navy: #091E27;
  --nw-cream: #FAF5E1;
  --nw-orange: #F4BF81;
  --nw-orange-strong: #eaa94f;
  --nw-lightblue: #C4EEF7;
  --nw-graphite: #6E7180;
  --nw-space: #9DA2B3;
  --nw-steel: #BCBFCC;
  --nw-smoke: #D3D6E0;
  --nw-cloud: #EDEFF7;
  --nw-white: #ffffff;
  --nw-border: #e7e1cf;
  --nw-border-cloud: #d9dce8;
  --nw-maxw: 1280px;
  --nw-radius: 1rem;
}

/* ---- Base typography — force Manrope everywhere incl. form controls ---- */
body, button, input, select, textarea, optgroup,
.elementor, .elementor-widget-text-editor,
.elementor-widget-heading .elementor-heading-title,
.nw, .nw h1, .nw h2, .nw h3, .nw h4, .nw p, .nw a, .nw span, .nw li, .nw label {
  font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, sans-serif;
}

.nw-nopadding-top
{
	padding-top:0px !important;
}

.nw-nopadding-bottom
{
	padding-bottom:0px !important;
}


/* Match the React/Lovable Manrope rendering exactly (stylistic set + char variant) */
body, .nw, .elementor { font-feature-settings: "ss01", "cv11"; }
.nw a { color: inherit; }

.nw-sec { position: relative; }
.nw-wrap { width: 100%; max-width: var(--nw-maxw); margin-inline: auto; padding-inline: 1.5rem; }

/* Section tones (Elementor section gets bg color; these help inner text) */
.nw-tone-navy  { color: var(--nw-cream); }
.nw-tone-navy h1,.nw-tone-navy h2,.nw-tone-navy h3,.nw-tone-navy h4 { color: var(--nw-cream); }
.nw-tone-cream, .nw-tone-cloud, .nw-tone-white { color: var(--nw-navy); }

/* ---- Headings ---- */
.nw h1,.nw h2,.nw h3,.nw h4 {
  font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
  letter-spacing: -0.02em; line-height: 1.08; font-weight: 500; margin: 0;
  color: var(--nw-navy);
}
/* Dark sections: all headings cream (must come after the base color rule) */
.nw-tone-navy h1,.nw-tone-navy h2,.nw-tone-navy h3,.nw-tone-navy h4,
.nw-tone-navy .nw-card h3,.nw-tone-navy .nw-card h4 { color: var(--nw-cream); }
.nw h1 { font-size: clamp(2.5rem, 5.5vw, 4.5rem); letter-spacing: -0.035em; }
.nw h2 { font-size: clamp(2rem, 3.6vw, 2.75rem); }
.nw h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.nw p  { line-height: 1.65; margin: 0; }
.nw .nw-display { font-size: clamp(3rem, 7vw, 5rem); letter-spacing: -0.04em; line-height: 1; font-weight: 600; }

.nw-lead { font-size: 1.125rem; line-height: 1.7; color: var(--nw-graphite); max-width: 42rem; }
.nw-tone-navy .nw-lead { color: var(--nw-steel); }
.nw-muted { color: var(--nw-graphite); }
.nw-tone-navy .nw-muted { color: var(--nw-steel); }
.nw-c-orange { color: var(--nw-orange); }
.nw-c-blue { color: var(--nw-lightblue); }

/* ---- Eyebrow / kicker ---- */
.nw-eyebrow { display:inline-block; font-size:.75rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; margin-bottom:.9rem; }
.nw-eyebrow--orange { color: var(--nw-orange-strong); }
.nw-tone-navy .nw-eyebrow--orange { color: var(--nw-orange); }
.nw-eyebrow--blue { color:#4aa6c4; }
.nw-tone-navy .nw-eyebrow--blue { color: var(--nw-lightblue); }
.nw-eyebrow--navy { color: var(--nw-navy); }

/* ---- Buttons ---- */
.nw-btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.9rem 1.6rem; border-radius:9999px; font-weight:600; font-size:.95rem;
  letter-spacing:-.01em; transition:all .2s ease; cursor:pointer; white-space:nowrap;
  text-decoration:none; border:1px solid transparent; line-height:1; }
.nw-btn--primary { background:var(--nw-orange); color:#000; }
.nw-btn--primary:hover { background:var(--nw-orange-strong); transform:translateY(-1px); }
.nw-btn--outline { background:transparent; color:currentColor; border-color:currentColor; }
.nw-btn--outline:hover { background:currentColor; }
.nw-tone-navy .nw-btn--outline:hover { color:var(--nw-navy); }
.nw-btn--ghost { background:transparent; color:currentColor; }
.nw-btn--ghost:hover { text-decoration:underline; text-underline-offset:4px; }

/* ---- Layout helpers ---- */
.nw-grid { display:grid; gap:1.5rem; }
.nw-grid--2 { grid-template-columns:repeat(2,1fr); }
.nw-grid--3 { grid-template-columns:repeat(3,1fr); }
.nw-grid--4 { grid-template-columns:repeat(4,1fr); }
.nw-mt { margin-top:1.5rem; } .nw-mt-lg { margin-top:2.5rem; }
.nw-max2 { max-width:44rem; } .nw-center { text-align:center; margin-inline:auto; }
.nw-btns { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.nw-list { list-style:none; margin:1.25rem 0 0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.nw-list li { position:relative; padding-left:1.4rem; color:var(--nw-graphite); line-height:1.5; }
.nw-tone-navy .nw-list li { color:var(--nw-steel); }
.nw-list li::before { content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--nw-orange); }

/* ---- Cards ---- */
.nw-card { background:var(--nw-white); border:1px solid var(--nw-border); border-radius:var(--nw-radius);
  padding:2rem; box-shadow:0 1px 2px rgba(9,30,39,.04),0 8px 24px -12px rgba(9,30,39,.08);
  display:flex; flex-direction:column; }
.nw-tone-navy .nw-card { background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.14); color:var(--nw-cream); }
.nw-tone-navy .nw-card p { color:var(--nw-steel); }
.nw-card h3 { margin-bottom:.75rem; }
.nw-card--featured { border:2px solid var(--nw-orange); box-shadow:0 8px 32px -16px rgba(244,191,129,.5); }
.nw-card__link { display:flex; flex-direction:column; text-decoration:none; transition:transform .2s ease; }
.nw-card__link:hover { transform:translateY(-4px); }
.nw-card__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:.85rem; }
.nw-card__num { font-size:.85rem; letter-spacing:.18em; color:var(--nw-graphite); }
/* Pin the "Explore →" link and any card buttons to the bottom so rows align */
.nw-card__more { margin-top:auto; padding-top:1.25rem; color:var(--nw-orange-strong); font-weight:600; }
.nw-card .nw-btns { margin-top:auto; }
/* Card grids stretch children to equal height per row */
.nw-grid > *, .nw-compare > * { align-self:stretch; }
.nw-icon { font-size:1.6rem; color:var(--nw-orange-strong); line-height:1; }

/* ---- Tags / pills / badges ---- */
.nw-tag { display:inline-block; font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--nw-orange-strong); }
.nw-tag--blue { color:#3f97b5; } .nw-tag--navy { color:var(--nw-navy); }
.nw-badge { display:inline-block; padding:.4rem .9rem; border-radius:9999px; font-size:.7rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; background:var(--nw-orange); color:var(--nw-navy); }
.nw-badge--blue { background:var(--nw-lightblue); }
.nw-pills { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.5rem; }
.nw-pill { display:inline-flex; align-items:center; padding:.55rem 1.1rem; border-radius:9999px;
  border:1px solid var(--nw-border); background:var(--nw-white); font-size:.9rem; color:var(--nw-navy); }
.nw-tone-cloud .nw-pill { border-color:var(--nw-border-cloud); }

/* ---- Stat rows ---- */
.nw-stats { display:grid; gap:2rem; grid-template-columns:repeat(4,1fr); }
.nw-stats--3 { grid-template-columns:repeat(3,1fr); }
.nw-stat__num { font-size:clamp(2.2rem,4vw,3rem); font-weight:600; letter-spacing:-.04em; color:var(--nw-navy); line-height:1; }
.nw-tone-navy .nw-stat__num { color:var(--nw-cream); }
.nw-stat__label { margin-top:.6rem; font-size:.9rem; color:var(--nw-graphite); max-width:20ch; line-height:1.4; }
.nw-tone-navy .nw-stat__label { color:var(--nw-steel); }
.nw-statcards { display:grid; gap:1rem; grid-template-columns:repeat(4,1fr); margin-top:2rem; }
.nw-statcard { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:.85rem; padding:1.1rem 1.25rem; }
.nw-statcard .n { font-size:1.5rem; font-weight:600; color:var(--nw-cream); }
.nw-statcard .l { font-size:.8rem; color:var(--nw-steel); margin-top:.25rem; }

/* ---- Price ---- */
.nw-price { font-size:2.75rem; font-weight:600; letter-spacing:-.03em; color:var(--nw-orange-strong); }
.nw-tone-navy .nw-price { color:var(--nw-cream); }
.nw-price small { font-size:1rem; font-weight:500; color:var(--nw-graphite); }
.nw-strike { text-decoration:line-through; color:var(--nw-graphite); font-weight:500; margin-left:.5rem; font-size:1rem; }

/* ---- Tables ---- */
.nw-table { width:100%; border-collapse:collapse; margin-top:1.5rem; background:var(--nw-white); border:1px solid var(--nw-border); border-radius:var(--nw-radius); overflow:hidden; }
.nw-table th,.nw-table td { text-align:left; padding:1rem 1.25rem; border-bottom:1px solid var(--nw-border); }
.nw-table th { font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--nw-graphite); background:#faf8ef; }
.nw-table tr:last-child td { border-bottom:0; }
.nw-table td .p { font-weight:600; color:var(--nw-navy); }
/* Dark card variant when the table sits on a navy section */
.nw-tone-navy .nw-table { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.14); }
.nw-tone-navy .nw-table th { background:rgba(255,255,255,.06); color:var(--nw-steel); }
.nw-tone-navy .nw-table td { color:var(--nw-steel); border-color:rgba(255,255,255,.1); }
.nw-tone-navy .nw-table td .p { color:var(--nw-cream); }

/* Comparison: orange top accent on the NAWRA (left/yes) card */
.nw-compare .nw-card:first-child { border-top:3px solid var(--nw-orange); }

/* ---- Metrics / annotations (DEXA) ---- */
.nw-annot { border-radius:.8rem; padding:1rem 1.25rem; margin-top:.85rem; font-size:.92rem; }
.nw-annot--red { background:rgba(220,80,60,.14); border:1px solid rgba(220,80,60,.35); }
.nw-annot--amber { background:rgba(244,191,129,.16); border:1px solid rgba(244,191,129,.4); }
.nw-annot--green { background:rgba(90,170,110,.14); border:1px solid rgba(90,170,110,.35); }
.nw-tone-navy .nw-annot { color:var(--nw-cream); }

/* ---- Compare ---- */
.nw-compare { display:grid; gap:1.5rem; grid-template-columns:repeat(2,1fr); margin-top:1.5rem; }
.nw-compare .yes li::before { content:"✓ "; color:#3d9a5c; }
.nw-compare .no li::before { content:"– "; color:var(--nw-graphite); }
.nw-compare ul { list-style:none; padding:0; margin:1rem 0 0; display:flex; flex-direction:column; gap:.6rem; }

/* ---- Quote / testimonial ---- */
.nw-quote blockquote { font-size:1.2rem; line-height:1.4; color:var(--nw-navy); margin:0; }
.nw-tone-navy .nw-quote blockquote { color:var(--nw-cream); }
.nw-quote figcaption { margin-top:1rem; font-size:.9rem; color:var(--nw-graphite); }
.nw-tone-navy .nw-quote figcaption { color:var(--nw-steel); }
.nw-pullquote { border-left:4px solid var(--nw-orange); background:rgba(244,191,129,.12); padding:1.25rem 1.5rem; font-style:italic; font-size:1.15rem; border-radius:.4rem; margin-top:1.5rem; }

/* ---- Note / disclaimer ---- */
.nw-note { font-size:.72rem; line-height:1.6; color:var(--nw-graphite); margin-top:1.5rem; }
.nw-note--italic { font-style:italic; }
.nw-imgph { background:linear-gradient(135deg,var(--nw-cloud),var(--nw-lightblue)); border-radius:var(--nw-radius);
  display:flex; align-items:center; justify-content:center; min-height:340px; color:var(--nw-graphite); font-size:.85rem; text-align:center; padding:1rem; }
.nw-highlight { background:rgba(244,191,129,.16); border-radius:.6rem; padding:1.25rem 1.5rem; font-size:1.2rem; font-weight:600; color:var(--nw-navy); margin-top:1.25rem; }

/* ---- FAQ (details/summary accordion) ---- */
.nw-faq { margin-top:1.5rem; border-top:1px solid var(--nw-border); }
.nw-tone-navy .nw-faq { border-color:rgba(255,255,255,.15); }
.nw-faq details { border-bottom:1px solid var(--nw-border); }
.nw-tone-navy .nw-faq details { border-color:rgba(255,255,255,.15); }
.nw-faq summary { list-style:none; cursor:pointer; padding:1.4rem 0; font-weight:600; font-size:1.15rem;
  letter-spacing:-.02em; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; color:inherit; transition:color .15s; }
.nw-faq summary::-webkit-details-marker { display:none; }
.nw-faq summary:hover { color:var(--nw-orange-strong); }
.nw-faq summary::after { content:"+"; color:var(--nw-orange-strong); font-weight:400; font-size:1.9rem; line-height:1; transition:transform .2s ease; flex:none; }
.nw-faq details[open] summary::after { transform:rotate(45deg); }
.nw-faq .a { padding:0 3rem 1.4rem 0; color:var(--nw-graphite); line-height:1.7; max-width:60rem; }
.nw-tone-navy .nw-faq .a { color:var(--nw-steel); }

/* ---- Trust strip ---- */
.nw-trust { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.75rem 2rem; }
.nw-trust span { font-size:.9rem; font-weight:600; color:var(--nw-graphite); }

/* ---- Lead form / GHL slot ---- */
.nw-form { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); border-radius:var(--nw-radius); padding:2rem; }
.nw-tone-cream .nw-form,.nw-tone-white .nw-form,.nw-tone-cloud .nw-form { background:var(--nw-white); border-color:var(--nw-border); }
.nw-form h3 { color:var(--nw-cream); }
.nw-tone-cream .nw-form h3,.nw-tone-white .nw-form h3,.nw-tone-cloud .nw-form h3 { color:var(--nw-navy); }
.nw-form .sub { font-size:.9rem; margin:.5rem 0 1rem; color:var(--nw-steel); }
.nw-tone-cream .nw-form .sub,.nw-tone-white .nw-form .sub,.nw-tone-cloud .nw-form .sub { color:var(--nw-graphite); }
.nw-form .wpcf7-form-control-wrap { display:block; }
.nw-form input[type=text],.nw-form input[type=email],.nw-form input[type=tel],.nw-form textarea {
  width:100%; border-radius:.75rem; padding:.8rem 1rem; font-size:1rem; margin-bottom:.6rem;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); color:var(--nw-cream); }
.nw-tone-cream .nw-form input,.nw-tone-white .nw-form input,.nw-tone-cloud .nw-form input,
.nw-tone-cream .nw-form textarea,.nw-tone-white .nw-form textarea,.nw-tone-cloud .nw-form textarea {
  background:var(--nw-white); border:1px solid var(--nw-border); color:var(--nw-navy); }
.nw-form input::placeholder,.nw-form textarea::placeholder { color:var(--nw-space); }
.nw-form .wpcf7-submit { background:var(--nw-orange); color:#000; border:0; border-radius:9999px;
  padding:.9rem 1.6rem; font-weight:600; cursor:pointer; margin-top:.4rem; }
.nw-form .fine { font-size:.7rem; margin-top:.75rem; color:var(--nw-steel); }
.nw-tone-cream .nw-form .fine,.nw-tone-white .nw-form .fine,.nw-tone-cloud .nw-form .fine { color:var(--nw-graphite); }
.nw-ghl-embed { width:100%; min-height:640px; border:0; border-radius:var(--nw-radius); background:var(--nw-white); }
.nw-ghl-placeholder { border:1px dashed var(--nw-border); border-radius:var(--nw-radius); padding:2rem; text-align:center; background:var(--nw-white); }

/* ---- Locations map: equal-height columns ---- */
.nw-map > .elementor-container { align-items:stretch; }
.nw-map .elementor-column .elementor-widget-html, .nw-map .elementor-widget-html .elementor-widget-container { height:100%; }
.nw-map iframe.nw-ghl-embed { height:100%; min-height:460px; }

/* ---- Hero two-col ---- */
.nw-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:3rem; align-items:center; }
/* Vertically centre the hero's Elementor columns so the copy and form balance */
.nw-hero > .elementor-container { align-items:center; }
.nw-hero .elementor-widget-html h1.nw-display { margin-bottom:.25rem; }

/* ---- Lead / contact form layout (match React: 2-up name/email, tight gaps) ---- */
.nw-form { padding:1.75rem; }
.nw-form-fields { display:flex; flex-direction:column; gap:.6rem; margin-top:.85rem; }
.nw-fgrid { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.nw-form .wpcf7-form-control-wrap { display:block; }
.nw-form input[type=text],.nw-form input[type=email],.nw-form input[type=tel],.nw-form textarea { margin-bottom:0; padding:.72rem 1rem; }
.nw-form textarea { min-height:84px; height:84px; }
.nw-form .wpcf7-form p { margin:0; }
.nw-form .wpcf7-submit { margin-top:.9rem; }
.nw-flabel { font-size:.85rem; font-weight:500; color:var(--nw-graphite); margin-bottom:-.1rem; }
.nw-tone-navy .nw-flabel { color:var(--nw-steel); }
.nw-form .wpcf7-radio { display:flex; flex-wrap:wrap; gap:.5rem; margin:.35rem 0 .1rem; }
.nw-form .wpcf7-list-item { margin:0; }
.nw-form .wpcf7-list-item label { display:inline-flex; align-items:center; border:1px solid var(--nw-border); background:#fff; padding:.5rem 1.05rem; border-radius:9999px; font-size:.88rem; cursor:pointer; transition:.15s; color:var(--nw-navy); }
.nw-form .wpcf7-list-item label:hover { border-color:var(--nw-orange-strong); }
.nw-form .wpcf7-list-item input[type=radio] { position:absolute; opacity:0; width:0; height:0; }
.nw-form .wpcf7-list-item label:has(input:checked) { border-color:var(--nw-navy); background:var(--nw-navy); color:#fff; }
.nw-form .wpcf7-not-valid-tip { font-size:.75rem; color:#e8927a; margin-top:.2rem; }
.nw-form .wpcf7-response-output { margin:.75rem 0 0; padding:.6rem .9rem; border-radius:.5rem; font-size:.85rem; }
@media (max-width:520px){ .nw-fgrid { grid-template-columns:1fr; } }

/* ---- Responsive ---- */
@media (max-width:1024px){
  .nw-hero-grid{ grid-template-columns:1fr; gap:2rem; }
  .nw-grid--3,.nw-grid--4{ grid-template-columns:repeat(2,1fr); }
  .nw-stats,.nw-statcards{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .nw-grid--2,.nw-grid--3,.nw-grid--4,.nw-compare{ grid-template-columns:1fr; }
  .nw-stats,.nw-statcards{ grid-template-columns:repeat(2,1fr); }
  .nw-wrap{ padding-inline:1.15rem; }
}

/* ---- Full-bleed header/footer sections (override Elementor boxed container) ---- */
.nw-chrome { padding-left:0 !important; padding-right:0 !important; }
.nw-chrome > .elementor-container { max-width:100% !important; }
.nw-chrome > .elementor-container > .elementor-column > .elementor-column-wrap,
.nw-chrome > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0 !important; }
.nw-chrome .elementor-widget-html { width:100%; }
.nw-header, .nw-footer { width:100%; }

/* ---- Hero column widths (desktop only; let Elementor stack on mobile) ---- */
@media (min-width:1025px){
  .nw-hero > .elementor-container > .elementor-col-62 { width:62%; }
  .nw-hero > .elementor-container > .elementor-col-38 { width:38%; }
}
/* Safety: any non-preset column stacks below the desktop breakpoint */
@media (max-width:1024px){
  .nw-hero > .elementor-container > .elementor-column { width:100%; }
}

/* ---- Sticky top menu + neutralize Hello Elementor header/footer wrappers ---- */
#masthead { position:sticky; top:0; z-index:999; margin:0; padding:0; background:#fff; box-shadow:0 1px 0 rgba(9,30,39,.06); }
#colophon { margin:0; padding:0; background:var(--nw-navy); text-align:left; }
#masthead .elementor, #colophon .elementor { width:100%; }

/* ---- Header (HTML template) ---- */
.nw-header { position:static; background:#fff; border-bottom:1px solid var(--nw-border); }
.nw-header .bar { max-width:var(--nw-maxw); margin-inline:auto; padding:0 1.5rem; height:74px; display:flex; align-items:center; justify-content:space-between; gap:1.25rem; }
.nw-logo { display:inline-flex; align-items:center; text-decoration:none; }
/* !important + specificity to beat Elementor's `.elementor img{height:auto}` */
.nw-header .nw-logo-img { height:38px !important; width:auto !important; max-width:none !important; display:block; }
.nw-footer .nw-logo-img { height:52px !important; width:auto !important; max-width:none !important; display:block; margin-bottom:1.25rem; }
@media (max-width:1024px){ .nw-header .nw-logo-img { height:34px !important; } }
.nw-nav { display:flex; align-items:center; gap:1.3rem; font-size:.9rem; }
.nw-nav a { color:var(--nw-navy); text-decoration:none; transition:color .2s; white-space:nowrap; }
.nw-nav a:hover { color:var(--nw-orange-strong); }
.nw-nav .has-sub { position:relative; }
.nw-nav .has-sub > .sub { position:absolute; left:50%; transform:translateX(-50%); top:100%; padding-top:.75rem; min-width:230px; opacity:0; visibility:hidden; transition:.15s; }
.nw-nav .has-sub:hover > .sub { opacity:1; visibility:visible; }
.nw-nav .sub-inner { background:#fff; border:1px solid var(--nw-border); border-radius:.85rem; box-shadow:0 12px 30px -14px rgba(9,30,39,.25); padding:.5rem; }
.nw-nav .sub-inner a { display:block; padding:.6rem .9rem; border-radius:.5rem; font-size:.9rem; }
.nw-nav .sub-inner a:hover { background:var(--nw-cloud); }
.nw-header .cta { display:flex; align-items:center; gap:.75rem; }
.nw-burger { display:none; background:none; border:0; cursor:pointer; padding:.4rem; }
.nw-mobile { display:none; border-top:1px solid var(--nw-border); background:#fff; padding:1rem 1.5rem; }
.nw-mobile a { display:block; padding:.55rem 0; color:var(--nw-navy); text-decoration:none; font-weight:500; }
.nw-mobile .sub a { padding-left:1rem; font-weight:400; font-size:.9rem; color:var(--nw-graphite); }
#nw-menu-toggle { display:none; }
#nw-menu-toggle:checked ~ .nw-mobile { display:block; }
@media (max-width:1024px){
  .nw-nav, .nw-header .cta .nw-btn { display:none; }
  .nw-burger { display:block; }
}

/* ---- Footer (HTML template) ---- */
.nw-footer { background:var(--nw-navy); color:var(--nw-steel); }
.nw-footer .in { max-width:var(--nw-maxw); margin-inline:auto; padding:4rem 1.5rem 2rem; }
.nw-footer .cols { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2.5rem; }
.nw-footer h4 { color:var(--nw-cream); font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; margin:0 0 1rem; }
.nw-footer a { color:var(--nw-steel); text-decoration:none; display:block; padding:.28rem 0; }
.nw-footer a:hover { color:var(--nw-cream); }
.nw-footer .brand p { color:var(--nw-steel); line-height:1.6; margin:.5rem 0 0; }
.nw-footer .tag { color:var(--nw-orange); font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; margin-top:.5rem; }
.nw-footer .bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:2.5rem; padding-top:1.5rem; font-size:.72rem; color:var(--nw-space); line-height:1.6; }
@media (max-width:900px){ .nw-footer .cols{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .nw-footer .cols{ grid-template-columns:1fr; } }
