/* Inter (axe opsz) auto-hebergee : rendu proche de SF Pro Display */
@font-face{font-family:"Inter Apple";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-apple-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Inter Apple";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-apple-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ==========================================================================
   STYLE APPLE — Live Events Production & DJ AstrøNova (charge EN DERNIER)
   Palette et principes d'apple.com : noir #000 / gris clair #f5f5f7, texte #1d1d1f / #6e6e73,
   bleu #0071e3 (liens #2997ff sur fond sombre, #0066cc sur fond clair), boutons en pilule,
   grands titres, beaucoup d'espace, coins tres arrondis, menu translucide, pied de page gris clair.
   Reversible : retirer la ligne <link> de apple.css. Le bleu se change avec --ap-blue.
   ========================================================================== */
:root {
  --ap-blue: #0071e3; --ap-blue-h: #0077ed; --ap-link-d: #2997ff; --ap-link-l: #0066cc;
  --ap-text: #f5f5f7; --ap-text-2: #a1a1a6; --ap-card-d: #1d1d1f; --ap-line-d: #424245;
  --ap-light: #f5f5f7; --ap-ink: #1d1d1f; --ap-ink-2: #6e6e73; --ap-line-l: #d2d2d7;
  --ap-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter Apple", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ap-ease: cubic-bezier(.28, .11, .32, 1);
  /* l'ancien accent (variable --gold) devient le bleu Apple partout */
  --gold: #2997ff; --gold-l: #47a6ff; --brand: #0071e3; --brand-ink: #0066cc;
  --dark: #000; --dark2: #101012; --dark3: #1d1d1f; --dark4: #1d1d1f;
}

/* ---------- Base ---------- */
body { font-family: var(--ap-font); background: #000; color: var(--ap-text); font-size: 1.0625rem; line-height: 1.47; letter-spacing: -.022em; }
h1, h2, h3, h4 { font-family: var(--ap-font); color: inherit; letter-spacing: -.03em; font-weight: 600; }
h1 { font-size: clamp(2.5rem, 7vw, 5rem); line-height: 1.05; font-weight: 700; letter-spacing: -.045em; }
h2 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.08; font-weight: 700; letter-spacing: -.035em; }
h3 { font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.2; }
p { color: var(--ap-text-2); max-width: none; }
a { color: var(--ap-link-d); }
a:hover { color: #6cb8ff; }
.gold { background: linear-gradient(92deg, #2997ff 0%, #a46bff 55%, #ff6bb5 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.section-label { color: var(--ap-text-2); font-size: .85rem; letter-spacing: .02em; text-transform: none; font-weight: 600; }
.divider { display: none; }
:focus-visible { outline: 3px solid var(--ap-link-d); outline-offset: 3px; }

/* ---------- Navigation (barre translucide de 48 px) ---------- */
.nav { height: 48px; padding: 0; background: rgba(22, 22, 23, .8); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(255, 255, 255, .08); }
.nav-inner { height: 48px; }
.nav-logo { font-size: 1.05rem; font-weight: 600; letter-spacing: -.025em; }
.nav-logo span { color: inherit; }
.nav-links { gap: 1.75rem; }
.nav-links a { font-size: .78rem; font-weight: 400; letter-spacing: -.01em; color: rgba(245, 245, 247, .82); }
.nav-links a:hover { color: #fff; }
.nav-links a:not(.nav-cta)::after { display: none; }
@media (min-width: 769px) {
  .nav-cta { background: var(--ap-blue); color: #fff !important; border-radius: 980px; padding: .3rem .95rem; font-size: .78rem; font-weight: 400 !important; min-height: 0; box-shadow: none; }
  .nav-cta:hover { background: var(--ap-blue-h); transform: none; box-shadow: none; }
}
.nav-burger { border-color: rgba(255, 255, 255, .2); }

/* ---------- Boutons : pilules ---------- */
.btn, .btn-gold, .btn-outline-white, .btn-primary, .btn-outline { border-radius: 980px; font-size: 1.0625rem; font-weight: 400; letter-spacing: -.022em; padding: .78rem 1.45rem; min-height: 44px; border: 0; box-shadow: none; transition: background .3s var(--ap-ease), color .3s var(--ap-ease), transform .3s var(--ap-ease); }
.btn-primary, .btn-gold { background: var(--ap-blue); color: #fff; }
.btn-primary:hover, .btn-gold:hover { background: var(--ap-blue-h); color: #fff; transform: none; box-shadow: none; }
.btn-outline, .btn-outline-white { background: transparent; color: var(--ap-link-d); border: 1px solid var(--ap-link-d); }
.btn-outline:hover, .btn-outline-white:hover { background: rgba(41, 151, 255, .14); color: #6cb8ff; border-color: #6cb8ff; transform: none; }
.btn:active, .btn-gold:active, .btn-outline-white:active { transform: scale(.98); }

/* ---------- Hero de l'accueil ---------- */
.hero-new { min-height: min(100vh, 880px); background-color: #000; }
.hero-new::before { background: linear-gradient(180deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .62) 55%, #000 100%) !important; }
.hero-new .hero-inner { max-width: 1000px; padding: 8rem 1.5rem 4.5rem; }
.hero-badge-new { background: none; border: 0; padding: 0; margin-bottom: 1.1rem; color: var(--ap-text); font-size: 1.05rem; font-weight: 600; letter-spacing: -.01em; text-transform: none; opacity: .92; }
.hero-badge-new::before { display: none; }
.hero-new h1 { font-size: clamp(2.8rem, 8.2vw, 6.25rem); font-weight: 700; letter-spacing: -.05em; line-height: 1.02; margin-bottom: 1.1rem; color: #f5f5f7; }
.hero-subtitle { color: var(--ap-text); font-size: clamp(1.25rem, 2.6vw, 1.75rem); font-weight: 500; letter-spacing: -.02em; margin-bottom: .8rem; }
.hero-desc { color: var(--ap-text-2); font-size: 1.2rem; max-width: 660px; margin: 0 auto 2.25rem; }
.hero-btns-new { gap: 1.1rem; margin-bottom: 3.25rem; }
.hero-stats-new { gap: 3.5rem; }
.hero-stat-num { color: var(--ap-text); font-size: 2.6rem; font-weight: 600; letter-spacing: -.04em; }
.hero-stat-label { text-transform: none; letter-spacing: -.01em; font-size: .9rem; color: var(--ap-text-2); }

/* ---------- Hero des pages interieures : centre, sobre ---------- */
.hero:has(nav[aria-label="Fil d'Ariane"]) { min-height: 0; padding: 9rem 0 5rem; text-align: center; background-color: #000; }
.hero:has(nav[aria-label="Fil d'Ariane"]) > .container { max-width: 980px; }
.hero:has(nav[aria-label="Fil d'Ariane"]) nav[aria-label] { color: var(--ap-text-2); }
.hero:has(nav[aria-label="Fil d'Ariane"]) h1 { font-size: clamp(2.5rem, 6.5vw, 4.75rem); }
.hero:has(nav[aria-label="Fil d'Ariane"]) p { margin-left: auto; margin-right: auto; font-size: clamp(1.15rem, 2.2vw, 1.4rem); color: var(--ap-text-2); max-width: 760px; }
.hero-badge { background: none; border: 0; padding: 0; color: var(--ap-text); font-size: 1rem; font-weight: 600; opacity: .92; }
.hero-badge::before { display: none; }
.hero-badge > span[aria-hidden="true"] { display: none; }

/* ---------- Sections : alternance noir / gris clair ---------- */
.sec, section.sec { padding: clamp(4.5rem, 10vw, 8.5rem) 0; }
.sec-dark, section[style*="background:#111"], section[style*="var(--dark4)"] { background: #000 !important; color: var(--ap-text) !important; }
.sec-dark2, section[style*="var(--dark2)"] { background: #101012 !important; color: var(--ap-text) !important; }
.sec-light, section[style*="background:#f9f9f9"], section[style*="background: #f9f9f9"] { background: var(--ap-light) !important; color: var(--ap-ink) !important; }
.sec-light h2, .sec-light h3, section[style*="#f9f9f9"] h2 { color: var(--ap-ink); }
.sec-light p, .sec-light li, section[style*="#f9f9f9"] p, section[style*="#f9f9f9"] li { color: var(--ap-ink-2); }
.sec-light a:not(.btn):not(.btn-gold), section[style*="#f9f9f9"] a:not(.btn) { color: var(--ap-link-l); }
.section-header { margin-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.section-header h2 { margin-bottom: 1rem; }
.section-header p { font-size: clamp(1.1rem, 2vw, 1.35rem); color: inherit; opacity: .72; max-width: 760px; margin: 0 auto; }
section[style*="#f9f9f9"] .container.page-content { max-width: 820px; font-size: 1.125rem; line-height: 1.6; }
section[style*="#f9f9f9"] h2 { font-size: clamp(1.75rem, 3.6vw, 2.5rem); }
section[style*="#f9f9f9"] h3 { color: var(--ap-ink); }

/* ---------- Cartes : grands arrondis, sans bordure ---------- */
.card, .card-new, .tarif-card, .tarif-card-new, .highlight-box { border: 0; border-radius: 28px; box-shadow: none; }
.card, .tarif-card, .tarif-card-new { background: var(--ap-card-d); padding: 2.25rem; }
.card:hover, .card-new:hover { transform: scale(1.012); border-color: transparent; }
.card, .card-new { transition: transform .6s var(--ap-ease); }
.card-new { overflow: hidden; background: var(--ap-card-d); }
.sec-light .card, .sec-light .card-new, .sec-light .tarif-card-new { background: #fff; }
.sec-light .card h3, .sec-light .card-new h3 { color: var(--ap-ink); }
.card-new img { border-radius: 0; }
.card-new-body { padding: 1.5rem 1.75rem 2rem; }
.card-new-price { color: var(--ap-text-2); font-weight: 500; }
.sec-light .card-new-price { color: var(--ap-ink-2); }
.sec-2col img, .sec img[loading="lazy"].rounded { border-radius: 28px; border: 0; }
.tarif-card-new .price, .tarif-card .price { color: var(--ap-text); font-size: 2.6rem; font-weight: 600; letter-spacing: -.04em; }
.tarif-card-new h3, .tarif-card h3 { color: var(--ap-text); font-size: 1.1rem; }
.tarif-card-new.pop, .tarif-card.popular { box-shadow: 0 0 0 2px var(--ap-blue); }
.tarif-pop-badge { background: var(--ap-blue); color: #fff; font-weight: 500; }
.highlight-box { background: var(--ap-card-d); border-left: 0; }

/* ---------- FAQ : liste epuree ---------- */
.faq-item { border-bottom: 1px solid var(--ap-line-d); }
.faq-question { color: var(--ap-text); font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 600; letter-spacing: -.025em; padding: 1.5rem 0; }
.faq-question:hover { color: #fff; }
.faq-question .icon { color: var(--ap-text-2); }
.faq-answer { font-size: 1.1rem; color: var(--ap-text-2); }
.sec-light .faq-item { border-color: var(--ap-line-l); }
.sec-light .faq-question { color: var(--ap-ink); }

/* ---------- Bloc « En bref » ---------- */
.en-bref { background: #fff; border-bottom: 0; padding: clamp(3rem, 6vw, 5rem) 0; }
.en-bref h2 { color: var(--ap-ink-2); font-size: .85rem; letter-spacing: .02em; text-transform: none; font-weight: 600; }
.en-bref__lead { color: var(--ap-ink); font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 600; letter-spacing: -.03em; line-height: 1.2; }
.en-bref__facts li { background: var(--ap-light); border: 0; border-radius: 20px; padding: 1.1rem 1.25rem; color: var(--ap-ink); }
.en-bref__facts strong { color: var(--ap-ink-2); font-size: .75rem; letter-spacing: .02em; text-transform: none; }
.en-bref a { color: var(--ap-link-l); text-decoration: none; }
.en-bref a:hover { text-decoration: underline; }
.en-bref__date { color: var(--ap-ink-2); }

/* ---------- Pied de page : gris clair Apple ---------- */
.footer { background: var(--ap-light); color: var(--ap-ink-2); padding: 3rem 0 1.75rem; border-top: 1px solid var(--ap-line-l); font-size: .78rem; }
.footer h3, .footer h4 { color: var(--ap-ink); font-size: .78rem; font-weight: 600; text-transform: none; letter-spacing: 0; margin-bottom: .6rem; }
.footer p, .footer-desc, .footer li { color: var(--ap-ink-2); }
.footer a { color: #424245; font-size: .78rem; }
.footer a:hover { color: var(--ap-ink); text-decoration: underline; }
.footer .nav-logo, .footer .nav-logo span { color: var(--ap-ink) !important; }
.footer-bottom { border-top: 1px solid var(--ap-line-l); color: var(--ap-ink-2); }

/* ---------- Barre mobile ---------- */
.mobile-cta { background: rgba(22, 22, 23, .86); border-top: 1px solid rgba(255, 255, 255, .1); }
.mobile-cta__main { background: var(--ap-blue); color: #fff; border-radius: 980px; }
.mobile-cta__main:hover { color: #fff; }
.mobile-cta__call { border-radius: 980px; }

/* ---------- Apparition douce au defilement ---------- */
.js .rv { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--ap-ease), transform .9s var(--ap-ease); }
.js .rv.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .rv { opacity: 1; transform: none; transition: none; } }

@media (max-width: 640px) {
  .hero-new .hero-inner { padding: 6.5rem 1.25rem 3rem; }
  .hero-stats-new { gap: 1.75rem; }
  .card, .tarif-card, .tarif-card-new { padding: 1.6rem; border-radius: 24px; }
  .hero:has(nav[aria-label="Fil d'Ariane"]) { padding: 7rem 0 3.25rem; }
}

/* ---------- Finitions (v2) ---------- */
.sec-label { font-size: 1rem; text-transform: none; letter-spacing: -.01em; color: var(--ap-text-2); font-weight: 600; }
section[style*="#f9f9f9"] .sec-label, .sec-light .sec-label { color: var(--ap-ink-2); }
.divider-gold { display: none; }
.tag-pill { background: var(--ap-card-d); border: 0; color: var(--ap-text); border-radius: 980px; padding: .6rem 1.15rem; font-size: .95rem; transition: background .3s var(--ap-ease); }
.tag-pill:hover { background: #2b2b2e; color: #fff; }
img[style*="border"] { border: 0 !important; border-radius: 28px !important; }
.sec-2col img { border-radius: 28px; border: 0; }
/* cartes blanches sur fond gris clair */
section[style*="#f9f9f9"] .card-new, .sec-light .card-new { background: #fff; }
section[style*="#f9f9f9"] .card-new h3, .sec-light .card-new h3 { color: var(--ap-ink); }
section[style*="#f9f9f9"] .card-new li, .sec-light .card-new li, section[style*="#f9f9f9"] .card-new-price, .sec-light .card-new-price { color: var(--ap-ink-2); }
/* lien « En savoir plus › » a la place du bouton contour */
.card-new .btn, .card-new-body a.btn-outline { border: 0; padding: 0; min-height: 0; background: none; color: var(--ap-link-d); font-size: 1.0625rem; justify-content: flex-start; }
.card-new .btn::after, .card-new-body a.btn-outline::after { content: "›"; margin-left: .35rem; font-size: 1.25em; line-height: 1; }
section[style*="#f9f9f9"] .card-new .btn, .sec-light .card-new .btn { color: var(--ap-link-l); }
.card-new .btn:hover { background: none; color: #6cb8ff; text-decoration: underline; }

/* ---------- Finitions (v3) ---------- */
.img-rounded { border: 0 !important; border-radius: 28px !important; box-shadow: none !important; }
.btn-card-outline { border: 0; padding: 0; min-height: 0; background: none; color: var(--ap-link-d); font-size: 1.0625rem; justify-content: flex-start; width: auto; }
.btn-card-outline::after { content: "›"; margin-left: .35rem; font-size: 1.25em; line-height: 1; }
section[style*="#f9f9f9"] .btn-card-outline, .sec-light .btn-card-outline { color: var(--ap-link-l); }
.btn-card-outline:hover { background: none; color: #6cb8ff; text-decoration: underline; }
section[style*="#f9f9f9"] .btn-card-outline:hover { color: var(--ap-link-l); }

/* ---------- Finitions (v4) ---------- */
.footer .gold { background: none; -webkit-text-fill-color: currentColor; color: inherit; }
section[style*="#fff8f0"] { background: var(--ap-light) !important; border: 0 !important; }
section[style*="#fff8f0"] h2, section[style*="#fff8f0"] h3 { color: var(--ap-ink) !important; }
section[style*="#fff8f0"] p, section[style*="#fff8f0"] li { color: var(--ap-ink-2) !important; }

/* ---------- Fonds de blocs : palette Apple stricte (v5) ---------- */
/* sombre = noir pur ; clair = #f5f5f7 ; alternance en blanc quand deux sections claires se suivent */
.sec-dark, .sec-dark2, #faq-home, #cta-final, section[style*="var(--dark2)"], section[style*="var(--dark4)"], section[style*="background:#111"] { background: #000 !important; color: var(--ap-text) !important; }
.sec-light, section[style*="#f9f9f9"] { --tile: #fff; }
.sec-light + .sec-light, section[style*="#f9f9f9"] + section[style*="#f9f9f9"], .sec-light + section[style*="#f9f9f9"], section[style*="#f9f9f9"] + .sec-light { background: #fff !important; --tile: #f5f5f7; }
.sec-light + .sec-light + .sec-light, section[style*="#f9f9f9"] + section[style*="#f9f9f9"] + section[style*="#f9f9f9"] { background: #f5f5f7 !important; --tile: #fff; }
.sec-light + .sec-light + .sec-light + .sec-light, section[style*="#f9f9f9"] + section[style*="#f9f9f9"] + section[style*="#f9f9f9"] + section[style*="#f9f9f9"] { background: #fff !important; --tile: #f5f5f7; }
section[style*="#f9f9f9"] .card-new, .sec-light .card-new, .sec-light .card, .sec-light .tarif-card-new { background: var(--tile, #fff); }
.card, .card-new, .tarif-card, .tarif-card-new { background-color: #1d1d1f; }
.sec-light .card, .sec-light .card-new, section[style*="#f9f9f9"] .card-new { background-color: var(--tile, #fff); }
.footer { background: #f5f5f7; }
.en-bref { background: #fff; }
.en-bref__facts li { background: #f5f5f7; }

/* ---------- Mobile : grilles repliees, tableaux defilables (v6) ---------- */
@media (max-width: 768px) {
  .grid-2, .grid-3, .sec-2col { grid-template-columns: 1fr !important; }
  .stats-table, .tarif-table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .checklist li, .page-content li { overflow-wrap: anywhere; }
}

/* ---------- Revue page par page (v7) : boutons, cartes, liens, pied de page ---------- */
/* boutons ronds du pied de page : gris Apple au lieu de noir */
.social-links a, .footer-social a { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; background: #e8e8ed; color: #1d1d1f; border: 0; border-radius: 50%; font-size: 1rem; text-decoration: none; transition: background .3s var(--ap-ease); }
.social-links a:hover, .footer-social a:hover { background: #d2d2d7; color: #000; }
/* « Services complémentaires » : pastilles claires, plus de boutons noirs */
.related-cards { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.related-cards a, section[style*="#f9f9f9"] .related-cards a { background: var(--tile, #fff); color: var(--ap-ink); border: 0; border-radius: 980px; padding: .7rem 1.3rem; font-size: 1rem; font-weight: 500; text-decoration: none; transition: background .3s var(--ap-ease); }
.related-cards a::after { content: " ›"; color: var(--ap-link-l); font-size: 1.15em; }
.related-cards a:hover { background: #e8e8ed; color: #000; }
.sec-dark .related-cards a, .sec-dark2 .related-cards a { background: var(--ap-card-d); color: var(--ap-text); }
/* un lien qui englobe une carte ne doit ni etre souligne ni colore */
a.blog-card, a.blog-card:hover, a:has(> img), a:has(> h2), a:has(> h3), a:has(> .card-new) { text-decoration: none !important; }
section[style*="#f9f9f9"] a:has(> img), section[style*="#f9f9f9"] a:has(> h2), section[style*="#f9f9f9"] a:has(> h3) { color: inherit; }
/* blog : cartes blanches lisibles */
.blog-card { background: #fff; border: 0; border-radius: 28px; color: var(--ap-ink); }
.blog-card:hover { border: 0; box-shadow: none; transform: scale(1.012); }
.blog-card-cat { color: var(--ap-link-l); letter-spacing: .02em; text-transform: none; font-size: .8rem; }
.blog-card-title { color: var(--ap-ink); font-size: 1.2rem; letter-spacing: -.02em; }
.blog-card-excerpt { color: var(--ap-ink-2); }
.blog-cat-title { color: var(--ap-ink); text-transform: none; letter-spacing: -.02em; font-size: 1.6rem; border-bottom: 0; }
.blog-cat-title::after { display: none; }
/* articles : liens lisibles sur fond clair, boutons jamais illisibles */
.article-body a { color: var(--ap-link-l); font-weight: 500; }
.article-body a:hover { color: #004f9f; }
.article-body a.btn, a.btn-primary, a.btn-gold, .article-body a.btn-primary { color: #fff !important; }
.article-body a.btn-outline { color: var(--ap-link-l) !important; }
/* liens en bleu clair sur fond clair : bleu fonce */
.sec-light a:not(.btn):not(.btn-gold):not(.btn-card-outline), .sec-light + .sec-light a:not(.btn), section[style*="#f9f9f9"] [style*="color:#2997ff"] { color: var(--ap-link-l); }
.sec-light + .sec-light .btn-card-outline, .sec-light .btn-card-outline { color: var(--ap-link-l); }
/* accessibilite */
.skip-link { background: var(--ap-blue); color: #fff; }
.wa-cta-btn { background: #0d7a3f; color: #fff; border-radius: 980px; }
.blog-card-title { font-size: 1.25rem; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; }
.blog-card-body { padding: 1.4rem 1.6rem 1.8rem; }

/* v8 : echelle typographique unique (polices et tailles identiques sur toutes les pages) */
:root { --fs-body: 1.0625rem; --fs-small: .875rem; --fs-foot: .78rem; --fs-h1: clamp(2.5rem, 6vw, 4.75rem); --fs-h2: clamp(1.9rem, 3.6vw, 2.75rem); --fs-h3: 1.25rem; --fs-art-h2: 1.75rem; --fs-art-h3: 1.3rem; }
body, button, input, select, textarea, optgroup { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter Apple", Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important; }
body { font-size: var(--fs-body); line-height: 1.5; }
h1 { font-size: var(--fs-h1) !important; font-weight: 700 !important; letter-spacing: -.04em !important; line-height: 1.05 !important; }
h2:not(.en-bref *):not(footer *):not(.article-body *) { font-size: var(--fs-h2) !important; font-weight: 700 !important; letter-spacing: -.03em !important; line-height: 1.1 !important; }
.article-body h2 { font-size: var(--fs-art-h2) !important; font-weight: 700 !important; letter-spacing: -.02em !important; line-height: 1.2 !important; }
.article-body h3 { font-size: var(--fs-art-h3) !important; font-weight: 600 !important; }
h3:not(footer *):not(.article-body *) { font-size: var(--fs-h3) !important; font-weight: 600 !important; letter-spacing: -.01em !important; line-height: 1.25 !important; }
h4:not(footer *) { font-size: 1.0625rem !important; font-weight: 600 !important; }
main p:not(.en-bref *):not(footer *), section p:not(.en-bref *):not(footer *), .container p, .container-new p, .inner p, .page-content p, .article-body p,
main li:not(footer *):not(.en-bref *), section li:not(footer *):not(.en-bref *), .article-body li { font-size: var(--fs-body) !important; line-height: 1.55; }
td, th { font-size: var(--fs-small) !important; line-height: 1.4; }
th { font-weight: 600 !important; }
.btn, .btn-gold, .btn-outline-white, .btn-card-outline, .btn-primary, .btn-outline, button.btn, a[class*="btn-"], .wa-cta-btn { font-size: var(--fs-body) !important; font-weight: 500 !important; }
.faq-question { font-size: var(--fs-body) !important; font-weight: 600 !important; }
label { font-size: var(--fs-small) !important; font-weight: 600; }
input, select, textarea { font-size: var(--fs-body) !important; }
footer a, footer li, footer p { font-size: var(--fs-foot) !important; }
footer h3, footer h4 { font-size: var(--fs-foot) !important; font-weight: 600 !important; }
