:root{--paper-cream:#f8e9d6;--sand:#d8b98a;--sea-foam:#8ed4ce;--ocean-teal:#278d8b;--birthday-red:#e52d2f;--coral:#f26d4f;--bronze-gold:#b97938;--cocoa-text:#61474a;--deep-ink:#2e2528;--card-white:#fffdfc;--shadow-soft:0 28px 70px #2e252833;--shadow-sticker:0 14px 24px #961c2047;--display:"Cormorant Garamond", Georgia, serif;--script:"Satisfy", cursive;--body:"Nunito Sans", Arial, sans-serif;color:var(--deep-ink);font-family:var(--body);background:var(--paper-cream)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 12% 20%, #f26d4f29, transparent 26rem), radial-gradient(circle at 86% 12%, #278d8b24, transparent 28rem), linear-gradient(180deg, #fff4e7 0%, var(--paper-cream) 48%, #f5dfc7 100%);min-width:320px;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}img[loading=lazy]{content-visibility:auto}:focus-visible{outline:3px solid var(--ocean-teal);outline-offset:4px}.site-shell{min-height:100vh;position:relative;overflow:hidden}.hero-section{isolation:isolate;min-height:100svh;padding:clamp(2.8rem,5vw,5rem) clamp(1rem,4vw,4rem) clamp(6rem,9vw,8rem);position:relative;overflow:hidden}.hero-section:before{z-index:-3;content:"";background-color:#0000;background-image:linear-gradient(90deg,#fffdfc6b 1px,#0000 1px),linear-gradient(#fffdfc57 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:46px 46px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 28%,#000 0,#0000 68%);mask-image:radial-gradient(circle at 50% 28%,#000 0,#0000 68%)}.hero-scene{z-index:-1;opacity:.75;pointer-events:none;position:absolute;inset:0}.hero-wave{z-index:-2;opacity:.9;pointer-events:none;width:min(122rem,145vw);max-width:none;position:absolute;left:50%;transform:translate(-50%)}.hero-wave--top{top:-37rem;rotate:180deg}.hero-inner{grid-template-columns:minmax(30rem,.9fr) minmax(34rem,1.1fr);align-items:start;gap:clamp(.75rem,2.4vw,3rem);width:min(1460px,100%);min-height:calc(100svh - 9rem);margin:0 auto;display:grid}.hero-copy{z-index:2;position:relative}.hero-logo{filter:drop-shadow(0 12px 20px #2e252826);width:min(50rem,59vw);max-width:none;margin:0 0 clamp(1.25rem,2.5vw,2.2rem);display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-invite-art{filter:drop-shadow(0 18px 28px #2e252814);width:min(35rem,45vw);margin:0 0 clamp(1rem,2vw,1.45rem) clamp(2rem,5vw,5rem);display:block}.hero-kicker,.section-heading p{color:var(--cocoa-text);font-family:var(--display);margin:0;font-size:clamp(1.45rem,3vw,2.2rem);font-style:italic;font-weight:700}.hero-copy h1{color:var(--bronze-gold);font-family:var(--display);gap:.2rem;margin:0;line-height:.9;display:grid}.hero-copy h1 span{color:var(--deep-ink);font-size:clamp(3.4rem,8vw,6.2rem);font-weight:600}.hero-copy h1 strong{width:min-content;color:var(--bronze-gold);letter-spacing:0;font-size:clamp(4.1rem,10vw,8.1rem);font-weight:700}.hero-hosts{color:var(--birthday-red);font-family:var(--script);margin:.5rem 0 1.15rem;font-size:clamp(2.3rem,4vw,3.4rem)}.hero-meta{gap:.7rem;max-width:28rem;margin:0 0 1.8rem clamp(2rem,5vw,5rem);display:grid}.hero-meta span{color:var(--deep-ink);align-items:center;gap:.7rem;font-size:clamp(1rem,2vw,1.18rem);font-weight:800;display:flex}.hero-meta svg{color:var(--birthday-red);flex:none}.hero-cta,.invite-card button{color:#fff;background:var(--birthday-red);min-height:3.35rem;box-shadow:var(--shadow-sticker);border:0;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;padding:0 1.35rem;font-weight:900;display:inline-flex}.hero-cta{margin-left:clamp(2rem,5vw,5rem)}.hero-visual{min-height:clamp(33rem,47vw,41rem);margin-top:clamp(2.25rem,6vw,5rem);position:relative}.hero-photo-stack{height:clamp(31rem,44vw,39rem);transform-style:preserve-3d;position:relative}.social-card{transform-origin:50%;background:0 0;width:clamp(17rem,24vw,23rem);position:absolute;overflow:visible}.social-card--left{top:.5rem;left:clamp(2.25rem,7vw,5.5rem);rotate:-6deg}.social-card--right{z-index:2;top:4rem;right:0;rotate:8deg}.social-card__image{filter:drop-shadow(0 22px 30px #2e252833);width:100%;max-width:none;height:auto;display:block}.social-card__caption{filter:drop-shadow(0 8px 12px #2e252814);width:min(15rem,64%);max-width:none;margin:0;display:block;position:absolute;bottom:-4.4rem;right:-4.1rem}.social-card--left .social-card__caption{width:min(15rem,64%)}.social-card--right .social-card__caption{width:min(17.75rem,78%);right:-4.8rem}.reaction-sticker,.doodle{z-index:4;pointer-events:none;position:absolute}.hero-sticker--one{width:clamp(3.2rem,7vw,5rem);top:18%;left:-1%;rotate:-12deg}.hero-sticker--two{width:clamp(3.2rem,7vw,5rem);top:6%;left:71%;rotate:9deg}.hero-sticker--three{width:clamp(3.2rem,7vw,5rem);bottom:31%;right:0;rotate:13deg}.doodle--glasses{width:clamp(4.4rem,10vw,7rem);top:-2%;left:20%;rotate:-10deg}.doodle--spiral{opacity:.75;width:clamp(6rem,16vw,13rem);bottom:3%;right:7%}.assistant-celebrants{z-index:3;width:min(21rem,92vw);position:absolute;bottom:-4.25rem;right:clamp(3rem,9vw,7rem)}.assistant-celebrants>p{color:var(--birthday-red);font-family:var(--display);text-align:center;margin:0 0 .65rem;font-size:1.65rem;font-style:italic;font-weight:800}.assistant-celebrants>div{justify-content:center;gap:1rem;display:flex}.assistant-celebrants figure{text-align:center;margin:0}.assistant-celebrants img{aspect-ratio:1;border:.28rem solid var(--paper-cream);object-fit:cover;border-radius:999px;width:6.7rem;box-shadow:0 14px 26px #2e25282e}.assistant-celebrants figcaption{color:var(--deep-ink);font-family:var(--display);font-size:1.25rem;font-style:italic;line-height:1.05;display:grid}.preview-section{z-index:1;padding:clamp(5rem,9vw,8rem) clamp(1rem,4vw,4rem);position:relative;overflow:hidden}.homepage-wave{z-index:0;opacity:.9;pointer-events:none;width:min(122rem,145vw);max-width:none;position:absolute;bottom:-34rem;right:50%;transform:translate(50%)}.preview-section:nth-of-type(odd){background:#fffdfc47}.preview-section:before,.preview-section:after{z-index:0;aspect-ratio:1;content:"";pointer-events:none;border-radius:999px;width:clamp(5rem,12vw,9rem);position:absolute}.preview-section:before{border:.15rem solid #e52d2f29;top:12%;right:-3rem}.preview-section:after{background:#8ed4ce2e;bottom:10%;left:-3.5rem}.section-shell{z-index:1;width:min(1080px,100%);margin:0 auto;position:relative}.section-heading{grid-template-columns:1fr auto;align-items:end;gap:.8rem 2rem;margin-bottom:1rem;display:grid}.section-heading h2{max-width:48rem;color:var(--deep-ink);font-family:var(--display);grid-column:1;margin:0;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.94}.section-heading span{aspect-ratio:1;border:.16rem solid #b9793870;border-radius:999px;grid-area:1/2/span 2;width:clamp(5rem,12vw,9rem);display:block}.section-intro{max-width:44rem;color:var(--cocoa-text);margin:0 0 2rem;font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.75}.preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.preview-card,.invite-card{background:#fffdfcbd;border:1px solid #b979383d;border-radius:1.1rem;box-shadow:0 22px 46px #2e25281f}.preview-card{min-height:13rem;padding:1.4rem;rotate:-1deg}.preview-card:nth-child(2n){transform:translateY(1.1rem)}.preview-card strong{color:var(--birthday-red);font-family:var(--display);font-size:2rem;line-height:1}.preview-card p{color:var(--deep-ink);line-height:1.58}.timeline-preview{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:clamp(1rem,3vw,2rem);padding:2.2rem 0;display:grid;position:relative}.timeline-rail{z-index:-1;background:linear-gradient(90deg, var(--birthday-red), var(--bronze-gold), var(--ocean-teal));border-radius:999px;height:.28rem;position:absolute;top:50%;left:4%;right:4%;box-shadow:0 10px 24px #2e25281f}.timeline-stop{background:linear-gradient(145deg,#fffdfceb,#f8e9d6c7);border:1px solid #61474a2e;border-radius:1.1rem;min-height:15rem;padding:1.35rem;position:relative;box-shadow:0 24px 54px #2e252824}.timeline-stop:nth-of-type(odd){transform:translateY(-1rem)}.timeline-stop:nth-of-type(2n){transform:translateY(1rem)}.timeline-stop:before{border:.22rem solid var(--card-white);background:var(--birthday-red);content:"";border-radius:999px;width:1.2rem;height:1.2rem;position:absolute;top:-.8rem;left:1.35rem;box-shadow:0 8px 18px #961c2047}.timeline-stop span{color:#fff;background:var(--ocean-teal);width:2.5rem;height:2.5rem;font-family:var(--display);border-radius:999px;place-items:center;margin-bottom:1rem;font-size:1.35rem;font-weight:900;display:inline-grid}.timeline-stop strong{color:var(--birthday-red);font-family:var(--display);font-size:2rem;line-height:1;display:block}.timeline-stop p{color:var(--deep-ink);line-height:1.58}.gallery-preview{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:clamp(.6rem,2vw,1.5rem);display:grid}.gallery-card{background:var(--card-white);box-shadow:var(--shadow-soft);border-radius:1.2rem;margin:0;padding:.7rem}.gallery-card--1{rotate:-5deg}.gallery-card--2{transform:translateY(1.2rem)}.gallery-card--3{rotate:-2deg}.gallery-card img{aspect-ratio:.78;object-fit:cover;object-position:center top;border-radius:.8rem;width:100%;display:block}.invite-card{gap:1rem;max-width:38rem;padding:clamp(1.1rem,4vw,2rem);display:grid;position:relative;overflow:hidden}.invite-card:before{aspect-ratio:1;content:"";background:#8ed4ce66;border-radius:999px;width:16rem;position:absolute;inset:auto -6rem -7rem auto}.invite-card__stamp{border:2px solid var(--birthday-red);color:var(--birthday-red);font-family:var(--script);border-radius:999px;justify-self:start;padding:.45rem .9rem;font-size:1.55rem;rotate:-4deg}.invite-card label{z-index:1;color:var(--deep-ink);gap:.35rem;font-weight:900;display:grid;position:relative}.invite-card input,.invite-card select,.invite-card textarea{width:100%;color:var(--deep-ink);background:#ffffffd6;border:1px solid #61474a47;border-radius:.8rem;padding:.85rem .95rem}.invite-card textarea{resize:vertical}.invite-card button{justify-self:start}.invite-card__notice{z-index:1;color:var(--ocean-teal);margin:0;font-weight:900;position:relative}.sticker-nav{z-index:20;justify-items:end;gap:.7rem;display:grid;position:fixed;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}.menu-callout{min-width:max-content;color:var(--deep-ink);filter:drop-shadow(0 10px 18px #2e252826);pointer-events:none;align-items:center;gap:.55rem;animation:2.6s ease-in-out infinite menu-callout-float;display:flex;position:absolute;bottom:.9rem;right:4.8rem}.menu-callout span{font-family:var(--script);white-space:nowrap;background:#fffdfcdb;border:1px solid #b9793847;border-radius:999px;padding:.5rem .78rem;font-size:1.25rem;rotate:-3deg}.menu-callout i{border-right:.18rem solid var(--bronze-gold);border-bottom:.18rem solid var(--bronze-gold);border-radius:0 0 1.8rem;width:2.1rem;height:1.5rem;display:block;transform:rotate(-23deg)}.menu-callout.is-hidden{opacity:0}.sticker-nav__toggle,.sticker-nav__item{color:#fff;background:var(--birthday-red);box-shadow:var(--shadow-sticker);border:0}.sticker-nav__toggle{border-radius:1.15rem;place-items:center;width:4rem;height:4rem;animation:2.8s ease-in-out infinite heart-menu-pulse;display:grid;rotate:-5deg}.sticker-nav__items{pointer-events:none;justify-items:end;gap:.55rem;display:grid}.sticker-nav__item{opacity:0;min-height:2.85rem;transition:opacity .18s,translate .18s,rotate .18s,background .18s;transition-delay:calc(var(--item-index) * 24ms);border-radius:999px;align-items:center;gap:.5rem;padding:0 .9rem;display:inline-flex;translate:0 .8rem}.sticker-nav__items.is-open{pointer-events:auto}.sticker-nav__items.is-open .sticker-nav__item{opacity:1;translate:0}.sticker-nav__item:nth-child(odd){rotate:-2deg}.sticker-nav__item:nth-child(2n){rotate:2deg}.sticker-nav__item[aria-current=true]{background:var(--ocean-teal)}.sticker-nav__item span{font-weight:900}.section-dots{background:#fffdfcc2;border-radius:999px;gap:.32rem;padding:.42rem .55rem;display:flex;box-shadow:0 10px 22px #2e25281f}.section-dots span{background:#cdd3dd;border-radius:999px;width:.43rem;height:.43rem}.section-dots .is-active{background:#5b93ff}@keyframes heart-menu-pulse{0%,to{box-shadow:var(--shadow-sticker), 0 0 0 0 #e52d2f52;transform:translateY(0)scale(1)}45%{box-shadow:var(--shadow-sticker), 0 0 0 .75rem #e52d2f00;transform:translateY(-.14rem)scale(1.04)}}@keyframes menu-callout-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.32rem)}}@media (width>=861px) and (width<=1120px){.hero-section{padding-top:3.4rem}.hero-inner{grid-template-columns:1fr;gap:1rem;min-height:0}.hero-logo{width:min(47rem,82vw)}.hero-invite-art{width:min(32rem,58vw)}.hero-visual{width:min(46rem,100%);min-height:39rem;margin:0 auto 2rem}.hero-photo-stack{height:34rem}.social-card{width:min(20rem,43vw)}.social-card--left{left:clamp(2rem,16vw,9rem)}.social-card--right{right:clamp(0rem,8vw,4rem)}.assistant-celebrants{bottom:-4rem;right:50%;transform:translate(50%)}}@media (width<=860px){.hero-section{min-height:auto;padding:3.2rem clamp(.9rem,4vw,1.6rem) 5.2rem}.hero-inner{grid-template-columns:1fr;gap:0;min-height:0}.hero-logo{width:min(34rem,104vw);margin-left:-.45rem}.hero-invite-art,.hero-meta,.hero-cta{margin-left:0}.hero-visual{min-height:43rem;margin-top:1.2rem}.social-card{width:min(69vw,18.5rem)}.social-card--left{top:.2rem;left:.4rem}.social-card--right{top:26%;right:0}.assistant-celebrants{bottom:-4.5rem;right:50%;transform:translate(50%)}.preview-grid,.timeline-preview{grid-template-columns:1fr}.gallery-preview{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:minmax(15.5rem,76vw);grid-auto-flow:column;gap:1rem;margin-inline:calc(-1*clamp(1rem,4vw,4rem));padding:0 clamp(1rem,4vw,4rem) 1.5rem;scroll-padding-inline:clamp(1rem,4vw,4rem);display:grid;overflow-x:auto}.gallery-card{scroll-snap-align:center}.gallery-card--2{transform:none}.timeline-preview{padding-left:1rem}.timeline-rail{transform-origin:top;width:.28rem;height:auto;inset:2rem auto 2rem 1.4rem}.preview-card:nth-child(2n){transform:none}.section-heading{grid-template-columns:1fr}.section-heading span{display:none}.sticker-nav__item{min-height:3rem}.menu-callout{bottom:.8rem;right:4.5rem}}@media (width<=520px){.hero-wave--top{top:-30rem}.hero-logo{width:min(25rem,106vw);margin-left:-.75rem}.hero-invite-art{width:min(20rem,92vw)}.homepage-wave{bottom:-23rem}.hero-visual{min-height:38rem}.social-card{width:min(70vw,16.2rem)}.social-card--right{top:25%}.social-card__caption{width:min(10.5rem,66%);bottom:-3.9rem;right:-1rem}.social-card--right .social-card__caption{width:min(12.25rem,80%);right:-.8rem}.assistant-celebrants{bottom:-3.2rem}.assistant-celebrants img{width:4.85rem}.assistant-celebrants>p{font-size:1.35rem}.assistant-celebrants figcaption{font-size:1.05rem}.preview-section{padding-block:4.2rem}.preview-card,.timeline-stop,.invite-card{border-radius:.85rem}.sticker-nav__item span{white-space:nowrap;max-width:6.8rem}.menu-callout span{font-size:1.05rem}.menu-callout i{width:1.45rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-scene{display:none}.sticker-nav__toggle,.menu-callout{animation:none}}
