/* ==========================================================
   Brothers Electrical Hub — stylesheet
   Design language: Solar EPC premium.
   Warm gold/amber primary over a deep navy secondary, a cool
   off-white canvas, soft oversized radii, gentle elevation
   (shadows instead of hairlines) and an italic serif accent
   for headline highlights. Cards carry the page; colour marks
   what matters (gold = action, navy = depth, red = emergency).
   ========================================================== */

:root{
  --bg:#FBFCFE; --surface:#F3F6FA; --card:#FFFFFF; --ink:#0B1220; --muted:#5B6472;
  --hair:#E3E7EE; --rule:#E3E7EE;
  --accent:#E39A2E; --accent-2:#F2BE6B; --accent-soft:#FDF1DD; --accent-ink:#3A2405;
  --on-accent:#1A1102;
  --secondary:#1B4E96; --secondary-soft:#E7EEFA;
  --alert:#D4342B; --alert-soft:#FBEAE8; --ok:#17824F; --ok-soft:#E6F5ED;
  --scene-panel:#DCE3EE;
  --gap:clamp(1rem,2vw,1.75rem);
  --header-h:4.5rem;
  --font:'Inter','Geist','Helvetica Neue',Helvetica,Arial,'Noto Sans Devanagari',sans-serif;
  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --radius-xs:.6rem;
  --radius-sm:.9rem;
  --radius-md:1.25rem;
  --radius-lg:1.75rem;
  --radius-xl:2.25rem;
  --radius-full:999px;
  --shadow-sm:0 1px 2px rgba(11,18,32,.05),0 1px 1px rgba(11,18,32,.04);
  --shadow-md:0 16px 40px -18px rgba(11,18,32,.28),0 2px 8px -2px rgba(11,18,32,.06);
  --shadow-lg:0 32px 80px -24px rgba(11,18,32,.32),0 4px 14px -4px rgba(11,18,32,.08);
  color-scheme:light;
  box-sizing:border-box;
}

/* Scoped palettes: an ink block and an accent block re-map the same tokens,
   so every component inside them just works. */
.deep{--bg:#0B1220;--surface:#111C30;--card:#132038;--ink:#EAF0FA;--muted:#93A2C0;--hair:#22314F;--rule:#22314F;--accent:#E8A94A;--accent-soft:rgba(232,169,74,.14);--accent-ink:#FBE3B7;--alert:#FF7A66;background:var(--bg);color:var(--ink)}
.cta{--bg:#E39A2E;--surface:#EFAE4C;--card:#fff;--ink:#1A1102;--muted:#3A2405;--hair:rgba(26,17,2,.18);--rule:rgba(26,17,2,.25);--accent-soft:rgba(26,17,2,.1);--accent-ink:#1A1102;--alert:#7A1200;background:linear-gradient(135deg,#E9A73B,#DC8F22);color:#1A1102}

*,*::before,*::after{box-sizing:inherit;corner-shape:squircle}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + .5rem)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1.0625rem;font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
h1,h2,h3{margin:0 0 .5em;font-weight:600;line-height:1.05;letter-spacing:-.03em;text-wrap:balance}
h1,h2{font-family:var(--font-display);font-weight:460;letter-spacing:-.015em;font-variation-settings:"opsz" 40,"SOFT" 25,"WONK" 0}
h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1}
h2{font-size:clamp(1.9rem,3.6vw,3.1rem)}
h3{font-size:1.25rem;line-height:1.2;letter-spacing:-.015em}
p{margin:0 0 1rem;max-width:64ch;text-wrap:pretty}
a{color:inherit}
ul,ol{margin:0;padding:0}
mark{background:none;color:var(--accent);font-family:var(--font-display);font-style:italic;font-weight:400;padding:0}
strong{font-weight:600}
.lead{font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.4;letter-spacing:-.01em}
.muted{color:var(--muted)}
.small{font-size:.9rem}
address{font-style:normal}

:focus-visible{outline:3px solid var(--secondary);outline-offset:3px}
.cta :focus-visible,.deep :focus-visible{outline-color:currentColor}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0}
[tabindex="-1"]:focus{outline:none}

.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:1rem;top:-5rem;z-index:100;padding:.8rem 1.1rem;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-weight:600;transition:top .15s}
.skip:focus{top:1rem}

.wrap{width:min(1320px,100% - 2*var(--gap));margin-inline:auto}
.section{padding-block:clamp(3.25rem,7vw,6.5rem)}
.section--flush{padding-top:clamp(1.25rem,3vw,2.25rem)}
.deep.section{border-top:0}

/* Label gutter: label sits in columns 1-3, content starts at column 4. */
.section__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:1.1rem;margin-bottom:clamp(2rem,4.5vw,4rem)}
.section__head>.label{grid-column:1/4;grid-row:1;margin:.5em 0 0}
.section__head>h2{grid-column:4/-1;grid-row:1;max-width:20ch;margin:0}
.section__head>p{grid-column:4/11;grid-row:2;margin:0;color:var(--muted);font-size:1.15rem;line-height:1.45}
.section__head--row>h2{grid-column:4/10}
.section__head--row>.btn{grid-column:10/-1;grid-row:1;align-self:end;justify-self:end}
.indent{margin-left:calc(25% + var(--gap)/4)}

