/* ════════════════════════════════════════════════════════════════════════════
   sitio.css — diseño del sitio, versión 2 (13-oct-2026)

   Hecho sobre las referencias que mandó el dueño ("leaflife", "Green Space",
   "Encity"): fotos grandes de verdad, títulos grandes en mayúscula, etiquetas
   [ SERVICES ], servicios como tarjetas altas con la foto y el título encima,
   cifras sobre una foto aérea, preguntas con foto al lado y líneas finas,
   llamado final sobre foto y pie verde oscuro. Fondo verde-salvia muy claro.

   Va DESPUÉS del <style> de cada página y lo pisa. Muchos párrafos traen el
   color escrito en el HTML (var(--on-dark-2), pensado para fondo oscuro): esos
   tokens se invierten en la raíz y vuelven a ser claros dentro de las zonas
   oscuras o con foto. Quitar el <link> devuelve el diseño anterior.
   ════════════════════════════════════════════════════════════════════════════ */

:root{
  --c-bg:#f4f5ef;      /* fondo: blanco verde-salvia */
  --c-sage:#e3eadf;    /* banda salvia */
  --c-ink:#1f2e24;     /* texto */
  --c-ink-2:#4c5a50;   /* texto secundario (7:1) */
  --c-mute:#66736a;    /* notas (5:1 sobre el fondo) */
  --c-line:#cfd8cb;
  --c-forest:#2e4634;  /* verde de la marca: botones y pie */
  --c-forest-2:#22362a;
  --c-fresh:#b9d3ab;   /* verde claro, sobre oscuro */

  --on-dark:var(--c-ink); --on-dark-2:var(--c-ink-2); --on-dark-3:var(--c-mute);
  --on:var(--c-ink); --on2:var(--c-ink-2); --on3:var(--c-mute);
  --accent:var(--c-forest); --accent-2:var(--c-forest-2);
  --green:var(--c-forest); --green-2:var(--c-forest-2);
  --line:var(--c-line); --line-2:var(--c-line);

  --ff:'Plus Jakarta Sans','Montserrat Fallback',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:18px;
  color-scheme:light;
}
/* Zonas oscuras o con foto: texto claro */
.hero,.final,footer,.mobcta,.callbar,.commbar-in,.area-card,#about,.sec.cta,.svc-photo{
  --on-dark:#f4f6f1; --on-dark-2:#dde6da; --on-dark-3:#b9c7b8;
  --on:#f4f6f1; --on2:#dde6da; --on3:#b9c7b8;
}

html{scrollbar-color:auto}
body{font-family:var(--ff);background:var(--c-bg);color:var(--c-ink);-webkit-font-smoothing:antialiased}
::selection{background:var(--c-forest);color:#fff}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}

/* ── Fuera el decorado y las animaciones de aparición ─────────────────── */
.hero-bg .mesh,.hero-bg .fluted,.hero-bg .grain,.quiz-leaf{display:none!important}
.showcase::before,.final::before,.quiz-ov::before,.quiz-ov::after{content:none!important}
.sec-white,.sec-paper{background-image:none!important}
.reveal,.rv{opacity:1!important;transform:none!important;transition:none!important}
.hero-label,.hero h1,.hero-cta,.hero-season,.nav,.hero-photo,
.hero .crumb,.hero .hero-eyebrow,.hero p,.hero .hero-btns{opacity:1!important;animation:none!important}

/* ── Títulos de sección: grandes, en mayúscula, con etiqueta [ … ] ──────── */
.sec-title,h2.t,.final h2,.cta h2,.showcase-head h2{
  font-family:var(--ff)!important;text-transform:uppercase;font-weight:600!important;
  letter-spacing:-.015em!important;line-height:1!important;color:var(--c-forest)!important;max-width:16ch}
.sec-title{font-size:clamp(2.1rem,4.6vw,3.9rem)!important}
h2.t{font-size:clamp(1.9rem,3.8vw,3.1rem)!important}
.sec-title::before,.showcase-head h2::before{display:block;margin-bottom:20px;font-size:13px;font-weight:500;letter-spacing:.14em;color:var(--c-ink-2);line-height:1}
#services .sec-title::before{content:'[  Services  ]'}
#about .sec-title::before{content:'[  About us  ]';color:rgba(255,255,255,.85)}
#work .sec-title::before{content:'[  Projects  ]'}
#reviews .sec-title::before{content:'[  Reviews  ]'}
#areas .sec-title::before{content:'[  Service area  ]'}
#faq .sec-title::before{content:'[  F.A.Q  ]'}
.showcase-head h2::before{content:'[  At work  ]'}
.eyebrow{color:var(--c-ink-2)!important;font-weight:500!important;letter-spacing:.14em!important}
.eyebrow::before{content:'[  '}.eyebrow::after{content:'  ]'}

/* ── Botones: rectángulo de esquinas suaves, sin giros ──────────────────── */
.btn{border-radius:6px!important;min-height:50px;padding:0 24px!important;gap:10px!important;
  font-family:var(--ff);font-weight:600!important;font-size:15px!important;letter-spacing:0;
  box-shadow:none!important;justify-content:center;white-space:nowrap;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease!important}
.btn .label{height:auto!important;overflow:visible!important}
.btn .label b{height:auto!important;transform:none!important;font-weight:600!important}
.btn .label b+b{display:none}
.btn .arw{width:auto!important;height:auto!important;background:none!important;color:inherit!important;transform:none!important;border-radius:0!important}
.btn .arw svg{width:17px;height:17px}
.btn:active{transform:none!important}
.btn-accent,.btn-green,.btn-gold,.btn-dark{background:var(--c-forest)!important;color:#fff!important;border:0!important}
.btn-accent:hover,.btn-green:hover,.btn-gold:hover,.btn-dark:hover{background:var(--c-forest-2)!important;filter:none}
.btn-light,.btn.secondary{background:#fff!important;color:var(--c-ink)!important;border:1px solid var(--c-line)!important}
.btn-light:hover,.btn.secondary:hover{background:var(--c-bg)!important}
.btn-ghost{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.6)!important}
.btn-ghost:hover{background:rgba(255,255,255,.12)!important}
.sec:not(.cta) .btn-ghost{color:var(--c-ink)!important;border-color:var(--c-ink-2)!important}
.sec:not(.cta) .btn-ghost:hover{background:#fff!important}
/* Sobre foto, el botón principal va blanco */
.hero .btn-accent,.hero .btn-green,.final .btn-light,.sec.cta .btn-green,#about .btn-accent,.nav-shell .nav .btn-dark{background:#fff!important;color:var(--c-ink)!important;border:0!important}
.hero .btn-accent:hover,.hero .btn-green:hover,.final .btn-light:hover,.sec.cta .btn-green:hover,#about .btn-accent:hover,.nav-shell .nav .btn-dark:hover{background:#e9efe6!important}
.final .btn-accent{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.6)!important}
.final .btn-accent:hover{background:rgba(255,255,255,.12)!important}
.btn-lg{min-height:54px;font-size:16px!important}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--c-forest);outline-offset:3px}
.hero a:focus-visible,.hero button:focus-visible,.final a:focus-visible,footer a:focus-visible,#about a:focus-visible,.sec.cta a:focus-visible,.svc-photo a:focus-visible{outline-color:#fff}

/* ════════════════ PORTADA ════════════════ */

/* Menú: transparente sobre la foto, letras blancas */
.nav-shell .nav{background:transparent!important;box-shadow:none!important;padding:6px 0!important;margin-top:18px}
.nav-shell .nav-links a,.nav-shell .logo .nm,.nav-shell .nav-status,.nav-shell .nav-clock{color:#fff!important}
.nav-shell .nav-links a:hover{opacity:.75}
.nav-shell .nav-links{gap:30px}
.nav-shell .burger{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.45);border-radius:8px}
.sheet{border-radius:20px}

/* Portada a pantalla completa, texto grande en mayúscula abajo a la izquierda */
.hero{background:var(--c-forest-2);min-height:max(640px,100svh)}
.hero-bg::after{background:linear-gradient(90deg,rgba(15,26,18,.62) 0%,rgba(15,26,18,.28) 55%,rgba(15,26,18,.10) 100%),
  linear-gradient(180deg,rgba(15,26,18,.30) 0%,rgba(15,26,18,0) 30%,rgba(15,26,18,.55) 100%)!important}
