/*
 * DRAFT CONSTRUCTIVE DESIGN — Global Design System
 * Theme: White + Sage + Dark Gold
 * Fonts: Cormorant Garamond (serif) + Montserrat (display) + Nunito Sans (body)
 */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=Montserrat:wght@400;500;600;700&family=Nunito+Sans:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');

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

:root {
  --white:       #FFFFFF;
  --off-white:   #F8F9FA;
  --light:       #F0F4F1;
  --sage:        #5C8A6E;
  --sage-mid:    #7A9E87;
  --sage-light:  #A8C4B0;
  --sage-tint:   rgba(92,138,110,0.08);
  --sage-border: rgba(92,138,110,0.25);
  --gold:        #9A6F2A;
  --gold-mid:    #B8862E;
  --gold-light:  #C5A059;
  --gold-tint:   rgba(154,111,42,0.08);
  --gold-border: rgba(154,111,42,0.30);
  --ink:         #1A2620;
  --ink2:        #344A3C;
  --muted:       #4A5E52;
  --border:      #DDE6E0;
  --serif:   "Cormorant Garamond", Georgia, serif;
  --display: "Montserrat", system-ui, sans-serif;
  --body:    "Nunito Sans", system-ui, sans-serif;
  --fs-xs:   0.8rem;
  --fs-sm:   0.95rem;
  --fs-base: 1.1rem;
  --fs-md:   1.2rem;
  --fs-lg:   1.35rem;
  --fs-xl:   clamp(2rem, 3.2vw, 2.9rem);
  --fs-hero: clamp(2.2rem, 3.5vw, 3.8rem);
}

html { scroll-behavior:smooth; font-size:16px; }
body { font-family:var(--body); background:var(--white); color:var(--ink); line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased; }

.page-bg { display:none; }
.wrap { position:relative; z-index:1; padding-top:0; }
/* Homepage hero bleeds under nav */
.h3pg ~ * { padding-top:0; }
.h3pg { margin-top:0; padding-top:0; }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ── NAVBAR ── */
.site-nav-wrap { background:transparent; padding:0.6rem 2%; position:fixed; top:0; left:0; right:0; z-index:300; }
.site-nav {
  display:grid; grid-template-columns:auto 1fr auto;
  align-items:center; padding:0 2.5rem; height:64px;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-radius:0;
  box-shadow:0 4px 24px rgba(0,0,0,0.12);
  max-width:1280px; margin:0 auto;
}
.nav-logo img { height:42px; display:block; }
.nav-links { list-style:none; display:flex; align-items:center; gap:0; justify-content:center; }
.nav-links .nav-cta-item { display:none; }
.nav-cta-right { display:flex; justify-content:flex-end; align-items:center; }
.nav-cta-right a {
  background:var(--sage); color:#FFF;
  font-family:var(--display); font-size:0.7rem; font-weight:700;
  letter-spacing:1px; text-transform:uppercase; text-decoration:none;
  padding:0.55rem 1.4rem; border-radius:0;
  border:none; transition:background 0.25s; white-space:nowrap;
}
.nav-cta-right a:hover { background:var(--sage-mid); }
.nav-links a {
  font-family:var(--display); font-size:0.72rem; font-weight:700;
  letter-spacing:1px; text-transform:uppercase; color:var(--ink);
  text-decoration:none; padding:0 1rem; height:64px;
  display:flex; align-items:center; position:relative;
  transition:color 0.2s;
}
.nav-links a::after {
  content:''; position:absolute; bottom:10px; left:1rem; right:1rem; height:2px;
  background:var(--sage); transform:scaleX(0); transition:transform 0.25s ease;
  border-radius:2px;
}
.nav-links a:hover { color:var(--sage); }
.nav-links a:hover::after { transform:scaleX(1); }
.nav-links a.active { color:var(--sage); }
.nav-links a.active::after { transform:scaleX(1); }
.nav-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; margin-left:0.8rem; }
.nav-toggle span { display:block; width:22px; height:1px; background:var(--ink); transition:0.3s; }

/* ── PAGE HERO BAND ── */
.page-hero-band {
  padding:52px 6% 40px; border-bottom:1px solid var(--border);
  background:var(--light); position:relative; overflow:hidden;
  padding-top:calc(52px + 82px);
}
.page-hero-band .eyebrow { color:var(--sage); margin-bottom:1.2rem; }
.page-hero-band .eyebrow::before { background:var(--sage); }
.page-hero-band h1 { font-family:var(--serif); font-size:var(--fs-hero); font-weight:600; color:var(--ink); line-height:1.1; margin-bottom:0.8rem; }
.page-hero-band h1 em { font-style:italic; color:var(--gold); }
.page-hero-band p { font-size:var(--fs-base); color:var(--muted); }
.page-hero-band .gold-line { width:32px; height:2px; background:var(--gold); margin-top:1.2rem; }

/* ── TYPOGRAPHY HELPERS ── */
.eyebrow {
  display:inline-flex; align-items:center; gap:0.7rem;
  font-family:var(--display); font-size:var(--fs-xs); font-weight:700;
  letter-spacing:4px; text-transform:uppercase; color:var(--sage); margin-bottom:0.9rem;
}
.eyebrow::before { content:""; display:block; width:22px; height:1px; background:var(--sage); }
.section-title { font-family:var(--serif); font-size:var(--fs-xl); font-weight:600; color:var(--ink); line-height:1.2; }
.section-title em { font-style:italic; color:var(--gold); }
.section-sub { font-size:var(--fs-base); color:var(--muted); margin-top:0.6rem; line-height:1.75; }
.section-label { font-family:var(--display); font-size:var(--fs-xs); font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--sage); display:block; margin-bottom:0.9rem; }
.gold-line { width:32px; height:2px; background:var(--gold); margin-top:1rem; }
.gold-line-center { margin:1rem auto 0; }
.mt-sm { margin-top:1rem; }
.mt-lg { margin-top:2rem; }
.text-center { text-align:center; }

/* ── BUTTONS ── */
.btn-primary {
  display:inline-flex; align-items:center; gap:0.6rem;
  background:var(--sage); color:#FFF;
  font-family:var(--display); font-size:var(--fs-xs); font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase; text-decoration:none;
  padding:0.9rem 1.8rem; border:1px solid var(--sage); cursor:pointer; transition:background 0.25s; white-space:nowrap;
}
.btn-primary:hover { background:var(--sage-mid); border-color:var(--sage-mid); }
.btn-primary svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.btn-ghost {
  display:inline-flex; align-items:center; gap:0.6rem;
  background:transparent; color:var(--gold);
  font-family:var(--display); font-size:var(--fs-xs); font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase; text-decoration:none;
  padding:0.9rem 1.8rem; border:1px solid var(--gold-border); cursor:pointer; transition:background 0.25s; white-space:nowrap;
}
.btn-ghost:hover { background:var(--gold-tint); }
.btn-ghost svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ── SECTIONS ── */
.d-section { padding:48px 6%; background:var(--white); border-bottom:1px solid var(--border); }
.d-section-alt { background:var(--off-white); }
.d-inner { max-width:1280px; margin:0 auto; }
.d-header { margin-bottom:2rem; }
.d-header.center { text-align:center; }
.d-header.center .gold-line { margin:1rem auto 0; }

/* ── STATS ROW ── */
.stats-row { background:var(--light); border-bottom:1px solid var(--border); padding:0 6%; }
.stats-row-inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
.stat-item { padding:2rem 1.8rem; border-right:1px solid var(--border); transition:background 0.2s; }
.stat-item:first-child { border-left:1px solid var(--border); }
.stat-item:hover { background:var(--sage-tint); }
.stat-num { font-family:var(--serif); font-size:2rem; font-weight:600; color:var(--gold); display:block; line-height:1; }
.stat-lbl { font-family:var(--display); font-size:var(--fs-xs); font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); margin-top:0.4rem; display:block; }

