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

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

ul,ol{list-style:none}

/* ─── TOKENS ─── */
:root {
  --green: #092F3E;
  --green-hover: #4A6B63;
  --gold: #C4964A;
  --gold-hover: #B3863E;
  --cream: #F5F2EC;
  --linen: #EDE8DF;
  --text: #4A4A44;
  --text-light: #6B6860;
  --text-on-dark: #D4D0C8;
  --border: rgba(9,47,62,0.12);
  --max-w: 1280px;
}

/* ─── BASE (mobile-first) ─── */
body {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.75;
  color: var(--text);
  background: var(--cream);
  padding-bottom: 62px;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 { font-family: 'Playfair Display', serif; color: var(--green); line-height: 1.12; }

h4, h5, h6 { font-family: 'Inter', sans-serif; }

/* Section label */
.sec-label { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }

/* ─── BUTTONS ─── */
.btn-gold {
  display: inline-flex; align-items: center; gap: 10px; justify-content: center;
  background: var(--gold); color: #fff;
  font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 600;
  letter-spacing: 0.02em; padding: 17px 34px;
  transition: background 0.22s;
}

.btn-gold .arrow { display: inline-block; transition: transform 0.22s; }

.btn-gold:hover .arrow { transform: translateX(4px); }

.btn-green {
  display: inline-flex; align-items: center; gap: 8px; justify-content: center;
  background: var(--green); color: #fff;
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600;
  letter-spacing: 0.02em; padding: 15px 28px; width: 100%;
  transition: background 0.22s;
}

.btn-green:hover { background: var(--green-hover); }

.btn-white {
  display: inline-flex; align-items: center; gap: 8px; justify-content: center;
  background: #fff; color: var(--green);
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600;
  letter-spacing: 0.02em; padding: 15px 28px; width: 100%;
  transition: background 0.22s, color 0.22s;
}

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

.btn-outline-white {
  display: inline-flex; align-items: center; gap: 10px;
  border: 1px solid rgba(255,255,255,0.3); color: #fff;
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600;
  letter-spacing: 0.02em; padding: 16px 32px;
  transition: border-color 0.2s, background 0.2s;
}

.btn-outline-white:hover { border-color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.06); }

/* ─── FADEUP ANIMATION ─── */
@media (prefers-reduced-motion: no-preference) {
  .fade-up {
    opacity: 0; transform: translateY(24px);
    transition: opacity 0.5s ease, transform 0.5s ease;
  }
  .fade-up.visible { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .fade-up { opacity: 1; transform: none; }
}

/* ═══════════════════════════════════════════════════
   NAV
   ═══════════════════════════════════════════════════ */
.nav {
  background: var(--green);
  position: sticky; top: 0; z-index: 1000;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Desktop nav links */
.nav-links { display: none; list-style: none; }

.nav-links a::after {
  content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: #fff; transition: width 0.25s;
}

.nav-links a:hover::after { width: 100%; }

.nav-phone::after { background: var(--gold) !important; }

.nav-cta::after { display: none !important; }

/* Hamburger */
.nav-toggle {
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  width: 40px; height: 40px; padding: 0; position: relative; z-index: 1002;
}

.nav-toggle span:nth-child(1) { transform: translateY(-6px); }

.nav-toggle span:nth-child(2) { transform: translateY(0); }

.nav-toggle span:nth-child(3) { transform: translateY(6px); }

/* ─── MOBILE MENU OVERLAY ─── */
.mobile-menu {
  position: fixed; top: 0; left: 0; right: 0;
  height: auto; max-height: 76vh;
  background: var(--green);
  z-index: 1001;
  display: flex; flex-direction: column;
  padding: 0 28px 20px;
  transform: translateY(-100%);
  opacity: 0; visibility: hidden;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease, visibility 0.3s ease;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,0.3);
}

.mobile-menu-links li:last-child { border-bottom: none; }

.mobile-menu-links a:hover { color: var(--gold); }

.mobile-menu-links a:hover::after { color: var(--gold); }

.mobile-menu-cta:hover { background: var(--gold-hover); }

.mobile-menu-contact a:hover {
  border-color: rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.05);
}

.mobile-menu-email {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  color: rgba(255,255,255,0.4); font-size: 11.5px; font-weight: 400;
  margin-bottom: 12px; transition: color 0.2s;
}

.mobile-menu-email:hover { color: rgba(255,255,255,0.8); }

.mobile-menu-email svg { width: 13px; height: 13px; flex-shrink: 0; }

.mobile-menu-divider { height: 1px; background: rgba(255,255,255,0.06); margin-bottom: 12px; }

.mobile-menu-badge {
  font-family: 'Inter', sans-serif; font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: rgba(255,255,255,0.25); line-height: 1.4; text-align: right;
}

.mobile-menu-social {
  display: flex; gap: 10px;
}

.mobile-menu-social a {
  display: flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 50%; color: rgba(255,255,255,0.4);
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}

.mobile-menu-social a:hover { color: #fff; border-color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.06); }

.mobile-menu-social svg { width: 12px; height: 12px; }

/* ═══════════════════════════════════════════════════
   TRUST BAR
   ═══════════════════════════════════════════════════ */
.trust-bar { background: var(--linen); border-bottom: 1px solid var(--border); }

/* ═══════════════════════════════════════════════════
   HERO — Universal headline + two pathway cards
   ═══════════════════════════════════════════════════ */
.hero {
  background: var(--bg-dark);
  padding: clamp(40px, 7vw, 88px) 0 clamp(48px, 8vw, 100px);
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('/assets/img/hero-street.webp') center/cover no-repeat;
  z-index: 0;
}

.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(26,43,38,0.88) 0%, rgba(9,47,62,0.80) 100%);
  z-index: 1;
}

.hero > .container {
  position: relative;
  z-index: 2;
}

.hero-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto clamp(32px, 5vw, 56px);
}