.hero h1{font-family:var(--ff);text-transform:uppercase;font-weight:600!important;letter-spacing:-.02em!important;
  line-height:.98!important;font-size:clamp(2.4rem,5.4vw,4.9rem)!important;max-width:15ch!important;text-shadow:none!important;color:#fff}
.hero-label{font-weight:500!important;letter-spacing:.14em!important;text-shadow:none!important}
.hero-label::before{content:'[  '}.hero-label::after{content:'  ]'}
.hero-season{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:999px;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.hero-season .hs-dot{background:var(--c-fresh);box-shadow:none}
.hero-season a{text-decoration-color:rgba(255,255,255,.7)}
.cert{display:none!important}
.hero-cta{gap:22px!important}

/* Tarjetas de vidrio (referencia "leaflife") */
.hero-glass{display:none}
@media(min-width:1000px){
  /* 19-oct-2026: las dos tarjetas iban una arriba y otra abajo (space-between) con un hueco enorme en el
     medio: se leían como piezas sueltas, lejos del texto. Ahora van juntas, apiladas, y su borde de abajo
     queda alineado con la base del botón "Book a visit". */
  .hero-glass{display:flex;flex-direction:column;justify-content:flex-end;gap:16px;position:absolute;z-index:21;
    right:max(48px,calc((100vw - 1440px)/2 + 48px));top:130px;bottom:80px;width:290px;pointer-events:none}
  .glass{pointer-events:auto;display:block;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.38);
    border-radius:20px;padding:20px 22px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background-color .2s}
  .glass:hover{background:rgba(255,255,255,.2)}
  .glass b{display:block;font-size:34px;font-weight:600;line-height:1}
  .glass .glass-h{font-size:20px;margin-top:12px}
  .glass-stars{display:block;color:#f5c542;letter-spacing:2px;margin:8px 0 6px;font-size:15px}
  .glass-t{display:block;font-size:14px;line-height:1.45;color:rgba(255,255,255,.88);margin-top:6px}
  .glass svg{width:24px;height:24px}
}

/* Franja de confianza */
.strip{background:var(--c-forest)!important;color:#fff;border:0!important}
.strip .it{color:rgba(255,255,255,.9)!important;font-size:13px!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:500!important}
.strip .it svg{color:var(--c-fresh)!important}

/* Secciones */
.sec-white,.showcase{background:var(--c-bg)!important;color:var(--c-ink)}
.sec-paper{background:var(--c-sage)!important;color:var(--c-ink)}
.pad{padding-top:80px;padding-bottom:80px}
@media(min-width:1024px){.pad{padding-top:120px;padding-bottom:120px}}
.showcase{padding:88px 0!important}
.showcase-head{text-align:left;margin-left:0;max-width:none}
.showcase-head p{color:var(--c-ink-2);max-width:56ch}
.showcase-video{border-radius:var(--r);box-shadow:none;border:0;max-width:none;margin-left:0;margin-right:0}
.showcase-video video{object-fit:cover!important}
[data-lig="servicios_portada.texto"]{color:var(--c-ink-2)!important;max-width:52ch!important;margin-top:18px!important}

/* SERVICIOS: tarjetas altas con la foto entera y el título encima (referencia "leaflife") */
.svc-grid{gap:16px!important;margin-top:48px!important}
@media(min-width:640px){.svc-grid{grid-template-columns:1fr 1fr!important}}
@media(min-width:1024px){.svc-grid{grid-template-columns:repeat(4,1fr)!important;gap:18px!important}}
.svc.svc-photo{position:relative;overflow:hidden;isolation:isolate;min-height:440px;padding:0!important;border:0!important;border-radius:var(--r)!important;
  background:var(--c-forest-2)!important;box-shadow:none!important;display:flex;flex-direction:column;justify-content:flex-end;color:#fff!important}
.svc.svc-photo:hover{transform:none!important;box-shadow:none!important}
.svc-photo .svc-media{position:absolute!important;inset:0!important;margin:0!important;border-radius:0!important;aspect-ratio:auto!important}
.svc-photo .svc-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,26,18,.05) 30%,rgba(15,26,18,.84) 100%)}
.svc-photo .svc-media img{transition:transform .5s ease!important}
.svc-photo:hover .svc-media img{transform:scale(1.04)!important}
.svc .ix{display:none}
.svc-photo h3,.svc-photo p{position:relative;z-index:2;margin:0 22px;color:#fff!important}
.svc-photo h3{font-size:26px!important;font-weight:600!important;text-transform:uppercase;line-height:1.02;letter-spacing:-.01em}
.svc-photo p{margin-top:10px!important;margin-bottom:24px;font-size:14px!important;color:rgba(255,255,255,.86)!important;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* el enlace: círculo con flecha arriba a la derecha; su ::before cubre la tarjeta entera
   (la tarjeta recorta lo que sobra), así se puede tocar en cualquier parte */
.svc-photo .svc-link{position:absolute!important;top:18px;right:18px;z-index:3;width:48px;height:48px;min-height:48px;margin:0!important;padding:0!important;
  border-radius:50%;background:#fff;color:var(--c-ink)!important;font-size:0!important;display:grid!important;place-items:center}
.svc-photo .svc-link svg{width:18px;height:18px;transform:rotate(-45deg)}
.svc-photo .svc-link::before{content:'';position:absolute;top:-18px;right:-18px;width:2000px;height:2000px}
.svc-photo .svc-link:hover{background:var(--c-fresh)}
/* "Also offered": píldoras */
.svc-also{margin-top:32px!important}
.also-label{color:var(--c-ink-2)!important}
.also-pill{background:transparent!important;border:1px solid var(--c-ink-2)!important;border-radius:999px!important;color:var(--c-ink)!important}
a.also-pill svg{color:var(--c-forest)!important}
a.also-pill:hover{background:var(--c-forest)!important;color:#fff!important;border-color:var(--c-forest)!important}
a.also-pill:hover svg{color:#fff!important}

/* NOSOTROS: cifras sobre una foto aérea (referencia "Encity") */
#about{background:linear-gradient(180deg,rgba(15,26,18,.62),rgba(15,26,18,.74)),url('/img/hero.jpg') center/cover!important;background:linear-gradient(180deg,rgba(15,26,18,.62),rgba(15,26,18,.74)),image-set(url('/img/hero.avif') type('image/avif'),url('/img/hero.jpg') type('image/jpeg')) center/cover!important;color:#fff}
#about .wrap{text-align:left!important;display:block!important}
#about .sec-title{color:#fff!important;max-width:18ch;margin-left:0!important}
#about .sec-title+p{color:rgba(255,255,255,.88)!important;margin-left:0!important;margin-top:20px!important}
.about-fotos{display:none!important}
#about .stats{display:grid!important;grid-template-columns:1fr 1fr!important;max-width:none!important;margin:56px 0 44px!important;
  background:transparent!important;border:0!important;border-top:1px solid rgba(255,255,255,.35)!important;border-radius:0!important;gap:0!important}
@media(min-width:800px){#about .stats{grid-template-columns:repeat(4,1fr)!important}}
#about .stat{background:transparent!important;text-align:left!important;padding:26px 24px 0 0!important}
#about .stat b{color:#fff!important;font-size:clamp(2.2rem,4vw,3.4rem)!important;font-weight:600!important;letter-spacing:-.02em}
#about .stat span{color:rgba(255,255,255,.82)!important;font-size:14px!important}

/* PROYECTOS: 4 en una fila, esquinas redondas, título en mayúscula */
.proj-grid{grid-template-columns:1fr 1fr!important;gap:16px!important;margin-top:44px!important}
@media(min-width:1024px){.proj-grid{grid-template-columns:repeat(4,1fr)!important;gap:18px!important}}
.proj{display:flex;flex-direction:column}
.proj .media{border-radius:var(--r)!important;border:0!important;box-shadow:none!important}
.proj .media.tall,.proj .media.sq{aspect-ratio:3/4!important}
.proj .media::after{content:none!important}
/* las fotos salían estiradas: la regla que las recorta quedó dentro de un comentario sin cerrar */
.proj .media .fill img,.proj .media .photo{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;display:block}
.proj .expand{display:none!important}
.proj .ptitle{order:1;font-size:16px!important;font-weight:600!important;text-transform:uppercase;color:var(--c-forest)!important;margin-top:16px!important;letter-spacing:.01em}
.proj .pdesc{order:2;font-size:13.5px!important;color:var(--c-mute)!important;margin-top:6px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#work .wrap>[style*="text-align:center"]{text-align:left!important}

/* RESEÑAS */
.grev-top{background:#fff!important;border:0!important;border-radius:var(--r)!important}
.grev-rate>b{color:var(--c-forest)!important}
.grev-card{border:0!important;border-radius:var(--r)!important;box-shadow:none!important}
.grev-card p{font-weight:400!important;color:var(--c-ink)!important}
.grev-av{background:var(--c-sage);color:var(--c-forest)}
.grev-foot a{color:var(--c-forest)!important}

/* ZONAS: foto + lista + mapa satelital */
.area-card{background:linear-gradient(180deg,rgba(15,26,18,.35) 0%,rgba(15,26,18,.82) 75%),url('/img/hero.jpg') center/cover!important;background:linear-gradient(180deg,rgba(15,26,18,.35) 0%,rgba(15,26,18,.82) 75%),image-set(url('/img/hero-sm.avif') type('image/avif'),url('/img/hero.jpg') type('image/jpeg')) center/cover!important;border-radius:var(--r)!important;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end}
.area-card h3{text-transform:uppercase;font-weight:600!important;font-size:24px!important}
.area-card .pill{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:999px!important}
.area-list{border:0!important;border-radius:var(--r)!important;box-shadow:none!important;background:#fff!important}
.area-list h3{text-transform:uppercase;font-weight:600!important;color:var(--c-forest)!important}
.area-list ul{grid-template-columns:1fr 1fr!important;gap:2px 18px!important}
.area-list li a{display:flex;align-items:center;min-height:42px;color:var(--c-ink)!important}
.area-list li svg{color:var(--c-forest)!important}
.area-map{border-radius:var(--r)!important;border:0!important;box-shadow:none!important}
.area-map iframe{filter:none!important}
@media(min-width:1000px){
  #areas .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:20px;align-items:stretch}
  #areas .sec-title{grid-column:1 / -1}
  #areas .areas{grid-column:1;grid-template-columns:1fr!important;margin-top:44px!important;gap:16px!important}
  #areas .area-map{grid-column:2;margin-top:44px!important;display:flex}
  #areas .area-map iframe{height:auto!important;min-height:560px;flex:1}
}

/* Barra comercial */
.commbar{background:var(--c-bg)!important}
.commbar-in{background:var(--c-forest)!important;border-radius:var(--r)!important;border:0!important}
.commbar-ico{border-radius:12px}

/* PREGUNTAS: banda salvia, foto a la izquierda, líneas finas (referencia "leaflife") */
#faq .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:40px 56px}
#faq .faq-foto{display:none}
@media(min-width:900px){
  #faq .wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}
  #faq .sec-title{grid-column:1 / -1}
  #faq .faq-foto{display:block}
}
.faq-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);display:block}
.faq-list,.faq{margin:0!important;max-width:none!important;gap:0!important}
.sec .faq{margin-top:36px!important}
.faq-item,.faq details{background:transparent!important;border:0!important;border-bottom:1px solid var(--c-ink-2)!important;border-radius:0!important;box-shadow:none!important}
.faq-item summary,.faq summary{padding:22px 0!important;font-size:17px!important}
.faq-item .a,.faq .a{padding:0 0 22px!important;color:var(--c-ink-2)!important}
.faq-item summary .pm{border:0!important;background:transparent!important;color:var(--c-ink)!important}
.faq-item[open] summary .pm{background:transparent!important;color:var(--c-ink)!important}

/* LLAMADO FINAL sobre foto (referencia "leaflife") */
.final{background:linear-gradient(90deg,rgba(15,26,18,.82) 0%,rgba(15,26,18,.5) 60%,rgba(15,26,18,.3) 100%),url('/img/project-3.jpg') center/cover!important;
  text-align:left!important;border:0!important;padding:110px 0!important}
.final h2{color:#fff!important;font-size:clamp(2.3rem,5vw,4.4rem)!important;max-width:14ch}
.final p{margin-left:0!important;color:rgba(255,255,255,.88)!important}
.final .btns{justify-content:flex-start!important}
.final .qcontact{border-top-color:rgba(255,255,255,.3)!important;margin-left:0!important;align-items:flex-start}
.final .qcontact a{justify-content:flex-start;color:#fff}
.final .qcontact a svg{color:var(--c-fresh)}

/* PIE: verde oscuro */
footer{background:var(--c-forest)!important;color:rgba(255,255,255,.82)!important;border:0!important}
footer .logo,footer .logo .nm{color:#fff!important}
.foot-col h3{color:#fff!important}
.foot-col a:hover,.foot-links a:hover,.foot-areas a:hover{color:#fff!important}
.foot-col svg{color:var(--c-fresh)!important}
.foot-soc a{background:rgba(255,255,255,.1)!important;border-radius:50%!important}
.foot-bot{border-top-color:rgba(255,255,255,.2)!important;color:rgba(255,255,255,.7)!important}
.mobcta{background:var(--c-forest)!important;box-shadow:none!important}

/* ════════════════ PÁGINAS INTERNAS ════════════════ */
body>.nav,header.nav,nav.nav{background:rgba(244,245,239,.96)!important;border-bottom:1px solid var(--c-line)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.nav .logo{color:var(--c-ink)}
body>.nav .nav-links a,header.nav .nav-links a,nav.nav .nav-links a{color:var(--c-ink-2)}
.nav-links a[aria-current]{color:var(--c-ink)!important;font-weight:600;text-decoration:underline;text-decoration-color:var(--c-forest);text-decoration-thickness:2px;text-underline-offset:6px}
.mnav summary{background:#fff!important;border:1px solid var(--c-line)!important;color:var(--c-ink)!important;border-radius:8px!important}
.mnav-panel{background:#fff!important;border:1px solid var(--c-line)!important;border-radius:16px!important;box-shadow:0 14px 34px rgba(15,26,18,.14)!important}
.mnav-panel a{color:var(--c-ink)!important}
.mnav-panel a:hover,.mnav-panel a[aria-current]{background:var(--c-bg)!important}
.mnav-panel a svg{color:var(--c-forest)!important}
.mnav-panel hr{border-top-color:var(--c-line)!important}

.hero .crumb{color:#e3ebe0}
.crumb-home{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.4)!important;color:#fff!important;border-radius:999px!important}
.hero .hero-eyebrow{color:#fff!important;letter-spacing:.14em;font-weight:500}
.hero .hero-eyebrow::before{content:'[  '}.hero .hero-eyebrow::after{content:'  ]'}
.hero p{color:#e8efe5!important}

.sec{background:var(--c-bg)}
.sec.alt{background:var(--c-sage)!important}
.lead{color:var(--c-ink-2)}
.inc .card{background:#fff!important;border:0!important;border-radius:var(--r)!important;box-shadow:none!important}
.inc .card .ic{background:var(--c-sage)!important;border-radius:10px!important}
.inc .card h3{text-transform:uppercase;font-weight:600}
.two-media{border-radius:var(--r)!important;box-shadow:none!important;border:0!important}
.checks li{color:var(--c-ink)!important}
.checks li svg{color:var(--c-forest)!important}
.chip{background:transparent!important;border:1px solid var(--c-ink-2)!important;border-radius:999px!important;color:var(--c-ink)!important}
a.chip:hover{background:var(--c-forest)!important;color:#fff!important;border-color:var(--c-forest)!important}
.sec .eyebrow[style*="center"],.sec h2.t[style*="center"]{text-align:left!important;margin-left:0!important}

/* El llamado del final de cada página: sobre foto */
.sec.cta{background:linear-gradient(90deg,rgba(15,26,18,.84) 0%,rgba(15,26,18,.5) 70%),url('/img/project-3.jpg') center/cover!important;text-align:left!important;padding:100px 0!important}
.sec.cta h2{color:#fff!important;max-width:16ch}
.sec.cta p{color:rgba(255,255,255,.88)!important;margin-left:0!important}
.cta-btns{justify-content:flex-start!important}

/* Bloques de las otras plantillas que daban por hecho el fondo oscuro */
.svc-links a,.near a,.links a{background:#fff!important;border:0!important;border-radius:12px!important;color:var(--c-ink)!important}
.svc-links a svg{color:var(--c-forest)!important}
.svc-links a:hover,.near a:hover,.links a:hover{background:var(--c-forest)!important;color:#fff!important}
.svc-links a:hover svg{color:#fff!important}
.mas{border-top-color:var(--c-line)!important}
.timeline,.timeline li,.pr-tabla,.pr-tabla > *{border-color:var(--c-line)!important}
.person,.btest,.steps li{background:#fff!important;border:0!important;border-radius:var(--r)!important;box-shadow:none!important}
.person .ini,.owner-media{background:var(--c-forest)!important;box-shadow:none!important}
.person .ini{border-radius:50%}
.pr-libre{background:#fff!important;border:0!important;border-radius:var(--r)!important}
.promise-q{border-left-color:var(--c-forest)!important}
.perks{background:var(--c-sage)!important;border-bottom-color:var(--c-line)!important}
.qform,.qdone{border:0;border-radius:var(--r)!important;box-shadow:none!important}
.q-intro a{color:var(--c-forest)!important}
.hero .q-intro a{color:#fff!important}
.opts span{border-radius:999px!important}
.stats:not(#about .stats){background:var(--c-line)!important;border:0!important;border-radius:var(--r)!important}
.stats:not(#about .stats) .stat{background:#fff!important}
.stats:not(#about .stats) .stat b{color:var(--c-forest)!important}
/* Precios → "Bigger jobs": la lista no tenía estilo y la palomita salía GIGANTE */
.pts{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;max-width:62ch}
.pts li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.55;color:var(--c-ink)}
.pts li svg{width:19px;height:19px;flex-shrink:0;margin-top:2px;color:var(--c-forest)}
body:has(main .num){background-image:none!important}
.callbar{background:var(--c-forest)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* Chat (widget de Inext): burbuja completa + "Chat" */
.inxt-launcher{background:var(--c-forest)!important;box-shadow:0 6px 20px rgba(15,26,18,.25)!important;border-radius:999px!important}
.inxt-launcher svg{display:none!important}
.inxt-launcher::before{content:'';width:26px;height:26px;display:block;margin:auto;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3Ccircle cx='8.5' cy='12' r='.6' fill='white'/%3E%3Ccircle cx='12' cy='12' r='.6' fill='white'/%3E%3Ccircle cx='15.5' cy='12' r='.6' fill='white'/%3E%3C/svg%3E") center/contain no-repeat}
@media(min-width:768px){
  .inxt-launcher{width:auto!important;padding:0 20px 0 16px!important;display:flex!important;align-items:center;gap:8px}
  .inxt-launcher::before{margin:0}
  .inxt-launcher::after{content:'Chat';color:#fff;font:600 15px var(--ff)}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.svc-photo .svc-media img{transition:none!important}}

/* Celular: servicios de a dos y más bajos; aviso de temporada compacto */
@media(max-width:639px){
  .svc-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .svc.svc-photo{min-height:280px}
  .svc-photo h3{font-size:17px!important;margin:0 14px!important}
  .svc-photo p{display:none!important}
  .svc-photo h3{margin-bottom:16px!important}
  .svc-photo .svc-link{top:10px;right:10px;width:40px;height:40px;min-height:40px}
  .svc-photo .svc-link::before{top:-10px;right:-10px}
  .hero-season{border-radius:14px;font-size:12.5px;padding:6px 14px}
}

/* Reseñas: el recuadro oficial de Google (sólo la tarjeta de la ficha, no el mapa) */
.grev-top .grev-glogo,.grev-top .grev-rate{display:none!important}
.grev-top{justify-content:space-between}
.grev-oficial{width:268px;max-width:100%;height:128px;overflow:hidden;border-radius:12px;flex-shrink:0;position:relative}
.grev-oficial iframe{position:absolute;top:-2px;left:-2px;width:640px;height:420px;border:0;pointer-events:auto}

/* Chat v2 (13-oct): el botón verde oscuro se perdía sobre las fotos. Blanco, ícono y texto
   en verde, sombra suave; más fino y del mismo idioma que los botones del sitio. */
.inxt-launcher{background:#fff!important;border:1px solid rgba(46,70,52,.14)!important;
  box-shadow:0 10px 30px rgba(15,26,18,.22),0 2px 6px rgba(15,26,18,.10)!important;
  transition:transform .2s ease,box-shadow .2s ease!important}
.inxt-launcher:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,26,18,.26),0 2px 6px rgba(15,26,18,.12)!important}
.inxt-launcher::before{width:22px!important;height:22px!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e4634' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3Cpath d='M8.5 12h.01M12 12h.01M15.5 12h.01' stroke-width='2.6'/%3E%3C/svg%3E") center/contain no-repeat!important}
@media(min-width:768px){
  .inxt-launcher{height:52px!important;padding:0 22px 0 18px!important;gap:9px!important}
  .inxt-launcher::after{content:'Chat with us'!important;color:#2e4634!important;font:600 15px var(--ff)!important;letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){.inxt-launcher{transition:none!important}.inxt-launcher:hover{transform:none}}

/* Blancos para el dedo de 44px (guía de Vercel: medido en 375px) */
.nav .logo{min-height:44px;display:inline-flex;align-items:center}
.near a{min-height:44px;display:inline-flex!important;align-items:center}
.btest a,.btest-foot a{display:inline-flex;align-items:center;min-height:44px}

/* Cuestionario ("Book a visit"): se había quedado con el diseño viejo, verde casi negro,
   y la etiqueta "2-MINUTE PLAN" casi no se leía. Pasa al diseño claro. */
.quiz-ov{background:var(--c-bg)!important;color:var(--c-ink)!important}
.quiz-top{background:#fff!important;border-bottom:1px solid var(--c-line)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.quiz-brand{color:var(--c-ink)!important}
.quiz-prog{background:var(--c-line)!important}
.quiz-prog-f{background:var(--c-forest)!important;box-shadow:none!important}
.quiz-x{background:#fff!important;border:1px solid var(--c-line)!important;color:var(--c-ink)!important}
.quiz-x:hover{background:var(--c-bg)!important}
.quiz-eyebrow{color:var(--c-ink-2)!important;font-weight:500!important}
.quiz-eyebrow::before{content:'[  '}.quiz-eyebrow::after{content:'  ]'}
.quiz-q{color:var(--c-forest)!important;text-transform:uppercase;font-weight:600!important;letter-spacing:-.01em;line-height:1.02!important}
.quiz-sub{color:var(--c-ink-2)!important}
.quiz-opt{background:#fff!important;border:1px solid var(--c-line)!important;box-shadow:none!important;border-radius:14px!important}
.quiz-opt:hover{border-color:var(--c-forest)!important;background:#fff!important;transform:none!important;box-shadow:none!important}
.quiz-opt .oi{background:var(--c-sage)!important;color:var(--c-forest)!important;border-radius:12px!important}
.quiz-opt .ot b{color:var(--c-ink)!important}
.quiz-opt .ot span{color:var(--c-mute)!important}
.quiz-back{color:var(--c-ink-2)!important}
.quiz-back:hover{color:var(--c-ink)!important}
.quiz-trust{background:#fff!important;border-top:1px solid var(--c-line)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.quiz-trust span{color:var(--c-ink-2)!important}
.quiz-trust b{color:var(--c-ink)!important}
.quiz-trust svg{color:var(--c-forest)!important}
.quiz-ov .field label{color:var(--c-ink-2)!important}
.quiz-ov .field input,.quiz-ov .field select,.quiz-ov .field textarea{background:#fff!important;border:1px solid var(--c-line)!important;border-radius:10px!important;color:var(--c-ink)!important}
.quiz-ov .field input:focus,.quiz-ov .field select:focus,.quiz-ov .field textarea:focus{border-color:var(--c-forest)!important;box-shadow:0 0 0 3px rgba(46,70,52,.15)!important}
.quiz-ov .form-foot,.quiz-ov .freenote{color:var(--c-mute)!important}
.quiz-ov .freebtn{color:var(--c-ink-2)!important}
.quiz-ov .includes-title{color:var(--c-ink-2)!important}
.quiz-ov .includes .inc{color:var(--c-ink-2)!important}
.quiz-ov .includes .inc b{color:var(--c-ink)!important}
.quiz-ov .includes .inc svg{color:var(--c-forest)!important}
.quiz-ov .price-box{background:#fff!important;border:1px solid var(--c-line)!important;border-radius:14px!important}
.quiz-ov .price-row b{color:var(--c-forest)!important}
.quiz-ov .photo-up{background:#fff!important;border-radius:10px!important}
.quiz-ov .secure-badge{color:var(--c-forest)!important}
@media(max-width:639px){.hero h1{font-size:2.05rem!important;line-height:1.02!important}}

/* Grupos de 4 tarjetas: las 4 en una fila (antes 3 + 1 sola abajo) */
@media(min-width:1000px){.inc:has(>.card:nth-child(4):last-child){grid-template-columns:repeat(4,1fr)!important}}
/* Llamado final de las internas: el primero blanco, los demás con borde blanco (el verde se perdía en la foto) */
.sec.cta .cta-btns .btn{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.6)!important}
.sec.cta .cta-btns .btn:hover{background:rgba(255,255,255,.12)!important}
.sec.cta .cta-btns .btn:first-child{background:#fff!important;color:var(--c-ink)!important;border-color:#fff!important}
.sec.cta .cta-btns .btn:first-child:hover{background:#e9efe6!important}
/* Commercial: la reseña alineada a la izquierda como todo */
.btest{margin-left:0!important;text-align:left!important}
.btest .stars,.btest-stars{justify-content:flex-start!important}
/* Galería: títulos de categoría con el estilo de las secciones */
.gal-cat h2{text-transform:uppercase;color:var(--c-forest)!important;font-weight:600!important;font-size:clamp(1.3rem,2.4vw,1.8rem)!important;letter-spacing:-.01em}
.gal-cat img{border-radius:14px!important}
/* Reseñas: con muchas, se ven 9 y un botón abre el resto (migración 14) */
.grev-corto .grev-card:nth-child(n+10){display:none}
.grev-mas-wrap{display:flex;justify-content:center;margin-top:8px}
.grev-mas{font:inherit;font-weight:600;font-size:15px;min-height:48px;padding:0 28px;border-radius:999px;border:1.5px solid var(--c-forest);background:transparent;color:var(--c-forest);cursor:pointer;transition:background .2s,color .2s}
.grev-mas:hover{background:var(--c-forest);color:#fff}
.grev-mas:focus-visible{outline:3px solid var(--c-fresh);outline-offset:3px}
/* 13-oct-2026 (auditoría): a 360px (muchos Android) "Book a visit" de la barra fija salía 8px por la derecha */
.mobcta > *{min-width:0}
@media (max-width:380px){
  .mobcta{gap:6px !important;padding-left:10px !important;padding-right:10px !important}
  .mobcta .btn{padding-left:12px !important;padding-right:12px !important;font-size:14px !important}
  .mobcta .btn .arw{display:none !important}
}
/* y la acción principal de la barra se distingue de la barra (eran el mismo verde oscuro) */
.mobcta .btn-green{background:var(--c-fresh) !important;color:var(--c-forest-2) !important;border-color:var(--c-fresh) !important}
/* 13-oct-2026 (auditoría): letra mínima 12,5px y áreas para tocar de 44px */
.eyebrow,.hero-eyebrow,.pr-n,.when,.strip .it,.quiz-trust span{font-size:12.5px !important}
@media (pointer:coarse){
  .crumb a,.crumb-home{display:inline-flex;align-items:center;min-height:44px}
  footer a{min-height:44px;min-width:44px;display:inline-flex;align-items:center}
}

/* Migración 16: debajo del título, qué hacemos, dónde y la nota de Google. */
.hero-sub{color:#fff;font-size:1.05rem;line-height:1.45;max-width:36ch;margin:14px 0 20px;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.hero-sub .hs-rate{display:block;margin-top:6px;font-weight:600}
.hero-sub .hs-stars{color:#f5b400;letter-spacing:1px}
@media(max-width:639px){.hero-sub{font-size:.95rem;margin:10px 0 16px}}

/* Migración 17: árboles en cada zona. */
.tree-local{max-width:760px;margin:32px auto 0}
.tree-local h3{font-size:1.25rem;margin:0 0 8px}
.tree-local p{line-height:1.6;margin:0}
.tree-local a{text-decoration:underline;text-underline-offset:3px}

/* 19-oct-2026: en el celular "Now booking" va arriba y los dos enlaces juntos abajo (antes el segundo quedaba solo, con un hueco grande). */
@media(max-width:639px){.hero-season{gap:0 14px;padding:6px 14px 2px}.hero-season .hs-t{flex:1 1 calc(100% - 24px)}}

/* 19-oct-2026: "¿Qué necesitas?" con fotos de trabajos reales (el dueño: "muy frío, muy aburrido"). */
.quiz-opts.quiz-fotos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:660px;margin-left:auto;margin-right:auto}
.quiz-fotos .quiz-opt.qf{position:relative;display:block!important;padding:0!important;overflow:hidden;border-radius:18px!important;border:2px solid transparent!important;background:#1f2a1f!important;aspect-ratio:16/10;text-align:left;cursor:pointer;text-decoration:none;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .2s!important;animation:qfIn .5s cubic-bezier(.2,.8,.2,1) both}
.quiz-fotos .quiz-opt.qf:nth-child(2){animation-delay:.06s}.quiz-fotos .quiz-opt.qf:nth-child(3){animation-delay:.12s}
.quiz-fotos .quiz-opt.qf:nth-child(4){animation-delay:.18s}.quiz-fotos .quiz-opt.qf:nth-child(5){animation-delay:.24s}.quiz-fotos .quiz-opt.qf:nth-child(6){animation-delay:.3s}
.quiz-fotos .qf-img,.quiz-fotos .qf-img picture,.quiz-fotos .qf-img img{position:absolute;inset:0;width:100%;height:100%;display:block}
.quiz-fotos .qf-img img{object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.quiz-fotos .qf-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.75) 100%)}
.quiz-fotos .quiz-opt.qf .ot{position:absolute;left:16px;right:44px;bottom:14px;z-index:1;display:block}
.quiz-fotos .quiz-opt.qf .ot b{display:block;color:#fff!important;font-size:18px;line-height:1.2;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.quiz-fotos .quiz-opt.qf .ot span{display:block;color:rgba(255,255,255,.88)!important;font-size:13px;margin-top:3px}
.quiz-fotos .quiz-opt.qf .oc{position:absolute;top:12px;right:12px;z-index:1;width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:rgba(0,0,0,.18)}
.quiz-fotos .quiz-opt.qf:hover{transform:translateY(-4px)!important;box-shadow:0 18px 36px rgba(20,45,20,.28)!important;border-color:var(--c-fresh)!important}
.quiz-fotos .quiz-opt.qf:hover .qf-img img{transform:scale(1.07)}
.quiz-fotos .quiz-opt.qf:hover .oc{background:var(--c-fresh);border-color:var(--c-fresh)}
.quiz-fotos .quiz-opt.qf:focus-visible{outline:3px solid var(--c-fresh);outline-offset:3px}
.quiz-fotos .quiz-opt.qf:active{transform:scale(.98)!important}
@keyframes qfIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:560px){.quiz-opts.quiz-fotos{gap:10px}.quiz-fotos .quiz-opt.qf{aspect-ratio:1/1;border-radius:14px!important}
  .quiz-fotos .quiz-opt.qf .ot{left:12px;right:12px;bottom:10px}.quiz-fotos .quiz-opt.qf .ot b{font-size:15px}.quiz-fotos .quiz-opt.qf .ot span{font-size:12px}
  .quiz-fotos .quiz-opt.qf .oc{width:22px;height:22px;top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.quiz-fotos .quiz-opt.qf{animation:none}.quiz-fotos .quiz-opt.qf,.quiz-fotos .qf-img img{transition:none!important}.quiz-fotos .quiz-opt.qf:hover .qf-img img{transform:none}}

/* 19-oct-2026: TODAS las preguntas del cuestionario con más vida (el dueño: "mejora el diseño de todas").
   Mismos colores de la marca (bosque, verde claro, salvia); entran una tras otra, se levantan al pasar
   el mouse y el ícono y el círculo se pintan. Sin movimiento para quien lo pidió en su teléfono. */
/* (el degradado del fondo se veía manchado: quitado; el inicio lleva foto) */
.quiz-opts:not(.quiz-fotos) .quiz-opt{border:1.5px solid var(--c-line)!important;border-radius:16px!important;background:#fff!important;
  box-shadow:0 1px 2px rgba(31,46,36,.05)!important;animation:qfIn .45s cubic-bezier(.2,.8,.2,1) both;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .18s,background .18s!important}
.quiz-opts:not(.quiz-fotos) .quiz-opt:nth-child(2){animation-delay:.05s}
.quiz-opts:not(.quiz-fotos) .quiz-opt:nth-child(3){animation-delay:.1s}
.quiz-opts:not(.quiz-fotos) .quiz-opt:nth-child(4){animation-delay:.15s}
.quiz-opts:not(.quiz-fotos) .quiz-opt:nth-child(5){animation-delay:.2s}
.quiz-opts:not(.quiz-fotos) .quiz-opt:nth-child(6){animation-delay:.25s}
.quiz-opts:not(.quiz-fotos) .quiz-opt .oi{transition:background .18s,color .18s,transform .22s}
.quiz-opts:not(.quiz-fotos) .quiz-opt .oc{transition:border-color .18s,background .18s,box-shadow .18s}
.quiz-opts:not(.quiz-fotos) .quiz-opt:hover{transform:translateY(-3px)!important;border-color:var(--c-forest)!important;
  box-shadow:0 14px 28px rgba(31,46,36,.14)!important;background:#fff!important}
.quiz-opts:not(.quiz-fotos) .quiz-opt:hover .oi{background:var(--c-forest)!important;color:#fff!important;transform:rotate(-6deg) scale(1.06)}
.quiz-opts:not(.quiz-fotos) .quiz-opt:hover .oc{border-color:var(--c-forest)!important;background:var(--c-fresh)!important;box-shadow:inset 0 0 0 4px #fff}
.quiz-opts:not(.quiz-fotos) .quiz-opt:active{transform:scale(.98)!important}
.quiz-opts:not(.quiz-fotos) .quiz-opt:focus-visible{outline:3px solid var(--c-forest);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.quiz-opts .quiz-opt{animation:none!important}
  .quiz-opts:not(.quiz-fotos) .quiz-opt,.quiz-opts:not(.quiz-fotos) .quiz-opt .oi{transition:none!important}
  .quiz-opts:not(.quiz-fotos) .quiz-opt:hover,.quiz-opts:not(.quiz-fotos) .quiz-opt:hover .oi{transform:none!important}}
/* En computadora las respuestas son TARJETAS en 2 columnas (ícono grande arriba), no una lista. */
@media(min-width:720px){
  .quiz-opts:not(.quiz-fotos){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:640px;margin-left:auto;margin-right:auto}
  .quiz-opts:not(.quiz-fotos) .quiz-opt{position:relative;display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:flex-start;gap:14px;
    min-height:132px;padding:20px 20px 18px!important;text-align:left;margin:0!important}
  .quiz-opts:not(.quiz-fotos) .quiz-opt .oi{width:52px!important;height:52px!important;border-radius:14px!important}
  .quiz-opts:not(.quiz-fotos) .quiz-opt .oi svg{width:24px;height:24px}
  .quiz-opts:not(.quiz-fotos) .quiz-opt .ot b{font-size:17px}
  .quiz-opts:not(.quiz-fotos) .quiz-opt .oc{position:absolute;top:18px;right:18px;margin:0!important}
}
.quiz-opts:not(.quiz-fotos) .quiz-opt .oi{background:var(--c-forest)!important;color:#fff!important}
.quiz-opts:not(.quiz-fotos) .quiz-opt:hover .oi{background:var(--c-fresh)!important;color:var(--c-forest)!important}

/* 19-oct-2026: reseñas con más vida (el dueño: "muy frío, muy aburrido"). */
.grev-top{display:flex!important;align-items:center;gap:22px 28px!important;flex-wrap:wrap;padding:22px 26px!important;box-shadow:0 10px 30px rgba(31,46,36,.08)}
.grev-lo{flex:1;min-width:240px;display:flex;flex-direction:column;gap:10px}
.grev-lo-t{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-forest)}
.grev-chips{display:flex;flex-wrap:wrap;gap:8px}
.grev-chips span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--c-sage);color:var(--c-forest);font-size:14px;font-weight:600;
  animation:qfIn .5s cubic-bezier(.2,.8,.2,1) both}
.grev-chips span:nth-child(2){animation-delay:.06s}.grev-chips span:nth-child(3){animation-delay:.12s}.grev-chips span:nth-child(4){animation-delay:.18s}.grev-chips span:nth-child(5){animation-delay:.24s}
.grev-chips svg{width:14px;height:14px;flex-shrink:0}
.grev-card{position:relative;overflow:hidden;box-shadow:0 2px 6px rgba(31,46,36,.06)!important;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s!important}
.grev-card::before{content:"\201C";position:absolute;top:-18px;right:14px;font-size:120px;line-height:1;font-family:Georgia,serif;color:var(--c-sage);pointer-events:none}
.grev-card>*{position:relative}
.grev-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(31,46,36,.14)!important}
.grev-av{background:var(--c-forest)!important;color:#fff!important}
@media(prefers-reduced-motion:reduce){.grev-chips span{animation:none}.grev-card{transition:none!important}.grev-card:hover{transform:none}}

/* 19-oct-2026 · js/vida.js: los bloques entran subiendo al ir bajando (sólo con JS y sin "reducir movimiento"). */
.vv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)!important;transition-delay:var(--vv-d,0s)!important}
.vv.vv-in{opacity:1;transform:none}

/* 19-oct-2026: el inicio del cuestionario con una FOTO de un trabajo real (el dueño: "horrible el fondo"). */
.qs-hero{position:relative;overflow:hidden;border-radius:24px;max-width:900px;margin:0 auto;min-height:440px;display:flex;align-items:flex-end;
  box-shadow:0 24px 60px rgba(31,46,36,.22);animation:qfIn .6s cubic-bezier(.2,.8,.2,1) both}
.qs-foto,.qs-foto picture,.qs-foto img{position:absolute;inset:0;width:100%;height:100%;display:block}
.qs-foto img{object-fit:cover;transform:scale(1.04);animation:qsZoom 14s ease-out both}
.qs-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,28,18,.15) 0%,rgba(15,28,18,.55) 45%,rgba(15,28,18,.88) 100%)}
.qs-txt{position:relative;z-index:1;width:100%;padding:44px 40px 36px;text-align:center}
.qs-hero .quiz-eyebrow{color:var(--c-fresh)!important}
.qs-hero .quiz-q{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.qs-hero .quiz-sub{color:rgba(255,255,255,.9)!important;max-width:540px;margin-left:auto;margin-right:auto}
.qs-hero .quiz-start{background:var(--c-fresh)!important;color:var(--c-forest)!important;border-color:var(--c-fresh)!important}
.qs-hero .quiz-start:hover{background:#fff!important;color:var(--c-forest)!important}
.qs-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:22px;font-size:13px;color:rgba(255,255,255,.88);font-weight:600}
@keyframes qsZoom{from{transform:scale(1.12)}to{transform:scale(1.02)}}
@media(max-width:640px){.qs-hero{min-height:480px;border-radius:18px}.qs-txt{padding:32px 20px 26px}.qs-trust{font-size:12px;gap:6px 12px}}
@media(prefers-reduced-motion:reduce){.qs-hero,.qs-foto img{animation:none}}

/* 19-oct-2026: fondo con FOTO distinta en cada pantalla del cuestionario (index.html: QBG / qBg). */
.quiz-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.quiz-bg>div{position:absolute;inset:-2%;background-size:cover;background-position:center;opacity:0;transition:opacity .7s ease}
.quiz-bg>div.on{opacity:1}
.quiz-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,28,18,.62) 0%,rgba(14,28,18,.80) 100%)}
.quiz-screen .quiz-q+.quiz-opts,.quiz-screen .quiz-sub+.quiz-opts{margin-top:22px}
.quiz-top{position:relative;z-index:2}
.quiz-scroll{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.quiz-bg>div{transition:none}}

/* 19-oct-2026 (el dueño: "esta página se ve feo"): reseñas más limpias.
   · la calificación propia (5.0, ★★★★★, 29 reseñas) en vez del mapa recortado de Google;
   · comillas dentro de la tarjeta (antes salían cortadas arriba);
   · reseñas largas a 7 renglones con "Read more". */
.grev-top .grev-oficial{display:none!important}
.grev-top .grev-glogo{display:block!important}
.grev-top .grev-glogo svg{width:40px;height:40px}
.grev-top .grev-rate{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;flex:0 0 auto;min-width:0}
.grev-top .grev-rate>b{font-size:44px;line-height:1;font-weight:700}
.grev-top .grev-stars-lg svg{width:20px;height:20px}
.grev-top .grev-sub{font-size:14px;color:var(--c-mute)}
.grev-top .grev-sub b{color:var(--c-ink)}
.grev-card::before{top:10px!important;right:18px!important;font-size:72px!important;line-height:.8!important}
.grev-card p{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px!important}
.grev-card.abierta p{-webkit-line-clamp:unset;display:block}
.grev-leer{background:none;border:0;padding:0 0 14px;font:inherit;font-size:14px;font-weight:600;color:var(--c-forest);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.grev-top .grev-rate>b{font-size:36px}}

/* ═══ 19-oct-2026 · "Book a visit": el más bonito y funcional (el dueño) ═══════════════════════
   Sprout (la hojita de la marca) guía cada paso; el inicio es la foto a pantalla completa; la
   opción tocada se marca antes de avanzar; "Back" es un botón; la barra avanza con suavidad. */
.quiz-prog-f{background:var(--c-forest)!important;box-shadow:none!important;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.quiz-prog{background:var(--c-sage)!important;height:6px!important;border-radius:999px;overflow:hidden}
.quiz-screen{position:relative}
/* Sprout */
.sp-guia{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin:0 auto 14px;max-width:560px;animation:qfIn .5s cubic-bezier(.2,.8,.2,1) both}
.sp-fig{width:64px;flex-shrink:0;animation:spEntra .6s cubic-bezier(.34,1.56,.64,1) both}
.sp-fig svg{width:100%;height:auto;display:block;overflow:visible}
.sp-globo{position:relative;margin:0 0 18px;background:#fff;color:var(--c-ink);border:1.5px solid var(--c-line);border-radius:16px 16px 16px 4px;padding:10px 14px;font-size:15px;line-height:1.4;
  box-shadow:0 6px 16px rgba(31,46,36,.10);text-align:left;animation:qfIn .45s .15s cubic-bezier(.2,.8,.2,1) both}
.sp-sombra{fill:rgba(31,46,36,.18)}
.sp-hoja{fill:#6f9e57}.sp-luz{fill:#8dbb6f}.sp-nervio{fill:none;stroke:#2e4634;stroke-width:2.4;stroke-linecap:round;opacity:.55}
.sp-pie,.sp-brazo-i path,.sp-brazo-d path{fill:none;stroke:#2e4634;stroke-width:4;stroke-linecap:round}
.sp-brazo-i circle,.sp-brazo-d circle{fill:#2e4634}
.sp-ojos ellipse{fill:#fff}.sp-pupila{fill:#1f2e24}.sp-brillo{fill:#fff}
.sp-cachete{fill:#f0a3a0;opacity:.7}.sp-boca{fill:none;stroke:#1f2e24;stroke-width:2.6;stroke-linecap:round}
.sp-cuerpo{transform-origin:60px 140px;animation:spMece 3.2s ease-in-out infinite}
.sp-brazo-d{transform-origin:90px 74px;animation:spSaluda 1.6s ease-in-out infinite}
.sp-ojos{transform-origin:60px 66px;animation:spParpadea 4s infinite}
@keyframes spEntra{0%{opacity:0;transform:translateY(18px) scale(.6)}100%{opacity:1;transform:none}}
@keyframes spMece{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes spSaluda{0%,60%,100%{transform:rotate(0)}15%{transform:rotate(-22deg)}30%{transform:rotate(8deg)}45%{transform:rotate(-16deg)}}
@keyframes spParpadea{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
@media(min-width:720px){.sp-fig{width:84px}.sp-globo{font-size:16px}}
/* Inicio: la foto a pantalla completa con capa oscura, texto blanco, Sprout saluda */
.quiz-ov[data-pant="start"] .quiz-bg::after{background:linear-gradient(180deg,rgba(15,28,18,.35) 0%,rgba(15,28,18,.72) 100%)}
.quiz-ov[data-pant="start"] .qs-hero{background:none!important;box-shadow:none!important;min-height:0;animation:none}
.quiz-ov[data-pant="start"] .qs-txt{padding:10px 20px 20px}
.quiz-ov[data-pant="start"] .sp-globo{background:rgba(255,255,255,.96);border-color:transparent}
.quiz-ov[data-pant="start"] .qs-hero .quiz-q{font-size:clamp(32px,5.4vw,56px)}
/* La opción tocada se marca antes de avanzar */
.quiz-opts .quiz-opt.elegida{border-color:var(--c-forest)!important;background:var(--c-sage)!important;transform:scale(.97)!important}
.quiz-opts .quiz-opt.elegida .oc{background:var(--c-forest)!important;border-color:var(--c-forest)!important;box-shadow:none!important;position:relative}
.quiz-opts .quiz-opt.elegida .oc::after{content:"";position:absolute;left:50%;top:45%;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translate(-50%,-50%) rotate(45deg)}
.quiz-fotos .quiz-opt.qf.elegida{border-color:var(--c-fresh)!important}
.quiz-fotos .quiz-opt.qf.elegida .oc{background:var(--c-fresh)!important;border-color:#fff!important}
/* Back como botón */
.quiz-back{display:inline-flex!important;align-items:center;gap:6px;min-height:44px;padding:0 18px!important;border-radius:999px!important;background:rgba(255,255,255,.85)!important;
  border:1.5px solid var(--c-line)!important;color:var(--c-forest)!important;font-weight:600;transition:background .18s,border-color .18s}
.quiz-back:hover{background:#fff!important;border-color:var(--c-forest)!important}
.quiz-back svg{width:16px;height:16px}
@media(prefers-reduced-motion:reduce){.sp-guia,.sp-fig,.sp-globo,.sp-cuerpo,.sp-brazo-d,.sp-ojos{animation:none!important}.quiz-prog-f{transition:none}}
.quiz-ov[data-pant="start"] .sp-fig{background:rgba(255,255,255,.94);border-radius:50%;padding:8px 10px 4px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
/* Datos de contacto y el plan final: en una tarjeta blanca sobre la foto (se lee mejor que campos sueltos). */
.quiz-screen.tall{background:rgba(255,255,255,.93);border-radius:22px;padding:22px 26px 26px;box-shadow:0 18px 44px rgba(31,46,36,.16);margin-top:14px;margin-bottom:24px}
@media(max-width:640px){.quiz-screen.tall{padding:16px 14px 20px;border-radius:18px}}

/* 19-oct-2026 · Sprout jardinera con poses; al COSTADO en pantallas anchas (todas las opciones a la vista sin bajar). */
.sp-apunta{animation:spApunta 1.4s ease-in-out infinite}
.sp-idea{animation:spIdea 2.2s ease-in-out infinite}
.sp-celebra .sp-cuerpo{animation:spSalta .9s ease-in-out infinite!important}
@keyframes spApunta{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@keyframes spIdea{0%,100%{transform:translateY(0);opacity:.85}50%{transform:translateY(-3px);opacity:1}}
@keyframes spSalta{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.sp-lado{display:none}
/* Celular y tablet: pequeña, en una sola fila arriba de la pregunta */
.sp-en-linea{margin-bottom:6px!important}
.sp-en-linea .sp-fig{width:46px!important}
.sp-en-linea .sp-globo{font-size:14px!important;margin-bottom:8px!important;padding:8px 12px!important}
/* Pantallas anchas: al costado izquierdo, abajo, sin empujar las opciones */
@media(min-width:1100px) and (min-height:560px){
  .sp-en-linea{display:none!important}
  .sp-lado{display:flex;flex-direction:column;align-items:center;gap:6px;position:absolute;left:28px;bottom:64px;width:190px;z-index:2;pointer-events:none;
    animation:qfIn .5s cubic-bezier(.2,.8,.2,1) both}
  .sp-lado .sp-fig{width:132px}
  .sp-lado .sp-fig svg{width:100%;height:auto;display:block;overflow:visible}
  .sp-lado .sp-globo{margin:0;border-radius:16px 16px 16px 16px;font-size:15px;text-align:center;position:relative}
  .sp-lado .sp-globo::after{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:14px;background:inherit;border-right:1.5px solid var(--c-line);border-bottom:1.5px solid var(--c-line);transform:translateX(-50%) rotate(45deg)}
  .quiz-ov[data-pant="start"] .sp-lado .sp-fig{background:rgba(255,255,255,.94);border-radius:50%;padding:12px 14px 6px;width:150px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
}
/* La primera pregunta: las 6 fotos en 3 columnas (se ven todas sin bajar) */
@media(min-width:900px){
  .quiz-screen:has(.quiz-fotos){max-width:980px}
  .quiz-opts.quiz-fotos{grid-template-columns:repeat(3,minmax(0,1fr));max-width:940px}
  .quiz-screen{padding-top:26px!important;padding-bottom:26px!important}
}
@media(prefers-reduced-motion:reduce){.sp-apunta,.sp-idea,.sp-celebra .sp-cuerpo,.sp-lado{animation:none!important}}
@media(max-width:560px){
  .quiz-fotos .quiz-opt.qf{aspect-ratio:4/3!important}
  .quiz-screen{padding-top:18px!important;padding-bottom:18px!important}
  .quiz-screen:has(.quiz-fotos) .quiz-sub{display:none}
}

/* 19-oct-2026 · medido en 10 tamaños (360×640 … 1920×1080): que ninguna pregunta obligue a bajar. */
/* Tablet y pantallas bajas: las fotos de la 1ª pregunta más apaisadas */
@media(min-width:561px) and (max-width:1099px){.quiz-fotos .quiz-opt.qf{aspect-ratio:2/1}}
@media(min-width:900px) and (max-height:820px){.quiz-fotos .quiz-opt.qf{aspect-ratio:2/1}}
/* Laptop: Sprout al costado sin tapar la grilla de fotos (la grilla deja su lugar) y un poco más chico */
@media(min-width:1100px) and (min-height:560px){
  .quiz-screen:has(.quiz-fotos){max-width:min(980px,calc(100vw - 380px))}
  .sp-lado{left:16px;width:160px}
  .sp-lado .sp-fig{width:112px}
  .sp-lado .sp-globo{font-size:14px;padding:8px 12px}
}
/* Celulares chicos (alto ≤ 700): sin la fila de Sprout ni el subtítulo, todo más compacto */
@media(max-width:560px) and (max-height:700px){
  .sp-en-linea{display:none!important}
  .quiz-screen .quiz-sub{display:none}
  .quiz-q{font-size:22px!important;margin-bottom:6px!important}
  .quiz-screen .quiz-q+.quiz-opts,.quiz-screen .quiz-sub+.quiz-opts{margin-top:12px}
  .quiz-opts:not(.quiz-fotos){gap:8px!important}
  .quiz-opts:not(.quiz-fotos) .quiz-opt{padding:10px 14px!important;min-height:0}
  .quiz-opts:not(.quiz-fotos) .quiz-opt .oi{width:38px!important;height:38px!important}
  .quiz-fotos .quiz-opt.qf{aspect-ratio:3/2!important}
  .quiz-back{min-height:40px;margin-top:10px}
  .quiz-screen{padding-top:12px!important;padding-bottom:12px!important}
}
@media(max-width:560px) and (max-height:700px){.quiz-ov[data-pant="start"] .sp-en-linea{display:flex!important}}

/* ═══ 20-oct-2026 · TODAS las preguntas con el mismo diseño que el inicio (el dueño: "están sin diseño") ═══
   Antes: foto lavada bajo una capa crema al 78 % (se veía borrosa y apagada), tarjetas casi vacías y el
   mismo ícono repetido. Ahora: la foto se ve, con una capa verde bosque; la pregunta en blanco; cada
   respuesta con su propio dibujo y una línea que explica; la frecuencia con un mes pintado. */
.quiz-ov:not([data-pant="start"]) .quiz-screen:not(.tall):not(.tarjeta) .quiz-q{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.35)}
.quiz-ov:not([data-pant="start"]) .quiz-screen:not(.tall):not(.tarjeta) .quiz-sub{color:rgba(255,255,255,.88)!important;margin-left:auto;margin-right:auto}
.quiz-ov:not([data-pant="start"]) .quiz-screen:not(.tall):not(.tarjeta) .quiz-eyebrow{color:var(--c-fresh)!important}
.quiz-screen:not(.tall):not(.tarjeta) .quiz-back{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.4)!important;color:#fff!important;backdrop-filter:blur(6px)}
.quiz-screen:not(.tall):not(.tarjeta) .quiz-back:hover{background:#fff!important;color:var(--c-forest)!important;border-color:#fff!important}
/* Las tarjetas: blancas y llenas (dibujo + título + explicación), con un borde verde claro al pasar */
.quiz-opts:not(.quiz-fotos) .quiz-opt{border:2px solid transparent!important;box-shadow:0 10px 28px rgba(0,0,0,.22)!important}
.quiz-opts:not(.quiz-fotos) .quiz-opt:hover{border-color:var(--c-fresh)!important;box-shadow:0 18px 36px rgba(0,0,0,.30)!important}
.quiz-opts:not(.quiz-fotos) .quiz-opt .ot b{line-height:1.25}
.quiz-opts:not(.quiz-fotos) .quiz-opt .ot>span{display:block;margin-top:4px;font-size:14px;line-height:1.4}
.quiz-opts .quiz-opt.elegida{border-color:var(--c-fresh)!important}
@media(min-width:720px){
  .quiz-opts:not(.quiz-fotos){max-width:720px}
  .quiz-opts:not(.quiz-fotos) .quiz-opt{min-height:0;gap:12px;padding:18px 20px!important}
  .quiz-opts.quiz-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:820px}
}
/* El mes en 4 semanas: las visitas pintadas */
.q-mes{display:flex!important;gap:5px;margin-top:12px!important}
.q-mes i{display:block;width:22px;height:8px;border-radius:999px;background:var(--c-sage)}
.q-mes i.on{background:var(--c-forest)}
.quiz-opt:hover .q-mes i.on,.quiz-opt.elegida .q-mes i.on{background:var(--c-fresh)}
/* Contacto, plan, gracias: tarjeta blanca centrada sobre la foto */
.quiz-screen.tarjeta{background:rgba(255,255,255,.96);border-radius:22px;padding:30px 28px!important;box-shadow:0 18px 44px rgba(0,0,0,.28);flex:0 0 auto;margin:auto;max-width:560px}
.quiz-screen.tarjeta .quiz-back{margin-top:14px}
@media(max-width:640px){.quiz-screen.tarjeta{margin:auto 12px;padding:24px 18px!important}}
/* Sprout: su globo y el dibujo se leen sobre la foto oscura */
.sp-lado .sp-fig{filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.sp-guia .sp-globo,.sp-lado .sp-globo{border-color:transparent!important;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.sp-en-linea .sp-fig{background:rgba(255,255,255,.94);border-radius:50%;padding:4px 5px 1px}
/* Gracias / reservado / cancelado: el botón y la marca de listo en verde bosque sobre la tarjeta blanca */
.quiz-screen.tarjeta>svg{color:var(--c-forest)!important}
.quiz-screen.tarjeta .btn-ghost{background:var(--c-forest)!important;color:#fff!important;border-color:var(--c-forest)!important}
.quiz-screen.tarjeta .btn-ghost:hover{background:var(--c-fresh)!important;color:var(--c-forest)!important;border-color:var(--c-fresh)!important}
.quiz-screen.tarjeta .quiz-sub{margin-left:auto;margin-right:auto}
/* Sprout al costado: en un círculo claro, que no se pierda sobre la foto oscura */
@media(min-width:1100px) and (min-height:560px){
  .quiz-ov:not([data-pant="start"]) .sp-lado .sp-fig{background:rgba(255,255,255,.94);border-radius:50%;padding:10px 12px 4px;box-shadow:0 10px 24px rgba(0,0,0,.3);filter:none}
}
/* Pantallas bajas (laptop de 13", alto ≤ 760): todo más junto para que "Back" no quede abajo del borde */
@media(min-width:720px) and (max-height:760px){
  .quiz-screen{padding-top:14px!important;padding-bottom:14px!important}
  .quiz-q{font-size:clamp(26px,3.4vw,36px)!important;margin-bottom:6px!important}
  .quiz-screen .quiz-sub{margin-bottom:0!important}
  .quiz-screen .quiz-q+.quiz-opts,.quiz-screen .quiz-sub+.quiz-opts{margin-top:16px}
  .quiz-opts:not(.quiz-fotos){gap:12px!important}
  .quiz-opts:not(.quiz-fotos) .quiz-opt{padding:14px 18px!important;gap:8px}
  .quiz-opts:not(.quiz-fotos) .quiz-opt .oi{width:42px!important;height:42px!important;border-radius:12px!important}
  .quiz-opts:not(.quiz-fotos) .quiz-opt .oi svg{width:21px;height:21px}
  .quiz-opts:not(.quiz-fotos) .quiz-opt .oc{top:14px;right:14px}
  .quiz-back{margin-top:14px!important}
}

/* Migración 19 (20-oct-2026): aviso de SMS bajo el celular y foco del título del cuestionario. */
.q-consent{font-size:13px;line-height:1.45;margin:7px 0 0;color:var(--c-ink-2);font-weight:400;text-transform:none;letter-spacing:0}
.q-consent a{color:inherit;text-decoration:underline}
.quiz-q:focus:not(:focus-visible){outline:none}

/* Lawn & Garden Guide (22-oct-2026): /guides y sus 6 guías. Mismos colores y
   tipografía de siempre; sólo la lectura larga (columna angosta, pasos
   numerados, calendario) y las tarjetas del índice. */
.hero.guide-hero{min-height:clamp(440px,64vh,620px)}
.hero.guide-hero h1{max-width:20ch!important;font-size:clamp(2rem,4.6vw,3.6rem)!important;line-height:1.02!important}
.hero.guide-hero p{max-width:58ch;font-size:clamp(16px,2vw,19px)}
.guide .wrap{max-width:780px}
.sec.guide{padding-top:44px}
@media(min-width:900px){.sec.guide{padding-top:64px}}
.guide-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:14px;color:var(--c-mute);margin:0 0 8px}
@media(max-width:560px){.guide-meta{flex-direction:column;gap:2px}.guide-meta span[aria-hidden]{display:none}}
.guide-body h2,.guide h2{font-size:clamp(1.35rem,2.6vw,1.75rem);font-weight:600;line-height:1.2;color:var(--c-forest);margin:2.3rem 0 .7rem;letter-spacing:-.01em;text-transform:none;max-width:none}
.guide p,.guide li{font-size:17px;line-height:1.7;color:var(--c-ink)}
.guide p{margin:0 0 1rem}
.guide ul,.guide ol{margin:0 0 1.2rem;padding-left:1.35rem}
.guide li{margin:0 0 .7rem;padding-left:.2rem}
.guide ol.g-steps{list-style:none;counter-reset:paso;padding-left:0}
.guide ol.g-steps>li{counter-increment:paso;position:relative;padding:0 0 0 52px;margin:0 0 1.1rem}
.guide ol.g-steps>li::before{content:counter(paso);position:absolute;left:0;top:-1px;width:36px;height:36px;border-radius:50%;background:var(--c-forest);color:#fff;font-weight:600;font-size:16px;display:grid;place-items:center}
.guide a{color:var(--c-forest);text-decoration:underline;text-underline-offset:3px}
.guide-note{background:var(--c-sage);border-left:4px solid var(--c-forest);border-radius:10px;padding:16px 18px;margin:1.6rem 0 0}
.cal{display:grid;grid-template-columns:1fr;gap:12px;margin:0 0 1rem}
@media(min-width:640px){.cal{grid-template-columns:1fr 1fr}}
.cal-m{background:#fff;border-radius:var(--r);padding:18px 20px}
.cal-m h3{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-forest);margin:0 0 6px}
.cal-m p{font-size:16px;line-height:1.6;margin:0}
.guide-more .guide-rel{font-size:16px;margin:0 0 12px;color:var(--c-ink)}
.guide-more .guide-rel a{color:var(--c-forest);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:10px 0}
.guide-more .chips{margin-top:4px}
.guide-more a.chip{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.sec.guide-rel-svc{padding:34px 0;border-top:1px solid var(--c-line)}
.sec.guide-rel-svc p{margin:0;font-size:16px;color:var(--c-ink)}
.sec.guide-rel-svc a{color:var(--c-forest);font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:10px 0}
.guide-line{margin:26px 0 0;font-size:16px;color:var(--c-ink-2)}
.guide-line a{color:var(--c-forest);font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:10px 0}
.g-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:700px){.g-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.g-grid{grid-template-columns:1fr 1fr 1fr}}
.g-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;color:var(--c-ink);text-decoration:none;transition:transform .15s ease}
.g-card:hover{transform:translateY(-3px)}
.g-card:focus-visible{outline:2px solid var(--c-forest);outline-offset:3px}
.g-card-media{aspect-ratio:4/3;overflow:hidden;background:var(--c-sage)}
.g-card-media img{width:100%;height:100%;object-fit:cover}
.g-card-body{display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px;flex:1}
.g-card-body h2{font-size:1.2rem;font-weight:600;line-height:1.25;color:var(--c-forest);text-transform:none;letter-spacing:-.01em;margin:0;max-width:none}
.g-card-body p{font-size:15.5px;line-height:1.55;color:var(--c-ink-2);margin:0}
.g-card-go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:6px;font-weight:600;font-size:15px;color:var(--c-forest)}
.g-card-go svg{width:16px;height:16px}
@media(prefers-reduced-motion:reduce){.g-card{transition:none}.g-card:hover{transform:none}}
