/*
Theme Name: EmmelineKoh Claude
Theme URI: https://emmelinekoh.sg
Author: Claude + Poksa
Description: Premium editorial property intelligence platform — v5 Editorial Design
Version: 5.0
Text Domain: ek-claude
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400&family=Inter:wght@300;400;500;600;700&display=swap');
:root{--bg:#FAF8F5;--bg-card:#FFFFFF;--bg-warm:#F5F2ED;--text-primary:#1A1A2E;--text-secondary:#5C5C5C;--text-muted:#9A9A9A;--accent:#C4615A;--accent-light:#E8A8A3;--accent-pale:#F5E0DE;--ink:#1A1A2E;--ivory:#FAF8F5;--deep-pine:#1A3A2E;--deep-pine-light:#2A5A4E;--taupe:#8B7355;--taupe-light:#C4B5A0;--brass:#C4A962;--border:#E2D9CE;--border-light:#EDE7DF;--white:#FFFFFF;--overlay:rgba(26,26,46,0.5);--font-heading:'Fraunces',Georgia,'Times New Roman',serif;--font-body:'Inter',-apple-system,sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-3xl:2.25rem;--text-4xl:2.75rem;--text-5xl:3.5rem;--text-6xl:4.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--container-max:1200px;--container-wide:1400px;--container-narrow:720px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow-md:0 2px 8px rgba(0,0,0,.06);--shadow-lg:0 4px 16px rgba(0,0,0,.08);--shadow-xl:0 8px 32px rgba(0,0,0,.1);--gold:#C4A962;--brass:#C4A962;--transition-fast:150ms ease;--transition-base:250ms ease;--nav-height:80px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--bg);line-height:1.7;overflow-x:hidden;padding-top:var(--nav-height)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--accent)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.15;font-weight:500;color:var(--text-primary)}
.display{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.05;letter-spacing:-.02em;font-weight:500;font-family:var(--font-heading)}
.subheading{font-family:var(--font-body);font-size:clamp(var(--text-base),1.5vw,var(--text-md));font-weight:300;color:var(--text-secondary);line-height:1.7;max-width:600px}
.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--taupe);margin-bottom:var(--space-4);display:block}
.text-accent{color:var(--accent)}.text-taupe{color:var(--taupe)}
.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}
.section{padding:var(--space-20) 0}
.section--warm{background:var(--bg-warm)}
.hero-editorial{min-height:90vh;display:flex;align-items:center;background:var(--text-primary);position:relative;overflow:hidden;padding:var(--space-20) 0;color:var(--white)}
.hero-editorial h1{color:var(--white);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:500;line-height:1.05;margin-bottom:var(--space-6);letter-spacing:-.02em}
.hero-editorial h1 em{color:var(--accent-light);font-style:italic}
.hero-editorial .subtitle{font-size:clamp(var(--text-base),1.5vw,var(--text-lg));color:rgba(255,255,255,.7);font-weight:300;line-height:1.7;margin-bottom:var(--space-10);max-width:560px}
.hero-editorial__content{position:relative;z-index:2;max-width:800px;color:var(--white)}
.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.02em;transition:all var(--transition-base);white-space:nowrap;cursor:pointer;text-decoration:none}
.btn--primary{background:var(--accent);color:var(--white)}
.btn--primary:hover{background:#A84D47;color:var(--white);transform:translateY(-1px)}
.btn--outline{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.3)}
.btn--outline:hover{border-color:var(--white);background:rgba(255,255,255,.08);color:var(--white)}
.btn--whatsapp{background:#25D366;color:var(--white)}
/* Ghost button for card CTAs */
.btn--ghost{background:#F5E0DE;color:#C4615A;border:none;padding:6px 16px;font-size:0.7rem;font-weight:600!important;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;transition:all 0.25s ease;cursor:pointer;display:inline-block;text-decoration:none;}
.btn--ghost:hover{background:#C4615A;color:#FFFFFF;transform:translateY(-1px)}
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-height);background:rgba(250,248,245,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-wide);margin:0 auto;padding:0 var(--space-6)}
.nav__logo-name{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;line-height:1}
.nav__logo-tagline{font-size:.6rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--taupe);line-height:1}
.nav__links{display:flex;align-items:center;gap:var(--space-3)}
.nav__link{font-size:0.78rem;font-weight:400;color:var(--text-secondary);transition:color var(--transition-fast);white-space:nowrap}
.nav__link:hover,.nav__link.active{color:var(--text-primary)}
.nav__cta{margin-left:var(--space-4)}
.nav__hamburger{display:none;flex-direction:column;gap:5px;padding:var(--space-2);cursor:pointer}
.nav__hamburger span{display:block;width:24px;height:1.5px;background:var(--text-primary);transition:all var(--transition-base)}
.nav__mobile{display:none;position:fixed;top:var(--nav-height);left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);padding:var(--space-6);z-index:999;flex-direction:column;gap:var(--space-4)}
.nav__mobile.open{display:flex}
.nav__mobile-link{font-size:var(--text-md);font-weight:400;color:var(--text-primary);padding:var(--space-3) 0;border-bottom:1px solid var(--border);transition:color var(--transition-fast)}
.nav__mobile-link:hover{color:var(--accent)}
.footer{background:var(--text-primary);color:rgba(255,255,255,.7);padding:var(--space-20) 0 var(--space-8)}
.footer__brand-name{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:500;color:var(--white);margin-bottom:var(--space-3)}
.footer__brand-tagline{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-light);margin-bottom:var(--space-4)}
.footer__heading{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-light);margin-bottom:var(--space-4)}
.footer__link{font-size:var(--text-sm);color:rgba(255,255,255,.55);transition:color var(--transition-fast)}
.footer__link:hover{color:var(--white)}
.footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:var(--space-6);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}
.footer__cea{color:var(--accent-light)}
.card-editorial{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}
.card-editorial:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--border)}
.card-editorial__title{font-family:var(--font-body);font-size:17px;font-weight:600;line-height:1.35;color:var(--text-primary)}
.card-editorial__category{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.card-editorial__excerpt{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}
.stat-block__number{font-family:var(--font-heading);font-size:clamp(var(--text-3xl),4vw,var(--text-5xl));font-weight:600;color:var(--accent);line-height:1}
.divider{height:1px;background:var(--border);margin:var(--space-8) 0}
.cta-block{background:var(--text-primary);border-radius:var(--radius-xl);padding:var(--space-12) var(--space-16);text-align:center;color:var(--white)}
.cta-block h2{color:var(--white);margin-bottom:var(--space-4)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}

@media(max-width:768px){
:root{--nav-height:68px}
.nav__links,.nav__cta{display:none}
.nav__hamburger{display:flex}
.grid-3,.grid-2,.grid-4{grid-template-columns:1fr}
.hero-editorial{min-height:auto;padding:var(--space-16) 0}
.section{padding:var(--space-12) 0}
.cta-block{padding:var(--space-8) var(--space-6)}
.whatsapp-sticky{padding:var(--space-3);border-radius:50%}
.whatsapp-sticky span{display:none}
.footer__bottom{flex-direction:column;text-align:center}}
@media(max-width:480px){
.container{padding:0 var(--space-4)}}

/* Dark research table for project pages */
.project-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:var(--text-sm);background:var(--ink);color:rgba(255,255,255,.85);border-radius:var(--radius-lg);overflow:hidden}
.project-table thead{background:rgba(255,255,255,.08)}
.project-table th{font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);padding:var(--space-4) var(--space-5);text-align:left}
.project-table td{padding:var(--space-4) var(--space-5);border-top:1px solid rgba(255,255,255,.06)}
.project-table tbody tr:hover{background:rgba(255,255,255,.04)}
.project-table .highlight{color:var(--brass);font-weight:500}
/* Author accountability section */
.author-card{display:flex;gap:var(--space-6);align-items:flex-start;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8)}
.author-card__avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-card__name{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:500;color:var(--text-primary)}
.author-card__role{font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe)}
.author-card__credentials{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}
.credential-chip{font-size:var(--text-xs);font-weight:500;background:var(--accent-pale);color:var(--accent);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}
/* FAQ accordion styles */
.faq-item{border-bottom:1px solid var(--border);padding:0}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) 0;font-family:var(--font-body);font-size:var(--text-md);font-weight:500;color:var(--text-primary);background:none;border:none;cursor:pointer;text-align:left;transition:color var(--transition-fast)}
.faq-question:hover{color:var(--accent)}
.faq-question::after{content:'+';font-size:var(--text-lg);color:var(--taupe);transition:transform var(--transition-base)}
.faq-item.open .faq-question::after{content:'−'}
.faq-answer{padding:0 var(--space-4) var(--space-5) 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7;display:none}
.faq-item.open .faq-answer{display:block}
/* Guides as dated ledger */
.guides-ledger{list-style:none;padding:0}
.guides-ledger li{display:flex;align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border-light)}
.guides-ledger__date{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;color:var(--taupe);white-space:nowrap;min-width:80px;text-transform:uppercase;letter-spacing:.05em}
.guides-ledger__title{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--text-primary);text-decoration:none;transition:color var(--transition-fast)}
.guides-ledger__title:hover{color:var(--accent)}
.guides-ledger__meta{font-size:var(--text-xs);color:var(--text-muted);margin-left:auto;white-space:nowrap}
.guides-ledger__source{font-size:var(--text-xs);color:var(--taupe);font-style:italic}
/* Stats block — honest */
.stat-block--honest .stat-block__number{font-size:var(--text-2xl)}
/* "Coming soon" disabled states */
.coming-soon{opacity:0.4;pointer-events:none;position:relative}
.coming-soon::after{content:'Coming soon';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe);background:var(--white);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm)}
/* Section spacing — consistent gaps between all sections */
.section + .section{margin-top:var(--space-4)}
.section--warm + .section,
.section + .section--warm{margin-top:var(--space-4)}
.hero-editorial + .section{margin-top:0}
.hero-editorial + .section--warm{margin-top:0}
.section:last-child{margin-bottom:0}

