/*
Theme Name: Penthouse Athletic Club
Theme URI: https://penthouseathleticclub.com
Author: PAC Development
Author URI: https://penthouseathleticclub.com
Description: Custom theme for Penthouse Athletic Club — Upper East Side, Manhattan. Personal training, group fitness, and recovery wellness for discerning clients.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.6
Requires PHP: 8.1
License: Proprietary
Text Domain: pac-theme
Tags: custom-theme, athletic, fitness
*/

/* ==========================================================================
   1. CSS CUSTOM PROPERTIES — DESIGN TOKENS
   ========================================================================== */

:root {
    /* Colors */
    --color-navy:      #1a2332;
    --color-gold:      #d4af37;
    --color-white:     #ffffff;
    --color-cream:     #faf9f7;
    --color-warm-gray: #8c8c8c;
    --color-charcoal:  #2c2c2c;

    /* Typography */
    --font-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --font-sans:  'Montserrat', Arial, Helvetica, sans-serif;

    --fw-light:  300;
    --fw-normal: 400;

    /* Spacing */
    --max-width:       1280px;
    --section-padding: 100px;
    --nav-height:       80px;
    --container-gutter: 40px;

    /* Borders */
    --border-gold:      1px solid var(--color-gold);
    --border-gray:      1px solid var(--color-warm-gray);
    --border-navy:      1px solid var(--color-navy);
    --border-cream:     1px solid var(--color-cream);

    /* Transitions */
    --transition-base:  0.25s ease;
    --transition-slow:  0.45s ease;

    /* Type scale */
    --text-xs:   0.75rem;   /* 12px */
    --text-sm:   0.875rem;  /* 14px */
    --text-base: 1rem;      /* 16px */
    --text-md:   1.125rem;  /* 18px */
    --text-lg:   1.375rem;  /* 22px */
    --text-xl:   1.75rem;   /* 28px */
    --text-2xl:  2.25rem;   /* 36px */
    --text-3xl:  3rem;      /* 48px */
    --text-4xl:  3.75rem;   /* 60px */
    --text-5xl:  5rem;      /* 80px */

    /* Letter spacing */
    --tracking-tight:  -0.02em;
    --tracking-normal:  0;
    --tracking-wide:    0.08em;
    --tracking-wider:   0.14em;
    --tracking-widest:  0.22em;

    /* Line heights */
    --leading-tight:   1.15;
    --leading-snug:    1.3;
    --leading-base:    1.6;
    --leading-relaxed: 1.7;
    --leading-loose:   1.8;

    /* Container aliases — used in full-bleed sections outside .pac-container */
    --container-max:     1280px;
    --container-padding: 40px;
}


/* ==========================================================================
   2. CSS RESET
   ========================================================================== */

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
}

body {
    background-color: var(--color-cream);
    color: var(--color-charcoal);
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    font-size: var(--text-base);
    line-height: var(--leading-base);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

input, button, textarea, select {
    font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

ul, ol {
    list-style: none;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    cursor: pointer;
    background: none;
    border: none;
}

address {
    font-style: normal;
}

table {
    border-collapse: collapse;
}

/* Remove default button/input focus ring, re-add accessible one */
:focus-visible {
    outline: 1px solid var(--color-gold);
    outline-offset: 3px;
}


/* ==========================================================================
   3. TYPOGRAPHY — BASE STYLES
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-serif);
    font-weight: var(--fw-normal);
    line-height: var(--leading-tight);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
}

h1 { font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl)); }
h2 { font-size: clamp(var(--text-2xl), 3.5vw, var(--text-4xl)); }
h3 { font-size: clamp(var(--text-xl), 2.5vw, var(--text-3xl)); }
h4 { font-size: clamp(var(--text-lg), 2vw, var(--text-2xl)); }
h5 { font-size: var(--text-lg); }
h6 { font-size: var(--text-md); font-family: var(--font-sans); letter-spacing: var(--tracking-wider); text-transform: uppercase; }

p {
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    font-size: var(--text-base);
    color: var(--color-charcoal);
}

p + p {
    margin-top: 1.25em;
}

strong, b {
    font-weight: var(--fw-normal);
}

em, i {
    font-style: italic;
}

/* Eyebrow / overline labels */
.pac-eyebrow {
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 1rem;
}

/* Serif body / pullquote */
.pac-pullquote {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-xl), 2.5vw, var(--text-2xl));
    line-height: var(--leading-snug);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    border-left: var(--border-gold);
    padding-left: 2rem;
    margin: 3rem 0;
}

/* Small caps label */
.pac-label {
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-warm-gray);
}

/* Stat number (large serif) */
.pac-stat-number {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-3xl), 6vw, var(--text-5xl));
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    line-height: 1;
    display: block;
}

/* Blockquote */
blockquote {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    line-height: var(--leading-snug);
    border-left: var(--border-gold);
    padding-left: 2rem;
    margin: 2rem 0;
    color: var(--color-navy);
}

blockquote cite {
    display: block;
    margin-top: 0.75rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-style: normal;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-warm-gray);
}

/* Horizontal rule */
hr {
    border: none;
    border-top: var(--border-gold);
    margin: 3rem 0;
}

hr.hr--gray {
    border-top: var(--border-gray);
}


/* ==========================================================================
   4. LAYOUT — CONTAINER & GRID SYSTEM
   ========================================================================== */

.pac-container {
    width: 100%;
    max-width: var(--max-width);
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--container-gutter);
    padding-left: var(--container-gutter);
}

.pac-container--narrow {
    max-width: 860px;
}

.pac-container--wide {
    max-width: 1400px;
}

/* Section wrapper */
.pac-section {
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
}

.pac-section--cream  { background-color: var(--color-cream); }
.pac-section--white  { background-color: var(--color-white); }
.pac-section--navy   { background-color: var(--color-navy); }
.pac-section--navy h1,
.pac-section--navy h2,
.pac-section--navy h3,
.pac-section--navy h4,
.pac-section--navy p  { color: var(--color-cream); }

/* Flex grid */
.pac-grid {
    display: grid;
    gap: 0;
}

.pac-grid--2 { grid-template-columns: repeat(2, 1fr); }
.pac-grid--3 { grid-template-columns: repeat(3, 1fr); }
.pac-grid--4 { grid-template-columns: repeat(4, 1fr); }
.pac-grid--gap { gap: 2px; }
.pac-grid--gap-lg { gap: 3rem; }

/* Main content area with sidebar */
.pac-layout--with-sidebar {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 4rem;
    align-items: start;
}

/* Page body offset for fixed nav */
.pac-page-body {
    padding-top: var(--nav-height);
}


/* ==========================================================================
   5. NAVIGATION
   ========================================================================== */

.pac-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    height: var(--nav-height);
    background-color: var(--color-cream);
    border-bottom: var(--border-gold);
    display: flex;
    align-items: center;
}

.pac-nav__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--container-gutter);
}

.pac-nav__logo {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0;
}

.pac-nav__logo span {
    color: var(--color-gold);
}

.pac-nav__menu {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}

.pac-nav__menu a {
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-navy);
    transition: color var(--transition-base);
    position: relative;
}

.pac-nav__menu a::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    right: 0;
    height: 1px;
    background-color: var(--color-gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--transition-base);
}

.pac-nav__menu a:hover::after,
.pac-nav__menu a.current::after {
    transform: scaleX(1);
}

.pac-nav__menu a:hover {
    color: var(--color-gold);
}

.pac-nav__cta {
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-cream);
    background-color: var(--color-navy);
    border: var(--border-navy);
    padding: 0.65rem 1.5rem;
    transition: background-color var(--transition-base), color var(--transition-base);
    white-space: nowrap;
}

.pac-nav__cta:hover {
    background-color: var(--color-gold);
    border-color: var(--color-gold);
    color: var(--color-navy);
}

/* Mobile hamburger */
.pac-nav__hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    width: 24px;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
}

.pac-nav__hamburger span {
    display: block;
    height: 1px;
    background-color: var(--color-navy);
    transition: transform var(--transition-base), opacity var(--transition-base);
}

.pac-nav__hamburger.is-active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.pac-nav__hamburger.is-active span:nth-child(2) { opacity: 0; }
.pac-nav__hamburger.is-active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Mobile menu drawer */
.pac-nav__drawer {
    position: fixed;
    top: var(--nav-height);
    left: 0;
    right: 0;
    background-color: var(--color-cream);
    border-bottom: var(--border-gold);
    padding: 2rem var(--container-gutter);
    transform: translateY(-110%);
    transition: transform var(--transition-slow);
    z-index: 999;
}

.pac-nav__drawer.is-open {
    transform: translateY(0);
}

.pac-nav__drawer-menu {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.pac-nav__drawer-menu a {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-navy);
    border-bottom: var(--border-gray);
    padding-bottom: 1rem;
}

.pac-nav__phone {
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wide);
    color: var(--color-warm-gray);
    white-space: nowrap;
}


/* ==========================================================================
   6. FOOTER
   ========================================================================== */

.pac-footer {
    background-color: var(--color-navy);
    border-top: var(--border-gold);
    padding-top: 80px;
    padding-bottom: 48px;
}

.pac-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 4rem;
    padding-bottom: 4rem;
    border-bottom: var(--border-gray);
    margin-bottom: 2.5rem;
}

.pac-footer__brand-name {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.pac-footer__brand-name span {
    color: var(--color-gold);
}

.pac-footer__tagline {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    margin-bottom: 1.5rem;
}

.pac-footer__nap {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-cream);
    opacity: 0.75;
}

.pac-footer__nap a {
    color: inherit;
    transition: color var(--transition-base);
}

.pac-footer__nap a:hover {
    color: var(--color-gold);
}

.pac-footer__col-title {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    margin-bottom: 1.25rem;
    display: block;
}

.pac-footer__links {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.pac-footer__links a {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    color: var(--color-cream);
    opacity: 0.75;
    letter-spacing: 0.02em;
    transition: opacity var(--transition-base), color var(--transition-base);
}

.pac-footer__links a:hover {
    opacity: 1;
    color: var(--color-gold);
}

.pac-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.pac-footer__copyright {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    color: var(--color-warm-gray);
    letter-spacing: 0.02em;
}

.pac-footer__legal {
    display: flex;
    gap: 2rem;
}

.pac-footer__legal a {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    color: var(--color-warm-gray);
    letter-spacing: 0.02em;
    transition: color var(--transition-base);
}

.pac-footer__legal a:hover {
    color: var(--color-cream);
}


/* ==========================================================================
   7. BUTTONS & CTAs
   ========================================================================== */

.pac-btn {
    display: inline-block;
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    padding: 1rem 2.5rem;
    transition: background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base);
    cursor: pointer;
    white-space: nowrap;
    line-height: 1;
}

/* Primary: navy fill */
.pac-btn--primary {
    background-color: var(--color-navy);
    color: var(--color-cream);
    border: 1px solid var(--color-navy);
}

.pac-btn--primary:hover {
    background-color: var(--color-gold);
    border-color: var(--color-gold);
    color: var(--color-navy);
}

/* Secondary: gold outline */
.pac-btn--secondary {
    background-color: transparent;
    color: var(--color-navy);
    border: var(--border-gold);
}

.pac-btn--secondary:hover {
    background-color: var(--color-gold);
    color: var(--color-navy);
}

/* Ghost: cream for dark backgrounds */
.pac-btn--ghost {
    background-color: transparent;
    color: var(--color-cream);
    border: 1px solid var(--color-cream);
}

.pac-btn--ghost:hover {
    background-color: var(--color-cream);
    color: var(--color-navy);
}

/* Text link with arrow */
.pac-link-arrow {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-gold);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: gap var(--transition-base);
}

.pac-link-arrow::after {
    content: '→';
    font-size: var(--text-sm);
    transition: transform var(--transition-base);
}

.pac-link-arrow:hover::after {
    transform: translateX(4px);
}


/* ==========================================================================
   8. FORMS
   ========================================================================== */

.pac-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.pac-form__group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pac-form__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-warm-gray);
}

.pac-form__input,
.pac-form__textarea,
.pac-form__select {
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    font-size: var(--text-base);
    color: var(--color-charcoal);
    background-color: transparent;
    border: none;
    border-bottom: var(--border-gray);
    padding: 0.75rem 0;
    width: 100%;
    transition: border-color var(--transition-base);
    outline: none;
    appearance: none;
}

