/* Fuente única de jerarquía visual. Se carga al final en todas las páginas locales. */
:root{--font-display:Georgia,"Times New Roman",serif;--display-weight:600;--display-tracking:-.025em;--display-leading:1.16;--title-section:clamp(32px,3vw,42px);--title-page:clamp(36px,4vw,49px);--section-space:64px;--section-surface:#f4f8f4;--text-body:#4f6859;--line:#dce5dd;--radius-panel:18px;--radius-card:14px;--shadow-card:0 4px 16px #244e300c}
main h1,main h2{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);line-height:var(--display-leading);color:var(--green-dark)}
.storefront-copy h1,.storefront-copy h1 em{font-weight:var(--display-weight);letter-spacing:var(--display-tracking);line-height:var(--display-leading)}
.storefront-copy h1{font-size:clamp(42px,4vw,58px)}
.home-page h2,.home-page .community-copy h2,.home-visit h2{font-size:var(--title-section);font-weight:var(--display-weight);line-height:var(--display-leading);letter-spacing:var(--display-tracking)}
.home-page .section-title .eyebrow,.community-copy .eyebrow,.home-page .eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700;line-height:1.6;color:var(--green)}
.home-page .section-title .eyebrow,.community-copy .eyebrow{margin-bottom:14px}
.home-page .section-aside,.community-copy>p:not(.eyebrow),.storefront-intro,.faq-intro{font-size:15px;line-height:1.85;color:var(--text-body)}
.home-page .section,.home-visit,.community-section,.home-faq{padding-block:var(--section-space)}
.home-page .section-title{align-items:end;gap:30px;margin-bottom:30px}
.home-page .category-tile{border-radius:var(--radius-card)}
.home-featured,.home-visit{background:var(--section-surface);border-color:var(--line)}
.home-location-grid,.community-panel{border-radius:var(--radius-panel);border-color:var(--line);box-shadow:none}
.community-panel{background:var(--section-surface)}
.community-profile,.product-card{border-radius:var(--radius-card);border-color:var(--line);box-shadow:var(--shadow-card)}
.community-profile h3,.home-store h3{font-family:var(--font-display);font-size:28px;line-height:1.2;font-weight:var(--display-weight);letter-spacing:var(--display-tracking)}
.community-profile>p{color:var(--text-body);font-size:13px;line-height:1.8}
.button{min-height:47px;border-radius:9px;font-weight:650;line-height:1.4}
.community-profile-action{font-size:12px}
.catalog-heading h1,.request-heading h1{font-size:var(--title-page)}
.retail-copy h1{font-size:clamp(32px,3vw,43px);font-weight:var(--display-weight)}
.retail-panel-body h2{font-size:31px;font-weight:var(--display-weight)}
.filters h2{font:650 16px/1.5 system-ui,sans-serif;letter-spacing:-.02em}

