@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--cream:#fbf3e6;--paper:#fffaf0;--rose:#b65e65;--pink:#f2d7d1;--green:#38563f;--gold:#bd914e;--ink:#51463b}
*{box-sizing:border-box;scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at top,#fffaf1 0,#f3e4d1 75%);color:var(--ink);font-family:'DM Sans',sans-serif;padding:18px 12px 30px}
.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--green);font-weight:600}
.flourish{color:var(--gold);letter-spacing:.2em;margin:9px 0}
.site-shell{width:min(100%,720px);margin:0 auto}
.section{position:relative;margin:0 auto 28px;overflow:hidden;border:1px solid #d6b77d;border-radius:18px;box-shadow:0 14px 38px #7b5b321c;background:var(--paper);scroll-margin-top:12px}
.image-section img{display:block;width:100%;height:auto}
.rsvp-section{padding:clamp(14px,4vw,34px);background:radial-gradient(ellipse at 10% 8%,#f5d5d2 0 3%,transparent 3.4%),radial-gradient(ellipse at 92% 12%,#f2d9d0 0 3%,transparent 3.4%),linear-gradient(135deg,#fff9ef,#f8eddd)}
.rsvp-arch{position:relative;border:2px solid #d4b16e;border-radius:190px 190px 28px 28px;padding:44px clamp(18px,6vw,56px) 30px;background:#fffaf0e8;text-align:center;max-width:570px;margin:auto}
.rsvp-arch:before{content:"";position:absolute;inset:9px;border:1px solid #e8d4ac;border-radius:180px 180px 20px 20px;pointer-events:none}
.rsvp-arch h1{font:italic clamp(42px,8vw,64px) 'Playfair Display',serif;color:var(--rose);font-weight:400;margin:16px 0 4px}
.intro{font:italic 17px/1.5 'Playfair Display',serif;color:var(--green);max-width:390px;margin:16px auto 8px}
.signature{font:italic 21px 'Playfair Display',serif;color:var(--rose);margin:8px 0 22px}
form{text-align:left;max-width:420px;margin:0 auto;position:relative;z-index:1}
form>label,legend{display:block;color:var(--green);font:500 14px 'DM Sans',sans-serif;margin:15px 0 7px}
input[type=text],select,textarea{width:100%;border:1px solid #d9c39d;border-radius:10px;background:#fffdf8;padding:12px 13px;color:var(--ink);font:14px 'DM Sans',sans-serif;outline-color:var(--gold)}
fieldset{border:0;padding:0;margin:13px 0}
legend{padding:0}
.choice{display:inline-flex;align-items:center;gap:7px;margin:5px 12px 4px 0;color:var(--ink);font-size:13px}
.choice input{accent-color:var(--rose)}
.optional{color:#9c8c77;font-size:12px}
.submit-btn{display:block;margin:22px auto 0;border:0;border-radius:28px;padding:13px 30px;background:var(--rose);color:#fff8ec;font:600 14px 'DM Sans',sans-serif;box-shadow:0 4px 0 #8f464d;cursor:pointer}
.submit-btn span{color:#f8dca5;margin-left:8px}
.closing{font:italic 17px 'Playfair Display',serif;color:var(--green);margin:24px 0 0}
.petal{position:absolute;color:#d98d9a;font-size:25px;opacity:.65;pointer-events:none;animation:petal-fall 8s linear infinite}
.petal-one{left:4%;top:12%;animation-delay:0s}.petal-two{right:5%;top:30%;animation-delay:-3s}.petal-three{left:18%;top:45%;animation-delay:-5s}.petal-four{right:16%;top:65%;animation-delay:-1s}.petal-five{left:78%;top:8%;animation-delay:-6s}
@keyframes petal-fall{0%{transform:translate3d(0,-20px,0) rotate(0deg);opacity:0}15%{opacity:.65}85%{opacity:.55}100%{transform:translate3d(35px,620px,0) rotate(250deg);opacity:0}}
.site-footer{text-align:center;padding:4px 10px 18px;color:var(--green);font:italic 16px 'Playfair Display',serif}
.site-footer span{color:var(--gold);margin-left:8px}
.hidden{display:none}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.petal{animation:none}}
@media(max-width:520px){body{padding:8px 8px 22px}.rsvp-arch{padding:36px 16px 25px}.choice{display:flex;margin:8px 0}.section{border-radius:12px;margin-bottom:18px}}

/* Tap-friendly venue directions, visually matched to the invitation. */
.venue-link-wrap{text-align:center;padding:12px 14px 16px;background:#fffaf0}
.venue-link{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;color:var(--green);text-decoration:none;font-size:clamp(12px,2.6vw,15px);line-height:1.5;border-bottom:1px solid #d8bc85;padding-bottom:5px}
.venue-link span{color:var(--rose);font-weight:600;white-space:nowrap}
.venue-link:hover,.venue-link:focus-visible{color:var(--rose)}
.signature span{display:block;line-height:1.45}


/* Helpful guest notes section */
.notes-section{padding:34px 18px;background:linear-gradient(145deg,#fffaf0,#f8eee4);text-align:center}
.notes-card{max-width:680px;margin:0 auto;padding:28px 24px;border:1px solid #dfc99f;border-radius:18px;background:rgba(255,253,248,.88);box-shadow:0 8px 24px rgba(99,75,47,.07)}
.notes-card h2{font:500 clamp(27px,5vw,38px) 'Playfair Display',serif;color:var(--green);margin:8px 0}
.note-item{max-width:540px;margin:0 auto}
.note-item h3{font:500 21px 'Playfair Display',serif;color:var(--rose);margin:15px 0 7px}
.note-item p{font:14px/1.75 'DM Sans',sans-serif;color:var(--ink);margin:0}
.note-divider{color:var(--gold);margin:16px 0;font-size:16px}
@media(max-width:520px){.notes-section{padding:22px 12px}.notes-card{padding:24px 16px}}


/* Page 2: highlights and guest notes are one continuous invitation page. */
#highlights.image-section{margin-bottom:18px}
#helpful-notes.notes-section{margin-top:-18px;border-top:0;border-radius:0 0 18px 18px}
#highlights.image-section img{display:block}
@media(max-width:520px){
  #helpful-notes.notes-section{margin-top:-18px}
}


/* Unified Page 2: the highlights artwork and guest notes share one continuous frame. */
.highlights-notes-page{padding:0;background:#fbf3e6;border-radius:18px;overflow:hidden}
.highlights-notes-page #highlights{margin:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.highlights-notes-page #highlights img{display:block;width:100%;height:auto}
.highlights-notes-page .notes-section{margin:0;border:0;border-radius:0;box-shadow:none;padding:clamp(24px,5vw,48px) clamp(16px,4vw,34px);background:
  radial-gradient(ellipse at 4% 10%,rgba(224,155,151,.18) 0 2%,transparent 2.4%),
  radial-gradient(ellipse at 96% 90%,rgba(224,155,151,.18) 0 2%,transparent 2.4%),
  linear-gradient(180deg,#fbf3e6 0%,#fff8ed 50%,#fbf0e2 100%);
  text-align:center}
.highlights-notes-page .notes-card{max-width:680px;margin:0 auto;padding:clamp(20px,4vw,36px);border:1px solid #d6b77d;border-radius:28px;background:rgba(255,250,240,.52);box-shadow:none;position:relative}
.highlights-notes-page .notes-card:before{content:"";position:absolute;inset:7px;border:1px solid rgba(189,145,78,.42);border-radius:22px;pointer-events:none}
.highlights-notes-page .notes-card>*{position:relative}
.highlights-notes-page .notes-card h2{font-size:clamp(28px,5vw,40px)}
.highlights-notes-page .note-item p{font-size:clamp(14px,2vw,17px);line-height:1.75}
.highlights-notes-page .note-divider{margin:20px 0}
@media(max-width:520px){
 .highlights-notes-page{border-radius:12px}
 .highlights-notes-page .notes-card{padding:25px 18px}
}
