/* V5: Todd's red velvet, gold and candlelit living room. Local preview only. */
:root{--night:#7a0f17;--paper:#f7ecd9;--gold:#e6c27a;--muted:#ecd4ad;--wine:#a3141f;--green:#28462e;--line:#c9a14a66;--ink:#493020;--brass:#c9a14a}
body{background:#f7ecd9;color:var(--ink)}
.preview{background:#7a0f17f2;color:#fff1d7;border-bottom-color:#e6c27a66}
header{background:linear-gradient(#7a0f17e8,#7a0f174d,transparent);color:#fff4e0;padding-block:20px}
header .wordmark{max-width:230px;text-shadow:0 1px 10px #44130788}
nav a:last-child{background:#7a0f17a8;border-color:#e6c27a}
.button{background:linear-gradient(130deg,#f4dba1,#c9a14a);border-color:#e6c27a;color:#4c2316;box-shadow:0 5px 20px #5c250b20}
.button:hover{background:#f7dfab}
.hero{height:100svh;min-height:920px;max-height:1180px;align-items:center;background:#b47b4f;color:#fff3dd;display:flex}
.hero-base{inset:0;background:#bd8b5d;filter:none;z-index:-5}
.hero-film{inset:0;padding:0;width:100%;height:100%;position:absolute;z-index:-3;overflow:hidden}
.hero-film picture{display:block;width:100%;height:100%}
.hero-film img{height:100%;width:100%;object-fit:cover;object-position:center;filter:none;animation:room-drift 32s ease-in-out infinite alternate;transform-origin:70% 55%}
.hero:before{z-index:-2;background:linear-gradient(90deg,#683316b8 0%,#723b1b96 24%,#945c3026 43%,transparent 58%),linear-gradient(0deg,#6b301d99,transparent 20%,transparent 80%,#78402522)}
.hero:after{z-index:-1;background:radial-gradient(ellipse at 7% 35%,#b677371a,transparent 42%);box-shadow:inset 0 -1px #e6c27a88}
.hero-copy{padding-top:235px;padding-bottom:125px;max-width:1720px}
.hero-copy>*{max-width:38%}
.hero-copy>.eyebrow{font-size:10px;letter-spacing:.15em;color:#ffe7b5;margin-bottom:18px}
.hero h1{font-size:clamp(70px,5.7vw,100px);line-height:.88;text-shadow:0 3px 26px #5b2a1666}
.hero h1 .script{color:#ffdf9d;text-shadow:0 2px 18px #5b250d66}
.hero .subtitle{font-size:25px;color:#fff5e5;margin-top:18px;text-shadow:0 2px 14px #5b2a1655}
.hero .subtitle span{font-size:21px;color:#ffedcf}
.hero-copy .intro-line{color:#fff0da;font-size:13px}
.hero-actions{max-width:42%;gap:20px;flex-wrap:wrap}
.hero-actions .button{font-size:12px;padding:14px 19px;gap:16px}
.hero-actions .text-link{color:#fff4df}
.hero-statline{width:auto;max-width:355px;color:#ffedcc}
.hero-foot{color:#fff2d9;border-color:#f0cd8b66;bottom:26px}
.hero-foot .eyebrow,.hero-time,.hero-time span{color:#ffe1a3}
.hero-bells{top:105px;left:calc(var(--edge) + 255px);width:110px;height:95px;margin:0;filter:drop-shadow(0 7px 8px #683b2155)}
.firelight{position:absolute;right:-1%;top:40%;width:19%;height:44%;pointer-events:none;background:radial-gradient(ellipse,#ffce6c52 0%,#ff9f3829 35%,transparent 70%);mix-blend-mode:screen;filter:blur(18px);animation:hearth-flicker 3.7s ease-in-out infinite alternate}
.tree-twinkles{position:absolute;inset:0;pointer-events:none;animation:room-drift 32s ease-in-out infinite alternate;transform-origin:70% 55%}
.tree-twinkles i{position:absolute;left:57%;top:16%;width:5px;height:5px;border-radius:50%;background:#fff4c3;box-shadow:0 0 9px 4px #ffd57b88,0 0 23px 8px #efb94522;animation:tree-glimmer 4.8s ease-in-out infinite}
.tree-twinkles i:nth-child(2){left:61%;top:7%;animation-delay:-1.3s}.tree-twinkles i:nth-child(3){left:65%;top:19%;animation-delay:-2.8s}.tree-twinkles i:nth-child(4){left:55%;top:29%;animation-delay:-.7s}.tree-twinkles i:nth-child(5){left:59%;top:38%;animation-delay:-3.7s}.tree-twinkles i:nth-child(6){left:52%;top:48%;animation-delay:-2.1s}.tree-twinkles i:nth-child(7){left:54%;top:61%;animation-delay:-4s}.tree-twinkles i:nth-child(8){left:62%;top:27%;animation-delay:-3.2s}
@keyframes room-drift{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes hearth-flicker{0%,100%{opacity:.5;transform:scale(.94)}18%{opacity:.8}34%{opacity:.57}48%{opacity:.95;transform:scale(1.06)}65%{opacity:.7}82%{opacity:.9}}
@keyframes tree-glimmer{0%,100%{opacity:.18;transform:scale(.65)}48%{opacity:.85;transform:scale(1.15)}65%{opacity:.4}}
/* A real family photograph rests on a warm, gold-trimmed mantel. */
.family-mantel{padding:55px 0 65px;position:relative;background:radial-gradient(ellipse at 85% 20%,#fff7e2,#eddbba 75%);border-top:5px solid #c9a14a;border-bottom:9px ridge #9f683e;color:#493020}
.mantel-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:center;gap:clamp(35px,6vw,100px);max-width:1250px}
.family-mantel figure{max-width:430px;margin:auto;width:100%}
.family-mantel img{display:block;width:100%;height:auto;border:10px ridge #c9a14a;outline:4px solid #704627;outline-offset:3px;padding:7px;background:#fff4df;box-shadow:0 18px 35px #653b242b}
.family-mantel figcaption{text-align:center;color:#7a0f17;font:25px/1.4 Portrait,serif;margin-top:20px}
.family-mantel .eyebrow{color:#8d3c21;font-size:10px}
.mantel-heading{font:clamp(42px,4.4vw,68px)/1.1 Portrait,serif;margin:18px 0 24px}
.mantel-heading .script{display:block;font-size:.88em;color:#a3141f;margin-top:8px}
.family-mantel p:not([class]){color:#725034;font-size:15px}
.family-mantel .text-link{color:#7a0f17;margin-top:15px}.family-mantel .text-link span{color:#9d722a}
.room-divider{height:68px;position:relative;background:linear-gradient(#8a4f2b,#57351e);border-block:2px solid #c9a14a;overflow:hidden;box-shadow:0 8px 15px #6b331a20;z-index:1}
.room-divider span{position:absolute;inset:0;background:url('mantel-garland.jpg') center 50%/auto 125px repeat-x;filter:saturate(1.1);opacity:.95}
.room-divider:after{content:"";position:absolute;inset:0;box-shadow:inset 0 5px 10px #40201444,inset 0 -5px 10px #40201444}
.night-story{background:radial-gradient(ellipse at 0 55%,#fff9e8,#f0dfbf 80%);color:#493020}
.night-story .eyebrow,.archive .eyebrow{color:#8d4926}
.night-story .gold,.archive .gold{color:#9b2027}
.night-copy>p{color:#68472f}
.night-story .text-link{border-color:#c9a14a88}.night-story .text-link span{color:#9b722e}
.photo-tall{background:#a47843;border:8px ridge #c9a14a;box-shadow:0 20px 45px #643a222b;padding:5px}
.photo-note{color:#89572b}.eve-strip img{border:2px solid #c9a14a;padding:3px;background:#fff4df}.eve-strip figcaption{color:#7a0f17}
.chapter-end{color:#8c2025}.chapter-end:before,.chapter-end:after{background:#c9a14a99}
.letter{background:linear-gradient(110deg,#7a0f17,#a3141f 55%,#7a0f17);padding-block:85px}
.letter:before{inset:0;background:radial-gradient(ellipse at 90% 20%,#ffd28333,transparent 65%);filter:none}
.letter>.wrap{background:linear-gradient(125deg,#fff7e7,#f7ecd9);border:2px solid #c9a14a;outline:1px solid #e6c27a;outline-offset:7px;box-shadow:0 25px 70px #4b080f40}
.letter-left .script,.signature,.letter-family figcaption{color:#971e27}
.letter-family img{border-color:#fff7e8;outline:1px solid #c9a14a;outline-offset:3px}
.fact strong{color:#8d1720}.fact span{color:#795337}
.film-chapter{background:#8b1520;color:#fff1d8}
.film-chapter:after{background:linear-gradient(90deg,#7a0f17 0%,#8c1520f0 32%,#8c152055 55%,transparent 75%),linear-gradient(0deg,#77101b66,transparent 30%)}
.archive{background:radial-gradient(ellipse at 85% 0,#fff9e7,#f7ecd9 70%);color:#493020}
.section-head p{color:#715136}.timeline{border-color:#c9a14a88}
.timeline button{color:#825334}.timeline button[aria-pressed=true]{background:#7a0f17;color:#fff1d9}.timeline button:hover{color:#7a0f17;background:#e6c27a44}
.timeline button[aria-pressed=true]:after{background:#e6c27a}.timeline button[aria-pressed=true]:hover{background:#a3141f;color:#fff1d9}
.memory .image{border:3px ridge #c9a14a;box-shadow:0 10px 22px #66452520;background:#b48c5a}.memory .caption{color:#6a3025}.memory small{color:#9b2027}.memory .video-label{background:#7a0f17e8;color:#ffe8bc;border-color:#e6c27a}
.archive .fine{color:#79583b}.archive-note{border-color:#c9a14a77}.empty{border-color:#c9a14a;color:#7a0f17}
.give{background:linear-gradient(120deg,#7a0f17,#a3141f 60%,#8a121e);color:#fff2dd}
.give-back{opacity:.1;filter:blur(6px) saturate(.8);mix-blend-mode:luminosity}
.give:before{background:radial-gradient(ellipse at 90% 10%,#ffd58b33,transparent 55%),repeating-linear-gradient(90deg,#fff0 0,#fff0 45px,#6006110b 55px,#fff0 70px)}
.give:after{background:radial-gradient(ellipse at 0 60%,#ffce6533,transparent 45%);animation:candle 7s infinite alternate}
.give-copy h2 .script{color:#f5d38e}.give-copy>p{color:#ffedce}
.give-card{background:radial-gradient(ellipse at 50% 10%,#fff9ed,#f7ecd9 65%,#eddbb9);border:2px solid #c9a14a;box-shadow:0 25px 65px #4f081440,0 0 0 7px #e6c27a33;color:#493020}
.give-card:before{border-color:#c9a14a99}.give-card h3{color:#8c1520}.give-card .eyebrow{color:#936024}.give-card .description{color:#725034}
.give-card .button{background:linear-gradient(125deg,#a3141f,#7a0f17);border-color:#9b1721;color:#fff0d3}.give-card .button:hover{background:#ad1e2a}
#giving-amount{color:#87131e}.give-status{color:#704522}.give-card .seal{color:#971e27;border-color:#c9a14a66}
.present-label{color:#6c3025}.present-hint{color:#815e38}
.share{background:#f3e4c9;color:#5b3022}
.share-photo{opacity:.09;filter:blur(5px) sepia(.3)}
.share:before{background:radial-gradient(ellipse at 50% 20%,#fff8e4df,#f0dfbfd9)}
.share .eyebrow{color:#8d4926}.share h2 .script{color:#a3141f}.share>div>p{color:#715136}
.share-actions a,.share-actions button{background:#7a0f17;color:#fff1d8;border-color:#c9a14a;box-shadow:0 5px 15px #6b302315;backdrop-filter:none}
.share-actions a:hover,.share-actions button:hover{background:#a3141f}.share .fine{color:#79583b}#share-status,.closing{color:#9b2027}
footer{background:#7a0f17;color:#f4d8ab;border-color:#c9a14a}
.frost{background:radial-gradient(ellipse at 0 0,#fff6e82a,transparent 16%),radial-gradient(ellipse at 100% 0,#fff6e826,transparent 16%);opacity:.4;box-shadow:none}
.experience-controls{background:#7a0f17ed;border-color:#e6c27a}.modal{background:#7a0f17f5;color:#f7ecd9}.modal::backdrop{background:#4b1d11dd}
@media(min-width:1800px){.hero-film{inset:0;width:100%;height:100%;right:0}.hero h1{font-size:100px}.hero-copy{max-width:1720px}}
@media(min-width:701px) and (max-width:1100px){.hero{min-height:950px}.hero-copy{padding-top:260px}.hero-copy>*{max-width:44%}.hero h1{font-size:76px}.hero-film{width:100%;inset:0}.hero-film img{object-position:58% center}.hero-bells{top:135px;left:calc(var(--edge) + 240px);width:100px;height:90px}.hero-actions{max-width:44%;gap:13px}.hero-statline{max-width:310px}.hero .subtitle{font-size:23px}.hero .subtitle span{font-size:19px}.tree-twinkles{display:none}}
@media(max-width:700px){
 :root{--edge:24px}
 header{background:linear-gradient(#7a0f17f5,#8e1d25eb);padding-top:17px;padding-bottom:12px;gap:10px;align-items:center}
 header .wordmark{max-width:175px;font-size:19px}
 nav a:last-child{padding:9px;font-size:10px;max-width:150px;background:#7a0f1755}
 header .experience-controls{background:#7a0f17b8;margin-top:0;border-color:#e6c27a77}
 .hero{display:flex;flex-direction:column;min-height:0;height:auto;max-height:none;align-items:stretch;padding-top:170px;background:#be8e62}
 .hero-base{background:linear-gradient(125deg,#b58153,#ceaa7d);opacity:1;filter:none}
 .hero:before{background:linear-gradient(90deg,#77401b50,#95613318);z-index:-2}
 .hero-copy{order:1;width:100%;padding:110px var(--edge) 30px;max-width:100%}
 .hero-copy>*{max-width:100%}.hero-copy>.eyebrow{font-size:9px;letter-spacing:.11em;max-width:100%;margin-bottom:15px}
 .hero h1{font-size:clamp(58px,16vw,82px);max-width:100%;line-height:.91}
 .hero h1 .serif-line{display:inline}.hero h1 .serif-line:first-child:after{content:" "}.hero h1 .script{font-size:1.12em;line-height:1.1}
 .hero .subtitle{font-size:25px;margin-top:16px}.hero .subtitle span{font-size:20px}
 .hero-copy .intro-line{font-size:12px;max-width:100%;margin-top:14px}
 .hero-actions{max-width:100%;gap:15px;margin-top:20px;flex-wrap:wrap}.hero-actions .button{font-size:11px;padding:13px 15px;min-height:48px;gap:10px}.hero-actions .text-link{font-size:12px}
 .hero-statline{max-width:100%;width:auto;font-size:10px;margin-top:20px;color:#642919;border-color:#98652f88}
 .hero-copy{color:#7a0f17}.hero h1{text-shadow:none}.hero h1 .script{color:#7a0f17;text-shadow:none}.hero-copy>.eyebrow{color:#642919}.hero .subtitle,.hero .subtitle span{color:#642919;text-shadow:none}.hero-copy .intro-line{color:#572c1d}.hero-actions .text-link{color:#642919}.hero-actions .text-link span{color:#642919}
 .hero-bells{top:168px;left:calc(50% - 65px);width:130px;height:112px;margin:0}
 .hero-film{order:2;position:relative;inset:auto;width:100%;height:450px;padding:0;z-index:0;overflow:hidden}
 .hero-film img{width:100%;height:100%;object-fit:cover;object-position:73% center;box-shadow:none;animation:room-drift 32s ease-in-out infinite alternate;filter:none}
 .hero-film:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#8f4d2922,transparent 20%,transparent 90%,#bd8b5d22)}
 .hero-foot{order:3;position:relative;inset:auto;margin:0;padding:20px 24px 25px;background:#8d2027;gap:15px;align-items:center}.hero-foot p{font-size:19px}.hero-foot .eyebrow{font-size:8px}.scroll-cue{font-size:8px}
 .firelight{right:-13%;top:43%;width:38%;height:40%}.tree-twinkles{display:none}
 .family-mantel{padding:42px 0 40px}.mantel-layout{grid-template-columns:minmax(0,1fr);gap:32px}.family-mantel figure{max-width:300px}.family-mantel img{border-width:7px;padding:4px}.family-mantel figcaption{font-size:23px}.mantel-heading{font-size:43px}.family-mantel .eyebrow{font-size:9px}.family-mantel p:not([class]){font-size:14px}.room-divider{height:48px}.room-divider span{background-size:auto 95px}
 .night-grid,.letter-layout,.give-layout{grid-template-columns:minmax(0,1fr)}
 .night-grid>*,.letter-layout>*,.mantel-layout>*{min-width:0}
 .photo-tall{border-width:5px}.letter{padding-block:44px}.letter>.wrap{outline-offset:4px}.film-chapter{background:#8b1520}.film-chapter:after{background:linear-gradient(0deg,#8b1520 0%,#8b1520 47%,transparent 77%)}
 .give-card{padding:26px 12px 24px;width:100%;min-width:0;max-width:100%;box-shadow:0 20px 50px #4b08152b,0 0 0 4px #e6c27a33}
 .give-card h3{font-size:33px;padding-right:94px}.give-card>.eyebrow{padding-right:105px}.give-card>.description{padding-right:75px}.card-bells{width:140px;height:160px;right:-8px;top:0}
 .presents{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;padding-top:42px}.present-choice{width:calc((100% - 10px)/2);grid-column:1/-1;justify-self:center}
 .gift-tag{font-size:19px;right:0}.present-label{font-size:18px}.gift-reveal{font-size:clamp(18px,17cqw,32px)}
 .share{padding-block:65px}.share h2{font-size:49px}.share-actions{max-width:100%}.closing{font-size:37px}footer{padding-bottom:75px}
}
@media(max-width:370px){header .wordmark{max-width:145px;font-size:17px}nav a:last-child{font-size:9px;padding:8px}.hero-copy{padding-inline:20px}.hero h1{font-size:56px}.hero-actions{gap:11px}.hero-actions .button{padding-inline:12px;font-size:10px}.hero-film{height:405px}.give-card h3{font-size:29px}.present-label{font-size:16px}.gift-tag{font-size:17px}}
@media(prefers-reduced-motion:reduce){.hero-film img,.tree-twinkles,.tree-twinkles i,.firelight{animation:none!important}.tree-twinkles i{opacity:.4}.firelight{opacity:.55}}

/* First-screen mobile composition: headline, then the whole chair/fireplace scene.
   display:contents keeps one shared heading in the DOM rather than duplicating it. */
@media(max-width:700px){
 .hero-copy{display:contents}
 .hero-copy>*{width:calc(100% - 48px);max-width:calc(100% - 48px);margin-inline:24px}
 .hero-copy>.eyebrow{order:1;margin:17px 24px 10px;font-size:9px;max-width:calc(100% - 48px)}
 .hero h1{order:2;font-size:56px;width:calc(100% - 132px);max-width:calc(100% - 132px);margin:0 84px 18px 24px}
 .hero h1 .serif-line{display:block}.hero h1 .serif-line:first-child:after{content:none}
 .hero-bells{top:213px;left:auto;right:8px;width:84px;height:74px;margin:0}
 .hero-film{order:3;height:340px}
 .hero-film img{object-position:70% center}
 .hero .subtitle{order:4;width:calc(100% - 48px);max-width:calc(100% - 48px);margin:24px 24px 0}
 .hero-copy .intro-line{order:5;margin:14px 24px 0}
 .hero-actions{order:6;width:calc(100% - 48px);max-width:calc(100% - 48px);margin:20px 24px 0}
 .hero-statline{order:7;width:calc(100% - 48px);max-width:calc(100% - 48px);margin:20px 24px 25px}
 .hero-foot{order:8}
 .firelight{right:-5%;top:42%;width:28%;height:39%}
}
@media(max-width:370px){.hero h1{font-size:50px;width:calc(100% - 120px);max-width:calc(100% - 120px)}.hero-film{height:310px}.hero-bells{right:5px;width:76px;height:68px}}
