@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Jost:wght@200;300;400;500&display=swap');
:root {
  --bg-hero:#4F5E6E; --bg-1:#4A5867; --bg-2:#505F70; --bg-3:#637588; --bg-4:#6F7E8C;
  --bg-warm:#636C77; --bg-warmer:#6A717A;
  --gold:#E6BE57; --gold-lt:#E6BE57; --gold-dim:#E6BE57; --gold-faint:rgba(230,190,87,.1);
  --t1:#EAE5DD; --t2:#C8D0D8; --t3:#8A96A0;
  --b1:rgba(230,190,87,.22); --b2:rgba(230,190,87,.07);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost','Helvetica Neue',sans-serif;
  --max:1180px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
/* Anchor scroll offset for fixed nav */
section[id],div[id]:not(#nav){scroll-margin-top:100px;}

body{background:var(--bg-1);color:var(--t1);font-family:var(--sans);font-weight:300;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px;}


/* Page hero inner classes (about/portfolio) */
.page-hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 52% 58% at 74% 34%,rgba(230,190,87,.10) 0%,transparent 65%);}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(230,190,87,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(230,190,87,.06) 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(ellipse 80% 80% at 50% 60%,black 0%,transparent 100%);}
.page-hero-content{position:relative;z-index:1;}
.page-eyebrow{display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.page-eyebrow::before{content:'';width:34px;height:1px;background:var(--gold);}
.page-title{font-family:var(--serif);font-size:clamp(40px,6vw,80px);font-weight:300;line-height:.96;letter-spacing:-.01em;color:var(--t1);}
.page-title em{font-style:italic;color:var(--gold-lt);}

/* Nav */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:26px 60px;background:rgba(79,94,110,.96);border-bottom:1px solid var(--b1);backdrop-filter:blur(8px);transition:none;}
nav.scrolled{background:rgba(79,94,110,.96);border-bottom:1px solid var(--b1);backdrop-filter:blur(8px);}
.logo{font-family:var(--serif);font-size:20px;font-weight:300;color:var(--t1);text-decoration:none;line-height:1.15;letter-spacing:.04em;}
.logo span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:4px;font-weight:400;}
.nav-links{display:flex;gap:36px;list-style:none;align-items:center;}
.nav-links > li{display:flex;align-items:center;}
.nav-links a{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--t2);text-decoration:none;position:relative;padding-bottom:0;line-height:1;transition:color .3s;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s;}
.nav-links a:hover,.nav-links a.active{color:var(--t1);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{background:var(--gold)!important;color:var(--bg-hero)!important;padding:10px 22px!important;font-weight:500!important;letter-spacing:.18em!important;transition:background .3s!important;border-radius:4px!important;}
.nav-cta:hover{background:var(--gold-lt)!important;}
.nav-cta::after{display:none!important;}

/* Page hero */
.page-hero{min-height:52vh;display:flex;align-items:flex-end;padding:100px 60px 80px;position:relative;overflow:hidden;background:var(--bg-hero);}
.ph-glow{position:absolute;inset:0;background:radial-gradient(ellipse 52% 58% at 74% 34%,rgba(230,190,87,.10) 0%,transparent 65%);}
.ph-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(230,190,87,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(230,190,87,.06) 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(ellipse 80% 80% at 50% 60%,black 0%,transparent 100%);}
.ph-content{position:relative;z-index:1;}
.ph-eyebrow{display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.ph-eyebrow::before{content:'';width:34px;height:1px;background:var(--gold);}
.ph-title{font-family:var(--serif);font-size:clamp(40px,6vw,80px);font-weight:300;line-height:.96;letter-spacing:-.01em;}
.ph-title em{font-style:italic;color:var(--gold-lt);}

/* Sections */
.sec{padding:100px 60px;position:relative;z-index:1;}
.sec-a{background:var(--bg-1);}
.sec-b{background:var(--bg-warm);}
.sec-b::before,.sec-d::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px;}
.sec-c{background:var(--bg-2);}
.sec-d{background:var(--bg-warmer);}

/* Typography */
.lbl{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.44em;text-transform:uppercase;margin-bottom:16px;}
.lbl::before{content:'';width:26px;height:1px;background:rgba(230,190,87,.7);}
.lbl-g{color:var(--gold);}
.lbl-gl{color:var(--gold);}
.sec-title{font-family:var(--serif);font-size:clamp(32px,4.5vw,56px);font-weight:300;line-height:1.08;margin-bottom:18px;}
.sec-title em{font-style:italic;color:var(--gold-lt);}
.gold-bar{width:48px;height:1px;background:rgba(230,190,87,.7);margin:24px 0;}
.body-p{font-size:14px;line-height:2.2;color:var(--t2);margin-bottom:18px;}
.body-p strong{color:var(--t1);font-weight:400;}
.max{max-width:var(--max);margin:0 auto;}

/* Cards */
.card{background:var(--bg-3);padding:32px 28px;border-top:none;box-shadow:inset 0 2px 0 transparent;transition:box-shadow .3s,background .3s;cursor:default;border-radius:4px;}

.card-lg{padding:40px 36px;}
.card-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.card-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}