.hero-question {
  font-family: 'Inter', sans-serif;
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: 500;
  color: rgba(255,255,255,0.72);
  margin-bottom: 8px;
}

/* Hero phone CTA.
   This is the primary conversion action on a service people ring in a hurry, but
   it was the least prominent thing in the hero: 13px label at 0.55 alpha under a
   46px headline. The number is now a real button, and the label sits above it at
   readable contrast rather than competing with it. */
.hero-phone-top {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  margin-top: 26px;
  font-size: 13.5px; font-weight: 500; letter-spacing: 0.02em;
  color: rgba(255,255,255,0.82);
}

.hero-phone-top a {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 30px;
  background: var(--gold);
  color: #26332F;
  font-size: 20px; font-weight: 700; letter-spacing: 0.01em;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(15,27,24,0.28);
  transition: background 0.2s, transform 0.2s;
}

.hero-phone-top a::before {
  content: '';
  width: 18px; height: 18px; flex-shrink: 0;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.hero-phone-top a:hover { background: var(--gold-hover); transform: translateY(-2px); color: #26332F; }

/* Pathway cards grid */
.hero-cards {
  display: flex; flex-direction: column; gap: 20px;
}

/* Individual pathway card */
.hero-card {
  flex: 1;
  background: #fff;
  border: 1px solid rgba(255,255,255,0.9);
  border-top: 3px solid var(--gold);
  padding: clamp(28px, 3.5vw, 44px);
  display: flex; flex-direction: column;
}

/* Circular icon */
.hero-card__icon {
  width: 48px; height: 48px;
  background: #EEECEA;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px; flex-shrink: 0;
}

.hero-card__icon svg { width: 22px; height: 22px; color: var(--green); }

.hero-card__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(22px, 2.4vw, 30px);
  color: var(--green);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 12px;
}

.hero-card__text {
  font-size: clamp(14px, 1.05vw, 15.5px);
  color: var(--text-light);
  line-height: 1.7;
  margin-bottom: 20px;
}

/* Left card callout — gold highlight */
.hero-card--cream .hero-card__callout {
  background: rgba(196,150,74,0.10);
  color: var(--gold);
  padding: 13px 16px;
  margin-bottom: 24px;
  font-size: 14px; font-weight: 600; line-height: 1.5;
}

/* Right card callout — simple border box */
.hero-card--green .hero-card__callout {
  border: 1px solid var(--border);
  color: var(--text);
  padding: 13px 16px;
  margin-bottom: 24px;
  font-size: 14px; font-weight: 500; line-height: 1.5;
}

.hero-card__cta { margin-top: auto; }

.hero-card__cta a { width: 100%; justify-content: center; }

.hero-card__phone {
  margin-top: 14px;
  font-size: 13px; color: var(--text-light);
}

.hero-card__phone a { color: var(--green); font-weight: 600; transition: color 0.2s; }

.hero-card__phone a:hover { color: var(--gold); }

/* ═══════════════════════════════════════════════════
   STEPS — "Here's What Happens Next"
   ═══════════════════════════════════════════════════ */
.steps { background: #fff; }

.steps-header { text-align: center; max-width: 600px; margin: 0 auto clamp(32px, 5vw, 56px); }

.steps-header p { color: var(--text-light); margin-top: 12px; font-size: clamp(14px, 1.1vw, 16px); }

.steps-grid {
  display: flex; flex-direction: column; gap: 24px;
  counter-reset: step;
}

.step-card {
  counter-increment: step;
  position: relative;
  padding: clamp(24px, 3vw, 36px);
  background: var(--cream);
  border: 1px solid var(--border);
}

.step-card__number {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  background: var(--green); color: #fff;
  font-family: 'Playfair Display', serif; font-size: 18px; font-weight: 700;
  margin-bottom: 16px;
}

.step-card__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(18px, 1.6vw, 22px);
  color: var(--green); margin-bottom: 8px;
}

.step-card__text {
  font-size: clamp(14px, 1vw, 15px);
  color: var(--text-light); line-height: 1.7;
}

/* ═══════════════════════════════════════════════════
   STATS STRIP
   ═══════════════════════════════════════════════════ */
.stats-strip {
  background: var(--green);
  padding: clamp(32px, 5vw, 56px) 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.stat-item { text-align: center; }

.stat-item__number {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 700; color: var(--gold);
  line-height: 1.1; margin-bottom: 6px;
}

.stat-item__label {
  font-size: 12px; font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--text-on-dark);
}

/* ═══════════════════════════════════════════════════
   EXPLAINER — "What Is a Party Wall Award?"
   ═══════════════════════════════════════════════════ */
.explainer { background: var(--cream); }

.explainer-grid {
  display: flex; flex-direction: column; gap: clamp(32px, 4vw, 56px);
}

.explainer-text h2 { margin-bottom: 20px; }

.explainer-text p { color: var(--text-light); margin-bottom: 16px; font-size: clamp(14px, 1.1vw, 16px); line-height: 1.8; }

.explainer-text p:last-of-type { margin-bottom: 0; }

.explainer-list {
  margin-top: 24px;
}

.explainer-list li {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 10px 0;
  font-size: clamp(14px, 1vw, 15px);
  color: var(--text);
  border-bottom: 1px solid var(--border);
}

.explainer-list li:last-child { border-bottom: none; }

.explainer-list li svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--gold); margin-top: 3px; }

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

/* ═══════════════════════════════════════════════════
   FEATURED TESTIMONIAL
   ═══════════════════════════════════════════════════ */
.featured-testimonial {
  background: var(--green);
}

.featured-testimonial .container {
  text-align: center;
  max-width: 800px;
}

.testimonial-quote-mark {
  font-family: 'Playfair Display', serif;
  font-size: clamp(48px, 6vw, 80px);
  color: var(--gold);
  line-height: 1; margin-bottom: 8px;
  opacity: 0.6;
}

