@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800;900&family=DM+Sans:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,Arial,sans-serif;color:var(--ivory);background:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400;line-height:1.55;--ink: #100d12;--ivory: #faf5e9;--burgundy: #5b0d28;--accent: #ff5475;--gold: #e2b857;--violet: #2c104b;--emerald: #073b34;color-scheme:dark;--line: #b694505c;--muted: #cfc4ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}h1,h2,h3,p,figure{margin:0}button{border:0}button:disabled{cursor:default}::selection{background:var(--gold);color:var(--ink)}.birthday-site{overflow:clip}.skip-link{position:fixed;top:-100px;left:16px;background:var(--gold);padding:12px;z-index:100;color:var(--ink)}.skip-link:focus{top:16px}.fireworks{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;width:100%;height:100%}.site-header{max-width:1440px;margin:auto;min-height:94px;padding:20px 5.6%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:21px;line-height:1.1;letter-spacing:-.8px;color:var(--gold)}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:6px}.glasses{width:51px;transform:rotate(-9deg)}nav{display:flex;gap:30px;font-size:13px;font-weight:600}nav a:hover{color:var(--accent)}.header-cta{border:1.5px solid var(--gold);padding:10px 18px;border-radius:30px;font-size:12px;font-weight:700;color:var(--gold)}.header-cta span{margin-left:14px}.header-cta:hover{background:var(--gold);color:var(--ink)}.hero{background:radial-gradient(ellipse at 50% 15%,#781535 0%,var(--burgundy) 45%,#240811 100%);border-block:1.5px solid var(--line);position:relative;padding:64px 5.6% 52px}.hero-dots{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.16;background-image:radial-gradient(var(--gold) .8px,transparent .8px);background-size:9px 9px;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,#000,transparent 32%,transparent 68%,#000);mask-image:linear-gradient(90deg,#000,transparent 32%,transparent 68%,#000)}.hero-copy{position:relative;text-align:center;max-width:1100px;margin:auto}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;margin-bottom:15px;color:var(--gold)}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--ink);border:1px solid var(--gold);border-radius:30px;padding:6px 14px;letter-spacing:1.3px;font-size:9px;transform:rotate(-2deg)}.tiny-star{color:var(--accent);font-size:18px;line-height:1}.title-wrap{position:relative;margin:9px auto 0;width:fit-content}h1{font-family:Barlow Condensed,Impact,Arial Narrow,sans-serif;font-size:clamp(78px,10.9vw,156px);font-weight:900;letter-spacing:-3px;line-height:.86;transform:rotate(-2deg);position:relative;z-index:1}h1 span{color:var(--gold);-webkit-text-stroke:1px #a77924;text-shadow:5px 5px 0 var(--ink)}.doodle-left{position:absolute;font-size:110px;left:-150px;top:20px;color:var(--gold);line-height:1;animation:star-turn 24s linear infinite}.date-sticker{position:absolute;right:-147px;top:26px;z-index:2;background:var(--gold);width:129px;height:129px;clip-path:polygon(50% 0%,59% 7%,70% 3%,76% 13%,88% 12%,88% 24%,98% 30%,94% 41%,100% 50%,93% 60%,97% 71%,86% 76%,86% 88%,74% 88%,69% 98%,58% 94%,50% 100%,40% 93%,29% 97%,24% 87%,12% 88%,12% 76%,2% 70%,6% 59%,0% 50%,7% 40%,3% 29%,14% 24%,13% 12%,25% 13%,30% 2%,41% 6%);transform:rotate(12deg);display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:9px;font-weight:800;letter-spacing:1px;line-height:1.1;color:var(--ink)}.date-sticker strong{font-size:55px;letter-spacing:-2px;font-family:Barlow Condensed,Impact,sans-serif}.sticker-year{font-size:8px;margin-top:4px}.hero-description{font-size:13px;line-height:1.7;margin-top:30px}.hero-actions{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:14px 21px;border:1.5px solid var(--gold);border-radius:5px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s}.button-dark{background:var(--gold);color:var(--ink);box-shadow:3px 3px #7a531d}.button:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #7a531d}.party-button{padding:12px 0;background:none;font-size:12px;font-weight:700;border-bottom:1px solid var(--gold);line-height:1}.party-button span{font-size:20px;margin-left:7px}.party-message{height:24px;margin-top:8px;font-size:11px;font-weight:700}.party-ticker{position:relative;background:var(--gold);border-block:2px solid var(--line);padding:12px 0;z-index:3;overflow:hidden;color:var(--ink)}.ticker-track{width:max-content;display:flex;animation:marquee 42s linear infinite}.ticker-track>span{display:flex;align-items:center;gap:25px;margin-right:25px;font-weight:800;font-size:13px;letter-spacing:.5px}.ticker-track b{font-size:22px;line-height:1;color:var(--burgundy)}.section{padding:76px 7%;max-width:1440px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:30px}h2{font-size:clamp(31px,3.6vw,49px);letter-spacing:-2px;font-weight:800;line-height:1.12}h2 em{font-family:Georgia,serif;font-weight:400;color:var(--gold)}.section-heading>p{font-size:11px;margin-bottom:4px;line-height:1.8}.event-ticket{display:grid;grid-template-columns:1fr 1fr 1.15fr;border:1.5px solid var(--line);border-radius:8px;background:var(--burgundy);box-shadow:5px 5px 0 var(--ink);overflow:hidden}.ticket-cell{position:relative;display:flex;flex-direction:column;align-items:start;padding:28px 30px;min-width:0}.ticket-cell+.ticket-cell{border-left:1.5px dashed var(--line)}.ticket-label{font-size:9px;letter-spacing:1.4px;font-weight:800;width:100%;display:flex;justify-content:space-between;margin-bottom:20px;color:var(--gold)}.ticket-cell strong{font-size:clamp(24px,2.5vw,34px);line-height:1.15;font-weight:800;letter-spacing:-1.5px}.ticket-cell strong small{font-size:18px;letter-spacing:-.5px}.ticket-cell>span:not(.ticket-label):not(.ticket-decoration){font-size:11px;margin-top:8px}.ticket-decoration{position:absolute;right:22px;bottom:25px;font-size:42px;color:var(--gold);line-height:1}.venue-cell{background:var(--emerald)}.venue-cell:hover{background:#0c5145}.text-link{font-weight:700;text-decoration:underline;text-underline-offset:4px;font-size:11px}.ticket-cell .text-link{margin-top:14px!important}.dress-section{display:grid;grid-template-columns:1fr 1.15fr;background:linear-gradient(120deg,var(--violet),#160b29);color:var(--ivory);border-block:1.5px solid var(--line);padding:60px max(7%,calc((100vw - 1238px)/2));gap:7%;align-items:center}.dress-art{position:relative;min-height:306px;display:grid;place-items:center}.fashion-note{background:var(--ink);border:2px solid var(--gold);box-shadow:9px 9px #08060c;color:var(--gold);width:250px;min-height:285px;transform:rotate(-8deg);text-align:center;padding:23px 20px;display:flex;flex-direction:column;align-items:center}.fashion-note>span:first-child{font-size:8px;letter-spacing:1.6px;font-weight:800;border-bottom:1px solid var(--line);padding-bottom:10px;width:100%}.fashion-note svg{width:90px;margin:17px 0 10px}.fashion-note strong{font-family:Barlow Condensed,Impact,sans-serif;font-size:43px;font-weight:800;line-height:.95}.note-signature{font-family:Georgia,serif;font-style:italic;font-size:17px;margin-top:14px}.dress-spark{position:absolute;font-size:70px;line-height:1;color:var(--gold)}.spark-one{top:-10px;right:10px}.spark-two{bottom:5px;left:5px;font-size:55px;color:var(--accent)}.dress-sticker{position:absolute;bottom:0;right:18px;transform:rotate(10deg);background:var(--gold);color:var(--ink);border:1.5px solid var(--line);border-radius:50%;height:90px;width:90px;display:grid;place-content:center;text-align:center;font-weight:800;font-size:12px;line-height:1.2;box-shadow:3px 3px 0 var(--ink)}.dress-copy h2{font-size:clamp(30px,3.3vw,45px);margin-bottom:22px}.dress-copy h2 em{color:var(--gold)}.dress-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:13px;max-width:460px}.dress-footnote{display:block;font-size:9px;font-weight:700;letter-spacing:1.4px;border-top:1px solid var(--line);margin-top:24px;padding-top:16px;max-width:460px}.dress-footnote span{float:right;font-size:22px;line-height:1}.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;padding-block:86px}.faq-intro h2{position:relative;width:fit-content}.faq-intro>p:not(.eyebrow){font-size:12px;line-height:1.9;margin-top:20px}.asterisk{position:absolute;color:var(--accent);font-size:65px;top:-12px;right:-75px;animation:star-turn 28s linear infinite}.faq-stamp{margin:30px 0 0 30px;transform:rotate(-12deg);border:2px solid var(--gold);color:var(--gold);border-radius:50%;height:108px;width:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.7;font-size:9px;letter-spacing:.6px}.faq-stamp strong{font-size:12px}.faq-list{border-top:1.5px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0 2px}.faq-list summary{cursor:pointer;display:flex;align-items:center;gap:15px;padding:19px 0;font-size:14px;font-weight:700;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-number{font-size:9px;font-weight:500;opacity:1;color:var(--muted)}.faq-toggle{margin-left:auto;font-size:21px;line-height:1;font-weight:400;transition:transform .2s}.faq-list details[open] .faq-toggle{transform:rotate(45deg);color:var(--accent)}.faq-answer{padding:0 28px 21px;font-size:12px;line-height:1.9;color:var(--muted)}.faq-answer .text-link{display:inline-block;margin-top:10px;color:var(--gold)}.location-section{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:65px max(7%,calc((100vw - 1238px)/2));background:linear-gradient(120deg,var(--emerald),#071e21);border-block:1.5px solid var(--line);align-items:center}.location-copy h2{font-size:clamp(31px,3.3vw,45px);margin-bottom:25px}.venue-name{font-size:21px;font-weight:800;letter-spacing:-.5px;margin-bottom:3px}.address-link{font-size:13px;text-decoration:underline;text-underline-offset:4px}.address-link span{margin-left:10px}.location-time{font-size:11px;margin-top:10px}.location-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.button-outline{background:var(--ink);box-shadow:3px 3px 0 var(--ink);color:var(--gold)}.steffy-note{font-size:10px;margin-top:15px;font-style:italic}.map-frame{border:1.5px solid var(--line);background:var(--ink);box-shadow:6px 6px 0 var(--ink);border-radius:7px;overflow:hidden;transform:rotate(1deg)}.map-caption{padding:12px 15px;border-bottom:1.5px solid var(--line);font-size:9px;letter-spacing:1px;font-weight:800;display:flex;align-items:center;gap:8px;color:var(--gold)}.map-caption>span:last-child{margin-left:auto;font-size:18px;line-height:1}.map-dot{background:var(--accent);border:1px solid var(--line);width:8px;height:8px;border-radius:50%}.map-frame iframe{display:block;border:0;width:100%;height:290px;background:#161b1a;color-scheme:light}.map-fallback{display:block;font-size:9px;text-align:center;padding:10px;text-decoration:underline;text-underline-offset:3px}.closing-section{background:linear-gradient(120deg,#390b1d,var(--burgundy),#240811);text-align:center;padding:47px 20px 40px;border-bottom:1.5px solid var(--line);position:relative}.closing-section>span{font-size:34px;color:var(--gold);line-height:1;display:block;margin-bottom:12px}.closing-section>p{font-size:clamp(31px,4vw,51px);line-height:1.1;letter-spacing:-1.8px;font-weight:800}.closing-section em{font-family:Georgia,serif;font-weight:400}.back-top{display:inline-block;font-size:9px;font-weight:800;letter-spacing:1.4px;margin-top:25px;border-bottom:1px solid var(--line);padding-bottom:4px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 5.6%;max-width:1440px;margin:auto}.footer-brand{font-size:15px;font-weight:800;letter-spacing:-.4px;color:var(--gold)}.footer-brand span{display:block;font-size:7px;letter-spacing:1px;font-weight:500;margin-top:4px}footer>p{font-size:9px}.effects-button{font-size:10px;background:transparent;border:1px solid var(--line);padding:8px 12px;border-radius:25px;display:flex;align-items:center;gap:7px}@keyframes marquee{to{transform:translate(-50%)}}@keyframes star-turn{to{transform:rotate(360deg)}}.effects-paused *{animation-play-state:paused!important}.effects-paused{scroll-behavior:auto}@media(min-width:1500px){.hero{padding-top:65px}.hero-description{font-size:15px}}@media(max-width:1000px){.site-header,.hero{padding-inline:5%}h1{font-size:13vw}.doodle-left{left:-90px;font-size:70px}.date-sticker{right:-105px;width:100px;height:100px;top:20px;font-size:7px}.date-sticker strong{font-size:42px}.section{padding-inline:5%}.dress-section,.location-section{padding-inline:5%;gap:6%}.ticket-cell{padding:24px 20px}.ticket-decoration{display:none}.dress-sticker{right:-5px}.spark-one{right:-10px}.faq-section{gap:8%}.asterisk{right:-53px;font-size:47px}.fashion-note{width:225px}.dress-copy h2{letter-spacing:-1.5px}.section-heading>p{max-width:170px}.footer-brand span{font-size:6px}}@media(max-width:700px){.site-header{min-height:78px;padding:15px 5%;gap:10px}.brand{font-size:17px;gap:8px}.glasses{width:38px}.brand small{font-size:6px;letter-spacing:1.5px}nav{display:none}.header-cta{font-size:10px;padding:9px 12px}.header-cta span{margin-left:5px}.hero{padding-top:40px}.hero-eyebrow{font-size:7px;letter-spacing:.9px;padding:5px 10px}.hero h1{font-size:17vw;letter-spacing:-1.5px}.title-wrap{margin-top:12px}.doodle-left{left:-30px;top:-6px;font-size:34px}.date-sticker{position:relative;right:auto;top:auto;width:auto;height:auto;clip-path:none;border:1px solid var(--line);border-radius:4px;display:inline-flex;flex-direction:row;gap:6px;padding:6px 12px;margin-top:20px;font-size:8px;transform:rotate(2deg)}.date-sticker strong{font-size:18px;letter-spacing:0}.sticker-year{font-size:8px;margin-top:0}.hero-description{font-size:11px;padding:0 8px}.hero-actions{gap:17px;margin-top:20px}.button{font-size:11px;padding:13px 16px;gap:18px}.party-button,.party-message{font-size:10px}.ticker-track>span{font-size:11px;gap:17px;margin-right:17px}.party-ticker{padding:10px 0}.section{padding:48px 6%}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:15px;max-width:none}.section-heading>p br{display:block}.eyebrow{font-size:8px;letter-spacing:1.3px}h2{font-size:34px;letter-spacing:-1.5px}.event-ticket{grid-template-columns:1fr}.ticket-cell{padding:23px 25px}.ticket-cell+.ticket-cell{border-left:0;border-top:1.5px dashed var(--line)}.ticket-cell strong{font-size:31px}.ticket-label{margin-bottom:12px}.ticket-decoration{display:block;font-size:60px;right:25px}.ticket-cell>span:not(.ticket-label):not(.ticket-decoration){font-size:12px}.dress-section{grid-template-columns:1fr;padding:42px 7%;gap:28px}.dress-art{min-height:280px;max-width:330px;width:100%;margin:auto}.fashion-note{min-height:260px;width:220px;padding:18px}.fashion-note strong{font-size:39px}.fashion-note svg{margin-block:12px 9px}.spark-one{right:2px;top:10px}.spark-two{left:5px}.dress-sticker{right:6px;bottom:4px;width:80px;height:80px;font-size:11px}.dress-copy h2{font-size:33px}.dress-copy>p:not(.eyebrow){font-size:12px}.dress-footnote{font-size:8px}.faq-section{grid-template-columns:1fr;gap:28px}.faq-intro{position:relative}.faq-intro h2 br{display:block}.faq-intro h2{max-width:250px}.faq-intro .asterisk{display:none}.faq-stamp{position:absolute;right:0;top:30px;width:75px;height:75px;font-size:6px;margin:0;opacity:.85}.faq-stamp strong{font-size:8px}.faq-intro>p:not(.eyebrow){font-size:11px;margin-top:15px;max-width:240px}.faq-list summary{font-size:13px;padding:18px 0;gap:12px}.faq-answer{padding-left:23px}.location-section{grid-template-columns:1fr;padding:45px 6%;gap:32px}.location-copy h2{font-size:34px}.map-frame iframe{height:280px}.map-frame{transform:rotate(.6deg)}.closing-section{padding:37px 15px}.closing-section>p{font-size:36px}footer{flex-wrap:wrap;gap:16px;padding:22px 6%}.footer-brand{order:0}.effects-button{order:1}footer>p{order:2;flex-basis:100%;border-top:1px solid var(--line);padding-top:14px;font-size:9px}.desktop-break{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
