/* Sistema compartido de lectura y jerarquía. Identidad y efectos de marca conservados. */
:root{--ui-font:Arial,Helvetica,sans-serif;--ui-title:38px;--ui-section:30px;--ui-card:24px;--ui-body:18px;--ui-lead:20px;--ui-small:16px;--ui-action:#104e2d;--ui-action-hover:#08733e;--ui-ink:#18271e;--ui-copy:#3e5144;--ui-line:#ccd9cd}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--ui-font);font-size:var(--ui-body);line-height:1.6;color:var(--ui-ink)}
h1,h2,h3,h4,button,input,select,textarea,summary,.button,.eyebrow{font-family:var(--ui-font)}
h1{font-size:var(--ui-title);font-weight:800;line-height:1.2;letter-spacing:-.8px}
h2{font-size:var(--ui-section);font-weight:800;line-height:1.25;letter-spacing:-.5px}
h3{font-size:var(--ui-card);font-weight:700;line-height:1.3;letter-spacing:-.3px}
p{line-height:1.6}input,select,textarea{font-size:17px;line-height:1.5}
main h1,main h2,main h3,main p,main li{overflow-wrap:break-word}
/* Encabezados equivalentes en las páginas principales y directorios. */
.page-intro,.tips-page .tips-intro{padding-top:34px;padding-bottom:28px}
.page-intro h1,.registration h1,.tips-page .tips-intro h1,.about-anniversary h1{font-family:var(--ui-font);font-size:var(--ui-title);font-weight:800;line-height:1.2;letter-spacing:-.8px;margin:0 0 18px;max-width:900px}
.page-intro .lead,.tips-page .tips-intro .lead,.registration>.lead,.hero .leonard-intro-subtitle{font-size:var(--ui-lead);line-height:1.6;max-width:76ch;color:var(--ui-copy)}
.page-intro .eyebrow,.eyebrow,.tips-page .tips-intro .eyebrow{font-size:15px;line-height:1.45;letter-spacing:.6px;font-weight:700;margin-bottom:14px;color:#08733e}
.section{padding-top:44px;padding-bottom:44px}.section.compact{padding-top:16px}
.section-heading{margin-bottom:24px;gap:20px}.section-heading h2,.portfolio-sections>h2{font-size:var(--ui-section);line-height:1.25;letter-spacing:-.5px}
/* Cartas y directorios. */
.portfolio-folder{padding:24px 28px;gap:24px;border-color:var(--ui-line);background:#edf3e8}
.portfolio-folder h3{font-size:var(--ui-card);line-height:1.3;letter-spacing:-.3px;margin-bottom:10px}
.portfolio-folder p:last-child,.category-copy p,.steps p,.rubro-card p{font-size:var(--ui-body);line-height:1.6}
.portfolio-folder .eyebrow{font-size:15px;color:#08733e}
.portfolio-folder svg{stroke:#08733e}.portfolio-folder:hover{background:#e2eedc}
.folder-action,.breadcrumb,.brand-documents,.filter-status,.muted{font-size:var(--ui-small);line-height:1.5;color:var(--ui-copy)}
.pdf-brand-grid .brand-card h3,.rubro-heading h2{font-size:var(--ui-card);line-height:1.3;letter-spacing:-.3px}
.family-group h2,.automaker-group h2,.legal h2,.leonard-video-copy h2{font-size:var(--ui-section);line-height:1.25;letter-spacing:-.5px}
.family-group li,.automaker-group li,.family-group a,.automaker-group a,.legal p{font-size:var(--ui-body);line-height:1.65}
.catalog-row,.catalog-title{font-size:var(--ui-body);line-height:1.5}
.search-label,.faq-search-end .search-label{font-size:18px;line-height:1.5;font-weight:700}
.search{font-size:18px;line-height:1.5;min-height:48px;padding:12px 15px}
/* Acciones: una combinación de alto contraste en fondos claros. */
main .button,main .text-link{font-size:17px;line-height:1.4;font-weight:700}
main .button{min-height:48px;padding:12px 18px;border-radius:7px;text-align:center;white-space:normal}
main .button.primary{background:var(--ui-action);border-color:var(--ui-action);color:#fff}
main .button.primary:hover{background:var(--ui-action-hover);border-color:var(--ui-action-hover);color:#fff}
main .text-link{color:#08733e;text-decoration:none;border-bottom-color:#6c9a7e}
main .button.outline{border-color:#64856e;color:#16492c;background:#fff}
main .button.outline:hover{background:#e7f1e5;color:#104e2d}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b78317;outline-offset:3px}
/* Contacto y preguntas: misma escala de lectura. */
.connect-section .contact-main-title,.connect-section>h2,.contact-faq>h2{font-size:var(--ui-title);font-weight:800;line-height:1.2;letter-spacing:-.8px}
.connect-section .contact-form-cards h3{font-size:var(--ui-card);line-height:1.3}
.connect-section .contact-form-cards p{font-size:var(--ui-body);line-height:1.6;color:#fff}
.connect-section .contact-form-cards .button{background:#fff;color:#104e2d;border-color:#fff;font-size:17px}
.faq-page .faq-group h2,.contact-faq .faq-group h3,.faq-contact h2{font-size:var(--ui-card);line-height:1.3;letter-spacing:-.3px}
.faq-page summary,.contact-faq summary{font-size:18px;line-height:1.5;font-weight:700}
.faq-page details p,.contact-faq .faq-item p{font-size:18px;line-height:1.65;color:var(--ui-copy)}
.faq-page .lead{font-size:20px;line-height:1.6}
/* Formularios: etiquetas, controles e instrucciones consistentes. */
.registration legend{font-size:22px;line-height:1.35;letter-spacing:-.25px}
.registration .reg-field,.registration .reg-check{font-size:17px;line-height:1.5}
.registration input:not([type=checkbox]),.registration select,.registration textarea{font-family:var(--ui-font);font-size:17px;line-height:1.5;min-height:48px;border-color:#8aa38a}
.registration fieldset{margin:22px 0;padding:22px}.registration .reg-fine,.contact-validation{font-size:16px;line-height:1.5}
.registration input[readonly]{color:#314d38;background:#edf3e8}
/* Nosotros: texto más compacto, manteniendo el sello, el oro y los contadores. */
.about-anniversary{padding-top:38px;padding-bottom:32px}.about-anniversary-grid{gap:40px}
.about-anniversary p,.about-anniversary .about-lead{font-size:20px;line-height:1.65}
.about-anniversary .eyebrow{font-size:15px;color:#f8d87b;line-height:1.5}
.about-thanks h2{font-family:var(--ui-font);font-size:28px;line-height:1.3;letter-spacing:-.5px}
.about-thanks>p:not(.about-promise){font-size:18px;line-height:1.6}
/* Pie de página legible, con texto largo que se adapta al ancho. */
footer{font-family:var(--ui-font)}.footer-grid p,.footer-grid>div:not(:first-child) a,.footer-map-link{font-size:17px;line-height:1.6;overflow-wrap:anywhere}
.footer-grid h3{font-size:18px;line-height:1.35;letter-spacing:0}.footer-bottom{font-size:16px;line-height:1.6}.footer-brand{font-family:var(--ui-font)}
.footer-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.65fr) minmax(0,1fr);gap:40px}
.footer-grid>div{min-width:0}
/* Escala móvil: lectura cómoda sin títulos gigantes ni botones recortados. */
@media(max-width:760px){
:root{--ui-title:30px;--ui-section:26px;--ui-card:22px;--ui-body:18px;--ui-lead:18px}
.page-intro,.tips-page .tips-intro{padding-top:26px;padding-bottom:22px}
.page-intro h1,.registration h1,.tips-page .tips-intro h1,.about-anniversary h1{letter-spacing:-.5px}
.section{padding-top:32px;padding-bottom:32px}.section.compact{padding-top:12px}
.portfolio-folder{padding:20px;gap:16px}.portfolio-folder>div{min-width:0;flex:1 1 180px}
.portfolio-folder h3{font-size:22px}.portfolio-folder p:last-child{font-size:18px}
.about-anniversary p,.about-anniversary .about-lead{font-size:18px}.about-anniversary-grid{gap:30px}
.about-thanks h2{font-size:25px}.about-thanks{padding-top:36px;padding-bottom:32px}
.registration fieldset{padding:18px 14px}.reg-grid{gap:16px}
.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}
.footer-bottom{flex-direction:column}.footer-bottom div{flex-wrap:wrap;gap:12px 20px}
}
@media(max-width:380px){.wrap{width:calc(100% - 28px)}.portfolio-folder{padding:18px 16px}.portfolio-folder svg{width:40px;height:40px}.portfolio-folder>div{flex-basis:160px}.connect-section .contact-form-cards>div{padding:20px 16px}}

/* Las tarjetas de PDF mantienen sus tres elementos en una sola columna. */
.catalog-list .catalog-row{flex-wrap:nowrap}
.catalog-list .catalog-row>span:nth-child(2){flex:0 0 auto;min-width:0;font-size:18px;line-height:1.5}
.catalog-list .catalog-row .row-action{flex:0 0 auto;padding:8px 0 0;margin:0;margin-top:auto;max-width:100%;font-size:16px;line-height:1.4;color:#104e2d}
@media(max-width:480px){.catalog-list .catalog-row>span:nth-child(2){font-size:17px}}

/* Misma firma gráfica del encabezado al pie de todas las páginas. */
footer .footer-brand.brand{display:inline-flex;align-items:center;gap:13px;max-width:100%;margin:0;letter-spacing:0;vertical-align:top}
footer .footer-brand.brand>img{width:69.3px;height:59.4px;object-fit:contain;flex-shrink:0}
footer .footer-brand.brand .brand-wordmark{width:221px;min-width:0;height:auto;fill:#00a651;font-family:Georgia,'Times New Roman',serif;letter-spacing:0}
@media(max-width:680px){footer .footer-brand.brand{gap:10px}footer .footer-brand.brand>img{width:52.8px;height:52.8px}footer .footer-brand.brand .brand-wordmark{width:clamp(140px,53vw,221px)}}

/* Biblioteca: portadas y títulos protagonistas; toda la tarjeta abre el PDF. */
.catalog-list .catalog-row{padding:14px;gap:14px}
.catalog-list .catalog-thumb{height:240px;padding:6px}
.catalog-list .catalog-row>span:nth-child(2){font-size:19px;line-height:1.45;font-weight:700}
@media(max-width:760px){.catalog-list .catalog-row{padding:12px;gap:12px}.catalog-list .catalog-thumb{height:210px}.catalog-list .catalog-row>span:nth-child(2){font-size:18px}}
@media(max-width:480px){.catalog-list .catalog-row{padding:10px;gap:12px}.catalog-list .catalog-thumb{height:185px;padding:4px}.catalog-list .catalog-row>span:nth-child(2){font-size:18px}}

/* Títulos de catálogos: misma escala de texto que las demás tarjetas. */
.catalog-list .catalog-row>span:nth-child(2){font-family:var(--ui-font);font-size:var(--ui-body);font-weight:700;line-height:1.5;letter-spacing:0;color:var(--ui-ink);text-transform:none}
