/*
Theme Name: Nemingha Storage
Theme URI: https://www.neminghaselfstorage.com.au/
Author: Tactics Marketing
Author URI: https://tacticsmarketing.com.au/
Description: Block theme for Nemingha Self Storage — secure storage five minutes from the Tamworth CBD. The whole landing page is a block pattern, so every heading, price, photo and section is editable in the block editor. Includes a working enquiry form (Settings → Nemingha Form) that needs no plugin.
Version: 2.1.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nemingha
Tags: full-site-editing, block-patterns, one-column, custom-colors, custom-menu, editor-style, wide-blocks
*/

/* ==========================================================================
   Nemingha Storage — presentation layer for the landing-page blocks.
   Colours, fonts and spacing come from theme.json; this file only carries
   the section treatments that block supports cannot express.
   ========================================================================== */

:root {
  --nss-green: #0a3b23;
  --nss-green-2: #0f4b2c;
  --nss-lime: #6d9a10;
  --nss-lime-dark: #4b750e;
  --nss-lime-soft: #a8c96a;
  --nss-ink: #17251c;
  --nss-muted: #3a463d;
  --nss-line: #e3e6e1;
  --nss-cond: "Barlow Condensed", "Arial Narrow", sans-serif;
  --nss-max: 1440px;
}

body { margin: 0; }

/* Width limit. Every band keeps its background full-bleed, but its content
   stops at --nss-max and lines up on the same left edge as the header. */
.nss-header,
.nss-hero,
.nss-features,
.nss-units,
.nss-two,
.nss-enquire,
.nss-footer {
  padding-inline: max(32px, calc((100% - var(--nss-max)) / 2 + 32px)) !important;
}

/* anchor links glide instead of jumping */
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- header ---------- */
.nss-header {
  padding: 14px 32px !important;
  border-bottom: 1px solid var(--nss-line);
  align-items: center;
  gap: 28px;
}
.nss-header .wp-block-site-logo img { width: 64px; height: auto; }
.nss-header .nss-logo { margin: 0; flex: 0 0 auto; }
.nss-header .nss-logo img { width: 64px; height: 64px; object-fit: contain; display: block; }
.nss-brand { margin-right: auto !important; gap: 0 !important; flex: 0 0 auto; }
.nss-header > .wp-block-navigation { margin-left: auto; }
.nss-brand p { margin: 0; font-family: var(--nss-cond); font-weight: 700; font-size: 30px; line-height: .95; }
.nss-brand p.a { color: var(--nss-green); }
.nss-brand p.b { color: var(--nss-lime); }

.nss-nav { font-family: var(--nss-cond); font-weight: 600; font-size: 18px; letter-spacing: .06em; text-transform: uppercase; }
.nss-nav a { color: var(--nss-green); text-decoration: none; }
.nss-nav a:hover { color: var(--nss-lime); }
.nss-nav .wp-block-navigation__container { gap: 30px; }

