/* ============================================================
   Aetheria Health &mdash; light editorial theme
   Base #DFD8D7 (warm taupe) + sage accent + ink text
   ============================================================ */

:root{
  --paper:      #DFD8D7;   /* main background */
  --paper-2:    #E8E2E0;   /* slightly lighter alt sections / cards */
  --paper-3:    #F2EDEB;   /* cards / form bg */
  --paper-4:    #D2CBC8;   /* footer / dark tone of paper */
  --ink:        #1F1D19;
  --ink-2:      #34322D;
  --ink-soft:   #4F4A44;
  --line:       #C7BEBB;
  --line-soft:  #D6CECB;
  --accent:     #4A6B5C;   /* sage */
  --accent-2:   #324A41;   /* deeper sage */
  --accent-3:   #B58E5E;   /* warm gold (secondary) */
  --shadow:     0 30px 60px -36px rgba(42,41,36,.18);
  --maxw:       1320px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,sans-serif;
  font-weight:300;
  font-size:16.5px;
  line-height:1.7;
  color:var(--ink);
  background:var(--paper);
  background-image:
    radial-gradient(900px 600px at 80% -10%, rgba(74,107,92,.08), transparent 60%),
    radial-gradient(900px 600px at -10% 100%, rgba(181,142,94,.06), transparent 55%);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}

/* ---------------- Typography ---------------- */
h1,h2,h3,h4{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:400;letter-spacing:.005em;color:var(--ink);
  margin:0 0 .5em;
}
h1{font-size:clamp(2.8rem,6.4vw,5.4rem); line-height:1.04; font-weight:300}
h2{font-size:clamp(2rem,3.6vw,3.1rem); line-height:1.14}
h3{font-size:1.45rem; line-height:1.3}
h4{font-size:1.05rem; line-height:1.35}
p{margin:0 0 1em;color:var(--ink-2)}
em{font-style:italic;color:var(--accent)}
.lede{font-size:1.05rem;color:var(--ink-2)}
.serif{font-family:"Cormorant Garamond",Georgia,serif}

.eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:18px;
}
.eyebrow::before{content:"";width:38px;height:1px;background:var(--accent)}
.eyebrow.center{justify-content:center}

.chapter{
  font-family:"Cormorant Garamond",serif;font-style:italic;
  color:var(--accent);font-size:1.02rem;letter-spacing:.04em;
  display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:4px;
}

