/* WINTER Template */
:root{--primary:#4A6A8A;--accent:#B8D4E8;--bg:#F0F4F8;--dark:#1A2A3A;--text:#2A3540;--light:#7A90A0;--card:#FFFFFF;--border:#D0DCE4;--font-display:'Cormorant Garamond',serif;--font-body:'Inter',sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--text);background:var(--bg)}

.tpl-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,#D8E8F0,#F0F4F8);position:relative;overflow:hidden;padding:3rem 2rem}
.tpl-hero-content{position:relative;z-index:5}
.tpl-hero-pre{font-family:var(--font-body);font-size:0.75rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--light);margin-bottom:1rem}
.tpl-hero-name{font-family:var(--font-display);font-size:clamp(3rem,9vw,6rem);color:#2A3540;line-height:1}
.tpl-hero-sep{font-family:var(--font-display);font-size:2rem;color:var(--accent);margin:0.5rem 0}
.tpl-hero-date{font-size:0.88rem;color:var(--light);margin-top:1.5rem;letter-spacing:0.1em}

.tpl-nav{position:sticky;top:0;z-index:100;display:flex;justify-content:center;gap:0.2rem;padding:0.7rem;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);flex-wrap:wrap}
.tpl-nav a{font-family:var(--font-body);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;color:var(--light);padding:0.35rem 0.8rem;border-radius:100px;transition:all 0.3s}
.tpl-nav a:hover{color:var(--accent);background:rgba(0,0,0,0.03)}

.tpl-section{padding:5rem 2rem;position:relative;overflow:hidden}
.tpl-section-alt{background:rgba(0,0,0,0.02)}
.tpl-section-accent{background:#4A6A8A;color:#fff}
.tpl-container{max-width:850px;margin:0 auto;position:relative;z-index:5}
.tpl-narrow{max-width:600px}
.tpl-title{font-family:var(--font-display);font-size:2.5rem;text-align:center;color:#2A3540;margin-bottom:2.5rem}
.tpl-title-inv{color:#fff}

.tpl-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;text-align:center}
.tpl-card{padding:2rem;background:var(--card);border-radius:14px;border:1px solid var(--border);transition:all 0.4s ease}
.tpl-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,0,0,0.08)}
.tpl-card i{font-size:1.8rem;color:var(--accent);margin-bottom:0.8rem}
.tpl-card h3{font-family:var(--font-display);font-size:1.2rem;margin-bottom:0.3rem}
.tpl-card p{color:var(--light);font-size:0.88rem}

.tpl-timeline{position:relative;padding-left:2rem}
.tpl-timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);opacity:0.3}
.tpl-tl{display:flex;align-items:flex-start;gap:1rem;padding-bottom:2rem;position:relative}
.tpl-tl-time{font-family:var(--font-body);font-size:0.82rem;font-weight:600;color:var(--accent);min-width:50px;padding-top:0.2rem}
.tpl-tl-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);position:absolute;left:-2rem;top:0.3rem;transform:translateX(-5px);z-index:1;border:3px solid var(--bg)}
.tpl-tl-text h3{font-family:var(--font-display);font-size:1.2rem;margin-bottom:0.2rem}
.tpl-tl-text p{color:var(--light);font-size:0.88rem}

.tpl-story{display:flex;flex-direction:column;gap:3rem;text-align:center}
.tpl-story-y{font-family:var(--font-body);font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent)}
.tpl-story-ch h3{font-family:var(--font-display);font-size:1.5rem;margin:0.3rem 0}
.tpl-story-ch p{color:var(--light);max-width:480px;margin:0 auto}

.tpl-countdown{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}
.tpl-cd{text-align:center;min-width:70px}
.tpl-cd span{display:block;font-family:var(--font-display);font-size:3rem;color:#fff;line-height:1}
.tpl-cd small{font-family:var(--font-body);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.6)}

.tpl-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:0.8rem;grid-auto-rows:180px}
.tpl-gal{border-radius:10px;overflow:hidden}.tpl-gal-w{grid-column:span 2}
.tpl-ph{width:100%;height:100%;background:rgba(0,0,0,0.03);display:flex;align-items:center;justify-content:center;color:var(--light);font-size:1.8rem;border:1px dashed var(--border)}

.tpl-form{display:flex;flex-direction:column;gap:1rem}
.tpl-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.tpl-form input,.tpl-form select,.tpl-form textarea{width:100%;padding:0.8rem 1rem;font-family:var(--font-body);font-size:0.95rem;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);transition:border-color 0.3s}
.tpl-form input:focus,.tpl-form textarea:focus{outline:none;border-color:var(--accent)}
.tpl-rsvp-opts{display:flex;gap:0.7rem;flex-wrap:wrap}
.tpl-rsvp-opts label{flex:1;min-width:120px;cursor:pointer}
.tpl-rsvp-opts input{display:none}
.tpl-rsvp-opts span{display:block;text-align:center;padding:0.7rem;border:1px solid var(--border);border-radius:10px;font-size:0.88rem;transition:all 0.3s}
.tpl-rsvp-opts input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary)}
.tpl-btn{padding:0.9rem 2rem;font-family:var(--font-body);font-size:0.88rem;font-weight:600;border:1px solid var(--accent);border-radius:10px;background:transparent;color:var(--primary);cursor:pointer;transition:all 0.3s;display:flex;align-items:center;justify-content:center;gap:0.5rem}
.tpl-btn:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}

.tpl-footer{text-align:center;padding:3rem 2rem;background:var(--dark);color:rgba(255,255,255,0.6)}
.tpl-footer-names{font-family:var(--font-display);font-size:2rem;color:#fff}
.tpl-footer-date{font-size:0.82rem;opacity:0.5;margin-top:0.3rem}



@media(max-width:768px){.tpl-hero-name{font-size:3rem}.tpl-cards{grid-template-columns:1fr}.tpl-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px}.tpl-gal-w{grid-column:span 1}.tpl-form-row{grid-template-columns:1fr}.tpl-rsvp-opts{flex-direction:column}.tpl-section{padding:3rem 1.5rem}}