.pac-form__input:focus,
.pac-form__textarea:focus,
.pac-form__select:focus {
    border-bottom-color: var(--color-gold);
}

.pac-form__input::placeholder,
.pac-form__textarea::placeholder {
    color: var(--color-warm-gray);
    opacity: 0.6;
}

.pac-form__textarea {
    resize: vertical;
    min-height: 120px;
}

.pac-form__select {
    cursor: pointer;
}

.pac-form__message {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    padding: 1rem 1.25rem;
    border: var(--border-gray);
}

.pac-form__message--success {
    border-color: var(--color-gold);
    color: var(--color-navy);
    background-color: rgba(212, 175, 55, 0.05);
}

.pac-form__message--error {
    border-color: #c0392b;
    color: #c0392b;
}


/* ==========================================================================
   9. HERO SECTION — BASE
   ========================================================================== */

.pac-hero {
    position: relative;
    background-color: var(--color-navy);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    min-height: 85vh;
}

.pac-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.45;
}

.pac-hero__content {
    position: relative;
    z-index: 2;
    padding: var(--section-padding) var(--container-gutter);
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
}

.pac-hero__eyebrow {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 1.5rem;
}

.pac-hero__title {
    font-family: var(--font-serif);
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    line-height: var(--leading-tight);
    font-size: clamp(var(--text-3xl), 6vw, var(--text-5xl));
    max-width: 800px;
    margin-bottom: 2rem;
}

.pac-hero__subtitle {
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    font-size: var(--text-md);
    color: var(--color-cream);
    opacity: 0.8;
    max-width: 560px;
    line-height: var(--leading-loose);
    margin-bottom: 2.5rem;
}

.pac-hero__divider {
    width: 60px;
    height: 1px;
    background-color: var(--color-gold);
    margin-bottom: 2rem;
}


/* ==========================================================================
   10. CARDS & TILES
   ========================================================================== */

.pac-card {
    background-color: var(--color-white);
    border: var(--border-gray);
    overflow: hidden;
    transition: border-color var(--transition-base);
}

.pac-card:hover {
    border-color: var(--color-gold);
}

.pac-card__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.pac-card__body {
    padding: 2rem;
}

.pac-card__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    margin-bottom: 0.75rem;
    display: block;
}

.pac-card__title {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 0.75rem;
    line-height: var(--leading-snug);
}

.pac-card__excerpt {
    font-size: var(--text-sm);
    color: var(--color-warm-gray);
    line-height: var(--leading-loose);
    margin-bottom: 1.5rem;
}


/* ==========================================================================
   11. NEIGHBORHOOD STRIP — HARDCODED ON ALL BLOG POSTS
   ========================================================================== */

.pac-neighborhood-strip {
    margin-top: 4rem;
    padding-top: 2.5rem;
    border-top: var(--border-gold);
}

.pac-neighborhood-strip__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    margin-bottom: 1rem;
}

.pac-neighborhood-strip__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border: var(--border-gray);
}

.pac-neighborhood-strip__list li {
    flex: 1;
    min-width: 140px;
    border-right: var(--border-gray);
}

.pac-neighborhood-strip__list li:last-child {
    border-right: none;
}

.pac-neighborhood-strip__list a {
    display: block;
    padding: 0.85rem 1.25rem;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-navy);
    transition: background-color var(--transition-base), color var(--transition-base);
}

.pac-neighborhood-strip__list a:hover {
    background-color: var(--color-gold);
    color: var(--color-navy);
}


/* ==========================================================================
   12. SECTION DIVIDERS & DECORATIVE ELEMENTS
   ========================================================================== */

.pac-divider {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin: 2rem 0;
}

.pac-divider::before,
.pac-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background-color: var(--color-warm-gray);
}

.pac-divider--gold::before,
.pac-divider--gold::after {
    background-color: var(--color-gold);
}

.pac-divider__text {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    white-space: nowrap;
}

/* Gold accent bar (section intro decoration) */
.pac-accent-bar {
    width: 48px;
    height: 1px;
    background-color: var(--color-gold);
    margin: 1.5rem 0;
}

/* Section header block */
.pac-section-header {
    margin-bottom: 4rem;
}

.pac-section-header--centered {
    text-align: center;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.pac-section-header--centered .pac-accent-bar {
    margin-left: auto;
    margin-right: auto;
}


/* ==========================================================================
   13. TESTIMONIALS
   ========================================================================== */

.pac-testimonial {
    padding: 2.5rem;
    border: var(--border-gray);
    position: relative;
}

.pac-testimonial__quote {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    color: var(--color-navy);
    margin-bottom: 1.5rem;
    font-weight: var(--fw-normal);
}

.pac-testimonial__quote::before {
    content: '\201C';
    color: var(--color-gold);
    font-size: var(--text-3xl);
    line-height: 0.5;
    display: block;
    margin-bottom: 0.75rem;
    font-family: var(--font-serif);
}

.pac-testimonial__author {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-warm-gray);
}

.pac-testimonial__author strong {
    color: var(--color-navy);
    display: block;
    margin-bottom: 0.15rem;
    font-weight: var(--fw-normal);
}


/* ==========================================================================
   14. STATS BAR
   ========================================================================== */

.pac-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: var(--border-gold);
}

.pac-stat {
    padding: 2.5rem 2rem;
    text-align: center;
    border-right: var(--border-gold);
}

.pac-stat:last-child {
    border-right: none;
}

.pac-stat__number {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 4vw, var(--text-4xl));
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    line-height: 1;
    display: block;
    margin-bottom: 0.5rem;
}

.pac-stat__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-cream);
}

.pac-section--cream .pac-stat__label,
.pac-section--white .pac-stat__label {
    color: var(--color-warm-gray);
}


/* ==========================================================================
   15. BLOG / INSIGHTS
   ========================================================================== */

.pac-post-meta {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    margin-bottom: 1.5rem;
}

.pac-post-meta__divider {
    width: 1px;
    height: 12px;
    background-color: var(--color-warm-gray);
}

.pac-post-category {
    color: var(--color-gold);
}

.pac-post-content {
    max-width: 720px;
}

.pac-post-content p,
.pac-post-content li {
    font-size: var(--text-md);
    line-height: var(--leading-loose);
    color: var(--color-charcoal);
    margin-bottom: 1.5em;
}

.pac-post-content h2,
.pac-post-content h3,
.pac-post-content h4 {
    margin-top: 2.5em;
    margin-bottom: 0.75em;
}

.pac-post-content ul {
    list-style: none;
    padding-left: 0;
}

.pac-post-content ul li::before {
    content: '—';
    color: var(--color-gold);
    margin-right: 0.75rem;
}

.pac-post-content ol {
    counter-reset: pac-counter;
    list-style: none;
}

.pac-post-content ol li {
    counter-increment: pac-counter;
    position: relative;
    padding-left: 2rem;
}

.pac-post-content ol li::before {
    content: counter(pac-counter, decimal-leading-zero);
    position: absolute;
    left: 0;
    color: var(--color-gold);
    font-family: var(--font-serif);
    font-size: var(--text-sm);
}


/* ==========================================================================
   16. LOCATION / SERVICE GRID
   ========================================================================== */

.pac-location-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: var(--border-gray);
}

.pac-location-tile {
    padding: 2rem 1.5rem;
    border-right: var(--border-gray);
    border-bottom: var(--border-gray);
    transition: background-color var(--transition-base);
}

.pac-location-tile:hover {
    background-color: var(--color-navy);
}

.pac-location-tile:hover .pac-location-tile__name {
    color: var(--color-cream);
}

.pac-location-tile:hover .pac-location-tile__zip {
    color: var(--color-warm-gray);
}

.pac-location-tile__name {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 0.25rem;
    transition: color var(--transition-base);
}

.pac-location-tile__zip {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wide);
    color: var(--color-warm-gray);
    transition: color var(--transition-base);
}

/* Also Serving strip (location pages) */
.pac-also-serving {
    padding: 2rem 0;
    border-top: var(--border-gray);
    border-bottom: var(--border-gray);
    margin: 4rem 0;
}

.pac-also-serving__title {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    margin-bottom: 1rem;
}

.pac-also-serving__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.pac-also-serving__links a {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    color: var(--color-navy);
    transition: color var(--transition-base);
    border-bottom: 1px solid transparent;
}

.pac-also-serving__links a:hover {
    color: var(--color-gold);
    border-bottom-color: var(--color-gold);
}


/* ==========================================================================
   17. PROGRAM SPEC TABLE
   ========================================================================== */

.pac-spec-table {
    width: 100%;
    border: var(--border-gray);
}

.pac-spec-table__row {
    display: grid;
    grid-template-columns: 200px 1fr;
    border-bottom: var(--border-gray);
}

.pac-spec-table__row:last-child {
    border-bottom: none;
}

.pac-spec-table__key,
.pac-spec-table__value {
    padding: 1.25rem 1.5rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-base);
}

.pac-spec-table__key {
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    border-right: var(--border-gray);
    background-color: rgba(26, 35, 50, 0.03);
}

.pac-spec-table__value {
    color: var(--color-charcoal);
}

/* Timeline phases */
.pac-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: var(--border-gray);
}

.pac-timeline__phase {
    display: grid;
    grid-template-columns: 120px 1fr;
    border-bottom: var(--border-gray);
}

.pac-timeline__phase:last-child {
    border-bottom: none;
}

.pac-timeline__week {
    padding: 1.5rem;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-gold);
    border-right: var(--border-gray);
    display: flex;
    align-items: flex-start;
}

.pac-timeline__description {
    padding: 1.5rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-charcoal);
}


/* ==========================================================================
   18. BREADCRUMBS
   ========================================================================== */

.pac-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    padding: 1.25rem 0;
    border-bottom: var(--border-gray);
    margin-bottom: 3rem;
}

.pac-breadcrumb a {
    color: var(--color-warm-gray);
    transition: color var(--transition-base);
}

.pac-breadcrumb a:hover {
    color: var(--color-gold);
}

.pac-breadcrumb__sep {
    color: var(--color-gold);
}

.pac-breadcrumb__current {
    color: var(--color-navy);
}


/* ==========================================================================
   19. UTILITY CLASSES
   ========================================================================== */

.u-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.u-text-center   { text-align: center; }
.u-text-right    { text-align: right; }
.u-text-gold     { color: var(--color-gold); }
.u-text-navy     { color: var(--color-navy); }
.u-text-cream    { color: var(--color-cream); }
.u-text-gray     { color: var(--color-warm-gray); }

.u-bg-navy       { background-color: var(--color-navy); }
.u-bg-cream      { background-color: var(--color-cream); }
.u-bg-white      { background-color: var(--color-white); }

.u-border-top-gold   { border-top: var(--border-gold); }
.u-border-top-gray   { border-top: var(--border-gray); }
.u-border-bot-gold   { border-bottom: var(--border-gold); }
.u-border-bot-gray   { border-bottom: var(--border-gray); }

.u-mt-0  { margin-top: 0; }
.u-mb-0  { margin-bottom: 0; }
.u-mt-sm { margin-top: 1rem; }
.u-mb-sm { margin-bottom: 1rem; }
.u-mt-md { margin-top: 2.5rem; }
.u-mb-md { margin-bottom: 2.5rem; }
.u-mt-lg { margin-top: 5rem; }
.u-mb-lg { margin-bottom: 5rem; }

.u-full-width { width: 100%; }


/* ==========================================================================
   20. RESPONSIVE BREAKPOINTS
   ========================================================================== */