.container{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.narrow{max-width:780px;margin:0 auto;padding:0 28px}
.divider-rule{display:block;width:48px;height:1px;background:var(--accent);margin:0 0 28px}
.divider-rule.center{margin:0 auto 28px}

/* ---------------- Top bar ---------------- */
.topbar{
  background:var(--ink);color:rgba(223,216,215,.78);
  font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;
  padding:10px 28px;text-align:center;
}
.topbar a{color:#FBF8F1;border-bottom:1px solid rgba(251,248,241,.3)}

/* ---------------- Header (centered brand) ---------------- */
header.site{
  position:sticky;top:0;z-index:40;
  background:rgba(223,216,215,.85);
  backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color .3s, background .3s;
}
header.site.scrolled{border-color:var(--line)}
.nav{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
  padding:18px 28px;max-width:var(--maxw);margin:0 auto;position:relative;
}
.nav .nav-left{display:flex;gap:34px;align-items:center;
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);
}
.nav .nav-left a{position:relative;padding:6px 0;transition:color .25s}
.nav .nav-left a:hover,.nav .nav-left a.active{color:var(--accent)}
.brand{justify-self:center;display:flex;align-items:center;gap:12px}
.brand img{height:46px;width:auto;display:block}
.nav-right{justify-self:end;display:flex;align-items:center;gap:14px}
.nav-cta{
  background:var(--ink);color:var(--paper);padding:11px 22px;border-radius:999px;
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  transition:all .3s;border:1px solid var(--ink);
}
.nav-cta:hover{background:transparent;color:var(--ink)}
.menu-toggle{display:none;background:none;border:0;font-size:1.4rem;cursor:pointer;color:var(--ink)}
.nav-mobile{
  display:none;list-style:none;margin:0;padding:0;
  position:absolute;top:100%;left:0;right:0;background:var(--paper);
  border-top:1px solid var(--line);grid-column:1/-1;
}
.nav-mobile.open{display:block}
.nav-mobile li{padding:14px 28px;border-bottom:1px solid var(--line);
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.nav-mobile li:last-child{border-bottom:0}

/* ---------------- Buttons ---------------- */
.btn{
  display:inline-flex;align-items:center;gap:14px;
  padding:14px 26px;border-radius:999px;
  font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;
  background:var(--ink);color:var(--paper);
  transition:all .3s ease;border:1px solid var(--ink);cursor:pointer;
}
.btn:hover{background:transparent;color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.outline-soft{background:transparent;color:var(--ink);border-color:var(--ink-soft)}
.btn.outline-soft:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn .arrow{display:inline-block;transition:transform .3s}
.btn:hover .arrow{transform:translateX(4px)}

.link-arrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);
}
.link-arrow::after{content:"\2192";transition:transform .3s}
.link-arrow:hover{color:var(--accent)}
.link-arrow:hover::after{transform:translateX(4px)}

/* ---------------- Reveal animation ---------------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity 1s ease,transform 1s ease}
.reveal.in{opacity:1;transform:none}

/* ---------------- Section base ---------------- */
section{padding:clamp(80px,9vw,140px) 0;position:relative}
section.alt{background:var(--paper-2)}
section.dark{background:var(--ink);color:var(--paper)}
section.dark h1,section.dark h2,section.dark h3,section.dark h4{color:var(--paper)}
section.dark p{color:rgba(223,216,215,.75)}
section.dark .chapter{color:var(--accent-3)}
section.dark .divider-rule{background:var(--accent-3)}
section.dark em{color:var(--accent-3)}

/* ============================================================
   HOMEPAGE HERO &mdash; three-column with arches
   ============================================================ */
.hero-v2{
  position:relative;padding:42px 0 72px;overflow:hidden;
}
.hero-v2 .container{position:relative;z-index:1}
.hero-grid{
  display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:30px;align-items:start;
  margin-top:24px;
}

.arch{
  border-radius:50% 50% 6px 6px / 60% 60% 6px 6px;
  overflow:hidden;background:var(--paper-2);
}
.arch img{width:100%;height:100%;object-fit:cover;display:block}

.loc-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:50px;
  cursor:pointer;text-decoration:none;color:inherit;
}
.loc-card .arch{
  width:280px;height:280px;border-radius:18px;position:relative;
  transition:transform .4s ease, box-shadow .4s ease;
}
.loc-card .arch img{transition:transform 1.4s ease}
.loc-card:hover .arch{transform:translateY(-4px);box-shadow:0 22px 40px -22px rgba(31,29,25,.35)}
.loc-card:hover .arch img{transform:scale(1.04)}
.loc-card .label{
  margin-top:22px;font-size:1rem;color:var(--ink-2);max-width:24ch;line-height:1.55;
}
.loc-card .label strong{
  display:block;color:var(--ink);font-size:.78rem;
  letter-spacing:.28em;text-transform:uppercase;margin-bottom:10px;font-weight:500;
}
.loc-card .loc-cta{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);
}
.loc-card .loc-cta .arrow{transition:transform .3s}
.loc-card:hover .loc-cta .arrow{transform:translateX(4px)}
.hero-grid > .loc-card:first-child{transform:translateX(-28px)}
.hero-grid > .loc-card:last-child{transform:translateX(28px)}

