*{margin:0;padding:0;box-sizing:border-box}:root{--cream:#f2ece2;--cream-mid:#ede6da;--cream-dark:#ddd4c4;--gold:#c8a55a;--gold-dark:#9a7830;--gold-light:#e2c888;--brown:#4a2c1a;--brown-deep:#2a180c;--brown-mid:#7a5030;--brown-light:#a07850;--text:#3e2616}html{scroll-behavior:smooth}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}#album,#book{scroll-margin-top:72px}body{background:linear-gradient(135deg,#f4ecdd,#fff7e8 46%,#efe2c9);font-family:var(--font-cormorant),Georgia,serif;color:var(--text);overflow-x:hidden;min-height:100vh}sup{font-size:.6em;vertical-align:super;line-height:0}.site-header{position:fixed;top:0;left:0;right:0;z-index:30;background:linear-gradient(180deg,rgba(28,15,6,.72),rgba(28,15,6,.38) 70%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.site-header-inner{max-width:1500px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}.site-brand{font-family:var(--font-cormorant),serif;font-size:20px;letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:500;white-space:nowrap}.site-brand span{font-style:italic;color:var(--gold-light)}.site-nav{display:flex;align-items:center;gap:22px}.site-nav a{color:rgba(255,255,255,.85);text-decoration:none;font-size:13px;letter-spacing:3px;text-transform:uppercase;transition:color .2s ease}.nav-slideshow-btn,.site-nav a:hover{color:var(--gold-light)}.nav-slideshow-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;border:1px solid rgba(226,200,136,.6);background:rgba(200,165,90,.16);font-family:var(--font-cormorant),serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .25s ease}.nav-slideshow-btn:hover{background:rgba(200,165,90,.35)}.nav-slideshow-btn svg{width:11px;height:11px}.nav-link-btn{background:none;border:none;padding:0;color:rgba(255,255,255,.85);font-family:var(--font-cormorant),serif;font-size:13px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:color .2s ease}.nav-link-btn:hover{color:var(--gold-light)}.hero-banner{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:hero-zoom 24s ease-in-out infinite alternate}@keyframes hero-zoom{0%{transform:scale(1)}to{transform:scale(1.12)}}.hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(28,15,6,.35) 0,rgba(28,15,6,.72) 100%),linear-gradient(180deg,rgba(28,15,6,.45),rgba(28,15,6,.25) 40%,rgba(28,15,6,.65))}.hero-content{position:relative;z-index:2;text-align:center;padding:110px 24px 90px;max-width:900px}.hero-eyebrow{font-size:12px;letter-spacing:7px;text-transform:uppercase;color:var(--gold-light);font-weight:500;margin-bottom:22px}.hero-title{font-family:var(--font-cormorant),serif;font-size:clamp(44px,8vw,88px);font-weight:400;letter-spacing:.1em;color:#fff;text-transform:uppercase;line-height:1.08;text-shadow:0 2px 24px rgba(0,0,0,.45)}.hero-title .amp{font-style:italic;font-weight:300;color:var(--gold-light)}.hero-script{font-family:var(--font-vibes),cursive;font-size:clamp(30px,5vw,52px);color:var(--gold-light);margin-top:10px;margin-bottom:28px;text-shadow:0 2px 16px rgba(0,0,0,.4)}.hero-badges{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}.hero-badge{border:1px solid rgba(226,200,136,.45);background:rgba(28,15,6,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:10px 22px;color:rgba(255,255,255,.92);font-size:13px;letter-spacing:2.5px;text-transform:uppercase}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-actions .btn-gold,.hero-actions .btn-outline{padding:10px 20px;font-size:11.5px;letter-spacing:2.5px;gap:8px}.hero-actions .btn-gold svg,.hero-actions .btn-outline svg{width:11px;height:11px}.btn-gold,.btn-outline{display:inline-flex;align-items:center;gap:12px;padding:15px 36px;font-family:var(--font-cormorant),serif;font-size:14px;letter-spacing:4px;text-transform:uppercase;font-weight:600;cursor:pointer;text-decoration:none;transition:background .25s ease,box-shadow .25s ease,transform .25s ease,color .25s ease}.btn-gold{border:1px solid var(--gold);background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.3)}.btn-gold:focus-visible,.btn-gold:hover{background:linear-gradient(135deg,var(--gold-light),var(--gold));transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.35);outline:none}.btn-gold svg{width:13px;height:13px}.btn-outline{border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff}.btn-outline:focus-visible,.btn-outline:hover{background:rgba(255,255,255,.12);border-color:var(--gold-light);color:var(--gold-light);outline:none}.hero-scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;text-align:center;color:rgba(255,255,255,.65);font-size:10px;letter-spacing:4px;text-transform:uppercase}.hero-scroll-line{width:1px;height:34px;margin:10px auto 0;background:linear-gradient(180deg,var(--gold-light),transparent);animation:scroll-pulse 1.8s ease-in-out infinite}@keyframes scroll-pulse{0%,to{opacity:.4;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}.milestones{padding:72px 24px 30px}.milestones-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:40px;gap:40px}.milestone-photo{text-align:center}.hero-photo-wrap{position:relative;display:inline-block;max-width:460px;width:100%}.hero-photo-wrap:after,.hero-photo-wrap:before{content:"";position:absolute;border:1px solid var(--gold-light);pointer-events:none;z-index:1}.hero-photo-wrap:before{inset:-8px}.hero-photo-wrap:after{inset:-14px;border-color:rgba(200,165,90,.3)}.hero-photo-wrap img{width:100%;height:auto;display:block;box-shadow:0 18px 44px rgba(74,44,26,.22)}.cele-card{text-align:center;padding:10px}.cele-pre{font-size:11px;letter-spacing:5px;text-transform:uppercase;color:rgba(122,80,48,.6);font-weight:500;margin-bottom:10px}.cele-number{font-family:var(--font-cormorant),serif;font-size:clamp(64px,8vw,100px);font-weight:400;color:rgba(126,85,18,.94);line-height:.95;text-shadow:0 1px 0 rgba(255,255,255,.72)}.cele-number .cele-th{font-size:.38em;vertical-align:super;color:var(--gold-dark)}.cele-script{font-family:var(--font-vibes),cursive;font-size:clamp(34px,5vw,48px);color:rgba(91,57,18,.86);margin-top:2px;margin-bottom:8px}.cele-name{font-size:13px;color:var(--gold-dark);font-weight:600}.cele-date,.cele-name{letter-spacing:3px;text-transform:uppercase}.cele-date{font-size:11px;color:var(--brown-light);font-weight:500;margin-top:8px}.love-message{text-align:center;padding:44px 60px 10px;position:relative;max-width:820px;margin:0 auto}.quote-mark{position:absolute;font-family:var(--font-cormorant),serif;font-size:76px;color:rgba(200,165,90,.3);line-height:1;top:22px;left:8px;font-weight:300}.quote-mark.right{left:auto;right:8px;top:auto;bottom:-18px}.love-message p{font-size:clamp(19px,2.4vw,24px);font-style:italic;color:rgba(74,44,26,.8);line-height:1.65;font-weight:300}.section-title{font-size:11px;letter-spacing:6px;text-transform:uppercase;color:var(--gold-dark);text-align:center;margin-bottom:8px;font-weight:600}.section-heading{font-family:var(--font-cormorant),serif;font-size:clamp(30px,4.5vw,46px);font-weight:400;color:var(--brown);letter-spacing:.12em;text-align:center}.section-heading span{color:var(--gold-dark);font-style:italic}.sec-divider{display:flex;align-items:center;gap:14px;max-width:420px;margin:22px auto 34px}.sec-divider:after,.sec-divider:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-light),transparent)}.sec-divider-diamond{width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex-shrink:0}.gallery-section{padding:56px 28px 70px;max-width:1560px;margin:0 auto}.gallery-grid{column-count:4;column-gap:20px}@media (max-width:1280px){.gallery-grid{column-count:3}}@media (max-width:900px){.gallery-grid{column-count:2}}@media (max-width:560px){.gallery-grid{column-count:2;column-gap:10px}.gallery-item{padding:4px;margin-bottom:10px}}@media (max-width:360px){.gallery-grid{column-count:1}}.gallery-item{page-break-inside:avoid;break-inside:avoid;margin-bottom:20px;border:1px solid rgba(154,120,48,.4);padding:7px;background:rgba(255,250,240,.85);box-shadow:0 8px 20px rgba(74,44,26,.08);cursor:pointer;display:block;width:100%;opacity:0;transform:translateY(18px);transition:box-shadow .25s ease,transform .6s ease,opacity .6s ease}.gallery-item.revealed{opacity:1;transform:translateY(0)}.gallery-item.revealed:focus-visible,.gallery-item.revealed:hover{box-shadow:0 16px 34px rgba(74,44,26,.2);transform:translateY(-3px);outline:none}.gallery-item:focus-visible{border-color:var(--gold-dark)}.gallery-item .frame-inner{overflow:hidden;display:block}.gallery-item img{width:100%;height:auto;display:block;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.04)}.book-section{padding:64px 20px 30px;max-width:1160px;margin:0 auto;text-align:center}.book-cta{display:inline-block;border:none;background:none;padding:0;cursor:pointer;font:inherit}.book-cta-cover{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:min(480px,86vw);aspect-ratio:5/4;background:radial-gradient(circle at 30% 18%,rgba(226,200,136,.16),transparent 42%),linear-gradient(135deg,#3a2212,#4a2c1a 48%,#2f1c0d);border:1px solid rgba(200,165,90,.5);border-radius:6px 14px 14px 6px;box-shadow:-6px 0 0 -2px #241307,-11px 0 0 -4px #1c0f06,0 26px 54px rgba(58,34,18,.45),inset 0 1px 0 rgba(226,200,136,.3);transition:transform .3s ease,box-shadow .3s ease}.book-cta:focus-visible .book-cta-cover,.book-cta:hover .book-cta-cover{transform:translateY(-6px) rotate(-.5deg);box-shadow:-6px 0 0 -2px #241307,-11px 0 0 -4px #1c0f06,0 36px 70px rgba(58,34,18,.55),inset 0 1px 0 rgba(226,200,136,.4)}.book-cta:focus-visible{outline:none}.book-cta-border{position:absolute;inset:14px;border:2px double rgba(200,165,90,.55);border-radius:4px;pointer-events:none}.book-cta-eyebrow{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:rgba(226,200,136,.75);font-weight:500}.book-cta-title{font-family:var(--font-cormorant),serif;font-size:clamp(24px,4vw,34px);letter-spacing:.12em;text-transform:uppercase;color:#f0e2c4;font-weight:400}.book-cta-title .amp{font-style:italic;color:var(--gold-light)}.book-cta-script{font-family:var(--font-vibes),cursive;font-size:clamp(28px,4.6vw,42px);color:var(--gold-light)}.book-cta-line{width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-light),transparent);margin:8px 0}.book-cta-sub{font-size:11px;color:rgba(226,200,136,.6);font-weight:500}.book-cta-open,.book-cta-sub{letter-spacing:4px;text-transform:uppercase}.book-cta-open{display:inline-flex;align-items:center;gap:12px;margin-top:26px;padding:14px 34px;border:1px solid var(--gold);background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff;font-family:var(--font-cormorant),serif;font-size:14px;font-weight:600;box-shadow:0 10px 26px rgba(74,44,26,.28);transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.book-cta-open svg{width:15px;height:15px}.book-cta:focus-visible .book-cta-open,.book-cta:hover .book-cta-open{background:linear-gradient(135deg,var(--gold-light),var(--gold));transform:translateY(-1px);box-shadow:0 14px 32px rgba(74,44,26,.36)}.book-zone{max-width:1020px;margin:0 auto}.book-cover{touch-action:none;padding:clamp(10px,1.6vw,18px);background:linear-gradient(135deg,#3a2212,#4a2c1a 48%,#35200f);border:1px solid rgba(200,165,90,.35);border-radius:8px;box-shadow:0 30px 60px rgba(58,34,18,.35),inset 0 1px 0 rgba(226,200,136,.25)}.book{position:relative;width:100%;aspect-ratio:5/2;perspective:3000px;background:#efe5d1;border-radius:3px;overflow:hidden}.book-half{position:absolute;top:0;bottom:0;width:50%;border:0;padding:0;background:none;cursor:pointer;text-align:inherit;font:inherit;color:inherit}.book-half:disabled{cursor:default}.book-left{left:0}.book-right{right:0}.page-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(112deg,rgba(255,255,255,.35),transparent 40%),repeating-linear-gradient(180deg,transparent,transparent 30px,rgba(154,120,48,.05) 31px),#f8efdd;overflow:hidden}.page-shade{position:absolute;top:0;bottom:0;width:12%;pointer-events:none}.page-shade-left{right:0;background:linear-gradient(90deg,transparent,rgba(74,44,26,.14))}.page-shade-right{left:0;background:linear-gradient(90deg,rgba(74,44,26,.14),transparent)}.book-spine{top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(74,44,26,.35),rgba(74,44,26,.2),rgba(74,44,26,.35));z-index:5}.book-spine,.page-corner{position:absolute;pointer-events:none}.page-corner{width:clamp(24px,3.6vw,42px);height:clamp(24px,3.6vw,42px);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23a98a4f' stroke-width='1.6'%3E%3Cpath d='M4 46 V12 Q4 4 12 4 H46'/%3E%3Cpath d='M12 42 V18 Q12 12 18 12 H42' stroke-width='1' opacity='.55'/%3E%3C/g%3E%3Ccircle cx='50' cy='4' r='2' fill='%23a98a4f'/%3E%3Ccircle cx='4' cy='50' r='2' fill='%23a98a4f'/%3E%3Crect x='17' y='17' width='6' height='6' fill='%23a98a4f' transform='rotate(45 20 20)'/%3E%3C/svg%3E") 50% /contain no-repeat;opacity:.7;z-index:3}.pc-tl{left:clamp(7px,1.1vw,13px)}.pc-tl,.pc-tr{top:clamp(7px,1.1vw,13px)}.pc-tr{transform:rotate(90deg)}.pc-br,.pc-tr{right:clamp(7px,1.1vw,13px)}.pc-br{transform:rotate(180deg)}.pc-bl,.pc-br{bottom:clamp(7px,1.1vw,13px)}.pc-bl{left:clamp(7px,1.1vw,13px);transform:rotate(270deg)}.page-watermark{position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%239a7830' stroke-width='1.1'%3E%3Cellipse cx='50' cy='50' rx='7' ry='24'/%3E%3Cellipse cx='50' cy='50' rx='7' ry='24' transform='rotate(30 50 50)'/%3E%3Cellipse cx='50' cy='50' rx='7' ry='24' transform='rotate(60 50 50)'/%3E%3Cellipse cx='50' cy='50' rx='7' ry='24' transform='rotate(90 50 50)'/%3E%3Cellipse cx='50' cy='50' rx='7' ry='24' transform='rotate(120 50 50)'/%3E%3Cellipse cx='50' cy='50' rx='7' ry='24' transform='rotate(150 50 50)'/%3E%3Ccircle cx='50' cy='50' r='6'/%3E%3Ccircle cx='50' cy='50' r='34' stroke-dasharray='1.5 4' opacity='.7'/%3E%3Ccircle cx='50' cy='50' r='44' opacity='.4'/%3E%3C/g%3E%3C/svg%3E") 50% /min(62%,340px) no-repeat;opacity:.07;pointer-events:none;z-index:0}.page-photos{display:block}.page-collage{position:absolute;inset:clamp(10px,1.6vw,18px);display:grid;grid-gap:clamp(6px,.9vw,10px);gap:clamp(6px,.9vw,10px);z-index:1}.page-collage.pl-full{inset:clamp(18px,2.4vw,30px)}.page-collage.pl-duo{grid-template-columns:1fr 1fr}.page-collage.pl-trio{grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr}.page-collage.pl-trio .page-slot:first-child{grid-row:1/3}.page-collage.pl-quad{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.page-slot{position:relative;overflow:hidden;background:rgba(255,252,245,.9);min-height:0;min-width:0;border:2px solid rgba(255,252,245,.95);box-shadow:0 4px 14px rgba(74,44,26,.14);display:flex;align-items:center;justify-content:center}.page-slot:after,.page-slot:before{content:"";position:absolute;width:0;height:0;border:clamp(7px,1vw,11px) solid transparent;z-index:2;pointer-events:none}.page-slot:before{top:0;left:0;border-top-color:rgba(200,165,90,.65);border-left-color:rgba(200,165,90,.65)}.page-slot:after{bottom:0;right:0;border-bottom-color:rgba(200,165,90,.65);border-right-color:rgba(200,165,90,.65)}.page-collage.pl-full .page-slot{background:rgba(255,252,245,.75);border:1px solid rgba(154,120,48,.35)}.page-slot img{width:100%;height:100%;object-fit:contain;display:block}.page-frame{position:absolute;inset:clamp(6px,1vw,12px);border:1px solid rgba(200,165,90,.55);pointer-events:none;z-index:3}.page-num{position:absolute;bottom:clamp(7px,1vw,13px);left:50%;transform:translateX(-50%);z-index:4;font-size:clamp(9px,1vw,11px);letter-spacing:2px;color:var(--brown-mid);background:rgba(248,239,221,.88);padding:2px 9px;border:1px solid rgba(154,120,48,.3);font-weight:500}.page-quote{position:absolute;gap:clamp(8px,1.4vw,16px)}.page-quote-mark{font-size:clamp(38px,5vw,64px);color:rgba(200,165,90,.45);line-height:.4;font-weight:300}.page-quote-mark,.page-quote-text{font-family:var(--font-cormorant),serif}.page-quote-text{font-size:clamp(13px,1.9vw,23px);font-style:italic;font-weight:400;color:rgba(74,44,26,.82);line-height:1.6;max-width:34ch}.page-quote-diamond{width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}.page-deco{text-align:center;padding:clamp(14px,3vw,40px)}.page-deco-eyebrow{font-size:clamp(8px,1.1vw,11px);letter-spacing:4px;text-transform:uppercase;color:rgba(122,80,48,.7);font-weight:600;margin-bottom:12px}.page-deco-title{font-family:var(--font-cormorant),serif;font-size:clamp(18px,3.2vw,38px);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:rgba(91,57,18,.9)}.page-deco-title span{font-style:italic;color:var(--gold-dark)}.page-deco-script{font-family:var(--font-vibes),cursive;font-size:clamp(20px,3.4vw,40px);color:var(--gold-dark);margin-top:6px}.page-deco-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:clamp(8px,1.6vw,18px) auto}.page-deco-sub{font-size:clamp(8px,1.2vw,12px);letter-spacing:2.5px;text-transform:uppercase;color:var(--brown-mid);line-height:2}.page-deco-hint{margin-top:clamp(10px,2vw,22px);font-size:clamp(10px,1.3vw,14px);font-style:italic;color:var(--brown-light)}.page-deco-flower{width:clamp(56px,8vw,90px);height:auto;opacity:.8;margin-bottom:6px}.book-leaf{position:absolute;top:0;bottom:0;width:50%;z-index:10;transform-style:preserve-3d;pointer-events:none}.leaf-fwd{left:50%;transform-origin:left center;animation:leaf-turn-fwd .9s cubic-bezier(.45,.05,.35,1) both}.leaf-bwd{left:0;transform-origin:right center;animation:leaf-turn-bwd .9s cubic-bezier(.45,.05,.35,1) both}@keyframes leaf-turn-fwd{0%{transform:rotateY(0deg)}to{transform:rotateY(-180deg)}}@keyframes leaf-turn-bwd{0%{transform:rotateY(0deg)}to{transform:rotateY(180deg)}}.leaf-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;background:#f8efdd;box-shadow:0 0 26px rgba(58,34,18,.25)}.leaf-back{transform:rotateY(180deg)}.leaf-face:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(74,44,26,.22),transparent 45%);animation:leaf-shade .9s ease-in-out both}@keyframes leaf-shade{0%{opacity:0}50%{opacity:1}to{opacity:0}}.book-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:26px}.book-btn{position:static;background:rgba(246,236,216,.9);border-color:rgba(154,120,48,.55);color:var(--gold-dark)}.book-btn:focus-visible:not(:disabled),.book-btn:hover:not(:disabled){background:rgba(200,165,90,.25);border-color:var(--gold-dark)}.book-btn:disabled{opacity:.35;cursor:default}.book-counter{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--brown-mid);font-weight:500;min-width:180px;text-align:center}.book-hint{text-align:center;margin-top:12px;font-size:13px;font-style:italic;color:var(--brown-light)}.book-zone.is-fs{position:fixed;inset:0;z-index:66;background:radial-gradient(ellipse at center,rgba(74,44,26,.5) 0,transparent 70%),#180d05;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:none;padding:64px 96px 20px;animation:lb-fade .35s ease}.book-zone.is-fs .book-cover{width:100%;max-width:min(1720px,calc((100vh - 190px) * 2.55))}.book-fs-title{position:absolute;top:22px;left:50%;transform:translateX(-50%);color:var(--gold-light);font-family:var(--font-cormorant),serif;font-size:13px;letter-spacing:5px;text-transform:uppercase;white-space:nowrap}.book-fs-title span{font-style:italic}.book-fs-btn{position:absolute;top:50%;transform:translateY(-50%);width:58px;height:58px;font-size:30px;background:rgba(28,15,6,.45)}.book-fs-btn:disabled{opacity:.3;cursor:default}.book-fs-prev{left:20px}.book-fs-next{right:20px}.book-fs-close{position:absolute;top:16px;right:18px}.book-zone.is-fs .book-counter{margin-top:16px;color:var(--gold-light)}@media (prefers-reduced-motion:reduce){.leaf-bwd,.leaf-face:after,.leaf-fwd{animation-duration:.01ms!important}}.site-footer{background:var(--brown-deep);padding:48px 24px 42px;text-align:center}.site-footer svg{width:90px;height:auto;opacity:.8;margin-bottom:16px}.site-footer .family-name{font-size:13px;letter-spacing:5px;text-transform:uppercase;color:var(--gold-light);font-weight:500;margin-bottom:12px}.site-footer .ps{font-size:14px;color:rgba(255,255,255,.45);font-style:italic;letter-spacing:1px}.welcome-overlay{position:fixed;inset:0;z-index:70;background:rgba(20,10,4,.72);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px;animation:lb-fade .4s ease}.welcome-panel{position:relative;max-width:520px;width:100%;background:radial-gradient(circle at 28% 15%,rgba(255,255,255,.56),transparent 30%),#f6ecd8;border:1px solid rgba(154,120,48,.6);box-shadow:0 30px 80px rgba(0,0,0,.5);text-align:center;padding:48px 36px 38px;animation:welcome-pop .55s cubic-bezier(.2,.9,.3,1.2) both}.welcome-panel:before{content:"";position:absolute;inset:10px;border:3px double rgba(154,120,48,.65);pointer-events:none}@keyframes welcome-pop{0%{opacity:0;transform:scale(.88) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}.welcome-eyebrow{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:rgba(122,80,48,.75);font-weight:600;margin-bottom:14px}.welcome-title{font-family:var(--font-cormorant),serif;font-size:clamp(30px,6vw,42px);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:rgba(91,57,18,.9)}.welcome-title span{font-style:italic;color:var(--gold-dark)}.welcome-script{font-family:var(--font-vibes),cursive;font-size:clamp(26px,5vw,36px);color:var(--gold-dark);margin-top:4px}.welcome-line{width:70px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:18px auto}.welcome-text{font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--brown-mid);line-height:2;margin-bottom:26px}.welcome-start{width:100%;justify-content:center}.lock-overlay{background:radial-gradient(ellipse at center,rgba(74,44,26,.55) 0,transparent 75%),#180d05;-webkit-backdrop-filter:none;backdrop-filter:none}.lock-icon{width:34px;height:34px;color:var(--gold-dark);margin:0 auto 12px;display:block}.lock-text{font-size:15px;font-style:italic;color:var(--brown-mid);letter-spacing:.5px;margin-bottom:20px}.lock-input{width:100%;padding:13px 16px;border:1px solid rgba(154,120,48,.55);background:rgba(255,252,245,.9);color:var(--text);font-family:var(--font-cormorant),serif;font-size:17px;letter-spacing:2px;text-align:center;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.lock-input:focus{border-color:var(--gold-dark);box-shadow:0 0 0 3px rgba(200,165,90,.18)}.lock-input::placeholder{color:var(--brown-light);font-style:italic;letter-spacing:1px}.lock-error{margin-top:10px;font-size:13.5px;font-style:italic;color:#a03a2a;letter-spacing:.5px}.lock-submit{margin-top:16px}.lock-submit:disabled{opacity:.55;cursor:default;transform:none}.lock-shake{animation:lock-shake .45s ease}@keyframes lock-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-9px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(4px)}}.welcome-skip{display:block;margin:16px auto 0;background:none;border:none;color:var(--brown-light);font-family:var(--font-cormorant),serif;font-size:14px;font-style:italic;letter-spacing:1px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;-webkit-text-decoration-color:rgba(160,120,80,.4);text-decoration-color:rgba(160,120,80,.4);transition:color .2s ease}.welcome-skip:hover{color:var(--gold-dark)}.lightbox-overlay{position:fixed;inset:0;z-index:50;background:rgba(28,15,6,.96);display:flex;align-items:center;justify-content:center;animation:lb-fade .25s ease}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lightbox-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:56px 72px}.lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain;border:1px solid rgba(200,165,90,.4);background:rgba(255,248,234,.06);padding:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.lightbox-btn{position:absolute;z-index:51;background:rgba(28,15,6,.35);border:1px solid rgba(226,200,136,.45);color:var(--gold-light);font-family:var(--font-cormorant),serif;font-size:22px;line-height:1;width:46px;height:46px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease}.lightbox-btn:focus-visible,.lightbox-btn:hover{background:rgba(200,165,90,.22);border-color:var(--gold-light);outline:none}.lightbox-close{top:18px;right:18px}.lightbox-prev{left:14px}.lightbox-next,.lightbox-prev{top:50%;transform:translateY(-50%)}.lightbox-next{right:14px}.lightbox-counter{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:var(--gold-light);font-size:12px;letter-spacing:4px;text-transform:uppercase;font-family:var(--font-cormorant),serif}.music-toggle{position:fixed;right:22px;bottom:22px;z-index:40;width:52px;height:52px;border-radius:50%;border:1px solid rgba(154,120,48,.6);background:rgba(246,236,216,.95);color:var(--gold-dark);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(74,44,26,.22);transition:transform .2s ease}.music-toggle:hover{transform:scale(1.06)}.music-toggle svg{width:22px;height:22px}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.anim-1,.anim-2,.anim-3,.anim-4,.anim-5{animation:fade-up .9s ease both}.anim-2{animation-delay:.15s}.anim-3{animation-delay:.3s}.anim-4{animation-delay:.45s}.anim-5{animation-delay:.6s}@media (prefers-reduced-motion:reduce){.anim-1,.anim-2,.anim-3,.anim-4,.anim-5,.gallery-item{animation:none;opacity:1;transform:none}.hero-bg{animation:none}.slide{animation-duration:.01ms!important}}.slideshow-overlay{position:fixed;inset:0;z-index:60;background:#180d05;overflow:hidden;animation:lb-fade .35s ease}.slideshow-vignette{position:absolute;inset:0;z-index:62;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(20,10,4,.55) 100%)}.slideshow-title{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:63;color:var(--gold-light);font-family:var(--font-cormorant),serif;font-size:13px;letter-spacing:5px;text-transform:uppercase;white-space:nowrap}.slideshow-title span{font-style:italic}.slideshow-stage{touch-action:none}.slide,.slideshow-stage{position:absolute;inset:0}.slide{width:100%;height:100%;object-fit:contain;padding:48px 24px 72px;box-sizing:border-box}.slide-prev{z-index:1;animation:slide-out 1.4s ease both}@keyframes slide-out{0%{opacity:1}to{opacity:0}}.slideshow-stage .slide:last-child{z-index:2}.is-paused .slide{animation-play-state:paused}.fx-fade{animation:fx-fade 5.2s ease both}@keyframes fx-fade{0%{opacity:0}18%{opacity:1}to{opacity:1}}.fx-kb-in{animation:fx-kb-in 6.5s ease-out both}@keyframes fx-kb-in{0%{opacity:0;transform:scale(1.01)}15%{opacity:1}to{opacity:1;transform:scale(1.1)}}.fx-kb-out{animation:fx-kb-out 6.5s ease-out both}@keyframes fx-kb-out{0%{opacity:0;transform:scale(1.12)}15%{opacity:1}to{opacity:1;transform:scale(1)}}.fx-slide-left{animation:fx-slide-left 6.5s ease-out both}@keyframes fx-slide-left{0%{opacity:0;transform:translateX(5%) scale(1.05)}18%{opacity:1}to{opacity:1;transform:translateX(-1.5%) scale(1.05)}}.fx-slide-right{animation:fx-slide-right 6.5s ease-out both}@keyframes fx-slide-right{0%{opacity:0;transform:translateX(-5%) scale(1.05)}18%{opacity:1}to{opacity:1;transform:translateX(1.5%) scale(1.05)}}.fx-zoom{animation:fx-zoom 5.6s ease-out both}@keyframes fx-zoom{0%{opacity:0;transform:scale(.92)}20%{opacity:1}to{opacity:1;transform:scale(1)}}.slideshow-progress{position:absolute;bottom:0;left:0;right:0;height:3px;z-index:63;background:rgba(226,200,136,.15)}.slideshow-progress-bar{height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--gold-dark),var(--gold-light));animation:progress-grow linear both}.is-paused .slideshow-progress-bar{animation-play-state:paused}@keyframes progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.slideshow-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:64;display:flex;gap:14px}.slideshow-controls .lightbox-btn{position:static}.slideshow-overlay .lightbox-close{position:absolute}.slideshow-overlay .lightbox-counter{bottom:40px;left:auto;right:24px;transform:none;z-index:64}.lightbox-btn.is-active{background:rgba(200,165,90,.28);border-color:var(--gold-light)}@media (max-width:900px){.milestones-inner{grid-template-columns:1fr;gap:28px}.milestone-photo{order:-1}}@media (max-width:640px){.site-header-inner{padding:calc(10px + env(safe-area-inset-top, 0px)) 14px 10px;flex-wrap:wrap;row-gap:6px;justify-content:center}.site-brand{font-size:15px;letter-spacing:.12em}.site-nav{gap:14px}.nav-link-btn,.site-nav a{font-size:12px;letter-spacing:2px}.nav-slideshow-btn{padding:8px 14px;font-size:11px;letter-spacing:2px}.hero-content{padding:96px 18px 80px}.hero-eyebrow{font-size:11px;letter-spacing:4px}.hero-badge{font-size:11px;letter-spacing:1.6px;padding:9px 14px}.btn-gold,.btn-outline{padding:13px 26px;font-size:13px;letter-spacing:2.5px}.hero-actions .btn-gold,.hero-actions .btn-outline{padding:9px 16px;font-size:11px;letter-spacing:2px}.milestones{padding:52px 18px 20px}.love-message{padding:36px 30px 8px}.quote-mark{font-size:50px;left:2px;top:20px}.quote-mark.right{right:2px;bottom:-12px}.gallery-section{padding:44px 16px 54px}.book-section{padding:44px 10px 20px}.book{aspect-ratio:4/3}.book-zone.is-fs{padding:56px 12px 12px}.book-fs-btn{width:44px;height:44px;font-size:24px;top:auto;bottom:88px;transform:none}.book-fs-prev{left:10px}.book-fs-next{right:10px}.book-fs-title{font-size:10px;letter-spacing:3px;left:16px;transform:none;max-width:calc(100% - 80px);overflow:hidden;text-overflow:ellipsis;top:calc(22px + env(safe-area-inset-top, 0px))}.book-fs-btn{bottom:calc(88px + env(safe-area-inset-bottom, 0px))}}.book-rotate-hint{display:none}@media (max-width:640px) and (orientation:portrait){.book-rotate-hint{display:block;position:absolute;top:calc(46px + env(safe-area-inset-top, 0px));left:50%;transform:translateX(-50%);color:rgba(226,200,136,.75);font-size:11px;font-style:italic;letter-spacing:1.5px;white-space:nowrap}}@media (max-width:640px){.book-counter{min-width:0;font-size:11px;letter-spacing:2px}.welcome-panel{padding:38px 22px 30px}.welcome-text{font-size:12px;letter-spacing:1.8px}.lightbox-stage{padding:64px 10px 48px}.lightbox-prev{left:6px}.lightbox-next{right:6px}.music-toggle{right:14px;bottom:calc(14px + env(safe-area-inset-bottom, 0px));width:48px;height:48px}.slideshow-title{font-size:10px;letter-spacing:3px;max-width:calc(100% - 90px);overflow:hidden;text-overflow:ellipsis;left:16px;transform:none}.slide{padding:40px 8px 84px}.slideshow-overlay .lightbox-counter{right:12px;bottom:88px}.slideshow-controls{bottom:calc(18px + env(safe-area-inset-bottom, 0px))}}@media (max-width:700px) and (orientation:portrait){.book-zone.is-fs,.slideshow-overlay{top:50%;left:50%;right:auto;bottom:auto;width:100vh;height:100vw;width:100dvh;height:100dvw;transform:translate(-50%,-50%) rotate(90deg)}.book-zone.is-fs{padding:44px 58px 10px}.book-zone.is-fs .book-cover{max-width:none;width:100%}.book-zone.is-fs .book{aspect-ratio:5/2}.book-fs-btn{top:50%;bottom:auto;transform:translateY(-50%);width:42px;height:42px;font-size:22px}.book-fs-prev{left:8px}.book-fs-next{right:8px}.book-fs-title{top:14px}.book-rotate-hint{display:none}.slideshow-controls{bottom:14px}.slideshow-overlay .lightbox-counter{bottom:78px}.slide{padding:38px 12px 70px}}