/* ═══════════════════════════════════════════════════════════
   Packet Ready Consulting — Design System v3
   "Regulatory Registry" — paper, ink, brass.
   The visual language of official documents: paper-white
   ground, ink-navy structure, one brass accent (seals &
   certificates), serif display, monospace for form numbers,
   citations, and figures.
   ═══════════════════════════════════════════════════════════ */

/* ── Reset & Custom Properties ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Ground (paper) */
  --white:#ffffff;--paper:#fbfaf7;--paper-2:#f4f2ec;
  --gray-50:#f6f5f1;--gray-100:#edebe4;--gray-200:#dfdcd2;
  --gray-300:#c8c4b8;--gray-400:#98948a;--gray-500:#6b6a63;
  --gray-600:#54534d;--gray-700:#3d3d38;--gray-800:#2a2a26;--gray-900:#1a1a17;
  /* Structure (ink navy) */
  --navy-700:#26406e;--navy-800:#1b2d4f;--navy-900:#12203a;
  /* Interactive (ink) — replaces old blue accent slots */
  --blue-50:#eef1f6;--blue-100:#dde3ee;--blue-200:#c2cddf;--blue-300:#9cadc9;
  --blue-400:#68809f;--blue-500:#3d5578;--blue-600:#26406e;--blue-700:#1b2d4f;
  --blue-800:#12203a;
  /* Accent (brass — seals, certificates) */
  --brass-100:#f2ecdc;--brass-200:#e4d9bd;--brass-500:#a3843c;--brass-600:#8b6f2f;--brass-700:#6f5824;
  /* Confirmation (moss) */
  --green-50:#eef2ee;--green-100:#dce5dc;--green-500:#4d7159;--green-600:#3f6049;--green-700:#33503c;
  /* Utility (rarely used; kept for compatibility, all muted) */
  --amber-50:#f5f0e3;--amber-500:#a3843c;--red-50:#f4ecea;--red-500:#9c4a3c;
  --purple-50:#eef1f6;--purple-500:#3d5578;
  /* Shadows — one quiet register */
  --shadow-xs:0 1px 2px rgba(26,26,23,.05);
  --shadow-sm:0 1px 3px rgba(26,26,23,.06),0 1px 2px rgba(26,26,23,.04);
  --shadow-md:0 4px 12px rgba(26,26,23,.07);
  --shadow-lg:0 8px 24px rgba(26,26,23,.09);
  --shadow-xl:0 12px 32px rgba(26,26,23,.10);
  --shadow-blue:0 2px 8px rgba(18,32,58,.18);
  /* Radius — documents have corners */
  --radius:4px;--radius-lg:6px;--radius-xl:8px;--radius-full:9999px;
  /* Type */
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --font-display:'Source Serif 4',Georgia,'Times New Roman',serif;
  --font-mono:'IBM Plex Mono','SF Mono',Consolas,monospace;
  /* Transitions */
  --ease:cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font-body);
  color:var(--gray-700);background:var(--paper);
  line-height:1.6;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block}
svg.lucide{width:24px;height:24px;stroke-width:1.5px}
a{color:var(--navy-700);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--brass-600)}
:focus-visible{outline:2px solid var(--navy-700);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
}

/* ── Typography ── */
h1,h2,h3,h4,h5{font-weight:700;line-height:1.2;color:var(--navy-900)}
h1,h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}
.section-label{
  font-family:var(--font-mono);font-size:.72rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--brass-600);margin-bottom:14px;
  display:inline-flex;align-items:center;gap:10px;
}
.section-label::before{content:'';width:24px;height:1px;background:var(--brass-500)}
.section-title{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:16px}
.section-subtitle{font-size:1.02rem;color:var(--gray-500);max-width:640px;line-height:1.75}
.accent-text{color:var(--brass-600)}
.accent-serif{font-family:var(--font-display);font-style:italic;font-weight:600;color:var(--brass-600)}

/* ── Layout ── */
.container{max-width:1120px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:800px;margin:0 auto;padding:0 24px}
.text-center{text-align:center}
.mx-auto{margin-left:auto;margin-right:auto}
section{padding:96px 0}
section:nth-child(even of :not(.hero,.cta-section,.pricing-section)){background:var(--paper-2)}