/* Section spacing — gaps between all sections and headings */
.nh-section-title,
.section-header,
section + h2,
section + h3,
.section + .section,
.section--warm + .section,
.section + .section--warm,
.section--warm + .section--warm,
[class*="section"] + [class*="section"] {
  margin-top: 3rem;
}

/* Spacing before any h2 that follows content */
h2:not(:first-child),
h3:not(:first-child) {
  margin-top: 2.5rem;
}

/* Space below sections */
section:not(:last-of-type) {
  margin-bottom: 2rem;
}

/* Specific for new launch page sections */
.nh-section-title {
  margin-top: 4rem !important;
  margin-bottom: 1.5rem;
}

/* Spacing before "Get Personalised Advice" and other CTAs */
.cta-block,
[class*="cta"],
.wp-block-buttons {
  margin-top: 3rem;
}

/* Project card spacing — neat, readable */
.nh-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.nh-card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 1rem 1.25rem;
  transition: all var(--transition-fast);
}
.nh-card:hover {
  border-color: var(--border);
  box-shadow: var(--shadow-sm);
}
.nh-card a {
  font-family: var(--font-body);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--text-primary);
  text-decoration: none;
  display: block;
  margin-bottom: 0.5rem;
}
.nh-card a:hover {
  color: var(--accent);
}
.nh-desc {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.5;
}
.nh-section-title {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: 500;
  color: var(--text-primary);
  margin: 2.5rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--border-light);
}
/* Section container spacing */
.nh-section + .nh-section {
  margin-top: 2rem;
}
/* Better spacing for the whole page body */
body.page-id-1809 .container,
body.page-template-default .container {
  padding-top: 0.5rem;
}
/* Heading in cards on homepage etc */
.nh-section-title:first-of-type {
  margin-top: 0.5rem;
}
/* Spacing for "View All" links */
p a[href*="/upcoming-launches/"],
p a[href*="/property-guides/"] {
  display: inline-block;
  margin-top: 0.75rem;
}
/* Ensure content sections don't stick together */
section + section {
  margin-top: 1rem;
}