.label{display:inline-flex;align-self:start;align-items:center;grid-row:1;margin:0 0 1.2rem;padding:.4rem .9rem;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-ink);font-size:.75rem;font-weight:600;line-height:1.3;letter-spacing:.09em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.deep .label{background:var(--accent-soft);color:var(--accent-ink)}
.cta .label{background:var(--accent-soft);color:var(--accent-ink)}

.ic{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:2.75;stroke-linecap:round;stroke-linejoin:round}
.ic--flip{transform:scaleX(-1)}

/* ---------- Buttons: soft-rounded, elevated, lift on hover ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.25rem;padding:.85rem 1.6rem;border:1.5px solid var(--hair);border-radius:var(--radius-md);background:var(--card);color:var(--ink);font:600 1rem/1.1 var(--font);letter-spacing:-.005em;text-decoration:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color .15s,color .15s,border-color .15s,box-shadow .2s,transform .2s}
.btn:hover{border-color:var(--secondary);color:var(--secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--primary{background:linear-gradient(135deg,var(--accent-2),var(--accent));border-color:transparent;color:var(--on-accent);box-shadow:0 10px 26px -10px rgba(227,154,46,.55),var(--shadow-sm)}
.btn--primary:hover{background:linear-gradient(135deg,var(--accent),#D3861D);border-color:transparent;color:var(--on-accent);box-shadow:0 16px 34px -12px rgba(227,154,46,.65)}
.btn--sm{min-height:2.6rem;padding:.55rem 1.1rem;font-size:.9375rem;border-radius:var(--radius-sm)}
.btn--block{width:100%;min-height:3.6rem;font-size:1.0625rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-block:1.5rem}
.icon-btn{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1.5px solid var(--hair);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm)}
.icon-btn:hover{border-color:var(--secondary);color:var(--secondary)}
.text-link{font-weight:600;text-decoration:none}
.text-link:hover{color:var(--secondary)}

/* Buttons on ink: paper outline, still lift. */
.deep .btn{background:var(--card);border-color:var(--hair);color:var(--ink)}
.deep .btn:hover{border-color:var(--accent);color:var(--accent)}
.deep .btn--primary{border-color:transparent;color:var(--on-accent)}
/* Buttons on the gold slab: solid ink primary, outlined secondary. */
.cta .btn{background:rgba(26,17,2,.06);border-color:rgba(26,17,2,.28);color:#1A1102;box-shadow:none}
.cta .btn:hover{background:#1A1102;border-color:#1A1102;color:var(--accent)}
.cta .btn--primary{background:#1A1102;border-color:#1A1102;color:var(--accent);box-shadow:var(--shadow-md)}
.cta .btn--primary:hover{background:#000;color:var(--accent-2)}

/* ---------- Header: frosted glass, deepens once the page scrolls ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--bg) 58%,transparent);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 35%,transparent);
  transition:background-color .25s,border-color .25s,box-shadow .25s;
}
.site-header.is-scrolled{
  background:color-mix(in srgb,var(--bg) 78%,transparent);
  border-bottom-color:color-mix(in srgb,var(--ink) 12%,transparent);
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 35%,transparent),var(--shadow-sm);
}
.header__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header-h)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}
.brand__mark{width:2.5rem;height:2.5rem;flex:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}
.brand__txt{display:flex;flex-direction:column;line-height:1.1}
.brand__txt strong{font-size:1.0625rem;font-weight:700;letter-spacing:-.02em}
.brand__txt span{font-size:.8rem;color:var(--muted)}
.site-header .brand__txt span{display:none}
.nav{display:flex;align-items:center;gap:.15rem}
.nav__link{position:relative;display:inline-flex;align-items:center;padding:.6rem .95rem;border-radius:var(--radius-full);color:var(--muted);text-decoration:none;font-size:.9375rem;font-weight:500;letter-spacing:-.005em;transition:background-color .15s,color .15s}
.nav__link:hover{color:var(--ink);background:var(--surface)}
.nav__link[aria-current="page"]{color:var(--accent-ink);background:var(--accent-soft);font-weight:600}
.nav__link[aria-current="page"]::after{display:none}
.nav__call{margin-left:.8rem}
.nav__num+.nav__now,.nav__now{display:none}
.nav__item{position:relative;display:flex;align-items:center}
.nav__caret{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-left:-.3rem;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;transition:background-color .15s,color .15s}
.nav__caret:hover{color:var(--ink);background:var(--surface)}
.nav__caret .ic{width:.8em;height:.8em;transform:rotate(90deg);transition:transform .2s}
.nav__item.is-open .nav__caret .ic{transform:rotate(-90deg)}
.nav__drop{position:absolute;top:100%;left:0;z-index:20;display:none;flex-direction:column;min-width:14rem;margin:.4rem 0 0;padding:.5rem;list-style:none;border-radius:var(--radius-md);background:var(--card);border:1px solid var(--hair);box-shadow:var(--shadow-lg)}
.nav__item.is-open .nav__drop{display:flex}
.nav__drop a{display:block;padding:.6rem .75rem;border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:500}
.nav__drop a:hover{background:var(--surface);color:var(--accent-ink)}
.nav__drop a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-ink)}
@media (hover:hover){
  .nav__item:hover .nav__drop{display:flex}
}
.header__tel,.menu-btn{display:none;width:2.75rem;height:2.75rem;place-items:center;border:1.5px solid var(--hair);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);cursor:pointer;text-decoration:none;box-shadow:var(--shadow-sm)}
.header__tel{background:linear-gradient(135deg,var(--accent-2),var(--accent));border-color:transparent;color:var(--on-accent)}

/* ---------- Status ---------- */
.status{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1.6rem;padding:.5rem 1rem .5rem .7rem;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--hair);font-size:.875rem;font-weight:500;color:var(--muted)}
.status--inline{margin:0;padding:0;background:none;border:0}
.dot{display:inline-block;width:.55rem;height:.55rem;flex:none;border-radius:50%;background:var(--muted)}
.dot.is-open{background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}

/* ---------- Hero / page-head: contained split banner ---------- */
.hero,.page-head{position:relative;isolation:isolate;overflow:clip;padding-block:clamp(2.25rem,5vw,3.5rem);min-height:calc(100svh - var(--header-h));display:flex;flex-direction:column;justify-content:center}
.hero::before,.page-head::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(46rem 26rem at 8% -12%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 62%),
    radial-gradient(40rem 24rem at 102% 6%,color-mix(in srgb,var(--secondary) 16%,transparent),transparent 65%);
}
.hero__in,.page-head__in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.hero__content,.page-head__content{max-width:34rem}
.hero h1,.page-head h1{margin-bottom:.4em;font-weight:420;letter-spacing:-.015em;font-variation-settings:"opsz" 144,"SOFT" 45,"WONK" 1}
.hero h1,.page-head h1{font-size:clamp(2.4rem,5.4vw,4.4rem)}
.hero h1 mark,.page-head h1 mark{font-size:1.02em}
.hero .lead,.page-head .lead{margin-bottom:1.75rem}
/* Staggered title-sequence reveal */
@keyframes heroRise{from{opacity:0;transform:translateY(1.1rem)}to{opacity:1;transform:translateY(0)}}
.hero__content>*,.page-head__content>*{animation:heroRise .8s cubic-bezier(.16,1,.3,1) both}
.hero__content>*:nth-child(1),.page-head__content>*:nth-child(1){animation-delay:.05s}
.hero__content>*:nth-child(2),.page-head__content>*:nth-child(2){animation-delay:.13s}
.hero__content>*:nth-child(3),.page-head__content>*:nth-child(3){animation-delay:.21s}
.hero__content>*:nth-child(4),.page-head__content>*:nth-child(4){animation-delay:.29s}
.hero__content>*:nth-child(5),.page-head__content>*:nth-child(5){animation-delay:.37s}
@keyframes frameIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
.hero__frame,.page-head__frame{animation:frameIn .9s cubic-bezier(.16,1,.3,1) .1s both}
.hero__frame,.page-head__frame{
  position:relative;margin:0;border-radius:var(--radius-xl);overflow:clip;
  aspect-ratio:4/5;background:var(--surface);border:1px solid var(--hair);box-shadow:var(--shadow-lg);
}
.hero__frame img,.page-head__frame img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.hero__frame:hover img,.page-head__frame:hover img{transform:scale(1.1)}
.hero__badge{
  position:absolute;left:1.1rem;right:1.1rem;bottom:1.1rem;margin:0;z-index:1;
  display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;
  border-radius:var(--radius-lg);background:color-mix(in srgb,var(--card) 78%,transparent);
  backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:var(--shadow-md);
  font-size:.875rem;color:var(--muted)
}
.hero__badge strong{color:var(--ink);font-size:1.05rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-block:0 1.5rem}
.hero__call{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:1rem;padding:1.15rem 1.4rem 1.3rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--accent-2),var(--accent));color:var(--on-accent);text-decoration:none;box-shadow:0 20px 44px -18px rgba(227,154,46,.55);transition:box-shadow .2s,transform .2s}
.hero__call::after{content:"→";grid-column:2;grid-row:1/3;font-size:2rem;font-weight:500;line-height:1;transition:transform .15s}
.hero__call:hover{box-shadow:0 26px 54px -16px rgba(227,154,46,.65);transform:translateY(-2px)}
.hero__call:hover::after{transform:translateX(.3rem)}
.hero__call span{font-size:.875rem;font-weight:500}
.hero__call strong{display:block;margin-top:.15rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.hero .btn-row{margin-block:.75rem 1.5rem}
.rating{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem;margin:0;font-size:.9375rem;color:var(--muted)}
.rating strong{color:var(--ink)}
.stars{letter-spacing:.08em;color:var(--accent)}

/* ---------- Facts band: soft stat tiles ---------- */
.facts-band{padding-block:.5rem}
.facts{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.facts li{padding:1.4rem 1.5rem 1.5rem;border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--hair);box-shadow:var(--shadow-sm)}
.facts strong{display:block;margin-bottom:.25rem;font-size:1.125rem;font-weight:700;letter-spacing:-.015em}
.facts span{display:block;color:var(--muted);font-size:.9rem;line-height:1.4}

/* ---------- Service cards: bento grid ---------- */
.svc-list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:var(--gap)}
.svc-list>li{display:flex;min-width:0}
/* First card leads as a big feature tile; the last two close the grid as a full-width pair. */
.svc-list>li:nth-child(1){grid-column:span 2}
.svc-list:has(.svc-row--photo)>li:nth-child(1){grid-row:span 2}
.svc-list>li:nth-child(6){grid-column:span 2}
.svc-list>li:nth-child(7){grid-column:1/-1}
.svc-list>li:nth-child(1) .svc-row h3{font-size:clamp(1.4rem,2.2vw,1.9rem)}
.svc-list>li:nth-child(1) .svc-row p{font-size:1.0625rem}
@media (min-width:640px){
  .svc-list>li:nth-child(7) .svc-row{flex-direction:row;align-items:stretch}
  .svc-list>li:nth-child(7) .svc-row__img{flex:0 0 16rem;aspect-ratio:auto;height:auto}
  .svc-list>li:nth-child(7) .svc-row__body{flex:1;flex-direction:row;align-items:center;gap:1.5rem}
  .svc-list>li:nth-child(7) .svc-row__n{margin-bottom:0}
  .svc-list>li:nth-child(7) .svc-row h3{flex:none;width:14rem}
  .svc-list>li:nth-child(7) .svc-row p{margin:0}
  .svc-list>li:nth-child(7) .svc-row__go{margin-top:0;margin-left:auto}
}
.svc-row{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--hair);background:var(--card);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s,border-color .2s}
.svc-row:hover,.svc-row:focus-visible{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 55%,var(--hair))}
.svc-row__body{display:flex;flex-direction:column;flex:1;gap:.75rem;padding:clamp(1.5rem,2.4vw,2rem)}
.svc-row__img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--surface)}
.svc-row__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.svc-row:hover .svc-row__img img{transform:scale(1.04)}
.svc-row--photo .svc-row__body{padding-top:1.25rem}
.svc-row__n{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:.25rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-ink);font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums}
.svc-row h3{margin:0;font-size:clamp(1.25rem,1.8vw,1.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.svc-row p{margin:0;flex:1;color:var(--muted);font-size:1rem;line-height:1.5}
.svc-row__go{align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin-top:.5rem;border-radius:50%;background:var(--surface);font-size:1.25rem;line-height:1;transition:background-color .2s,color .2s,transform .15s}
.svc-row:hover .svc-row__go{background:var(--accent);color:var(--on-accent);transform:translateX(.2rem)}
.svc-row--alert{border-color:var(--alert-soft)}
.svc-row--alert .svc-row__n{width:auto;padding:0 .9rem;background:var(--alert-soft);color:var(--alert)}
.svc-row--alert .svc-row__n::after{content:" \00b7 Urgent";white-space:nowrap}
.svc-row--alert:hover{border-color:var(--alert)}

/* ---------- Service cards: normal grid ---------- */
.svc-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.svc-grid>li{display:flex;min-width:0}

/* ---------- Split / prose ---------- */
.split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.prose p{font-size:1.15rem;line-height:1.6}
.promises{list-style:none;counter-reset:p;display:flex;flex-direction:column;gap:.6rem}
.promises li{counter-increment:p;display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.6rem;padding:1.1rem 1.2rem;border-radius:var(--radius-md);background:var(--card);border:1px solid var(--hair);transition:border-color .2s,box-shadow .2s}
.promises li:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--hair));box-shadow:var(--shadow-sm)}
.promises li::before{content:counter(p,decimal-leading-zero);color:var(--accent-ink);font-size:.875rem;font-weight:700;line-height:1.85;font-variant-numeric:tabular-nums}
.promises span{font-size:1.125rem;line-height:1.5}
.promises strong{font-weight:600}