/* Buttons */
.btn-solid{display:inline-flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;background:var(--gold);color:var(--bg-hero);padding:16px 36px;text-decoration:none;transition:background .3s,letter-spacing .3s;border-radius:4px;}
.btn-solid:hover{background:var(--gold-lt);letter-spacing:.36em;}
.btn-outline{display:inline-flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;background:transparent;color:var(--gold);padding:14px 36px;text-decoration:none;transition:background .3s,letter-spacing .3s,color .3s;border-radius:4px;border:1px solid var(--gold);}
.btn-outline:hover{background:var(--gold-faint);letter-spacing:.36em;}
.btn-ghost{display:inline-flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;font-weight:300;color:var(--t1);border:1px solid rgba(230,190,87,.3);padding:16px 36px;text-decoration:none;transition:border-color .3s,color .3s;border-radius:4px;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-lt);}

/* Consult banner */
.consult-banner{background:#E6BE57;padding:36px 60px;display:flex;justify-content:space-between;align-items:center;gap:40px;position:relative;z-index:1;}
.cb-text h3{font-family:var(--serif);font-size:26px;font-weight:300;color:var(--bg-hero);line-height:1.2;margin-bottom:4px;}
.cb-text p{font-size:12px;color:rgba(30,40,50,.7);letter-spacing:.07em;}
.cb-cta{display:flex;align-items:center;gap:28px;flex-shrink:0;}
.cb-phone{font-size:20px;font-weight:300;color:var(--bg-hero);font-family:var(--serif);white-space:nowrap;}
.cb-btn{background:var(--bg-hero);color:var(--t1);font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:13px 28px;text-decoration:none;font-family:var(--sans);font-weight:400;transition:background .3s;white-space:nowrap;border-radius:4px;}
.cb-btn:hover{background:var(--bg-2);}

/* Form */
.form{display:flex;flex-direction:column;gap:2px;}
.field{position:relative;}
.field input,.field select,.field textarea{width:100%;background:var(--bg-3);border:none;border-bottom:1px solid rgba(230,190,87,.18);color:var(--t1);font-family:var(--sans);font-size:13px;font-weight:300;padding:22px 16px 14px;outline:none;transition:border-color .3s,background .3s;-webkit-appearance:none;}
.field select{padding-top:14px;padding-bottom:14px;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);background:rgba(230,190,87,.05);}
.field select option{background:var(--bg-3);}
.field textarea{min-height:120px;resize:vertical;}
.field-lbl{position:absolute;top:20px;left:16px;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);pointer-events:none;transition:transform .2s,color .2s,font-size .2s;}
.field select ~ .field-lbl{display:none;}
.field input:focus ~ .field-lbl,.field input:not(:placeholder-shown) ~ .field-lbl,
.field textarea:focus ~ .field-lbl,.field textarea:not(:placeholder-shown) ~ .field-lbl{transform:translateY(-12px);color:var(--gold);font-size:8px;}
.form-submit{margin-top:8px;background:var(--gold);color:var(--bg-hero);border:none;font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;padding:18px 38px;cursor:pointer;transition:background .3s,letter-spacing .3s;align-self:flex-start;border-radius:4px;}
.form-submit:hover{background:var(--gold-lt);letter-spacing:.38em;}
.form-success{display:none;margin-top:14px;font-size:12px;color:var(--gold);letter-spacing:.1em;line-height:1.7;}