/* STRONG card spacing override */
.nh-card {
  margin-bottom: 0.75rem !important;
}
.nh-list .nh-card:last-child {
  margin-bottom: 0 !important;
}
.nh-card a[href] {
  font-size: 1rem;
  font-weight: 500;
}
/* Section spacing — clean gaps */
.nh-section-title {
  margin-top: 3rem !important;
  padding-top: 0.5rem;
  border-top: none;
}
.nh-section-title:first-of-type {
  margin-top: 1.5rem !important;
}
/* Paragraph before section titles */
.nh-section-title + p,
p + .nh-section-title {
  margin-top: 1rem;
}
/* Clean up "View All" links */
a[href*="/upcoming-launches/"],
a[href*="/property-guides/"] {
  display: inline-block;
  margin-top: 1rem;
  font-size: 0.875rem;
}




/* About page — clean editorial layout */
.page-id-1806 section {
  margin-bottom: 2rem;
}
.page-id-1806 .page-header--dark {
  background: var(--text-primary) !important;
  color: var(--white) !important;
  padding: 5rem 0 4rem;
  margin-bottom: 0;
}
.page-header--dark h1,
.page-header--dark .heading-xl {
  color: var(--white) !important;
}
.page-header--dark .subheading {
  color: rgba(255,255,255,0.7) !important;
}
.page-id-1806 .page-header--dark h1 {
  color: var(--white);
  font-size: clamp(2rem, 4vw, 3rem);
}
.page-id-1806 .page-header--dark .subheading {
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.7;
}
/* Bio section — image + text grid */
.page-id-1806 .bio-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 3rem;
  align-items: start;
}
.page-id-1806 .bio-image {
  width: 100%;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}
