/* ══════════════════════════════════════════════
   BRAND TOKENS — Premium Authoritative Edition
   Deep hunter green + champagne gold on warm white
══════════════════════════════════════════════ */
:root{
  /* ── Backgrounds ── warm white surfaces */
  --white:   #ffffff;
  --off:     #f7f5f0;
  --cream:   #eeebe3;
  --rule:    #e2ddd4;
  /* ── Text ── rich near-black with warm undertone */
  --text:    #131210;
  --body:    #46443c;
  --muted:   #918e86;
  --deep:    #090907;
  /* ── Primary — Deep Hunter Green ── */
  --green:   #1b3d29;
  --green2:  #122a1c;
  --green-bg:#e6eeea;
  --green-lt:#97bba8;
  /* ── Secondary — Champagne Gold ── */
  --gold:    #c49a52;
  --gold2:   #a67e3a;
  --gold-bg: #faf5eb;
  --gold-lt: #e5d0a8;
  /* ── Dark sections ── CBRE green + near-black */
  --dark:    #003F2D;
  --dark2:   #002B1F;
  --dark3:   #004D38;
  --cbre:    #006A4D;
  /* ── UI states ── */
  --red:     #8b1f1f;
  --amber:   #7a5c1e;
  /* ── Type scale ── */
  --xs:  .72rem;
  --sm:  .875rem;
  --base:.975rem;
  --lg:  1.1rem;
  --xl:  1.3rem;
  --2xl: 1.78rem;
  --3xl: 2.5rem;
  --4xl: clamp(2.6rem,4.8vw,4.2rem);
  --hero:clamp(3.4rem,6.5vw,6.2rem);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  background:var(--white);
  color:var(--text);
  font-family:'Lato',sans-serif;
  font-weight:400;
  line-height:1.76;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--off)}
::-webkit-scrollbar-thumb{background:var(--gold)}

/* ── PAGE SYSTEM ─────────────────────────────── */
.page{display:none}.page.active{display:block}

/* ── NAV ──────────────────────────────────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  background:transparent;
  border-bottom:1px solid transparent;
  height:80px;transition:height .3s,box-shadow .3s,background .35s,border-color .35s;
}
nav.scrolled{height:66px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);box-shadow:0 1px 24px rgba(0,0,0,.07)}
.nav-inner{max-width:1340px;margin:0 auto;padding:0 2.5rem;height:100%;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:.65rem;cursor:pointer;text-decoration:none}
.nav-logo-mark{width:38px;height:38px;background:var(--green);display:flex;align-items:center;justify-content:center;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}
.nav-logo-mark svg{width:16px;height:16px}
.nav-logo-text{display:flex;flex-direction:column}
.nav-logo-name{font-family:'Raleway',sans-serif;font-weight:600;font-size:1.05rem;letter-spacing:.01em;color:#fff;line-height:1.15;transition:color .35s}
.nav-logo-sub{font-family:'Raleway',sans-serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);line-height:1;transition:color .35s}
nav.scrolled .nav-logo-name{color:var(--deep)}
nav.scrolled .nav-logo-sub{color:var(--muted)}
.nav-links{display:flex;align-items:center;gap:0}
.nav-links a{font-family:'Raleway',sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:rgba(255,255,255,.75);padding:.45rem 1rem;cursor:pointer;text-decoration:none;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:#fff}
nav.scrolled .nav-links a{color:var(--muted)}
nav.scrolled .nav-links a:hover,nav.scrolled .nav-links a.active{color:var(--deep)}
.nav-cta{background:var(--gold)!important;color:#fff!important;margin-left:.5rem;padding:.45rem 1.4rem!important;letter-spacing:.15em!important}
.nav-cta:hover{background:var(--gold2)!important}
.admin-badge{display:none;align-items:center;gap:.4rem;font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold);border:1px solid var(--gold-lt);padding:.3rem .8rem;cursor:pointer;transition:all .2s;background:var(--gold-bg);margin-left:.5rem}
.admin-badge:hover{background:var(--gold);color:#fff}
body.admin-mode .admin-badge{display:inline-flex}
.admin-only{display:none!important}
body.admin-mode .admin-only{display:inline-flex!important}
.hamburger{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.hamburger span{width:22px;height:1.5px;background:#fff;display:block;transition:background .35s}
nav.scrolled .hamburger span{background:var(--deep)}
.mob-nav{display:none;position:fixed;top:70px;left:0;right:0;background:var(--white);border-bottom:1px solid var(--rule);padding:1.25rem 2.5rem;z-index:899;flex-direction:column}
.mob-nav.open{display:flex}
.mob-nav a{font-family:'Raleway',sans-serif;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--text);cursor:pointer;padding:.8rem 0;border-bottom:1px solid var(--rule);text-decoration:none}

/* ── UTILITIES ────────────────────────────────── */
.container{max-width:1340px;margin:0 auto;padding:0 2.5rem}
.eyebrow{font-family:'Raleway',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold);display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--gold)}
.eyebrow.light{color:rgba(196,154,82,.85)}.eyebrow.light::before{background:rgba(196,154,82,.55)}
.eyebrow.green{color:var(--green)}.eyebrow.green::before{background:var(--green)}
h2.hl{font-family:'Raleway',sans-serif;font-weight:300;font-size:var(--4xl);line-height:1.06;color:var(--deep);letter-spacing:-.015em}
h2.hl em{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;color:var(--green);letter-spacing:0}
h2.hl.white{color:#fff}
h2.hl.white em{color:rgba(196,154,82,.9)}
h3.sh{font-family:'Raleway',sans-serif;font-weight:300;font-size:var(--3xl);line-height:1.12;color:var(--deep);letter-spacing:-.01em}
h3.sh em{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;color:var(--green)}
.lead{font-size:var(--lg);color:var(--body);line-height:1.86;font-weight:400;max-width:56ch}
.body-t{font-size:var(--base);color:var(--body);line-height:1.9;font-weight:400}
.ruled{border-top:1px solid var(--rule)}

/* ── BUTTONS ──────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:'Raleway',sans-serif;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;cursor:pointer;text-decoration:none;transition:all .25s ease;border:none;border-radius:4px}
.btn-dark{background:var(--gold);color:#fff;padding:.9rem 2.4rem}
.btn-dark:hover{background:var(--gold2);transform:translateY(-1px);box-shadow:0 8px 28px rgba(196,154,82,.28)}
.btn-out{background:transparent;color:var(--deep);padding:.88rem 2.2rem;border:1.5px solid var(--deep)}
.btn-out:hover{background:var(--deep);color:#fff}
.btn-out-w{background:transparent;color:rgba(255,255,255,.82);padding:.88rem 2.2rem;border:1.5px solid rgba(255,255,255,.28)}
.btn-out-w:hover{border-color:rgba(255,255,255,.8);color:#fff}
.btn-ghost{background:transparent;color:var(--gold);padding:0;border:none;font-family:'Raleway',sans-serif;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.btn-ghost::after{content:' →'}
.btn-ghost:hover{color:var(--gold2)}
.btn-danger{background:var(--red);color:#fff;padding:.6rem 1.2rem;font-size:.72rem}
.btn-sm{padding:.5rem 1.1rem;font-size:.72rem}
.btn-icon{width:34px;height:34px;padding:0;justify-content:center;border:1px solid var(--rule);background:var(--white);color:var(--muted);font-family:'Lato',sans-serif}
.btn-icon:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-bg)}

/* ── PAGE BANNER (inner pages) ────────────────── */
.page-banner{padding-top:70px;min-height:52vh;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.pb-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.pb-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(9,12,8,.93) 0%,rgba(9,12,8,.55) 55%,rgba(9,12,8,.18) 100%)}
.pb-content{position:relative;z-index:2;max-width:1340px;width:100%;margin:0 auto;padding:4rem 2.5rem}
.pb-content h1{font-family:'Raleway',sans-serif;font-size:var(--4xl);font-weight:300;color:#fff;line-height:1.07;margin:.75rem 0 1rem}
.pb-content h1 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;color:rgba(196,154,82,.9);letter-spacing:0}
.pb-desc{font-size:var(--base);color:rgba(255,255,255,.55);max-width:52ch;line-height:1.86}