/* ---------- Scenes (illustrations, soft) ---------- */
.scene{display:block;width:100%;height:auto;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}
.tint-y{background:var(--accent-soft)}.tint-b{background:var(--secondary-soft,#E7EEFA)}.tint-g{background:var(--ok-soft)}.tint-r{background:var(--alert-soft)}
.sv-line{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:square;stroke-linejoin:miter}
.sv-thin{stroke-width:2}
.sv-dash{stroke-dasharray:6 7}
.sv-navy{fill:var(--secondary)}
.sv-white{fill:var(--card);stroke:var(--ink);stroke-width:2.5}
.sv-grey{fill:var(--scene-panel);stroke:var(--ink);stroke-width:2.5}
.sv-yel{fill:var(--accent);stroke:var(--ink);stroke-width:2.5}
.sv-red{fill:var(--alert);stroke:var(--ink);stroke-width:2.5}
.sv-grn{fill:var(--ok)}
.sv-red-l,.sv-blk-l,.sv-grn-l,.sv-yel-l{fill:none;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter}
.sv-red-l{stroke:var(--alert)}.sv-blk-l{stroke:var(--ink)}.sv-grn-l{stroke:var(--ok)}.sv-yel-l{stroke:var(--accent);stroke-width:4}
.sv-txt{font:700 30px 'Inter',Arial,sans-serif;fill:var(--accent)}

/* ---------- Steps ---------- */
.steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--gap)}
.steps li{padding:clamp(1.5rem,2.4vw,2rem);border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--hair)}
.step__n{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;margin-bottom:1.5rem;border-radius:50%;background:linear-gradient(135deg,var(--accent-2),var(--accent));color:var(--on-accent);font-size:1.15rem;font-weight:700;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.steps h3{margin-bottom:.6rem;font-size:1.3rem}
.steps p{margin:0;color:var(--muted)}
.deep .steps li{background:var(--card);border-color:var(--hair)}

/* ---------- Reviews ---------- */
.stats{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin:0 0 clamp(2rem,4vw,3.5rem)}
.stats li{padding:1.5rem var(--gap);border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--hair);box-shadow:var(--shadow-sm)}
.stat__n{display:block;font-size:clamp(2.6rem,5.5vw,4.75rem);font-weight:700;line-height:.9;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--secondary)}
.stat__n small{font-size:.3em;font-weight:600;letter-spacing:-.01em;color:var(--muted)}
.stat__l{display:block;margin-top:.8rem;color:var(--muted);font-size:.9rem;line-height:1.4}
.reviews{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gap);align-items:stretch}
.quote{margin:0;padding:clamp(1.4rem,2.4vw,1.85rem);border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--hair);box-shadow:var(--shadow-sm)}
.quote blockquote{margin:0 0 1.25rem;font-size:1.0625rem;line-height:1.5}
.quote figcaption{color:var(--muted);font-size:.875rem}
.quote figcaption strong{color:var(--ink)}
.quote--main{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,var(--accent-2),var(--accent));border-color:transparent;color:var(--on-accent);box-shadow:var(--shadow-md)}
.quote--main blockquote{font-family:var(--font-display);font-style:italic;font-size:clamp(1.4rem,2.4vw,2.1rem);font-weight:400;line-height:1.22;letter-spacing:-.01em}
.quote--main figcaption,.quote--main figcaption strong{color:var(--on-accent)}
.quote-stack{display:grid;gap:var(--gap);align-content:stretch}
.quote-stack .quote{display:flex;flex-direction:column;justify-content:space-between}

