/**
 * 4D Custom Builders — Main Stylesheet
 * Single consolidated file: variables → reset → layout → components → blocks → animations
 * @version 3.1
 */

/* ============================================================================
   1. DESIGN TOKENS
   ============================================================================ */
:root {
  --green:       #354A30;
  --green-mid:   #405C3A;
  --green-deep:  #1E2E1A;
  --green-light: #4A6644;
  --gold:        #C8A430;
  --gold-light:  #D9B84A;
  --gold-dim:    rgba(200,164,48,0.16);
  --off-white:   #F8F5F0;
  --cream:       #F2EEE6;
  --white:       #FFFFFF;
  --g100:        #F0EDEA;
  --g200:        #DDD9D3;
  --g400:        #9A9590;
  --g600:        #5C5855;
  --g800:        #282420;
  --near-black:  #161410;
  --ff-head: 'Raleway','Arial Black',sans-serif;
  --ff-body: 'Open Sans',Arial,sans-serif;
  --mw:        1240px;
  --hh:        80px;
  --container-px: 32px;
  --section-py:   110px;
  --section-py-sm: 72px;
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 16px; --sp-4: 24px;
  --sp-5: 32px; --sp-6: 48px; --sp-7: 64px; --sp-8: 96px;
  --ease:      all 0.3s ease;
  --r-pill:    50px;
  --shadow-sm: 0 2px 12px rgba(0,0,0,0.07);
  --shadow-md: 0 8px 32px rgba(0,0,0,0.14);
  --shadow-lg: 0 16px 56px rgba(0,0,0,0.22);
  --color-green:       var(--green);
  --color-green-dark:  var(--green-deep);
  --color-gold:        var(--gold);
  --color-dark:        var(--g800);
  --color-text:        var(--g800);
  --color-text-muted:  var(--g600);
  --color-light:       var(--off-white);
  --color-border:      var(--g200);
  --font-heading:      var(--ff-head);
  --font-body:         var(--ff-body);
  --space-sm:  var(--sp-3);
  --space-md:  var(--sp-5);
  --space-lg:  var(--sp-6);
  --space-xl:  var(--sp-7);
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   16px;
  --radius-full: var(--r-pill);
}

/* ============================================================================
   2. RESET
   ============================================================================ */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; }
body  { font-family: var(--ff-body); color: var(--g800); background: var(--white); overflow-x: hidden; line-height: 1.7; -webkit-font-smoothing: antialiased; padding-top: var(--hh); }
img   { display: block; max-width: 100%; height: auto; }
a     { text-decoration: none; color: inherit; }
ul    { list-style: none; }
::selection { background: var(--gold); color: var(--white); }
.alignwide  { max-width: 1100px; margin-inline: auto; }
.alignfull  { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }

/* ============================================================================
   3. TYPOGRAPHY
   ============================================================================ */
h1,h2,h3,h4 { font-family: var(--ff-head); color: var(--green-deep); line-height: 1.1; font-weight: 800; }
h1 { font-size: clamp(2.4rem,5.5vw,4rem);   letter-spacing: -0.01em; }
h2 { font-size: clamp(1.9rem,3.8vw,3rem);   letter-spacing: -0.01em; }
h3 { font-size: clamp(1.3rem,2.4vw,1.8rem); }
h4 { font-size: 1.1rem; font-weight: 700; }
p  { font-size: 1rem; line-height: 1.78; color: var(--g600); font-weight: 400; }

.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--ff-head); font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px;
}
.eyebrow::before,.eyebrow::after { content:''; display:block; height:1px; width:28px; background:var(--gold); }
.eyebrow.left::before { display:none; }
.rule { width:60px; height:2px; background:var(--gold); margin:16px 0 32px; }
.rule.center { margin:16px auto 32px; }

/* ============================================================================
   4. GRID / LAYOUT
   ============================================================================ */
.container       { width:100%; max-width:var(--mw); margin-inline:auto; padding-inline:var(--container-px); }
.container-fluid { width:100%; padding-inline:var(--container-px); }
.container-sm    { max-width:960px;  margin-inline:auto; padding-inline:var(--container-px); }
.container-lg    { max-width:1400px; margin-inline:auto; padding-inline:var(--container-px); }
.row { display:flex; flex-wrap:wrap; margin-inline:calc(var(--sp-3)*-1); }
.row > * { padding-inline:var(--sp-3); }
.g-0 { margin-inline:0; } .g-0 > * { padding-inline:0; }
.col   { flex:1 0 0%; }
.col-1 { flex:0 0 auto; width:8.333%; }   .col-2 { flex:0 0 auto; width:16.667%; }
.col-3 { flex:0 0 auto; width:25%; }      .col-4 { flex:0 0 auto; width:33.333%; }
.col-5 { flex:0 0 auto; width:41.667%; }  .col-6 { flex:0 0 auto; width:50%; }
.col-7 { flex:0 0 auto; width:58.333%; }  .col-8 { flex:0 0 auto; width:66.667%; }
.col-9 { flex:0 0 auto; width:75%; }      .col-10 { flex:0 0 auto; width:83.333%; }
.col-11 { flex:0 0 auto; width:91.667%; } .col-12 { flex:0 0 auto; width:100%; }
@media (min-width:768px) {
  .col-md-4 { flex:0 0 auto; width:33.333%; }
  .col-md-6 { flex:0 0 auto; width:50%; }
  .col-md-8 { flex:0 0 auto; width:66.667%; }
}
@media (min-width:992px) {
  .col-lg-3 { flex:0 0 auto; width:25%; }
  .col-lg-4 { flex:0 0 auto; width:33.333%; }
  .col-lg-6 { flex:0 0 auto; width:50%; }
}

/* ============================================================================
   5. HEADER
   ============================================================================ */
