/* ============================================================
   CHA DESIGN TOKENS
   ============================================================ */
:root{
  --cha-black:#050505; --ice-white:#E8F5F7;
  --carbon:#0D0F11; --graphite:#16191C;
  --slate-800:#22262B; --slate-600:#3A4046;
  --concrete-400:#6B7178; --concrete-200:#A7AEB5; --mist:#D4DADE;
  --epoxy-blue:#69D9FF; --concrete-blue:#A8DDE4; --steel-blue:#6F8ED8;
  --success:#4FD1A5; --error:#F2685C; --focus-ring:rgba(105,217,255,0.6);
  --bg:var(--cha-black); --bg-elevated:var(--carbon); --bg-alt:var(--graphite);
  --text:var(--concrete-200); --text-strong:var(--ice-white); --text-muted:var(--concrete-400);
  --border:var(--slate-800); --accent:var(--epoxy-blue); --accent-deep:var(--steel-blue);
  --grad-steel-depth:linear-gradient(135deg,#6F8ED8 0%,#050505 100%);
  --grad-epoxy-sheen:linear-gradient(135deg,#69D9FF 0%,#6F8ED8 100%);
  --font-heading:"Montserrat","League Spartan",system-ui,sans-serif;
  --font-body:"Inter","Poppins",system-ui,sans-serif;
  --fs-display:clamp(2.5rem,5.2vw,4rem); --fs-h1:clamp(2rem,4vw,3rem);
  --fs-h2:clamp(1.75rem,3vw,2.25rem); --fs-h3:clamp(1.375rem,2vw,1.625rem);
  --fs-h4:clamp(1.125rem,1.5vw,1.25rem); --fs-body-l:1.125rem; --fs-body:1rem;
  --fs-body-s:0.875rem; --fs-overline:0.8125rem;
  --ls-tight:-0.02em; --ls-overline:0.12em;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-6:24px; --sp-8:32px;
  --sp-12:48px; --sp-16:64px; --sp-24:96px; --sp-32:128px;
  --section-y:clamp(48px,8vw,128px); --container:1280px; --gutter:clamp(20px,4vw,48px);
  --r-sm:6px; --r-md:8px; --r-lg:12px; --r-full:999px;
  --bw:1px; --bw-strong:1.5px;
  --shadow-card:0 8px 30px rgba(0,0,0,0.40);
  --shadow-lift:0 14px 40px rgba(0,0,0,0.55);
  --glow-accent:0 6px 24px rgba(105,217,255,0.25);
  --ease-standard:cubic-bezier(0.4,0,0.2,1);
  --ease-entrance:cubic-bezier(0.16,1,0.3,1);
  --dur-fast:150ms; --dur-mid:300ms; --dur-slow:550ms;
  --header-h:80px; --header-h-mobile:64px;
  --z-header:100; --z-mobile-bar:90; --z-overlay:200;
}

/* ============================================================ RESET ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}

/* ============================================================ BUTTONS ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);
  font-family:var(--font-body);font-weight:600;font-size:var(--fs-body);letter-spacing:0.01em;
  border-radius:var(--r-sm);padding:14px 26px;line-height:1;white-space:nowrap;
  transition:transform var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),
             border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),
             box-shadow var(--dur-fast) var(--ease-standard)}
.btn--primary{background:var(--accent);color:var(--cha-black)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:var(--glow-accent)}
.btn--secondary{background:transparent;color:var(--text-strong);border:var(--bw-strong) solid rgba(232,245,247,0.40)}
.btn--secondary:hover{border-color:var(--accent);color:var(--accent);background:rgba(105,217,255,0.08);transform:translateY(-2px)}
.btn--lg{padding:17px 32px;font-size:1.0625rem}
.btn svg{width:18px;height:18px;flex:0 0 auto}

/* ============================================================ HEADER (from approved build) ============================================================ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);height:var(--header-h);
  background:rgba(5,5,5,0.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:var(--bw) solid transparent;
  transition:height var(--dur-mid) var(--ease-standard),background var(--dur-mid) var(--ease-standard),border-color var(--dur-mid) var(--ease-standard)}
.site-header.is-scrolled{height:66px;background:rgba(5,5,5,0.92);border-bottom-color:var(--border)}
.header-inner{max-width:var(--container);height:100%;margin:0 auto;padding:0 var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6)}
.logo{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto}
.logo__mark{width:50px;height:50px;border-radius:var(--r-sm);flex:0 0 auto;display:block;object-fit:cover}
.logo__text{display:flex;flex-direction:column;line-height:1}
.logo__name{font-family:var(--font-heading);font-weight:800;font-size:1.25rem;letter-spacing:var(--ls-tight);color:var(--text-strong)}
.logo__tag{font-size:0.625rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--concrete-400);margin-top:3px;font-weight:600}
.site-header.is-scrolled .logo__mark{width:46px;height:46px}
/* Header brand lockup: mark + wordmark as one engineered unit */
.logo--brand{gap:12px;align-items:center}
.logo--brand .logo__mark{width:52px;height:52px;border-radius:var(--r-md);box-shadow:0 0 0 1px var(--slate-800)}
.logo--brand .logo__text{display:flex;flex-direction:column;justify-content:center;gap:5px;line-height:1}
.logo--brand .logo__name{display:flex;align-items:center;gap:9px;font-size:1.4rem;letter-spacing:-0.02em}
.logo--brand .logo__name::after{content:"";height:2px;width:22px;border-radius:2px;background:linear-gradient(90deg,var(--epoxy-blue),rgba(105,217,255,0))}
.logo--brand .logo__tag{letter-spacing:0.22em;color:var(--concrete-200);margin-top:0}
.site-header.is-scrolled .logo--brand .logo__mark{width:46px;height:46px}
.site-header.is-scrolled .logo--brand .logo__name{font-size:1.3rem}
/* Small-desktop safeguard: between the mobile breakpoint and full width the nav
   needs the room, so drop the descriptor (keep the mark + wordmark + brand bar). */
@media (min-width:1025px) and (max-width:1299px){
  .site-header .logo--brand .logo__tag{display:none}
}
.nav-desktop{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto}
.nav-list{display:flex;align-items:center;gap:var(--sp-1)}
.nav-link{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:0.9375rem;font-weight:500;
  color:var(--concrete-200);padding:10px 14px;border-radius:var(--r-sm);transition:color var(--dur-fast) var(--ease-standard)}
.nav-link::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1.5px;background:var(--accent);
  transform:scaleX(0);transform-origin:left;transition:transform var(--dur-mid) var(--ease-standard)}
.nav-link:hover,.nav-link[aria-expanded="true"],.nav-link.is-active{color:var(--text-strong)}
.nav-link:hover::after,.nav-link.is-active::after{transform:scaleX(1)}
.nav-link__chev{width:14px;height:14px;transition:transform var(--dur-mid) var(--ease-standard)}
.nav-link[aria-expanded="true"] .nav-link__chev{transform:rotate(180deg)}
.has-dropdown{position:relative}
.dropdown{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  width:560px;max-width:calc(100vw - 32px);background:var(--bg-elevated);border:var(--bw) solid var(--border);
  border-radius:var(--r-lg);box-shadow:var(--shadow-lift);padding:var(--sp-3);display:grid;grid-template-columns:1fr 1fr;gap:4px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity var(--dur-mid) var(--ease-entrance),transform var(--dur-mid) var(--ease-entrance),visibility var(--dur-mid)}
.dropdown::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.has-dropdown:hover .dropdown,.has-dropdown.is-open .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.dropdown__item{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:var(--r-md);border:var(--bw) solid transparent;
  transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}
.dropdown__item:hover{background:var(--graphite);border-color:rgba(105,217,255,0.30)}
.dropdown__icon{width:38px;height:38px;flex:0 0 auto;border-radius:var(--r-sm);display:grid;place-items:center;background:rgba(105,217,255,0.08);color:var(--accent)}
.dropdown__icon svg{width:20px;height:20px}
.dropdown__item > span{display:flex;flex-direction:column}
.dropdown__title{display:block;font-family:var(--font-heading);font-weight:700;font-size:0.9375rem;color:var(--text-strong);margin-bottom:3px}
.dropdown__desc{font-size:0.8125rem;color:var(--concrete-400);line-height:1.45}
.header-actions{display:flex;align-items:center;gap:var(--sp-4);flex:0 0 auto}
.phone-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:0.9375rem;color:var(--text-strong);
  padding:8px 4px;transition:color var(--dur-fast) var(--ease-standard)}