/* Footer */
footer{background:var(--bg-hero);position:relative;z-index:1;}
.foot-logo{font-family:var(--serif);font-size:18px;font-weight:300;color:var(--t1);}
.foot-logo span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim);margin-top:4px;}
.foot-nav{display:flex;gap:24px;list-style:none;}
.foot-nav a{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--t2);text-decoration:none;transition:color .3s;}
.foot-nav a:hover{color:var(--gold);}
.foot-right{font-size:10px;color:var(--t2);text-align:right;line-height:1.9;}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* Responsive */
@media(max-width:960px){
  nav,.sec,.consult-banner,.page-hero{padding-left:28px;padding-right:28px;}
  .card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr 1fr;}
  .consult-banner{flex-direction:column;align-items:flex-start;gap:20px;}
  .foot-right,.foot-nav{text-align:center;justify-content:center;}
  .nav-links{gap:16px;}
  body{cursor:auto;}
  a,button,select{cursor:pointer;}
  .cursor,.cursor-ring{display:none;}
}
@media(max-width:600px){
  .card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr;}
}

/* Consult banner old-class compatibility */
.consult-text{flex:1;}
.consult-text h3{font-family:var(--serif);font-size:26px;font-weight:300;color:var(--bg-hero);line-height:1.2;margin-bottom:4px;}
.consult-text p{font-size:12px;color:rgba(30,40,50,.7);letter-spacing:.07em;}
.consult-cta{display:flex;align-items:center;gap:28px;flex-shrink:0;}
.consult-btn{background:var(--bg-hero);color:var(--t1);font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:13px 28px;text-decoration:none;font-family:var(--sans);font-weight:400;transition:background .3s;white-space:nowrap;border-radius:4px;}
.consult-btn:hover{background:var(--bg-2);}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.site-footer{background:var(--bg-hero);position:relative;z-index:1;border-top:1px solid var(--b1);padding:52px 60px 0;}
.foot-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:32px;max-width:var(--max);margin:0 auto;}
.foot-brand-name{font-family:var(--serif);font-size:28px;font-weight:300;color:var(--t1);line-height:1.15;margin-bottom:9px;}
.foot-brand-sub{font-family:var(--sans);font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.foot-brand-desc{font-size:12px;color:var(--t2);line-height:1.9;}
.foot-tagline{font-family:var(--serif);font-size:22px;font-weight:300;color:var(--t1);margin-top:6px;margin-bottom:2px;}
.foot-tagline-em{font-family:var(--serif);font-size:22px;font-weight:300;font-style:italic;color:var(--gold-lt);margin-bottom:14px;}
.foot-contact-lbl{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:3px;}
.foot-contact-val{font-size:13px;color:var(--gold);text-decoration:none;display:block;margin-bottom:12px;}
.foot-col-lbl{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.foot-list{list-style:none;padding:0;margin:0;}
.foot-list li{font-size:12px;color:var(--t2);padding:7px 0;border-bottom:1px solid var(--b2);}
.foot-list li:last-child{border-bottom:none;}
.foot-bottom{margin-top:36px;padding:20px 0 28px;border-top:1px solid var(--b1);display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%;}
.foot-bottom-nav{display:flex;gap:28px;list-style:none;flex-wrap:wrap;justify-content:center;}
.foot-bottom-nav a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--t2);text-decoration:none;transition:color .3s;}
.foot-bottom-nav a:hover{color:var(--gold);}
.foot-copy{font-size:11px;color:var(--t2);}