/* ═══════════════════════════════════════════════════════════
   BUTTONS — solid, square-shouldered, no theatrics
   ═══════════════════════════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:600;font-size:.92rem;border-radius:var(--radius);
  padding:14px 28px;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
  border:1px solid transparent;text-decoration:none;font-family:inherit;line-height:1;
}
.btn-primary{background:var(--navy-900);color:var(--white);border-color:var(--navy-900)}
.btn-primary:hover{background:var(--navy-700);border-color:var(--navy-700);color:var(--white)}
.btn-ghost{background:transparent;border-color:var(--gray-300);color:var(--gray-700)}
.btn-ghost:hover{border-color:var(--navy-800);color:var(--navy-900);background:var(--white)}
.btn-outline-blue{background:transparent;border-color:var(--navy-700);color:var(--navy-700)}
.btn-outline-blue:hover{background:var(--navy-900);border-color:var(--navy-900);color:var(--white)}
.btn-white{background:var(--white);color:var(--navy-900);border-color:var(--white)}
.btn-white:hover{background:var(--paper);color:var(--navy-900)}
.btn-green{background:var(--green-600);color:var(--white);border-color:var(--green-600)}
.btn-green:hover{background:var(--green-700);border-color:var(--green-700);color:var(--white)}
.btn-xl{padding:16px 36px;font-size:1rem;border-radius:var(--radius)}
.btn-lg{padding:14px 28px;font-size:.95rem}
.btn-full{width:100%;justify-content:center}
.btn-arrow{display:none}

/* ═══════════════════════════════════════════════════════════
   NAVIGATION
   ═══════════════════════════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(251,250,247,.92);
  border-bottom:1px solid transparent;transition:border-color .3s var(--ease),background .3s var(--ease);
}
@supports(backdrop-filter:blur(8px)){
  .nav{background:rgba(251,250,247,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
}
.nav-scrolled{background:rgba(251,250,247,.97);border-bottom-color:var(--gray-200)}
.nav-inner{
  max-width:1120px;margin:0 auto;padding:16px 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{
  width:34px;height:34px;border-radius:var(--radius);
  background:var(--navy-900);border:1px solid var(--navy-900);
  color:var(--brass-200);font-family:var(--font-mono);font-weight:600;font-size:.78rem;letter-spacing:.02em;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.logo-text{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--navy-900)}
.logo-accent{color:var(--brass-600)}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{
  color:var(--gray-600);font-size:.875rem;font-weight:500;
  transition:color .2s var(--ease);text-decoration:none;position:relative;
}
.nav-links a:hover,.nav-links a.active{color:var(--navy-900)}
.nav-links a.active::after{
  content:'';position:absolute;bottom:-6px;left:0;right:0;
  height:2px;background:var(--brass-500);
}
.nav-cta-link{display:none}
.nav-cta{
  padding:10px 22px;border-radius:var(--radius);border:1px solid var(--navy-900);
  background:var(--navy-900);color:var(--white);font-weight:600;font-size:.85rem;
  cursor:pointer;transition:background-color .2s var(--ease);font-family:inherit;text-decoration:none;
  display:inline-flex;align-items:center;
}
.nav-cta:hover{background:var(--navy-700);border-color:var(--navy-700);color:var(--white)}
.nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.nav-mobile-toggle span{width:22px;height:2px;background:var(--navy-900);transition:.3s var(--ease);display:block}
.nav-mobile-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-mobile-toggle.active span:nth-child(2){opacity:0}
.nav-mobile-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ── Mobile Menu ── */
.mobile-menu{
  display:none;flex-direction:column;gap:8px;
  position:fixed;top:64px;left:0;right:0;
  background:var(--paper);padding:24px;
  border-bottom:1px solid var(--gray-200);
  box-shadow:var(--shadow-lg);z-index:99;
}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--gray-700);font-size:1rem;padding:10px 0;font-weight:500;text-decoration:none}
.mobile-menu a:hover{color:var(--navy-900)}

/* ═══════════════════════════════════════════════════════════
   HERO — flat paper, ruled document band
   ═══════════════════════════════════════════════════════════ */
.hero{
  padding:170px 0 96px;
  background:var(--paper);
  border-bottom:1px solid var(--gray-200);
  position:relative;overflow:hidden;
}
.hero-content{text-align:center;position:relative;z-index:1}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:.72rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--gray-600);margin-bottom:28px;
  padding:0 0 10px;border-bottom:1px solid var(--brass-500);
}
.eyebrow-dot{width:6px;height:6px;background:var(--brass-500);border-radius:0}
.hero-title{
  font-family:var(--font-display);
  font-size:clamp(2.4rem,5vw,3.6rem);font-weight:600;
  color:var(--navy-900);margin-bottom:24px;line-height:1.12;
  max-width:840px;margin-left:auto;margin-right:auto;
  letter-spacing:-.015em;
}
.hero-title-accent{color:var(--brass-600);font-style:italic}
.hero-subtitle{
  font-size:1.1rem;color:var(--gray-500);
  max-width:620px;margin:0 auto 40px;line-height:1.8;
}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:64px}

/* ── Hero Stats — a ruled figures band, not a glass panel ── */
.hero-stats{
  display:inline-flex;gap:0;flex-wrap:wrap;justify-content:center;
  background:var(--white);
  border:1px solid var(--gray-200);border-top:2px solid var(--navy-900);
  border-radius:var(--radius);padding:26px 32px;
  box-shadow:var(--shadow-sm);
}
.hero-stat{text-align:center;padding:0 32px}
.stat-number{
  font-family:var(--font-mono);font-size:1.9rem;font-weight:600;
  display:block;color:var(--navy-900);line-height:1.25;letter-spacing:-.02em;
}
.stat-label{
  font-size:.7rem;color:var(--gray-500);text-transform:uppercase;
  letter-spacing:.1em;font-weight:600;
}
.stat-divider{width:1px;background:var(--gray-200);align-self:stretch;margin:2px 0}

/* ═══════════════════════════════════════════════════════════
   SECTION COMPONENTS (Shared)
   ═══════════════════════════════════════════════════════════ */
.section-header{text-align:center;margin-bottom:56px}
.section-header .section-subtitle{margin:0 auto}
.section-header .section-label{justify-content:center}
.section-header .section-label::after{content:'';width:24px;height:1px;background:var(--brass-500)}

