@charset "UTF-8";
.squirrel-stage{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;animation:scene-breath 19s ease-in-out infinite alternate;transform-origin:70% 60%}
.squirrel-actor{position:absolute;left:0;top:0;opacity:0;will-change:transform;filter:drop-shadow(0 3px 2px #28201926)}
.squirrel-hop{position:absolute;inset:0;background:url('assets/sincap-ziplama.webp') 0 0/200% 200% no-repeat;transform:scaleX(-1)}
.squirrel-sitting{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform-origin:50% 84%}
.squirrel-actor.arrived .squirrel-hop{opacity:0}
.squirrel-actor.arrived .squirrel-sitting{opacity:1;animation:squirrel-breath 3.1s ease-in-out infinite}
.squirrel-shadow{position:absolute;left:0;top:0;border-radius:50%;background:#24160c;filter:blur(4px);opacity:0;will-change:transform}
.motion-off .squirrel-stage{animation:none;transform:none}.motion-off .squirrel-sitting{animation:none!important}
html:not(.js) .squirrel-stage{display:none}
@keyframes squirrel-breath{0%,100%{transform:scale(1,1)}50%{transform:scale(1.012,1.018) rotate(-.5deg)}}
@media(max-width:540px){.squirrel-stage{animation-duration:20s}}
@media(prefers-reduced-motion:reduce){.squirrel-stage,.squirrel-sitting{animation:none!important}}
:root{color-scheme:light;--paper:#fbefdf;--paper-light:#fff8ec;--wine:#62393e;--rose:#d47482;--rose-light:#f1b3b7;--text:#694f49;--muted:#866c60;--night:#2c302b;--line:#dbb4a5;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.7;color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--rose);outline-offset:5px}button{border:0}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(36px,4.4vw,62px);letter-spacing:-.05em;line-height:1.15;color:var(--wine)}h2 em{color:#c46c7a;font-weight:400}.wrap{width:min(1240px,88%);margin-inline:auto}[hidden]{display:none!important}::selection{background:#e9afb2;color:#552d35}.skip-link{position:fixed;top:-100px;left:18px;background:#fff6e8;padding:12px 24px;z-index:100}.skip-link:focus{top:15px}.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--rose);transform-origin:left;transform:scaleX(0);z-index:70}.site-header{position:absolute;top:0;left:0;width:100%;z-index:10;padding:27px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#ffefe0;background:linear-gradient(180deg,#211c19b8,transparent)}.brand{display:inline-flex;align-items:center;gap:10px;line-height:1;font-family:var(--serif);font-size:29px;letter-spacing:-1px;white-space:nowrap}.brand-symbol{color:#efc5b4;font-size:42px;line-height:.8;font-weight:400}.brand small{display:block;font-size:11px;font-style:italic;letter-spacing:.02em;margin-top:7px;color:#dcbfac}.desktop-nav{display:flex;gap:29px;align-items:center}.desktop-nav a{font-size:13px;position:relative}.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:#ecc1b2;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-buttons{display:flex;gap:8px}.motion-button,.menu-button{width:40px;height:40px;border-radius:50%;border:1px solid #f1d5bb99;background:#47332a40;color:#fff6e9;display:grid;place-items:center;backdrop-filter:blur(8px)}.play-symbol{display:none}.motion-off .play-symbol{display:block}.motion-off .pause-symbol{display:none}.menu-button{display:none}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:740px;height:90svh;max-height:980px;background:#3a352c;color:#fff3e3}.hero-drift{position:absolute;inset:-5%;z-index:-5;transform:translate3d(var(--pointer-x,0px),var(--scroll-y,0px),0);will-change:transform}.hero-image{height:100%;object-fit:cover;object-position:65% 50%;animation:scene-breath 19s ease-in-out infinite alternate;transform-origin:70% 60%}.hero-shade{position:absolute;inset:0;z-index:-4;background:linear-gradient(90deg,#211c17b8 0%,#2a241c75 37%,#25181000 73%),linear-gradient(0deg,#2c2929b5 0%,transparent 32%,#151a191c 100%)}.sun-halo{position:absolute;z-index:-3;inset:10% 3% 8% 47%;background:radial-gradient(ellipse at 50% 40%,#ffdc9c36,transparent 60%);animation:halo 5s ease-in-out infinite alternate;pointer-events:none}.haze{position:absolute;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at center,#ecd9cc26 0%,transparent 65%);filter:blur(20px);width:90%;height:29%;bottom:18%;left:-25%;animation:mist 24s ease-in-out infinite alternate}.haze-two{bottom:38%;left:48%;opacity:.5;animation-delay:-9s;animation-duration:30s}.hero-copy{padding-top:clamp(165px,20vh,226px);position:relative}.eyebrow{font-size:10px;letter-spacing:.2em;line-height:1.6;color:#b06968;font-weight:500;display:flex;gap:12px;align-items:center}.eyebrow>span{width:27px;height:1px;background:currentColor}.eyebrow.light{color:#dfbaa6}.hero-eyebrow{color:#e9c6ad;animation:hero-appear 1s .1s both}h1{font-size:clamp(60px,6.1vw,94px);line-height:1.06;letter-spacing:-.055em;margin:23px 0 20px;max-width:610px;animation:hero-appear 1.2s .25s both}h1 em{color:#e9afa6;font-weight:400}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.85;color:#f1dac6;animation:hero-appear 1s .5s both}.rose-button{display:inline-flex;align-items:center;gap:14px;background:linear-gradient(120deg,#db8a93,#c1667c);color:#fff5e9;border-radius:99px;padding:12px 22px;box-shadow:0 9px 23px #2117123d;margin-top:27px;font-size:14px;transition:transform .3s,box-shadow .3s;animation:hero-appear 1s .7s both}.rose-button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #21171268}.rose-button>span:first-child{font-size:22px;line-height:1;animation:heartbeat 2.8s infinite}.rose-button>span:last-child{font-size:19px;margin-left:5px}.hero-handwriting{position:absolute;right:6%;bottom:111px;font-family:var(--serif);font-size:22px;font-style:italic;line-height:1.5;color:#f1d3b7;transform:rotate(-6deg);text-shadow:0 2px 12px #35271899}.scroll-cue{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);text-align:center;font-size:11px;letter-spacing:.05em;display:grid;color:#f1dac6}.scroll-cue i{font-style:normal;font-size:21px;animation:scroll-nudge 2s infinite}.paper-edge{position:absolute;bottom:-1px;left:-1%;width:102%;height:29px;background:var(--paper);clip-path:polygon(0 47%,3% 29%,7% 45%,11% 22%,16% 45%,20% 29%,25% 42%,29% 20%,33% 41%,38% 30%,43% 53%,48% 32%,51% 50%,55% 27%,60% 44%,64% 22%,70% 44%,76% 20%,80% 42%,84% 29%,89% 53%,94% 21%,97% 45%,100% 27%,100% 100%,0 100%)}.paper-section{position:relative;background-color:var(--paper);background-image:radial-gradient(ellipse at 0% 50%,#ecc8ad47,transparent 55%),radial-gradient(ellipse at 100% 60%,#f3d5b438,transparent 45%)}.letter-section{padding:95px 0 90px}.letter-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(50px,9vw,130px);align-items:center}.letter-intro h2{margin:17px 0 18px;font-size:clamp(49px,5.8vw,80px);position:relative;display:inline-block}.drawn-heart{display:inline-block;color:var(--rose);font-family:var(--serif);font-size:.67em;font-weight:400;margin-left:12px;vertical-align:top;transform:rotate(-10deg);animation:heartbeat 3.5s ease-in-out infinite}.letter-intro>p:last-of-type{max-width:390px;line-height:1.85;font-size:16px}.letter-photo{position:relative;width:82%;margin-top:31px;transform:rotate(-3deg);background:var(--paper-light);padding:9px 9px 16px;box-shadow:0 10px 24px #92604426;animation:photo-float 7s ease-in-out infinite}.letter-photo img{aspect-ratio:1.52;object-fit:cover}.letter-photo figcaption{font:italic 15px var(--serif);padding-top:12px;text-align:center;color:#86635a}.letter-box{text-align:center;min-width:0}.envelope{position:relative;width:100%;aspect-ratio:1.63;background:linear-gradient(140deg,#e4c7a3,#f5dfc0);border:1px solid #cfac8680;box-shadow:0 18px 32px #91604728;transform:rotate(3deg);margin-bottom:28px}.envelope-front{position:absolute;inset:0;z-index:3;clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);background:linear-gradient(100deg,#f4e2c7,#efd5b1)}.envelope-flap{position:absolute;inset:0;z-index:4;clip-path:polygon(0 0,100% 0,50% 58%);background:linear-gradient(180deg,#f7e7cd,#e6c49e);transform-origin:top;transition:transform .65s ease;filter:drop-shadow(0 2px 2px #93643f35)}.wax-seal{position:absolute;z-index:5;left:calc(50% - 28px);top:calc(53% - 24px);width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c6848b,#955461 70%);color:#f4cfbc;box-shadow:inset 0 0 0 5px #6d263325,0 3px 8px #66302555;display:grid;place-items:center;font:31px var(--serif);transition:opacity .3s,scale .3s}.envelope-address{position:absolute;z-index:5;left:0;right:0;bottom:22px;font:italic 21px var(--serif);color:#946a60}.envelope-note{font:italic 19px var(--serif);color:#9a6f67;line-height:1.5;margin-bottom:18px}.letter-toggle{display:inline-flex;gap:25px;align-items:center;padding:9px 4px;background:transparent;border-bottom:1px solid #ba807d;color:#9c515e;font-size:14px}.letter-toggle>span{font-size:20px}.letter-paper{text-align:left;position:relative;margin-top:27px;background:var(--paper-light);padding:31px 36px;border:1px solid #dab797;box-shadow:0 12px 25px #9160471f;animation:unfold .65s ease both}.letter-date{font-size:10px;letter-spacing:.15em;color:#b68875;margin-bottom:18px}.letter-paper h3{font-style:italic;font-size:30px;color:var(--wine);margin-bottom:16px}.letter-paper>p:not(.letter-date){font-size:16px;line-height:1.85;margin-top:16px}.letter-signature{font:italic 23px var(--serif)!important;color:#a45d66;padding-top:8px}.letter-signature strong{font-weight:400;font-size:30px}.letter-box.open .envelope{aspect-ratio:2.9;transition:aspect-ratio .5s}.letter-box.open .envelope-flap{transform:rotateX(180deg);z-index:2}.letter-box.open .wax-seal{opacity:0;scale:.7}.letter-box.open .envelope-address{bottom:12px}.memories-section{position:relative;isolation:isolate;background:#383d30;color:#f8e9d5;padding:94px 0 70px;overflow:hidden}.memories-background{position:absolute;inset:-10%;z-index:-3;background:url('assets/bos-dal.webp') center 55%/cover;filter:blur(6px);opacity:.7;animation:forest-shift 24s linear infinite alternate}.memories-shade{position:absolute;inset:0;z-index:-2;background:#263027b3}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-heading h2{color:#ffefda;margin-top:16px}.section-heading h2 em{color:#e8b0a4}.section-heading>p{font:italic 18px/1.65 var(--serif);color:#e3cbb3;text-align:right}.memory-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:8px 4px 24px}.memory-card{background:var(--paper-light);color:var(--text);padding:8px 8px 17px;border-radius:3px;transform:rotate(var(--card-angle));box-shadow:0 14px 24px #0d180b5c;min-width:0}.memory-card:nth-child(even){margin-top:20px}.memory-card.is-visible{animation:photo-float 6s var(--float-delay) ease-in-out infinite}.memory-card:has(a:hover){box-shadow:0 21px 32px #0c150a91}.memory-image{position:relative;overflow:hidden;aspect-ratio:1.04}.memory-image img{height:100%;object-fit:cover;object-position:65% center;transition:transform .8s ease}.memory-card:nth-child(2) img{object-position:77% center}.memory-card:nth-child(4) img{object-position:80% center}.memory-card a:hover img{transform:scale(1.075)}.memory-open{position:absolute;bottom:9px;right:9px;border:1px solid #fff4de85;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;background:#41302a67;color:#fff6e7;backdrop-filter:blur(5px)}.memory-card figcaption{padding:14px 7px 0;text-align:center}.memory-card figcaption>span{color:#b88874;font-size:9px;letter-spacing:.1em}.memory-card h3{font-size:23px;line-height:1.25;color:var(--wine);margin-top:6px}.memory-card figcaption p{font:italic 13px/1.55 var(--serif);margin-top:7px;color:#9a796a}.gallery-hint{text-align:center;font-size:12px;color:#d5bda4;margin-top:18px}.waiting-section{padding:92px 0 68px}.waiting-heading{text-align:center}.waiting-heading .eyebrow{justify-content:center}.waiting-heading h2{margin:17px 0 18px}.waiting-heading>p:last-child{font-size:16px;color:#8c6b5e;line-height:1.8}.waiting-timeline{list-style:none;margin:46px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:45px;position:relative}.waiting-timeline:before{content:'';position:absolute;top:70px;left:12%;width:76%;height:1px;background:repeating-linear-gradient(90deg,#d999a2 0 5px,transparent 5px 10px)}.waiting-timeline:after{content:'';position:absolute;top:70px;left:12%;height:2px;background:#c37382;transform-origin:left;transform:scaleX(var(--timeline-progress,0));width:76%;transition:transform .3s linear}.waiting-timeline li{position:relative;text-align:center;z-index:1}.timeline-photo{width:135px;height:135px;border-radius:50%;overflow:hidden;border:7px solid var(--paper-light);outline:1px solid #dbc0a6;box-shadow:0 6px 17px #95643a25;margin:0 auto 20px;transition:transform .5s,box-shadow .5s}.timeline-photo img{height:100%;object-fit:cover;object-position:67% center}.waiting-timeline li:nth-child(2) img{object-position:78% center}.waiting-timeline li:nth-child(4) img{object-position:80% center}.waiting-timeline li:hover .timeline-photo{transform:scale(1.06);box-shadow:0 8px 25px #95643a40}.time-label{font-size:10px;letter-spacing:.13em;color:#b77b75}.waiting-timeline h3{font-size:24px;color:var(--wine);line-height:1.3;margin:6px 0 10px}.waiting-timeline p{font-size:14px;line-height:1.75;color:#917062}.timeline-after{text-align:center;font:italic 22px var(--serif);color:#b87576;margin-top:39px}.words-section{padding:70px 0 84px;background:#f5e5d4;position:relative}.words-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}.words-heading h2{margin-top:17px;margin-bottom:18px}.words-heading>p:last-child{color:#8c6b5e;line-height:1.85;font-size:16px}.quote-card{position:relative;background:#fff5e7c4;box-shadow:0 10px 25px #a0633920;border:1px solid #e4c8ad;padding:34px 33px 28px;min-width:0;text-align:center}.quote-card:before{content:'';position:absolute;inset:9px;border:1px solid #e8c9b396;pointer-events:none}.quote-mark{font-family:var(--serif);font-size:78px;line-height:.75;color:#c67880;display:block;margin-bottom:18px}.quote-region{min-height:151px;display:grid;align-content:center}.quote-card blockquote{font-family:var(--serif);font-size:clamp(21px,2vw,28px);line-height:1.6;font-style:italic;color:#945d62;margin:0}.quote-attribution{font-family:var(--serif);font-size:13px;color:#b48775;margin-top:21px}.quote-controls{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:23px}.quote-controls>span{font-size:11px;color:#a6756e;letter-spacing:.08em;font-variant-numeric:tabular-nums}.round-button{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:transparent;border:1px solid #c8a08e;color:#a6626b;font-size:20px;transition:background .3s,color .3s}.round-button:hover{background:#c47c88;color:#fff3e6}.homecoming{position:relative;isolation:isolate;text-align:center;background:#36362c;color:#f9e8ce;overflow:hidden}.homecoming-background{position:absolute;inset:0;z-index:-3;background:url('assets/bos-dal.webp') center 68%/cover;animation:scene-breath 20s infinite alternate}.homecoming-shade{position:absolute;inset:0;z-index:-2;background:#28251ca6}.homecoming-content{padding:90px 0 77px}.homecoming .eyebrow{justify-content:center;font-size:10px}.homecoming h2{font-size:clamp(49px,5.8vw,85px);line-height:1.12;color:#fff0dc;margin:23px 0}.homecoming h2 em{color:#e2ada0}.homecoming p:not(.eyebrow){color:#e5c5a9;font-size:16px;line-height:1.85}.outline-button{display:inline-flex;gap:25px;align-items:center;font-size:13px;border:1px solid #ecd3b396;border-radius:99px;padding:10px 22px;color:#f1d9bf;margin-top:23px;transition:background .3s}.outline-button:hover{background:#fbecdc;color:#62393e}.closing-signature{font:italic 27px var(--serif);color:#ebcfb2;margin-top:30px}.closing-signature span{color:#e3afa2;margin:0 9px;display:inline-block;animation:heartbeat 3s infinite}.site-footer{background:#2b2d28;color:#c7b49a;padding:28px 0}.site-footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.site-footer .brand{font-size:23px;color:#ecd6bd}.site-footer .brand-symbol{font-size:30px}.site-footer p,.site-footer>.wrap>a:last-child{font-size:12px}.atmosphere{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:12}.reveal{opacity:1}.js.motion-on .reveal.waiting{opacity:0;translate:0 35px;filter:blur(3px)}.js.motion-on .reveal{transition:opacity .9s ease,translate .9s cubic-bezier(.2,.7,.2,1),filter .9s ease}.memory-card:nth-child(2),.waiting-timeline li:nth-child(2){transition-delay:.08s}.memory-card:nth-child(3),.waiting-timeline li:nth-child(3){transition-delay:.16s}.memory-card:nth-child(4),.waiting-timeline li:nth-child(4){transition-delay:.24s}.lightbox{border:1px solid #ddbb9d;padding:0;background:var(--paper-light);color:var(--text);width:min(980px,94vw);max-height:94svh;border-radius:4px}.lightbox::backdrop{background:#211c16e8;backdrop-filter:blur(10px)}.lightbox-inner{padding:10px 10px 22px;position:relative}.lightbox-close{position:absolute;z-index:2;right:23px;top:23px;width:43px;height:43px;border-radius:50%;background:#644342b3;color:#ffead4;font-size:29px;backdrop-filter:blur(5px)}#lightbox-image{height:58svh;object-fit:contain;background:#ead7c3}.lightbox-caption{padding:22px 18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.lightbox h2{font-size:32px}.lightbox-caption p{font-size:15px;color:#a07767;margin-top:8px}.lightbox-caption>span{font-size:13px;white-space:nowrap;color:#ab756b}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:25px}.lightbox-controls>span{font-size:10px;letter-spacing:.14em;color:#a8806b}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.modal-open{overflow:hidden}.motion-off *,.page-hidden *{animation-play-state:paused!important}.motion-off .reveal{opacity:1!important;translate:none!important;filter:none!important;transition:none!important}.motion-off .hero-drift{transform:none!important}.motion-off .hero-image,.motion-off .homecoming-background{transform:none;animation:none}.motion-off .atmosphere{display:none}
@keyframes scene-breath{from{transform:scale(1.015)}to{transform:scale(1.09)}}@keyframes halo{to{opacity:.45;transform:scale(1.1)}}@keyframes mist{to{translate:35% -8%;opacity:.7}}@keyframes hero-appear{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}@keyframes heartbeat{0%,70%,100%{scale:1}78%{scale:1.15}85%{scale:1.03}90%{scale:1.13}}@keyframes photo-float{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes scroll-nudge{50%{translate:0 6px}}@keyframes unfold{from{opacity:0;translate:0 -12px}to{opacity:1;translate:0 0}}@keyframes forest-shift{to{translate:2% 0;scale:1.04}}
@media(max-width:1100px){.desktop-nav{gap:20px}.letter-grid{gap:65px}.memory-gallery{gap:15px}.memory-card h3{font-size:21px}.memory-card figcaption{padding-inline:2px}.waiting-timeline{gap:25px}.waiting-timeline h3{font-size:21px}.words-grid{gap:40px}.quote-card{padding-inline:22px}.hero-handwriting{font-size:20px;right:5%}}
@media(max-width:800px){.site-header{padding-block:24px}.desktop-nav{display:none}.menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.menu-button span{width:15px;height:1px;background:currentColor;transition:transform .2s}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-nav{position:absolute;top:88px;left:0;right:0;background:#312b26f5;display:grid;gap:20px;padding:25px 6%;backdrop-filter:blur(12px)}.hero{height:auto;min-height:790px}.hero-copy{padding-top:167px}.hero-image{object-position:70% center}.hero-shade{background:linear-gradient(90deg,#211c17d1,#2a241c75 46%,#25181000 91%),linear-gradient(0deg,#2c2929b5,transparent 44%)}h1{font-size:74px}.hero-handwriting{font-size:18px;right:7%;bottom:99px}.letter-section{padding-block:75px}.letter-grid{gap:45px}.letter-intro h2{font-size:61px}.letter-paper{padding:25px}.memory-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.memory-card:nth-child(even){margin-top:0}.memory-card h3{font-size:25px}.memory-card figcaption p{font-size:15px}.memory-card figcaption>span{font-size:10px}.waiting-timeline{gap:28px;grid-template-columns:repeat(2,1fr)}.waiting-timeline:before,.waiting-timeline:after{display:none}.waiting-timeline h3{font-size:24px}.timeline-after{margin-top:28px}.words-grid{grid-template-columns:1fr;gap:35px}.words-heading{text-align:center}.words-heading .eyebrow{justify-content:center}.quote-card{width:min(620px,100%);margin:auto}.quote-region{min-height:150px}.homecoming-content{padding-block:77px}.site-footer .wrap{flex-wrap:wrap}.gallery-hint{margin-top:25px}}
@media(max-width:540px){.wrap{width:87%}.site-header{padding:21px 6.5%;gap:15px}.brand{font-size:25px;gap:7px}.brand-symbol{font-size:34px}.brand small{font-size:10px}.header-buttons{gap:7px}.motion-button,.menu-button{width:36px;height:36px}.hero{min-height:810px;max-height:none}.hero-drift{inset:0}.hero-image{object-position:75% bottom;animation-duration:20s}.hero-shade{background:linear-gradient(180deg,#2a251bd1 0%,#2a251b96 47%,#2a251b00 66%,#2a251bc0 100%)}.hero-copy{padding-top:138px}h1{font-size:clamp(53px,13.6vw,72px);line-height:1.02;margin-block:20px;max-width:390px}.hero-eyebrow{font-size:9px;letter-spacing:.16em;gap:8px}.hero-eyebrow>span{width:15px}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}.rose-button{padding:11px 18px;font-size:13px;gap:10px;margin-top:22px}.hero-handwriting{font-size:17px;bottom:100px;right:7%}.scroll-cue{bottom:39px;width:100%;font-size:11px}.letter-section{padding-top:55px;padding-bottom:60px}.letter-grid{grid-template-columns:1fr;gap:52px}.letter-intro h2{font-size:65px;margin-block:16px}.letter-intro>p:last-of-type{font-size:16px;max-width:none}.letter-photo{width:82%;margin:27px auto 0;animation-duration:8s}.letter-box{width:92%;margin-inline:auto}.envelope-note{font-size:19px}.letter-paper{padding:24px; margin-inline:-10px}.letter-paper>p:not(.letter-date){font-size:16px}.memories-section{padding-top:67px;padding-bottom:58px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{text-align:left;font-size:17px;margin-top:17px}.section-heading h2{font-size:45px}.memory-gallery{gap:18px 15px;padding-inline:0}.memory-card{padding:6px 6px 13px}.memory-image{aspect-ratio:.82}.memory-card:nth-child(even){margin-top:17px}.memory-card h3{font-size:21px}.memory-card figcaption{padding-top:9px}.memory-card figcaption>span{font-size:8px;letter-spacing:.02em}.memory-card figcaption p{font-size:13px}.memory-open{width:28px;height:28px;bottom:7px;right:7px;font-size:14px}.gallery-hint{font-size:11px;margin-top:28px}.waiting-section{padding-top:63px;padding-bottom:49px}.waiting-heading h2{font-size:48px}.waiting-heading .eyebrow{font-size:9px;letter-spacing:.16em}.waiting-timeline{gap:30px 16px;margin-top:35px}.timeline-photo{width:112px;height:112px;border-width:6px;margin-bottom:15px}.waiting-timeline h3{font-size:21px}.waiting-timeline p{font-size:13px}.time-label{font-size:9px}.timeline-after{font-size:19px;margin-top:32px}.words-section{padding:55px 0 59px}.words-heading h2{font-size:48px}.words-heading .eyebrow{font-size:9px;letter-spacing:.15em}.quote-card{padding:30px 24px 25px}.quote-mark{font-size:72px}.quote-card blockquote{font-size:22px;line-height:1.65}.quote-region{min-height:190px}.homecoming-content{padding:65px 0 56px}.homecoming h2{font-size:48px}.homecoming .eyebrow{font-size:8px;letter-spacing:.13em}.homecoming p:not(.eyebrow){font-size:15px}.homecoming-background{background-position:76% center}.closing-signature{font-size:25px}.site-footer{padding-block:27px}.site-footer .wrap{display:grid;grid-template-columns:1fr auto;gap:21px}.site-footer p{grid-column:1/-1;grid-row:2;font-size:12px}.site-footer>.wrap>a:last-child{font-size:11px}.site-footer .brand{font-size:22px}.site-footer .brand-symbol{font-size:25px}#lightbox-image{height:49svh}.lightbox-caption{padding:18px 9px;gap:12px}.lightbox h2{font-size:27px}.lightbox-caption p{font-size:14px}.lightbox-controls{gap:18px}.lightbox-controls>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js.motion-on .reveal.waiting{opacity:1;translate:none;filter:none}.hero-drift{transform:none!important}.atmosphere{display:none}}
/* Keep the waiting squirrel within the frame on narrow screens. */
.hero-image{object-position:100% center}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.bird-call{display:inline-flex;align-items:center;gap:9px;background:transparent;color:#efd3b9;border-bottom:1px solid #d9b99c73;padding:8px 0;margin-top:27px;font-size:13px;transition:color .25s;white-space:nowrap}
.bird-call>span:first-child{font-size:24px;line-height:1}.bird-call:hover{color:#fff3e1}.bird-call:disabled{opacity:.8;cursor:default}
.hero-copy>.bird-message{font:italic 13px/1.5 var(--serif);color:#d9b699;margin-top:15px;min-height:20px;animation:hero-appear 1s 1s both}
.bird-stage{position:absolute;inset:0;z-index:1;pointer-events:none;animation:scene-breath 19s ease-in-out infinite alternate;transform-origin:70% 60%;overflow:hidden}
.dove-actor{position:absolute;left:0;top:0;width:var(--bird-size,250px);height:var(--bird-size,250px);opacity:0;will-change:transform;filter:drop-shadow(0 3px 3px #24211726)}
.dove-flight{position:absolute;inset:0;background:url('assets/kumru-ucus.webp') 0 0/300% 200% no-repeat;animation:wingbeat var(--wing-speed,.46s) steps(1,end) infinite;transition:opacity .18s}
.dove-perched{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .18s;transform-origin:var(--perch-anchor-x,60%) var(--perch-anchor-y,80%)}
.dove-actor.landed .dove-flight{opacity:0;animation-play-state:paused}.dove-actor.landed .dove-perched{opacity:1;animation:dove-breath 3.3s ease-in-out infinite;transition:opacity .25s}
.motion-off .bird-stage{transform:none;animation:none}.motion-off .dove-perched{animation:none!important}
html:not(.js) .bird-call,html:not(.js) .bird-message,html:not(.js) .bird-stage{display:none}
@keyframes wingbeat{0%{background-position:0% 0%}16.666%{background-position:50% 0%}33.333%{background-position:100% 0%}50%{background-position:0% 100%}66.666%{background-position:50% 100%}83.333%{background-position:100% 100%}}
@keyframes dove-breath{0%,100%{transform:scale(1,1)}50%{transform:scale(1.012,1.018)}}
@media(max-width:540px){.hero-actions{gap:0 15px}.bird-call{font-size:12px;margin-top:15px;padding-block:6px}.hero-copy>.bird-message{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;margin:0;min-height:0}.bird-stage{animation-duration:20s}}
@media(prefers-reduced-motion:reduce){.dove-flight,.dove-perched,.bird-stage{animation:none!important}}
.motion-off .hero-copy>*,.motion-off .rose-button{animation:none!important;opacity:1;translate:none}
.gallery-open *{animation-play-state:paused!important}
html:not(.js) .motion-button,html:not(.js) .menu-button,html:not(.js) .letter-toggle,html:not(.js) .quote-controls{display:none}
html:not(.js) .letter-paper[hidden]{display:block!important}
.motion-off{scroll-behavior:auto}.motion-off *,.motion-off *:before,.motion-off *:after{transition:none!important}
.eyebrow{color:#945b5b}.memory-card figcaption>span{color:#946553}.memory-card figcaption p{color:#866253}.time-label{color:#995c58}.quote-attribution{color:#936c59}.letter-date{color:#946955}
@media(max-width:540px){.hero-drift{inset:auto 0 0;height:55%}.hero-image{object-position:right center}.hero-shade{background:linear-gradient(180deg,#332a22 0%,#332a22f5 22%,#332a22b8 43%,#332a2200 66%,#332a22b0 100%)}.hero{background:#332a22}.hero-handwriting{font-size:16px;bottom:105px}}
@media print{.site-header,.atmosphere,.reading-progress,.scroll-cue,.hero-handwriting,.letter-toggle,.envelope,.envelope-note,.lightbox,.outline-button{display:none!important}.hero{min-height:650px;height:auto}.hero-copy{padding-top:110px;padding-bottom:100px}.letter-paper[hidden]{display:block!important}.reveal{opacity:1!important;translate:none!important;filter:none!important}.letter-grid{display:block}.letter-section{padding:35px}.letter-intro h2{font-size:50px}.letter-photo{width:45%}.letter-box{margin-top:40px}.waiting-section,.words-section{padding-block:40px}*{animation:none!important}}
/* Dawn: the last page of longing, the first light of reunion. */
.dawn-theme{--paper:#faf1df;--paper-light:#fffaf0;--wine:#325b55;--rose:#c87c6b;--rose-light:#f1c4ab;--text:#665a4b;--muted:#827460;--night:#243f39;--line:#dbc4a0}
.dawn-theme .site-header{background:linear-gradient(180deg,#17382ec2,transparent)}
.dawn-theme .brand-symbol{color:#f1d2a8}
.dawn-theme .brand small{color:#decbb0}
.dawn-theme .reading-progress{background:linear-gradient(90deg,#e3b97b,#a5bda1,#e2b28d)}
.dawn-theme .hero{background:#314735;min-height:770px}
.dawn-theme .hero-shade{background:linear-gradient(90deg,#172f2ad1 0%,#263d3385 34%,#213a232b 60%,transparent 76%),linear-gradient(0deg,#28402e9c,transparent 37%)}
.dawn-theme .hero-copy{padding-top:clamp(162px,19.5vh,225px)}
.dawn-theme h1{font-size:clamp(60px,6.2vw,95px);line-height:1.07;max-width:640px;color:#fff7e5;text-shadow:0 3px 19px #19312140}
.dawn-theme h1 em{color:#f2cf9f}
.dawn-theme .hero-eyebrow{color:#f1d3a6;font-size:10px;letter-spacing:.2em}
.dawn-theme .hero-copy>p:not(.eyebrow){color:#f5e3c4}
.dawn-theme .hero-copy>.bird-message{color:#eed2aa}
.dawn-theme .rose-button{background:linear-gradient(120deg,#d3a473,#b87e58);box-shadow:0 9px 25px #16372e66;color:#fff8e6}
.dawn-theme .bird-call{color:#f0d8b9;border-color:#e3bf7a85}
.dawn-theme .hero-handwriting{color:#f7e4bf;text-shadow:0 2px 13px #384831a8;font-size:23px;right:6%;bottom:106px}
.dawn-theme .sun-halo{inset:0 -5% 7% 35%;background:radial-gradient(ellipse at 50% 32%,#fff0ac4d,transparent 55%);animation-duration:6s}
.dawn-theme .haze{background:radial-gradient(ellipse at center,#e9e9d936,transparent 65%)}
.dawn-theme .paper-section{background-image:radial-gradient(ellipse at 0% 50%,#e6cbae3d,transparent 55%),radial-gradient(ellipse at 100% 60%,#d8dfbd38,transparent 45%)}
.dawn-theme .letter-intro h2 em,.dawn-theme h2 em{color:#bd7d63}
.dawn-theme .eyebrow{color:#8b7353}
.dawn-theme .eyebrow.light{color:#e2c79e}
.dawn-theme .drawn-heart{color:#c58b76}
.dawn-theme .letter-photo{width:92%;transform:rotate(-2deg);padding-bottom:17px}
.dawn-theme .letter-photo img{aspect-ratio:1.44;object-position:center}
.dawn-theme .letter-photo figcaption{color:#8a775a}
.dawn-theme .envelope{background:linear-gradient(140deg,#e3cda4,#f3e5c7);border-color:#c2ac7a85}
.dawn-theme .envelope-front{background:linear-gradient(100deg,#f1e4c5,#e9d9af)}
.dawn-theme .envelope-flap{background:linear-gradient(180deg,#faf0d7,#dfcda2)}
.dawn-theme .wax-seal{background:radial-gradient(circle at 35% 30%,#769a81,#3d685c 70%);color:#efe1bf;box-shadow:inset 0 0 0 5px #254e4125,0 3px 8px #294c3c55}
.dawn-theme .envelope-address{color:#748065}
.dawn-theme .envelope-note{color:#8e795d}
.dawn-theme .letter-toggle{color:#517567;border-color:#8aa08b}
.dawn-theme .letter-paper{border-color:#d8c89e;box-shadow:0 12px 25px #72744b1f}
.dawn-theme .letter-signature{color:#6c8b70}
.dawn-theme .memories-section{background:#3b5749;padding-top:86px}
.dawn-theme .memories-background{background-image:url('assets/donus-yolu.webp');background-position:center;filter:blur(5px);opacity:.7}
.dawn-theme .memories-shade{background:linear-gradient(120deg,#233c35c7,#33533fb5)}
.dawn-theme .section-heading h2{color:#fff0d7}
.dawn-theme .section-heading h2 em{color:#e7c49a}
.dawn-theme .memory-card{box-shadow:0 13px 26px #18342773}
.dawn-theme .memory-image{aspect-ratio:.95}
.dawn-theme .memory-card:nth-child(2) img{object-position:88% center}
.dawn-theme .memory-card:nth-child(3) img{object-position:62% center}
.dawn-theme .memory-card:nth-child(4) img{object-position:58% center}
.dawn-theme .memory-card figcaption>span{color:#8c7758}
.dawn-theme .memory-gallery .memory-image{aspect-ratio:1.12}
.dawn-theme .memory-card:nth-child(3) .memory-image img{object-position:35% center}
.dawn-theme .memory-card figcaption p{color:#827255}
.dawn-theme .waiting-timeline:before{background:repeating-linear-gradient(90deg,#c9ac7b 0 5px,transparent 5px 10px)}
.dawn-theme .waiting-timeline:after{background:#849f7d}
.dawn-theme .timeline-photo{outline-color:#d3c29d;box-shadow:0 6px 17px #7e82652b}
.dawn-theme .timeline-photo img{object-position:62% center}
.dawn-theme .waiting-timeline li:nth-child(2) img{object-position:87% center}
.dawn-theme .waiting-timeline li:nth-child(4) img{object-position:58% center}
.dawn-theme .time-label{color:#8f7554}
.dawn-theme .timeline-after{color:#7b906f}
.dawn-theme .words-section{background:#e8e8d4}
.dawn-theme .quote-card{background:#fff8e5df;border-color:#d0c69e;box-shadow:0 10px 25px #5e765c20}
.dawn-theme .quote-card:before{border-color:#ded7b4}
.dawn-theme .quote-mark{color:#b69a65}
.dawn-theme .quote-card blockquote{color:#5b7968}
.dawn-theme .quote-attribution{color:#7f8a6c}
.dawn-theme .round-button{color:#718268;border-color:#adba95}
.dawn-theme .round-button:hover{color:#fff6df;background:#6c917b}
.dawn-theme .quote-controls>span{color:#8a7c5d}
.dawn-theme .homecoming{background:#44614b;text-align:left;min-height:600px}
.dawn-theme .homecoming-background{background-image:url('assets/kavusma.webp');background-position:65% 58%}
.dawn-theme .homecoming-shade{background:linear-gradient(90deg,#19382edb 0%,#254331b5 32%,#28402d35 63%,#24422d00 100%)}
.dawn-theme .homecoming-content{padding-block:96px 82px}
.dawn-theme .homecoming .eyebrow{justify-content:flex-start;color:#efcfa0;max-width:460px;line-height:1.9}
.dawn-theme .homecoming h2{font-size:clamp(55px,5.6vw,80px);max-width:650px}
.dawn-theme .homecoming h2 em{color:#efcfa6}
.dawn-theme .homecoming p:not(.eyebrow){color:#edd9bb;max-width:500px}
.dawn-theme .closing-signature{color:#ebd6b0}
.dawn-theme .closing-signature span{color:#efc8a0}
.dawn-theme .site-footer{background:#253d34;color:#c4c5a7}
.dawn-theme .site-footer .brand{color:#efe2c5}
.dawn-theme .mobile-nav{background:#203d32f5}
@media(min-width:541px) and (max-width:650px){.dawn-theme .hero{min-height:850px;background:#2d4537}.dawn-theme .hero-drift{inset:auto 0 0;height:55%;mask-image:linear-gradient(180deg,transparent,#000 17%)}.dawn-theme .hero-shade{background:linear-gradient(180deg,#2d4537 0%,#2d4537f2 23%,#2d4537b8 43%,#2d453700 66%,#2d4537ae 100%)}.dawn-theme .hero-copy{padding-top:143px}.dawn-theme h1{font-size:70px}.dawn-theme .hero-handwriting{font-size:18px}}
@media(max-width:800px){.dawn-theme .hero-image{object-position:100% center}.dawn-theme .hero-copy{padding-top:160px}.dawn-theme .homecoming-shade{background:linear-gradient(90deg,#19382ee0,#2543317a 60%,#24422d30)}.dawn-theme .homecoming h2{max-width:520px}.dawn-theme .homecoming{min-height:570px}}
@media(max-width:540px){.dawn-theme .hero{min-height:810px;background:#2d4537}.dawn-theme .hero-drift{mask-image:linear-gradient(180deg,transparent,#000 17%)}.dawn-theme .hero-copy{padding-top:132px}.dawn-theme h1{font-size:clamp(53px,13.8vw,72px);line-height:1.04;max-width:350px}.dawn-theme .hero-eyebrow{font-size:9px;letter-spacing:.12em}.dawn-theme .hero-shade{background:linear-gradient(180deg,#2d4537 0%,#2d4537f2 23%,#2d4537b8 43%,#2d453700 66%,#2d4537ae 100%)}.dawn-theme .hero-handwriting{font-size:16px;right:7%;bottom:106px}.dawn-theme .letter-photo{width:90%}.dawn-theme .letter-intro h2{font-size:61px}.dawn-theme .section-heading h2{font-size:42px}.dawn-theme .memory-image{aspect-ratio:.82}.dawn-theme .memory-card h3{font-size:20px}.dawn-theme .memory-card figcaption p{font-size:13px}.dawn-theme .waiting-heading h2{font-size:42px}.dawn-theme .waiting-timeline h3{font-size:20px}.dawn-theme .homecoming{min-height:650px;text-align:center}.dawn-theme .homecoming-content{padding-block:64px 66px}.dawn-theme .homecoming-background{background-position:60% bottom;background-size:auto 100%}.dawn-theme .homecoming-shade{background:linear-gradient(180deg,#24412fe0,#24412fbb 47%,#24412f55 100%)}.dawn-theme .homecoming .eyebrow{justify-content:center;font-size:8px}.dawn-theme .homecoming h2{font-size:53px}.dawn-theme .homecoming p:not(.eyebrow){font-size:15px}.dawn-theme .timeline-after{font-size:19px}}