/* ── SERVICE CARDS ── */
.svc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.5rem; }
.svc-card { background:var(--white); border:1px solid var(--border); border-top:3px solid var(--sage); padding:2rem 1.8rem; transition:box-shadow 0.2s; }
.svc-card:hover { box-shadow:0 6px 24px rgba(92,138,110,0.10); }
.svc-num { font-family:var(--serif); font-size:1.4rem; color:var(--gold); font-weight:300; display:block; margin-bottom:0.8rem; opacity:0.8; }
.svc-icon { width:42px; height:42px; border:1px solid var(--sage-border); background:var(--sage-tint); display:flex; align-items:center; justify-content:center; color:var(--sage); margin-bottom:1rem; }
.svc-icon svg { width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.svc-card h3 { font-family:var(--display); font-size:var(--fs-sm); font-weight:600; color:var(--ink); margin-bottom:0.5rem; line-height:1.3; }
.svc-card p { font-size:var(--fs-sm); color:var(--muted); line-height:1.7; }

/* ── FEATURE LIST ── */
.feature-list { display:flex; flex-direction:column; gap:0; border:1px solid var(--border); }
.feature-item { display:flex; align-items:flex-start; gap:1.2rem; padding:1.5rem 1.6rem; border-bottom:1px solid var(--border); transition:background 0.2s; background:var(--white); }
.feature-item:last-child { border-bottom:none; }
.feature-item:hover { background:var(--light); }
.feature-icon { width:36px; height:36px; min-width:36px; border:1px solid var(--sage-border); background:var(--sage-tint); display:flex; align-items:center; justify-content:center; color:var(--sage); flex-shrink:0; }
.feature-icon svg { width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.feature-item h4 { font-family:var(--display); font-size:var(--fs-sm); font-weight:600; color:var(--ink); margin-bottom:0.25rem; }
.feature-item p { font-size:var(--fs-sm); color:var(--muted); line-height:1.65; }

/* ── ABOUT SPLIT ── */
.about-split { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.about-text p { font-size:var(--fs-base); color:var(--muted); line-height:1.85; margin-bottom:1rem; }
.pull-quote { border-left:3px solid var(--gold); padding:0.9rem 1.4rem; margin:1.6rem 0; background:var(--off-white); }
.pull-quote p { font-family:var(--serif); font-size:var(--fs-lg); font-style:italic; font-weight:600; color:var(--ink); line-height:1.6; margin:0; }

/* ── STEP GRID ── */
.step-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:1.5rem; }
.step-card { background:var(--white); border:1px solid var(--border); padding:1.8rem 1.6rem; transition:border-color 0.2s, background 0.2s; }
.step-card:hover { border-color:var(--sage-border); background:var(--light); }
.step-num { font-family:var(--serif); font-size:2.8rem; font-weight:300; color:var(--gold); opacity:0.2; line-height:1; display:block; margin-bottom:0.8rem; transition:opacity 0.2s; }
.step-card:hover .step-num { opacity:0.6; }
.step-card h3 { font-family:var(--display); font-size:var(--fs-sm); font-weight:600; color:var(--ink); margin-bottom:0.4rem; }
.step-card p { font-size:var(--fs-sm); color:var(--muted); line-height:1.65; }

/* ── CONTACT GRID ── */
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:0; border:1px solid var(--border); }
.contact-info-panel { padding:3rem; border-right:1px solid var(--border); border-top:3px solid var(--sage); }
.contact-info-panel h3 { font-family:var(--serif); font-size:1.6rem; font-weight:600; color:var(--ink); margin-bottom:2rem; }
.contact-row { display:flex; gap:1rem; align-items:flex-start; padding:1rem 0; border-bottom:1px solid var(--border); }
.contact-row:last-of-type { border-bottom:none; }
.contact-icon { width:32px; height:32px; min-width:32px; color:var(--sage); display:flex; align-items:center; justify-content:center; }
.contact-icon svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.contact-row p { font-size:var(--fs-sm); color:var(--muted); line-height:1.7; }
.contact-row a { color:var(--muted); text-decoration:none; transition:color 0.2s; }
.contact-row a:hover { color:var(--sage); }
.social-row { display:flex; gap:0.8rem; margin-top:1.8rem; flex-wrap:wrap; }
.social-btn { display:inline-flex; align-items:center; gap:0.5rem; border:1px solid var(--border); padding:0.5rem 1rem; font-family:var(--display); font-size:var(--fs-xs); font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:border-color 0.2s, color 0.2s; }
.social-btn:hover { border-color:var(--sage-border); color:var(--sage); }
.social-btn svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.5; }

/* ── FORM PANEL ── */
.form-panel { padding:3rem; border-top:3px solid var(--sage); }
.form-panel h3 { font-family:var(--serif); font-size:1.6rem; font-weight:600; color:var(--ink); margin-bottom:2rem; }
.form-panel input, .form-panel select, .form-panel textarea {
  width:100%; background:var(--off-white); border:1px solid var(--border);
  color:var(--ink); font-family:var(--body); font-size:var(--fs-sm);
  padding:0.85rem 1rem; margin-bottom:1rem; outline:none;
  transition:border-color 0.2s; appearance:none; -webkit-appearance:none;
}
.form-panel input::placeholder, .form-panel textarea::placeholder { color:var(--muted); }
.form-panel input:focus, .form-panel select:focus, .form-panel textarea:focus { border-color:var(--sage); }
.form-panel select { cursor:pointer; }
.form-panel select option { background:#fff; color:var(--ink); }
.form-panel textarea { min-height:130px; resize:vertical; }
.alert-ok { background:var(--sage-tint); border:1px solid var(--sage-border); color:var(--sage); padding:0.9rem 1.2rem; font-size:var(--fs-sm); margin-bottom:1.2rem; }
.alert-err { background:rgba(200,60,60,0.08); border:1px solid rgba(200,60,60,0.25); color:#c0392b; padding:0.9rem 1.2rem; font-size:var(--fs-sm); margin-bottom:1.2rem; }

/* ── MAP ── */
.map-wrap { border-bottom:1px solid var(--border); }
.map-wrap iframe { display:block; width:100%; height:380px; border:none; filter:grayscale(0.2); }

/* ── FAQ ── */
.faq-list { max-width:800px; margin:2.5rem auto 0; display:flex; flex-direction:column; gap:0; border:1px solid var(--border); }
.faq-item { padding:1.4rem 1.8rem; border-bottom:1px solid var(--border); transition:background 0.2s; }
.faq-item:last-child { border-bottom:none; }
.faq-item:hover { background:var(--sage-tint); }
.faq-item h3 { font-family:var(--display); font-size:var(--fs-sm); font-weight:600; color:var(--ink); margin-bottom:0.4rem; }
.faq-item p { font-size:var(--fs-sm); color:var(--muted); line-height:1.65; }

/* ── CTA BAND ── */
.cta-band { background:var(--light); border-top:1px solid var(--border); padding:64px 6%; }
.cta-band-inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr auto; align-items:center; gap:3rem; }
.cta-band h2 { font-family:var(--serif); font-size:var(--fs-xl); font-weight:600; color:var(--ink); line-height:1.2; }
.cta-band h2 em { font-style:italic; color:var(--gold); }
.cta-band p { font-size:var(--fs-base); color:var(--muted); margin-top:0.8rem; line-height:1.7; }
.cta-band .section-label { color:var(--gold); }
.cta-band .section-label::before { background:var(--gold); }
.cta-actions { display:flex; flex-direction:column; gap:0.8rem; align-items:flex-end; min-width:220px; }

/* ── FOOTER ── */
.site-footer { background:var(--ink); border-top:1px solid rgba(255,255,255,0.08); padding:3rem 6%; }
.footer-inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1.5fr 0.8fr 1fr 1fr; gap:3rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(255,255,255,0.08); }
.footer-brand img { height:44px; margin-bottom:1.2rem; display:block; }
.footer-brand p { font-size:var(--fs-sm); color:rgba(255,255,255,0.45); line-height:1.7; max-width:280px; }
.footer-col h4 { font-family:var(--display); font-size:var(--fs-xs); font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--sage-light); margin-bottom:1.2rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.6rem; }
.footer-col ul li a { font-size:var(--fs-sm); color:rgba(255,255,255,0.5); text-decoration:none; transition:color 0.2s; }
.footer-col ul li a:hover { color:#fff; }
.footer-col address { font-style:normal; font-size:var(--fs-sm); color:rgba(255,255,255,0.5); line-height:1.8; }
.footer-col address a { color:rgba(255,255,255,0.5); text-decoration:none; transition:color 0.2s; }
.footer-col address a:hover { color:#fff; }
.footer-bottom { max-width:1280px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding-top:1.8rem; flex-wrap:wrap; gap:1rem; }
.footer-bottom p { font-size:var(--fs-xs); color:rgba(255,255,255,0.35); }
.footer-social { display:flex; gap:0.8rem; }
.footer-social a { width:32px; height:32px; border:1px solid rgba(255,255,255,0.15); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.45); text-decoration:none; transition:border-color 0.2s, color 0.2s; }
.footer-social a:hover { border-color:var(--sage-border); color:var(--sage-light); }
.footer-social a svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.5; }