@media(max-width:960px){
  .site-footer{padding:40px 28px 0;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .foot-bottom{padding:20px 0 24px;}
  .foot-bottom-nav{gap:18px;}
}
@media(max-width:520px){
  .foot-grid{grid-template-columns:1fr;}
  .foot-tagline,.foot-tagline-em{font-size:18px;}
  .foot-bottom-nav{gap:12px;}
  /* Collapse gap between the two services list divs so they read as one continuous list */
  .foot-grid > div:nth-child(3){margin-bottom:-28px;}
  .foot-grid > div:nth-child(4){margin-top:0;}
  .foot-grid > div:nth-child(4) ul{margin-top:0 !important;}
  .foot-grid > div:nth-child(4) ul li:first-child{border-top:1px solid var(--b2);}
}
/* ── Light/Dark Theme Toggle ─────────────────────────────────────────────── */
:root {
  --bg-hero:#4F5E6E; --bg-1:#4A5867; --bg-2:#505F70; --bg-3:#637588; --bg-4:#6F7E8C;
  --bg-warm:#636C77; --bg-warmer:#6A717A;
  --gold:#E6BE57; --gold-lt:#E6BE57; --gold-dim:#E6BE57; --gold-faint:rgba(230,190,87,.1);
  --t1:#EAE5DD; --t2:#C8D0D8; --t3:#8A96A0;
  --b1:rgba(230,190,87,.22); --b2:rgba(230,190,87,.07);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost','Helvetica Neue',sans-serif;
  --max:1180px;
}
[data-theme="light"] {
  --bg-hero:#F4F0EA; --bg-1:#FAF8F5; --bg-2:#F0EBE3; --bg-3:#E8E2D8; --bg-4:#DDD6C8;
  --bg-warm:#F5F1EB; --bg-warmer:#EDE7DD;
  --gold:#E6BE57; --gold-lt:#E6BE57; --gold-dim:#E6BE57; --gold-faint:rgba(230,190,87,.08);
  --t1:#1A2028; --t2:#3A4856; --t3:#8A96A0;
  --b1:rgba(230,190,87,.22); --b2:rgba(230,190,87,.09);
}

/* Theme toggle button */
.theme-toggle {
  background: none;
  border: 1px solid var(--b1);
  color: var(--t2);
  cursor: pointer;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: border-color .3s, color .3s, background .3s;
  flex-shrink: 0;
}
.theme-toggle:hover { border-color: var(--gold); color: var(--gold); }

/* ── Nav Services Dropdown ───────────────────────────────────────────────── */
.nav-dropdown { position: relative; }
.nav-dropdown > a { line-height: 1; position: relative; }
/* Use width:0 by default instead of display:none so transition works */
.nav-dropdown > a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--gold); transition:width .3s; display:block; }
.nav-dropdown > a.active::after,
.nav-dropdown > a:hover::after { width: 100%; }
.nav-drop-menu {
  display: none;
  position: absolute;
  /* Extend upward to cover the gap so mouse doesn't lose hover */
  top: 100%;
  padding-top: 12px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 200;
}
/* Inner panel */
.nav-drop-panel {
  background: rgba(79,94,110,.98);
  border: 1px solid var(--b1);
  backdrop-filter: blur(10px);
  min-width: 220px;
  padding: 8px 0;
}
.nav-dropdown:hover .nav-drop-menu,
.nav-dropdown:focus-within .nav-drop-menu { display: block; }
.nav-drop-menu a {
  display: block !important;
  padding: 10px 20px !important;
  font-size: 10px !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
  color: var(--t2) !important;
  text-decoration: none;
  transition: background .2s, color .2s !important;
  white-space: nowrap;
}
.nav-drop-menu a::after { display: none !important; }
.nav-drop-menu a:hover { background: var(--gold-faint); color: var(--gold) !important; }
.nav-drop-menu .drop-divider { height: 1px; background: rgba(230,190,87,.7); margin: 6px 0; }

/* Footer item links */
.foot-item-link { color: var(--t2); text-decoration: none; transition: color .2s; display: block; }
.foot-item-link:hover { color: var(--gold); }

/* Mobile dropdown */
@media (max-width: 768px) {
  .nav-drop-menu {
    position: static;
    transform: none;
    padding-top: 0;
  }
  .nav-drop-panel {
    background: rgba(20,30,40,.5) !important;
    border: none;
    border-left: 2px solid var(--gold);
    margin: 4px 0 4px 16px;
    padding: 4px 0;
    backdrop-filter: none;
  }
  .nav-drop-menu { display: none; }
  .nav-dropdown.mobile-open .nav-drop-menu { display: block; }
  .nav-drop-menu a { padding: 8px 16px !important; font-size: 9px !important; }
  .drop-arrow { display: none !important; }
  .nav-dropdown.mobile-open > a .drop-arrow { transform: rotate(180deg); }
}

