:root{--navy:#182033;--gold:#b88a45;--cream:#fbf7ef;--ink:#24232a;--muted:#746f69;--line:#e9dfd0;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1100px,92%);margin-inline:auto}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0}.brand{font-family:Georgia,serif;font-size:1.5rem;font-weight:700;letter-spacing:.02em;color:var(--navy);text-decoration:none}.brand span{color:var(--gold)}.navlinks{display:flex;gap:1rem;align-items:center}.navlinks a{text-decoration:none;font-size:.95rem}.btn{display:inline-flex;justify-content:center;align-items:center;padding:.85rem 1.15rem;border-radius:999px;background:var(--navy);color:white;text-decoration:none;border:0;font-weight:700;cursor:pointer}.btn.gold{background:var(--gold);color:#fff}.btn.light{background:#fff;color:var(--navy);border:1px solid var(--line)}.hero{padding:4.4rem 0 4rem;background:radial-gradient(circle at 82% 20%,#f0dfbf 0,transparent 32%),linear-gradient(135deg,#fbf7ef,#f5ead8)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;color:var(--gold);font-weight:800}.hero h1{font-family:Georgia,serif;font-size:clamp(2.7rem,6vw,5rem);line-height:1.04;letter-spacing:-.04em;color:var(--navy);margin:.8rem 0 1.2rem}.hero p{font-size:1.1rem;color:var(--muted);max-width:590px}.hero-art{min-height:400px;border:1px solid #d7bd8c;border-radius:48% 48% 12px 12px;padding:1rem;display:grid;place-items:center;background:linear-gradient(150deg,#fffaf1,#e8d2a8);box-shadow:0 24px 70px #4a35161c}.invitation-mini{width:min(290px,90%);min-height:340px;padding:2rem 1.2rem;text-align:center;background:#fffdf8;border:1px solid #d6bd8d;box-shadow:0 12px 40px #4a351622;display:flex;flex-direction:column;justify-content:center;align-items:center}.invitation-mini .ornament{font-size:2.3rem;color:var(--gold)}.invitation-mini h2{font:2rem Georgia,serif;color:var(--navy);line-height:1.15}.section{padding:4rem 0}.section-head{text-align:center;max-width:680px;margin:0 auto 2rem}.section-head h2{font:clamp(2rem,4vw,3rem) Georgia,serif;color:var(--navy);margin:.4rem 0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.template-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 25px #28201208}.template-preview{min-height:230px;padding:1.2rem;display:grid;place-items:center;background:linear-gradient(145deg,#f6e5c5,#fffaf0)}.template-paper{width:70%;min-height:185px;padding:1.3rem .8rem;border:1px solid #c5a05e;background:#fffdf8;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.template-paper h3{font:1.5rem Georgia,serif;color:var(--navy);margin:.3rem}.template-info{padding:1.2rem}.template-info h3{margin:0;color:var(--navy)}.template-info p{color:var(--muted);font-size:.93rem}.pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.25rem .65rem;font-size:.78rem;color:#6f5a39}.form-wrap{max-width:820px;margin:2rem auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(1.2rem,4vw,2.5rem);box-shadow:0 18px 60px #2820120b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.4rem}.field.full{grid-column:1/-1}.field label{font-size:.9rem;font-weight:700;color:var(--navy)}input,select,textarea{width:100%;padding:.85rem .9rem;border:1px solid #d9d0c4;border-radius:10px;background:#fff;font:inherit;color:var(--ink)}textarea{min-height:100px;resize:vertical}.help{font-size:.82rem;color:var(--muted)}.error{padding:.8rem 1rem;border-radius:10px;background:#fff0ee;color:#8e241c;margin-bottom:1rem}.success{padding:.8rem 1rem;border-radius:10px;background:#eff9ef;color:#225d2c}.footer{padding:2rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.card-page{background:#f8f1e5;min-height:100vh;padding:2rem 1rem 4rem}.wedding-card{max-width:760px;margin:0 auto;background:#fffdf8;border:1px solid #d6bd8d;box-shadow:0 22px 80px #37270d20;position:relative;overflow:hidden}.wedding-card:before{content:"";position:absolute;inset:12px;border:1px solid #e4d1aa;pointer-events:none}.card-inner{position:relative;padding:clamp(2rem,7vw,5rem);text-align:center}.card-flower{font-size:2.5rem;color:var(--gold);animation:float 4s ease-in-out infinite}.card-label{letter-spacing:.2em;text-transform:uppercase;color:#9a783f;font-size:.75rem;font-weight:800}.couple-names{font:clamp(2.4rem,7vw,4.7rem)/1.05 Georgia,serif;color:var(--navy);margin:1rem 0}.amp{color:var(--gold);font-style:italic}.card-copy{max-width:550px;margin:1.2rem auto;color:#6e655a}.card-date{font:1.4rem Georgia,serif;color:var(--navy);margin:1.5rem 0}.divider-ornament{color:var(--gold);letter-spacing:.5em;margin:1.5rem 0}.event-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:2rem 0}.event{padding:1rem;border:1px solid var(--line);border-radius:12px;background:#fffaf1}.event h3{font:1.25rem Georgia,serif;margin:.2rem 0;color:var(--navy)}.event p{margin:.25rem 0;color:var(--muted);font-size:.9rem}.couple-photo{max-height:380px;width:auto;max-width:100%;margin:1.4rem auto;border-radius:12px;object-fit:cover}.countdown{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap;margin:1.2rem 0}.count-box{min-width:70px;padding:.65rem .5rem;background:#f8efdf;border-radius:10px}.count-box strong{display:block;font-size:1.4rem;color:var(--navy)}.count-box span{font-size:.72rem;color:var(--muted)}.fade-in{animation:fadeIn 1.1s ease both}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.4s}.delay-3{animation-delay:.6s}.notice{font-size:.8rem;color:var(--muted);text-align:center;margin:1rem auto;max-width:700px}@keyframes fadeIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(max-width:760px){.hero-grid{grid-template-columns:1fr;gap:2rem}.hero{padding:2.5rem 0}.hero-art{min-height:320px}.grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.navlinks{gap:.65rem}.navlinks a:not(.btn){display:none}.event-list{grid-template-columns:1fr}.card-inner{padding:2.4rem 1.5rem}.couple-names{font-size:clamp(2.2rem,12vw,3.8rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