/* ── MOBILE NAV ── */
@media(max-width:768px){
  .site-nav-wrap { padding:0; }
  .site-nav { grid-template-columns:1fr auto; border-radius:0; padding:0 1.2rem; height:58px; }
  .nav-toggle { display:flex; }
  .nav-cta-right a:not(.nav-toggle) { display:none; }
  .nav-links { display:none; flex-direction:column; gap:0; position:absolute; top:calc(100% + 0.5rem); left:1rem; right:1rem; background:rgba(255,255,255,0.92);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%); border-radius:16px; box-shadow:0 8px 32px rgba(0,0,0,0.15); padding:0.5rem 0; }
  .nav-links.open { display:flex; }
  .nav-links .nav-cta-item { display:flex; }
  .nav-links a { height:auto; padding:0.9rem 1.6rem; border-radius:0; }
  .nav-links a::after { display:none; }
  .nav-links .nav-cta-item a { margin:0.5rem 1rem; height:auto; padding:0.7rem 1.4rem; background:var(--sage); color:#FFF; border-radius:0; }
  .wrap { padding-top:70px; }
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .step-grid { grid-template-columns:repeat(3,1fr); }
  .stats-row-inner { grid-template-columns:repeat(2,1fr); }
  .footer-inner { grid-template-columns:1fr 1fr; }
}@media(max-width:768px){
  .about-split { grid-template-columns:1fr; gap:2.5rem; }
  .contact-grid { grid-template-columns:1fr; }
  .contact-info-panel { border-right:none; border-bottom:1px solid var(--border); }
  .step-grid { grid-template-columns:repeat(2,1fr); }
  .svc-grid { grid-template-columns:repeat(2,1fr); }
  .cta-band-inner { grid-template-columns:1fr; }
  .cta-actions { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
  .footer-inner { grid-template-columns:1fr; gap:2rem; }
  .d-section { padding:64px 5%; }
  .page-hero-band { padding:56px 5% 44px; }
  .stats-row-inner { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:480px){
  .svc-grid { grid-template-columns:1fr; }
  .step-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
}

/* ── INLINE CONTACT STRIP (about, services) ── */
.page-contact-strip { background:var(--light); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:3rem 6%; }
.page-contact-strip-inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center; }
.page-contact-strip-text .eyebrow { margin-bottom:0.5rem; }
.page-contact-strip-actions { display:flex; flex-direction:column; gap:0.8rem; align-items:flex-end; }

/* WhatsApp button */
.btn-wa { display:inline-flex; align-items:center; gap:0.6rem; background:#25D366; color:#FFF; font-family:var(--display); font-size:var(--fs-xs); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; padding:0.9rem 1.8rem; border:1px solid #25D366; transition:background 0.25s; white-space:nowrap; }
.btn-wa:hover { background:#1ebe5d; border-color:#1ebe5d; }
.btn-wa svg { width:16px; height:16px; fill:#FFF; flex-shrink:0; }

@media(max-width:768px){
  .page-contact-strip-inner { grid-template-columns:1fr; gap:2rem; }
  .page-contact-strip-actions { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
}

/* ── SERVICE DETAIL PAGES ── */
.svc-page-hero { background:var(--light); border-bottom:1px solid var(--border); padding:52px 6% 40px; padding-top:calc(52px + 82px); }
.svc-page-hero-inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr auto; align-items:end; gap:3rem; }
.svc-page-hero-title-row { display:flex; align-items:center; gap:1.2rem; margin-bottom:1rem; }
.svc-page-hero-icon { width:56px; height:56px; min-width:56px; background:var(--sage-tint); border:1px solid var(--sage-border); display:flex; align-items:center; justify-content:center; color:var(--sage); flex-shrink:0; }
.svc-page-hero-icon svg { width:26px; height:26px; stroke:currentColor; fill:none; stroke-width:1.5; }
.svc-page-hero h1 { font-family:var(--serif); font-size:var(--fs-hero); font-weight:600; color:var(--ink); line-height:1.1; margin:0; }
.svc-page-hero h1 em { font-style:italic; color:var(--gold); }
.svc-page-hero-desc { font-size:var(--fs-base); color:var(--muted); line-height:1.8; max-width:560px; margin-top:1rem; }
.svc-page-hero-stat { text-align:right; border-left:1px solid var(--border); padding-left:2.5rem; }
.svc-page-hero-stat .n { font-family:var(--serif); font-size:3rem; font-weight:600; color:var(--gold); display:block; line-height:1; }
.svc-page-hero-stat .l { font-family:var(--display); font-size:var(--fs-xs); font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-top:0.4rem; display:block; }

/* overview split */
.svc-overview { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.svc-overview-text p { font-size:var(--fs-base); color:var(--muted); line-height:1.88; margin-bottom:1rem; }
.svc-overview-text .pull-quote { border-left:3px solid var(--gold); padding:0.9rem 1.4rem; margin:1.6rem 0; background:var(--off-white); }
.svc-overview-text .pull-quote p { font-family:var(--serif); font-size:var(--fs-lg); font-style:italic; font-weight:600; color:var(--ink); line-height:1.6; margin:0; }

/* what's included checklist */
.svc-includes { display:flex; flex-direction:column; gap:0; border:1px solid var(--border); border-top:3px solid var(--sage); }
.svc-includes-item { display:flex; align-items:flex-start; gap:1rem; padding:1.2rem 1.4rem; border-bottom:1px solid var(--border); transition:background 0.2s; }
.svc-includes-item:last-child { border-bottom:none; }
.svc-includes-item:hover { background:var(--sage-tint); }
.svc-includes-check { width:22px; height:22px; min-width:22px; background:var(--sage); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:0.1rem; }
.svc-includes-check svg { width:12px; height:12px; stroke:#FFF; fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.svc-includes-item h4 { font-family:var(--display); font-size:var(--fs-sm); font-weight:700; color:var(--ink); margin-bottom:0.2rem; }
.svc-includes-item p { font-size:var(--fs-sm); color:var(--muted); line-height:1.6; margin:0; }

/* process steps */
.svc-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:0; position:relative; }
.svc-steps::before { content:""; position:absolute; top:22px; left:0; right:0; height:1px; background:var(--border); z-index:0; }
.svc-step { display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 1rem; position:relative; z-index:1; }
.svc-step-circle { width:46px; height:46px; border-radius:50%; background:var(--sage); display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:0.8rem; font-weight:700; color:#FFF; margin-bottom:0.8rem; flex-shrink:0; }
.svc-step h3 { font-family:var(--display); font-size:var(--fs-sm); font-weight:700; color:var(--ink); margin-bottom:0.3rem; }
.svc-step p { font-size:calc(var(--fs-sm) - 0.05rem); color:var(--muted); line-height:1.55; }

/* why choose / benefits grid */
.svc-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.svc-benefit-card { background:var(--white); border:1px solid var(--border); border-top:3px solid var(--sage); padding:1.8rem; transition:box-shadow 0.2s; display:flex; flex-direction:column; }
.svc-benefit-card:hover { box-shadow:0 6px 24px rgba(92,138,110,0.10); }
.svc-benefit-icon { width:46px; height:46px; min-width:46px; border:1px solid var(--sage-border); background:var(--sage-tint); display:flex; align-items:center; justify-content:center; color:var(--sage); margin-bottom:1rem; }
.svc-benefit-icon svg { width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.5; }
.svc-benefit-card h3 { font-family:var(--display); font-size:var(--fs-sm); font-weight:700; color:var(--ink); margin-bottom:0.4rem; }
.svc-benefit-card p { font-size:var(--fs-sm); color:var(--muted); line-height:1.7; }

/* related services strip */
.svc-related { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); }
.svc-related-card { background:var(--white); padding:1.8rem; display:flex; align-items:center; gap:1rem; text-decoration:none; transition:background 0.2s; }
.svc-related-card:hover { background:var(--light); }
.svc-related-icon { width:38px; height:38px; min-width:38px; background:var(--sage-tint); border:1px solid var(--sage-border); display:flex; align-items:center; justify-content:center; color:var(--sage); flex-shrink:0; }
.svc-related-icon svg { width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.5; }
.svc-related-card h4 { font-family:var(--display); font-size:var(--fs-sm); font-weight:700; color:var(--ink); margin-bottom:0.2rem; }
.svc-related-card p { font-size:var(--fs-xs); color:var(--muted); }

/* CTA block */
.svc-page-cta { background:transparent; padding:2rem 6%; }
.svc-page-cta-inner { max-width:1280px; margin:0 auto; background:var(--sage); border-radius:12px; padding:2.5rem 3rem; display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center; }
.svc-page-cta-text .eyebrow { color:rgba(255,255,255,0.75); }
.svc-page-cta-text .eyebrow::before { background:rgba(255,255,255,0.75); }
.svc-page-cta-text .section-title { color:#FFF; }
.svc-page-cta-text .section-title em { color:rgba(255,255,255,0.75); }
.svc-page-cta-text p { color:rgba(255,255,255,0.75); }
.svc-page-cta-actions { display:flex; flex-direction:column; gap:0.8rem; align-items:flex-end; }

@media(max-width:960px){
  .svc-page-hero-inner { grid-template-columns:1fr; }
  .svc-page-hero-stat { display:none; }
  .svc-overview { grid-template-columns:1fr; gap:2.5rem; }
  .svc-benefits { grid-template-columns:repeat(2,1fr); }
  .svc-related { grid-template-columns:repeat(2,1fr); }
  .svc-steps::before { display:none; }
  .svc-step { align-items:flex-start; text-align:left; }
  .svc-page-cta-inner { grid-template-columns:1fr; padding:2rem; border-radius:8px; }
  .svc-page-cta-actions { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
}
@media(max-width:600px){
  .svc-benefits { grid-template-columns:1fr; }
  .svc-related { grid-template-columns:1fr; }
}

/* ── NAV DROPDOWN ── */
.nav-has-dropdown { position:relative; }
.nav-has-dropdown > a { display:flex !important; align-items:center; gap:0.3rem; }
/* suppress the underline on the services link — use dot indicator instead */
.nav-has-dropdown > a::after { display:none !important; }
.nav-has-dropdown.active > a { color:var(--sage); }
.nav-has-dropdown.active > a .nav-chevron { color:var(--sage); }
/* chevron via a separate element */
.nav-has-dropdown > a .nav-chevron { display:inline-block; font-style:normal; font-size:0.65rem; transition:transform 0.2s; line-height:1; }
.nav-has-dropdown:hover > a .nav-chevron { transform:rotate(180deg); }
.nav-dropdown { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); padding-top:0.5rem; min-width:260px; z-index:400; background:rgba(255,255,255,0.97); backdrop-filter:blur(16px) saturate(160%); -webkit-backdrop-filter:blur(16px) saturate(160%); border-radius:12px; border-top:2px solid var(--sage); box-shadow:0 8px 32px rgba(26,38,32,0.15); overflow:hidden; }

.nav-dropdown li { list-style:none; }
.nav-dropdown li a { display:block; padding:0.75rem 1.2rem; font-family:var(--display); font-size:0.72rem; font-weight:600; letter-spacing:0.5px; text-transform:none; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--border); height:auto; transition:background 0.15s, color 0.15s; white-space:nowrap; }
.nav-dropdown li:last-child a { border-bottom:none; }
.nav-dropdown li a:hover, .nav-dropdown li a.active { background:var(--sage-tint); color:var(--sage); }
.nav-dropdown li a::after { display:none; }
.nav-has-dropdown:hover .nav-dropdown { display:block; }

@media(max-width:768px){
  .nav-dropdown { position:static; transform:none; border:none; border-top:1px solid var(--border); box-shadow:none; min-width:auto; display:none; }
  .nav-has-dropdown.open .nav-dropdown { display:block; }
  .nav-dropdown li a { padding:0.75rem 6% 0.75rem 10%; font-size:0.72rem; }
}

/* ── SERVICE PORTFOLIO GRID ── */
.svc-portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.8rem; }
.svc-portfolio-card { position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--light); border:1px solid var(--border); }
.svc-portfolio-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s ease; }
.svc-portfolio-card:hover img { transform:scale(1.04); }
.svc-portfolio-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(26,38,32,0.78) 0%,transparent 55%); display:flex; flex-direction:column; justify-content:flex-end; padding:1.2rem 1.4rem; }
.svc-portfolio-tag { font-family:var(--display); font-size:0.65rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--sage-light); margin-bottom:0.25rem; }
.svc-portfolio-title { font-family:var(--serif); font-size:1rem; font-weight:600; color:#FFF; line-height:1.3; }
.svc-portfolio-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.6rem; color:var(--muted); min-height:200px; }
.svc-portfolio-placeholder svg { width:32px; height:32px; stroke:var(--sage-light); fill:none; stroke-width:1.2; opacity:0.5; }
.svc-portfolio-placeholder span { font-family:var(--display); font-size:0.65rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; opacity:0.5; }

