:root{--paper:#fffaf3;--cream:#f7ead9;--ink:#3d3a35;--muted:#797367;--orange:var(--brand-orange);--line:#dcd1c1;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Be Vietnam Pro',sans-serif;font-size:16px;line-height:1.85}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;font-weight:500;letter-spacing:-.055em}em{font-family:var(--serif);font-weight:400;color:var(--brand-orange)}h2{font-size:calc(clamp(38px,4vw,64px) + 2px)}h3{font-size:32px}p{color:var(--muted)}button{border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a75300;outline-offset:5px}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:0}header{height:94px;padding:0 5%;display:flex;align-items:center;gap:32px;position:sticky;top:0;background:#fffaf3ed;backdrop-filter:blur(18px);z-index:20;border-bottom:1px solid #d8c9b54d}.brand img{width:190px;max-height:57px}.brand{flex-shrink:0}nav{display:flex;gap:28px;margin-left:auto;font-size:14px}nav a{transition:color .2s}nav a:hover,nav a.active{color:var(--brand-orange)}header .button{margin-left:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:16px 25px;background:var(--orange);color:#342d25;border-radius:3px;font-weight:600;font-size:15px;min-height:50px;transition:background .2s,transform .2s}.button:hover{background:var(--brand-orange);transform:translateY(-2px)}.button span,.text-button span{font-size:24px;line-height:1}.button.small{padding:12px 18px;gap:18px;font-size:14px;min-height:44px}.text-button{display:inline-flex;gap:20px;align-items:center;background:none;padding:14px 0;border-bottom:1px solid #b8a58e;font-size:15px;font-weight:500}.menu{display:none;background:none;width:42px;height:44px}.menu span{height:1px;display:block;background:var(--ink);margin:7px 0}.hero{min-height:725px;height:calc(100svh - 94px);max-height:980px;position:relative;overflow:hidden;background:#f7e6d2;display:flex;align-items:center}.hero-copy{padding:45px 0 100px 7%;width:55%;z-index:2;position:relative}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;color:#8a6a43;display:flex;align-items:center;gap:10px}.eyebrow i{width:6px;height:6px;background:var(--orange);border-radius:50%}.dates{font-size:14px;letter-spacing:.12em;margin:20px 0 25px}.dates span{padding:0 14px;color:#ba9b76}h1{font-size:calc(clamp(65px,7.2vw,110px) + 2px);font-weight:400;line-height:1.02}h1 em{font-size:1.09em}.hero-intro{margin:25px 0;font-size:16px;line-height:1.9}.hero-intro strong{font-weight:500;color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:28px}.hero-art{position:absolute;right:0;top:0;width:60%;height:100%;overflow:hidden;mix-blend-mode:multiply}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:.94}.hero-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f7e6d2 0%,transparent 35%);z-index:1}.art-note{position:absolute;right:35px;bottom:40px;font-size:11px;letter-spacing:.3em;z-index:2;color:#66594d}.scroll-note{position:absolute;bottom:32px;left:7%;display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:.1em}.scroll-note span{border:1px solid #a3927c;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:20px}.motto{display:flex;justify-content:space-around;align-items:center;gap:24px;background:var(--brand-orange);padding:24px 4%;font-size:12px;letter-spacing:.15em;overflow:hidden;white-space:nowrap;color:#3d2d1b}.motto b{font-size:27px;font-weight:400}.section{padding:105px 7%}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:12%;margin-bottom:50px}.section-heading h2{margin-top:22px}.intro{font-size:16px;max-width:470px;line-height:2}.story-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:8%;align-items:center}.film{position:relative}.film>img{width:100%;height:420px;object-fit:cover;border-radius:3px}.film>p{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;margin-top:16px}.play{position:absolute;left:30px;bottom:65px;display:flex;gap:15px;align-items:center;color:white}.play>span{display:grid;place-items:center;width:60px;height:60px;border:1px solid white;border-radius:50%;background:#3d302533;font-size:28px;backdrop-filter:blur(10px)}.play small{line-height:1.7;font-size:12px;letter-spacing:.1em;text-shadow:0 1px 6px #000}.story-copy h3{font-size:29px;margin:25px 0;letter-spacing:-.04em;line-height:1.4}.story-copy p{font-size:15px;margin-bottom:20px}.mini-orbit{width:55px;height:55px;border:1px solid #d6b384;border-radius:50%;box-shadow:0 0 0 8px #f7ecdd,0 0 0 9px #e9d9c2;display:grid;place-items:center;font-size:30px;color:var(--brand-orange)}.letter{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;background:#ece2d4;align-items:center}.portrait{position:relative;align-self:stretch;min-height:440px;overflow:hidden;background:#ddd0be}.portrait>img{width:100%;height:100%;max-height:560px;object-fit:cover;object-position:top}.portrait>div{position:absolute;inset:auto 0 0;padding:60px 25px 24px;background:linear-gradient(transparent,#2f2a23cc);color:white}.portrait strong{display:block;font-size:19px;font-weight:500}.portrait span{font-size:12px;letter-spacing:.04em}.quote-mark{font-family:var(--serif);font-size:107px;color:#bd8e58;height:85px;display:block;margin-top:10px;line-height:1.3}blockquote{margin:0 0 25px;font-family:var(--serif);font-size:calc(clamp(29px,3vw,46px) + 2px);line-height:1.25;letter-spacing:-.02em}.letter-copy>p:not(.eyebrow){font-size:15px;margin-bottom:24px}.years{display:flex;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin;gap:0;margin-bottom:40px}.years button{background:none;min-width:100px;flex:1;text-align:left;padding:16px 8px;border-bottom:2px solid transparent;white-space:nowrap}.years button strong{font-weight:400;font-size:26px;display:block}.years button small{font-size:11px;color:var(--muted)}.years button[aria-selected=true]{border-color:var(--brand-orange);color:var(--brand-orange)}.milestone{display:grid;grid-template-columns:1fr 1fr;min-height:330px;gap:6%}.year-art{position:relative;background:var(--cream);overflow:hidden;padding:50px 35px;display:flex;flex-direction:column;justify-content:center}.year-art>span{font-size:102px;font-weight:300;line-height:1.2;letter-spacing:-.06em;z-index:1}.year-art small{font-size:10px;letter-spacing:.16em;z-index:1}.year-orbit{position:absolute;right:-70px;top:-90px;width:330px;height:330px;border:1px solid #e5b678;border-radius:50%;box-shadow:0 0 0 25px #f2d9ba,0 0 0 26px #e8bd89,0 0 0 65px #f1ddc3,0 0 0 66px #e0c8a7;display:grid;place-items:center;color:var(--brand-orange);font-size:122px}.milestone-copy{padding:20px 0;display:flex;flex-direction:column}.milestone-copy h3{font-size:32px;line-height:1.3;margin:18px 0}.milestone-copy>p:not(.eyebrow){font-size:15px;max-width:450px}.milestone-bottom{margin-top:auto;padding-top:25px;display:flex;align-items:center;justify-content:space-between}.milestone-bottom>span{font-size:13px;color:var(--muted);letter-spacing:.2em}.circle-button{width:44px;height:44px;border:1px solid #b9a58d;border-radius:50%;background:none;display:inline-grid;place-items:center;font-size:22px;transition:background .2s}.circle-button:hover{background:#edd9bc}.moments{background:#f1e8dc}.photo-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}.photo{position:relative;padding:0;overflow:hidden;text-align:left;background:#e4d5c0;min-width:0}.photo>img{width:100%;height:380px;object-fit:cover;transition:transform .6s}.photo:hover img{transform:scale(1.045)}.photo:after{content:'';position:absolute;inset:20% 0 0;background:linear-gradient(transparent,#29251fd9)}.photo>span{position:absolute;bottom:27px;left:25px;color:white;z-index:1}.photo small{display:block;font-size:10px;letter-spacing:.16em;margin-bottom:12px}.photo strong{font-size:24px;line-height:1.35;font-weight:400;letter-spacing:-.03em}.photo>b{position:absolute;right:20px;top:20px;border:1px solid white;color:white;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:21px;font-weight:400;z-index:1}.caption{font-size:12px;margin-top:20px;line-height:1.8}.caption a{text-decoration:underline;text-underline-offset:3px}.people-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.people-number{position:relative;overflow:hidden;border-right:1px solid var(--line);min-height:400px}.people-number>span{font-family:var(--serif);font-size:252px;font-weight:400;line-height:1;color:var(--brand-orange);letter-spacing:-.08em}.people-number p{font-size:12px;letter-spacing:.18em;color:#84725d;position:relative;z-index:1;margin-top:20px}.orbit-small{position:absolute;right:30px;bottom:55px;width:130px;height:130px;border:1px solid #d9b88d;box-shadow:0 0 0 20px var(--paper),0 0 0 21px #e5d5be,0 0 0 40px var(--paper),0 0 0 41px #eee2d1;border-radius:50%;display:grid;place-items:center;font-size:67px;color:var(--orange)}.people-list article{border-bottom:1px solid var(--line);display:flex;gap:24px;align-items:center;padding:19px 0}.people-list article>span{color:#aa967d;font-size:12px}.people-list h3{font-size:20px;letter-spacing:-.02em;line-height:1.5}.people-list small{font-size:12px;display:block;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:4px}.people-list b{margin-left:auto;color:#9a6c33;font-size:12px;font-weight:400;white-space:nowrap}.wishes{position:relative;overflow:hidden;text-align:center;background:var(--brand-orange);color:#392b1d}.wishes:before,.wishes:after{content:'';width:620px;height:620px;border-radius:50%;border:1px solid #ffd28b66;position:absolute;right:-450px;top:-160px;box-shadow:0 0 0 30px #0000,0 0 0 31px #ffd28b55,0 0 0 70px #0000,0 0 0 71px #ffd28b33;pointer-events:none}.wishes:after{right:auto;left:-460px;top:90px}.wishes>.eyebrow{justify-content:center;color:#4d351f}.wishes h2{margin:25px auto;font-size:calc(clamp(44px,5vw,75px) + 2px);position:relative}.wishes h2 em{color:#fff4de}.wishes>p:not(.eyebrow){color:#513c23;font-size:15px}.wishes .light{background:var(--paper);margin-top:30px}.wishes .light:hover{background:white}.wishes>.demo-note{font-size:12px!important;margin-top:20px}.wish-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1000px;margin:auto}.wish-wall:not(:empty){margin-top:45px}.wish-card{background:#fff7e8;text-align:left;padding:24px;border-radius:3px;overflow-wrap:anywhere}.wish-card p{color:var(--ink);font-size:15px}.wish-card strong{display:block;margin-top:20px;font-weight:500}.wish-card small{font-size:11px;color:var(--muted)}footer{padding:50px 7% 25px}.footer-top{display:flex;align-items:center;gap:60px;padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-top p{font-size:14px}.footer-top>.circle-button{margin-left:auto}.footer-details{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;padding:30px 0;font-size:12px}.footer-details strong,.footer-details a{font-weight:400;color:var(--ink)}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);letter-spacing:.05em}dialog{background:var(--paper);color:var(--ink);border:0;border-radius:4px;max-height:88svh;width:min(780px,calc(100% - 30px));padding:55px;box-shadow:0 20px 90px #0004;overscroll-behavior:contain}dialog::backdrop{background:#28221ab3;backdrop-filter:blur(6px)}dialog h2{font-size:38px;line-height:1.25;margin:18px 0}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;right:14px;top:10px;background:none;width:44px;height:44px;font-size:32px;font-weight:300}.letter-by{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:25px}.letter-body p{font-size:15px;color:#655b4e;margin:20px 0}.form-note{font-size:13px;margin-bottom:24px}form{display:flex;flex-direction:column}label{font-size:14px;margin:15px 0 6px}input,select,textarea{border:1px solid #d5c7b2;background:#fffdf9;color:var(--ink);padding:12px;border-radius:3px;width:100%;font-size:15px}textarea{resize:vertical}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.form-bottom>span{font-size:12px;color:var(--muted)}#form-error{font-size:14px;color:#a43d00;margin-top:10px}#photo-dialog{padding:15px;width:min(900px,calc(100% - 30px))}#photo-dialog img{max-height:70svh;margin:auto;object-fit:contain}#photo-dialog .dialog-close{background:white;border-radius:50%;z-index:2;right:22px;top:22px}#photo-dialog p{padding:15px;font-size:15px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);background:#3d3a35;color:white;padding:14px 24px;border-radius:3px;z-index:100;opacity:0;transition:.3s;pointer-events:none;font-size:14px;max-width:90%;width:max-content}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.section,footer{padding-left:max(7%,calc((100vw - 1440px)/2));padding-right:max(7%,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){nav{gap:17px;font-size:12px}header{gap:16px;padding-inline:4%}.brand img{width:160px}header .button{margin-left:0}.hero-copy{padding-left:6%}.hero-actions{gap:18px}.hero-actions .button{gap:15px}.hero{min-height:680px}.hero-art{width:62%}.section{padding:80px 6%}.photo>img{height:330px}.photo strong{font-size:21px}.years button{min-width:94px}.people-number>span{font-size:212px}}
@media(max-width:800px){header{height:75px;padding-inline:5%;gap:15px}header>.brand{margin-right:auto}header .brand img{width:150px}header .button{font-size:12px;padding:10px 14px;gap:12px;min-height:40px}.menu{display:block}nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);padding:15px 6% 25px;border-bottom:1px solid var(--line);font-size:16px}nav.open{display:flex;flex-direction:column;gap:0}nav a{padding:14px 0}.hero{min-height:750px;height:auto;align-items:start}.hero-copy{padding:50px 6% 265px;width:100%}.hero .eyebrow{font-size:11px}h1{font-size:78px}.dates{font-size:12px;margin:16px 0 25px}.hero-art{width:70%;height:70%;top:auto;bottom:-50px;right:-40px;opacity:.8;mask-image:linear-gradient(transparent,#000 30%)}.hero-art:before{background:linear-gradient(90deg,#f7e6d2,transparent 70%)}.hero-art img{object-fit:cover;object-position:50% 60%}.hero-intro{max-width:65%;margin-top:23px}.hero-actions{flex-wrap:wrap;gap:12px}.hero-actions .button{font-size:14px}.hero-actions .text-button{font-size:13px}.scroll-note{left:6%;bottom:25px}.art-note{display:none}.motto{justify-content:start;padding:20px 6%;font-size:10px;gap:22px}.motto b{font-size:22px}.section{padding:65px 6%}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:32px}.section-heading h2{margin-top:16px}.intro{font-size:15px;max-width:100%}.story-grid{grid-template-columns:1fr;gap:35px}.film>img{height:330px}.story-copy h3{font-size:29px;margin:20px 0}.mini-orbit{margin:10px}.story-copy p{max-width:540px}.letter{grid-template-columns:1fr;gap:32px}.portrait{min-height:0;max-width:450px;width:100%;margin:auto}.portrait>img{height:400px;object-fit:cover}.letter-copy .quote-mark{height:65px;font-size:92px}.letter-copy blockquote{font-size:38px}.milestone{grid-template-columns:1fr;gap:20px}.year-art{min-height:240px}.milestone-copy{min-height:265px}.year-art>span{font-size:92px}.photo-grid{grid-template-columns:1fr 1fr;gap:14px}.photo.large{grid-column:1/-1}.photo.large>img{height:360px}.photo>img{height:290px}.photo>span{left:18px;bottom:20px}.photo strong{font-size:22px}.photo small{font-size:9px}.people-layout{grid-template-columns:1fr;gap:25px}.people-number{min-height:0;height:230px;border-right:0;border-bottom:1px solid var(--line);display:flex;gap:30px;align-items:center}.people-number>span{font-size:212px}.people-number p{font-size:11px}.orbit-small{right:12px;bottom:10px;width:75px;height:75px;font-size:47px;z-index:-1}.people-list article{padding:20px 0}.wishes h2{font-size:52px}.wish-wall{grid-template-columns:1fr}.footer-top{gap:25px}.footer-top p{font-size:12px}.footer-details{grid-template-columns:1fr 1fr;gap:25px}.footer-bottom{flex-wrap:wrap;gap:10px}dialog{padding:45px 25px 25px}dialog h2{font-size:32px}.form-bottom .button{font-size:12px;gap:12px;padding:14px}.wishes>p:not(.eyebrow){font-size:14px}}
@media(max-width:420px){h1{font-size:68px}.hero-copy{padding-bottom:235px}.hero{min-height:720px}.hero-intro{font-size:14px;max-width:85%}.hero-actions{gap:12px}.hero-actions .text-button{padding-block:10px}.hero-art{width:86%;right:-90px;height:65%;bottom:-50px}.section h2{font-size:38px}.letter-copy blockquote{font-size:33px}.photo>img{height:245px}.photo strong{font-size:19px}.photo>b{right:12px;top:12px}.people-number>span{font-size:177px}.people-number{height:200px;gap:20px}.people-list h3{font-size:18px}.footer-top{flex-wrap:wrap}.footer-top p{order:3;width:100%}.footer-top>.circle-button{margin-left:auto}.footer-details{grid-template-columns:1fr}.wishes h2{font-size:44px}.hero-actions .button{padding:15px 18px}.button{gap:20px}}
@media(max-width:800px){header>.button{white-space:nowrap;flex-shrink:0}.menu{flex-shrink:0}.hero-art{pointer-events:none}.hero-copy{pointer-events:none}.hero-copy a,.hero-copy button{pointer-events:auto}.motto{flex-wrap:wrap;justify-content:center;white-space:normal;gap:8px 14px}.motto b{font-size:16px}}
@media(max-width:420px){header{gap:8px}header .brand img{width:115px}header>.button{padding:10px 12px;font-size:11px;gap:10px}.menu{width:30px;padding:3px}h1{font-size:calc(clamp(54px,16vw,66px) + 2px)}.hero-art{width:100%;right:-70px}.hero-copy{padding-bottom:270px}}
@media(max-width:350px){header{gap:6px}header .brand img{width:100px}header>.button{padding:10px;font-size:11px;gap:7px}header>.button span{font-size:20px}.menu{width:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