/* ── HERO ─────────────────────────────────────── */
.hero{position:relative;min-height:115vh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('https://static.wixstatic.com/media/6820dc_5b9be3726ad045e6bf87553ec483717d~mv2.jpg/v1/fill/w_1920,h_1080,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/shutterstock_82708180.jpg') center/cover no-repeat}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,42,30,.35) 0%,rgba(0,42,30,.55) 50%,rgba(0,42,30,.82) 85%,rgba(0,42,30,.92) 100%)}
.hero-content{position:relative;z-index:2;max-width:1340px;width:100%;margin:0 auto;padding:0 2.5rem 7rem}
.hero-ey{font-family:'Raleway',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(196,154,82,.72);margin-bottom:1.5rem;display:flex;align-items:center;gap:.8rem;animation:fu .8s .1s ease both}
.hero-ey::before{content:'';width:28px;height:1px;background:rgba(196,154,82,.45)}
.hero h1{font-family:'Raleway',sans-serif;font-size:var(--hero);font-weight:200;line-height:1.05;color:#fff;letter-spacing:-.015em;margin-bottom:2.25rem;max-width:880px;animation:fu .9s .2s ease both}
.hero h1 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;color:rgba(196,154,82,.88);letter-spacing:0}
.hero-bot{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:2rem;animation:fu .8s .4s ease both}
.hero-desc{font-size:var(--base);color:rgba(255,255,255,.52);max-width:46ch;line-height:1.9;font-weight:400}
.hero-acts{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.btn-hw{background:var(--gold);color:#fff;padding:.95rem 2.4rem;border-radius:4px;font-family:'Raleway',sans-serif;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;transition:all .25s;cursor:pointer;border:none}
.btn-hw:hover{background:var(--gold2)}
.btn-ho{background:transparent;color:rgba(255,255,255,.75);padding:.93rem 2.4rem;border-radius:4px;font-family:'Raleway',sans-serif;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;border:1.5px solid rgba(255,255,255,.25);display:inline-flex;align-items:center;gap:.5rem;transition:all .25s;cursor:pointer}
.btn-ho:hover{border-color:rgba(255,255,255,.65);color:#fff}
.hero-stats{display:flex;animation:fu .8s .55s ease both;margin-top:4rem;border-top:1px solid rgba(255,255,255,.08);padding-top:2rem;flex-wrap:wrap;gap:3rem}
.hstat-n{font-family:'Raleway',sans-serif;font-size:2.6rem;font-weight:500;line-height:1;color:#fff}
.hstat-l{font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:.3rem}
.hstat+.hstat{padding-left:3rem;border-left:1px solid rgba(255,255,255,.08)}
@keyframes fu{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ── MARQUEE ──────────────────────────────────── */
.marquee-wrap{background:var(--dark);border-top:1px solid rgba(196,154,82,.15);border-bottom:1px solid rgba(196,154,82,.08);padding:1rem 0;overflow:hidden;white-space:nowrap}
.marquee-inner{display:inline-flex;animation:mq 36s linear infinite}
.mi{font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.38);padding:0 2.5rem;font-weight:500}
.mi::before{content:'◆  ';color:rgba(196,154,82,.4);font-size:.5rem;vertical-align:middle}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── SECTION SCAFFOLDING ──────────────────────── */
.section{padding:7rem 0}.section-sm{padding:5rem 0}.section-lg{padding:9rem 0}
.section-dark{background:var(--dark)}
.section-off{background:var(--off)}
.section-cream{background:var(--cream)}

/* ── MISSION ──────────────────────────────────── */
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center}
.mission-media{position:relative}
.mm-a{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.mm-b{position:absolute;bottom:-2.5rem;right:-2.5rem;width:52%;aspect-ratio:4/3;object-fit:cover;display:block;border:5px solid var(--white);box-shadow:0 16px 48px rgba(0,0,0,.14)}
.m-pillars{display:flex;flex-direction:column;margin-top:2rem}
.m-pill{display:flex;align-items:flex-start;gap:1.25rem;padding:1.25rem 0;border-top:1px solid var(--rule)}
.m-pill:last-child{border-bottom:1px solid var(--rule)}
.pn{font-family:'Raleway',sans-serif;font-size:1rem;color:var(--gold);flex-shrink:0;font-weight:700;padding-top:.1rem}
.pt{font-family:'Raleway',sans-serif;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--deep);margin-bottom:.3rem}
.pd{font-size:var(--sm);color:var(--body);line-height:1.7}

/* ── SECTORS ──────────────────────────────────── */
.sectors-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4.5rem}
.sectors-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;border:none}
.sector{padding:2.25rem 2rem;background:var(--white);border:1px solid var(--rule);border-radius:10px;cursor:pointer;transition:all .28s;display:flex;flex-direction:column}
.sector:hover{background:var(--gold-bg);transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,.07)}
.sector-n{font-family:'Raleway',sans-serif;font-size:.85rem;color:var(--muted);margin-bottom:1.75rem;font-style:italic}
.sector-img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;margin-bottom:1.5rem;filter:grayscale(20%);transition:filter .4s}
.sector:hover .sector-img{filter:grayscale(0%)}
.sector-name{font-family:'Raleway',sans-serif;font-size:var(--xl);font-weight:600;color:var(--deep);line-height:1.22;margin-bottom:.7rem}
.sector-body{font-size:var(--sm);color:var(--body);line-height:1.76;flex:1;margin-bottom:1.5rem}