.hero-center{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  width:min(100%,440px);justify-self:center;
}
.hero-center .arch{width:min(100%,360px);aspect-ratio:19/23;height:auto}
.hero-center .arch img{
  object-fit:cover;
  padding:0;
  background:transparent;
}
.hero-headline{margin-top:28px;width:100%}
.hero-headline h1{
  font-family:"Cormorant Garamond",serif;font-weight:300;
  font-size:clamp(2.2rem,3.8vw,3.25rem);line-height:1.02;
  text-transform:uppercase;letter-spacing:.005em;
  width:min(100%,28ch);max-width:28ch;margin:0 auto;
}
.hero-headline h1 em{color:var(--accent);text-transform:none;font-style:italic;font-weight:300}
.hero-tagline{
  margin-top:14px;font-family:"Cormorant Garamond",serif;font-style:italic;
  color:var(--ink-soft);font-size:1rem;max-width:30ch;margin-left:auto;margin-right:auto;
}
.hero-tagline b{color:var(--accent);font-weight:400}
.hero-actions{
  margin-top:24px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;
}
.hero-actions .btn{padding:13px 24px}
.hero-actions .btn:first-child{
  box-shadow:0 16px 28px -22px rgba(31,29,25,.38);
}
.hero-actions .btn.ghost{
  color:var(--ink-2);
}

/* ---------------- Marquee strip ---------------- */
.strip{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--paper-2);overflow:hidden;
}
.strip-track{
  display:flex;gap:60px;padding:18px 0;
  animation:scroll 50s linear infinite;white-space:nowrap;
  font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--ink-soft);
  font-size:1.05rem;
}
.strip-track span{display:inline-flex;align-items:center;gap:60px}
.strip-track span::after{content:"\2756";color:var(--accent);font-style:normal;font-size:.7rem}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------------- Branch meta block ---------------- */
.branch-meta{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  max-width:880px;margin:38px auto 0;text-align:left;
  border-top:1px solid var(--line);padding-top:28px;
}
.branch-meta div small{
  display:block;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;
}
.branch-meta p{margin:0;font-size:.92rem;color:var(--ink-2);line-height:1.55}
.branch-meta a{color:var(--ink);border-bottom:1px solid var(--line)}
.branch-meta a:hover{color:var(--accent);border-color:var(--accent)}

/* ---------------- Masonry (CSS columns) ---------------- */
.masonry{
  column-count:3;column-gap:18px;margin-top:50px;
}
.masonry figure{
  margin:0 0 18px;break-inside:avoid;overflow:hidden;border-radius:6px;
  background:var(--paper-2);border:1px solid var(--line-soft);
}
.masonry img{width:100%;height:auto;display:block;transition:transform 1.4s ease}
.masonry figure:hover img{transform:scale(1.04)}
@media (max-width:900px){.masonry{column-count:2}}
@media (max-width:520px){.masonry{column-count:1}}

/* ---------------- Page hero (interior) ---------------- */
.page-hero{
  position:relative;padding:clamp(110px,14vw,180px) 0 clamp(60px,8vw,100px);
  border-bottom:1px solid var(--line);background:var(--paper-2);overflow:hidden;text-align:center;
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(700px 400px at 50% 100%, rgba(74,107,92,.14), transparent 60%);
  pointer-events:none;
}
.page-hero .crumb{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:18px}
.page-hero h1{max-width:22ch;margin:0 auto;position:relative;font-size:clamp(2.4rem,5vw,4rem);line-height:1.05}
.page-hero h1 em{font-style:italic;color:var(--accent)}
.page-hero p.lede{max-width:60ch;margin:24px auto 0}

/* ---------------- Intro split ---------------- */
.intro-split{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}
.intro-split .img-wrap{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:var(--paper-2)}
.intro-split .img-wrap.arch{border-radius:50% 50% 6px 6px / 30% 30% 6px 6px}
.intro-split .img-wrap img{width:100%;height:100%;object-fit:cover}
.stats{display:flex;gap:48px;margin-top:42px;padding-top:36px;border-top:1px solid var(--line)}
.stats div span{display:block;font-family:"Cormorant Garamond",serif;font-size:2.4rem;color:var(--accent);line-height:1}
.stats div small{display:block;margin-top:6px;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}