/* ── TESTIMONIAL CARD (service pages) ── */
.svc-testi { background:var(--white); border:1px solid var(--border); border-left:4px solid var(--gold); padding:2rem; margin-top:2.8rem; }
.svc-testi-stars { display:flex; gap:3px; margin-bottom:0.8rem; }
.svc-testi-stars svg { width:14px; height:14px; fill:var(--gold); stroke:none; }
.svc-testi-quote { font-family:var(--serif); font-size:1.25rem; font-weight:600; color:var(--ink); line-height:1.6; margin-bottom:1rem; }
.svc-testi-author { display:flex; align-items:center; gap:0.8rem; }
.svc-testi-avatar { width:36px; height:36px; border-radius:50%; background:var(--sage-tint); border:1px solid var(--sage-border); display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:0.72rem; font-weight:700; color:var(--sage); flex-shrink:0; }
.svc-testi-name { font-family:var(--display); font-size:var(--fs-xs); font-weight:700; color:var(--ink); display:block; }
.svc-testi-loc { font-size:var(--fs-xs); color:var(--muted); display:block; }

/* ── DELIVERABLES TABLE ── */
.svc-deliverables { width:100%; border-collapse:collapse; margin-top:2.8rem; }
.svc-deliverables th { font-family:var(--display); font-size:var(--fs-xs); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--sage); background:var(--light); padding:0.9rem 1.2rem; text-align:left; border-bottom:2px solid var(--sage-border); }
.svc-deliverables td { font-size:var(--fs-sm); color:var(--muted); padding:0.85rem 1.2rem; border-bottom:1px solid var(--border); vertical-align:top; }
.svc-deliverables tr:last-child td { border-bottom:none; }
.svc-deliverables tr:hover td { background:var(--sage-tint); }
.svc-deliverables td:first-child { font-family:var(--display); font-weight:700; color:var(--ink); white-space:nowrap; }

/* ── FAQ ── */
.svc-faq { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--border); margin-top:2.8rem; }
.svc-faq-item { border-bottom:1px solid var(--border); border-right:1px solid var(--border); }
.svc-faq-item:nth-child(even) { border-right:none; }
.svc-faq-item:nth-last-child(-n+2):not(.open) { border-bottom:none; }
.svc-faq-q { width:100%; background:none; border:none; padding:1.2rem 1.4rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; text-align:left; transition:background 0.2s; }
.svc-faq-q:hover { background:var(--sage-tint); }
.svc-faq-q span { font-family:var(--display); font-size:var(--fs-sm); font-weight:700; color:var(--ink); }
.svc-faq-q svg { width:16px; height:16px; stroke:var(--sage); fill:none; stroke-width:2.5; flex-shrink:0; transition:transform 0.25s; }
.svc-faq-item.open .svc-faq-q svg { transform:rotate(45deg); }
.svc-faq-a { display:none; padding:0 1.4rem 1.2rem; font-size:var(--fs-sm); color:var(--muted); line-height:1.75; }
.svc-faq-item.open .svc-faq-a { display:block; }

