@font-face{font-family:'Noto Sans';src:url('/assets/fonts/noto-sans-latin-greek-cyrillic.51ca196f49a3.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0,U+D,U+20-7E,U+A0-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+300-301,U+303-304,U+308-309,U+323,U+329,U+2002,U+2009,U+200B,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';src:url('/assets/fonts/space-grotesk.0640890476fc.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans.9fea608a947e.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
:root{--color-canvas:#FFF8F4;--color-surface:#FFFFFF;--color-surface-alt:#FFEDD5;--color-ink:#2B1B17;--color-muted:#695650;--color-line:#8A746D;--color-brand:#C2410C;--color-brand-deep:#9A3412;--color-brand-soft:#FFEDD5;--color-accent:#22D3EE;--color-on-brand:#FCFCFD;--color-on-accent:#121826;--color-focus:#0369A1;--color-positive:#15803D;--color-danger:#B91C1C;--font-display:'Space Grotesk','Noto Sans',sans-serif;--font-body:'DM Sans','Noto Sans',sans-serif;--radius-xs:3px;--radius-sm:7px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--shadow-rest:0 1px 2px rgba(15,23,42,.08);--shadow-raised:0 12px 28px rgba(15,23,42,.12);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:20px;--space-5:32px;--space-6:48px;--section-gap:clamp(40px,6vw,80px);--control-height:46px;--type-caption:.75rem;--type-body:1rem;--type-lead:1.125rem;--type-section:clamp(1.75rem,3vw,2.75rem);--type-display:clamp(2.5rem,6vw,5.5rem);--measure:68ch}
/* FARO-011B · cinco productos visuales sobre un único árbol semántico. */
:root{
  --bg:var(--color-canvas);--paper:var(--color-surface);--ink:var(--color-ink);
  --ink-soft:var(--color-ink);--muted:var(--color-muted);--line:var(--color-line);
  --line-soft:var(--color-surface-alt);--accent:var(--color-brand);
  --accent-strong:var(--color-brand);--accent-deep:var(--color-brand-deep);
  --accent-50:var(--color-brand-soft);--accent-100:var(--color-brand-soft);
  --pin:var(--color-accent);--success:var(--color-positive);--danger:var(--color-danger);
  --focus:0 0 0 3px color-mix(in srgb,var(--color-focus) 42%,transparent);
}
body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);
  font-weight:400;font-variation-settings:"wght" 400}
body[data-layout]{
  --radius:var(--radius-md);--pill:var(--radius-pill);
  --shadow-sm:var(--shadow-rest);--shadow-hover:var(--shadow-raised);
  font-size:var(--type-body)}
h1,h2,h3,.brand,.trust-stat dt,.region-card-mark{font-family:var(--font-display)}
h1,h2,h3{font-weight:700;font-variation-settings:"wght" 700}
body[data-layout] h1{font-size:var(--type-display)}
body[data-layout] h2{font-size:var(--type-section)}
body[data-layout] .lede{font-size:var(--type-lead)}
body[data-layout] .eyebrow{font-size:var(--type-caption)}
a{color:var(--color-brand)}a:hover{color:var(--color-brand-deep)}
.button,.search-form button,.header-search button{background:var(--color-brand);border-color:var(--color-brand);
  color:var(--color-on-brand)}
.button:hover,.search-form button:hover,.header-search button:hover{background:var(--color-brand-deep);
  border-color:var(--color-brand-deep);color:var(--color-on-brand)}
.button--ghost{background:var(--color-surface);border-color:var(--color-line);color:var(--color-brand)}
.button--light{background:var(--color-surface);border-color:var(--color-surface);color:var(--color-brand)}
.site-header{background:color-mix(in srgb,var(--color-surface) 92%,transparent)}
.brand-mark{background:var(--color-brand);color:var(--color-on-brand);box-shadow:none}
.brand-mark svg{fill:none;stroke:currentColor}
.brand-logo{display:block;max-inline-size:min(220px,38vw);block-size:38px;object-fit:contain;object-position:center}
.footer-logo .brand-logo{max-inline-size:220px;block-size:42px}
.site-footer{background:var(--color-ink);color:var(--color-canvas)}
.placeholder-image{overflow:hidden;background:var(--color-brand-deep);color:var(--color-on-brand);box-shadow:none}
.placeholder-image::before{position:absolute;inset-block:12%;inset-inline:14%;z-index:-1;
  border:1px solid color-mix(in srgb,var(--color-on-brand) 32%,transparent);content:"";
  transform:rotate(-6deg)}
.placeholder-image::after{inset-block:auto -18%;inset-inline:auto -8%;inline-size:52%;
  border:2px solid color-mix(in srgb,var(--color-on-brand) 24%,transparent);border-radius:0;
  box-shadow:none;transform:rotate(12deg)}
.placeholder-orb{border-radius:var(--radius-sm);background:transparent;box-shadow:none}
.home-cta{background:var(--color-brand-soft)}
.map-preview,.map-static-preview{background:var(--color-brand-soft)}
.map-preview::before,.map-static-preview::before{inset:14%;border:1px solid
  color-mix(in srgb,var(--color-brand) 28%,transparent);background:none;transform:rotate(-5deg)}
.map-preview::after,.map-static-preview::after{inset:28% 24%;border-radius:0;box-shadow:none}
.ad-slot--preview{background:var(--color-surface-alt)}
.map-preview-pin,.map-static-pin,.directory-map-pin{background:var(--color-accent);color:var(--color-on-accent)}
body[data-layout] .rating-chip small{opacity:1}
body[data-layout] .rating-source{color:var(--color-muted)}
body[data-layout] .footer-grid>*{min-width:0}
body[data-layout] .footer-col{overflow-wrap:anywhere}
body[data-layout] .home-content,body[data-layout] .region-page,body[data-layout] .city-mode-page,
body[data-layout] .city-directory-grid,body[data-layout] .business-hero,
body[data-layout] .business-content-grid,body[data-layout] .listing-panel,
body[data-layout] .business-hero-copy,body[data-layout] .business-card-body{min-width:0}
body[data-layout] .business-hero-image{max-width:100%;min-width:0;overflow:hidden}
body[data-layout] .business-hero-image picture,body[data-layout] .business-hero-image img,
body[data-layout] .business-card-media picture,body[data-layout] .business-card-media img{
  display:block;width:100%;height:100%;object-fit:cover}
body[data-layout] :is(.card,.business-card,.search-result-card,.step,.product-panel,
  .contact-form,.contact-fallback,.detail-panel,.contact-card){box-shadow:var(--shadow-rest)}
body[data-layout] :is(.card,.business-card,.search-result-card):hover{box-shadow:var(--shadow-raised)}

/* Atlas · el territorio es la interfaz y el mapa funciona como tabla de contenidos. */
body[data-layout="atlas"] .hero{position:relative;overflow:hidden;text-align:start;background:var(--color-brand-soft)}
body[data-layout="atlas"] .hero::before{position:absolute;inset-block:0;inset-inline-end:18%;
  inline-size:22%;border-inline:1px solid color-mix(in srgb,var(--color-brand) 24%,transparent);
  background:color-mix(in srgb,var(--color-surface) 32%,transparent);content:""}
body[data-layout="atlas"] .hero::after{position:absolute;inset-block-start:-18rem;inset-inline-end:-8vw;
  width:38rem;aspect-ratio:1;
  border:1px solid color-mix(in srgb,var(--color-brand) 28%,transparent);border-radius:50%;
  box-shadow:none;content:""}
body[data-layout="atlas"] .hero-inner{position:relative;z-index:1;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,.48fr);grid-template-areas:
  "eyebrow legend" "title legend" "lede legend" "search legend";column-gap:44px;max-width:1060px;text-align:start}
body[data-layout="atlas"] .hero-inner .eyebrow{grid-area:eyebrow}
body[data-layout="atlas"] .hero-inner h1{grid-area:title;max-width:15ch;margin:0;font-size:clamp(2.15rem,5vw,4.5rem)}
body[data-layout="atlas"] .hero-inner .lede{grid-area:lede;margin-block:18px 0}
body[data-layout="atlas"] .search-form--hero{grid-area:search;margin-block:28px 0}
body[data-layout="atlas"] .trust-stats{grid-area:legend;align-self:center;display:grid;justify-content:stretch;margin:0}
body[data-layout="atlas"] .trust-stat{max-width:none;border-radius:var(--radius-sm);
  border-inline-start:3px solid var(--color-brand)}
body[data-layout="atlas"] .home-content{display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:0 28px}
body[data-layout="atlas"] .home-block--directory,body[data-layout="atlas"] .home-content>.ad-slot,
body[data-layout="atlas"] .home-cta{grid-column:1/-1}
body[data-layout="atlas"] .home-block--cities{grid-column:1}
body[data-layout="atlas"] .home-block--steps{grid-column:2}
body[data-layout="atlas"] .home-content:not(:has(>.home-block--cities))>.home-block--steps{grid-column:1/-1}
body[data-layout="atlas"] .steps-grid{grid-template-columns:1fr}
body[data-layout="atlas"] .region-card-mark{border-radius:3px;background:var(--color-ink);color:var(--color-canvas)}
body[data-layout="atlas"] .region-card{border-inline-start:3px solid var(--color-brand)}
body[data-layout="atlas"] .region-page{display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:32px}
body[data-layout="atlas"] .region-page>*{grid-column:1/-1}
body[data-layout="atlas"] .region-page>.region-guide,body[data-layout="atlas"] .region-page>.faq{grid-column:1}
body[data-layout="atlas"] .region-page>.link-chips{grid-column:2;align-self:start;margin-block-start:48px}
body[data-layout="atlas"] .city-mode-page{display:grid;
  grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:20px 28px}
body[data-layout="atlas"] .city-mode-page>.directory-hero,body[data-layout="atlas"] .city-mode-page>.home-block,
body[data-layout="atlas"] .city-mode-page>.business-hero{grid-column:1/-1}
body[data-layout="atlas"] .city-mode-page>.search-form{grid-column:1;margin-block-start:0}
body[data-layout="atlas"] .city-mode-page>.search-results{grid-column:2}
body[data-layout="atlas"] .city-directory-grid{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr)}
body[data-layout="atlas"] .directory-hero{position:relative;padding-inline-start:24px;
  border-inline-start:3px solid var(--color-brand)}