.phone-link svg{width:18px;height:18px;color:var(--accent)}
.phone-link:hover{color:var(--accent)}
.phone-link__label{display:block;font-size:0.625rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--concrete-400);font-weight:600;margin-bottom:1px}
.phone-link__col{display:flex;flex-direction:column;line-height:1.1}
.hamburger{display:none;width:44px;height:44px;border-radius:var(--r-sm);align-items:center;justify-content:center;flex:0 0 auto}
.hamburger__box{position:relative;width:24px;height:16px}
.hamburger__line{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:var(--text-strong);
  transition:transform var(--dur-mid) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard),top var(--dur-mid) var(--ease-standard)}
.hamburger__line:nth-child(1){top:0}.hamburger__line:nth-child(2){top:7px}.hamburger__line:nth-child(3){top:14px}
body.menu-open .hamburger__line:nth-child(1){top:7px;transform:rotate(45deg)}
body.menu-open .hamburger__line:nth-child(2){opacity:0}
body.menu-open .hamburger__line:nth-child(3){top:7px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--cha-black);display:flex;flex-direction:column;
  padding:calc(var(--header-h-mobile) + 8px) var(--gutter) var(--sp-8);opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity var(--dur-mid) var(--ease-entrance),transform var(--dur-mid) var(--ease-entrance),visibility var(--dur-mid);
  overflow-y:auto;-webkit-overflow-scrolling:touch}
body.menu-open .mobile-menu{opacity:1;visibility:visible;transform:translateY(0)}
.mobile-menu__close{position:absolute;top:14px;right:var(--gutter);width:44px;height:44px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--text-strong)}
.mobile-menu__close svg{width:22px;height:22px}
.m-nav{display:flex;flex-direction:column;gap:2px;margin-top:var(--sp-2)}
.m-nav__link{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;letter-spacing:var(--ls-tight);color:var(--text-strong);padding:14px 0;border-bottom:var(--bw) solid var(--border)}
.m-nav__link:active{color:var(--accent)}
.m-accordion__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-heading);font-weight:700;font-size:1.5rem;letter-spacing:var(--ls-tight);color:var(--text-strong);padding:14px 0;border-bottom:var(--bw) solid var(--border)}
.m-accordion__trigger svg{width:22px;height:22px;color:var(--accent);transition:transform var(--dur-mid) var(--ease-standard)}
.m-accordion.is-open .m-accordion__trigger svg{transform:rotate(180deg)}
.m-accordion__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-mid) var(--ease-standard)}
.m-accordion.is-open .m-accordion__panel{grid-template-rows:1fr}
.m-accordion__inner{overflow:hidden}
.m-sublink{display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:500;color:var(--concrete-200);padding:12px 0 12px 4px}
.m-sublink:first-child{padding-top:16px}
.m-sublink svg{width:18px;height:18px;color:var(--accent);opacity:0.8}
.m-sublink:active{color:var(--accent)}
.mobile-menu__foot{margin-top:auto;padding-top:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-3)}
.mobile-menu__phone{display:flex;align-items:center;gap:10px;justify-content:center;font-weight:600;color:var(--text-strong);font-size:1.0625rem;padding:8px}
.mobile-menu__phone svg{width:20px;height:20px;color:var(--accent)}
.mobile-menu__whatsapp{display:flex;align-items:center;gap:10px;justify-content:center;font-weight:600;color:var(--text-strong);font-size:1.0625rem;padding:13px;border-radius:var(--r-sm);border:var(--bw-strong) solid rgba(232,245,247,0.40);
  transition:border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}