/* Tablet: 1024px */
@media (max-width: 1024px) {
    :root {
        --section-padding: 80px;
        --container-gutter: 32px;
    }

    .pac-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .pac-stats   { grid-template-columns: repeat(2, 1fr); }
    .pac-stats .pac-stat:nth-child(2) { border-right: none; }
    .pac-stats .pac-stat:nth-child(1),
    .pac-stats .pac-stat:nth-child(2) { border-bottom: var(--border-gold); }

    .pac-footer__grid { grid-template-columns: 1fr 1fr; gap: 3rem; }
    .pac-footer__col:first-child { grid-column: 1 / -1; }

    .pac-layout--with-sidebar { grid-template-columns: 1fr; }

    .pac-location-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Phablet: 768px */
@media (max-width: 768px) {
    :root {
        --section-padding: 64px;
        --container-gutter: 24px;
        --nav-height: 64px;
    }

    .pac-nav__menu { display: none; }
    .pac-nav__phone { display: none; }
    .pac-nav__cta  { display: none; }
    .pac-nav__hamburger { display: flex; }

    .pac-grid--2,
    .pac-grid--3 { grid-template-columns: 1fr; }

    .pac-stats { grid-template-columns: repeat(2, 1fr); }

    .pac-footer__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .pac-footer__col:first-child { grid-column: auto; }
    .pac-footer__bottom { flex-direction: column; align-items: flex-start; }

    .pac-location-grid { grid-template-columns: repeat(2, 1fr); }

    .pac-spec-table__row { grid-template-columns: 1fr; }
    .pac-spec-table__key { border-right: none; border-bottom: var(--border-gray); }

    .pac-timeline__phase { grid-template-columns: 80px 1fr; }

    .pac-neighborhood-strip__list { flex-direction: column; }
    .pac-neighborhood-strip__list li { border-right: none; border-bottom: var(--border-gray); }

    .pac-pullquote { padding-left: 1.25rem; }
}

/* Mobile: 480px */
@media (max-width: 480px) {
    :root {
        --section-padding: 56px;
        --container-gutter: 20px;
    }

    .pac-stats       { grid-template-columns: 1fr; }
    .pac-location-grid { grid-template-columns: 1fr; }

    .pac-btn { width: 100%; text-align: center; padding: 1rem 1.5rem; }

    .pac-footer__legal { flex-direction: column; gap: 0.75rem; }

    .pac-hero { min-height: 70vh; }

    .pac-timeline__phase { grid-template-columns: 1fr; }
    .pac-timeline__week { border-right: none; border-bottom: var(--border-gray); }
}


/* ==========================================================================
   21. PRINT
   ========================================================================== */

@media print {
    .pac-nav,
    .pac-nav__drawer,
    .pac-footer { display: none; }

    .pac-page-body { padding-top: 0; }

    a[href]::after { content: ' (' attr(href) ')'; font-size: 0.75em; color: #666; }
}


/* ==========================================================================
   22. HOMEPAGE — front-page.php
   ========================================================================== */

/* Hero: full-height centered variant */
.pac-hero--home {
    min-height: 100vh;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.pac-hero--home .pac-hero__bg {
    opacity: 1;
}

.pac-hero--home::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(26, 35, 50, 0.45);
    z-index: 1;
}

.pac-hero--home .pac-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 var(--container-gutter);
    width: 100%;
    max-width: var(--max-width);
}

.pac-hero--home .pac-hero__divider {
    margin-left: auto;
    margin-right: auto;
}

/* Hero tagline (uppercase body copy below divider) */
.pac-hero__tagline {
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    font-size: var(--text-md);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: rgba(250, 249, 247, 0.9);
    margin: 0;
}


/* Trust Bar */
.pac-trust-bar {
    background-color: var(--color-cream);
    border-bottom: var(--border-gold);
    padding: 1.75rem 0;
}

.pac-trust-bar__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    flex-wrap: wrap;
}

.pac-trust-bar__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    white-space: nowrap;
}

.pac-trust-bar__zip {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    opacity: 0.8;
    font-style: italic;
    letter-spacing: var(--tracking-wider);
}

.pac-trust-bar__vdivider {
    width: 1px;
    height: 2.5rem;
    background-color: var(--color-gold);
    flex-shrink: 0;
}


/* The Problem */
.pac-problem {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.pac-problem__heading {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-xl), 3vw, var(--text-3xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-snug);
    margin-bottom: 3rem;
    letter-spacing: var(--tracking-tight);
}

.pac-problem__body {
    font-size: var(--text-md);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}


/* Three Pillars */
.pac-pillar {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.pac-pillar__numeral {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    line-height: 1;
    display: block;
}

.pac-pillar__title {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
    line-height: var(--leading-snug);
    margin: 0;
}

.pac-pillar__body {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}


/* Stats: display-scale variant + quote block */
.pac-stats--display {
    border: none;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-bottom: 4rem;
}

.pac-stats--display .pac-stat {
    border-right: 1px solid rgba(212, 175, 55, 0.2);
    padding: 0 2.5rem;
}

.pac-stats--display .pac-stat:first-child { padding-left: 0; }
.pac-stats--display .pac-stat:last-child  { border-right: none; padding-right: 0; }

.pac-stats--display .pac-stat__number {
    font-size: clamp(var(--text-3xl), 6vw, 4.5rem);
    letter-spacing: var(--tracking-tight);
}

.pac-stats--display .pac-stat__label {
    color: rgba(250, 249, 247, 0.6);
}

.pac-stats-quote {
    border-top: 1px solid rgba(212, 175, 55, 0.25);
    padding-top: 4rem;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}

.pac-stats-quote__text {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-lg), 2.5vw, var(--text-2xl));
    font-weight: var(--fw-normal);
    font-style: italic;
    color: rgba(250, 249, 247, 0.9);
    line-height: var(--leading-snug);
}


/* Services: section header with gold line to the right */
.pac-section-header--split {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 4rem;
    gap: 3rem;
}

.pac-section-header--split .pac-section-header__copy {
    max-width: 480px;
    flex-shrink: 0;
}

.pac-section-header--split .pac-section-header__line {
    flex: 1;
    height: 1px;
    background-color: var(--color-gold);
    margin-bottom: 0.6rem;
}


/* Service Card */
.pac-service-card {
    border: var(--border-gray);
    padding: 3rem;
    display: flex;
    flex-direction: column;
    min-height: 340px;
    transition: border-color 0.5s ease;
    text-decoration: none;
}

.pac-service-card:hover {
    border-color: var(--color-gold);
}

.pac-service-card__numeral {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    display: block;
    line-height: 1;
    margin-bottom: 2rem;
}

.pac-service-card__title {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
    line-height: var(--leading-snug);
    margin-bottom: 1.25rem;
}

.pac-service-card__body {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    flex-grow: 1;
    margin-bottom: 2.5rem;
}

.pac-service-card__cta {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: auto;
    transition: gap var(--transition-base);
}

.pac-service-card__cta::after {
    content: '→';
    font-size: var(--text-base);
    transition: transform var(--transition-base);
}

.pac-service-card:hover .pac-service-card__cta::after {
    transform: translateX(5px);
}


/* Locations: 7-column grid */
.pac-location-grid-7 {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background-color: var(--color-warm-gray);
    gap: 1px;
    border: var(--border-gray);
}

.pac-location-tile-7 {
    background-color: var(--color-cream);
    padding: 2rem 1rem;
    text-align: center;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    transition: background-color var(--transition-base);
}

.pac-location-tile-7:hover {
    background-color: var(--color-navy);
}

.pac-location-tile-7__area {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 0.5rem;
    transition: color var(--transition-base);
}

.pac-location-tile-7__name {
    font-family: var(--font-serif);
    font-size: var(--text-md);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-snug);
    transition: color var(--transition-base);
}

.pac-location-tile-7:hover .pac-location-tile-7__name {
    color: var(--color-cream);
}


/* Testimonial Cards — cream on navy */
.pac-testimonial-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.pac-testimonial-card {
    background-color: var(--color-cream);
    padding: 3rem;
    display: flex;
    flex-direction: column;
}

.pac-testimonial-card__mark {
    font-family: var(--font-serif);
    font-size: 3.5rem;
    color: var(--color-gold);
    line-height: 0.8;
    display: block;
    margin-bottom: 1.5rem;
}

.pac-testimonial-card__quote {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-normal);
    font-style: italic;
    color: var(--color-navy);
    line-height: var(--leading-snug);
    flex-grow: 1;
    margin-bottom: 2.5rem;
}

.pac-testimonial-card__role {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 0.25rem;
}

.pac-testimonial-card__detail {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    color: rgba(26, 35, 50, 0.55);
}


/* Founder section */
.pac-founder {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}

.pac-founder__img {
    width: 100%;
    height: auto;
    display: block;
    filter: grayscale(100%);
    border: var(--border-gray);
}

.pac-founder__bio {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 3rem;
}

.pac-founder__bio p {
    font-size: var(--text-md);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
}


/* Final CTA hero */
.pac-cta-hero {
    text-align: center;
}

.pac-cta-hero__headline {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-3xl), 6vw, var(--text-5xl));
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    margin-bottom: 3rem;
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
}

.pac-cta-hero__sub {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: rgba(250, 249, 247, 0.6);
    margin: 0 auto 4rem;
    max-width: 560px;
    line-height: var(--leading-loose);
}


/* Homepage responsive overrides */
@media (max-width: 1024px) {
    .pac-location-grid-7   { grid-template-columns: repeat(4, 1fr); }
    .pac-location-tile-7   { aspect-ratio: auto; min-height: 120px; }
    .pac-founder           { grid-template-columns: 1fr; gap: 3rem; }
    .pac-section-header--split { flex-direction: column; align-items: flex-start; }
    .pac-section-header--split .pac-section-header__line { display: none; }
    .pac-stats--display    { grid-template-columns: repeat(2, 1fr); }
    .pac-stats--display .pac-stat { border-right: none; border-bottom: 1px solid rgba(212,175,55,0.2); padding: 2rem 0; }
    .pac-stats--display .pac-stat:nth-child(1),
    .pac-stats--display .pac-stat:nth-child(2) { border-right: none; }
    .pac-stats--display .pac-stat:nth-child(3),
    .pac-stats--display .pac-stat:nth-child(4) { border-bottom: none; }
    .pac-testimonial-cards { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .pac-location-grid-7  { grid-template-columns: repeat(3, 1fr); }
    .pac-trust-bar__vdivider { display: none; }
    .pac-service-card     { padding: 2rem; min-height: auto; }
    .pac-testimonial-cards { gap: 1.5rem; }
    .pac-grid--3-home     { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .pac-location-grid-7  { grid-template-columns: repeat(2, 1fr); }
    .pac-trust-bar__inner { gap: 1.25rem; }
    .pac-stats--display   { grid-template-columns: 1fr; }
    .pac-stats--display .pac-stat { border-bottom: 1px solid rgba(212,175,55,0.2); padding: 1.5rem 0; }
    .pac-stats--display .pac-stat:last-child { border-bottom: none; }
}


/* ==========================================================================
   23. LOCATION PAGE — single-pac_location.php
   ========================================================================== */

/* Hero: two-column split (text 2fr | framed image 1fr) */
.pac-loc-hero {
    padding-top: calc( var(--nav-height) + var(--section-padding) );
    padding-bottom: var(--section-padding);
}

.pac-loc-hero__grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 4rem;
    align-items: start;
}

.pac-loc-hero__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 1.5rem;
}

.pac-loc-hero__title {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    margin-bottom: 1.75rem;
    max-width: 640px;
}

.pac-loc-hero__intro {
    font-size: var(--text-md);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    max-width: 520px;
    margin-bottom: 2.5rem;
}

.pac-loc-hero__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
}

.pac-loc-hero__zip {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
}

/* Framed portrait image (3/4 aspect, inner bordered frame) */
.pac-loc-hero__frame {
    border: var(--border-gray);
    padding: 6px;
    aspect-ratio: 3 / 4;
    overflow: hidden;
}

.pac-loc-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* Neighborhood Statement section */
.pac-loc-statement {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 0;
    border-top: var(--border-gray);
    border-bottom: var(--border-gray);
}

.pac-loc-statement__left {
    padding: var(--section-padding) 3rem var(--section-padding) 0;
    border-right: var(--border-gray);
}

.pac-loc-statement__quote {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-xl), 2.5vw, var(--text-2xl));
    font-weight: var(--fw-normal);
    font-style: italic;
    color: var(--color-gold);
    line-height: var(--leading-snug);
}

.pac-loc-statement__right {
    padding: var(--section-padding) 0 var(--section-padding) 3rem;
}

.pac-loc-statement__desc {
    font-size: var(--text-md);
    line-height: var(--leading-loose);
    color: var(--color-charcoal);
    margin-bottom: 2.5rem;
}

/* 3-col mini stats inside statement */
.pac-loc-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    padding-top: 2rem;
    border-top: var(--border-gray);
}