body[data-layout="atlas"] .directory-map-panel{border-radius:5px}
body[data-layout="atlas"] .business-hero{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}
body[data-layout="atlas"] .business-hero-image{outline:1px solid var(--color-line);outline-offset:7px}
body[data-layout="atlas"] .content-grid{display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,.42fr);gap:var(--space-6)}
body[data-layout="atlas"] .content-grid>.sidebar{align-self:start;border-inline-start:1px solid var(--color-line);
  padding-inline-start:var(--space-4)}
body[data-layout="atlas"] .search-page{max-width:1180px}
body[data-layout="atlas"] .search-results{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-layout="atlas"] .narrow{margin-inline:0 auto}

/* Editorial · revista asimétrica, lectura larga y resultados como artículos. */
body[data-layout="editorial"] .shell{width:min(1120px,calc(100% - 48px))}
body[data-layout="editorial"] .site-header{position:relative;border-block-start:5px solid var(--color-brand)}
body[data-layout="editorial"] .hero{padding:92px 0 72px;background:var(--color-canvas)}
body[data-layout="editorial"] .hero-inner{display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(240px,.75fr);grid-template-areas:
  "eyebrow search" "title search" "lede search" "stats stats";column-gap:70px;max-width:none;text-align:start}
body[data-layout="editorial"] .hero-inner .eyebrow{grid-area:eyebrow}
body[data-layout="editorial"] .hero-inner h1{grid-area:title;max-width:13ch;margin:0;font-size:clamp(2.6rem,6vw,5.4rem)}
body[data-layout="editorial"] .hero-inner .lede{grid-area:lede;margin-block:22px 0;font-size:1.18rem}
body[data-layout="editorial"] .search-form--hero{grid-area:search;align-self:end;margin:0}
body[data-layout="editorial"] .trust-stats{grid-area:stats;justify-content:flex-start;
  border-block-start:1px solid var(--color-line);padding-block-start:24px}