.testimonial-quote {
  font-family: 'Playfair Display', serif;
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 700; font-style: italic;
  color: #fff; line-height: 1.45;
  margin-bottom: 24px;
}

.testimonial-author {
  font-size: 14px; font-weight: 500;
  color: var(--text-on-dark);
}

.testimonial-stars {
  display: flex; align-items: center; justify-content: center; gap: 4px;
  margin-bottom: 20px;
}

.testimonial-stars svg { width: 18px; height: 18px; color: var(--gold); }

/* ═══════════════════════════════════════════════════
   GOOGLE REVIEWS
   ═══════════════════════════════════════════════════ */
.reviews { background: #fff; }

.reviews-header {
  text-align: center;
  max-width: 600px; margin: 0 auto clamp(32px, 5vw, 56px);
}

.reviews-header p { color: var(--text-light); margin-top: 12px; }

.reviews-grid {
  display: flex; flex-direction: column; gap: 20px;
}

.review-card {
  flex: 1;
  background: var(--cream);
  border: 1px solid var(--border);
  padding: clamp(24px, 2.5vw, 32px);
}

.review-card__stars {
  display: flex; gap: 3px; margin-bottom: 14px;
}

.review-card__stars svg { width: 15px; height: 15px; color: var(--gold); }

.review-card__text {
  font-size: clamp(14px, 1vw, 15px);
  color: var(--text); line-height: 1.75;
  margin-bottom: 16px;
  font-style: italic;
}

.review-card__author {
  display: flex; align-items: center; gap: 10px;
}

.review-card__avatar {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--green); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 600;
}

.review-card__name { font-size: 13px; font-weight: 600; color: var(--green); }

.review-card__platform { font-size: 11px; color: var(--text-light); }

/* ═══════════════════════════════════════════════════
   BIO
   ═══════════════════════════════════════════════════ */
.bio { background: var(--cream); }

.bio-content .bio-role {
  font-size: 14px; font-weight: 500; color: var(--gold);
  text-transform: uppercase; letter-spacing: 0.06em;
  margin-bottom: 20px;
}

.bio-content p {
  color: var(--text-light); margin-bottom: 16px;
  font-size: clamp(14px, 1.1vw, 16px); line-height: 1.8;
}

/* The About page drops .bio-content onto the dark green .about-bio panel. The rule
   above is (0,1,1) and beat the (0,1,0) .bio-body / .bio-quote rules further down,
   so the whole Jas Mudan biography rendered as #6B6860 grey on #092F3E green -
   1.37:1, effectively invisible. These restore light-on-dark and clear WCAG AA. */
