/* =========================================================
   MERGED SITE.CSS  —  DS HOME INSPECTION + NHIE PREP COURSE
   ---------------------------------------------------------
   This file is a SAFE CONCATENATION of two conflict-free
   stylesheet systems. Nothing was renamed or removed.

   BLOCK A — DS Home Inspection master stylesheet
     Prefixes : .nci-  .wsr-  .fthb-  .pom-  .nac-
     Vars     : --wsr-*  --fthb-*  --pom-*  --nac-*
     Contains the single shared @import (Montserrat + Fraunces
     + Plus Jakarta Sans + Manrope) at the very top.

   BLOCK B — NHIE Prep Course
     Prefix   : .nhie-
     Vars     : --nhie-*
     Intentionally has NO @import — it reuses Fraunces + Manrope
     from BLOCK A above (so the import is never duplicated).

   ORDER NOTE: @import MUST be the first rule in the file per the
   CSS spec, so BLOCK A is placed first. BLOCK B is appended after.
   The two prefix/variable namespaces are disjoint — zero
   selector, variable, or @import collisions.

   >> Append this ENTIRE file to site.css (replacing the two
      separate blocks). Locked Webware wrappers (is-section,
      is-box, grid-x, grid-padding-x, etc.) are never targeted.
   ========================================================= */


/* #########################################################
   #                                                       #
   #   BLOCK A — DS HOME INSPECTION (ALL PAGES 1–5)        #
   #                                                       #
   ######################################################### */

/* =========================================================
   DS HOME INSPECTION — MASTER STYLESHEET (ALL PAGES)
   Append this ENTIRE block to site.css (one time).
   Covers every converted landing page:
     .nci-*  -> New Construction Inspection page
     .wsr-*  -> Well, Septic & Residential Package page
     .fthb-* -> First-Time Home Buyer Bundle page
   Every selector is scoped to its page prefix / namespaced
   CSS variables. No locked Webware wrapper classes
   (is-section, is-box, grid-x, grid-padding-x, etc.) are
   targeted or overridden anywhere below.
   Fonts for all pages are imported once at the top.
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Manrope:wght@300..800&display=swap');


/* =========================================================
   PAGE 1 - NEW CONSTRUCTION INSPECTION  (.nci-*)
   ========================================================= */

.nci-hero,
.nci-hero *,
.nci-intro,
.nci-intro *,
.nci-bundle-wrap,
.nci-bundle-wrap *,
.nci-details-header,
.nci-details-header *,
.nci-service-block,
.nci-service-block *,
.nci-foundation-spotlight,
.nci-foundation-spotlight *,
.nci-final-cta,
.nci-final-cta * {
    font-family: 'Montserrat', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: border-box;
}

.nci-hero,
.nci-intro,
.nci-bundle-wrap,
.nci-details-header,
.nci-service-block,
.nci-foundation-spotlight,
.nci-final-cta {
    color: #3a3a4e;
    line-height: 1.6;
}

/* ---------- HERO ---------- */
.nci-hero {
    position: relative;
    padding: 70px 0 80px;
    color: #ffffff;
    isolation: isolate;
}

/* Full-bleed gradient + orange radial accent, escapes the 1200px container */
.nci-hero::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    background:
        radial-gradient(circle 283px at calc(100% - 100px) 100px, rgba(244,151,32,0.15), transparent 70%),
        linear-gradient(135deg, #35358d 0%, #2a2a72 100%);
    z-index: -1;
    pointer-events: none;
}

.nci-hero-inner {
    max-width: 820px;
    position: relative;
}

.nci-hero .nci-eyebrow {
    display: inline-block;
    background: #f49720;
    color: #fff;
    padding: 8px 18px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 22px;
}

.nci-hero-title {
    font-size: 48px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 22px;
    letter-spacing: -0.8px;
    color: #ffffff;
}

.nci-hero-lead {
    font-size: 19px;
    line-height: 1.55;
    color: rgba(255,255,255,0.92);
    max-width: 680px;
    margin: 0;
}

/* ---------- SHARED ---------- */
.nci-section-title {
    color: #35358d;
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 18px;
    letter-spacing: -0.4px;
}
.nci-eyebrow {
    display: inline-block;
    background: #f49720;
    color: #fff;
    padding: 8px 18px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 22px;
}

/* ---------- INTRO ---------- */
.nci-intro p {
    font-size: 17px;
    margin-bottom: 18px;
    max-width: 880px;
    color: #3a3a4e;
    line-height: 1.6;
}
.nci-intro strong { color: #1a1a2e; }
.nci-pull-quote {
    background: #f7f8fc;
    border-left: 4px solid #f49720;
    padding: 22px 28px;
    margin: 30px 0;
    font-size: 19px;
    font-weight: 600;
    color: #35358d;
    border-radius: 0 8px 8px 0;
}

/* ---------- BUNDLE SECTION ---------- */
.is-wrapper>div.nci-bundle-section{ background: #f7f8fc; }
.nci-bundle-card {
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(53,53,141,0.12);
    border: 2px solid #f49720;
}
.nci-bundle-header {
    background: linear-gradient(135deg, #f49720 0%, #e07d00 100%);
    color: #fff;
    padding: 38px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}
.nci-badge {
    display: inline-block;
    background: #ffffff;
    color: #35358d;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 12px;
}
.nci-bundle-title {
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 8px;
    letter-spacing: -0.5px;
    color: #fff;
}
.nci-bundle-sub {
    font-size: 16px;
    opacity: 0.95;
}
.nci-bundle-price { text-align: right; }
.nci-price-label {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    opacity: 0.9;
    display: block;
    margin-bottom: 4px;
}
.nci-price-amount {
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -1.5px;
}
.nci-price-strike {
    font-size: 18px;
    text-decoration: line-through;
    opacity: 0.7;
    margin-bottom: 4px;
}
.nci-price-note {
    font-size: 13px;
    opacity: 0.9;
    margin-top: 6px;
    font-weight: 500;
}

.nci-bundle-body { padding: 40px 48px 48px; }

.nci-savings-banner {
    background: #35358d;
    color: #fff;
    padding: 18px 24px;
    border-radius: 10px;
    margin-bottom: 36px;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.nci-savings-icon {
    width: 44px;
    height: 44px;
    background: #f49720;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 22px;
    flex-shrink: 0;
}
.nci-savings-text { flex-grow: 1; }
.nci-savings-text strong {
    font-size: 19px;
    display: block;
    margin-bottom: 2px;
}
.nci-savings-text span {
    font-size: 14px;
    opacity: 0.85;
}

/* ---------- PHASES ---------- */
.nci-phases-title {
    font-size: 22px;
    font-weight: 800;
    color: #35358d;
    margin-bottom: 24px;
    letter-spacing: -0.3px;
}
.nci-phases { margin-bottom: 32px; }
.nci-phase-cell { margin-bottom: 20px; }
.nci-phase-card {
    background: #f7f8fc;
    border-radius: 14px;
    padding: 26px 24px;
    position: relative;
    border-top: 4px solid #f49720;
    height: 100%;
}
.nci-phase-num {
    position: absolute;
    top: -18px;
    left: 24px;
    width: 36px;
    height: 36px;
    background: #35358d;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 16px;
}
.nci-phase-name {
    color: #35358d;
    font-size: 17px;
    font-weight: 800;
    margin: 8px 0 14px;
    letter-spacing: -0.2px;
}
.nci-phase-list {
    list-style: none;
    padding: 0;
    margin: 0 0 14px 0;
    font-size: 14px;
}
.nci-phase-list li {
    padding: 5px 0 5px 22px;
    position: relative;
    line-height: 1.45;
}
.nci-phase-list li::before {
    content: '\2713';
    color: #f49720;
    font-weight: 800;
    position: absolute;
    left: 0;
    top: 4px;
}
.nci-phase-payment {
    padding-top: 14px;
    border-top: 1px solid #e4e6f0;
    font-size: 14px;
    color: #6b6b80;
}
.nci-phase-payment strong {
    color: #35358d;
    font-weight: 800;
    font-size: 17px;
}

/* ---------- VALUE BREAKDOWN ---------- */
.nci-value-breakdown {
    background: #f7f8fc;
    border-radius: 14px;
    padding: 28px 32px;
    margin-bottom: 32px;
}
.nci-value-title {
    font-size: 18px;
    font-weight: 800;
    color: #35358d;
    margin-bottom: 16px;
}
.nci-value-table {
    width: 100%;
    border-collapse: collapse;
}
.nci-value-table td {
    padding: 11px 0;
    border-bottom: 1px solid #e4e6f0;
    font-size: 15px;
}
.nci-value-table td:last-child {
    text-align: right;
    font-weight: 700;
    color: #1a1a2e;
}
.nci-value-table tr:last-child td { border-bottom: none; }
.nci-value-subtotal td {
    padding-top: 14px;
    font-size: 16px;
    color: #6b6b80;
}
.nci-value-bundle td {
    padding-top: 14px;
    border-top: 2px solid #35358d;
    font-weight: 800;
    color: #35358d;
    font-size: 18px;
}
.nci-value-savings td {
    color: #e07d00;
    font-weight: 800;
    font-size: 16px;
}
.nci-value-footnote {
    margin-top: 16px;
    font-size: 13px;
    color: #6b6b80;
    font-style: italic;
}

/* ---------- BUTTONS ---------- */
.nci-cta-row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
.nci-cta-row-centered { justify-content: center; }
.nci-btn {
    display: inline-block;
    padding: 16px 32px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: transform 0.15s, box-shadow 0.15s;
}
.nci-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
.nci-btn-primary {
    background: #35358d;
    color: #fff;
}
.nci-btn-primary:hover { color: #fff; }
.nci-btn-secondary {
    background: #fff;
    color: #35358d;
    border: 2px solid #35358d;
}
.nci-btn-secondary:hover { color: #35358d; }

/* ---------- DETAILS / SERVICE BLOCKS ---------- */
.nci-subhead {
    color: #6b6b80;
    font-size: 17px;
    margin-bottom: 40px;
}
.nci-service-block {
    border: 1px solid #e4e6f0;
    border-radius: 14px;
    padding: 36px 40px;
    margin-bottom: 24px;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.nci-service-block:hover {
    border-color: #f49720;
    box-shadow: 0 6px 24px rgba(53,53,141,0.06);
}
.nci-service-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 10px;
}
.nci-service-title {
    color: #35358d;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.3px;
    margin: 0;
}
.nci-service-price {
    background: #f7f8fc;
    color: #35358d;
    padding: 6px 16px;
    border-radius: 20px;
    font-weight: 800;
    font-size: 15px;
}
.nci-included-tag { color: #e07d00; }
.nci-service-block p {
    margin-bottom: 14px;
    color: #3a3a4e;
    line-height: 1.6;
}
.nci-service-list {
    margin: 16px 0 14px 0;
    padding-left: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 24px;
}
.nci-service-list li {
    padding-left: 22px;
    position: relative;
    font-size: 15px;
}
.nci-service-list li::before {
    content: '\2022';
    color: #f49720;
    font-weight: 800;
    font-size: 20px;
    position: absolute;
    left: 0;
    top: -2px;
}

/* ---------- FOUNDATION SPOTLIGHT ---------- */
.nci-foundation-spotlight {
    background: linear-gradient(135deg, #35358d 0%, #2a2a72 100%);
    color: #fff;
    border-radius: 18px;
    padding: 48px 52px;
    margin: 30px 0;
}
.nci-foundation-spotlight .nci-eyebrow-on-dark {
    background: #f49720;
    margin-bottom: 18px;
}
.nci-foundation-title {
    color: #fff;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 16px;
    letter-spacing: -0.4px;
}
.nci-foundation-spotlight p {
    color: rgba(255,255,255,0.92);
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.6;
}
.nci-key-grid { margin: 24px 0; }
.nci-key-card {
    background: rgba(255,255,255,0.08);
    border-left: 3px solid #f49720;
    padding: 18px 22px;
    border-radius: 6px;
    height: 100%;
}
.nci-key-card strong {
    color: #f49720;
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 6px;
}
.nci-key-card span {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    display: block;
}
.nci-foundation-pricing {
    font-size: 14px;
    color: rgba(255,255,255,0.75) !important;
}
.nci-disclaimer {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    padding: 16px 20px;
    font-size: 13px;
    color: rgba(255,255,255,0.85);
    line-height: 1.5;
}
.nci-disclaimer strong { color: #f49720; }

/* ---------- FINAL CTA ---------- */
.is-wrapper>div.nci-final-cta-section{ background: #f7f8fc; }
.nci-final-cta { text-align: center; }
.nci-final-title {
    color: #35358d;
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 10px;
    letter-spacing: -0.5px;
}
.nci-final-sub {
    font-size: 19px;
    color: #6b6b80;
    margin-bottom: 30px;
}
.nci-final-phone {
    margin-top: 28px;
    font-size: 15px;
}
.nci-phone-link {
    color: #35358d;
    font-weight: 700;
    text-decoration: none;
}
  
/*become a home inspector*/

:root {
    --navy: #1B3A5F;
    --navy-light: #2C4F7A;
    --navy-dark: #122840;
    --orange: #E87722;
    --orange-light: #F49140;
    --orange-dark: #C96318;
    --cream: #F9F7F4;
    --white: #FFFFFF;
    --gray-100: #F4F6F8;
    --gray-200: #E2E6EB;
    --gray-600: #5A6978;
    --success: #22A559;
    --gradient-orange: linear-gradient(135deg, #E87722 0%, #F49140 50%, #E87722 100%);
    --gold: var(--orange);
    --gold-light: var(--orange-light);
    --gold-dark: var(--orange-dark);
    --gradient-gold: var(--gradient-orange);
}

.hero {
    min-height: 100vh;
    background: #1B3A5F !important;
    position: relative !important;
    display: flex !important;
    align-items: center;
    padding: 8rem 2rem 4rem !important;
    overflow: hidden;
}
.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at 20% 50%, rgba(232, 119, 34, 0.15) 0%, transparent 50%), radial-gradient(ellipse at 80% 80%, rgba(232, 119, 34, 0.1) 0%, transparent 40%);
}

.hero-pattern {
       position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url(data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23C9A227' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E) !important;
    opacity: 0.5;
}

.hero-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 4rem;
    align-items: center;
    position: relative;
    z-index: 1; 
}
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(232, 119, 34, 0.15);
    border: 1px solid rgba(232, 119, 34, 0.3);
    padding: 0.5rem 1rem;
    border-radius: 50px;
    color: var(--gold-light);
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
    animation: fadeInUp 0.6s ease both;
}
.hero-badge-dot {
    width: 8px;
    height: 8px;
    background: var(--success);
    border-radius: 50%;
    animation: pulse 2s infinite;
}
.hero h1 {
    font-size: clamp(2.5rem, 5vw, 4rem);
    color: var(--white);
    margin-bottom: 1.5rem;
    animation: fadeInUp 0.6s ease 0.1s both;
        line-height: 1.2;
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}
.hero h1 .highlight {
    color: var(--gold);
    position: relative;
}
.hero-subtitle {
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 2rem;
    max-width: 540px;
    animation: fadeInUp 0.6s ease 0.2s both;
    line-height: 1.7;
    font-family: 'DM Sans', sans-serif;
}
.hero-features {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2.5rem;
    animation: fadeInUp 0.6s ease 0.3s both;
}
.hero-feature {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.05);
    padding: 0.75rem 1.25rem;
    border-radius: 50px;
    color: var(--white);
    font-size: 0.9rem;
}
.hero-feature svg {
    width: 18px;
    height: 18px;
    color: var(--gold);
}
.hero-cta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    animation: fadeInUp 0.6s ease 0.4s both;
    font-family: 'DM Sans', sans-serif;
}
.btn-primary {
    background: var(--gradient-gold);
    color: var(--navy) !important;
    box-shadow: 0 4px 20px rgba(232, 119, 34, 0.4);
}
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.8rem 0.8rem;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px !important;
    transition: all 0.3s ease;
    cursor: pointer !important;
    border: none;
}
.btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--white);
}
.btn-secondary {
    background: transparent;
    color: var(--white) !important;
    border: 2px solid rgba(255, 255, 255, 0.3);
}
.hero-card {
    background: #ffffff !important;
    border-radius: 24px;
    padding: 2.5rem;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.3);
    animation: fadeInRight 0.8s ease 0.3s both;
}
.hero-card-header {
    text-align: center; 
    margin-bottom: 2rem ;
    padding-bottom: 1.5rem ;
    border-bottom: 1px solid var(--gray-200) ;
}
.hero-card-title {
    font-size: 1.5rem;
    color: var(--navy);
    margin-bottom: 0.5rem;
    font-weight: 700;
    line-height: 1.2;
    font-family: 'Playfair Display', serif;
}
.hero-card-subtitle {
    color: var(--gray-600);
    line-height: 1.7;
    font-family: 'DM Sans', sans-serif;
}
.location-tabs {
    display: flex;
    background: var(--gray-100);
    border-radius: 12px;
    padding: 4px;
    margin-bottom: 1.5rem;
        line-height: 1.7;
    font-family: 'DM Sans', sans-serif;
}
.location-tab.active {
    background: var(--navy);
    color: var(--white);
    box-shadow: 0 4px 12px rgba(27, 58, 95, 0.2);
    line-height: 1.7;
    font-family: 'DM Sans', sans-serif;
}
.location-tab {
    flex: 1;
    padding: 0.875rem 1rem;
    text-align: center;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer !important;
    transition: all 0.3s ease;
    text-decoration: none;
    color: var(--gray-600);
      line-height: 1.7;
    font-family: 'DM Sans', sans-serif;
}
.hero-card-details {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.detail-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    background: var(--gray-100);
    border-radius: 12px;
}
.detail-icon {
    width: 40px;
    height: 40px;
    background: var(--navy);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
}
.detail-icon svg {
    width: 20px;
    height: 20px;
}
.detail-text {
    flex: 1;
}
.detail-label {
    font-size: 0.8rem;
    color: var(--gray-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.detail-value {
    font-weight: 600;
    color: var(--navy);
}
.hero-card-cta {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.hero-card-cta .btn {
    width: 100%;
}
.btn-outline {
    background: transparent;
    color: var(--navy);
    border: 2px solid var(--navy);
}
.promo-banner {
    margin-top: 1.25rem;
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.875rem;
    border: 2px dashed rgba(255, 255, 255, 0.3);
}
.promo-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    background: var(--gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.promo-icon svg {
    width: 18px;
    height: 18px;
    color: var(--navy);
}
.promo-text {
    display: flex;
        flex-wrap: nowrap !important;
    white-space: nowrap !important;
    align-items: center;
    gap: 0.35rem;
}
.promo-label {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem;
}
.promo-code {
    background: var(--gold);
    color: var(--navy);
    padding: 0.25rem 0.625rem;
    border-radius: 6px;
    font-weight: 800;
    font-size: 0.95rem;
    letter-spacing: 0.05em;
}
.promo-savings {
    color: var(--gold-light);
    font-weight: 800;
    font-size: 1.1rem;
}
.stats {
    background: var(--white) !important;
    padding: 4rem 2rem !important;
    border-bottom: 1px solid var(--gray-200);
}
.stats-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem;
}
.stat-item {
    text-align: center;
}
.stat-number {
    font-family: 'Playfair Display', serif;
    font-size: 3rem;
    font-weight: 700;
    color: var(--navy);
    line-height: 1;
    margin-bottom: 0.5rem;
}
.stat-number span {
    color: var(--gold);
}
.stat-label {
    color: var(--gray-600);
    font-size: 0.95rem;
}

/*what you learn*/
 body .program
{
    font-family: 'DM Sans', sans-serif;
    background: var(--cream);
    color: var(--navy);
    line-height: 1.7;
    overflow-x: hidden;
        font-weight: 400;
}
h1, h2, h3, h4 .program {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    line-height: 1.2;
}
.program p 
{
    line-height: 1.7;
        font-weight: 400;
}
.program {
    padding: 6rem 2rem !important;
    background: var(--cream) !important;
}
.section-inner {
    max-width: 1200px;
    margin: 0 auto;
}
.section-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 4rem;
}
.section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--gold-dark);
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
}
.section-title {
    font-size: clamp(2rem, 4vw, 2.75rem);
    color: var(--navy);
    margin-bottom: 1rem;
}
.section-subtitle {
    color: var(--gray-600);
    font-size: 1.1rem;
}
.curriculum-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.curriculum-card {
    background: var(--white);
    border-radius: 20px;
    padding: 2rem;
    border: 1px solid var(--gray-200);
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}
.curriculum-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-gold);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.curriculum-icon {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    color: var(--gold);
}
.curriculum-icon svg {
    width: 28px;
    height: 28px;
}
.curriculum-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 0.75rem;
}
.curriculum-desc {
    color: var(--gray-600);
    font-size: 0.95rem;
    line-height: 1.6;
}
    /*training package*/
    .pricing {
    padding: 6rem 2rem !important;
    background: var(--white) !important;
}
.pricing-featured {
    border-color: var(--orange) !important;
    box-shadow: 0 15px 40px rgba(232, 119, 34, 0.2);
    transform: scale(1.02);
}
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
}
.pricing-card {
    background: var(--white);
    border-radius: 24px;
    padding: 2rem;
    position: relative;
    border: 2px solid var(--gray-200);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}
.pricing-header {
    text-align: center;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--gray-200);
    margin-bottom: 1.5rem;
}
.pricing-tier {
    font-family: 'DM Sans', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--gray-600);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.75rem;
}
.pricing-price {
    color: var(--navy);
    margin-bottom: 0.5rem;
}
.pricing-currency {
    font-size: 1.5rem;
    font-weight: 600;
    vertical-align: super;
}
.pricing-amount {
    font-family: 'Playfair Display', serif;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
}
.pricing-desc {
    color: var(--gray-600);
    font-size: 0.95rem;
}
.pricing-body {
    flex: 1;
}
.pricing-section {
    margin-bottom: 1.5rem;
}
.pricing-section-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--gray-600);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.75rem;
}
.pricing-features {
    list-style: none;
}
.pricing-features li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.9rem;
    margin-bottom: 0.6rem;
    line-height: 1.4;
}
.feature-included svg {
    color: var(--success);
}
.pricing-features svg {
    width: 16px;
    height: 16px;
    min-width: 16px;
    margin-top: 2px;
}
.feature-included span {
    color: var(--navy);
}
.feature-excluded svg {
    color: var(--gray-200);
}
.feature-excluded span {
    color: var(--gray-600);
    opacity: 0.6;
}
.pricing-footer {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--gray-200);
}
.pricing-footer .btn {
    width: 100%;
    justify-content: center;
}
.btn-outline-dark {
    background: transparent;
    border: 2px solid var(--navy);
    color: var(--navy);
}
.pricing-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--orange);
    color: var(--white);
    padding: 0.5rem 1.25rem;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}
.pricing-premium {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    border-color: var(--navy);
}
.pricing-badge-premium {
    background: var(--orange);
}
.pricing-premium .pricing-header {
    border-bottom-color: rgba(255, 255, 255, 0.15);
}
.pricing-premium .pricing-tier, .pricing-premium .pricing-price, .pricing-premium .pricing-desc, .pricing-premium .pricing-section-title {
    color: var(--white);
}
.pricing-premium .pricing-tier, .pricing-premium .pricing-price, .pricing-premium .pricing-desc, .pricing-premium .pricing-section-title {
    color: var(--white);
}
.pricing-premium .pricing-desc {
    opacity: 0.8;
}
.pricing-premium .pricing-footer {
    border-top-color: rgba(255, 255, 255, 0.15);
}
.btn-premium {
    background: var(--orange);
    color: var(--white) !important;
    border: none;
}
.pricing-promo {
    max-width: 600px;
    margin: 3rem auto 0;
}
.pricing-premium .pricing-features span {
    color: rgba(255, 255, 255, 0.9);
}

 /*training Locations*/
    .locations {
    padding: 6rem 2rem !important;
    background: var(--navy) !important;
    position: relative !important;
    overflow: hidden;
}
.locations .section-title {
    color: var(--white);
}
.locations .section-subtitle {
    color: rgba(255, 255, 255, 0.7);
}
.locations::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at 30% 20%, rgba(232, 119, 34, 0.1) 0%, transparent 50%), radial-gradient(ellipse at 70% 80%, rgba(232, 119, 34, 0.08) 0%, transparent 40%);
}
.locations-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    position: relative;
    z-index: 1;
}
.location-card {
    background: var(--white);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    transition: all 0.4s ease;
}
.location-header {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    padding: 2rem;
    position: relative;
}
.location-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--gold);
    color: var(--navy);
    padding: 0.4rem 0.875rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}
.location-name {
    font-family: 'Playfair Display', serif;
    font-size: 1.75rem;
    color: var(--white);
    margin-bottom: 0.25rem;
}
.location-area {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.95rem;
}
.location-header::after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 0;
    right: 0;
    height: 40px;
    background: var(--white);
    border-radius: 24px 24px 0 0;
}
.location-body {
    padding: 1.5rem 2rem 2rem;
}
.location-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.location-info-item {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
}
.location-info-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    background: var(--gray-100);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--navy);
}
.location-info-icon svg {
    width: 18px;
    height: 18px;
}
.location-info-text {
    flex: 1;
}
.location-info-label {
    font-size: 0.75rem;
    color: var(--gray-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.2rem;
}
.location-info-value {
    font-weight: 600;
    color: var(--navy);
}
.location-cta {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.location-cta .btn {
    width: 100%;
}
.promo-banner-sm {
    margin-top: 1rem;
    padding: 0.875rem 1rem;
}
/*instructor*/
.instructor {
    padding: 6rem 2rem !important;
    background: var(--white) !important;
}
.instructor-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 4rem;
    align-items: center;
}
.instructor-image {
    position: relative;
}
.instructor-img-wrap {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    aspect-ratio: 4 / 5;
    display: flex;
    align-items: center;
    justify-content: center;
}
.instructor-placeholder {
    text-align: center;
    color: var(--white);
    padding: 2rem;
}
.instructor-placeholder-icon {
    width: 100px;
    height: 100px;
    background: rgba(232, 119, 34, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
}
.instructor-placeholder-icon svg {
    width: 50px;
    height: 50px;
    color: var(--gold);
}
.instructor-badge-float {
    position: absolute;
    bottom: -20px;
    right: -20px;
    background: var(--white);
    border-radius: 16px;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 15px 40px rgba(27, 58, 95, 0.15);
    display: flex;
    align-items: center;
    gap: 1rem;
}
.badge-icon {
    width: 48px;
    height: 48px;
    background: var(--gradient-gold);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--navy);
}
.badge-icon svg {
    width: 24px;
    height: 24px;
}
.badge-text {
    font-weight: 700;
    color: var(--navy);
}
.badge-subtext {
    font-size: 0.85rem;
    color: var(--gray-600);
}
.instructor-content {
    padding-left: 2rem;
}
.instructor-name {
    font-size: 2.25rem;
    color: var(--navy);
    margin-bottom: 0.5rem;
}
.instructor-title {
    color: var(--gold-dark);
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
}
.instructor-bio-full {
    margin-bottom: 2rem;
}
.instructor-bio-full p {
    color: var(--gray-600);
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 1rem;
}
.instructor-credentials {
    margin-top: 2rem;
}
.credentials-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 1.25rem;
}
.credentials-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}
.credential-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    background: var(--gray-100);
    border-radius: 12px;
}
.credential-check {
    width: 24px;
    height: 24px;
    background: var(--success);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
}
.credential-text {
    font-weight: 500;
    color: var(--navy);
    font-size: 0.9rem;
}
.instructor-photo{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    display:block;
}
.coaching-section {
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid var(--gray-200);
}
.coaching-header {
    text-align: center;
    margin-bottom: 2rem;
}
.coaching-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--navy);
}

.coaching-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.coaching-card {
    background: var(--gray-100);
    border-radius: 20px;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}
.coaching-icon {
    width: 64px;
    height: 64px;
    background: var(--navy);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
    color: var(--gold);
}
.coaching-card-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 0.75rem;
}
.coaching-card-desc {
    color: var(--gray-600);
    font-size: 0.95rem;
    line-height: 1.7;
}
.coaching-card-highlight {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
}
.coaching-card-highlight .coaching-icon {
    background: rgba(232, 119, 34, 0.2);
    color: var(--gold);
}
.coaching-icon svg {
    width: 28px;
    height: 28px;
}
.coaching-card-highlight .coaching-card-title, .coaching-card-highlight .coaching-card-desc {
    color: var(--white);
}
.coaching-card-highlight .coaching-card-desc {
    opacity: 0.9;
}
/*testimonials*/
.testimonials {
    padding: 6rem 2rem !important;
    background: var(--cream) !important;
}

.video-testimonials {
    margin-bottom: 4rem;
}
.subsection-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 1.5rem;
}
.video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.video-card {
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(27, 58, 95, 0.08);
    transition: all 0.3s ease;
}
.video-placeholder {
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    position: relative;
    cursor: pointer;
}
.video-play-btn {
    width: 64px;
    height: 64px;
    background: var(--gradient-gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
.video-play-btn svg {
    width: 24px;
    height: 24px;
    color: var(--navy);
    margin-left: 4px;
}
.video-label {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.875rem;
    font-weight: 500;
}
.video-info {
    padding: 1.25rem;
}
.video-name {
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 0.25rem;
}
.video-desc {
    color: var(--gray-600);
    font-size: 0.9rem;
}
.google-reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 1rem;
}
.google-reviews-header .subsection-title {
    margin-bottom: 0;
}
.google-rating {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: var(--white);
    padding: 0.75rem 1.25rem;
    border-radius: 50px;
    box-shadow: 0 2px 10px rgba(27, 58, 95, 0.08);
}
.google-logo svg {
    width: 24px;
    height: 24px;
}
.rating-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.stars {
    display: flex;
    gap: 2px;
}
.stars svg {
    width: 18px;
    height: 18px;
}
.rating-text {
    font-weight: 700;
    color: var(--navy);
    font-size: 0.9rem;
}
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: 2rem;
}
.review-card {
    background: var(--white);
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 4px 20px rgba(27, 58, 95, 0.08);
    transition: all 0.3s ease;
}
.review-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}
.reviewer-avatar {
    width: 48px;
    height: 48px;
    background: var(--gray-100);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-600);
}
.reviewer-avatar svg {
    width: 28px;
    height: 28px;
}
.reviewer-name {
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 0.25rem;
}
.review-stars {
    display: flex;
    gap: 1px;
}
.review-stars svg {
    width: 14px;
    height: 14px;
}
.review-text {
    color: var(--gray-600);
    font-size: 0.95rem;
    line-height: 1.7;
    font-style: italic;
}
.reviews-cta {
    text-align: center;
}
.reviews-cta .btn-secondary {
    background: var(--white);
    color: var(--navy) !important;
    border: 2px solid var(--navy);
}

/*career*/
.career {
    /*padding: 6rem 2rem !important;*/
    background: var(--white) !important;
}
.career-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
.career-card {
    background: var(--white);
    border-radius: 20px;
    padding: 2.5rem;
    text-align: center;
    border: 1px solid var(--gray-200);
    transition: all 0.3s ease;
}
.career-icon {
    width: 72px;
    height: 72px;
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    color: var(--gold);
}
.career-icon svg {
    width: 32px;
    height: 32px;
}
.career-stat {
    font-family: 'Playfair Display', serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 0.5rem;
}
.career-stat span {
    color: var(--gold);
}
.career-label {
    color: var(--gray-600);
    font-size: 0.95rem;
}
.career-card {
    background: var(--white);
    border-radius: 20px;
    padding: 2.5rem;
    text-align: center;
    border: 1px solid var(--gray-200);
    transition: all 0.3s ease;
}
.career-icon {
    width: 72px;
    height: 72px;
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    color: var(--gold);
}
.career-icon svg {
    width: 32px;
    height: 32px;
}
.career-stat {
    font-family: 'Playfair Display', serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 0.5rem;
}
/*faq*/
.faq {
        padding-bottom: 6rem !important;
    background: var(--white) !important;
}
.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    max-width: 1000px;
    margin: 0 auto;
}
.faq-item {
    background: var(--gray-100);
    border-radius: 16px;
    padding: 1.75rem;
    transition: all 0.3s ease;
}
.faq-question {
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 0.75rem;
    font-size: 1.05rem;
}
.faq-answer {
    color: var(--gray-600);
    font-size: 0.95rem;
    line-height: 1.7;
}
.cta-section {
    padding: 6rem 2rem !important;
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%) !important;
    position: relative !important;
    overflow: hidden;
}
.cta-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at 20% 50%, rgba(232, 119, 34, 0.2) 0%, transparent 50%), radial-gradient(ellipse at 80% 50%, rgba(232, 119, 34, 0.15) 0%, transparent 40%);
}
.cta-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1;
}
.cta-title {
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--white);
    margin-bottom: 1rem;
}
.cta-subtitle {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
}
.cta-promo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 2rem;
    padding: 1rem 1.5rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    border: 2px dashed rgba(232, 119, 34, 0.5);
}
.cta-promo-text {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
}
.cta-promo-code {
    background: var(--gold);
    color: var(--navy);
    padding: 0.35rem 0.875rem;
    border-radius: 6px;
    font-weight: 800;
    font-size: 1.1rem;
    letter-spacing: 0.05em;
}
.cta-promo-savings {
    color: var(--gold-light);
    font-weight: 800;
    font-size: 1.25rem;
}
.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.video-placeholder{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    cursor:pointer;
}

.video-placeholder iframe{
    width:100%;
    height:100%;
    display:block;
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(232, 119, 34, 0.5);
}
.btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--white);
}
.btn-outline:hover {
    background: var(--navy);
    color: var(--white);
}
.curriculum-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(27, 58, 95, 0.12);
    border-color: transparent;
}
.curriculum-card:hover::before {
    opacity: 1;
}
.pricing-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(27, 58, 95, 0.15);
}
.btn-outline-dark:hover {
    background: var(--navy);
    color: var(--white);
}
.location-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
}
.coaching-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(27, 58, 95, 0.1);
    border-color: var(--gold);
}
.video-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(27, 58, 95, 0.12);
}
.review-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(27, 58, 95, 0.1);
}
.reviews-cta .btn-secondary:hover {
    background: var(--navy);
    color: var(--white) !important;
}
.career-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(27, 58, 95, 0.1);
}
/* become a home inspector end */
.slogan {
    padding: 5px 0 !important;
    background: #373592 !important;
}
.section-main-heading {
 font-size: 35px !important;
    text-transform: uppercase;
    font-weight: 800;
    color: #373592;
    padding-top: 0;
    padding-bottom: 5px;
    margin-bottom: 0;
    letter-spacing: 1.6px;
    line-height: 1.3;
}
.section-sub-heading
{
    padding-top: 0;
    padding-bottom: 10px;
    font-size: 21px !important;
    text-transform: uppercase;
    color: #000000;
    font-weight: 400;
    letter-spacing: 0.75px;
    line-height: 1.3;
}
.cruise-logos-slider button.slick-prev.slick-arrow {
    transform: translateY(-50%) rotate(132deg);
    left: -2%;
    top: 50%;
}
.cruise-logos-slider button.slick-next.slick-arrow {
    transform: translateY(-50%) rotate(-43deg);
    right: -2%;
    top: 50%;
}
.cruise-logos-slider button.slick-arrow {
    background: transparent !important;
    border: 5px solid #AAAAAA;
    border-radius: 50px 0 0 !important;
    border-top-width: 0;
    border-left-width: 0;
    width: 25px;
    box-shadow: none !important;
    height: 25px;
    top: 35%;
}
button:not(.button-group button).slick-prev, button:not(.button-group button).slick-next {
    font-size: 0;
}
.cntct-sec {
    background: url(//s3-ap-southeast-1.amazonaws.com/assets-powerstores-com/data/org/31284/theme/49183/img/contact-section.webp) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    padding: 50px 0px !important;
    background-attachment: fixed !important;
    margin-bottom: 60px !important;
}
.accordion-title {
    position: relative;
    display: block;
    padding: 1.25rem 2rem 1.25rem 1rem;
    border-left: 1px solid #ebebeb;
    border-right: 1px solid #ebebeb;
    border-top: 1px solid #FFFFFF;
    border-bottom: 0;
    font-size: 1rem;
    line-height: 1;
    background: #ebebeb;
    color: #FFFFFF;
}
ul.accordion .accordion-title:hover, ul.accordion li.accordion-item.is-active .accordion-title {
    background: #ebebeb !important;
    color: #000 !important;
    border: none !important;
}
ul.accordion .accordion-title::before {
    top: 0;
    margin-top: 0;
    height: 100%;
    display: flex;
    align-items: center;
    right: 1.5rem;
    line-height: 32px;
    color: #373592;
}
:last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #ebebeb;
    border-radius: 0 0 0 0;
}
.accordion-title:hover, .accordion-title:focus {
    color: #FFFFFF;
    background-color: #ebebeb;
}
.bg-text1, .bg-text2, .bg-text3 {
    background: #efefef;
    padding: 50px 30px 20px;
    box-shadow: 0px 4px 9px 1px #828385;
    border-radius: 10px;
}
.testimonial-name {
    color: #373592;
    font-size: 18px;
    line-height: 26px;
    font-weight: bold;
    text-transform: capitalize;
    letter-spacing: 1px;
    padding: 20px 0 0;
    text-align: right;
}
.discount-section {
    background: #F89720 !important;
    text-align: Center !important;
    padding: 35px 0 28px!important;
}
.schedule-div {
    background: url(//s3-ap-southeast-1.amazonaws.com/assets-powerstores-com/data/org/31284/theme/49183/img/bottom-blue-sec.webp) no-repeat center !important;
    background-size: cover !important;
            padding: 45px 34px 45px !important;
}
.video-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 ratio */
    height: 0;
    overflow: hidden;
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
a.button, span.button, input.button, input#Submit, .gen-form #Submit, #newsletter-form #Submit, .button {
   background-color: #F89720;
    color: #FFFFFF;
    padding: 10px 20px;
    letter-spacing: 0px;
    line-height: 2em;
    font-weight: 400;
    text-transform: uppercase;
    border: 1px solid #FFFFFF;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: none;
    -moz-transition: none;
    transition: background-color 300ms ease-out;
    /*font-family: "Plus Jakarta Sans", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 15px !important;
    padding: 8px 20px !important;
    line-height: 26px !important;
    text-transform: uppercase;
    opacity: 1 !important;
    width: auto !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    border-radius: 5px !important;
    background: #F89720;
    color: #fff;
    border: 1px solid #F89720 !important;*/
}
/* ---------- RESPONSIVE ---------- */

/*new become home inpsector*/
/*bhi banner*/
.hero-grid1 {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 54px;
    align-items: center;
}

.hero1 {
    position: relative !important;
    overflow: hidden !important;
    background: radial-gradient(circle at 88% 12%, rgba(240, 146, 10, 0.12), transparent 40%), radial-gradient(circle at 5% 95%, rgba(45, 52, 148, 0.07), transparent 45%), linear-gradient(180deg, #fbf7f1, #ffffff) !important;
    padding: 84px 0 90px !important;
}
.hero1::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(45, 52, 148, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(45, 52, 148, 0.025) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(circle at 75% 35%, black, transparent 72%);
}
.bhi-enroll-flag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(218, 83, 44, 0.1);
    color: #da532c;
    padding: 7px 16px;
    border-radius: 100px;
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 20px;
    font-family: 'Poppins';
}
.bhi-enroll-flag::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #da532c;
    animation: pulse 1.8s infinite;
}
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.35;
    }
}

.hero1 h1 {
    font-size: clamp(2.4rem, 5.4vw, 4rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #2D3494;
    margin-bottom: 18px;
}
.hero1 h1 em {
    font-style: normal;
    color: #F0920A;
}
.hero1 p.lead {
    font-size: 1.12rem;
    color: #5a5f70;
    max-width: 540px;
    margin-bottom: 24px;
}
.hero-badges1 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
}
.hbadge1 {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #ffffff;
    border: 1px solid #e7e9f2;
    color: #2D3494;
    padding: 8px 15px;
    border-radius: 100px;
    font-size: 0.82rem;
    font-weight: 700;
    font-family: 'Poppins';
}
.hbadge1::before {
    content: '\2713';
    color: var(--orange);
    font-weight: 800;
}
.hero-buttons1 {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.btn-orange1 {
    background: #F0920A;
    color: #ffffff !important;
    box-shadow: 0 10px 26px rgba(240, 146, 10, 0.32);
}
.btn-orange1:hover {
    background: #da532c;
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(218, 83, 44, 0.4);
}
.btn1 {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 15px 30px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.95rem;
    font-family: 'Poppins';
    transition: transform 0.22s, box-shadow 0.22s, background 0.22s, border-color 0.22s, color 0.22s;
    cursor: pointer;
    border: none;
}
.btn-outline1 {
    background: #ffffff;
    color: #2D3494;
    border: 1.5px solid #e7e9f2;;
}
.btn-outline1:hover {
    border-color: #F0920A;
    color: #F0920A;
    transform: translateY(-3px);
}
.cred-card1 {
    background: #ffffff;
    border: 1px solid #e7e9f2;
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 18px 44px rgba(45, 52, 148, 0.08);
}
.cred-card1 h4 {
    font-size: 0.82rem;
    color: #F0920A;
    margin-bottom: 18px;
    font-family: 'Poppins';
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}
.cred-list1 {
    list-style: none;
    display: grid;
    gap: 16px;
}
.cred-list1 li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 0.9rem;
     color: #5a5f70 !important; 
}
.cred-list1 li b {
    display: block;
    color: #2D3494;
    font-weight: 700;
    font-family: 'Poppins';
}
.cred-dot1 {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: #F0920A;
    color: #ffffff;
    display: grid;
    place-items: center;
    font-size: 0.72rem;
    font-weight: 800;
    margin-top: 2px;
}
/*bhi banner*/

/*bhi- sec-2*/
.stat-band1 {
    background: #2D3494 !important;
    color: #ffffff !important;
}
.sb1 {
    text-align: center;
}
.stat-band1 .container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding-top: 44px;
    padding-bottom: 44px;
}
.sb1 b {
    font-family: 'Poppins';
    font-weight: 800;
    font-size: 2.4rem;
    color: #f49720;
    display: block;
    line-height: 1;
}
.sb1 span {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.78);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    font-weight: 600;
}
/*bhi- sec-2*/
/*testimonials*/
.testimonials1 {
    background: #f7f8fb !important;
    border-top: 1px #e7e9f2 !important;
    border-bottom: 1px #e7e9f2 !important;
}
.testimonials1.container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 32px;
}
.section-head1 {
    max-width: 720px;
    margin: 0 auto 50px;
    text-align: center;
}
.reveal1.in {
    opacity: 1;
    transform: none;
}
.reveal1 {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.eyebrow1 {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.74rem;
    font-weight: 700;
    color: #F0920A;
    font-family: 'Poppins';
}
.section-head1 h2 {
    font-size: clamp(1.9rem, 4vw, 2.7rem);
    color: #2D3494;
    letter-spacing: -0.015em;
    margin: 12px 0 14px;
}
.section-head1 p {
    font-size: 1.05rem;
    color: #5a5f70;
}
.shadow-banner1 {
    max-width: 940px;
    margin: 0 auto 48px;
    background: linear-gradient(135deg, #2D3494, #35358d) !important;
    border-radius: 20px;
    padding: 40px 44px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 28px;
    align-items: center;
    box-shadow: 0 24px 54px rgba(45, 52, 148, 0.22);
}
.shadow-banner1::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 90% 10%, rgba(240, 146, 10, 0.28), transparent 50%) !important;
}
.shadow-icon1 {
    position: relative;
    width: 76px;
    height: 76px;
    border-radius: 18px;
    background: #F0920A;
    color: var(--white);
    display: grid;
    place-items: center;
    font-size: 2.2rem;
    flex-shrink: 0;
    box-shadow: 0 10px 24px rgba(218, 83, 44, 0.4);
}
.shadow-copy {
    position1: relative;
}
.shadow-copy1 .tag1 {
    display: inline-block;
    background: rgba(240, 146, 10, 0.2);
    color: #f49720;
    font-family: 'Poppins';
    font-weight: 700;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 5px 13px;
    border-radius: 100px;
    margin-bottom: 12px;
}
.shadow-copy1 h3 {
    font-size: 1.5rem;
    color: #ffffff;
    margin-bottom: 8px;
}
.shadow-copy1 h3 em {
    font-style: normal;
    color: #f49720;
}
.shadow-copy1 p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.98rem;
}
.vid-grid1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.vid-card1 {
    background: #ffffff;
    border: 1px solid #e7e9f2;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(45, 52, 148, 0.07);
}
.vid-frame1 {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    background: #000;
}
.vid-frame1 iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.vid-meta1 {
    padding: 18px 22px;
}
.vid-meta1 b {
    font-family: 'Poppins';
    color: #2D3494;
    font-size: 1.02rem;
}
/*testimonials*/
/*alumni*/
.alumni1 {
    background: #ffffff !important;
}
.alumni-grid1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.alum-card1 {
    background: #ffffff;
    border: 1px solid #e7e9f2;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(45, 52, 148, 0.06);
    transition: transform 0.28s, box-shadow 0.28s;
}
.alum-top1 {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 18px;
}
.alum-photo1 {
    overflow: hidden;
}
.alum-photo1 {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    flex-shrink: 0;
    background: linear-gradient(135deg, #F0920A, #da532c);
    color: #ffffff;
    display: grid;
    place-items: center;
    font-family: 'Poppins';
    font-weight: 800;
    font-size: 1.2rem;
}
.alum-img1 {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.alum-name1 {
    font-family: 'Poppins';
    font-weight: 700;
    font-size: 1.1rem;
    color: #2D3494;
    line-height: 1.15;
}
.alum-biz1 {
    font-size: 0.82rem;
    color: #F0920A;;
    font-weight: 700;
    margin-top: 3px;
    font-family: 'Poppins';
}
.alum-loc1 {
    font-size: 0.75rem;
    color: #5a5f70;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}
.alum-desc1 {
    font-size: 0.94rem;
    color: #5a5f70;
    line-height: 1.62;
    padding-top: 14px;
}
.alum-tag1 {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #ffffff;
    background: #2D3494;
    padding: 6px 13px;
    border-radius: 100px;
    font-family: 'Poppins';
}
.alumni-note1 {
    margin-top: 36px;
    text-align: center;
    font-size: 0.92rem;
    color: #5a5f70;
}
.alumni-note1 a {
    color: #F0920A;
    font-weight: 700;
}
/*alumni*/
/*learn*/
.learn1 {
    background: #ffffff !important;
}
.learn-grid1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.learn-card1 {
    background: #ffffff;
    border: 1px solid #e7e9f2;
    border-radius: 16px;
    padding: 32px;
    transition: transform 0.26s, box-shadow 0.26s;
}
.learn-card1:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 46px rgba(45, 52, 148, 0.12);
}
.learn-ico1 {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    background: rgba(240, 146, 10, 0.12);
    color: #da532c;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    margin-bottom: 18px;
}
.learn-card1 h3 {
    font-size: 1.16rem;
    color: #2D3494;
    margin-bottom: 10px;
}
.learn-card1 p {
    color: #5a5f70;
    font-size: 0.93rem;
}
/*learn*/
/*packages*/
.packages1 {
    background: #f7f8fb !important;
    border-top: 1px solid #e7e9f2 !important;
    border-bottom: 1px solid v#e7e9f2 !important;
}
.pkg-grid1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: start;
}
.pkg1 {
    background: #ffffff;
    border: 1px solid #e7e9f2;
    border-radius: 18px;
    padding: 34px 30px;
    position: relative;
    transition: transform 0.26s, box-shadow 0.26s;
}
.pkg1:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 50px rgba(45, 52, 148, 0.14);
}
.pkg1.featured1 {
    border: 2px solid #F0920A;;
    box-shadow: 0 24px 54px rgba(240, 146, 10, 0.18);
}
.pkg1 h3 {
    font-size: 1.4rem;
    color: #2D3494;
}
.pkg1 .price1 {
    font-family: 'Poppins';
    font-weight: 800;
    font-size: 2.6rem;
    color: #2D3494;
    margin: 8px 0 2px;
}
.pkg1 .tagline1 {
    color: #5a5f70;
    font-size: 0.9rem;
    margin-bottom: 22px;
}
.pkg1 hr {
    border: none;
    border-top: 1px solid #e7e9f2;
    margin: 18px 0;
}
.pkg-group1 {
    font-family: 'Poppins';
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #da532c;
    margin: 16px 0 10px;
}
.pkg1 ul {
    list-style: none;
    display: grid;
    gap: 9px;
}
.pkg1 li {
    display: flex;
    gap: 10px;
    font-size: 0.9rem;
    color: #23252f;
}
.pkg1 li::before {
    content: '\2713';
    color: #F0920A;;
    font-weight: 800;
    flex-shrink: 0;
}
.pkg1 .btn1 {
    width: 100%;
    justify-content: center;
    margin-top: 24px;
}
.promo-banner1 {
      margin: 38px auto 0;
    max-width: 820px;
    background: linear-gradient(135deg, #F0920A, #da532c);
    border-radius: 18px;
    padding: 28px 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    text-align: center;
    box-shadow: 0 18px 44px rgba(218, 83, 44, 0.34);
    position: relative;
    overflow: hidden;
}
.promo-banner1::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 12% 20%, rgba(255, 255, 255, 0.22), transparent 45%);
}
.promo-left1 {
    position: relative;
}
.promo-left1 .save1 {
    display: block;
    font-family: 'Poppins';
    font-weight: 800;
    font-size: 1.7rem;
    color: #ffffff;
    line-height: 1.1;
}
.promo-left1 .sub1 {
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.92rem;
    font-weight: 600;
}
.promo-code1 {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    border-radius: 12px;
    padding: 14px 22px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16);
}
.promo-code1 small {
    font-family: 'Poppins';
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.62rem;
    color: #5a5f70;
    font-weight: 700;
}

.pkg1 li.excl1 {
    opacity: 0.55;
    color: #5a5f70;
}
.promo-code1 .code1 {
    font-family: 'Poppins';
    font-weight: 800;
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    color: #da532c;
    border: 2px dashed #F0920A;
    border-radius: 8px;
    padding: 4px 14px;
}
.pkg.featured1 {
    border: 2px solid #F0920A;
    box-shadow: 0 24px 54px rgba(240, 146, 10, 0.18);
}
.pkg-tag1 {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    background: #F0920A;
    color: #ffffff;
    font-family: 'Poppins';
    font-weight: 700;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 6px 16px;
    border-radius: 100px;
}
/*packages*/
/*locations*/
.locations1 {
    background: #ffffff !important;
}
.loc-grid1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
}
.loc-card1 {
    background: #ffffff;
    border: 1px solid #e7e9f2;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 34px rgba(45, 52, 148, 0.06);
}
.loc-head1 {
    background: #2D3494;
    color: #ffffff;
    padding: 26px 30px;
    position: relative;
}
.loc-head1 .pop1 {
    position: absolute;
    top: 20px;
    right: 24px;
    background: #F0920A;
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 5px 12px;
    border-radius: 100px;
    font-family: 'Poppins';
}
.loc-head1 h3 {
    font-size: 1.5rem;
    color: #ffffff !important;
}
.loc-head1 span {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.88rem;
}
.loc-body1 {
    padding: 28px 30px;
}
.loc-row1 {
    display: flex;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid #e7e9f2;
}
.loc-row1 .ic1 {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: rgba(240, 146, 10, 0.12);
    color: #da532c;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    font-size: 1rem;
}
.loc-row1 small {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.68rem;
    color: #5a5f70;
    font-weight: 700;
}
.loc-row1 b {
    font-family: 'Poppins';
    color: #2D3494;
    font-size: 0.95rem;
    font-weight: 600;
}
.loc-card1 .btn1 {
    width: calc(100% - 60px);
    margin: 6px 30px 28px;
    justify-content: center;
}
.btn-navy1 {
    background: #2D3494;
    color: #ffffff !important;
}
.arrow {
    transition: transform 0.2s;
}
.btn-navy1:hover {
    background: #1f2570;
    transform: translateY(-3px);
}
/*locations*/
   
    /*instructor*/
    .instructor1 {
    background: #f7f8fb !important;
    border-top: 1px solid #e7e9f2 !important;
    border-bottom: 1px solid #e7e9f2 !important;
}
.inst-grid1 {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 50px;
    align-items: start;
}
.inst-photo1 {
    background: linear-gradient(150deg, #2D3494, #35358d);
    border-radius: 20px;
    min-height: 360px;
    display: grid;
    place-items: center;
    color: #ffffff;
    text-align: center;
    padding: 40px;
    position: relative;
    overflow: hidden;
}
.inst-photo1::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 70% 20%, rgba(240, 146, 10, 0.3), transparent 50%);
}
.inst-photo1 .mono1 {
    position: relative;
    font-family: 'Poppins';
    font-weight: 800;
    font-size: 4rem;
    letter-spacing: 0.05em;
}
.inst-phot1o p {
    position: relative;
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.9rem;
}
.inst-text1 h2 {
    font-size: clamp(1.8rem, 3.4vw, 2.5rem);
    color: #2D3494;
    margin: 10px 0 8px;
}
.inst-text1 .roles1 {
    color: #da532c;
    font-weight: 700;
    font-family: 'Poppins';
    font-size: 0.92rem;
    margin-bottom: 18px;
}
.inst-text1 p {
    color: #5a5f70;
    font-size: 0.98rem;
    margin-bottom: 14px;
}
.creds1 {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 20px;
}
.creds1 span {
    background: #ffffff;
    border: 1px solid #e7e9f2;
    color: #2D3494;
    padding: 7px 14px;
    border-radius: 100px;
    font-size: 0.8rem;
    font-weight: 600;
    font-family: 'Poppins';
}
 /*instructor*/
 /*earning*/
 .earning1 {
    background: #2D3494 !important;
    color: #ffffff !important;
    position: relative !important;
    overflow: hidden !important;
}
.earning1 .section-head1 h2 {
    color:  #ffffff;
}
.earning1 .section-head1 p {
    color: rgba(255, 255, 255, 0.78);
}
.earning1::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 30%, rgba(240, 146, 10, 0.16), transparent 45%);
}
.earning1 .container {
    position: relative;
    z-index: 2;
}
.earn-grid1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.earn-card1 {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    padding: 34px;
    text-align: center;
}
.earn-card1 b {
    font-family: 'Poppins';
    font-weight: 800;
    font-size: 2.6rem;
    color: #f49720;
    display: block;
}
.earn-card1 span {
    color: rgba(255, 255, 255, 0.82);
    font-weight: 600;
}
 /*earning*/
 /*faq*/
 .faq {
    background: #ffffff !important;
}
 .fthb-faq-inner1 {
    max-width: 820px;
    margin: 0 auto !important;
}
details[open] {
    box-shadow: 0 12px 30px rgba(45, 52, 148, 0.08);
}
details {
    border: 1px solid #e7e9f2;
    border-radius: 12px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s;
    margin-bottom: 15px !important;
}
.item1 summary {
    list-style: none !important;
    cursor: pointer !important;
    padding: 0px 0px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-family: 'Poppins' !important;
    font-weight: 600 !important;
    color: #2D3494 !important;
    font-size: 1rem !important;
    display: flex!important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
}
details[open] summary::after {
    transform: rotate(45deg);
}
summary::after {
    content: '+';
    font-size: 1.5rem;
    color: #F0920A;
    font-weight: 400;
    transition: transform 0.2s;
}
details p {
    padding: 0 24px 22px;
    color: #5a5f70;
    font-size: 0.96rem;
        padding: 20px !important;
}
details {
    border: 1px solid #e7e9f2;
    border-radius: 12px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.item1[open] summary {
    color: #2D3494 !important;
}
 /*faq*/
 /*contact*/
 .btn-ghost-light1:hover {
    border-color: #f49720;
    color: #f49720;
    transform: translateY(-3px);
}

 .btn-ghost-light1 {
    background: transparent;
    color: var(--white);
    border: 1.5px solid rgba(255, 255, 255, 0.4);
}
 .cta1 {
    background: #2D3494 !important;
    color: #ffffff !important;
    position: relative !important;
    overflow: hidden !important;
}
.cta1::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(240, 146, 10, 0.2), transparent 45%);
}
.cta1 .container {
    position: relative;
    z-index: 2;
}
.cta-box1 {
    text-align: center;
    max-width: 760px;
    margin: 0 auto;
}
.cta-box1 h2 {
    font-size: clamp(2rem, 4vw, 2.8rem);
    color: #ffffff;
    margin: 12px 0 16px;
}
.cta-box1 h2 em {
    font-style: normal;
    color: #f49720;
}
.cta-box1 p {
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.06rem;
    max-width: 540px;
    margin: 0 auto 14px;
}
.cta-code1 {
    font-family: 'Poppins';
    font-weight: 700;
    color: #f49720;
    margin-bottom: 28px;
}
.cta-buttons1 {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}
.contact-strip1 {
    display: flex;
    justify-content: center;
    gap: 44px;
    flex-wrap: wrap;
    margin-top: 44px;
    padding-top: 34px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.contact-item1 small {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.13em;
    font-size: 0.66rem;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 700;
    margin-bottom: 5px;
}
.contact-item1 a {
    font-weight: 700;
    color: #ffffff;
    font-size: 0.95rem;
}
 /*contact*/ 



/*standard Home inspection*/
.hero2 {
    position: relative !important;
    padding: 88px 0 72px !important;
    overflow: hidden !important;
    background: #22224f !important;
    color: #fff;
}
.hero2::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: radial-gradient(120% 90% at 80% 0%, #000 35%, transparent 80%);
}
.hero2::after {
    content: "";
    position: absolute;
    top: -30%;
    right: -12%;
    width: 540px;
    height: 540px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(244, 151, 32, .32), transparent 62%);
    filter: blur(8px);
}
.hero2 .wrap {
    position: relative;
    z-index: 2;
}
.hero-grid2 {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 54px;
    align-items: center;
}
.hero2 .eyebrow2 {
    color: #cbcbf0;
}
.hero2 .eyebrow2::before {
    background: #f49720;
}
.eyebrow2::before {
    content: "";
    width: 26px;
    height: 1px;
    background: #f49720;
}
.eyebrow2 {
    font-family: 'IBM Plex Mono', monospace;
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #35358d;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}
.hero2 h1 {
    font-size: clamp(2.5rem, 5.2vw, 4rem);
    font-weight: 700;
    margin: 18px 0 8px;
    color: #fff;
}
.lede2 {
    font-size: 1.12rem;
    color: #c9c9e6;
    max-width: 30rem;
    margin-bottom: 30px;
}
.hero-cta2 {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center;
}
.btn-primary2 {
    background: #f49720;
    color: #2a1800;
    box-shadow: 0 8px 22px -10px rgba(244, 151, 32, .8);
}
.btn-light2 {
    background: #fff;
    color: #1a1a3c;
    border-color: #e1dfd4;
}
.price-tag2 {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    text-align: right;
}
.price-tag2 em {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-size: .66rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #9a9ad0;
}
.hero2 h1 .det2 {
    color: #f49720;
}
.ticket2 {
    background: linear-gradient(180deg, #fff, #f6f5ef);
    color: #1d1d2b;
    border-radius: 18px;
    padding: 26px;
    box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .5);
    border: 1px solid rgba(255, 255, 255, .6);
    position: relative;
}
.ticket-top2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 16px;
    border-bottom: 1px dashed #e1dfd4;
}
.ticket-top2 .lbl2 {
    font-family: 'IBM Plex Mono';
    font-size: .64rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #5a5a72;
}
.stamp2 {
    font-family: 'IBM Plex Mono';
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #35358d;
    border: 1.5px solid #35358d;
    border-radius: 6px;
    padding: 5px 8px;
    transform: rotate(4deg);
    text-align: center;
    line-height: 1.2;
}
.ticket2 ul {
    list-style: none;
    margin: 16px 0 4px;
    display: grid;
    gap: 11px;
}
.ticket2 li {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: .92rem;
}
.btn-light2:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}
.btn2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    font-family: 'Space Grotesk';
    font-weight: 600;
    font-size: .92rem;
    padding: .7rem 1.25rem;
    border-radius: 999px;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
    white-space: nowrap;
}
.btn-primary2:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -10px rgba(244, 151, 32, .85);
}
.ticket2 li svg {
    flex: none;
    color: #d97e0c;
}
.ticket2 .foot2 {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px dashed #e1dfd4;
    font-family: 'IBM Plex Mono';
    font-size: .68rem;
    color: #5a5a72;
    display: flex;
    justify-content: space-between;
}
/*standard Home inspection*/

/*scope*/
.scope2 {
    background: #ffffff !important;
    border-top: 1px solid #e1dfd4 !important;
    border-bottom: 1px solid #e1dfd4 !important;
}
.wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
}
.sec-head2 {
    max-width: 42rem;
    margin-bottom: 46px;
}
.scope-grid2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.sys2 {
    position: relative;
    background: #f8f7f3;
    border: 1px solid #e1dfd4;
    border-radius: 14px;
    padding: 24px 22px 22px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sys-code2 {
    font-family: 'IBM Plex Mono';
    font-size: .66rem;
    font-weight: 600;
    letter-spacing: .1em;
    color: #d97e0c;
}
.sys2 h3 {
    font-size: 1.12rem;
    color: #1a1a3c;
    margin: 10px 0 8px;
    display: flex;
    align-items: center;
    gap: 9px;
}
.sys2 h3 .ic2 {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: rgba(53, 53, 141, .09);
    color: #35358d;
    display: grid;
    place-items: center;
    flex: none;
}
.sys2 p {
    font-size: .9rem;
    color: #5a5a72;
}
.sys2:hover {
    transform: translateY(-4px);
    box-shadow: 0 1px 2px rgba(34, 34, 79, .05), 0 14px 40px -18px rgba(34, 34, 79, .28);
    border-color: rgba(53, 53, 141, .14);
}
/*scope*/

/*process*/
.process2 {
    background: #f1efe8 !important;
}
.steps2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    position: relative;
}
.step2 {
    padding: 30px 28px;
    position: relative;
}
.step-no2 {
    font-family: 'Space Grotesk';
    font-weight: 700;
    font-size: 2.6rem;
    color: #f49720;
    line-height: 1;
}
.step2 h3 {
    font-size: 1.3rem;
    color: #1a1a3c;
    margin: 12px 0 8px;
}
.step2 p {
    color: #5a5a72;
    font-size: .96rem;
}
.step2:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 30px;
    bottom: 30px;
    width: 1px;
    
    background: #e1dfd4;
}

/*included*/
.sec-head2 h2 {
    font-size: clamp(1.9rem, 3.6vw, 2.7rem);
    font-weight: 700;
    color: #1a1a3c;
    margin: 14px 0 14px;
}
.sec-head2 p {
    color: #5a5a72;
    font-size: 1.05rem;
}
.val-grid2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.val2 {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: #fff;
    border: 1px solid #e1dfd4;
    border-radius: 14px;
    padding: 20px;
    transition: border-color .2s, transform .2s;
}
.val2 .vic2 {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(244, 151, 32, .12);
    color: #d97e0c;
    display: grid;
    place-items: center;
    flex: none;
}
.val2 h4 {
    font-size: 1rem;
    color: #1a1a3c;
    margin-bottom: 3px;
}
.val2 p {
    font-size: .86rem;
    color: #5a5a72;
}
.val2 .v-tag2 {
    font-family: 'IBM Plex Mono';
    font-size: .66rem;
    font-weight: 600;
    color: #d97e0c;
    margin-top: 6px;
    display: inline-block;
}

/*bundles*/
.bundles2 {
    background: #f1efe8 !important;
    color: #1d1d2b !important;
}
.compare-head2 {
    text-align: center;
    max-width: 46rem;
    margin: 0 auto 44px;
}
.section-label2 {
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #d97e0c;
    margin-bottom: 18px;
}
.compare-head2 h2 {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: clamp(34px, 4.5vw, 52px);
    line-height: 1.08;
    letter-spacing: -.03em;
    color: #1a1a3c;
}
.compare-head2 h2 em {
    font-style: italic;
    color: #d97e0c;
    font-weight: 300;
}
.compare-grid2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px -30px rgba(53, 53, 141, .15);
}
.compare-col2 {
    padding: 36px 28px;
    border-right: 1px solid #e1dfd4;
    position: relative;
}
.compare-col2.highlight2::before {
    content: "THE FOUNDATION";
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-family: 'Manrope', sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .18em;
    color: #f49720;
}
.compare-col2.highlight2 .compare-tier2 {
    color: #f49720;
    margin-top: 18px;
}
.compare-name2 {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: var(--indigo-ink);
    margin-bottom: 14px;
    min-height: 54px;
}
.compare-col2.highlight2 .compare-name2 {
    color: #fff;
}
.compare-col2.highlight2 .compare-price2 {
    color: var(--orange);
}
.compare-col2.highlight2 .compare-price2 small {
    color: rgba(255, 255, 255, .6);
}
.compare-price2 small {
    font-family: 'Manrope', sans-serif;
    font-size: 13px;
    color: #5a5a72;
    font-weight: 500;
    letter-spacing: 0;
}
.compare-col2.highlight2 .compare-btn2 {
    background: #f49720;
    color: #1a1a3c;
    border-color: #f49720;
}
.compare-col2.highlight2 .compare-btn2:hover {
    background: #d97e0c;
    color: #fff;
    border-color: #d97e0c;
}
.compare-btn2 {
    display: block;
    text-align: center;
    padding: 11px;
    border-radius: 999px;
    font-family: 'Manrope', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid #35358d;
    color: #35358d;
    transition: all .25s ease;
}
.compare-desc2 {
    font-family: 'Manrope', sans-serif;
    font-size: 13.5px;
    color: #5a5a72;
    line-height: 1.55;
    margin-bottom: 22px;
    min-height: 80px;
}
.compare-col2.highlight2 .compare-desc2 {
    color: rgba(255, 255, 255, .78);
}
.compare-col2.highlight2 {
    background: #35358d;
    color: #f8f7f3;
    border-right-color: transparent;
}
.compare-col2.highlight2::before {
    content: "THE FOUNDATION";
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-family: 'Manrope', sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .18em;
    color: #f49720;
}
.compare-tier2 {
    font-family: 'Manrope', sans-serif;
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #5a5a72;
    font-weight: 700;
    margin-bottom: 10px;
}
.compare-col2.highlight2 .compare-tier2 {
    color:  #f49720;
    margin-top: 18px;
}
.compare-price2 {
    font-family: 'Fraunces', serif;
    font-weight: 300;
    font-size: 38px;
    color: #35358d;
    letter-spacing: -.03em;
    margin-bottom: 6px;
}
.compare-btn2:hover {
    background: #35358d;;
    color: #fff;
}

/*pay*/
.pay2 {
    background: #f8f7f3 !important;
}
.pay-card2 {
    background: #fff;
    border: 1px solid #e1dfd4;
    border-radius: 18px;
    padding: 38px;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 34px;
    align-items: center;
    box-shadow: 0 1px 2px rgba(34, 34, 79, .05), 0 14px 40px -18px rgba(34, 34, 79, .28);;
}
.pay-opts2 {
    display: grid;
    gap: 14px;
}
.pay-opt2 {
    display: flex;
    gap: 13px;
    align-items: center;
    background: #f8f7f3;
    border: 1px solid #e1dfd4;
    border-radius: 12px;
    padding: 15px 18px;
}
.pay-opt2 .pic2 {
    color: #d97e0c;
    flex: none;
}
.pay-card2 h2 {
    font-size: 1.7rem;
    color: #1a1a3c;
    margin-bottom: 12px;
}
.pay-card2 p {
    color: #5a5a72;
}
.pay-opt2 b {
    font-family: 'Space Grotesk';
    color: #1a1a3c;
    font-size: .98rem;
}
.pay-opt2 small {
    display: block;
    color: #5a5a72;
    font-size: .82rem;
    font-weight: 400;
}
/*trust*/
.trust2 {
    background: #ffffff !important;
    border-top: 1px solid #e1dfd4 !important;
}
.trust-grid2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
}
.trust-grid2 .ti2 b {
    font-family: 'Space Grotesk';
    display: block;
    font-size: 2rem;
    color: #35358d;
    line-height: 1;
}
.trust-grid2 .ti2 span {
    font-size: .86rem;
    color: #5a5a72;
    margin-top: 6px;
    display: block;
}
/*final*/
.final2 {
    background: linear-gradient(135deg, #35358d, #22224f) !important;
    color: #fff ;
    text-align: center !important;
}
.final2 h2 {
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    color: #fff;
    max-width: 22rem;
    margin: 0 auto 14px;
}
.final2 p {
    color: #c9c9e6;
    max-width: 32rem;
    margin: 0 auto 28px;
    font-size: 1.05rem;
}
.final2 .hero-cta2 {
    justify-content: center;
}
/*li.handle-services.is-section.has-submenu.is-dropdown-submenu-parent.opens-right > a
{
     pointer-events: none;
    cursor: default;
}*/

/* ===========================
   Floating Quote Widget
=========================== */

.quote-widget{
    position:fixed;
    top:140px;
    left:-300px;          /* Hide only the panel */
    width:340px;          /* 300 + 40 */
    height:520px;
    z-index:999999;
    transition:left .35s ease;
}

.quote-widget.open{
    left:0;
}

/* Panel */
.quote-panel{
    position:absolute;
    left:0;
    top:0;
    width:300px;
    height:520px;
    border:4px solid #f7941d;
    background:#fff;
    box-sizing:border-box;
    overflow:hidden;
            top:-15% !important;
}

.quote-panel iframe{
    width:100%;
    height:100%;
    border:0;
}

/* Tab */
.quote-tab{
    position:absolute;
    right:0;
    top:140px;

    width:40px;
    height:150px;

    background:#f7941d;
    color:#fff;

    display:flex;
    justify-content:center;
    align-items:center;

    cursor:pointer;

    border-radius:0 8px 8px 0;
}

.quote-tab span{
    writing-mode:vertical-rl;
    font-weight:600;
    font-size: 13px !important;
    letter-spacing: 0.5px;
        text-transform: uppercase;
}


.blue-footer-text
{
    background: #373592 !important;
    margin-top: 30px !important;
}
/*movinn*/
.packageslist{
    padding-bottom: 40px;
}
.packages-orange .packageslist li {
   border-bottom: 1px solid #fff;   
}
.packages-orange p, .packages-orange .packages-p3, .packages-orange .packages-p2, .packages-orange .packageslist li, .packages-orange .packages-p1, .packages-orange .packages-p4{
    color: #fff;
}
.packageslist li{    list-style-position: outside;
    margin-left: 18px;
    border-bottom: 1px solid #373592;
    padding: 15px 0;
}
 .packages-p3{
    font-size: 40px;
    font-weight: 500;
}
 .packages-p2{
    font-size: 27px;
    padding-top: 30px;
 }
.packages-p1{
    background: #373592;
    color: #fff;
    width: 40%;
    border-radius: 50px;
    padding: 8px 5px;
    text-align: center;
    text-transform: uppercase;
}
   .packages-orange {/*height: 697px;*/
    background: #f89720;
    padding: 30px;
    border-radius: 25px;
}
    .packages-grey{/*height: 697px;*/
    background: #ebebeb;
    padding: 30px;
    border-radius: 25px;
}
.inspection-section {
  
    padding: 50px 0 50px !important;
}
.inspection-section {
    background: #373592 !important;
    text-align: left !important;
    padding: 29px 0 22px;
    margin-top: 60px !important;
    margin-bottom: 55px !important;
}
.color-fff {
    color: #ffffff !important;
}
.border-bottom-orange {
    border-bottom: 1px solid #373592;
    margin-bottom: 20px;
}
.color-blue
{
    color: #373592 !important;
}
/*.packages-grey img,.packages-orange img{
    padding:10px;
    }*/
.packages-grey,.packages-orange{
    margin-bottom:40px;    
       height: 697px;
}
.packageimg{
    width:60px;
}
h3.section-sub-title{
    font-size: 2rem;
    padding: 10px 0px;
}
.packages-grey.packages-grey-ht{
    height: 225px;
    margin-bottom: 0px;
    font-size: 10pt;
}
.section-sub-title, .packages-grey.packages-grey-ht p{
  display: flex;
  align-items: center;
  gap: 10px; /* space between image and text */
  font-weight:400 !important;
  letter-spacing: 0.65px;
  font-family: 'Poppins', sans-serif;
}
.list-new li
{
        font-size: 17px !important;    
        list-style-position: outside;
}

.section-sub-title img {
  display: block;
}
.ht-600{
    height: 590px;
}
.ht-350{
    height: 350px;
}
.packages-grey.ht-350 .section-sub-title{
    display:block;
}
.breathe-easy
{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    text-align: left;
}
/*movinn*/


/*HOA*/
/* HERO */
.hero-hoa{
  overflow:hidden;
  padding:90px 24px 50px !important;
  background: linear-gradient(135deg, #8989ff 0%, #ffffff 55%, #ed8a01 100%)!important;
  border-bottom:1px solid var(--light-border) !important;
}

.hero-geo-hoa,
.hero-grid-hoa,
.hero-stripe-hoa{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}

.hero-geo-hoa{
  background:
    radial-gradient(circle at 15% 20%, rgba(248,151,32,0.12), transparent 30%),
    radial-gradient(circle at 85% 15%, rgba(55,53,146,0.10), transparent 28%),
    radial-gradient(circle at 70% 75%, rgba(248,151,32,0.08), transparent 30%);
}

.hero-grid-hoa{
  background-image:linear-gradient(rgba(55,53,146,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(55,53,146,0.05) 1px, transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,0.7), transparent 90%);
}

.hero-stripe-hoa{
  background:linear-gradient(90deg, transparent, rgba(248,151,32,0.10), transparent);
  transform:skewY(-5deg);
  top:auto;
  height:180px;
  bottom:-60px;
}

.hero-content-hoa{
  position:relative;
  z-index:2;
  max-width:830px;
  margin:0 auto;
  text-align:center;
}

.hero-eyebrow-hoa{
  margin-bottom:18px;
}

.hero-eyebrow-hoa span{
  display:inline-block;
  background:#fff;
  color:#373592;
  border:1px solid rgba(55,53,146,0.15);
  border-radius:999px;
  padding:10px 18px;
  font-size:0.88rem;
  font-weight:700;
  letter-spacing:0.4px;
}

.hero-hoa h1 em{
  color:var(--accent);
  font-style:normal;
}

.hero-sub-hoa{
  max-width:760px;
  margin:0 auto 28px;
  font-size:1.08rem;
}

.hero-actions-hoa{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}

.btn-primary-hoa,
.btn-ghost-hoa,
.btn-card-hoa{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:15px 30px;
  border-radius:0px;
  font-weight:400;
  text-transform:uppercase;
  font-size:0.98rem;
  border:2px solid transparent;
  cursor:pointer;
}

.btn-primary-hoa,
.btn-card-hoa{
  background:var(--accent);
  color:var(--white);
  box-shadow:0 10px 25px rgba(248,151,32,0.28);
}

.btn-primary-hoa:hover,
.btn-card-hoa:hover{
  background:var(--accent-dark);
  transform:translateY(-2px);
}

.btn-ghost-hoa{
  background:#fff;
  color:var(--heading);
  border-color:rgba(55,53,146,0.18);
}

.btn-ghost-hoa:hover{
  background:var(--heading);
  color:#fff;
  border-color:var(--heading);
}

.hero-stats-hoa{
  position:relative;
  z-index:2;
  max-width:1000px;
  margin:40px auto 0;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}

.hero-stat-hoa{
  background:rgba(255,255,255,0.92);
  border:1px solid #e6e6ef;
  border-radius:18px;
  box-shadow:0 12px 35px rgba(55, 53, 146, 0.10);
  padding:24px 18px;
  text-align:center;
}

.hero-stat-hoa strong{
  display:block;
  font-size:1.8rem;
  line-height:1;
  color:#373592;
  margin-bottom:8px;
}

.hero-stat-hoa span{
  display:block;
  color:#262626;
  font-size:0.95rem;
}

/* TRUST BAR */
.trust-bar-hoa{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px 28px;
  padding:20px;
  background:var(--heading);
  color:#fff;
}

.trust-item-hoa{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:0.94rem;
  font-weight:600;
  text-align:left;
  
}
/* ORANGE SQUARE BULLET */
.trust-item-hoa::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #F89720;
  display: inline-block;
  border-radius: 2px; /* slight rounding (optional) */
  flex-shrink: 0;
}
.dot-hoa{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--accent);
  flex-shrink:0;
}

/* WHY GRID */
.why-grid-hoa,
.del-grid-hoa{
  max-width:var(--max-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:26px;
}
.del-grid-hoa{
    grid-template-columns:repeat(2, 1fr);
}
.why-card-hoa,
.del-card-hoa,
.pricing-card-hoa,
.cta-card-hoa{
  background:#fff;
  border:1px solid var(--light-border);
  border-radius:var(--radius);
  box-shadow:var(--card-shadow);
}

.why-card-hoa,
.del-card-hoa{
  padding:30px 24px;
  transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.why-card-hoa:hover,
.del-card-hoa:hover,
.pricing-card-hoa:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(55,53,146,0.14);
}

.why-icon-hoa,
.del-icon-hoa{
  width:64px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(248,151,32,0.12);
  font-size:1.8rem;
  margin-bottom:18px;
}
.why-icon-hoa span, .del-icon-hoa span
{
    position:relative;
    top:-3px;
}
/* SERVICES */
.services-section-hoa{
  background:#efefef;
  overflow:hidden;
}

.services-bg-hoa{
 display:none;
}

.services-cols-hoa{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:22px;
}

.service-item-hoa{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:24px 22px;
  background:#fff;
  border-radius:var(--radius-sm);
  border:1px solid var(--light-border);
  box-shadow:0 8px 24px rgba(55,53,146,0.08);
}

.service-check-hoa{
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  color:#fff;
  font-weight:700;
  font-size:1rem;
  margin-top:2px;
}

.service-highlight-hoa{
  border:1px solid rgba(248,151,32,0.35);
  background:linear-gradient(135deg, rgba(248,151,32,0.10), #fff);
}

/* PRICING */
.pricing-section-hoa{
  text-align:center;
}

.pricing-grid-hoa{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  margin-top:10px;
}

.pricing-card-hoa{
  position:relative;
  padding:34px 26px 30px;
  text-align:left;
  transition: all 0.5s;
}

.pricing-card.featured-hoa{
  border:2px solid var(--accent);
  transform:translateY(-8px);
}

.pricing-badge-hoa{
  position:absolute;
  top:-14px;
  left:24px;
  background:var(--accent);
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-size:0.8rem;
  font-weight:700;
}

.pricing-tier-hoa{
  font-size:1.45rem;
  font-weight:700;
  color:var(--heading);
  margin-bottom:10px;
}

.pricing-price-hoa{
  font-size:2.8rem;
  font-weight:800;
  color:var(--heading);
  line-height:1;
  margin-bottom:8px;
}

.pricing-per-hoa{
  color:var(--body);
  font-size:0.95rem;
  margin-bottom:8px;
}

.pricing-total-hoa{
  color:var(--accent-dark);
  font-weight:700;
  margin-bottom:22px;
  font-size:0.95rem;
}

.pricing-includes-hoa{
  list-style:none;
  padding:0;
  margin:0 0 26px;
}

.pricing-includes-hoa li{
  position:relative;
  padding-left:26px;
  margin-bottom:12px;
  color:var(--body);
}

.pricing-includes-hoa li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--accent);
  font-weight:700;
}

/* PROCESS */
.process-section-hoa{
  background:#efefef;
}

.process-steps-hoa{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  max-width:var(--max-width);
  margin:0 auto;
}

.process-step-hoa{
  position:relative;
  padding:28px 22px;
  background:#fff;
  border:1px solid var(--light-border);
  border-radius:var(--radius);
  box-shadow:var(--card-shadow);
  text-align:left;
}

.process-num-hoa{
  font-size:0.95rem;
  font-weight:800;
  letter-spacing:1px;
  color:var(--accent);
  margin-bottom:14px;
}

.step-dot-hoa{
  width:46px;
  height:4px;
  background:var(--heading);
  border-radius:999px;
  margin-bottom:18px;
}

/* DELIVERABLES */
.deliverables-section-hoa{
  background:#fff;
}

/* CTA */
.cta-section-hoa{
  background:linear-gradient(135deg, #373592 0%, #2e2d80 55%, #4e4cb0 100%);
  color:#fff;
}

.cta-content-hoa{
  text-align:center;
}

.cta-section-hoa .section-label-hoa{
  color:#ffd3a0;
}

.cta-section-hoa .section-label-hoa::before,
.cta-section-hoa .section-label-hoa::after{
  background:#ffd3a0;
}

.cta-section-hoa h2{
  color:#fff;
  font-size:clamp(2rem, 4vw, 3.3rem);
  margin-bottom:18px;
}

.cta-section-hoa p{
  color:rgba(255,255,255,0.92);
  max-width:820px;
  margin:0 auto 28px;
}

.cta-cards-hoa{
  margin-top:34px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}

.cta-card-hoa{
  padding:22px 18px;
  background:rgba(255,255,255,0.10);
  border:1px solid rgba(255,255,255,0.16);
  box-shadow:none;
  backdrop-filter:blur(4px);
}

.cta-card-hoa .label{
  font-size:0.85rem;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#ffd3a0;
  margin-bottom:8px;
  font-weight:700;
}

.cta-card-hoa .value{
  color:#fff;
  font-weight:700;
  font-size:1rem;
}

/* LINKS INSIDE PARAGRAPH */
.pricing-section-hoa p a,
.cta-section-hoa a{
  word-break:break-word;
}
a.footer-logo-hoa
{
    padding-top:0;
}
a.footer-logo-hoa img
{
    margin:0 auto;
}
/*HOA*/
/* HERO — both classes are on the same element */
.hoa-page-section.hoa-hero-section {
    overflow: hidden;
    padding-top: 90px;
    padding-bottom: 50px;
    border-bottom: 1px solid var(--hoa-border);
    background: linear-gradient(
        135deg,
        #8989ff 0%,
        #ffffff 55%,
        #ed8a01 100%
    );
}

/* Exact desktop heading size */
.hoa-page-section.hoa-hero-section h1 {
    max-width: 1000px;
    margin: 0 auto 22px;
    color: #373592;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.4px;
    text-align: center;
    text-transform: uppercase;
}

.hoa-page-section.hoa-hero-section .hero-content {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.hoa-page-section.hoa-hero-section .hero-sub {
    max-width: 850px;
    margin: 0 auto 28px;
    font-size: 18px;
    line-height: 1.55;
    text-align: center;
}

.hoa-page-section.hoa-hero-section .hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

.hoa-page-section.hoa-hero-section .hero-stats {
    display: grid;
    max-width: 1000px;
    margin: 40px auto 0;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* TRUST BAR */
.hoa-page-section.hoa-trust-section {
    padding: 0;
    background: #ffffff;
}

.hoa-page-section.hoa-trust-section .hoa-block {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 28px;
    padding: 20px;
    background: #373592;
    color: #ffffff;
    margin-top:-15px;
}

/* OTHER SECTION SELECTORS — NO SPACE */
.hoa-page-section.hoa-services-section {
  background: #efefef;
    position: relative;
   padding: 80px 20px; 
    margin-top: 50px;
}

.hoa-page-section.hoa-pricing-section {
    background: #ffffff;
    text-align: center;
}

.hoa-page-section.hoa-process-section {
    background: #efefef;
    margin-top:50px;
    padding-top:30px;
    padding-bottom:30px;
}

.hoa-page-section.hoa-deliverables-section {
    background: #ffffff;
     margin-top:50px;
     padding-bottom:30px;
}
.sub-ttl
{margin: 0 0 8px;
    padding-top: 8px;
    color: #373592;
    line-height: 1.2;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    text-align: left;
}
.hoa-page-section.hoa-cta-section {
    background: linear-gradient(
        135deg,
        #373592 0%,
        #2e2d80 55%,
        #4e4cb0 100%
    );
    color: #ffffff;
    padding-top:30px;
    padding-bottom:30px;
        margin-bottom: -30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.hoa-page-section.hoa-cta-section .section-label {
    color: #ffd3a0;
}

.hoa-page-section.hoa-cta-section .section-label::before,
.hoa-page-section.hoa-cta-section .section-label::after {
    background: #ffd3a0;
}

.hoa-page-section.hoa-cta-section h2 {
    color: #ffffff;
}

.hoa-page-section.hoa-cta-section p {
    color: rgba(255, 255, 255, 0.92);
}
.hero-stat {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e6e6ef;
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
    padding: 24px 18px;
    text-align: center;
}
.hero-stats {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 40px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.hero-geo {
    background: radial-gradient(circle at 15% 20%, rgba(248, 151, 32, 0.12), transparent 30%), radial-gradient(circle at 85% 15%, rgba(55, 53, 146, 0.10), transparent 28%), radial-gradient(circle at 70% 75%, rgba(248, 151, 32, 0.08), transparent 30%);
}
.hero-geo, .hero-grid, .hero-stripe {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}
.hero-grid {
    background-image: linear-gradient(rgba(55, 53, 146, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(55, 53, 146, 0.05) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), transparent 90%);
}
.hero-stripe {
    background: linear-gradient(90deg, transparent, rgba(248, 151, 32, 0.10), transparent);
    transform: skewY(-5deg);
    top: auto;
    height: 180px;
    bottom: -60px;
}
.hero-eyebrow span {
    display: inline-block;
    background: #fff;
    color: #373592;
    border: 1px solid rgba(55, 53, 146, 0.15);
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.4px;
}
.hero-stats {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 40px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.hero-stat {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e6e6ef;
    border-radius: 18px;
    box-shadow: var(--card-shadow);
    padding: 24px 18px;
    text-align: center;
}
.hero-stat strong {
    display: block;
    font-size: 1.8rem;
    line-height: 1;
    color: #373592;
    margin-bottom: 8px;
}
.hero-stat span {
    display: block;
    color: #262626;
    font-size: 0.95rem;
}
.trust-item::before {
    content: "";
    width: 8px;
    height: 8px;
    background: #F89720;
    display: inline-block;
    border-radius: 2px;
    flex-shrink: 0;
}

/* TRUST BAR */
.trust-bar .large-12{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px 28px;
  padding:20px;
  background:var(--heading);
  color:#fff;
}

.trust-item{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:0.94rem;
  font-weight:600;
  text-align:left;
  
}
.hoa-section-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-size: 0.82rem;
    font-weight: 700;
    color:#f89720;
}
.hoa-section-label::before, .hoa-section-label::after {
    content: "";
    width: 42px;
    height: 2px;
    background: #f89720;
    border-radius: 2px;
}
/*h2.section-title-new {
    font-size: clamp(2rem, 4vw, 3.25rem);
    max-width: 800px;
    margin: 0 auto 18px;
    text-align: center;
}*/
.section-sub {
    max-width: 850px;
    margin: 0 auto 42px;
    text-align: center;
    color: var(--body);
    font-size: 1.05rem;
}
/* ORANGE SQUARE BULLET */
.trust-item::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #F89720;
  display: inline-block;
  border-radius: 2px; /* slight rounding (optional) */
  flex-shrink: 0;
}
.dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--accent);
  flex-shrink:0;
}

/* WHY GRID */
.why-grid,
.del-grid{
  max-width:var(--max-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:26px;
}
.del-grid{
    grid-template-columns:repeat(2, 1fr);
}
.why-card,
.del-card,
.pricing-card,
.cta-card{
  background:#fff;
  border:1px solid #e6e6ef;
  border-radius:18px;
  box-shadow: 0 12px 35px rgba(55, 53, 146, 0.10);
}
.section-sub-ttl
{
    color: #373592;
    line-height: 1.2;
    font-weight: 700;
        font-size: 1.3rem;
        font-family: 'Poppins', sans-serif;
        letter-spacing: 0.65px;
}
.why-card,
.del-card{
  padding:30px 24px;
  transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.why-card:hover,
.del-card:hover,
.pricing-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(55,53,146,0.14);
}

.why-icon,
.del-icon{
  width:64px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(248,151,32,0.12);
  font-size:1.8rem;
  margin-bottom:18px;
}
.why-icon span, .del-icon span
{
    position:relative;
    top:-3px;
}
/* SERVICES */
.hoa-page-section .hoa-services-section {
    overflow: hidden;
    background: var(--hoa-alt-bg);
}

.hoa-page-section .services-bg {
    display: none;
}

.hoa-page-section .services-cols {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.hoa-page-section .service-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 24px 22px;
    border: 1px solid #e6e6ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(55, 53, 146, 0.08);
}

.hoa-page-section .service-item h4 {
   margin: 0 0 8px;
    padding-top: 8px;
    color: #373592;
    line-height: 1.2;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    text-align: left;
}

.hoa-page-section .service-item p {
    margin-bottom: 0;
    text-align: left;
}

.hoa-page-section .service-check {
    display: flex;
    width: 38px;
    min-width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    border-radius: 50%;
    background: #f89720;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
}

.hoa-page-section .service-highlight {
    border-color: rgba(248, 151, 32, 0.35) !important;
    background: linear-gradient(135deg, rgba(248, 151, 32, 0.10), #fff) !important;
}

/* SERVICES */
.services-section{
  background:#efefef;
  overflow:hidden;
}

.services-bg{
 display:none;
}

.services-cols{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:22px;
}

.service-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:24px 22px;
  background:#fff;
  border-radius:var(--radius-sm);
  border:1px solid var(--light-border);
  box-shadow:0 8px 24px rgba(55,53,146,0.08);
}

.service-check{
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  color:#fff;
  font-weight:700;
  font-size:1rem;
  margin-top:2px;
}

.service-highlight{
  border:1px solid rgba(248,151,32,0.35);
  background:linear-gradient(135deg, rgba(248,151,32,0.10), #fff);
}

/* PRICING */
.pricing-section{
  text-align:center;
  margin-top: 50px !important;
}

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  margin-top:10px;
}

.pricing-card{
  position:relative;
  padding:34px 26px 30px;
  text-align:left;
  transition: all 0.5s;
}

.pricing-card.featured{
  border:2px solid #f89720;
  transform:translateY(-8px);
}

.pricing-badge{
  position:absolute;
  top:-14px;
  left:100px;
  background:#f89720;
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-size:0.8rem;
  font-weight:700;
}

.pricing-tier{
  font-size:1.45rem;
  font-weight:700;
  color:#373592;
  margin-bottom:10px;
}

.pricing-price{
  font-size:2.8rem;
  font-weight:800;
  color:#373592;
  line-height:1;
  margin-bottom:8px;
}

.pricing-per{
  color:#262626;
  font-size:0.95rem;
  margin-bottom:8px;
}

.pricing-total{
  color:#de800f;
  font-weight:700;
  margin-bottom:22px;
  font-size:0.95rem;
}

.pricing-includes{
  list-style:none;
  padding:0;
  margin:0 0 26px;
}

.pricing-includes li{
  position:relative;
  padding-left:26px;
  margin-bottom:12px;
  color:var(--body);
}

.pricing-includes li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--accent);
  font-weight:700;
}

/* PROCESS */
.process-section{
  background:#efefef;
  margin-top:50px !important;
}

.process-steps{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  max-width:1280px;
  margin:0 auto;
}

.process-step{
  position:relative;
  padding:28px 22px;
  background:#fff;
  border:1px solid #e6e6ef;
  border-radius:18px;
  box-shadow:0 12px 35px rgba(55, 53, 146, 0.10);
  text-align:left;
}

.process-num{
  font-size:0.95rem;
  font-weight:800;
  letter-spacing:1px;
  color:#F89720;
  margin-bottom:14px;
}

.step-dot{
  width:46px;
  height:4px;
  background:#373592;
  border-radius:999px;
  margin-bottom:18px;
}

/* DELIVERABLES */
.deliverables-section{
  background:#fff;
}

/* CTA */
.cta-section{
  background:linear-gradient(135deg, #373592 0%, #2e2d80 55%, #4e4cb0 100%);
  color:#fff;
}

.cta-content{
  text-align:center;
}

.cta-section .section-label{
  color:#ffd3a0;
}

.cta-section .section-label::before,
.cta-section .section-label::after{
  background:#ffd3a0;
}

.cta-section h2{
  color:#fff;
  font-size:clamp(2rem, 4vw, 3.3rem);
  margin-bottom:18px;
}

.cta-section p{
  color:rgba(255,255,255,0.92);
  max-width:820px;
  margin:0 auto 28px;
}

.cta-cards{
  margin-top:34px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}

.cta-card{
  padding:22px 18px;
  background:rgba(255,255,255,0.10);
  border:1px solid rgba(255,255,255,0.16);
  box-shadow:none;
  backdrop-filter:blur(4px);
}

.cta-card .label{
  font-size:0.85rem;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#ffd3a0;
  margin-bottom:8px;
  font-weight:700;
}

.cta-card .value{
  color:#fff;
  font-weight:700;
  font-size:1rem;
}

/* LINKS INSIDE PARAGRAPH */
.pricing-section p a,
.cta-section a{
  word-break:break-word;
}
a.footer-logo
{
    padding-top:0;
}
a.footer-logo img
{
    margin:0 auto;
}
@media (max-width: 768px) {
    .nci-hero { padding: 50px 24px 60px; }
    .nci-hero-title { font-size: 34px; }
    .nci-hero-lead { font-size: 17px; }

    .nci-bundle-header {
        flex-direction: column;
        align-items: flex-start;
        padding: 28px 24px;
    }
    .nci-bundle-price { text-align: left; }
    .nci-price-amount { font-size: 42px; }
    .nci-bundle-body { padding: 30px 24px; }

    .nci-service-block { padding: 28px 24px; }
    .nci-service-list { grid-template-columns: 1fr; }
    .nci-foundation-spotlight { padding: 32px 28px; }

    .nci-section-title,
    .nci-final-title { font-size: 26px; }
}

/* =========================================================
   PAGE 2 - WELL, SEPTIC & RESIDENTIAL PACKAGE  (.wsr-*)
   ========================================================= */
:root{
    --wsr-navy:#35358d;
    --wsr-navy-deep:#1f1f5c;
    --wsr-navy-soft:#4a4ab0;
    --wsr-gold:#f49720;
    --wsr-gold-deep:#d97c0a;
    --wsr-gold-soft:#fbb96b;
    --wsr-cream:#faf6ef;
    --wsr-cream-deep:#f1ebde;
    --wsr-ink:#14132e;
    --wsr-paper:#ffffff;
    --wsr-rule:rgba(20,19,46,0.12);
    --wsr-shadow-sm:0 2px 8px rgba(31,31,92,0.06);
    --wsr-shadow-md:0 10px 30px rgba(31,31,92,0.10);
    --wsr-shadow-lg:0 24px 60px rgba(31,31,92,0.18);
    --wsr-serif:'Fraunces', Georgia, serif;
    --wsr-sans:'Plus Jakarta Sans', system-ui, sans-serif;
}

/* ---------- SCOPED RESET + BASE (only inside .wsr-block) ---------- */
.wsr-block,
.wsr-block *{
    box-sizing:border-box;
    margin:0;
    padding:0;
}
.wsr-block{
    width:100%;
    font-family:var(--wsr-sans);
    color:var(--wsr-ink);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
.wsr-block a{text-decoration:none;}
.wsr-block ul{list-style:none;}

/* ---------- SHARED SECTION TITLES ---------- */
.wsr-section-eyebrow{
    font-family:var(--wsr-sans);font-weight:700;font-size:12px;
    letter-spacing:0.2em;text-transform:uppercase;color:var(--wsr-gold-deep);
    margin-bottom:14px;display:block;
}
.wsr-section-title{
    font-family:var(--wsr-serif);font-weight:600;
    font-size:clamp(32px,4vw,52px);line-height:1.05;
    letter-spacing:-0.02em;color:var(--wsr-ink);
    margin-bottom:18px;max-width:780px;
}
.wsr-section-title em{font-style:italic;color:var(--wsr-navy);font-weight:500;}
.wsr-section-lead{font-size:17px;color:#4a4863;line-height:1.7;max-width:680px;margin-bottom:50px;}

/* ---------- BUTTONS ---------- */
.wsr-btn-primary{
    background:var(--wsr-gold);color:var(--wsr-ink);
    padding:16px 28px;border-radius:8px;
    text-decoration:none;font-weight:700;font-size:15px;
    display:inline-flex;align-items:center;gap:10px;
    transition:all .25s;
    box-shadow:0 6px 0 var(--wsr-gold-deep), var(--wsr-shadow-md);
    letter-spacing:0.01em;
}
.wsr-btn-primary:hover{
    transform:translateY(2px);
    box-shadow:0 4px 0 var(--wsr-gold-deep), var(--wsr-shadow-sm);
    color:var(--wsr-ink);
}
.wsr-btn-secondary{
    background:transparent;color:var(--wsr-navy);
    padding:16px 26px;border-radius:8px;
    text-decoration:none;font-weight:600;font-size:15px;
    border:2px solid var(--wsr-navy);transition:all .2s;
}
.wsr-btn-secondary:hover{background:var(--wsr-navy);color:#fff;}
.wsr-btn-secondary--light{color:#fff;border-color:#fff;}
.wsr-btn-secondary--light:hover{background:#fff;color:var(--wsr-navy);}

/* ---------- HERO ---------- */
.is-wrapper>div.wsr-hero-section{
    position:relative;overflow:hidden;
    background:
        radial-gradient(ellipse 80% 60% at 80% 20%, rgba(244,151,32,0.12), transparent 60%),
        radial-gradient(ellipse 60% 50% at 10% 90%, rgba(53,53,141,0.08), transparent 60%),
        linear-gradient(180deg, var(--wsr-cream) 0%, var(--wsr-cream-deep) 100%);
    padding:80px 0 100px;
}
.wsr-hero-section::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(circle at 1px 1px, rgba(31,31,92,0.08) 1px, transparent 0);
    background-size:24px 24px;opacity:0.5;pointer-events:none;z-index:0;
}
.wsr-hero-block{position:relative;z-index:2;}
.wsr-hero-inner{
    display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;
}
.wsr-eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-family:var(--wsr-sans);font-weight:600;font-size:12px;
    letter-spacing:0.18em;text-transform:uppercase;color:var(--wsr-navy);
    background:rgba(53,53,141,0.08);padding:8px 16px;border-radius:999px;
    margin-bottom:24px;
}
.wsr-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--wsr-gold);}
.wsr-hero-title{
    font-family:var(--wsr-serif);font-weight:600;
    font-size:clamp(38px,5.5vw,68px);line-height:1.02;
    letter-spacing:-0.025em;color:var(--wsr-ink);margin-bottom:22px;
}
.wsr-hero-title em{font-style:italic;color:var(--wsr-navy);font-weight:500;}
.wsr-hero-sub{font-size:18px;line-height:1.6;color:#4a4863;max-width:540px;margin-bottom:32px;}
.wsr-hero-features{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px;}
.wsr-chip{
    background:var(--wsr-paper);border:1px solid var(--wsr-rule);
    padding:8px 14px;border-radius:999px;
    font-size:13px;font-weight:500;color:var(--wsr-ink);
    display:inline-flex;align-items:center;gap:8px;box-shadow:var(--wsr-shadow-sm);
}
.wsr-chip svg{width:14px;height:14px;color:var(--wsr-gold-deep);}
.wsr-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}

/* ---------- PRICE CARD ---------- */
.wsr-price-card{
    background:var(--wsr-paper);border-radius:20px;
    padding:36px 32px 32px;box-shadow:var(--wsr-shadow-lg);
    border:1px solid var(--wsr-rule);position:relative;transform:rotate(0.5deg);
}
.wsr-price-card::before{
    content:"BUNDLE & SAVE";position:absolute;top:-14px;left:32px;
    background:var(--wsr-navy);color:#fff;padding:6px 14px;border-radius:6px;
    font-size:11px;font-weight:700;letter-spacing:0.15em;
}
.wsr-price-card-title{
    font-family:var(--wsr-serif);font-size:22px;font-weight:600;
    color:var(--wsr-ink);margin-bottom:8px;line-height:1.2;margin-top:8px;
}
.wsr-price-card-sub{font-size:13px;color:#6a6880;margin-bottom:24px;}
.wsr-strike-line{
    display:flex;align-items:baseline;gap:12px;
    padding:12px 0;border-bottom:1px dashed var(--wsr-rule);
}
.wsr-strike-line .wsr-lbl{font-size:14px;color:#6a6880;flex:1;}
.wsr-strike-line .wsr-amt{
    font-family:var(--wsr-serif);font-size:18px;font-weight:500;
    color:#9c9ab0;text-decoration:line-through;
}
.wsr-pc-small{font-size:11px;color:#9c9ab0;}
.wsr-price-final{margin-top:20px;padding-top:20px;display:flex;align-items:baseline;gap:8px;}
.wsr-flex1{flex:1;}
.wsr-price-label{font-size:13px;color:#6a6880;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;}
.wsr-price-row{display:flex;align-items:baseline;gap:6px;margin-top:6px;}
.wsr-price-currency{font-family:var(--wsr-serif);font-size:32px;font-weight:600;color:var(--wsr-navy);}
.wsr-price-amount{font-family:var(--wsr-serif);font-size:68px;font-weight:700;color:var(--wsr-navy);line-height:1;letter-spacing:-0.03em;}
.wsr-pc-note{font-size:12px;color:#6a6880;margin-top:6px;font-weight:500;}
.wsr-price-savings{
    background:linear-gradient(135deg,var(--wsr-gold),var(--wsr-gold-deep));
    color:#fff;padding:14px 18px;border-radius:10px;margin-top:18px;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    box-shadow:0 8px 20px rgba(217,124,10,0.25);
}
.wsr-price-savings-label{font-size:13px;font-weight:600;letter-spacing:0.03em;opacity:0.95;}
.wsr-savings-sub{font-size:11px;opacity:0.8;margin-top:2px;letter-spacing:0.05em;}
.wsr-price-savings-amt{font-family:var(--wsr-serif);font-size:26px;font-weight:700;}
.wsr-price-foot{
    margin-top:20px;padding-top:18px;border-top:1px solid var(--wsr-rule);
    font-size:12px;color:#6a6880;line-height:1.5;
}
.wsr-foot-strong{color:var(--wsr-gold-deep);font-weight:700;}

/* ---------- WHAT'S INCLUDED ---------- */
.is-wrapper>div.wsr-included-section{background:var(--wsr-paper);position:relative;padding:90px 0;}
.wsr-included-section::before{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--wsr-rule),transparent);
}
.wsr-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:60px;}
.wsr-service-card{
    background:var(--wsr-cream);border-radius:16px;padding:36px;
    border:1px solid var(--wsr-rule);position:relative;transition:all .3s;overflow:hidden;
}
.wsr-service-card:hover{transform:translateY(-4px);box-shadow:var(--wsr-shadow-md);border-color:var(--wsr-navy-soft);}
.wsr-service-card::before{
    content:"";position:absolute;top:0;left:0;width:4px;height:100%;
    background:linear-gradient(180deg,var(--wsr-gold),var(--wsr-navy));
}
.wsr-service-num{font-family:var(--wsr-serif);font-size:14px;font-weight:600;color:var(--wsr-gold-deep);letter-spacing:0.1em;margin-bottom:10px;}
.wsr-service-card h3{font-family:var(--wsr-serif);font-size:26px;font-weight:600;color:var(--wsr-ink);margin-bottom:8px;letter-spacing:-0.01em;line-height:1.2;}
.wsr-service-value{
    display:inline-block;background:rgba(53,53,141,0.08);color:var(--wsr-navy);
    padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700;margin-bottom:16px;letter-spacing:0.04em;
}
.wsr-service-card p{font-size:15px;color:#4a4863;line-height:1.65;margin-bottom:18px;}
.wsr-service-list li{padding:7px 0;font-size:14px;color:#2a2845;display:flex;align-items:flex-start;gap:10px;}
.wsr-service-list li::before{
    content:"";flex-shrink:0;width:18px;height:18px;border-radius:50%;
    background:var(--wsr-navy);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-size:11px;background-repeat:no-repeat;background-position:center;margin-top:2px;
}

/* ---------- VALUE BREAKDOWN ---------- */
.wsr-value-block{
    background:linear-gradient(135deg, var(--wsr-navy-deep) 0%, var(--wsr-navy) 100%);
    color:#fff;border-radius:24px;padding:60px;position:relative;overflow:hidden;
}
.wsr-value-block::before{
    content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;
    background:radial-gradient(circle, rgba(244,151,32,0.18), transparent 70%);
}
.wsr-value-block::after{
    content:"";position:absolute;bottom:-150px;left:-100px;width:350px;height:350px;border-radius:50%;
    background:radial-gradient(circle, rgba(244,151,32,0.10), transparent 70%);
}
.wsr-value-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.wsr-value-head h3{font-family:var(--wsr-serif);font-size:38px;font-weight:600;line-height:1.1;letter-spacing:-0.02em;margin-bottom:16px;}
.wsr-value-head h3 em{color:var(--wsr-gold-soft);font-style:italic;}
.wsr-value-head p{font-size:16px;line-height:1.65;color:rgba(255,255,255,0.78);}
.wsr-value-table{
    background:rgba(255,255,255,0.06);backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,0.12);border-radius:16px;padding:8px;
}
.wsr-value-row{
    display:flex;justify-content:space-between;align-items:center;
    padding:14px 18px;border-bottom:1px solid rgba(255,255,255,0.08);font-size:15px;
}
.wsr-value-row:last-of-type{border-bottom:none;}
.wsr-value-row .wsr-item{color:rgba(255,255,255,0.92);}
.wsr-value-row .wsr-item small{display:block;color:rgba(255,255,255,0.55);font-size:12px;margin-top:2px;}
.wsr-value-row .wsr-price{font-family:var(--wsr-serif);font-weight:600;color:#fff;font-size:17px;}
.wsr-value-row.wsr-included-row .wsr-price{color:var(--wsr-gold-soft);font-style:italic;font-size:14px;}
.wsr-value-total{
    background:rgba(255,255,255,0.12);border-radius:12px;padding:18px;margin-top:10px;
    display:flex;justify-content:space-between;align-items:center;
}
.wsr-value-total .wsr-lbl{font-weight:700;font-size:14px;letter-spacing:0.04em;text-transform:uppercase;}
.wsr-value-total .wsr-amt{font-family:var(--wsr-serif);font-size:32px;font-weight:700;}
.wsr-your-price-box{
    margin-top:14px;background:var(--wsr-gold);color:var(--wsr-ink);
    border-radius:12px;padding:22px;
    display:flex;justify-content:space-between;align-items:center;
    box-shadow:0 12px 30px rgba(244,151,32,0.35);
}
.wsr-your-price-box .wsr-lbl{font-weight:700;font-size:14px;letter-spacing:0.04em;text-transform:uppercase;}
.wsr-your-price-box .wsr-lbl small{display:block;font-weight:600;font-size:11px;margin-top:2px;opacity:0.7;letter-spacing:0.08em;}
.wsr-your-price-box .wsr-amt{font-family:var(--wsr-serif);font-size:42px;font-weight:700;line-height:1;}
.wsr-value-kicker{text-align:center;margin-top:18px;font-family:var(--wsr-serif);font-size:20px;font-weight:600;color:var(--wsr-gold-soft);}

/* ---------- BONUS INCLUSIONS ---------- */
.is-wrapper>div.wsr-bonus-section{background:var(--wsr-cream-deep);padding:90px 0;}
.wsr-bonus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.wsr-bonus-card{
    background:var(--wsr-paper);border-radius:14px;padding:24px;
    border:1px solid var(--wsr-rule);text-align:left;transition:all .25s;position:relative;
}
.wsr-bonus-card:hover{transform:translateY(-3px);box-shadow:var(--wsr-shadow-md);}
.wsr-bonus-icon{
    width:44px;height:44px;border-radius:10px;
    background:linear-gradient(135deg,var(--wsr-navy),var(--wsr-navy-soft));
    color:#fff;display:grid;place-items:center;margin-bottom:14px;
}
.wsr-bonus-icon svg{width:22px;height:22px;}
.wsr-bonus-card h4{font-family:var(--wsr-serif);font-size:17px;font-weight:600;color:var(--wsr-ink);margin-bottom:6px;line-height:1.2;}
.wsr-bonus-val{font-size:11px;font-weight:700;color:var(--wsr-gold-deep);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:8px;display:block;}
.wsr-bonus-card p{font-size:13px;color:#4a4863;line-height:1.5;}

/* ---------- TRUST STRIP ---------- */
.is-wrapper>div.wsr-trust-section{background:var(--wsr-paper);padding:60px 0;border-top:1px solid var(--wsr-rule);border-bottom:1px solid var(--wsr-rule);}
.wsr-trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;align-items:center;}
.wsr-trust-item{text-align:center;}
.wsr-trust-num{font-family:var(--wsr-serif);font-size:42px;font-weight:700;color:var(--wsr-navy);line-height:1;letter-spacing:-0.02em;}
.wsr-trust-num span{color:var(--wsr-gold);}
.wsr-trust-lbl{font-size:13px;color:#4a4863;margin-top:8px;font-weight:500;}

/* ---------- MARYLAND SERVICE-AREA BAND ---------- */
.is-wrapper>div.wsr-md-section{background:linear-gradient(135deg,var(--wsr-cream-deep),var(--wsr-cream));padding:48px 0;border-bottom:1px solid var(--wsr-rule);}
.wsr-md-center{text-align:center;}
.wsr-md-pill{
    display:inline-flex;align-items:center;gap:12px;
    background:var(--wsr-paper);border:2px solid var(--wsr-gold);
    padding:10px 22px;border-radius:999px;margin-bottom:24px;box-shadow:var(--wsr-shadow-sm);
}
.wsr-md-pill-text{font-weight:700;color:var(--wsr-navy);letter-spacing:0.05em;font-size:14px;}
.wsr-md-title{font-family:var(--wsr-serif);font-size:clamp(24px,3vw,32px);font-weight:600;color:var(--wsr-ink);margin-bottom:14px;letter-spacing:-0.01em;line-height:1.2;}
.wsr-md-title em{color:var(--wsr-navy);font-style:italic;font-weight:500;}
.wsr-md-lead{font-size:15px;color:#4a4863;max-width:680px;margin:0 auto 24px;line-height:1.6;}
.wsr-md-areas{font-size:13px;color:#6a6880;line-height:1.8;max-width:920px;margin:0 auto;}
.wsr-md-areas-label{color:var(--wsr-navy);text-transform:uppercase;letter-spacing:0.08em;font-size:12px;display:block;margin-bottom:10px;font-weight:700;}

/* ---------- WHY DS ---------- */
.is-wrapper>div.wsr-why-section{background:var(--wsr-cream);padding:90px 0;}
.wsr-why-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start;}
.wsr-why-text .wsr-section-title{margin-bottom:24px;}
.wsr-why-text p{font-size:16px;color:#4a4863;line-height:1.7;margin-bottom:16px;}
.wsr-why-list{margin-top:30px;}
.wsr-why-list .wsr-item{padding:18px 0;border-bottom:1px solid var(--wsr-rule);display:flex;gap:16px;align-items:flex-start;}
.wsr-why-list .wsr-item:last-child{border-bottom:none;}
.wsr-why-num{
    flex-shrink:0;width:42px;height:42px;border-radius:8px;
    background:var(--wsr-navy);color:#fff;
    font-family:var(--wsr-serif);font-weight:700;font-size:18px;display:grid;place-items:center;
}
.wsr-why-item-content h4{font-family:var(--wsr-serif);font-size:18px;font-weight:600;color:var(--wsr-ink);margin-bottom:4px;}
.wsr-why-item-content p{font-size:14px;margin-bottom:0;color:#4a4863;}
.wsr-why-aside{
    background:var(--wsr-paper);border-radius:18px;padding:40px;
    box-shadow:var(--wsr-shadow-md);border:1px solid var(--wsr-rule);position:sticky;top:120px;
}
.wsr-quote-mark{font-family:var(--wsr-serif);font-size:80px;line-height:0.5;color:var(--wsr-gold);margin-bottom:14px;display:block;}
.wsr-quote{font-family:var(--wsr-serif);font-size:22px;line-height:1.4;color:var(--wsr-ink);font-weight:500;margin-bottom:20px;font-style:italic;}
.wsr-quote-attr{font-size:13px;color:#6a6880;font-weight:600;letter-spacing:0.05em;}
.wsr-badge-row{display:flex;gap:16px;margin-top:30px;padding-top:30px;border-top:1px solid var(--wsr-rule);align-items:center;flex-wrap:wrap;}
.wsr-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--wsr-navy);padding:7px 12px;border-radius:6px;background:rgba(53,53,141,0.08);}

/* ---------- FINAL CTA ---------- */
.is-wrapper>div.wsr-cta-section{
    background:linear-gradient(135deg, var(--wsr-navy) 0%, var(--wsr-navy-deep) 100%);
    color:#fff;text-align:center;position:relative;overflow:hidden;padding:90px 0;
}
.wsr-cta-section::before{
    content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(244,151,32,0.18), transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(244,151,32,0.10), transparent 50%);
}
.wsr-cta-block{position:relative;z-index:2;}
.wsr-cta-section h2{font-family:var(--wsr-serif);font-size:clamp(34px,4.5vw,56px);line-height:1.05;margin-bottom:20px;color:#fff;letter-spacing:-0.02em;font-weight:600;}
.wsr-cta-section h2 em{color:var(--wsr-gold-soft);font-style:italic;font-weight:500;}
.wsr-cta-section p{font-size:18px;color:rgba(255,255,255,0.8);max-width:580px;margin:0 auto 36px;line-height:1.6;}
.wsr-cta-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.wsr-cta-phone{margin-top:40px;font-family:var(--wsr-serif);font-size:36px;font-weight:600;color:#fff;text-decoration:none;display:inline-block;letter-spacing:-0.01em;}
.wsr-cta-phone-label{font-size:13px;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.18em;display:block;margin-bottom:8px;}

/* ---------- ANIMATIONS ---------- */
@keyframes wsrFadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.wsr-animate{opacity:0;animation:wsrFadeUp 0.8s ease forwards;}
.wsr-delay-1{animation-delay:0.1s;}
.wsr-delay-2{animation-delay:0.25s;}
.wsr-delay-3{animation-delay:0.4s;}
.wsr-delay-4{animation-delay:0.55s;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:960px){
    .wsr-hero-inner{grid-template-columns:1fr;gap:40px;}
    .wsr-service-grid{grid-template-columns:1fr;}
    .wsr-value-inner{grid-template-columns:1fr;gap:40px;}
    .wsr-value-block{padding:40px 28px;}
    .wsr-bonus-grid{grid-template-columns:repeat(2,1fr);}
    .wsr-trust-inner{grid-template-columns:repeat(2,1fr);gap:30px 20px;}
    .wsr-why-grid{grid-template-columns:1fr;}
    .wsr-why-aside{position:static;}
    .wsr-included-section,.wsr-bonus-section,.wsr-why-section,.wsr-cta-section{padding:64px 0;}
    .wsr-hero-section{padding:50px 0 70px;}
}
@media (max-width:600px){
    .wsr-price-card{padding:28px 22px;transform:none;}
    .wsr-price-amount{font-size:54px;}
    .wsr-bonus-grid{grid-template-columns:1fr;}
    .wsr-value-block{padding:30px 22px;}
    .wsr-value-head h3{font-size:28px;}
    .wsr-cta-phone{font-size:26px;}
    .wsr-hero-ctas{flex-direction:column;}
    .wsr-btn-primary,.wsr-btn-secondary{width:100%;justify-content:center;}
}

/* =========================================================
   PAGE 3 - FIRST-TIME HOME BUYER BUNDLE  (.fthb-*)
   ========================================================= */

:root{
    --fthb-navy:#35358d;
    --fthb-navy-deep:#1f1f5c;
    --fthb-navy-soft:#4747a8;
    --fthb-gold:#f49720;
    --fthb-gold-deep:#d97e0a;
    --fthb-cream:#faf6ef;
    --fthb-cream-2:#f3ecdf;
    --fthb-ink:#0e0e2a;
    --fthb-muted:#5a5a78;
    --fthb-line:rgba(53,53,141,0.14);
    --fthb-serif:'Fraunces','Times New Roman',serif;
    --fthb-sans:'Manrope',system-ui,sans-serif;
}

/* ---------- SCOPED RESET + BASE ---------- */
.fthb-block,
.fthb-block *{box-sizing:border-box;margin:0;padding:0;}
.fthb-block{
    width:100%;
    font-family:var(--fthb-sans);
    color:var(--fthb-ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}
.fthb-block a{text-decoration:none;}
.fthb-block ul{list-style:none;}

/* ---------- BUTTONS ---------- */
.fthb-btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 22px;border-radius:999px;
    font-weight:600;font-size:14px;letter-spacing:0.01em;
    text-decoration:none;border:none;cursor:pointer;transition:all .25s ease;
}
.fthb-btn-primary{background:var(--fthb-gold);color:var(--fthb-navy-deep);}
.fthb-btn-primary:hover{background:var(--fthb-gold-deep);color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(244,151,32,.55);}
.fthb-btn-ghost{background:transparent;color:var(--fthb-navy);border:1.5px solid var(--fthb-navy);}
.fthb-btn-ghost:hover{background:var(--fthb-navy);color:var(--fthb-cream);}
.fthb-btn-light{background:#fff;color:var(--fthb-navy-deep);}
.fthb-btn-light:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(0,0,0,.25);}

/* ---------- SHARED TITLES ---------- */
.fthb-section-label{
    font-family:var(--fthb-serif);font-style:italic;font-weight:300;
    color:var(--fthb-gold-deep);font-size:18px;margin-bottom:18px;letter-spacing:0.02em;
}
.fthb-section-title{
    font-family:var(--fthb-serif);font-weight:400;
    font-size:clamp(34px,4.5vw,58px);line-height:1.08;letter-spacing:-0.03em;
    color:var(--fthb-navy-deep);max-width:780px;margin:0 auto 28px;
}
.fthb-section-title em{font-style:italic;color:var(--fthb-gold-deep);font-weight:300;}

/* ---------- HERO ---------- */
.is-wrapper>div.fthb-hero-section{position:relative;overflow:hidden;background:var(--fthb-cream);padding:80px 0 100px;}
.fthb-hero-block{position:relative;z-index:1;}
.fthb-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;}
.fthb-eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-size:12px;letter-spacing:0.22em;text-transform:uppercase;
    color:var(--fthb-navy);font-weight:700;padding:8px 14px;border-radius:999px;
    background:rgba(53,53,141,0.08);margin-bottom:28px;
}
.fthb-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--fthb-gold);}
.fthb-hero-title{
    font-family:var(--fthb-serif);font-size:clamp(42px,6vw,82px);line-height:1.02;
    font-weight:400;letter-spacing:-0.035em;margin-bottom:28px;color:var(--fthb-navy-deep);
}
.fthb-hero-title em{font-style:italic;font-weight:300;color:var(--fthb-gold-deep);position:relative;}
.fthb-hero-title em::after{content:"";position:absolute;left:0;right:0;bottom:0.08em;height:0.12em;background:var(--fthb-gold);opacity:.25;border-radius:2px;}
.fthb-hero-sub{font-size:19px;color:var(--fthb-muted);max-width:540px;margin-bottom:36px;line-height:1.55;}
.fthb-hero-sub em{font-style:italic;}
.fthb-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px;}
.fthb-hero-meta{display:flex;gap:30px;flex-wrap:wrap;padding-top:32px;border-top:1px solid var(--fthb-line);}
.fthb-meta-item{display:flex;flex-direction:column;gap:4px;}
.fthb-meta-item .fthb-k{font-family:var(--fthb-serif);font-size:30px;color:var(--fthb-navy);font-weight:600;letter-spacing:-0.02em;}
.fthb-meta-item .fthb-v{font-size:12px;color:var(--fthb-muted);text-transform:uppercase;letter-spacing:0.14em;}

/* hero card */
.fthb-hero-card{
    position:relative;background:var(--fthb-navy);color:var(--fthb-cream);
    border-radius:28px;padding:44px 38px;
    box-shadow:0 40px 80px -30px rgba(53,53,141,0.5);transform:rotate(1.2deg);
}
.fthb-hero-card::before{content:"";position:absolute;inset:-1px;border-radius:28px;background:linear-gradient(135deg,var(--fthb-gold),transparent 40%);opacity:0.18;pointer-events:none;}
.fthb-price-tag{
    position:absolute;top:-24px;right:-22px;
    background:var(--fthb-gold);color:var(--fthb-navy-deep);
    width:140px;height:140px;border-radius:50%;display:grid;place-items:center;text-align:center;
    transform:rotate(8deg);box-shadow:0 18px 40px -10px rgba(244,151,32,.6);font-family:var(--fthb-serif);
}
.fthb-price-tag .fthb-small{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-family:var(--fthb-sans);font-weight:700;opacity:.7;}
.fthb-price-tag .fthb-big{font-size:38px;font-weight:600;line-height:1;letter-spacing:-0.03em;margin:2px 0;}
.fthb-price-tag .fthb-tiny{font-size:10px;font-family:var(--fthb-sans);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;opacity:.7;}
.fthb-hero-card h3{font-family:var(--fthb-serif);font-weight:400;font-size:26px;line-height:1.2;margin-bottom:20px;letter-spacing:-0.02em;max-width:75%;}
.fthb-hero-card h3 strong{color:var(--fthb-gold);font-weight:500;}
.fthb-hero-card ul{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;}
.fthb-hero-card li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;opacity:.92;}
.fthb-hero-card li::before{
    content:"";flex-shrink:0;width:18px;height:18px;border-radius:50%;
    background:rgba(244,151,32,0.2);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.5 2.5L13 6.5' stroke='%23f49720' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position:center;background-repeat:no-repeat;margin-top:2px;
}
.fthb-hero-card .fthb-card-foot{border-top:1px solid rgba(255,255,255,0.14);padding-top:18px;font-size:12.5px;opacity:.7;display:flex;justify-content:space-between;align-items:center;}

/* decorative blobs */
.fthb-blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;}
.fthb-blob-1{width:380px;height:380px;background:rgba(244,151,32,0.18);top:-100px;right:30%;}
.fthb-blob-2{width:300px;height:300px;background:rgba(53,53,141,0.16);bottom:-80px;left:-40px;}

/* ---------- STORY ---------- */
.is-wrapper>div.fthb-story-section{padding:120px 0 100px;background:var(--fthb-cream);position:relative;}
.fthb-story-inner{text-align:center;max-width:1100px;margin:0 auto;}
.fthb-story-lead{font-size:19px;color:var(--fthb-muted);max-width:680px;margin:0 auto 60px;line-height:1.65;}
.fthb-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:left;margin-top:40px;}
.fthb-pillar{padding:36px 28px;background:#fff;border-radius:18px;border:1px solid var(--fthb-line);transition:all .35s ease;position:relative;overflow:hidden;}
.fthb-pillar::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--fthb-gold);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.fthb-pillar:hover{transform:translateY(-6px);box-shadow:0 24px 50px -20px rgba(53,53,141,0.18);border-color:transparent;}
.fthb-pillar:hover::before{transform:scaleX(1);}
.fthb-pillar-num{font-family:var(--fthb-serif);font-style:italic;font-weight:300;color:var(--fthb-gold-deep);font-size:42px;line-height:1;margin-bottom:18px;letter-spacing:-0.04em;}
.fthb-pillar h4{font-family:var(--fthb-serif);font-weight:500;font-size:22px;letter-spacing:-0.02em;color:var(--fthb-navy-deep);margin-bottom:12px;}
.fthb-pillar p{font-size:15px;color:var(--fthb-muted);line-height:1.6;}

/* ---------- WHAT'S INCLUDED ---------- */
.is-wrapper>div.fthb-included-section{padding:120px 0;background:linear-gradient(180deg,var(--fthb-cream-2) 0%,var(--fthb-cream) 100%);position:relative;}
.fthb-included-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:70px;}
.fthb-included-head .fthb-label{font-family:var(--fthb-serif);font-style:italic;color:var(--fthb-gold-deep);font-size:18px;font-weight:300;margin-bottom:12px;}
.fthb-included-head h2{font-family:var(--fthb-serif);font-weight:400;font-size:clamp(34px,4.5vw,56px);line-height:1.08;letter-spacing:-0.03em;color:var(--fthb-navy-deep);}
.fthb-included-head h2 em{font-style:italic;color:var(--fthb-gold-deep);font-weight:300;}
.fthb-included-head p{font-size:17px;color:var(--fthb-muted);line-height:1.65;padding-bottom:10px;}
.fthb-features{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--fthb-line);}
.fthb-feature{display:grid;grid-template-columns:80px 1fr auto;gap:24px;align-items:center;padding:32px 24px;border-bottom:1px solid var(--fthb-line);transition:background .25s ease;position:relative;}
.fthb-feature:nth-child(odd){border-right:1px solid var(--fthb-line);}
.fthb-feature:hover{background:rgba(255,255,255,0.5);}
.fthb-feature-num{font-family:var(--fthb-serif);font-style:italic;color:var(--fthb-gold-deep);font-size:36px;font-weight:300;letter-spacing:-0.04em;line-height:1;}
.fthb-feature-body h5{font-family:var(--fthb-serif);font-weight:500;font-size:20px;letter-spacing:-0.015em;color:var(--fthb-navy-deep);margin-bottom:6px;}
.fthb-feature-body p{font-size:14.5px;color:var(--fthb-muted);line-height:1.5;}
.fthb-feature-mark{width:36px;height:36px;border-radius:50%;background:var(--fthb-navy);color:var(--fthb-gold);display:grid;place-items:center;flex-shrink:0;}
.fthb-feature-mark svg{width:18px;height:18px;}
/* highlighted last feature row */
.fthb-feature.fthb-feature-accent{background:var(--fthb-navy);color:var(--fthb-cream);border-color:transparent;}
.fthb-feature.fthb-feature-accent .fthb-feature-num{color:var(--fthb-gold);}
.fthb-feature.fthb-feature-accent .fthb-feature-body h5{color:#fff;}
.fthb-feature.fthb-feature-accent .fthb-feature-body p{color:rgba(255,255,255,0.78);}
.fthb-feature.fthb-feature-accent .fthb-feature-mark{background:var(--fthb-gold);color:var(--fthb-navy-deep);}

/* ---------- INSPECTOR + PAYMENT SPLIT ---------- */
.is-wrapper>div.fthb-split-section{padding:120px 0;background:var(--fthb-navy-deep);color:var(--fthb-cream);position:relative;overflow:hidden;}
.fthb-split-block h1,.fthb-split-block h2,.fthb-split-block h3,.fthb-split-block h4{color:var(--fthb-cream);}
.fthb-split-section::before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(244,151,32,0.15) 0%,transparent 70%);top:-200px;right:-150px;}
.fthb-split-block{position:relative;z-index:1;}
.fthb-split-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center;}
.fthb-split-inner h2{font-family:var(--fthb-serif);font-weight:400;font-size:clamp(34px,4.4vw,52px);line-height:1.08;letter-spacing:-0.03em;margin-bottom:24px;}
.fthb-split-inner h2 em{font-style:italic;color:var(--fthb-gold);font-weight:300;}
.fthb-split-lead{font-size:18px;line-height:1.65;color:rgba(255,255,255,0.82);margin-bottom:36px;}
.fthb-credentials{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px;}
.fthb-cred{padding:8px 16px;border:1px solid rgba(244,151,32,0.4);border-radius:999px;font-size:12.5px;letter-spacing:0.05em;color:var(--fthb-gold);}
.fthb-signature{display:flex;align-items:center;gap:18px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.14);}

/* ---------- TRUST STRIP (navy band under hero) ---------- */
.fthb-trust-section{position:relative;isolation:isolate;}
.fthb-trust-strip{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px 36px;
    padding:22px 0;
}
/* full-bleed navy background escaping the 1200px container */
.fthb-trust-strip::before{
    content:'';
    position:absolute;
    top:0;bottom:0;left:50%;
    width:100vw;margin-left:-50vw;
    background:var(--fthb-navy-deep);
    z-index:-1;
}
.fthb-trust-item{
    display:flex;
    align-items:center;
    gap:11px;
    flex:1 1 auto;
    justify-content:center;
    font-family:var(--fthb-sans, 'Manrope', system-ui, sans-serif);
    font-size:15px;
    line-height:1.2;
    color:#fff;
    white-space:nowrap;
}
.fthb-trust-icon{
    width:22px;height:22px;
    flex-shrink:0;
    color:var(--fthb-gold);
}
.fthb-trust-text{color:rgba(255,255,255,0.78);}
.fthb-trust-text strong{color:#fff;font-weight:700;}

@media (max-width:860px){
    .fthb-trust-strip{justify-content:center;gap:16px 28px;}
    .fthb-trust-item{flex:0 1 auto;font-size:14px;}
}
@media (max-width:560px){
    .fthb-trust-strip{flex-direction:column;align-items:flex-start;gap:14px;padding:24px 4px;}
    .fthb-trust-item{justify-content:flex-start;width:100%;}
}
.fthb-signature-mark{width:64px;height:64px;border-radius:50%;background:var(--fthb-gold);color:var(--fthb-navy-deep);display:grid;place-items:center;font-family:var(--fthb-serif);font-weight:600;font-size:24px;}
.fthb-signature-info strong{display:block;font-family:var(--fthb-serif);font-size:18px;font-weight:500;color:#fff;}
.fthb-signature-info span{font-size:13px;color:rgba(255,255,255,0.7);}
.fthb-bnpl-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);border-radius:24px;padding:40px 36px;backdrop-filter:blur(10px);}
.fthb-bnpl-tag{display:inline-block;background:var(--fthb-gold);color:var(--fthb-navy-deep);font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:20px;}
.fthb-bnpl-card h3{font-family:var(--fthb-serif);font-weight:400;font-size:30px;line-height:1.15;letter-spacing:-0.02em;margin-bottom:16px;color:#fff;}
.fthb-bnpl-card p{font-size:15px;line-height:1.6;color:rgba(255,255,255,0.82);margin-bottom:24px;}
.fthb-bnpl-points{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.fthb-bnpl-points li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,0.9);}
.fthb-bnpl-points li::before{content:"→";color:var(--fthb-gold);font-weight:700;flex-shrink:0;}
.fthb-pay-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 26px;}
.fthb-pay-opt{padding:20px 18px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:14px;transition:all .3s ease;position:relative;}
.fthb-pay-opt:hover{background:rgba(244,151,32,0.08);border-color:rgba(244,151,32,0.4);transform:translateY(-2px);}
.fthb-pay-opt-icon{width:34px;height:34px;border-radius:10px;background:rgba(244,151,32,0.18);color:var(--fthb-gold);display:grid;place-items:center;margin-bottom:12px;}
.fthb-pay-opt-icon svg{width:18px;height:18px;}
.fthb-pay-opt h4{font-family:var(--fthb-serif);font-weight:500;font-size:17px;letter-spacing:-0.015em;color:#fff;margin-bottom:6px;line-height:1.2;}
.fthb-pay-opt p{font-size:13px;line-height:1.5;color:rgba(255,255,255,0.78);margin:0;}

/* ---------- COMPARE ---------- */
.is-wrapper>div.fthb-compare-section{padding:120px 0;background:var(--fthb-cream);}
.fthb-compare-head{text-align:center;margin-bottom:60px;}
.fthb-compare-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(53,53,141,0.15);}
.fthb-compare-col{padding:36px 28px;border-right:1px solid var(--fthb-line);position:relative;}
.fthb-compare-col:last-child{border-right:none;}
.fthb-compare-col.fthb-highlight{background:var(--fthb-navy);color:var(--fthb-cream);border-right-color:transparent;}
.fthb-compare-col.fthb-highlight::before{content:"FIRST-TIME BUYER'S CHOICE";position:absolute;top:14px;left:50%;transform:translateX(-50%);font-size:9.5px;font-weight:700;letter-spacing:0.18em;color:var(--fthb-gold);}
.fthb-compare-tier{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--fthb-muted);font-weight:700;margin-bottom:10px;}
.fthb-compare-col.fthb-highlight .fthb-compare-tier{color:var(--fthb-gold);margin-top:18px;}
.fthb-compare-name{font-family:var(--fthb-serif);font-weight:500;font-size:22px;line-height:1.2;letter-spacing:-0.02em;color:var(--fthb-navy-deep);margin-bottom:14px;min-height:54px;}
.fthb-compare-col.fthb-highlight .fthb-compare-name{color:#fff;}
.fthb-compare-price{font-family:var(--fthb-serif);font-weight:300;font-size:38px;color:var(--fthb-navy);letter-spacing:-0.03em;margin-bottom:6px;}
.fthb-compare-col.fthb-highlight .fthb-compare-price{color:var(--fthb-gold);}
.fthb-compare-price small{font-family:var(--fthb-sans);font-size:13px;color:var(--fthb-muted);font-weight:500;letter-spacing:0;}
.fthb-compare-col.fthb-highlight .fthb-compare-price small{color:rgba(255,255,255,0.6);}
.fthb-compare-desc{font-size:13.5px;color:var(--fthb-muted);line-height:1.55;margin-bottom:22px;min-height:80px;}
.fthb-compare-col.fthb-highlight .fthb-compare-desc{color:rgba(255,255,255,0.78);}
.fthb-compare-btn{display:block;text-align:center;padding:11px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;border:1.5px solid var(--fthb-navy);color:var(--fthb-navy);transition:all .25s ease;}
.fthb-compare-btn:hover{background:var(--fthb-navy);color:#fff;}
.fthb-compare-col.fthb-highlight .fthb-compare-btn{background:var(--fthb-gold);color:var(--fthb-navy-deep);border-color:var(--fthb-gold);}
.fthb-compare-col.fthb-highlight .fthb-compare-btn:hover{background:var(--fthb-gold-deep);color:#fff;border-color:var(--fthb-gold-deep);}

/* ---------- FAQ ---------- */
.is-wrapper>div.fthb-faq-section{padding:120px 0;background:var(--fthb-cream-2);}
.fthb-faq-inner{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;max-width:980px;margin:0 auto;}
.fthb-faq-head h2{font-family:var(--fthb-serif);font-weight:400;font-size:clamp(34px,4.5vw,50px);line-height:1.08;letter-spacing:-0.03em;color:var(--fthb-navy-deep);margin-bottom:18px;}
.fthb-faq-head h2 em{font-style:italic;color:var(--fthb-gold-deep);font-weight:300;}
.fthb-faq-head p{color:var(--fthb-muted);font-size:15.5px;line-height:1.6;}
.fthb-faq-items{display:flex;flex-direction:column;}
.fthb-faq-item{border-bottom:1px solid var(--fthb-line);padding:24px 0;}
.fthb-faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--fthb-serif);font-weight:500;font-size:19px;color:var(--fthb-navy-deep);letter-spacing:-0.015em;transition:color .2s ease;}
.fthb-faq-item summary::-webkit-details-marker{display:none;}
.fthb-faq-item summary::after{content:"+";font-family:var(--fthb-serif);font-weight:300;font-size:30px;color:var(--fthb-gold-deep);transition:transform .3s ease;line-height:1;flex-shrink:0;}
.fthb-faq-item[open] summary::after{transform:rotate(45deg);}
.fthb-faq-item[open] summary{color:var(--fthb-gold-deep);}
.fthb-faq-item p{padding-top:14px;color:var(--fthb-muted);font-size:15px;line-height:1.65;}
.fthb-faq-item p strong{color:var(--fthb-navy-deep);}

/* ---------- CTA ---------- */
.is-wrapper>div.fthb-cta-section{padding:120px 0 100px;background:var(--fthb-cream);position:relative;overflow:hidden;}
.fthb-cta-inner{max-width:1100px;margin:0 auto;background:var(--fthb-navy);border-radius:32px;padding:80px 60px;text-align:center;color:var(--fthb-cream);position:relative;overflow:hidden;}
.fthb-cta-inner::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(244,151,32,0.2) 0%,transparent 70%);bottom:-200px;left:-100px;}
.fthb-cta-inner::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(244,151,32,0.15) 0%,transparent 70%);top:-100px;right:-50px;}
.fthb-cta-content{position:relative;z-index:1;}
.fthb-cta-content h2{font-family:var(--fthb-serif);font-weight:400;font-size:clamp(36px,5vw,62px);line-height:1.05;letter-spacing:-0.03em;margin-bottom:24px;}
.fthb-cta-content h2 em{font-style:italic;color:var(--fthb-gold);font-weight:300;}
.fthb-cta-content p{font-size:18px;opacity:.85;max-width:540px;margin:0 auto 36px;line-height:1.6;}
.fthb-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:32px;}
.fthb-cta-foot{font-size:13px;opacity:.6;letter-spacing:0.04em;}

/* ---------- ANIMATIONS ---------- */
@keyframes fthbFadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.fthb-hero-block .fthb-hero-title,
.fthb-hero-block .fthb-hero-sub,
.fthb-hero-block .fthb-hero-actions,
.fthb-hero-block .fthb-hero-meta,
.fthb-hero-block .fthb-hero-card,
.fthb-hero-block .fthb-eyebrow{animation:fthbFadeUp .9s cubic-bezier(.2,.7,.3,1) both;}
.fthb-hero-block .fthb-eyebrow{animation-delay:.05s;}
.fthb-hero-block .fthb-hero-sub{animation-delay:.2s;}
.fthb-hero-block .fthb-hero-actions{animation-delay:.3s;}
.fthb-hero-block .fthb-hero-meta{animation-delay:.4s;}
.fthb-hero-block .fthb-hero-card{animation-delay:.5s;}

/* ---------- RESPONSIVE ---------- */
@media(max-width:960px){
    .fthb-hero-grid{grid-template-columns:1fr;gap:80px;}
    .fthb-hero-section{padding:60px 0 80px;}
    .fthb-price-tag{width:118px;height:118px;right:-10px;top:-30px;}
    .fthb-price-tag .fthb-big{font-size:32px;}
    .fthb-split-section{padding:80px 0;}
    .fthb-split-inner{grid-template-columns:1fr;gap:48px;}
    .fthb-compare-section{padding:80px 0;}
    .fthb-compare-grid{grid-template-columns:1fr 1fr;}
    .fthb-compare-col{border-bottom:1px solid var(--fthb-line);}
}
@media(max-width:860px){
    .fthb-pillars{grid-template-columns:1fr;gap:18px;}
    .fthb-story-section{padding:80px 0;}
    .fthb-included-section{padding:80px 0;}
    .fthb-included-head{grid-template-columns:1fr;gap:24px;}
    .fthb-features{grid-template-columns:1fr;}
    .fthb-feature:nth-child(odd){border-right:none;}
    .fthb-feature{grid-template-columns:60px 1fr auto;padding:24px 8px;gap:18px;}
    .fthb-feature-num{font-size:28px;}
    .fthb-faq-section{padding:80px 0;}
    .fthb-faq-inner{grid-template-columns:1fr;gap:32px;}
}
@media(max-width:760px){
    .fthb-cta-section{padding:80px 0;}
    .fthb-cta-inner{padding:60px 28px;border-radius:24px;}
}
@media(max-width:560px){
    .fthb-compare-grid{grid-template-columns:1fr;}
    .fthb-compare-col{border-right:none;}
}
@media(max-width:480px){
    .fthb-pay-options{grid-template-columns:1fr;}
}


/* =========================================================
   PAGE 4 - PEACE OF MIND BUNDLE (.pom-*)
   Scoped to .pom-* + --pom-* vars. Fonts (Fraunces + Manrope)
   come from the shared @import at the top of this file.
   Full-bleed dark sections use a ::before 100vw breakout so
   the locked is-content-1200 container stays centred.
   ========================================================= */
:root{
    --pom-navy:#35358d;
    --pom-navy-deep:#1f1f5c;
    --pom-navy-soft:#4747a8;
    --pom-gold:#f49720;
    --pom-gold-deep:#d97e0a;
    --pom-cream:#faf6ef;
    --pom-cream-2:#f3ecdf;
    --pom-ink:#0e0e2a;
    --pom-muted:#5a5a78;
    --pom-line:rgba(53,53,141,0.14);
    --pom-line-light:rgba(255,255,255,0.12);
    --pom-serif:'Fraunces','Times New Roman',serif;
    --pom-sans:'Manrope',system-ui,sans-serif;
}
.pom-block{
    font-family:var(--pom-sans);
    color:var(--pom-ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}
.pom-block *{box-sizing:border-box;margin:0;padding:0}

/* shared buttons */
.pom-btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 22px;border-radius:999px;
    font-weight:600;font-size:14px;letter-spacing:0.01em;
    text-decoration:none;border:none;cursor:pointer;
    transition:all .25s ease;font-family:var(--pom-sans);
}
.pom-btn-primary{background:var(--pom-gold);color:var(--pom-navy-deep)}
.pom-btn-primary:hover{background:var(--pom-gold-deep);color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(244,151,32,.55)}
.pom-btn-ghost{background:transparent;color:var(--pom-cream);border:1.5px solid rgba(255,255,255,0.4)}
.pom-btn-ghost:hover{background:var(--pom-cream);color:var(--pom-navy-deep);border-color:var(--pom-cream)}
.pom-btn-light{background:#fff;color:var(--pom-navy-deep)}
.pom-btn-light:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(0,0,0,.25)}

.pom-section-label{
    font-family:var(--pom-serif);font-style:italic;font-weight:300;
    color:var(--pom-gold-deep);font-size:18px;letter-spacing:0.02em;
    margin-bottom:16px;
}

/* ============ HERO (dark) ============ */
.is-wrapper>div.pom-hero-section{position:relative;background:var(--pom-navy-deep);overflow:hidden}
.pom-hero-block{
    position:relative;z-index:1;
    color:var(--pom-cream);text-align:center;
    padding:30px 0 0;
}
.pom-hero-block::before{
    content:"";position:absolute;
    width:900px;height:900px;border-radius:50%;
    background:radial-gradient(circle,rgba(244,151,32,0.18) 0%,transparent 65%);
    top:-360px;left:50%;transform:translateX(-50%);
    pointer-events:none;z-index:-1;
}
.pom-hero-inner{position:relative;z-index:1}
.pom-eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-size:12px;letter-spacing:0.24em;text-transform:uppercase;
    color:var(--pom-gold);font-weight:700;
    padding:8px 18px;border-radius:999px;
    background:rgba(244,151,32,0.1);
    border:1px solid rgba(244,151,32,0.3);
    margin-bottom:32px;
}
.pom-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pom-gold)}
.pom-hero-title{
    font-family:var(--pom-serif);
    font-size:clamp(48px,7.5vw,110px);
    line-height:0.98;font-weight:300;letter-spacing:-0.045em;
    margin-bottom:30px;color:var(--pom-cream);
}
.pom-hero-title em{font-style:italic;font-weight:300;color:var(--pom-gold);display:block}
.pom-hero-sub{
    font-size:20px;color:rgba(255,255,255,0.78);
    max-width:680px;margin:0 auto 44px;line-height:1.6;
}
.pom-hero-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:80px}
.pom-hero-stats{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    padding-top:48px;border-top:1px solid var(--pom-line-light);
}
.pom-stat{
    padding:36px 20px 60px;text-align:center;
    border-right:1px solid var(--pom-line-light);position:relative;
}
.pom-stat:last-child{border-right:none}
.pom-stat .pom-stat-label{
    font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;
    color:var(--pom-gold);font-weight:700;margin-bottom:14px;
}
.pom-stat .pom-stat-value{
    font-family:var(--pom-serif);font-weight:300;
    font-size:46px;letter-spacing:-0.035em;line-height:1;
    color:#fff;margin-bottom:8px;
}
.pom-stat .pom-stat-value sup{font-size:18px;font-weight:400;color:var(--pom-gold);vertical-align:top;top:8px;position:relative}
.pom-stat .pom-stat-desc{font-size:13px;color:rgba(255,255,255,0.6);line-height:1.4}
@media(max-width:860px){
    .pom-hero-stats{grid-template-columns:1fr 1fr}
    .pom-stat{border-bottom:1px solid var(--pom-line-light)}
    .pom-stat:nth-child(2){border-right:none}
}

/* ============ STORY ============ */
.is-wrapper>div.pom-story-section{background:var(--pom-cream)}
.pom-story-block{padding:30px 0}
.pom-story-grid{
    display:grid;grid-template-columns:1fr 1.3fr;gap:90px;align-items:start;
}
.pom-story-grid h2{
    font-family:var(--pom-serif);font-weight:400;
    font-size:clamp(36px,4.5vw,58px);line-height:1.05;letter-spacing:-0.03em;
    color:var(--pom-navy-deep);position:sticky;top:40px;
}
.pom-story-grid h2 em{font-style:italic;color:var(--pom-gold-deep);font-weight:300}
.pom-story-lead{font-size:18px;color:var(--pom-muted);line-height:1.7;margin-bottom:32px}
.pom-story-list{
    list-style:none;display:flex;flex-direction:column;gap:24px;
    border-left:2px solid var(--pom-line);padding-left:28px;
}
.pom-story-list li{position:relative;font-size:16px;color:var(--pom-ink);line-height:1.6}
.pom-story-list li::before{
    content:"";position:absolute;left:-37px;top:8px;
    width:14px;height:14px;border-radius:50%;
    background:var(--pom-cream);border:3px solid var(--pom-gold);
}
.pom-story-list li strong{
    display:block;font-family:var(--pom-serif);font-weight:500;
    color:var(--pom-navy-deep);font-size:18px;letter-spacing:-0.015em;margin-bottom:4px;
}
.pom-story-list li span{color:var(--pom-muted);font-size:15px}
@media(max-width:960px){
    .pom-story-grid{grid-template-columns:1fr;gap:48px}
    .pom-story-grid h2{position:static}
}

/* ============ ENVIRONMENTAL TRIO ============ */
.is-wrapper>div.pom-trio-section{background:linear-gradient(180deg,var(--pom-cream) 0%,var(--pom-cream-2) 100%)}
.pom-trio-block{padding:30px 0}
.pom-trio-head{text-align:center;margin-bottom:70px}
.pom-trio-head h2{
    font-family:var(--pom-serif);font-weight:400;
    font-size:clamp(36px,4.6vw,58px);line-height:1.05;letter-spacing:-0.03em;
    color:var(--pom-navy-deep);max-width:820px;margin:0 auto 20px;
}
.pom-trio-head h2 em{font-style:italic;color:var(--pom-gold-deep);font-weight:300}
.pom-trio-head p{font-size:18px;color:var(--pom-muted);max-width:640px;margin:0 auto;line-height:1.6}
.pom-trio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.pom-trio-card{
    background:#fff;border-radius:24px;padding:42px 36px;
    position:relative;overflow:hidden;border:1px solid var(--pom-line);
    transition:all .4s ease;
}
.pom-trio-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:4px;
    background:linear-gradient(90deg,var(--pom-gold) 0%,var(--pom-gold-deep) 100%);
    transform:scaleX(0);transform-origin:left;
    transition:transform .5s cubic-bezier(.4,0,.2,1);
}
.pom-trio-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -25px rgba(53,53,141,0.25);border-color:transparent}
.pom-trio-card:hover::before{transform:scaleX(1)}
.pom-trio-icon{
    width:56px;height:56px;border-radius:14px;
    background:var(--pom-navy);color:var(--pom-gold);
    display:grid;place-items:center;margin-bottom:24px;
}
.pom-trio-icon svg{width:28px;height:28px}
.pom-trio-card h3{
    font-family:var(--pom-serif);font-weight:500;
    font-size:26px;line-height:1.15;letter-spacing:-0.02em;
    color:var(--pom-navy-deep);margin-bottom:8px;
}
.pom-trio-tagline{
    font-size:12px;color:var(--pom-gold-deep);
    letter-spacing:0.16em;text-transform:uppercase;font-weight:700;margin-bottom:18px;
}
.pom-trio-card p{font-size:15px;color:var(--pom-muted);line-height:1.65;margin-bottom:24px}
.pom-trio-facts{list-style:none;border-top:1px solid var(--pom-line);padding-top:18px}
.pom-trio-facts li{
    display:flex;justify-content:space-between;align-items:flex-start;
    padding:8px 0;font-size:13.5px;gap:14px;
}
.pom-trio-facts li span:first-child{color:var(--pom-muted);letter-spacing:0.04em}
.pom-trio-facts li span:last-child{color:var(--pom-navy-deep);font-weight:600;text-align:right}
@media(max-width:960px){.pom-trio-grid{grid-template-columns:1fr;gap:18px}}

/* ============ INCLUDED (categorized) ============ */
.is-wrapper>div.pom-included-section{background:var(--pom-cream)}
.pom-included-block{padding:30px 0}
.pom-included-head{text-align:center;margin-bottom:60px}
.pom-included-head h2{
    font-family:var(--pom-serif);font-weight:400;
    font-size:clamp(36px,4.6vw,58px);line-height:1.05;letter-spacing:-0.03em;
    color:var(--pom-navy-deep);margin-bottom:18px;
}
.pom-included-head h2 em{font-style:italic;color:var(--pom-gold-deep);font-weight:300}
.pom-included-head p{font-size:17px;color:var(--pom-muted);max-width:600px;margin:0 auto;line-height:1.6}
.pom-cat-group{margin-bottom:50px}
.pom-cat-group.pom-cat-last{margin-bottom:0}
.pom-cat-label{
    display:flex;align-items:center;gap:18px;
    font-size:11px;letter-spacing:0.24em;text-transform:uppercase;
    color:var(--pom-navy);font-weight:700;margin-bottom:24px;
}
.pom-cat-label::before{content:"";width:32px;height:1px;background:var(--pom-gold)}
.pom-cat-label::after{content:"";flex:1;height:1px;background:var(--pom-line)}
.pom-cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.pom-cat-item{
    display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
    padding:22px 24px;border-bottom:1px solid var(--pom-line);
    transition:background .25s ease;
}
.pom-cat-item:nth-child(odd){border-right:1px solid var(--pom-line)}
.pom-cat-item:hover{background:#fff}
.pom-cat-num{
    font-family:var(--pom-serif);font-weight:300;font-style:italic;
    color:var(--pom-gold-deep);font-size:28px;letter-spacing:-0.04em;
    width:50px;line-height:1;
}
.pom-cat-item h5{
    font-family:var(--pom-serif);font-weight:500;
    font-size:18px;letter-spacing:-0.015em;color:var(--pom-navy-deep);line-height:1.3;
}
.pom-cat-item p{font-size:13.5px;color:var(--pom-muted);margin-top:4px;line-height:1.5}
.pom-check{
    width:28px;height:28px;border-radius:50%;
    background:rgba(53,53,141,0.08);color:var(--pom-navy);
    display:grid;place-items:center;flex-shrink:0;
}
.pom-check svg{width:14px;height:14px}
@media(max-width:760px){
    .pom-cat-grid{grid-template-columns:1fr}
    .pom-cat-item:nth-child(odd){border-right:none}
    .pom-cat-item{padding:18px 6px;gap:14px}
    .pom-cat-num{font-size:22px;width:36px}
}

/* ============ INSPECTOR + PAYMENT (dark split) ============ */
.is-wrapper>div.pom-split-section{position:relative;background:var(--pom-navy-deep);color:var(--pom-cream);overflow:hidden}
/* ensure headings/body inside dark sections read light (overrides .pom-block ink inheritance) */
.pom-hero-block h1,.pom-hero-block h2,.pom-hero-block h3,.pom-hero-block h4,.pom-hero-block > p,
.pom-split-block h1,.pom-split-block h2,.pom-split-block h3,.pom-split-block h4{color:var(--pom-cream)}
.pom-split-block{position:relative;z-index:1;padding:30px 0}
.pom-split-block::before{
    content:"";position:absolute;
    width:700px;height:700px;border-radius:50%;
    background:radial-gradient(circle,rgba(244,151,32,0.15) 0%,transparent 70%);
    bottom:-360px;left:-200px;z-index:-1;
}
.pom-split-grid{
    position:relative;z-index:1;
    display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center;
}
.pom-split-grid h2{
    font-family:var(--pom-serif);font-weight:400;color:var(--pom-cream);
    font-size:clamp(34px,4.4vw,52px);line-height:1.08;letter-spacing:-0.03em;margin-bottom:24px;
}
.pom-split-grid h2 em{font-style:italic;color:var(--pom-gold);font-weight:300}
.pom-split-lead{font-size:18px;line-height:1.65;color:rgba(255,255,255,0.82);margin-bottom:36px}
.pom-credentials{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.pom-cred{
    padding:8px 16px;border:1px solid rgba(244,151,32,0.4);
    border-radius:999px;font-size:12.5px;letter-spacing:0.05em;color:var(--pom-gold);
}
.pom-signature{
    display:flex;align-items:center;gap:18px;
    padding-top:24px;border-top:1px solid rgba(255,255,255,0.14);
}
.pom-signature-mark{
    width:64px;height:64px;border-radius:50%;
    background:var(--pom-gold);color:var(--pom-navy-deep);
    display:grid;place-items:center;
    font-family:var(--pom-serif);font-weight:600;font-size:24px;flex-shrink:0;
}
.pom-signature-info strong{display:block;font-family:var(--pom-serif);font-size:18px;font-weight:500;color:#fff}
.pom-signature-info span{font-size:13px;color:rgba(255,255,255,0.7)}
.pom-bnpl-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:24px;padding:40px 36px;
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.pom-bnpl-tag{
    display:inline-block;background:var(--pom-gold);color:var(--pom-navy-deep);
    font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
    padding:6px 14px;border-radius:999px;margin-bottom:20px;
}
.pom-bnpl-card h3{
    font-family:var(--pom-serif);font-weight:400;font-size:28px;color:#fff;
    line-height:1.18;letter-spacing:-0.02em;margin-bottom:16px;
}
.pom-bnpl-card > p{font-size:15px;line-height:1.6;color:rgba(255,255,255,0.82);margin-bottom:24px}
.pom-pay-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 26px}
.pom-pay-opt{
    padding:20px 18px;background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.12);border-radius:14px;transition:all .3s ease;
}
.pom-pay-opt:hover{background:rgba(244,151,32,0.08);border-color:rgba(244,151,32,0.4);transform:translateY(-2px)}
.pom-pay-opt-icon{
    width:34px;height:34px;border-radius:10px;
    background:rgba(244,151,32,0.18);color:var(--pom-gold);
    display:grid;place-items:center;margin-bottom:12px;
}
.pom-pay-opt-icon svg{width:18px;height:18px}
.pom-pay-opt h4{
    font-family:var(--pom-serif);font-weight:500;font-size:17px;
    letter-spacing:-0.015em;color:#fff;margin-bottom:6px;line-height:1.2;
}
.pom-pay-opt p{font-size:13px;line-height:1.5;color:rgba(255,255,255,0.78);margin:0}
.pom-bnpl-points{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.pom-bnpl-points li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,0.9)}
.pom-bnpl-points li::before{content:"→";color:var(--pom-gold);font-weight:700;flex-shrink:0}
@media(max-width:960px){
    .pom-split-grid{grid-template-columns:1fr;gap:48px}
    .pom-pay-options{grid-template-columns:1fr}
}

/* ============ COMPARE ============ */
.is-wrapper>div.pom-compare-section{background:var(--pom-cream)}
.pom-compare-block{padding:30px 0}
.pom-compare-head{text-align:center;margin-bottom:60px}
.pom-compare-head h2{
    font-family:var(--pom-serif);font-weight:400;
    font-size:clamp(34px,4.5vw,52px);line-height:1.08;letter-spacing:-0.03em;color:var(--pom-navy-deep);
}
.pom-compare-head h2 em{font-style:italic;color:var(--pom-gold-deep);font-weight:300}
.pom-compare-grid{
    display:grid;grid-template-columns:repeat(4,1fr);
    background:#fff;border-radius:20px;overflow:hidden;
    box-shadow:0 30px 60px -30px rgba(53,53,141,0.15);
}
.pom-compare-col{padding:36px 28px;border-right:1px solid var(--pom-line);position:relative;display:flex;flex-direction:column}
.pom-compare-col:last-child{border-right:none}
.pom-compare-col.pom-highlight{background:var(--pom-navy);color:var(--pom-cream);border-right-color:transparent}
.pom-compare-col.pom-highlight::before{
    content:"COMPLETE COVERAGE";
    position:absolute;top:14px;left:50%;transform:translateX(-50%);
    font-size:9.5px;font-weight:700;letter-spacing:0.18em;color:var(--pom-gold);white-space:nowrap;
}
.pom-compare-tier{
    font-size:11px;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--pom-muted);font-weight:700;margin-bottom:10px;
}
.pom-compare-col.pom-highlight .pom-compare-tier{color:var(--pom-gold);margin-top:18px}
.pom-compare-name{
    font-family:var(--pom-serif);font-weight:500;
    font-size:22px;line-height:1.2;letter-spacing:-0.02em;
    color:var(--pom-navy-deep);margin-bottom:14px;min-height:54px;
}
.pom-compare-col.pom-highlight .pom-compare-name{color:#fff}
.pom-compare-price{
    font-family:var(--pom-serif);font-weight:300;font-size:38px;
    color:var(--pom-navy);letter-spacing:-0.03em;margin-bottom:6px;
}
.pom-compare-col.pom-highlight .pom-compare-price{color:var(--pom-gold)}
.pom-compare-price small{font-family:var(--pom-sans);font-size:13px;color:var(--pom-muted);font-weight:500;letter-spacing:0}
.pom-compare-col.pom-highlight .pom-compare-price small{color:rgba(255,255,255,0.6)}
.pom-compare-desc{font-size:13.5px;color:var(--pom-muted);line-height:1.55;margin-bottom:22px;flex:1}
.pom-compare-col.pom-highlight .pom-compare-desc{color:rgba(255,255,255,0.78)}
.pom-compare-btn{
    display:block;text-align:center;padding:11px;border-radius:999px;
    font-size:13px;font-weight:600;text-decoration:none;
    border:1.5px solid var(--pom-navy);color:var(--pom-navy);transition:all .25s ease;
}
.pom-compare-btn:hover{background:var(--pom-navy);color:#fff}
.pom-compare-col.pom-highlight .pom-compare-btn{background:var(--pom-gold);color:var(--pom-navy-deep);border-color:var(--pom-gold)}
.pom-compare-col.pom-highlight .pom-compare-btn:hover{background:var(--pom-gold-deep);color:#fff;border-color:var(--pom-gold-deep)}
@media(max-width:960px){
    .pom-compare-grid{grid-template-columns:1fr 1fr}
    .pom-compare-col{border-bottom:1px solid var(--pom-line)}
}
@media(max-width:560px){
    .pom-compare-grid{grid-template-columns:1fr}
    .pom-compare-col{border-right:none}
}

/* ============ FAQ ============ */
.is-wrapper>div.pom-faq-section{background:var(--pom-cream-2)}
.pom-faq-block{padding:30px 0}
.pom-faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;max-width:980px;margin:0 auto}
.pom-faq-head h2{
    font-family:var(--pom-serif);font-weight:400;
    font-size:clamp(34px,4.5vw,50px);line-height:1.08;letter-spacing:-0.03em;
    color:var(--pom-navy-deep);margin-bottom:18px;
}
.pom-faq-head h2 em{font-style:italic;color:var(--pom-gold-deep);font-weight:300}
.pom-faq-head p{color:var(--pom-muted);font-size:15.5px;line-height:1.6}
.pom-faq-items{display:flex;flex-direction:column}
.pom-faq-item{border-bottom:1px solid var(--pom-line);padding:24px 0}
.pom-faq-item summary{
    list-style:none;cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    font-family:var(--pom-serif);font-weight:500;font-size:19px;
    color:var(--pom-navy-deep);letter-spacing:-0.015em;transition:color .2s ease;
}
.pom-faq-item summary::-webkit-details-marker{display:none}
.pom-faq-item summary::after{
    content:"+";font-family:var(--pom-serif);font-weight:300;font-size:30px;
    color:var(--pom-gold-deep);transition:transform .3s ease;line-height:1;flex-shrink:0;
}
.pom-faq-item[open] summary::after{transform:rotate(45deg)}
.pom-faq-item[open] summary{color:var(--pom-gold-deep)}
.pom-faq-item p{padding-top:14px;color:var(--pom-muted);font-size:15px;line-height:1.65}
.pom-faq-item p strong{color:var(--pom-navy-deep)}
@media(max-width:860px){.pom-faq-grid{grid-template-columns:1fr;gap:32px}}

/* ============ CTA ============ */
.is-wrapper>div.pom-cta-section{background:var(--pom-cream)}
.pom-cta-block{padding:30px 0}
.pom-cta-inner{
    background:var(--pom-navy);border-radius:32px;
    padding:80px 60px;text-align:center;
    color:var(--pom-cream);position:relative;overflow:hidden;
}
.pom-cta-inner::before{
    content:"";position:absolute;width:500px;height:500px;border-radius:50%;
    background:radial-gradient(circle,rgba(244,151,32,0.2) 0%,transparent 70%);
    bottom:-200px;left:-100px;
}
.pom-cta-inner::after{
    content:"";position:absolute;width:300px;height:300px;border-radius:50%;
    background:radial-gradient(circle,rgba(244,151,32,0.15) 0%,transparent 70%);
    top:-100px;right:-50px;
}
.pom-cta-content{position:relative;z-index:1}
.pom-cta-content h2{
    font-family:var(--pom-serif);font-weight:400;
    font-size:clamp(36px,5vw,62px);line-height:1.05;letter-spacing:-0.03em;margin-bottom:24px;
}
.pom-cta-content h2 em{font-style:italic;color:var(--pom-gold);font-weight:300}
.pom-cta-content p{font-size:18px;opacity:.85;max-width:580px;margin:0 auto 36px;line-height:1.6}
.pom-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}
.pom-cta-foot{font-size:13px;opacity:.6;letter-spacing:0.04em}
@media(max-width:760px){.pom-cta-inner{padding:60px 28px;border-radius:24px}}

/* ============ HERO ANIMATIONS ============ */
@keyframes pom-fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.pom-hero-title,.pom-hero-sub,.pom-hero-actions,.pom-eyebrow,.pom-hero-stats{
    animation:pom-fadeUp .9s cubic-bezier(.2,.7,.3,1) both;
}
.pom-eyebrow{animation-delay:.05s}
.pom-hero-sub{animation-delay:.2s}
.pom-hero-actions{animation-delay:.3s}
.pom-hero-stats{animation-delay:.45s}
@media (prefers-reduced-motion: reduce){
    .pom-hero-title,.pom-hero-sub,.pom-hero-actions,.pom-eyebrow,.pom-hero-stats{animation:none}
}


/* =========================================================
   PAGE 5 — NOOK & CRANNY BUNDLE  (.nac-*)
   Flagship · 15 services · $1,995 · MD/DC/N.VA
   Fonts: Fraunces (serif) + Manrope (sans)
   ========================================================= */
:root{
    --nac-navy:#35358d;
    --nac-navy-deep:#1f1f5c;
    --nac-gold:#f49720;
    --nac-gold-deep:#d97e0a;
    --nac-cream:#faf6ef;
    --nac-cream-2:#f3ecdf;
    --nac-cream-3:#ede4d0;
    --nac-ink:#0e0e2a;
    --nac-muted:#5a5a78;
    --nac-line:rgba(53,53,141,0.14);
    --nac-line-light:rgba(255,255,255,0.12);
    --nac-serif:'Fraunces','Times New Roman',serif;
    --nac-sans:'Manrope',system-ui,sans-serif;
}
.nac-block{font-family:var(--nac-sans);color:var(--nac-ink);line-height:1.6;-webkit-font-smoothing:antialiased;}
.nac-block *{box-sizing:border-box;margin:0;padding:0}

/* shared buttons */
.nac-btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 22px;border-radius:999px;
    font-weight:600;font-size:14px;letter-spacing:0.01em;
    text-decoration:none;border:none;cursor:pointer;
    transition:all .25s ease;font-family:var(--nac-sans);
}
.nac-btn-primary{background:var(--nac-gold);color:var(--nac-navy-deep)}
.nac-btn-primary:hover{background:var(--nac-gold-deep);color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(244,151,32,.55)}
.nac-btn-ghost-dark{background:transparent;color:var(--nac-navy);border:1.5px solid var(--nac-navy)}
.nac-btn-ghost-dark:hover{background:var(--nac-navy);color:var(--nac-cream)}
.nac-btn-light{background:#fff;color:var(--nac-navy-deep)}
.nac-btn-light:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(0,0,0,.25)}

.nac-section-label{
    font-family:var(--nac-serif);font-style:italic;font-weight:300;
    color:var(--nac-gold-deep);font-size:18px;letter-spacing:0.02em;margin-bottom:18px;
}

/* ============ HERO (editorial) ============ */
.is-wrapper>div.nac-hero-section{background:var(--nac-cream)}
.nac-hero{position:relative;overflow:hidden;padding:30px 0}
.nac-hero-inner{position:relative;z-index:1}
.nac-hero-meta-strip{
    display:flex;justify-content:space-between;align-items:center;
    padding-bottom:32px;margin-bottom:60px;border-bottom:1px solid var(--nac-line);
    font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--nac-muted);font-weight:700;
}
.nac-hero-meta-strip span:nth-child(2){color:var(--nac-gold-deep)}
.nac-hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:end}
.nac-hero-title-block .nac-index{
    font-family:var(--nac-serif);font-style:italic;font-weight:300;
    color:var(--nac-gold-deep);font-size:20px;margin-bottom:14px;letter-spacing:0.02em;
}
h1.nac-hero-title{
    font-family:var(--nac-serif);font-size:clamp(58px,9vw,150px);
    line-height:0.9;font-weight:300;letter-spacing:-0.05em;color:var(--nac-navy-deep);margin-bottom:24px;
}
h1.nac-hero-title em{font-style:italic;font-weight:300;color:var(--nac-gold-deep);position:relative;display:inline-block}
h1.nac-hero-title em::after{
    content:"";position:absolute;left:0;right:0;bottom:0.08em;height:0.1em;
    background:var(--nac-gold);opacity:.25;border-radius:2px;
}
.nac-hero-amp{font-family:var(--nac-serif);font-style:italic;font-weight:300;color:var(--nac-navy);opacity:.5;font-size:1.05em;margin:0 0.06em}
.nac-hero-side p{font-size:18px;color:var(--nac-muted);line-height:1.7;margin-bottom:32px}
.nac-hero-side p strong{color:var(--nac-navy-deep);font-weight:600}
.nac-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}
.nac-price-line{display:flex;align-items:baseline;gap:14px;padding-top:24px;border-top:1px solid var(--nac-line)}
.nac-price-line .nac-from{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--nac-muted);font-weight:700}
.nac-price-line .nac-num{font-family:var(--nac-serif);font-weight:400;color:var(--nac-navy-deep);font-size:42px;letter-spacing:-0.03em;line-height:1}
.nac-price-line .nac-sub{font-size:12px;color:var(--nac-muted);letter-spacing:0.05em}
.nac-hero-runner{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;padding-top:32px;border-top:1px solid var(--nac-line)}
.nac-runner-cell{padding-right:28px}
.nac-runner-cell .nac-k{font-family:var(--nac-serif);font-weight:500;font-size:38px;color:var(--nac-navy-deep);letter-spacing:-0.03em;line-height:1;margin-bottom:10px}
.nac-runner-cell .nac-k em{font-style:italic;color:var(--nac-gold-deep);font-weight:300}
.nac-runner-cell .nac-v{font-size:12px;color:var(--nac-muted);text-transform:uppercase;letter-spacing:0.16em;font-weight:700}
.nac-hero-bg-num{
    position:absolute;font-family:var(--nac-serif);
    font-size:clamp(300px,40vw,560px);line-height:0.8;font-weight:300;font-style:italic;
    color:var(--nac-gold);opacity:0.05;right:-8%;top:30%;pointer-events:none;z-index:0;letter-spacing:-0.06em;
}
@media(max-width:960px){
    .nac-hero-grid{grid-template-columns:1fr;gap:36px;align-items:start}
    .nac-hero-runner{grid-template-columns:repeat(2,1fr);gap:24px 0}
    .nac-runner-cell{padding-right:14px}
    .nac-hero-meta-strip{flex-wrap:wrap;gap:8px;font-size:9.5px}
    .nac-hero-bg-num{font-size:240px;right:-10%;top:50%}
}

/* ============ TRUST STRIP (dark) ============ */
.is-wrapper>div.nac-trust-section{background:var(--nac-navy-deep)}
.nac-trust-inner{
    display:flex;align-items:center;justify-content:space-between;
    gap:30px;flex-wrap:wrap;padding:8px 0;
}
.nac-trust-item{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:0.04em;color:rgba(250,246,239,0.85)}
.nac-trust-item svg{width:22px;height:22px;color:var(--nac-gold);flex-shrink:0}
.nac-trust-item strong{color:#fff;font-weight:600}

/* ============ MANIFESTO ============ */
.is-wrapper>div.nac-manifesto-section{background:var(--nac-cream-2)}
.nac-manifesto-inner{max-width:920px;margin:0 auto;text-align:center;padding:30px 0}
.nac-manifesto-h2{
    font-family:var(--nac-serif);font-weight:400;
    font-size:clamp(38px,5vw,68px);line-height:1.04;letter-spacing:-0.035em;
    color:var(--nac-navy-deep);margin-bottom:36px;
}
.nac-manifesto-h2 em{font-style:italic;color:var(--nac-gold-deep);font-weight:300}
.nac-manifesto-body{
    font-family:var(--nac-serif);font-weight:300;font-size:23px;line-height:1.55;
    color:var(--nac-ink);max-width:760px;margin:0 auto;letter-spacing:-0.005em;
}
.nac-manifesto-body strong{font-weight:500;color:var(--nac-navy-deep)}
@media(max-width:760px){.nac-manifesto-body{font-size:19px}}

/* ============ DIFFERENTIATORS ============ */
.is-wrapper>div.nac-diff-section{background:var(--nac-cream)}
.nac-diff-head{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:end;margin-bottom:70px}
.nac-diff-h2{
    font-family:var(--nac-serif);font-weight:400;
    font-size:clamp(36px,4.6vw,60px);line-height:1.05;letter-spacing:-0.03em;color:var(--nac-navy-deep);
}
.nac-diff-h2 em{font-style:italic;color:var(--nac-gold-deep);font-weight:300}
.nac-diff-head p{font-size:17px;color:var(--nac-muted);line-height:1.65}
.nac-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--nac-navy-deep)}
.nac-diff-card{
    display:grid;grid-template-columns:80px 1fr;gap:32px;
    padding:48px 36px 48px 0;border-bottom:1px solid var(--nac-line);
    transition:background .3s ease;position:relative;
}
.nac-diff-card:nth-child(odd){padding-right:60px;border-right:1px solid var(--nac-line)}
.nac-diff-card:nth-child(even){padding-left:60px}
.nac-diff-card:hover{background:rgba(244,151,32,0.03)}
.nac-diff-card:last-child,.nac-diff-card:nth-last-child(2){border-bottom:none}
.nac-diff-num{font-family:var(--nac-serif);font-weight:300;font-style:italic;color:var(--nac-gold-deep);font-size:64px;letter-spacing:-0.05em;line-height:0.9}
.nac-diff-card h3{font-family:var(--nac-serif);font-weight:500;font-size:28px;letter-spacing:-0.02em;color:var(--nac-navy-deep);margin-bottom:10px;line-height:1.15}
.nac-diff-tag{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--nac-gold-deep);font-weight:700;margin-bottom:16px;display:inline-block}
.nac-diff-card p{font-size:15px;color:var(--nac-muted);line-height:1.65;margin-bottom:18px}
.nac-diff-vs{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px dashed var(--nac-line);font-size:12.5px;color:var(--nac-navy)}
.nac-diff-vs strong{color:var(--nac-navy-deep);font-weight:700}
@media(max-width:860px){
    .nac-diff-head{grid-template-columns:1fr;gap:24px}
    .nac-diff-grid{grid-template-columns:1fr}
    .nac-diff-card{padding:36px 0;border-right:none;border-bottom:1px solid var(--nac-line);grid-template-columns:60px 1fr;gap:18px}
    .nac-diff-card:nth-child(odd){padding-right:0;border-right:none}
    .nac-diff-card:nth-child(even){padding-left:0}
    .nac-diff-card:last-child{border-bottom:none}
    .nac-diff-num{font-size:48px}
}

/* ============ DOSSIER (dark inventory) ============ */
.is-wrapper>div.nac-dossier-section{position:relative;background:var(--nac-navy-deep);overflow:hidden}
.nac-block .nac-dossier-head,.nac-block .nac-chapter{position:relative;z-index:1}
/* light text inside dark dossier */
.nac-dossier-section .nac-block h2,.nac-dossier-section .nac-block h3,
.nac-dossier-section .nac-block h5,.nac-dossier-section .nac-block p,
.nac-dossier-section .nac-block div{color:var(--nac-cream)}
.nac-dossier-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:80px;padding-top:30px}
.nac-dossier-label{font-family:var(--nac-serif);font-style:italic;font-weight:300;color:var(--nac-gold);font-size:18px;margin-bottom:18px}
.nac-dossier-h2{font-family:var(--nac-serif);font-weight:400;font-size:clamp(36px,4.6vw,58px);line-height:1.05;letter-spacing:-0.03em;color:#fff}
.nac-dossier-h2 em{font-style:italic;color:var(--nac-gold);font-weight:300}
.nac-dossier-head p{font-size:17px;line-height:1.7;color:rgba(250,246,239,0.78);padding-bottom:8px}
.nac-chapter{margin-bottom:60px;padding-bottom:30px}
.nac-chapter:last-child{margin-bottom:0;padding-bottom:30px}
.nac-chapter-head{display:flex;align-items:baseline;gap:20px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid rgba(244,151,32,0.4)}
.nac-chapter-num{font-family:var(--nac-serif);font-weight:300;font-style:italic;color:var(--nac-gold);font-size:18px;letter-spacing:0.06em}
.nac-chapter-title{font-family:var(--nac-serif);font-weight:500;font-size:26px;letter-spacing:-0.02em;color:#fff;line-height:1.2;flex:1}
.nac-chapter-count{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(244,151,32,0.85);font-weight:700}
.nac-items{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.nac-item{display:grid;grid-template-columns:48px 1fr auto;gap:18px;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,0.08);transition:background .25s ease}
.nac-item:nth-child(odd){border-right:1px solid rgba(255,255,255,0.08)}
.nac-item:hover{background:rgba(255,255,255,0.03)}
.nac-item-num{font-family:var(--nac-serif);font-weight:300;color:var(--nac-gold);font-size:15px;letter-spacing:0.04em}
.nac-item h5{font-family:var(--nac-serif);font-weight:500;font-size:17px;letter-spacing:-0.01em;color:#fff;line-height:1.25}
.nac-item p{font-size:13px;color:rgba(255,255,255,0.6);margin-top:3px;line-height:1.45}
.nac-item-tick{width:24px;height:24px;border-radius:50%;background:rgba(244,151,32,0.18);color:var(--nac-gold);display:grid;place-items:center;flex-shrink:0}
.nac-item-tick svg{width:12px;height:12px}
@media(max-width:760px){
    .nac-dossier-head{grid-template-columns:1fr;gap:24px}
    .nac-items{grid-template-columns:1fr}
    .nac-item:nth-child(odd){border-right:none}
    .nac-item{padding:16px 6px}
}

/* ============ AUDIENCE ============ */
.is-wrapper>div.nac-audience-section{background:var(--nac-cream)}
.nac-audience-head{text-align:center;margin-bottom:60px;padding-top:30px}
.nac-audience-h2{font-family:var(--nac-serif);font-weight:400;font-size:clamp(36px,4.6vw,58px);line-height:1.05;letter-spacing:-0.03em;color:var(--nac-navy-deep);max-width:800px;margin:0 auto}
.nac-audience-h2 em{font-style:italic;color:var(--nac-gold-deep);font-weight:300}
.nac-aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.nac-aud-card{background:#fff;border:1px solid var(--nac-line);border-radius:18px;padding:36px 30px;transition:all .35s ease;position:relative;overflow:hidden}
.nac-aud-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -25px rgba(53,53,141,0.18);border-color:transparent}
.nac-aud-icon{font-family:var(--nac-serif);font-style:italic;font-weight:300;color:var(--nac-gold-deep);font-size:36px;letter-spacing:-0.04em;margin-bottom:16px;line-height:1}
.nac-aud-card h4{font-family:var(--nac-serif);font-weight:500;font-size:21px;letter-spacing:-0.015em;color:var(--nac-navy-deep);margin-bottom:10px;line-height:1.2}
.nac-aud-card p{font-size:14.5px;color:var(--nac-muted);line-height:1.6}
@media(max-width:860px){.nac-aud-grid{grid-template-columns:1fr;gap:14px}}

/* ============ INSPECTOR + PAYMENT (split, light section w/ dark card) ============ */
.is-wrapper>div.nac-split-section{position:relative;background:var(--nac-cream-2);overflow:hidden}
.nac-split-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center;padding:30px 0}
.nac-split-h2{font-family:var(--nac-serif);font-weight:400;font-size:clamp(34px,4.4vw,52px);line-height:1.08;letter-spacing:-0.03em;color:var(--nac-navy-deep);margin-bottom:24px}
.nac-split-h2 em{font-style:italic;color:var(--nac-gold-deep);font-weight:300}
.nac-split-lead{font-size:18px;line-height:1.65;color:var(--nac-muted);margin-bottom:36px}
.nac-credentials{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.nac-cred{padding:8px 16px;border:1px solid var(--nac-navy);border-radius:999px;font-size:12.5px;letter-spacing:0.05em;color:var(--nac-navy);background:rgba(53,53,141,0.04)}
.nac-signature{display:flex;align-items:center;gap:18px;padding-top:24px;border-top:1px solid var(--nac-line)}
.nac-signature-mark{width:64px;height:64px;border-radius:50%;background:var(--nac-navy);color:var(--nac-gold);display:grid;place-items:center;font-family:var(--nac-serif);font-weight:600;font-size:24px;flex-shrink:0}
.nac-signature-info strong{display:block;font-family:var(--nac-serif);font-size:18px;font-weight:500;color:var(--nac-navy-deep)}
.nac-signature-info span{font-size:13px;color:var(--nac-muted)}
.nac-bnpl-card{position:relative;background:var(--nac-navy-deep);color:var(--nac-cream);border-radius:24px;padding:40px 36px;overflow:hidden}
.nac-bnpl-card::before{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(244,151,32,0.18) 0%,transparent 70%);bottom:-200px;left:-100px;pointer-events:none;z-index:0}
/* light text inside dark bnpl card */
.nac-bnpl-card h3,.nac-bnpl-card h4,.nac-bnpl-card p,.nac-bnpl-card li{position:relative;z-index:1;color:var(--nac-cream)}
.nac-bnpl-tag{position:relative;z-index:1;display:inline-block;background:var(--nac-gold);color:var(--nac-navy-deep);font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:20px}
.nac-bnpl-card h3{font-family:var(--nac-serif);font-weight:400;font-size:28px;line-height:1.18;letter-spacing:-0.02em;margin-bottom:16px;color:#fff}
.nac-bnpl-card > p{font-size:15px;line-height:1.6;color:rgba(255,255,255,0.82);margin-bottom:24px}
.nac-pay-options{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 26px}
.nac-pay-opt{padding:20px 18px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:14px;transition:all .3s ease}
.nac-pay-opt:hover{background:rgba(244,151,32,0.08);border-color:rgba(244,151,32,0.4);transform:translateY(-2px)}
.nac-pay-opt-icon{width:34px;height:34px;border-radius:10px;background:rgba(244,151,32,0.18);color:var(--nac-gold);display:grid;place-items:center;margin-bottom:12px}
.nac-pay-opt-icon svg{width:18px;height:18px}
.nac-pay-opt h4{font-family:var(--nac-serif);font-weight:500;font-size:17px;letter-spacing:-0.015em;color:#fff;margin-bottom:6px;line-height:1.2}
.nac-pay-opt p{font-size:13px;line-height:1.5;color:rgba(255,255,255,0.78);margin:0}
.nac-bnpl-points{position:relative;z-index:1;list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.nac-bnpl-points li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,0.9)}
.nac-bnpl-points li::before{content:"→";color:var(--nac-gold);font-weight:700;flex-shrink:0}
.nac-bnpl-card .nac-btn-light{position:relative;z-index:1}
@media(max-width:960px){
    .nac-split-inner{grid-template-columns:1fr;gap:48px}
    .nac-pay-options{grid-template-columns:1fr}
}

/* ============ COMPARE ============ */
.is-wrapper>div.nac-compare-section{background:var(--nac-cream)}
.nac-compare-head{text-align:center;margin-bottom:60px;padding-top:30px}
.nac-compare-h2{font-family:var(--nac-serif);font-weight:400;font-size:clamp(34px,4.5vw,52px);line-height:1.08;letter-spacing:-0.03em;color:var(--nac-navy-deep)}
.nac-compare-h2 em{font-style:italic;color:var(--nac-gold-deep);font-weight:300}
.nac-compare-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(53,53,141,0.15)}
.nac-compare-col{padding:36px 28px;border-right:1px solid var(--nac-line);position:relative;display:flex;flex-direction:column}
.nac-compare-col:last-child{border-right:none}
.nac-compare-col.nac-highlight{background:var(--nac-navy);color:var(--nac-cream);border-right-color:transparent}
.nac-compare-col.nac-highlight::before{content:"FLAGSHIP BUNDLE";position:absolute;top:14px;left:50%;transform:translateX(-50%);font-size:9.5px;font-weight:700;letter-spacing:0.18em;color:var(--nac-gold);white-space:nowrap}
.nac-compare-tier{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--nac-muted);font-weight:700;margin-bottom:10px}
.nac-compare-col.nac-highlight .nac-compare-tier{color:var(--nac-gold);margin-top:18px}
.nac-compare-name{font-family:var(--nac-serif);font-weight:500;font-size:22px;line-height:1.2;letter-spacing:-0.02em;color:var(--nac-navy-deep);margin-bottom:14px;min-height:54px}
.nac-compare-col.nac-highlight .nac-compare-name{color:#fff}
.nac-compare-price{font-family:var(--nac-serif);font-weight:300;font-size:38px;color:var(--nac-navy);letter-spacing:-0.03em;margin-bottom:6px}
.nac-compare-col.nac-highlight .nac-compare-price{color:var(--nac-gold)}
.nac-compare-price small{font-family:var(--nac-sans);font-size:13px;color:var(--nac-muted);font-weight:500;letter-spacing:0}
.nac-compare-col.nac-highlight .nac-compare-price small{color:rgba(255,255,255,0.6)}
.nac-compare-desc{font-size:13.5px;color:var(--nac-muted);line-height:1.55;margin-bottom:22px;flex:1}
.nac-compare-col.nac-highlight .nac-compare-desc{color:rgba(255,255,255,0.78)}
.nac-compare-btn{display:block;text-align:center;padding:11px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;border:1.5px solid var(--nac-navy);color:var(--nac-navy);transition:all .25s ease}
.nac-compare-btn:hover{background:var(--nac-navy);color:#fff}
.nac-compare-col.nac-highlight .nac-compare-btn{background:var(--nac-gold);color:var(--nac-navy-deep);border-color:var(--nac-gold)}
.nac-compare-col.nac-highlight .nac-compare-btn:hover{background:var(--nac-gold-deep);color:#fff;border-color:var(--nac-gold-deep)}
@media(max-width:960px){
    .nac-compare-grid{grid-template-columns:1fr 1fr}
    .nac-compare-col{border-bottom:1px solid var(--nac-line)}
}
@media(max-width:560px){
    .nac-compare-grid{grid-template-columns:1fr}
    .nac-compare-col{border-right:none}
}

/* ============ FAQ ============ */
.is-wrapper>div.nac-faq-section{background:var(--nac-cream-2)}
.nac-faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;max-width:980px;margin:0 auto;padding:30px 0}
.nac-faq-h2{font-family:var(--nac-serif);font-weight:400;font-size:clamp(34px,4.5vw,50px);line-height:1.08;letter-spacing:-0.03em;color:var(--nac-navy-deep);margin-bottom:18px}
.nac-faq-h2 em{font-style:italic;color:var(--nac-gold-deep);font-weight:300}
.nac-faq-head p{color:var(--nac-muted);font-size:15.5px;line-height:1.6}
.nac-faq-items{display:flex;flex-direction:column}
.nac-faq-item{border-bottom:1px solid var(--nac-line);padding:24px 0}
.nac-faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--nac-serif);font-weight:500;font-size:19px;color:var(--nac-navy-deep);letter-spacing:-0.015em;transition:color .2s ease}
.nac-faq-item summary::-webkit-details-marker{display:none}
.nac-faq-item summary::after{content:"+";font-family:var(--nac-serif);font-weight:300;font-size:30px;color:var(--nac-gold-deep);transition:transform .3s ease;line-height:1;flex-shrink:0}
.nac-faq-item[open] summary::after{transform:rotate(45deg)}
.nac-faq-item[open] summary{color:var(--nac-gold-deep)}
.nac-faq-item p{padding-top:14px;color:var(--nac-muted);font-size:15px;line-height:1.65}
.nac-faq-item p strong{color:var(--nac-navy-deep)}
@media(max-width:860px){.nac-faq-grid{grid-template-columns:1fr;gap:32px}}

/* ============ CTA ============ */
.is-wrapper>div.nac-cta-section{background:var(--nac-cream)}
.nac-cta-inner{position:relative;background:var(--nac-navy);border-radius:32px;padding:80px 60px;text-align:center;color:var(--nac-cream);overflow:hidden;margin:30px 0}
.nac-cta-inner::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(244,151,32,0.2) 0%,transparent 70%);bottom:-200px;left:-100px;z-index:0}
.nac-cta-inner::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(244,151,32,0.15) 0%,transparent 70%);top:-100px;right:-50px;z-index:0}
.nac-cta-content{position:relative;z-index:1}
.nac-cta-h2{font-family:var(--nac-serif);font-weight:400;font-size:clamp(36px,5vw,62px);line-height:1.05;letter-spacing:-0.03em;margin-bottom:24px;color:var(--nac-cream)}
.nac-cta-h2 em{font-style:italic;color:var(--nac-gold);font-weight:300}
.nac-cta-content p{font-size:18px;color:rgba(250,246,239,0.85);max-width:580px;margin:0 auto 36px;line-height:1.6}
.nac-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}
.nac-cta-foot{font-size:13px;color:rgba(250,246,239,0.6);letter-spacing:0.04em}
@media(max-width:760px){.nac-cta-inner{padding:60px 28px;border-radius:24px}}

/* ============ HERO ANIMATIONS ============ */
@keyframes nac-fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.nac-hero-meta-strip,.nac-hero-title-block,.nac-hero-side,.nac-hero-runner{animation:nac-fadeUp .9s cubic-bezier(.2,.7,.3,1) both}
.nac-hero-title-block{animation-delay:.1s}
.nac-hero-side{animation-delay:.25s}
.nac-hero-runner{animation-delay:.4s}
@media (prefers-reduced-motion: reduce){
    .nac-hero-meta-strip,.nac-hero-title-block,.nac-hero-side,.nac-hero-runner{animation:none}
}


/* =========================================================
   OPTIONAL SCROLL-REVEAL (shared, used by ds-pages.js)
   Add class `ds-reveal` to any element you want to animate
   in on scroll. JS adds `ds-reveal-in` when it enters view.
   No effect unless ds-pages.js is loaded AND the class is
   added in markup — so it is safe/inert by default.
   ========================================================= */
.ds-reveal{
    opacity:0;
    transform:translateY(24px);
    transition:opacity 0.6s ease, transform 0.6s ease;
    will-change:opacity, transform;
}
.ds-reveal-in{
    opacity:1;
    transform:none;
}
@media (prefers-reduced-motion: reduce){
    .ds-reveal{opacity:1;transform:none;transition:none;}
}


/* #########################################################
   #                                                       #
   #   BLOCK B — NHIE PREP COURSE  (.nhie-*)               #
   #   No @import here — reuses Fraunces + Manrope from    #
   #   BLOCK A's @import at the top of this file.          #
   #                                                       #
   ######################################################### */

/* ╔══════════════════════════════════════════════════════════════╗
   ║  NHIE PREP COURSE — append to END of your existing site.css   ║
   ║  Compact build (Option A): reuses your live Webware utility    ║
   ║  classes (size-*, height-*, padding-*, margin-*, letter-       ║
   ║  spacing-*, width-*, is-btn*, separator-*) directly in the     ║
   ║  HTML. Only the styles below — theme colours, Fraunces serif,  ║
   ║  dark backgrounds, gradients, and the bespoke layouts that     ║
   ║  no Webware utility provides — are defined here.               ║
   ║  Prefix-namespaced (.nhie-* / --nhie-*): zero collision with   ║
   ║  the other page systems. Uses the shared Fraunces+Manrope      ║
   ║  @import already at the top of site.css — do NOT re-import.    ║
   ╚══════════════════════════════════════════════════════════════╝ */

:root{
    --nhie-navy:#35358d; --nhie-navy-deep:#1e1e5e; --nhie-navy-ink:#14143f;
    --nhie-orange:#f49720; --nhie-orange-deep:#d97e0a;
    --nhie-cream:#faf6ee; --nhie-cream-warm:#f4ecd9; --nhie-paper:#fbf8f1;
    --nhie-ink:#14142b; --nhie-ink-soft:#3a3a52; --nhie-muted:#6b6a85;
    --nhie-line:rgba(20,20,43,0.12);
    --nhie-lift:0 30px 60px -30px rgba(30,30,94,0.35);
    --nhie-serif:'Fraunces',Georgia,serif;
}

/* ---- base text colour + serif helpers (font family is the only thing
        utilities can't give; sizes/spacing come from size-*/padding-* etc.) */
.nhie-block{color:var(--nhie-ink);font-family:'Manrope',system-ui,sans-serif}
.nhie-block h1,.nhie-block h2,.nhie-block h3,.nhie-block h4,.nhie-block h5{font-family:var(--nhie-serif);font-weight:500;letter-spacing:-0.015em;line-height:1.08}
.nhie-block p,.nhie-block li{line-height:1.6}
.nhie-block em{font-style:italic;color:var(--nhie-orange);font-weight:400}
.nhie-light em{color:var(--nhie-orange)}
.nhie-serif{font-family:var(--nhie-serif)}
.nhie-italic{font-style:italic}
.nhie-navy-text{color:var(--nhie-navy-ink)}
.nhie-soft-text{color:var(--nhie-ink-soft)}

/* ---- section backgrounds (beat global .is-wrapper>div{background:transparent}) */
.is-wrapper>div.nhie-bg-paper{background:var(--nhie-paper)}
.is-wrapper>div.nhie-bg-cream{background:var(--nhie-cream)}
.is-wrapper>div.nhie-bg-cream-warm{background:var(--nhie-cream-warm)}
.is-wrapper>div.nhie-bg-ink{background:var(--nhie-navy-ink)}
.is-wrapper>div.nhie-bg-navy{background:var(--nhie-navy)}
.nhie-on-dark,.nhie-on-dark h1,.nhie-on-dark h2,.nhie-on-dark h3,.nhie-on-dark h4,.nhie-on-dark h5{color:var(--nhie-cream)}
.nhie-on-dark p{color:rgba(250,246,238,0.78)}

/* ---- eyebrow (small kicker with rule; Webware has no equivalent) */
.nhie-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--nhie-navy);margin-bottom:28px}
.nhie-eyebrow::before{content:"";width:32px;height:1px;background:var(--nhie-orange)}
.nhie-eyebrow.nhie-eb-orange{color:var(--nhie-orange-deep)}
.nhie-eyebrow.nhie-eb-light{color:var(--nhie-orange)}
.nhie-eyebrow.nhie-eb-center{justify-content:center}
.nhie-eyebrow.nhie-eb-center::after{content:"";width:32px;height:1px;background:var(--nhie-orange)}

/* ---- orange primary button (Webware is-btn-ghost1/2 are outline/grey only) */
.nhie-btn{background:var(--nhie-orange);color:var(--nhie-navy-ink);padding:18px 36px;border-radius:999px;font-weight:700;font-size:1rem;text-decoration:none;display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:none;transition:all .3s ease;box-shadow:0 12px 30px -10px rgba(244,151,32,.5)}
.nhie-btn:hover,.nhie-btn:focus,.nhie-btn:visited{color:var(--nhie-navy-ink)}
.nhie-btn:hover{background:var(--nhie-navy);color:var(--nhie-cream);transform:translateY(-2px);box-shadow:0 18px 40px -10px rgba(53,53,141,.5)}
.nhie-btn::after{content:"\2192";transition:transform .3s}
.nhie-btn:hover::after{transform:translateX(4px)}
.nhie-btn.nhie-btn-block{width:100%;justify-content:center;padding:22px;font-size:1.05rem}
.nhie-link{color:var(--nhie-navy);font-weight:600;font-size:.95rem;text-decoration:none;border-bottom:1px solid var(--nhie-navy);padding-bottom:2px;transition:all .3s}
.nhie-link:hover{color:var(--nhie-orange);border-color:var(--nhie-orange)}

/* ---- accent colour helpers (theme colours utilities don't carry) */
.nhie-orange-text{color:var(--nhie-orange)}
.nhie-orange-deep-text{color:var(--nhie-orange-deep)}
.nhie-navy-h{color:var(--nhie-navy)}

/* ---- HERO atmosphere (radial glows — bespoke) */
.nhie-hero{position:relative;overflow:hidden}
.nhie-hero::before{content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(244,151,32,.18),transparent 70%);border-radius:50%;pointer-events:none}
.nhie-hero::after{content:"";position:absolute;bottom:-300px;left:-200px;width:700px;height:700px;background:radial-gradient(circle,rgba(53,53,141,.12),transparent 70%);border-radius:50%;pointer-events:none}
.nhie-hero>*{position:relative;z-index:2}
.nhie-hero h1{font-size:clamp(2.6rem,6.5vw,5.4rem);line-height:.98;color:var(--nhie-navy-ink)}
.nhie-hero .nhie-lead{font-size:clamp(1.05rem,1.4vw,1.2rem);max-width:620px;color:var(--nhie-ink-soft)}
.nhie-hero .nhie-lead strong{color:var(--nhie-navy-ink);font-weight:700}
.nhie-cta-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center}

/* ---- STATS strip (3-up) */
.nhie-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}
.nhie-stats-grid h3{font-size:clamp(1.5rem,2.2vw,1.9rem);color:var(--nhie-orange);font-style:italic;margin-bottom:14px;font-weight:400}

/* ---- PROBLEM: trap-chain (5-col hairline-separated) */
.nhie-head-narrow{max-width:760px}
.nhie-head-narrow h2{font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.05;color:var(--nhie-navy-ink);margin-bottom:24px}
.nhie-head-narrow p{font-size:1.1rem;color:var(--nhie-ink-soft);max-width:620px}
.nhie-trap{display:grid;grid-template-columns:repeat(5,1fr)}
.nhie-trap-step{padding:36px 24px;border-right:1px solid var(--nhie-line)}
.nhie-trap-step:last-child{border-right:none}
.nhie-trap-step .nhie-num{font-family:var(--nhie-serif);font-style:italic;font-size:2.4rem;font-weight:300;color:var(--nhie-orange);line-height:1;margin-bottom:18px;display:block}
.nhie-trap-step h4{font-size:1.25rem;color:var(--nhie-navy-ink);margin-bottom:12px}
.nhie-trap-step p{font-size:.92rem;color:var(--nhie-ink-soft)}
.nhie-quote{padding:60px;background:var(--nhie-paper);border-left:4px solid var(--nhie-orange);position:relative}
.nhie-quote::before{content:"\201C";position:absolute;top:-20px;left:40px;font-family:var(--nhie-serif);font-size:8rem;color:var(--nhie-orange);line-height:1;opacity:.3}
.nhie-quote blockquote{font-family:var(--nhie-serif);font-style:italic;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.4;color:var(--nhie-navy-ink);max-width:820px;margin-bottom:24px}
.nhie-quote blockquote em{color:var(--nhie-orange-deep)}
.nhie-quote cite{font-style:normal;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:var(--nhie-orange-deep);font-weight:600}

/* ---- COURSE: watermark + feature grid */
.nhie-course{position:relative;overflow:hidden}
.nhie-course::before{content:"NHIE";position:absolute;top:30px;right:-40px;font-family:var(--nhie-serif);font-style:italic;font-weight:300;font-size:22rem;color:rgba(244,151,32,.05);line-height:.8;pointer-events:none}
.nhie-course>*{position:relative;z-index:2}
.nhie-course-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.nhie-course-head h2{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1;color:var(--nhie-cream)}
.nhie-course-head p{color:rgba(250,246,238,.75);font-size:1.08rem}
.nhie-features{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:rgba(244,151,32,.15);border:1px solid rgba(244,151,32,.2)}
.nhie-feature{padding:44px 38px;background:var(--nhie-navy-ink);transition:background .35s ease}
.nhie-feature:hover{background:var(--nhie-navy-deep)}
.nhie-feature .nhie-marker{display:inline-block;font-family:var(--nhie-serif);font-style:italic;color:var(--nhie-orange);font-size:.9rem;letter-spacing:.12em;margin-bottom:14px}
.nhie-feature h4{font-size:1.5rem;color:var(--nhie-cream);margin-bottom:12px}
.nhie-feature p{color:rgba(250,246,238,.7);font-size:.96rem}

/* ---- PEEK + VIDEO cards (16:9 media + iframes) */
.nhie-head-center{text-align:center;max-width:760px;margin:0 auto 70px}
.nhie-head-center h2{font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.05;color:var(--nhie-navy-ink);margin-bottom:20px}
.nhie-head-center p{color:var(--nhie-ink-soft);font-size:1.05rem;max-width:560px;margin:0 auto}
.nhie-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:36px}
.nhie-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.nhie-card{background:var(--nhie-paper);border-radius:8px;overflow:hidden;box-shadow:0 20px 40px -20px rgba(30,30,94,.18);transition:all .35s ease;display:flex;flex-direction:column}
.nhie-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -20px rgba(30,30,94,.28)}
.nhie-media{position:relative;width:100%;aspect-ratio:16/9;background:var(--nhie-navy-ink);overflow:hidden}
.nhie-media iframe{position:absolute;inset:0;width:100%;height:100%;border:none;display:block}
.nhie-media svg{width:100%;height:100%;display:block}
.nhie-card-body{padding:32px 30px 36px;border-top:3px solid var(--nhie-orange);flex:1;display:flex;flex-direction:column}
.nhie-tag{font-family:var(--nhie-serif);font-style:italic;font-size:.85rem;color:var(--nhie-orange-deep);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-weight:500;display:block}
.nhie-card-body h3{font-size:1.45rem;color:var(--nhie-navy-ink);line-height:1.25;margin-bottom:14px}
.nhie-card-body h5{font-size:1.15rem;color:var(--nhie-navy-ink);line-height:1.3}
.nhie-card-body>p{color:var(--nhie-ink-soft);font-size:.98rem}
.nhie-drive-audio{width:100%;padding-bottom: 12px;height:80px;margin-top:22px;border:none;border-radius:6px;background:var(--nhie-cream-warm);display:block}

/* ---- NUMBERS (5-up stat cards) */
.nhie-num-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:30px}
.nhie-num-card{text-align:center;padding:40px 20px;border:1px solid var(--nhie-line);border-radius:4px;background:var(--nhie-cream);transition:all .35s ease}
.nhie-num-card:hover{border-color:var(--nhie-orange);transform:translateY(-6px);box-shadow:var(--nhie-lift)}
.nhie-num-card .nhie-big{font-family:var(--nhie-serif);font-style:italic;font-size:clamp(2.8rem,4.5vw,3.8rem);line-height:1;color:var(--nhie-navy);margin-bottom:16px;font-weight:400}
.nhie-num-card .nhie-lbl{font-size:.85rem;color:var(--nhie-ink-soft);text-transform:uppercase;letter-spacing:.1em;font-weight:600}

/* ---- INCLUDED (checklist) */
.nhie-incl-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;align-items:start}
.nhie-incl-grid h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;color:var(--nhie-navy-ink);margin-bottom:28px}
.nhie-incl-grid>div:first-child p{color:var(--nhie-ink-soft);font-size:1.05rem;margin-bottom:32px}
.nhie-value-tag{display:inline-block;font-family:var(--nhie-serif);font-style:italic;font-size:1.1rem;color:var(--nhie-orange-deep);padding:10px 20px;background:var(--nhie-paper);border-radius:6px;border:1px dashed var(--nhie-orange)}
.nhie-checklist{list-style:none;margin:0;padding:0}
.nhie-checklist li{padding:28px 0;border-bottom:1px solid var(--nhie-line);display:grid;grid-template-columns:40px 1fr;gap:20px;align-items:start}
.nhie-checklist li:last-child{border-bottom:none}
.nhie-check{width:32px;height:32px;border-radius:50%;background:var(--nhie-orange);color:var(--nhie-paper);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}
.nhie-checklist h5{font-size:1.2rem;color:var(--nhie-navy-ink);margin-bottom:6px}
.nhie-checklist p{color:var(--nhie-ink-soft);font-size:.95rem}

/* ---- REVIEWS (masonry columns) */
.nhie-rev-head{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;margin-bottom:70px;padding-bottom:50px;border-bottom:1px solid var(--nhie-line)}
.nhie-rev-head h2{font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.05;color:var(--nhie-navy-ink)}
.nhie-rating{text-align:right}
.nhie-rating .nhie-score{font-family:var(--nhie-serif);font-style:italic;font-size:clamp(3rem,5vw,4.5rem);line-height:1;color:var(--nhie-navy);display:flex;align-items:baseline;justify-content:flex-end;gap:6px}
.nhie-rating .nhie-score::after{content:"/ 5";font-size:.35em;color:var(--nhie-muted);font-style:normal}
.nhie-rating .nhie-stars{color:var(--nhie-orange);font-size:1.3rem;letter-spacing:4px;margin:8px 0}
.nhie-rating .nhie-count{font-size:.85rem;color:var(--nhie-ink-soft);text-transform:uppercase;letter-spacing:.15em;font-weight:600}
.nhie-rev-grid{columns:3;column-gap:26px}
.nhie-rev{break-inside:avoid;padding:32px 28px;margin-bottom:26px;background:var(--nhie-cream);border-radius:6px;border:1px solid var(--nhie-line);transition:all .3s ease;display:inline-block;width:100%}
.nhie-rev:hover{background:var(--nhie-cream-warm);border-color:var(--nhie-orange);transform:translateY(-3px)}
.nhie-rev .nhie-stars{color:var(--nhie-orange);font-size:.95rem;letter-spacing:2px;margin-bottom:16px}
.nhie-rev .nhie-qm{font-family:var(--nhie-serif);font-size:2.5rem;line-height:.2;color:var(--nhie-orange);opacity:.4;display:block;margin-bottom:4px}
.nhie-rev p{font-family:var(--nhie-serif);font-size:1rem;line-height:1.55;color:var(--nhie-ink);margin-bottom:22px}
.nhie-rev .nhie-meta{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--nhie-line)}
.nhie-rev .nhie-name{font-family:'Manrope',sans-serif;font-weight:700;font-size:.92rem;color:var(--nhie-navy-ink)}
.nhie-rev .nhie-src{font-size:.72rem;color:var(--nhie-muted);text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.nhie-rev.nhie-dark{background:var(--nhie-navy-ink);border-color:var(--nhie-navy-ink)}
.nhie-rev.nhie-dark p,.nhie-rev.nhie-dark .nhie-name{color:var(--nhie-cream)}
.nhie-rev.nhie-dark .nhie-src{color:rgba(250,246,238,.55)}
.nhie-rev.nhie-dark .nhie-meta{border-top-color:rgba(244,151,32,.25)}

/* ---- COST (5-up) */
.nhie-cost h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;color:var(--nhie-navy-ink);margin-bottom:60px;max-width:760px}
.nhie-cost-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.nhie-cost-item{padding:32px 22px;background:var(--nhie-cream);border-top:3px solid var(--nhie-orange);transition:all .3s}
.nhie-cost-item:hover{background:var(--nhie-cream-warm)}
.nhie-cost-item h5{font-size:1.2rem;color:var(--nhie-navy-ink);margin-bottom:10px}
.nhie-cost-item p{font-size:.92rem;color:var(--nhie-ink-soft)}

/* ---- GUARANTEE (seal) */
.nhie-guar{position:relative;overflow:hidden}
.nhie-guar::before{content:"";position:absolute;top:50%;right:-200px;transform:translateY(-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(244,151,32,.15),transparent 70%);border-radius:50%}
.nhie-guar-inner{display:grid;grid-template-columns:auto 1fr;gap:60px;align-items:center;position:relative;z-index:2}
.nhie-seal{width:220px;height:220px;border-radius:50%;background:var(--nhie-orange);color:var(--nhie-navy-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:6px double var(--nhie-navy-ink);flex-shrink:0}
.nhie-seal .nhie-pct{font-family:var(--nhie-serif);font-style:italic;font-size:4rem;line-height:1;font-weight:400}
.nhie-seal .nhie-seal-lbl{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin-top:4px}
.nhie-guar h2{font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.1;color:var(--nhie-cream);margin-bottom:20px}
.nhie-guar p{color:rgba(250,246,238,.85);font-size:1.08rem;max-width:600px}

/* ---- PRICING (price card) */
.nhie-pricing{text-align:center}
.nhie-pricing h2{font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:1.05;color:var(--nhie-navy-ink);margin-bottom:50px;max-width:760px;margin-left:auto;margin-right:auto}
.nhie-price-card{max-width:580px;margin:0 auto;background:var(--nhie-paper);border:1px solid var(--nhie-line);border-radius:8px;padding:60px 50px;position:relative;box-shadow:var(--nhie-lift)}
.nhie-price-card .nhie-badge{position:absolute;top:-16px;left:50%;transform:translateX(-50%);background:var(--nhie-orange);color:var(--nhie-navy-ink);padding:8px 20px;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.nhie-price-card .nhie-was{font-family:var(--nhie-serif);font-style:italic;font-size:1.3rem;color:var(--nhie-muted);text-decoration:line-through;margin-bottom:12px}
.nhie-price-card .nhie-now{font-family:var(--nhie-serif);font-style:italic;font-size:clamp(4rem,9vw,6.5rem);line-height:1;color:var(--nhie-navy);margin-bottom:8px}
.nhie-price-card .nhie-now .nhie-cur{font-size:.5em;vertical-align:top;margin-right:4px}
.nhie-price-card .nhie-now-lbl{font-size:.85rem;text-transform:uppercase;letter-spacing:.18em;color:var(--nhie-orange-deep);font-weight:700;margin-bottom:36px}
.nhie-price-card .nhie-micro{font-size:.85rem;color:var(--nhie-muted);margin-top:18px}

/* ---- FINAL CTA */
.nhie-final{text-align:center;position:relative;overflow:hidden}
.nhie-final::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(244,151,32,.12),transparent 50%),radial-gradient(circle at 80% 70%,rgba(53,53,141,.4),transparent 50%)}
.nhie-final>*{position:relative;z-index:2}
.nhie-final h2{font-family:var(--nhie-serif);font-weight:300;font-size:clamp(2.4rem,5.5vw,4.4rem);line-height:1;color:var(--nhie-cream);margin-bottom:32px;max-width:880px;margin-left:auto;margin-right:auto}
.nhie-final p{color:rgba(250,246,238,.8);font-size:1.1rem;max-width:620px;margin:0 auto 44px}

/* ---- hero reveal animation */
@keyframes nhie-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.nhie-hero h1,.nhie-hero .nhie-lead,.nhie-hero .nhie-cta-row,.nhie-hero .nhie-eyebrow{opacity:0;animation:nhie-rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.nhie-hero .nhie-eyebrow{animation-delay:.05s}
.nhie-hero h1{animation-delay:.15s}
.nhie-hero .nhie-lead{animation-delay:.35s}
.nhie-hero .nhie-cta-row{animation-delay:.5s}
@media (prefers-reduced-motion:reduce){.nhie-hero h1,.nhie-hero .nhie-lead,.nhie-hero .nhie-cta-row,.nhie-hero .nhie-eyebrow{animation:none;opacity:1}}

/* ---- responsive ---- */
@media (max-width:900px){
    .nhie-stats-grid{grid-template-columns:1fr;gap:36px}
    .nhie-trap{grid-template-columns:repeat(2,1fr)}
    .nhie-trap-step{border-right:none;border-bottom:1px solid var(--nhie-line)}
    .nhie-course-head{grid-template-columns:1fr;gap:32px}
    .nhie-features{grid-template-columns:1fr}
    .nhie-grid-2,.nhie-grid-3{grid-template-columns:1fr;gap:28px}
    .nhie-num-grid{grid-template-columns:repeat(2,1fr)}
    .nhie-incl-grid{grid-template-columns:1fr;gap:50px}
    .nhie-cost-grid{grid-template-columns:repeat(2,1fr)}
    .nhie-guar-inner{grid-template-columns:1fr;text-align:center}
    .nhie-seal{margin:0 auto;width:180px;height:180px}
    .nhie-seal .nhie-pct{font-size:3rem}
    .nhie-quote{padding:40px 30px}
    .nhie-course::before{font-size:12rem}
    .nhie-rev-head{grid-template-columns:1fr;gap:30px;align-items:start}
    .nhie-rating{text-align:left}
    .nhie-rating .nhie-score{justify-content:flex-start}
    .nhie-rev-grid{columns:2;column-gap:20px}
}
@media (max-width:560px){
    .nhie-trap,.nhie-num-grid,.nhie-cost-grid{grid-template-columns:1fr}
    .nhie-price-card{padding:50px 30px}
    .nhie-rev-grid{columns:1}
}


/* =====================================================================
   BLOCK C · WELL · SEPTIC · WATER QUALITY  (.wsq-*)
   DS Home Inspection Services — package / pricing landing page
   Append AFTER the NHIE (.nhie-) block in site.css.
   Pixel-matched to the standalone source page.
   Fonts (Fraunces + Inter) load from the shared @import at the top of
   site.css — NOT re-imported here.
   Locked Webware wrappers are NEVER targeted.
   ===================================================================== */

:root {
  --wsq-navy:        #35358d;
  --wsq-navy-deep:   #1f1f5c;
  --wsq-navy-darker: #14143d;
  --wsq-gold:        #f49720;
  --wsq-gold-deep:   #d97e0a;
  --wsq-cream:       #faf6f0;
  --wsq-cream-warm:  #f4ecdf;
  --wsq-paper:       #ffffff;
  --wsq-ink:         #14143d;
  --wsq-muted:       #6b6b85;
  --wsq-soft-line:   #e8e2d4;
  --wsq-shadow-sm:   0 2px 8px rgba(31,31,92,0.06);
  --wsq-shadow-md:   0 8px 32px rgba(31,31,92,0.10);
  --wsq-shadow-lg:   0 20px 60px rgba(31,31,92,0.18);
  --wsq-serif: "Fraunces", Georgia, "Times New Roman", serif;
  --wsq-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ---- section backgrounds (beat global transparent rule) ---- */
.is-wrapper > div.wsq-hero-section        { background: var(--wsq-cream); }
.is-wrapper > div.wsq-availability-section{ background: var(--wsq-cream); }
.is-wrapper > div.wsq-standalone-section  { background: var(--wsq-cream); }
.is-wrapper > div.wsq-bundles-section     { background: var(--wsq-cream); }
.is-wrapper > div.wsq-welgard-section     { background: var(--wsq-cream); }
.is-wrapper > div.wsq-analytes-section    { background: var(--wsq-paper); }
.is-wrapper > div.wsq-alacarte-section    { background: var(--wsq-cream); }
.is-wrapper > div.wsq-addons-section      { background: var(--wsq-cream); }
.is-wrapper > div.wsq-mold-section        { background: var(--wsq-paper); }
.is-wrapper > div.wsq-finalcta-section    { background: var(--wsq-cream); }
.is-wrapper > div.wsq-footnote-section    { background: var(--wsq-cream); }

/* analytes & mold sections get top/bottom hairlines like source */
.is-wrapper > div.wsq-analytes-section,
.is-wrapper > div.wsq-mold-section {
  border-top: 1px solid var(--wsq-soft-line);
  border-bottom: 1px solid var(--wsq-soft-line);
}

/* ---- scoped base typography ---- */
.wsq-block { font-family: var(--wsq-sans); color: var(--wsq-ink); line-height: 1.6; }
.wsq-block h1, .wsq-block h2, .wsq-block h3 { font-family: var(--wsq-serif); }

/* =====================================================================
   SECTION HEADERS  (shared)
   ===================================================================== */
.wsq-section-header-cell { text-align: center; }
.wsq-section-label {
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--wsq-gold-deep); margin-bottom: 14px;
}
.wsq-section-title {
  font-family: var(--wsq-serif); font-weight: 600;
  font-size: clamp(30px, 4vw, 46px); line-height: 1.1;
  color: var(--wsq-navy-darker); letter-spacing: -0.015em;
  margin-bottom: 16px;
}
.wsq-section-title em { font-style: italic; color: var(--wsq-navy); }
.wsq-section-sub {
  font-size: 16px; color: var(--wsq-muted);
  max-width: 580px; margin: 0 auto;
}

/* =====================================================================
   1 · HERO
   ===================================================================== */
.wsq-hero-cell { text-align: center; padding: 24px 0 4px; }
.wsq-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--wsq-sans);
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--wsq-gold-deep);
  padding: 8px 20px; border: 1px solid var(--wsq-gold);
  border-radius: 100px; margin-bottom: 28px;
}
.wsq-hero-eyebrow::before,
.wsq-hero-eyebrow::after {
  content: ''; width: 6px; height: 6px;
  background: var(--wsq-gold); border-radius: 50%;
}
.wsq-hero-title {
  font-family: var(--wsq-serif); font-weight: 600;
  font-size: clamp(38px, 5.5vw, 68px); line-height: 1.05;
  letter-spacing: -0.02em; color: var(--wsq-navy-darker);
  margin-bottom: 24px; font-variation-settings: "opsz" 96;
}
.wsq-hero-title em { font-style: italic; color: var(--wsq-navy); font-weight: 500; }
.wsq-hero-sub {
  font-size: 18px; color: var(--wsq-muted);
  max-width: 640px; margin: 0 auto 36px; line-height: 1.6;
}
.wsq-hero-sub strong { color: var(--wsq-gold-deep); font-weight: 700; }
.wsq-credentials {
  display: flex; justify-content: center; gap: 36px;
  flex-wrap: wrap; padding-top: 28px;
  border-top: 1px solid var(--wsq-soft-line);
  max-width: 720px; margin: 0 auto;
}
.wsq-cred {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 500;
  color: var(--wsq-navy-deep); letter-spacing: 0.02em;
}
.wsq-cred-dot { width: 6px; height: 6px; background: var(--wsq-gold); border-radius: 50%; }

/* =====================================================================
   2 · SERVICE AVAILABILITY
   ===================================================================== */
.wsq-availability-section .wsq-block { max-width: 920px; margin-left: auto !important; margin-right: auto !important; }
.wsq-avail-cell { display: flex; }
.wsq-availability-card {
  background: var(--wsq-navy-darker); color: var(--wsq-cream);
  border-radius: 18px; padding: 22px 26px;
  display: flex; align-items: center; gap: 18px;
  border: 1px solid transparent; width: 100%;
  transition: transform 0.3s ease;
}
.wsq-av-full {
  border-color: var(--wsq-gold);
  box-shadow: 0 8px 24px rgba(20,20,61,0.18);
}
.wsq-av-limited {
  background: var(--wsq-paper); color: var(--wsq-ink);
  border-color: var(--wsq-soft-line);
}
.wsq-availability-pin {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--wsq-gold);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.wsq-av-limited .wsq-availability-pin { background: var(--wsq-cream-warm); }
.wsq-availability-pin svg { width: 22px; height: 22px; }
.wsq-availability-state-info { flex-grow: 1; }
.wsq-availability-state-row {
  display: flex; align-items: baseline; gap: 10px;
  margin-bottom: 4px; flex-wrap: wrap;
}
.wsq-availability-state {
  font-family: var(--wsq-serif); font-size: 19px; font-weight: 600;
  color: var(--wsq-cream); letter-spacing: -0.01em;
}
.wsq-av-limited .wsq-availability-state { color: var(--wsq-navy-darker); }
.wsq-availability-status {
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 100px;
}
.wsq-st-full { background: var(--wsq-gold); color: var(--wsq-navy-darker); }
.wsq-st-partial { background: var(--wsq-cream-warm); color: var(--wsq-gold-deep); }
.wsq-availability-services {
  font-size: 13px; color: rgba(250,246,240,0.75); line-height: 1.4;
}
.wsq-av-limited .wsq-availability-services { color: var(--wsq-muted); }
.wsq-availability-services strong { color: var(--wsq-cream); font-weight: 600; }
.wsq-av-limited .wsq-availability-services strong { color: var(--wsq-navy-darker); }

/* =====================================================================
   3 · STANDALONE PRICING
   ===================================================================== */
.wsq-standalone-cell { padding-top: 18px; }
.wsq-standalone-grid {
  background: var(--wsq-paper);
  border: 1px solid var(--wsq-soft-line);
  border-radius: 16px; padding: 8px;
  box-shadow: var(--wsq-shadow-sm);
}
.wsq-standalone-row {
  display: grid; grid-template-columns: 1fr auto; gap: 24px;
  padding: 18px 24px; align-items: center;
  border-bottom: 1px solid var(--wsq-soft-line);
}
.wsq-standalone-row:last-child { border-bottom: none; }
.wsq-standalone-name { font-weight: 500; font-size: 15px; color: var(--wsq-ink); }
.wsq-standalone-muted { color: var(--wsq-muted); font-weight: 400; font-size: 13px; }
.wsq-standalone-price {
  font-family: var(--wsq-serif); font-weight: 600;
  font-size: 20px; color: var(--wsq-navy);
}

/* =====================================================================
   4 · BUNDLES
   ===================================================================== */
.wsq-bundle-cell { display: flex; padding: 12px 0; }
.wsq-bundle {
  background: var(--wsq-paper); border-radius: 24px;
  padding: 40px 32px; position: relative;
  display: flex; flex-direction: column; width: 100%;
  border: 1px solid var(--wsq-soft-line);
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s ease;
}
.wsq-bundle:hover { transform: translateY(-6px); box-shadow: var(--wsq-shadow-md); }
.wsq-featured {
  background: var(--wsq-navy-darker); color: var(--wsq-cream);
  border-color: var(--wsq-gold); transform: scale(1.04);
  box-shadow: var(--wsq-shadow-lg); z-index: 2;
}
.wsq-featured::before {
  content: ''; position: absolute; inset: -1px;
  border-radius: 24px; padding: 1px;
  background: linear-gradient(135deg, var(--wsq-gold) 0%, transparent 40%, transparent 60%, var(--wsq-gold) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events: none;
}
.wsq-featured:hover { transform: scale(1.04) translateY(-6px); }
.wsq-featured-badge {
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
  background: var(--wsq-gold); color: var(--wsq-navy-darker);
  font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  padding: 8px 20px; border-radius: 100px;
  box-shadow: 0 4px 14px rgba(244,151,32,0.4);
}
.wsq-bundle-tier {
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--wsq-gold-deep); margin-bottom: 12px;
}
.wsq-featured .wsq-bundle-tier { color: var(--wsq-gold); }
.wsq-bundle-name {
  font-family: var(--wsq-serif); font-weight: 600;
  font-size: 32px; line-height: 1.1; color: var(--wsq-navy-darker);
  margin-bottom: 8px; letter-spacing: -0.01em;
}
.wsq-featured .wsq-bundle-name { color: var(--wsq-cream); }
.wsq-bundle-tagline {
  font-size: 14px; color: var(--wsq-muted);
  margin-bottom: 28px; min-height: 42px;
}
.wsq-featured .wsq-bundle-tagline { color: rgba(250,246,240,0.7); }
.wsq-price-block {
  border-top: 1px solid var(--wsq-soft-line);
  border-bottom: 1px solid var(--wsq-soft-line);
  padding: 24px 0; margin-bottom: 28px;
}
.wsq-featured .wsq-price-block { border-color: rgba(244,151,32,0.25); }
.wsq-price-strike {
  font-size: 14px; color: var(--wsq-muted);
  text-decoration: line-through; margin-bottom: 6px;
}
.wsq-featured .wsq-price-strike { color: rgba(250,246,240,0.5); }
.wsq-price-main { display: flex; align-items: baseline; gap: 6px; margin-bottom: 10px; }
.wsq-price-currency {
  font-family: var(--wsq-serif); font-size: 24px; font-weight: 500; color: var(--wsq-navy);
}
.wsq-featured .wsq-price-currency { color: var(--wsq-gold); }
.wsq-price-amount {
  font-family: var(--wsq-serif); font-size: 56px; font-weight: 600;
  line-height: 1; color: var(--wsq-navy-darker); letter-spacing: -0.02em;
}
.wsq-featured .wsq-price-amount { color: var(--wsq-cream); }
.wsq-savings-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--wsq-cream-warm); color: var(--wsq-gold-deep);
  font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: 100px;
}
.wsq-savings-badge::before { content: '\2193'; font-weight: 700; }
.wsq-featured .wsq-savings-badge { background: rgba(244,151,32,0.15); color: var(--wsq-gold); }
.wsq-includes-label {
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--wsq-muted); margin-bottom: 16px;
}
.wsq-featured .wsq-includes-label { color: rgba(250,246,240,0.5); }
.wsq-feature-list { list-style: none; margin: 0 0 32px; padding: 0; flex-grow: 1; }
.wsq-feature-list li {
  display: flex; gap: 12px; padding: 12px 0;
  font-size: 14px; line-height: 1.5;
  border-bottom: 1px dashed var(--wsq-soft-line);
}
.wsq-featured .wsq-feature-list li { border-color: rgba(250,246,240,0.12); }
.wsq-feature-list li:last-child { border-bottom: none; }
.wsq-check {
  flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%;
  background: var(--wsq-gold);
  display: flex; align-items: center; justify-content: center; margin-top: 2px;
}
.wsq-check svg { width: 10px; height: 10px; }
.wsq-feature-name {
  font-weight: 600; color: var(--wsq-navy-darker);
  display: block; margin-bottom: 2px;
}
.wsq-featured .wsq-feature-name { color: var(--wsq-cream); }
.wsq-feature-desc { color: var(--wsq-muted); font-size: 13px; display: block; }
.wsq-featured .wsq-feature-desc { color: rgba(250,246,240,0.6); }
.wsq-welgard-tag {
  display: inline-flex; align-items: center; gap: 5px;
  background: var(--wsq-cream-warm); color: var(--wsq-gold-deep);
  font-size: 11px; font-weight: 600; padding: 3px 9px;
  border-radius: 100px; margin-top: 6px; letter-spacing: 0.02em;
}
.wsq-welgard-tag::before { content: '\2605'; font-size: 10px; }
.wsq-featured .wsq-welgard-tag { background: rgba(244,151,32,0.15); color: var(--wsq-gold); }
.wsq-bundle-cta {
  display: block; width: 100%; padding: 16px 24px;
  background: var(--wsq-navy); color: #fff;
  text-align: center; text-decoration: none;
  font-weight: 600; font-size: 14px; letter-spacing: 0.05em;
  border-radius: 100px; border: none; cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}
.wsq-bundle-cta:hover { background: var(--wsq-navy-darker); transform: translateY(-2px); color: #fff; }
.wsq-featured .wsq-bundle-cta { background: var(--wsq-gold); color: var(--wsq-navy-darker); }
.wsq-featured .wsq-bundle-cta:hover { background: #ffae3d; color: var(--wsq-navy-darker); }

/* =====================================================================
   5 · WELGARD CALLOUT
   ===================================================================== */
.wsq-welgard-callout {
  background: linear-gradient(135deg, var(--wsq-cream-warm) 0%, var(--wsq-cream) 100%);
  border: 1px solid var(--wsq-gold); border-radius: 24px;
  padding: 40px 48px;
  display: grid; grid-template-columns: auto 1fr auto; gap: 36px;
  align-items: center; position: relative; overflow: hidden;
}
.wsq-welgard-callout::before {
  content: ''; position: absolute; top: -80px; right: -80px;
  width: 240px; height: 240px;
  background: radial-gradient(circle, rgba(244,151,32,0.18) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.wsq-welgard-shield {
  width: 72px; height: 72px; background: var(--wsq-navy-darker);
  border-radius: 18px; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; position: relative; z-index: 1;
  box-shadow: 0 8px 24px rgba(20,20,61,0.2);
}
.wsq-welgard-shield svg { width: 36px; height: 36px; }
.wsq-welgard-content { position: relative; z-index: 1; }
.wsq-welgard-eyebrow {
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--wsq-gold-deep); margin-bottom: 8px;
}
.wsq-welgard-content h3 {
  font-family: var(--wsq-serif); font-weight: 600;
  font-size: 26px; line-height: 1.2; color: var(--wsq-navy-darker);
  margin-bottom: 8px; letter-spacing: -0.01em;
}
.wsq-welgard-content h3 em { font-style: italic; color: var(--wsq-navy); }
.wsq-welgard-content p {
  font-size: 15px; color: var(--wsq-muted); line-height: 1.6; max-width: 580px;
}
.wsq-welgard-link {
  flex-shrink: 0; position: relative; z-index: 1;
  padding: 14px 24px; background: var(--wsq-navy-darker);
  color: var(--wsq-cream); text-decoration: none;
  border-radius: 100px; font-size: 13px; font-weight: 600; letter-spacing: 0.04em;
  transition: background 0.2s ease, transform 0.2s ease;
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
}
.wsq-welgard-link:hover { background: var(--wsq-navy); transform: translateY(-2px); color: var(--wsq-cream); }

/* =====================================================================
   6 · ANALYTE PANELS
   ===================================================================== */
.wsq-analytes-section .wsq-block { max-width: 1180px; margin-left: auto; margin-right: auto; }
.wsq-analyte-cell { display: flex; }
.wsq-analyte-panel {
  background: var(--wsq-cream); border-radius: 20px;
  padding: 36px; border: 1px solid var(--wsq-soft-line); width: 100%;
}
.wsq-deluxe {
  background: var(--wsq-navy-darker); color: var(--wsq-cream);
  border-color: var(--wsq-gold); position: relative; overflow: hidden;
}
.wsq-deluxe::after {
  content: ''; position: absolute; top: -100px; right: -100px;
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(244,151,32,0.15) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.wsq-analyte-header {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 20px; padding-bottom: 20px;
  border-bottom: 1px solid var(--wsq-soft-line);
}
.wsq-deluxe .wsq-analyte-header { border-color: rgba(250,246,240,0.15); }
.wsq-analyte-name {
  font-family: var(--wsq-serif); font-size: 22px; font-weight: 600; color: var(--wsq-navy-darker);
}
.wsq-deluxe .wsq-analyte-name { color: var(--wsq-cream); }
.wsq-analyte-count {
  font-size: 12px; font-weight: 600; letter-spacing: 0.1em; color: var(--wsq-gold-deep);
}
.wsq-deluxe .wsq-analyte-count { color: var(--wsq-gold); }
.wsq-analyte-list {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px;
  list-style: none; margin: 0; padding: 0; position: relative; z-index: 1;
}
.wsq-analyte-list li {
  font-size: 13px; padding: 6px 0; color: var(--wsq-ink);
  display: flex; align-items: center; gap: 8px;
}
.wsq-deluxe .wsq-analyte-list li { color: var(--wsq-cream); }
.wsq-analyte-list li::before {
  content: ''; width: 5px; height: 5px;
  background: var(--wsq-gold); border-radius: 50%; flex-shrink: 0;
}
.wsq-analyte-list li.wsq-new { color: var(--wsq-gold-deep); font-weight: 600; }
.wsq-deluxe .wsq-analyte-list li.wsq-new { color: var(--wsq-gold); font-weight: 600; }

/* =====================================================================
   7 · A LA CARTE
   ===================================================================== */
.wsq-a-la-carte {
  background: var(--wsq-paper); border: 1px solid var(--wsq-soft-line);
  border-radius: 24px; padding: 48px;
  display: grid; grid-template-columns: 1fr 2fr; gap: 48px; align-items: center;
}
.wsq-a-la-carte-heading h3 {
  font-family: var(--wsq-serif); font-weight: 600;
  font-size: 28px; line-height: 1.2; color: var(--wsq-navy-darker); margin-bottom: 12px;
}
.wsq-a-la-carte-heading p { font-size: 15px; color: var(--wsq-muted); }
.wsq-upgrades { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.wsq-upgrade-card {
  background: var(--wsq-cream); border: 1px solid var(--wsq-soft-line);
  border-radius: 16px; padding: 24px;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.wsq-upgrade-card:hover { border-color: var(--wsq-gold); transform: translateY(-2px); }
.wsq-up-label {
  font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--wsq-gold-deep); margin-bottom: 8px;
}
.wsq-up-name {
  font-family: var(--wsq-serif); font-weight: 600; font-size: 19px;
  color: var(--wsq-navy-darker); margin-bottom: 14px;
}
.wsq-up-price { font-family: var(--wsq-serif); font-size: 28px; font-weight: 600; color: var(--wsq-navy); }
.wsq-price-detail {
  font-size: 12px; color: var(--wsq-muted);
  font-family: var(--wsq-sans); font-weight: 400;
}

/* =====================================================================
   8 · ADD-ON SERVICES
   ===================================================================== */
.wsq-addon-cell { display: flex; }
.wsq-addon-card {
  background: var(--wsq-paper); border: 1px solid var(--wsq-soft-line);
  border-radius: 20px; padding: 32px 28px; width: 100%;
  display: flex; flex-direction: column;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  position: relative; overflow: hidden;
}
.wsq-addon-card:hover { transform: translateY(-4px); border-color: var(--wsq-gold); box-shadow: var(--wsq-shadow-md); }
.wsq-addon-icon {
  width: 52px; height: 52px; background: var(--wsq-cream-warm);
  border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px;
}
.wsq-addon-icon svg { width: 26px; height: 26px; }
.wsq-addon-label {
  font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--wsq-gold-deep); margin-bottom: 8px;
}
.wsq-addon-name {
  font-family: var(--wsq-serif); font-weight: 600; font-size: 22px; line-height: 1.2;
  color: var(--wsq-navy-darker); margin-bottom: 12px; letter-spacing: -0.01em;
}
.wsq-addon-desc {
  font-size: 14px; color: var(--wsq-muted); line-height: 1.55;
  margin-bottom: 20px; flex-grow: 1;
}
.wsq-addon-price {
  font-family: var(--wsq-serif); font-size: 28px; font-weight: 600; color: var(--wsq-navy);
  border-top: 1px solid var(--wsq-soft-line); padding-top: 18px;
  display: flex; align-items: baseline; gap: 8px;
}
.wsq-addon-price .wsq-plus { color: var(--wsq-gold-deep); }
.wsq-addon-price .wsq-detail {
  font-family: var(--wsq-sans); font-size: 12px; font-weight: 400;
  color: var(--wsq-muted); margin-left: auto;
}

/* =====================================================================
   9 · MOLD INSPECTION
   ===================================================================== */
.wsq-mold-section .wsq-block { max-width: 1180px; margin-left: auto; margin-right: auto; }
.wsq-mold-intro-callout {
  background: linear-gradient(135deg, var(--wsq-cream-warm) 0%, var(--wsq-cream) 100%);
  border: 1px solid var(--wsq-gold); border-radius: 20px;
  padding: 28px 36px; max-width: 900px; margin: 0 auto;
  display: flex; gap: 24px; align-items: flex-start;
}
.wsq-mold-intro-icon {
  width: 44px; height: 44px; background: var(--wsq-navy-darker);
  border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.wsq-mold-intro-icon svg { width: 22px; height: 22px; }
.wsq-mold-intro-text { flex-grow: 1; }
.wsq-mold-intro-label {
  font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--wsq-gold-deep); margin-bottom: 6px;
}
.wsq-mold-intro-text p { font-size: 14.5px; color: var(--wsq-navy-deep); line-height: 1.55; margin: 0; }
.wsq-mold-cell { display: flex; padding: 10px 0; }
.wsq-mold-tier {
  background: var(--wsq-cream); border: 1px solid var(--wsq-soft-line);
  border-radius: 18px; padding: 28px 24px; width: 100%;
  display: flex; flex-direction: column; position: relative;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.wsq-mold-tier:hover { transform: translateY(-4px); border-color: var(--wsq-gold); box-shadow: var(--wsq-shadow-md); }
.wsq-recommended { background: var(--wsq-paper); border-color: var(--wsq-gold); box-shadow: var(--wsq-shadow-sm); }
.wsq-mold-tier-badge {
  position: absolute; top: -10px; right: 16px;
  background: var(--wsq-gold); color: var(--wsq-navy-darker);
  font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 100px;
}
.wsq-mold-tier-label {
  font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--wsq-gold-deep); margin-bottom: 8px;
}
.wsq-mold-tier-name {
  font-family: var(--wsq-serif); font-weight: 600; font-size: 19px; line-height: 1.2;
  color: var(--wsq-navy-darker); margin-bottom: 16px; letter-spacing: -0.01em; min-height: 46px;
}
.wsq-mold-tier-pricing {
  background: #fff; border-radius: 12px; padding: 14px 16px;
  margin-bottom: 18px; border: 1px solid var(--wsq-soft-line);
}
.wsq-recommended .wsq-mold-tier-pricing { background: var(--wsq-cream); }
.wsq-mold-tier-price-row { display: flex; justify-content: space-between; align-items: baseline; padding: 4px 0; }
.wsq-mold-tier-price-row.wsq-primary {
  border-bottom: 1px dashed var(--wsq-soft-line); padding-bottom: 8px; margin-bottom: 6px;
}
.wsq-mold-tier-price-label {
  font-size: 11px; color: var(--wsq-muted); text-transform: uppercase;
  letter-spacing: 0.06em; font-weight: 500;
}
.wsq-mold-tier-price-row.wsq-primary .wsq-mold-tier-price-label { color: var(--wsq-gold-deep); font-weight: 600; }
.wsq-mold-tier-price-value { font-family: var(--wsq-serif); font-size: 19px; font-weight: 600; color: var(--wsq-navy); }
.wsq-mold-tier-price-row.wsq-primary .wsq-mold-tier-price-value { font-size: 22px; color: var(--wsq-navy-darker); }
.wsq-mold-tier-price-row.wsq-secondary .wsq-mold-tier-price-value { color: var(--wsq-muted); font-size: 15px; }
.wsq-mold-tier-includes {
  font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--wsq-muted); margin-bottom: 10px;
}
.wsq-mold-tier-list { list-style: none; margin: 0; padding: 0; flex-grow: 1; }
.wsq-mold-tier-list li {
  font-size: 12.5px; color: var(--wsq-ink); padding: 5px 0; padding-left: 14px;
  position: relative; line-height: 1.45;
}
.wsq-mold-tier-list li::before {
  content: ''; position: absolute; left: 0; top: 11px;
  width: 5px; height: 5px; background: var(--wsq-gold); border-radius: 50%;
}
.wsq-mold-tier-warranty {
  margin-top: 12px; padding-top: 12px;
  border-top: 1px dashed var(--wsq-soft-line);
  font-size: 11px; font-weight: 600; color: var(--wsq-gold-deep);
  letter-spacing: 0.04em; display: flex; align-items: center; gap: 6px;
}
.wsq-mold-tier-warranty::before { content: '\2605'; font-size: 10px; }
.wsq-mold-footnote {
  text-align: center; margin: 32px auto 0; font-size: 13px;
  color: var(--wsq-muted); max-width: 720px;
}

/* =====================================================================
   10 · FINAL CTA
   ===================================================================== */
.wsq-final-cta-box {
  background: linear-gradient(135deg, var(--wsq-navy-darker) 0%, var(--wsq-navy) 100%);
  border-radius: 32px; padding: 72px 48px; color: var(--wsq-cream);
  position: relative; overflow: hidden; text-align: center;
}
.wsq-final-cta-box::before {
  content: ''; position: absolute; top: -150px; right: -150px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(244,151,32,0.2) 0%, transparent 70%);
  border-radius: 50%;
}
.wsq-final-cta-box::after {
  content: ''; position: absolute; bottom: -200px; left: -100px;
  width: 350px; height: 350px;
  background: radial-gradient(circle, rgba(244,151,32,0.1) 0%, transparent 70%);
  border-radius: 50%;
}
.wsq-final-cta-box h2 {
  font-family: var(--wsq-serif); font-weight: 600;
  font-size: clamp(30px, 4vw, 44px); line-height: 1.15;
  margin-bottom: 16px; letter-spacing: -0.015em; position: relative; z-index: 1;
  color: var(--wsq-cream);
}
.wsq-final-cta-box h2 em { font-style: italic; color: var(--wsq-gold); }
.wsq-final-cta-box p {
  font-size: 17px; color: rgba(250,246,240,0.8);
  max-width: 540px; margin: 0 auto 36px; position: relative; z-index: 1;
}
.wsq-cta-buttons {
  display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
  position: relative; z-index: 1;
}
.wsq-btn {
  padding: 18px 32px; border-radius: 100px; font-weight: 600;
  font-size: 14px; letter-spacing: 0.05em; text-decoration: none;
  transition: all 0.2s ease; display: inline-flex; align-items: center; gap: 10px;
  border: none; cursor: pointer;
}
.wsq-btn-primary { background: var(--wsq-gold); color: var(--wsq-navy-darker); }
.wsq-btn-primary:hover { background: #ffae3d; transform: translateY(-2px); color: var(--wsq-navy-darker); }
.wsq-btn-secondary {
  background: transparent; color: var(--wsq-cream);
  border: 1px solid rgba(250,246,240,0.3);
}
.wsq-btn-secondary:hover { background: rgba(250,246,240,0.1); border-color: var(--wsq-gold); color: var(--wsq-cream); }

/* =====================================================================
   11 · FOOTNOTE
   ===================================================================== */
.wsq-footnote {
  text-align: center; font-size: 13px; color: var(--wsq-muted);
  max-width: 720px; margin: 0 auto;
}
.wsq-footnote strong { color: var(--wsq-navy-deep); }
.wsq-footnote em { font-style: italic; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media all and (max-width: 980px) {
  .wsq-featured { transform: none; }
  .wsq-featured:hover { transform: translateY(-6px); }
  .wsq-a-la-carte { grid-template-columns: 1fr; gap: 32px; padding: 36px; }
  .wsq-welgard-callout { grid-template-columns: 1fr; text-align: center; padding: 36px 28px; gap: 24px; }
  .wsq-welgard-shield { margin: 0 auto; }
  .wsq-welgard-content p { margin: 0 auto; }
  .wsq-mold-intro-callout { flex-direction: column; padding: 24px; }
}

@media all and (max-width: 640px) {
  .wsq-credentials { gap: 20px; }
  .wsq-bundle { padding: 32px 24px; }
  .wsq-upgrades { grid-template-columns: 1fr; }
  .wsq-analyte-panel { padding: 28px; }
  .wsq-analyte-list { grid-template-columns: 1fr; }
  .wsq-final-cta-box { padding: 56px 28px; }
  .wsq-standalone-row { padding: 14px 18px; }
}


/* =====================================================================
   BLOCK D · EBOOK LIBRARY  (.dseb-*)
   DS Home Inspection Academy — downloadable eBook / guide grid
   Append AFTER the NHIE (.nhie-) and WSQ (.wsq-) blocks in site.css.
   Pixel-matched to the standalone source page (.ebooks section).
   Fonts (Fraunces + DM Sans) load from the shared @import at the top of
   site.css — NOT re-imported here.
   Locked Webware wrappers are NEVER targeted.
   ===================================================================== */

:root {
  --dseb-blue:        #2d3494;
  --dseb-blue-dark:   #1e2470;
  --dseb-blue-deep:   #141a5a;
  --dseb-orange:      #f0920a;
  --dseb-orange-dark: #d07f04;
  --dseb-orange-soft: #fff4e0;
  --dseb-cream:       #fbf7f0;
  --dseb-ink:         #10143a;
  --dseb-ink-soft:    #3a4068;
  --dseb-muted:       #6a6f92;
  --dseb-line:        rgba(45, 52, 148, 0.12);
  --dseb-line-strong: rgba(45, 52, 148, 0.22);
  --dseb-white:       #ffffff;
  --dseb-serif: "Fraunces", Georgia, "Times New Roman", serif;
  --dseb-sans:  "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ---- section background (beat global transparent rule) ---- */
.is-wrapper > div.dseb-section { background: var(--dseb-white); }

/* faint orange glow top-right, matching source .ebooks::before */
.dseb-section { position: relative; overflow: hidden; }
.dseb-section::before {
  content: ""; position: absolute; top: 0; right: 0;
  width: 50%; height: 300px;
  background: radial-gradient(ellipse at top right, rgba(240, 146, 10, 0.05) 0%, transparent 60%);
  pointer-events: none;
}

/* ---- scoped base typography ---- */
.dseb-block { font-family: var(--dseb-sans); color: var(--dseb-ink); line-height: 1.55; position: relative; z-index: 1; }
.dseb-block h2, .dseb-block h3, .dseb-block h4 {
  font-family: var(--dseb-serif); letter-spacing: -0.025em; line-height: 1.08; font-weight: 600;
}

/* =====================================================================
   SECTION HEADER  (shared pattern)
   ===================================================================== */
.dseb-section-header { max-width: 760px; margin-bottom: 70px; }
.dseb-eyebrow {
  font-family: var(--dseb-sans);
  font-size: 0.75rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.22em;
  color: var(--dseb-blue); margin-bottom: 18px;
}
.dseb-section-header h2 {
  font-family: var(--dseb-serif);
  font-size: clamp(2.25rem, 4vw, 3.5rem); font-weight: 500;
  margin: 0 0 20px; color: var(--dseb-ink);
}
.dseb-section-header h2 em { font-style: italic; color: var(--dseb-blue); font-weight: 400; }
.dseb-section-header p { font-size: 1.1rem; color: var(--dseb-ink-soft); max-width: 56ch; }

/* =====================================================================
   1 · SUMMARY STRIP
   ===================================================================== */
.dseb-summary {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--dseb-line);
  margin-bottom: 60px;
  background: var(--dseb-cream);
}
.dseb-summary-cell {
  padding: 28px 22px; text-align: center;
  border-right: 1px solid var(--dseb-line);
}
.dseb-summary-cell:last-child { border-right: none; }
.dseb-summary-cell .dseb-big {
  font-family: var(--dseb-serif);
  font-size: 2.2rem; font-weight: 500;
  color: var(--dseb-blue); line-height: 1;
  margin-bottom: 6px; letter-spacing: -0.03em;
}
.dseb-summary-cell.dseb-accent .dseb-big { color: var(--dseb-orange); }
.dseb-summary-cell .dseb-lbl {
  font-size: 0.7rem; text-transform: uppercase;
  letter-spacing: 0.14em; color: var(--dseb-muted); font-weight: 600;
}

/* =====================================================================
   2 · EBOOK GRID + CARDS
   ===================================================================== */
.dseb-grid {
  display: grid; grid-template-columns: repeat(5, 1fr);
  gap: 28px; margin-bottom: 70px;
}
.dseb-card {
  display: flex; flex-direction: column;
  background: transparent; position: relative;
  transition: transform 0.3s ease;
}
.dseb-card:hover { transform: translateY(-6px); }
.dseb-card:hover .dseb-cover {
  box-shadow: -6px 10px 30px -8px rgba(20, 26, 90, 0.35),
               12px 14px 30px -12px rgba(240, 146, 10, 0.25);
}

.dseb-cover-wrap { position: relative; margin-bottom: 18px; }
.dseb-cover {
  aspect-ratio: 2 / 3; width: 100%;
  background: var(--dseb-cream); overflow: hidden; position: relative;
  box-shadow: -3px 5px 16px -5px rgba(20, 26, 90, 0.25),
               4px 6px 14px -8px rgba(0,0,0,0.15);
  transition: box-shadow 0.35s ease;
  border-left: 2px solid rgba(20, 26, 90, 0.08); /* subtle spine */
}
.dseb-cover::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.08) 0%, transparent 6%);
  pointer-events: none;
}
.dseb-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* corner ribbon badge */
.dseb-badge {
  position: absolute; top: 10px; left: -8px; z-index: 2;
  background: var(--dseb-orange); color: #fff;
  font-size: 0.62rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  padding: 6px 11px 6px 13px;
  display: flex; align-items: center; gap: 6px;
  box-shadow: 2px 3px 8px rgba(240,146,10,0.35);
}
.dseb-badge::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #fff; }
.dseb-badge::after {
  content: ""; position: absolute; bottom: -6px; left: 0;
  width: 0; height: 0; border-style: solid;
  border-width: 0 8px 6px 0;
  border-color: transparent var(--dseb-orange-dark) transparent transparent;
}

.dseb-title {
  font-family: var(--dseb-serif);
  font-size: 1rem; font-weight: 600; line-height: 1.2;
  color: var(--dseb-ink); letter-spacing: -0.012em;
  margin-bottom: 8px; min-height: 2.4em;
}
.dseb-meta {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 10px; margin-top: auto;
  border-top: 1px solid var(--dseb-line); gap: 8px;
}
.dseb-price {
  font-family: var(--dseb-serif);
  font-size: 1.25rem; font-weight: 600;
  color: var(--dseb-blue); letter-spacing: -0.02em; line-height: 1;
}
.dseb-price.dseb-premium { color: var(--dseb-orange-dark); }
.dseb-buy {
  font-size: 0.72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--dseb-blue); text-decoration: none;
  padding: 7px 10px; border: 1px solid var(--dseb-blue);
  transition: all 0.2s; white-space: nowrap;
}
.dseb-buy:hover { background: var(--dseb-blue); color: #fff; }
.dseb-card.dseb-premium .dseb-buy { color: var(--dseb-orange-dark); border-color: var(--dseb-orange); }
.dseb-card.dseb-premium .dseb-buy:hover { background: var(--dseb-orange); color: #fff; border-color: var(--dseb-orange); }

/* =====================================================================
   3 · BUNDLE CALLOUT
   ===================================================================== */
.dseb-bundle {
  background: linear-gradient(135deg, var(--dseb-blue-deep) 0%, var(--dseb-blue-dark) 50%, var(--dseb-blue) 100%);
  color: #fff; display: grid;
  grid-template-columns: 1.05fr 1fr; align-items: stretch;
  position: relative; overflow: hidden;
  box-shadow: 0 30px 60px -25px rgba(20, 26, 90, 0.4);
}
.dseb-bundle::before {
  content: ""; position: absolute; top: -100px; right: -100px;
  width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(240,146,10,0.22) 0%, transparent 65%);
  z-index: 0;
}
.dseb-bundle-image {
  position: relative; min-height: 100%;
  background: #0f1443; overflow: hidden;
}
.dseb-bundle-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.dseb-bundle-image::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 70%, rgba(20, 26, 90, 0.35) 100%);
  pointer-events: none;
}
.dseb-bundle-content {
  padding: 56px 52px; position: relative; z-index: 1;
  display: flex; flex-direction: column; justify-content: center;
}
.dseb-bundle-content::after {
  content: ""; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 42px 42px;
  -webkit-mask-image: linear-gradient(135deg, black 0%, transparent 70%);
  mask-image: linear-gradient(135deg, black 0%, transparent 70%);
  pointer-events: none; z-index: -1;
}
.dseb-bundle-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  color: var(--dseb-orange);
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.22em;
  text-transform: uppercase; margin-bottom: 18px;
}
.dseb-bundle-eyebrow::before { content: ""; width: 28px; height: 1.5px; background: var(--dseb-orange); }
.dseb-bundle-content h3 {
  font-family: var(--dseb-serif);
  font-size: clamp(1.85rem, 2.9vw, 2.5rem); font-weight: 500; line-height: 1.05;
  color: #fff; margin-bottom: 18px; letter-spacing: -0.025em;
}
.dseb-bundle-content h3 em { font-style: italic; color: var(--dseb-orange); font-weight: 400; }
.dseb-bundle-lede {
  color: #d1d5ef; margin-bottom: 24px; line-height: 1.55;
  font-size: 0.98rem; max-width: 46ch;
}
.dseb-bundle-includes {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px 20px;
  margin-bottom: 28px; font-size: 0.82rem; color: #d1d5ef;
  list-style: none; padding: 0;
}
.dseb-bundle-includes li { position: relative; padding-left: 16px; line-height: 1.45; }
.dseb-bundle-includes li::before {
  content: "\2192"; position: absolute; left: 0; top: 0;
  color: var(--dseb-orange); font-weight: 700;
}
.dseb-bundle-price-row {
  display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: end;
  padding: 22px 0 26px;
  border-top: 1px solid rgba(255,255,255,0.14);
  border-bottom: 1px solid rgba(255,255,255,0.14);
  margin-bottom: 24px;
}
.dseb-bundle-price-left { display: flex; flex-direction: column; }
.dseb-bundle-price-top {
  font-size: 0.68rem; color: #b5baea;
  text-transform: uppercase; letter-spacing: 0.16em;
  font-weight: 600; margin-bottom: 6px;
}
.dseb-bundle-was {
  font-family: var(--dseb-serif); font-size: 1rem; color: #8a90c2;
  text-decoration: line-through; text-decoration-thickness: 1.5px;
  letter-spacing: -0.01em; line-height: 1;
}
.dseb-bundle-now {
  font-family: var(--dseb-serif);
  font-size: clamp(2.8rem, 4.5vw, 3.6rem); font-weight: 500;
  color: var(--dseb-orange); letter-spacing: -0.04em; line-height: 0.9; margin-top: 4px;
}
.dseb-bundle-price-right {
  display: flex; flex-direction: column; align-items: flex-end;
  gap: 8px; text-align: right;
}
.dseb-bundle-save-pill {
  display: inline-block; background: var(--dseb-orange); color: #fff;
  padding: 6px 14px; font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
}
.dseb-bundle-terms { font-size: 0.76rem; color: #b5baea; line-height: 1.5; }
.dseb-bundle-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  background: var(--dseb-orange); color: #fff;
  padding: 18px 32px; text-decoration: none; font-weight: 700;
  letter-spacing: 0.03em; box-shadow: 0 4px 0 var(--dseb-orange-dark);
  transition: all 0.2s; align-self: flex-start;
}
.dseb-bundle-cta:hover { transform: translateY(2px); box-shadow: 0 2px 0 var(--dseb-orange-dark); color: #fff; }
.dseb-bundle-cta .dseb-arrow { transition: transform 0.2s; }
.dseb-bundle-cta:hover .dseb-arrow { transform: translateX(4px); }

/* =====================================================================
   RESPONSIVE  (breakpoints mirror the source page)
   ===================================================================== */
@media all and (max-width: 1100px) {
  .dseb-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
}
@media all and (max-width: 880px) {
  .dseb-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
}
@media all and (max-width: 820px) {
  .dseb-summary { grid-template-columns: repeat(2, 1fr); }
  .dseb-summary-cell:nth-child(2) { border-right: none; }
  .dseb-summary-cell:nth-child(-n+2) { border-bottom: 1px solid var(--dseb-line); }
}
@media all and (max-width: 620px) {
  .dseb-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media all and (max-width: 960px) {
  .dseb-bundle { grid-template-columns: 1fr; }
  .dseb-bundle-image { aspect-ratio: 1 / 1; min-height: auto; }
  .dseb-bundle-image::after { display: none; }
  .dseb-bundle-content { padding: 44px 32px; }
  .dseb-bundle-includes { grid-template-columns: 1fr; }
  .dseb-bundle-price-row { grid-template-columns: 1fr; gap: 14px; }
  .dseb-bundle-price-right { align-items: flex-start; text-align: left; }
}


/* ============================================================
   DS HOME INSPECTION ACADEMY — Coaching page
   Scoped block. Prefix: .dsa-*  (append to site.css)
   Fonts: Fraunces (display) + DM Sans (body)
   NOTE: add to your font @import if not already present:
   @import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,800;0,9..144,900;1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800&display=swap');
   ============================================================ */

:root {
  --dsa-blue: #2D3494;
  --dsa-blue-dark: #1e2470;
  --dsa-blue-deep: #141a5a;
  --dsa-orange: #F0920A;
  --dsa-orange-dark: #d07f04;
  --dsa-orange-soft: #fff4e0;
  --dsa-cream: #fbf7f0;
  --dsa-ink: #10143a;
  --dsa-ink-soft: #3a4068;
  --dsa-muted: #6a6f92;
  --dsa-line: rgba(45, 52, 148, 0.12);
  --dsa-line-strong: rgba(45, 52, 148, 0.22);
  --dsa-white: #ffffff;
}

/* ---- section base / typography ------------------------------------ */
.dsa-scope { font-family: 'DM Sans', -apple-system, sans-serif; color: var(--dsa-ink); line-height: 1.55; font-size: 16px; -webkit-font-smoothing: antialiased; }
.dsa-scope * { box-sizing: border-box; }
.dsa-scope .dsa-serif { font-family: 'Fraunces', Georgia, serif; font-optical-sizing: auto; letter-spacing: -0.02em; }
.dsa-scope h1, .dsa-scope h2, .dsa-scope h3, .dsa-scope h4 { font-family: 'Fraunces', Georgia, serif; letter-spacing: -0.025em; line-height: 1.08; font-weight: 600; margin: 0; }
.dsa-scope p { margin: 0; }

.dsa-eyebrow { font-family: 'DM Sans', sans-serif; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.22em; color: var(--dsa-orange); }
.dsa-eyebrow-blue { color: var(--dsa-blue); }

.dsa-inner { max-width: 1240px; margin: 0 auto; padding: 0 28px; }
.dsa-inner-narrow { max-width: 1040px; margin: 0 auto; padding: 0 28px; }

/* ============================================================
   FULL-BLEED SECTION BACKGROUNDS
   Painted on the is-section WRAPPER (full viewport width on live
   Webware) — NOT on the inner cell, which is capped at 1200px.
   Also zero out the locked container's default 30px padding +
   80px vertical margin from INSIDE the scope so our own section
   padding controls spacing and colour spans edge to edge.
   ============================================================ */
.is-wrapper > div.dsa-bg-cream  { background: var(--dsa-cream); }
.is-wrapper > div.dsa-bg-white  { background: var(--dsa-white); }
.is-wrapper > div.dsa-bg-paths  { background: linear-gradient(180deg, var(--dsa-cream) 0%, #f3eee3 100%); }
.is-wrapper > div.dsa-bg-hero   { background: linear-gradient(135deg, var(--dsa-blue-deep) 0%, var(--dsa-blue) 55%, var(--dsa-blue-dark) 100%); }
.is-wrapper > div.dsa-bg-deep   { background: var(--dsa-blue-deep); }

/* Neutralise the locked container chrome so backgrounds are true full-bleed.
   We only reach INTO sections carrying a dsa-bg-* class; we never restyle
   the wrapper class definitions globally. */
.dsa-bg-cream .is-container,
.dsa-bg-white .is-container,
.dsa-bg-paths .is-container,
.dsa-bg-hero  .is-container,
.dsa-bg-deep  .is-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.dsa-bg-cream .grid-padding-x > .cell,
.dsa-bg-white .grid-padding-x > .cell,
.dsa-bg-paths .grid-padding-x > .cell,
.dsa-bg-hero  .grid-padding-x > .cell,
.dsa-bg-deep  .grid-padding-x > .cell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.dsa-bg-cream .grid-padding-y,
.dsa-bg-white .grid-padding-y,
.dsa-bg-paths .grid-padding-y,
.dsa-bg-hero  .grid-padding-y,
.dsa-bg-deep  .grid-padding-y {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ---- TOP STRIP ----------------------------------------------------- */
.dsa-topstrip { background: var(--dsa-blue-deep); color: #cfd3ee; font-size: 0.82rem; padding: 9px 0; }
.dsa-topstrip .dsa-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.dsa-topstrip a { color: #fff; text-decoration: none; font-weight: 500; }
.dsa-topstrip .dsa-cta-group { display: flex; gap: 18px; align-items: center; }
.dsa-topstrip .dsa-cta-group a { position: relative; }
.dsa-topstrip .dsa-cta-group a:not(:last-child)::after { content: ""; position: absolute; right: -10px; top: 50%; transform: translateY(-50%); width: 3px; height: 3px; border-radius: 50%; background: var(--dsa-orange); }

/* ---- NAV ----------------------------------------------------------- */
.dsa-nav { background: rgba(255,255,255,0.92); border-bottom: 1px solid var(--dsa-line); backdrop-filter: blur(12px); }
.dsa-nav .dsa-inner { display: flex; align-items: center; justify-content: space-between; padding-top: 18px; padding-bottom: 18px; gap: 30px; }
.dsa-logo-mark { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--dsa-ink); }
.dsa-logo-shield { width: 46px; height: 52px; position: relative; flex-shrink: 0; background: var(--dsa-blue); clip-path: polygon(0 0, 100% 0, 100% 75%, 50% 100%, 0 75%); display: flex; align-items: center; justify-content: center; }
.dsa-logo-shield::after { content: ""; position: absolute; inset: 3px; clip-path: polygon(0 0, 100% 0, 100% 75%, 50% 100%, 0 75%); background: var(--dsa-white); }
.dsa-logo-shield span { position: relative; z-index: 1; font-family: 'Fraunces', serif; font-weight: 800; color: var(--dsa-blue); font-size: 1.35rem; letter-spacing: -0.05em; padding-bottom: 4px; }
.dsa-logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.dsa-logo-text .dsa-name { font-family: 'Fraunces', serif; font-weight: 700; font-size: 1.1rem; color: var(--dsa-blue-dark); letter-spacing: -0.02em; }
.dsa-logo-text .dsa-tag { font-size: 0.68rem; color: var(--dsa-muted); letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; }
.dsa-nav-links { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; }
.dsa-nav-links a { color: var(--dsa-ink-soft); text-decoration: none; font-weight: 500; font-size: 0.92rem; transition: color 0.2s; }
.dsa-nav-links a:hover { color: var(--dsa-blue); }
.dsa-nav-links a.dsa-current { color: var(--dsa-blue); font-weight: 600; position: relative; }
.dsa-nav-links a.dsa-current::after { content: ""; position: absolute; bottom: -26px; left: 0; right: 0; height: 3px; background: var(--dsa-orange); }
.dsa-nav-cta { background: var(--dsa-orange); color: var(--dsa-white); padding: 12px 22px; border-radius: 2px; font-weight: 600; text-decoration: none; font-size: 0.9rem; transition: all 0.25s; white-space: nowrap; box-shadow: 0 3px 0 var(--dsa-orange-dark); }
.dsa-nav-cta:hover { background: var(--dsa-orange-dark); transform: translateY(1px); box-shadow: 0 2px 0 var(--dsa-orange-dark); }
@media (max-width: 960px) { .dsa-nav-links { display: none; } }

/* ---- HERO ---------------------------------------------------------- */
.dsa-hero { position: relative; color: var(--dsa-white); padding: 110px 0 200px; overflow: hidden; }
.dsa-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle at 15% 20%, rgba(240,146,10,0.18) 0%, transparent 45%), radial-gradient(circle at 85% 80%, rgba(240,146,10,0.12) 0%, transparent 40%); pointer-events: none; }
.dsa-hero::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px); background-size: 48px 48px; pointer-events: none; mask-image: linear-gradient(to bottom, black 0%, transparent 100%); }
.dsa-hero .dsa-inner { position: relative; z-index: 2; }
.dsa-hero .dsa-eyebrow { color: var(--dsa-orange); margin-bottom: 26px; display: inline-flex; align-items: center; gap: 12px; }
.dsa-hero .dsa-eyebrow::before { content: ""; display: inline-block; width: 32px; height: 1.5px; background: var(--dsa-orange); }
.dsa-hero h1 { font-size: clamp(3rem, 7vw, 6rem); font-weight: 500; line-height: 0.98; max-width: 14ch; margin-bottom: 32px; }
.dsa-hero h1 em { font-style: italic; font-weight: 400; color: var(--dsa-orange); }
.dsa-hero-lede { font-size: clamp(1.05rem, 1.5vw, 1.25rem); max-width: 58ch; color: #dfe2f4; margin-bottom: 44px; line-height: 1.55; }
.dsa-credential-row { display: flex; flex-wrap: wrap; gap: 10px 14px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,0.14); max-width: 820px; }
.dsa-cred-pill { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; border-radius: 2px; font-size: 0.82rem; color: #e5e8f8; font-weight: 500; }
.dsa-cred-pill strong { color: var(--dsa-orange); font-weight: 600; }

/* ---- STATS --------------------------------------------------------- */
.dsa-stats { background: var(--dsa-white);  }
.dsa-stats-inner { display: grid; grid-template-columns: repeat(4, 1fr); }
.dsa-stat { padding: 42px 32px; border-right: 1px solid var(--dsa-line); position: relative; }
.dsa-stat:first-child { padding-left: 0; }
.dsa-stat:last-child { border-right: none; padding-right: 0; }
.dsa-stat::before { content: ""; position: absolute; top: 0; left: 0; width: 32px; height: 3px; background: var(--dsa-orange); }
.dsa-stat:first-child::before { left: 0; }
.dsa-stat .dsa-num { font-family: 'Fraunces', serif; font-size: clamp(2.5rem, 4vw, 3.5rem); font-weight: 500; color: var(--dsa-blue); letter-spacing: -0.04em; line-height: 1; margin-bottom: 8px; }
.dsa-stat .dsa-label { font-size: 0.82rem; color: var(--dsa-muted); text-transform: uppercase; letter-spacing: 0.1em; font-weight: 600; }
@media (max-width: 760px) {
  .dsa-stats-inner { grid-template-columns: repeat(2, 1fr); }
  .dsa-stat:nth-child(2) { border-right: none; }
  .dsa-stat:nth-child(1), .dsa-stat:nth-child(2) { border-bottom: 1px solid var(--dsa-line); }
}

/* ---- REALITY ------------------------------------------------------- */
.dsa-reality { padding: 120px 0 100px; }
.dsa-section-header { max-width: 760px; margin-bottom: 70px; }
.dsa-section-header h2 { font-size: clamp(2.25rem, 4vw, 3.5rem); font-weight: 500; margin: 18px 0 20px; }
.dsa-section-header h2 em { font-style: italic; color: var(--dsa-blue); font-weight: 400; }
.dsa-section-header p { font-size: 1.1rem; color: var(--dsa-ink-soft); max-width: 56ch; }
.dsa-compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.dsa-compare-col { background: var(--dsa-white); padding: 44px 38px; border: 1px solid var(--dsa-line); position: relative; }
.dsa-compare-col.dsa-kill { border-top: 4px solid #c84a4a; }
.dsa-compare-col.dsa-gain { border-top: 4px solid var(--dsa-orange); }
.dsa-compare-col h3 { font-family: 'DM Sans', sans-serif; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.18em; font-weight: 700; margin-bottom: 28px; color: var(--dsa-ink); }
.dsa-compare-col.dsa-gain h3 { color: var(--dsa-blue); }
.dsa-compare-item { display: flex; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--dsa-line); }
.dsa-compare-item:last-child { border-bottom: none; }
.dsa-compare-icon { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; }
.dsa-kill .dsa-compare-icon { background: #fbe9e9; color: #c84a4a; }
.dsa-gain .dsa-compare-icon { background: var(--dsa-orange-soft); color: var(--dsa-orange-dark); }
.dsa-compare-text strong { display: block; font-family: 'Fraunces', serif; font-size: 1.12rem; font-weight: 600; margin-bottom: 4px; color: var(--dsa-ink); letter-spacing: -0.01em; }
.dsa-compare-text p { color: var(--dsa-ink-soft); font-size: 0.94rem; line-height: 1.5; }
@media (max-width: 820px) { .dsa-compare-grid { grid-template-columns: 1fr; } }

/* ---- PATHS / PRICING ----------------------------------------------- */
.dsa-paths { padding: 120px 0; position: relative; }
.dsa-paths-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
@media (max-width: 1080px) { .dsa-paths-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .dsa-paths-grid { grid-template-columns: 1fr; } }
.dsa-path-card { background: var(--dsa-white); padding: 36px 30px 32px; border: 1px solid var(--dsa-line); position: relative; display: flex; flex-direction: column; transition: transform 0.3s, box-shadow 0.3s; }
.dsa-path-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -15px rgba(20,26,90,0.18); }
.dsa-path-card.dsa-featured { background: var(--dsa-blue-dark); color: #fff; border-color: var(--dsa-blue-dark); }
.dsa-path-card.dsa-featured .dsa-path-title, .dsa-path-card.dsa-featured .dsa-path-price { color: #fff; }
.dsa-path-card.dsa-featured .dsa-path-desc, .dsa-path-card.dsa-featured ul li { color: #d1d5ef; }
.dsa-path-card.dsa-featured ul li::before { color: var(--dsa-orange); }
.dsa-path-card.dsa-featured .dsa-path-meta { border-color: rgba(255,255,255,0.14); color: #b5baea; }
.dsa-badge-featured { position: absolute; top: -14px; left: 30px; background: var(--dsa-orange); color: #fff; font-size: 0.7rem; font-weight: 700; padding: 6px 12px; letter-spacing: 0.15em; }
.dsa-path-icon { width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; background: var(--dsa-orange-soft); color: var(--dsa-orange-dark); margin-bottom: 22px; border-radius: 2px; }
.dsa-path-card.dsa-featured .dsa-path-icon { background: rgba(240,146,10,0.2); color: var(--dsa-orange); }
.dsa-path-title { font-family: 'Fraunces', serif; font-size: 1.55rem; font-weight: 600; color: var(--dsa-blue-dark); letter-spacing: -0.02em; margin-bottom: 10px; line-height: 1.15; }
.dsa-path-desc { color: var(--dsa-ink-soft); font-size: 0.92rem; margin-bottom: 22px; line-height: 1.5; }
.dsa-path-card ul { list-style: none; margin: 0 0 24px; padding: 0; flex-grow: 1; }
.dsa-path-card ul li { font-size: 0.88rem; padding: 7px 0 7px 22px; position: relative; color: var(--dsa-ink-soft); line-height: 1.45; }
.dsa-path-card ul li::before { content: "\2192"; position: absolute; left: 0; top: 7px; color: var(--dsa-orange); font-weight: 700; }
.dsa-path-meta { font-size: 0.78rem; color: var(--dsa-muted); text-transform: uppercase; letter-spacing: 0.1em; padding-top: 16px; border-top: 1px solid var(--dsa-line); margin-bottom: 10px; font-weight: 600; }
.dsa-path-price { font-family: 'Fraunces', serif; font-size: 2.6rem; font-weight: 500; color: var(--dsa-blue); letter-spacing: -0.03em; line-height: 1; margin-bottom: 6px; }
.dsa-path-price small { font-size: 1rem; color: var(--dsa-muted); font-weight: 400; }
.dsa-path-sub { font-size: 0.78rem; color: var(--dsa-muted); margin-bottom: 18px; }
.dsa-path-btn { display: block; text-align: center; background: var(--dsa-blue); color: #fff; padding: 14px 20px; text-decoration: none; font-weight: 600; font-size: 0.9rem; transition: all 0.25s; border-radius: 2px; }
.dsa-path-btn:hover { background: var(--dsa-blue-deep); color:#fff;}
.dsa-path-card.dsa-featured .dsa-path-btn { background: var(--dsa-orange); color: #fff; }
.dsa-path-card.dsa-featured .dsa-path-btn:hover { background: var(--dsa-orange-dark); }

/* ---- NHIE horizontal card ------------------------------------------ */
.dsa-nhie-divider { margin: 80px 0 40px; display: flex; align-items: center; gap: 24px; }
.dsa-nhie-divider .dsa-line { flex: 1; height: 1px; background: var(--dsa-line-strong); }
.dsa-nhie-divider .dsa-eyebrow { color: var(--dsa-blue); white-space: nowrap; }
.dsa-nhie-card { display: grid; grid-template-columns: 0.85fr 1.15fr; background: var(--dsa-white); border: 1px solid var(--dsa-line); overflow: hidden; position: relative; box-shadow: 0 10px 40px -15px rgba(20,26,90,0.15); }
.dsa-nhie-visual { background: linear-gradient(145deg, var(--dsa-blue-deep) 0%, var(--dsa-blue) 60%, var(--dsa-blue-dark) 100%); padding: 56px 44px; color: #fff; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; min-height: 520px; }
.dsa-nhie-visual::before { content: ""; position: absolute; top: -100px; right: -100px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(240,146,10,0.3) 0%, transparent 65%); pointer-events: none; }
.dsa-nhie-visual::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px); background-size: 40px 40px; pointer-events: none; }
.dsa-nhie-visual > * { position: relative; z-index: 1; }
.dsa-nhie-badge { display: inline-flex; align-items: center; gap: 10px; background: rgba(240,146,10,0.18); border: 1px solid rgba(240,146,10,0.4); color: var(--dsa-orange); padding: 7px 14px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 28px; align-self: flex-start; }
.dsa-nhie-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--dsa-orange); box-shadow: 0 0 8px var(--dsa-orange); }
.dsa-nhie-stat-hero { display: flex; align-items: baseline; gap: 14px; margin-bottom: 16px; }
.dsa-nhie-stat-hero .dsa-big { font-family: 'Fraunces', serif; font-size: clamp(4rem, 8vw, 6rem); font-weight: 500; color: var(--dsa-orange); line-height: 0.85; letter-spacing: -0.045em; }
.dsa-nhie-stat-hero .dsa-lbl { font-family: 'Fraunces', serif; font-style: italic; font-size: 1.4rem; color: #fff; font-weight: 400; line-height: 1.1; max-width: 12ch; }
.dsa-nhie-headline { font-size: 0.98rem; color: #d1d5ef; margin-bottom: 32px; line-height: 1.5; max-width: 38ch; }
.dsa-nhie-stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid rgba(255,255,255,0.14); }
.dsa-nhie-stats-grid > div { padding: 20px 16px 0 0; border-right: 1px solid rgba(255,255,255,0.14); }
.dsa-nhie-stats-grid > div:nth-child(even) { border-right: none; padding-right: 0; padding-left: 16px; }
.dsa-nhie-stats-grid > div:nth-child(n+3) { padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.14); margin-top: -1px; }
.dsa-nhie-stats-grid .dsa-n { font-family: 'Fraunces', serif; font-size: 1.75rem; font-weight: 500; color: #fff; letter-spacing: -0.03em; line-height: 1; margin-bottom: 4px; }
.dsa-nhie-stats-grid .dsa-l { font-size: 0.72rem; color: #b5baea; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 600; }
.dsa-nhie-content { padding: 56px 50px; display: flex; flex-direction: column; }
.dsa-nhie-tagline { display: inline-block; font-size: 0.72rem; font-weight: 700; color: var(--dsa-orange); text-transform: uppercase; letter-spacing: 0.18em; margin-bottom: 14px; }
.dsa-nhie-title { font-family: 'Fraunces', serif; font-size: clamp(1.85rem, 3vw, 2.5rem); font-weight: 500; letter-spacing: -0.025em; line-height: 1.1; color: var(--dsa-blue-dark); margin-bottom: 14px; }
.dsa-nhie-title em { font-style: italic; color: var(--dsa-blue); font-weight: 400; }
.dsa-nhie-desc { color: var(--dsa-ink-soft); font-size: 0.98rem; line-height: 1.55; margin-bottom: 28px; max-width: 55ch; }
.dsa-nhie-features { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 22px; margin-bottom: 32px; }
.dsa-nhie-feature { display: flex; align-items: flex-start; gap: 10px; font-size: 0.88rem; color: var(--dsa-ink); line-height: 1.4; padding: 4px 0; }
.dsa-nhie-feature::before { content: "\2192"; color: var(--dsa-orange); font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.dsa-nhie-feature strong { color: var(--dsa-blue-dark); font-weight: 600; }
.dsa-nhie-footer { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; padding-top: 28px; margin-top: auto; border-top: 1px solid var(--dsa-line); }
.dsa-nhie-price-block { display: flex; flex-direction: column; }
.dsa-nhie-price-meta { font-size: 0.78rem; color: var(--dsa-muted); letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; margin-bottom: 6px; }
.dsa-nhie-price-meta s { color: #a1a5c7; font-weight: 500; letter-spacing: 0.05em; }
.dsa-nhie-price { font-family: 'Fraunces', serif; font-size: 3rem; font-weight: 500; color: var(--dsa-blue); letter-spacing: -0.03em; line-height: 1; margin-bottom: 4px; }
.dsa-nhie-price-sub { font-size: 0.8rem; color: var(--dsa-muted); }
.dsa-nhie-price-sub strong { color: var(--dsa-orange-dark); font-weight: 700; }
.dsa-nhie-cta { background: var(--dsa-orange); color: #fff; padding: 18px 30px; text-decoration: none; font-weight: 600; font-size: 0.95rem; letter-spacing: 0.02em; box-shadow: 0 4px 0 var(--dsa-orange-dark); transition: all 0.2s; white-space: nowrap; text-align: center; }
.dsa-nhie-cta:hover { transform: translateY(2px); box-shadow: 0 2px 0 var(--dsa-orange-dark); }
.dsa-nhie-cta small { display: block; font-size: 0.72rem; font-weight: 400; opacity: 0.85; margin-top: 3px; }
.dsa-nhie-guarantee { display: inline-flex; align-items: center; gap: 8px; font-size: 0.8rem; color: var(--dsa-ink-soft); margin-top: 14px; }
.dsa-nhie-guarantee::before { content: "\2713"; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; background: var(--dsa-orange-soft); color: var(--dsa-orange-dark); border-radius: 50%; font-size: 0.7rem; font-weight: 700; }
@media (max-width: 960px) {
  .dsa-nhie-card { grid-template-columns: 1fr; }
  .dsa-nhie-visual { min-height: auto; padding: 44px 36px; }
  .dsa-nhie-content { padding: 44px 36px; }
  .dsa-nhie-features { grid-template-columns: 1fr; }
  .dsa-nhie-footer { grid-template-columns: 1fr; gap: 20px; }
}

/* ---- RESOURCES ----------------------------------------------------- */
.dsa-resources { padding: 120px 0; }
.dsa-res-summary { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--dsa-line); margin-bottom: 60px; background: var(--dsa-cream); }
.dsa-res-summary-cell { padding: 28px 22px; text-align: center; border-right: 1px solid var(--dsa-line); }
.dsa-res-summary-cell:last-child { border-right: none; }
.dsa-res-summary-cell .dsa-big { font-family: 'Fraunces', serif; font-size: 2.2rem; font-weight: 500; color: var(--dsa-blue); line-height: 1; margin-bottom: 6px; letter-spacing: -0.03em; }
.dsa-res-summary-cell.dsa-accent .dsa-big { color: var(--dsa-orange); }
.dsa-res-summary-cell .dsa-lbl { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--dsa-muted); font-weight: 600; }
@media (max-width: 820px) {
  .dsa-res-summary { grid-template-columns: repeat(2, 1fr); }
  .dsa-res-summary-cell:nth-child(2) { border-right: none; }
  .dsa-res-summary-cell:nth-child(-n+4) { border-bottom: 1px solid var(--dsa-line); }
  .dsa-res-summary-cell:last-child { grid-column: 1 / -1; border-bottom: none; }
}
.dsa-category { margin-bottom: 18px; border: 1px solid var(--dsa-line); background: var(--dsa-white); overflow: hidden; }
.dsa-cat-header { width: 100%; text-align: left; cursor: pointer; background: var(--dsa-cream); padding: 22px 28px; display: flex; align-items: center; justify-content: space-between; border: none; font-family: inherit; transition: background 0.2s; }
.dsa-cat-header:hover { background: #f3eee3; }
.dsa-cat-header.dsa-open { background: var(--dsa-blue); color: #fff; }
.dsa-cat-header.dsa-open .dsa-cat-count { background: rgba(255,255,255,0.15); color: #fff; }
.dsa-cat-header.dsa-open .dsa-cat-toggle { color: var(--dsa-orange); transform: rotate(45deg); }
.dsa-cat-title { font-family: 'Fraunces', serif; font-size: 1.3rem; font-weight: 600; letter-spacing: -0.015em; display: flex; align-items: center; gap: 14px; }
.dsa-cat-title .dsa-emoji { font-size: 1.35rem; }
.dsa-cat-meta { display: flex; align-items: center; gap: 18px; }
.dsa-cat-count { background: var(--dsa-white); color: var(--dsa-blue); padding: 4px 12px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; border: 1px solid var(--dsa-line); }
.dsa-cat-toggle { font-size: 1.6rem; color: var(--dsa-blue); font-weight: 300; transition: transform 0.3s, color 0.2s; line-height: 1; }
.dsa-cat-body { padding: 0 28px; max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; }
.dsa-cat-body.dsa-open { padding: 28px; max-height: 2000px; }
.dsa-tool-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.dsa-tool-card { padding: 20px; border: 1px solid var(--dsa-line); background: var(--dsa-cream); position: relative; transition: all 0.2s; }
.dsa-tool-card:hover { border-color: var(--dsa-orange); transform: translateY(-2px); }
.dsa-tool-type { display: inline-block; font-size: 0.65rem; font-weight: 700; padding: 3px 8px; margin-bottom: 12px; letter-spacing: 0.1em; }
.dsa-tool-type.dsa-xl { background: var(--dsa-blue); color: #fff; }
.dsa-tool-type.dsa-wd { background: var(--dsa-orange); color: #fff; }
.dsa-tool-card h4 { font-family: 'Fraunces', serif; font-size: 1.02rem; font-weight: 600; line-height: 1.25; margin-bottom: 6px; color: var(--dsa-ink); letter-spacing: -0.01em; }
.dsa-tool-card p { font-size: 0.83rem; color: var(--dsa-ink-soft); line-height: 1.45; }

/* VALUE CTA */
.dsa-value-cta { margin-top: 70px; background: var(--dsa-blue-deep); color: #fff; padding: 60px 50px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; position: relative; overflow: hidden; }
.dsa-value-cta::before { content: ""; position: absolute; top: -80px; right: -80px; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(240,146,10,0.25) 0%, transparent 70%); }
.dsa-value-cta-content { position: relative; z-index: 1; }
.dsa-value-cta h3 { font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 500; margin-bottom: 16px; color: #fff; }
.dsa-value-cta h3 em { color: var(--dsa-orange); font-style: italic; font-weight: 400; }
.dsa-value-cta p { color: #d1d5ef; margin-bottom: 28px; max-width: 50ch; }
.dsa-btn-gold { background: var(--dsa-orange); color: #fff; padding: 16px 32px; text-decoration: none; font-weight: 600; display: inline-block; letter-spacing: 0.02em; box-shadow: 0 4px 0 var(--dsa-orange-dark); transition: all 0.2s; }
.dsa-btn-gold:hover { transform: translateY(2px); box-shadow: 0 2px 0 var(--dsa-orange-dark); }
.dsa-value-compare { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: center; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12); padding: 28px 20px; }
.dsa-value-compare > div { text-align: center; }
.dsa-value-compare .dsa-amount { font-family: 'Fraunces', serif; font-size: 2rem; font-weight: 500; letter-spacing: -0.03em; line-height: 1; }
.dsa-value-compare .dsa-was .dsa-amount { color: #b5baea; text-decoration: line-through; text-decoration-thickness: 2px; }
.dsa-value-compare .dsa-now .dsa-amount { color: var(--dsa-orange); }
.dsa-value-compare .dsa-sub { font-size: 0.72rem; color: #b5baea; text-transform: uppercase; letter-spacing: 0.12em; margin-top: 8px; font-weight: 600; }
.dsa-value-compare .dsa-arrow { font-size: 1.6rem; color: var(--dsa-orange); }
@media (max-width: 820px) { .dsa-value-cta { grid-template-columns: 1fr; padding: 40px 28px; } }

/* ---- EBOOK LIBRARY ------------------------------------------------- */
.dsa-ebooks { padding: 120px 0; position: relative; overflow: hidden; }
.dsa-ebooks::before { content: ""; position: absolute; top: 0; right: 0; width: 50%; height: 300px; background: radial-gradient(ellipse at top right, rgba(240,146,10,0.05) 0%, transparent 60%); pointer-events: none; }
.dsa-ebooks .dsa-inner { position: relative; z-index: 1; }
.dsa-ebooks-summary { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--dsa-line); margin-bottom: 60px; background: var(--dsa-cream); }
.dsa-ebooks-summary-cell { padding: 28px 22px; text-align: center; border-right: 1px solid var(--dsa-line); }
.dsa-ebooks-summary-cell:last-child { border-right: none; }
.dsa-ebooks-summary-cell .dsa-big { font-family: 'Fraunces', serif; font-size: 2.2rem; font-weight: 500; color: var(--dsa-blue); line-height: 1; margin-bottom: 6px; letter-spacing: -0.03em; }
.dsa-ebooks-summary-cell.dsa-accent .dsa-big { color: var(--dsa-orange); }
.dsa-ebooks-summary-cell .dsa-lbl { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--dsa-muted); font-weight: 600; }
@media (max-width: 820px) {
  .dsa-ebooks-summary { grid-template-columns: repeat(2, 1fr); }
  .dsa-ebooks-summary-cell:nth-child(2) { border-right: none; }
  .dsa-ebooks-summary-cell:nth-child(-n+2) { border-bottom: 1px solid var(--dsa-line); }
}
.dsa-ebook-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; margin-bottom: 70px; }
@media (max-width: 1100px) { .dsa-ebook-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; } }
@media (max-width: 880px)  { .dsa-ebook-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
@media (max-width: 620px)  { .dsa-ebook-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
.dsa-ebook-card { display: flex; flex-direction: column; background: transparent; position: relative; transition: transform 0.3s ease; }
.dsa-ebook-card:hover { transform: translateY(-6px); }
.dsa-ebook-card:hover .dsa-ebook-cover { box-shadow: -6px 10px 30px -8px rgba(20,26,90,0.35), 12px 14px 30px -12px rgba(240,146,10,0.25); }
.dsa-ebook-cover-wrap { position: relative; margin-bottom: 18px; }
.dsa-ebook-cover { aspect-ratio: 2 / 3; width: 100%; background: var(--dsa-cream); overflow: hidden; position: relative; box-shadow: -3px 5px 16px -5px rgba(20,26,90,0.25), 4px 6px 14px -8px rgba(0,0,0,0.15); transition: box-shadow 0.35s ease; border-left: 2px solid rgba(20,26,90,0.08); }
.dsa-ebook-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,0.08) 0%, transparent 6%); pointer-events: none; }
.dsa-ebook-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dsa-ebook-badge { position: absolute; top: 10px; left: -8px; z-index: 2; background: var(--dsa-orange); color: #fff; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; padding: 6px 11px 6px 13px; display: flex; align-items: center; gap: 6px; box-shadow: 2px 3px 8px rgba(240,146,10,0.35); }
.dsa-ebook-badge::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #fff; }
.dsa-ebook-badge::after { content: ""; position: absolute; bottom: -6px; left: 0; width: 0; height: 0; border-style: solid; border-width: 0 8px 6px 0; border-color: transparent var(--dsa-orange-dark) transparent transparent; }
.dsa-ebook-title { font-family: 'Fraunces', serif; font-size: 1rem; font-weight: 600; line-height: 1.2; color: var(--dsa-ink); letter-spacing: -0.012em; margin-bottom: 8px; min-height: 2.4em; }
.dsa-ebook-meta { display: flex; justify-content: space-between; align-items: center; padding-top: 10px; margin-top: auto; border-top: 1px solid var(--dsa-line); gap: 8px; }
.dsa-ebook-price { font-family: 'Fraunces', serif; font-size: 1.25rem; font-weight: 600; color: var(--dsa-blue); letter-spacing: -0.02em; line-height: 1; }
.dsa-ebook-price.dsa-premium { color: var(--dsa-orange-dark); }
.dsa-ebook-buy { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--dsa-blue); text-decoration: none; padding: 7px 10px; border: 1px solid var(--dsa-blue); transition: all 0.2s; white-space: nowrap; }
.dsa-ebook-buy:hover { background: var(--dsa-blue); color: #fff; }
.dsa-ebook-card.dsa-premium .dsa-ebook-buy { color: var(--dsa-orange-dark); border-color: var(--dsa-orange); }
.dsa-ebook-card.dsa-premium .dsa-ebook-buy:hover { background: var(--dsa-orange); color: #fff; border-color: var(--dsa-orange); }
/* BUNDLE */
.dsa-bundle-card { background: linear-gradient(135deg, var(--dsa-blue-deep) 0%, var(--dsa-blue-dark) 50%, var(--dsa-blue) 100%); color: #fff; display: grid; grid-template-columns: 1.05fr 1fr; align-items: stretch; position: relative; overflow: hidden; box-shadow: 0 30px 60px -25px rgba(20,26,90,0.4); }
.dsa-bundle-card::before { content: ""; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient(circle, rgba(240,146,10,0.22) 0%, transparent 65%); z-index: 0; }
.dsa-bundle-image-panel { position: relative; min-height: 100%; background: #0f1443; overflow: hidden; }
.dsa-bundle-image-panel img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.dsa-bundle-image-panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 70%, rgba(20,26,90,0.35) 100%); pointer-events: none; }
.dsa-bundle-content-panel { padding: 56px 52px; position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; }
.dsa-bundle-content-panel::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(135deg, black 0%, transparent 70%); pointer-events: none; z-index: -1; }
.dsa-bundle-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--dsa-orange); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; margin-bottom: 18px; }
.dsa-bundle-eyebrow::before { content: ""; width: 28px; height: 1.5px; background: var(--dsa-orange); }
.dsa-bundle-card h3 { font-family: 'Fraunces', serif; font-size: clamp(1.85rem, 2.9vw, 2.5rem); font-weight: 500; line-height: 1.05; color: #fff; margin-bottom: 18px; letter-spacing: -0.025em; }
.dsa-bundle-card h3 em { font-style: italic; color: var(--dsa-orange); font-weight: 400; }
.dsa-bundle-lede { color: #d1d5ef; margin-bottom: 24px; line-height: 1.55; font-size: 0.98rem; max-width: 46ch; }
.dsa-bundle-includes { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 20px; margin: 0 0 28px; padding: 0; font-size: 0.82rem; color: #d1d5ef; }
.dsa-bundle-includes li { list-style: none; position: relative; padding-left: 16px; line-height: 1.45; }
.dsa-bundle-includes li::before { content: "\2192"; position: absolute; left: 0; top: 0; color: var(--dsa-orange); font-weight: 700; }
.dsa-bundle-price-row { display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: end; padding: 22px 0 26px; border-top: 1px solid rgba(255,255,255,0.14); border-bottom: 1px solid rgba(255,255,255,0.14); margin-bottom: 24px; }
.dsa-bundle-price-left { display: flex; flex-direction: column; }
.dsa-bundle-price-top { font-size: 0.68rem; color: #b5baea; text-transform: uppercase; letter-spacing: 0.16em; font-weight: 600; margin-bottom: 6px; }
.dsa-bundle-was { font-family: 'Fraunces', serif; font-size: 1rem; color: #8a90c2; text-decoration: line-through; text-decoration-thickness: 1.5px; letter-spacing: -0.01em; line-height: 1; }
.dsa-bundle-now { font-family: 'Fraunces', serif; font-size: clamp(2.8rem, 4.5vw, 3.6rem); font-weight: 500; color: var(--dsa-orange); letter-spacing: -0.04em; line-height: 0.9; margin-top: 4px; }
.dsa-bundle-price-right { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; text-align: right; }
.dsa-bundle-save-pill { display: inline-block; background: var(--dsa-orange); color: #fff; padding: 6px 14px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.dsa-bundle-terms { font-size: 0.76rem; color: #b5baea; line-height: 1.5; }
.dsa-bundle-cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: var(--dsa-orange); color: #fff; padding: 18px 32px; text-decoration: none; font-weight: 700; letter-spacing: 0.03em; box-shadow: 0 4px 0 var(--dsa-orange-dark); transition: all 0.2s; align-self: flex-start; }
.dsa-bundle-cta-btn:hover { transform: translateY(2px); box-shadow: 0 2px 0 var(--dsa-orange-dark); }
.dsa-bundle-cta-btn .dsa-arrow { transition: transform 0.2s; }
.dsa-bundle-cta-btn:hover .dsa-arrow { transform: translateX(4px); }
@media (max-width: 960px) {
  .dsa-bundle-card { grid-template-columns: 1fr; }
  .dsa-bundle-image-panel { aspect-ratio: 1 / 1; }
  .dsa-bundle-image-panel::after { display: none; }
  .dsa-bundle-content-panel { padding: 44px 32px; }
  .dsa-bundle-includes { grid-template-columns: 1fr; }
  .dsa-bundle-price-row { grid-template-columns: 1fr; gap: 14px; }
  .dsa-bundle-price-right { align-items: flex-start; text-align: left; }
}

/* ---- COACH BIO ----------------------------------------------------- */
.dsa-bio { padding: 120px 0; }
.dsa-bio-wrap { display: grid; grid-template-columns: 0.9fr 1.3fr; gap: 60px; align-items: start; }
.dsa-bio-visual { position: relative; }
.dsa-bio-photo { width: 100%; aspect-ratio: 4/5; background: linear-gradient(135deg, var(--dsa-blue) 0%, var(--dsa-blue-dark) 100%); position: relative; overflow: hidden; }
.dsa-bio-photo::before { content: ""; position: absolute; inset: 0; background-image: url("https://d2wvwvig0d1mx7.cloudfront.net/data/org/22224/media/img/source/edit/3663269_edit.webp"); background-size: cover; background-position: center top; filter: contrast(1.03) saturate(1.05); }
.dsa-bio-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(20,26,90,0.55) 100%); }
.dsa-bio-award { position: absolute; bottom: 22px; left: 22px; right: 22px; background: var(--dsa-orange); color: #fff; padding: 14px 18px; font-size: 0.85rem; font-weight: 600; line-height: 1.3; display: flex; align-items: center; gap: 10px; z-index: 2; }
.dsa-bio-award::before { content: "\1F3C6"; font-size: 1.2rem; }
.dsa-bio-content h2 { font-size: clamp(2.2rem, 3.5vw, 3rem); font-weight: 500; margin: 20px 0 8px; }
.dsa-bio-content h2 em { font-style: italic; color: var(--dsa-blue); font-weight: 400; }
.dsa-bio-subline { color: var(--dsa-blue); font-size: 0.9rem; font-weight: 600; margin-bottom: 28px; letter-spacing: -0.01em; }
.dsa-bio-content p { color: var(--dsa-ink-soft); margin-bottom: 20px; font-size: 1rem; line-height: 1.65; }
.dsa-bio-details { margin-top: 36px; border-top: 1px solid var(--dsa-line-strong); padding-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 32px; }
.dsa-bio-detail { display: flex; flex-direction: column; gap: 3px; padding-bottom: 16px; border-bottom: 1px solid var(--dsa-line); }
.dsa-bio-detail .dsa-dt { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--dsa-muted); font-weight: 600; }
.dsa-bio-detail .dsa-dd { font-family: 'Fraunces', serif; font-size: 1rem; color: var(--dsa-ink); font-weight: 600; letter-spacing: -0.01em; }
@media (max-width: 960px) {
  .dsa-bio-wrap { grid-template-columns: 1fr; gap: 40px; }
  .dsa-bio-details { grid-template-columns: 1fr; }
}

/* ---- FOOTER -------------------------------------------------------- */
.dsa-footer { background: var(--dsa-blue-deep); color: #b5baea; padding: 70px 0 30px; }
.dsa-foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 50px; padding-bottom: 50px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.dsa-foot-brand .dsa-logo-text .dsa-name { color: #fff; }
.dsa-foot-brand .dsa-logo-text .dsa-tag { color: var(--dsa-orange); }
.dsa-foot-brand p { margin: 20px 0; font-size: 0.92rem; line-height: 1.6; max-width: 42ch; }
.dsa-foot-contact { font-size: 0.88rem; }
.dsa-foot-contact strong { color: #fff; }
.dsa-foot-col h5 { font-family: 'DM Sans', sans-serif; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.14em; color: #fff; font-weight: 700; margin-bottom: 18px; }
.dsa-foot-col ul { list-style: none; margin: 0; padding: 0; }
.dsa-foot-col li { padding: 6px 0; }
.dsa-foot-col a { color: #b5baea; text-decoration: none; font-size: 0.88rem; transition: color 0.2s; }
.dsa-foot-col a:hover { color: var(--dsa-orange); }
.dsa-foot-bottom { padding-top: 24px; display: flex; justify-content: space-between; font-size: 0.8rem; color: #8a90c2; flex-wrap: wrap; gap: 10px; }
@media (max-width: 820px) { .dsa-foot-grid { grid-template-columns: 1fr 1fr; gap: 30px; } }
@media (max-width: 500px) { .dsa-foot-grid { grid-template-columns: 1fr; } }


/* ============================================================
   DS HOME INSPECTION ACADEMY — INSPECTOR'S STARTER KIT
   Namespaced: dshi-  |  Appended to site.css
   Fonts: Fraunces (display), Inter Tight (body), JetBrains Mono (label)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Inter+Tight:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
    --dshi-blue-primary: #2D3494;
    --dshi-blue-dark: #1e2470;
    --dshi-blue-deep: #141a5a;
    --dshi-accent: #F0920A;
    --dshi-accent-soft: #ffb95a;
    --dshi-cream: #f6f2e9;
    --dshi-paper: #fbf9f4;
    --dshi-ink: #0d1036;
    --dshi-muted: #6b6f8c;
    --dshi-line: rgba(20, 26, 90, 0.14);
    --dshi-line-bold: rgba(20, 26, 90, 0.35)
}

/* ---- Section background overrides ----
   The theme has `.is-wrapper > div { background: transparent }`, a
   direct-child rule (specificity 0,0,1,1) that beats a plain class
   (0,0,1,0). Scoping our section class under `.is-wrapper` raises
   specificity to 0,0,2,0 so the section background actually shows. */
.is-wrapper > .dshi-hero,
.is-wrapper .dshi-hero {
    background: var(--dshi-blue-deep)
}

.is-wrapper > .dshi-intro-strip,
.is-wrapper .dshi-intro-strip {
    background: var(--dshi-blue-primary)
}

.is-wrapper > .dshi-intro-sec,
.is-wrapper .dshi-intro-sec,
.is-wrapper > .dshi-legend-sec,
.is-wrapper .dshi-legend-sec {
    background: var(--dshi-paper)
}

.is-wrapper > .dshi-tools-sec,
.is-wrapper .dshi-tools-sec {
    background: var(--dshi-cream)
}

.is-wrapper > .dshi-chapter-break,
.is-wrapper .dshi-chapter-break {
    background: var(--dshi-blue-deep)
}

.is-wrapper > .dshi-closing,
.is-wrapper .dshi-closing {
    background: var(--dshi-blue-deep)
}

/* ---- Shared section paddings (override default is-container margins) ---- */
.dshi-hero .is-container,
.dshi-intro-strip .is-container,
.dshi-intro-sec .is-container,
.dshi-legend-sec .is-container,
.dshi-chapter-break .is-container,
.dshi-closing .is-container {
    margin-top: 0;
    margin-bottom: 0
}

/* ============================================================
   SECTION 01 — HERO
   ============================================================ */
.dshi-hero {
    color: var(--dshi-cream);
    position: relative;
    overflow: hidden
}

.dshi-hero .is-container {
    padding-top: 80px;
    padding-bottom: 120px
}

.dshi-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    -webkit-mask-image: radial-gradient(ellipse at top right, black 30%, transparent 70%);
    mask-image: radial-gradient(ellipse at top right, black 30%, transparent 70%);
    pointer-events: none
}

.dshi-hero-content {
    max-width: 780px
}

.dshi-eyebrow {
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--dshi-accent);
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    gap: 14px
}

.dshi-eyebrow::before {
    content: "";
    width: 40px;
    height: 1px;
    background: var(--dshi-accent)
}

.dshi-hero-title {
    font-family: "Fraunces", serif;
    font-weight: 400;
    font-size: clamp(56px, 8vw, 120px);
    line-height: 0.92;
    letter-spacing: -0.035em;
    margin: 0 0 32px;
    color: var(--dshi-cream);
    text-transform: none;
    text-wrap: balance;
    font-variation-settings: "opsz" 144
}

.dshi-hero-title em {
    font-style: italic;
    font-weight: 300;
    color: var(--dshi-accent-soft)
}

.dshi-hero-sub {
    font-family: "Inter Tight", sans-serif;
    font-size: 19px;
    line-height: 1.55;
    color: rgba(246, 242, 233, 0.78);
    max-width: 580px;
    margin-bottom: 48px;
    font-weight: 300
}

.dshi-hero-stats {
    display: flex;
    gap: 48px;
    padding-top: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    flex-wrap: wrap
}

.dshi-stat-num {
    font-family: "Fraunces", serif;
    font-size: 44px;
    font-weight: 500;
    line-height: 1;
    color: var(--dshi-cream)
}

.dshi-stat-label {
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(246, 242, 233, 0.55);
    margin-top: 10px
}

.dshi-hero-ornament-cell {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end
}

.dshi-hero-ornament {
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    color: rgba(246, 242, 233, 0.35);
    letter-spacing: 0.15em;
    text-align: right;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    padding: 40px 0 40px 24px;
    border-left: 1px solid rgba(255, 255, 255, 0.12)
}

/* ============================================================
   SECTION 02 — INTRO STRIP
   ============================================================ */
.dshi-intro-strip {
    color: var(--dshi-cream)
}

.dshi-intro-strip .is-container {
    padding-top: 0;
    padding-bottom: 0
}

.dshi-intro-strip-cell {
    padding-top: 32px;
    padding-bottom: 32px;
    display: flex;
    align-items: center;
    gap: 40px;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(246, 242, 233, 0.78);
    overflow-x: auto;
    white-space: nowrap
}

.dshi-strip-item {
    display: inline-flex;
    align-items: center;
    gap: 10px
}

.dshi-strip-item::before {
    content: "";
    width: 6px;
    height: 6px;
    background: var(--dshi-accent);
    display: inline-block;
    border-radius: 50%
}

/* ============================================================
   SECTION 03 — SECTION INTRO
   ============================================================ */
.dshi-intro-sec {
    color: var(--dshi-ink)
}

.dshi-intro-sec .is-container {
    padding-top: 120px;
    padding-bottom: 60px
}

.dshi-section-label {
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--dshi-blue-primary);
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px
}

.dshi-section-label::before {
    content: "\00A7 01";
    color: var(--dshi-accent);
    font-weight: 500
}

/* Chapter 02 variant — swaps the § 01 prefix for § 02 */
.dshi-section-label.s02::before {
    content: "\00A7 02"
}

/* Chapter 03 variant — swaps the § 01 prefix for § 03 */
.dshi-section-label.s03::before {
    content: "\00A7 03"
}

.dshi-section-title {
    font-family: "Fraunces", serif;
    font-weight: 400;
    font-size: clamp(40px, 5vw, 72px);
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: var(--dshi-ink);
    text-transform: none;
    text-wrap: balance;
    margin: 0;
    font-variation-settings: "opsz" 144
}

.dshi-section-title em {
    font-style: italic;
    font-weight: 300;
    color: var(--dshi-blue-primary)
}

.dshi-section-body {
    font-family: "Inter Tight", sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: var(--dshi-ink);
    max-width: 560px
}

.dshi-section-body p {
    margin: 0
}

.dshi-section-body p + p {
    margin-top: 20px
}

.dshi-section-body strong {
    color: var(--dshi-blue-dark);
    font-weight: 600
}

.dshi-section-signature {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--dshi-line);
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--dshi-muted)
}

.dshi-section-signature strong {
    color: var(--dshi-blue-dark);
    font-weight: 600
}

/* ============================================================
   SECTION 04 — LEGEND
   ============================================================ */
.dshi-legend-sec .is-container {
    padding-top: 0;
    padding-bottom: 60px
}

.dshi-legend-cell {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    border-bottom: 1px solid var(--dshi-line);
    padding-bottom: 40px
}

.dshi-legend-chip {
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 8px 14px;
    border: 1px solid var(--dshi-line-bold);
    border-radius: 999px;
    color: var(--dshi-blue-dark);
    background: transparent
}

/* ============================================================
   05 · TOOLS GRID
   ============================================================ */
.dshi-tools-sec .is-container {
    padding-top: 40px;
    padding-bottom: 110px
}

/* Grid rhythm — the locked grid-x lays cells out with grid-padding-x
   gutters. We add vertical breathing room between stacked rows here; the
   horizontal gap between cards comes from side-padding on each cell plus
   the inner .dshi-tool-body wrapper (below), which keeps Foundation's
   border-box width math exact — rows never overflow or wrap. */
.dshi-tools-grid {
    row-gap: 28px
}

/* ---- Standard card ----
   The white card lives in an inner .dshi-tool-body wrapper so the
   Foundation cell (.dshi-tool) can stay full-width and transparent.
   Horizontal padding on the cell opens a real gap between cards without
   touching the locked grid-x or the cell's 25% width. */
.dshi-tool {
    padding-left: 10px;
    padding-right: 10px
}

.dshi-tool-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid var(--dshi-line);
    border-radius: 4px;
    padding: 26px 26px 28px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease
}

.dshi-tool-body:hover {
    transform: translateY(-4px);
    border-color: var(--dshi-line-bold);
    box-shadow: 0 22px 44px rgba(20, 26, 90, 0.12)
}

.dshi-tool-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 14px
}

.dshi-tool-num {
    font-family: "Fraunces", serif;
    font-style: italic;
    font-weight: 500;
    font-size: 30px;
    line-height: 1;
    color: var(--dshi-blue-primary)
}

.dshi-tool-cat {
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--dshi-muted)
}

/* ---- Image plate ---- */
.dshi-tool-image {
    position: relative;
    aspect-ratio: 1 / 1;
    background: var(--dshi-paper);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 18px
}

.dshi-tool-image-link {
    display: block;
    width: 100%;
    height: 100%
}

.dshi-tool-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 16px;
    box-sizing: border-box;
    mix-blend-mode: multiply;
    transition: transform 0.35s ease
}

.dshi-tool-image:hover img {
    transform: scale(1.04)
}

/* ---- Card text ---- */
.dshi-tool-type {
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--dshi-accent);
    margin-bottom: 8px
}

.dshi-tool-name {
    font-family: "Fraunces", serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.18;
    color: var(--dshi-ink);
    margin: 0 0 12px;
    text-wrap: balance
}

.dshi-tool-desc {
    font-family: "Inter Tight", sans-serif;
    font-size: 14px;
    line-height: 1.62;
    color: var(--dshi-blue-dark);
    margin: 0 0 16px
}

.dshi-tool-note {
    font-family: "Inter Tight", sans-serif;
    font-size: 13px;
    line-height: 1.55;
    color: var(--dshi-muted);
    padding-top: 14px;
    margin: 0 0 18px;
    border-top: 1px dashed var(--dshi-line-bold)
}

.dshi-tool-note::before {
    content: "Field note — ";
    font-weight: 600;
    color: var(--dshi-blue-primary)
}

/* push the CTA to the bottom of equal-height cards */
.dshi-tool-buy {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--dshi-ink);
    padding: 12px 18px;
    border: 1px solid var(--dshi-line-bold);
    border-radius: 3px;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease
}

.dshi-tool-buy:hover {
    background: var(--dshi-accent);
    border-color: var(--dshi-accent);
    color: var(--dshi-ink)
}

/* ---- Featured card (cell large-6) ----
   Surface lives on .dshi-tool-featured-inner so the cell can carry the
   same 10px side padding as standard cards, insetting the gradient panel
   to match the inter-card gap. */
.dshi-tool-featured-inner {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 32px;
    height: 100%;
    padding: 34px 36px 36px;
    background: linear-gradient(135deg, var(--dshi-blue-deep), var(--dshi-blue-dark));
    border-radius: 4px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease
}

/* top accent bar */
.dshi-tool-featured-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--dshi-accent)
}

/* MOST USED pill (from data-badge on the cell) */
.dshi-tool-featured::after {
    content: attr(data-badge);
    position: absolute;
    top: 22px;
    right: 34px;
    z-index: 1;
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--dshi-blue-deep);
    background: var(--dshi-accent-soft);
    padding: 5px 12px;
    border-radius: 999px
}

.dshi-tool-featured {
    position: relative
}

.dshi-tool-featured-inner:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 54px rgba(20, 26, 90, 0.4)
}

.dshi-featured-body {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    min-width: 0
}

.dshi-tool-featured .dshi-tool-image {
    flex: 0 0 42%;
    aspect-ratio: auto;
    align-self: stretch;
    background: var(--dshi-cream);
    margin-bottom: 0
}

/* recolour featured text for the dark panel */
.dshi-tool-featured .dshi-tool-num {
    color: var(--dshi-accent-soft)
}

.dshi-tool-featured .dshi-tool-cat {
    color: rgba(246, 242, 233, 0.6)
}

.dshi-tool-featured .dshi-tool-type {
    color: var(--dshi-accent-soft)
}

.dshi-tool-featured .dshi-tool-name {
    font-size: 28px;
    color: var(--dshi-cream)
}

.dshi-tool-featured .dshi-tool-desc {
    color: rgba(246, 242, 233, 0.82)
}

.dshi-tool-featured .dshi-tool-note {
    color: rgba(246, 242, 233, 0.7);
    border-top-color: rgba(246, 242, 233, 0.25)
}

.dshi-tool-featured .dshi-tool-note::before {
    color: var(--dshi-accent-soft)
}

.dshi-tool-featured .dshi-tool-buy {
    color: var(--dshi-cream);
    border-color: rgba(246, 242, 233, 0.4)
}

.dshi-tool-featured .dshi-tool-buy:hover {
    background: var(--dshi-accent);
    border-color: var(--dshi-accent);
    color: var(--dshi-ink)
}

/* ---- Hero card (cell large-12) ----
   Full-width statement card. Surface lives on .dshi-tool-hero-inner so the
   cell keeps the same 10px side padding as every other card. Default flow
   is text-left / image-right; .dshi-tool-hero-left swaps to image-left. */
.dshi-tool-hero {
    position: relative
}

.dshi-tool-hero-inner {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 48px;
    height: 100%;
    padding: 50px 56px 52px;
    background: linear-gradient(135deg, var(--dshi-blue-deep), var(--dshi-blue-dark));
    border-radius: 4px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease
}

/* top accent bar */
.dshi-tool-hero-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--dshi-accent)
}

/* badge pill (from data-badge on the cell) */
.dshi-tool-hero::after {
    content: attr(data-badge);
    position: absolute;
    top: 30px;
    right: 56px;
    z-index: 1;
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--dshi-blue-deep);
    background: var(--dshi-accent-soft);
    padding: 5px 12px;
    border-radius: 999px
}

.dshi-tool-hero-inner:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 54px rgba(20, 26, 90, 0.4)
}

.dshi-hero-body {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0
}

.dshi-tool-hero .dshi-tool-image {
    flex: 0 0 44%;
    aspect-ratio: auto;
    align-self: stretch;
    min-height: 280px;
    background: var(--dshi-cream);
    margin-bottom: 0
}

/* image-left variant: image first in source already, this just guarantees
   order even if markup changes */
.dshi-tool-hero-left .dshi-tool-image {
    order: 0
}

.dshi-tool-hero-left .dshi-hero-body {
    order: 1
}

/* recolour hero text for the dark panel */
.dshi-tool-hero .dshi-tool-num {
    font-size: 56px;
    color: var(--dshi-accent-soft)
}

.dshi-tool-hero .dshi-tool-cat {
    color: rgba(246, 242, 233, 0.6)
}

.dshi-tool-hero .dshi-tool-type {
    color: var(--dshi-accent-soft)
}

.dshi-tool-hero .dshi-tool-name {
    font-size: 44px;
    line-height: 1.02;
    color: var(--dshi-cream)
}

.dshi-tool-hero .dshi-tool-desc {
    color: rgba(246, 242, 233, 0.82)
}

.dshi-tool-hero .dshi-tool-note {
    color: rgba(246, 242, 233, 0.7);
    border-top-color: rgba(246, 242, 233, 0.25)
}

.dshi-tool-hero .dshi-tool-note::before {
    color: var(--dshi-accent-soft)
}

.dshi-tool-hero .dshi-tool-buy {
    color: var(--dshi-cream);
    border-color: rgba(246, 242, 233, 0.4)
}

.dshi-tool-hero .dshi-tool-buy:hover {
    background: var(--dshi-accent);
    border-color: var(--dshi-accent);
    color: var(--dshi-ink)
}

/* ============================================================
   05b · TOOLS GRID — CTA CARD (cell large-12)
   The original standalone .cta-card, namespaced. Surface lives on
   .dshi-tool-cta-inner so the cell keeps the same 10px side padding
   as every other card in the grid.
   ============================================================ */
.dshi-tool-cta {
    position: relative
}

.dshi-tool-cta-inner {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px;
    padding: 50px 56px 52px;
    background: linear-gradient(135deg, var(--dshi-blue-deep), var(--dshi-blue-dark));
    border-radius: 4px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease
}

/* top accent bar */
.dshi-tool-cta-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--dshi-accent);
    z-index: 1
}

/* masked grid texture */
.dshi-tool-cta-inner::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    -webkit-mask-image: radial-gradient(ellipse at bottom right, black 20%, transparent 70%);
    mask-image: radial-gradient(ellipse at bottom right, black 20%, transparent 70%);
    pointer-events: none
}

.dshi-tool-cta-inner:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 54px rgba(20, 26, 90, 0.4)
}

.dshi-cta-body {
    flex: 1 1 0;
    position: relative;
    min-width: 0
}

.dshi-cta-eyebrow {
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--dshi-accent);
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 12px
}

.dshi-cta-eyebrow::before {
    content: "";
    width: 32px;
    height: 1px;
    background: var(--dshi-accent)
}

.dshi-cta-title {
    font-family: "Fraunces", serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--dshi-cream);
    margin: 0 0 22px;
    text-wrap: balance;
    font-variation-settings: "opsz" 72
}

.dshi-cta-title em {
    font-style: italic;
    font-weight: 300;
    color: var(--dshi-accent-soft)
}

.dshi-cta-copy {
    font-family: "Inter Tight", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: rgba(246, 242, 233, 0.78);
    font-weight: 300;
    max-width: 520px;
    margin: 0
}

.dshi-cta-action {
    position: relative;
    flex: 0 0 auto
}

.dshi-cta-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: var(--dshi-accent);
    color: var(--dshi-blue-deep);
    padding: 22px 26px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: -0.005em;
    font-family: "JetBrains Mono", monospace;
    transition: background 0.2s ease, transform 0.2s ease
}

.dshi-cta-button:hover {
    background: #ffa835;
    transform: translateY(-1px)
}

.dshi-cta-button span:last-child {
    font-size: 20px
}

.dshi-cta-sub {
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(246, 242, 233, 0.5);
    margin-top: 16px;
    text-align: center
}

/* ============================================================
   SECTION 07 — CLOSING
   Two-column dark band: heading + copy (left) / CTA box (right).
   Background lives in the wrapper-scoped group above; the grid
   texture, type, and the bordered CTA box are set here. Cells are
   large-6 / large-6, vertically centred via align-middle.
   ============================================================ */
.dshi-closing {
    color: var(--dshi-cream);
    position: relative;
    overflow: hidden
}

.dshi-closing .is-container {
    padding-top: 120px;
    padding-bottom: 120px
}

/* masked grid texture, anchored bottom-left like the original */
.dshi-closing::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    -webkit-mask-image: radial-gradient(ellipse at bottom left, black 30%, transparent 70%);
    mask-image: radial-gradient(ellipse at bottom left, black 30%, transparent 70%);
    pointer-events: none
}

/* keep the grid above the texture */
.dshi-closing-inner {
    position: relative
}

.dshi-closing-title {
    font-family: "Fraunces", serif;
    font-weight: 400;
    font-size: clamp(36px, 4vw, 60px);
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--dshi-cream);
    text-transform: none;
    text-wrap: balance;
    margin: 0 0 24px;
    font-variation-settings: "opsz" 144
}

.dshi-closing-title em {
    font-style: italic;
    font-weight: 300;
    color: var(--dshi-accent)
}

.dshi-closing-copy {
    font-family: "Inter Tight", sans-serif;
    font-size: 17px;
    line-height: 1.6;
    color: rgba(246, 242, 233, 0.78);
    max-width: 520px;
    font-weight: 300;
    margin: 0
}

/* ---- CTA box (right column) ---- */
.dshi-cta-box {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.dshi-cta-box-label {
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--dshi-accent)
}

.dshi-cta-box-title {
    font-family: "Fraunces", serif;
    font-size: 28px;
    line-height: 1.15;
    font-weight: 500;
    color: var(--dshi-cream);
    text-wrap: balance
}

.dshi-cta-box-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: var(--dshi-accent);
    color: var(--dshi-blue-deep);
    padding: 18px 24px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: -0.005em;
    width: 100%;
    font-family: "Inter Tight", sans-serif;
    transition: background 0.2s ease, transform 0.2s ease
}

.dshi-cta-box-button:hover {
    background: #ffa835;
    transform: translateY(-1px)
}

.dshi-cta-box-button span:last-child {
    font-family: "JetBrains Mono", monospace;
    font-size: 18px
}

/* ============================================================
   SECTION 06 — CHAPTER BREAK
   Thin dark divider band. Background lives in the wrapper-scoped
   group above; here we set the tight band height, hairline borders,
   grid-texture overlay, and the mono marker type. The three Foundation
   cells (large-4) align left / center / right to mirror the original
   space-between layout without touching the locked grid-x. */
.dshi-chapter-break .is-container {
    position: relative;
    overflow: hidden
}

/* faint grid texture, masked toward the centre */
.dshi-chapter-break .is-container::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    -webkit-mask-image: radial-gradient(ellipse at center, black 20%, transparent 70%);
    mask-image: radial-gradient(ellipse at center, black 20%, transparent 70%);
    pointer-events: none
}

/* keep the row vertically centred and above the texture */
.dshi-chapter-break-inner {
    align-items: center;
    position: relative
}

.dshi-chapter-item {
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(246, 242, 233, 0.55);
    line-height: 1.6
}

.dshi-chapter-item-left {
    text-align: left
}

.dshi-chapter-item-center {
    text-align: center
}

.dshi-chapter-item-right {
    text-align: right
}

.dshi-chapter-item strong {
    color: var(--dshi-cream);
    font-weight: 500
}

.dshi-chapter-item em {
    color: var(--dshi-accent);
    font-style: normal;
    font-weight: 500
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media all and (max-width: 1024px) {
    .dshi-hero .is-container {
        padding-top: 60px;
        padding-bottom: 80px
    }
    .dshi-intro-sec .is-container {
        padding-top: 80px;
        padding-bottom: 40px
    }
    .dshi-hero-ornament-cell {
        display: none
    }
    .dshi-tools-sec .is-container {
        padding-bottom: 80px
    }
    /* featured card stacks: text over image */
    .dshi-tool-featured-inner {
        flex-direction: column;
        gap: 22px
    }
    .dshi-tool-featured .dshi-tool-image {
        flex: 0 0 auto;
        aspect-ratio: 16 / 10;
        order: 2
    }
    .dshi-featured-body {
        order: 1
    }
    .dshi-tool-featured::after {
        top: 18px;
        right: 18px
    }
    /* hero card stacks: image over text */
    .dshi-tool-hero-inner {
        flex-direction: column;
        gap: 26px;
        padding: 40px
    }
    .dshi-tool-hero .dshi-tool-image {
        flex: 0 0 auto;
        aspect-ratio: 16 / 10;
        min-height: 0
    }
    .dshi-tool-hero-left .dshi-tool-image {
        order: 0
    }
    .dshi-tool-hero-left .dshi-hero-body {
        order: 1
    }
    .dshi-tool-hero .dshi-tool-num {
        font-size: 44px
    }
    .dshi-tool-hero .dshi-tool-name {
        font-size: 36px
    }
    .dshi-tool-hero::after {
        top: 18px;
        right: 18px
    }
    /* CTA card stacks: body over action */
    .dshi-tool-cta-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 28px;
        padding: 40px
    }
    .dshi-cta-action {
        width: 100%
    }
    .dshi-cta-button {
        width: 100%
    }
    .dshi-cta-title {
        font-size: 32px
    }
    /*become a home inspector*/
       .hero-inner {
        grid-template-columns: 1fr;
        text-align: center;
    }
        .hero-subtitle {
        margin-left: auto;
        margin-right: auto;
    }
    .hero-features {
        justify-content: center;
    }
        .hero-cta {
        justify-content: center;
    }
        .hero-card {
        max-width: 500px;
        margin: 0 auto;
    }
    .detail-text {
    text-align: left;
}
.promo-text {
    display: flex;
    flex-wrap: wrap !important;
    align-items: center;
    gap: 0.35rem;
}
.stats-inner {
        grid-template-columns: repeat(2, 1fr);
    }
    .curriculum-grid {
        grid-template-columns: 1fr;
    }
        .pricing-grid {
        grid-template-columns: 1fr;
        max-width: 450px;
        margin: 0 auto;
    }
        .locations-grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin: 0 auto;
    }
      .location-cta .btn {
        width: 100%;
        white-space: normal !important;
        line-height: 1.4;
        text-align: center;
        padding: 0.9rem 1rem;
        word-break: break-word;
    }

    .location-card {
        overflow: hidden;
    }

    .location-body {
        padding: 1.25rem;
    }
  .instructor-grid{
        grid-template-columns:1fr;
        text-align:center;
    }

    .instructor-image{
        max-width:400px;
        margin:0 auto 60px;
    }

    .instructor-content{
        padding-left:0;
    }

    /* Fix floating badge overlap */
    .instructor-badge-float{
        position:relative;
        bottom:auto;
        right:auto;
        margin:20px auto 0;
        max-width:320px;
        width:100%;
    }

    .credentials-grid{
        grid-template-columns:1fr;
    }

    .coaching-grid{
        grid-template-columns:1fr;
        max-width:500px;
        margin:0 auto;
    }

    .coaching-section{
        text-align:center;
    }
        .reviews-grid {
        grid-template-columns: 1fr;
    }
        .video-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .subsection-title {
  text-align:center;
}
    .career-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
        .faq-grid {
        grid-template-columns: 1fr;
    }
    /*become a home inspector*/
    
    /*new become a home inspector*/
     .hero1 {
        padding: 50px 0 60px !important;
    }

    .hero-grid1 {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .hero1 h1 {
        font-size: 2.2rem;
        line-height: 1.15;
        margin-bottom: 15px;
    }

    .hero1 p.lead {
        font-size: 1rem;
        max-width: 100%;
        margin-bottom: 20px;
    }

    .hero-badges1 {
        gap: 8px;
        margin-bottom: 24px;
    }

    .hbadge1 {
        font-size: 0.75rem;
        padding: 7px 12px;
    }

    .hero-buttons1 {
        flex-direction: column;
        gap: 12px;
    }

    .hero-buttons1 {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
    }

    .hero-buttons1 .btn1 {
        width: auto;
        justify-content: center;
    }

    .cred-card1 {
        padding: 22px;
        border-radius: 14px;
    }

    .cred-list1 {
        gap: 14px;
    }

    .cred-list1 li {
        font-size: 0.85rem;
    }

    .bhi-enroll-flag {
        font-size: 0.72rem;
        padding: 6px 12px;
        margin-bottom: 16px;
    }
/*new become a home inspector*/
/*bhi- sec-2*/
  .stat-band1 .container {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 15px;
        padding-top: 35px;
        padding-bottom: 35px;
    }

    .sb1 b {
        font-size: 2rem;
    }

    .sb1 span {
        font-size: 0.75rem;
        line-height: 1.4;
        display: block;
    }
    /*bhi- sec-2*/
     .section-head1 {
        margin-bottom: 35px;
    }

    .section-head1 h2 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .section-head1 p {
        font-size: 1rem;
    }

    .shadow-banner1 {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 20px;
        padding: 30px 25px;
        margin-bottom: 35px;
    }

    .shadow-icon1 {
        margin: 0 auto;
        width: 70px;
        height: 70px;
        font-size: 2rem;
    }

    .shadow-copy1 h3 {
        font-size: 1.3rem;
        line-height: 1.3;
    }

    .shadow-copy1 p {
        font-size: 0.95rem;
    }

    .vid-grid1 {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .vid-meta1 {
        padding: 16px 18px;
    }

    .vid-meta1 b {
        font-size: 1rem;
    }
    /*alumni*/

    .alumni-grid1 {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .alum-card1 {
        padding: 24px;
    }

    .alum-top1 {
        gap: 12px;
        margin-bottom: 15px;
    }

    .alum-photo1 {
        width: 56px;
        height: 56px;
    }

    .alum-name1 {
        font-size: 1rem;
    }

    .alum-biz1 {
        font-size: 0.78rem;
    }

    .alum-loc1 {
        font-size: 0.7rem;
    }

    .alum-desc1 {
        font-size: 0.9rem;
        line-height: 1.6;
        padding-top: 10px;
    }

    .alum-tag1 {
        font-size: 0.65rem;
        padding: 6px 10px;
        margin-top: 15px;
    }

    .alumni-note1 {
        margin-top: 28px;
        font-size: 0.88rem;
    }

/*alumni*/
/*learn*/
   .learn-grid1 {
        grid-template-columns: repeat(1, 1fr);
        gap: 18px;
    }

    .learn-card1 {
        padding: 24px;
    }

    .learn-ico1 {
        width: 44px;
        height: 44px;
        font-size: 1.2rem;
        margin-bottom: 14px;
    }

    .learn-card1 h3 {
        font-size: 1.05rem;
        line-height: 1.3;
        margin-bottom: 8px;
    }

    .learn-card1 p {
        font-size: 0.88rem;
        line-height: 1.6;
    }
    /*learn*/
    /*package*/
     .pkg-grid1 {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .pkg1 {
        padding: 28px 24px;
    }

    .pkg1 h3 {
        font-size: 1.25rem;
    }

    .pkg1 .price1 {
        font-size: 2.2rem;
    }

    .pkg1 .tagline1 {
        font-size: 0.85rem;
        margin-bottom: 18px;
    }

    .pkg1 li {
        font-size: 0.85rem;
    }

    .pkg-tag1 {
        font-size: 0.65rem;
        padding: 5px 14px;
    }

    .promo-banner1 {
        padding: 24px 20px;
        gap: 18px;
        margin-top: 30px;
    }

    .promo-left1 .save1 {
        font-size: 1.4rem;
    }

    .promo-left1 .sub1 {
        font-size: 0.85rem;
        line-height: 1.5;
        display: block;
    }

    .promo-code1 {
        padding: 12px 18px;
    }

    .promo-code1 .code1 {
        font-size: 1.15rem;
        padding: 4px 10px;
    }
    /*package*/
    /*location*/
    .loc-grid1 {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .loc-head1 {
        padding: 22px 20px;
    }

    .loc-head1 .pop1 {
        position: static;
        display: inline-block;
        margin-bottom: 12px;
    }

    .loc-head1 h3 {
        font-size: 1.3rem;
        margin-bottom: 4px;
    }

    .loc-head1 span {
        font-size: 0.82rem;
    }

    .loc-body1 {
        padding: 22px 20px;
    }

    .loc-row1 {
        gap: 12px;
        padding: 12px 0;
    }

    .loc-row1 .ic1 {
        width: 32px;
        height: 32px;
        font-size: 0.9rem;
    }

    .loc-row1 small {
        font-size: 0.65rem;
    }

    .loc-row1 b {
        font-size: 0.88rem;
        line-height: 1.5;
    }

    .loc-card1 .btn1 {
        width: calc(100% - 40px);
        margin: 0 20px 20px;
        justify-content: center;
        text-align: center;
    }
    /*location*/
 /*instructor*/
  .inst-grid1 {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .inst-photo1 {
        min-height: auto;
        padding: 25px;
        border-radius: 16px;
    }

    .inst-photo1 img {
        max-width: 280px;
        width: 100%;
        height: auto;
        margin: 0 auto;
        display: block;
    }

    .inst-text1 h2 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .inst-text1 .roles1 {
        font-size: 0.85rem;
        line-height: 1.5;
    }

    .inst-text1 p {
        font-size: 0.92rem;
        line-height: 1.7;
    }

    .creds1 {
        gap: 8px;
    }

    .creds1 span {
        font-size: 0.75rem;
        padding: 6px 12px;
    }
    /*instructor*/
    /*earning*/
      .earn-grid1 {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .earn-card1 {
        padding: 28px 20px;
    }

    .earn-card1 b {
        font-size: 2.2rem;
    }

    .earn-card1 span {
        font-size: 0.9rem;
    }
    /*earning*/
    /*contact*/
    .cta-box1 h2 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .cta-box1 p {
        font-size: 0.95rem;
    }

    .cta-code1 {
        font-size: 0.9rem;
        line-height: 1.5;
        margin-bottom: 24px;
    }

    .cta-buttons1 {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .cta-buttons1 .btn1 {
        width: auto;
        min-width: 260px;
        justify-content: center;
    }

    .contact-strip1 {
        gap: 24px;
        margin-top: 35px;
        padding-top: 25px;
    }

    .contact-item1 {
        text-align: center;
        width: calc(50% - 12px);
    }

    .contact-item1 a {
        font-size: 0.9rem;
    }
    /*contact*/
    /*standard home inspection*/
     .hero2 {
        padding: 60px 0 50px !important;
    }

    .hero-grid2 {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .hero2 h1 {
        font-size: 2.2rem;
        line-height: 1.2;
        margin: 15px 0;
    }

    .lede2 {
        font-size: 1rem;
        max-width: 100%;
        margin-bottom: 24px;
    }

    .hero-cta2 {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .hero-cta2 .btn2 {
        width: 100%;
        text-align: center;
    }

    .price-tag2 {
        margin-left: 0;
        margin-top: 12px;
        text-align: center;
        width: 100%;
    }

    .price-tag2 b {
        font-size: 2rem;
    }

    .ticket2 {
        padding: 22px;
    }

    .ticket-top2 {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }

    .stamp2 {
        transform: none;
    }

    .ticket2 li {
        align-items: flex-start;
        font-size: 0.9rem;
        line-height: 1.5;
    }

    .ticket2 .foot2 {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }

    .hero2::after {
        width: 300px;
        height: 300px;
        right: -100px;
        top: -80px;
    }
    /*scope*/
     .scope-grid2 {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }

    .sec-head2 {
        margin-bottom: 32px;
    }
 /*process*/
 .steps2 {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .step2 {
        padding: 24px;
    }

    .step2:not(:last-child)::after {
        right: 24px;
        left: 24px;
        top: auto;
        bottom: 0;
        width: auto;
        height: 1px;
    }
    /*included*/
    .val-grid2 {
        grid-template-columns: repeat(1, 1fr);
        gap: 14px;
    }

    .val2 {
        padding: 18px;
    }
    
    /*compare*/
      .compare-grid2 {
        grid-template-columns: repeat(1, 1fr);
    }

    .compare-col2 {
        padding: 28px 22px;
        border-right: 1px solid #e1dfd4;
        border-bottom: 1px solid #e1dfd4;
    }

    .compare-name2 {
        min-height: auto;
        font-size: 20px;
    }

    .compare-desc2 {
        min-height: auto;
    }
    /*pay*/
    .pay-card2 {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 30px;
    }
    /*trust*/
     .trust-grid2 {
        grid-template-columns: repeat(1, 1fr);
        gap: 24px 20px;
    }
    
    /*final*/
 .final2 .hero-cta2 {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        text-align: center;
    }

    .final2 .hero-cta2 .btn2 {
        display: inline-block !important;
        width: fit-content !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 12px 18px;
    }
    .packages-orange, .packages-grey {
        height: 510px;
    }
.ht-600{
    height: 590px;
}
.ht-350{
        height: 380px;
}
}
@media all and (max-width: 940px) {
    .breathe-easy
{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
    text-align: left;
    margin-top: 40px;
}

    .section-sub-title, .packages-grey.packages-grey-ht p{
    flex-wrap: wrap;
}
    .ht-600,.ht-350{
    height: auto;
}
    .packages-grey{
    margin-bottom:20px;     
}
    .packages-orange, .packages-grey,.packages-grey.packages-grey-ht {
        height: auto;
    }
    
    .packages-orange{
    margin-top: 30px;
    margin-bottom: 50px;
} 

  .hoa-page-section.hoa-hero-section .hero-stats {
    display: grid;
    max-width: 1000px;
    margin: 40px auto 0;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}
.why-grid, .del-grid {
    max-width: var(--max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 26px;
}
.hoa-page-section .services-cols {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 22px;
}
.process-steps {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
    max-width: 1280px;
    margin: 0 auto;
}
.cta-cards {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}
}
@media all and (max-width: 640px) {
    .dshi-hero-title {
        font-size: 48px
    }
    .dshi-hero-stats {
        gap: 28px
    }
    .dshi-intro-strip-cell {
        gap: 24px
    }
    .dshi-tool-body {
        padding: 22px 20px 24px
    }
    .dshi-tool-featured-inner {
        padding: 28px 22px 26px
    }
    .dshi-tool-featured .dshi-tool-name {
        font-size: 24px
    }
    .dshi-tool-hero-inner {
        padding: 28px 22px 26px
    }
    .dshi-tool-hero .dshi-tool-num {
        font-size: 40px
    }
    .dshi-tool-hero .dshi-tool-name {
        font-size: 26px
    }
    .dshi-tool-cta-inner {
        padding: 28px 22px 26px
    }
    .dshi-cta-title {
        font-size: 26px
    }
    .dshi-closing .is-container {
        padding-top: 80px;
        padding-bottom: 80px
    }
    .dshi-cta-box {
        padding: 28px
    }
    .dshi-chapter-break-inner {
        row-gap: 12px
    }
    .dshi-chapter-item {
        font-size: 10px
    }
    .dshi-chapter-item-left,
    .dshi-chapter-item-right {
        text-align: center
    }
}
@media only screen and (max-width: 486px) {
.packageimg {
    width: 80px;
}
}

@media all and (max-width: 480px) {
     .hero {
        padding: 4rem 0.75rem 2.5rem !important;
        overflow-x: hidden !important;
    }

    .hero-inner {
        grid-template-columns: 1fr !important;
        gap: 1.5rem;
        width: 100%;
    }

    /* CRITICAL FIX: prevent flex overflow */
    .hero-content,
    .hero-card,
    .hero-features,
    .hero-cta,
    .hero-feature {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* TEXT FIX */
    .hero h1 {
        font-size: 1.8rem !important;
        line-height: 1.2;
        word-break: break-word;
    }

    .hero-subtitle {
        font-size: 1rem;
        max-width: 100%;
    }

    /* FEATURES STACK CLEANLY */
    .hero-features {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-feature {
        justify-content: center;
        text-align: center;
        flex-wrap: wrap;
    }

    /* BUTTON FIX (MOST IMPORTANT) */
    .hero-cta .btn {
        width: 100% !important;
        white-space: normal !important;
        text-align: center;
        padding: 0.9rem 1rem;
    }

    /* CARD SAFETY */
    .hero-card {
        padding: 1.5rem !important;
        box-sizing: border-box;
    }

    /* LOCATION TABS FIX */
    .location-tabs {
        flex-wrap: wrap;
    }

    .location-tab {
        flex: 1 1 100%;
    }

    /* PREVENT ANY HORIZONTAL SCROLL */
    body {
        overflow-x: hidden !important;
    }
}
@media only screen and (max-width: 375px) {
.packages-p1 {
    
    width: 70%;
}

}