@font-face{font-family:Portrait;src:url('cormorant-regular.ttf') format('truetype');font-display:swap;font-weight:400}@font-face{font-family:Portrait;src:url('cormorant-semibold.ttf') format('truetype');font-display:swap;font-weight:600}@font-face{font-family:Signature;src:url('great-vibes.ttf') format('truetype');font-display:swap}
:root{--red:#7a0f17;--bright-red:#a3141f;--gold:#e6c27a;--cream:#f7ecd9;--ink:#4c2c1d;--glass:rgba(40,10,8,.79);--edge:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#63351f url('room-night-snow.jpg') center/cover;color:var(--cream);font:16px/1.65 Arial,sans-serif;isolation:isolate;overflow-x:clip}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:Portrait,Georgia,serif;font-weight:400;line-height:1.05}h2{font-size:clamp(38px,4vw,58px);letter-spacing:-.025em}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{color:inherit}button:disabled{opacity:.55}.script{font-family:Signature,cursive;font-weight:400}.eyebrow{font:10px/1.6 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#f1d29c}.wrap{width:calc(100% - var(--edge)*2);max-width:1280px;margin-inline:auto}.glass{background:var(--glass);border:1px solid #e6c27a88;border-radius:5px;box-shadow:0 15px 40px #20090626;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.section{padding-block:38px;position:relative}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:13px 24px;border:1px solid #d9ae56;background:linear-gradient(135deg,#f4dca1,#c9a14a);color:#4e2318;font-size:13px;font-weight:600;letter-spacing:.025em;border-radius:2px}.button:hover{filter:brightness(1.07)}.skip{position:fixed;left:8px;top:8px;z-index:100;padding:12px;background:var(--cream);color:var(--red);transform:translateY(-150%)}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.preview{position:absolute;inset:0 0 auto;z-index:21;text-align:center;background:#42100cd9;padding:5px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #e6c27a55}header{position:absolute;top:29px;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px var(--edge);background:linear-gradient(#39110cb3,transparent)}.wordmark{font:24px/1.04 Portrait,serif;max-width:235px}.wordmark small{display:block;font:9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#f3d29a;margin-top:7px}nav{display:flex;gap:26px;align-items:center;font-size:12px}.nav-give{border:1px solid #e6c27aaa;padding:10px 16px;background:#7a0f174d}.experience-controls{display:flex;position:fixed;bottom:15px;right:15px;z-index:50;padding:2px;border:1px solid #e6c27a88;border-radius:30px;background:#54121bd9;backdrop-filter:blur(6px)}.experience-controls button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:none;color:#ffeac8}.experience-controls .motion-label,.sound-label{display:none}.motion-icon{margin:0}
/* Viewport scene layers remain visible between all compact sections. */
.room-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:url('room-night-snow.jpg') center/cover}.room-scene{position:absolute;inset:0;display:block;opacity:0;transition:opacity 1.1s ease}.room-scene.active{opacity:1}.room-scene img{display:block;width:100%;height:100%;object-fit:cover;animation:room-drift 35s ease-in-out infinite alternate}.room-shade{position:absolute;inset:0;background:#35120a1c}.room-backdrop.is-closing .room-shade{background:#240b0866}.room-fireglow{position:absolute;right:0;top:36%;width:27%;height:45%;background:radial-gradient(ellipse,#ffc36b40,transparent 68%);filter:blur(20px);mix-blend-mode:screen;animation:fire-flicker 4s infinite alternate}.room-backdrop[data-current=tree] .room-fireglow{left:25%;right:auto}.room-backdrop[data-current=fire] .room-fireglow{left:65%;right:auto;width:32%}.room-sparkles i{position:absolute;left:10%;top:22%;width:4px;height:4px;background:#fff1b3;box-shadow:0 0 12px 4px #f9c76455;border-radius:50%;animation:twinkle 5s ease-in-out infinite}.room-sparkles i:nth-child(2){left:18%;top:36%;animation-delay:-1s}.room-sparkles i:nth-child(3){left:8%;top:52%;animation-delay:-3s}.room-sparkles i:nth-child(4){left:22%;top:16%;animation-delay:-2s}.room-sparkles i:nth-child(5){left:26%;top:61%;animation-delay:-4s}.room-backdrop[data-current=fire] .room-sparkles,.room-backdrop[data-current=hero] .room-sparkles{opacity:0}
/* Eleven real photographs, composed as a full-view photograph over an ambient copy. */
.hero{position:relative;height:min(88svh,820px);min-height:680px;padding:125px var(--edge) 30px;background:linear-gradient(90deg,#57241988,transparent 65%);overflow:hidden}.hero-slideshow{height:100%;position:relative;display:flex;align-items:center;gap:4%;touch-action:pan-y}.hero-photo{position:absolute;inset:0 0 0 42%;border:1px solid #e6c27aaa;border-radius:5px;overflow:hidden;background:#46231766;box-shadow:0 15px 55px #21080544}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.3s ease;pointer-events:none}.hero-slide.active{opacity:1}.hero-slide img{display:block;width:100%;height:100%;position:absolute;inset:0}.slide-ambient{object-fit:cover;filter:blur(18px) brightness(.7) saturate(.95);transform:scale(1.08)}.slide-front{object-fit:contain;object-position:center;filter:brightness(1.06) saturate(1.05);padding:13px 13px 52px}.hero-slide.active .slide-front{animation:photo-drift 8s ease-out both}.hero-copy{position:relative;max-width:39%;z-index:2;padding:32px 0;text-shadow:0 2px 18px #35120977}.hero h1{font-size:clamp(68px,6.2vw,100px);line-height:.88;letter-spacing:-.025em;margin-top:18px}.hero h1 .script{display:block;font-size:1.12em;line-height:1.12;color:#ffe0a5;margin-top:4px}.subtitle{font:27px/1.16 Portrait,serif;color:#fff0d8;margin-top:16px}.subtitle span{font-size:22px}.hero-tagline{color:#ffe0ad;font-size:13px;margin:18px 0 21px;letter-spacing:.04em}.hero-tagline strong{font-weight:400}.slide-toolbar{position:absolute;bottom:7px;left:10px;right:10px;z-index:5;display:flex;justify-content:center;align-items:center;gap:8px;padding:4px;border-radius:28px;background:#46150dd9}.slide-toolbar>button{width:34px;height:34px;border:1px solid #e6c27a66;border-radius:50%;background:transparent;font-size:17px}.slide-dots{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;max-width:210px}.slide-dots button{border:1px solid #f3d59d;background:#fff0;width:9px;height:9px;padding:0;border-radius:50%}.slide-dots button[aria-current=true]{background:#f3d59d}.hero-bells{position:absolute!important;left:calc(var(--edge) + 210px);top:86px;width:95px;height:86px;z-index:6}
.story-card{max-width:960px;margin-right:var(--edge);padding:30px 36px}.story h2{font-size:48px;max-width:850px;margin:12px 0 19px}.story-copy{columns:2;column-gap:36px}.story-copy>p{break-inside:avoid;font-size:16px;line-height:1.65;margin-bottom:15px;color:#f8e8cd}.story-copy>.story-opening{font:600 22px/1.45 Portrait,serif;color:#ffe2b1;column-span:all;margin-bottom:17px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-block:1px solid #e6c27a55;padding:17px 0;margin-top:5px}.stats strong{font:34px/1.1 Portrait,serif;display:block;color:#ffdda1}.stats span{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#f3d6ad;margin-top:6px}.film-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.film-row button{display:flex;align-items:center;text-align:left;gap:13px;padding:11px 13px;background:#a8622c1c;border:1px solid #e6c27a66;color:#fff0d3;font:23px/1.1 Portrait,serif}.film-row i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e6c27a66;border-radius:50%;font:24px Georgia;flex-shrink:0}.film-row small{display:block;font:10px/1.5 Arial,sans-serif;color:#e6cba5;margin-top:4px}
.collection{padding:25px 26px;max-width:1140px}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.collection h2{font-size:45px;margin-top:6px}.strip-arrows{display:flex;gap:8px;flex-shrink:0}.strip-arrows button{border:1px solid #e6c27a88;background:#7a0f1733;width:42px;height:42px;font-size:20px}.photo-strip{display:grid;grid-auto-flow:column;grid-auto-columns:235px;gap:15px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#c9a14a #4b160f;overscroll-behavior-x:contain}.memory{display:block;min-width:0;background:transparent;border:0;padding:0;text-align:left;scroll-snap-align:start;color:#fff0d7}.memory .image{display:block;position:relative;width:100%;aspect-ratio:4/3;border:2px solid #c9a14a;background:#2b100c66}.memory img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain;filter:none}.memory .caption{display:block;font:20px/1.2 Portrait,serif;min-height:49px;padding:10px 0 0}.strip-note{font:11px/1.6 Arial,sans-serif;color:#ebd1ac;margin-top:9px}
.give{padding-bottom:40px}.giving-wrap{max-width:1140px}.give-intro{padding:0 0 20px;text-shadow:0 1px 10px #281108}.give-intro h2{font-size:54px;margin-top:4px}.give-intro .script{font-size:1.15em;color:#ffdda0}.give-card{position:relative;isolation:isolate;background:rgba(255,248,235,.9);border:2px solid #c9a14a;box-shadow:0 18px 55px #21080533;border-radius:5px;color:var(--ink);padding:28px 30px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.give-card:before{content:"";position:absolute;inset:7px;border:1px solid #b88d4c66;border-radius:3px;pointer-events:none;z-index:-1}.give-card>.eyebrow{color:#82522a;padding-right:150px}.give-card h3{font-size:45px;margin:9px 0;padding-right:145px;color:#861b25}.give-card .description{font-size:13px;color:#694625;padding-right:140px}.card-bells{position:absolute!important;right:15px;top:0;width:155px;height:155px;z-index:4}.jingle-bells{border:0;background:none;padding:0;cursor:pointer;filter:drop-shadow(0 8px 8px #3e150b30);transform-origin:50% 0}.bell-cluster{display:block;position:absolute;inset:0;animation:bell-ring 7s ease-in-out infinite;transform-origin:50% 0}.bell-cluster.scene3d-ready{animation-name:bell-clock}.bell-spark{position:absolute;top:59%;left:17%;width:5px;height:5px;border-radius:50%;background:#fff8d2;box-shadow:0 0 12px 3px #ffdc8a88;animation:twinkle 7s infinite}.bell-spark.second{left:78%;top:70%;animation-delay:-2s}
.christmas-goal{margin:20px 0 8px;padding:14px 16px;border:1px solid #b68d4880;border-radius:4px;background:linear-gradient(135deg,#fff9e366,#e1bf773d)}.goal-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.goal-heading h4{font:600 25px/1.15 Portrait,serif;color:#7a1a22}#raised-label{font:600 17px Portrait,serif;color:#694020}.goal-meter{height:14px;border:1px solid #c39a47;border-radius:20px;overflow:hidden;position:relative;background:linear-gradient(#61101b,#8e2631 60%,#5b0c16);box-shadow:inset 0 2px 5px #29020a99}.goal-fill{display:block;height:100%;width:0;background:linear-gradient(100deg,#a37729,#e6c27a 30%,#fff0b1 65%,#c9a14a);border-radius:inherit}.goal-meter:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 25%,#fff5c712 45%,#fff7d62b 50%,transparent 70%);animation:goal-sheen 8s ease-in-out infinite}
.gift-and-qr{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px 26px;align-items:start;margin-top:0;min-width:0}.presents{grid-column:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}.present-choice{width:100%;min-width:0}.present-choice .present{width:100%;height:100%}.present{display:flex;flex-direction:column;align-items:center;position:relative;width:100%;min-width:0;color:var(--ink);background:none;border:0;padding:0 0 5px;border-radius:5px;text-align:center}.present:hover,.present[aria-expanded=true]{background:#c69c4b0c}.gift-stage{position:relative;display:block;width:100%;aspect-ratio:650/720;container-type:inline-size;isolation:isolate;filter:drop-shadow(0 8px 8px #43250726)}.scene-fallback,.scene-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.scene-canvas{opacity:0}.scene3d-ready>.scene-canvas{opacity:1}.scene3d-ready>.scene-fallback{opacity:0!important}.scene-fallback-open{opacity:0}.present[aria-expanded=true] .scene-fallback-closed{opacity:0}.present[aria-expanded=true] .scene-fallback-open{opacity:1}.gift-tag{position:absolute;right:0;bottom:12%;z-index:5;transform:rotate(-9deg);font:600 26px/1.1 Portrait,serif;background:linear-gradient(120deg,#fff9e8,#e7d2a4);padding:7px 10px;color:#4a3020;border:1px solid #d0b47d;box-shadow:1px 3px 6px #0003}.gift-tag:before{content:"";position:absolute;left:8px;top:-23px;height:23px;width:1px;background:#e7c889;transform:rotate(-25deg)}.present-label{font:23px/1.2 Portrait,serif;display:block;margin-top:6px;min-height:57px}.present-hint{display:block;font:10px/1.4 Arial,sans-serif;color:#765532;margin-top:7px}.gift-reveal{position:absolute;left:2%;width:96%;top:39%;z-index:6;font:600 clamp(24px,17cqw,52px)/1 Portrait,serif;font-variant-numeric:lining-nums tabular-nums;color:#efb83f;-webkit-text-stroke:.35px #825314;text-shadow:0 1px #fff2c4,0 2px 2px #70430788,0 0 12px #ffcf6e;opacity:0;transform:translateY(20px) scale(.65);transition:transform .85s .08s cubic-bezier(.2,.8,.2,1),opacity .6s;pointer-events:none}.present[aria-expanded=true] .gift-reveal{opacity:1;transform:translateY(-50%) scale(1)}.gift-glow{position:absolute;inset:22% 5% 12%;background:radial-gradient(ellipse at 50% 75%,#ffdb7eaa,transparent 67%);opacity:0;z-index:-1}.present[aria-expanded=true] .gift-glow{opacity:1}
#custom-panel{grid-column:1;width:min(100%,420px);justify-self:center;padding:12px 16px;background:#fff4dbb3;border:1px solid #b18a3a;border-radius:4px}#custom-panel[hidden]{display:none}.custom-label{display:block;font-size:12px;margin:0 0 7px;color:#61451f}.custom-wrap{display:flex;align-items:center;border-bottom:1px solid #ae843d;min-width:0}.custom-wrap span{font:30px Portrait,serif;margin-right:5px}.custom-wrap input{width:100%;min-width:0;min-height:44px;border:0;background:none;color:#4c2c1d;font:29px Portrait,serif;padding:4px}.custom-wrap input::placeholder{font:15px Arial,sans-serif;color:#72582f}.gift-action-bar{grid-column:1;position:sticky;top:10px;z-index:8;background:rgba(255,248,235,.97);border:1px solid #b68d4899;border-radius:4px;padding:12px 16px 15px;text-align:center;scroll-margin-block:20px}#giving-amount{font:27px/1.2 Portrait,serif;color:#87131e}.paypal-amount-note{font:20px/1.25 Portrait,serif;color:#80212a;margin-top:7px}.give-card .button{display:flex;width:100%;max-width:400px;margin:12px auto 0;background:linear-gradient(135deg,#a3141f,#7a0f17);color:#fff1d4;border-color:#8b1520;min-height:50px;font-size:14px}.paypal-qr{grid-column:2;grid-row:1/4;width:280px;max-width:100%;justify-self:center;align-self:center}.qr-image-link{display:block;border-radius:4px;overflow:hidden;box-shadow:0 10px 20px #62351424}.paypal-qr img{display:block;width:100%;height:auto}.paypal-qr figcaption{text-align:center;color:#6e281d;margin-top:10px;line-height:1.5}.paypal-qr figcaption strong{display:block;font:600 24px/1.2 Portrait,serif}.paypal-qr figcaption span{display:block;font:10px/1.5 Arial,sans-serif;margin-top:5px;color:#674627}.family-gift-note,.preview-note{font-size:11px;line-height:1.6;text-align:center;color:#654324;max-width:620px;margin:13px auto 0}.paypal-direct{text-align:center;margin:6px 0 0}.paypal-direct a{display:inline-block;padding:6px;color:#7a0f17;font:600 20px Portrait,serif;border-bottom:1px solid #b68d48}.give-status{color:#6c4124;font-size:12px;text-align:center;margin-top:9px}.give-status:empty{display:none}.give-status.error{color:#8a1520}.seal{text-align:center;font:29px Signature,cursive;color:#87202a;margin-top:8px}
footer{position:relative;padding:23px var(--edge) 32px;background:#3d10082e;text-align:center;text-shadow:0 1px 6px #240b08;font-size:11px;color:#f4d8ae}footer .footer-script{font:36px/1.25 Signature,cursive;color:#ffe0a8;margin-bottom:9px}footer a{display:inline-block;margin:10px 8px 0;border-bottom:1px solid #e6c27a77;padding:3px}footer small{display:inline-block;font-size:10px;margin:8px}
#optics{position:fixed;inset:0;pointer-events:none;z-index:22;width:100%;height:100%;mix-blend-mode:screen}.grain{position:fixed;inset:0;z-index:23;pointer-events:none;background:url('grain.png');opacity:.022}.modal{padding:45px 25px 22px;width:min(1100px,96vw);height:90svh;max-width:none;max-height:none;border:1px solid #e6c27a99;border-radius:4px;background:#4d1216f7;color:var(--cream);overflow:hidden;box-shadow:0 20px 80px #160704}.modal::backdrop{background:#250c08e6;backdrop-filter:blur(9px)}.modal[open]{display:flex;flex-direction:column}.modal-content{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.modal-content img,.modal-content video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.modal-close{position:absolute;right:8px;top:3px;width:40px;height:38px;font-size:27px;border:0;background:none}.modal-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:15px;flex-shrink:0}.modal-caption{font:27px/1.15 Portrait,serif}.modal-caption small{display:block;font:11px/1.5 Arial,sans-serif;color:#efd2a4;margin-top:7px}.modal-arrows{display:flex;gap:7px}.modal-arrows button{width:42px;height:42px;border:1px solid #e6c27a88;background:none;font-size:20px}
@keyframes photo-drift{from{transform:scale(1)}to{transform:scale(1.025)}}@keyframes room-drift{from{transform:scale(1)}to{transform:scale(1.025)}}@keyframes fire-flicker{0%,100%{opacity:.5}35%{opacity:.85}53%{opacity:.6}78%{opacity:1}}@keyframes twinkle{0%,100%{opacity:.2}50%{opacity:.9}}@keyframes goal-sheen{0%,35%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}@keyframes bell-ring{0%,25%,100%{transform:rotate(0)}3%{transform:rotate(8deg)}7%{transform:rotate(-9deg)}11%{transform:rotate(6deg)}15%{transform:rotate(-4deg)}20%{transform:rotate(2deg)}}@keyframes bell-clock{from{--bell-clock:0}to{--bell-clock:1}}
.paused *,.paused *:before,.paused *:after{animation-play-state:paused!important}.reduced *,.reduced *:before,.reduced *:after{animation:none!important;transition:none!important}.reduced,.paused{scroll-behavior:auto}.reduced #optics{display:none}
@media(max-width:1100px) and (min-width:701px){.hero{min-height:680px}.hero h1{font-size:74px}.hero-copy{max-width:40%}.hero-photo{left:44%}.subtitle{font-size:24px}.subtitle span{font-size:20px}.story-card{padding:28px}.story h2{font-size:43px}.gift-and-qr{grid-template-columns:minmax(0,1fr) 235px;gap:16px 20px}.paypal-qr{width:235px}.present-label{font-size:20px}.gift-tag{font-size:22px}.gift-reveal{font-size:clamp(20px,17cqw,45px)}}
@media(max-width:700px){
 :root{--edge:20px}header{top:26px;padding:14px 20px;gap:12px}.wordmark{font-size:20px;max-width:175px}.wordmark small{font-size:8px;margin-top:6px}nav{gap:0}nav a{display:none}.nav-give{display:block;font-size:10px;padding:9px 11px}.experience-controls{right:8px;bottom:8px}.experience-controls button{width:36px;height:36px}.preview{font-size:8px}
 .hero{height:auto;min-height:0;padding:104px 20px 28px}.hero-slideshow{display:flex;flex-direction:column;gap:0;align-items:stretch}.hero-photo{position:relative;inset:auto;order:1;height:295px;width:100%}.slide-front{padding:8px 8px 48px}.slide-toolbar{left:5px;right:5px;bottom:5px;gap:5px}.slide-toolbar>button{width:29px;height:29px;font-size:15px}.slide-dots{gap:5px;max-width:150px}.slide-dots button{width:7px;height:7px}.hero-copy{order:2;max-width:100%;padding:22px 0 0;text-shadow:0 1px 12px #240b08}.hero-copy>.eyebrow{font-size:9px}.hero h1{font-size:59px;margin-top:12px;line-height:.89;max-width:100%}.hero h1 .script{font-size:1.13em;line-height:1.07;margin-top:3px}.subtitle{font-size:24px;line-height:1.16;margin-top:14px}.subtitle span{font-size:20px}.hero-tagline{font-size:12px;margin:14px 0 18px}.hero-copy .button{min-height:48px;padding:12px 21px;font-size:13px}.hero-bells{display:none}
 .room-scene img{object-position:50% center}.room-fireglow,.room-backdrop[data-current=tree] .room-fireglow,.room-backdrop[data-current=fire] .room-fireglow{left:auto;right:-5%;top:42%;width:32%;height:35%}
 .section{padding-block:23px}.story-card{padding:23px 22px;margin-inline:20px}.story h2{font-size:39px;margin:10px 0 17px}.story-copy{columns:1}.story-copy>.story-opening{font-size:22px;line-height:1.4}.story-copy>p{font-size:15px;line-height:1.65;margin-bottom:14px}.stats{gap:8px;padding:14px 0;margin-top:2px}.stats strong{font-size:25px;line-height:1.05}.stats span{font-size:8px;line-height:1.5;letter-spacing:.02em;margin-top:6px}.film-row{gap:9px;margin-top:16px}.film-row button{font-size:19px;gap:7px;padding:9px 8px;align-items:center}.film-row i{width:29px;height:29px;font-size:20px}.film-row small{font-size:8px;margin-top:4px}
 .collection{padding:21px 19px}.collection-heading{gap:12px;align-items:end;margin-bottom:16px}.collection h2{font-size:36px}.strip-arrows{gap:5px}.strip-arrows button{width:34px;height:34px;font-size:18px}.photo-strip{grid-auto-columns:230px;gap:12px}.memory .caption{font-size:19px;min-height:47px}.strip-note{font-size:10px;line-height:1.5;margin-top:7px}
 .give-intro{padding-bottom:16px}.give-intro h2{font-size:43px;line-height:1.02}.give-intro .script{display:block;font-size:1.13em;line-height:1.1;margin-top:6px}.give-card{padding:22px 12px 21px}.give-card>.eyebrow{font-size:9px;padding-right:110px}.give-card h3{font-size:34px;padding-right:100px;margin-top:10px}.give-card .description{font-size:12px;padding-right:85px;line-height:1.6}.card-bells{width:135px;height:145px;right:-7px;top:0}.christmas-goal{margin-top:18px;padding:12px}.goal-heading{gap:8px;margin-bottom:10px}.goal-heading h4{font-size:23px}#raised-label{font-size:16px}.goal-meter{height:13px}
 .gift-and-qr{grid-template-columns:minmax(0,1fr);gap:17px;margin-top:0}.presents{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:12px;grid-column:1}.present{padding-bottom:0}.present-choice{grid-column:1/-1;width:calc((100% - 14px)/2);justify-self:center}.present-label{font-size:19px;line-height:1.2;min-height:0;margin-top:9px}.present-hint{font-size:10px;margin-top:8px}.gift-tag{font-size:20px;padding:5px 7px;bottom:10%}.gift-tag:before{height:18px;top:-18px}.gift-reveal{font-size:clamp(18px,17cqw,32px)}.present-choice .present[aria-expanded=false] .gift-stage{margin-top:calc(-100% * 271 / 650)}.present-choice .present[aria-expanded=true] .gift-stage{margin-top:0}#custom-panel{grid-column:1;padding:12px 14px}.gift-action-bar{grid-column:1;top:8px;padding:12px 12px 15px}#giving-amount{font-size:25px}.paypal-amount-note{font-size:20px}.give-card .button{font-size:14px;min-height:50px;margin-top:12px}.paypal-qr{grid-column:1;grid-row:auto;width:280px;max-width:100%;justify-self:center}.paypal-qr figcaption strong{font-size:24px}.family-gift-note,.preview-note{font-size:10px;margin-top:12px;line-height:1.6;padding-inline:3px}.paypal-direct a{font-size:20px}.give-status{font-size:11px}.seal{font-size:28px;margin-top:6px}
 footer{padding:22px 20px 55px;font-size:10px}footer .footer-script{font-size:31px}footer small{font-size:9px}.modal{padding:45px 14px 17px;width:96vw;height:90svh}.modal-caption{font-size:24px}.modal-caption small{font-size:10px}.modal-arrows{gap:5px}.modal-arrows button{width:38px;height:40px}
}
@media(max-width:370px){.wordmark{font-size:18px;max-width:151px}.nav-give{font-size:9px;padding:8px}.hero-photo{height:270px}.hero h1{font-size:54px}.slide-dots{max-width:130px;gap:4px}.story h2{font-size:35px}.stats strong{font-size:22px}.film-row button{font-size:17px}.give-card h3{font-size:29px}.present-label{font-size:17px}.gift-tag{font-size:18px}.give-intro h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}#optics{display:none}.scene-canvas{display:none}}

.hero-slideshow.rotation-paused .slide-front{animation-play-state:paused}
/* Deep warm glass behind hero text keeps even the lightest room wall readable. */
.hero-copy:before{content:"";position:absolute;inset:-10px -22px;z-index:-1;border:1px solid #e6c27a55;border-radius:5px;background:#35100cc9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
footer{background:#3d1008a6}
@media(max-width:700px){.hero-copy:before{inset:10px -11px -13px}}
.memory{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.memory .image{flex:none}.memory .caption{height:62px;min-height:62px}
@media(min-width:701px){.hero-bells{top:100px;left:calc(var(--edge) + 250px);width:80px;height:80px}}

/* Mobile <=480px: tuck sound/pause controls; keep text clear. Desktop unchanged. */
@media(max-width:480px){
.experience-controls{right:calc(6px + env(safe-area-inset-right,0px));bottom:calc(6px + env(safe-area-inset-bottom,0px));padding:1px;border-radius:20px}
.experience-controls button{width:28px;height:28px;font-size:11px}
.hero{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
.section{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
.story-card{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
footer{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
}

/* Donate buttons: wreath (default) and plain red+gold fallback. */
.donate-row{display:flex;justify-content:center;padding:10px var(--edge) 36px;max-width:1720px;margin:0 auto}
.donate-btn{appearance:none;-webkit-appearance:none;background-color:transparent;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;min-height:56px;padding:16px 28px;border-radius:999px;background:radial-gradient(ellipse at 30% 0%,#c91d2b 0%,#8e1019 58%,#6a0b12 100%);color:#fff8e8;font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(15px,3.7vw,22px);letter-spacing:.03em;line-height:1.2;text-align:center;text-decoration:none;text-wrap:balance;border:2px solid #e8c56a;box-shadow:0 0 0 2px #f3d79080,0 0 16px 4px #e0b24ed9,0 0 34px 10px #c4922acc;cursor:pointer;animation:donate-glow 2.8s ease-in-out infinite;-webkit-tap-highlight-color:transparent}
.donate-btn-label{position:relative;z-index:1;display:block;max-width:100%;overflow-wrap:anywhere;hyphens:manual}
.donate-btn:hover,.donate-btn:focus-visible{filter:brightness(1.08)}
a.donate-btn,a.donate-btn:link,a.donate-btn:visited,a.donate-btn:hover,a.donate-btn:active,button.donate-btn,.donate-btn-label{color:#fff8e8;text-decoration:none;-webkit-text-fill-color:#fff8e8}
button.donate-btn:disabled,button.donate-btn[disabled],.donate-btn:disabled{opacity:1;cursor:pointer;filter:none;color:#fff8e8;-webkit-text-fill-color:#fff8e8;background:radial-gradient(ellipse at 30% 0%,#c91d2b 0%,#8e1019 58%,#6a0b12 100%)}
.donate-btn-wreath{border:22px solid transparent;border-image-source:url('donate-wreath-frame.png');border-image-slice:78;border-image-width:22px;border-image-repeat:round;border-image-outset:0;background-clip:border-box;padding:18px 32px;min-height:64px}
/* fill is not used: transparent center of the frame; keep red fill from background */
.donate-btn-wreath{border-image-slice:78}
.donate-btn-plain{border:2px solid #e8c56a;border-image:none;min-height:56px;padding:16px 28px}
.donate-btn-nav{font-size:11px;letter-spacing:.02em;min-height:44px;padding:8px 12px;max-width:min(210px,46vw);line-height:1.15}
.donate-btn-wreath.donate-btn-nav{border-width:14px;border-image-width:14px;padding:8px 14px;min-height:48px}
.hero-copy .donate-btn{margin-top:8px;width:min(100%,540px)}
.donate-row .donate-btn{width:min(100%,560px)}
.give-card .donate-btn,#preview-gift{display:flex;width:100%;max-width:440px;margin:14px auto 0}
.paypal-direct{text-align:center;margin-top:16px}
.paypal-direct .donate-btn{width:min(100%,440px)}
footer .donate-btn{margin:16px auto 0;width:min(100%,520px)}
@keyframes donate-glow{
0%,100%{box-shadow:0 0 0 2px #f3d79080,0 0 14px 3px #d9a63ccc,0 0 28px 8px #c4922a99}
50%{box-shadow:0 0 0 3px #ffe7a8cc,0 0 22px 7px #f0d08aee,0 0 44px 14px #d4a84acc}
}
@media(prefers-reduced-motion:reduce){
.donate-btn{animation:none}
}
@media(max-width:700px){
.donate-row{padding:8px 20px 28px}
.donate-btn{font-size:clamp(14px,4.2vw,18px);min-height:52px;padding:14px 20px}
.donate-btn-wreath{border-width:18px;border-image-width:18px;padding:14px 22px;min-height:56px}
.donate-btn-nav{max-width:min(190px,48vw);font-size:10px;padding:7px 10px}
.donate-btn-wreath.donate-btn-nav{border-width:12px;border-image-width:12px;min-height:46px}
}
@media(max-width:480px){
.donate-btn{font-size:15px;letter-spacing:.02em;min-height:48px;width:100%;white-space:normal}
.donate-btn-wreath{border-width:16px;border-image-width:16px;padding:12px 16px;min-height:52px}
.hero-copy .donate-btn,.donate-row .donate-btn,.give-card .donate-btn,#preview-gift,.paypal-direct .donate-btn,footer .donate-btn{width:100%;max-width:100%}
.donate-btn-nav{max-width:min(170px,50vw)}
}

@media(max-width:700px){
header nav .donate-btn,header nav .donate-btn-nav{display:none!important}
}
.presents.nudge{outline:2px solid #c9a14a;outline-offset:8px;border-radius:10px;transition:outline-color .3s}
.give-status{font-size:15px;line-height:1.4}

/* Hero tagline + story stats: bold gold-foil, gold glow, ribbon banner (t902u) */
.hero-tagline{margin:16px 0 20px;max-width:100%}
.hero-tagline-banner{display:inline-block;max-width:100%;box-sizing:border-box;padding:10px 16px;background:linear-gradient(180deg,#b4232e 0%,#7a1018 48%,#5c0c12 100%);border:1px solid #e8c56a;box-shadow:0 0 16px #e0b24a99,0 2px 10px #2a080880,inset 0 1px 0 #ffd98a66,inset 0 -1px 0 #5a0a1080;border-radius:3px}
.hero-tagline-text{display:block;max-width:100%;font-family:Portrait,Cormorant,Georgia,serif;font-weight:800;font-size:clamp(24px,2.6vw,36px);line-height:1.15;letter-spacing:.045em;text-transform:uppercase;text-wrap:balance;background:linear-gradient(180deg,#fff6d0 0%,#ffe58a 22%,#e8b84a 52%,#fff0b0 78%,#c4922a 100%);-webkit-background-clip:text;background-clip:text;color:#ffe08a;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 8px #e0b24ecc) drop-shadow(0 1px 1px #4a1a08cc)}
.stats strong{font-weight:800;font-size:clamp(32px,3.4vw,48px);line-height:1.08;background:linear-gradient(180deg,#fff6d0 0%,#ffe58a 22%,#e8b84a 52%,#fff0b0 78%,#c4922a 100%);-webkit-background-clip:text;background-clip:text;color:#ffe08a;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 8px #e0b24ecc) drop-shadow(0 1px 1px #4a1a08cc)}
.stats span{font-size:11px;letter-spacing:.08em;font-weight:700;color:#ffe0ad;text-shadow:0 0 8px #e0b24a88}
@media(prefers-reduced-motion:reduce){
.hero-tagline-text,.stats strong{filter:drop-shadow(0 1px 1px #4a1a08cc)}
}
@media(max-width:700px){
.hero-tagline{margin:14px 0 18px}
.hero-tagline-banner{padding:9px 14px}
.hero-tagline-text{font-size:clamp(26px,7.4vw,34px);letter-spacing:.04em}
.stats strong{font-size:clamp(30px,8vw,36px)}
.stats span{font-size:10px;letter-spacing:.06em}
}
@media(max-width:480px){
.hero-tagline-text{font-size:clamp(26px,7.8vw,32px)}
.stats strong{font-size:clamp(28px,8.5vw,34px)}
}

/* Hero goal ticker (t906u): red/gold, gold-ribbon fill, sits at the top of the hero */
.hero{display:flex;flex-direction:column}
.goal-ticker{position:relative;z-index:6;flex:0 0 auto;width:100%;margin:0 0 16px;padding:0}
.goal-ticker-inner{box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto;padding:12px 18px 14px;background:linear-gradient(180deg,#8e151e 0%,#6a0b12 55%,#4d080e 100%);border:1px solid #e8c56a;border-radius:6px;box-shadow:0 0 18px #e0b24a99,0 4px 18px #2a080880,inset 0 1px 0 #ffd98a55;color:#fff8e8}
.goal-ticker-heading{margin:0 0 8px;font:800 clamp(20px,3vw,32px)/1.15 Portrait,Cormorant,Georgia,serif;letter-spacing:.04em;text-align:center;background:linear-gradient(180deg,#fff6d0 0%,#ffe58a 28%,#e8b84a 60%,#fff0b0 100%);-webkit-background-clip:text;background-clip:text;color:#ffe08a;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 8px #e0b24ecc) drop-shadow(0 1px 1px #4a1a08cc)}
.goal-ticker-figures{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 10px;font:700 clamp(16px,2.2vw,22px)/1.2 Arial,Helvetica,sans-serif}
.goal-ticker-raised,.goal-ticker-togo{margin:0}
.goal-ticker-raised span,.goal-ticker-togo span{font-weight:800;color:#fff6d0;text-shadow:0 0 10px #e0b24acc}
.goal-ticker-meter{position:relative;height:18px;border:1px solid #e8c56a;border-radius:999px;overflow:hidden;background:linear-gradient(#3a070c,#61101b 55%,#3a070c);box-shadow:inset 0 2px 6px #140204cc,0 0 10px #e0b24a55}
.goal-ticker-fill{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#8a5a12 0%,#c4922a 18%,#f3d790 42%,#fff6d0 50%,#e8c56a 68%,#b8872a 100%);box-shadow:0 0 12px #e0b24acc;background-size:220% 100%;animation:ticker-ribbon 7s linear infinite}
.goal-ticker-meter:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(80,20,10,.18) 10px 12px,transparent 12px 22px),linear-gradient(180deg,rgba(255,248,232,.35),transparent 45%,rgba(80,20,10,.2));mix-blend-mode:soft-light}
@keyframes ticker-ribbon{
0%{background-position:0 0}
100%{background-position:220% 0}
}
@media(prefers-reduced-motion:reduce){
.goal-ticker-fill{animation:none}
}
@media(max-width:700px){
.goal-ticker{margin-bottom:12px}
.goal-ticker-inner{padding:10px 12px 12px}
.goal-ticker-heading{font-size:clamp(18px,5.4vw,24px);margin-bottom:6px}
.goal-ticker-figures{font-size:clamp(15px,4.2vw,18px);margin-bottom:8px}
.goal-ticker-meter{height:16px}
}

.hero-slideshow{flex:1 1 auto;min-height:0}
@media(max-width:700px){.hero-slideshow{flex:0 0 auto}}