.mobile-menu__whatsapp svg{width:20px;height:20px;color:var(--accent)}
.mobile-menu__whatsapp:hover{border-color:var(--accent);color:var(--accent);background:rgba(105,217,255,0.08)}
.mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-mobile-bar);background:rgba(5,5,5,0.94);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:var(--bw) solid var(--border);
  padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));gap:10px;transform:translateY(110%);
  transition:transform var(--dur-mid) var(--ease-entrance)}
.mobile-bar.is-visible{transform:translateY(0)}
.mobile-bar .btn{flex:1;padding:14px 12px}
body.menu-open .mobile-bar{transform:translateY(110%)}

/* ============================================================
   HERO SECTION
   ============================================================ */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;align-items:center;
  padding-top:calc(var(--header-h) + var(--sp-12));
  padding-bottom:var(--sp-12);
  overflow:hidden;
  background:var(--cha-black);
  isolation:isolate;
}
/* background photo layer */
.hero__media{
  position:absolute;inset:0;z-index:-3;
  background-image:var(--hero-img);
  background-size:cover;
  background-position:center 38%;
  transform:scale(1.06);
  will-change:transform;
}
/* dark gradient overlay — legibility + cool unifying grade */
.hero__overlay{
  position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(180deg, rgba(5,5,5,0.82) 0%, rgba(5,5,5,0.40) 38%, rgba(5,5,5,0.55) 70%, rgba(5,5,5,0.92) 100%),
    linear-gradient(100deg, rgba(5,5,5,0.92) 0%, rgba(5,5,5,0.55) 42%, rgba(5,5,5,0.10) 100%);
}
/* subtle steel-blue ambient glow + faint concrete texture */
.hero__glow{
  position:absolute;z-index:-1;pointer-events:none;
  width:60vw;height:60vw;max-width:760px;max-height:760px;
  top:-12%;right:-10%;
  background:radial-gradient(circle, rgba(105,217,255,0.16) 0%, rgba(111,142,216,0.08) 38%, transparent 68%);
  filter:blur(8px);
}
.hero__texture{
  position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0.05;mix-blend-mode:screen;
  background-image:
    repeating-linear-gradient(115deg, transparent 0 38px, rgba(168,221,228,0.5) 38px 39px),
    repeating-linear-gradient(58deg, transparent 0 64px, rgba(168,221,228,0.35) 64px 65px),
    repeating-linear-gradient(8deg, transparent 0 92px, rgba(168,221,228,0.25) 92px 93px);
  -webkit-mask-image:radial-gradient(ellipse at 70% 30%, black 0%, transparent 72%);
  mask-image:radial-gradient(ellipse at 70% 30%, black 0%, transparent 72%);
}
.hero__inner{
  width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter);
}
.hero__content{max-width:720px}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:var(--fs-overline);font-weight:600;letter-spacing:var(--ls-overline);text-transform:uppercase;
  color:var(--epoxy-blue);margin-bottom:var(--sp-6);
}
.hero__eyebrow::before{content:"";width:28px;height:1.5px;background:var(--epoxy-blue);display:inline-block}
.hero__title{
  font-family:var(--font-heading);font-weight:800;font-size:var(--fs-display);line-height:1.06;
  letter-spacing:var(--ls-tight);color:var(--ice-white);margin-bottom:var(--sp-6);
  text-wrap:balance;
}
.hero__title .accent{color:var(--epoxy-blue)}
.hero__lead{
  font-size:var(--fs-body-l);line-height:1.6;color:var(--concrete-200);
  max-width:54ch;margin-bottom:var(--sp-8);
}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center}
.hero__phone-note{
  display:inline-flex;align-items:center;gap:8px;color:var(--concrete-400);font-size:var(--fs-body-s);
}
.hero__phone-note strong{color:var(--mist);font-weight:600}

/* trust strip */
.hero__trust{
  margin-top:var(--sp-12);
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2);
  border-top:var(--bw) solid var(--slate-800);
  padding-top:var(--sp-6);
  max-width:860px;
}
.trust-item{display:flex;align-items:center;gap:10px;padding:6px 0}
.trust-item__icon{
  width:34px;height:34px;flex:0 0 auto;border-radius:var(--r-sm);display:grid;place-items:center;
  background:rgba(105,217,255,0.08);border:var(--bw) solid rgba(105,217,255,0.18);color:var(--epoxy-blue);
}
.trust-item__icon svg{width:18px;height:18px}
.trust-item__label{font-size:0.875rem;font-weight:600;color:var(--mist);line-height:1.25}

/* scroll cue */
.hero__scroll{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:1;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  color:var(--concrete-400);font-size:0.6875rem;letter-spacing:0.16em;text-transform:uppercase;
}
.hero__scroll svg{width:18px;height:18px;animation:bob 2s var(--ease-standard) infinite}
@keyframes bob{0%,100%{transform:translateY(0);opacity:0.7}50%{transform:translateY(5px);opacity:1}}