.about-bio .bio-content p,
.about-bio .bio-body { color: rgba(255,255,255,0.82); }
.about-bio .bio-quote { color: rgba(255,255,255,0.92); }
.about-bio .bio-cred { color: #EBCB8C; }

.bio-credentials {
  display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px;
}

.bio-credential {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 16px;
  background: rgba(9,47,62,0.06);
  font-size: 12px; font-weight: 500; color: var(--green);
}

.bio-credential svg { width: 14px; height: 14px; color: var(--gold); }

/* ═══════════════════════════════════════════════════
   PRICING
   ═══════════════════════════════════════════════════ */
.pricing { background: #fff; }

.pricing-header {
  text-align: center; max-width: 600px;
  margin: 0 auto clamp(32px, 5vw, 56px);
}

.pricing-header p { color: var(--text-light); margin-top: 12px; font-size: clamp(14px, 1.1vw, 16px); }

.pricing-grid {
  display: flex; flex-direction: column; gap: 20px;
}

.pricing-card {
  flex: 1;
  background: var(--cream);
  border: 1px solid var(--border);
  padding: clamp(28px, 3vw, 40px);
  display: flex; flex-direction: column;
}

.pricing-card--featured {
  background: var(--green);
  border-color: var(--green);
}

.pricing-card__tag {
  font-size: 10.5px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.1em; margin-bottom: 12px;
}

.pricing-card:not(.pricing-card--featured) .pricing-card__tag { color: var(--gold); }

.pricing-card--featured .pricing-card__tag { color: var(--gold); }

.pricing-card__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(20px, 2vw, 26px);
  margin-bottom: 8px;
}

.pricing-card:not(.pricing-card--featured) .pricing-card__title { color: var(--green); }

.pricing-card--featured .pricing-card__title { color: #fff; }

.pricing-card__price {
  font-family: 'Playfair Display', serif;
  font-size: clamp(32px, 3.5vw, 48px);
  font-weight: 700; line-height: 1.1;
  margin-bottom: 4px;
}

.pricing-card:not(.pricing-card--featured) .pricing-card__price { color: var(--green); }

.pricing-card--featured .pricing-card__price { color: #fff; }

/* Word-based price (adjoining owner card) - reassurance leads, figure follows */
.pricing-card__price--words {
  font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1.2;
  margin-bottom: 6px;
}

.pricing-card__vat {
  font-size: 12px; color: var(--text-light);
  margin-bottom: 20px;
}

/* "Who pays" notice above the fee table */
.fees-notice {
  display: flex; gap: 14px; align-items: flex-start;
  max-width: 780px; margin: 0 auto 28px;
  padding: 18px 20px;
  background: rgba(196,150,74,0.07);
  border: 1px solid rgba(196,150,74,0.28);
  border-radius: 10px;
}

.fees-notice svg {
  width: 22px; height: 22px; flex-shrink: 0;
  color: var(--gold); margin-top: 2px;
}

.fees-notice p {
  margin: 0; font-size: 14.5px; line-height: 1.65;
  color: var(--text);
}

.fees-notice strong { color: var(--green); }

.pricing-card--featured .pricing-card__vat { color: var(--text-on-dark); }

.pricing-card__desc {
  font-size: clamp(13px, 1vw, 14.5px);
  line-height: 1.7; margin-bottom: 20px;
}

.pricing-card:not(.pricing-card--featured) .pricing-card__desc { color: var(--text-light); }

.pricing-card--featured .pricing-card__desc { color: var(--text-on-dark); }

.pricing-card__features {
  list-style: none; margin-bottom: 24px;
}

.pricing-card__features li {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 7px 0;
  font-size: 13.5px;
}

.pricing-card:not(.pricing-card--featured) .pricing-card__features li { color: var(--text); }

.pricing-card--featured .pricing-card__features li { color: rgba(255,255,255,0.85); }

.pricing-card__features li svg {
  width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px;
}

.pricing-card:not(.pricing-card--featured) .pricing-card__features li svg { color: var(--gold); }

.pricing-card--featured .pricing-card__features li svg { color: var(--gold); }

.pricing-card__cta { margin-top: auto; }

.pricing-card__cta a { width: 100%; }

.pricing-note {
  text-align: center; margin-top: 24px;
  font-size: 13px; color: var(--text-light);
}

.fees-table-wrap {
  margin-top: 28px;
  margin-bottom: 36px;
  background: #fff;
  border: 1px solid var(--border);
  overflow: hidden;
}

.fees-table {
  width: 100%;
  border-collapse: collapse;
}

.fees-table tr + tr {
  border-top: 1px solid var(--border);
}

.fees-table th,
.fees-table td {
  padding: 18px 20px;
  text-align: left;
}

.fees-table th {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-light);
  background: var(--linen);
}

.fees-table td:first-child {
  font-size: 15px;
  font-weight: 600;
  color: var(--green);
}

.fees-table td:first-child small {
  display: block;
  margin-top: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--text-light);
}

.fees-table td:last-child {
  font-family: 'Playfair Display', serif;
  font-size: 26px;
  font-weight: 700;
  color: var(--green);
  white-space: nowrap;
}

@media (max-width: 767px) {
  .fees-table th,
  .fees-table td {
    padding: 14px 16px;
  }
  .fees-table td:first-child {
    font-size: 14px;
  }
  .fees-table td:first-child small {
    font-size: 12.5px;
    margin-top: 6px;
  }
  .fees-table td:last-child {
    font-size: 22px;
  }
}

/* ═══════════════════════════════════════════════════
   AREAS
   ═══════════════════════════════════════════════════ */
.areas { background: var(--cream); }

.areas-grid {
  display: flex; flex-direction: column; gap: clamp(32px, 4vw, 56px);
}

.areas-map img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.areas-content h2 { margin-bottom: 20px; }

.areas-content p { color: var(--text-light); margin-bottom: 20px; font-size: clamp(14px, 1.1vw, 15.5px); }

.areas-list {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 8px 24px;
}

.areas-list li {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; color: var(--text);
  padding: 6px 0;
}

.areas-list li svg { width: 14px; height: 14px; color: var(--gold); flex-shrink: 0; }

/* ═══════════════════════════════════════════════════
   FAQ ACCORDION
   ═══════════════════════════════════════════════════ */
.faq { background: #fff; }

.faq-header {
  text-align: center; max-width: 600px;
  margin: 0 auto clamp(32px, 5vw, 56px);
}

.faq-header p { color: var(--text-light); margin-top: 12px; }

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

.faq-item {
  border-bottom: 1px solid var(--border);
}

.faq-question {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 20px 0; text-align: left;
  font-family: 'Inter', sans-serif;
  font-size: clamp(15px, 1.2vw, 17px);
  font-weight: 600; color: var(--green);
  cursor: pointer; gap: 16px;
}

.faq-question:hover { color: var(--gold); }

.faq-icon {
  width: 24px; height: 24px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.3s ease;
}

.faq-item.active .faq-icon { transform: rotate(45deg); }

.faq-answer {
  max-height: 0; overflow: hidden;
  transition: max-height 0.35s ease, padding 0.35s ease;
}

.faq-answer-inner {
  padding: 0 0 20px;
  font-size: clamp(14px, 1vw, 15px);
  color: var(--text-light); line-height: 1.8;
}

/* ═══════════════════════════════════════════════════
   CONTACT FORM
   ═══════════════════════════════════════════════════ */
.contact { background: var(--cream); }

.contact-grid {
  display: flex; flex-direction: column; gap: clamp(32px, 4vw, 56px);
}

.contact-info h2 { margin-bottom: 16px; }

.contact-info > p { color: var(--text-light); margin-bottom: 24px; font-size: clamp(14px, 1.1vw, 16px); line-height: 1.8; }

.contact-detail {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 14px 0;
  border-top: 1px solid var(--border);
}

.contact-detail:first-of-type { border-top: none; }

.contact-detail svg { width: 18px; height: 18px; color: var(--gold); flex-shrink: 0; margin-top: 2px; }

.contact-detail-value a:hover { color: var(--gold); }

.contact-form-box {
  background: #fff;
  border: 1px solid var(--border);
  padding: clamp(24px, 3vw, 40px);
}

.contact-form-box h3 { margin-bottom: 20px; }

.form-group { margin-bottom: 16px; }

.form-group label {
  display: block; font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--text-light); margin-bottom: 6px;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%; padding: 14px 16px;
  border: 1px solid var(--border);
  background: var(--cream);
  font-family: 'Inter', sans-serif; font-size: 15px;
  color: var(--text); outline: none;
  transition: border-color 0.2s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--green);
}

.form-group textarea { resize: vertical; min-height: 100px; }

.form-submit { margin-top: 8px; }

.form-submit .btn-gold { width: 100%; justify-content: center; }

/* ═══════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════ */
.footer {
  background: var(--green);
  padding: clamp(48px, 7vw, 80px) 0 0;
}