.pac-loc-meta-item__label {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 0.5rem;
}

.pac-loc-meta-item__value {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-tight);
}


/* How It Works — 3-step process */
.pac-process {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pac-process-step {
    border-left: 3px solid var(--color-gold);
    padding: 1.75rem 0 1.75rem 3rem;
    position: relative;
}

.pac-process-step + .pac-process-step {
    margin-top: 1.5rem;
}

.pac-process-step__label {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    display: block;
    margin-bottom: 0.75rem;
}

.pac-process-step__title {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 0.75rem;
    line-height: var(--leading-snug);
}

.pac-process-step__body {
    font-size: var(--text-sm);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}


/* Coverage Area — navy bg, 2-col */
.pac-coverage-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.pac-coverage-heading {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3.5vw, var(--text-3xl));
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    line-height: var(--leading-snug);
    margin-bottom: 1.5rem;
    letter-spacing: var(--tracking-tight);
}

.pac-coverage-body {
    font-size: var(--text-md);
    line-height: var(--leading-loose);
    color: rgba(250, 249, 247, 0.7);
    margin-bottom: 2.5rem;
}

.pac-coverage-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.pac-coverage-tag {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-gold);
    border: var(--border-gold);
    padding: 0.6rem 1.25rem;
    display: inline-block;
}

.pac-coverage-img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
}


/* Results — headline stats + testimonials */
.pac-results-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 2rem;
    border-bottom: var(--border-gray);
    margin-bottom: 3rem;
    gap: 2rem;
    flex-wrap: wrap;
}

.pac-results-stats {
    display: flex;
    gap: 3rem;
    flex-shrink: 0;
}

.pac-result-stat {
    text-align: right;
}

.pac-result-stat__value {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3vw, var(--text-3xl));
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    display: block;
    line-height: 1;
    margin-bottom: 0.25rem;
}

.pac-result-stat__label {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
}

/* Testimonial cards (cream on cream — standard cards) */
.pac-testimonial-text {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-style: italic;
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-snug);
    margin-bottom: 2rem;
}

.pac-testimonial-attr {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
}


/* Program cards (location page featured programs) */
.pac-prog-card {
    border: var(--border-gray);
    background-color: var(--color-white);
    overflow: hidden;
    transition: border-color var(--transition-base);
}

.pac-prog-card:hover {
    border-color: var(--color-gold);
}

.pac-prog-card__image {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}

.pac-prog-card__body {
    padding: 3rem;
}

.pac-prog-card__title {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 0.5rem;
    line-height: var(--leading-snug);
}

.pac-prog-card__price {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    margin-bottom: 1.5rem;
    display: block;
}

.pac-prog-card__excerpt {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin-bottom: 2rem;
}


/* FAQ */
.pac-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 5rem;
    row-gap: 3rem;
}

.pac-faq-item {
    border-bottom: var(--border-gray);
    padding-bottom: 1.75rem;
}

.pac-faq-item__question {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 1rem;
    line-height: var(--leading-snug);
}

.pac-faq-item__answer {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    font-style: italic;
    margin: 0;
}


/* Location page responsive overrides */
@media (max-width: 1024px) {
    .pac-loc-hero__grid      { grid-template-columns: 1fr 1fr; gap: 3rem; }
    .pac-loc-statement       { grid-template-columns: 1fr; }
    .pac-loc-statement__left { border-right: none; border-bottom: var(--border-gray); padding: 3rem 0; }
    .pac-loc-statement__right { padding: 3rem 0 0; }
    .pac-coverage-split      { grid-template-columns: 1fr; }
    .pac-coverage-img        { height: 340px; }
    .pac-faq-grid            { column-gap: 3rem; }
}

@media (max-width: 768px) {
    .pac-loc-hero            { padding-top: calc( var(--nav-height) + 3rem ); }
    .pac-loc-hero__grid      { grid-template-columns: 1fr; }
    .pac-loc-hero__frame     { aspect-ratio: 4 / 3; max-width: 480px; }
    .pac-loc-hero__title     { max-width: 100%; }
    .pac-results-header      { flex-direction: column; align-items: flex-start; }
    .pac-results-stats       { justify-content: flex-start; }
    .pac-result-stat         { text-align: left; }
    .pac-faq-grid            { grid-template-columns: 1fr; }
    .pac-loc-meta-grid       { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}

@media (max-width: 480px) {
    .pac-loc-meta-grid       { grid-template-columns: 1fr; }
    .pac-results-stats       { flex-direction: column; gap: 1.5rem; }
    .pac-process-step        { padding-left: 1.75rem; }
    .pac-coverage-tags       { gap: 0.5rem; }
}


/* ==========================================================================
   24. SERVICE PAGE — single-pac_service.php
   ========================================================================== */

/* Hero — full-height, centered */
.pac-svc-hero {
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: var(--color-navy);
    overflow: hidden;
}

.pac-svc-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.35;
}

.pac-svc-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    padding: 0 var(--container-pad);
    padding-top: var(--nav-height);
}

.pac-svc-hero__eyebrow {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 2rem;
}

.pac-svc-hero__title {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-4xl), 7vw, 5rem);
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    margin-bottom: 3rem;
}

.pac-svc-hero__divider {
    width: 48px;
    height: 1px;
    background-color: var(--color-gold);
    margin: 0 auto 3rem;
}


/* Positioning — pullquote + two-column body */
.pac-svc-positioning {
    padding: var(--section-padding) 0;
    border-bottom: var(--border-gray);
}

.pac-svc-positioning__quote {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3.5vw, var(--text-3xl));
    font-weight: var(--fw-normal);
    font-style: italic;
    color: var(--color-navy);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    max-width: 720px;
    padding: 0 0 3.5rem;
    border-bottom: var(--border-gold);
    margin: 0 0 3.5rem;
}

.pac-svc-positioning__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
}

.pac-svc-positioning__body p {
    font-family: var(--font-sans);
    font-size: var(--text-md);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}


/* Inclusions — label/description rows */
.pac-inclusions {
    padding: var(--section-padding) 0;
}

.pac-inclusions__header {
    display: flex;
    align-items: baseline;
    gap: 2rem;
    padding-bottom: 2rem;
    border-bottom: var(--border-gold);
    margin-bottom: 0;
}

.pac-inclusions__title {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3vw, var(--text-3xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
    margin: 0;
}

.pac-inclusions__count {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    flex-shrink: 0;
}

.pac-inclusion-row {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 2rem;
    align-items: baseline;
    padding: 1.75rem 0;
    border-bottom: var(--border-gray);
}

.pac-inclusion-row__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-gold);
}

.pac-inclusion-row__desc {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}


/* Process — four-step horizontal timeline */
.pac-svc-process {
    padding: var(--section-padding) 0;
    background-color: var(--color-navy);
}

.pac-svc-process__steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-top: 4rem;
}

.pac-svc-process__step {
    padding: 2.5rem 2.5rem 2.5rem 0;
    border-right: 1px solid rgba(212,175,55,0.25);
    padding-right: 3rem;
}

.pac-svc-process__step:first-child {
    padding-left: 0;
}

.pac-svc-process__step:last-child {
    border-right: none;
    padding-right: 0;
    padding-left: 3rem;
}

.pac-svc-process__step:not(:first-child):not(:last-child) {
    padding-left: 3rem;
}

.pac-svc-process__num {
    font-family: var(--font-serif);
    font-size: var(--text-3xl);
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    opacity: 0.4;
    line-height: 1;
    display: block;
    margin-bottom: 1.5rem;
}

.pac-svc-process__step-title {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-cream);
    margin-bottom: 1rem;
    display: block;
}

.pac-svc-process__step-body {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: rgba(250, 249, 247, 0.6);
    margin: 0;
}


/* Stats bar */
.pac-svc-stats {
    padding: 5rem 0;
    border-top: var(--border-gold);
    border-bottom: var(--border-gold);
}

.pac-svc-stats__inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.pac-svc-stat {
    text-align: center;
    padding: 1.5rem 2rem;
    border-right: 1px solid rgba(212,175,55,0.25);
}

.pac-svc-stat:last-child {
    border-right: none;
}

.pac-svc-stat__value {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-3xl), 4vw, 3.5rem);
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    display: block;
    line-height: 1;
    margin-bottom: 0.5rem;
}

.pac-svc-stat__label {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    display: block;
}


/* Testimonials with gold corner L-accent */
.pac-svc-testimonials {
    padding: var(--section-padding) 0;
}

.pac-svc-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 4rem;
}

.pac-svc-testimonial {
    position: relative;
    padding: 3rem;
    background-color: var(--color-white);
    border: var(--border-gray);
}

.pac-svc-testimonial::before {
    content: '';
    position: absolute;
    top: -1px;
    left: -1px;
    width: 32px;
    height: 32px;
    border-top: 2px solid var(--color-gold);
    border-left: 2px solid var(--color-gold);
}

.pac-svc-testimonial__quote {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-style: italic;
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-snug);
    margin-bottom: 2rem;
}

.pac-svc-testimonial__author {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 0.35rem;
}

.pac-svc-testimonial__title {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    color: var(--color-warm-gray);
    letter-spacing: var(--tracking-wide);
}


/* Guarantee — split layout */
.pac-svc-guarantee {
    padding: var(--section-padding) 0;
    background-color: var(--color-navy);
}

.pac-svc-guarantee__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}

.pac-svc-guarantee__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 2rem;
}

.pac-svc-guarantee__title {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3.5vw, var(--text-4xl));
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    margin-bottom: 0;
}

.pac-svc-guarantee__body {
    font-family: var(--font-sans);
    font-size: var(--text-md);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: rgba(250, 249, 247, 0.7);
    margin-bottom: 2rem;
}

.pac-svc-guarantee__items {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pac-svc-guarantee__item {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    color: rgba(250, 249, 247, 0.75);
    padding-left: 1.5rem;
    position: relative;
}

.pac-svc-guarantee__item::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--color-gold);
}


/* Related services — horizontal cards */
.pac-related-services {
    padding: var(--section-padding) 0;
    border-top: var(--border-gray);
}

.pac-related-svc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-top: 4rem;
}

.pac-related-svc-card {
    display: grid;
    grid-template-columns: 200px 1fr;
    border: var(--border-gray);
    overflow: hidden;
    text-decoration: none;
    transition: border-color var(--transition-base);
}

.pac-related-svc-card:hover {
    border-color: var(--color-gold);
}

.pac-related-svc-card__img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    display: block;
}

.pac-related-svc-card__img--placeholder {
    background-color: var(--color-charcoal);
    min-height: 220px;
    display: block;
}

.pac-related-svc-card__body {
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.pac-related-svc-card__label {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 1rem;
}

.pac-related-svc-card__title {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-snug);
    margin-bottom: 1rem;
    letter-spacing: var(--tracking-tight);
}

.pac-related-svc-card__excerpt {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    flex-grow: 1;
    margin-bottom: 2rem;
}

.pac-related-svc-card__cta {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-navy);
    text-decoration: none;
    border-bottom: 1px solid var(--color-gold);
    padding-bottom: 0.15rem;
    align-self: flex-start;
    transition: color var(--transition-base);
}

.pac-related-svc-card:hover .pac-related-svc-card__cta {
    color: var(--color-gold);
}


/* Service FAQ — narrow single column */
.pac-svc-faq {
    padding: var(--section-padding) 0;
}