/* ── Testimonial Carousel ────────────────────────────────────────────────── */
.testimonials-section { background: transparent; }
.t-carousel-wrap { max-width: 760px; margin: 0 auto; position: relative; }
.t-track { overflow: hidden; }
.t-slides { display: flex; transition: transform .5s ease; }
.t-slide { min-width:100%; padding:48px 52px; background:var(--bg-hero); border-top:2px solid rgba(230,190,87,.7); box-sizing:border-box; text-align:center; }
.t-quote {
  font-family: var(--serif);
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 300;
  font-style: italic;
  color: var(--t1);
  line-height: 1.65;
  margin-bottom: 28px;
}
.t-quote::before { content: '\201C'; color: var(--gold); font-size: 1.4em; }
.t-quote::after  { content: '\201D'; color: var(--gold); font-size: 1.4em; }
.t-author-name { font-size: 13px; font-weight: 500; color: var(--t1); letter-spacing: .08em; }
.t-author-role { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-top: 4px; }
.t-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 20px; }
.t-btn {
  background: none; border: 1px solid var(--b1); color: var(--gold);
  width: 36px; height: 36px; border-radius: 50%; cursor: pointer;
  font-size: 20px; display: flex; align-items: center; justify-content: center;
  transition: border-color .2s, background .2s;
}
.t-btn:hover { border-color: var(--gold); background: var(--gold-faint); }
.t-dots { display: flex; gap: 8px; }
.t-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--b1); cursor: pointer; transition: background .2s;
}
.t-dot.active { background: var(--gold); }

@media(max-width:600px){
  .t-slide { min-width:100%; padding:48px 52px; background:var(--bg-hero); border-top:2px solid rgba(230,190,87,.7); box-sizing:border-box; text-align:center; }
  .t-quote { font-size: 17px; }
}