/* entrance animation */
.reveal{opacity:0;transform:translateY(20px);animation:rise var(--dur-slow) var(--ease-entrance) forwards}
.reveal.d1{animation-delay:0.05s}.reveal.d2{animation-delay:0.15s}.reveal.d3{animation-delay:0.25s}
.reveal.d4{animation-delay:0.35s}.reveal.d5{animation-delay:0.5s}
@keyframes rise{to{opacity:1;transform:translateY(0)}}

/* scroll-reveal (IntersectionObserver-driven) */
.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity var(--dur-slow) var(--ease-entrance),transform var(--dur-slow) var(--ease-entrance)}
.reveal-on-scroll.is-visible{opacity:1;transform:none}
.services__grid .service-card.reveal-on-scroll{transition-delay:var(--reveal-delay,0s)}

/* ============================================================
   SERVICES PREVIEW SECTION
   ============================================================ */
.services{
  position:relative;
  background:var(--cha-black);
  padding:var(--section-y) 0;
  overflow:hidden;
  isolation:isolate;
}
/* faint concrete texture + edge glow to match hero rhythm */
.services__glow{
  position:absolute;z-index:-1;pointer-events:none;
  width:50vw;height:50vw;max-width:640px;max-height:640px;
  bottom:-18%;left:-12%;
  background:radial-gradient(circle, rgba(111,142,216,0.10) 0%, rgba(105,217,255,0.05) 40%, transparent 70%);
  filter:blur(10px);
}
.services__inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.section-head{max-width:680px;margin-bottom:var(--sp-16)}
.section-head__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:var(--fs-overline);font-weight:600;letter-spacing:var(--ls-overline);text-transform:uppercase;
  color:var(--epoxy-blue);margin-bottom:var(--sp-4);
}
.section-head__eyebrow::before{content:"";width:28px;height:1.5px;background:var(--epoxy-blue);display:inline-block}
.section-head__title{
  font-family:var(--font-heading);font-weight:800;font-size:var(--fs-h2);line-height:1.12;
  letter-spacing:var(--ls-tight);color:var(--ice-white);margin-bottom:var(--sp-4);text-wrap:balance;
}
.section-head__lead{font-size:var(--fs-body-l);line-height:1.6;color:var(--concrete-200);max-width:60ch}

/* grid: 1 / 2 / 3 columns */
.services__grid{
  display:grid;grid-template-columns:1fr;gap:var(--sp-6);
}
@media (min-width:640px){.services__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.services__grid{grid-template-columns:repeat(3,1fr)}}

/* service card (approved card system) */
.service-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--carbon);
  border:var(--bw) solid var(--slate-800);
  border-radius:var(--r-md);
  padding:var(--sp-8);
  overflow:hidden;
  transition:transform var(--dur-mid) var(--ease-standard),
             border-color var(--dur-mid) var(--ease-standard),
             box-shadow var(--dur-mid) var(--ease-standard);
}
/* animated top accent line */
.service-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--grad-epoxy-sheen);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur-mid) var(--ease-standard);
}
.service-card:hover,.service-card:focus-within{
  transform:translateY(-4px);
  border-color:rgba(105,217,255,0.45);
  box-shadow:var(--shadow-card);
}
.service-card:hover::before,.service-card:focus-within::before{transform:scaleX(1)}

.service-card__icon{
  width:52px;height:52px;flex:0 0 auto;border-radius:var(--r-sm);
  display:grid;place-items:center;margin-bottom:var(--sp-6);
  background:rgba(105,217,255,0.07);
  border:var(--bw) solid rgba(105,217,255,0.18);
  color:var(--epoxy-blue);
  transition:background var(--dur-mid) var(--ease-standard),
             border-color var(--dur-mid) var(--ease-standard);
}
.service-card__icon svg{width:26px;height:26px}
.service-card:hover .service-card__icon{background:rgba(105,217,255,0.12);border-color:rgba(105,217,255,0.40)}

.service-card__title{
  font-family:var(--font-heading);font-weight:700;font-size:var(--fs-h3);line-height:1.2;
  letter-spacing:var(--ls-tight);color:var(--ice-white);margin-bottom:var(--sp-3);
}
.service-card__desc{font-size:var(--fs-body);line-height:1.6;color:var(--concrete-200);margin-bottom:var(--sp-6);flex:1 1 auto}
.service-card__link{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  font-weight:600;font-size:0.9375rem;color:var(--epoxy-blue);
  transition:gap var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard);
}
.service-card__link svg{width:16px;height:16px;transition:transform var(--dur-fast) var(--ease-standard)}
.service-card:hover .service-card__link{gap:12px}
.service-card__link::after{content:"";position:absolute;inset:0} /* full-card click target */

/* ============================================================
   WHY CHOOSE CHA SECTION
   ============================================================ */
.why{
  position:relative;
  background:var(--graphite);
  border-top:var(--bw) solid var(--slate-800);
  padding:var(--section-y) 0;
  overflow:hidden;
  isolation:isolate;
}
.why__glow{
  position:absolute;z-index:-1;pointer-events:none;
  width:54vw;height:54vw;max-width:700px;max-height:700px;
  top:-16%;right:-14%;
  background:radial-gradient(circle, rgba(105,217,255,0.10) 0%, rgba(111,142,216,0.06) 42%, transparent 70%);
  filter:blur(10px);
}
.why__inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}