/* ── Problem Cards ── */
.problem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px}
.problem-card{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:32px;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.problem-card:hover{border-color:var(--navy-800);box-shadow:var(--shadow-sm)}
.problem-icon{
  width:44px;height:44px;border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;background:var(--paper-2);
  border:1px solid var(--gray-200);color:var(--navy-800);
}
.problem-card h3{font-size:1.08rem;margin-bottom:8px;color:var(--navy-900)}
.problem-card p{font-size:.9rem;color:var(--gray-500);line-height:1.7}

/* ── Method / Process Steps ── */
.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.method-card{text-align:center;padding:32px 24px;position:relative}
.method-num{
  width:52px;height:52px;border-radius:50%;
  background:var(--white);border:1.5px solid var(--navy-900);color:var(--navy-900);
  font-family:var(--font-mono);font-size:1.1rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
}
.method-card h3{font-size:1.12rem;margin-bottom:10px}
.method-card p{font-size:.9rem;color:var(--gray-500);line-height:1.7}

/* ── Deliverables Grid ── */
.deliverables-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px}
.deliverable-card{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:32px;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);position:relative;
}
.deliverable-card::before{display:none}
.deliverable-card:hover{border-color:var(--navy-800);box-shadow:var(--shadow-sm)}
.deliverable-icon{
  width:44px;height:44px;border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;
  background:var(--paper-2);border:1px solid var(--gray-200);color:var(--navy-800);
}
.icon-blue,.icon-green,.icon-amber,.icon-purple{background:var(--paper-2)}
.deliverable-card h3{font-size:1.08rem;margin-bottom:8px}
.deliverable-card p{font-size:.9rem;color:var(--gray-500);line-height:1.7;margin-bottom:16px}
.deliverable-list{list-style:none;display:flex;flex-direction:column;gap:6px}
.deliverable-list li{font-size:.85rem;color:var(--gray-600);padding-left:22px;position:relative;line-height:1.6}
.deliverable-list li::before{content:'✓';position:absolute;left:0;color:var(--green-600);font-weight:700}

/* ═══════════════════════════════════════════════════════════
   PRICING — flat schedule of fees
   ═══════════════════════════════════════════════════════════ */
.pricing-section{padding:96px 0;background:var(--paper-2)}
.pricing-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-top:48px;align-items:stretch;
}
.pricing-card{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:36px;
  text-align:center;position:relative;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.pricing-card:hover{border-color:var(--gray-400);box-shadow:var(--shadow-sm)}
.pricing-card::before{display:none}
.pricing-card.featured{
  border:2px solid var(--navy-900);
  box-shadow:var(--shadow-md);padding:40px 36px;
}
.pricing-card.featured:hover{border-color:var(--navy-900);box-shadow:var(--shadow-lg)}
.pricing-badge{
  display:inline-block;font-family:var(--font-mono);font-size:.65rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--brass-700);background:var(--brass-100);
  padding:5px 14px;border-radius:var(--radius);margin-bottom:16px;
  border:1px solid var(--brass-200);
}
.pricing-badge-green{color:var(--green-700);background:var(--green-50);border-color:var(--green-100)}
.pricing-title{font-size:1.15rem;font-weight:700;margin-bottom:4px;color:var(--navy-900)}
.pricing-amount{
  font-family:var(--font-mono);
  font-size:2.5rem;font-weight:600;color:var(--navy-900);
  margin:12px 0 4px;line-height:1;letter-spacing:-.03em;
}
.pricing-card.featured .pricing-amount{font-size:2.9rem}
.pricing-amount span{font-size:1.15rem;font-weight:500;color:var(--gray-500);vertical-align:super}
.pricing-subtitle{font-size:.9rem;color:var(--gray-500);margin-bottom:24px}
.pricing-save{
  display:inline-block;font-size:.72rem;font-weight:700;
  color:var(--green-700);background:var(--green-50);
  padding:4px 12px;border-radius:var(--radius);margin-bottom:12px;
  border:1px solid var(--green-100);
}
.pricing-includes{
  text-align:left;list-style:none;display:flex;flex-direction:column;gap:10px;
  margin-bottom:28px;padding:20px;background:var(--paper);
  border:1px solid var(--gray-100);border-radius:var(--radius);
}
.pricing-includes li{
  font-size:.87rem;color:var(--gray-700);padding-left:24px;position:relative;line-height:1.5;
}
.pricing-includes li::before{
  content:'✓';position:absolute;left:0;
  color:var(--green-600);font-weight:700;font-size:.9rem;
}
.pricing-includes li.excluded{color:var(--gray-400)}
.pricing-includes li.excluded::before{content:'—';color:var(--gray-300);font-weight:400}
.pricing-note{font-size:.8rem;color:var(--gray-400);margin-top:12px}
/* Add-ons row below grid */
.pricing-addons{max-width:720px;margin:40px auto 0;text-align:center}
.pricing-addons-title{
  font-family:var(--font-mono);font-size:.72rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.14em;color:var(--gray-500);margin-bottom:16px;
}
.addons-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.addon-chip{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.82rem;font-weight:500;color:var(--gray-600);
  background:var(--white);border:1px solid var(--gray-200);
  padding:8px 16px;border-radius:var(--radius);
}
.addon-chip strong{color:var(--navy-900);font-weight:700;font-family:var(--font-mono);font-size:.8rem}
.addons-note{font-size:.78rem;color:var(--gray-500);line-height:1.6;margin-top:14px}
/* New-pricing effective-date banner */
.price-effective{
  display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;
  max-width:720px;margin:24px auto 0;padding:11px 18px;
  background:var(--brass-100);border:1px solid var(--brass-200);border-radius:var(--radius);
  font-size:.84rem;color:var(--navy-900);text-align:center;line-height:1.55;
}
.price-effective strong{font-weight:700}
.price-effective svg{flex-shrink:0;color:var(--brass-700)}

/* ═══════════════════════════════════════════════════════════
   SAMPLE WORK / PORTFOLIO
   ═══════════════════════════════════════════════════════════ */