/* ============================================================
   SERVICES PREVIEW &mdash; staggered icon cards + arch image pair
   ============================================================ */
.section-head{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;margin-bottom:60px;align-items:end}
.svc-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:30px;
  margin-top:60px;align-items:start;
}
.svc-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:0 14px;
}
.svc-card:nth-child(1){margin-top:80px}
.svc-card:nth-child(2){margin-top:0}
.svc-card:nth-child(3){margin-top:0}
.svc-card:nth-child(4){margin-top:80px}
.svc-icon{
  width:58px;height:58px;border-radius:50%;
  background:var(--paper-3);border:1px solid var(--line);
  display:grid;place-items:center;margin-bottom:24px;
  transition:transform .35s ease, background .35s ease;
}
.svc-icon img{width:28px;height:28px;object-fit:contain;opacity:.9}
.svc-card:hover .svc-icon{background:var(--accent);transform:translateY(-3px)}
.svc-card:hover .svc-icon img{filter:brightness(0) invert(1);opacity:1}
.svc-card h3{
  margin:0 0 14px;font-family:"Inter",sans-serif;font-size:.92rem;font-weight:500;
  letter-spacing:.04em;color:var(--ink);line-height:1.4;
}
.svc-card p{font-size:.88rem;line-height:1.65;margin:0;color:var(--ink-2);max-width:24ch}

.svc-arches{
  display:grid;grid-template-columns:1fr 1fr;gap:30px;
  max-width:760px;margin:80px auto 0;
}
.svc-arches .arch-img{
  aspect-ratio:4/5;overflow:hidden;background:var(--paper-2);
}
.svc-arches .arch-img:nth-child(1){border-radius:50% 50% 8px 8px / 30% 30% 8px 8px}
.svc-arches .arch-img:nth-child(2){border-radius:50% 50% 8px 8px / 50% 50% 8px 8px}
.svc-arches .arch-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease}
.svc-arches .arch-img:hover img{transform:scale(1.05)}

.svc-cta-wrap{margin-top:70px;text-align:center}
.svc-cta-wrap .btn.outline-pill{
  background:transparent;color:var(--ink);border:1px solid var(--ink);padding:14px 30px;
}
.svc-cta-wrap .btn.outline-pill:hover{background:var(--ink);color:var(--paper)}

/* ---------------- Services detail ---------------- */
.svc-detail{
  display:grid;grid-template-columns:1fr 1.2fr;gap:90px;
  padding:clamp(60px,8vw,100px) 0;border-top:1px solid var(--line);align-items:start;
}
.svc-detail:first-of-type{border-top:0}
.svc-detail .num-large{
  font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--accent);
  font-size:3rem;line-height:1;margin-bottom:20px;
}
.svc-detail .img-wrap{aspect-ratio:4/5;overflow:hidden;position:relative;
  border-radius:50% 50% 6px 6px / 28% 28% 6px 6px;background:var(--paper-2);
  width:min(100%,460px);justify-self:center}
.svc-detail .img-wrap img{width:100%;height:100%;object-fit:cover}
.svc-detail ul{margin:24px 0 32px;padding:0;list-style:none;columns:2;column-gap:30px}
.svc-detail ul li{padding:10px 0;border-bottom:1px dashed var(--line);font-size:.95rem;break-inside:avoid;color:var(--ink-2)}

/* ---------------- Why grid ---------------- */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.why-card{padding:44px 28px;text-align:center;border-right:1px solid var(--line)}
.why-card:last-child{border-right:0}
.why-icon{
  width:78px;height:78px;margin:0 auto 22px;border-radius:50%;
  background:var(--paper-3);border:1px solid var(--line);
  display:grid;place-items:center;
}
.why-icon img{width:42px;height:42px;object-fit:contain;opacity:.85}
.why-card h3{margin:0 0 10px;font-size:1.2rem}
.why-card p{font-size:.92rem;margin:0;color:var(--ink-2)}