/* ── PRICING SIGNAL ── */
.svc-pricing-strip { background:var(--off-white); border:1px solid var(--border); border-left:4px solid var(--sage); padding:1.4rem 1.8rem; margin-top:2.8rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.svc-pricing-strip p { font-size:var(--fs-base); color:var(--muted); margin:0; }
.svc-pricing-strip p strong { color:var(--ink); font-family:var(--display); }

/* ── TOOLS STRIP ── */
.svc-tools-strip { display:flex; gap:0; border:1px solid var(--border); margin-top:2.8rem; flex-wrap:wrap; }
.svc-tool-pill { display:flex; align-items:center; gap:0.6rem; padding:0.8rem 1.2rem; border-right:1px solid var(--border); font-family:var(--display); font-size:var(--fs-xs); font-weight:700; color:var(--ink2); white-space:nowrap; }
.svc-tool-pill:last-child { border-right:none; }
.svc-tool-pill svg { width:14px; height:14px; stroke:var(--sage); fill:none; stroke-width:1.5; }

@media(max-width:768px){
  .svc-portfolio-grid { grid-template-columns:repeat(2,1fr); }
  .svc-tools-strip { flex-wrap:wrap; }
  .svc-tool-pill { border-right:none; border-bottom:1px solid var(--border); width:50%; }
  .svc-faq { grid-template-columns:1fr; }
  .svc-faq-item { border-right:none; }
  .svc-faq-item:nth-last-child(-n+2) { border-bottom:1px solid var(--border); }
  .svc-faq-item:last-child { border-bottom:none; }
}
@media(max-width:480px){
  .svc-portfolio-grid { grid-template-columns:1fr; }
}

/* ── WHATSAPP FLOAT (global) ── */
.h3-wa-float { position:fixed; bottom:2.5rem; right:1.8rem; z-index:999; display:flex; flex-direction:column; align-items:flex-end; gap:0.6rem; }
.h3-wa-btn { width:54px; height:54px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 16px rgba(37,211,102,0.35); text-decoration:none; transition:transform 0.2s, box-shadow 0.2s; }
.h3-wa-btn:hover { transform:scale(1.08); box-shadow:0 6px 24px rgba(37,211,102,0.45); }
.h3-wa-btn svg { width:26px; height:26px; fill:#FFF; }
.h3-wa-label { background:var(--ink); color:#FFF; font-family:var(--display); font-size:0.65rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:0.4rem 0.8rem; white-space:nowrap; opacity:0; transform:translateX(8px); transition:opacity 0.2s, transform 0.2s; pointer-events:none; }
.h3-wa-float:hover .h3-wa-label { opacity:1; transform:translateX(0); }

/* ── LIGHTBOX ── */
.lightbox { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,0.92); align-items:center; justify-content:center; padding:1.5rem; }
.lightbox.active { display:flex; }
.lightbox-img { max-width:90vw; max-height:88vh; object-fit:contain; border-radius:4px; box-shadow:0 8px 48px rgba(0,0,0,0.6); }
.lightbox-close { position:fixed; top:1.2rem; right:1.4rem; width:40px; height:40px; background:rgba(255,255,255,0.12); border:none; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#FFF; font-size:1.4rem; line-height:1; transition:background 0.2s; }
.lightbox-close:hover { background:rgba(255,255,255,0.25); }
.lightbox-prev, .lightbox-next { position:fixed; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.12); border:none; border-radius:50%; width:44px; height:44px; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#FFF; font-size:1.2rem; transition:background 0.2s; }
.lightbox-prev { left:1rem; }
.lightbox-next { right:1rem; }
.lightbox-prev:hover, .lightbox-next:hover { background:rgba(255,255,255,0.25); }
.lightbox-caption { position:fixed; bottom:1.2rem; left:50%; transform:translateX(-50%); color:rgba(255,255,255,0.7); font-family:var(--display); font-size:var(--fs-xs); letter-spacing:1px; text-align:center; white-space:nowrap; }
.svc-portfolio-card, .h3-portfolio-card { cursor:pointer; }

/* ── PORTFOLIO MARQUEE ── */
.h3-marquee-wrap { overflow:hidden; width:100%; padding:0.5rem 0; }
.h3-marquee { display:flex; gap:1rem; width:max-content; }
.h3-marquee-card { width:320px; flex-shrink:0; }
@keyframes marquee-ltr { from { transform:translateX(-50%); } to { transform:translateX(0); } }
@keyframes marquee-rtl { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.h3-marquee-ltr { animation:marquee-ltr 35s linear infinite; }
.h3-marquee-rtl { animation:marquee-rtl 35s linear infinite; }
.h3-marquee-wrap:hover .h3-marquee { animation-play-state:paused; }

/* ── IMAGE BORDERS ── */
.svc-portfolio-card img,
.h3-portfolio-card img,
.port-card img { border:1px solid var(--border); box-shadow:0 4px 16px rgba(26,38,32,0.10); transition:box-shadow 0.3s; }
.svc-portfolio-card:hover img,
.h3-portfolio-card:hover img,
.port-card:hover img { box-shadow:0 8px 32px rgba(26,38,32,0.18); }

/* Global image border — all content images */
main img:not([src*="logo"]):not(.h3-hero-img-col img) { border:1px solid var(--border); }

/* ── INLINE ROUNDED CTA BOX ── */
.svc-inline-cta { background:var(--sage); border-radius:16px; padding:2rem 2.5rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; margin-top:2rem; max-width:1280px; margin-left:auto; margin-right:auto; box-shadow:0 8px 32px rgba(92,138,110,0.20); }
.svc-inline-cta-text h3 { font-family:var(--serif); font-size:1.5rem; font-weight:600; color:#FFF; margin-bottom:0.3rem; }
.svc-inline-cta-text h3 em { font-style:italic; color:rgba(255,255,255,0.75); }
.svc-inline-cta-text p { font-size:var(--fs-sm); color:rgba(255,255,255,0.75); margin:0; }
.svc-inline-cta-actions { display:flex; gap:0.8rem; flex-wrap:wrap; flex-shrink:0; }
.btn-white { display:inline-flex; align-items:center; gap:0.5rem; background:#FFF; color:var(--sage); font-family:var(--display); font-size:var(--fs-xs); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; padding:0.8rem 1.6rem; border-radius:0; border:none; transition:background 0.2s; white-space:nowrap; }
.btn-white:hover { background:var(--off-white); }
.btn-white svg { width:14px !important; height:14px !important; stroke:currentColor; fill:none; stroke-width:1.5; }
.btn-white-outline { display:inline-flex; align-items:center; gap:0.5rem; background:transparent; color:#FFF; font-family:var(--display); font-size:var(--fs-xs); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; padding:0.8rem 1.6rem; border-radius:0; border:1px solid rgba(255,255,255,0.4); transition:border-color 0.2s; white-space:nowrap; }
.btn-white-outline:hover { border-color:#FFF; }
.btn-white-outline svg { width:14px !important; height:14px !important; stroke:currentColor; fill:none; stroke-width:1.5; }
@media(max-width:768px){ .svc-inline-cta { flex-direction:column; align-items:flex-start; } }

/* ── SHARED TESTIMONIALS ── */
.shared-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.5rem; }
.shared-testi-card { background:var(--white); border:1px solid var(--border); border-top:3px solid var(--gold); padding:1.8rem; display:flex; flex-direction:column; gap:0.8rem; }
.shared-testi-stars { display:flex; gap:3px; }
.shared-testi-stars svg { width:14px; height:14px; fill:var(--gold); stroke:none; }
.shared-testi-quote { font-family:var(--serif); font-size:1.25rem; font-weight:600; color:var(--ink); line-height:1.6; flex:1; }
.shared-testi-author { display:flex; align-items:center; gap:0.8rem; padding-top:0.8rem; border-top:1px solid var(--border); }
.shared-testi-avatar { width:36px; height:36px; border-radius:50%; background:var(--sage-tint); border:1px solid var(--sage-border); display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:0.72rem; font-weight:700; color:var(--sage); flex-shrink:0; }
.shared-testi-name { font-family:var(--display); font-size:var(--fs-xs); font-weight:700; color:var(--ink); display:block; }
.shared-testi-loc { font-size:var(--fs-xs); color:var(--muted); display:block; margin-top:0.1rem; }
@media(max-width:768px){ .shared-testi-grid { grid-template-columns:1fr; } }

/* ── SVG SIZE GUARD ── */
/* Prevent unsized SVGs from rendering at browser default (300x150) */
svg { overflow:hidden; }
svg:not([width]):not([height]) { max-width:100%; height:auto; }
/* Star SVGs in testimonials */
.shared-testi-stars svg, .h3-testi-stars svg, .svc-testi-stars svg { width:14px !important; height:14px !important; fill:var(--gold); stroke:none; display:inline-block; }
/* Google badge */
.h3-google-badge { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; padding:1.2rem 1.6rem; background:var(--white); border:1px solid var(--border); margin-top:1.5rem; }
.h3-google-badge-left { display:flex; align-items:center; gap:1rem; }
.h3-google-badge-left > svg { width:28px !important; height:28px !important; flex-shrink:0; }
.h3-google-stars { display:flex; gap:3px; }
.h3-google-stars svg { width:14px !important; height:14px !important; fill:#FBBC05; stroke:none; }
.h3-google-label { font-family:var(--display); font-size:var(--fs-xs); font-weight:600; color:var(--muted); letter-spacing:1px; display:block; margin-top:0.2rem; }
.h3-google-link { display:inline-flex; align-items:center; gap:0.5rem; font-family:var(--display); font-size:var(--fs-xs); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--sage); text-decoration:none; border-bottom:1px solid var(--sage-border); padding-bottom:0.15rem; transition:border-color 0.2s; white-space:nowrap; }
.h3-google-link:hover { border-color:var(--sage); }
.h3-google-link svg { width:12px !important; height:12px !important; stroke:currentColor; fill:none; stroke-width:2.5; }
/* Footer social icons */
.footer-social a svg { width:14px !important; height:14px !important; stroke:currentColor; fill:none; stroke-width:1.5; }
/* svc_icon() output — sized by their parent containers, just ensure no overflow */
.svc-includes-check svg, .svc-benefit-icon svg, .svc-page-hero-icon svg { flex-shrink:0; }
.h3-svc-icon svg { width:22px !important; height:22px !important; flex-shrink:0; max-width:22px; max-height:22px; }
.h3-why-icon svg { width:22px !important; height:22px !important; flex-shrink:0; max-width:22px; max-height:22px; }
.h3-feat-cell-icon svg { width:15px !important; height:15px !important; flex-shrink:0; }

/* ── CONTENT PROTECTION ── */
img { -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; pointer-events:none; }
/* Re-enable pointer events for clickable images (portfolio lightbox) */
.svc-portfolio-card img, .h3-portfolio-card img, .port-card img, .h3-marquee-card img { pointer-events:auto; }

/* ── H3-SVC CARD GRID (global — used on services.php and about.php) ── */
.h3-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.h3-svc-card { background:var(--white); border:1px solid var(--border); border-top:3px solid var(--sage); padding:1.8rem; transition:box-shadow 0.2s; cursor:default; }
.h3-svc-card:hover { box-shadow:0 6px 24px rgba(92,138,110,0.10); }
.h3-svc-header { display:flex; align-items:center; gap:0.85rem; margin-bottom:0.8rem; }
.h3-svc-icon { width:46px; height:46px; min-width:46px; border:1px solid var(--sage-border); background:var(--sage-tint); display:flex; align-items:center; justify-content:center; color:var(--sage); flex-shrink:0; overflow:hidden; }
.h3-svc-icon svg { width:22px !important; height:22px !important; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.h3-svc-num { font-family:var(--serif); font-size:1.5rem; color:var(--gold); font-weight:300; margin-left:auto; flex-shrink:0; line-height:1; opacity:0.85; }
.h3-svc-card h3 { font-family:var(--display); font-size:var(--fs-md); font-weight:600; color:var(--ink); margin:0; line-height:1.2; }
.h3-svc-card p { font-size:var(--fs-sm); color:var(--muted); line-height:1.7; margin:0; }
@media(max-width:768px){ .h3-svc-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .h3-svc-grid { grid-template-columns:1fr; } }

/* ── PREVENT LAYOUT SHIFT — explicit image dimensions ── */
.svc-portfolio-card img,
.h3-portfolio-card img,
.port-card img,
.h3-marquee-card img { width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; }
.svc-overview img,
.h3-vastu-visual img,
.h3-about-grid img { width:100%; height:auto; display:block; }
/* ═══════════════════════════════════════════════
   MAIN PAGE — White + Sage + Dark Gold — .h3pg
   TYPE SCALE (change here, applies everywhere)
   ─────────────────────────────────────────────
   --fs-xs    : labels, eyebrows, badges
   --fs-sm    : captions, meta, ticker
   --fs-base  : body paragraphs
   --fs-md    : card headings, nav links
   --fs-lg    : sub-headings, pull quotes
   --fs-xl    : section titles (clamp)
   --fs-hero  : hero h1 (clamp)
═══════════════════════════════════════════════ */
.h3pg {
  --white:       #FFFFFF;
  --off-white:   #F8F9FA;
  --light:       #F0F4F1;
  --sage:        #5C8A6E;
  --sage-mid:    #7A9E87;
  --sage-light:  #A8C4B0;
  --sage-tint:   rgba(92,138,110,0.08);
  --sage-border: rgba(92,138,110,0.25);
  --gold:        #9A6F2A;
  --gold-mid:    #B8862E;
  --gold-light:  #C5A059;
  --gold-tint:   rgba(154,111,42,0.08);
  --gold-border: rgba(154,111,42,0.30);
  --ink:         #1A2620;
  --ink2:        #344A3C;
  --muted:       #6B7D72;
  --border:      #DDE6E0;
  --serif:   "Cormorant Garamond", Georgia, serif;
  --display: "Montserrat", system-ui, sans-serif;
  --body:    "Nunito Sans", system-ui, sans-serif;
  --fs-xs:   0.8rem;
  --fs-sm:   0.95rem;
  --fs-base: 1.1rem;
  --fs-md:   1.2rem;
  --fs-lg:   1.35rem;
  --fs-xl:   clamp(2rem, 3.2vw, 2.9rem);
  --fs-hero: clamp(2.2rem, 3.5vw, 3.8rem);
}
.h3pg * { box-sizing:border-box; }
.h3pg { font-family:var(--body); font-size:16px; background:var(--white); color:var(--ink); -webkit-font-smoothing:antialiased; line-height:1.6; }
.h3-hero { background:var(--white); min-height:55vh; display:flex; align-items:stretch; overflow:hidden; }
.h3-hero-img-col { flex:0 0 52%; position:relative; overflow:hidden; }
.h3-hero-img-col img { width:100%; height:100%; object-fit:cover; display:block; }
.h3-hero-img-overlay { position:absolute; inset:0; background:linear-gradient(to right, transparent 60%, var(--white) 100%); }
.h3-hero-content { flex:1; display:flex; flex-direction:column; justify-content:center; padding:32px 5% 32px 4%; padding-top:calc(32px + 82px); }
.h3-hero-badge { display:inline-flex; align-items:center; gap:0.6rem; font-size:var(--fs-xs); font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--sage); margin-bottom:1.6rem; }
.h3-hero-badge span { display:inline-block; width:24px; height:1px; background:var(--sage); }
.h3-hero h1 { font-family:var(--serif); font-size:var(--fs-hero); font-weight:600; color:var(--ink); line-height:1.08; margin-bottom:1.4rem; }
.h3-hero h1 em { font-style:italic; color:var(--gold); }
.h3-hero-desc { font-size:var(--fs-base); color:var(--muted); line-height:1.82; margin-bottom:2.4rem; max-width:400px; }
.h3-hero-btns { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:3rem; }
.h3-btn-sage { display:inline-flex; align-items:center; gap:0.6rem; background:var(--sage); color:#FFF; font-size:var(--fs-xs); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; padding:0.9rem 1.8rem; border:1px solid var(--sage); transition:background 0.25s; }
.h3-btn-sage:hover { background:var(--sage-mid); }
.h3-btn-sage svg,.h3-btn-outline svg,.h3-btn-gold-solid svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.h3-btn-outline { display:inline-flex; align-items:center; gap:0.6rem; background:transparent; color:var(--gold); font-size:var(--fs-xs); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; padding:0.9rem 1.8rem; border:1px solid var(--gold-border); transition:background 0.25s; }
.h3-btn-outline:hover { background:var(--gold-tint); }
.h3-btn-gold-solid { display:inline-flex; align-items:center; gap:0.6rem; background:var(--gold); color:#FFF; font-size:var(--fs-xs); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; padding:0.9rem 1.8rem; border:1px solid var(--gold); transition:background 0.25s; }
.h3-btn-gold-solid:hover { background:var(--gold-mid); }
.h3-hero-mini-stats { display:flex; gap:2.5rem; padding-top:2rem; border-top:1px solid var(--border); }
.h3-hero-mini-stat .n { font-family:var(--serif); font-size:2.4rem; font-weight:600; color:var(--gold); display:block; line-height:1; }
.h3-hero-mini-stat .l { font-size:var(--fs-xs); font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-top:0.3rem; display:block; }
.h3-ticker { background:var(--off-white); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:1rem 6%; overflow:hidden; }
.h3-ticker-inner { max-width:1200px; margin:0 auto; display:flex; gap:0.6rem; align-items:center; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; }
.h3-ticker-inner::-webkit-scrollbar { display:none; }
.h3-ticker-item { display:inline-flex; align-items:center; gap:0.5rem; font-size:0.8rem; font-weight:600; letter-spacing:0.3px; color:var(--ink2); background:var(--white); border:1px solid var(--border); padding:0.45rem 0.9rem; white-space:nowrap; flex-shrink:0; transition:border-color 0.2s, background 0.2s; }
.h3-ticker-item:hover { border-color:var(--sage-border); background:var(--light); }
.h3-ticker-item svg { width:15px; height:15px; stroke:var(--sage); fill:none; stroke-width:1.5; flex-shrink:0; }
.h3-ticker-dot { display:none; }
.h3-section { padding:64px 6%; background:var(--white); }
.h3-section-alt { background:var(--off-white); }
.h3-section-sage { background:var(--light); }
.h3-inner { max-width:1200px; margin:0 auto; }
.h3-header { margin-bottom:3rem; }
.h3-header.center { text-align:center; }
.h3-eyebrow { display:inline-flex; align-items:center; gap:0.7rem; font-size:var(--fs-xs); font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--sage); margin-bottom:0.9rem; }
.h3-eyebrow::before { content:""; display:block; width:22px; height:1px; background:var(--sage); }
.h3-title { font-family:var(--serif); font-size:var(--fs-xl); font-weight:600; color:var(--ink); line-height:1.2; }
.h3-title em { font-style:italic; color:var(--gold); }
.h3-sub { font-size:var(--fs-base); color:var(--muted); margin-top:0.6rem; line-height:1.75; }
.h3-rule { width:32px; height:2px; background:var(--gold); margin-top:1rem; }
.h3-rule-center { margin:1rem auto 0; }
.h3-link { display:inline-flex; align-items:center; gap:0.6rem; background:var(--sage); color:#FFF; font-size:var(--fs-xs); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; padding:0.85rem 1.6rem; border:1px solid var(--sage); transition:background 0.25s; }
.h3-link:hover { background:var(--sage-mid); border-color:var(--sage-mid); }
.h3-link svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.h3-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.h3-about-text p { font-size:var(--fs-base); color:var(--muted); line-height:1.88; margin-bottom:1rem; }
.h3-pull { border-left:3px solid var(--gold); padding:0.9rem 1.4rem; margin:1.6rem 0; background:var(--off-white); }
.h3-pull p { font-family:var(--serif); font-size:var(--fs-lg); font-style:italic; font-weight:600; color:var(--ink); line-height:1.6; margin:0; }
.h3-feat-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); }
.h3-feat-cell { background:var(--white); padding:1.8rem 1.6rem; transition:background 0.2s; }
.h3-feat-cell:hover { background:var(--light); }
.h3-feat-cell-header { display:flex; align-items:center; gap:0.75rem; margin-bottom:0.6rem; }
.h3-feat-cell-icon { width:32px; height:32px; min-width:32px; border:1px solid var(--sage-border); background:var(--sage-tint); display:flex; align-items:center; justify-content:center; color:var(--sage); flex-shrink:0; }
.h3-feat-cell-icon svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.h3-feat-cell h4 { font-size:var(--fs-md); font-weight:600; color:var(--ink); margin:0; line-height:1.2; }
.h3-feat-cell p { font-size:var(--fs-sm); color:var(--muted); line-height:1.65; margin:0; }
.h3-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.8rem; }
.h3-svc-card { background:var(--white); border:1px solid var(--border); border-top:3px solid var(--sage); padding:2rem 1.8rem; transition:box-shadow 0.2s; }
.h3-svc-card:hover { box-shadow:0 6px 24px rgba(92,138,110,0.10); }
.h3-svc-num { font-family:var(--serif); font-size:1.5rem; color:var(--gold); letter-spacing:2px; font-weight:300; margin-left:auto; flex-shrink:0; line-height:1; opacity:0.85; }
.h3-svc-header { display:flex; align-items:center; gap:0.85rem; margin-bottom:0.8rem; }
.h3-svc-icon { width:46px; height:46px; min-width:46px; border:1px solid var(--sage-border); background:var(--sage-tint); display:flex; align-items:center; justify-content:center; color:var(--sage); flex-shrink:0; }
.h3-svc-icon svg { width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.h3-svc-card h3 { font-size:var(--fs-md); font-weight:600; color:var(--ink); margin:0; line-height:1.2; }
.h3-svc-card p { font-size:var(--fs-sm); color:var(--muted); line-height:1.7; margin:0; }
.h3-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.8rem; }
.h3-why-card { background:var(--white); border:1px solid var(--border); border-top:3px solid var(--sage); padding:2rem 1.8rem; transition:box-shadow 0.2s; }
.h3-why-card:hover { box-shadow:0 6px 24px rgba(92,138,110,0.10); }
.h3-why-num { font-family:var(--serif); font-size:1.5rem; color:var(--gold); letter-spacing:2px; font-weight:300; margin-left:auto; flex-shrink:0; line-height:1; font-style:normal; }
.h3-why-header { display:flex; align-items:center; gap:0.85rem; margin-bottom:0.8rem; }
.h3-why-icon { width:46px; height:46px; min-width:46px; border:1px solid var(--sage-border); background:var(--sage-tint); display:flex; align-items:center; justify-content:center; color:var(--sage); flex-shrink:0; }
.h3-why-icon svg { width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.h3-why-card h3 { font-size:var(--fs-md); font-weight:600; color:var(--ink); margin:0; line-height:1.2; }
.h3-why-card p { font-size:var(--fs-sm); color:var(--muted); line-height:1.7; margin:0.6rem 0 0; }
.h3-process-wrap { margin-top:3rem; position:relative; }
.h3-process-steps { display:grid; grid-template-columns:repeat(6,1fr); gap:0; position:relative; }
.h3-process-steps::before { content:""; position:absolute; top:22px; left:calc(100%/12); right:calc(100%/12); height:1px; background:var(--border); z-index:0; }
.h3-step { display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 0.8rem; position:relative; z-index:1; }
.h3-step-circle { width:46px; height:46px; border-radius:50%; border:none; background:var(--sage); display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:0.82rem; font-weight:700; color:#FFF; margin-bottom:1.2rem; flex-shrink:0; letter-spacing:1px; }
.h3-step h3 { font-size:var(--fs-sm); font-weight:600; color:var(--ink); margin:0 0 0.4rem; }
.h3-step p { font-size:calc(var(--fs-sm) - 0.05rem); color:var(--muted); line-height:1.65; margin:0; }
.h3-cta { background:var(--light); border-top:1px solid var(--border); padding:72px 6%; }
.h3-cta-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.h3-cta-text .h3-eyebrow { color:var(--gold); }
.h3-cta-text .h3-eyebrow::before { background:var(--gold); }
.h3-cta-text h2 { font-family:var(--serif); font-size:var(--fs-xl); font-weight:600; color:var(--ink); line-height:1.2; margin:0.5rem 0 1rem; }
.h3-cta-text h2 em { font-style:italic; color:var(--sage); }
.h3-cta-text p { font-size:var(--fs-base); color:var(--muted); line-height:1.78; margin:0 0 2rem; }
.h3-cta-contact { display:flex; flex-direction:column; gap:1.2rem; }
.h3-cta-contact-row { display:flex; align-items:center; gap:1rem; padding:1.2rem 1.5rem; background:var(--white); border:1px solid var(--border); transition:border-color 0.2s; text-decoration:none; }
.h3-cta-contact-row:hover { border-color:var(--sage-border); }
.h3-cta-contact-icon { width:36px; height:36px; background:var(--sage-tint); border:1px solid var(--sage-border); display:flex; align-items:center; justify-content:center; color:var(--sage); flex-shrink:0; }
.h3-cta-contact-icon svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.h3-cta-contact-label { font-size:var(--fs-xs); font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--muted); display:block; }
.h3-cta-contact-val { font-size:var(--fs-base); font-weight:600; color:var(--ink); display:block; margin-top:0.1rem; }
@media(max-width:960px){
  .h3-hero { flex-direction:column; min-height:auto; margin-top:-58px; }
  .h3-hero-img-col { flex:0 0 380px; width:100%; }
  .h3-hero-img-overlay { background:linear-gradient(to bottom, transparent 60%, var(--white) 100%); }
  .h3-hero-content { padding:40px 6%; }
  .h3-about-grid { grid-template-columns:1fr; gap:2.5rem; }
  .h3-svc-grid { grid-template-columns:repeat(2,1fr); }
  .h3-why-grid { grid-template-columns:repeat(2,1fr); }
  .h3-process-steps { grid-template-columns:repeat(3,1fr); gap:1.5rem; }
  .h3-process-steps::before { display:none; }
  .h3-step { align-items:flex-start; text-align:left; }
  .h3-cta-inner { grid-template-columns:1fr; gap:2.5rem; }
}
@media(max-width:600px){
  .h3-svc-grid,.h3-why-grid { grid-template-columns:1fr; }
  .h3-process-steps { grid-template-columns:1fr 1fr; }
  .h3-feat-grid { grid-template-columns:1fr; }
  .h3-hero-mini-stats { gap:1.5rem; flex-wrap:wrap; }
}
.h3pg .h3-eyebrow,
.h3pg .h3-hero-badge,
.h3pg .h3-feat-cell h4,
.h3pg .h3-svc-card h3,
.h3pg .h3-why-card h3,
.h3pg .h3-step h3,
.h3pg .h3-link,
.h3pg .h3-ticker-item,
.h3pg .h3-btn-sage,
.h3pg .h3-btn-outline,
.h3pg .h3-btn-gold-solid,
.h3pg .h3-svc-num,
.h3pg .h3-why-num,
.h3pg .h3-cta-contact-label { font-family:var(--display); }

/* ── PORTFOLIO GRID ── */
.h3-portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.8rem; }
.h3-portfolio-card { position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--border); }
.h3-portfolio-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s ease; }
.h3-portfolio-card:hover img { transform:scale(1.05); }
.h3-portfolio-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(26,38,32,0.82) 0%, transparent 55%); opacity:0; transition:opacity 0.3s; display:flex; flex-direction:column; justify-content:flex-end; padding:1.4rem 1.6rem; pointer-events:none; }
.h3-portfolio-card:hover .h3-portfolio-overlay { opacity:1; }
.h3-portfolio-tag { font-family:var(--display); font-size:0.65rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--sage-light); margin-bottom:0.3rem; }
.h3-portfolio-title { font-family:var(--serif); font-size:1.1rem; font-weight:600; color:#FFF; line-height:1.3; }
.h3-portfolio-placeholder { width:100%; height:100%; background:var(--light); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.6rem; color:var(--muted); }
.h3-portfolio-placeholder svg { width:32px; height:32px; stroke:var(--sage-light); fill:none; stroke-width:1.2; opacity:0.5; }
.h3-portfolio-placeholder span { font-family:var(--display); font-size:0.65rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; opacity:0.5; }

/* ── PROJECT TYPES ── */
.h3-types-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--border); margin-top:2.8rem; }
.h3-type-panel { padding:3rem; border-top:3px solid var(--sage); position:relative; }
.h3-type-panel:first-child { border-right:1px solid var(--border); }
.h3-type-panel h3 { font-family:var(--serif); font-size:1.7rem; font-weight:600; color:var(--ink); margin-bottom:0.6rem; }
.h3-type-panel h3 em { font-style:italic; color:var(--gold); }
.h3-type-panel > p { font-size:var(--fs-base); color:var(--muted); line-height:1.8; margin-bottom:1.6rem; padding-bottom:1.6rem; border-bottom:1px solid var(--border); }
.h3-type-list { list-style:none; display:flex; flex-direction:column; gap:0; }
.h3-type-list li { display:flex; align-items:center; gap:0.8rem; padding:0.65rem 0; border-bottom:1px solid var(--border); font-size:var(--fs-sm); color:var(--muted); }
.h3-type-list li:last-child { border-bottom:none; }
.h3-type-list li svg { width:14px; height:14px; stroke:var(--sage); fill:none; stroke-width:2.5; flex-shrink:0; }

