:root{--paper: #faedd6;--paper-soft: #f1dfe2;--ink: #2a2754;--accent: #825e8d;--accent-deep: #446542;--line: #d9c9ae;--radius: 16px;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Instrument Sans,sans-serif;background:var(--paper)}h1,h2,h3{font-family:Cormorant Garamond,serif;margin:0;line-height:1.08;font-weight:500;letter-spacing:-.015em}p{margin:0;line-height:1.6}a{color:var(--accent-deep)}.top-nav-wrap{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 86%,transparent)}.top-nav{width:min(1220px,92vw);margin:0 auto;padding:1.15rem 0 .8rem;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,2.1vw,2.4rem);letter-spacing:-.01em;text-decoration:none;color:var(--accent-deep)}.nav-current{font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;color:#446542e6}main{width:min(1320px,100%);margin:0 auto;padding:0 0 6rem}.section-shell{width:min(1140px,90vw);margin:0 auto}.hero-image-section{width:100%}.hero-image-frame{position:relative;width:min(1220px,92vw);margin:0 auto;border-radius:2px;overflow:hidden}.hero-image{width:100%;height:min(860px,74vh);object-fit:cover;object-position:center 36%;display:block;filter:saturate(.93)}.hero-title{position:absolute;top:clamp(2.3rem,7vw,5.8rem);left:50%;transform:translate(-50%);text-align:center;color:var(--accent-deep);font-size:clamp(3rem,7.2vw,5.4rem)}.countdown-slot{margin-top:1rem}.intro-section{text-align:center;padding-top:clamp(2.7rem,5vw,4.8rem)}.intro-copy{font-family:Cormorant Garamond,serif;font-size:clamp(2rem,3.5vw,3.65rem);line-height:1.22;letter-spacing:-.012em;max-width:860px;margin:0 auto;text-wrap:balance}.dress-note{margin-top:1.9rem;font-size:1.05rem}.when-where{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;padding-top:clamp(5rem,8vw,7.6rem)}.section-label{font-size:1.06rem;margin-bottom:.7rem;opacity:.8}.when-where h2,.accommodations h2,.registry h2,.final-cta h2{font-size:clamp(2.7rem,5vw,5.2rem);color:var(--ink)}.section-copy{margin-top:.65rem;font-size:clamp(1.1rem,1.9vw,1.8rem)}.link-stack{display:grid;justify-content:center;margin-top:1.4rem;gap:.4rem;font-size:clamp(1.06rem,1.4vw,1.5rem)}.centered-map{display:flex;justify-content:center}.centered-map .link-stack{justify-items:center;text-align:center}.accommodations{text-align:center;padding-top:clamp(5.2rem,8vw,7.8rem);max-width:740px}.accommodations-copy{margin-top:2rem;font-size:clamp(1.05rem,1.3vw,1.35rem)}.info-link{display:inline-block;margin-top:1.6rem;font-size:clamp(1.18rem,2.1vw,2rem)}.photos{width:min(1320px,94vw);padding-top:clamp(4.8rem,7vw,6.8rem);text-align:center}.photo-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.photo-card{overflow:hidden;background:#fff6}.photo-card:first-child{padding:.75rem}.photo-card img{width:100%;display:block;object-fit:cover}.photo-card:first-child img{aspect-ratio:4 / 5}.photo-card:nth-child(2) img,.photo-card:nth-child(4) img{aspect-ratio:3 / 4}.photo-card:nth-child(3) img{aspect-ratio:4 / 5}.button{margin-top:2.1rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid transparent;background:var(--accent-deep);color:#faedd6;text-decoration:none;min-height:58px;padding:.35rem 2rem;font-size:.92rem;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.button:hover{background:color-mix(in srgb,var(--accent-deep) 86%,black)}.button:disabled{opacity:.72;cursor:not-allowed}.button-ghost{margin-top:0;min-height:52px;min-width:108px;background:var(--accent-deep);color:#faedd6}.registry{text-align:center;padding-top:clamp(5.5rem,8vw,7.6rem)}.registry .section-copy{margin-top:1.2rem}.final-cta{text-align:center;padding-top:clamp(4.5rem,6vw,6.8rem)}.button-wide{width:min(420px,100%)}.site-footer{text-align:center;margin-top:3.5rem;color:var(--ink);opacity:.7}.panel{background:color-mix(in srgb,var(--paper) 84%,white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1rem,2.2vw,1.6rem)}.rsvp-hero h1{font-size:clamp(2.4rem,6vw,4rem);margin-bottom:.6rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.form-grid label{display:grid;gap:.4rem;font-size:.9rem}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border-radius:12px;border:1px solid #b8a2bf;background:#fff8ec;padding:.65rem .75rem;font:inherit;color:inherit}.span-two{grid-column:1 / -1}.guest-divider{margin-top:.4rem;border-top:1px solid color-mix(in srgb,var(--ink) 55%,transparent);height:1px}.guest-heading{font-size:clamp(1.2rem,2vw,1.7rem);margin-top:.2rem}.form-message{margin-top:.4rem;font-size:.95rem}.form-message-success{color:var(--accent-deep)}.form-message-error{color:#b23a48}@media (max-width: 980px){.when-where{grid-template-columns:1fr;gap:5rem;text-align:center}.hero-title{top:1.6rem;font-size:clamp(2.6rem,10vw,4rem)}.photos{width:min(1140px,92vw)}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.top-nav{padding-top:1rem}.button-ghost{min-height:46px;min-width:90px}.hero-image{height:62vh}.photos{width:min(460px,92vw)}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;align-items:start}.photo-card{background:transparent}.photo-card:first-child{padding:.55rem}.photo-card:first-child img{aspect-ratio:3 / 4}.photo-card:nth-child(2){margin-top:2.4rem}.photo-card:nth-child(3){margin-top:-1rem}.photo-card:nth-child(4){margin-top:1.4rem}.form-grid{grid-template-columns:1fr}}