.footer-links a:hover { color: #fff; }

/* ═══════════════════════════════════════════════════
   STICKY CALL BAR
   ═══════════════════════════════════════════════════ */
.sticky-bar {
  position: fixed; bottom: 0; left: 0; right: 0;
  background: var(--gold); z-index: 999;
  height: 58px;
}

/* ═══════════════════════════════════════════════════
   WHATSAPP FAB
   ═══════════════════════════════════════════════════ */
.whatsapp-fab {
  position: fixed;
  bottom: 74px; right: 16px;
  width: 52px; height: 52px;
  background: #25D366; color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  z-index: 998;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  transition: transform 0.2s, box-shadow 0.2s;
}

h1,h2,h3,h4{font-family:'Playfair Display',serif;line-height:1.2;}

/* NAV */
.nav{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 12px rgba(0,0,0,0.06);}

/* MOBILE MENU */
.mobile-menu-scrim{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:300;}

/* PAGE HEADER */
.page-header{background:linear-gradient(90deg,rgba(52,76,70,0.94),rgba(9,47,62,0.82)),linear-gradient(180deg,rgba(15,27,24,0.12),rgba(15,27,24,0.34)),url('/assets/img/practice-office.webp') center center/cover no-repeat;padding:clamp(37px,5.1vw,75px) 0;position:relative;overflow:hidden;}

.page-header::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 18% 30%,rgba(255,255,255,0.08),transparent 38%),linear-gradient(180deg,rgba(255,255,255,0.04),transparent 42%);}

.page-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),transparent);}

.page-header .container{position:relative;z-index:1;}

.ph-eyebrow::before{content:'';width:24px;height:1px;background:var(--gold);}

.ph-eyebrow span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:var(--gold);}

.hero-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px;}

.hero-cta-row .btn-gold,.hero-cta-row .btn-outline-gold{min-width:220px;text-align:center;}

.hero-cta-row .btn-outline-gold{border-color:rgba(255,255,255,0.5);color:#fff;}

.hero-cta-row .btn-outline-gold:hover{background:rgba(255,255,255,0.08);border-color:#fff;color:#fff;}

.trust-bar{background:var(--linen);border-bottom:1px solid var(--border);}

/* SEC LABEL */
.sec-label{display:flex;align-items:center;gap:12px;margin-bottom:16px;}

/* BUTTONS */
.btn-gold{display:inline-block;background:var(--gold);color:#fff;padding:16px 32px;border-radius:8px;font-weight:600;font-size:15px;transition:background 0.2s;border:none;cursor:pointer;}

.btn-outline-gold{display:inline-block;border:2px solid var(--gold);color:var(--gold);padding:14px 30px;border-radius:8px;font-weight:600;font-size:15px;transition:background 0.2s,color 0.2s;}

.btn-outline-gold:hover{background:var(--gold);color:#fff;}

/* TWO COL */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}

.img-placeholder{aspect-ratio:4/3;background:var(--linen);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:14px;border:1px solid var(--border);min-height:320px;}

/* STATS */
.stats-strip{display:flex;gap:40px;margin-top:36px;padding-top:32px;border-top:1px solid var(--border);}

.stat-item strong{display:block;font-family:'Playfair Display',serif;font-size:clamp(24px,2.5vw,36px);color:var(--green);font-weight:700;}

.stat-item span{font-size:13px;font-weight:500;color:var(--text-light);text-transform:uppercase;letter-spacing:0.06em;}

/* QUAL LIST */
.qual-list{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:10px;}

.qual-list li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--text-light);}

.qual-list li::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:9px;flex-shrink:0;}

/* CREDENTIALS */
.credentials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}

.cred-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px 24px;text-align:center;}

.cred-icon{width:48px;height:48px;background:rgba(196,150,74,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}

.cred-icon svg{width:24px;height:24px;color:var(--gold);}

.cred-card h3{margin-bottom:8px;font-size:16px;}

.cred-card p{font-size:14px;color:var(--text-light);}

/* WHY CARDS */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}

.why-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:36px 28px;}

.why-num{font-family:'Playfair Display',serif;font-size:40px;color:rgba(196,150,74,0.25);font-weight:800;margin-bottom:12px;line-height:1;}

.why-card h3{margin-bottom:12px;}

.why-card p{color:var(--text-light);font-size:15px;}

/* ABOUT PAGE */
.about-practice{background:var(--cream);}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}

.about-text p{font-size:15px;color:var(--text-light);line-height:1.85;margin-bottom:18px;}

.practice-media{overflow:hidden;border:1px solid var(--border);background:var(--linen);}

.practice-media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;}

.about-bio{padding:0;background:var(--green);}

.bio-photo{min-height:620px;background:#324841;}

.bio-content{padding:clamp(56px,7vw,96px) clamp(28px,5vw,72px);display:flex;flex-direction:column;justify-content:center;}

.bio-cred{font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;}

.bio-quote{font-family:'Playfair Display',serif;font-size:clamp(20px,2vw,28px);font-style:italic;line-height:1.55;color:rgba(255,255,255,0.84);border-left:2px solid var(--gold);padding-left:22px;margin-bottom:24px;}

.bio-body{font-size:14.5px;line-height:1.85;color:rgba(255,255,255,0.72);margin-bottom:16px;max-width:68ch;}

.bio-stats{display:flex;gap:36px;flex-wrap:wrap;margin-top:20px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.14);}

.bio-stat strong{display:block;font-family:'Playfair Display',serif;font-size:clamp(24px,2.4vw,34px);line-height:1;color:#fff;margin-bottom:6px;}

.bio-stat span{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.58);}

.values{background:var(--linen);}

.values-header{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:48px;}

.values-header p{font-size:15px;line-height:1.8;color:var(--text-light);}

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

.value-card{background:#fff;padding:42px 34px;border-top:3px solid var(--gold);}

.value-num{font-family:'Playfair Display',serif;font-size:48px;font-weight:700;line-height:1;color:var(--gold);margin-bottom:18px;}

.value-card h3{margin-bottom:12px;}

.value-card p{font-size:14px;line-height:1.8;color:var(--text-light);}

.coverage{background:var(--cream);}

.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}