/* two-column layout: sticky intro + reasons grid */
.why__layout{
  display:grid;grid-template-columns:1fr;gap:var(--sp-12);
}
@media (min-width:1024px){
  .why__layout{grid-template-columns:0.82fr 1.18fr;gap:var(--sp-16);align-items:start}
  .why__intro{position:sticky;top:calc(var(--header-h) + var(--sp-8))}
}
.why__intro .section-head{margin-bottom:var(--sp-8)}
.why__assurance{
  display:flex;align-items:center;gap:14px;
  padding:var(--sp-6);border-radius:var(--r-md);
  background:var(--carbon);border:var(--bw) solid var(--slate-800);
}
.why__assurance-icon{
  width:46px;height:46px;flex:0 0 auto;border-radius:var(--r-sm);display:grid;place-items:center;
  background:rgba(105,217,255,0.08);border:var(--bw) solid rgba(105,217,255,0.18);color:var(--epoxy-blue);
}
.why__assurance-icon svg{width:24px;height:24px}
.why__assurance-text{font-size:var(--fs-body-s);line-height:1.5;color:var(--concrete-200)}
.why__assurance-text strong{display:block;color:var(--ice-white);font-family:var(--font-heading);font-weight:700;font-size:1rem;margin-bottom:2px;letter-spacing:var(--ls-tight)}

/* reasons grid */
.why__grid{
  display:grid;grid-template-columns:1fr;gap:var(--sp-4);
}
@media (min-width:560px){.why__grid{grid-template-columns:repeat(2,1fr)}}

.reason{
  position:relative;
  background:var(--carbon);
  border:var(--bw) solid var(--slate-800);
  border-radius:var(--r-md);
  padding:var(--sp-6);
  display:flex;flex-direction:column;
  transition:transform var(--dur-mid) var(--ease-standard),
             border-color var(--dur-mid) var(--ease-standard),
             box-shadow var(--dur-mid) var(--ease-standard);
}
.reason:hover{transform:translateY(-3px);border-color:rgba(105,217,255,0.35);box-shadow:var(--shadow-card)}
.reason__top{display:flex;align-items:center;gap:14px;margin-bottom:var(--sp-4)}
.reason__num{
  font-family:var(--font-heading);font-weight:800;font-size:0.9375rem;
  color:var(--epoxy-blue);letter-spacing:0.04em;
  width:30px;flex:0 0 auto;
}
.reason__icon{
  width:42px;height:42px;flex:0 0 auto;border-radius:var(--r-sm);display:grid;place-items:center;
  background:rgba(105,217,255,0.07);border:var(--bw) solid rgba(105,217,255,0.18);color:var(--epoxy-blue);
  transition:background var(--dur-mid) var(--ease-standard),border-color var(--dur-mid) var(--ease-standard);
}
.reason__icon svg{width:22px;height:22px}
.reason:hover .reason__icon{background:rgba(105,217,255,0.12);border-color:rgba(105,217,255,0.40)}
.reason__title{
  font-family:var(--font-heading);font-weight:700;font-size:var(--fs-h4);line-height:1.25;
  letter-spacing:var(--ls-tight);color:var(--ice-white);margin-bottom:var(--sp-2);
}
.reason__desc{font-size:0.9375rem;line-height:1.55;color:var(--concrete-200)}

/* ============================================================
   PROJECT GALLERY PREVIEW SECTION
   ============================================================ */
.gallery{
  position:relative;
  background:var(--cha-black);
  border-top:var(--bw) solid var(--slate-800);
  padding:var(--section-y) 0;
  overflow:hidden;
  isolation:isolate;
}
.gallery__glow{
  position:absolute;z-index:-1;pointer-events:none;
  width:50vw;height:50vw;max-width:660px;max-height:660px;
  top:6%;left:-14%;
  background:radial-gradient(circle, rgba(111,142,216,0.10) 0%, rgba(105,217,255,0.05) 42%, transparent 70%);
  filter:blur(10px);
}
.gallery__inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}

/* header row with inline view-all link on desktop */
.gallery__head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:var(--sp-6);margin-bottom:var(--sp-12);
}
.gallery__head .section-head{margin-bottom:0;max-width:620px}
.gallery__head-link{
  display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;
  font-weight:600;font-size:0.9375rem;color:var(--epoxy-blue);padding-bottom:6px;
  transition:gap var(--dur-fast) var(--ease-standard)}
.gallery__head-link svg{width:16px;height:16px}
.gallery__head-link:hover{gap:12px}
@media (max-width:640px){.gallery__head-link{display:none}} /* avoid duplicate with bottom CTA on mobile */

/* grid */
.gallery__grid{
  display:grid;grid-template-columns:1fr;gap:var(--sp-4);
}
@media (min-width:640px){
  .gallery__grid{grid-template-columns:repeat(2,1fr);gap:var(--sp-6)}
}
@media (min-width:1024px){
  /* uniform 3-column grid: equal-size cards, consistent gaps, no masonry spans */
  .gallery__grid{grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}
}

/* project card */
.project-card{
  position:relative;display:block;overflow:hidden;
  border-radius:var(--r-md);
  border:var(--bw) solid var(--slate-800);
  background:var(--graphite);
  min-height:236px;aspect-ratio:4 / 3;
  isolation:isolate;
}
.project-card__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.01);
  transition:transform var(--dur-slow) var(--ease-standard);
}
/* base dark gradient for legibility (always present) */
.project-card__shade{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(5,5,5,0.05) 0%, rgba(5,5,5,0.12) 45%, rgba(5,5,5,0.78) 100%);
  transition:background var(--dur-mid) var(--ease-standard);
}
.project-card__body{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:var(--sp-6);
  display:flex;flex-direction:column;gap:6px;
  transform:translateY(0);
}
.project-card__cat{
  display:inline-flex;align-self:flex-start;align-items:center;
  font-size:0.6875rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--cha-black);background:var(--epoxy-blue);
  padding:5px 10px;border-radius:var(--r-full);margin-bottom:4px;
}
.project-card__title{
  font-family:var(--font-heading);font-weight:700;font-size:1.0625rem;line-height:1.25;
  letter-spacing:var(--ls-tight);color:var(--ice-white);
}
.project-card__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;
  font-size:0.8125rem;color:var(--concrete-200);
}
.project-card__meta span{display:inline-flex;align-items:center;gap:6px}
.project-card__meta svg{width:14px;height:14px;color:var(--epoxy-blue);opacity:0.9}
/* reveal extra meta on hover for larger cards */
.project-card__view{
  position:absolute;top:var(--sp-4);right:var(--sp-4);z-index:2;
  width:40px;height:40px;border-radius:var(--r-full);
  display:grid;place-items:center;
  background:rgba(5,5,5,0.55);border:var(--bw) solid rgba(232,245,247,0.25);
  color:var(--ice-white);backdrop-filter:blur(4px);
  opacity:0;transform:translateY(-6px) scale(0.9);
  transition:opacity var(--dur-mid) var(--ease-standard),transform var(--dur-mid) var(--ease-standard),
             background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);
}
.project-card__view svg{width:18px;height:18px}
/* hover states */
.project-card:hover .project-card__img,.project-card:focus-visible .project-card__img{transform:scale(1.07)}
.project-card:hover .project-card__shade,.project-card:focus-visible .project-card__shade{
  background:linear-gradient(180deg, rgba(5,5,5,0.30) 0%, rgba(5,5,5,0.35) 40%, rgba(5,5,5,0.85) 100%)}