/* ---------- Chips ---------- */
.areas{margin-top:clamp(2rem,4vw,3rem)}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.2rem}
.chips li{padding:.45rem .9rem;border:1px solid var(--hair);border-radius:var(--radius-full);background:var(--surface);font-size:.875rem;font-weight:500;line-height:1.2}

/* ---------- FAQ ---------- */
.acc{display:flex;flex-direction:column;gap:.75rem}
.acc details{border:1px solid var(--hair);border-radius:var(--radius-md);background:var(--card);padding:0 1.4rem;transition:border-color .2s,box-shadow .2s}
.acc details[open]{border-color:color-mix(in srgb,var(--accent) 45%,var(--hair));box-shadow:var(--shadow-sm)}
.acc summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:600;line-height:1.25;letter-spacing:-.015em;cursor:pointer;list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--secondary)}
.acc summary .ic{width:1.4rem;height:1.4rem;flex:none;color:var(--accent);transition:transform .15s}
.acc details[open] summary .ic{transform:rotate(45deg)}
.acc details p{margin:0;padding:0 1rem 1.5rem 0;color:var(--muted)}

/* ---------- CTA (gold slab) ---------- */
.cta{position:relative;padding-block:clamp(3.5rem,8vw,7rem);overflow:clip}
.cta::before,.cta::after{content:"";position:absolute;z-index:0;border-radius:50%;filter:blur(60px);pointer-events:none;background:rgba(255,255,255,.35)}
.cta::before{top:-10rem;right:-6rem;width:26rem;height:26rem}
.cta::after{bottom:-14rem;left:-10rem;width:24rem;height:24rem;background:rgba(26,17,2,.12)}
.cta__in{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:2rem;align-items:end}
.cta h2{grid-column:1/8;max-width:15ch;margin:0;font-size:clamp(2.3rem,6vw,5.25rem);line-height:.98;letter-spacing:-.04em}
.cta__side{grid-column:9/-1}
.cta p{margin:0;font-size:1.15rem;line-height:1.4}
.cta .btn-row{margin:1.5rem 0 0}