.page-id-1806 .bio-image img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
}
@media (max-width: 768px) {
  .page-id-1806 .bio-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
/* Credentials chips */
.page-id-1806 .credentials-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 1.5rem 0;
}
.page-id-1806 .cred-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--accent-pale);
  color: var(--accent);
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 500;
}
/* Stats row */
.page-id-1806 .stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin: 2.5rem 0;
  text-align: center;
}
.page-id-1806 .stat-num {
  font-family: var(--font-heading);
  font-size: var(--text-4xl);
  font-weight: 600;
  color: var(--accent);
  line-height: 1.1;
}
.page-id-1806 .stat-label {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin-top: 0.25rem;
}
/* Approach list */
.page-id-1806 .approach-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 2rem 0;
}
.page-id-1806 .approach-item {
  border-bottom: 1px solid var(--border-light);
  padding-bottom: 1.5rem;
}
.page-id-1806 .approach-item:last-child {
  border-bottom: none;
}
.page-id-1806 .approach-item h3 {
  font-size: var(--text-lg);
  margin-bottom: 0.5rem;
}
.page-id-1806 .approach-item p {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.7;
}
/* Specialisation cards */
.page-id-1806 .spec-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin: 2rem 0;
}
@media (max-width: 600px) {
  .page-id-1806 .spec-grid {
    grid-template-columns: 1fr;
  }
}
.page-id-1806 .spec-card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
}
.page-id-1806 .spec-card h3 {
  font-size: var(--text-md);
  margin-bottom: 0.75rem;
}
.page-id-1806 .spec-card p {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.6;
}
/* Section header */
.page-id-1806 .section-header--center {
  text-align: center;
  margin-bottom: 2rem;
}
.page-id-1806 .label {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.75rem;
  color: var(--taupe);
}
/* Headings */
.page-id-1806 h2 {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: 500;
  margin: 2.5rem 0 1rem;
}
.page-id-1806 h3 {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 500;
  margin: 1.5rem 0 0.5rem;
}
/* CTA */
.page-id-1806 .cta-block {
  background: var(--text-primary);
  border-radius: var(--radius-xl);
  padding: 4rem 2rem;
  text-align: center;
  color: var(--white);
}
.page-id-1806 .cta-block h2 {
  color: var(--white);
  margin-top: 0;
}
/* Spacing helpers */
.page-id-1806 .mt-4 { margin-top: 1.5rem; }
.page-id-1806 .mt-6 { margin-top: 2.5rem; }

/* Enhanced project cards */
.nh-card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 1rem 1.25rem;
  transition: all 0.2s ease;
  margin-bottom: 0.75rem !important;
}
.nh-card:hover {
  border-color: var(--border);
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  transform: translateY(-1px);
}
.nh-card a {
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 0.25rem !important;
}
.nh-card a:hover {
  color: var(--accent) !important;
}
.nh-desc {
  font-size: 0.8rem;
  color: var(--text-secondary);
  line-height: 1.5;
}
/* Section title styling */
.nh-section-title {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  font-weight: 500;
  margin: 2.5rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--border-light);
}
.nh-section-title:first-of-type {
  margin-top: 1rem;
}
/* Page level container padding for content pages */
.page-id-1809 .container {
  padding-top: 1rem;
  padding-bottom: 2rem;
}

/* Breadcrumb navigation */
.breadcrumb {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  color: var(--text-muted);
  padding: 1rem 0 0;
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--space-6);
  padding-right: var(--space-6);
}
.breadcrumb a {
  color: var(--taupe);
  text-decoration: none;
}
.breadcrumb a:hover {
  color: var(--accent);
  text-decoration: underline;
}
.breadcrumb .sep {
  margin: 0 0.4rem;
  color: var(--text-muted);
}
.breadcrumb .current {
  color: var(--text-secondary);
  font-weight: 500;
}

