/* Navidad 2026: pino, carmesí y oro, con los trabajos reales como protagonistas. */
:root { --pine: #163e31; }
.site-header, .site-header.is-scrolled { background: #12382e; border-bottom: 1px solid #c99a3c; }
.site-header::after { content: ""; display: block; height: 4px; background: radial-gradient(ellipse, #ffe6a2 0 20%, transparent 58%) 0 0 / 42px 4px repeat-x; pointer-events: none; }
.quick-modalities a { display: block; text-decoration: none; font: inherit; }
.hero-copy { position: relative; }
.hero-copy::before { content: ""; display: block; width: 150px; height: 65px; margin-bottom: 16px; background: none; pointer-events: none; }
.hero-panel { border-color: #ba9654; }
.hero-copy .eyebrow { color: #f0d795; letter-spacing: .13em; }
.hero-copy .hero-proof { font-size: .8rem; }
.hero-copy .hero-proof li { white-space: normal; }
.student-results { background: #edf1e9; border-block: 1px solid #dce3d4; }
.methods-wrap { background: linear-gradient(145deg, #12382e, #1c4437 55%, #102b23); }
.methods-heading h2, .methods-heading > .eyebrow { color: #fff2d3; }
.methods-heading > p:not(.eyebrow):not(.tutorial-price-badge) { color: #e0e6df; }
.confidence-step a { display: inline-block; margin-top: 8px; color: #174e3b; font-weight: 800; text-underline-offset: 3px; }
.included { padding-block: 70px; }
.included-copy h2 { color: #163e31; }
.included-list b { background: #163e31; color: #f6dfaa; }
.included-list span { line-height: 1.6; }
.closing { position: relative; border-top: 1px solid #cdb981; padding-top: 42px; }
.closing::before { content: "✦"; display: block; color: #a77b2d; font-size: 2rem; margin-bottom: 12px; pointer-events: none; }
footer { background: linear-gradient(135deg, #12382e, #1a4739); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #c99a3c; outline-offset: 4px; }
/* Decoration must never intercept taps or cover checkout controls. */
.hero-panel::before, .hero-panel::after, .method-card::before, .method-card::after, .method-glow, .festive-ambient, .ambient-orb, .ambient-star { pointer-events: none; }
@media (max-width: 620px) {
 .hero-copy::before { width: 120px; height: 48px; margin-bottom: 14px; }
 .included { padding-block: 42px; }
 .hero-copy .hero-proof { font-size: .78rem; }
}

/* Adornos de textura real, suspendidos sobre el menú. */
.hero-copy::before { display: none; }
.site-header::after { display: none; }
.christmas-mantel { height: 276px; position: relative; isolation: isolate; overflow: hidden; pointer-events: none; background: radial-gradient(ellipse at 50% 0%, #365340 0%, #173c30 55%, #102c24 100%); border-bottom: 1px solid #bd9452; }
.christmas-lights { position: absolute; inset: 0 0 auto; width: 100%; height: 76px; z-index: 2; overflow: visible; }
.christmas-cable { stroke: #7c8b61; stroke-width: 2; fill: none; }
.christmas-bulb { stroke: #b6a477; fill: #b6a477; stroke-width: 1.4; animation: christmas-warm-glow 4s ease-in-out var(--delay) infinite; }
.christmas-ornaments { width: min(940px, 98%); height: 228px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: start; gap: 18px; margin-inline: auto; }
.christmas-hanging { position: relative; display: grid; justify-items: center; transform-origin: 50% 0; animation: christmas-sway 6s ease-in-out infinite alternate; }
.christmas-hanging--tree { padding-top: 22px; animation-delay: -2s; }
.christmas-hanging--stocking { padding-top: 48px; animation-duration: 7.4s; animation-delay: -4s; }
.christmas-hanging--deer { padding-top: 20px; animation-duration: 6.8s; animation-delay: -1s; }
.christmas-hanging--star { padding-top: 43px; animation-duration: 8s; animation-delay: -3s; }
.christmas-thread { position: absolute; top: 0; width: 1px; height: 40px; background: linear-gradient(#a8884a,#efce83); }
.christmas-hanging--tree .christmas-thread, .christmas-hanging--deer .christmas-thread { height: 28px; }
.christmas-hanging--stocking .christmas-thread { height: 54px; }
.christmas-hanging--star .christmas-thread { height: 47px; }
.christmas-art { width: min(100%, 190px); aspect-ratio: 560 / 534; display: block; background-image: url('/assets/adornos-navidad-2026.png'); background-repeat: no-repeat; background-size: 274.2857% 191.7603%; filter: drop-shadow(0 8px 9px #0003); }
.christmas-art--tree { background-position: 21.5164% 0%; }
.christmas-art--deer { background-position: 81.9672% 0%; }
.christmas-art--stocking, .christmas-art--star { aspect-ratio: 560 / 490; background-size: 274.2857% 208.9796%; }
.christmas-art--stocking { background-position: 21.5164% 100%; }
.christmas-art--star { background-position: 81.9672% 100%; }
.christmas-season { position: absolute; bottom: 10px; left: 16px; right: 16px; margin: 0; color: #f4dfaf; text-align: center; font-family: Georgia, serif; font-size: 1.05rem; font-style: italic; letter-spacing: .04em; }
@keyframes christmas-sway { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }
@keyframes christmas-warm-glow { 0%,100% { opacity: .82; filter: drop-shadow(0 0 3px #ffe2a280); } 50% { opacity: 1; filter: drop-shadow(0 0 7px #ffe2a2c0); } }
@media (max-width: 620px) {
 .christmas-mantel { height: 185px; }
 .christmas-lights { height: 52px; width: 160%; max-width: none; left: -30%; }
 .christmas-ornaments { height: 155px; width: 100%; gap: 0; padding-inline: 5px; }
 .christmas-art { width: 100%; max-width: 123px; }
 .christmas-hanging--tree { padding-top: 34px; }
 .christmas-hanging--stocking { padding-top: 52px; }
 .christmas-hanging--deer { padding-top: 29px; }
 .christmas-hanging--star { padding-top: 45px; }
 .christmas-hanging--tree .christmas-thread { height: 38px; }
 .christmas-hanging--deer .christmas-thread { height: 33px; }
 .christmas-season { bottom: 8px; font-size: .87rem; }
}
@media (prefers-reduced-motion: reduce) {
 .christmas-hanging, .christmas-bulb { animation: none; }
}
