.holiday-hero{background:#fcf4f0;padding:70px 0}.holiday-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.holiday-hero h1{font-size:clamp(3.5rem,6.4vw,6.8rem);color:#472039}.holiday-hero .eyebrow{color:#7b274c}.holiday-hero figure{margin:0}.holiday-hero img{width:100%;height:auto;border-radius:24px}.holiday-hero figcaption,.holiday-meta{font-size:.8rem;color:#61515c;margin:18px 0 0}.holiday-dates{background:#472039;color:#fff}.holiday-dates>.wrap{display:flex;justify-content:space-between;gap:20px;padding:24px 0}.holiday-dates strong{display:block;letter-spacing:.06em;font-size:1.2rem}.holiday-jump{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:25px;padding-bottom:25px;border-bottom:1px solid #dfcfda}.holiday-jump a{font-size:.9rem;text-underline-offset:5px}.holiday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.holiday-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.holiday-card{padding:32px;border:1px solid #dfcfda;background:white;border-radius:18px;text-decoration:none;display:flex;flex-direction:column;align-items:start}.holiday-card h3{font-size:1.6rem;line-height:1.2;margin-bottom:17px}.holiday-card p{color:#625663;line-height:1.7}.holiday-card .text-link,.holiday-card .btn{margin-top:auto}.holiday-card .eyebrow{color:#7b274c;font-size:.73rem}.holiday-card:hover .text-link{color:#a62153}.holiday-tint{background:#fcf4f0}.holiday-timeline{padding:0;list-style:none;counter-reset:step}.holiday-timeline li{counter-increment:step;display:grid;grid-template-columns:170px 1fr;gap:28px;border-top:1px solid #dfcfda;padding:27px 0}.holiday-timeline li>span{color:#7b274c;font-weight:700;display:flex;gap:14px;align-items:start}.holiday-timeline li>span:before{content:counter(step,decimal-leading-zero);color:#bba1b0}.holiday-timeline h3{font-size:1.5rem;margin:0 0 10px}.holiday-timeline p{margin:0;max-width:780px}.holiday-score-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:35px;align-items:start}.holiday-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.holiday-score-layout label{display:block;margin-bottom:20px}.holiday-score-layout label small{display:block;color:#625663;font-size:.83rem;line-height:1.45;margin:8px 0;min-height:42px}.holiday-score-layout input{display:block;width:100%;padding:12px;border:1px solid #867281;border-radius:9px;background:#fff;color:#241b25}.holiday-score-layout input:focus{outline:3px solid #a62153;outline-offset:2px}.holiday-results{background:#fcf4f0;padding:28px;border:1px solid #dfcfda;border-radius:18px}.holiday-results h2{font-size:2rem}.holiday-results dl{margin:0 0 25px}.holiday-results dl>div{padding:15px 0;border-bottom:1px solid #dfcfda}.holiday-results dt{font-size:.9rem;color:#625663}.holiday-results dd{margin:4px 0 0;font-size:1.6rem;font-weight:700}.holiday-results .btn{width:100%}.holiday-results button:disabled{opacity:.5;cursor:not-allowed}#score-error{color:#94223c;margin-top:20px}.holiday-promo{background:#fcf4f0;padding:28px 0}.holiday-promo .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}.holiday-promo p{margin:0}.holiday-promo strong{color:#472039}@media(max-width:900px){.holiday-hero-grid,.holiday-grid.three,.holiday-score-layout{grid-template-columns:1fr}.holiday-hero{padding:45px 0}.holiday-grid{grid-template-columns:1fr}.holiday-hero img{max-height:500px;object-fit:cover}.holiday-promo .wrap{align-items:start;flex-direction:column}}@media(max-width:540px){.holiday-dates>.wrap{gap:12px;font-size:.75rem}.holiday-dates strong{font-size:1rem}.holiday-card{padding:24px}.holiday-timeline li{grid-template-columns:1fr;gap:10px}.holiday-fields{grid-template-columns:1fr}.holiday-fields label{margin-bottom:5px}.holiday-score-layout label small{min-height:0}.holiday-jump{gap:12px 18px}.holiday-results{padding:22px}}@media print{.site-header,footer,.holiday-jump,.actions,#download-score{display:none}.holiday-hero{padding:20px 0}.section{padding:25px 0}.holiday-card,.holiday-timeline li{break-inside:avoid}.holiday-score-layout{display:block}.holiday-results{margin-top:25px}}