/* ── SERVICES ─────────────────────────────────── */
.svcs-header{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end;margin-bottom:5rem}
.svcs-italic{font-family:'Raleway',sans-serif;font-size:var(--2xl);font-weight:400;font-style:italic;color:var(--muted);line-height:1.4;margin-top:.75rem}
.svcs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.svc{padding:2.5rem 2.25rem;border:1px solid var(--rule);border-radius:10px;margin:.75rem;transition:all .28s}
.svc:hover{background:var(--off)}
.svc-n{font-family:'Raleway',sans-serif;font-size:2.8rem;font-weight:300;color:var(--gold-lt);line-height:1;margin-bottom:1rem}
.svc-title{font-family:'Raleway',sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--deep);margin-bottom:1.5rem}
.svc-list{list-style:none}
.svc-list li{font-size:var(--sm);color:var(--body);padding:.42rem 0;border-bottom:1px solid var(--rule);display:flex;align-items:baseline;gap:.65rem;line-height:1.52}
.svc-list li::before{content:'—';color:var(--rule);flex-shrink:0;font-size:.6rem}
.svc-list li:last-child{border-bottom:none}

/* ── PROJECTS ─────────────────────────────────── */
.proj-filter{display:flex;gap:.5rem;flex-wrap:wrap}
.pf-btn{font-family:'Raleway',sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding:.38rem 1rem;border:1px solid var(--rule);background:var(--white);color:var(--muted);cursor:pointer;transition:all .2s}
.pf-btn.active,.pf-btn:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5px}
.pcard{position:relative;overflow:hidden;cursor:pointer;background:var(--dark);border-radius:10px}
.pcard img{width:100%;height:320px;object-fit:cover;display:block;transition:transform .6s,opacity .4s;opacity:.88}
.pcard:hover img{transform:scale(1.04);opacity:1}
.pcard.span2{grid-column:span 2}.pcard.span2 img{height:460px}
.pcard-meta{position:absolute;bottom:0;left:0;right:0;padding:1.75rem 2.25rem;background:linear-gradient(to top,rgba(10,18,10,.9) 0%,transparent 100%)}
.pcard-cat{font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.48);margin-bottom:.35rem}
.pcard-title{font-family:'Raleway',sans-serif;font-size:var(--2xl);font-weight:500;color:#fff;line-height:1.18}
.pcard-arr{position:absolute;top:1.5rem;right:1.5rem;width:38px;height:38px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);opacity:0;transform:translateY(4px);transition:all .3s}
.pcard:hover .pcard-arr{opacity:1;transform:translateY(0)}
.pcard-status{position:absolute;top:1.5rem;left:1.5rem;font-family:'Raleway',sans-serif;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;padding:.28rem .75rem;background:rgba(255,255,255,.1);backdrop-filter:blur(4px);color:rgba(255,255,255,.75);font-weight:500}
.pcard-actions{position:absolute;top:1.5rem;right:1.5rem;display:flex;gap:.35rem;opacity:0;transition:opacity .25s}
.pcard:hover .pcard-actions{opacity:1}
.no-projects{text-align:center;padding:6rem 2rem;color:var(--muted);font-family:'Raleway',sans-serif;font-size:var(--2xl)}

/* ── PROJECT DETAIL ───────────────────────────── */
.pdet-hero{position:relative;height:72vh;min-height:500px;overflow:hidden;padding-top:70px}
.pdet-hero-img{width:100%;height:100%;object-fit:cover;display:block}
.pdet-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,18,10,.85) 0%,rgba(10,18,10,.2) 60%,transparent 100%)}
.pdet-hero-content{position:absolute;bottom:0;left:0;right:0;z-index:2;max-width:1340px;margin:0 auto;padding:3rem 2.5rem}
.pdet-cat{font-family:'Raleway',sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.48);margin-bottom:.5rem}
.pdet-title{font-family:'Raleway',sans-serif;font-size:clamp(2rem,5vw,4rem);font-weight:500;color:#fff;line-height:1.07}
.pdet-body{padding:5.5rem 0;background:var(--white)}
.pdet-layout{display:grid;grid-template-columns:2fr 1fr;gap:5rem;align-items:start}
.pdet-meta-box{background:var(--off);border:1px solid var(--rule);padding:2.25rem;position:sticky;top:90px;border-radius:10px}
.pdet-meta-row{display:flex;flex-direction:column;padding:.95rem 0;border-bottom:1px solid var(--rule)}
.pdet-meta-row:last-child{border-bottom:none}
.pdet-meta-label{font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.28rem}
.pdet-meta-val{font-size:var(--sm);font-weight:500;color:var(--deep)}
.pdet-text h3{font-family:'Raleway',sans-serif;font-size:var(--2xl);font-weight:500;color:var(--deep);margin:2.75rem 0 1rem}
.pdet-text h3:first-child{margin-top:0}
.pdet-text p{font-size:var(--base);color:var(--body);line-height:1.9;margin-bottom:1rem}
.pdet-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.25rem}
.tag-pill{font-family:'Raleway',sans-serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);padding:.3rem .8rem;border:1px solid var(--gold-lt);background:var(--gold-bg)}
.gallery-section{padding:5rem 0;background:var(--off);border-top:1px solid var(--rule)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:2rem}
.gallery-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;cursor:pointer;transition:opacity .3s}
.gallery-img:hover{opacity:.84}
.gallery-grid .gallery-img:first-child{grid-column:span 2;aspect-ratio:16/9}
.related-section{padding:5rem 0;background:var(--white);border-top:1px solid var(--rule)}