body[data-layout="editorial"] .trust-stat{padding-block:6px;padding-inline:0 28px;border:0;
  border-inline-end:1px solid var(--color-line);
  border-radius:0;background:transparent}
body[data-layout="editorial"] .home-content{display:grid;
  grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:0 48px}
body[data-layout="editorial"] .home-block--directory,body[data-layout="editorial"] .home-content>.ad-slot,
body[data-layout="editorial"] .home-cta{grid-column:1/-1}
body[data-layout="editorial"] .home-block--cities{grid-column:1}
body[data-layout="editorial"] .home-block--steps{grid-column:2}
body[data-layout="editorial"] .home-content:not(:has(>.home-block--cities))>.home-block--steps{grid-column:1/-1}
body[data-layout="editorial"] .section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:start;
  padding-block-start:18px;border-block-start:2px solid var(--color-ink)}
body[data-layout="editorial"] .card,body[data-layout="editorial"] .business-card,
body[data-layout="editorial"] .step{border-radius:0;box-shadow:none}
body[data-layout="editorial"] .region-card-mark{background:transparent;color:var(--color-brand);
  border-inline-end:1px solid var(--color-line);border-radius:0}
body[data-layout="editorial"] .region-page{display:grid;
  grid-template-columns:minmax(80px,140px) minmax(0,1fr);column-gap:34px}
body[data-layout="editorial"] .region-page>*{grid-column:2}
body[data-layout="editorial"] .city-mode-page{display:grid;
  grid-template-columns:minmax(90px,180px) minmax(0,1fr);column-gap:34px}
body[data-layout="editorial"] .city-mode-page>*{grid-column:2}
body[data-layout="editorial"] .city-directory-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:44px}
body[data-layout="editorial"] .city-directory-grid>.directory-map-panel{grid-column:2;grid-row:1}
body[data-layout="editorial"] .city-directory-grid>.listing-panel{grid-column:1;grid-row:1}
body[data-layout="editorial"] .listing{grid-template-columns:1fr}
body[data-layout="editorial"] .listing .business-card{display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,190px)}
body[data-layout="editorial"] .listing .business-card-media{grid-column:2;grid-row:1;aspect-ratio:auto;min-height:150px}
body[data-layout="editorial"] .listing .business-card-body{grid-column:1;grid-row:1;padding:18px 20px}
body[data-layout="editorial"] .editorial{max-width:68ch;font-size:1.045rem;line-height:1.78}
body[data-layout="editorial"] .business-hero{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:64px;
  align-items:start;padding-block-start:42px}