/* Hero stats — premium display */
.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin: 2rem 0;
  padding: 2rem;
  background: rgba(255,255,255,0.05);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,0.08);
}
.hero-stat {
  text-align: center;
}
.hero-stat__number {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 600;
  color: var(--accent-light);
  line-height: 1.1;
  display: block;
}
.hero-stat__label {
  font-size: var(--text-xs);
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 0.25rem;
  display: block;
}
/* Testimonial block */
.testimonial {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  position: relative;
}
.testimonial::before {
  content: '"';
  font-family: var(--font-heading);
  font-size: 4rem;
  color: var(--accent-pale);
  position: absolute;
  top: 0.5rem;
  left: 1.5rem;
  line-height: 1;
  opacity: 0.5;
}
.testimonial__text {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.7;
  font-style: italic;
  margin-bottom: var(--space-4);
}
.testimonial__author {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--text-primary);
}
.testimonial__detail {
  font-size: var(--text-xs);
  color: var(--text-muted);
}
/* As featured in strip */
.as-seen-in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
  padding: 1.5rem 0;
  justify-content: center;
  opacity: 0.6;
  font-size: var(--text-xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
/* Social icon buttons */
.social-links {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}
.social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: var(--accent-pale);
  color: var(--accent);
  transition: all 0.2s ease;
  font-size: 1rem;
}
.social-link:hover {
  background: var(--accent);
  color: var(--white);
  transform: translateY(-2px);
}
/* Stronger focus on CTA buttons */
.btn--primary {
  box-shadow: 0 2px 8px rgba(196,97,90,0.25);
}
.btn--primary:hover {
  box-shadow: 0 4px 16px rgba(196,97,90,0.35);
  transform: translateY(-2px);
}
/* Card image fallback - colored gradient if no image */
.card-image-placeholder {
  width: 100%;
  height: 120px;
  background: linear-gradient(135deg, var(--bg-warm), var(--border));
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--taupe);
  font-size: 2rem;
}

/* ============================================
   Animation & Interactive Styles
   ============================================ */

/* Scroll reveal animations */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.animate-on-scroll.revealed {
  opacity: 1;
  transform: translateY(0);
}
/* Stagger children */
.animate-on-scroll.revealed:nth-child(2) { transition-delay: 0.1s; }
.animate-on-scroll.revealed:nth-child(3) { transition-delay: 0.2s; }
.animate-on-scroll.revealed:nth-child(4) { transition-delay: 0.3s; }

/* Counter animation base */
[data-count] {
  transition: all 0.3s ease;
}

/* Nav compact on scroll */
.nav--compact {
  height: 64px !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.08);
}
.nav--compact .nav__logo-name {
  font-size: 1.1rem;
}
.nav--compact .nav__logo-tagline {
  display: none;
}
.nav {
  transition: height 0.3s ease, box-shadow 0.3s ease;
}

/* Card entrance stagger */
.card-editorial {
  transition: all 0.3s ease;
}
.card-editorial:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

/* Button press effect */
.btn:active {
  transform: scale(0.97);
}

/* FAQ accordion smooth animation */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 var(--space-4) 0 0;
}
.faq-item.open .faq-answer {
  max-height: 500px;
  padding: var(--space-3) var(--space-4) var(--space-5) 0;
}
.faq-question {
  transition: color 0.2s ease;
}
.faq-question::after {
  transition: transform 0.3s ease;
}
.faq-item.open .faq-question::after {
  transform: rotate(45deg);
}

/* Hero subtle parallax */
.hero-editorial {
  transition: background-position 0.1s ease;
}

/* WhatsApp button gentle pulse */
@keyframes pulse-whatsapp {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.4); }
  50% { box-shadow: 0 0 0 8px rgba(37, 211, 102, 0); }
}
.whatsapp-sticky {
  animation: pulse-whatsapp 3s ease-in-out infinite;
}

/* Smooth skeleton while Fraunces loads */
.fonts-loading h1,
.fonts-loading h2,
.fonts-loading .display {
  font-family: Georgia, serif;
}

/* Nav link sizing for medium screens */
@media(max-width:1200px){
.nav__links{gap:var(--space-3)}
.nav__link{font-size:0.75rem}}
@media(max-width:1100px){
.nav__links{gap:var(--space-2)}
.nav__link{font-size:0.7rem}}

/* ============================================
   Project Page Alignment Fixes
   ============================================ */

/* Ensure all project page sections have consistent horizontal padding */
.premium-section .container,
.project-section .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Fix features grid — ensure 3-column alignment on desktop */
.premium-features {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}