.pac-svc-faq__list {
    max-width: 720px;
    margin-top: 4rem;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pac-svc-faq__item {
    border-bottom: var(--border-gray);
    padding: 2rem 0;
}

.pac-svc-faq__item:first-child {
    border-top: var(--border-gray);
}

.pac-svc-faq__question {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 1rem;
    line-height: var(--leading-snug);
}

.pac-svc-faq__answer {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}


/* Service page responsive overrides */
@media (max-width: 1024px) {
    .pac-svc-process__steps       { grid-template-columns: repeat(2, 1fr); }
    .pac-svc-process__step        { border-right: none; padding: 2rem; border-bottom: 1px solid rgba(212,175,55,0.2); }
    .pac-svc-process__step:last-child { border-bottom: none; }
    .pac-svc-positioning__body    { gap: 2.5rem; }
    .pac-svc-guarantee__grid      { gap: 3.5rem; }
    .pac-related-svc-card         { grid-template-columns: 160px 1fr; }
}

@media (max-width: 768px) {
    .pac-svc-testimonial-grid     { grid-template-columns: 1fr; }
    .pac-svc-guarantee__grid      { grid-template-columns: 1fr; }
    .pac-related-svc-grid         { grid-template-columns: 1fr; }
    .pac-related-svc-card         { grid-template-columns: 1fr; }
    .pac-related-svc-card__img,
    .pac-related-svc-card__img--placeholder { min-height: 200px; }
    .pac-svc-stats__inner         { grid-template-columns: 1fr; }
    .pac-svc-stat                 { border-right: none; border-bottom: 1px solid rgba(212,175,55,0.2); }
    .pac-svc-stat:last-child      { border-bottom: none; }
    .pac-inclusion-row            { grid-template-columns: 1fr; gap: 0.5rem; }
    .pac-svc-faq__list            { max-width: 100%; }
}

@media (max-width: 480px) {
    .pac-svc-process__steps       { grid-template-columns: 1fr; }
    .pac-svc-positioning__body    { grid-template-columns: 1fr; gap: 2rem; }
    .pac-inclusions__header       { flex-direction: column; gap: 0.5rem; }
}


/* ==========================================================================
   25. PROGRAM PAGE — single-pac_program.php
   ========================================================================== */

/* Hero — full viewport height, centered, navy bg with image */
.pac-prg-hero {
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: var(--color-navy);
    overflow: hidden;
}

.pac-prg-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.3;
}

.pac-prg-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 860px;
    padding: 0 var(--container-pad);
    padding-top: var(--nav-height);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.pac-prg-hero__pac-label {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: rgba(250, 249, 247, 0.6);
    display: block;
    margin-bottom: 0.75rem;
}

.pac-prg-hero__prog-label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: rgba(250, 249, 247, 0.85);
    display: block;
    margin-bottom: 1.5rem;
}

.pac-prg-hero__price {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    display: block;
    margin-bottom: 2.5rem;
}

.pac-prg-hero__title {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-4xl), 7vw, 5rem);
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    margin-bottom: 2rem;
}

.pac-prg-hero__sub {
    font-family: var(--font-sans);
    font-size: var(--text-md);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: rgba(218, 218, 218, 0.85);
    max-width: 600px;
    margin-bottom: 3rem;
}


/* The Client — 2-col, white bg */
.pac-client-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}

.pac-client__heading {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-3xl), 4.5vw, 3.25rem);
    font-weight: var(--fw-normal);
    font-style: italic;
    color: var(--color-navy);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    margin: 0;
}

.pac-client__card {
    border: var(--border-gold);
    padding: 3.5rem;
    background-color: rgba(250, 249, 247, 0.4);
}

.pac-client__card-label {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 1.5rem;
}

.pac-client__card-body {
    font-family: var(--font-sans);
    font-size: var(--text-md);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}


/* Specification rows — cream bg */
.pac-spec-table {
    margin-top: 4rem;
}

.pac-spec-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 2rem 0;
    border-bottom: var(--border-gray);
    gap: 2rem;
    transition: background-color var(--transition-base);
}

.pac-spec-row:first-child {
    border-top: var(--border-gold);
}

.pac-spec-row:hover {
    background-color: rgba(255, 255, 255, 0.5);
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.pac-spec-row__left {
    display: flex;
    align-items: baseline;
    gap: 2.5rem;
    width: 40%;
    flex-shrink: 0;
}

.pac-spec-row__num {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    flex-shrink: 0;
    min-width: 2rem;
}

.pac-spec-row__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-navy);
}

.pac-spec-row__desc {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
    flex: 1;
}


/* Timeline — four phases, horizontal */
.pac-prg-timeline {
    padding: var(--section-padding) 0;
}

.pac-prg-timeline__phases {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 5rem;
    position: relative;
}

.pac-prg-timeline__phases::before {
    content: '';
    position: absolute;
    top: -1.5rem;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--color-gold), transparent);
}

.pac-timeline-phase {
    border: var(--border-gold);
    background-color: var(--color-cream);
    padding: 2.5rem;
}

.pac-timeline-phase__eyebrow {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 0.75rem;
}

.pac-timeline-phase__title {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-navy);
    display: block;
    margin-bottom: 1.25rem;
}

.pac-timeline-phase__desc {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}


/* Results (stats + quote) — navy bg */
.pac-prg-results {
    padding: var(--section-padding) 0;
    background-color: var(--color-navy);
    text-align: center;
}

.pac-prg-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-bottom: 5rem;
}

.pac-prg-stat {
    padding: 1.5rem 2rem;
    border-right: 1px solid rgba(212, 175, 55, 0.25);
}

.pac-prg-stat:last-child {
    border-right: none;
}

.pac-prg-stat__value {
    font-family: var(--font-serif);
    font-size: clamp(3rem, 6vw, 4.5rem);
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    display: block;
    line-height: 1;
    margin-bottom: 0.75rem;
}

.pac-prg-stat__label {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-cream);
    opacity: 0.7;
    display: block;
}

.pac-prg-featured-quote {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-xl), 2.5vw, 1.75rem);
    font-weight: var(--fw-normal);
    font-style: italic;
    color: var(--color-cream);
    line-height: var(--leading-loose);
    max-width: 820px;
    margin: 0 auto;
}


/* Guarantee — white bg, centered */
.pac-prg-guarantee {
    padding: var(--section-padding) 0;
    text-align: center;
}

.pac-prg-guarantee__statement {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3.5vw, 2.5rem);
    font-weight: var(--fw-normal);
    font-style: italic;
    color: var(--color-gold);
    line-height: var(--leading-snug);
    max-width: 860px;
    margin: 0 auto 4rem;
    letter-spacing: var(--tracking-tight);
}

.pac-prg-guarantee__card {
    border: var(--border-gold);
    background-color: var(--color-cream);
    padding: 4rem;
    max-width: 680px;
    margin: 0 auto;
    text-align: left;
}

.pac-prg-guarantee__card-label {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-navy);
    display: block;
    margin-bottom: 1.5rem;
}

.pac-prg-guarantee__card-body {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}


/* FAQ / Clarifications — cream bg, narrow centered */
.pac-prg-faq {
    padding: var(--section-padding) 0;
    background-color: var(--color-cream);
}

.pac-prg-faq__list {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.pac-prg-faq__item { }

.pac-prg-faq__question {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 1rem;
    line-height: var(--leading-snug);
}

.pac-prg-faq__answer {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    border-left: 2px solid var(--color-gold);
    padding-left: 1.5rem;
    margin: 0;
}


/* Investment card — white bg, centered */
.pac-investment {
    padding: var(--section-padding) 0;
}

.pac-investment__card {
    border: var(--border-gold);
    background-color: var(--color-cream);
    padding: 5rem;
    max-width: 540px;
    margin: 0 auto;
    text-align: center;
}

.pac-investment__card-label {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 1rem;
}

.pac-investment__title {
    font-family: var(--font-serif);
    font-size: var(--text-3xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-snug);
    margin-bottom: 1rem;
}

.pac-investment__price {
    font-family: var(--font-serif);
    font-size: clamp(3rem, 6vw, 4rem);
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    display: block;
    line-height: 1;
    margin-bottom: 0.75rem;
}

.pac-investment__fee-label {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    display: block;
    margin-bottom: 3rem;
}

.pac-investment__items {
    list-style: none;
    padding: 0;
    margin: 0 0 3rem;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pac-investment__item {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    color: var(--color-navy);
    padding-left: 1.5rem;
    position: relative;
}

.pac-investment__item::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--color-gold);
}


/* Availability / Exclusivity — cream bg, centered */
.pac-availability {
    padding: var(--section-padding) 0;
    background-color: var(--color-cream);
    text-align: center;
}

.pac-availability__heading {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-3xl), 4vw, var(--text-4xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 2rem;
    letter-spacing: var(--tracking-tight);
}

.pac-availability__body {
    font-family: var(--font-sans);
    font-size: var(--text-md);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    max-width: 600px;
    margin: 0 auto 3rem;
}


/* Also Available — 2-col: related programs + locations */
.pac-prg-related {
    padding: var(--section-padding) 0;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.pac-prg-related__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
}

.pac-prg-related__col-label {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 2rem;
}

.pac-prg-other-card {
    border: var(--border-gold);
    padding: 3rem;
    text-decoration: none;
    display: block;
    transition: background-color var(--transition-base);
}

.pac-prg-other-card:hover {
    background-color: var(--color-cream);
}

.pac-prg-other-card__title {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 0.75rem;
    line-height: var(--leading-snug);
}

.pac-prg-other-card__excerpt {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin-bottom: 2rem;
}

.pac-prg-other-card__cta {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-gold);
    text-decoration: none;
}

/* Neighborhood list in "Where We Train" column */
.pac-prg-locs-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pac-prg-locs-list li {
    border-bottom: var(--border-gray);
}

.pac-prg-locs-list li:first-child {
    border-top: var(--border-gray);
}

.pac-prg-loc-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    text-decoration: none;
    transition: color var(--transition-base);
}

.pac-prg-loc-link:hover .pac-prg-loc-link__name {
    color: var(--color-gold);
}

.pac-prg-loc-link__name {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-navy);
    transition: color var(--transition-base);
}

.pac-prg-loc-link__area {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-warm-gray);
}


/* Program page responsive overrides */
@media (max-width: 1024px) {
    .pac-client-grid           { gap: 3rem; }
    .pac-prg-timeline__phases  { grid-template-columns: repeat(2, 1fr); }
    .pac-prg-related__grid     { grid-template-columns: 1fr; gap: 4rem; }
    .pac-spec-row              { flex-direction: column; gap: 1rem; }
    .pac-spec-row__left        { width: auto; }
}

@media (max-width: 768px) {
    .pac-client-grid           { grid-template-columns: 1fr; }
    .pac-prg-stats             { grid-template-columns: 1fr; }
    .pac-prg-stat              { border-right: none; border-bottom: 1px solid rgba(212, 175, 55, 0.2); }
    .pac-prg-stat:last-child   { border-bottom: none; }
    .pac-prg-guarantee__card   { padding: 2.5rem; }
    .pac-investment__card      { padding: 3rem 2rem; }
}

@media (max-width: 480px) {
    .pac-prg-timeline__phases  { grid-template-columns: 1fr; }
    .pac-prg-featured-quote    { font-size: var(--text-lg); }
    .pac-prg-guarantee__statement { font-size: var(--text-2xl); }
}


/* ==========================================================================
   26. EDITORIAL BLOG — single.php
   ========================================================================== */

/* ── Zone 1: Article Header ─────────────────────────────────────────────── */

.pac-article-header {
    padding-top: calc( var(--nav-height) + var(--section-padding) );
    padding-bottom: 0;
}

/* Breadcrumbs */
.pac-article-crumbs {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 3rem;
}

.pac-article-crumbs__item {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    text-decoration: none;
    transition: color var(--transition-base);
}

.pac-article-crumbs__item:hover {
    color: var(--color-gold);
}

.pac-article-crumbs__item--current {
    color: var(--color-gold);
}

.pac-article-crumbs__sep {
    display: inline-block;
    width: 1px;
    height: 14px;
    background-color: var(--color-gold);
    opacity: 0.5;
    flex-shrink: 0;
}

/* Headline block */
.pac-article-headline-block {
    border-top: var(--border-gold);
    padding-top: 2rem;
    margin-bottom: 4rem;
}

.pac-article-display {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-4xl), 6vw, 4.5rem);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    margin-bottom: 1.5rem;
}

.pac-article-deck {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-xl), 2.5vw, var(--text-2xl));
    font-weight: var(--fw-normal);
    font-style: italic;
    color: var(--color-warm-gray);
    line-height: var(--leading-snug);
    margin-bottom: 2rem;
}