/* ---------- Plate ---------- */
.plate{margin:0;display:flex;flex-direction:column;gap:.6rem}
.plate div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1rem;padding:.9rem 1.1rem;border-radius:var(--radius-md);background:var(--card);border:1px solid var(--hair)}
.plate dt{color:var(--muted);font-size:.875rem;font-weight:500;line-height:1.7}
.plate dd{margin:0;font-weight:600}

/* ---------- Lists ---------- */
.tick-list,.dot-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.tick-list li,.dot-list li{position:relative;padding:.85rem 0 .85rem 1.6rem;border-bottom:1px solid var(--hair)}
.tick-list li::before{content:"";position:absolute;left:0;top:1.35rem;width:.6rem;height:.6rem;border-radius:2px;background:var(--accent)}
.dot-list li::before{content:"";position:absolute;left:0;top:1.35rem;width:.6rem;height:.6rem;border:1.5px solid var(--secondary);border-radius:50%}

/* ---------- Individual service page ---------- */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem .6rem;margin:0 0 1.1rem;color:var(--muted);font-size:.875rem;font-weight:500}
.crumbs li+li::before{content:"/";margin-right:.6rem}
.crumbs a{text-decoration:none;color:var(--ink)}
.crumbs a:hover{color:var(--secondary);text-decoration:underline}
.crumbs [aria-current]{color:var(--ink)}
.svc-hero .badge{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-bottom:1.5rem;padding:.8rem;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-2),var(--accent));color:var(--on-accent);box-shadow:var(--shadow-sm)}
.svc-hero--alert .badge{background:var(--alert);color:#fff}
.svc-hero .btn-row{margin-bottom:0}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,3rem);align-items:start}
.two-col h3{margin-bottom:1rem}
.note{max-width:none;margin:0;padding:1.25rem 1.4rem;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-ink);font-weight:500;border:1px solid transparent}
.note--alert{background:var(--alert-soft);color:var(--alert)}
.note--block{margin-top:clamp(2rem,4vw,3rem)}
.guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--gap)}
.guide>div{padding:clamp(1.5rem,2.4vw,1.85rem);border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--hair)}
.guide h3{margin-bottom:.7rem;font-size:1.3rem}
.guide p{margin:0;color:var(--muted)}
.other{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.85rem}
.other a{display:flex;align-items:center;gap:.9rem;height:100%;padding:1.1rem 1.25rem;border-radius:var(--radius-md);background:var(--card);border:1px solid var(--hair);color:var(--ink);text-decoration:none;font-size:1.0625rem;font-weight:600;letter-spacing:-.015em;transition:border-color .2s,box-shadow .2s,transform .2s}
.other a:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--hair));box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.other .ic{width:1.5rem;height:1.5rem;color:var(--accent)}
.pager{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:2rem}

