:root{--ink:#2d2a27;--muted:#6e675f;--paper:#fbf8f3;--paper-deep:#f2ece3;--line:#d9d0c4;--accent:#5f6f5b;--accent-dark:#435040;--rose:#9c6f6d;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at top left, #9c6f6d1a, transparent 34rem), linear-gradient(180deg, var(--paper) 0%, #fffdf9 52%, var(--paper) 100%);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.site-shell{min-height:100vh}.nav{justify-content:space-between;align-items:center;gap:1rem;width:min(1120px,100% - 2rem);margin:0 auto;padding:1.25rem 0;display:flex}.wordmark{letter-spacing:.02em;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,3vw,1.9rem)}.nav-links{color:var(--muted);align-items:center;gap:1rem;font-size:.95rem;display:flex}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:.85rem 1.25rem;font-weight:700;transition:all .16s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{color:var(--white);background:var(--accent-dark)}.btn-secondary{color:var(--ink);border-color:var(--line);background:#ffffffa6}.hero{text-align:center;width:min(1120px,100% - 2rem);margin:0 auto;padding:clamp(4.5rem,10vw,8.5rem) 0 5rem}.eyebrow{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.18em;margin:0 0 1rem;font-size:.78rem;font-weight:800}.hero h1{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,12vw,8.75rem);font-weight:400;line-height:.88}.amp{color:var(--rose);letter-spacing:0;margin:.2em 0;font-size:.48em;font-style:italic;display:block}.hero-meta{max-width:690px;color:var(--muted);margin:2rem auto 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.15rem,2.5vw,1.45rem);line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.countdown-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:680px;margin:3rem auto 0;padding:1.2rem 0}.countdown{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.countdown-item strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,5vw,2.45rem);font-weight:400;display:block}.countdown-item span{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-top:.2rem;font-size:.68rem;display:block}.section{width:min(1040px,100% - 2rem);margin:0 auto;padding:5rem 0}.section-heading{max-width:680px;margin-bottom:2rem}.section-heading h2{letter-spacing:-.035em;margin:0 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.3rem,7vw,4rem);font-weight:400}.section-heading p{color:var(--muted);margin:0;line-height:1.7}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.card{border:1px solid var(--line);background:#ffffffad;border-radius:24px;padding:1.5rem}.card-label{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800}.card h3{margin:.7rem 0 .55rem;font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:400}.card p{color:var(--muted);margin:0;line-height:1.65}.rsvp-banner{background:var(--accent-dark);color:var(--white);border-radius:28px;grid-template-columns:1.5fr auto;align-items:center;gap:1.5rem;padding:clamp(1.6rem,5vw,2.7rem);display:grid}.rsvp-banner h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,6vw,3.35rem);font-weight:400}.rsvp-banner p{color:#ffffffc7;max-width:670px;margin:.7rem 0 0;line-height:1.65}.rsvp-banner .btn{color:var(--accent-dark);background:var(--white)}.page{width:min(760px,100% - 2rem);margin:0 auto;padding:4rem 0 6rem}.page h1{letter-spacing:-.05em;margin:0 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,9vw,5.5rem);font-weight:400}.page p{color:var(--muted);line-height:1.75}.notice{border:1px solid var(--line);background:#ffffffbf;border-radius:24px;margin-top:2rem;padding:1.5rem}.footer{border-top:1px solid var(--line);width:min(1040px,100% - 2rem);color:var(--muted);text-align:center;margin:0 auto;padding:2rem 0 3rem;font-size:.9rem}@media (max-width:760px){.nav-links a:not(.btn){display:none}.cards{grid-template-columns:1fr}.rsvp-banner{grid-template-columns:1fr;align-items:start}.countdown{gap:.25rem}.hero{padding-top:3.5rem}}
