/* The Injury Firm — plantillas interiores (brand-kit/design_handoff_templates). Se carga solo donde están activas. */

.btn-sm{font-size:14px;padding:15px 22px}

/* ---------- Portada ---------- */
.ph{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.ph-grid{max-width:1248px;box-sizing:border-box;margin:0 auto;padding:36px 24px 80px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:56px;align-items:center}
.ph-col{display:flex;flex-direction:column;gap:26px;min-width:0}
.ph-media{min-width:0}
.ph-photo{position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:var(--hairline)}
.ph-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ph-head{display:flex;flex-direction:column;gap:18px}
.ph-eyebrow{font-size:14px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:#fff}
.ph-h1{margin:0;font-family:var(--display);font-size:clamp(36px,4vw,54px);font-weight:700;line-height:1.08;color:#fff;text-wrap:balance}
.ph-intro{margin:0;font-size:17px;line-height:1.65;color:var(--border);max-width:620px;text-wrap:pretty}
.ph-intro a{color:#fff;text-decoration:underline}
.ph-trust{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-navy);border-top:1px solid rgba(255,255,255,.18);padding-top:20px}
.ph-trust span{display:inline-flex;align-items:center;gap:10px}
.ph-trust span::before{content:"";width:6px;height:6px;background:var(--gold);flex-shrink:0}

/* ---------- Migas de pan ---------- */
.crumb{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px;letter-spacing:.04em;line-height:1.5}
.crumb a{color:var(--muted-navy)}.crumb a:hover{color:#fff}
.crumb-sep{color:rgba(255,255,255,.35)}
.crumb [aria-current]{color:#fff}

/* ---------- Artículo + lateral ---------- */
.art-band{background:#fff;color:var(--navy)}
.art-wrap{max-width:1248px;box-sizing:border-box;margin:0 auto;padding:72px 24px 88px;display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.art{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:48px}
.art-side{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:20px;align-self:stretch}
.art-sec{display:flex;flex-direction:column;gap:18px;min-width:0}
.art-head{display:flex;flex-direction:column;gap:10px}
.art-num{font-family:var(--serif);font-size:15px;color:var(--gold)}
.art-h2{margin:0;font-family:var(--serif);font-size:clamp(26px,2.5vw,32px);font-weight:700;line-height:1.2;color:var(--navy);text-wrap:balance}

/* Contenido real */
.art p{margin:0;font-size:17px;line-height:1.7;color:var(--body);text-wrap:pretty}
.art h3{margin:14px 0 0;font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.3;color:var(--navy)}
.art h4,.art h5,.art h6{margin:8px 0 0;font-family:var(--serif);font-size:18px;font-weight:700;line-height:1.35;color:var(--navy)}
.art a:not(.btn){color:var(--link)}.art a:not(.btn):hover{color:var(--navy)}
.art a[href^="tel:"]:not(.btn){color:var(--navy);font-weight:700}
.art strong,.art b{color:var(--navy)}
.art img{display:block;max-width:100%;height:auto;border-radius:4px}
.art p img{margin-bottom:18px}
.art figure{margin:0}.art figcaption{margin-top:10px;font-size:13px;color:var(--muted)}
.art iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:4px}
.anchor-only{position:absolute}
.art dl{margin:0;display:flex;flex-direction:column;gap:6px}
.art dt{margin-top:12px;font-family:var(--serif);font-size:18px;font-weight:700;line-height:1.35;color:var(--navy)}
.art dt:first-child{margin-top:0}
.art dd{margin:0;font-size:16px;line-height:1.65;color:var(--body)}
.art hr{width:100%;border:0;border-top:1px solid var(--hairline);margin:8px 0}
.art blockquote{margin:12px auto;max-width:600px;text-align:center;font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.5;color:var(--navy);display:flex;flex-direction:column;gap:16px;align-items:center}
.art blockquote::before,.art blockquote::after{content:"";width:48px;height:2px;background:var(--gold)}
.art blockquote p{font:inherit;color:inherit}

/* Viñetas: cuadrado dorado */
.art ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.art ul>li{position:relative;padding-left:22px;font-size:17px;line-height:1.65;color:var(--body)}
.art ul>li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;background:var(--gold)}
.art li ul,.art li ol{margin-top:12px}
.art ul.ul2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:12px 28px}

/* Lista numerada */
.art ol{list-style:none;margin:0;padding:0;counter-reset:st}
.art ol>li{counter-increment:st;position:relative;padding:16px 0 16px 44px;border-top:1px solid var(--hairline);font-size:16px;line-height:1.6;color:var(--body)}
.art ol>li::before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:15px;font-family:var(--serif);font-size:18px;color:var(--gold)}
.art ol>li strong:first-child{display:block;font-family:var(--serif);font-size:19px;line-height:1.35;margin-bottom:4px}

/* Lista con check */
.art ul.check{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px 28px}
.art ul.check>li{padding-left:42px;font-size:16px;line-height:1.55;min-height:28px}
.art ul.check>li::before{top:0;width:28px;height:28px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center no-repeat}

/* Tarjetas */
.art .c-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:16px}
.art .c-grid>.c-card{padding:24px 24px 26px;background:#fff;border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;gap:12px}
.art .c-grid>.c-card::before{display:none}
.art .c-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.art .c-title{font-family:var(--serif);font-size:18px;font-weight:700;line-height:1.3;color:var(--navy);text-wrap:pretty}
.art .c-desc{font-size:15px;line-height:1.6;color:var(--body);text-wrap:pretty}

/* Grilla numerada con líneas finas */
.art .n-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.art .n-grid>.n-cell{padding:26px 24px 28px;background:#fff;display:flex;flex-direction:column;gap:10px;border:0;counter-increment:none}
.art .n-grid>.n-cell::before{display:none}
.art .n-grid>.n-cell:last-child:nth-child(odd){grid-column:1 / -1}
.art .n-num{font-family:var(--serif);font-size:16px;color:var(--gold)}
.art .n-title{display:block;margin:0;font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.3;color:var(--navy);text-wrap:pretty}
.art .n-desc{font-size:15px;line-height:1.6;color:var(--body);text-wrap:pretty}

/* Tablas */
.tbl{border:1px solid var(--border);border-radius:4px;overflow-x:auto}
.tbl table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;line-height:1.5}
.tbl th,.tbl td{padding:16px 18px;text-align:left;vertical-align:top;border:0;border-top:1px solid var(--hairline);color:var(--body);background:#fff}
.tbl tr:nth-child(even)>*{background:#f7f8fb}
.tbl tr>*:first-child{font-weight:700;color:var(--navy)}
.tbl table.has-head>thead>tr>*,.tbl table.has-head>tbody:first-child>tr:first-child>*,.tbl table.has-head>tr:first-child>*{background:var(--navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-top:0}
.tbl table.has-head>thead strong,.tbl table.has-head>tbody:first-child>tr:first-child strong,.tbl table.has-head>tr:first-child strong{color:#fff}

/* Etiqueta: barra dorada + texto */
.lbl{display:flex;align-items:center;gap:14px}
.lbl .bar{flex-shrink:0}
.lbl-t{font-size:13px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}

/* Índice */
.toc2{border:1px solid var(--border);border-radius:4px;padding:26px 28px 18px;display:flex;flex-direction:column;gap:14px;background:#fff}
.toc2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.art .toc2-grid a{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:baseline;padding:11px 0;border-top:1px solid var(--hairline);color:var(--navy);font-size:15px;font-weight:500;line-height:1.45}
.art .toc2-grid a:hover{color:var(--link)}
.toc2-n{font-family:var(--serif);font-size:14px;color:var(--gold)}

.toc2-more summary{cursor:pointer;list-style:none;padding:12px 0 6px;border-top:1px solid var(--hairline);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.toc2-more summary::-webkit-details-marker{display:none}
.toc2-more summary:hover{color:var(--link)}

/* Recuadros */
.box{border-radius:4px;padding:28px 30px;display:flex;flex-direction:column;gap:14px}
.box-lbl{display:flex;align-items:center;gap:14px}
.box-lbl .bar{flex-shrink:0}
.box-lbl h2,.box-lbl h3,.box-lbl h4{margin:0;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.3em;line-height:1.5;text-transform:uppercase}
.box-grey{background:var(--grey);border:1px solid var(--border)}
.box-grey .box-lbl h2,.box-grey .box-lbl h3,.box-grey .box-lbl h4{color:var(--gold)}
.box-navy{background:var(--navy)}
.box-navy .box-lbl h2,.box-navy .box-lbl h3,.box-navy .box-lbl h4{color:#fff}
.art .box-navy p{font-family:var(--serif);font-size:19px;line-height:1.55;color:#fff}
.art .box-navy strong,.art .box-navy b{color:#fff}
.art .box-navy ul>li{color:#fff}

/* Banda de contacto */
.cta-inline{background:var(--midnight);color:#fff;border-radius:4px;padding:32px;display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between}
.cta-inline-copy{display:flex;flex-direction:column;gap:8px;flex:1 1 280px}
.cta-inline-t{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.25;text-wrap:balance}
.cta-inline-s{font-size:16px;line-height:1.55;color:var(--border)}
.cta-inline .btn-row{gap:12px}

/* Lateral */
.art-side .form-card-title{color:var(--navy)}
.talk-card{background:var(--navy);color:#fff;border-radius:4px;padding:28px;display:flex;flex-direction:column;gap:14px;position:sticky;top:24px}
.talk-card .lbl-t{color:#fff}
.talk-phone{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1.1;color:#fff}.talk-phone:hover{color:var(--border)}
.talk-note{font-size:14px;line-height:1.6;color:var(--muted-navy)}
.talk-card .btn{display:block;text-align:center}

/* FAQ con respuestas reales (pueden traer varios párrafos o listas) */
.faq-intro{font-size:18px;line-height:1.55;color:var(--border)}
.faq-intro p{margin:0 0 10px}.faq-intro a{color:#fff;text-decoration:underline}
.faq-grid{align-items:stretch}
.faq-a p{margin:0 0 10px}.faq-a p:last-child{margin-bottom:0}
.faq-a ul,.faq-a ol{margin:0 0 10px;padding-left:18px}
.faq-a li{margin-bottom:6px}
.faq-a img{display:block;max-width:100%;height:auto;margin:0 0 10px;border-radius:4px}
.faq-qt strong,.faq-qt b{font-weight:inherit}

/* Páginas relacionadas */
.link-band{background:var(--grey)}
.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}
.link-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;background:#fff;border:1px solid var(--border);border-radius:4px;color:var(--navy);transition:border-color .15s,box-shadow .15s}
.link-card:hover{border-color:var(--gold);box-shadow:0 12px 32px rgba(1,16,51,.12);color:var(--navy)}
.link-card span{font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.35;text-wrap:pretty}
.link-card svg{flex-shrink:0;color:var(--gold)}

@media (max-width:640px){
  .ph-grid{padding:24px 20px 52px;gap:32px}
  .ph-h1{font-size:min(34px,8.4vw);line-height:1.12}
  .art-wrap{padding:48px 20px 56px;gap:40px}
  .art-h2{font-size:26px}
  .toc2-grid,.art .n-grid{grid-template-columns:minmax(0,1fr)}
  .art .n-grid>.n-cell:last-child:nth-child(odd){grid-column:auto}
  .cta-inline{padding:24px 20px}
  .art p{font-size:16px}
  .art ul>li{font-size:16px}
  .talk-card{position:static}
}

/* =====================================================================
   Resto de las plantillas (01, 02, 04 a 14)
   ===================================================================== */
.btn-block{display:block;text-align:center}
.mini-lbl{font-size:12px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.more-link{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.more-link:hover{color:var(--gold-dark)}
.ph-sub{font-family:var(--serif);font-size:clamp(19px,1.8vw,23px);line-height:1.4;color:#fff;text-wrap:pretty}
.mono{width:36px;height:36px;border-radius:50%;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;font-family:var(--brand);font-size:12px;font-weight:600;letter-spacing:.04em;flex-shrink:0}
.mono-navy{background:var(--navy);color:#fff}
.mono-lg{width:48px;height:48px;font-size:14px}

/* Portada solo texto (06, 07) */
.ph-grid-text{display:block;padding-bottom:72px}
.ph-grid-text .ph-col{max-width:900px}
.ph-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:14px;line-height:1.5;color:var(--border)}
.ph-meta strong{color:#fff}
.ph-by{display:inline-flex;align-items:center;gap:10px}
.ph-dot{color:rgba(255,255,255,.35)}

/* Tarjeta blanca sobre la portada (05, 11, 13) */
.ph-card{background:#fff;color:var(--navy);border-radius:4px;padding:32px;display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 60px rgba(1,16,51,.3)}
.ph-card-t{font-family:var(--serif);font-size:26px;font-weight:700;line-height:1.2}
.status-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.status-upd{font-size:13px;color:var(--muted)}
.status-list{margin:0;display:flex;flex-direction:column;gap:14px}
.status-list>div{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:baseline;border-top:1px solid var(--hairline);padding-top:14px}
.status-list dt{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.status-list dd{margin:0;font-size:16px;font-weight:500;line-height:1.5;color:var(--navy)}
.status-foot{text-align:center;font-size:13px;color:var(--muted)}

/* Tarjeta flotante de oficina (01) */
.ph-media-float{position:relative;padding-bottom:64px}
.ph-float{position:absolute;left:-28px;bottom:0;width:min(330px,90%);box-sizing:border-box;background:#fff;color:var(--navy);border-radius:4px;padding:22px 24px;display:flex;flex-direction:column;gap:8px;box-shadow:0 24px 60px rgba(1,16,51,.35)}
.float-city{font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.3}
.float-addr{font-style:normal;font-size:15px;line-height:1.55;color:var(--body)}
.float-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--hairline);padding-top:10px;margin-top:4px}
.near-lbl{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.near-ico{display:flex;color:var(--gold)}
.near-city{font-family:var(--serif);font-size:22px;font-weight:700;line-height:1.25;color:var(--navy)}
.near-addr{font-style:normal;font-size:15px;line-height:1.6;color:var(--body)}
.near-tel{font-size:18px;font-weight:700;color:var(--navy)}.near-tel:hover{color:var(--link)}
.near-note{font-size:14px;line-height:1.6;color:var(--muted)}
.near-foot{border-top:1px solid var(--hairline);padding-top:14px}

/* Tarjetas del lateral */
.side-card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:26px 28px;display:flex;flex-direction:column;gap:14px;color:var(--navy)}
.side-links{display:flex;flex-direction:column}
.side-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--hairline);color:var(--navy);font-size:15px;font-weight:700;line-height:1.4}
.side-links a:hover{color:var(--link)}
.toc-side-list{display:flex;flex-direction:column}
.toc-side-list a{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:baseline;padding:11px 0;border-top:1px solid var(--hairline);color:var(--navy);font-size:15px;font-weight:500;line-height:1.45}
.toc-side-list a:hover{color:var(--link)}
.guide-cta-t{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.25;color:#fff}
.talk-card .btn-gold{display:block;text-align:center}

/* Sección de oficina (01) */
.office-band{background:var(--grey);color:var(--navy)}
.office-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:56px;align-items:center}
.map-box{position:relative;aspect-ratio:16/10;border-radius:4px;overflow:hidden;background:var(--hairline)}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.office-info{display:flex;flex-direction:column;gap:24px}
.info-rows{display:flex;flex-direction:column;gap:18px}
.info-row{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.ico-circle{width:44px;height:44px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.info-lbl{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.info-val{font-size:17px;line-height:1.55;color:var(--navy)}
.info-val a{color:var(--navy);font-weight:700}

/* Chips */
.chips-row{display:flex;flex-wrap:wrap;gap:10px}
.chip,.art .chips-row a.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;box-sizing:border-box;padding:6px 18px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--navy);font-size:14px;font-weight:700;letter-spacing:.03em;line-height:1.3}
.chip:hover,.art .chips-row a.chip:hover{border-color:var(--gold);color:var(--navy)}
.toc-chips{display:flex;flex-direction:column;gap:12px}
.art ul.chips{flex-direction:row;flex-wrap:wrap;gap:10px}
.art ul.chips>li{padding:0}.art ul.chips>li::before{display:none}
.art ul.chips a:not(.btn){display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:6px 18px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--navy);font-size:14px;font-weight:700;letter-spacing:.03em;line-height:1.3}
.art ul.chips a:not(.btn):hover{border-color:var(--gold);color:var(--navy)}
.art p.link-row{display:flex;flex-wrap:wrap;gap:10px}
.art p.link-row a:not(.btn){display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:6px 18px;border:1px solid var(--navy);border-radius:3px;color:var(--navy);font-size:14px;font-weight:700;letter-spacing:.06em;line-height:1.3}
.art p.link-row a:not(.btn):hover{background:var(--navy);color:#fff}

/* Listas con ✕ y lista para tildar */
.art ul.xlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px 28px}
.art ul.xlist>li{padding-left:40px;font-size:16px;line-height:1.55;min-height:26px}
.art ul.xlist>li::before{top:0;width:26px;height:26px;box-sizing:border-box;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%23112d69' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center no-repeat;border:1px solid var(--field)}
.art ul.checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:0 28px}
.art ul.checklist>li{padding:0;border-top:1px solid var(--hairline)}.art ul.checklist>li::before{display:none}
.art ul.checklist label{display:grid;grid-template-columns:20px 1fr;gap:12px;padding:12px 0;font-size:16px;line-height:1.5;cursor:pointer}
.art ul.checklist input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--gold)}

/* Títulos en tarjetas y grillas, y pasos */
.art .c-card h3{margin:0;font-size:18px;line-height:1.3}
.art .c-card p{font-size:15px;line-height:1.6}
.art .c-grid>.c-card{list-style:none}
.art .n-cell h3{margin:0;font-size:19px;line-height:1.3}
.art .n-cell p{font-size:15px;line-height:1.6}
.art div.n-grid>.n-cell{padding:26px 24px 28px;background:#fff;display:flex;flex-direction:column;gap:10px}
.art div.n-grid>.n-cell:last-child:nth-child(odd){grid-column:1 / -1}
.art h3.h3-step{border-top:1px solid var(--hairline);padding-top:18px}

/* Foto destacada (06) y acordeón (07, 08) */
.art-feature{margin:0}.art-feature img{display:block;width:100%;height:auto;border-radius:4px}
.qa-list{display:flex;flex-direction:column;border-top:1px solid var(--hairline)}
.qa{border-bottom:1px solid var(--hairline)}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;cursor:pointer;font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.35;color:var(--navy)}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--link)}
.qa .chev{font-family:var(--sans);font-size:26px;font-weight:400;color:var(--gold);flex-shrink:0;transition:transform .2s}
.qa[open] .chev{transform:rotate(45deg)}
.qa-a{padding:0 0 20px;display:flex;flex-direction:column;gap:12px}
.art .qa-a p,.art .qa-a li{font-size:16px;color:var(--faq-a)}

/* Respuesta corta (07) y pie de guías */
.art-faq .box-grey:first-of-type{background:#fff;padding:32px;box-shadow:0 20px 60px rgba(1,16,51,.08)}
.art-faq .box-grey:first-of-type p{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--navy)}
.wb-box{display:flex;gap:14px;align-items:flex-start;background:var(--grey);padding:24px 26px;border-radius:4px}
.wb-name{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--navy);margin-top:4px}
.art .wb-note{margin-top:4px;font-size:14px;line-height:1.55;color:var(--consent)}
.art .art-disclaimer{font-size:14px;line-height:1.7;color:var(--muted)}

/* Secciones grises y tarjetas con imagen */
.eval-grey{background:var(--grey)}
.img-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}
.img-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden}
.img-card-img{display:block;aspect-ratio:16/10;background:var(--hairline)}
.img-card-img img{display:block;width:100%;height:100%;object-fit:cover}
.img-card-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.img-card-lbl{font-size:12px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.img-card-t{font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.3;color:var(--navy);text-wrap:pretty}
.img-card-t:hover{color:var(--link)}
.img-card-foot{margin-top:auto;padding-top:6px}

/* Blog (08) */
.blog-head{background:var(--grey);color:var(--navy)}
.blog-head.has-feature{background:linear-gradient(180deg,var(--grey) 0,var(--grey) calc(100% - 160px),#fff calc(100% - 160px))}
.blog-head-inner{max-width:1248px;box-sizing:border-box;margin:0 auto;padding:36px 24px 0;display:flex;flex-direction:column;align-items:center;gap:40px}
.blog-head:not(.has-feature) .blog-head-inner{padding-bottom:56px}
.blog-head-col{width:100%;max-width:760px;display:flex;flex-direction:column;gap:22px}
.crumb-light a{color:var(--consent)}.crumb-light a:hover{color:var(--navy)}
.crumb-light .crumb-sep{color:var(--field)}
.crumb-light [aria-current]{color:var(--navy)}
.cat-chip{align-self:flex-start;background:var(--navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;border-radius:3px}
.cat-chip:hover{background:var(--midnight);color:#fff}
.blog-h1{font-size:clamp(34px,3.8vw,52px);line-height:1.1;color:var(--navy)}
.blog-dek{margin:0;font-family:var(--serif);font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--body);text-wrap:pretty}
.blog-by{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:14px;line-height:1.5;color:var(--consent)}
.blog-by strong{color:var(--navy)}
.blog-by .ph-dot{color:var(--field)}
.blog-feature{width:100%;max-width:1060px;aspect-ratio:21/9;border-radius:4px;overflow:hidden;background:var(--hairline)}
.blog-feature img{display:block;width:100%;height:100%;object-fit:cover}
.art-wrap-narrow{justify-content:center;padding-top:64px}
.art-wrap-narrow .art{flex:0 1 760px;gap:44px}
.author-card{display:flex;gap:16px;align-items:flex-start;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:24px 0}
.author-card>div{display:flex;flex-direction:column;gap:6px}

/* Bio (09) */
.bio-hero{max-width:1248px;box-sizing:border-box;margin:0 auto;padding:36px 24px 80px;display:flex;flex-direction:column;gap:28px}
.bio-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:56px;align-items:center}
.bio-photo{width:260px;aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:var(--hairline)}
.bio-grid.is-hires .bio-photo{width:440px}
.bio-photo img{display:block;width:100%;height:100%;object-fit:cover}
.bio-col{display:flex;flex-direction:column;gap:24px;min-width:0}
.bio-head{gap:14px}
.bio-h1{font-size:clamp(40px,4.6vw,62px);line-height:1.05}
.bio-subline{font-size:15px;line-height:1.5;color:var(--muted-navy)}
.stat-row{display:flex;flex-wrap:wrap;gap:28px 40px;border-top:1px solid rgba(255,255,255,.18);padding-top:22px}
.stat-row>div{display:flex;flex-direction:column;gap:6px}
.stat-v{font-family:var(--serif);font-size:34px;font-weight:700;line-height:1}
.stat-l{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-navy)}
.bio-contact{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:15px;color:var(--border)}
.bio-contact a{color:#fff;display:inline-flex;align-items:center;gap:8px}.bio-contact a:hover{color:var(--border)}
.art .bio-quote{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.6;color:var(--navy);border-left:3px solid var(--gold);padding-left:20px}
.cred-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cred-list li{border-top:1px solid var(--hairline);padding:12px 0;font-size:15px;line-height:1.5;color:var(--navy);font-weight:500}
.cred-contact{display:flex;flex-direction:column;gap:12px;font-size:15px;color:var(--body)}
.cred-contact a,.cred-contact span{display:inline-flex;align-items:center;gap:10px;color:var(--navy);word-break:break-word}
.cred-contact svg{color:var(--gold);flex-shrink:0}
.cred-contact a:hover{color:var(--link)}
.focus-chips{display:flex;flex-wrap:wrap;gap:8px}
.focus-chips span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;background:var(--grey);border-radius:3px;font-size:14px;font-weight:700;color:var(--navy)}

/* Equipo (09, 10) */
.team-note{font-size:15px;color:var(--consent);margin-top:-20px}
.tcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:36px 16px}
.tcard-grid-4{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:28px 20px}
.tcard{display:flex;flex-direction:column;gap:6px;color:var(--navy)}
.tcard-photo{display:block;aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:var(--hairline);margin-bottom:8px}
.tcard-photo img{display:block;width:100%;height:100%;object-fit:cover}
.tcard-name{font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.25}
.tcard-grid-4 .tcard-name{font-size:19px}
.tcard-role{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.4}
.tcard .more-link{margin-top:6px}
a.tcard:hover{color:var(--link)}
.ph-figure{margin:0}
.ph-figure figcaption{margin-top:10px;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-navy)}

/* Resultados (11) */
.fr-top{font-family:var(--serif);font-size:clamp(44px,5vw,64px);font-weight:700;line-height:1;color:var(--navy)}
.fr-type{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.fr-what{margin:0;border-top:1px solid var(--hairline);padding-top:16px;font-size:17px;line-height:1.65;color:var(--body)}
.fr-band{background:var(--midnight);color:#fff}
.fr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:36px 40px}
.fr-item{display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(255,255,255,.2);padding-top:18px}
.fr-amt{font-family:var(--serif);font-size:38px;font-weight:700;line-height:1}
.fr-lab{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-navy)}
.fr-txt{font-size:15px;line-height:1.6;color:var(--border)}
.fr-rest p{color:var(--border)}
.fr-rest strong{color:#fff}
.art-results .tbl table{table-layout:fixed;min-width:640px}
.art-results .tbl tr>*:first-child{font-family:var(--serif);font-size:18px}
.art-results .tbl table.has-head>thead>tr>*:first-child,.art-results .tbl table.has-head>tbody:first-child>tr:first-child>*:first-child{font-family:var(--sans);font-size:12px}
.fr-rest,.art-results{flex:none}

/* Contacto y oficinas (12, 13) */
.ph-grid-contact{align-items:start}
.form-card-hero{color:var(--navy)}
.c-rows{display:flex;flex-direction:column;gap:18px}
.c-row{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.c-lbl{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-navy);margin-bottom:4px}
.c-big{display:block;font-family:var(--serif);font-size:30px;font-weight:700;line-height:1.1;color:#fff}.c-big:hover{color:var(--border)}
.c-note{font-size:14px;color:var(--muted-navy);margin-top:4px}
.c-val{font-size:17px;font-weight:500;line-height:1.5;color:#fff}a.c-val:hover{color:var(--border)}
.c-rows-light{border-top:1px solid var(--border);padding-top:24px;gap:14px}
.c-rows-light .c-row{border-top:0;padding-top:0}
.c-rows-light .c-lbl{color:var(--muted)}
.c-rows-light .c-val{color:var(--navy)}a.c-val:hover{color:var(--link)}
.off-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:20px}
.off-wide{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden}
.off-photo{aspect-ratio:16/10;background:var(--hairline)}
.off-photo img{display:block;width:100%;height:100%;object-fit:cover}
.off-main{padding:36px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.off-main-city{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1.15;color:var(--navy)}
.off-main-addr{font-style:normal;font-size:17px;line-height:1.6;color:var(--body)}
.off-main-tel{display:flex;flex-direction:column;gap:4px;font-size:15px;color:var(--body)}
.off-main-tel a{font-size:20px;font-weight:700;color:var(--navy)}
.off-card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:26px;display:flex;flex-direction:column;gap:12px}
.off-head{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.off-city{font-family:var(--serif);font-size:21px;font-weight:700;line-height:1.2;color:var(--navy)}
.off-badge{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 9px;border-radius:3px;background:var(--grey);color:var(--navy)}
.off-badge.is-appt{background:#fff;border:1px solid var(--border)}
.off-addr{font-style:normal;font-size:15px;line-height:1.6;color:var(--body)}
.off-tel{font-size:17px;font-weight:700;color:var(--navy)}
.off-note{font-size:14px;color:var(--muted)}
.off-foot{margin-top:auto;border-top:1px solid var(--hairline);padding-top:14px}
.fee-row{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.fee-pre{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.fee-pct{font-family:var(--serif);font-size:72px;font-weight:700;line-height:1}
.fee-txt{margin:0;font-size:17px;line-height:1.55;color:var(--body)}
.fee-list{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid var(--hairline);display:flex;flex-direction:column;gap:14px}
.fee-list li{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start;font-size:16px;line-height:1.55;color:var(--body)}
.fee-ck{width:28px;height:28px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center}
.fee-list li>span:last-child{padding-top:3px}
.sets-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.art-referrals{max-width:860px}

/* 404 (14) */
.nf-hero{max-width:1248px;box-sizing:border-box;margin:0 auto;padding:88px 24px 96px;display:flex;flex-direction:column;gap:28px}
.nf-head{max-width:820px}
.nf-h1{font-size:clamp(40px,5vw,68px);line-height:1.05}
.nf-lead{margin:0;font-size:19px;line-height:1.6;color:var(--border);max-width:640px}
.nf-search{display:flex;gap:10px;flex-wrap:wrap;max-width:600px}
.nf-search label{flex:1 1 280px;display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-navy)}
.nf-search input{height:56px;box-sizing:border-box;width:100%;border:1px solid rgba(255,255,255,.4);background:#fff;border-radius:3px;padding:0 18px;font-size:16px;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--navy)}
.nf-search button{align-self:flex-end;height:56px;padding:0 28px;background:var(--gold);color:#fff;border:0;border-radius:3px;font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.nf-search button:hover,.nf-search button:focus{background:var(--gold-dark);color:#fff}
.nf-call{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;border-top:1px solid rgba(255,255,255,.18);padding-top:24px;max-width:820px;font-size:17px;color:#fff}

@media (max-width:1100px){.ph-float{left:16px}}
@media (max-width:900px){.sets-grid-3{grid-template-columns:minmax(0,1fr)}.bio-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .ph-grid-text{padding-bottom:52px}
  .ph-media-float{padding-bottom:0}
  .ph-float{position:relative;left:auto;bottom:auto;width:auto;margin:-36px 14px 0}
  .bio-hero{padding:24px 20px 52px}
  .bio-photo,.bio-grid.is-hires .bio-photo{width:min(260px,100%)}
  .tcard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .tcard-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .art div.n-grid>.n-cell:last-child:nth-child(odd){grid-column:auto}
  .blog-head-inner{padding:24px 20px 0;gap:28px}
  .art-wrap-narrow{padding-top:40px}
  .off-wide{grid-template-columns:minmax(0,1fr)}
  .off-main{padding:24px 22px}
  .fee-pct{font-size:56px}
  .ph-card{padding:24px 22px}
  .nf-hero{padding:56px 20px 64px}
  .status-list>div{grid-template-columns:minmax(0,1fr);gap:4px}
}

/* Mapa del sitio [tif_sitemap] dentro de la plantilla nueva */
.art .sm-index{flex-direction:row;flex-wrap:wrap;gap:8px;margin:0 0 8px!important}
.art .sm-index>li,.art .sm-list>li{padding:0;font-size:15px}
.art .sm-index>li::before,.art .sm-list>li::before{display:none}
.art .sm-list{display:block}
.art .sm-index a:not(.btn){color:var(--navy)}
.art .sm-sec h2{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--navy);margin:0 0 14px}

/* FAQ en acordeón dentro de la banda azul (muchas preguntas o respuestas largas) */
.qa-band{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;align-items:start}
.qa-card{background:#fff;border:0;border-radius:6px;padding:4px 22px}
.qa-card summary{font-size:17px;padding:16px 0}
.faq .qa-a{color:var(--faq-a);font-size:15px;line-height:1.65}
.faq .qa-a p{margin:0;font-size:15px;line-height:1.65;color:var(--faq-a)}
.faq .qa-a ul,.faq .qa-a ol{margin:0;padding-left:18px}
.faq .qa-a strong,.faq .qa-a b{color:var(--navy)}
@media (max-width:760px){.qa-band{grid-template-columns:minmax(0,1fr)}}

/* Preguntas como títulos H3 */
.faq-h{margin:0;font:inherit;color:inherit}
.qa .qa-h{margin:0;font:inherit;color:inherit}
