/* ============================================================
   Soluciones ante la DIAN — Sistema de marca "El Escudo"
   Negro carbón + oro + crema · Spectral + Hanken Grotesk.
   Tema oscuro por defecto + modo día (toggle).
   ============================================================ */

/* ---------- TEMA OSCURO (por defecto) ---------- */
:root{
  --bg:        #121009;   /* negro carbón */
  --bg-2:      #1a1611;
  --surface:   #262119;   /* carbón */
  --surface-2: #2e281e;
  --text:      #F2EDE1;   /* crema */
  --text-soft: #CBC5B8;   /* crema mute */
  --muted:     #8a8170;
  --gold:      #C49A3F;   /* oro autoridad */
  --gold-soft: #DFC07A;   /* oro claro */
  --gold-deep: #a8842f;
  --green:     #46C26B;   /* verde acento (solo CTA/estados) */
  --line:      #322C22;   /* línea */
  --line-soft: #262119;
  --on-gold:   #121009;   /* texto sobre botón dorado */
  --grain-op:  .05;
  --glow-op:   .5;
  --img-filter: grayscale(.12) contrast(1.02) brightness(.97);

  --serif: "Spectral", Georgia, serif;
  --sans:  "Hanken Grotesk", system-ui, sans-serif;
  --mono:  "Hanken Grotesk", system-ui, sans-serif;
  --maxw: 1200px;
  --pad: clamp(1.25rem, 5vw, 5rem);
}

/* ---------- TEMA DÍA ---------- */
[data-theme="light"]{
  --bg:        #F2EDE1;   /* crema */
  --bg-2:      #e9e1d1;
  --surface:   #faf6ec;
  --surface-2: #efe7d7;
  --text:      #1a1611;   /* carbón oscuro */
  --text-soft: #4d463a;
  --muted:     #837a68;
  --gold:      #9a7528;
  --gold-soft: #C49A3F;
  --gold-deep: #7e5f1f;
  --green:     #2fa455;
  --line:      #d8cdb6;
  --line-soft: #e6dcc7;
  --on-gold:   #F2EDE1;
  --grain-op:  .04;
  --glow-op:   .32;
  --img-filter: grayscale(.18) contrast(1.03);
}

*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  transition:background .5s ease, color .5s ease;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
em{font-style:italic}

