.province-hero,.directory-hero{background:radial-gradient(circle at 82% 20%,rgba(226,47,70,.28),transparent 26%),linear-gradient(145deg,#170a0e,#2a1118);padding:clamp(44px,5vw,72px);color:#fff;margin-bottom:52px;position:relative;overflow:hidden}
.province-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(34px,6vw,80px);align-items:start}.province-hero h1,.directory-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.055em;margin:0;max-width:13ch}.province-lead,.directory-hero>p{color:rgba(255,255,255,.65);font-size:17px;max-width:730px}.real-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:rgba(255,255,255,.45);margin-bottom:24px}.real-breadcrumb a{color:rgba(255,255,255,.75)}.province-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.province-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.14);font-size:11px;color:rgba(255,255,255,.7)}
.scope-window{border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);padding:24px 0}.scope-title{font-size:10px;letter-spacing:.16em;color:rgba(255,255,255,.45);margin-bottom:12px}.scope-code{font-size:13px}.scope-focus h2{font-size:28px;line-height:1.18}.scope-checks{list-style:none;padding:0;display:grid;gap:9px}.scope-checks li{color:rgba(255,255,255,.62);font-size:13px}
.province-content-layout,.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:start}.province-topic,.coverage-copy,.local-faq,.local-contact,.directory-search,.province-card,.region-group,.guide-jumps,.ai-vendor,.technical-sources,.related-provinces{background:transparent;border:0;border-radius:0;box-shadow:none}.province-topic{padding:34px 0 42px;margin:0;border-top:1px solid var(--line-strong)}.province-topic h2{font-size:clamp(29px,3vw,43px);line-height:1.12;letter-spacing:-.035em;margin:0 0 16px;max-width:16ch}.province-topic p{font-size:16px;color:#56464b;max-width:760px}.reading-sidebar{position:sticky;top:112px;border-left:1px solid var(--line-strong);padding:4px 0 4px 22px}.reading-sidebar a{display:block;padding:7px 0;color:var(--muted);font-size:13px}.reading-sidebar a:hover{color:var(--red)}
.local-contact{padding:38px 0;border-top:1px solid var(--line-strong);display:grid;grid-template-columns:.78fr 1.22fr;gap:48px}.local-contact h2{font-size:clamp(31px,3vw,44px);line-height:1.1;margin:0}.local-contact p{color:var(--muted)}.local-faq{padding:38px 0;border-top:1px solid var(--line-strong)}.local-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.local-faq-grid details{border-top:1px solid var(--line);padding:18px 0}.local-faq-grid details:nth-child(odd){padding-right:28px}.local-faq-grid details:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}.local-faq-grid summary{font-weight:600;cursor:pointer}.local-faq-grid details[open] summary{color:var(--red)}
.town-details{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:transparent}.town-details summary{padding:18px 0;font-weight:600;cursor:pointer}.town-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 18px;padding:10px 0 22px}.town-grid button{border:0;background:transparent;padding:8px 0;text-align:left;color:var(--muted)}.town-grid button:hover{color:var(--red)}
.directory-search{display:flex;gap:12px;padding:12px 0;margin-top:24px;border-bottom:1px solid var(--line-strong)}.directory-search input{flex:1;border:0;outline:0;font:inherit;background:transparent}.directory-list,.directory-regions{padding:28px 0}.directory-grid,.home-province-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-strong)}.province-card{padding:26px 26px 30px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.province-card:nth-child(3n){border-right:0;padding-left:26px}.province-card:nth-child(3n+2){padding-left:26px}.province-card h3{font-size:23px;line-height:1.2;margin:12px 0}.province-card p{color:var(--muted);font-size:14px}.region-group{padding:28px 0;border-top:1px solid var(--line-strong);margin:0}.region-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:14px}.region-heading h2{font-size:24px;margin:0}.coverage-home{padding:38px 0}.coverage-copy{padding:34px 0;border-top:1px solid var(--line-strong)}
.related-provinces{padding:34px 0;border-top:1px solid var(--line-strong)}.related-provinces>div{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.related-provinces a{padding:16px 18px 16px 0;border-bottom:1px solid var(--line)}.related-provinces a:hover{color:var(--red)}.ai-vendor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-strong)}.ai-vendor{padding:28px 26px 28px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.ai-vendor:nth-child(3n){border-right:0;padding-left:26px}.ai-vendor:nth-child(3n+2){padding-left:26px}.ai-vendor h3{font-size:24px;line-height:1.2}.guide-jumps{display:flex;gap:8px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--line)}.guide-jumps a{padding:7px 10px;border:1px solid var(--line);font-size:12px}.guide-jumps a:hover{border-color:var(--red);color:var(--red)}.technical-sources{padding:26px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
@media(max-width:950px){.province-hero-grid,.province-content-layout,.guide-layout,.local-contact{grid-template-columns:1fr}.reading-sidebar{position:static;border-left:0;border-top:1px solid var(--line);padding:20px 0}.directory-grid,.home-province-grid,.related-provinces>div,.ai-vendor-grid{grid-template-columns:1fr 1fr}.province-card:nth-child(3n),.province-card:nth-child(3n+2),.province-card{padding:24px 22px 24px 0;border-right:1px solid var(--line)}.province-card:nth-child(even){border-right:0;padding-left:22px}.ai-vendor:nth-child(3n),.ai-vendor:nth-child(3n+2),.ai-vendor{padding:24px 22px 24px 0}.ai-vendor:nth-child(even){border-right:0;padding-left:22px}}
@media(max-width:650px){.province-hero,.directory-hero{padding:38px 24px;margin-bottom:34px}.directory-grid,.home-province-grid,.related-provinces>div,.ai-vendor-grid,.local-faq-grid,.town-grid{grid-template-columns:1fr}.province-card,.province-card:nth-child(3n),.province-card:nth-child(3n+2),.ai-vendor,.ai-vendor:nth-child(3n),.ai-vendor:nth-child(3n+2){padding:22px 0;border-right:0}.local-faq-grid details:nth-child(odd),.local-faq-grid details:nth-child(even){padding:18px 0;border-left:0}.province-content-layout{gap:18px}}

/* Directorio provincial: lectura más clara */
.province-region-section{
  padding:30px 0 38px;
  border-top:1px solid var(--line-strong);
}
.province-region-section>.division-label{
  margin-bottom:20px;
  align-items:baseline;
}
.province-region-section>.division-label .line-ref,
.province-region-section>.division-label>span:nth-child(2){display:none}
.province-region-section>.division-label .section-annotation{
  margin-left:0;
  color:var(--text);
  font-size:clamp(23px,2.2vw,32px);
  font-weight:600;
  letter-spacing:-.025em;
  text-transform:none;
}
.province-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.province-grid .province-card{
  padding:22px 22px 24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(8px);
  min-height:218px;
  display:flex;
  flex-direction:column;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.province-grid .province-card:nth-child(n){padding:22px 22px 24px;border-right:1px solid var(--line)}
.province-grid .province-card:hover{
  transform:translateY(-3px);
  border-color:rgba(211,37,59,.38);
  background:rgba(255,255,255,.95);
}
.province-grid .province-card>span{
  font-size:11px;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--red);
  font-weight:600;
}
.province-grid .province-card h2,
.province-grid .province-card h3{
  font-size:clamp(22px,2vw,28px);
  line-height:1.12;
  letter-spacing:-.025em;
  margin:14px 0 10px;
  color:var(--text);
}
.province-grid .province-card p{
  margin:0;
  color:#65545a;
  font-size:14px;
  line-height:1.65;
}
.province-grid .province-card b{
  margin-top:auto;
  padding-top:18px;
  color:var(--red);
  font-size:13px;
  font-weight:600;
}
@media(max-width:1000px){
  .province-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .province-region-section{padding:24px 0 30px}
  .province-grid{grid-template-columns:1fr;gap:10px}
  .province-grid .province-card:nth-child(n){padding:20px;min-height:0}
}