/* ── TESTIMONIALS ── */
.h3-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.8rem; }
.h3-testi-card { background:var(--white); border:1px solid var(--border); border-top:3px solid var(--gold); padding:2rem 1.8rem; display:flex; flex-direction:column; gap:1rem; }
.h3-testi-stars { display:flex; gap:3px; }
.h3-testi-stars svg { width:14px; height:14px; fill:var(--gold); stroke:none; }
.h3-testi-quote { font-family:var(--serif); font-size:var(--fs-lg); font-style:italic; color:var(--ink); line-height:1.6; flex:1; }
.h3-testi-author { display:flex; align-items:center; gap:0.8rem; padding-top:1rem; border-top:1px solid var(--border); }
.h3-testi-avatar { width:38px; height:38px; border-radius:50%; background:var(--sage-tint); border:1px solid var(--sage-border); display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:0.75rem; font-weight:700; color:var(--sage); flex-shrink:0; }
.h3-testi-name { font-family:var(--display); font-size:var(--fs-xs); font-weight:700; color:var(--ink); display:block; }
.h3-testi-loc { font-size:calc(var(--fs-xs) - 0.05rem); color:var(--muted); display:block; margin-top:0.1rem; }

/* ── VASTU SPOTLIGHT ── */
.h3-vastu-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.h3-vastu-text p { font-size:var(--fs-base); color:var(--muted); line-height:1.88; margin-bottom:1rem; }
.h3-vastu-points { display:flex; flex-direction:column; gap:0; border:1px solid var(--border); margin-top:1.8rem; }
.h3-vastu-point { display:flex; align-items:flex-start; gap:1rem; padding:1.2rem 1.4rem; border-bottom:1px solid var(--border); transition:background 0.2s; }
.h3-vastu-point:last-child { border-bottom:none; }
.h3-vastu-point:hover { background:var(--sage-tint); }
.h3-vastu-point-icon { width:30px; height:30px; min-width:30px; background:var(--sage-tint); border:1px solid var(--sage-border); display:flex; align-items:center; justify-content:center; color:var(--sage); flex-shrink:0; }
.h3-vastu-point-icon svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.5; }
.h3-vastu-point h4 { font-family:var(--display); font-size:var(--fs-sm); font-weight:600; color:var(--ink); margin-bottom:0.2rem; }
.h3-vastu-point p { font-size:var(--fs-sm); color:var(--muted); line-height:1.6; margin:0; }
.h3-vastu-badge { display:inline-flex; align-items:center; gap:0.6rem; background:var(--sage); color:#FFF; font-family:var(--display); font-size:var(--fs-xs); font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:0.7rem 1.4rem; margin-top:1.8rem; }
.h3-vastu-badge svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; }
.h3-vastu-visual { background:var(--light); border:1px solid var(--border); padding:3rem; display:flex; flex-direction:column; gap:1.5rem; }
.h3-vastu-stat { display:flex; align-items:center; gap:1.2rem; padding:1.2rem; background:var(--white); border:1px solid var(--border); }
.h3-vastu-stat-num { font-family:var(--serif); font-size:2.2rem; font-weight:600; color:var(--gold); line-height:1; min-width:70px; }
.h3-vastu-stat-text h4 { font-family:var(--display); font-size:var(--fs-sm); font-weight:600; color:var(--ink); margin-bottom:0.2rem; }
.h3-vastu-stat-text p { font-size:var(--fs-sm); color:var(--muted); margin:0; line-height:1.5; }