/* Fix features grid — 2 columns on tablet */
@media (max-width: 900px) {
  .premium-features,
  .premium-locs {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Fix features grid — 1 column on mobile */
@media (max-width: 600px) {
  .premium-features,
  .premium-locs {
    grid-template-columns: 1fr !important;
  }
  .premium-unit-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .premium-stats {
    grid-template-columns: repeat(2, 1fr) !important;
    margin-top: -40px;
  }
}

/* Fix stat cards alignment */
.premium-stats {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

/* Ensure feature cards have consistent heights */
.premium-feat {
  height: auto;
  min-height: 140px;
}

/* Fix location cards alignment */
.premium-locs {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}

/* Fix unit grid alignment */
.premium-unit-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}

/* Center section headings */
.premium-section h2,
.premium-section h3 {
  text-align: left;
  margin-bottom: 24px;
}

/* FAQ alignment */
.premium-faq {
  max-width: 700px;
  margin: 0 auto;
}

/* Fix mobile alignment for all project page sections */
@media (max-width: 768px) {
  .premium-section {
    padding: 40px 0 !important;
  }
  .premium-section .container {
    padding: 0 16px;
  }
  .premium-unit-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* About page header fix — ensure dark background renders */
.page-header--dark {
  background: var(--text-primary) !important;
  color: var(--white) !important;
  padding: 5rem 0 4rem;
  margin-bottom: 0;
}
.page-header--dark h1 {
  color: var(--white) !important;
}
.page-header--dark .heading-xl {
  color: var(--white) !important;
}
.page-header--dark .subheading {
  color: rgba(255,255,255,0.7) !important;
}
/* Add missing CSS variables */
:root {
  --charcoal: #1A1A2E;
  --beige: #F5F2ED;
  --gold: #C4A962;
}

/* ============================================
   Mobile Responsive — 320px to 430px (iPhone)
   ============================================ */

/* Very small phones */
@media(max-width:360px){
  :root{--nav-height:58px}
  .container{padding:0 12px!important}
  h1,.display{font-size:1.6rem!important;line-height:1.15!important}
  h2{font-size:1.3rem!important}
  h3{font-size:1.1rem!important}
  .subheading,.subtitle{font-size:0.8rem!important}
  body{font-size:0.85rem}
  .hero-editorial{padding:var(--space-10) 0!important;min-height:auto!important}
  .hero-byline{gap:var(--space-2)!important;font-size:0.7rem!important}
  .hero-questions .btn{font-size:0.65rem!important;padding:var(--space-1) var(--space-3)!important}
  .section{padding:var(--space-8) 0!important}
  .grid-3,.grid-2{grid-template-columns:1fr!important;gap:var(--space-4)!important}
  .stat-block__number{font-size:1.8rem!important}
  .card-editorial__title{font-size:15px!important}
  .nh-card a{font-size:1rem!important}
  .footer{padding:var(--space-10) 0!important}
  .footer__grid{grid-template-columns:1fr!important;gap:var(--space-6)!important}
  .author-card{flex-direction:column!important}
  .testimonial{grid-template-columns:1fr!important}
  .breadcrumb{font-size:0.65rem!important;padding:0.5rem 12px!important}
  .page-header--dark{padding:3rem 0 2rem!important}
  .page-id-1806 .bio-grid{grid-template-columns:1fr!important}
  .page-id-1806 .stats-grid{grid-template-columns:1fr!important;gap:1rem!important}
  .whatsapp-sticky{width:44px!important;height:44px!important;bottom:16px!important;right:12px!important}
  .whatsapp-sticky span{display:none!important}
  .filter-tabs{overflow-x:auto!important;white-space:nowrap!important;padding-bottom:8px!important}
  .filter-tab{padding:6px 12px!important;font-size:0.7rem!important}
  .search-bar{flex-direction:column!important}
  .search-bar input{width:100%!important;font-size:0.85rem!important}
  .search-bar button{width:100%!important;margin-top:4px!important}
}

/* Standard iPhones (375-430px) */
@media(max-width:430px) and (min-width:361px){
  :root{--nav-height:62px}
  .container{padding:0 16px!important}
  h1,.display{font-size:1.8rem!important}
  h2{font-size:1.4rem!important}
  h3{font-size:1.15rem!important}
  .hero-editorial{padding:var(--space-12) 0!important;min-height:auto!important}
  .hero-byline{gap:var(--space-2)!important;font-size:0.75rem!important}
  .hero-byline span[style*="opacity"]{display:none!important}
  .hero-questions .btn{font-size:0.7rem!important;padding:var(--space-1) var(--space-3)!important}
  .section{padding:var(--space-10) 0!important}
  .grid-3,.grid-2{grid-template-columns:1fr!important;gap:var(--space-4)!important}
  .stat-block__number{font-size:2rem!important}
  .card-editorial__title{font-size:16px!important}
  .nh-card a{font-size:1rem!important}
  .footer{padding:var(--space-12) 0!important}
  .footer__grid{grid-template-columns:1fr!important;gap:var(--space-6)!important}
  .page-header--dark{padding:3.5rem 0 2.5rem!important}
  .whatsapp-sticky{width:48px!important;height:48px!important;bottom:20px!important;right:16px!important}
  .whatsapp-sticky span{display:none!important}
  .filter-tabs{overflow-x:auto!important;white-space:nowrap!important;padding-bottom:8px!important;-webkit-overflow-scrolling:touch!important}
  .filter-tab{padding:6px 14px!important;font-size:0.75rem!important;flex-shrink:0!important}
  .search-bar{flex-direction:column!important}
  .search-bar input{width:100%!important;font-size:0.9rem!important}
  .search-bar button{width:100%!important;margin-top:4px!important}
  .breadcrumb{font-size:0.7rem!important;padding:0.5rem 16px!important}
  .page-id-1806 .bio-grid{grid-template-columns:1fr!important}
  .page-id-1806 .stats-grid{grid-template-columns:1fr 1fr!important;gap:1rem!important}
  .page-id-1806 .approach-list{gap:1rem!important}
}

/* Fix nav at mobile — hamburger always shows below 1100px */
@media(max-width:1100px){
  .nav__links,.nav__cta{display:none!important}
  .nav__hamburger{display:flex!important}
}

/* Hide nav tagline on very small screens */
@media(max-width:430px){
  .nav__logo-tagline{display:none!important}
  .nav__logo-name{font-size:1rem!important}
}

/* Fix mobile footer */
@media(max-width:430px){
  .footer__bottom{flex-direction:column!important;text-align:center!important;gap:var(--space-2)!important}
  .footer__cea{font-size:0.7rem!important}
  .footer__legal{font-size:0.7rem!important}
}

/* Fix testimonial grid on mobile */
@media(max-width:600px){
  .testimonial{grid-template-columns:1fr!important}
}

/* Fix section heading spacing on mobile */
@media(max-width:430px){
  .nh-section-title{font-size:1.3rem!important;margin:1.5rem 0 0.75rem!important}
  .section-header{margin-bottom:1rem!important}
  .cta-block{padding:2rem 1rem!important}
  .cta-block h2{font-size:1.3rem!important}
}

/* Search bar styling — mobile friendly */
.search-bar {
  display: flex;
  gap: 4px;
  max-width: 100%;
  margin: 1rem 0;
}
.search-bar input {
  flex: 1;
  min-width: 0;
  padding: 10px 14px;
  border: 1px solid #E2D9CE;
  border-radius: 6px;
  font-family: Inter, sans-serif;
  font-size: 0.9rem;
  background: #FFFFFF;
  color: #1A1A2E;
  outline: none;
}
.search-bar input::placeholder {
  color: #9A9A9A;
}
.search-bar button {
  padding: 10px 18px;
  background: #C4615A;
  color: #FFFFFF;
  border: none;
  border-radius: 6px;
  font-weight: 500;
  font-size: 0.85rem;
  cursor: pointer;
  white-space: nowrap;
}

/* WhatsApp sticky — repositioned, smaller on mobile */
.whatsapp-sticky {
  position: fixed;
  bottom: 24px;
  right: 20px;
  z-index: 999;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: #25D366;
  color: #FFFFFF;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(37,211,102,0.3);
  transition: all 0.3s ease;
}
.whatsapp-sticky svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
@media(max-width:430px){
  .whatsapp-sticky {
    bottom: 16px;
    right: 12px;
    padding: 10px;
    border-radius: 50%;
  }
  .whatsapp-sticky span {
    display: none;
  }
  .whatsapp-sticky svg {
    width: 22px;
    height: 22px;
  }
}

/* Filter tabs — scrollable, touch-friendly */
.filter-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  white-space: nowrap;
  padding-bottom: 8px;
  margin: 1rem 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.filter-tabs::-webkit-scrollbar {
  display: none;
}
.filter-tab {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  background: #F5F2ED;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #5C5C5C;
  white-space: nowrap;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
  flex-shrink: 0;
  text-decoration: none;
}
.filter-tab.active,
.filter-tab[aria-selected="true"] {
  background: #C4615A;
  color: #FFFFFF;
}

/* Guide card responsive */
@media(max-width:430px){
  .card-editorial {
    margin-bottom: 16px !important;
  }
  .card-editorial__title {
    font-size: 16px !important;
  }
  .card-editorial__excerpt {
    font-size: 0.8rem !important;
  }
}

/* Section padding mobile */
@media(max-width:430px){
  .section {
    padding: 2rem 0 !important;
  }
  .section-header {
    margin-bottom: 0.75rem;
  }
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Compact project page top margins */
.premium-section {
  padding: 40px 0 !important;
}
.premium-section--sm {
  padding: 24px 0 !important;
}
.premium-section--beige {
  padding: 40px 0 !important;
}
.premium-stats {
  margin-top: -30px !important;
}
/* Ensure breadcrumb doesn't add extra space */
nav[style*="breadcrumb"],
nav:not([class]) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Compact header on project pages */
header[style*="background:#1A1A2E"] {
  padding-top: calc(80px + 30px) !important;
  padding-bottom: 24px !important;
}
@media(max-width:430px){
  header[style*="background:#1A1A2E"] {
    padding-top: calc(60px + 20px) !important;
    padding-bottom: 16px !important;
  }
  .premium-section {
    padding: 24px 0 !important;
  }
  .premium-section--beige {
    padding: 24px 0 !important;
  }
}

/* Property guides page — compact header */
.page-id-1808 .page-header--dark {
  padding: calc(80px + 20px) 0 20px !important;
}
.page-id-1808 .page-header--dark .heading-xl {
  font-size: 1.6rem !important;
  margin-top: 0.5rem !important;
}
.page-id-1808 .page-header--dark .label {
  margin-bottom: 0.25rem !important;
}
.page-id-1808 .category-links {
  margin-top: -0.5rem !important;
}
.page-id-1808 .filter-tabs {
  margin: 0.5rem 0 !important;
}
.page-id-1808 .search-bar {
  margin: 0.5rem 0 !important;
}
.page-id-1808 .section:first-of-type {
  padding-top: 1rem !important;
}
@media(max-width:430px){
  .page-id-1808 .page-header--dark {
    padding: calc(60px + 16px) 0 16px !important;
  }
  .page-id-1808 .page-header--dark .heading-xl {
    font-size: 1.3rem !important;
  }
}



/* Ensure no blue links in dark sections */
header * a,
.footer * a,
.hero-editorial * a {
  color: inherit;
}

/* BAN ALL BLUE LINK COLORS — sites overrides */
a, a:link, a:visited, a:hover, a:active, a:focus {
  color: #C4615A !important;
}
a.btn, a.btn:link, a.btn:visited {
  color: inherit !important;
}
a.btn--primary, a.btn--primary:link, a.btn--primary:visited {
  color: #FFFFFF !important;
}
/* Filter tab buttons — white text */
.filter-tab {
  color: #1A1A2E !important;
  background: #F5F2ED !important;
}
.filter-tab.active, .filter-tab[aria-selected="true"] {
  color: #FFFFFF !important;
  background: #C4615A !important;
}
/* Category link buttons */
.btn--sm, a.btn--sm {
  color: #FFFFFF !important;
}
.btn--sm[style*="outline"], a.btn--sm[style*="outline"] {
  color: #1A1A2E !important;
  border-color: #E2D9CE !important;
}
/* All WordPress default blues -> terracotta */
.wp-block-button__link {
  background: #C4615A !important;
  color: #FFFFFF !important;
}
/* Hero nav items */
.nav__link {
  color: #5C5C5C !important;
}
.nav__link.active {
  color: #1A1A2E !important;
}
/* Guide card links */
.card-editorial a,
.card-editorial__title a {
  color: #1A1A2E !important;
}
.card-editorial__category {
  color: #C4615A !important;
}
/* Footer links */
.footer a {
  color: rgba(255,255,255,0.55) !important;
}
.footer a:hover {
  color: #FFFFFF !important;
}
/* Search button */
.search-bar button {
  background: #C4615A !important;
  color: #FFFFFF !important;
}
/* FAQ question buttons */
.faq-question {
  color: #1A1A2E !important;
}

/* Fix broken gold accent color references */
[style*="color: #c9a96e"] {
  color: #C4A962 !important;
}

/* Ensure grid-3 has gaps between cards */
.grid-3 {
  gap: 24px !important;
}
.grid-2 {
  gap: 24px !important;
}
/* Card spacing in all grids */
.card-editorial {
  margin-bottom: 0 !important;
}

/* Card inner padding — text not touching edges */
.card-editorial {
  padding: 1.25rem !important;
  margin-bottom: 24px !important;
}
.card-editorial__title {
  margin-bottom: 0.5rem;
}
.card-editorial__excerpt,
.card-editorial p {
  margin-bottom: 0.75rem;
}
.card-editorial__meta {
  display: block;
  margin-bottom: 0.75rem;
}
/* Project cards padding */
.nh-card {
  padding: 1rem 1.25rem !important;
}
.nh-card a {
  margin-bottom: 0.25rem;
}
.nh-desc {
  line-height: 1.5;
}
/* Premium feature cards */
.premium-feat {
  padding: 1.5rem !important;
}
/* Testimonial cards */
.testimonial {
  padding: 1.5rem !important;
}