/* ---------- Gallery ---------- */
.filters{display:flex;gap:.5rem;overflow-x:auto;padding:0 0 1px;margin-bottom:clamp(1.5rem,3vw,2.5rem);scrollbar-width:thin}
.filters button{flex:none;padding:.6rem 1.1rem;border:1px solid var(--hair);border-radius:var(--radius-full);background:var(--card);color:var(--ink);font:500 .9375rem/1.1 var(--font);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.filters button:hover{border-color:var(--accent)}
.filters button[aria-pressed="true"]{background:linear-gradient(135deg,var(--accent-2),var(--accent));border-color:transparent;color:var(--on-accent)}
/* Bento gallery: fixed-height rows, wide/tall tiles span extra tracks, captions overlay the photo. */
.gallery{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:15rem;grid-auto-flow:dense;gap:var(--gap)}
.tile[hidden]{display:none}
.tile[data-wide]{grid-column:span 2}
.tile[data-tall]{grid-row:span 2}
.tile__btn{position:relative;display:block;width:100%;height:100%;padding:0;border:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}
.tile__btn:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.tile__art{position:absolute;inset:0}
.tile__art .scene,.tile__art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tile__btn:hover .tile__art .scene,.tile__btn:hover .tile__art img{transform:scale(1.05)}
.tile__cap{position:absolute;left:0;right:0;bottom:0;padding:1.1rem 1.2rem;color:#fff;background:linear-gradient(180deg,transparent,rgba(3,5,10,.1) 45%,rgba(3,5,10,.88))}
.tile__cap strong{display:block;margin-bottom:.2rem;font-size:1.0625rem;font-weight:600;letter-spacing:-.015em;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.tile__cap span{color:rgba(255,255,255,.85);font-size:.875rem}
dialog{padding:0;border:0;border-radius:var(--radius-xl);overflow:hidden;width:min(46rem,94vw);background:var(--bg);color:var(--ink);box-shadow:var(--shadow-lg)}
dialog::backdrop{background:rgba(11,18,32,.75)}
.lb__art .scene,.lb__art img{width:100%;display:block}
.lb__meta{padding:1.4rem 1.6rem .4rem}
.lb__meta h2{font-size:1.75rem;margin-bottom:.4rem}
.lb__meta p{margin:0;color:var(--muted)}
.lb__bar{display:flex;gap:.6rem;justify-content:flex-end;padding:1rem 1.6rem 1.6rem}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.channel-list{list-style:none;display:flex;flex-direction:column;gap:.85rem}
.channel-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem;padding:1.4rem 1.5rem;border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--hair);box-shadow:var(--shadow-sm)}
.channel-list>li>.ic{width:2.75rem;height:2.75rem;padding:.65rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-ink)}
.channel-list h2{margin:0 0 .4rem;color:var(--muted);font-size:.875rem;font-weight:500;letter-spacing:0}
.channel-list p{margin:.2rem 0 0}
.big-link{display:inline-block;font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--secondary);text-decoration:none}
.big-link:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:.12em;text-underline-offset:.1em}
/* Front-end "add a photo" tool, shown only to logged-in editors/admins on the Gallery page. */
.beh-admin-add{margin-top:2rem}
.beh-admin-panel{margin-top:1rem;padding:clamp(1.25rem,2.5vw,1.75rem);border-radius:var(--radius-lg);background:var(--surface);border:1.5px dashed var(--secondary)}
.beh-admin-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem}
.beh-admin-row img{width:4rem;height:4rem;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--hair)}
.form-panel{padding:clamp(1.5rem,3vw,2.4rem);border-radius:var(--radius-xl);background:var(--card);border:1px solid var(--hair);box-shadow:var(--shadow-lg)}
.form-panel h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.field{display:grid;gap:.4rem;margin-bottom:1.1rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{font-size:.875rem;font-weight:500;line-height:1.2}
input,select,textarea{width:100%;min-height:3rem;padding:.75rem .95rem;border:1.5px solid var(--hair);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font:400 1rem/1.3 var(--font)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}
input:hover,select:hover,textarea:hover{border-color:var(--secondary)}
input:focus,select:focus,textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--secondary) 18%,transparent)}
input[aria-invalid="true"]{border-color:var(--alert);box-shadow:0 0 0 3px color-mix(in srgb,var(--alert) 15%,transparent)}
.err{margin:0;color:var(--alert);font-size:.875rem;font-weight:500;line-height:1.3}
.form-result{margin-top:1.4rem;padding:1.2rem 1.3rem;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-ink)}
.form-result a{color:var(--secondary);text-decoration:none}
.form-result a:hover{text-decoration:underline;text-underline-offset:.2em}
.form-result .btn{margin-block:.3rem 1.1rem;background:linear-gradient(135deg,var(--accent-2),var(--accent));border-color:transparent;color:var(--on-accent)}
.form-result p{max-width:none}