.project-card:hover .project-card__view,.project-card:focus-visible .project-card__view{opacity:1;transform:translateY(0) scale(1)}
.project-card:hover .project-card__view{background:var(--epoxy-blue);border-color:var(--epoxy-blue);color:var(--cha-black)}
.project-card:hover{border-color:rgba(105,217,255,0.45)}

/* bottom CTA row */
.gallery__cta{
  display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center;justify-content:center;
  margin-top:var(--sp-12);
}
@media (max-width:520px){.gallery__cta{flex-direction:column;align-items:stretch}.gallery__cta .btn{width:100%}
  .cta-final__actions{flex-direction:column;align-items:stretch;width:100%}
  .cta-final__actions .btn{width:100%}
  .cta-final__trust{gap:var(--sp-3) var(--sp-4)}
}

/* ============================================================
   PROCESS SECTION
   ============================================================ */
.process{
  position:relative;
  background:var(--graphite);
  border-top:var(--bw) solid var(--slate-800);
  padding:var(--section-y) 0;
  overflow:hidden;
  isolation:isolate;
}
.process__glow{
  position:absolute;z-index:-1;pointer-events:none;
  width:52vw;height:52vw;max-width:680px;max-height:680px;
  bottom:-18%;right:-12%;
  background:radial-gradient(circle, rgba(105,217,255,0.09) 0%, rgba(111,142,216,0.05) 42%, transparent 70%);
  filter:blur(10px);
}
.process__inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.process .section-head{max-width:680px;margin:0 auto var(--sp-16);text-align:center}
.process .section-head__eyebrow{justify-content:center}
.process .section-head__lead{margin-left:auto;margin-right:auto}

/* steps grid: stacked → 2 col → 4 col timeline */
.process__steps{
  display:grid;grid-template-columns:1fr;gap:var(--sp-6);
  position:relative;
}
@media (min-width:560px){.process__steps{grid-template-columns:repeat(2,1fr);gap:var(--sp-8)}}
@media (min-width:1024px){
  .process__steps{grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}
  /* horizontal connecting line behind the step numbers */
  .process__steps::before{
    content:"";position:absolute;left:0;right:0;top:30px;height:2px;z-index:0;
    background:linear-gradient(90deg, transparent 0, var(--slate-600) 6%, var(--slate-600) 94%, transparent 100%);
  }
}

.step{position:relative;z-index:1;display:flex;flex-direction:column}
.step__head{display:flex;align-items:center;gap:14px;margin-bottom:var(--sp-6)}
@media (min-width:1024px){.step__head{flex-direction:column;align-items:flex-start;gap:var(--sp-6)}}
.step__num{
  width:60px;height:60px;flex:0 0 auto;border-radius:var(--r-full);
  display:grid;place-items:center;
  font-family:var(--font-heading);font-weight:800;font-size:1.375rem;
  color:var(--epoxy-blue);background:var(--carbon);
  border:var(--bw-strong) solid var(--slate-600);
  transition:border-color var(--dur-mid) var(--ease-standard),
             box-shadow var(--dur-mid) var(--ease-standard),
             background var(--dur-mid) var(--ease-standard);
}
.step:hover .step__num{
  border-color:var(--epoxy-blue);box-shadow:var(--glow-accent);
  background:var(--graphite);
}
.step__icon{
  width:40px;height:40px;flex:0 0 auto;border-radius:var(--r-sm);display:grid;place-items:center;
  background:rgba(105,217,255,0.07);border:var(--bw) solid rgba(105,217,255,0.18);color:var(--epoxy-blue);
}
.step__icon svg{width:22px;height:22px}
.step__title{
  font-family:var(--font-heading);font-weight:700;font-size:var(--fs-h4);line-height:1.25;
  letter-spacing:var(--ls-tight);color:var(--ice-white);margin-bottom:var(--sp-3);
}
.step__desc{font-size:0.9375rem;line-height:1.6;color:var(--concrete-200)}

/* small inline CTA under the steps */
.process__foot{
  margin-top:var(--sp-16);display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);text-align:center;
}
.process__foot p{color:var(--concrete-200);font-size:var(--fs-body-l);max-width:46ch}
.process__foot .btn{flex:0 0 auto}

/* ============================================================
   FINAL QUOTE CTA SECTION
   ============================================================ */