/* El mismo lockup, sin variantes de tamaño entre cabecera y pie. */
header .brand,footer .brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
header .brand img,footer .brand img{width:58px;height:58px;object-fit:contain;object-position:center;border:0;border-radius:0;padding:0;background:none;flex-shrink:0}
header .brand>span,footer .brand>span{display:grid;align-content:center;justify-items:start;line-height:1.05}
header .brand strong,footer .brand strong{display:block;font:700 1.18rem/1.05 Georgia,serif;letter-spacing:.02em;color:#002d68;white-space:nowrap}
header .brand small,footer .brand small{display:block;font:700 .75rem/1.05 system-ui,sans-serif;margin:5px 0 0;letter-spacing:.13em;color:#14784d}
footer .footer-grid{grid-template-columns:1.25fr .8fr 1.2fr .8fr;gap:35px}

/* Guía: tres pasos comparables y una única franja de contacto. */
.home-guidance{display:block}
.home-purchase-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.home-purchase-steps li,.home-purchase-steps li:first-child,.home-purchase-steps li:last-child{display:flex;gap:16px;align-items:start;padding:24px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}
.home-purchase-steps li>span{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:10px;background:#eaf2eb;color:var(--green);font:600 15px/1 system-ui,sans-serif}
.home-purchase-steps li>div{display:flex;flex-direction:column;align-items:start;min-width:0;align-self:stretch}
.home-purchase-steps h3{font:650 16px/1.5 system-ui,sans-serif;letter-spacing:-.01em;margin:3px 0 10px}
.home-purchase-steps p{font-size:13px;line-height:1.85;color:var(--text-body);margin:0 0 18px}
.home-purchase-steps a{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650;color:var(--green);text-decoration:underline;text-underline-offset:4px;margin-top:auto;min-height:30px}
.home-purchase-steps a svg{width:16px;height:16px}
.guide-contact{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 28px;margin-top:22px;background:var(--section-surface);border:1px solid var(--line);border-radius:var(--radius-card)}
.guide-contact h3{font:650 16px/1.5 system-ui,sans-serif;margin:0 0 5px}
.guide-contact p{font-size:13px;line-height:1.8;margin:0;color:var(--text-body)}
.guide-actions{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.guide-actions .button{font-size:12px;white-space:normal}

/* Preguntas de proceso verificables, no consejos médicos ni promesas de stock. */
.home-faq{border-top:1px solid var(--line);background:#fbfcf9}
.faq-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:75px;align-items:start}
.faq-intro{max-width:350px;margin:20px 0 0}
.faq-items{border:1px solid var(--line);border-radius:var(--radius-card);background:white;overflow:hidden}
.faq-items details+details{border-top:1px solid var(--line)}
.faq-items summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;font-size:15px;font-weight:650;line-height:1.7;padding:23px;color:var(--ink)}
.faq-items summary::-webkit-details-marker{display:none}
.faq-items summary>span{font-size:23px;font-weight:400;color:var(--green);flex-shrink:0}
.faq-items details[open] summary>span{font-size:0}
.faq-items details[open] summary>span:after{content:'−';font-size:23px}
.faq-items details[open] summary{background:#f4f8f1}
.faq-items details>div{padding:0 23px 22px;background:#f4f8f1}
.faq-items p{font-size:14px;line-height:1.9;color:var(--text-body);margin:0}
.faq-items a{display:inline-block;font-size:13px;color:var(--green);text-decoration:underline;text-underline-offset:4px;padding-top:12px}
@media(min-width:761px) and (max-width:1100px){
 .home-purchase-steps{gap:14px}.home-purchase-steps li,.home-purchase-steps li:first-child,.home-purchase-steps li:last-child{padding:20px;flex-direction:column;gap:13px}.home-purchase-steps h3{font-size:15px}.guide-contact{align-items:start;flex-direction:column;gap:20px}.faq-layout{gap:35px}
 footer .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:760px){
 :root{--title-section:31px;--section-space:42px;--title-page:36px}
 .storefront-copy h1{font-size:clamp(36px,8.5vw,46px)}
 .home-page .eyebrow,.home-page .section-title .eyebrow,.community-copy .eyebrow{font-size:10px}
 .home-page .section-title{align-items:start;gap:16px;margin-bottom:25px}
 .home-page .section-aside,.community-copy>p:not(.eyebrow),.storefront-intro,.faq-intro{font-size:14px}
 .home-page .community-copy h2{font-size:var(--title-section)}
 header .brand,footer .brand{gap:10px}
 header .brand img,footer .brand img{width:48px;height:48px}
 header .brand strong,footer .brand strong{font-size:1.18rem;line-height:1.05}
 header .brand small,footer .brand small{font-size:.65rem;line-height:1.05;letter-spacing:.1em;margin-top:5px}
 .home-purchase-steps{grid-template-columns:minmax(0,1fr);gap:14px}
 .home-purchase-steps li,.home-purchase-steps li:first-child,.home-purchase-steps li:last-child{padding:21px;gap:15px}
 .home-purchase-steps h3{font-size:15px}.home-purchase-steps p{font-size:13px}
 .guide-contact{display:block;padding:22px}.guide-actions{display:grid;grid-template-columns:minmax(0,1fr);margin-top:20px;gap:12px}.guide-actions .button{width:100%}
 .faq-layout{grid-template-columns:minmax(0,1fr);gap:25px}.faq-intro{margin-top:17px;max-width:none}.faq-items summary{font-size:14px;padding:20px;gap:14px}.faq-items details>div{padding:0 20px 20px}.faq-items p{font-size:13px}
 footer .footer-grid{grid-template-columns:1fr;gap:28px}footer .footer-grid>div:first-child{padding-bottom:8px}
 .retail-panel-body h2{font-size:27px}.retail-copy h1{font-size:32px}
}