/* ---------- Footer ---------- */
.site-footer{position:relative;overflow:clip;padding-top:clamp(3rem,6vw,5rem)}
.footer__glow{position:absolute;inset:-15% -10% -20%;z-index:0;pointer-events:none;opacity:.9;filter:blur(70px);
  background:
    radial-gradient(36rem 22rem at 10% 0%,color-mix(in srgb,var(--accent) 32%,transparent),transparent 70%),
    radial-gradient(32rem 24rem at 94% 25%,color-mix(in srgb,var(--secondary) 40%,transparent),transparent 70%)}
.footer__top{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 2rem;padding-bottom:clamp(2.25rem,5vw,3.25rem);margin-bottom:clamp(2.25rem,5vw,3.25rem);border-bottom:1px solid var(--hair)}
.footer__eyebrow{margin:0 0 .7rem;color:var(--accent);font-size:.8125rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.footer__headline{margin:0;max-width:24ch;font-family:var(--font-display);font-weight:460;font-size:clamp(1.8rem,3.6vw,2.85rem);line-height:1.1;letter-spacing:-.02em}
.footer__top .btn{flex:none;background:linear-gradient(135deg,var(--accent-2),var(--accent));border-color:transparent;color:var(--on-accent)}
.footer__top .btn:hover{background:linear-gradient(135deg,var(--accent),#D3861D)}
.footer__grid{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr .9fr 1.4fr;gap:2.5rem var(--gap)}
.footer__grid.glass{padding:clamp(2rem,4vw,2.75rem);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--card) 55%,transparent);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);box-shadow:var(--shadow-lg),inset 0 1px 0 color-mix(in srgb,#fff 10%,transparent);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}
.site-footer h2{margin-bottom:1rem;color:var(--muted);font-size:.8125rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.site-footer ul{list-style:none;display:grid;gap:.6rem;font-size:.9375rem}
.site-footer a{color:var(--ink);text-decoration:none;transition:color .15s}
.site-footer a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2em;text-decoration-color:var(--accent)}
.footer__mega{position:relative;z-index:1;margin:clamp(1.5rem,4vw,3rem) 0 0;padding:0 var(--gap);text-align:center;font-family:var(--font-display);font-weight:560;line-height:.86;letter-spacing:-.03em;color:var(--ink);opacity:.08;font-size:clamp(2rem,7.5vw,7.25rem);white-space:nowrap;user-select:none;pointer-events:none}
.footer__base{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:clamp(1.25rem,3vw,2rem);padding-block:1.25rem;border-top:1px solid var(--hair);color:var(--muted);font-size:.875rem}
.footer__base p{margin:0}
.to-top{padding:.4rem 0;border:0;background:none;color:var(--ink);font:inherit;cursor:pointer}
.to-top:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}

/* ---------- Floating WhatsApp (desktop) ---------- */
.fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:45}
.fab a{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent-2),var(--accent));color:var(--on-accent);box-shadow:var(--shadow-lg);transition:transform .2s,box-shadow .2s}
.fab a:hover{transform:translateY(-3px) scale(1.04)}
.fab .ic{width:1.6rem;height:1.6rem}