body[data-layout="editorial"] .business-hero-image{transform:translateY(32px)}
body[data-layout="editorial"] .business-content-grid{grid-template-columns:minmax(0,1fr) 270px;gap:64px}
body[data-layout="editorial"] .content-grid{display:grid;
  grid-template-columns:minmax(0,1fr) 270px;gap:64px}
body[data-layout="editorial"] .page-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.34fr);
  gap:var(--space-5);padding-block-end:var(--space-5);border-block-end:2px solid var(--color-ink)}
body[data-layout="editorial"] .page-heading>*{grid-column:1}
body[data-layout="editorial"] .narrow{max-width:var(--measure);margin-inline:10% auto}
body[data-layout="editorial"] :is(.contact-form,.contact-fallback){
  border:0;border-inline-start:3px solid var(--color-brand);border-radius:0;box-shadow:none}
body[data-layout="editorial"] .business-grid{grid-template-columns:1fr}
body[data-layout="editorial"] .business-grid>.business-card{
  border:0;border-block-end:1px solid var(--color-line);border-radius:0}
body[data-layout="editorial"] .search-result-card{
  border:0;border-block-end:1px solid var(--color-line);border-radius:0;box-shadow:none}
body[data-layout="editorial"] .sidebar{padding-block-start:var(--space-4);
  border-block-start:4px solid var(--color-brand)}

/* Utility · dashboard funcional, filtros y datos con alta señal. */
body[data-layout="utility"]{font-variant-numeric:tabular-nums}
body[data-layout="utility"] .hero{padding:48px 0 38px;background:var(--color-surface-alt)}
body[data-layout="utility"] .hero-inner{display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(250px,.82fr);grid-template-areas:
  "eyebrow metrics" "title metrics" "lede metrics" "search metrics";gap:0 34px;max-width:1100px;text-align:start}
body[data-layout="utility"] .hero-inner .eyebrow{grid-area:eyebrow}
body[data-layout="utility"] .hero-inner h1{grid-area:title;margin-inline-start:0}
body[data-layout="utility"] .hero-inner .lede{grid-area:lede;margin-inline-start:0}
body[data-layout="utility"] .search-form--hero{grid-area:search;max-width:760px;margin-inline-start:0}
body[data-layout="utility"] .trust-stats{grid-area:metrics;align-self:stretch;display:grid;margin:0}
body[data-layout="utility"] .trust-stat{max-width:none;padding:10px 14px;border-width:2px;border-radius:6px;
  background:var(--color-surface)}
body[data-layout="utility"] .home-content{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px}
body[data-layout="utility"] .home-block--directory,body[data-layout="utility"] .home-content>.ad-slot,
body[data-layout="utility"] .home-cta{grid-column:1/-1}
body[data-layout="utility"] .home-block--cities{grid-column:1/8}
body[data-layout="utility"] .home-block--steps{grid-column:8/-1}
body[data-layout="utility"] .home-content:not(:has(>.home-block--cities))>.home-block--steps{grid-column:1/-1}
body[data-layout="utility"] .steps-grid{grid-template-columns:1fr}
body[data-layout="utility"] .card,body[data-layout="utility"] .business-card,
body[data-layout="utility"] .directory-map-panel{border-width:2px;box-shadow:none}
body[data-layout="utility"] .region-page{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
body[data-layout="utility"] .region-page>*{grid-column:1/-1}
body[data-layout="utility"] .region-page>.directory-hero{grid-column:1/9}
body[data-layout="utility"] .city-mode-page{display:grid;
  grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px 24px}
body[data-layout="utility"] .city-mode-page>.directory-hero,body[data-layout="utility"] .city-mode-page>.home-block,
body[data-layout="utility"] .city-mode-page>.business-hero{grid-column:1/-1}
body[data-layout="utility"] .city-mode-page>.search-form{grid-column:1;margin-block-start:0;padding:16px;
  border:2px solid var(--color-line);background:var(--color-surface)}
body[data-layout="utility"] .city-mode-page>.search-results{grid-column:2}
body[data-layout="utility"] .city-directory-grid{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}
body[data-layout="utility"] .listing{grid-template-columns:1fr}
body[data-layout="utility"] .listing .business-card{display:grid;grid-template-columns:142px minmax(0,1fr)}
body[data-layout="utility"] .listing .business-card-media{aspect-ratio:auto;min-height:132px}
body[data-layout="utility"] .listing-panel-heading{padding:14px;border:2px solid var(--color-line);
  border-radius:8px;background:var(--color-surface)}
body[data-layout="utility"] .eyebrow{letter-spacing:.045em}
body[data-layout="utility"] .business-hero{grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:28px}
body[data-layout="utility"] .business-hero-image{min-height:260px}
body[data-layout="utility"] .business-content-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:24px}
body[data-layout="utility"] .page{max-width:1280px}
body[data-layout="utility"] .content-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
body[data-layout="utility"] .content-grid>.editorial{grid-column:1/9}
body[data-layout="utility"] .content-grid>.sidebar{grid-column:9/-1}
body[data-layout="utility"] .search-page{max-width:1280px}
body[data-layout="utility"] .search-results{gap:6px}
body[data-layout="utility"] .search-result-card{border-width:2px;border-radius:var(--radius-sm);box-shadow:none}
body[data-layout="utility"] .narrow{max-width:960px;margin-inline:0 auto}
body[data-layout="utility"] :is(.contact-form,.contact-fallback,.product-panel,.detail-panel,.contact-card){
  border-width:2px;box-shadow:none}