/* textura grano */
.grain{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:var(--grain-op);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* halo dorado detrás del hero */
.glow{
  position:fixed; top:-25vh; left:50%; transform:translateX(-30%);
  width:90vw; height:80vh; z-index:0; pointer-events:none; opacity:var(--glow-op);
  background:radial-gradient(45% 50% at 50% 50%, color-mix(in srgb, var(--gold) 22%, transparent), transparent 70%);
  filter:blur(40px);
}
body > *:not(.grain):not(.glow):not(.wa-float){position:relative; z-index:2}

/* ---------- NAV ---------- */
.nav{
  display:flex; align-items:center; gap:1.6rem;
  padding:1rem var(--pad);
  position:sticky; top:0; z-index:50;
  background:color-mix(in srgb, var(--bg) 80%, transparent);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:background .5s ease, border-color .5s ease;
}
.nav__brand{display:flex; align-items:center; gap:.7rem}
.brand-shield{display:block; flex-shrink:0}
.nav__brand-txt{font-family:var(--serif); font-weight:600; font-size:1.05rem; line-height:1.05; letter-spacing:-.01em}
.nav__brand-txt em{color:var(--gold); font-size:.82rem; font-weight:500}
.nav__links{display:flex; gap:1.6rem; margin-left:auto}
.nav__links a{font-size:.86rem; font-weight:500; letter-spacing:.02em; color:var(--text-soft); position:relative; padding:.2rem 0; transition:color .25s}
.nav__links a::after{content:""; position:absolute; left:0; bottom:-2px; width:0; height:1.5px; background:var(--gold); transition:width .3s ease}
.nav__links a:hover{color:var(--text)}
.nav__links a:hover::after{width:100%}

.theme-toggle{
  display:grid; place-items:center; width:38px; height:38px; border-radius:50%;
  background:var(--surface); border:1px solid var(--line); color:var(--text);
  cursor:pointer; transition:.25s; flex-shrink:0;
}
.theme-toggle:hover{border-color:var(--gold); color:var(--gold)}
.theme-toggle .i-sun{display:none}
[data-theme="light"] .theme-toggle .i-sun{display:block}
[data-theme="light"] .theme-toggle .i-moon{display:none}

.nav__cta{
  display:inline-flex; align-items:center; gap:.5rem; font-size:.84rem; font-weight:600;
  padding:.55rem 1.1rem; border:1.5px solid var(--text); border-radius:100px; transition:.25s;
}
.nav__cta .dot{width:7px; height:7px; border-radius:50%; background:var(--green); animation:pulse 2s infinite}
.nav__cta:hover{background:var(--text); color:var(--bg)}
.nav__burger{display:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 #25d36699}70%{box-shadow:0 0 0 8px #25d36600}100%{box-shadow:0 0 0 0 #25d36600}}

/* ---------- HERO ---------- */
.hero{padding:clamp(2rem,5vw,4.5rem) var(--pad) 0}
.hero__rule{
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; color:var(--muted);
  padding-bottom:1.4rem; border-bottom:1px solid var(--line);
}
.hero__main{
  display:grid; grid-template-columns:1.5fr .9fr; gap:clamp(2rem,5vw,4rem);
  align-items:center; padding:clamp(2.5rem,6vw,5rem) 0 clamp(2rem,4vw,3rem);
}
.hero__text{min-width:0}
.hero__eyebrow{font-family:var(--mono); text-transform:uppercase; letter-spacing:.14em; font-size:.74rem; color:var(--gold); margin-bottom:1.2rem}
.hero__title{font-family:var(--serif); font-weight:500; font-size:clamp(3rem,9vw,7rem); line-height:.92; letter-spacing:-.025em}
.hero__title span{display:block}
.hero__title em{color:var(--gold); font-style:italic}
.hero__lede{max-width:46ch; margin-top:1.8rem; font-size:clamp(1rem,1.4vw,1.18rem); color:var(--text-soft)}
.hero__lede strong{color:var(--text); font-weight:600}
.hero__actions{display:flex; gap:1rem; margin-top:2rem; flex-wrap:wrap}

.btn{display:inline-flex; align-items:center; justify-content:center; font-family:var(--sans); font-weight:600; font-size:.92rem; padding:.85rem 1.6rem; border-radius:100px; transition:.25s; cursor:pointer; border:1.5px solid transparent}
.btn--solid{background:var(--gold); color:var(--on-gold)}
.btn--solid:hover{background:var(--gold-soft); transform:translateY(-2px)}
.btn--ghost{border-color:var(--text); color:var(--text)}
.btn--ghost:hover{background:var(--text); color:var(--bg)}
.btn--lg{padding:1.05rem 2rem; font-size:1rem; margin-top:2rem}

/* panel premium (reemplaza la foto del hero) */
.hero__panel{
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
  border:1px solid var(--line); border-radius:4px;
  padding:1.8rem 1.6rem; position:relative;
  box-shadow:0 30px 60px -30px #000a, inset 0 1px 0 color-mix(in srgb,var(--gold) 14%, transparent);
}
.hero__panel-tag{font-family:var(--mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold)}
.hero__panel-list{list-style:none; margin:1.4rem 0 0; display:grid; gap:1.1rem}
.hero__panel-list li{display:grid; grid-template-columns:auto 1fr; gap:1rem; padding-bottom:1.1rem; border-bottom:1px solid var(--line-soft)}
.hero__panel-list li:last-child{border-bottom:0; padding-bottom:0}
.hero__panel-list .k{font-family:var(--mono); font-size:.75rem; color:var(--gold); padding-top:.15rem}
.hero__panel-list strong{font-family:var(--serif); font-weight:500; font-size:1.12rem; display:block; letter-spacing:-.01em}
.hero__panel-list p{font-size:.86rem; color:var(--text-soft); margin-top:.2rem}
.hero__panel-cta{display:inline-block; margin-top:1.5rem; font-size:.85rem; font-weight:600; color:var(--gold); border-bottom:1px solid transparent; transition:.25s}
.hero__panel-cta:hover{border-color:var(--gold)}

/* ---------- BANDA DE CIFRAS ---------- */
.stats{max-width:var(--maxw); margin:clamp(1rem,3vw,2rem) auto 0; padding:0 var(--pad)}
.stats__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:4px; overflow:hidden}
.stat{background:var(--surface); padding:1.8rem 1.4rem; display:flex; flex-direction:column; gap:.35rem}
.stat__num{font-family:var(--serif); font-weight:500; font-size:clamp(2rem,4vw,3rem); line-height:1; letter-spacing:-.02em; color:var(--gold); font-variant-numeric:tabular-nums}
.stat__lab{font-size:.85rem; color:var(--text-soft); letter-spacing:.01em}

/* ---------- TICKER ---------- */
.ticker{overflow:hidden; border-top:1px solid var(--gold-deep); border-bottom:1px solid var(--gold-deep); background:color-mix(in srgb,var(--gold) 12%, var(--bg)); padding:.8rem 0; margin-top:clamp(2rem,5vw,3.5rem); white-space:nowrap}
.ticker__track{display:inline-flex; align-items:center; gap:1.5rem; animation:scroll 34s linear infinite}
.ticker__track span{font-family:var(--serif); font-style:italic; font-size:1.4rem; color:var(--text)}
.ticker__track .sep{color:var(--gold); font-style:normal; font-size:1rem}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- CABECERAS ---------- */
.sec-head{max-width:var(--maxw); margin-inline:auto; margin-bottom:clamp(2rem,4vw,3.5rem)}
.sec-head--center{text-align:center}
.sec-num{font-family:var(--mono); font-size:.8rem; letter-spacing:.1em; color:var(--gold)}
.sec-title{font-family:var(--serif); font-weight:500; font-size:clamp(2rem,5vw,3.4rem); letter-spacing:-.02em; line-height:1; margin-top:.4rem}
.sec-sub{max-width:52ch; margin-top:1rem; color:var(--text-soft); font-size:1.05rem}
.sec-head--center .sec-sub{margin-inline:auto}

/* ---------- SERVICIOS ---------- */
.services{padding:clamp(3.5rem,7vw,6rem) var(--pad)}
.svc-list{max-width:var(--maxw); margin-inline:auto; list-style:none; border-top:1px solid var(--line)}
.svc{display:grid; grid-template-columns:5rem 1fr 1.4fr; gap:1.5rem; align-items:baseline; padding:1.8rem .5rem; border-bottom:1px solid var(--line); transition:background .3s, padding .3s}
.svc__idx{font-family:var(--mono); font-size:.85rem; color:var(--gold)}
.svc__name{font-family:var(--serif); font-weight:500; font-size:clamp(1.3rem,2.4vw,1.85rem); letter-spacing:-.01em; line-height:1.1}
.svc__desc{color:var(--text-soft); font-size:.98rem; max-width:48ch}
.svc:hover{background:var(--surface); padding-left:1.25rem; padding-right:1.25rem}
.svc:hover .svc__name{color:var(--gold)}

/* ---------- PROCESO ---------- */
.process{padding:clamp(3.5rem,7vw,6rem) var(--pad)}
.steps{max-width:var(--maxw); margin-inline:auto; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem}
.step{border-top:2px solid var(--gold); padding-top:1.3rem}
.step__k{font-family:var(--mono); font-size:.8rem; color:var(--gold)}
.step h3{font-family:var(--serif); font-weight:500; font-size:1.4rem; margin:.5rem 0 .6rem; letter-spacing:-.01em}
.step p{font-size:.92rem; color:var(--text-soft)}

/* ---------- TESTIMONIOS ---------- */
.quotes{padding:clamp(3.5rem,7vw,6rem) var(--pad); background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.quotes__grid{max-width:var(--maxw); margin-inline:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem}
.quote{background:var(--surface); border:1px solid var(--line); border-radius:4px; padding:1.8rem 1.6rem; display:flex; flex-direction:column; gap:1.3rem; box-shadow:0 24px 50px -34px #000a}
.quote blockquote{font-family:var(--serif); font-size:1.18rem; line-height:1.4; letter-spacing:-.01em}
.quote figcaption{display:flex; flex-direction:column; gap:.15rem; padding-top:1.1rem; border-top:1px solid var(--line); margin-top:auto}
.quote__name{font-weight:600; font-size:.95rem}
.quote__role{font-size:.8rem; color:var(--muted)}
.quotes__note{max-width:var(--maxw); margin:1.5rem auto 0; font-family:var(--mono); font-size:.72rem; color:var(--muted); text-align:center; opacity:.7}

/* ---------- EQUIPO / HUB ---------- */
.team{padding:clamp(3.5rem,7vw,6rem) var(--pad); background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.team__grid{max-width:var(--maxw); margin-inline:auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,5vw,4rem); align-items:start}

.lead-card{background:var(--surface); border:1px solid var(--line); border-radius:4px; overflow:hidden; box-shadow:0 30px 60px -30px #000a}
.lead-card__photo{aspect-ratio:4/5; overflow:hidden}
.lead-card__photo img{width:100%; height:100%; object-fit:cover; object-position:top center; filter:var(--img-filter)}
.lead-card__body{padding:1.5rem}
.lead-card__tag{font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold)}
.lead-card__name{font-family:var(--serif); font-weight:600; font-size:1.5rem; letter-spacing:-.01em; margin-top:.6rem; line-height:1.1}
.lead-card__role{font-size:.9rem; color:var(--text-soft); margin-top:.2rem}
.lead-card__bio{font-size:.95rem; color:var(--text-soft); margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line)}
.lead-card__bio strong{color:var(--text); font-weight:600}
.lead-card__cred{font-family:var(--mono); font-size:.72rem; line-height:1.5; color:var(--gold); margin-top:1rem; letter-spacing:.02em}

.pillars__intro{font-family:var(--serif); font-size:clamp(1.3rem,2.4vw,1.8rem); line-height:1.3; margin-bottom:1.8rem}
.pillars__list{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line)}
.pillar{background:var(--bg-2); padding:1.5rem 1.3rem; transition:background .3s}
.pillar:hover{background:var(--surface)}
.pillar__k{font-family:var(--serif); font-style:italic; font-size:1.25rem; color:var(--gold)}
.pillar p{font-size:.88rem; color:var(--text-soft); margin-top:.5rem}

.mv{max-width:var(--maxw); margin:clamp(2.5rem,5vw,4rem) auto 0; display:grid; grid-template-columns:1fr 1fr; gap:2rem}
.mv__item{border-left:2px solid var(--gold); padding-left:1.3rem}
.mv__k{font-family:var(--mono); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; color:var(--gold); display:block; margin-bottom:.5rem}
.mv__item p{color:var(--text-soft)}

/* ---------- SECTORES ---------- */
.sectors{padding:clamp(2.5rem,5vw,4rem) var(--pad); border-top:1px solid var(--line)}
.sectors__inner{max-width:var(--maxw); margin-inline:auto; display:flex; align-items:center; gap:2rem; flex-wrap:wrap}
.sectors__lab{font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); flex-shrink:0}
.sectors__tags{list-style:none; display:flex; flex-wrap:wrap; gap:.7rem; margin-left:auto}
.sectors__tags li{font-family:var(--serif); font-style:italic; font-size:1.05rem; padding:.5rem 1.2rem; border:1px solid var(--line); border-radius:100px; transition:.25s}
.sectors__tags li:hover{border-color:var(--gold); color:var(--gold)}