.cta-final{
  position:relative;
  background:var(--cha-black);
  border-top:var(--bw) solid var(--slate-800);
  padding:var(--section-y) 0;
  overflow:hidden;
  isolation:isolate;
}
/* layered conversion-band treatment: steel depth wash + dual glow + concrete texture */
.cta-final__bg{
  position:absolute;inset:0;z-index:-3;
  background:
    radial-gradient(120% 140% at 50% 0%, rgba(111,142,216,0.16) 0%, rgba(5,5,5,0) 55%),
    radial-gradient(90% 120% at 50% 120%, rgba(105,217,255,0.12) 0%, rgba(5,5,5,0) 60%),
    var(--cha-black);
}
.cta-final__glow{
  position:absolute;z-index:-2;pointer-events:none;
  width:70vw;height:70vw;max-width:860px;max-height:860px;
  left:50%;top:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(105,217,255,0.10) 0%, rgba(111,142,216,0.05) 42%, transparent 68%);
  filter:blur(12px);
}
.cta-final__texture{
  position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:0.05;mix-blend-mode:screen;
  background-image:
    repeating-linear-gradient(118deg, transparent 0 40px, rgba(168,221,228,0.5) 40px 41px),
    repeating-linear-gradient(62deg, transparent 0 70px, rgba(168,221,228,0.35) 70px 71px),
    repeating-linear-gradient(2deg, transparent 0 96px, rgba(168,221,228,0.22) 96px 97px);
  -webkit-mask-image:radial-gradient(ellipse at 50% 50%, black 0%, transparent 75%);
  mask-image:radial-gradient(ellipse at 50% 50%, black 0%, transparent 75%);
}
.cta-final__inner{
  max-width:880px;margin:0 auto;padding:0 var(--gutter);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.cta-final__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:var(--fs-overline);font-weight:600;letter-spacing:var(--ls-overline);text-transform:uppercase;
  color:var(--epoxy-blue);margin-bottom:var(--sp-6);
}
.cta-final__eyebrow::before,.cta-final__eyebrow::after{content:"";width:28px;height:1.5px;background:var(--epoxy-blue);display:inline-block}
.cta-final__title{
  font-family:var(--font-heading);font-weight:800;font-size:var(--fs-h1);line-height:1.08;
  letter-spacing:var(--ls-tight);color:var(--ice-white);margin-bottom:var(--sp-6);text-wrap:balance;
}
.cta-final__lead{
  font-size:var(--fs-body-l);line-height:1.6;color:var(--concrete-200);max-width:58ch;margin-bottom:var(--sp-8);
}
.cta-final__actions{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center;justify-content:center}

/* prominent phone display */
.cta-final__phone{
  display:inline-flex;align-items:center;gap:12px;margin-top:var(--sp-8);
  color:var(--ice-white);transition:color var(--dur-fast) var(--ease-standard);
}
.cta-final__phone:hover{color:var(--epoxy-blue)}
.cta-final__phone-icon{
  width:46px;height:46px;flex:0 0 auto;border-radius:var(--r-full);display:grid;place-items:center;
  background:rgba(105,217,255,0.08);border:var(--bw) solid rgba(105,217,255,0.22);color:var(--epoxy-blue);
}
.cta-final__phone-icon svg{width:22px;height:22px}
.cta-final__phone-col{display:flex;flex-direction:column;text-align:left;line-height:1.15}
.cta-final__phone-label{font-size:0.6875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--concrete-400);font-weight:600}
.cta-final__phone-num{font-family:var(--font-heading);font-weight:800;font-size:1.5rem;letter-spacing:var(--ls-tight)}

/* trust row */
.cta-final__trust{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:var(--sp-3) var(--sp-6);
  margin-top:var(--sp-12);padding-top:var(--sp-8);
  border-top:var(--bw) solid var(--slate-800);
  width:100%;max-width:760px;
}
.cta-final__trust-item{
  display:inline-flex;align-items:center;gap:8px;
  font-size:0.875rem;font-weight:600;color:var(--mist);
}
.cta-final__trust-item svg{width:17px;height:17px;color:var(--epoxy-blue);flex:0 0 auto}

/* ============================================================
   SITE FOOTER
   ============================================================ */
.site-footer{
  position:relative;
  background:var(--cha-black);
  border-top:var(--bw) solid var(--slate-800);
  overflow:hidden;
  isolation:isolate;
}
.site-footer__texture{
  position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0.04;mix-blend-mode:screen;
  background-image:
    repeating-linear-gradient(116deg, transparent 0 42px, rgba(168,221,228,0.5) 42px 43px),
    repeating-linear-gradient(60deg, transparent 0 72px, rgba(168,221,228,0.32) 72px 73px),
    repeating-linear-gradient(4deg, transparent 0 100px, rgba(168,221,228,0.2) 100px 101px);
  -webkit-mask-image:radial-gradient(ellipse at 20% 0%, black 0%, transparent 70%);
  mask-image:radial-gradient(ellipse at 20% 0%, black 0%, transparent 70%);
}
.footer__inner{max-width:var(--container);margin:0 auto;padding:var(--sp-24) var(--gutter) var(--sp-12)}

/* main grid: 4 columns on desktop */
.footer__grid{
  display:grid;grid-template-columns:1fr;gap:var(--sp-12);
}
@media (min-width:640px){.footer__grid{grid-template-columns:1fr 1fr;gap:var(--sp-12) var(--sp-8)}}
@media (min-width:1024px){
  .footer__grid{grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:var(--sp-16);align-items:start}
}

/* brand column */
.footer__brand .logo{margin-bottom:var(--sp-6)}
.footer__brand .logo__mark{width:44px;height:44px}
/* Footer brand lockup: inherit the header's brand treatment (framed mark,
   epoxy-blue brand bar, refined descriptor) but pin to the footer's existing
   scale. The descriptor stays visible on mobile (small/premium) so the footer
   brand block reads complete. */