body[data-layout="utility"] .business-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
body[data-layout="utility"] .business-grid>.business-card{grid-column:span 4}

/* Showcase · una escena visual protagonista; el texto funciona como pie y contexto. */
body[data-layout="showcase"] .shell{width:min(1240px,calc(100% - 48px))}
body[data-layout="showcase"] .hero{position:relative;overflow:hidden;padding:92px 0 84px;
  background:var(--color-brand-deep);border:0;color:var(--color-on-brand)}
body[data-layout="showcase"] .hero::before{position:absolute;inset-block:-18% auto;inset-inline:auto -7%;
  inline-size:38rem;block-size:23rem;background:var(--color-accent);opacity:.28;content:"";
  transform:rotate(8deg)}
body[data-layout="showcase"] .hero-inner{position:relative;display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr);grid-template-areas:
  "eyebrow visual" "title visual" "lede visual" "search visual" "stats visual";gap:0 56px;max-width:1160px;text-align:start}
body[data-layout="showcase"] .hero-inner::after{grid-area:visual;min-height:390px;border:1px solid
  color-mix(in srgb,var(--color-on-brand) 38%,transparent);border-radius:var(--radius-lg);content:"";
  background:var(--color-brand);box-shadow:18px 18px 0 var(--color-accent);transform:rotate(1.5deg)}
body[data-layout="showcase"] .hero-inner .eyebrow{grid-area:eyebrow}
body[data-layout="showcase"] .hero h1{grid-area:title;max-width:12ch;margin:0;color:var(--color-on-brand);
  font-size:clamp(2.8rem,5vw,4rem);line-height:.96}
body[data-layout="showcase"] .hero .eyebrow,body[data-layout="showcase"] .hero .lede{color:var(--color-on-brand)}
body[data-layout="showcase"] .hero .lede{grid-area:lede;margin-block:24px 0;opacity:.88}
body[data-layout="showcase"] .search-form--hero{grid-area:search;margin-block:32px 0}
body[data-layout="showcase"] .trust-stats{grid-area:stats;justify-content:flex-start}
body[data-layout="showcase"] .trust-stat{max-width:210px;border-color:color-mix(in srgb,var(--color-on-brand) 35%,transparent);
  background:color-mix(in srgb,var(--color-on-brand) 11%,transparent)}
body[data-layout="showcase"] .trust-stat dt,body[data-layout="showcase"] .trust-stat dd{color:var(--color-on-brand)}
body[data-layout="showcase"] .home-content{display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:0 36px}
body[data-layout="showcase"] .home-block--directory,body[data-layout="showcase"] .home-content>.ad-slot,
body[data-layout="showcase"] .home-cta{grid-column:1/-1}
body[data-layout="showcase"] .home-block--cities{grid-column:1}
body[data-layout="showcase"] .home-block--steps{grid-column:2}
body[data-layout="showcase"] .home-content:not(:has(>.home-block--cities))>.home-block--steps{grid-column:1/-1}
body[data-layout="showcase"] .steps-grid{grid-template-columns:1fr}
body[data-layout="showcase"] .region-card{min-height:118px}
body[data-layout="showcase"] .region-page{display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:0 40px}
body[data-layout="showcase"] .region-page>.directory-hero,body[data-layout="showcase"] .region-page>.home-block,
body[data-layout="showcase"] .region-page>.ad-slot,body[data-layout="showcase"] .region-page>.link-chips{grid-column:1/-1}
body[data-layout="showcase"] .region-page>.region-guide{grid-column:1}
body[data-layout="showcase"] .region-page>.faq{grid-column:2}
body[data-layout="showcase"] .city-mode-page{display:grid;grid-template-columns:minmax(0,1fr);row-gap:20px}
body[data-layout="showcase"] .city-mode-page--category .search-results{display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body[data-layout="showcase"] .city-directory-grid{grid-template-columns:minmax(0,1fr)}
body[data-layout="showcase"] .directory-map-panel{position:static}
body[data-layout="showcase"] .directory-map-facade{min-height:300px}
body[data-layout="showcase"] .listing{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-layout="showcase"] .business-card-media{aspect-ratio:16/10}
body[data-layout="showcase"] .business-hero{grid-template-columns:minmax(420px,1.18fr) minmax(0,.82fr);gap:42px;align-items:start}
body[data-layout="showcase"] .business-hero-copy{grid-column:2;grid-row:1;align-self:end;padding-block-end:24px}
body[data-layout="showcase"] .business-hero-image{grid-column:1;grid-row:1;min-height:520px}
body[data-layout="showcase"] .business-content-grid{grid-template-columns:minmax(0,1fr) 300px}
body[data-layout="showcase"] .hero--compact{background:var(--color-brand-deep);color:var(--color-on-brand)}
body[data-layout="showcase"] .hero--compact :is(h1,h2,h3,p,.eyebrow){color:var(--color-on-brand)}
body[data-layout="showcase"] .content-grid{display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:var(--space-5)}
body[data-layout="showcase"] .content-grid>.sidebar{align-self:start;padding:var(--space-4);
  background:var(--color-brand-soft);border-radius:var(--radius-lg)}
body[data-layout="showcase"] .search-page{max-width:1240px}
body[data-layout="showcase"] .search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
body[data-layout="showcase"] .narrow{max-width:860px;margin-inline:auto;padding:var(--space-5);
  background:var(--color-surface);border-radius:var(--radius-lg)}
body[data-layout="showcase"] .legal article{max-width:72ch;margin-inline:auto}
body[data-layout="showcase"] .business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-layout="showcase"] .business-grid>.business-card{min-height:220px;padding:var(--space-4);
  border-radius:var(--radius-lg)}