.nss-telwrap .wp-block-button__link,
.nss-tel .wp-block-button__link {
  background: var(--nss-green); color: #fff; border-radius: 8px; padding: 12px 20px;
  font-family: var(--nss-cond); font-weight: 700; font-size: 22px; letter-spacing: .02em; white-space: nowrap;
}
.nss-telwrap .wp-block-button__link:hover { background: #12522f; color: #fff; }

/* ---------- hero ---------- */
.nss-hero { padding: 0 !important; }
.nss-hero-cols { gap: 0 !important; margin-bottom: 0 !important; align-items: stretch; }
.nss-hero-copy { padding: 44px 40px 40px 0; display: flex; flex-direction: column; justify-content: center; }
.nss-l1 { font-family: var(--nss-cond); font-weight: 700; font-size: 82px; line-height: .86; color: var(--nss-green); margin: 0 !important; }
.nss-l1 strong, .nss-l2 { display: block; font-weight: 700; font-size: 112px; line-height: .86; color: var(--nss-lime); }
.nss-l2 { font-family: var(--nss-cond); margin: 0 !important; }
.nss-sub-a, .nss-sub-b { font-family: var(--nss-cond); font-weight: 700; font-size: 38px; line-height: 1.02; margin: 0 !important; }
.nss-sub-a { color: var(--nss-green); margin-top: 10px !important; }
.nss-sub-b { color: var(--nss-lime); }
.nss-lede { font-size: 19px; color: #26332a; max-width: 40ch; margin: 16px 0 0 !important; }

.nss-price-tag {
  margin: 24px 0 0 !important; align-self: flex-start; align-items: center; gap: 0 !important;
  border: 3px solid var(--nss-lime); border-radius: 12px; overflow: hidden; padding: 0 !important;
}
.nss-price-tag .nss-tagicon { background: var(--nss-lime); padding: 16px 18px; display: flex; line-height: 0; }
.nss-price-tag .nss-tagbody { padding: 10px 22px 12px; }
.nss-price-tag .nss-kicker-sm { font-family: var(--nss-cond); font-weight: 700; font-size: 22px; letter-spacing: .06em; color: var(--nss-green); line-height: 1; margin: 0 !important; }
.nss-price-tag .nss-amt { font-family: var(--nss-cond); font-weight: 700; font-size: 52px; color: var(--nss-lime); line-height: 1; margin: 2px 0 0 !important; }
.nss-price-tag .nss-amt small { font-family: var(--nss-cond); font-weight: 700; font-size: 26px; letter-spacing: .06em; color: var(--nss-green); }

.nss-ctas { margin-top: 26px !important; gap: 12px; }
.nss-ctas .wp-block-button__link {
  padding: 15px 28px; border-radius: 8px; font-family: var(--nss-cond); font-weight: 700;
  font-size: 21px; letter-spacing: .06em; text-transform: uppercase;
}
.nss-ctas .wp-block-button:first-child .wp-block-button__link { background: var(--nss-lime); color: #fff; }
.nss-ctas .wp-block-button:first-child .wp-block-button__link:hover { background: #5c840b; }
.nss-ctas .is-style-outline .wp-block-button__link { background: #fff; color: var(--nss-green); border: 2px solid var(--nss-green); }
.nss-ctas .is-style-outline .wp-block-button__link:hover { background: #f1f4ee; }

.nss-hero-media { position: relative; min-height: 520px; padding: 0 !important; }
.nss-hero-media .nss-hero-img { margin: 0; height: 100%; }
.nss-hero-media .nss-hero-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nss-hero-media::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 120px;
  background: linear-gradient(to right, #fff, rgba(255,255,255,0)); pointer-events: none;
}
.nss-badge {
  position: absolute; top: 28px; right: 28px; width: 176px; height: 176px; z-index: 2;
  border-radius: 50%; background: var(--nss-green); border: 4px solid var(--nss-lime);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 0 !important;
}
.nss-badge p { font-family: var(--nss-cond); font-weight: 700; font-size: 26px; line-height: .95; color: #fff; text-align: center; margin: 0 !important; }
.nss-badge .nss-svg { line-height: 0; }

/* ---------- features ---------- */
.nss-features { gap: 0 !important; margin-bottom: 0 !important; border-top: 1px solid var(--nss-line); border-bottom: 1px solid var(--nss-line); }
.nss-features > .wp-block-column { padding: 22px 26px; border-right: 1px solid var(--nss-line); display: flex; gap: 14px; align-items: flex-start; }
.nss-features > .wp-block-column:last-child { border-right: none; padding-right: 0; }
.nss-features > .wp-block-column:first-child { padding-left: 0; }
.nss-features .nss-dot {
  flex: 0 0 auto; width: 52px; height: 52px; border-radius: 50%; background: var(--nss-green);
  display: flex; align-items: center; justify-content: center; color: #fff; line-height: 0;
}
.nss-features h3 { font-family: var(--nss-cond); font-weight: 700; font-size: 22px; letter-spacing: .04em; color: var(--nss-green); line-height: 1.1; margin: 0 !important; }
.nss-features p { font-size: 15px; line-height: 1.35; color: var(--nss-muted); margin: 2px 0 0 !important; }

/* ---------- units ---------- */
.nss-units { background: var(--nss-green); padding: 30px 32px 40px !important; }
.nss-units .nss-rule {
  font-family: var(--nss-cond); font-weight: 700; font-size: 42px; letter-spacing: .06em;
  color: #fff; margin: 0 0 24px !important;
  display: flex; align-items: center; gap: 18px; text-align: center;
}
.nss-units .nss-rule::before, .nss-units .nss-rule::after {
  content: ""; flex: 1 1 0; min-width: 0; height: 1px; background: var(--nss-lime);
}

.nss-unitgrid { gap: 18px !important; margin-bottom: 0 !important; flex-wrap: wrap !important; }
.nss-unit {
  position: relative; background: #f9f9f8; border-radius: 10px; overflow: hidden;
  display: flex; flex-direction: column; box-shadow: 0 2px 8px rgba(0,0,0,.25); cursor: pointer; padding: 0 !important;
}
.nss-unit::after { content: ""; position: absolute; inset: 0; border: 3px solid transparent; border-radius: 10px; pointer-events: none; }
.nss-unit.is-selected::after { border-color: var(--nss-lime-soft); }
.nss-unit .nss-unit-top { display: flex; gap: 12px; padding: 12px; gap: 12px !important; }
.nss-unit figure { margin: 0; flex: 0 0 auto; }
.nss-unit figure img { width: 104px; height: 140px; object-fit: cover; border: 1px solid #d8dcd6; display: block; }
.nss-unit .nss-dim { font-family: var(--nss-cond); font-weight: 700; font-size: 25px; line-height: 1; color: var(--nss-ink); margin: 0 !important; }
.nss-unit h3.nss-dim { font-size: 25px; }
.nss-unit .nss-area { font-size: 14px; color: #5c6a5f; margin: 0 !important; }
.nss-unit .nss-desc { font-size: 14.5px; line-height: 1.32; color: #26332a; margin: 8px 0 0 !important; }
.nss-unit .nss-bar {
  margin-top: auto; background: var(--nss-lime-dark); color: #fff; padding: 10px 14px;
  font-family: var(--nss-cond); font-weight: 700; letter-spacing: .05em; font-size: 18px;
}
.nss-unit .nss-bar strong { font-size: 30px; font-weight: 700; }

.nss-selbar {
  margin-top: 22px !important; background: var(--nss-green-2); border: 2px solid var(--nss-lime);
  border-radius: 12px; padding: 18px 22px !important; align-items: center; gap: 26px; flex-wrap: wrap;
}
.nss-selbar .nss-k { font-family: var(--nss-cond); font-weight: 600; font-size: 16px; letter-spacing: .16em; color: var(--nss-lime-soft); margin: 0 !important; }
.nss-selbar .nss-t { font-family: var(--nss-cond); font-weight: 700; font-size: 34px; color: #fff; line-height: 1.05; margin: 0 !important; }
.nss-selbar .nss-fits { flex: 1; min-width: 260px; color: #dfe8d5; font-size: 16px; margin: 0 !important; }
.nss-selbar .nss-p { font-family: var(--nss-cond); font-weight: 700; font-size: 34px; color: #fff; line-height: 1; margin: 0 !important; }
.nss-selbar .nss-p small { font-size: 18px; letter-spacing: .05em; }
.nss-selbar .nss-w { font-size: 15px; color: var(--nss-lime-soft); margin: 0 !important; }
.nss-selbar .wp-block-button__link { background: var(--nss-lime); color: #fff; border-radius: 8px; padding: 14px 26px; font-family: var(--nss-cond); font-weight: 700; font-size: 21px; letter-spacing: .06em; }
.nss-selbar .wp-block-button__link:hover { background: #7fae16; }

/* ---------- business ---------- */
.nss-two { padding: 44px 32px !important; }
.nss-two .wp-block-columns { gap: 44px; margin-bottom: 0 !important; }
.nss-kicker { font-family: var(--nss-cond); font-weight: 600; font-size: 17px; letter-spacing: .18em; color: var(--nss-lime); margin: 0 !important; }
.nss-h2 { font-family: var(--nss-cond); font-weight: 700; font-size: 46px; line-height: 1; color: var(--nss-green); margin: 6px 0 12px !important; }
.nss-body { font-size: 17px; color: #26332a; max-width: 48ch; margin: 0 0 16px !important; }
.nss-checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.nss-checklist li { font-size: 16.5px; color: #26332a; padding-left: 30px; position: relative; }
.nss-checklist li::before {
  content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 9px;
  border-left: 3px solid var(--nss-lime); border-bottom: 3px solid var(--nss-lime); transform: rotate(-45deg);
}

.nss-pricetable { border: 1px solid #d8dcd6; border-radius: 12px; overflow: hidden; margin: 0 !important; }
.nss-pricetable table { border-collapse: collapse; width: 100%; }
.nss-pricetable thead { background: var(--nss-green); color: #fff; }
.nss-pricetable th { font-family: var(--nss-cond); font-weight: 700; font-size: 17px; letter-spacing: .12em; text-align: left; padding: 12px 18px; border: 0; }
.nss-pricetable td { padding: 13px 18px; border: 0; border-bottom: 1px solid #ebeee9; font-size: 16px; }
.nss-pricetable tbody tr td:first-child { font-family: var(--nss-cond); font-weight: 700; font-size: 21px; }
.nss-pricetable tbody tr td:nth-child(2) { color: #5c6a5f; }
.nss-pricetable tbody tr td:nth-child(3) { font-weight: 600; }
.nss-pricetable tbody tr td:nth-child(4) { color: var(--nss-lime-dark); font-weight: 600; }
.nss-pricetable figcaption { padding: 12px 18px; font-size: 14.5px; color: #5c6a5f; text-align: left; margin: 0; }

/* ---------- enquiry ---------- */
.nss-enquire { background: var(--nss-green); color: #fff; padding: 44px 32px !important; }
.nss-enquire .wp-block-columns { gap: 52px; margin-bottom: 0 !important; }
.nss-enquire .nss-h2 { color: #fff; font-size: 52px; line-height: .98; margin: 0 0 12px !important; }
.nss-enquire .nss-lede { color: #cfdcc4; font-size: 17px; max-width: 38ch; margin: 0 0 26px !important; }
.nss-enquire .nss-k { font-family: var(--nss-cond); font-weight: 600; font-size: 15px; letter-spacing: .18em; color: var(--nss-lime-soft); margin: 0 !important; }
.nss-enquire .nss-tel-big { font-family: var(--nss-cond); font-weight: 700; font-size: 38px; line-height: 1.05; margin: 0 !important; }
.nss-enquire .nss-tel-big a { color: #fff; text-decoration: none; }
.nss-enquire .nss-small { font-size: 15.5px; color: #cfdcc4; margin: 0 !important; }
.nss-enquire .nss-line { font-size: 17px; color: #fff; margin: 0 !important; }
.nss-contact-stack { gap: 18px !important; }

.nss-formcard { background: #fff; border-radius: 12px; padding: 26px !important; }
.nss-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nss-form .nss-field-full { grid-column: span 2; }
.nss-form label { display: block; font-family: var(--nss-cond); font-weight: 600; font-size: 16px; letter-spacing: .1em; color: var(--nss-muted); }
.nss-form input, .nss-form select, .nss-form textarea {
  width: 100%; margin-top: 5px; padding: 11px 12px; font-size: 16px; font-family: inherit;
  border: 1px solid #cfd5cb; border-radius: 6px; background: #fbfbfa; color: var(--nss-ink);
}
.nss-form textarea { min-height: 96px; resize: vertical; }
.nss-form button {
  grid-column: span 2; background: var(--nss-lime); color: #fff; border: 0; border-radius: 8px; padding: 15px;
  font-family: var(--nss-cond); font-weight: 700; font-size: 23px; letter-spacing: .08em; cursor: pointer;
}
.nss-form button:hover { background: #5c840b; }
.nss-form-notice { grid-column: span 2; padding: 12px 14px; border-radius: 6px; font-size: 16px; }
.nss-form-notice.is-ok { background: #eef5e2; color: #33520a; border: 1px solid var(--nss-lime); }
.nss-form-notice.is-err { background: #fdecec; color: #8a1f1f; border: 1px solid #e0a3a3; }
.nss-hp { position: absolute; left: -9999px; }

/* plugin forms (Contact Form 7 etc.) inherit the same look */
.nss-formcard .wpcf7 input[type="text"], .nss-formcard .wpcf7 input[type="email"],
.nss-formcard .wpcf7 input[type="tel"], .nss-formcard .wpcf7 select, .nss-formcard .wpcf7 textarea,
.nss-formcard .wpforms-field input, .nss-formcard .wpforms-field select, .nss-formcard .wpforms-field textarea {
  width: 100%; padding: 11px 12px; font-size: 16px; font-family: inherit;
  border: 1px solid #cfd5cb; border-radius: 6px; background: #fbfbfa; color: var(--nss-ink);
}
.nss-formcard label { font-family: var(--nss-cond); font-weight: 600; font-size: 16px; letter-spacing: .1em; color: var(--nss-muted); }
.nss-formcard input[type="submit"], .nss-formcard .wpforms-submit {
  background: var(--nss-lime); color: #fff; border: 0; border-radius: 8px; padding: 15px 26px;
  font-family: var(--nss-cond); font-weight: 700; font-size: 23px; letter-spacing: .08em; cursor: pointer;
}

/* ---------- footer ---------- */
.nss-footer { background: var(--nss-lime-dark); padding: 16px 32px !important; align-items: center; gap: 24px; }
.nss-footer .nss-claim { font-family: var(--nss-cond); font-weight: 700; font-size: 26px; letter-spacing: .05em; color: var(--nss-green); margin: 0 !important; }
.nss-footer .nss-flinks { margin-left: auto; gap: 16px; font-family: var(--nss-cond); font-weight: 700; font-size: 22px; }
.nss-footer .nss-flinks p { margin: 0 !important; }
.nss-footer a { color: #fff; text-decoration: none; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .nss-l1 { font-size: 64px; }
  .nss-l1 strong, .nss-l2 { font-size: 88px; }
  .nss-unitgrid > .wp-block-column { flex-basis: calc(33.333% - 12px) !important; flex-grow: 0; }
}
@media (max-width: 1024px) {
  .nss-header { gap: 16px; }
  .nss-nav { order: 3; flex-basis: 100%; }
  .nss-hero-cols, .nss-two .wp-block-columns, .nss-enquire .wp-block-columns { flex-wrap: wrap !important; }
  .nss-hero-cols > .wp-block-column, .nss-two .wp-block-column, .nss-enquire .wp-block-column { flex-basis: 100% !important; }
  .nss-hero-media { min-height: 380px; }
  .nss-features > .wp-block-column { flex-basis: calc(50% - 1px) !important; border-right: none; border-bottom: 1px solid var(--nss-line); }
  .nss-selbar { flex-direction: column; align-items: flex-start; gap: 14px; }
}
@media (max-width: 782px) {
  .nss-header, .nss-hero, .nss-features, .nss-units, .nss-two, .nss-enquire, .nss-footer {
    padding-left: 20px !important; padding-right: 20px !important;
  }
  .nss-hero-copy { padding: 32px 0 32px 0 !important; }
  .nss-features > .wp-block-column { padding-left: 0 !important; padding-right: 0 !important; }
  .nss-unitgrid > .wp-block-column { flex-basis: calc(50% - 9px) !important; }
  .nss-features > .wp-block-column { flex-basis: 100% !important; }
  .nss-l1 { font-size: 48px; }
  .nss-l1 strong, .nss-l2 { font-size: 66px; }
  .nss-sub-a, .nss-sub-b { font-size: 27px; }
  .nss-h2, .nss-enquire .nss-h2 { font-size: 34px; }
  .nss-form { grid-template-columns: 1fr; }
  .nss-form .nss-field-full, .nss-form button, .nss-form-notice { grid-column: span 1; }
  .nss-footer { flex-direction: column; align-items: flex-start; gap: 10px; }
  .nss-footer .nss-claim { font-size: 20px; }
  .nss-footer .nss-flinks { margin-left: 0; }
  .nss-pricetable th, .nss-pricetable td { padding: 10px 12px; font-size: 14px; }
}
@media (max-width: 520px) {
  .nss-unitgrid > .wp-block-column { flex-basis: 100% !important; }
  .nss-brand p { font-size: 22px; }
  .nss-l1 { font-size: 38px; }
  .nss-l1 strong, .nss-l2 { font-size: 52px; }
  .nss-badge { width: 116px; height: 116px; }
  .nss-badge p { font-size: 17px; }
  .nss-units .nss-rule { font-size: 30px; gap: 12px; }
}


/* ---------- icons ----------
   Drawn from the section itself with background images, so they survive any
   HTML filtering and do not depend on markup inside the blocks.            */

.nss-features > .wp-block-column::before {
  content: "";
  flex: 0 0 auto;
  width: 52px; height: 52px;
  border-radius: 50%;
  background-color: var(--nss-green);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 26px 26px;
}
.nss-features > .wp-block-column:nth-child(1)::before { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E"); }
.nss-features > .wp-block-column:nth-child(2)::before { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 3 7v10l9 5 9-5V7Z'/%3E%3Cpath d='m3 7 9 5 9-5M12 12v10'/%3E%3C/svg%3E"); }
.nss-features > .wp-block-column:nth-child(3)::before { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E"); }
.nss-features > .wp-block-column:nth-child(4)::before { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }

/* legacy dot markup from earlier versions of the page — hidden, the pseudo above replaces it */
.nss-features .nss-dot { display: none !important; }

.nss-price-tag .nss-tagicon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.6 12 22.2a2 2 0 0 1-2.8 0l-7.4-7.4a2 2 0 0 1-.6-1.4V4a2 2 0 0 1 2-2h9.4a2 2 0 0 1 1.4.6l6.6 6.6a2 2 0 0 1 0 2.8Z'/%3E%3Ccircle cx='7' cy='7' r='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 34px 34px;
  width: 70px; align-self: stretch;
}
.nss-price-tag .nss-tagicon > span,
.nss-price-tag .nss-tagicon svg { display: none; }

.nss-badge .nss-svg {
  width: 34px; height: 34px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.nss-badge .nss-svg svg { display: none; }


/* ---------- content subpages ---------- */
.nss-page-head {
  border-bottom: 1px solid var(--nss-line);
  padding-block: 40px 28px;
  padding-inline: max(32px, calc((100% - var(--nss-max)) / 2 + 32px));
}
.nss-page-title {
  font-family: var(--nss-cond); font-weight: 700; font-size: 58px; line-height: 1;
  color: var(--nss-green); margin: 0; max-width: 22ch;
}

.nss-prose { padding-block: 40px 48px !important; }
.nss-prose > * { max-width: 70ch; }
.nss-prose > .wp-block-columns,
.nss-prose > .nss-pricetable,
.nss-prose > .wp-block-table { max-width: none; }
.nss-prose h2.nss-h2 { font-size: 38px; margin: 34px 0 10px !important; }
.nss-prose h3 { font-family: var(--nss-cond); font-weight: 700; font-size: 26px; color: var(--nss-green); margin: 22px 0 6px; }
.nss-prose p { font-size: 17px; line-height: 1.6; margin: 0 0 14px; }
.nss-prose .nss-lede { font-size: 21px; line-height: 1.5; color: var(--nss-muted); }
.nss-prose .nss-checklist { margin: 0 0 14px; }
.nss-prose .wp-block-columns { gap: 44px; }

/* FAQ accordions */
.nss-faqs { max-width: 70ch; }
.nss-faqs .wp-block-details {
  border-bottom: 1px solid var(--nss-line); padding: 14px 0;
}
.nss-faqs .wp-block-details summary {
  font-family: var(--nss-cond); font-weight: 700; font-size: 24px; color: var(--nss-green);
  cursor: pointer; list-style: none; position: relative; padding-right: 32px;
}
.nss-faqs .wp-block-details summary::-webkit-details-marker { display: none; }
.nss-faqs .wp-block-details summary::after {
  content: ""; position: absolute; right: 6px; top: 8px; width: 10px; height: 10px;
  border-right: 2px solid var(--nss-lime); border-bottom: 2px solid var(--nss-lime);
  transform: rotate(45deg); transition: transform .18s ease;
}
.nss-faqs .wp-block-details[open] summary::after { transform: rotate(-135deg); top: 12px; }
.nss-faqs .wp-block-details p { margin: 10px 0 4px; font-size: 17px; line-height: 1.6; }

/* closing call to action on subpages */
.nss-cta {
  background: var(--nss-green); color: #fff;
  padding-block: 40px !important;
  padding-inline: max(32px, calc((100% - var(--nss-max)) / 2 + 32px)) !important;
}
.nss-cta .nss-h2 { color: #fff; margin: 0 0 8px !important; }
.nss-cta .nss-lede { color: #cfdcc4; max-width: 52ch; margin: 0 0 20px !important; font-size: 18px; }
.nss-cta .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border: 2px solid var(--nss-lime-soft); }
.nss-cta .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.1); }

@media (max-width: 782px) {
  .nss-page-head, .nss-cta { padding-inline: 20px !important; }
  .nss-page-title { font-size: 34px; }
  .nss-prose h2.nss-h2 { font-size: 28px; }
  .nss-faqs .wp-block-details summary { font-size: 20px; }
}