.samples-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}
.sample-card{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:36px;
  text-align:center;transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.sample-card:hover{border-color:var(--navy-800);box-shadow:var(--shadow-sm)}
.sample-icon{
  width:48px;height:48px;border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;background:var(--paper-2);
  border:1px solid var(--gray-200);color:var(--navy-800);
}
.sample-card h3{font-size:1.15rem;margin-bottom:8px}
.sample-card p{font-size:.9rem;color:var(--gray-500);line-height:1.7;margin-bottom:20px}
.sample-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}
.sample-tag{
  font-family:var(--font-mono);font-size:.68rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;
  padding:4px 12px;border-radius:var(--radius);
  background:var(--paper-2);color:var(--navy-800);border:1px solid var(--gray-200);
}
.sample-dl{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;border-radius:var(--radius);
  background:var(--navy-900);color:var(--white);border:1px solid var(--navy-900);
  font-weight:600;font-size:.9rem;
  text-decoration:none;transition:background-color .2s var(--ease);
}
.sample-dl:hover{background:var(--navy-700);border-color:var(--navy-700);color:var(--white)}
.sample-note{font-size:.75rem;color:var(--gray-400);margin-top:10px}

/* ═══════════════════════════════════════════════════════════
   WHY US
   ═══════════════════════════════════════════════════════════ */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
.why-card{text-align:center;padding:28px 24px}
.why-icon{
  width:52px;height:52px;border-radius:50%;
  background:var(--white);border:1px solid var(--gray-300);color:var(--navy-800);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;transition:border-color .25s var(--ease),color .25s var(--ease);
}
.why-card:hover .why-icon{border-color:var(--brass-500);color:var(--brass-600)}
.why-card h3{font-size:1.02rem;margin-bottom:8px}
.why-card p{font-size:.88rem;color:var(--gray-500);line-height:1.7}

/* ═══════════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════════ */
.faq-list{max-width:720px;margin:48px auto 0;display:flex;flex-direction:column;gap:10px}
.faq-item{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);overflow:hidden;transition:border-color .25s var(--ease);
}
.faq-item.open{border-color:var(--navy-800)}
.faq-question{
  padding:20px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-weight:600;font-size:.98rem;color:var(--navy-900);
  background:none;border:none;width:100%;text-align:left;font-family:inherit;
  transition:color .2s;
}
.faq-question:hover{color:var(--brass-600)}
.faq-toggle{
  font-family:var(--font-mono);font-size:1.1rem;color:var(--gray-400);
  transition:transform .3s var(--ease);flex-shrink:0;
}
.faq-item.open .faq-toggle{transform:rotate(45deg);color:var(--brass-600)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s var(--ease),padding .35s var(--ease)}
.faq-item.open .faq-answer{max-height:500px}
.faq-answer-inner{padding:0 24px 20px;font-size:.9rem;color:var(--gray-500);line-height:1.8}

/* ═══════════════════════════════════════════════════════════
   CTA BANNER — solid ink, brass rule
   ═══════════════════════════════════════════════════════════ */
.cta-section{
  padding:100px 0;
  background:var(--navy-900);
  border-top:3px solid var(--brass-500);
  position:relative;
}
.cta-section::before{display:none}
.cta-card{text-align:center;max-width:640px;margin:0 auto;position:relative;z-index:1}
.cta-badge{
  font-family:var(--font-mono);font-size:.72rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--brass-200);margin-bottom:14px;
}
.cta-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.75rem,3vw,2.4rem);color:var(--white);margin-bottom:16px}
.cta-subtitle{font-size:1rem;color:var(--blue-200);margin-bottom:36px;line-height:1.8}
.cta-note{font-size:.8rem;color:var(--blue-300);margin-top:16px}

/* ═══════════════════════════════════════════════════════════
   SERVICES PAGE
   ═══════════════════════════════════════════════════════════ */
.services-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px}
.service-detail{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:40px;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
  display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;
}
.service-detail:hover{border-color:var(--navy-800);box-shadow:var(--shadow-sm)}
.service-detail-icon{
  width:56px;height:56px;border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:var(--paper-2);border:1px solid var(--gray-200);color:var(--navy-800);
}
.service-detail h3{font-size:1.25rem;margin-bottom:8px}
.service-detail>div>p{font-size:.95rem;color:var(--gray-500);line-height:1.7;margin-bottom:16px}
.service-features{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;list-style:none}
.service-features li{font-size:.88rem;color:var(--gray-600);padding-left:22px;position:relative;line-height:1.6}
.service-features li::before{content:'✓';position:absolute;left:0;color:var(--green-600);font-weight:700}

/* ═══════════════════════════════════════════════════════════
   ABOUT PAGE
   ═══════════════════════════════════════════════════════════ */