/* ── SERVICE AREA ── */
.h3-area-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); margin-top:2.8rem; }
.h3-area-cell { background:var(--white); padding:1.6rem 1.4rem; text-align:center; transition:background 0.2s; }
.h3-area-cell:hover { background:var(--sage-tint); }
.h3-area-cell svg { width:22px; height:22px; stroke:var(--sage); fill:none; stroke-width:1.5; margin-bottom:0.6rem; }
.h3-area-city { font-family:var(--display); font-size:var(--fs-sm); font-weight:700; color:var(--ink); display:block; }
.h3-area-note { font-size:var(--fs-xs); color:var(--muted); display:block; margin-top:0.2rem; }
.h3-area-note-primary { color:var(--sage); font-weight:600; }

/* ── TRUST BAR ── */
.h3-trust-bar { background:var(--off-white); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:1.2rem 6%; }
.h3-trust-bar-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.h3-trust-item { display:flex; align-items:center; gap:0.5rem; flex-shrink:0; }
.h3-trust-item svg { width:16px; height:16px; stroke:var(--sage); fill:none; stroke-width:1.5; flex-shrink:0; }
.h3-trust-item span { font-family:var(--display); font-size:0.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--ink2); white-space:nowrap; }
.h3-trust-divider { width:1px; height:28px; background:var(--border); flex-shrink:0; }