/* Byline */
.pac-article-byline {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.pac-byline-avatar {
    width: 48px !important;
    height: 48px !important;
    object-fit: cover;
    flex-shrink: 0;
    filter: grayscale(100%);
    display: block;
}

.pac-byline-text {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.pac-byline-text__name {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-navy);
    display: block;
}

.pac-byline-text__meta {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Hero image */
.pac-article-hero {
    margin-bottom: 0;
}

.pac-article-hero__img-wrap {
    aspect-ratio: 2 / 1;
    overflow: hidden;
    background-color: var(--color-charcoal);
    width: 100%;
}

.pac-article-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    transition: filter 1s ease;
}

.pac-article-hero__img:hover {
    filter: grayscale(0);
}

.pac-article-hero__caption {
    font-family: var(--font-serif);
    font-size: var(--text-sm);
    font-style: italic;
    color: var(--color-warm-gray);
    text-align: right;
    margin-top: 0.75rem;
    display: block;
}


/* ── Zone 2: Article Body ───────────────────────────────────────────────── */

.pac-article-body-zone {
    padding: 5rem 0 var(--section-padding);
}

.pac-article-layout {
    display: grid;
    grid-template-columns: minmax(0, 700px) 340px;
    gap: 5rem;
    align-items: start;
}

/* ── Content column ─────────────────────────────────────────────────────── */

.pac-content-col {
    min-width: 0;
}

/* Drop cap — CSS only, first letter of first paragraph */
.pac-content-col .entry-content > p:first-of-type::first-letter {
    float: left;
    font-family: var(--font-serif);
    font-size: 5.5rem;
    line-height: 0.8;
    padding-right: 0.75rem;
    padding-top: 0.25rem;
    color: var(--color-navy);
}

/* Entry content base typography */
.pac-content-col .entry-content p {
    font-family: var(--font-sans);
    font-size: var(--text-md);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin-bottom: 1.75rem;
}

.pac-content-col .entry-content > p:first-of-type {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    color: var(--color-navy);
    line-height: var(--leading-loose);
    margin-bottom: 2.5rem;
}

.pac-content-col .entry-content h2 {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3vw, var(--text-3xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    border-top: var(--border-gold);
    padding-top: 2rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
}

.pac-content-col .entry-content h3 {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    line-height: var(--leading-snug);
}

.pac-content-col .entry-content h4 {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-gold);
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

/* Article blockquote */
.pac-content-col .entry-content blockquote,
.pac-content-col .entry-content .wp-block-quote {
    border-top: var(--border-gold);
    border-bottom: var(--border-gold);
    padding: 3rem;
    margin: 3rem -2rem;
    text-align: center;
}

.pac-content-col .entry-content blockquote p,
.pac-content-col .entry-content .wp-block-quote p {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-xl), 2.5vw, 1.75rem);
    font-weight: var(--fw-normal);
    font-style: italic;
    color: var(--color-gold);
    line-height: var(--leading-snug);
    margin: 0;
}

.pac-content-col .entry-content blockquote cite,
.pac-content-col .entry-content .wp-block-quote cite {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    font-style: normal;
    display: block;
    margin-top: 1.25rem;
}

/* Custom list */
.pac-content-col .entry-content ul {
    list-style: none;
    padding: 0;
    margin-bottom: 2rem;
}

.pac-content-col .entry-content ul li {
    display: flex;
    gap: 1rem;
    align-items: baseline;
    font-family: var(--font-sans);
    font-size: var(--text-md);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-navy);
    margin-bottom: 0.75rem;
}

.pac-content-col .entry-content ul li::before {
    content: '—';
    color: var(--color-gold);
    flex-shrink: 0;
}

/* Inline image + aside columns (Gutenberg wp-block-columns) */
.pac-content-col .entry-content .wp-block-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center;
    margin-bottom: 3rem;
}

.pac-content-col .entry-content .wp-block-column figure img {
    width: 100%;
    filter: grayscale(100%);
    display: block;
}

.pac-content-col .entry-content .wp-block-column > div {
    border: var(--border-gold);
    padding: 2.5rem;
    background-color: var(--color-cream);
}

/* Inline images */
.pac-content-col .entry-content img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Article section FAQ within content */
.pac-content-col .entry-content section h2 {
    border-top: var(--border-gold);
    padding-top: 2rem;
    margin-top: 3rem;
}

.pac-content-col .entry-content section h3 {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    color: var(--color-navy);
    margin-bottom: 0.75rem;
}

/* Author bio */
.pac-author-box {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    margin-top: 5rem;
    padding-top: 3rem;
    border-top: var(--border-gold);
    background-color: var(--color-cream);
    padding: 2.5rem;
}

.pac-author-box__avatar {
    width: 96px !important;
    height: 96px !important;
    object-fit: cover;
    flex-shrink: 0;
    filter: grayscale(100%);
    display: block;
}

.pac-author-box__text {
    flex: 1;
    min-width: 0;
}

.pac-author-box__name {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 0.35rem;
    line-height: var(--leading-snug);
}

.pac-author-box__title {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 1rem;
}

.pac-author-box__bio {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}


/* ── Sidebar ────────────────────────────────────────────────────────────── */

.pac-article-sidebar {
    position: sticky;
    top: calc( var(--nav-height) + 2rem );
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    opacity: 1;
    transition: opacity 0.4s ease;
}

.pac-article-sidebar.pac-sidebar--faded {
    opacity: 0;
    pointer-events: none;
}

/* CTA card */
.pac-sidebar-cta {
    border: var(--border-gold);
    padding: 2rem;
    text-align: center;
    background-color: var(--color-white);
}

.pac-sidebar-cta__label {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 1rem;
}

.pac-sidebar-cta__body {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-navy);
    margin-bottom: 1.5rem;
    text-align: center;
}

/* Related articles list */
.pac-sidebar-related__heading {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-navy);
    border-bottom: var(--border-gold);
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
}

.pac-sidebar-related__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.pac-sidebar-related__item {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.pac-sidebar-related__date {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
}

.pac-sidebar-related__title {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    text-decoration: none;
    line-height: var(--leading-snug);
    transition: color var(--transition-base);
}

.pac-sidebar-related__title:hover {
    color: var(--color-gold);
}

/* Program reference */
.pac-sidebar-program-ref {
    border-top: var(--border-gray);
    padding-top: 1.5rem;
}

.pac-sidebar-program-ref__label {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    display: block;
    margin-bottom: 1rem;
}

.pac-sidebar-program-ref__link {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    text-decoration: none;
}

.pac-sidebar-program-ref__name {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    color: var(--color-navy);
    transition: color var(--transition-base);
}

.pac-sidebar-program-ref__link:hover .pac-sidebar-program-ref__name {
    color: var(--color-gold);
}

.pac-sidebar-program-ref__price {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
}


/* ── Zone 3: Post-Article ───────────────────────────────────────────────── */

.pac-post-article {
    padding: var(--section-padding) 0;
    border-top: var(--border-gray);
}

/* Join the Tribe CTA block */
.pac-join-cta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: var(--border-gold);
    padding: 4rem;
    margin-bottom: 5rem;
    align-items: center;
    gap: 0;
}

.pac-join-cta__left {
    padding-right: 4rem;
    border-right: 1px solid rgba(212, 175, 55, 0.2);
}

.pac-join-cta__right {
    padding-left: 4rem;
}

.pac-join-cta__headline {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3vw, var(--text-3xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-snug);
    margin-bottom: 1rem;
    letter-spacing: var(--tracking-tight);
}

.pac-join-cta__body {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}

.pac-join-cta__form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.pac-join-cta__input-wrap {
    border-bottom: var(--border-gold);
}

.pac-join-cta__input {
    width: 100%;
    background: transparent;
    border: none;
    outline: none;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-navy);
    padding: 1rem 0;
}

.pac-join-cta__input::placeholder {
    color: var(--color-warm-gray);
    opacity: 0.6;
}

/* Suggested Reading */
.pac-suggested-reading {
    margin-bottom: 4rem;
}

.pac-suggested-reading__heading {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-navy);
    border-bottom: var(--border-gold);
    padding-bottom: 1rem;
    margin-bottom: 3rem;
    text-align: center;
}

.pac-reading-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}

.pac-reading-card {
    display: block;
    text-decoration: none;
    cursor: pointer;
}

.pac-reading-card__img-wrap {
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background-color: var(--color-charcoal);
    margin-bottom: 1.5rem;
}

.pac-reading-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    transition: filter 0.7s ease;
}

.pac-reading-card:hover .pac-reading-card__img {
    filter: grayscale(0);
}

.pac-reading-card__cat {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    display: block;
    margin-bottom: 0.5rem;
}

.pac-reading-card__title {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    line-height: var(--leading-snug);
    margin-bottom: 0.75rem;
    transition: color var(--transition-base);
}

.pac-reading-card:hover .pac-reading-card__title {
    color: var(--color-gold);
}

.pac-reading-card__excerpt {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    line-height: var(--leading-loose);
    color: var(--color-warm-gray);
    margin: 0;
}

/* Tag strip */
.pac-tag-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3rem 2.5rem;
    padding: 2rem 0;
    border-top: var(--border-gray);
    border-bottom: var(--border-gray);
    margin-bottom: 3rem;
}

.pac-tag-link {
    font-family: var(--font-sans);
    font-size: 0.65rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    text-decoration: none;
    transition: color var(--transition-base);
}

.pac-tag-link:hover {
    color: var(--color-gold);
}

/* Neighborhood footer strip */
.pac-nhood-footstrip {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem 0;
}

.pac-nhood-footstrip__link {
    font-family: var(--font-sans);
    font-size: 0.6rem;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: rgba(140, 140, 140, 0.5);
    text-decoration: none;
    transition: color var(--transition-base);
}

.pac-nhood-footstrip__link:hover {
    color: var(--color-gold);
}

.pac-nhood-footstrip__dot {
    color: rgba(140, 140, 140, 0.3);
    font-size: 0.75rem;
}


/* ── Editorial responsive overrides ────────────────────────────────────── */

@media (max-width: 1024px) {
    .pac-article-layout { grid-template-columns: 1fr 300px; gap: 3.5rem; }
    .pac-join-cta        { padding: 3rem; }
    .pac-join-cta__left  { padding-right: 3rem; }
    .pac-join-cta__right { padding-left: 3rem; }
}

@media (max-width: 768px) {
    .pac-article-layout          { grid-template-columns: 1fr; }
    .pac-article-sidebar         { position: static; opacity: 1 !important; pointer-events: auto !important; }
    .pac-article-display         { font-size: var(--text-4xl); }
    .pac-content-col .entry-content blockquote,
    .pac-content-col .entry-content .wp-block-quote { margin: 2rem 0; padding: 2rem 1.5rem; }
    .pac-join-cta                { grid-template-columns: 1fr; padding: 2.5rem; }
    .pac-join-cta__left          { padding-right: 0; border-right: none; border-bottom: 1px solid rgba(212,175,55,0.2); padding-bottom: 2.5rem; margin-bottom: 2.5rem; }
    .pac-join-cta__right         { padding-left: 0; }
    .pac-reading-grid            { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .pac-article-crumbs          { flex-wrap: wrap; }
    .pac-author-box              { flex-direction: column; }
    .pac-nhood-footstrip         { justify-content: center; gap: 0.5rem 1rem; }
    .pac-content-col .entry-content .wp-block-columns { grid-template-columns: 1fr; }
}


/* ==========================================================================
   27. DEFAULT PAGES — page-about / page-contact / page-faq / page-privacy
   ========================================================================== */

/* ── Button variants used across default pages ──────────────────────────── */

/* --navy: alias of --primary for semantic clarity in templates */
.pac-btn--navy {
    background-color: var(--color-navy);
    color: var(--color-cream);
    border: 1px solid var(--color-navy);
}

.pac-btn--navy:hover {
    background-color: var(--color-gold);
    border-color: var(--color-gold);
    color: var(--color-navy);
}

/* --gold: filled gold */
.pac-btn--gold {
    background-color: var(--color-gold);
    color: var(--color-navy);
    border: 1px solid var(--color-gold);
}

.pac-btn--gold:hover {
    background-color: var(--color-navy);
    border-color: var(--color-navy);
    color: var(--color-cream);
}

/* --outline-gold: gold border, transparent fill */
.pac-btn--outline-gold {
    background-color: transparent;
    color: var(--color-gold);
    border: 1px solid var(--color-gold);
}

.pac-btn--outline-gold:hover {
    background-color: var(--color-gold);
    color: var(--color-navy);
}

/* --white: cream/white for dark backgrounds */
.pac-btn--white {
    background-color: var(--color-cream);
    color: var(--color-navy);
    border: 1px solid var(--color-cream);
}

.pac-btn--white:hover {
    background-color: transparent;
    color: var(--color-cream);
}

/* --full: full-width block button */
.pac-btn--full {
    display: block;
    width: 100%;
    text-align: center;
}


/* ── Page Header (shared across all default page types) ─────────────────── */

.pac-page-hdr {
    padding-top: calc( var(--nav-height) + var(--section-padding) );
    padding-bottom: var(--section-padding);
    border-bottom: var(--border-gold);
}

.pac-page-hdr__title {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-4xl), 5vw, var(--text-5xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
    line-height: var(--leading-tight);
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.pac-page-hdr__intro {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-style: italic;
    color: var(--color-warm-gray);
    max-width: 680px;
    line-height: var(--leading-relaxed);
}


/* ── Module A: About Prose ──────────────────────────────────────────────── */

.pac-about-prose {
    padding-top: var(--section-padding);
    padding-bottom: calc( var(--section-padding) / 2 );
}

.pac-about-prose__inner {
    max-width: 720px;
}

.pac-about-prose__inner p {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
    color: var(--color-charcoal);
    margin-bottom: 1.5rem;
}


/* ── Module B: Founder Profile ──────────────────────────────────────────── */

.pac-founder-profile {
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
    border-top: var(--border-gold);
}

.pac-founder-profile__grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 5rem;
    align-items: start;
}

.pac-founder-profile__img-wrap {
    aspect-ratio: 3 / 4;
    overflow: hidden;
}

.pac-founder-profile__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 1s ease;
}