.coverage-text p{font-size:15px;line-height:1.85;color:var(--text-light);margin-bottom:18px;}

.borough-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}

.borough-pill{background:var(--green);color:rgba(255,255,255,0.86);font-size:12px;font-weight:500;padding:6px 14px;}

.map-card{background:#f8f4ee;border:1px solid var(--border);padding:10px;}

.map-card img{width:100%;display:block;}

.about-stats{background:var(--linen);padding:72px 0;}

.about-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(9,47,62,0.14);border-bottom:1px solid rgba(9,47,62,0.14);}

.about-stat-item{padding:34px 26px 34px 0;border-right:1px solid rgba(9,47,62,0.14);}

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

.about-stat-item strong{display:block;font-family:'Playfair Display',serif;font-size:clamp(30px,3vw,44px);line-height:1;color:var(--green);}

.about-stat-item span{display:block;margin-top:8px;font-size:12.5px;line-height:1.45;color:var(--text-light);}

.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 18% 30%,rgba(255,255,255,0.08),transparent 38%),linear-gradient(180deg,rgba(255,255,255,0.04),transparent 42%);}

.cta-band .container{position:relative;z-index:1;}

.cta-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,0.85fr);gap:clamp(24px,3vw,40px);padding:clamp(28px,4vw,46px);background:rgba(247,243,236,0.96);border:1px solid rgba(9,47,62,0.14);box-shadow:0 26px 60px rgba(30,43,39,0.18);}

.cta-copy{padding:0;background:transparent;}

.cta-copy h2{color:var(--green);margin-bottom:14px;max-width:11ch;}

.cta-copy p{color:var(--text-light);font-size:clamp(15px,1.2vw,18px);line-height:1.8;max-width:58ch;}

.cta-kicker{display:flex;align-items:center;gap:12px;margin-bottom:16px;}

.cta-kicker::before{content:'';width:24px;height:1px;background:var(--gold);}

.cta-kicker span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:var(--gold);}

.cta-side{padding-left:clamp(10px,2vw,28px);border-left:1px solid rgba(9,47,62,0.14);display:flex;flex-direction:column;justify-content:center;background:transparent;}

.cta-note{font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(9,47,62,0.62);margin-bottom:16px;}

.cta-list{list-style:none;display:grid;gap:12px;margin:0 0 26px;padding:0;}

.cta-list li{display:flex;align-items:flex-start;gap:10px;color:var(--text);font-size:14px;line-height:1.65;}

.cta-list li::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold);margin-top:8px;flex-shrink:0;}

.cta-actions{display:flex;flex-direction:column;gap:14px;}

.cta-actions .btn-gold,.cta-actions .btn-outline-gold{width:100%;justify-content:center;text-align:center;}

.cta-phone{display:inline-block;margin-top:18px;font-family:'Playfair Display',serif;font-size:clamp(24px,2.3vw,32px);line-height:1;color:var(--green);}

/* FOOTER */
.footer{background:var(--green);color:rgba(255,255,255,0.75);padding:64px 0 0;}

.footer-brand p{color:rgba(255,255,255,0.6);font-size:14px;margin-top:16px;max-width:260px;line-height:1.7;}

.footer-logo{display:flex;align-items:center;gap:10px;}

.footer-logo img{height:36px;filter:brightness(0) invert(1);}

.footer-logo-text{font-family:'Playfair Display',serif;font-size:14px;font-weight:700;color:#fff;line-height:1.3;}

.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}

.footer-col ul a{color:rgba(255,255,255,0.65);font-size:14px;transition:color 0.2s;}

.footer-col ul a:hover{color:#fff;}

.footer-bottom-links{display:flex;gap:20px;}

.footer-bottom-links a{color:rgba(255,255,255,0.45);transition:color 0.2s;}

.footer-bottom-links a:hover{color:#fff;}

/* STICKY BAR */
.sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:500;display:none;background:#fff;border-top:1px solid var(--border);box-shadow:0 -2px 12px rgba(0,0,0,0.1);}

.sticky-bar-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 10px;font-weight:600;font-size:14px;border:none;cursor:pointer;text-decoration:none;transition:background 0.2s;}

.sticky-bar-call{background:var(--green);color:#fff;}

.sticky-bar-call:hover{background:var(--green-hover);}

.sticky-bar-appoint{background:var(--gold);color:#fff;}

.sticky-bar-appoint:hover{background:var(--gold-hover);}

.sticky-bar-btn svg{width:16px;height:16px;}

/* WHATSAPP FAB */
.wa-fab{position:fixed;bottom:80px;right:20px;z-index:600;width:52px;height:52px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,211,102,0.45);transition:transform 0.2s;}

.wa-fab:hover{transform:scale(1.08);}

.wa-fab svg{width:28px;height:28px;fill:#fff;}

/* HOMEPAGE3 SHARED CHROME */
.nav {
  background: var(--green);
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  box-shadow: none;
}

.footer-brand-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-brand-points li {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,0.82);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
}

.nav{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 12px rgba(0,0,0,0.06);}

.sec-label{display:flex;align-items:center;gap:12px;margin-bottom:16px;}

/* CONTACT LAYOUT
   Mobile-first. This rule previously declared `grid-template-columns:1fr 1.4fr`
   unconditionally, which overrode the column layout defined earlier and forced two
   columns at 390px - the contact form box then overflowed the viewport by ~84px and
   gave the whole homepage a horizontal scrollbar. */
.contact-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start;}
@media (min-width:768px){
  .contact-grid{grid-template-columns:1fr 1.4fr;gap:64px;}
}

.contact-detail-item{display:flex;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid var(--border);}

.contact-detail-item:first-child{padding-top:0;}

.contact-detail-icon{width:40px;height:40px;background:rgba(196,150,74,0.1);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

.contact-detail-icon svg{width:18px;height:18px;color:var(--gold);}

/* FORM */
.contact-form-wrap{background:#fff;border:1px solid var(--border);border-radius:16px;padding:40px;}

.form-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.06em;}

.form-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-family:'Inter',sans-serif;font-size:15px;color:var(--text);background:#fff;transition:border-color 0.2s,box-shadow 0.2s;}

.form-input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(9,47,62,0.08);}

select.form-input{cursor:pointer;}

textarea.form-input{resize:vertical;min-height:120px;}

.contact-form-wrap .btn-gold{width:100%;}

.form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.form-status {
  margin: 16px 0 0;
  padding: 13px 15px;
  border: 1px solid transparent;
  font-size: 13.5px;
  line-height: 1.55;
  text-align: left;
}

.form-status.is-success {
  color: #173f36;
  background: #edf6f2;
  border-color: #a9cbbf;
}

.form-status.is-error {
  color: #702b26;
  background: #fff3f1;
  border-color: #dfb2ac;
}

[data-ajax-form] button[type="submit"]:disabled {
  cursor: wait;
  opacity: 0.68;
}

.wa-fab{position:fixed;bottom:80px;right:20px;z-index:600;width:52px;height:52px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,211,102,0.45);transition:transform 0.2s;}