/* Compact · índice denso, navegación rápida y filas de inventario. */
body[data-layout="compact"]{font-size:15px;--header-h:58px}
body[data-layout="compact"] .shell{width:min(1280px,calc(100% - 32px))}
body[data-layout="compact"] .hero{padding:34px 0 26px;background:var(--color-canvas);
  border-block:2px solid var(--color-ink)}
body[data-layout="compact"] .hero-inner{display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.52fr);grid-template-areas:
  "eyebrow stats" "title stats" "lede stats" "search stats";gap:0 30px;max-width:1160px;text-align:start}
body[data-layout="compact"] .hero-inner .eyebrow{grid-area:eyebrow}
body[data-layout="compact"] .hero-inner h1{grid-area:title;margin-inline-start:0}
body[data-layout="compact"] .hero-inner .lede{grid-area:lede;margin-inline-start:0}
body[data-layout="compact"] .search-form--hero{grid-area:search;max-width:700px;margin-block:18px 0}
body[data-layout="compact"] .trust-stats{grid-area:stats;align-self:center;display:grid;margin:0}
body[data-layout="compact"] .trust-stat{max-width:none;padding:8px 12px}
body[data-layout="compact"] .trust-stat dt{font-size:1.25rem}
body[data-layout="compact"] .home-content{display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;padding-block-start:34px}
body[data-layout="compact"] .home-block{margin-block-end:34px}
body[data-layout="compact"] .home-block--directory,body[data-layout="compact"] .home-content>.ad-slot,
body[data-layout="compact"] .home-cta{grid-column:1/-1}
body[data-layout="compact"] .home-block--cities{grid-column:1/3}
body[data-layout="compact"] .home-block--steps{grid-column:3}
body[data-layout="compact"] .home-content:not(:has(>.home-block--cities))>.home-block--steps{grid-column:1/-1}
body[data-layout="compact"] .steps-grid{grid-template-columns:1fr}
body[data-layout="compact"] .card-grid--regions,body[data-layout="compact"] .card-grid--cities{
  grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:9px}
body[data-layout="compact"] .card{min-height:70px;padding:10px 12px}
body[data-layout="compact"] .region-card-mark{width:38px;height:38px}
body[data-layout="compact"] .region-page{display:grid;
  grid-template-columns:minmax(190px,230px) minmax(0,1fr);gap:0 28px}
body[data-layout="compact"] .region-page>.directory-hero{grid-column:1;align-self:start}
body[data-layout="compact"] .region-page>.home-block:first-of-type{grid-column:2}
body[data-layout="compact"] .region-page>.ad-slot,body[data-layout="compact"] .region-page>.home-block:not(:first-of-type),
body[data-layout="compact"] .region-page>.region-guide,body[data-layout="compact"] .region-page>.faq,
body[data-layout="compact"] .region-page>.link-chips{grid-column:1/-1}
body[data-layout="compact"] .city-mode-page{display:grid;
  grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:16px 22px}
body[data-layout="compact"] .city-mode-page>.directory-hero,body[data-layout="compact"] .city-mode-page>.home-block,
body[data-layout="compact"] .city-mode-page>.business-hero{grid-column:1/-1}
body[data-layout="compact"] .city-mode-page>.search-form{grid-column:1;margin-block-start:0}
body[data-layout="compact"] .city-mode-page>.search-results{grid-column:2}
body[data-layout="compact"] .city-directory-grid{
  grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr);gap:16px}