/* ── VALUES ───────────────────────────────────── */
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;border:none}
.val{padding:2.5rem 2.25rem;border:1px solid rgba(196,154,82,.12);border-radius:10px;transition:background .25s}
.val:hover{background:rgba(196,154,82,.05)}
.val-n{font-family:'Raleway',sans-serif;font-size:2.8rem;color:rgba(196,154,82,.13);line-height:1;margin-bottom:1.25rem;font-style:italic}
.val-title{font-family:'Raleway',sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.88);margin-bottom:.75rem}
.val-text{font-size:var(--sm);color:rgba(255,255,255,.42);line-height:1.82}

/* ── FAQ ──────────────────────────────────────── */
.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:6rem;align-items:start}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 0;cursor:pointer;font-size:var(--base);color:var(--deep);gap:1rem;transition:color .2s;font-weight:500}
.faq-q:hover,.faq-item.open .faq-q{color:var(--gold)}
.faq-icon{flex-shrink:0;font-size:1.1rem;color:var(--rule);transition:all .25s;font-family:'Lato',sans-serif}
.faq-item.open .faq-icon{transform:rotate(45deg);color:var(--gold)}
.faq-a{display:none;padding:0 0 1.4rem;font-size:var(--sm);color:var(--body);line-height:1.86}
.faq-item.open .faq-a{display:block}

/* ── CTA BAND ─────────────────────────────────── */
.cta-band{padding:6rem 0;background:var(--dark);border-top:1px solid rgba(196,154,82,.12);border-bottom:1px solid rgba(196,154,82,.08);text-align:center}
.cta-band-inner{position:relative}
.cta-band h2{font-family:'Raleway',sans-serif;font-size:var(--3xl);font-weight:300;color:#fff;margin-bottom:1rem}
.cta-band h2 em{font-family:'Playfair Display',serif;font-style:italic;color:rgba(196,154,82,.9)}
.cta-band p{font-size:var(--base);color:rgba(255,255,255,.45);max-width:52ch;margin:0 auto 2.75rem;line-height:1.9}
.cta-cities{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:3rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.06)}
.city-tag{font-family:'Raleway',sans-serif;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.28);padding:.28rem .82rem;border:1px solid rgba(255,255,255,.08);background:transparent;transition:all .2s}
.city-tag:hover{color:rgba(255,255,255,.65);border-color:rgba(196,154,82,.3)}

/* ── BLOG ─────────────────────────────────────── */
.blog-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}
.blog-filter-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.blog-cats{display:flex;gap:.4rem;flex-wrap:wrap}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.bcard{background:var(--white);border:1px solid var(--rule);cursor:pointer;transition:all .28s;overflow:hidden;border-radius:10px}
.bcard:hover{border-color:var(--gold-lt);box-shadow:0 8px 36px rgba(0,0,0,.08);transform:translateY(-3px)}
.bcard-img{width:100%;height:210px;object-fit:cover;display:block;transition:transform .5s}
.bcard:hover .bcard-img{transform:scale(1.03)}
.bcard.featured{grid-column:span 3;display:grid;grid-template-columns:1.4fr 1fr}
.bcard.featured .bcard-img{height:100%;min-height:300px}
.bcard.featured .bcard-body{padding:2.5rem}
.bcard.featured .bcard-title{font-size:var(--2xl);line-height:1.2}
.bcard.featured .bcard-excerpt{-webkit-line-clamp:4}
.bcard-body{padding:1.75rem}
.bcard-cat{font-family:'Raleway',sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;font-weight:600}
.bcard-title{font-family:'Raleway',sans-serif;font-size:var(--xl);font-weight:600;color:var(--deep);line-height:1.28;margin-bottom:.75rem}
.bcard-excerpt{font-size:var(--sm);color:var(--body);line-height:1.76;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bcard-meta{display:flex;justify-content:space-between;align-items:center;font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--rule);padding-top:1rem;margin-top:auto}
.bcard-actions{display:flex;gap:.35rem;opacity:0;transition:opacity .25s}
.bcard:hover .bcard-actions{opacity:1}
.no-posts{text-align:center;padding:6rem 2rem;color:var(--muted);font-family:'Raleway',sans-serif;font-size:var(--2xl)}

/* ── POST DETAIL ──────────────────────────────── */
.post-hero{padding-top:70px;position:relative;height:62vh;min-height:420px;overflow:hidden}
.post-hero-img{width:100%;height:100%;object-fit:cover;display:block}
.post-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(9,12,8,.9) 0%,rgba(9,12,8,.3) 60%,transparent 100%)}
.post-hero-cnt{position:absolute;bottom:0;left:0;right:0;z-index:2;max-width:1340px;margin:0 auto;padding:3rem 2.5rem}
.post-cat-lbl{font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(196,154,82,.75);margin-bottom:.5rem;font-weight:600}
.post-title-lbl{font-family:'Raleway',sans-serif;font-size:clamp(2rem,4.5vw,3.6rem);font-weight:500;color:#fff;line-height:1.1;max-width:700px}
.post-layout{display:grid;grid-template-columns:2fr 1fr;gap:5.5rem;align-items:start}
.post-article h3{font-family:'Raleway',sans-serif;font-size:var(--2xl);font-weight:600;color:var(--deep);margin:3rem 0 1.1rem}
.post-article h3:first-child{margin-top:0}
.post-article p{font-size:var(--base);color:var(--body);line-height:1.92;margin-bottom:1.25rem}
.post-article blockquote{border-left:3px solid var(--gold);padding:.5rem 0 .5rem 1.75rem;margin:2.25rem 0;font-family:'Playfair Display',serif;font-size:var(--xl);font-style:italic;color:var(--deep);line-height:1.52}
.post-article ul{margin:1rem 0 1.5rem 1.25rem}
.post-article ul li{font-size:var(--base);color:var(--body);line-height:1.82;margin-bottom:.5rem}
.post-sidebar{position:sticky;top:90px}
.post-meta-box{background:var(--off);border:1px solid var(--rule);padding:2rem;border-radius:10px}
.post-meta-box h4{font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem;font-weight:500}
.post-meta-item{display:flex;flex-direction:column;padding:.8rem 0;border-bottom:1px solid var(--rule)}
.post-meta-item:last-child{border-bottom:none}
.post-meta-label{font-family:'Raleway',sans-serif;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.22rem}
.post-meta-val{font-size:var(--sm);color:var(--deep);font-weight:500}
.post-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.75rem}