.about-hero{padding:170px 0 80px;background:var(--paper);border-bottom:1px solid var(--gray-200)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:48px}
.about-content h3{font-family:var(--font-display);font-weight:600;font-size:1.3rem;margin-bottom:12px;color:var(--navy-900)}
.about-content p{font-size:1rem;color:var(--gray-500);line-height:1.8;margin-bottom:16px}
.expertise-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:48px}
.expertise-card{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:24px;text-align:center;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.expertise-card:hover{border-color:var(--navy-800);box-shadow:var(--shadow-xs)}
.expertise-card .expertise-icon{
  width:40px;height:40px;border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;background:var(--paper-2);
  border:1px solid var(--gray-200);color:var(--navy-800);
}
.expertise-card h4{font-size:.95rem;margin-bottom:4px;color:var(--navy-900)}
.expertise-card p{font-size:.8rem;color:var(--gray-500)}

/* ═══════════════════════════════════════════════════════════
   RESOURCES PAGE
   ═══════════════════════════════════════════════════════════ */
.resource-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.resource-card{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:28px;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.resource-card:hover{border-color:var(--navy-800);box-shadow:var(--shadow-sm)}
.resource-card .resource-icon{
  width:44px;height:44px;border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;background:var(--paper-2);
  border:1px solid var(--gray-200);color:var(--navy-800);
}
.resource-card h3{font-size:1.08rem;margin-bottom:8px}
.resource-card p{font-size:.88rem;color:var(--gray-500);line-height:1.7;margin-bottom:16px}

/* ── Guide Content ── */
.guide-content{max-width:800px;margin:0 auto}
.guide-content h3{font-family:var(--font-display);font-weight:600;font-size:1.25rem;margin:32px 0 12px;color:var(--navy-900)}
.guide-content p{font-size:.95rem;color:var(--gray-600);line-height:1.8;margin-bottom:16px}
.guide-content ul,.guide-content ol{margin:0 0 16px 24px;font-size:.95rem;color:var(--gray-600);line-height:1.8}

/* ═══════════════════════════════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px}
.contact-form-wrap{
  background:var(--white);border:1px solid var(--gray-200);
  border-top:2px solid var(--navy-900);
  border-radius:var(--radius-lg);padding:40px;
}
.contact-form{display:flex;flex-direction:column;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{
  font-family:var(--font-mono);font-size:.7rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;color:var(--gray-600);
}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:12px 16px;border-radius:var(--radius);
  border:1px solid var(--gray-300);background:var(--white);
  font-size:.9rem;font-family:inherit;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);color:var(--gray-800);
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--navy-800);box-shadow:0 0 0 3px var(--blue-100);
}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-400)}
.form-note{font-size:.75rem;color:var(--gray-400);text-align:center}
.form-success{text-align:center;padding:32px}
.success-icon{
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;background:var(--green-50);
  border:1px solid var(--green-100);color:var(--green-600);
}
.success-icon svg.lucide{width:28px;height:28px}

/* ── Contact Info Sidebar ── */
.contact-info{display:flex;flex-direction:column;gap:24px}
.contact-info-card{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:28px;
}
.contact-info-card h3{font-size:1.05rem;margin-bottom:12px;display:flex;align-items:center;gap:8px;color:var(--navy-900)}
.contact-info-card p{font-size:.9rem;color:var(--gray-500);line-height:1.7}
.expect-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:16px}
.expect-list li{font-size:.9rem;color:var(--gray-600);padding-left:30px;position:relative;line-height:1.5}
.expect-list li::before{
  content:attr(data-step);position:absolute;left:0;top:0;
  font-family:var(--font-mono);font-weight:600;color:var(--navy-800);font-size:.8rem;
  width:20px;height:20px;border:1px solid var(--gray-300);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}

/* ═══════════════════════════════════════════════════════════
   TRUST BADGES
   ═══════════════════════════════════════════════════════════ */
.trust-bar{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;padding:20px 0;margin-top:16px}
.trust-badge{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--gray-500)}
.trust-badge-icon{font-size:1rem;color:var(--brass-600)}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */
.footer{background:var(--navy-900);padding:56px 0 24px;color:var(--blue-300);border-top:3px solid var(--brass-500)}
.footer-inner{
  max-width:1120px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1.2fr 2fr;gap:48px;
}
.footer-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.footer-logo .logo-mark{background:transparent;border:1px solid var(--blue-400);color:var(--brass-200)}
.footer-logo .logo-text{color:var(--paper)}
.footer-logo .logo-accent{color:var(--brass-200)}
.footer-tagline{font-size:.85rem;color:var(--blue-300);margin-top:4px}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.footer-col h4{
  font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--blue-300);margin-bottom:14px;font-weight:600;
}
.footer-col a{display:block;font-size:.85rem;color:var(--blue-200);padding:4px 0;transition:color .2s var(--ease);text-decoration:none}
.footer-col a:hover{color:var(--brass-200)}
.footer-bottom{
  max-width:1120px;margin:36px auto 0;padding:20px 24px 0;
  border-top:1px solid var(--navy-700);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;
}
.footer-bottom p{font-size:.75rem;color:var(--blue-300)}
.footer-disclaimer{font-size:.7rem !important;color:var(--blue-400) !important;font-style:italic}

/* ═══════════════════════════════════════════════════════════
   UTILITY CLASSES
   ═══════════════════════════════════════════════════════════ */
.hidden{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ═══════════════════════════════════════════════════════════
   ANIMATIONS — one quiet entrance, nothing ambient
   ═══════════════════════════════════════════════════════════ */
.animate-on-scroll{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.animate-on-scroll.visible{opacity:1;transform:translateY(0)}
.animate-on-scroll:nth-child(2){transition-delay:.08s}
.animate-on-scroll:nth-child(3){transition-delay:.16s}
.animate-on-scroll:nth-child(4){transition-delay:.24s}

/* ═══════════════════════════════════════════════════════════
   PAGE HERO (Interior pages)
   ═══════════════════════════════════════════════════════════ */
.page-hero{
  padding:150px 0 64px;
  background:var(--paper);
  border-bottom:1px solid var(--gray-200);
  text-align:center;
}
.page-hero .section-label{margin-bottom:16px;justify-content:center}
.page-hero .section-label::after{content:'';width:24px;height:1px;background:var(--brass-500)}
.page-hero h1{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4vw,2.9rem);margin-bottom:16px;letter-spacing:-.015em}
.page-hero p{font-size:1.08rem;color:var(--gray-500);max-width:600px;margin:0 auto;line-height:1.8}

/* ═══════════════════════════════════════════════════════════
   NAV — direct contact (phone)
   ═══════════════════════════════════════════════════════════ */
.nav-actions{display:flex;align-items:center;gap:18px}
.nav-phone{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-mono);font-size:.82rem;font-weight:600;
  color:var(--navy-900);text-decoration:none;white-space:nowrap;
}
.nav-phone:hover{color:var(--brass-600)}
.nav-phone svg{width:15px;height:15px;stroke-width:2px}
.mobile-menu .mobile-contact{
  margin-top:8px;padding-top:16px;border-top:1px solid var(--gray-200);
  display:flex;flex-direction:column;gap:10px;
}
.mobile-menu .mobile-contact a{
  font-family:var(--font-mono);font-size:.9rem;font-weight:600;color:var(--navy-900);
}