body[data-layout="compact"] .listing,body[data-layout="compact"] .business-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body[data-layout="compact"] .business-card{display:grid;grid-template-columns:108px minmax(0,1fr)}
body[data-layout="compact"] .business-card-media{aspect-ratio:auto;min-height:112px}
body[data-layout="compact"] .business-card-body{padding:10px 12px}
body[data-layout="compact"] .business-card-footer{padding-block-start:5px}
body[data-layout="compact"] .page{padding-block-start:20px}
body[data-layout="compact"] .business-hero{grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:24px}
body[data-layout="compact"] .business-hero-image{min-height:220px}
body[data-layout="compact"] .business-content-grid{grid-template-columns:minmax(0,1fr) 280px;gap:24px}
body[data-layout="compact"] :is(.card,.business-card,.search-result-card,.step,.product-panel,
  .contact-form,.contact-fallback,.detail-panel,.contact-card){border-radius:0;box-shadow:none}
body[data-layout="compact"] :is(.card,.business-card,.search-result-card):hover{
  border-color:var(--color-ink);box-shadow:none;transform:none}
body[data-layout="compact"] .content-grid{display:grid;
  grid-template-columns:minmax(0,1fr) 250px;gap:24px}
body[data-layout="compact"] .content-grid>.sidebar{border-block-start:3px solid var(--color-ink);
  padding-block-start:12px}
body[data-layout="compact"] .business-grid{grid-template-columns:1fr;gap:0}
body[data-layout="compact"] .business-grid>.business-card{
  border:0;border-block-end:1px solid var(--color-line)}
body[data-layout="compact"] .search-page{max-width:1280px}
body[data-layout="compact"] .search-results{gap:0;border-block-start:2px solid var(--color-ink)}
body[data-layout="compact"] .search-result-card{
  border:0;border-block-end:1px solid var(--color-line);padding-block:10px}
body[data-layout="compact"] .narrow{max-width:720px;margin-inline:0 auto}
body[data-layout="compact"] .page-heading{padding-block-end:16px;border-block-end:3px solid var(--color-ink)}

/* La ficha Ciudad es una unidad semántica, pero siempre ocupa la grilla completa. */
body[data-layout] .city-mode-page>.city-entity{grid-column:1/-1;min-width:0;width:100%}

/* Ciudad: filtros laterales y resultados arrancan juntos en escritorio. */
body[data-layout] .city-mode-page--home>.home-block{margin-block-end:0}
body[data-layout] .city-mode-page--home>.product-filters,
body[data-layout] .city-mode-page--category>.product-filters{margin-block-start:0;align-self:start}
body[data-layout] .breadcrumbs a{display:inline-flex;min-block-size:44px;align-items:center}

/* Sin mapa, el listado es el único panel y debe aprovechar todo el ancho en los cinco layouts. */
body[data-layout] .city-directory-grid>.listing-panel:only-child{
  grid-column:1/-1;grid-row:auto}

@media(min-width:961px){
  body[data-layout] .city-mode-page--home{
    grid-template-areas:"hero hero" "home home" "filters summary" "filters results" ". pager"}
  body[data-layout] .city-mode-page--category{
    grid-template-areas:"hero hero" "filters summary" "filters results" ". pager"}
  body[data-layout] .city-mode-page--home>.directory-hero,
  body[data-layout] .city-mode-page--category>.directory-hero{grid-area:hero}
  body[data-layout] .city-mode-page--home>.home-block{grid-area:home}
  body[data-layout] .city-mode-page--home>.product-filters,
  body[data-layout] .city-mode-page--category>.product-filters{grid-area:filters}
  body[data-layout] .city-mode-page--home>.result-count,
  body[data-layout] .city-mode-page--category>.result-count{grid-area:summary;margin:0 0 4px}
  body[data-layout] .city-mode-page--home>.search-results,
  body[data-layout] .city-mode-page--category>.search-results{grid-area:results}
  body[data-layout] .city-mode-page--home>.pager,
  body[data-layout] .city-mode-page--category>.pager{grid-area:pager}
}