/* ---------------- Gallery ---------------- */
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:18px;margin-top:50px}
.gallery figure{margin:0;overflow:hidden;position:relative;border-radius:4px;background:var(--paper-2);border:1px solid var(--line-soft)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease}
.gallery figure:hover img{transform:scale(1.06)}
.g1{grid-column:span 5;grid-row:span 4}
.g2{grid-column:span 4;grid-row:span 3}
.g3{grid-column:span 3;grid-row:span 3}
.g4{grid-column:span 4;grid-row:span 3}
.g5{grid-column:span 3;grid-row:span 4}
.g6{grid-column:span 5;grid-row:span 3}
.g7{grid-column:span 4;grid-row:span 3}
.gallery.gallery-quad{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;gap:18px}
.gallery.gallery-quad figure{aspect-ratio:4/3}
@media (max-width:680px){.gallery.gallery-quad{grid-template-columns:1fr}}

/* ---------------- Testimonials ---------------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:60px;border-top:1px solid var(--line)}
.quote{padding:48px 36px 44px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.quote:nth-child(3n){border-right:0}
.quote::before{
  content:"\201C";position:absolute;top:14px;left:24px;
  font-family:"Cormorant Garamond",serif;font-size:5.5rem;color:var(--accent);opacity:.22;line-height:1;
}
.quote p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.18rem;color:var(--ink);line-height:1.55;margin:0 0 26px}
.quote .who{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}
.quote .who strong{color:var(--ink);font-weight:500;letter-spacing:.16em}

/* ---------------- CTA ---------------- */
.cta{
  background:var(--ink);color:var(--paper);position:relative;overflow:hidden;
  padding:clamp(80px,10vw,140px) 28px;text-align:center;
}
.cta::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(700px 400px at 50% 100%, rgba(74,107,92,.4), transparent 60%);
  pointer-events:none;
}
.cta h2{color:var(--paper);max-width:18ch;margin:0 auto 24px;position:relative}
.cta h2 em{color:var(--accent-3)}
.cta p{color:rgba(223,216,215,.78);max-width:50ch;margin:0 auto 32px;position:relative}
.cta .chapter{color:var(--accent-3);border-bottom-color:var(--accent-3)}
.cta .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cta .btn:hover{background:transparent;color:var(--paper)}

/* ---------------- Contact ---------------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start}
.info-block{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.info-block small{display:block;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.info-block a{color:var(--ink);border-bottom:1px solid var(--line)}
.info-block a:hover{color:var(--accent);border-color:var(--accent)}

form.aetheria{
  display:grid;gap:22px;background:var(--paper-3);
  border:1px solid var(--line);padding:44px;border-radius:6px;
}
form.aetheria .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
form.aetheria label{display:block}
form.aetheria label small{display:block;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
form.aetheria input,form.aetheria select,form.aetheria textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:8px 0;color:var(--ink);font:inherit;outline:none;border-radius:0;transition:border-color .3s;
}
form.aetheria input:focus,form.aetheria select:focus,form.aetheria textarea:focus{border-color:var(--accent)}
form.aetheria textarea{min-height:90px;resize:vertical}
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.captcha-box{
  display:grid;gap:14px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--paper-2);
}
.captcha-question{
  display:block;
  margin-top:6px;
  font-family:"Cormorant Garamond",serif;
  font-size:1.35rem;
  color:var(--accent);
}
.form-status{
  min-height:1.2em;
  font-size:.9rem;
  color:var(--accent-2);
}

/* ---------------- Footer ---------------- */
footer.site{
  background:var(--ink);color:rgba(223,216,215,.7);
  padding:80px 0 40px;font-size:.92rem;
}
footer.site h4{color:var(--paper);font-family:"Cormorant Garamond",serif;font-size:1.25rem;margin-bottom:18px;font-weight:400}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px;padding-bottom:50px;border-bottom:1px solid rgba(223,216,215,.18)}
.foot-grid a{color:rgba(223,216,215,.7);transition:color .25s;display:inline-block}
.foot-grid a:hover{color:var(--paper)}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{padding:6px 0}
.foot-grid p{margin:0 0 .5em;color:rgba(223,216,215,.7)}
.foot-bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;
  padding-top:30px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(223,216,215,.55);
}
.foot-bottom .socials{display:flex;gap:18px}
.foot-logo img{height:42px;filter:brightness(0) invert(1) opacity(.92)}
.foot-grid p.brand-tag{margin-top:18px;color:rgba(223,216,215,.7);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.05rem;letter-spacing:.02em;text-transform:none}