/* ── FAQ ── */
.h3-faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-top:2.8rem; }
.h3-faq-item { background:var(--white); padding:1.6rem 1.8rem; transition:background 0.2s; }
.h3-faq-item:hover { background:var(--light); }
.h3-faq-q { font-family:var(--display); font-size:var(--fs-sm); font-weight:700; color:var(--ink); margin-bottom:0.5rem; display:flex; align-items:flex-start; gap:0.6rem; }
.h3-faq-q::before { content:"Q"; font-family:var(--serif); font-size:1rem; font-weight:600; color:var(--gold); flex-shrink:0; margin-top:0.05rem; }
.h3-faq-a { font-size:var(--fs-sm); color:var(--muted); line-height:1.7; padding-left:1.4rem; }

/* ── INSTAGRAM STRIP ── */
.h3-insta-strip { background:var(--ink); padding:2.5rem 6%; }
.h3-insta-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.h3-insta-left { display:flex; align-items:center; gap:1.2rem; }
.h3-insta-icon { width:44px; height:44px; background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.h3-insta-icon svg { width:22px; height:22px; stroke:#FFF; fill:none; stroke-width:1.5; }
.h3-insta-text h3 { font-family:var(--display); font-size:var(--fs-sm); font-weight:700; color:#FFF; margin-bottom:0.2rem; }
.h3-insta-text p { font-size:var(--fs-sm); color:rgba(255,255,255,0.55); margin:0; }
.h3-insta-handle { font-family:var(--display); font-size:var(--fs-xs); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--sage-light); text-decoration:none; display:inline-flex; align-items:center; gap:0.5rem; border:1px solid rgba(255,255,255,0.15); padding:0.7rem 1.4rem; transition:border-color 0.2s; }
.h3-insta-handle:hover { border-color:var(--sage-border); }
.h3-insta-handle svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2; }


/* ── GOOGLE REVIEWS BADGE — now in style.css ── */
@media(max-width:960px){
  .h3-portfolio-grid { grid-template-columns:repeat(2,1fr); }
  .h3-types-grid { grid-template-columns:1fr; }
  .h3-type-panel:first-child { border-right:none; border-bottom:1px solid var(--border); }
  .h3-testi-grid { grid-template-columns:1fr; }
  .h3-vastu-grid { grid-template-columns:1fr; gap:2.5rem; }
  .h3-area-grid { grid-template-columns:repeat(2,1fr); }
  .h3-faq-grid { grid-template-columns:1fr; }
  .h3-trust-bar-inner { justify-content:flex-start; }
  .h3-trust-divider { display:none; }
}
@media(max-width:600px){
  .h3-portfolio-grid { grid-template-columns:1fr; }
  .h3-area-grid { grid-template-columns:repeat(2,1fr); }
  .h3-insta-inner { flex-direction:column; align-items:flex-start; }
}