/* La cascada temática se carga después de style.css: estos resets deben permanecer al final. */
@media(max-width:960px){
  body[data-layout] .hero-inner,body[data-layout] .home-content,body[data-layout] .region-page,
  body[data-layout] .city-mode-page,body[data-layout] .city-directory-grid,
  body[data-layout] .business-hero,body[data-layout] .business-content-grid,
  body[data-layout] .content-grid{
    grid-template-columns:minmax(0,1fr)!important;column-gap:0!important}
  body[data-layout] .hero-inner>* ,body[data-layout] .home-content>* ,body[data-layout] .region-page>* ,
  body[data-layout][data-page] .city-mode-page>* ,body[data-layout] .city-directory-grid>* ,
  body[data-layout] .business-hero>*,body[data-layout] .content-grid>*{grid-column:1/-1!important;grid-row:auto!important}
  body[data-layout] .home-block--directory,body[data-layout] .home-block--cities,
  body[data-layout] .home-block--steps,body[data-layout] .home-content>.ad-slot,
  body[data-layout] .home-cta{grid-column:1/-1}
  body[data-layout="atlas"] .hero-inner,body[data-layout="utility"] .hero-inner,
  body[data-layout="compact"] .hero-inner{grid-template-areas:"eyebrow" "title" "lede" "search" "stats"}
  body[data-layout="editorial"] .hero-inner{grid-template-areas:"eyebrow" "title" "lede" "search" "stats"}
  body[data-layout="showcase"] .hero-inner{grid-template-areas:"eyebrow" "title" "lede" "search" "stats" "visual"}
  body[data-layout="showcase"] .hero-inner::after{min-height:280px;margin-block-start:30px;transform:none}
  body[data-layout="atlas"] .trust-stats,body[data-layout="utility"] .trust-stats,
  body[data-layout="compact"] .trust-stats{display:flex;margin-block-start:24px}
  body[data-layout="editorial"] .search-form--hero{margin:26px 0 0}
  body[data-layout="editorial"] .business-hero-image{transform:none}
  body[data-layout="editorial"] .city-directory-grid>.directory-map-panel,
  body[data-layout="editorial"] .city-directory-grid>.listing-panel,
  body[data-layout="showcase"] .business-hero-copy,body[data-layout="showcase"] .business-hero-image{
    grid-column:1;grid-row:auto}
  body[data-layout="showcase"] .business-hero-image{min-height:340px}
  body[data-layout="showcase"] .listing,body[data-layout="showcase"] .city-mode-page--category .search-results,
  body[data-layout="compact"] .listing,body[data-layout="compact"] .business-grid,
  body[data-layout="utility"] .business-grid{grid-template-columns:1fr}
  body[data-layout="utility"] .business-grid>.business-card{grid-column:auto}
  body[data-layout] .business-hero>*,body[data-layout] .city-directory-grid>*{min-width:0}
  body[data-layout] .business-hero-image{max-width:100%;overflow:hidden}
}
@media(max-width:640px){
  body[data-layout] .shell{width:min(100% - 28px,1280px)}
  body[data-layout] h1{overflow-wrap:anywhere}
  body[data-layout="atlas"] .hero::after{inset-inline-end:-22rem;opacity:.5}
  body[data-layout="atlas"] h1,body[data-layout="showcase"] h1,
  body[data-layout="editorial"] h1{font-size:clamp(2.05rem,11vw,3.45rem)}
  body[data-layout="editorial"] .hero,body[data-layout="showcase"] .hero{padding:56px 0 44px}
  body[data-layout="editorial"] .section-heading{grid-template-columns:1fr;gap:8px}
  body[data-layout] .trust-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  body[data-layout] .trust-stat{min-width:0;max-width:none}
  body[data-layout] .business-hero-image,body[data-layout] .business-hero-image picture,
  body[data-layout] .business-hero-image img,body[data-layout] .business-hero-image .placeholder-image{
    width:100%;min-width:0;max-width:100%;min-height:220px}
  body[data-layout="editorial"] .listing .business-card,
  body[data-layout="utility"] .listing .business-card,body[data-layout="compact"] .business-card{
    display:grid;grid-template-columns:minmax(88px,106px) minmax(0,1fr)}
  body[data-layout="editorial"] .listing .business-card-media,
  body[data-layout="utility"] .listing .business-card-media,body[data-layout="compact"] .business-card-media{
    grid-column:1;grid-row:1;min-width:0;min-height:118px}
  body[data-layout="editorial"] .listing .business-card-body,
  body[data-layout="utility"] .listing .business-card-body,body[data-layout="compact"] .business-card-body{
    grid-column:2;grid-row:1;min-width:0}
  body[data-layout="showcase"] .business-card{display:grid;grid-template-columns:minmax(0,1fr)}
  body[data-layout="showcase"] .business-card-media{width:100%;min-height:190px;aspect-ratio:16/10}
  body[data-layout="atlas"] .search-results,body[data-layout="showcase"] .search-results,
  body[data-layout="showcase"] .business-grid{grid-template-columns:1fr}
  body[data-layout="editorial"] .narrow{margin-inline:0 auto}
  body[data-layout="showcase"] .narrow{padding:var(--space-4)}
  body[data-layout] .business-card-name,body[data-layout] .business-card-address,
  body[data-layout] .business-card-footer{min-width:0;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
  body[data-layout] *,body[data-layout] *::before,body[data-layout] *::after{scroll-behavior:auto!important;
    animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

[dir=rtl]{text-align:right}[dir=rtl] .breadcrumbs li+li:before{margin-right:0;margin-left:7px}[dir=rtl] .header-search input{padding-right:15px;padding-left:43px}[dir=rtl] .header-search button{right:auto;left:4px}[dir=rtl] .card-arrow,[dir=rtl] .text-link span[aria-hidden=true],[dir=rtl] .business-related span[aria-hidden=true]{display:inline-block;transform:scaleX(-1)}[dir=rtl] .pager{direction:rtl}