/* ---------- COBERTURA ---------- */
.cover{padding:clamp(3.5rem,7vw,6rem) var(--pad)}
.cover__list{max-width:var(--maxw); margin-inline:auto; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line)}
.cover__list li{background:var(--bg); padding:1.5rem 1.2rem; text-align:center; font-family:var(--serif); font-style:italic; font-size:clamp(1rem,1.8vw,1.35rem); transition:.3s}
.cover__list li:hover{background:var(--gold); color:var(--on-gold)}
.cover__list li:last-child{color:var(--gold)}
.cover__list li:last-child:hover{color:var(--on-gold)}

/* ---------- FAQ ---------- */
.faq{padding:clamp(3.5rem,7vw,6rem) var(--pad); background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.faq__list{max-width:860px; margin-inline:auto; border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{list-style:none; cursor:pointer; padding:1.4rem .3rem; display:flex; align-items:center; gap:1rem; font-family:var(--serif); font-weight:500; font-size:clamp(1.1rem,2vw,1.4rem); letter-spacing:-.01em; transition:color .25s}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::before{content:"+"; font-family:var(--mono); font-size:1.3rem; color:var(--gold); width:1.2rem; flex-shrink:0; transition:transform .3s}
.faq__item[open] summary::before{content:"–"}
.faq__item summary:hover{color:var(--gold)}
.faq__item p{padding:0 .3rem 1.5rem 2.5rem; color:var(--text-soft); max-width:68ch}
.faq__item p strong{color:var(--text); font-weight:600}

/* ---------- AGENDA / CALENDARIO ---------- */
.booking{padding:clamp(3.5rem,7vw,6rem) var(--pad); background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.booking__card{max-width:920px; margin-inline:auto; display:grid; grid-template-columns:1.3fr .9fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; background:linear-gradient(180deg,var(--surface),var(--surface-2)); border:1px solid var(--line); border-radius:8px; padding:clamp(1.8rem,4vw,3rem); box-shadow:0 40px 90px -45px #000c, inset 0 1px 0 color-mix(in srgb,var(--gold) 14%, transparent)}
.booking__tag{font-family:var(--mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold)}
.booking__headline{font-family:var(--serif); font-weight:500; font-size:clamp(1.4rem,2.6vw,1.95rem); line-height:1.15; letter-spacing:-.01em; margin:.7rem 0 .85rem}
.booking__copy{color:var(--text-soft); max-width:46ch; margin-bottom:1.3rem}
.booking__points{list-style:none; display:grid; gap:.6rem}
.booking__points li{position:relative; padding-left:1.5rem; font-size:.95rem; color:var(--text-soft)}
.booking__points li::before{content:"✦"; position:absolute; left:0; top:.12rem; color:var(--gold); font-size:.78rem}
.booking__card-action{display:flex; flex-direction:column; align-items:flex-start; gap:1.1rem; border-left:1px solid var(--line); padding-left:clamp(1.5rem,4vw,3rem)}
.booking__btn{margin-top:0; cursor:pointer; white-space:nowrap}
.booking__alt{font-size:.9rem; color:var(--text-soft); line-height:1.5}
.booking__alt a{color:var(--gold); font-weight:600}
.booking__alt a:hover{text-decoration:underline}

/* ---------- CONTACTO ---------- */
.contact{max-width:var(--maxw); margin:clamp(3.5rem,7vw,6rem) auto; padding:0 var(--pad); display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:start}
.contact__rows{list-style:none; margin-top:2rem; border-top:1px solid var(--line)}
.contact__rows li{display:grid; grid-template-columns:9rem 1fr; gap:1rem; padding:1.1rem 0; border-bottom:1px solid var(--line)}
.contact__k{font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); padding-top:.2rem}
.contact__v{font-size:1.05rem; font-weight:500}
.contact__v a:hover{color:var(--gold); text-decoration:underline}
.contact__map{border:1px solid var(--line); padding:.6rem; background:var(--surface); height:100%; min-height:420px}
.contact__map iframe{width:100%; height:100%; min-height:400px; border:0; filter:grayscale(.3) contrast(1.05)}

/* ---------- FOOTER ---------- */
.foot{background:var(--bg-2); color:var(--text); padding:clamp(2.5rem,5vw,4rem) var(--pad) 2rem; border-top:1px solid var(--line)}
.foot__top{max-width:var(--maxw); margin-inline:auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.5rem; padding-bottom:2rem; border-bottom:1px solid var(--line)}
.foot__brand{display:flex; align-items:center; gap:.7rem; font-family:var(--serif); font-size:1.6rem; font-weight:600}
.foot__nav{display:flex; gap:1.5rem}
.foot__nav a{color:var(--text-soft); font-size:.9rem}
.foot__nav a:hover{color:var(--gold)}
.foot__bottom{max-width:var(--maxw); margin:1.5rem auto 0; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; color:var(--muted)}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed; right:1.4rem; bottom:1.4rem; z-index:60; width:58px; height:58px; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; box-shadow:0 8px 24px #0008; transition:.25s}
.wa-float:hover{transform:scale(1.08) rotate(-4deg)}

/* ---------- animaciones ---------- */
.reveal,.reveal-up{opacity:0}
.reveal{animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) forwards; animation-delay:var(--d,0s)}
@keyframes fadeUp{from{opacity:0; transform:translateY(24px)}to{opacity:1; transform:none}}
.reveal-up.in{animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) forwards; animation-delay:var(--d,0s)}
@media (prefers-reduced-motion:reduce){*{animation:none!important; transition:none!important} .reveal,.reveal-up{opacity:1}}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .nav{gap:1rem}
  .nav__links{display:none}
  .nav__links.open{display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; background:var(--bg); padding:1.5rem var(--pad); border-bottom:1px solid var(--line); gap:1rem}
  .nav__cta{margin-left:auto}
  .nav__burger{display:flex; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:.4rem}
  .nav__burger span{width:24px; height:2px; background:var(--text); transition:.3s}
  .hero__main{grid-template-columns:1fr}
  .svc{grid-template-columns:3rem 1fr}
  .svc__desc{grid-column:2}
  .team__grid{grid-template-columns:1fr}
  .lead-card{max-width:420px}
  .mv{grid-template-columns:1fr}
  .cover__list{grid-template-columns:repeat(2,1fr)}
  .booking__card{grid-template-columns:1fr; gap:1.8rem}
  .booking__card-action{border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:1.8rem; align-items:stretch}
  .booking__btn{align-self:flex-start}
  .contact{grid-template-columns:1fr}
  .stats__grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .quotes__grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .hero__title{font-size:clamp(2.5rem,13vw,4rem)}
  .pillars__list{grid-template-columns:1fr}
  .contact__rows li{grid-template-columns:1fr}
}
