#welcome,.welcome-lines{flex-direction:column;display:flex}#welcome,body{background:var(--dark-wood)}html.welcome-active{overflow:hidden;scrollbar-width:none}html.welcome-active::-webkit-scrollbar{display:none}html.welcome-active body{overflow:hidden;scrollbar-width:none}html.welcome-active body::-webkit-scrollbar{display:none}.welcome-date,.welcome-pre,body{font-family:Lora,serif}.person-photo-wrap img,.polaroid img{-webkit-user-drag:none;pointer-events:none}.about-section,.person-card,.polaroid-caption,.section-label,.section-title,.site-header,.welcome-title{text-align:center}.batik-text p,.closing-sub,.detail-label,.diary-body,.diary-date,.diary-heading em,.footer-tagline,.header-eyebrow,.person-desc,.section-label,.welcome-pre{font-style:italic}#welcome,.particles{inset:0;overflow:hidden}#welcome.fade-out,.big-quote,.particles,.polaroid img,body::before{pointer-events:none}:root{--cream:#F5EDD8;--warm-white:#FAF6ED;--ink:#1A1208;--sepia:#7B5E3A;--gold:#C8922A;--gold-light:#E8B84B;--amber:#D4862A;--rust:#9B4A1E;--dark-wood:#2C1A0E;--bg-paper:#F2E8D0}*{margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{display:none}html{scrollbar-width:none;-ms-overflow-style:none}html.smooth-scroll{scroll-behavior:smooth}#main{overflow-anchor:none}body{color:var(--ink);overflow-x:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");z-index:9999;opacity:.4}#welcome{position:fixed;z-index:100;align-items:center;justify-content:center;background-image:radial-gradient(ellipse at 20% 50%,rgba(200,146,42,.12) 0,transparent 60%),radial-gradient(ellipse at 80% 30%,rgba(155,74,30,.1) 0,transparent 50%);transition:opacity 1.2s cubic-bezier(.77,0,.18,1),transform 1.2s cubic-bezier(.77,0,.18,1)}#main,.polaroid,.polaroid-wrap,.site-header{position:relative}#welcome.fade-out{opacity:0;transform:scale(1.04)}.welcome-lines{align-items:center;gap:.5rem}.welcome-pre{color:var(--gold);font-size:clamp(.8rem, 1.5vw, 1rem);letter-spacing:.25em;text-transform:uppercase;opacity:0;animation:1.2s .3s forwards riseIn}.welcome-title{font-family:'Playfair Display',serif;font-size:clamp(2.5rem, 8vw, 6rem);font-weight:800;color:var(--cream);line-height:1;opacity:0;animation:1.2s .7s forwards riseIn}.welcome-title span{color:var(--gold-light);font-style:italic}.welcome-script{font-family:Sacramento,cursive;font-size:clamp(2rem, 5vw, 3.5rem);color:var(--gold);margin-top:.5rem;opacity:0;animation:1.2s 1.1s forwards riseIn}.welcome-btn,.welcome-date{font-size:.85rem;opacity:0}.welcome-date{color:rgba(245,237,216,.5);letter-spacing:.3em;text-transform:uppercase;margin-top:2rem;animation:1.2s 1.5s forwards riseIn}.header-eyebrow,.welcome-btn{font-family:Lora,serif;color:var(--gold);text-transform:uppercase}.welcome-line-deco{width:80px;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);margin:1.5rem auto;opacity:0;animation:1s 1.8s forwards riseIn}.diary-body p+p,.welcome-btn{margin-top:1rem}.welcome-btn{padding:.8rem 2.5rem;background:0 0;border:1px solid var(--gold);letter-spacing:.2em;cursor:pointer;transition:.4s;animation:1s 2.2s forwards riseIn}.welcome-btn:hover{background:var(--gold);color:var(--dark-wood)}.welcome-btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px}#main{background:linear-gradient(180deg,#1a0f06 0,#2a1809 100%);min-height:100vh;visibility:hidden;overflow-anchor:none}#main.visible{visibility:visible}.site-header{padding:6rem 2rem 4rem;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.header-eyebrow{font-size:.9rem;letter-spacing:.25em;margin-bottom:1rem}.header-title{font-family:'Playfair Display',serif;font-size:clamp(2rem, 5vw, 4rem);font-weight:800;color:var(--cream);line-height:1.1}.about-section .big-script,.header-script,.polaroid-caption{font-family:Sacramento,cursive}.header-script{font-size:clamp(1.8rem, 4vw, 3rem);color:var(--gold-light);margin-top:.5rem}.ornament{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem auto;color:var(--gold);opacity:.6}.ornament::after,.ornament::before{content:'';width:80px;height:1px;background:currentColor}.diary-section{max-width:1100px;margin:0 auto;padding:2rem 2rem 6rem}.photo-entry{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:6rem}.polaroid-wrap{display:flex;justify-content:center}.polaroid{background:#fff;padding:14px 14px 52px;box-shadow:0 4px 30px rgba(0,0,0,.5),0 1px 4px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,0,0,.05);transform:rotate(-2deg);transition:transform .4s;max-width:380px;width:100%}.polaroid:hover{transform:rotate(0) scale(1.02)}.tape{position:absolute;top:-14px;left:50%;transform:translateX(-50%) rotate(-1deg);width:70px;height:28px;background:rgba(200,146,42,.3);border:1px solid rgba(200,146,42,.15);backdrop-filter:blur(2px);z-index:2}.polaroid img{width:100%;display:block;filter:sepia(15%) contrast(1.05)}.polaroid-caption{margin-top:10px;font-size:1.3rem;color:#555}.diary-text-block{position:relative}.diary-date{font-family:Lora,serif;color:var(--gold);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem}.big-quote,.diary-heading{font-family:'Playfair Display',serif}.diary-heading{font-size:clamp(1.6rem, 3vw, 2.4rem);font-weight:700;color:var(--cream);line-height:1.2;margin-bottom:1.5rem}.diary-heading em{color:var(--gold-light)}.diary-body{color:rgba(245,237,216,.75);font-size:1rem;line-height:1.85}.big-quote{font-size:8rem;color:var(--gold);opacity:.12;line-height:1;position:absolute;top:-2rem;left:-2.5rem}.people-section{background:linear-gradient(180deg,rgba(200,146,42,.04) 0,transparent 100%);padding:6rem 2rem}.section-label{font-family:Lora,serif;color:var(--gold);font-size:.85rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem}.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem, 4vw, 3rem);font-weight:800;color:var(--cream);margin-bottom:4rem}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:900px;margin:0 auto}@media (max-width:650px){.people-grid{grid-template-columns:1fr;max-width:320px}}.person-card{background:rgba(245,237,216,.04);border:1px solid rgba(200,146,42,.2);padding:2rem 1.5rem;position:relative;transition:transform .3s,border-color .3s}.person-card:hover{transform:translateY(-6px);border-color:rgba(200,146,42,.6)}.closing-section::before,.person-card::before,.site-footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%)}.person-card::before{width:40px;height:2px;background:var(--gold)}.person-photo-wrap{width:96px;height:144px;margin:0 auto 1.2rem;border:2px solid rgba(200,146,42,.4);overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.4);background:rgba(245,237,216,.06);display:flex;align-items:center;justify-content:center}.person-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:top;filter:sepia(10%) contrast(1.05)}.person-photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:rgba(200,146,42,.5);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-family:Lora,serif}.person-photo-placeholder svg{width:32px;height:32px;opacity:.5}.person-name{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--cream);margin-bottom:.8rem}.person-desc{color:rgba(245,237,216,.6);font-size:.88rem;line-height:1.7}.about-section{max-width:800px;margin:0 auto;padding:5rem 2rem}.about-section .big-script{font-size:clamp(2.5rem, 6vw, 4.5rem);color:var(--gold);margin-bottom:2rem;display:block}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:3rem 0}@media (max-width:500px){.detail-grid{grid-template-columns:1fr}}.detail-item{background:rgba(245,237,216,.04);border:1px solid rgba(200,146,42,.15);padding:1.5rem;text-align:left}.dot,.particle{border-radius:50%}.detail-label{font-family:Lora,serif;color:var(--gold);font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;margin-bottom:.4rem}.detail-value,.steps-list li::before{font-family:'Playfair Display',serif}.footer-meta-label,.footer-tagline{letter-spacing:.2em;text-transform:uppercase}.detail-value{font-size:1.05rem;font-weight:600;color:var(--cream)}.closing-script,.footer-script{font-family:Sacramento,cursive}.batik-section{padding:5rem 2rem;background:rgba(200,146,42,.03)}.batik-inner,.footer-inner{max-width:900px;margin:0 auto}.batik-split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}@media (max-width:768px){.photo-entry{grid-template-columns:1fr;gap:2rem}.batik-split{grid-template-columns:1fr}}.batik-text p{color:rgba(245,237,216,.7);font-size:.95rem;line-height:1.9;margin-bottom:1rem}.steps-list{list-style:none;counter-reset:step}.steps-list li{counter-increment:step;display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.2rem;color:rgba(245,237,216,.75);font-size:.9rem;line-height:1.7}.steps-list li::before{content:counter(step,decimal-leading-zero);font-size:1.4rem;color:var(--gold);opacity:.6;min-width:32px;line-height:1}.closing-section{padding:8rem 2rem;text-align:center;position:relative}.closing-section::before{width:1px;height:80px;background:linear-gradient(to bottom,transparent,var(--gold))}.closing-script{font-size:clamp(3rem, 8vw, 6rem);color:var(--gold-light);display:block;margin-bottom:1rem}.closing-sub{color:rgba(245,237,216,.5);font-size:.95rem;max-width:500px;margin:0 auto;line-height:1.8}.site-footer{background:var(--dark-wood);border-top:1px solid rgba(200,146,42,.12);padding:4rem 2rem 2.5rem;position:relative}.site-footer::before{width:120px;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent)}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-bottom:3rem}.footer-brand,.footer-meta{flex-direction:column;display:flex}@media (max-width:600px){.footer-top{grid-template-columns:1fr;gap:2rem}}.footer-brand{gap:.5rem}.footer-script{font-size:clamp(2rem, 4vw, 3rem);color:var(--gold);line-height:1}.footer-tagline{font-family:Lora,serif;color:rgba(245,237,216,.35);font-size:.8rem}.footer-meta{gap:.75rem}.footer-meta-item{font-family:Lora,serif;color:rgba(245,237,216,.5);font-size:.85rem;line-height:1.5;display:flex;flex-direction:column;gap:.15rem}.footer-meta-label{font-size:.7rem;color:var(--gold);opacity:.7}.footer-copy,.footer-link{color:rgba(245,237,216,.2);font-size:.75rem;letter-spacing:.1em;font-family:Lora,serif}.footer-copy{color:rgba(245,237,216,.6);font-size:.8rem;letter-spacing:.05em;line-height:1.6;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.footer-copy .footer-year{color:var(--gold);opacity:1;font-weight:600}.footer-divider{width:100%;height:1px;background:linear-gradient(to right,transparent,rgba(200,146,42,.2),transparent);margin-bottom:2rem}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-links{display:flex;gap:1.5rem}.footer-link{text-transform:uppercase;text-decoration:none;transition:color .3s}.reveal,.reveal-left,.reveal-right{transition:opacity .9s,transform .9s;opacity:0}.footer-link:hover{color:var(--gold)}.footer-link:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.reveal{transform:translateY(40px)}.reveal-left.visible,.reveal-right.visible,.reveal.visible{opacity:1;transform:none}.reveal-left{transform:translateX(-40px)}.reveal-right{transform:translateX(40px)}.particles{position:fixed;z-index:1}.particle{position:absolute;width:2px;height:2px;background:var(--gold);opacity:0;animation:linear infinite float}.dot-art{display:flex;justify-content:center;gap:3px;flex-wrap:wrap;max-width:200px;margin:2rem auto}.dot{width:8px;height:8px;animation:2s ease-in-out infinite pulseDot}@keyframes float{0%{transform:translateY(100vh) translateX(0);opacity:0}10%{opacity:.6}90%{opacity:.3}100%{transform:translateY(-10vh) translateX(30px);opacity:0}}@keyframes riseIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes pulseDot{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.3);opacity:1}}@keyframes heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.2)}70%{transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;transition-duration:0s!important}html.smooth-scroll{scroll-behavior:auto}}