@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--cream:#f7f1e6;--paper:#fffdf8;--ink:#273127;--muted:#6e756d;--orange:#de6a2d;--yellow:#f3c85b;--green:#7e9463;--line:#27312721}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Manrope,sans-serif}a{color:inherit}.hero{background:var(--cream);isolation:isolate;place-items:center;min-height:94vh;padding:90px 24px 100px;display:grid;position:relative;overflow:hidden}.party-garland{z-index:3;border-top:3px solid var(--green);border-radius:50%;width:min(760px,88vw);height:105px;position:absolute;top:0;left:50%;transform:translate(-50%)}.party-garland span{border-left:17px solid #0000;border-right:17px solid #0000;border-top:30px solid var(--yellow);transform-origin:50% -18px;width:0;height:0;animation:3s ease-in-out infinite bunting;position:absolute;top:18px}.party-garland span:first-child{border-top-color:var(--orange);left:6%;transform:rotate(12deg)}.party-garland span:nth-child(2){border-top-color:#e9a6a0;animation-delay:-.4s;top:32px;left:20%}.party-garland span:nth-child(3){border-top-color:var(--green);animation-delay:-.8s;top:42px;left:35%}.party-garland span:nth-child(4){animation-delay:-1.2s;top:46px;left:49%}.party-garland span:nth-child(5){border-top-color:var(--orange);animation-delay:-1.6s;top:41px;left:63%}.party-garland span:nth-child(6){border-top-color:#e9a6a0;animation-delay:-2s;top:30px;left:77%}.party-garland span:nth-child(7){border-top-color:var(--green);animation-delay:-2.4s;left:91%}@keyframes bunting{50%{translate:0 3px;rotate:4deg}}.cloud{filter:drop-shadow(0 8px 8px #8471500a);background:#ffffffb8;border-radius:999px;width:100px;height:30px;animation:9s ease-in-out infinite cloud-drift;position:absolute}.cloud span{background:inherit;border-radius:50%;position:absolute;bottom:4px}.cloud span:first-child{width:48px;height:48px;left:16px}.cloud span:last-child{width:35px;height:35px;right:11px}.cloud-left{top:28%;left:6%}.cloud-right{animation-delay:-4s;top:18%;right:5%;transform:scale(.72)}@keyframes cloud-drift{50%{translate:24px 5px}}.balloon{z-index:1;border-radius:52% 48% 48% 52%/55% 55% 45% 45%;width:54px;height:68px;animation:5s ease-in-out infinite balloon-float;position:absolute;box-shadow:inset -8px -10px #0000000a}.balloon:before{content:"";background:inherit;width:8px;height:8px;position:absolute;bottom:-4px;left:23px;transform:rotate(45deg)}.balloon:after{content:"";transform-origin:top;background:#2731273d;width:1px;height:88px;animation:3s ease-in-out infinite string-sway;position:absolute;top:69px;left:27px}.balloon span{background:#ffffff73;border-radius:50%;width:11px;height:19px;position:absolute;top:12px;left:11px;transform:rotate(28deg)}.balloon-orange{background:#ee8b52;top:54%;left:12%}.balloon-yellow{background:#f1c752;animation-delay:-2s;top:48%;right:11%;transform:scale(.82)}.balloon-green{background:#a5b87b;animation-delay:-3.5s;top:14%;right:22%;transform:scale(.62)}@keyframes balloon-float{50%{translate:0 -20px;rotate:3deg}}@keyframes string-sway{50%{transform:rotate(7deg)}}.hero:after{content:"";background:var(--paper);z-index:2;border-radius:50% 50% 0 0/100% 100% 0 0;height:90px;position:absolute;inset:auto -5% -42px}.hero-glow{filter:blur(90px);opacity:.46;z-index:-1;border-radius:50%;width:55vw;height:55vw;position:absolute}.hero-glow-left{background:#fff5a8;top:5vh;left:-20vw}.hero-glow-right{background:#ffd7ce;top:-12vh;right:-22vw}.hero-inner{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(310px,.75fr);align-items:center;gap:clamp(42px,7vw,100px);width:min(1120px,92vw);display:grid;position:relative}.hero-copy-block{text-align:center}.hero-photo-wrap{justify-self:center;width:min(380px,34vw);animation:5.5s ease-in-out infinite photo-float;position:relative}.hero-photo-card{background:#fffdf8;border-radius:48% 48% 22px 22px;padding:12px 12px 58px;position:relative;transform:rotate(3deg);box-shadow:0 28px 70px #4d3d252e}.hero-photo-card:before{content:"";z-index:-1;border:2px dashed #de6a2d57;border-radius:49% 49% 28px 28px;position:absolute;inset:-11px}.hero-photo{object-fit:cover;object-position:center 43%;border-radius:48% 48% 12px 12px;width:100%;height:clamp(390px,51vh,530px);display:block}.hero-photo-card p{text-align:center;color:var(--green);margin:0;font:italic 400 15px/1.05 DM Serif Display,serif;position:absolute;bottom:12px;left:0;right:0;transform:rotate(-1.5deg)}.hero-photo-card p strong{color:var(--orange);font-size:22px;font-weight:400}.hero-photo-sparkle{z-index:3;color:var(--yellow);filter:drop-shadow(0 5px 8px #de6a2d2e);font-size:42px;animation:2.4s ease-in-out infinite twinkle;position:absolute;top:18%;right:-30px}@keyframes photo-float{50%{transform:translateY(-10px)rotate(-1deg)}}.eyebrow,.kicker,.card-label{letter-spacing:.22em;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600}.eyebrow{color:var(--orange);justify-content:center;align-items:center;gap:12px;margin:0 0 28px;display:flex}.eyebrow span{background:currentColor;width:22px;height:1px}.sun-mark{place-items:center;width:108px;height:108px;margin-bottom:15px;animation:5s ease-in-out infinite float;display:inline-grid;position:relative}.sun-mark:before{content:"";background:repeating-conic-gradient(from 4deg, var(--yellow) 0 8deg, transparent 8deg 25deg);border-radius:50%;position:absolute;inset:0}.sun-mark span{z-index:1;color:#754d25;background:radial-gradient(circle at 35% 30%,#fff1ad 0,#f3bd43 45%,#dd6a2e 100%);border-radius:50%;place-items:center;width:67px;height:67px;font:700 20px/1 sans-serif;display:grid;position:relative;box-shadow:0 12px 36px #de6a2d38}.sun-mark span:before{content:"•  •";letter-spacing:9px;font-size:10px;position:absolute;top:19px;left:18px}.sun-mark span i{margin-top:15px;font-style:normal;transform:scaleX(1.15)}@keyframes float{50%{transform:translateY(-8px)rotate(5deg)}}.hero h1{letter-spacing:-.055em;color:var(--orange);margin:6px 0 28px;font-family:DM Serif Display,serif;font-size:clamp(78px,11vw,158px);font-weight:400;line-height:.78}.age{margin:0 0 26px;font-family:DM Serif Display,serif;font-size:clamp(25px,3vw,38px);font-style:italic}.age strong{color:var(--green);font-size:1.35em;font-weight:400}.hero-copy{color:var(--muted);margin:0 auto 34px;font-size:15px;line-height:1.8}.primary-button,.outline-button{letter-spacing:.04em;align-items:center;gap:16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.primary-button{background:var(--ink);color:#fff;border-radius:999px;padding:15px 22px;box-shadow:0 12px 28px #27312729}.primary-button span{color:var(--yellow);font-size:18px}.primary-button:hover{background:var(--orange);transform:translateY(-2px)}.primary-button span{animation:1.4s ease-in-out infinite arrow-hop}@keyframes arrow-hop{50%{transform:translateY(4px)}}.doodle{color:var(--orange);opacity:.35;font-size:30px;position:absolute}.doodle-one{top:22%;left:10%}.doodle-two{top:28%;right:12%}.doodle-three{color:var(--green);bottom:18%;right:18%}.joy-ribbon{z-index:5;background:var(--yellow);color:var(--ink);letter-spacing:.17em;white-space:nowrap;border-top:2px dashed #27312729;border-bottom:2px dashed #27312729;padding:14px 0;font:600 12px/1 DM Sans,sans-serif;position:relative;overflow:hidden;transform:rotate(-1deg)scale(1.02)}.joy-ribbon div{width:max-content;animation:22s linear infinite ribbon-scroll}.joy-ribbon span{color:var(--orange);margin:0 22px;font-size:15px}@keyframes ribbon-scroll{to{transform:translate(-50%)}}.details-section{max-width:1500px;margin:0 auto;padding:120px 5vw 130px;position:relative;overflow:hidden}.confetti-field i{background:var(--yellow);opacity:.65;border-radius:3px;width:9px;height:18px;animation:4s ease-in-out infinite confetti-turn;position:absolute}.confetti-field i:first-child{top:9%;left:5%;rotate:22deg}.confetti-field i:nth-child(2){background:var(--orange);animation-delay:-1s;top:17%;right:7%;rotate:-18deg}.confetti-field i:nth-child(3){background:var(--green);animation-delay:-2s;top:48%;left:12%}.confetti-field i:nth-child(4){background:#e9a6a0;animation-delay:-.5s;top:55%;right:12%}.confetti-field i:nth-child(5){background:#e9a6a0;bottom:15%;left:3%}.confetti-field i:nth-child(6){background:var(--yellow);bottom:19%;right:4%;rotate:45deg}.confetti-field i:nth-child(7){background:var(--orange);border-radius:50%;width:12px;height:12px;top:6%;left:25%}.confetti-field i:nth-child(8){background:var(--green);border-radius:50%;width:12px;height:12px;bottom:7%;right:25%}@keyframes confetti-turn{50%{transform:rotate(180deg)translateY(-7px)}}.section-heading{text-align:center;max-width:680px;margin:0 auto 65px}.kicker{color:var(--orange);margin:0 0 18px}.section-heading h2,.memory-copy h2{letter-spacing:-.035em;margin:0 0 22px;font-family:DM Serif Display,serif;font-size:clamp(44px,5.2vw,74px);font-weight:400;line-height:1.03}.section-heading h2 em,.memory-copy h2 em{color:var(--green);font-weight:400}.section-heading>p:last-child,.memory-copy>p{color:var(--muted);font-size:15px;line-height:1.75}.details-grid{border:1px solid var(--line);border-radius:28px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden;box-shadow:0 30px 80px #433c2d12}.detail-card{background:#fff;min-height:390px;padding:44px 40px 42px;transition:transform .3s,box-shadow .3s;position:relative}.detail-card:hover{z-index:2;transform:translateY(-9px)rotate(-.5deg);box-shadow:0 22px 40px #433c2d21}.detail-card:nth-child(2):hover{transform:translateY(-9px)rotate(.5deg)}.detail-card+.detail-card{border-left:1px solid var(--line)}.date-card{background:#fcf7e8}.location-card{background:#edf1e7}.note-card{background:#fbefe8}.card-number{color:#27312759;letter-spacing:.12em;font:500 11px DM Sans;position:absolute;top:22px;right:24px}.card-icon{width:48px;height:48px;color:var(--orange);background:#ffffffb3;border-radius:50%;place-items:center;margin-bottom:50px;font-size:25px;display:grid}.card-label{color:var(--green);margin-bottom:15px}.detail-card h3{margin:0 0 14px;font:400 34px/1.08 DM Serif Display,serif}.detail-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.detail-card small{color:#8b8d83;margin-top:22px;font-size:12px;display:block}.detail-card a{color:var(--orange);text-underline-offset:5px;gap:10px;margin-top:22px;font-size:13px;font-weight:600;display:inline-flex}.memory-section{background:var(--ink);color:#fff;grid-template-columns:minmax(320px,560px) minmax(300px,540px);justify-content:center;align-items:center;gap:clamp(60px,9vw,140px);padding:100px max(5vw,24px);display:grid;position:relative;overflow:hidden}.memory-stars{color:var(--yellow);opacity:.7;font-size:28px;animation:2.4s ease-in-out infinite twinkle;position:absolute;top:7%;right:5%}@keyframes twinkle{50%{opacity:.25;transform:scale(.85)rotate(12deg)}}.memory-image-wrap{padding:20px;position:relative}.memory-image-wrap:before{content:"";border:1px solid #ffffff59;border-radius:46% 46% 18px 18px;position:absolute;inset:0;transform:rotate(-3deg)}.memory-image{object-fit:cover;object-position:center 42%;filter:saturate(.92)contrast(.97);border-radius:45% 45% 12px 12px;width:100%;height:610px;position:relative}.memory-image-wrap:hover .memory-image{transform:rotate(1deg)scale(1.015)}.memory-image{transition:transform .45s cubic-bezier(.2,.8,.2,1)}.image-stamp{z-index:2;text-align:center;background:var(--yellow);width:112px;height:112px;color:var(--ink);border-radius:50%;place-content:center;font:500 11px/1.3 DM Sans;display:grid;position:absolute;bottom:32px;right:-22px;transform:rotate(7deg);box-shadow:0 15px 35px #00000040}.image-stamp strong{font-family:DM Serif Display,serif;font-size:21px;font-weight:400}.memory-copy .kicker{color:var(--yellow)}.memory-copy h2{margin-bottom:28px}.memory-copy h2 em{color:#d9e2c9}.memory-copy>p{color:#ffffffad;max-width:440px}.outline-button{border:1px solid #ffffff59;border-radius:999px;margin-top:24px;padding:14px 20px}.outline-button:hover{border-color:var(--yellow);color:var(--yellow)}footer{text-align:center;background:var(--cream);padding:90px 24px 60px;overflow:hidden}footer .sun-mark{margin:-20px 0 -5px;animation:none;transform:scale(.58)}.footer-script{color:var(--orange);margin:15px 0 18px;font:italic 400 clamp(32px,4vw,52px) DM Serif Display,serif}.footer-info{color:var(--muted);letter-spacing:.06em;font-size:12px}.footer-line{width:min(700px,80vw);color:var(--orange);align-items:center;gap:15px;margin:50px auto 0;display:flex}.footer-line:before,.footer-line:after{content:"";background:#de6a2d40;flex:1;height:1px}@media (width<=900px){.hero{min-height:auto;padding-top:105px}.hero-inner{grid-template-columns:1fr;gap:55px}.hero-photo-wrap{grid-row:1;width:min(430px,72vw)}.hero-copy-block{grid-row:2}.hero-photo{height:min(540px,72vh)}.details-grid{grid-template-columns:1fr}.detail-card{min-height:auto;padding:35px 30px}.detail-card+.detail-card{border-left:0;border-top:1px solid var(--line)}.card-icon{margin-bottom:32px}.memory-section{grid-template-columns:1fr;padding-top:70px}.memory-image-wrap{justify-self:center;width:100%;max-width:580px}.memory-copy{text-align:center;max-width:620px;margin:0 auto}.memory-copy>p{margin-left:auto;margin-right:auto}}@media (width<=600px){.hero{min-height:auto;padding:92px 18px 95px}.hero-inner{gap:45px;width:100%}.hero-photo-wrap{width:min(315px,78vw)}.hero-photo-card{padding:9px 9px 51px}.hero-photo{height:min(420px,57vh)}.hero-photo-sparkle{font-size:32px;right:-18px}.hero h1{font-size:86px}.sun-mark{margin-bottom:4px;transform:scale(.85)}.hero-copy br{display:none}.doodle{font-size:20px}.cloud{transform:scale(.62)}.cloud-left{top:25%;left:-7%}.cloud-right{right:-9%}.balloon{transform:scale(.65)}.balloon-orange{top:59%;left:2%}.balloon-yellow{top:52%;right:0}.balloon-green{display:none}.party-garland{width:110vw}.details-section{padding:90px 18px}.section-heading{margin-bottom:42px}.section-heading h2,.memory-copy h2{font-size:45px}.details-grid{border-radius:22px}.memory-section{gap:55px;padding:65px 18px 80px}.memory-image-wrap{padding:10px}.memory-image{height:470px}.image-stamp{width:96px;height:96px;right:1px}footer{padding-top:70px}}@media (hover:none){.detail-card:hover,.detail-card:nth-child(2):hover{box-shadow:none;transform:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