/* ── RESOURCES PAGE ───────────────────────────── */
.res-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:3rem}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.rcard{background:var(--white);border:1px solid var(--rule);cursor:pointer;transition:all .28s;overflow:hidden;display:flex;flex-direction:column;border-radius:10px}
.rcard:hover{border-color:var(--gold-lt);box-shadow:0 8px 36px rgba(0,0,0,.08);transform:translateY(-3px)}
.rcard-type{font-family:'Raleway',sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:.28rem .75rem;display:inline-block;margin:1.5rem 1.5rem 0}
.rcard-type.case{background:var(--green-bg);color:var(--green);border:1px solid var(--green-lt)}
.rcard-type.guide{background:var(--gold-bg);color:var(--gold2);border:1px solid var(--gold-lt)}
.rcard-body{padding:1rem 1.5rem 1.5rem;flex:1;display:flex;flex-direction:column}
.rcard-title{font-family:'Raleway',sans-serif;font-size:var(--xl);font-weight:500;color:var(--deep);line-height:1.28;margin-bottom:.75rem}
.rcard-excerpt{font-size:var(--sm);color:var(--body);line-height:1.72;flex:1;margin-bottom:1.25rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rcard-footer{display:flex;justify-content:space-between;align-items:center;font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--rule);padding-top:1rem}

/* ── RESOURCE DETAIL ──────────────────────────── */
.res-article h3{font-family:'Raleway',sans-serif;font-size:var(--2xl);font-weight:500;color:var(--deep);margin:3rem 0 1rem}
.res-article h3:first-child{margin-top:0}
.res-article h4{font-family:'Raleway',sans-serif;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--deep);margin:2rem 0 .75rem}
.res-article p{font-size:var(--base);color:#565250;line-height:1.92;margin-bottom:1.25rem}
.res-article ul,.res-article ol{margin:1rem 0 1.5rem 1.25rem}
.res-article li{font-size:var(--base);color:#565250;line-height:1.82;margin-bottom:.55rem}
.res-article blockquote{border-left:3px solid var(--gold);padding:.5rem 0 .5rem 1.75rem;margin:2.25rem 0;font-family:'Raleway',sans-serif;font-size:var(--xl);font-style:italic;color:var(--deep);line-height:1.52}
.res-cta-box{background:var(--dark);border:1px solid rgba(196,154,82,.15);padding:2.5rem;margin-top:3rem;border-radius:12px}
.res-cta-box h4{font-family:'Raleway',sans-serif;font-size:var(--xl);font-weight:600;color:#fff;margin-bottom:.75rem}
.res-cta-box p{font-size:var(--sm);color:rgba(255,255,255,.5);line-height:1.82;margin-bottom:1.5rem}
.res-sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:1.5rem}
.res-meta-box{background:var(--off);border:1px solid var(--rule);padding:2rem;border-radius:10px}
.res-meta-box h4{font-family:'Raleway',sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem}
.res-toc{background:var(--white);border:1px solid var(--rule);padding:2rem}
.res-toc h4{font-family:'Raleway',sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem}
.toc-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.toc-list li a{font-size:var(--sm);color:var(--body);text-decoration:none;display:flex;align-items:baseline;gap:.5rem;transition:color .2s}
.toc-list li a::before{content:'—';color:var(--rule);font-size:.6rem;flex-shrink:0}
.toc-list li a:hover{color:var(--gold)}

/* ── EXPERTISE ────────────────────────────────── */
.exp-list{display:flex;flex-direction:column}
.exp-item{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--rule)}
.exp-item:nth-child(even) .exp-text{order:2}.exp-item:nth-child(even) .exp-media{order:1}
.exp-text{padding:5rem 3.5rem;display:flex;flex-direction:column;justify-content:center}
.exp-media{overflow:hidden}
.exp-media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.exp-n{font-family:'Raleway',sans-serif;font-size:4.5rem;color:var(--cream);line-height:1;margin-bottom:.75rem;font-style:italic}
.exp-name{font-family:'Raleway',sans-serif;font-size:var(--2xl);font-weight:500;color:var(--deep);line-height:1.18;margin-bottom:1.25rem}
.exp-body{font-size:var(--sm);color:var(--body);line-height:1.85;margin-bottom:1.75rem}
.exp-tags{display:flex;flex-wrap:wrap;gap:.4rem}

/* ── COMPANY ──────────────────────────────────── */
.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:start}
.company-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:3.5rem}
.cstat{background:var(--off);padding:1.75rem;text-align:center}
.cstat-n{font-family:'Raleway',sans-serif;font-size:2.8rem;font-weight:500;color:var(--deep);line-height:1}
.cstat-l{font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.4rem}

/* ── SERVICES FULL ────────────────────────────── */
.svc-full-grid{display:grid;grid-template-columns:1fr 1fr}
.svc-full-item{padding:3rem;border:1px solid var(--rule);margin:-1px 0 0 -1px;transition:background .25s}
.svc-full-item:hover{background:var(--off)}
.svc-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;margin-bottom:1.5rem;border:1px solid var(--rule)}

/* ── CONTACT ──────────────────────────────────── */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:start}
.contact-dets{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.5rem}
.cdet-label{font-family:'Raleway',sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem;font-weight:600;opacity:.85}
.cdet-val{font-size:var(--base);color:var(--deep);font-weight:400}
.check-list{margin-top:2.5rem;display:flex;flex-direction:column;gap:.65rem}
.check-item{display:flex;gap:.75rem;align-items:center;font-size:var(--sm);color:var(--body)}
.check-item::before{content:'✓';color:var(--gold);font-size:.72rem;flex-shrink:0;font-weight:700}
.form-panel{background:var(--off);padding:3rem;border:1px solid var(--rule);border-radius:12px}
.fp-title{font-family:'Raleway',sans-serif;font-size:var(--xl);font-weight:600;color:var(--deep);margin-bottom:2rem}
.form-group{margin-bottom:1.25rem}
.form-label{font-family:'Raleway',sans-serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.5rem;font-weight:600}
.form-input,.form-select,.form-textarea{width:100%;background:var(--white);border:1px solid var(--rule);padding:.82rem 1rem;font-family:'Lato',sans-serif;font-size:var(--sm);color:var(--deep);outline:none;transition:border-color .2s;-webkit-appearance:none}
.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%231b3d29'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.form-textarea{height:140px;resize:vertical}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--muted)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-note{font-size:.72rem;color:var(--muted);margin-top:1rem;text-align:center;line-height:1.6}
.form-success{background:var(--green);color:#fff;padding:1rem 1.25rem;font-size:var(--sm);text-align:center;display:none;margin-bottom:1rem}

/* ── SLIDE PANEL ──────────────────────────────── */
.panel-overlay{position:fixed;inset:0;background:rgba(10,18,10,.45);z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s}
.panel-overlay.open{opacity:1;pointer-events:all}
.slide-panel{position:fixed;top:0;right:0;bottom:0;width:min(640px,95vw);background:var(--white);z-index:1001;transform:translateX(100%);transition:transform .38s cubic-bezier(.4,0,.2,1);overflow-y:auto;display:flex;flex-direction:column}
.slide-panel.open{transform:translateX(0)}
.sp-header{display:flex;align-items:center;justify-content:space-between;padding:1.75rem 2rem;border-bottom:1px solid var(--rule);position:sticky;top:0;background:var(--white);z-index:1}
.sp-title{font-family:'Raleway',sans-serif;font-size:var(--xl);font-weight:500;color:var(--deep)}
.sp-close{font-size:1.4rem;color:var(--muted);cursor:pointer;background:none;border:none;line-height:1;padding:.25rem;font-family:'Lato',sans-serif}
.sp-close:hover{color:var(--deep)}
.sp-body{padding:2rem;flex:1}
.sp-section{font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:1.75rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--rule)}
.sp-actions{padding:1.5rem 2rem;border-top:1px solid var(--rule);display:flex;gap:.75rem;background:var(--white);position:sticky;bottom:0}
.img-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}
.img-list-item{display:flex;gap:.5rem;align-items:center}
.img-list-item input{flex:1}