.pac-founder-profile__img:hover {
    filter: grayscale(0%);
}

.pac-founder-profile__eyebrow {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    margin-bottom: 1rem;
}

.pac-founder-profile__name {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3vw, var(--text-3xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
    margin-bottom: 0.5rem;
}

.pac-founder-profile__role {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-warm-gray);
    margin-bottom: 2rem;
}

.pac-founder-profile__bio {
    font-family: var(--font-serif);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    color: var(--color-charcoal);
    margin-bottom: 2rem;
}

.pac-founder-profile__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.pac-founder-profile__tag {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-navy);
    border: 1px solid var(--color-navy);
    padding: 0.375rem 0.875rem;
}


/* ── Module C: Values Block ─────────────────────────────────────────────── */

.pac-values-block {
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
}

.pac-values-block__header {
    max-width: 640px;
    margin-bottom: 4rem;
}

.pac-values-block__eyebrow {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    margin-bottom: 1rem;
}

.pac-values-block__heading {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3vw, var(--text-3xl));
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
}

.pac-values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}

.pac-value-card {
    border-top: 1px solid rgba(212, 175, 55, 0.4);
    padding-top: 2rem;
}

.pac-value-card__numeral {
    display: block;
    font-family: var(--font-serif);
    font-size: var(--text-5xl);
    font-style: italic;
    color: var(--color-gold);
    line-height: 1;
    margin-bottom: 1.5rem;
    opacity: 0.5;
}

.pac-value-card__title {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-cream);
    margin-bottom: 1rem;
}

.pac-value-card__desc {
    font-family: var(--font-serif);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    color: rgba(250, 249, 247, 0.75);
}


/* ── Module D: Credentials Bar ──────────────────────────────────────────── */

.pac-credentials-bar {
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
    border-top: var(--border-gold);
    border-bottom: var(--border-gold);
}

.pac-credentials-bar__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
}

.pac-credentials-bar__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2rem 1.5rem;
    border-right: 1px solid rgba(212, 175, 55, 0.2);
}

.pac-credentials-bar__item:last-child {
    border-right: none;
}

.pac-credentials-bar__value {
    display: block;
    font-family: var(--font-serif);
    font-size: clamp(var(--text-3xl), 3vw, var(--text-4xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
    line-height: 1;
    margin-bottom: 0.75rem;
}

.pac-credentials-bar__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-warm-gray);
}


/* ── Module E: Contact Layout ───────────────────────────────────────────── */

.pac-contact-section {
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
}

.pac-contact-layout {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 5rem;
    align-items: start;
}

.pac-contact-info__heading {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
    margin-bottom: 2.5rem;
}

.pac-contact-info__block {
    margin-bottom: 2rem;
}

.pac-contact-info__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-gold);
    margin-bottom: 0.4rem;
}

.pac-contact-info__value {
    font-family: var(--font-serif);
    font-size: var(--text-base);
    color: var(--color-navy);
    line-height: var(--leading-snug);
}

a.pac-contact-info__value:hover {
    color: var(--color-gold);
}

.pac-contact-info__note {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.pac-contact-info__note p {
    font-family: var(--font-serif);
    font-size: var(--text-sm);
    font-style: italic;
    color: var(--color-warm-gray);
    line-height: var(--leading-relaxed);
}

.pac-contact-form-wrap {
    border: var(--border-gold);
    padding: 3rem;
}

.pac-contact-form__submit {
    margin-top: 0.5rem;
}


/* ── Module F: FAQ Accordion ────────────────────────────────────────────── */

.pac-faq-section {
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
}

.pac-faq-list {
    max-width: 760px;
    margin: 0 auto;
}

/* Accordion items — scoped to .pac-faq-list to avoid overriding static
   .pac-faq-item usage on service and location page FAQs */

.pac-faq-list .pac-faq-item {
    border-bottom: 1px solid rgba(212, 175, 55, 0.25);
    border-top: none;
    padding-bottom: 0;
}

.pac-faq-list .pac-faq-item:first-child {
    border-top: 1px solid rgba(212, 175, 55, 0.25);
}

.pac-faq-item__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    width: 100%;
    padding: 1.75rem 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
}

.pac-faq-list .pac-faq-item__question {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
    line-height: var(--leading-snug);
    margin: 0;
}

.pac-faq-item__trigger:hover .pac-faq-item__question {
    color: var(--color-gold);
}

/* Plus/minus icon via CSS */
.pac-faq-item__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    position: relative;
}

.pac-faq-item__icon::before,
.pac-faq-item__icon::after {
    content: '';
    position: absolute;
    background-color: var(--color-gold);
    transition: transform var(--transition-base), opacity var(--transition-base);
}

/* Horizontal bar */
.pac-faq-item__icon::before {
    width: 20px;
    height: 1px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

/* Vertical bar (becomes invisible when open) */
.pac-faq-item__icon::after {
    width: 1px;
    height: 20px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.pac-faq-item--open .pac-faq-item__icon::after {
    transform: translateX(-50%) rotate(90deg);
    opacity: 0;
}

/* Answer panel — closed by default, CSS max-height transition */
.pac-faq-list .pac-faq-item__answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.4s ease;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    font-style: normal;
    margin: 0;
}

.pac-faq-item__answer-text {
    font-family: var(--font-serif);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    color: var(--color-charcoal);
    padding-bottom: 1.75rem;
    border-left: 2px solid var(--color-gold);
    padding-left: 1.5rem;
    margin: 0;
}


/* ── Closing CTA partial ────────────────────────────────────────────────── */

.pac-closing-cta {
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
}

.pac-closing-cta__inner {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
}

.pac-closing-cta__eyebrow {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: rgba(212, 175, 55, 0.7);
    margin-bottom: 1.5rem;
}

.pac-closing-cta__headline {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    letter-spacing: var(--tracking-tight);
    line-height: var(--leading-tight);
    margin-bottom: 1.5rem;
}

.pac-closing-cta__body {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-style: italic;
    color: rgba(250, 249, 247, 0.7);
    line-height: var(--leading-relaxed);
    margin-bottom: 3rem;
}


/* ── Privacy prose ──────────────────────────────────────────────────────── */

.pac-privacy-content {
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
}

.pac-privacy-prose {
    max-width: 760px;
}

.pac-privacy-prose h2,
.pac-privacy-prose h3 {
    font-family: var(--font-serif);
    color: var(--color-navy);
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
}

.pac-privacy-prose p {
    font-family: var(--font-serif);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    color: var(--color-charcoal);
    margin-bottom: 1.25rem;
}


/* ── Section 27 responsive overrides ───────────────────────────────────── */

@media (max-width: 1024px) {
    .pac-founder-profile__grid  { grid-template-columns: 1fr 1fr; gap: 3.5rem; }
    .pac-values-grid             { grid-template-columns: 1fr; gap: 2.5rem; }
    .pac-credentials-bar__grid  { grid-template-columns: repeat(3, 1fr); }
    .pac-credentials-bar__item:nth-child(3) { border-right: none; }
    .pac-credentials-bar__item:nth-child(4),
    .pac-credentials-bar__item:nth-child(5) { border-top: 1px solid rgba(212,175,55,0.2); }
    .pac-contact-layout          { grid-template-columns: 1fr 1fr; gap: 3.5rem; }
}

@media (max-width: 768px) {
    .pac-founder-profile__grid  { grid-template-columns: 1fr; }
    .pac-credentials-bar__grid  { grid-template-columns: repeat(2, 1fr); }
    .pac-credentials-bar__item  { border-right: none; border-bottom: 1px solid rgba(212,175,55,0.2); }
    .pac-credentials-bar__item:last-child { border-bottom: none; }
    .pac-contact-layout          { grid-template-columns: 1fr; gap: 3rem; }
    .pac-contact-form-wrap       { padding: 2rem; }
}

@media (max-width: 480px) {
    .pac-page-hdr__title         { font-size: var(--text-3xl); }
    .pac-closing-cta__headline   { font-size: var(--text-3xl); }
    .pac-credentials-bar__grid  { grid-template-columns: 1fr; }
    .pac-credentials-bar__item  { border-right: none; }
}


/* ==========================================================================
   28. CAMPAIGN PAGE — page-campaign.php
   ========================================================================== */

/* ── Campaign nav ───────────────────────────────────────────────────────── */

.pac-campaign-page {
    padding-top: 0;
}

.pac-campaign-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background-color: var(--color-cream);
    border-bottom: var(--border-gold);
}

.pac-campaign-nav__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem var(--container-padding);
    max-width: var(--container-max);
    margin: 0 auto;
}

.pac-campaign-nav__program {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-normal);
    letter-spacing: var(--tracking-wider);
    color: var(--color-navy);
}

.pac-campaign-nav__phone {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-navy);
    transition: color var(--transition-base);
}

.pac-campaign-nav__phone:hover {
    color: var(--color-gold);
}


/* ── Announcement bar ───────────────────────────────────────────────────── */

.pac-campaign-bar {
    margin-top: 73px; /* campaign nav height */
    background-color: var(--color-navy);
    padding: 0.75rem var(--container-padding);
    text-align: center;
}

.pac-campaign-bar__text {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: var(--fw-light);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--color-cream);
    line-height: 1;
}

.pac-campaign-bar__dot {
    margin: 0 0.75rem;
    color: var(--color-gold);
    opacity: 0.6;
}


/* ── Hero headline block ────────────────────────────────────────────────── */

.pac-campaign-hero {
    padding: 8rem var(--container-padding);
    background-color: var(--color-cream);
    text-align: center;
}

.pac-campaign-hero__inner {
    max-width: 860px;
    margin: 0 auto;
}

.pac-campaign-hero__headline {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-4xl), 6vw, 4.5rem);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
    line-height: var(--leading-tight);
    margin-bottom: 2rem;
}

.pac-campaign-hero__deck {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-xl), 2.5vw, var(--text-2xl));
    font-style: italic;
    color: var(--color-warm-gray);
    line-height: var(--leading-relaxed);
    margin-bottom: 3.5rem;
    font-weight: var(--fw-light);
}

/* CTA gold button with gold glow shadow */
.pac-btn--cta {
    box-shadow: 0 10px 30px -5px rgba(212, 175, 55, 0.4);
}

.pac-btn--cta:hover {
    box-shadow: 0 14px 36px -4px rgba(212, 175, 55, 0.55);
}


/* ── Video section ──────────────────────────────────────────────────────── */

.pac-campaign-video-section {
    padding: 0 var(--container-padding) 8rem;
    background-color: var(--color-cream);
    display: flex;
    justify-content: center;
}

.pac-campaign-video-wrap {
    width: 100%;
    max-width: 1000px;
    aspect-ratio: 16 / 9;
    background-color: var(--color-navy);
    border: var(--border-gold);
    overflow: hidden;
    position: relative;
}

