/* V29: crisp selected-theme photographs, readable content and a complete heart outline. */
.hero{padding:24px 12px;min-height:100svh}
.hero>img.hero-bg{filter:none!important;transform:none!important;object-fit:cover;object-position:center}
.hero:after{background:linear-gradient(180deg,#080b101f,#080b1038)}
.hero .hero-inner.hero-heart{
 position:relative;z-index:3;width:100%;max-width:880px;
 padding:150px 0 210px;margin:0 auto;box-sizing:border-box;
}
.hero-heart-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0;filter:drop-shadow(0 3px 10px #0005)}
.heart-surface{fill:#111820;fill-opacity:.61;stroke:#fff2d8;stroke-width:1.8;vector-effect:non-scaling-stroke}
.heart-highlight{fill:none;stroke:#e8c882;stroke-opacity:.7;stroke-width:.6;vector-effect:non-scaling-stroke}
.hero-heart-content{position:relative;z-index:1;width:58%;max-width:475px;margin:0 auto;color:#fffaf1;text-shadow:0 2px 5px #0009}
.hero .hero-heart-content .eyebrow{font-size:9px;letter-spacing:2.5px;line-height:1.6;color:#fff2d8}
.hero .hero-heart-content h1{font-size:clamp(48px,7.7vw,84px);line-height:1.05;margin:21px 0;overflow-wrap:anywhere}
.hero .hero-heart-content .hero-love{font-size:21px!important;margin:8px 0}
.hero .hero-heart-content .event-label{font-size:10px;letter-spacing:3px;line-height:1.7}
.hero .hero-heart-content .hero-date{margin:22px auto 12px;gap:14px}
.hero .hero-heart-content .hero-date strong{font-size:54px}
.hero .hero-heart-content .hero-date span{font-size:11px;min-width:52px;padding:8px 0;color:#fff9ee}
.hero .hero-heart-content>p{font:10px/1.7 Arial,sans-serif;letter-spacing:1.4px;margin:14px 0}
.hero .hero-heart-content .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);width:260px;max-width:100%;gap:9px;margin:18px auto 0}
.hero .hero-heart-content .pill{width:100%;min-height:40px;padding:10px 12px;font:12px/1.4 Georgia,serif;background:#fffaf1;color:#40352d;text-shadow:none;border:1px solid #e1c793;white-space:normal}
.hero .hero-heart-content .pill:hover{background:#fff;border-color:#fff}
.hero .hero-heart-content .pill:focus-visible{outline:3px solid #fff;outline-offset:4px}
.count-themed{position:relative;isolation:isolate;overflow:hidden;padding:68px 20px;min-height:380px;display:grid;place-items:center;background:#263228;color:#fff}
.count-theme-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-2;filter:none}
.count-themed:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080e1529,#080e1566 35%,#080e1566 65%,#080e1529)}
.count-inner{width:100%;max-width:640px;padding:30px 32px;border:1px solid #fff5;border-radius:18px;background:#101923c9;box-shadow:0 12px 40px #0002;text-shadow:0 2px 4px #0008}
.count-inner .eyebrow{color:#fff4d4!important;font-size:10px;letter-spacing:3px}
.count-inner h2{font-weight:400;font-style:italic;font-size:34px;line-height:1.3;margin:18px 0 28px}
.count-inner .countdown{gap:22px;font-variant-numeric:tabular-nums}
.count-inner .countdown div{min-width:76px}
.count-inner .countdown strong{font-size:54px;font-weight:400;line-height:1.2}
.count-inner .countdown span{font-size:10px;letter-spacing:1.5px;color:#fff4dd}
@media(max-width:650px){
 .hero{padding:18px 4px}
 .hero .hero-inner.hero-heart{padding:112px 0 160px}
 .hero-heart-content{width:62%;max-width:350px}
 .hero .hero-heart-content .eyebrow{font-size:8px;letter-spacing:1.4px}
 .hero .hero-heart-content h1{font-size:clamp(36px,10.5vw,60px);margin:16px 0;line-height:1.08}
 .hero .hero-heart-content .hero-love{font-size:18px!important;margin:6px 0}
 .hero .hero-heart-content .event-label{font-size:9px;letter-spacing:1.8px}
 .hero .hero-heart-content .hero-date{gap:10px;margin-top:18px}
 .hero .hero-heart-content .hero-date strong{font-size:44px}
 .hero .hero-heart-content .hero-date span{font-size:9px;min-width:43px}
 .hero .hero-heart-content>p{font-size:9px;letter-spacing:.8px}
 .hero .hero-heart-content .hero-actions{width:80%;max-width:225px;gap:7px;margin-top:14px}
 .hero .hero-heart-content .pill{font-size:11px;min-height:39px;padding:8px}
 .count-themed{min-height:350px;padding:46px 16px}
 .count-inner{padding:28px 12px}
 .count-inner h2{font-size:29px;margin-bottom:25px}
 .count-inner .countdown{gap:12px}
 .count-inner .countdown div{min-width:49px}
 .count-inner .countdown strong{font-size:38px}
 .count-inner .countdown span{font-size:8px;letter-spacing:.7px}
}
@media(prefers-reduced-motion:reduce){.hero-heart-outline{animation:none}}