.mobile-bar{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .nav__num{display:none}
  .nav__now{display:inline}
  .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .contact-grid,.reviews,.split{grid-template-columns:minmax(0,1fr)}
  .hero__in,.page-head__in{grid-template-columns:minmax(0,1fr)}
  .hero__content,.page-head__content{max-width:none}
  .hero .lead,.page-head .lead{max-width:44ch}
  .hero__frame,.page-head__frame{aspect-ratio:16/11}
  .section__head>.label{grid-column:1/-1;margin-top:0}
  .section__head>h2,.section__head--row>h2{grid-column:1/-1;grid-row:auto;max-width:none}
  .section__head>p{grid-column:1/-1;grid-row:auto}
  .section__head--row>.btn{grid-column:1/-1;grid-row:auto;justify-self:start}
  .indent{margin-left:0}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guide{grid-template-columns:minmax(0,1fr)}
  .other{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta h2,.cta__side{grid-column:1/-1}
  .svc-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-list>li:nth-child(1){grid-column:span 2;grid-row:span 1}
  .svc-list>li:nth-child(6){grid-column:span 1}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:13rem}
}
@media (max-width:900px){
  .menu-btn,.header__tel{display:grid}
  .header__in{gap:.5rem}
  .brand{margin-right:auto}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:.6rem var(--gap) 1rem;background:var(--bg);border-bottom:1px solid var(--hair);display:none}
  .nav.is-open{display:flex}
  .nav__link{padding:1rem .9rem;border-radius:var(--radius-md);color:var(--ink);font-size:1.2rem;font-weight:600;letter-spacing:-.02em}
  .nav__call{display:none}
  .nav__item{flex-wrap:wrap}
  .nav__link{flex:1}
  .nav__caret{width:2.75rem;height:2.75rem}
  .nav__drop{position:static;flex:0 0 100%;width:100%;margin:0 0 .3rem;padding:0 0 0 .9rem;border:0;box-shadow:none;background:none}
  .nav__drop a{padding:.75rem .6rem;font-size:1.05rem;font-weight:500}
  .fab{display:none}
  .mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1.2fr 1fr;gap:.6rem;padding:.6rem var(--gap) calc(.6rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--hair)}
  .site-footer{padding-bottom:5rem}
}
@media (max-width:620px){
  body{font-size:1rem}
  .steps,.stats,.facts{grid-template-columns:minmax(0,1fr)}
  .field-row{grid-template-columns:minmax(0,1fr)}
  .plate div{grid-template-columns:5rem minmax(0,1fr)}
  .footer__grid{grid-template-columns:minmax(0,1fr)}
  .footer__grid.glass{padding:1.5rem;border-radius:var(--radius-lg)}
  .footer__top{align-items:flex-start}
  .footer__cta{width:100%;justify-content:center}
  .other{grid-template-columns:minmax(0,1fr)}
  .two-col{grid-template-columns:minmax(0,1fr)}
  .btn-row .btn{flex:1 1 100%}
  .lb__bar{flex-wrap:wrap}
  .hero__call strong{font-size:clamp(1.7rem,9vw,2.4rem)}
  .svc-list{grid-template-columns:minmax(0,1fr)}
  .svc-list>li:nth-child(1),.svc-list>li:nth-child(6){grid-column:span 1;grid-row:span 1}
  .svc-grid{grid-template-columns:minmax(0,1fr)}
  .gallery{grid-template-columns:minmax(0,1fr);grid-auto-rows:15rem}
  .tile[data-wide],.tile[data-tall]{grid-column:span 1;grid-row:span 1}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation:none !important;scroll-behavior:auto !important}
}