#hdr {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:var(--hh); background:var(--green-deep);
  box-shadow:0 2px 20px rgba(0,0,0,0.25);
  transition:background 0.35s ease, box-shadow 0.35s ease;
}
#hdr.scrolled { background:rgba(30,46,26,0.97); backdrop-filter:blur(10px); }
.hdr-inner { display:flex; align-items:center; height:var(--hh); gap:8px; }

/* Logo */
a.logo { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.logo-box { display:flex; flex-direction:column; align-items:center; justify-content:center; width:44px; height:44px; background:var(--gold); border-radius:6px; line-height:1; }
.lb-num { font-family:var(--ff-head); font-size:1.1rem; font-weight:900; color:var(--white); }
.lb-tag { font-family:var(--ff-head); font-size:0.44rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.85); }
.logo-text { display:flex; flex-direction:column; }
.logo-text strong { font-family:var(--ff-head); font-size:0.95rem; font-weight:800; color:var(--white); line-height:1.2; }
.logo-text span { font-size:0.65rem; font-weight:400; color:rgba(255,255,255,0.55); letter-spacing:0.06em; }

/* Desktop nav */
.nav { display:flex; align-items:center; gap:2px; flex:1; }
.nav a { font-family:var(--ff-head); font-size:0.74rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:rgba(255,255,255,0.78); padding:6px 9px; border-radius:6px; transition:color 0.2s, background 0.2s; white-space:nowrap; }
.nav a:hover,.nav a.active { color:var(--white); background:rgba(255,255,255,0.1); }

/* Header right */
.hdr-right { display:flex; align-items:center; gap:12px; flex-shrink:0; }
/* Phone number lives in the CTA section & footer — hidden from header so 8 nav items + CTA fit */
.hdr-phone { display:none; }
.hdr-phone:hover { color:var(--gold-light); }

/* Burger */
.burger { display:none; flex-direction:column; gap:5px; width:32px; height:32px; justify-content:center; align-items:center; background:none; border:none; cursor:pointer; padding:4px; }
.burger span { display:block; width:22px; height:2px; background:var(--white); border-radius:2px; transition:transform 0.3s ease, opacity 0.3s ease; }
.burger.is-active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger.is-active span:nth-child(2) { opacity:0; }
.burger.is-active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile nav drawer */
#mnav { position:fixed; top:var(--hh); left:0; right:0; bottom:0; z-index:999; background:var(--green-deep); display:flex; flex-direction:column; padding:40px 24px; gap:4px; transform:translateX(-100%); transition:transform 0.35s cubic-bezier(0.4,0,0.2,1); overflow-y:auto; }
#mnav.open { transform:translateX(0); }
#mnav a { display:block; padding:14px 20px; font-family:var(--ff-head); font-size:1.1rem; font-weight:700; letter-spacing:0.04em; color:rgba(255,255,255,0.85); border-radius:8px; transition:background 0.2s, color 0.2s; }
#mnav a:hover,#mnav a.active { background:rgba(255,255,255,0.08); color:var(--white); }