.pac-campaign-video__frame {
    width: 100%;
    height: 100%;
    border: none;
}

.pac-campaign-video__placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    cursor: pointer;
}

.pac-campaign-video__play-icon svg {
    transition: opacity var(--transition-base);
}

.pac-campaign-video__placeholder:hover .pac-campaign-video__play-icon svg {
    opacity: 0.8;
}

.pac-campaign-video__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-cream);
}


/* ── Qualify section (For / Not For) ────────────────────────────────────── */

.pac-campaign-qualify {
    padding: var(--section-padding) 0;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    background-color: #fff;
}

.pac-campaign-qualify__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
}

.pac-campaign-qualify__heading {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: var(--fw-normal);
    letter-spacing: var(--tracking-wide);
    margin-bottom: 2.5rem;
    padding-bottom: 1rem;
}

.pac-campaign-qualify__heading--yes {
    color: var(--color-navy);
    border-bottom: var(--border-gold);
}

.pac-campaign-qualify__heading--no {
    color: #8b1a1a;
    border-bottom: 1px solid #8b1a1a;
}

.pac-campaign-qualify__list {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pac-campaign-qualify__item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-light);
    line-height: var(--leading-relaxed);
    color: var(--color-navy);
}

.pac-campaign-qualify__item::before {
    content: '';
    flex-shrink: 0;
    margin-top: 0.35rem;
    width: 20px;
    height: 20px;
    border: 1px solid currentColor;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pac-campaign-qualify__item--yes::before {
    color: var(--color-gold);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpolyline points='4,10 8,14 16,6' stroke='%23d4af37' stroke-width='1.5' stroke-linecap='square'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

.pac-campaign-qualify__item--no {
    opacity: 0.6;
}

.pac-campaign-qualify__item--no::before {
    color: #8b1a1a;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cline x1='5' y1='5' x2='15' y2='15' stroke='%238b1a1a' stroke-width='1.5' stroke-linecap='square'/%3E%3Cline x1='15' y1='5' x2='5' y2='15' stroke='%238b1a1a' stroke-width='1.5' stroke-linecap='square'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}


/* ── Deliverables (What You Get) ─────────────────────────────────────────── */

.pac-campaign-deliverables {
    padding: var(--section-padding) 0;
    background-color: var(--color-cream);
}

.pac-campaign-deliverables__heading {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-tight);
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 5rem;
}

.pac-campaign-deliverables .pac-container {
    max-width: 860px;
}

.pac-campaign-deliverable {
    display: flex;
    gap: 3.5rem;
    align-items: flex-start;
    padding-bottom: 5rem;
    border-bottom: 1px solid rgba(26, 35, 50, 0.08);
    margin-bottom: 5rem;
}

.pac-campaign-deliverable:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.pac-campaign-deliverable__num {
    font-family: var(--font-serif);
    font-size: 4rem;
    font-style: italic;
    color: var(--color-gold);
    line-height: 1;
    flex-shrink: 0;
    min-width: 4rem;
}

.pac-campaign-deliverable__title {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    margin-bottom: 1rem;
}

.pac-campaign-deliverable__desc {
    font-family: var(--font-serif);
    font-size: var(--text-base);
    font-weight: var(--fw-light);
    line-height: var(--leading-relaxed);
    color: var(--color-charcoal);
}


/* ── Before / After ─────────────────────────────────────────────────────── */

.pac-campaign-transforms {
    padding: var(--section-padding) 0;
}

.pac-campaign-transforms__heading {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3vw, var(--text-4xl));
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: var(--tracking-widest);
    margin-bottom: 5rem;
}

.pac-campaign-transforms__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}

.pac-campaign-pair__images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
}

.pac-campaign-pair__img-wrap {
    position: relative;
    overflow: hidden;
}

.pac-campaign-pair__img {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.pac-campaign-pair__img--before {
    filter: grayscale(100%);
}

.pac-campaign-pair__img-placeholder {
    width: 100%;
    height: 300px;
    background-color: rgba(250, 249, 247, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.2);
}

.pac-campaign-pair__badge {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    font-family: var(--font-sans);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 0.25rem 0.5rem;
}

.pac-campaign-pair__badge--before {
    background-color: #8b1a1a;
    color: #fff;
}

.pac-campaign-pair__badge--after {
    background-color: var(--color-gold);
    color: var(--color-navy);
}

.pac-campaign-pair__result {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    color: var(--color-gold);
    text-align: center;
    margin-top: 1rem;
}


/* ── Testimonials (horizontal scroll) ──────────────────────────────────── */

.pac-campaign-reviews {
    padding: var(--section-padding) 0;
    background-color: var(--color-cream);
    overflow: hidden;
}

.pac-campaign-reviews__scroll {
    display: flex;
    gap: 2rem;
    overflow-x: auto;
    padding: 0 var(--container-padding) 2rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(212, 175, 55, 0.3) transparent;
}

.pac-campaign-review {
    flex-shrink: 0;
    min-width: 400px;
    max-width: 480px;
    scroll-snap-align: center;
    background-color: #fff;
    border: 1px solid rgba(212, 175, 55, 0.15);
    padding: 3rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.pac-campaign-review__stars {
    font-size: var(--text-sm);
    color: var(--color-gold);
    letter-spacing: 0.15em;
}

.pac-campaign-review__quote {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-style: italic;
    color: var(--color-navy);
    line-height: var(--leading-relaxed);
    margin: 0;
    border: none;
    padding: 0;
    text-align: left;
}

.pac-campaign-review__attr {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: var(--fw-light);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--color-gold);
    margin: 0;
}


/* ── Offer stack ────────────────────────────────────────────────────────── */

.pac-campaign-offer-section {
    padding: var(--section-padding) 0;
    background-color: #fff;
}

.pac-campaign-offer-section .pac-container {
    max-width: 860px;
}

.pac-campaign-offer-card {
    background-color: var(--color-cream);
    border-left: 3px solid var(--color-gold);
    padding: 4rem 5rem;
}

.pac-campaign-offer-card__heading {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3vw, var(--text-4xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    margin-bottom: 3rem;
}

.pac-campaign-offer-card__list {
    list-style: none;
    margin: 0 0 4rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pac-campaign-offer-card__item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 1.25rem 0;
    border-bottom: 1px solid rgba(26, 35, 50, 0.1);
    gap: 2rem;
}

.pac-campaign-offer-card__item-name {
    font-family: var(--font-serif);
    font-size: var(--text-base);
    font-weight: var(--fw-light);
    color: var(--color-navy);
}

.pac-campaign-offer-card__item-value {
    font-family: var(--font-serif);
    font-size: var(--text-base);
    font-style: italic;
    color: var(--color-gold);
    font-weight: 500;
    flex-shrink: 0;
}

.pac-campaign-offer-card__total {
    text-align: center;
}

.pac-campaign-offer-card__total-label {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: var(--fw-light);
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--color-navy);
    margin-bottom: 0.75rem;
}

.pac-campaign-offer-card__price {
    font-family: var(--font-serif);
    font-size: clamp(3.5rem, 8vw, 5rem);
    font-weight: var(--fw-normal);
    color: var(--color-gold);
    line-height: 1;
    letter-spacing: var(--tracking-tight);
    margin-bottom: 0.5rem;
    transition: color var(--transition-base);
}

.pac-campaign-offer-card__split {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-wider);
    color: var(--color-warm-gray);
    margin-bottom: 2rem;
}

.pac-campaign-offer-section .pac-btn {
    margin-top: 2rem;
}


/* ── Countdown / urgency ────────────────────────────────────────────────── */

.pac-campaign-countdown {
    padding: 6rem 0;
    text-align: center;
}

.pac-campaign-countdown__heading {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: var(--fw-normal);
    color: var(--color-cream);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: 3rem;
}

.pac-campaign-countdown__units {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin-bottom: 3rem;
}

.pac-campaign-cd-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.pac-campaign-cd-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    background-color: var(--color-cream);
    color: var(--color-navy);
    font-family: var(--font-serif);
    font-size: var(--text-4xl);
    font-weight: var(--fw-normal);
    line-height: 1;
    transition: all var(--transition-base);
}

.pac-campaign-cd-label {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-cream);
    opacity: 0.7;
}

.pac-campaign-countdown__scarcity {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: #c47070;
}


/* ── Guarantee ──────────────────────────────────────────────────────────── */

.pac-campaign-guarantee {
    padding: var(--section-padding) 0;
    background-color: var(--color-cream);
}

.pac-campaign-guarantee .pac-container {
    max-width: 860px;
}

.pac-campaign-guarantee__card {
    border: var(--border-gold);
    padding: 5rem;
    text-align: center;
    position: relative;
}

.pac-campaign-guarantee__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-navy);
    border: var(--border-gold);
    padding: 1.25rem;
    margin-bottom: 2rem;
}

.pac-campaign-guarantee__title {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wider);
    margin-bottom: 1.5rem;
}

.pac-campaign-guarantee__body {
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-light);
    color: var(--color-navy);
    line-height: var(--leading-relaxed);
    max-width: 640px;
    margin: 0 auto;
}


/* ── Campaign FAQ ───────────────────────────────────────────────────────── */

.pac-campaign-faq-section {
    padding: var(--section-padding) 0;
    background-color: #fff;
}

.pac-campaign-faq-section .pac-container {
    max-width: 860px;
}

.pac-campaign-faq-section__heading {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-2xl), 3vw, var(--text-4xl));
    font-weight: var(--fw-normal);
    color: var(--color-navy);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wider);
    margin-bottom: 4rem;
}


/* ── Final CTA ──────────────────────────────────────────────────────────── */

.pac-campaign-final-cta {
    padding: var(--section-padding) 0;
}

.pac-campaign-final-cta__inner {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
    padding: 0 var(--container-padding);
}

.pac-campaign-final-cta__headline {
    font-family: var(--font-serif);
    font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
    font-weight: var(--fw-light);
    color: var(--color-cream);
    letter-spacing: var(--tracking-tight);
    line-height: var(--leading-tight);
    margin-bottom: 3rem;
}

.pac-campaign-final-cta__note {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: var(--fw-light);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(250, 249, 247, 0.5);
    margin-top: 2rem;
}


/* ── Minimal footer ─────────────────────────────────────────────────────── */

.pac-campaign-foot {
    background-color: var(--color-cream);
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    padding: 3rem var(--container-padding);
}

.pac-campaign-foot__inner {
    max-width: var(--container-max);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.pac-campaign-foot__copy {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: rgba(26, 35, 50, 0.5);
}

.pac-campaign-foot__links {
    display: flex;
    gap: 3rem;
}

.pac-campaign-foot__link {
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: var(--fw-light);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-navy);
    transition: color var(--transition-base);
}

.pac-campaign-foot__link:hover {
    color: var(--color-gold);
}


/* ── Section 28 responsive overrides ───────────────────────────────────── */

@media (max-width: 1024px) {
    .pac-campaign-transforms__grid  { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .pac-campaign-qualify__grid      { grid-template-columns: 1fr; gap: 3.5rem; }
    .pac-campaign-transforms__grid   { grid-template-columns: 1fr; }
    .pac-campaign-hero__headline     { font-size: var(--text-4xl); }
    .pac-campaign-deliverable        { flex-direction: column; gap: 1.5rem; }
    .pac-campaign-deliverable__num   { font-size: var(--text-5xl); min-width: auto; }
    .pac-campaign-offer-card         { padding: 2.5rem; }
    .pac-campaign-guarantee__card    { padding: 3rem 2rem; }
    .pac-campaign-countdown__units   { gap: 1.5rem; }
    .pac-campaign-cd-num             { width: 70px; height: 70px; font-size: var(--text-3xl); }
}

@media (max-width: 480px) {
    .pac-campaign-hero               { padding: 5rem var(--container-padding); }
    .pac-campaign-hero__headline     { font-size: var(--text-3xl); }
    .pac-campaign-final-cta__headline { font-size: var(--text-3xl); }
    .pac-campaign-review             { min-width: 300px; padding: 2rem; }
    .pac-campaign-foot__inner        { flex-direction: column; text-align: center; }
    .pac-campaign-bar__dot           { display: none; }
    .pac-campaign-bar__text          { line-height: var(--leading-loose); }
}