/* ── AUTH MODAL ───────────────────────────────── */
.auth-overlay{position:fixed;inset:0;background:rgba(10,18,10,.55);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.auth-overlay.open{opacity:1;pointer-events:all}
.auth-modal{background:var(--white);width:min(420px,92vw);padding:3rem;box-shadow:0 28px 72px rgba(0,0,0,.18)}
.auth-modal-logo{display:flex;align-items:center;gap:.65rem;margin-bottom:2.25rem}
.auth-modal-mark{width:34px;height:34px;background:var(--dark);border:1px solid rgba(196,154,82,.3);display:flex;align-items:center;justify-content:center;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}
.auth-modal-mark svg{width:14px;height:14px}
.auth-modal-name{font-family:'Raleway',sans-serif;font-weight:600;font-size:1rem;letter-spacing:.01em;color:var(--deep)}
.auth-modal h2{font-family:'Raleway',sans-serif;font-size:var(--2xl);font-weight:500;color:var(--deep);margin-bottom:.5rem}
.auth-modal p{font-size:var(--sm);color:var(--body);margin-bottom:2rem;line-height:1.65}
.auth-pw-wrap{position:relative;margin-bottom:.75rem}
.auth-pw-input{width:100%;background:var(--off);border:1px solid var(--rule);padding:.92rem 3rem .92rem 1rem;font-family:'Lato',sans-serif;font-size:var(--base);color:var(--deep);outline:none;transition:border-color .2s;letter-spacing:.04em}
.auth-pw-input:focus{border-color:var(--gold)}
.auth-pw-toggle{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);font-size:.9rem;padding:.2rem}
.auth-pw-toggle:hover{color:var(--deep)}
.auth-error{font-family:'Raleway',sans-serif;font-size:.72rem;letter-spacing:.1em;color:var(--red);height:1rem;margin-bottom:.75rem}
.auth-btn{width:100%;background:var(--gold);color:#fff;padding:1rem;font-family:'Raleway',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;border:none;cursor:pointer;transition:background .2s}
.auth-btn:hover{background:var(--green2)}
.auth-cancel{display:block;text-align:center;margin-top:1rem;font-size:var(--xs);font-family:'Raleway',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:color .2s}
.auth-cancel:hover{color:var(--deep)}

/* ── LIGHTBOX ─────────────────────────────────── */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:3000;display:none;align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lb-img{max-width:90vw;max-height:90vh;object-fit:contain;display:block}
.lb-close{position:absolute;top:1.5rem;right:2rem;font-size:2rem;color:rgba(255,255,255,.6);cursor:pointer;background:none;border:none;font-family:'Lato',sans-serif}
.back-link{display:inline-flex;align-items:center;gap:.5rem;font-family:'Raleway',sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;padding:1.25rem 0;border:none;background:none;transition:color .2s}
.back-link:hover{color:var(--gold)}.back-link::before{content:'←'}

/* ── READING PROGRESS ─────────────────────────── */
.read-progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:2000;width:0%;transition:width .1s linear;pointer-events:none}

