:root{--bg:#fff8f3;--ink:#221a0f;--primary:#af101a;--primary-2:#d32f2f;--secondary:#7a5649;--paper:#f4ead8;--paper-light:#fffdf9;color:var(--ink);background:var(--bg);font-family:Plus Jakarta Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}a{color:inherit;text-decoration:none}.phone-shell{width:100%;max-width:560px;margin:0 auto;padding:24px clamp(18px,6vw,34px) 128px}.hero{text-align:center;max-width:760px;margin:0 auto;padding:44px 0 84px;position:relative}.heart-bubble{width:52px;height:46px;position:absolute;top:54px;right:18px;transform:rotate(-12deg)}.heart-bubble:before{content:"♥";color:#df9094;font-size:4.2rem;line-height:.7}.sketch-frame{border-radius:28px 25px 31px 22px;margin:0 auto 18px;padding:58px 56px 54px;position:relative}.squiggle-frame{color:#af101aa6;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.squiggle-frame path{fill:none}.hero-photo-wrap{border-radius:14px;position:relative;overflow:hidden}.hero-photo-wrap:after{content:"";pointer-events:none;background:linear-gradient(#af101a47,#af101a47);position:absolute;inset:0}.hero-photo{aspect-ratio:1;object-fit:cover;filter:sepia(.18)saturate(.82)contrast(.96);width:100%;display:block}h1{color:var(--primary);margin:0;font-family:Oooh Baby,cursive;font-size:4.65rem;font-weight:400;line-height:.78}.date-label{color:var(--secondary);letter-spacing:.42em;text-transform:uppercase;margin:28px 0 0;font-size:.66rem;font-weight:700}.hero-address{color:var(--secondary);letter-spacing:.28em;text-transform:uppercase;margin:18px 0 0;font-size:.66rem;font-weight:700;line-height:1.8;display:block}.hero-address strong{font-weight:700}.flourish{color:var(--secondary);opacity:.6;justify-content:center;align-items:center;gap:14px;margin-top:36px;font-size:.8rem;display:flex}.flourish span{background:var(--primary);opacity:.55;width:36px;height:1px}.schedule{grid-template-columns:repeat(2,1fr);gap:18px;max-width:100%;margin:0 auto;display:grid}.event-card{background:var(--paper);border-radius:12px;grid-column:1/-1;grid-template-columns:38px 1fr;gap:12px;padding:26px 24px;display:grid}.event-card.featured{box-shadow:4px 4px 0 var(--primary)}.event-card.sketched{background:var(--paper-light);box-shadow:4px 5px 0 var(--primary);position:relative;transform:rotate(-1.5deg)}.event-card.sketched:before{content:"";border:2px solid var(--primary);pointer-events:none;border-radius:10px 17px 9px 15px;position:absolute;inset:-2px}.event-card.compact{text-align:center;grid-column:span 1;min-height:132px;padding:24px 16px;display:block}.event-icon{color:var(--primary);line-height:1}.event-card h2,.dress-code h2{margin:0 0 18px;font-family:Epilogue,sans-serif;font-size:1.45rem;line-height:1}.event-card.compact h2{margin:18px 0 4px;font-size:1.1rem}.time,.place,.note,.dress-code p{margin:0}.time{color:var(--secondary);font-size:.98rem}.place{margin-top:8px;font-weight:800}.note{color:var(--secondary);margin-top:11px;font-size:.86rem;font-style:italic}.compact .time{font-size:.74rem}.dress-code{border:1.5px dashed var(--primary);border-radius:12px 16px 9px 14px;justify-content:space-between;align-items:center;max-width:100%;margin:30px auto 40px;padding:26px;display:flex}.hanger{color:var(--primary);line-height:1;transform:rotate(-8deg)}.faq{max-width:100%;margin:0 auto 72px}.faq h2{color:var(--primary);margin:0 0 18px;font-family:Epilogue,sans-serif;font-size:2rem}.faq-list{grid-template-columns:1fr;gap:18px;display:grid}.faq-item{background:var(--paper-light);border-radius:12px;padding:24px;box-shadow:4px 4px #af101a47}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;font-family:Epilogue,sans-serif;font-size:1.1rem;font-weight:700;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-toggle{color:var(--primary);flex:none;font-size:1.5rem;line-height:1}.faq-toggle .minus,.faq-item[open] .faq-toggle .plus{display:none}.faq-item[open] .faq-toggle .minus{display:inline}.faq-item p{color:var(--secondary);margin:14px 0 0;line-height:1.5}.rsvp-card{color:#fff;background:radial-gradient(#ffffff21 1px, transparent 1px), linear-gradient(145deg, var(--primary), #cc111c);background-size:24px 24px,auto;border-radius:17px;max-width:100%;margin:0 auto;padding:34px 34px 42px;box-shadow:inset 0 0 0 1px #221a0f1f}.rsvp-card h2{margin:0 0 20px;font-family:Epilogue,sans-serif;font-size:2rem}.rsvp-card p{margin:0 0 34px;line-height:1.5}.rsvp-button{color:var(--primary);text-align:center;background:#fff;border-radius:8px;padding:20px;font-family:Epilogue,sans-serif;font-weight:800;display:block}.tabbar{z-index:5;backdrop-filter:blur(12px);background:#fff8f3ed;border-radius:28px 28px 0 0;grid-template-columns:repeat(3,1fr);width:100%;padding:14px 28px 16px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -18px 50px #221a0f14}.tabbar a{color:#b49b91;letter-spacing:.12em;text-transform:uppercase;justify-items:center;gap:5px;font-size:.62rem;font-weight:700;display:grid}.tabbar span{letter-spacing:0;font-size:1.35rem}.tabbar .active{color:var(--primary)}@media (width>=900px){.phone-shell{padding-bottom:56px}.tabbar{border-radius:24px;grid-template-columns:1fr;gap:10px;width:150px;padding:18px;inset:50% auto auto 28px;transform:translateY(-50%)}.tabbar a{text-align:left;grid-template-columns:24px 1fr;place-items:center start;gap:12px}}@media (width<=720px){.phone-shell{padding-inline:26px}}