.footer__brand .logo--brand .logo__mark{width:44px;height:44px}
.footer__brand .logo--brand .logo__name{font-size:1.25rem}
@media (max-width:1024px){
  .footer__brand .logo--brand .logo__mark{width:44px;height:44px}
  .footer__brand .logo--brand .logo__name{font-size:1.125rem}
  .footer__brand .logo--brand .logo__name::after{display:none}
  .footer__brand .logo--brand .logo__tag{display:block;font-size:0.5625rem;letter-spacing:0.16em;color:var(--concrete-200);white-space:normal}
}
.footer__desc{
  font-size:0.9375rem;line-height:1.65;color:var(--concrete-200);
  max-width:38ch;margin-bottom:var(--sp-6);
}
.footer__contact{display:flex;flex-direction:column;gap:var(--sp-3)}
.footer__contact-item{display:inline-flex;align-items:flex-start;gap:10px;font-size:0.9375rem;color:var(--mist)}
.footer__contact-item svg{width:18px;height:18px;color:var(--epoxy-blue);flex:0 0 auto;margin-top:2px}
.footer__phone{font-family:var(--font-heading);font-weight:800;font-size:1.25rem;letter-spacing:var(--ls-tight);color:var(--ice-white);transition:color var(--dur-fast) var(--ease-standard)}
.footer__phone:hover{color:var(--epoxy-blue)}
.footer__contact-item span{line-height:1.4}

/* link columns */
.footer__col-title{
  font-size:var(--fs-overline);font-weight:600;letter-spacing:var(--ls-overline);text-transform:uppercase;
  color:var(--ice-white);margin-bottom:var(--sp-6);
}
.footer__links{display:flex;flex-direction:column;gap:var(--sp-3)}
.footer__link{
  display:inline-flex;align-items:center;width:fit-content;
  font-size:0.9375rem;color:var(--concrete-200);
  transition:color var(--dur-fast) var(--ease-standard),padding-left var(--dur-fast) var(--ease-standard);
}
.footer__link::before{
  content:"";width:0;height:1.5px;background:var(--epoxy-blue);margin-right:0;
  transition:width var(--dur-fast) var(--ease-standard),margin-right var(--dur-fast) var(--ease-standard);
}
.footer__link:hover{color:var(--ice-white)}
.footer__link:hover::before{width:14px;margin-right:8px}

/* CTA column */
.footer__cta{
  background:var(--carbon);border:var(--bw) solid var(--slate-800);border-radius:var(--r-md);
  padding:var(--sp-8);
}
.footer__cta-title{
  font-family:var(--font-heading);font-weight:700;font-size:var(--fs-h4);line-height:1.25;
  letter-spacing:var(--ls-tight);color:var(--ice-white);margin-bottom:var(--sp-2);
}
.footer__cta-text{font-size:0.875rem;line-height:1.6;color:var(--concrete-200);margin-bottom:var(--sp-6)}
.footer__cta .btn{width:100%;margin-bottom:var(--sp-3)}
.footer__cta .btn:last-child{margin-bottom:0}

/* bottom bar */
.footer__bottom{
  border-top:var(--bw) solid var(--slate-800);
  margin-top:var(--sp-16);padding-top:var(--sp-6);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);
}
.footer__copy{font-size:var(--fs-body-s);color:var(--concrete-400)}
.footer__legal{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-6)}
.footer__legal a{font-size:var(--fs-body-s);color:var(--concrete-400);transition:color var(--dur-fast) var(--ease-standard)}
.footer__legal a:hover{color:var(--epoxy-blue)}

/* ============================================================ RESPONSIVE ============================================================ */
@media (max-width:1024px){
  .nav-desktop{display:none}
  .header-actions .phone-link,.header-actions .btn{display:none}
  .hamburger{display:inline-flex}
  .site-header{height:var(--header-h-mobile)}
  .site-header.is-scrolled{height:var(--header-h-mobile)}
  .logo__name{font-size:1.125rem}.logo__tag{display:none}
  /* Brand lockup keeps the descriptor on mobile (the trust signal) but tightens it */
  .logo--brand .logo__mark{width:48px;height:48px}
  .logo--brand .logo__name{font-size:1.2rem}
  .logo--brand .logo__name::after{display:none}
  .logo--brand .logo__tag{display:block;letter-spacing:0.16em;font-size:0.5625rem}
  .mobile-bar{display:flex}
  .hero{padding-top:calc(var(--header-h-mobile) + var(--sp-8));
    padding-bottom:calc(var(--sp-16) + 88px); /* room for sticky bar + breathing space */
    min-height:auto}
  .hero__media{background-position:center 30%}
  .hero__trust{grid-template-columns:repeat(2,1fr);gap:var(--sp-4) var(--sp-2);max-width:none}
  .hero__scroll{display:none}
}
@media (min-width:1025px){.mobile-menu{display:none}}
@media (max-width:520px){
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{width:100%}
  .hero__phone-note{justify-content:center;margin-top:4px}
  .hero__trust{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0.01ms !important;animation-duration:0.01ms !important;animation-iteration-count:1 !important}
  .reveal{opacity:1;transform:none}
  .hero__media{transform:none}
}

/* ============================================================ SOCIAL LINKS
   Instagram / Facebook — inline SVG icons, no third-party scripts or embeds
   ============================================================ */
.social-links{display:flex;align-items:center;gap:var(--sp-3)}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:var(--r-full);border:var(--bw) solid var(--border);color:var(--text);
  transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),
    background var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}
.social-link:hover{color:var(--text-strong);border-color:var(--accent);background:rgba(105,217,255,0.06);transform:translateY(-1px)}
.social-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.social-link svg{width:18px;height:18px;display:block}
.social-cta{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}
.social-cta__label{font-size:var(--fs-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--text-muted);font-weight:600}
.footer__social{margin-top:var(--sp-6)}