/* ── Who We Serve (services page) ───────────────────────────────────────── */
.serve-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; max-width: var(--max); margin: 0 auto 36px; }
.serve-card {
  background: var(--bg-hero); padding: 32px 28px;
  border-top: none; transition: background .3s;
  text-decoration: none; display: block; border-radius:4px;
}
.serve-card:hover { background: var(--bg-3); }
.serve-eyebrow { font-size: 9px; letter-spacing: .28em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.serve-name { font-family: var(--serif); font-size: 22px; font-weight: 300; color: var(--t1); margin-bottom: 10px; }
.serve-desc { font-size: 12px; line-height: 1.9; color: var(--t2); }
@media(max-width:768px){ .serve-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:500px){ .serve-grid { grid-template-columns: 1fr; } }

/* ── Footer buttons ──────────────────────────────────────────────────────── */
.foot-svc-btn {
  display: block; padding: 7px 0;
  font-size: 12px; color: var(--gold);
  text-decoration: none; transition: color .2s, letter-spacing .2s;
  letter-spacing: .04em; border-bottom: 1px solid var(--b2);
}
.foot-svc-btn:hover { color: var(--gold-lt); letter-spacing: .08em; }
.foot-svc-btn:last-child { border-bottom: none; }

/* ── Footer columns aligned ─────────────────────────────────────────────── */
.foot-grid { align-items: start; }

/* ── Blog ────────────────────────────────────────────────────────────────── */
.blog-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; max-width: var(--max); margin: 0 auto; }
.blog-card { background: var(--bg-hero); border-radius:4px; text-decoration: none; display: block; border-top:none; box-shadow:inset 0 2px 0 transparent; transition: box-shadow .3s, background .3s; }
.blog-card:hover { box-shadow:inset 0 2px 0 var(--gold); background: var(--bg-3); }
.blog-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; background: var(--bg-4); border-radius:4px 4px 0 0; }
.blog-body { padding: 20px; }
.blog-tag { font-size: 9px; letter-spacing: .26em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.blog-title { font-family: var(--serif); font-size: 18px; font-weight: 300; color: var(--t1); margin-bottom: 10px; line-height: 1.3; }
.blog-excerpt { font-size: 12px; line-height: 1.85; color: var(--t2); margin-bottom: 14px; }
.blog-meta { font-size: 10px; color: var(--t2); letter-spacing: .1em; }
.blog-post-body { max-width: 720px; margin: 0 auto; }
.blog-post-body h2 { font-family: var(--serif); font-size: 28px; font-weight: 300; color: var(--t1); margin: 36px 0 14px; }
.blog-post-body h3 { font-family: var(--serif); font-size: 20px; font-weight: 300; color: var(--gold-lt); margin: 28px 0 10px; }
.blog-post-body p { font-size: 14px; line-height: 2.1; color: var(--t2); margin-bottom: 18px; }
.blog-post-body ul { padding-left: 20px; margin-bottom: 18px; }
.blog-post-body li { font-size: 14px; line-height: 2; color: var(--t2); }
.blog-post-body strong { color: var(--t1); font-weight: 400; }
@media(max-width:1100px){ .blog-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:500px){ .blog-grid { grid-template-columns: 1fr; } }

/* ── Service detail pages ────────────────────────────────────────────────── */
.crumbs { display: flex; align-items: center; gap: 8px; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--t2); margin-bottom: 24px; flex-wrap: wrap; }
.crumbs a { color: var(--t2); text-decoration: none; transition: color .2s; }
.crumbs a:hover { color: var(--gold); }
.crumbs .sep { color: var(--b1); }
.detail-grid { display: grid; grid-template-columns: 1fr 380px; gap: 60px; align-items: start; max-width: var(--max); margin: 0 auto; }
.detail-body h2 { font-family: var(--serif); font-size: 28px; font-weight: 300; color: var(--t1); margin: 0 0 16px; }
.detail-body h3 { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); margin: 28px 0 10px; }
.detail-body p { font-size: 14px; line-height: 2.1; color: var(--t2); margin-bottom: 16px; }
.detail-body ul { list-style: none; margin-bottom: 20px; }
.detail-body ul li { font-size: 13px; line-height: 1.9; color: var(--t2); padding: 5px 0; border-bottom: 1px solid var(--b2); display: flex; gap: 10px; }
.detail-body ul li::before { content: '—'; color: var(--gold-dim); flex-shrink: 0; }
.detail-aside {
  background: var(--bg-hero); border-radius:4px; padding: 32px 28px;
  border-top: none; position: sticky; top: 100px;
}
.detail-aside .aside-label { font-size: 9px; letter-spacing: .26em; text-transform: uppercase; color: var(--gold); display: block; margin-bottom: 10px; }
.detail-aside h4 { font-family: var(--serif); font-size: 20px; font-weight: 300; color: var(--t1); margin-bottom: 10px; }
.detail-aside p { font-size: 12px; line-height: 1.9; color: var(--t2); margin-bottom: 20px; }
.related-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; max-width: var(--max); margin: 0 auto; }
.related-card { background: var(--bg-hero); border-radius:4px; padding: 28px 24px; border-top:none; box-shadow:none; text-decoration: none; display: block; transition: background .3s; }
.related-card:hover { background: var(--bg-3); }
.related-eyebrow { font-size: 9px; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.related-title { font-family: var(--serif); font-size: 18px; font-weight: 300; color: var(--t1); margin-bottom: 8px; }
.related-desc { font-size: 12px; line-height: 1.85; color: var(--t2); margin-bottom: 12px; }
.related-link { font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
@media(max-width:1100px){ .detail-grid { grid-template-columns: 1fr; } .detail-aside { position: static; } .related-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:560px){ .related-grid { grid-template-columns: 1fr; } }

/* ── 404 ─────────────────────────────────────────────────────────────────── */
.notfound-wrap { min-height: 70vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 120px 40px 80px; }
.notfound-num { font-family: var(--serif); font-size: clamp(100px, 18vw, 180px); font-weight: 300; line-height: 1; color: rgba(230,190,87,.18); margin-bottom: 0; }
.notfound-title { font-family: var(--serif); font-size: clamp(28px, 4vw, 48px); font-weight: 300; color: var(--t1); margin-bottom: 16px; }
.notfound-title em { font-style: italic; color: var(--gold-lt); }
.notfound-sub { font-size: 13px; color: var(--t2); line-height: 1.9; max-width: 420px; margin-bottom: 36px; }

/* ── Checkbox CAPTCHA ────────────────────────────────────────────────────── */
.captcha-row { display: flex; align-items: center; gap: 14px; background: var(--bg-3); border: 1px solid var(--b1); padding: 16px 20px; margin-top: 2px; transition: border-color .2s; }
.captcha-row.verified { border-color: rgba(80,180,80,.4); }
.captcha-check { width: 22px; height: 22px; border: 2px solid var(--b1); border-radius: 3px; display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; transition: border-color .2s, background .2s; }
.captcha-check.checked { background: #4CAF50; border-color: #4CAF50; }
.captcha-check svg { display: none; }
.captcha-check.checked svg { display: block; }
.captcha-label { font-size: 12px; color: var(--t2); letter-spacing: .06em; user-select: none; cursor: pointer; flex: 1; }
.captcha-brand { font-size: 9px; color: var(--t2); letter-spacing: .12em; text-align: right; line-height: 1.4; }

/* ── Lot question conditional field ─────────────────────────────────────── */
.lot-detail { display: none; margin-top: 2px; }
.lot-detail.visible { display: block; }

/* ── Custom checkbox label (matches captcha style) ── */
.custom-cb-label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