.mnav-close { position:absolute; top:16px; right:16px; background:rgba(255,255,255,0.1); border:none; color:#fff; width:36px; height:36px; border-radius:50%; font-size:1.4rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.2s; }
.mnav-close:hover { background:rgba(255,255,255,0.22); }
.mnav-links { display:flex; flex-direction:column; gap:4px; flex:1; }
.mnav-cta { margin-top:auto; text-align:center; justify-content:center; }
.mnav-backdrop { display:none; position:fixed; inset:0; z-index:998; background:rgba(0,0,0,0.55); }
.mnav-backdrop.active { display:block; }

/* Breakpoints */
@media (max-width:900px) {
  .nav,.hdr-phone,.hdr-cta { display:none; }
  .burger { display:flex; }
  .container { padding-inline:20px; }
}
@media (min-width:901px) {
  #mnav,.mnav-backdrop { display:none !important; }
}

/* ============================================================================
   6. FOOTER
   ============================================================================ */
footer { background:var(--near-black); color:var(--g400); padding:80px 0 0; }
.foot-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding-bottom:60px; }
.foot-brand .logo-text strong { color:var(--white); }
.foot-brand .logo-text span   { color:rgba(255,255,255,0.5); }
.foot-brand p { margin-top:20px; font-size:0.9rem; line-height:1.7; color:var(--g400); max-width:280px; }
.foot-social { display:flex; gap:12px; margin-top:24px; }
.foot-social a { display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.08); color:var(--g400); transition:background 0.2s, color 0.2s; }
.foot-social a:hover { background:var(--gold); color:var(--white); }
.foot-col h5 { font-family:var(--ff-head); font-size:0.72rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--white); margin-bottom:20px; }
.foot-col ul,.foot-col .menu { display:flex; flex-direction:column; gap:10px; }
.foot-col a,.foot-col .menu-item a { font-size:0.9rem; color:var(--g400); transition:color 0.2s; }
.foot-col a:hover,.foot-col .menu-item a:hover { color:var(--gold-light); }
.foot-bottom { border-top:1px solid rgba(255,255,255,0.07); padding:28px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:0.82rem; color:var(--g600); }
@media (max-width:900px) { .foot-top { grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:560px) { .foot-top { grid-template-columns:1fr; } }

/* ============================================================================
   7. BUTTONS
   ============================================================================ */
.btn { display:inline-flex; align-items:center; gap:8px; padding:14px 30px; border-radius:var(--r-pill); font-family:var(--ff-head); font-size:0.85rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer; transition:var(--ease); border:2px solid transparent; text-decoration:none; white-space:nowrap; }
.btn-green { background:var(--green); color:var(--white); border-color:var(--green); }
.btn-green:hover { background:var(--green-deep); border-color:var(--green-deep); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-gold { background:var(--gold); color:var(--white); border-color:var(--gold); }
.btn-gold:hover { background:var(--gold-light); border-color:var(--gold-light); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-ghost-white,.btn-outline,.btn-outline-light { background:transparent; color:var(--white); border-color:rgba(255,255,255,0.55); }
.btn-ghost-white:hover,.btn-outline:hover,.btn-outline-light:hover { background:rgba(255,255,255,0.12); border-color:var(--white); }
.btn-outline-green { background:transparent; color:var(--green); border-color:var(--green); }
.btn-outline-green:hover { background:var(--green); color:var(--white); }
.btn-blk { background:var(--near-black); color:var(--white); border-color:var(--near-black); }
.btn-sm  { padding:10px 22px; font-size:0.78rem; }
.btn-lg  { padding:18px 42px; font-size:0.95rem; }
.btn-xl  { padding:20px 52px; font-size:1rem; }
.btn-full,.btn-block { width:100%; justify-content:center; }
@media (max-width:480px) {
  .btn-lg { padding:16px 28px; font-size:0.9rem; }
}

/* ============================================================================
   8. FORMS
   ============================================================================ */
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:20px; }
.form-group label { font-family:var(--ff-head); font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--g600); }
.form-group input,.form-group textarea,.form-group select { padding:14px 18px; border:1.5px solid var(--g200); border-radius:8px; font-family:var(--ff-body); font-size:1rem; color:var(--g800); background:var(--white); transition:border-color 0.2s, box-shadow 0.2s; width:100%; }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(53,74,48,0.12); }
.form-group input::placeholder,.form-group textarea::placeholder { color:var(--g400); }
.form-group textarea { resize:vertical; min-height:120px; }
.form-group select { appearance:none; cursor:pointer; }
.form-error { font-size:0.8rem; color:#c0392b; margin-top:4px; }
.fourd-form__response { margin-top:16px; padding:12px 16px; border-radius:8px; font-size:0.9rem; font-weight:600; display:none; }
.fourd-form__response.success { background:rgba(53,74,48,0.08); border:1px solid var(--green); color:var(--green); display:block; }
.fourd-form__response.error   { background:rgba(220,53,69,0.08); border:1px solid #dc3545; color:#dc3545; display:block; }
@media (max-width:640px) { .form-row { grid-template-columns:1fr; } }

/* ============================================================================
   9. BLOCKS
   ============================================================================ */

/* ─── HERO ──────────────────────────────────────────────────────────────── */
.fourd-hero { position:relative; min-height:620px; display:flex; align-items:center; overflow:hidden; background-color:var(--color-dark); }
.fourd-hero__bg { position:absolute; inset:0; background-size:cover; background-position:center; background-repeat:no-repeat; }
.fourd-hero__overlay { position:absolute; inset:0; background:linear-gradient(100deg,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.40) 60%,rgba(0,0,0,0.10) 100%); }
.fourd-hero__content { position:relative; z-index:2; max-width:680px; padding:var(--space-xl) 0; }
.fourd-hero__eyebrow { display:inline-block; font-size:0.75rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--color-gold); margin-bottom:var(--space-sm); }
.fourd-hero__title { font-size:clamp(2rem,5vw,3.5rem); font-weight:800; line-height:1.1; color:#fff; margin-bottom:var(--space-md); }
.fourd-hero__title span { color:var(--gold); }
.fourd-hero__subtitle { font-size:1.1rem; color:rgba(255,255,255,0.85); max-width:580px; line-height:1.65; margin-bottom:var(--space-lg); }
.fourd-hero__actions { display:flex; gap:var(--space-sm); flex-wrap:wrap; }
.fourd-hero__scroll { position:absolute; bottom:32px; left:50%; transform:translateX(-50%); }
.fourd-hero__scroll-line { width:1px; height:48px; background:rgba(255,255,255,0.35); margin:0 auto; animation:scrollPulse 2s ease infinite; }
@keyframes scrollPulse { 0%,100%{opacity:0.35;transform:scaleY(1)} 50%{opacity:0.9;transform:scaleY(1.15)} }
@media (max-width:768px) {
  .fourd-hero { min-height:520px; }
  .fourd-hero__actions { flex-direction:column; align-items:flex-start; }
  .fourd-hero__scroll { display:none; }
}
@media (max-width:480px) {
  .fourd-hero { min-height:420px; }
  .fourd-hero__actions .btn { width:100%; justify-content:center; }
}

/* ─── PAGE HERO ─────────────────────────────────────────────────────────── */
.fourd-page-hero { position:relative; min-height:320px; display:flex; align-items:center; background-color:var(--color-dark); overflow:hidden; }
.fourd-page-hero__bg { position:absolute; inset:0; background-size:cover; background-position:center; background-repeat:no-repeat; }
.fourd-page-hero__overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(0,0,0,0.60) 0%,rgba(0,0,0,0.45) 100%); }
.fourd-page-hero__content { position:relative; z-index:2; text-align:center; padding:var(--space-xl) 0; width:100%; }
.fourd-page-hero__eyebrow { display:inline-block; font-size:0.7rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-gold); margin-bottom:var(--space-sm); }
.fourd-page-hero__title { font-size:clamp(1.75rem,4vw,3rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:var(--space-sm); }
.fourd-page-hero__subtitle { font-size:1.05rem; color:rgba(255,255,255,0.80); max-width:560px; margin:0 auto; line-height:1.6; }
.fourd-page-hero__breadcrumb { margin-top:var(--space-md); font-size:0.8rem; color:rgba(255,255,255,0.55); }
.fourd-page-hero__breadcrumb a { color:rgba(255,255,255,0.55); }
.fourd-page-hero__breadcrumb a:hover { color:var(--color-gold); }
.fourd-page-hero__breadcrumb span+span::before { content:' / '; margin:0 4px; }
@media (max-width:768px) { .fourd-page-hero { min-height:220px; } }

/* ─── TRUST BAR ─────────────────────────────────────────────────────────── */
.fourd-trust-bar { padding:var(--space-lg) 0; background:var(--color-dark); border-top:3px solid var(--color-green); }
.fourd-trust-bar--light { background:var(--color-light); }
.fourd-trust-bar__items { display:flex; gap:var(--space-md); justify-content:space-around; flex-wrap:wrap; }
.trust-item { display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; flex:1; min-width:120px; max-width:180px; }
.trust-item__icon { font-size:2rem; line-height:1; }
.trust-item__value { font-size:1.75rem; font-weight:800; color:var(--color-gold); line-height:1; }
.fourd-trust-bar--light .trust-item__value { color:var(--color-green); }
.trust-item__label { font-size:0.8rem; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; color:rgba(255,255,255,0.65); }
.fourd-trust-bar--light .trust-item__label { color:var(--color-text-muted); }
@media (min-width:769px) {
  .trust-item+.trust-item { border-left:1px solid rgba(255,255,255,0.10); padding-left:var(--space-md); }
  .fourd-trust-bar--light .trust-item+.trust-item { border-left-color:var(--color-border); }
}
@media (max-width:576px) {
  .fourd-trust-bar__items { gap:var(--space-lg) var(--space-sm); }
  .trust-item { min-width:90px; }
}

/* ─── SERVICES GRID ─────────────────────────────────────────────────────── */
.fourd-services-grid { padding:var(--space-xl) 0; }
.fourd-services-grid__header { text-align:center; max-width:640px; margin:0 auto var(--space-xl); }
.fourd-services-grid__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:var(--space-md); }
.service-card { background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,0.07); transition:box-shadow 0.25s ease,transform 0.25s ease; display:flex; flex-direction:column; }
.service-card:hover { box-shadow:0 8px 32px rgba(0,0,0,0.13); transform:translateY(-3px); }
.service-card__image { overflow:hidden; }
.service-card__image img,.service-card__img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.service-card__body { padding:var(--space-md); flex:1; display:flex; flex-direction:column; }
.service-card__icon { font-size:1.75rem; margin-bottom:var(--space-sm); line-height:1; }
.service-card__title { font-size:1.2rem; font-weight:700; color:var(--color-dark); margin-bottom:0.5rem; }
.service-card__desc { font-size:0.925rem; color:var(--color-text-muted); line-height:1.65; flex:1; margin-bottom:var(--space-md); }
.service-card__link { display:inline-flex; align-items:center; gap:6px; font-size:0.875rem; font-weight:600; color:var(--color-green); margin-top:auto; transition:gap 0.2s; }
.service-card__link:hover { gap:10px; color:var(--color-green-dark); }
.service-card__link::after { content:'→'; }
@media (max-width:768px) { .fourd-services-grid__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px) { .fourd-services-grid__grid { grid-template-columns:1fr; } }