/* BLOG GRID */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}

.blog-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform 0.2s,box-shadow 0.2s;display:flex;flex-direction:column;}

.blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.1);}

.blog-card-body{padding:28px;flex:1;display:flex;flex-direction:column;}

.blog-category{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--gold);margin-bottom:10px;}

.blog-card h3{font-size:clamp(16px,1.4vw,19px);margin-bottom:10px;line-height:1.3;}

.blog-card h3 a{color:var(--text);transition:color 0.2s;}

.blog-card h3 a:hover{color:var(--green);}

.blog-date{font-size:13px;color:var(--text-light);margin-bottom:12px;}

.blog-excerpt{font-size:14px;color:var(--text-light);line-height:1.7;flex:1;}

.blog-readmore{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-size:14px;font-weight:600;margin-top:20px;transition:gap 0.2s;}

.blog-readmore:hover{gap:10px;}

/* SIGNUP BOX */
.signup-box{background:var(--linen);border-radius:16px;padding:48px;text-align:center;margin-top:72px;}

.signup-box h3{margin-bottom:12px;}

.signup-box p{color:var(--text-light);margin-bottom:24px;}

.signup-box a{display:inline-block;background:var(--green);color:#fff;padding:14px 32px;border-radius:8px;font-weight:600;transition:background 0.2s;}

.signup-box a:hover{background:var(--green-hover);}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:240px 1fr;gap:64px;align-items:start;}

.faq-nav{position:sticky;top:88px;}

.faq-nav-list{list-style:none;display:flex;flex-direction:column;gap:4px;}

.faq-nav-list a{display:block;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-light);transition:background 0.2s,color 0.2s;border-left:2px solid transparent;}

.faq-nav-list a:hover{color:var(--green);background:rgba(9,47,62,0.06);}

.faq-nav-list a.active{color:var(--green);border-left-color:var(--gold);background:rgba(196,150,74,0.06);}

.faq-group{margin-bottom:56px;}

.faq-group:last-child{margin-bottom:0;}

.faq-group-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:10px;}

.faq-group-title::after{content:'';flex:1;height:1px;background:var(--border);}

.accordion-item{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:12px;transition:border-color 0.2s;}

.accordion-item.open{border-color:var(--gold);}

.accordion-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:none;border:none;cursor:pointer;text-align:left;font-family:'Inter',sans-serif;font-size:15px;font-weight:600;color:var(--text);transition:color 0.2s;}

.accordion-btn:hover{color:var(--green);}

.accordion-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;transition:background 0.2s,border-color 0.2s,transform 0.3s;}

.accordion-item.open .accordion-icon{background:var(--gold);border-color:var(--gold);transform:rotate(45deg);}

.accordion-icon svg{width:10px;height:10px;color:var(--text-light);transition:color 0.2s;}

.accordion-item.open .accordion-icon svg{color:#fff;}

.accordion-body{max-height:0;overflow:hidden;transition:max-height 0.35s ease;}

.accordion-body-inner{padding:0 24px 20px;color:var(--text-light);font-size:15px;border-top:1px solid var(--border);}

.accordion-body-inner p{padding-top:16px;}

.cta-band-inner{text-align:center;}

.cta-band h2{color:#fff;margin-bottom:12px;}

.cta-band p{color:rgba(255,255,255,0.65);margin-bottom:36px;font-size:clamp(15px,1.2vw,18px);}

.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

@media (max-width: 1023px) {
  body { padding-bottom: 62px; }
}

/* ── NAV ── */
.nav {
  background: var(--green);
  position: sticky; top: 0; z-index: 1000;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Mobile menu */
.mobile-menu {
  position: fixed; top: 0; left: 0; right: 0; max-height: 76vh;
  background: var(--green); z-index: 1001;
  display: flex; flex-direction: column; padding: 0 28px 20px;
  transform: translateY(-100%); opacity: 0; visibility: hidden;
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), opacity 0.3s, visibility 0.3s;
  box-shadow: 0 8px 40px rgba(0,0,0,0.3);
}

/* ── TOP BANNER ── */
.top-banner {
  background: var(--green);
  padding: 20px 0;
  border-bottom: 3px solid var(--gold);
}

.top-banner-inner {
  display: flex; align-items: center; justify-content: flex-end;
}

.top-banner a {
  display: inline-flex; align-items: center; gap: 10px;
  border: 1.5px solid rgba(255,255,255,0.4); color: #fff;
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: 12px 24px;
  transition: border-color 0.2s, background 0.2s;
}

.top-banner a:hover { border-color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.07); }

/* ── APPOINT SECTION ── */
.appoint {
  padding: clamp(48px, 6vw, 80px) 0 clamp(64px, 8vw, 100px);
}

.appoint-inner { width: calc(100% - 48px); margin: 0 auto; }

.appoint h1 { margin-bottom: 20px; }

.appoint p {
  color: var(--text-light);
  margin-bottom: 12px;
}

.appoint-fees-btn {
  display: inline-flex; align-items: center;
  background: var(--gold); color: #fff;
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: 14px 28px; margin: 20px 0 24px;
  transition: background 0.22s;
}

.appoint-fees-btn:hover { background: var(--gold-hover); }

.appoint-note {
  font-size: 13px;
  color: var(--text-light);
  margin-bottom: 36px;
  line-height: 1.65;
}

.appoint-note strong { color: var(--text); font-weight: 600; }

/* ── FOOTER ── */
.footer { background: var(--green); padding: clamp(48px, 6vw, 72px) 0 0; }

@media (min-width: 640px)  { .footer-grid { grid-template-columns: 1fr 1fr; } }

.footer-contact-item a, .footer-contact-item span { font-size: 13px; color: rgba(255,255,255,0.55); line-height: 1.65; transition: color 0.2s; }

/* Sticky bar + WhatsApp */
.sticky-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 900;
  background: var(--green); border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
}