/* ── BACK TO TOP ──────────────────────────────── */
.btt{position:fixed;bottom:2rem;left:2rem;width:40px;height:40px;background:var(--dark2);color:rgba(255,255,255,.6);border:1px solid rgba(196,154,82,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:0;transform:translateY(8px);transition:all .3s;z-index:900;font-family:'Lato',sans-serif}
.btt.visible{opacity:1;transform:translateY(0)}
.btt:hover{background:var(--gold);color:#fff;border-color:var(--gold)}

/* ── HOME MEDIA PREVIEW ───────────────────────── */
.home-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem}
.hm-card{border:1px solid var(--rule);cursor:pointer;transition:all .28s;overflow:hidden;background:var(--white);border-radius:10px}
.hm-card:hover{border-color:var(--gold-lt);box-shadow:0 8px 36px rgba(0,0,0,.08);transform:translateY(-3px)}
.hm-card-img{width:100%;height:190px;object-fit:cover;display:block;transition:transform .5s}
.hm-card:hover .hm-card-img{transform:scale(1.03)}
.hm-card-body{padding:1.5rem}
.hm-card-cat{font-family:'Raleway',sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;font-weight:600}
.hm-card-title{font-family:'Raleway',sans-serif;font-size:var(--lg);font-weight:600;color:var(--deep);line-height:1.3;margin-bottom:.6rem}
.hm-card-date{font-family:'Raleway',sans-serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ── RELATED CONTENT ──────────────────────────── */
.related-posts{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--rule)}
.related-posts h4{font-family:'Raleway',sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem}
.related-list{display:flex;flex-direction:column;gap:1rem}
.rel-item{display:flex;gap:1.25rem;align-items:flex-start;cursor:pointer;padding:1rem;border:1px solid transparent;transition:all .22s}
.rel-item:hover{border-color:var(--rule);background:var(--off)}
.rel-img{width:72px;height:56px;object-fit:cover;flex-shrink:0}
.rel-type{font-family:'Raleway',sans-serif;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem;font-weight:600}
.rel-title{font-family:'Raleway',sans-serif;font-size:var(--sm);font-weight:500;color:var(--deep);line-height:1.35}

/* ── TOAST ────────────────────────────────────── */
.toast{position:fixed;bottom:2rem;right:2rem;background:var(--dark);color:#fff;padding:1rem 1.5rem;font-family:'Raleway',sans-serif;font-size:.78rem;letter-spacing:.1em;z-index:4000;transform:translateY(100px);opacity:0;transition:all .35s;pointer-events:none}
.toast.show{transform:translateY(0);opacity:1}
.toast.success{background:var(--green2)}.toast.error{background:var(--red)}

/* ── FOOTER ───────────────────────────────────── */
footer{background:var(--dark2);border-top:1px solid rgba(196,154,82,.1);padding:5.5rem 0 2.25rem}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:4rem}
.f-logo{font-family:'Raleway',sans-serif;font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:.01em;margin-bottom:1rem;display:flex;align-items:center;gap:.65rem}
.f-lm{width:28px;height:28px;background:var(--gold);display:flex;align-items:center;justify-content:center;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);font-family:'Raleway',sans-serif;font-size:.58rem;font-weight:700;color:#fff;letter-spacing:.05em}
.f-tag{font-size:var(--sm);color:rgba(255,255,255,.28);line-height:1.76;max-width:30ch;margin-bottom:1.5rem}
.f-contact-block{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}
.f-contact-item{display:flex;flex-direction:column;gap:.2rem}
.f-contact-label{font-family:'Raleway',sans-serif;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;opacity:.7}
.f-contact-item span,.f-contact-item a{font-size:var(--sm);color:rgba(255,255,255,.38);line-height:1.6;text-decoration:none;transition:color .2s}
.f-contact-item a:hover{color:rgba(255,255,255,.7)}
.f-badges{display:flex;flex-wrap:wrap;gap:.45rem}
.f-badge{font-family:'Raleway',sans-serif;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(196,154,82,.45);padding:.22rem .65rem;border:1px solid rgba(196,154,82,.15)}
.f-col h4{font-family:'Raleway',sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:1.5rem;font-weight:600}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.f-col ul li a{font-size:var(--sm);color:rgba(255,255,255,.38);cursor:pointer;text-decoration:none;transition:color .2s}
.f-col ul li a:hover{color:rgba(196,154,82,.8)}
.f-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.f-copy{font-family:'Raleway',sans-serif;font-size:.68rem;letter-spacing:.08em;color:rgba(255,255,255,.18)}
.f-legal{display:flex;gap:2rem}
.f-legal a{font-family:'Raleway',sans-serif;font-size:.68rem;letter-spacing:.1em;color:rgba(255,255,255,.18);cursor:pointer;text-decoration:none;transition:color .2s}
.f-legal a:hover{color:rgba(255,255,255,.4)}

/* ── RESPONSIVE ───────────────────────────────── */
@media(max-width:1100px){
  .mission-grid,.sectors-intro,.svcs-header,.contact-layout,.company-grid,.faq-layout,.post-layout,.pdet-layout{grid-template-columns:1fr;gap:3.5rem}
  .sectors-grid{grid-template-columns:1fr 1fr}.svcs-grid{grid-template-columns:1fr 1fr}
  .val-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .exp-item{grid-template-columns:1fr}
  .exp-item:nth-child(even) .exp-text,.exp-item:nth-child(even) .exp-media{order:unset}
  .exp-media img{min-height:300px}.mm-b{display:none}
  .blog-grid{grid-template-columns:1fr 1fr}
  .bcard.featured{grid-column:span 2;grid-template-columns:1.2fr 1fr}
  .svc-full-grid{grid-template-columns:1fr}
  .res-grid{grid-template-columns:1fr 1fr}
  .home-media-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links{display:none}.hamburger{display:flex}
  .container{padding:0 1.5rem}
  .hero-content{padding:0 1.5rem 4rem}.hero h1{font-size:3.2rem}
  .hero-stats{gap:2rem}
  .section{padding:5rem 0}.section-sm{padding:3.5rem 0}.section-lg{padding:5.5rem 0}
  .sectors-grid,.svcs-grid,.val-grid{grid-template-columns:1fr}
  .proj-grid{grid-template-columns:1fr}.pcard.span2{grid-column:span 1}.pcard.span2 img{height:320px}
  .footer-grid{grid-template-columns:1fr}.f-bottom{flex-direction:column;text-align:center}
  .blog-grid,.res-grid{grid-template-columns:1fr}
  .bcard.featured{grid-column:span 1;grid-template-columns:1fr;display:block}
  .home-media-grid{grid-template-columns:1fr}
  .pdet-layout{grid-template-columns:1fr}
  .post-layout{grid-template-columns:1fr}
  .pdet-body{padding:3.5rem 0}.post-layout{grid-template-columns:1fr}
  .exp-text{padding:3rem 1.5rem}
}
@media(max-width:480px){
  .form-row{grid-template-columns:1fr}
}

/* ── CUSTOM CURSOR ────────────────────────────── */
@media(pointer:fine){
  *{cursor:none!important}
  .cursor-dot{
    position:fixed;top:0;left:0;width:6px;height:6px;
    background:var(--gold);border-radius:50%;
    pointer-events:none;z-index:9999;
    transform:translate(-50%,-50%);
    transition:width .18s,height .18s,background .18s,opacity .2s;
  }
  .cursor-ring{
    position:fixed;top:0;left:0;width:34px;height:34px;
    border:1.5px solid var(--gold);border-radius:50%;
    pointer-events:none;z-index:9998;
    transform:translate(-50%,-50%);
    opacity:.4;
    transition:width .35s cubic-bezier(.25,.46,.45,.94),
               height .35s cubic-bezier(.25,.46,.45,.94),
               border-color .25s,opacity .25s,border-radius .25s;
  }
  body.cursor-hover .cursor-dot{width:10px;height:10px;background:var(--gold)}
  body.cursor-hover .cursor-ring{width:52px;height:52px;opacity:.25;border-color:var(--gold)}
  body.cursor-click .cursor-dot{width:14px;height:14px}
  body.cursor-click .cursor-ring{width:28px;height:28px;opacity:.7}
  body.cursor-text .cursor-dot{width:3px;height:24px;border-radius:1px;background:var(--gold)}
  body.cursor-text .cursor-ring{width:0;height:0;opacity:0}
}

/* ── SCROLL REVEAL ────────────────────────────── */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.25,.46,.45,.94),
             transform .7s cubic-bezier(.25,.46,.45,.94);
}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{
  opacity:0;transform:translateX(-32px);
  transition:opacity .75s cubic-bezier(.25,.46,.45,.94),
             transform .75s cubic-bezier(.25,.46,.45,.94);
}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{
  opacity:0;transform:translateX(32px);
  transition:opacity .75s cubic-bezier(.25,.46,.45,.94),
             transform .75s cubic-bezier(.25,.46,.45,.94);
}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.reveal-scale{
  opacity:0;transform:scale(.96);
  transition:opacity .65s ease,transform .65s ease;
}
.reveal-scale.visible{opacity:1;transform:scale(1)}
/* Stagger delays for sibling .reveal elements in a grid/flex parent */
.reveal-group > *{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal-group.visible > *:nth-child(1){opacity:1;transform:none;transition-delay:0s}
.reveal-group.visible > *:nth-child(2){opacity:1;transform:none;transition-delay:.1s}
.reveal-group.visible > *:nth-child(3){opacity:1;transform:none;transition-delay:.18s}
.reveal-group.visible > *:nth-child(4){opacity:1;transform:none;transition-delay:.26s}
.reveal-group.visible > *:nth-child(5){opacity:1;transform:none;transition-delay:.34s}
.reveal-group.visible > *:nth-child(6){opacity:1;transform:none;transition-delay:.42s}
.reveal-group.visible > *:nth-child(n+7){opacity:1;transform:none;transition-delay:.48s}

/* ── HERO ENTRANCE ANIMATIONS ─────────────────── */
@keyframes heroFadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroFadeIn{from{opacity:0}to{opacity:1}}
@keyframes heroScaleIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}
@keyframes countUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── PAGE FADE TRANSITION ─────────────────────── */
.page.active{animation:pageFadeIn .38s ease both}
@keyframes pageFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── NAV LINK UNDERLINE HOVER ─────────────────── */
.nav-links a::after{content:'';display:block;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-links a.nav-cta::after{display:none}

/* ── SECTION HEADING UNDERLINE ACCENT ─────────── */
.section-eyebrow-line{
  display:inline-flex;align-items:center;gap:.65rem;
}
.section-eyebrow-line::before{
  content:'';display:block;width:0;height:1px;background:var(--gold);
  transition:width .55s .2s ease;
}
.reveal-group.visible .section-eyebrow-line::before,
.reveal.visible .section-eyebrow-line::before,
[data-animated] .section-eyebrow-line::before{width:28px}

/* ── BUTTON HOVER RIPPLE ─────────────────────── */
.btn-dark,.btn-out,.btn-green{position:relative;overflow:hidden}
.btn-dark::before,.btn-out::before,.btn-green::before{
  content:'';position:absolute;inset:0;background:rgba(255,255,255,.08);
  transform:translateX(-100%);transition:transform .35s ease;
}
.btn-dark:hover::before,.btn-out:hover::before,.btn-green:hover::before{transform:translateX(0)}

/* ── IMAGE HOVER LIFT ─────────────────────────── */
.pcard:hover,.bcard:hover,.res-card:hover,.sector:hover{
  transition:transform .3s cubic-bezier(.25,.46,.45,.94),
             box-shadow .3s ease,border-color .25s;
}

/* ── MARQUEE PAUSE ON HOVER ───────────────────── */
.marquee-wrap:hover .marquee-inner{animation-play-state:paused}

/* ══════════════════════════════════════════════
   CUSTOM CURSOR
══════════════════════════════════════════════ */
*{cursor:none!important}
.cursor-dot,.cursor-ring{
  position:fixed;top:0;left:0;pointer-events:none;z-index:99999;will-change:transform;
}
.cursor-dot{
  width:7px;height:7px;
  background:var(--gold);border-radius:50%;
  margin:-3.5px 0 0 -3.5px;
  transition:width .18s ease,height .18s ease,opacity .18s ease,margin .18s ease;
}
.cursor-ring{
  width:32px;height:32px;
  border:1.5px solid rgba(44,95,62,.55);border-radius:50%;
  margin:-16px 0 0 -16px;
  transition:width .22s ease,height .22s ease,margin .22s ease,
             border-color .22s ease,opacity .22s ease;
}
body.cursor-hover .cursor-dot{width:0;height:0;margin:0;opacity:0}
body.cursor-hover .cursor-ring{
  width:52px;height:52px;margin:-26px 0 0 -26px;
  border-color:rgba(44,95,62,.75);
}
body.cursor-click .cursor-dot{width:12px;height:12px;margin:-6px 0 0 -6px;opacity:.6}
body.cursor-click .cursor-ring{width:20px;height:20px;margin:-10px 0 0 -10px;}
@media(pointer:coarse){
  *{cursor:auto!important}
  .cursor-dot,.cursor-ring{display:none!important}
}

/* ══════════════════════════════════════════════
   PAGE TRANSITION
══════════════════════════════════════════════ */
.page.active{animation:pageIn .55s cubic-bezier(.16,1,.3,1) both}
@keyframes pageIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ══════════════════════════════════════════════
   SCROLL REVEAL
══════════════════════════════════════════════ */
.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .75s cubic-bezier(.16,1,.3,1),
             transform .75s cubic-bezier(.16,1,.3,1);
}
.reveal.visible{opacity:1;transform:none}
/* Hero elements already have their own animation — keep them */
.hero .reveal,.hero-stats .hstat{opacity:1;transform:none;transition:none}
/* Stagger helpers — JS sets these inline */
.stagger-child{
  opacity:0;transform:translateY(26px);
  transition:opacity .65s cubic-bezier(.16,1,.3,1),
             transform .65s cubic-bezier(.16,1,.3,1);
}
.stagger-child.visible{opacity:1;transform:none}

/* ══════════════════════════════════════════════
   EXTRA POLISH
══════════════════════════════════════════════ */
/* Nav link underline slide */
.nav-links a{position:relative;overflow:hidden}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:1rem;right:1rem;
  height:1.5px;background:var(--green);
  transform:scaleX(0);transform-origin:left;
  transition:transform .28s cubic-bezier(.16,1,.3,1);
}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-cta::after{display:none}

/* Image scale-in on hover (cards) */
.pcard,.bcard,.res-card,.hm-card{overflow:hidden}
.bcard-img-wrap img,.res-card-img,.hm-card-img{
  transition:transform .6s cubic-bezier(.25,.46,.45,.94),filter .5s;
}
.bcard:hover .bcard-img-wrap img,
.res-card:hover .res-card-img,
.hm-card:hover .hm-card-img{transform:scale(1.04)}

/* FAQ open indicator */
.faq-item{transition:background .2s}
.faq-item.open{background:var(--off)}