/* ---------------- Floating contact (FAB) ---------------- */
.fab{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;flex-direction:column;gap:12px}
.fab-btn{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#FBF8F1;
  box-shadow:0 6px 18px -6px rgba(42,41,36,.45), 0 2px 6px rgba(42,41,36,.15);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;position:relative;
}
.fab-btn:hover{transform:translateY(-3px)}
.fab-wa{background:#25D366}
.fab-wa:hover{background:#1ebd5a}
.fab-tel{background:var(--accent)}
.fab-tel:hover{background:var(--accent-2)}
.fab-btn::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid currentColor;opacity:.35;animation:fabPulse 2.4s ease-out infinite}
@keyframes fabPulse{0%{transform:scale(1);opacity:.35}70%{transform:scale(1.35);opacity:0}100%{transform:scale(1.35);opacity:0}}
@media (max-width:520px){.fab{right:14px;bottom:14px;gap:10px}.fab-btn{width:48px;height:48px}}

/* ---------------- Responsive ---------------- */
@media (max-width:1080px){
  .intro-split,.section-head,.contact-grid,.svc-detail{grid-template-columns:1fr;gap:50px}
  .svc-grid{grid-template-columns:1fr 1fr;gap:60px 30px}
  .svc-card:nth-child(n){margin-top:0}
  .quotes{grid-template-columns:1fr 1fr}
  .quote:nth-child(3n){border-right:1px solid var(--line)}
  .quote:nth-child(2n){border-right:0}
  .why-grid{grid-template-columns:1fr 1fr}
  .why-card:nth-child(2n){border-right:0}
  .why-card{border-bottom:1px solid var(--line)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:40px}
  .nav .nav-left{display:none}
}
@media (max-width:900px){
  .menu-toggle{display:block}
  .nav{grid-template-columns:auto 1fr auto}
  .brand{justify-self:center}
  .nav-right .nav-cta{display:none}
  .hero-grid{grid-template-columns:1fr;gap:50px}
  .loc-card{padding-top:0}
  .hero-grid > .loc-card:first-child,
  .hero-grid > .loc-card:last-child{transform:none}
  .loc-card .arch{width:100%;max-width:480px;height:auto;aspect-ratio:5/4}
  .hero-center{order:-1}
  .hero-center .arch{height:400px}
  .hero-headline h1{width:min(100%,30ch)}
  .svc-grid{grid-template-columns:1fr 1fr;gap:50px 30px}
  .svc-card:nth-child(n){margin-top:0}
  .quotes{grid-template-columns:1fr}
  .quote{border-right:0!important}
  .svc-arches{grid-template-columns:1fr 1fr;gap:18px}
  .gallery{grid-auto-rows:100px;gap:12px}
  .g1,.g2,.g3,.g4,.g5,.g6,.g7{grid-column:span 6;grid-row:span 3}
  form.aetheria .row{grid-template-columns:1fr}
  form.aetheria{padding:30px}
  .stats{flex-wrap:wrap;gap:30px}
  .branch-meta{grid-template-columns:1fr 1fr;gap:24px}
  .svc-detail ul{columns:1}
}
@media (max-width:520px){
  .why-grid{grid-template-columns:1fr}
  .why-card{border-right:0!important}
  .topbar{font-size:.62rem;letter-spacing:.18em}
  .hero-center .arch{height:340px}
}
