:root{--paper:#f7f1e7;--ink:#493a34;--muted:#81736b;--pink:#e9a7a5;--red:#bf5651;--blue:#b9d2dc;--yellow:#ecd17c;--green:#bac9a7;--white:#fffdf8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit}.skip{position:absolute;left:-999px;top:1rem;z-index:20;background:var(--ink);color:white;padding:.7rem}.skip:focus{left:1rem}.top{height:78px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #493a341a;background:var(--paper);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:600;font-size:14px;letter-spacing:-.04em}.brand i{font-family:var(--serif);color:var(--red);font-weight:500}.brand-mark{width:35px;height:35px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:17px;color:var(--red);letter-spacing:-.15em;padding-right:3px}.brand-mark span{font-size:11px}.top nav{display:flex;gap:32px}.top nav a,.footer-links a{text-decoration:none;font-size:12px;color:#62544c}.top nav a:hover,.footer-links a:hover{color:var(--red)}.top-cta{font-size:12px;text-decoration:none;border-bottom:1px solid var(--red);padding:5px 0}.top-cta span,.button span{margin-left:16px;color:var(--red)}.menu-toggle{display:none}.hero{min-height:650px;padding:86px 11vw 75px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;overflow:hidden}.hero-copy{max-width:540px;z-index:1}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.19em;color:var(--red);margin:0 0 20px}.eyebrow span{display:inline-block;width:23px;border-top:1px solid;margin:0 10px 3px 0}.hero h1,.section h2,.invite h2{font:500 clamp(43px,6.2vw,77px)/1.08 var(--serif);letter-spacing:-.055em;margin:0 0 22px}.hero h1 em,.section h2 em,.invite h2 em,dialog h2 em{color:var(--red);font-weight:500}.intro{font-size:14px;color:#6d6058;max-width:380px;line-height:1.8}.actions{display:flex;align-items:center;gap:27px;margin:32px 0 26px}.button{border:0;display:inline-block;text-decoration:none;border-radius:2px;padding:14px 21px;font:600 11px var(--sans);letter-spacing:.03em;cursor:pointer}.primary{background:var(--red);color:white}.primary span{color:#f3c7ae}.text-link{font-size:11px;text-decoration:none;border-bottom:1px solid #9b8678;padding-bottom:6px}.text-link span{color:var(--red);margin-left:10px}.welcoming{font-size:10px;color:#8a7b71}.collage{height:470px;position:relative;max-width:470px;justify-self:center;width:100%;transform:rotate(2deg)}.paper{position:absolute;box-shadow:0 13px 30px #47372c1a}.paper-back{background:#d2d7c4;inset:46px 34px 43px 55px;transform:rotate(7deg)}.photo{background:#fffdf7;inset:24px 74px 35px 35px;padding:20px;transform:rotate(-5deg);display:flex;flex-direction:column;align-items:center}.photo:after{content:'';position:absolute;inset:20px 20px 68px;background:linear-gradient(150deg,#e9b9a4 0 37%,#d9c99e 37% 40%,#8a9e84 40% 66%,#d5d4c4 66%);z-index:0;clip-path:polygon(0 12%,100% 0,98% 100%,4% 91%)}.art-sun{position:absolute;z-index:1;top:60px;right:75px;width:60px;height:60px;background:#e7c55f;border-radius:50%}.art-flower{position:absolute;z-index:2;top:116px;left:69px;color:#f9e5cf;font-size:85px;text-shadow:0 2px 1px #9f6058}.art-ribbon{z-index:3;position:absolute;bottom:76px;left:40px;background:#fff9edc9;padding:8px 12px;font:italic 17px/1.1 var(--serif);transform:rotate(-6deg)}.tape{position:absolute;z-index:3;top:16px;left:48%;height:28px;width:94px;background:#e9d793a6;transform:rotate(-8deg)}.sun-stamp{position:absolute;z-index:4;top:9px;right:18px;background:var(--red);color:#fff7e9;border-radius:50%;width:73px;height:73px;display:grid;place-content:center;text-align:center;font:italic 13px/1.05 var(--serif);transform:rotate(10deg)}.scribble{position:absolute;z-index:4;left:-10px;bottom:55px;font:italic 22px/1.1 var(--serif);color:#56746b;transform:rotate(-9deg)}.clip{position:absolute;z-index:4;right:58px;bottom:20px;font-size:43px;color:#a88856;transform:rotate(42deg)}.tiny-note{position:absolute;right:6px;bottom:65px;font-size:9px;line-height:1.7;letter-spacing:.06em}.hero-index{position:absolute;bottom:28px;left:11vw;font-size:9px;letter-spacing:.1em}.hero-index span{color:var(--red);margin:0 7px}.section{padding:105px 11vw}.section-heading{max-width:550px;margin-bottom:45px}.section-heading h2,.about-copy h2,.how h2,.memory-head h2{font-size:clamp(37px,4.5vw,57px)}.section-heading>p:last-child{font-size:13px;color:var(--muted)}.next{background:#f0e9dc}.events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.loading{color:var(--muted)}.event-card{background:var(--white);padding:29px;position:relative;border:1px solid #493a3410;box-shadow:0 8px 26px #44352a08}.event-card:before{content:'';position:absolute;top:-7px;left:40%;width:67px;height:18px;background:#e6cf8e9c;transform:rotate(-3deg)}.event-card .tag{font-size:9px;letter-spacing:.14em;color:var(--red);text-transform:uppercase}.event-card h3{font:500 28px var(--serif);margin:10px 0}.event-card p{font-size:12px;color:var(--muted)}.event-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:19px 0;font-size:11px}.event-card .button{margin-top:9px}.about{display:grid;grid-template-columns:.85fr 1fr;gap:12%;align-items:center}.about-art{height:390px;background:#dce3d4;position:relative;display:grid;place-items:center;transform:rotate(-2deg)}.about-art:before{content:'';position:absolute;inset:25px;border:1px solid #fff8}.about-flower{font-size:144px;color:#bc6d66;text-shadow:4px 8px #a2ae8d;transform:rotate(9deg)}.handwrite{position:absolute;right:14px;bottom:40px;background:#fffaf0;padding:12px 17px;color:#597466;font:italic 19px/1.15 var(--serif);transform:rotate(6deg)}.about-label{position:absolute;top:16px;left:18px;font:italic 11px var(--serif)}.about-copy p:not(.eyebrow){font-size:13px;color:#74665d;line-height:1.9}.about-copy .text-link{display:inline-block;margin-top:18px}.hobbies{background:#f2e6df}.centered{text-align:center;margin:0 auto 47px}.hobby-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.hobby-card{min-height:240px;padding:23px 19px;position:relative;transform:rotate(-1deg)}.hobby-card:nth-child(even){transform:rotate(1deg);margin-top:12px}.hobby-card>span{font-size:8px;letter-spacing:.14em;color:#67584f}.hobby-doodle{font:62px var(--serif);text-align:center;margin:25px 0 9px;color:#a85650}.hobby-card h3{font:500 21px var(--serif);margin:0}.hobby-card p{font-size:10px;color:#73665e}.hc-pink{background:#e9c2bc}.hc-blue{background:#d1e0e1}.hc-yellow{background:#ebd99e}.hc-green{background:#d2ddc4}.how{display:grid;grid-template-columns:.85fr 1fr;gap:12%;align-items:start}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:23px;padding:0 0 26px;margin:0 0 25px;border-bottom:1px solid #493a3420}.steps b{font:italic 17px var(--serif);color:var(--red)}.steps h3{font:500 19px var(--serif);margin:0 0 5px}.steps p{font-size:11px;color:var(--muted);margin:0}.memories{background:#e9e3d5}.memory-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.memory-head p{max-width:270px;color:var(--muted);font-size:11px}.memory-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.memory-card{height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transform:rotate(-2deg);background:#d8c5b5}.memory-card:nth-child(2){transform:rotate(2deg);background:#c5d0bd}.memory-card:nth-child(3){transform:rotate(-1deg);background:#d6d5be}.memory-card:before{content:'';position:absolute;inset:9px;border:1px solid #fff8}.memory-card span{font:italic 13px var(--serif)}.memory-card b{font-size:57px;font-weight:400;color:#af645a}.invite{text-align:center;padding:90px 20px;background:#e5b8ae;position:relative;overflow:hidden}.invite .eyebrow{color:#8f4641}.invite h2{font-size:clamp(42px,6vw,69px);margin-bottom:29px}.invite-flower{position:absolute;font-size:160px;color:#f4d6bb55;left:9%;top:22px}.dark{background:var(--ink);color:white}.dark span{color:#f1b6aa}footer{padding:44px 6vw 25px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px}footer>p{font:italic 15px var(--serif);color:var(--red);grid-column:2;grid-row:1}.footer-links{display:flex;gap:22px;grid-column:1/-1;padding:17px 0;border-top:1px solid #493a341a;border-bottom:1px solid #493a341a}.footer-links a{font-size:10px}footer small{font-size:9px;color:var(--muted);grid-column:1/-1}dialog{border:0;background:var(--paper);color:var(--ink);max-width:510px;width:calc(100% - 30px);max-height:90vh;padding:32px;box-shadow:0 20px 90px #221a1755}dialog::backdrop{background:#30231f9c;backdrop-filter:blur(3px)}dialog h2{font:500 40px var(--serif);margin:0 0 3px}dialog form>p:not(.eyebrow){font-size:12px;color:var(--muted)}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:26px;color:var(--ink);cursor:pointer}dialog label:not(.check){display:block;font-size:10px;font-weight:600;margin:13px 0}input,textarea{font:12px var(--sans);color:var(--ink)}dialog input:not([type=checkbox]),dialog textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #b9a99c;background:#fffdf8}dialog textarea{min-height:60px}.check{display:flex;gap:8px;align-items:flex-start;font-size:10px;margin:13px 0}.check input{accent-color:var(--red);margin-top:3px}.check a{color:var(--red)}.honeypot{position:absolute;left:-10000px}.form-message{min-height:25px;color:var(--red);font-size:11px}.legal{max-width:820px;margin:auto;padding:80px 7vw}.legal h1{font:500 48px var(--serif)}.legal h2{font:500 25px var(--serif);margin-top:35px}.legal p,.legal li{font-size:14px;color:#665950}.notice{padding:15px;background:#ebd99e;border-left:3px solid var(--red)}
@media(max-width:850px){.hero{padding-left:7vw;padding-right:7vw;min-height:570px}.collage{transform:scale(.87) rotate(2deg)}.section{padding:80px 7vw}.hobby-grid{grid-template-columns:repeat(2,1fr)}.about{gap:8%}.about-art{height:330px}.hero-index{left:7vw}}
@media(max-width:620px){.top{height:65px;padding:0 5vw}.brand{font-size:11px}.brand-mark{width:30px;height:30px}.top-cta{display:none}.menu-toggle{display:block;border:1px solid #493a3444;background:transparent;padding:8px 11px;color:var(--ink);font:11px var(--sans)}.top nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);padding:20px 7vw;flex-direction:column;gap:15px;border-bottom:1px solid #493a3420}.top nav.open{display:flex}.hero{display:flex;flex-direction:column;align-items:stretch;padding:57px 7vw 15px;min-height:0}.hero h1{font-size:54px}.hero-copy{max-width:none}.intro{max-width:360px}.collage{width:min(100%,370px);height:360px;margin:15px auto 0;transform:scale(.9) rotate(2deg);transform-origin:top center}.hero-index{bottom:13px;left:auto;right:7vw}.section{padding:68px 7vw}.section-heading h2,.about-copy h2,.how h2,.memory-head h2{font-size:42px}.events-grid{grid-template-columns:1fr}.about,.how{grid-template-columns:1fr;gap:40px}.about-art{height:290px;max-width:360px;width:100%;margin:auto}.about-copy{order:-1}.hobby-grid{gap:10px}.hobby-card{min-height:205px;padding:17px 14px}.hobby-doodle{font-size:50px;margin:19px 0 5px}.hobby-card h3{font-size:18px}.memory-head{display:block}.memory-strip{grid-template-columns:1fr 1fr;gap:12px}.memory-card{height:155px}.memory-card:last-child{display:none}.invite{padding:75px 20px}.invite-flower{left:-25px;font-size:120px}.footer-brand{grid-column:1/-1}footer>p{grid-column:1/-1;grid-row:auto;margin:0}.footer-links{flex-wrap:wrap;gap:13px 22px}footer{padding:35px 7vw 22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