/* ─── SIDE BY SIDE ──────────────────────────────────────────────────────── */
.fourd-side-by-side { padding:var(--sp-6) 0; }
.fourd-side-by-side__inner { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-6); align-items:center; }
.fourd-side-by-side--img-right .fourd-side-by-side__media { order:2; }
.fourd-side-by-side--img-right .fourd-side-by-side__content { order:1; }
.fourd-side-by-side__media { position:relative; }
.fourd-side-by-side__img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius-lg); display:block; }
.fourd-side-by-side__media::before { content:''; position:absolute; inset:-6px -6px 6px 6px; border-radius:var(--radius-lg); background:var(--color-green); opacity:0.06; z-index:-1; }
/* Collapse media column gracefully when image fails to load */
.fourd-side-by-side__media.no-image { display:none; }
.fourd-side-by-side__media.no-image ~ .fourd-side-by-side__content { grid-column:1 / -1; max-width:720px; }
.fourd-side-by-side__eyebrow { display:inline-block; font-size:0.7rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-green); margin-bottom:var(--space-sm); }
.fourd-side-by-side__title { font-size:clamp(1.4rem,3vw,2.2rem); font-weight:800; color:var(--color-dark); line-height:1.2; margin-bottom:var(--space-sm); }
.fourd-side-by-side__body { font-size:1rem; color:var(--color-text); line-height:1.7; margin-bottom:var(--space-md); }
.fourd-side-by-side__features { list-style:none; padding:0; margin:0 0 var(--space-lg); display:flex; flex-direction:column; gap:10px; }
.fourd-side-by-side__features li { display:flex; align-items:flex-start; gap:10px; font-size:0.95rem; color:var(--color-text); line-height:1.5; }
.fourd-side-by-side__features .feature-check { flex-shrink:0; width:22px; height:22px; border-radius:50%; background:var(--color-green); color:#fff; font-size:0.75rem; font-weight:800; display:flex; align-items:center; justify-content:center; margin-top:1px; }
@media (max-width:900px) {
  .fourd-side-by-side__inner { grid-template-columns:1fr; gap:var(--space-lg); }
  .fourd-side-by-side__media,.fourd-side-by-side--img-right .fourd-side-by-side__media { order:1 !important; }
  .fourd-side-by-side__content,.fourd-side-by-side--img-right .fourd-side-by-side__content { order:2 !important; }
  .fourd-side-by-side__media::before { display:none; }
}

/* ─── TESTIMONIALS ──────────────────────────────────────────────────────── */
.fourd-testimonials { padding:var(--space-xl) 0; background:var(--color-light); }
.fourd-testimonials__header { text-align:center; max-width:560px; margin:0 auto var(--space-xl); }
.fourd-testimonials__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:var(--space-md); }
.testimonial-card { background:#fff; border-radius:var(--radius-lg); padding:var(--space-lg); box-shadow:0 2px 16px rgba(0,0,0,0.06); display:flex; flex-direction:column; gap:var(--space-sm); position:relative; }
.testimonial-card::before { content:'\201C'; position:absolute; top:var(--space-md); right:var(--space-md); font-size:4rem; line-height:1; color:var(--color-gold); opacity:0.25; font-family:Georgia,serif; }
.testimonial-card__stars { display:flex; gap:3px; }
.testimonial-card__star { color:#f5a623; font-size:1rem; }
.testimonial-card__star--empty { color:#ddd; }
.testimonial-card__quote { font-size:0.95rem; line-height:1.7; color:var(--color-text); font-style:italic; flex:1; }
.testimonial-card__footer { display:flex; align-items:center; gap:var(--space-sm); margin-top:auto; padding-top:var(--space-sm); border-top:1px solid var(--color-border); }
.testimonial-card__avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.testimonial-card__meta { display:flex; flex-direction:column; gap:2px; }
.testimonial-card__name { font-weight:700; font-size:0.9rem; color:var(--color-dark); }
.testimonial-card__location { font-size:0.8rem; color:var(--color-text-muted); }
.testimonial-card__source { font-size:0.75rem; color:var(--color-text-muted); font-weight:600; text-transform:uppercase; letter-spacing:0.05em; }
@media (max-width:768px) { .fourd-testimonials__grid { grid-template-columns:1fr; } }

/* ─── PROCESS ───────────────────────────────────────────────────────────── */
.fourd-process { padding:var(--space-xl) 0; }
.fourd-process__header { text-align:center; max-width:600px; margin:0 auto var(--space-xl); }
.fourd-process__steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:var(--space-lg) var(--space-md); position:relative; }
.fourd-process__footer { text-align:center; margin-top:var(--sp-6); }
.process-step { display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--space-sm); }
.process-step__number { width:56px; height:56px; border-radius:50%; background:var(--color-green); color:#fff; font-size:1.25rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; z-index:1; }
.process-step__icon { font-size:1.5rem; }
.process-step__title { font-size:1.05rem; font-weight:700; color:var(--color-dark); }
.process-step__desc,.process-step__body p { font-size:0.9rem; color:var(--color-text-muted); line-height:1.65; max-width:220px; }
@media (max-width:768px) {
  .fourd-process__steps { grid-template-columns:1fr; gap:var(--space-md); }
  .process-step { flex-direction:row; text-align:left; align-items:flex-start; }
  .process-step__number { flex-shrink:0; }
  .process-step__body { flex:1; }
  .process-step__desc,.process-step__body p { max-width:none; }
}

/* ─── CTA ───────────────────────────────────────────────────────────────── */
.fourd-cta { padding:var(--space-xl) 0; position:relative; overflow:hidden; }
.fourd-cta--bg-green { background:var(--color-green); }
.fourd-cta--bg-dark  { background:var(--color-dark); }
.fourd-cta--bg-gold  { background:var(--color-gold); }
.fourd-cta--bg-image { background-color:var(--color-dark); }
.fourd-cta--bg-image .fourd-cta__bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0.25; }
.fourd-cta__inner { position:relative; z-index:2; text-align:center; max-width:680px; margin:0 auto; }
.fourd-cta__eyebrow { display:inline-block; font-size:0.7rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.65); margin-bottom:var(--space-sm); }
.fourd-cta__title { font-size:clamp(1.6rem,3.5vw,2.5rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:var(--space-sm); }
.fourd-cta--bg-gold .fourd-cta__title { color:var(--color-dark); }
.fourd-cta__subtitle { font-size:1rem; color:rgba(255,255,255,0.80); margin-bottom:var(--space-lg); line-height:1.6; }
.fourd-cta__actions { display:flex; gap:var(--space-sm); justify-content:center; flex-wrap:wrap; }
.fourd-cta::after { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,0.04) 1px,transparent 1px); background-size:24px 24px; pointer-events:none; }
@media (max-width:576px) { .fourd-cta__actions { flex-direction:column; align-items:center; } }