/* ═══════════════════════════════════════════════════════════
   PRICE MATRIX — one table, no contradictions
   ═══════════════════════════════════════════════════════════ */
.matrix-wrap{margin-top:48px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.price-matrix{
  width:100%;min-width:600px;border-collapse:separate;border-spacing:0;
  background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);
  overflow:hidden;
}
.price-matrix th,.price-matrix td{padding:20px 22px;text-align:left;vertical-align:top}
.price-matrix thead th{
  background:var(--navy-900);color:var(--paper);
  font-family:var(--font-mono);font-size:.68rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;
}
.price-matrix thead th.col-price{text-align:center;width:23%}
.price-matrix thead th .col-sub{
  display:block;margin-top:5px;font-size:.65rem;font-weight:400;
  letter-spacing:.04em;text-transform:none;color:var(--blue-200);
}
.price-matrix tbody tr{border-top:1px solid var(--gray-100)}
.price-matrix tbody tr+tr td{border-top:1px solid var(--gray-100)}
.price-matrix tbody tr.row-featured td{background:var(--brass-100)}
.matrix-service{font-weight:700;color:var(--navy-900);font-size:.98rem;display:block;margin-bottom:4px}
.matrix-detail{font-size:.82rem;color:var(--gray-500);line-height:1.55}
.matrix-price{text-align:center}
.matrix-price .amt{
  font-family:var(--font-mono);font-size:1.6rem;font-weight:600;
  color:var(--navy-900);letter-spacing:-.02em;display:block;line-height:1.2;
}
.matrix-price .amt-note{display:block;font-size:.72rem;color:var(--gray-500);margin-top:5px}
.matrix-price .amt-save{
  display:inline-block;font-size:.68rem;font-weight:700;color:var(--green-700);
  background:var(--green-50);border:1px solid var(--green-100);
  padding:2px 9px;border-radius:var(--radius);margin-top:7px;
}
.matrix-tag{
  display:inline-block;font-family:var(--font-mono);font-size:.6rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;color:var(--brass-700);
  background:var(--brass-100);border:1px solid var(--brass-200);
  padding:3px 9px;border-radius:var(--radius);margin-bottom:8px;
}
.matrix-scroll-hint{
  display:none;font-size:.75rem;color:var(--gray-400);text-align:center;margin-top:10px;font-style:italic;
}

/* Policy cards — revisions, refunds, what we don't do */
.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}
.policy-card{
  background:var(--white);border:1px solid var(--gray-200);
  border-left:3px solid var(--brass-500);
  border-radius:var(--radius);padding:26px 28px;
}
.policy-card h4{
  font-family:var(--font-display);font-size:1.05rem;font-weight:600;
  color:var(--navy-900);margin-bottom:10px;
}
.policy-card p{font-size:.88rem;color:var(--gray-600);line-height:1.7}
.policy-card p+p{margin-top:10px}
.policy-card strong{color:var(--navy-900);font-weight:600}
.policy-card.policy-warn{border-left-color:var(--gray-400)}

/* ═══════════════════════════════════════════════════════════
   TRUST — founder, credentials, contact facts
   ═══════════════════════════════════════════════════════════ */
.trust-strip{
  display:flex;justify-content:center;flex-wrap:wrap;gap:0;
  max-width:900px;margin:40px auto 0;
  background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);
  padding:22px 16px;
}
.trust-item{
  display:flex;align-items:center;gap:10px;padding:8px 24px;
  font-size:.85rem;color:var(--gray-600);
}
.trust-item svg{width:17px;height:17px;stroke-width:1.75px;color:var(--brass-600);flex-shrink:0}
.trust-item strong{color:var(--navy-900);font-weight:600}

.founder-card{
  display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:36px;
}
.founder-portrait{
  width:112px;height:112px;border-radius:var(--radius-lg);
  background:var(--navy-900);color:var(--brass-200);
  font-family:var(--font-mono);font-size:2rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  border:1px solid var(--navy-900);object-fit:cover;
}
.founder-name{font-family:var(--font-display);font-size:1.45rem;font-weight:700;color:var(--navy-900);margin-bottom:2px}
.founder-role{
  font-family:var(--font-mono);font-size:.72rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.12em;color:var(--brass-700);margin-bottom:16px;
}
.founder-card p{font-size:.92rem;color:var(--gray-600);line-height:1.8}
.founder-card p+p{margin-top:12px}
.founder-contact{
  display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:20px;
  padding-top:18px;border-top:1px solid var(--gray-100);
}
.founder-contact a,.founder-contact span{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.87rem;font-weight:500;color:var(--gray-700);text-decoration:none;
}
.founder-contact a:hover{color:var(--brass-600)}
.founder-contact svg{width:15px;height:15px;stroke-width:1.75px;color:var(--gray-400)}