.sticky-bar a:hover { background: var(--gold-hover); }

/* OPTIONS CARDS */
.options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}

.option-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px 28px;}

.option-num{font-family:'Playfair Display',serif;font-size:13px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:12px;}

.option-card h3{margin-bottom:12px;}

.option-card p{color:var(--text-light);font-size:15px;}

/* RIGHTS LIST */
.rights-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:24px;}

.rights-list li{display:flex;align-items:flex-start;gap:14px;padding:16px;background:#fff;border-radius:10px;border:1px solid var(--border);}

.rights-list li::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:9px;flex-shrink:0;}

.rights-list li span{color:var(--text-light);font-size:15px;}

.linen-col{background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px;}

.linen-col p{color:var(--text-light);font-size:15px;}

.step-item{display:flex;gap:28px;position:relative;padding-bottom:40px;}

.step-item:last-child{padding-bottom:0;}

.step-item:not(:last-child)::after{content:'';position:absolute;left:19px;top:40px;width:2px;height:calc(100% - 40px);background:var(--border);}

.step-num{width:40px;height:40px;border-radius:50%;background:var(--gold);color:#fff;font-family:'Playfair Display',serif;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

.step-body{padding-top:8px;}

.step-body h3{margin-bottom:8px;}

.step-body p{color:var(--text-light);font-size:15px;}

/* PROSE */
.prose-section{max-width:720px;}

.prose-section p{color:var(--text-light);margin-bottom:16px;}

/* WORKS LIST */
.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 48px;}

.works-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:15px;color:var(--text-light);}

.works-item::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:9px;flex-shrink:0;}

/* COVERS GRID */
.covers-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 48px;}

.covers-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:15px;color:var(--text-light);}

.covers-item::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:9px;flex-shrink:0;}

.info-box h3{margin-bottom:12px;}

.info-box p{color:var(--text-light);}

/* NOTICE CARDS */
.notice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}

.notice-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px 28px;border-top:3px solid var(--gold);}

.notice-section-ref{font-size:12px;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:10px;}

.notice-card h3{margin-bottom:12px;}

.notice-card p{color:var(--text-light);font-size:15px;margin-bottom:12px;}

.notice-timeline{display:inline-block;font-size:13px;font-weight:600;color:var(--green);background:rgba(9,47,62,0.08);padding:6px 12px;border-radius:20px;}

/* MISTAKE LIST */
.mistake-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:24px;}

.mistake-item{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:#fff;border-radius:10px;border:1px solid var(--border);}

.mistake-icon{width:20px;height:20px;border-radius:50%;background:rgba(196,150,74,0.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}

.mistake-icon::after{content:'!';font-size:11px;font-weight:700;color:var(--gold);}

.mistake-item span{color:var(--text-light);font-size:15px;}

.linen-col-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--gold);margin-bottom:12px;}

/* INCLUDES LIST */
.includes-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:24px;}

.includes-list li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--text-light);}

.includes-list li::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:9px;flex-shrink:0;}

/* POLICY CONTENT */
.policy-wrap{max-width:760px;margin:0 auto;}

.policy-section{background:var(--linen);border-radius:16px;padding:clamp(32px,4vw,56px) clamp(24px,4vw,48px);margin-bottom:8px;}

.policy-content h2{font-size:clamp(18px,1.8vw,24px);letter-spacing:-0.02em;color:var(--green);margin-bottom:16px;padding-top:40px;}

.policy-content h2:first-child{padding-top:0;}

.policy-content h3{font-size:16px;color:var(--text);margin-top:24px;margin-bottom:8px;}

.policy-content p{color:var(--text-light);margin-bottom:16px;font-size:15px;}

.policy-content ul{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-left:0;}

.policy-content ul li{display:flex;align-items:flex-start;gap:10px;color:var(--text-light);font-size:15px;}

.policy-content ul li::before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-top:9px;flex-shrink:0;}

.policy-content a{color:var(--green);text-decoration:underline;}

.policy-content a:hover{color:var(--gold);}

.policy-updated{font-size:13px;color:var(--text-light);padding-top:24px;border-top:1px solid var(--border);margin-top:8px;}

/* CONTACT BOX */
.data-contact-box{background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px;text-align:center;margin-top:48px;}

.data-contact-box h3{margin-bottom:8px;}

.data-contact-box p{color:var(--text-light);font-size:15px;margin-bottom:16px;}

.data-contact-box a{display:inline-block;color:var(--green);font-weight:600;font-size:15px;}

/* skip-to-content link injected by the migrator for keyboard users */
.skip-to-content {
  position: absolute;
  left: -9999px;
  top: 8px;
  z-index: 9999;
  background: #fff;
  color: #092F3E;
  padding: 12px 20px;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18);
}
.skip-to-content:focus {
  left: 16px;
  outline: 2px solid #C4964A;
  outline-offset: 2px;
}
