:root{color:#39332f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#faf8f0;font-family:Trebuchet MS,Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.7}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-offset:6px;outline:3px solid #76539e}button{border:0}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08}html{scroll-behavior:smooth;scroll-padding-top:35px}::selection{background:#d9cbed}button:disabled{cursor:default}button,a{touch-action:manipulation}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}:root{--paper:#faf8f0;--ink:#39332f;--purple:#bca5da;--muted:#736b65;--line:#ded9cd;--serif:Georgia, "Times New Roman", serif}body{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%237d7259' opacity='.035' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.section-wrap{max-width:1160px;margin:auto;padding-left:48px;padding-right:48px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1320px;margin:auto;padding:23px 48px;display:flex}.wordmark{font-family:var(--serif);letter-spacing:-.8px;align-items:center;gap:8px;font-size:22px;font-weight:700;display:flex}.wordmark svg{width:39px;height:39px}.wordmark-dot{color:#9373b5;margin-left:5px;font-size:22px}nav{align-items:center;gap:32px;font-size:12px;display:flex}nav a:hover{color:#775794}.nav-letter{border:1px solid #aaa090;border-radius:6px;padding:8px 16px}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:65px;min-height:690px;padding-top:62px;padding-bottom:72px;display:grid}.eyebrow{letter-spacing:2.1px;font-size:10px;font-weight:700;display:block}.tiny-star{color:#9475b7;vertical-align:middle;margin-right:6px;font-size:21px}h1{font-family:var(--serif);letter-spacing:-5px;margin:23px 0 30px;font-size:clamp(74px,7.4vw,106px);font-weight:400;line-height:.99}.name{color:#9273b4;font-style:italic;display:inline-block;position:relative}.name svg{fill:none;stroke:#b69bcf;stroke-width:3px;stroke-linecap:round;width:100%;height:19px;position:absolute;bottom:-16px;left:0}.name-spark{color:#39332f;font-size:46px;position:absolute;top:7px;right:-67px}.period{color:#9273b4}.hero-copy>p{color:var(--muted);margin-bottom:27px;font-size:15px}.button{border-radius:5px;align-items:center;gap:30px;padding:13px 21px;font-size:13px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.primary{background:var(--ink);color:#fffdf5;box-shadow:3px 4px #d2c4df}.button span{font-size:20px;font-weight:400}.handwritten{color:#77678a;font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:17px;font-style:italic}.hero-note{margin:15px 0 0 28px;font-size:14px;display:block;transform:rotate(-4deg)}.hero-collage{padding:40px 12px 30px;position:relative}.photo{background:#fffdf8;border:1px solid #eee9de;width:100%;padding:12px 12px 0;transition:transform .25s,box-shadow .25s;display:block;position:relative;box-shadow:0 5px 16px #493c2420}.photo:hover{transform:rotate(0)translateY(-4px);box-shadow:0 9px 23px #493c2430}.photo-image{display:block;position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo-caption{justify-content:space-between;align-items:center;gap:8px;min-height:54px;padding:12px 4px;font-family:Segoe Print,Comic Sans MS,cursive;font-size:15px;font-style:italic;display:flex}.photo-caption>span{color:#8a8076;font-family:Arial;font-style:normal}.hero-photo{max-width:360px;margin:auto;padding:14px 14px 0;transform:rotate(6deg)}.hero-photo .photo-image{aspect-ratio:.91}.hero-photo:before,.school-frame .photo:before,.group-photo:before{content:"";z-index:1;clip-path:polygon(2% 0,100% 4%,96% 100%,0 92%);background:#d4c0e3c9;width:115px;height:30px;position:absolute;top:-12px;left:35%;transform:rotate(-7deg)}.top-note{font-size:17px;position:absolute;top:-4px;left:14px;transform:rotate(-8deg)}.bottom-note{text-align:right;margin-top:34px;font-size:13px;display:block;transform:rotate(-4deg)}.birthday-stamp{letter-spacing:1px;background:#e6edcc;border:1px dashed #6d7650;border-radius:50%;outline:5px solid #e6edcc;flex-direction:column;justify-content:center;align-items:center;width:111px;height:111px;font-size:9px;line-height:1.4;display:flex;position:absolute;top:3px;right:-13px;transform:rotate(14deg)}.birthday-stamp strong{font-family:var(--serif);letter-spacing:0;font-size:15px;font-style:italic}.cow-sticker{filter:drop-shadow(0 3px #fffdf5);width:137px;position:absolute;bottom:18px;left:-39px;transform:rotate(-12deg)}.cow-sticker svg{width:100%}.cow-sticker span{text-align:center;background:#f1d885;border-radius:4px;margin-top:-16px;padding:2px 3px;font-size:12px;font-weight:700;display:block;position:relative}.doodle-star{color:#b6a1cc;font-size:65px;position:absolute;top:15px;left:-47px}.ticker{letter-spacing:2px;white-space:nowrap;background:#e3d8ef;border-top:1px solid #ccbddc;border-bottom:1px solid #ccbddc;justify-content:center;align-items:center;gap:37px;padding:15px 30px;font-size:10px;font-weight:700;display:flex;overflow:hidden}.ticker i{font-size:24px;font-style:normal;line-height:1}.chapter{padding-top:94px;padding-bottom:94px}.section-heading h2,h2{font-family:var(--serif);letter-spacing:-2px;margin:17px 0 20px;font-size:54px;font-weight:400;line-height:1.08}h2 em{color:#9273b4;font-weight:400}.section-heading>p{color:var(--muted)}.section-heading h2>span{color:#ad95c4;font-size:66px}.van-layout{grid-template-columns:1fr 1fr;align-items:center;gap:65px;margin-top:35px;display:grid}.van-side>.handwritten{text-align:center;margin:37px 0 20px;font-size:14px;display:block}.van{border:3px solid var(--ink);background:#eec76c;border-radius:18px 42px 12px 12px;max-width:345px;height:157px;margin:20px auto 0;position:relative;transform:rotate(-3deg);box-shadow:inset 0 -15px #deb452}.van-label{text-align:center;letter-spacing:1px;padding:8px 0;font-size:10px;font-weight:700}.van-windows{gap:8px;padding:0 12px;display:flex}.van-windows span{border:2px solid var(--ink);color:#867092;background:#eaf0e9;border-radius:7px;flex:1;place-items:center;height:60px;font-size:27px;display:grid}.van-windows span:last-child{background:#c9dcda;border-radius:5px 22px 5px 5px}.van-line{background:var(--ink);height:5px;margin:13px 7px 0}.wheel{background:#bbb4a8;border:10px solid #39332f;border-radius:50%;width:43px;height:43px;position:absolute;bottom:-22px}.wheel.left{left:41px}.wheel.right{right:40px}.van-light{border:2px solid var(--ink);background:#f8f4da;width:13px;height:11px;position:absolute;bottom:18px;right:-3px}.memory-tabs{justify-content:center;gap:8px;display:flex}.memory-tabs button{border:1px solid var(--line);background:0 0;border-radius:8px;flex:1;padding:12px 7px;font-size:10px;line-height:1.5}.memory-tabs button>span{margin-bottom:6px;font-size:21px;display:block}.memory-tabs button[aria-selected=true]{background:#e9dff1;border-color:#bca5d3}.memory-card{background:#f3ebdc;border:1px solid #e6daca;min-height:330px;padding:35px;position:relative;transform:rotate(1deg);box-shadow:5px 5px #efe9dc}.memory-number{font:italic 51px var(--serif);color:#b0a38b;opacity:.5;position:absolute;top:10px;right:22px}.memory-card .eyebrow{max-width:85%;font-size:8px}.memory-card h3{font:normal 30px var(--serif);margin:22px 0 18px}.memory-card p{color:#655e54;font-size:14px}.memory-card .handwritten{color:#8b719f;margin-top:20px;font-size:16px}.memory-card blockquote{font-size:16px}.card-dots{gap:6px;margin-top:22px;display:flex}.card-dots span{background:#d8cdbc;border-radius:50%;width:5px;height:5px}.card-dots span.active{background:#9172ac}.royal-section{background:#eee8f2;border-block:1px solid #e1d7e7;padding:75px 0}.royal-layout{grid-template-columns:1fr 1fr;align-items:center;gap:65px;display:grid}.school-frame .photo{transform:rotate(-4deg)}.school-image{aspect-ratio:16/9}.school-image img{object-fit:contain;width:56.25%;max-width:none;height:177.778%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.school-frame>.handwritten{text-align:center;margin-top:26px;font-size:14px;display:block;transform:rotate(-4deg)}.royal-copy h2{font-size:43px}.royal-copy>p{color:#6e6272;font-size:14px}blockquote{font-family:var(--serif);border-left:2px solid #b097c7;margin:22px 0;padding-left:18px;font-size:24px;font-style:italic;line-height:1.4}.update{letter-spacing:1px;border-bottom:1px solid #bba8ca;padding-bottom:7px;font-size:8px;font-weight:700}.nicknames{flex-wrap:wrap;gap:8px;margin:28px 0 9px;display:flex}.nicknames span{background:#fffaf3;border:1px solid #cfc1d8;border-radius:4px;padding:5px 10px;font-size:11px;transform:rotate(-3deg)}.nicknames span:nth-child(2){background:#f3ddab;transform:rotate(3deg)}.nicknames span:nth-child(3){background:#dee4c9}.royal-copy .small-copy{font-size:11px}.centered{text-align:center}.then-now{text-align:center;max-width:720px;margin:32px auto 70px}.year-switch{background:#f0eaf5;border:1px solid #d8cce2;border-radius:50px;gap:4px;margin:0 0 28px;padding:4px;display:inline-flex}.year-switch button{background:0 0;border-radius:30px;padding:8px 24px;font-size:12px}.year-switch button[aria-pressed=true]{color:#fffaf0;background:#39332f}.group-photo{transform:rotate(-1deg)}.group-photo .photo-image{aspect-ratio:4/3}.group-photo img{object-fit:contain;background:#efe9df}.then-now>.handwritten{margin-top:23px;font-size:15px;display:block}.photo-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.photo-grid .photo-image{aspect-ratio:4/5}.photo-grid .photo-caption{font-size:12px}.tilt-left{transform:rotate(-3deg)}.tilt-right{transform:rotate(3deg)}.photo-grid>div>p{color:var(--muted);margin:24px 7px 0;font-size:12px;line-height:1.8}.grown-up{background:#e7ebdc;border-block:1px solid #d8decc;padding:70px 0}.grown-up h2 em{color:#748463}.life-stops{grid-template-columns:repeat(3,1fr);gap:35px;margin:40px 0 32px;display:grid}.life-stops>div{border-top:1px solid #abb99b;padding-top:18px}.life-stops span{letter-spacing:1.5px;font-size:9px;font-weight:700}.life-stops h3{font-family:var(--serif);margin:18px 0 15px;font-size:28px;font-weight:400}.life-stops p{color:#626957;max-width:260px;font-size:13px}.marriage-note{border-top:1px dashed #b3bda8;align-items:center;gap:15px;padding-top:20px;font-size:13px;display:flex}.marriage-note>span{color:#7f9169;font-size:29px}.mobile-break{display:none}.letter-section{grid-template-columns:.85fr 1fr;align-items:start;gap:95px;padding-top:110px;padding-bottom:110px;display:grid}.letter-photo{margin-top:35px}.letter-photo .photo-image{aspect-ratio:3/4}.letter-photo>.handwritten{text-align:center;margin-top:28px;font-size:15px;display:block;transform:rotate(-3deg)}.letter-copy>p{color:var(--muted);font-size:14px}.letter-button{background:#e5d8ef;border:1px solid #c9b5da;margin-top:24px}.letter{border:1px solid var(--line);background:#fffdf7;margin-top:25px;padding:28px;box-shadow:3px 4px #e9e0ef}.letter p{margin:16px 0;font-size:14px;line-height:1.9}.letter>.handwritten{font-size:18px}.cake-section{text-align:center;background:#eee5f3;border-top:1px solid #dfd0e7;padding:64px 24px 36px;position:relative}.cake-section h2{font-size:48px}.cake-section>p{color:#76647e;min-height:24px;font-size:13px}.cake{width:250px;margin:34px auto 23px;padding-top:67px;position:relative}.candles{z-index:3;justify-content:space-between;display:flex;position:absolute;top:0;left:56px;right:56px}.candle{background:0 0;flex-direction:column;justify-content:flex-end;align-items:center;width:36px;height:76px;padding:0;display:flex;position:relative}.candle-stick{background:repeating-linear-gradient(135deg,#9e85c3 0 7px,#e4d7f0 7px 12px);border-radius:3px;width:12px;height:43px}.wick{background:#39332f;width:2px;height:5px}.flame{visibility:hidden;background:#efb24e;border-radius:70% 30% 65% 35%;width:14px;height:23px;margin-bottom:3px;transform:rotate(-15deg);box-shadow:0 0 16px #e9bd5599}.lit .flame{visibility:visible;animation:1s ease-in-out infinite alternate flicker}.cake-top{z-index:2;background:#fff8ef;border:2px solid #deabb3;border-radius:50%;height:35px;position:absolute;top:64px;left:5px;right:5px}.cake-body{color:#764353;z-index:1;background:repeating-linear-gradient(90deg,#efbcc4 0 20px,#eab2bd 20px 22px);border:2px solid #ce9baa;border-radius:0 0 45% 45%/0 0 20% 20%;flex-direction:column;justify-content:center;align-items:center;height:119px;margin:11px 5px 0;padding-top:12px;display:flex;position:relative}.cake-body span{font:italic 18px var(--serif)}.cake-body strong{font:italic 30px var(--serif);margin-top:4px}.cake-plate{background:#d5c3e2;border:2px solid #baa4cc;border-radius:50%;height:36px;position:absolute;bottom:-9px;left:-17px;right:-17px}.text-button{background:0 0;margin:0 auto 20px;font-size:12px;text-decoration:underline}.cow-button{background:#faf8f0;border:1px dashed #b5a3bd;border-radius:8px;align-items:center;gap:7px;margin:27px auto 0;padding:8px 18px;display:flex;transform:rotate(-3deg)}.cow-button>svg{width:47px;height:47px}.cow-button>span{text-align:left;font-size:12px;font-weight:700}.cow-button small{font-size:9px;font-weight:400;display:block}.cow-button:hover{transform:rotate(3deg)}footer{color:var(--muted);justify-content:space-between;align-items:center;gap:24px;padding:28px 48px;font-size:10px;display:flex}footer .wordmark{color:var(--ink);font-size:18px}.skip-link{z-index:20;background:#fff;padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.confetti{pointer-events:none;z-index:30;position:fixed;inset:0;overflow:hidden}.confetti>span{left:var(--x);background:var(--color);width:9px;height:17px;animation:fall 3.2s var(--delay) ease-in forwards;position:absolute;top:-50px}.confetti>span.cow-confetti{background:0 0;width:auto;height:auto;font-size:33px}.lightbox{background:#faf8f0;border:0;border-radius:7px;max-width:min(92vw,1000px);max-height:92dvh;padding:35px 20px 15px;box-shadow:0 15px 80px #0004}.lightbox::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#242029dc}.lightbox-image img{object-fit:contain;max-height:74dvh;margin:auto}.lightbox p{text-align:center;font-family:var(--serif);padding-top:12px;font-size:16px;font-style:italic}.close-dialog{z-index:2;background:0 0;width:36px;height:33px;font-size:20px;position:absolute;top:2px;right:6px}.lightbox-school{width:min(85vw,900px);position:relative}@keyframes fall{to{transform:translateY(110vh) rotate(var(--spin))}}@keyframes flicker{to{transform:rotate(10deg)scale(.9)}}@media (width>=1400px){.hero{min-height:750px}.hero-collage{padding-top:50px}.hero-photo{max-width:390px}}@media (width<=900px){.section-wrap{padding-left:30px;padding-right:30px}.topbar{padding:20px 30px}nav{gap:20px}.hero{gap:30px;min-height:620px}.hero .eyebrow{letter-spacing:1.2px;font-size:8px}h1{font-size:85px}.hero-collage{padding-left:15px;padding-right:8px}.birthday-stamp{width:88px;height:88px;right:0}.birthday-stamp strong{font-size:12px}.cow-sticker{width:108px;left:-18px}.top-note{font-size:13px;left:0}.bottom-note{font-size:11px}.ticker{letter-spacing:1px;gap:24px;font-size:8px}.van-layout,.royal-layout{gap:30px}.royal-copy h2{font-size:36px}.memory-card{padding:26px}.photo-grid{gap:18px}.photo-grid .photo-caption{font-size:11px}.letter-section{gap:45px}footer{padding:25px 30px}.section-heading h2,h2{font-size:47px}}@media (width<=620px){.section-wrap{padding-left:24px;padding-right:24px}.topbar{padding:16px 20px}.wordmark{font-size:20px}.wordmark svg{width:31px;height:31px}.wordmark-dot,nav>a:not(.nav-letter){display:none}.nav-letter{padding:7px 10px;font-size:10px}.hero{grid-template-columns:1fr;gap:40px;padding-top:40px;padding-bottom:40px}.hero-copy{position:relative}.hero .eyebrow{font-size:8px}h1{letter-spacing:-4px;margin-top:23px;font-size:83px}.hero-copy>p{font-size:14px}.hero-note{font-size:12px}.hero-collage{width:100%;max-width:360px;margin:0 auto;padding:28px 24px}.hero-photo{max-width:290px}.hero-photo .photo-image{aspect-ratio:1}.top-note{font-size:14px;left:20px}.birthday-stamp{top:0;right:6px}.cow-sticker{width:112px;bottom:32px;left:-5px}.bottom-note{margin-top:30px;font-size:11px}.doodle-star{font-size:46px;top:29px;left:-3px}.ticker{justify-content:flex-start;gap:20px;padding:11px 20px}.ticker span{font-size:8px}.ticker i{font-size:21px}.chapter{padding-top:58px;padding-bottom:58px}.section-heading h2,h2{letter-spacing:-1.5px;font-size:42px}.section-heading>p{font-size:13px}.eyebrow{letter-spacing:1.6px;font-size:8px}.van-layout{grid-template-columns:1fr;gap:28px;margin-top:20px}.van{max-width:290px;height:146px}.van-label{font-size:8px}.van-windows span{height:54px}.van-side>.handwritten{margin-top:32px}.memory-tabs button{padding:10px 5px;font-size:10px}.memory-card{min-height:315px;padding:29px;transform:rotate(.5deg)}.memory-card h3{font-size:29px}.memory-card .eyebrow{font-size:7px}.royal-section{padding:50px 0}.royal-layout{flex-direction:column-reverse;gap:42px;display:flex}.royal-copy h2{font-size:38px}.royal-copy>p{font-size:13px}.school-frame{width:100%;padding:0 6px}.school-frame>.handwritten{font-size:12px}.photo-caption{font-size:13px}.centered h2{font-size:42px}.then-now{margin-bottom:50px}.year-switch button{padding:7px 21px}.group-photo{padding:8px 8px 0}.group-photo .photo-caption{font-size:11px}.then-now>.handwritten{font-size:12px}.photo-grid{grid-template-columns:1fr;gap:34px;max-width:330px;margin:auto}.photo-grid .photo-image{aspect-ratio:1}.photo-grid .photo-caption{font-size:13px}.photo-grid>div>p{margin-top:18px;font-size:12px}.grown-up{padding:48px 0}.life-stops{grid-template-columns:1fr;gap:25px;margin-top:28px}.life-stops>div{grid-template-columns:1fr 1fr;gap:8px 18px;display:grid}.life-stops span{grid-column:1/-1}.life-stops h3{margin:8px 0;font-size:25px}.life-stops p{margin-top:9px;font-size:12px}.marriage-note{font-size:11px;line-height:1.8;display:block}.marriage-note>span{margin-right:9px}.mobile-break{display:block}.letter-section{grid-template-columns:1fr;gap:40px}.letter-photo{margin:0 20px}.letter-photo .photo-image{aspect-ratio:1}.letter-photo>.handwritten{font-size:13px}.letter-copy h2{font-size:47px}.letter{padding:22px}.cake-section{padding:48px 20px 30px}.cake-section h2{font-size:37px}.cake-section>p{max-width:300px;margin:auto;font-size:12px}.cake{margin-top:26px;margin-bottom:12px;transform:scale(.9)}footer{text-align:center;flex-direction:column;gap:10px;padding:25px 20px}footer .wordmark{font-size:18px}.lightbox{padding-inline:10px}.lightbox p{font-size:13px}}