/* Contact page — direct contact block */
.contact-direct{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.contact-direct-item{display:flex;align-items:flex-start;gap:12px}
.contact-direct-item svg{width:17px;height:17px;stroke-width:1.75px;color:var(--brass-600);margin-top:3px;flex-shrink:0}
.contact-direct-label{
  display:block;font-family:var(--font-mono);font-size:.62rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;color:var(--gray-400);margin-bottom:2px;
}
.contact-direct-value{font-size:.93rem;font-weight:600;color:var(--navy-900);text-decoration:none;word-break:break-word}
a.contact-direct-value:hover{color:var(--brass-600)}

/* Footer contact column */
.footer-contact{display:flex;flex-direction:column;gap:8px}
.footer-contact a,.footer-contact span{
  display:flex;align-items:center;gap:9px;font-size:.85rem;color:var(--blue-200);padding:2px 0;text-decoration:none;
}
.footer-contact a:hover{color:var(--brass-200)}
.footer-contact svg{width:14px;height:14px;stroke-width:1.75px;color:var(--blue-400);flex-shrink:0}
.footer-legal-links{display:flex;gap:16px;flex-wrap:wrap}
.footer-legal-links a{font-size:.72rem;color:var(--blue-300);text-decoration:none}
.footer-legal-links a:hover{color:var(--brass-200)}

/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS
   ═══════════════════════════════════════════════════════════ */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.testimonial-card{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:32px 30px;
  display:flex;flex-direction:column;
}
.testimonial-mark{
  font-family:var(--font-display);font-size:2.6rem;line-height:1;
  color:var(--brass-500);margin-bottom:10px;
}
.testimonial-card blockquote{
  font-size:.95rem;color:var(--gray-700);line-height:1.8;flex:1;margin:0;
}
.testimonial-attrib{
  margin-top:22px;padding-top:18px;border-top:1px solid var(--gray-100);
}
.testimonial-name{font-weight:700;color:var(--navy-900);font-size:.9rem}
.testimonial-meta{
  font-family:var(--font-mono);font-size:.68rem;color:var(--gray-500);
  letter-spacing:.06em;margin-top:3px;
}

/* Featured reviews — sourced from Google, verifiable by link */
.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:48px auto 20px;max-width:960px}
.review-featured{
  background:var(--white);border:1px solid var(--gray-200);
  border-left:3px solid var(--brass-500);
  border-radius:var(--radius-lg);padding:32px 34px;
  display:flex;flex-direction:column;
}
.review-author{
  margin-top:20px;padding-top:16px;border-top:1px solid var(--gray-100);
}
.review-author-name{font-weight:700;color:var(--navy-900);font-size:.92rem}
.review-author-meta{
  font-family:var(--font-mono);font-size:.66rem;color:var(--gray-500);
  letter-spacing:.08em;margin-top:3px;text-transform:uppercase;
}
.review-stars{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.review-stars .stars{display:inline-flex;gap:2px;color:var(--brass-500)}
.review-stars .stars svg{width:17px;height:17px;fill:currentColor;stroke:none}
.review-source{
  font-family:var(--font-mono);font-size:.65rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;color:var(--gray-500);
}
.review-featured blockquote{
  font-family:var(--font-display);font-size:1.06rem;line-height:1.7;
  color:var(--navy-900);margin:0;font-weight:600;flex:1;
}
.review-verify{
  display:inline-flex;align-items:center;gap:7px;margin-top:18px;
  font-size:.83rem;font-weight:600;color:var(--navy-700);text-decoration:none;
}
.review-verify:hover{color:var(--brass-600)}
.review-verify svg{width:14px;height:14px;stroke-width:2px}

/* Booking card — the calendar path, shown above the contact form */
.booking-card{
  background:var(--navy-900);color:var(--paper);
  border-radius:var(--radius-lg);border-left:3px solid var(--brass-500);
  padding:30px 32px;margin-bottom:28px;
}
.booking-card .section-label{color:var(--brass-200);margin-bottom:10px}
.booking-card .section-label::before{background:var(--brass-200)}
.booking-card h3{
  font-family:var(--font-display);font-size:1.35rem;font-weight:600;
  color:var(--paper);margin-bottom:8px;
}
.booking-card p{font-size:.92rem;color:var(--blue-200);line-height:1.7;margin-bottom:20px}
.booking-meta{
  display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:22px;
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--blue-300);
}
.booking-meta span{display:inline-flex;align-items:center;gap:7px}
.booking-meta svg{width:14px;height:14px;stroke-width:2px;color:var(--brass-200)}
.booking-or{
  display:flex;align-items:center;gap:14px;margin:28px 0 24px;
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gray-400);
}
.booking-or::before,.booking-or::after{content:'';flex:1;height:1px;background:var(--gray-200)}

/* Toast — shown when a tel: click finds no calling app (desktop only) */
.pr-toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,16px);
  z-index:2000;max-width:min(460px,calc(100vw - 32px));
  background:var(--navy-900);color:var(--paper);
  border:1px solid var(--navy-700);border-left:3px solid var(--brass-500);
  border-radius:var(--radius);padding:16px 20px;
  box-shadow:var(--shadow-lg);
  font-size:.9rem;line-height:1.6;
  opacity:0;pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease);
}
.pr-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.pr-toast strong{color:var(--brass-200);font-family:var(--font-mono);font-size:.95rem;letter-spacing:.02em}
.pr-toast .pr-toast-close{
  position:absolute;top:6px;right:10px;background:none;border:none;
  color:var(--blue-300);font-size:1.1rem;line-height:1;cursor:pointer;padding:4px;
}
.pr-toast .pr-toast-close:hover{color:var(--paper)}
@media(prefers-reduced-motion:reduce){.pr-toast{transition:none}}