/* ─── GALLERY ───────────────────────────────────────────────────────────── */
.fourd-gallery { padding:var(--space-xl) 0; }
.fourd-gallery__header { text-align:center; max-width:600px; margin:0 auto var(--space-lg); }
.fourd-gallery__placeholder { text-align:center; padding:var(--space-xl); color:var(--color-text-muted); font-style:italic; }
.fourd-gallery__filters { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:var(--space-lg); }
.gallery-filter-btn { padding:8px 20px; border-radius:var(--radius-full); border:2px solid var(--color-border); background:transparent; color:var(--color-text); font-size:0.85rem; font-weight:600; cursor:pointer; transition:all 0.2s ease; line-height:1; }
.gallery-filter-btn:hover { border-color:var(--color-green); color:var(--color-green); }
.gallery-filter-btn.active,.gallery-filter-btn[aria-pressed="true"] { background:var(--color-green); border-color:var(--color-green); color:#fff; }
.fourd-gallery__grid { columns:3; column-gap:var(--space-sm); }
.gallery-item { break-inside:avoid; margin-bottom:var(--space-sm); position:relative; overflow:hidden; border-radius:var(--radius-md); cursor:pointer; }
.gallery-item img { width:100%; display:block; transition:transform 0.4s ease; }
.gallery-item:hover img { transform:scale(1.04); }
.gallery-item__overlay { position:absolute; inset:0; background:rgba(0,0,0,0.45); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 0.3s ease; border-radius:var(--radius-md); }
.gallery-item__overlay span { color:#fff; font-size:1.5rem; }
.gallery-item:hover .gallery-item__overlay { opacity:1; }
.gallery-item[hidden],.gallery-item.is-hidden { display:none; }
.gallery-lightbox { position:fixed; inset:0; background:rgba(0,0,0,0.90); z-index:9999; display:flex; align-items:center; justify-content:center; padding:var(--space-md); cursor:zoom-out; }
.gallery-lightbox__img { max-width:90vw; max-height:85vh; object-fit:contain; border-radius:var(--radius-md); }
.gallery-lightbox__close { position:absolute; top:var(--space-md); right:var(--space-md); background:rgba(255,255,255,0.15); border:none; color:#fff; width:40px; height:40px; border-radius:50%; font-size:1.25rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.2s; }
.gallery-lightbox__close:hover { background:rgba(255,255,255,0.3); }
@media (max-width:768px) { .fourd-gallery__grid { columns:2; } }
@media (max-width:480px) { .fourd-gallery__grid { columns:1; } }

/* ─── CONTACT FORM ──────────────────────────────────────────────────────── */
.fourd-contact-form { padding:var(--space-xl) 0; }
.fourd-contact-form__inner { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-xl); align-items:start; }
.fourd-contact-form__info { display:flex; flex-direction:column; gap:var(--space-lg); }
.fourd-contact-form__intro { font-size:1rem; color:var(--color-text); line-height:1.7; }
.contact-detail { display:flex; align-items:flex-start; gap:var(--space-sm); }
.contact-detail__icon { width:44px; height:44px; border-radius:var(--radius-md); background:var(--color-green); color:#fff; font-size:1.1rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-detail__body { display:flex; flex-direction:column; gap:2px; }
.contact-detail__label { font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--color-text-muted); }
.contact-detail__value { font-size:0.975rem; font-weight:600; color:var(--color-dark); }
.contact-detail__value a { color:inherit; }
.contact-detail__value a:hover { color:var(--color-green); }
.fourd-contact-form__form-wrap { background:#fff; border-radius:var(--radius-lg); padding:var(--space-lg); box-shadow:0 4px 24px rgba(0,0,0,0.08); }
.fourd-contact-form__form-title { font-size:1.3rem; font-weight:700; color:var(--color-dark); margin-bottom:var(--space-md); }
/* Gravity Forms integration */
.fourd-contact-form__form-wrap .gform_wrapper input,
.fourd-contact-form__form-wrap .gform_wrapper textarea,
.fourd-contact-form__form-wrap .gform_wrapper select { border-radius:var(--radius-md) !important; border-color:var(--color-border) !important; }
.fourd-contact-form__form-wrap .gform_wrapper .gform_submit_button,
.fourd-contact-form__form-wrap .gform_wrapper input[type="submit"] { background-color:var(--color-green) !important; border-color:var(--color-green) !important; border-radius:var(--radius-md) !important; font-weight:700 !important; }
@media (max-width:900px) { .fourd-contact-form__inner { grid-template-columns:1fr; } }

/* ============================================================================
   10. ANIMATIONS & SCROLL REVEAL
   ============================================================================ */
[data-reveal] { opacity:0; transition:opacity 0.65s ease,transform 0.65s ease; will-change:opacity,transform; }
[data-reveal="fade-up"]    { transform:translateY(32px); }
[data-reveal="fade-down"]  { transform:translateY(-32px); }
[data-reveal="fade-left"]  { transform:translateX(-32px); }
[data-reveal="fade-right"] { transform:translateX(32px); }
[data-reveal="zoom-in"]    { transform:scale(0.92); }
[data-reveal].is-visible   { opacity:1; transform:none; }
[data-reveal-stagger] > * { opacity:0; transform:translateY(24px); transition:opacity 0.5s ease,transform 0.5s ease; }
[data-reveal-stagger].is-visible > *:nth-child(1) { transition-delay:0.05s; }
[data-reveal-stagger].is-visible > *:nth-child(2) { transition-delay:0.15s; }
[data-reveal-stagger].is-visible > *:nth-child(3) { transition-delay:0.25s; }
[data-reveal-stagger].is-visible > *:nth-child(4) { transition-delay:0.35s; }
[data-reveal-stagger].is-visible > *:nth-child(5) { transition-delay:0.45s; }
[data-reveal-stagger].is-visible > *:nth-child(6) { transition-delay:0.55s; }
[data-reveal-stagger].is-visible > * { opacity:1; transform:none; }
#hdr { transition:box-shadow 0.3s ease,background-color 0.3s ease; }
#hdr.scrolled { box-shadow:0 2px 20px rgba(0,0,0,0.12); }
@keyframes pageFadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
.site-main { animation:pageFadeIn 0.4s ease both; }
.fourd-cta .btn-green:hover,.fourd-hero .btn-green:hover { animation:btnPulse 0.8s ease; }
@keyframes btnPulse { 0%,100%{box-shadow:0 0 0 0 rgba(41,128,66,0.4)} 70%{box-shadow:0 0 0 12px rgba(41,128,66,0)} }
@media (prefers-reduced-motion:reduce) {
  [data-reveal],[data-reveal-stagger] > * { opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ============================================================================
   11. WORDPRESS CORE OVERRIDES
   ============================================================================ */
.wp-block-library-skip-to-content { display:none; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }

/* ============================================================================
   12. FRONT-PAGE SECTIONS (intro · feature-rows · local · cta-form)
   ============================================================================ */

/* INTRO */
.fourd-intro { padding:var(--section-py) 0; background:var(--off-white); text-align:center; }
.fourd-intro__inner { max-width:720px; margin:0 auto; }
.fourd-intro__inner .rule { margin:16px auto 32px; }
.fourd-intro__inner p { margin-bottom:var(--sp-6); }

/* FEATURE ROWS */
.fourd-feat-rows { }
.fourd-feat-row { display:flex; min-height:500px; }
.fourd-feat-row.flip { flex-direction:row-reverse; }
.fourd-feat-row__img { flex:0 0 50%; overflow:hidden; }
.fourd-feat-row__img img { width:100%; height:100%; object-fit:cover; display:block; }
.fourd-feat-row__copy { flex:0 0 50%; background:var(--green-deep); padding:80px 72px; display:flex; flex-direction:column; justify-content:center; }
.fourd-feat-row.flip .fourd-feat-row__copy { background:var(--green); }
.fourd-feat-row__copy .eyebrow { color:var(--gold-light); }
.fourd-feat-row__copy h3 { color:#fff; font-size:clamp(1.4rem,2.5vw,2rem); margin:12px 0 20px; line-height:1.2; }
.fourd-feat-row__copy > p { color:rgba(255,255,255,0.78); margin-bottom:28px; }
.fourd-feat-points { display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.fourd-feat-point { display:flex; align-items:flex-start; gap:12px; color:rgba(255,255,255,0.85); font-size:0.95rem; line-height:1.5; }
.fourd-feat-check { width:22px; height:22px; min-width:22px; border-radius:50%; background:var(--gold); display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:0.72rem; font-weight:700; }
@media (max-width:900px) {
  .fourd-feat-row,.fourd-feat-row.flip { flex-direction:column; }
  .fourd-feat-row__img { flex:0 0 auto; min-height:280px; }
  .fourd-feat-row__copy { flex:0 0 auto; padding:48px 32px; }
}

/* LOCAL / OUR MISSION */
.fourd-local { display:grid; grid-template-columns:1fr 1fr; min-height:560px; }
.fourd-local__img { overflow:hidden; }
.fourd-local__img img { width:100%; height:100%; object-fit:cover; display:block; }
.fourd-local__copy { background:var(--g800); padding:80px 72px; display:flex; flex-direction:column; justify-content:center; }
.fourd-local__copy h2 { color:#fff; margin:12px 0 16px; }
.fourd-local__copy .rule { background:var(--gold-light); margin:0 0 28px; }
.fourd-local__copy > p { color:rgba(255,255,255,0.78); margin-bottom:16px; }
.fourd-local__copy strong { color:#fff; }
.fourd-areas { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.fourd-area-tag { background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.72); padding:5px 14px; border-radius:var(--r-pill); font-size:0.78rem; }
.fourd-local-stats { display:flex; gap:40px; margin-top:32px; padding-top:28px; border-top:1px solid rgba(255,255,255,0.1); }
.fourd-ls-num { font-family:var(--ff-head); font-size:2rem; font-weight:900; color:var(--gold); line-height:1; }
.fourd-ls-lbl { font-size:0.78rem; color:rgba(255,255,255,0.5); margin-top:4px; }
@media (max-width:900px) {
  .fourd-local { grid-template-columns:1fr; }
  .fourd-local__img { min-height:300px; }
  .fourd-local__copy { padding:48px 32px; }
  .fourd-local-stats { gap:24px; }
}

/* CTA WITH INLINE FORM */
.fourd-cta-form { padding:var(--section-py) 0; background:var(--green-deep); position:relative; overflow:hidden; }
.fourd-cta-form::after { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,0.04) 1px,transparent 1px); background-size:24px 24px; pointer-events:none; }
.fourd-cta-form__inner { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.fourd-cta-form__copy .eyebrow { color:var(--gold-light); }
.fourd-cta-form__copy h2 { color:#fff; margin:12px 0 24px; line-height:1.15; }
.fourd-cta-form__copy h2 em { font-style:normal; color:var(--gold); }
.fourd-cta-form__copy > p { color:rgba(255,255,255,0.78); line-height:1.7; margin-bottom:var(--sp-5); }
.fourd-cta-checklist { display:flex; flex-direction:column; gap:12px; margin-bottom:var(--sp-5); }
.fourd-cta-check-item { display:flex; align-items:flex-start; gap:12px; color:rgba(255,255,255,0.85); font-size:0.95rem; }
.fourd-cta-check-dot { width:22px; height:22px; min-width:22px; border-radius:50%; background:var(--gold); display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:0.72rem; font-weight:700; }
.fourd-cta-phone { display:flex; align-items:center; gap:16px; }
.fourd-cta-phone__copy small { display:block; font-size:0.75rem; color:rgba(255,255,255,0.45); margin-bottom:4px; }
.fourd-cta-phone__copy a { font-family:var(--ff-head); font-size:1.5rem; font-weight:800; color:var(--gold-light); letter-spacing:0.02em; }
.fourd-cta-phone__copy a:hover { color:var(--white); }
.fourd-cta-form__panel { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.14); border-radius:var(--radius-lg); padding:40px; }
.fourd-cta-form__panel h3 { color:#fff; font-size:1.3rem; margin-bottom:8px; }
.fourd-cta-form__panel > p { color:rgba(255,255,255,0.6); font-size:0.9rem; margin-bottom:28px; line-height:1.6; }
.fourd-cta-form__panel .form-group label { color:rgba(255,255,255,0.6); }
.fourd-cta-form__panel .form-group input,
.fourd-cta-form__panel .form-group select { background:rgba(255,255,255,0.07); border-color:rgba(255,255,255,0.18); color:#fff; }
.fourd-cta-form__panel .form-group input::placeholder { color:rgba(255,255,255,0.3); }
.fourd-cta-form__panel .form-group input:focus,
.fourd-cta-form__panel .form-group select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,164,48,0.18); }
.fourd-cta-form__panel .form-group select option { background:var(--green-deep); color:#fff; }
.form-note { font-size:0.78rem; color:rgba(255,255,255,0.38); margin-top:12px; text-align:center; }
@media (max-width:992px) {
  .fourd-cta-form__inner { grid-template-columns:1fr; gap:48px; }
}
.wp-block { margin-top:0 !important; margin-bottom:0 !important; }


/* == Gallery Lightbox == */
.gallery-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.92);animation:lbFadeIn 0.2s ease}
@keyframes lbFadeIn{from{opacity:0}to{opacity:1}}
.gallery-lightbox__img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:4px;box-shadow:0 8px 40px rgba(0,0,0,.6)}
.gallery-lightbox__close{position:absolute;top:16px;right:20px;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.4);color:#fff;font-size:1.6rem;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;z-index:10001}
.gallery-lightbox__close:hover{background:rgba(255,255,255,.25);border-color:#fff}

/* == Header CTA gold hover == */
.mnav-cta:hover,.btn-gold:hover,a.btn-gold:hover{background:var(--gold-dark,#b08d1a)!important;border-color:var(--gold-dark,#b08d1a)!important;color:#fff!important}

/* == LS-Grid card body fix: selector was __body/__badge but HTML uses -body/-badge == */
.fourd-ls-card-body{padding:24px}
.fourd-ls-card-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgb(45,80,22);border:1px solid rgb(45,80,22);border-radius:3px;padding:2px 8px;margin-bottom:12px}


/* ============================================
 * CSS migrated from Code Snippets on 2026-05-13
 * ============================================ */

/* --- 4D Header CSS — Responsive Breakpoint --- */
/* == 4D Header: responsive breakpoint fix == */
/* Phone number colour */
.hdr-phone,.hdr-phone:link,.hdr-phone:visited{color:rgba(255,255,255,.88)!important}
.hdr-phone:hover{color:#d4b06a!important}
/* Raise breakpoint: 900px -> 1100px to prevent 8-item nav overflow */
@media (max-width:1100px){
  .nav,.hdr-phone,.hdr-cta{display:none!important}
  .burger{display:flex!important}
}
@media (min-width:1101px){
  .hdr-phone{display:inline-flex!important}
  .burger{display:none!important}
  #mnav,.mnav-backdrop{display:none!important}
}

/* --- 4D CSS — ls-card-body Badge Padding Fix --- */
/* == 4D LS-Grid card body padding fix == */
.fourd-ls-card-body{padding:24px}
.fourd-ls-card-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgb(45,80,22);border:1px solid rgb(45,80,22);border-radius:3px;padding:2px 8px;margin-bottom:12px}

/* --- 4D Gallery/Services CSS --- */
#fourd-lightbox-overlay {
        display:none; position:fixed; inset:0; background:rgba(0,0,0,0.92);
        z-index:99999; align-items:center; justify-content:center;
    }
    #fourd-lightbox-overlay.active { display:flex; }
    #fourd-lightbox-overlay img {
        max-width:90vw; max-height:85vh; object-fit:contain;
        border-radius:4px; box-shadow:0 8px 40px rgba(0,0,0,0.6);
    }
    #fourd-lb-close {
        position:fixed; top:20px; right:24px;
        background:#c4952a; color:#fff; border:none;
        width:44px; height:44px; border-radius:50%;
        font-size:24px; line-height:1; cursor:pointer;
        display:flex; align-items:center; justify-content:center;
        z-index:100000; font-weight:bold;
        box-shadow:0 2px 12px rgba(0,0,0,0.4);
        transition:background 0.2s;
    }
    #fourd-lb-close:hover { background:#a07a1e; }
    #fourd-lb-prev, #fourd-lb-next {
        position:fixed; top:50%; transform:translateY(-50%);
        background:rgba(196,149,42,0.85); color:#fff; border:none;
        width:48px; height:48px; border-radius:50%;
        font-size:22px; cursor:pointer; z-index:100000;
        display:flex; align-items:center; justify-content:center;
    }
    #fourd-lb-prev { left:16px; }
    #fourd-lb-next { right:16px; }

/* --- 4D CTA Section CSS --- */
/* Hide LivingSpace Product Styles section */
    .page-id-13 .fourd-side-by-side .fourd-ls-grid-section { display: none !important; }
    
    /* Make compare block truly full-width: expand inner + make cards fill space */
    .page-id-13 .fourd-compare .fourd-compare__inner,
    .page-id-13 .fourd-compare .container {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
        box-sizing: border-box;
    }
    .page-id-13 .fourd-compare .fourd-compare__grid {
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
    }
    .page-id-13 .fourd-compare .fourd-compare__header {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Season grid full-width styles */
    .page-id-13 .fourd-compare--grid .fourd-compare__inner {
        max-width: 100% !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
        box-sizing: border-box;
    }
    .fourd-compare--grid .fourd-compare__grid-cards {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        margin-top: 36px;
        width: 100%;
    }
    @media(max-width:900px){.fourd-compare--grid .fourd-compare__grid-cards{grid-template-columns:1fr 1fr;}}
    @media(max-width:600px){.fourd-compare--grid .fourd-compare__grid-cards{grid-template-columns:1fr;}}
    .fourd-compare--grid .fourd-compare__card {
        background: #fff;
        border: 2px solid #1e2e1a;
        border-radius: 8px;
        padding: 28px 24px;
    }
    .fourd-compare--grid .fourd-compare__card-badge {
        display: inline-block;
        background: #c4952a;
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        padding: 4px 10px;
        border-radius: 20px;
        margin-bottom: 10px;
    }
    .fourd-compare--grid .fourd-compare__card-title {
        font-size: 18px;
        font-weight: 700;
        color: #1e2e1a;
        margin: 6px 0 4px;
        line-height: 1.3;
    }
    .fourd-compare--grid .fourd-compare__card-sub {
        font-size: 13px;
        color: #888;
        margin-bottom: 14px;
        font-style: italic;
    }
    .fourd-compare--grid .fourd-compare__card-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .fourd-compare--grid .fourd-compare__card-list li {
        padding: 5px 0 5px 22px;
        position: relative;
        font-size: 14px;
        border-bottom: 1px solid #eee;
        color: #333;
        line-height: 1.4;
    }
    .fourd-compare--grid .fourd-compare__card-list li:last-child { border-bottom: none; }
    .fourd-compare--grid .fourd-compare__card-list li::before {
        content: "✓";
        position: absolute;
        left: 0;
        color: #c4952a;
        font-weight: 700;
    }
    .fourd-compare__eyebrow { color: #c4952a; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; display:block; margin-bottom:8px; }
    .fourd-compare__heading,.fourd-compare__title { font-size:36px; font-weight:800; color:#1e2e1a; margin:0 0 10px; }
    .fourd-compare__subtitle { color:#555; margin-bottom:28px; }

/* --- 4D Misc Frontend CSS --- */
#hdr{display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px;}

/* 4D Logo Fix */
.custom-logo-link{display:block;height:70px;overflow:hidden;line-height:0;}
.custom-logo{height:220px;width:auto;max-height:none;object-fit:unset;margin-top:-90px;}

/* 4D Gallery Caption */
.gallery-item__caption{display:none!important;}

/* 4D Logo Crop */
.custom-logo-link{display:block;height:70px;overflow:hidden;line-height:0;}
.custom-logo{height:220px;width:auto;max-height:none;object-fit:unset;margin-top:-90px;}