/* Contact form — delivery failure fallback */
.form-fallback{
  margin-top:16px;padding:16px 18px;
  background:var(--brass-100);border:1px solid var(--brass-200);
  border-left:3px solid var(--brass-500);border-radius:var(--radius);
  font-size:.88rem;color:var(--gray-700);line-height:1.7;
}
.form-fallback strong{color:var(--navy-900)}
.form-fallback a{font-weight:600;color:var(--navy-700)}
.form-fallback a:hover{color:var(--brass-600)}

/* Founder portrait — real photo, with initials as fallback */
img.founder-portrait{object-fit:cover;object-position:center top;background:var(--gray-100)}

/* ═══════════════════════════════════════════════════════════
   LEGAL PAGES (privacy, terms)
   ═══════════════════════════════════════════════════════════ */
.legal-content{max-width:760px;margin:0 auto}
.legal-content h2{
  font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--navy-900);
  margin:40px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--gray-200);
}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-size:1rem;font-weight:700;color:var(--navy-900);margin:24px 0 8px}
.legal-content p{font-size:.93rem;color:var(--gray-600);line-height:1.85;margin-bottom:14px}
.legal-content ul{margin:0 0 16px 22px;display:flex;flex-direction:column;gap:8px}
.legal-content li{font-size:.93rem;color:var(--gray-600);line-height:1.75}
.legal-content strong{color:var(--navy-900);font-weight:600}
.legal-updated{
  font-family:var(--font-mono);font-size:.75rem;color:var(--gray-400);
  padding:12px 16px;background:var(--gray-50);border:1px solid var(--gray-100);
  border-radius:var(--radius);margin-bottom:32px;
}

/* Regulatory citation note — used in resources */
.cite-note{
  background:var(--gray-50);border:1px solid var(--gray-200);border-left:3px solid var(--navy-700);
  border-radius:var(--radius);padding:18px 22px;margin:28px 0;
}
.cite-note p{font-size:.85rem;color:var(--gray-600);line-height:1.7;margin:0}
.cite-note strong{color:var(--navy-900)}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .policy-grid{grid-template-columns:1fr}
}
/* Header phone fits down to ~820px. Below 800px the nav row can't hold logo +
   links + phone + CTA without overflowing, so the phone drops out; at 640px the
   hamburger takes over and carries it in .mobile-contact. In the 641-800px band
   the number is still reachable from the footer and the contact page. */
@media(max-width:800px){
  .nav-phone{display:none}
}
@media(max-width:900px){
  .founder-card{grid-template-columns:1fr;gap:20px;text-align:center;justify-items:center}
  .founder-portrait{margin:0 auto}
  .founder-contact{justify-content:center}
  .trust-item{padding:8px 16px}
}
/* Price matrix collapses to stacked cards — no sideways scrolling on a phone */
@media(max-width:760px){
  .matrix-wrap{overflow-x:visible;margin-top:32px}
  .price-matrix{min-width:0;border:0;background:none;border-radius:0}
  .price-matrix thead{display:none}
  .price-matrix tbody,.price-matrix tr,.price-matrix td{display:block;width:100%}
  .price-matrix tbody tr,.price-matrix tbody tr+tr{
    background:var(--white);border:1px solid var(--gray-200);
    border-radius:var(--radius-lg);margin-bottom:16px;padding:22px 20px;
  }
  .price-matrix tbody tr.row-featured,
  .price-matrix tbody tr.row-featured td{background:var(--brass-100)}
  .price-matrix tbody tr.row-featured{border-color:var(--brass-200)}
  .price-matrix td,.price-matrix tbody tr+tr td{padding:0;border:0;border-top:0}
  .price-matrix td.matrix-price{
    display:flex;align-items:baseline;justify-content:space-between;gap:12px;
    text-align:left;margin-top:14px;padding-top:14px;border-top:1px solid var(--gray-200);
  }
  .price-matrix tbody tr.row-featured td.matrix-price{border-top-color:var(--brass-200)}
  .price-matrix td.matrix-price::before{
    content:attr(data-label);flex:1;
    font-family:var(--font-mono);font-size:.62rem;font-weight:600;
    text-transform:uppercase;letter-spacing:.1em;color:var(--gray-500);line-height:1.5;
  }
  .matrix-price .amt{font-size:1.4rem;display:inline-block}
  .matrix-price .amt-save{margin-top:6px;margin-left:0;display:block}
  .matrix-price>span:not(.amt):not(.amt-save){display:block}
  .matrix-scroll-hint{display:none}
}
@media(max-width:1024px){
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .service-features{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
}
@media(max-width:900px){
  .problem-grid,.deliverables-grid,.samples-grid,.testimonial-grid,.review-grid{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}
  .pricing-card.featured{padding:36px}
  .method-steps{grid-template-columns:1fr;gap:16px}
  .resource-cards{grid-template-columns:1fr}
  .expertise-grid{grid-template-columns:1fr}
  .service-detail{grid-template-columns:1fr}
  .footer-links{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .nav-links{display:none}
  .nav-cta{display:none}
  .nav-mobile-toggle{display:flex}
  section{padding:64px 0}
  .hero{padding:130px 0 64px}
  .page-hero{padding:130px 0 48px}
  .hero-stats{padding:20px 16px;gap:0;flex-direction:column;width:auto}
  .hero-stat{padding:12px 0}
  .stat-divider{width:60%;height:1px;margin:0 auto}
  .hero-title{font-size:clamp(1.85rem,7vw,2.5rem)}
  .why-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .pricing-card{padding:28px 20px}
  .pricing-amount{font-size:2.1rem}
  .pricing-card.featured .pricing-amount{font-size:2.4rem}
  .addons-row{flex-direction:column;align-items:center}
  .footer-links{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .trust-bar{gap:16px}
}
