:root{--ink:#f8f2e7;--dark:#20130f;--brown:#342017;--gold:#c8a55b;--gold-light:#ead5a1;--paper:#f5f0e6;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--brown);font-family:var(--sans);font-size:15px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.site-header{height:92px;position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;padding:0 clamp(24px,6vw,92px);gap:40px;color:#fff}.brand,.footer-brand{display:flex;align-items:center;gap:15px;margin-right:auto}.brand strong,.footer-brand strong{font-family:var(--serif);font-size:24px;letter-spacing:.01em;display:block;color:var(--gold-light);font-weight:600}.brand small,.footer-brand small{display:block;color:rgba(255,255,255,.62);font-size:11px;margin-top:2px;letter-spacing:.03em}.brand-mark{position:relative;width:42px;height:47px;border:2px solid var(--gold-light);border-radius:22px 22px 4px 4px;display:block;clip-path:polygon(50% 0,62% 14%,80% 25%,80% 100%,20% 100%,20% 25%,38% 14%)}.brand-mark:before{content:'';position:absolute;left:18px;top:-9px;width:2px;height:12px;background:var(--gold-light)}.brand-mark:after{content:'';position:absolute;left:14px;top:-13px;width:10px;height:2px;background:var(--gold-light)}.brand-mark span{position:absolute;bottom:0;left:18px;width:7px;height:17px;border-left:2px solid var(--gold-light);border-right:2px solid var(--gold-light);border-top:2px solid var(--gold-light);border-radius:8px 8px 0 0}.nav{display:flex;gap:32px;align-items:center;font-size:12px;color:rgba(255,255,255,.72)}.nav a{padding:10px 0;position:relative;white-space:nowrap}.nav a.active,.nav a:hover{color:#fff}.nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold-light)}.login-button{border:1px solid rgba(232,205,151,.32);background:rgba(32,19,15,.25);color:#fff;border-radius:99px;padding:12px 19px;white-space:nowrap;font-size:12px}.user-icon{font-size:20px;vertical-align:-2px;margin-right:8px}.menu-button{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{min-height:780px;height:100vh;max-height:940px;position:relative;display:flex;align-items:center;background-image:url('assets/church-candles.jpg');background-size:cover;background-position:center 42%;overflow:hidden;color:#fff}.hero:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 78% 58%,transparent 0,rgba(17,9,5,.1) 22%,rgba(17,9,5,.74) 100%)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,10,7,.8) 0%,rgba(18,10,7,.48) 47%,transparent 80%);z-index:1}.hero-content{position:relative;z-index:2;margin-left:clamp(24px,13vw,200px);padding-top:75px}.eyebrow{color:var(--gold-light);font-size:10px;text-transform:uppercase;letter-spacing:.24em;display:flex;align-items:center;gap:11px;margin:0 0 25px}.eyebrow span{display:inline-block;width:25px;height:1px;background:currentColor;opacity:.75}.hero h1,.candle-copy h2,.section-intro h2,.voices h2{font-family:var(--serif);font-weight:500;line-height:.9;letter-spacing:-.025em}.hero h1{font-size:clamp(58px,7vw,102px);margin:0 0 31px;color:#f8f1e7}.hero h1 em,.candle-copy h2 em,.section-intro h2 em,.voices h2 em{font-style:italic;color:var(--gold-light)}.hero-copy{font-size:16px;line-height:1.75;color:rgba(255,255,255,.7);margin-bottom:31px}.primary-button,.gold-button{border:0;background:linear-gradient(105deg,#d9b86f,#b7924b);color:#2c1a12;border-radius:99px;padding:17px 22px;font-family:var(--serif);font-size:19px;min-width:282px;display:inline-flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 12px 28px rgba(185,137,62,.18);transition:transform .25s,box-shadow .25s}.primary-button:hover,.gold-button:hover{transform:translateY(-3px);box-shadow:0 17px 32px rgba(185,137,62,.3)}.button-candle{font-size:27px;line-height:0}.arrow{font-family:var(--sans);font-size:17px;margin-left:22px}.motto{display:flex;align-items:center;gap:18px;color:rgba(237,211,163,.8);font-size:9px;letter-spacing:.25em;text-transform:uppercase;margin-top:39px}.motto span{width:78px;height:1px;background:rgba(237,211,163,.5)}.hero-scroll{position:absolute;right:7%;bottom:36px;z-index:2;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.2em;font-size:9px;color:rgba(255,255,255,.6)}.hero-scroll span{font-size:17px;margin-top:12px}.ritual{display:grid;grid-template-columns:1fr 1.55fr;gap:80px;padding:115px clamp(24px,12vw,180px) 120px;background:var(--paper)}.eyebrow.dark{color:#896b36}.section-intro h2,.voices h2{font-size:67px;margin:0 0 28px;color:var(--brown)}.section-intro>p:last-child{font-family:var(--serif);font-size:21px;line-height:1.35;color:#806b58}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;padding-top:32px}.step{border-top:1px solid #d7ccb9;padding-top:22px;position:relative}.step-number{font-size:10px;color:#a78b59;letter-spacing:.12em}.step-icon{font-family:var(--serif);font-size:45px;color:#a18346;margin:24px 0 16px}.step h3{font-family:var(--serif);font-size:26px;font-weight:600;margin:0 0 11px}.step p{font-size:12px;line-height:1.7;color:#846f5b;margin:0}.candle-section{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:745px;background:var(--brown);color:var(--ink);overflow:hidden}.candle-copy{padding:105px clamp(24px,11vw,170px) 100px;position:relative;z-index:2;background:linear-gradient(90deg,#302018 0%,#332117 70%,rgba(51,33,23,.8) 100%)}.candle-copy h2{font-size:75px;margin:0 0 28px}.muted{color:rgba(255,244,224,.65);line-height:1.8;font-size:14px;margin:0 0 31px}form{max-width:430px}fieldset{border:0;padding:0;margin:0 0 22px}legend,.field-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-light);display:block;margin-bottom:10px}.intent-options{display:flex;gap:9px;flex-wrap:wrap}.intent-options label{position:relative}.intent-options input{position:absolute;opacity:0}.intent-options span{border:1px solid rgba(237,211,163,.28);border-radius:99px;padding:9px 13px;color:rgba(255,255,255,.65);font-size:11px;display:block;transition:.2s}.intent-options input:checked+span,.intent-options span:hover{border-color:var(--gold);background:rgba(211,174,98,.14);color:#f9e4b7}.field-label{margin-top:17px}.field-label span{color:rgba(255,255,255,.35);font-size:9px;letter-spacing:0;text-transform:none;margin-left:4px}.text-field{display:block;width:100%;background:rgba(255,248,235,.06);border:1px solid rgba(238,214,168,.22);color:#fff;padding:13px 14px;outline:none;border-radius:3px;resize:vertical;min-height:46px;font-size:13px}.text-field::placeholder{color:rgba(255,255,255,.32)}.text-field:focus{border-color:var(--gold)}textarea.text-field{min-height:74px}.gold-button{margin-top:22px;width:100%;border-radius:3px;min-width:0;padding:15px 16px;justify-content:space-between;font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.15em}.gold-button b{font-size:17px}.privacy{font-size:10px;color:rgba(255,255,255,.38);text-align:center;margin:12px 0}.lantern-wrap{position:relative;background:linear-gradient(110deg,#3c251a,#1d110d);display:flex;align-items:center;justify-content:center;min-height:650px;overflow:hidden}.lantern-wrap:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 50% 55%,rgba(207,160,69,.17),transparent 29%),linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.57));}.ambient{position:absolute;width:270px;height:270px;border-radius:50%;filter:blur(45px);opacity:.3;background:#c89138}.ambient-one{top:12%;left:30%}.ambient-two{bottom:4%;right:10%;background:#a65522}.lantern-title{position:absolute;top:70px;text-transform:uppercase;letter-spacing:.22em;font-size:9px;color:rgba(238,211,157,.68)}.lantern-title span{font-size:11px;margin:0 11px}.lantern{width:210px;height:350px;position:relative;z-index:1;filter:drop-shadow(0 15px 20px rgba(0,0,0,.45));transform:scale(1.05)}.lantern-glow{position:absolute;width:170px;height:170px;border-radius:50%;background:rgba(255,177,61,.18);filter:blur(21px);left:20px;top:39px}.lantern-top{position:absolute;left:79px;top:0;width:52px;height:36px;border-radius:42% 42% 0 0;border:4px solid #a47737;border-bottom:0}.lantern-bowl{position:absolute;left:28px;top:27px;width:154px;height:136px;border:6px solid #b88d49;border-radius:48% 48% 34% 34%;background:linear-gradient(90deg,rgba(95,57,23,.9),rgba(230,154,53,.43),rgba(86,45,19,.9));box-shadow:inset 0 0 20px rgba(255,210,125,.32),0 0 12px rgba(255,175,47,.35)}.lantern-bowl:after{content:'';position:absolute;bottom:22px;left:8px;right:8px;height:5px;background:#ca9b4b;border-radius:50%;opacity:.7}.wick{position:absolute;width:3px;height:21px;background:#382117;top:43px;left:74px}.flame{position:absolute;width:22px;height:37px;background:#ffd374;border-radius:54% 46% 48% 52%;transform:rotate(3deg);filter:blur(.2px);box-shadow:0 0 15px 4px rgba(255,175,56,.8),0 0 35px 12px rgba(255,129,30,.27)}.main-flame{left:65px;top:7px;transform:scale(.8) rotate(3deg)}.flame:after{content:'';position:absolute;inset:5px 6px 8px;background:#fff3c5;border-radius:55% 45% 50% 50%}.lantern-stem{position:absolute;left:82px;top:158px;width:46px;height:127px;background:linear-gradient(90deg,#805a28,#d0a251,#775123);border-radius:0 0 50% 50%;border:3px solid #9f7634}.lantern-base{position:absolute;bottom:4px;left:14px;width:183px;height:38px;border-radius:50%;background:linear-gradient(#d4a756,#6b451e 58%,#bb8737);border:4px solid #9a6d2b}.floating-candles{position:absolute;inset:0;z-index:2;pointer-events:none}.mini-candle{position:absolute;width:11px;height:55px;background:linear-gradient(90deg,#bd8536,#f4ca79,#a66d29);border-radius:3px 3px 1px 1px;box-shadow:0 4px 8px rgba(0,0,0,.4)}.mini-candle:before{content:'';position:absolute;top:-15px;left:1px;width:9px;height:15px;border-radius:50% 50% 46% 46%;background:#ffcf67;box-shadow:0 0 10px 3px rgba(255,170,47,.7)}.mini-candle:nth-child(odd):before{animation:flicker 1.8s ease-in-out infinite}.mini-candle:nth-child(even):before{animation:flicker 1.2s ease-in-out infinite reverse}.lantern-note{position:absolute;bottom:42px;z-index:2;color:rgba(241,216,167,.65);font-size:10px;letter-spacing:.13em;text-transform:uppercase}.lantern-note span{color:var(--gold-light);font-family:var(--serif);font-size:28px;margin-right:7px;vertical-align:-4px}.voices{text-align:center;padding:112px 10% 135px;background:#eee7d9}.voices h2{font-size:68px;margin:8px 0 55px}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}.quote-grid blockquote{margin:0;padding:30px;background:#f7f1e7;border:1px solid #ded2bf;font-family:var(--serif);font-size:21px;line-height:1.3;color:#4d392b}.quote-grid cite{display:block;font-family:var(--sans);font-size:10px;font-style:normal;color:#9c8050;letter-spacing:.08em;text-transform:uppercase;margin-top:23px}footer{background:#241611;color:#d7c09a;padding:57px clamp(24px,10vw,150px);display:flex;align-items:flex-start;gap:60px;position:relative}.footer-brand{margin:0}.footer-brand strong{font-size:21px}.footer-brand small{color:#ad936c;text-transform:uppercase;letter-spacing:.15em;font-size:9px}.footer-brand .brand-mark{width:33px;height:37px}.footer-brand .brand-mark span{left:13px}.footer-brand .brand-mark:before{left:14px}.footer-brand .brand-mark:after{left:10px}.footer-brand+ p{font-family:var(--serif);font-size:22px;line-height:1.1;margin:1px auto 0}.footer-links{display:flex;gap:23px;font-size:11px;color:#bfa882;margin-top:6px}.footer-links a:hover{color:#fff}.copyright{position:absolute;right:clamp(24px,10vw,150px);bottom:18px;color:#775f49;font-size:9px}.toast{position:fixed;right:26px;bottom:25px;z-index:10;display:flex;align-items:center;gap:13px;background:#f8f1e5;color:#3c271c;border-left:3px solid #b58b4a;padding:14px 17px;box-shadow:0 12px 40px rgba(31,16,8,.25);transform:translateY(150%);transition:transform .45s cubic-bezier(.22,.61,.36,1);min-width:260px}.toast.show{transform:translateY(0)}.toast-flame{color:#b58b4a;font-size:24px}.toast strong,.toast small{display:block}.toast strong{font-family:var(--serif);font-size:18px}.toast small{font-size:10px;color:#876a50;margin-top:3px}.toast button{margin-left:auto;border:0;background:none;color:#876a50;font-size:20px}.spirit-candle{animation:appear .5s ease both}@keyframes flicker{0%,100%{transform:scaleY(1) rotate(0)}50%{transform:scaleY(1.16) rotate(-4deg)}}@keyframes appear{from{opacity:0;transform:translateY(15px) scale(.7)}to{opacity:1;transform:none}}@media(max-width:900px){.site-header{padding:0 22px;height:80px}.nav,.login-button{display:none}.menu-button{display:block}.hero{min-height:700px;background-position:63% center}.hero-content{margin-left:24px;padding-top:30px}.hero h1{font-size:clamp(52px,13vw,76px)}.hero-copy{font-size:14px}.ritual{display:block;padding:76px 24px}.section-intro{margin-bottom:45px}.section-intro h2,.voices h2{font-size:54px}.steps{grid-template-columns:1fr;gap:32px;padding-top:0}.step{display:grid;grid-template-columns:48px 1fr;column-gap:12px}.step-number{grid-column:1}.step-icon{grid-column:1;grid-row:2 / span 2;margin:10px 0 0;font-size:32px}.step h3{grid-column:2}.step p{grid-column:2}.candle-section{display:block}.candle-copy{padding:75px 24px 64px;background:#302018}.candle-copy h2{font-size:60px}.lantern-wrap{min-height:570px}.voices{padding:78px 24px 90px}.quote-grid{grid-template-columns:1fr}.quote-grid blockquote{font-size:19px}footer{display:block;padding:43px 24px 63px}.footer-brand+ p{margin:30px 0}.footer-links{flex-direction:column;gap:12px}.copyright{right:24px;bottom:24px}.desktop-break{display:none}}@media(min-width:901px){.floating-candles .mini-candle:nth-child(1){left:13%;bottom:28%;}.floating-candles .mini-candle:nth-child(2){left:20%;bottom:38%;}.floating-candles .mini-candle:nth-child(3){left:27%;bottom:23%;}.floating-candles .mini-candle:nth-child(4){right:17%;bottom:31%;}.floating-candles .mini-candle:nth-child(5){right:11%;bottom:22%;}.floating-candles .mini-candle:nth-child(6){right:25%;bottom:42%;}}@media(max-width:900px){.floating-candles .mini-candle:nth-child(1){left:17%;bottom:27%}.floating-candles .mini-candle:nth-child(2){left:27%;bottom:35%}.floating-candles .mini-candle:nth-child(3){left:18%;bottom:19%}.floating-candles .mini-candle:nth-child(4){right:19%;bottom:29%}.floating-candles .mini-candle:nth-child(5){right:12%;bottom:20%}.floating-candles .mini-candle:nth-child(6){right:27%;bottom:37%}}

@media(max-width:900px){.nav.open{display:flex;position:absolute;top:67px;left:16px;right:16px;padding:16px 19px;flex-direction:column;align-items:flex-start;gap:16px;background:rgba(34,19,13,.96);border:1px solid rgba(234,213,161,.2);box-shadow:0 16px 35px rgba(0,0,0,.25)}.nav.open a{width:100%;padding:3px 0}.nav.open a.active:after{display:none}}

/* A wider, calmer candle room gives the ritual space to breathe on large screens. */
.candle-section{min-height:900px;grid-template-columns:minmax(430px, .82fr) minmax(540px,1.18fr)}
.candle-copy{padding-top:145px;padding-bottom:135px}
.lantern-wrap{min-height:900px}
.lantern{transform:scale(1.42)}
.lantern-title{top:96px;font-size:11px}
.lantern-note{bottom:62px;font-size:11px}
.floating-candles .mini-candle{transform:scale(1.3);transform-origin:bottom center}
@media(max-width:1200px) and (min-width:901px){.candle-section{grid-template-columns:minmax(390px,.9fr) minmax(430px,1.1fr)}.candle-copy{padding-left:7vw;padding-right:5vw}.lantern{transform:scale(1.2)}}
@media(max-width:900px){.candle-section{min-height:0}.candle-copy{padding-top:82px;padding-bottom:72px}.lantern-wrap{min-height:700px}.lantern{transform:scale(1.28)}.lantern-title{top:65px}.lantern-note{bottom:40px}}

.hero{background-image:url('assets/church-candles-hd.jpg')}
.room-candle{width:var(--candle-w,18px);border-radius:var(--candle-radius,4px 4px 2px 2px);background:linear-gradient(90deg,var(--wax-start,#a96d28),var(--wax-mid,#f5cb75) 47%,var(--wax-end,#af742e));}
.room-candle .room-flame{width:var(--flame-w,15px);height:var(--flame-h,26px);left:calc((var(--candle-w,18px) - var(--flame-w,15px)) / 2)}
.room-candle.pillar{box-shadow:0 5px 16px rgba(0,0,0,.54),0 0 8px rgba(211,157,67,.22)}
.room-candle.ivory{filter:saturate(.75)}
.room-candle.wine .room-flame{background:#f4a458}
.room-candle.glass{opacity:.9;box-shadow:0 4px 15px rgba(0,0,0,.48),inset 0 0 8px rgba(255,223,155,.3)}
.room-candle.premium{--flame-w:22px;--flame-h:37px;}
.hero{background-image:url('assets/church-candles-hd.jpg');background-position:center center;background-size:cover}
.candle-tooltip{left:50%;top:0}

/* Full-screen interactive candle room */
.candle-room{position:relative;min-height:100vh;padding:118px clamp(24px,7vw,110px) 34px;background:#0e1822;color:#f8f0df;overflow:hidden;isolation:isolate}
.candle-room:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 58%,rgba(211,157,67,.13),transparent 45%),radial-gradient(ellipse at 12% 12%,rgba(44,99,113,.22),transparent 37%),linear-gradient(135deg,#101e2b,#0b111b 75%)}
.room-atmosphere{position:absolute;inset:-20%;z-index:-1;opacity:.38;background-image:radial-gradient(circle,rgba(255,210,126,.44) 0 1px,transparent 1.6px),radial-gradient(circle,rgba(147,204,205,.25) 0 1px,transparent 1.5px);background-size:83px 91px,127px 113px;animation:dust-drift 35s linear infinite;mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent)}
.room-header{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;max-width:1500px;margin:0 auto 25px}.candle-room .eyebrow{margin-bottom:14px;color:#e3bf79}.candle-room h2{font-family:var(--serif);font-size:clamp(48px,5.3vw,80px);line-height:.86;font-weight:500;letter-spacing:-.03em;margin:0 0 17px}.candle-room h2 em{font-style:italic;color:#d6ad61}.candle-room .room-header p:not(.eyebrow){font-family:var(--serif);font-size:19px;line-height:1.3;color:rgba(244,236,220,.62);margin:0}.room-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end;padding-bottom:4px;color:rgba(237,225,204,.63);font-size:11px;letter-spacing:.05em}.live-dot{width:7px;height:7px;background:#e0a34e;border-radius:50%;box-shadow:0 0 0 4px rgba(224,163,78,.12),0 0 14px #e0a34e}.room-actions strong{color:#f3d49b;font-weight:500}.sound-toggle,.room-cta{border:1px solid rgba(222,191,119,.27);background:rgba(255,255,255,.035);color:#eed29d;border-radius:99px;padding:11px 15px;font-size:11px;transition:.2s}.sound-toggle:hover,.room-cta:hover{background:rgba(220,172,81,.15);border-color:#bf9851}.room-cta{background:#c29a52;color:#1e160f;border-color:#c29a52;padding:12px 19px;font-weight:600}.candle-stage{position:relative;height:calc(100vh - 340px);min-height:480px;max-height:720px;max-width:1500px;margin:0 auto;border:1px solid rgba(221,188,116,.16);border-radius:10px;background:radial-gradient(ellipse at 50% 52%,rgba(189,125,48,.1),transparent 38%),linear-gradient(180deg,rgba(8,16,26,.18),rgba(5,10,17,.65));box-shadow:inset 0 0 100px rgba(2,7,12,.54),0 25px 80px rgba(0,0,0,.26);overflow:hidden;touch-action:none}.candle-stage:before,.candle-stage:after{content:'';position:absolute;inset:0;pointer-events:none}.candle-stage:before{background:linear-gradient(90deg,rgba(187,147,74,.05) 1px,transparent 1px),linear-gradient(rgba(187,147,74,.04) 1px,transparent 1px);background-size:90px 90px;mask-image:radial-gradient(ellipse at center,#000,transparent 78%)}.candle-stage:after{background:radial-gradient(ellipse at center,transparent 35%,rgba(1,6,12,.55) 100%)}.stage-hint{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:rgba(238,209,155,.32);text-transform:uppercase;letter-spacing:.24em;font-size:9px;pointer-events:none}.stage-hint span{font-size:8px;letter-spacing:.13em;line-height:3;color:rgba(238,209,155,.22)}.room-footer{display:flex;justify-content:space-between;gap:20px;max-width:1500px;margin:17px auto 0;color:rgba(231,211,174,.47);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.room-footer a{color:#cba661}.room-candle{position:absolute;z-index:2;width:18px;height:var(--candle-h,62px);border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,#a96d28,#f5cb75 47%,#af742e);box-shadow:0 4px 12px rgba(0,0,0,.48);cursor:grab;animation:candle-rise .5s ease both}.room-candle:active{cursor:grabbing}.room-candle:before{content:'';position:absolute;inset:0 3px;border-left:1px solid rgba(255,241,190,.5);opacity:.55}.room-flame{position:absolute;top:-28px;left:2px;width:15px;height:26px;border-radius:52% 48% 48% 52%;background:#ffca62;box-shadow:0 0 10px 4px rgba(255,177,48,.75),0 0 30px 8px rgba(242,126,26,.3);animation:flame-dance var(--flicker,1.7s) ease-in-out infinite}.room-flame:after{content:'';position:absolute;inset:4px 4px 6px;background:#fff1bb;border-radius:50%}.room-candle.premium{background:linear-gradient(90deg,#846127,#ffd76f 47%,#906529);box-shadow:0 0 21px rgba(244,190,75,.42)}.room-candle.premium .room-flame{background:#ffe285;box-shadow:0 0 13px 5px rgba(255,224,118,.9),0 0 43px 15px rgba(255,182,40,.46)}.candle-tooltip{position:absolute;z-index:20;width:205px;pointer-events:none;padding:13px 15px;border:1px solid rgba(222,188,108,.42);border-radius:5px;background:rgba(19,25,31,.94);box-shadow:0 12px 40px rgba(0,0,0,.4);color:#f9e7bd;opacity:0;transform:translate(-50%,-100%) translateY(-24px);transition:.2s}.room-candle:hover .candle-tooltip{opacity:1;transform:translate(-50%,-100%) translateY(-20px)}.candle-tooltip strong{display:block;font-family:var(--serif);font-size:19px;font-weight:600;color:#ecc97c}.candle-tooltip small{display:block;margin-top:5px;font-size:11px;line-height:1.4;color:rgba(255,245,223,.67)}.candle-tooltip em{display:block;margin-top:8px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#a79476;font-style:normal}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(4,8,12,.72);backdrop-filter:blur(10px);display:none;place-items:center;padding:18px}.modal-backdrop.open{display:grid}.candle-modal{width:min(610px,100%);background:#202a31;border:1px solid rgba(225,185,102,.4);box-shadow:0 30px 100px rgba(0,0,0,.7);border-radius:8px;padding:34px;color:#f7edd7;position:relative;animation:modal-in .35s ease}.modal-close{position:absolute;right:19px;top:14px;border:0;background:none;color:#ceb27a;font-size:24px}.candle-modal h3{font-family:var(--serif);font-size:42px;line-height:.9;font-weight:500;margin:0 0 7px}.candle-modal>p{font-family:var(--serif);font-size:17px;color:rgba(247,237,215,.58);margin:0 0 25px}.tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:23px}.tier-card{border:1px solid rgba(228,188,107,.22);border-radius:5px;padding:12px 9px;background:rgba(255,255,255,.025);color:#e6d5b4;text-align:left;transition:.2s}.tier-card:hover,.tier-card.selected{border-color:#d5a955;background:rgba(210,158,61,.13)}.tier-card b{display:block;font-family:var(--serif);font-size:23px;color:#efc976}.tier-card span{display:block;font-size:10px;margin-top:4px;color:rgba(255,239,203,.57);line-height:1.3}.tier-card em{display:block;color:#d0aa62;font-size:8px;text-transform:uppercase;font-style:normal;letter-spacing:.09em;margin-top:8px}.modal-label{display:block;color:#dfbd76;font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin:13px 0 7px}.modal-field{width:100%;background:rgba(0,0,0,.16);border:1px solid rgba(230,195,124,.23);border-radius:3px;padding:12px;color:#fff;outline:0}.modal-field:focus{border-color:#d8aa58}.modal-submit{width:100%;margin-top:22px;border:0;padding:15px;border-radius:3px;background:linear-gradient(100deg,#ddbb6f,#b27e2d);color:#2c1b0f;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700}.charity-band{background:#efe8db;padding:105px clamp(24px,12vw,180px);display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.charity-band h2{font-family:var(--serif);font-weight:500;font-size:clamp(43px,5vw,71px);line-height:.9;color:#39271c;margin:0 0 25px}.charity-band h2 em{color:#a37c39;font-style:italic}.charity-band p{font-family:var(--serif);font-size:20px;color:#806b58;line-height:1.4;max-width:570px;margin:0}.charity-stat{border-left:1px solid #d4c4a7;padding-left:35px}.stat-value{font-family:var(--serif);font-size:64px;color:#9e7736}.stat-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#937653;margin-bottom:18px}.progress{height:5px;background:#d6c8af;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;width:68%;background:linear-gradient(90deg,#9d7335,#d1a455)}.stat-note{font-size:11px;color:#937653;margin-top:9px}.site-disclaimer{padding:28px clamp(24px,10vw,150px);background:#1f1511;color:rgba(239,224,194,.6);font-family:var(--serif);font-size:16px;line-height:1.4;text-align:center}.site-disclaimer strong{color:#d8b56d;font-weight:500}
@keyframes flame-dance{0%,100%{transform:scaleY(1) rotate(1deg)}50%{transform:scaleY(1.17) rotate(-5deg)}}@keyframes candle-rise{from{opacity:0;transform:translateY(18px) scale(.7)}to{opacity:1;transform:none}}@keyframes dust-drift{to{background-position:160px 100px,-120px 110px}}@keyframes modal-in{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:900px){.candle-room{padding:104px 16px 28px;min-height:100svh}.room-header{display:block;margin-bottom:17px}.candle-room h2{font-size:54px}.candle-room .room-header p:not(.eyebrow){font-size:17px}.room-actions{justify-content:flex-start;margin-top:21px;gap:9px}.room-actions>span:nth-child(2){margin-right:auto}.sound-toggle span{display:none}.room-cta{padding:10px 14px}.candle-stage{height:calc(100svh - 350px);min-height:460px}.room-footer{display:block;line-height:2}.room-footer span,.room-footer a{display:block}.stage-hint{font-size:8px}.room-candle{width:14px}.room-flame{left:1px}.candle-tooltip{width:175px}.tier-grid{grid-template-columns:repeat(2,1fr)}.candle-modal{padding:27px 20px}.charity-band{display:block;padding:75px 24px}.charity-stat{margin-top:43px;padding-left:21px}.stat-value{font-size:53px}}

/* Final visual overrides: deliberately strong differences between candle types. */
.hero{background-image:url('assets/annunciation-cathedral-moscow.jpg') !important;background-size:cover !important;background-position:center 38% !important}
.room-candle{width:var(--candle-w,18px) !important;height:var(--candle-h,62px) !important;border-radius:var(--candle-radius,4px 4px 2px 2px) !important;background:linear-gradient(90deg,var(--wax-start,#a96d28),var(--wax-mid,#f5cb75) 47%,var(--wax-end,#af742e)) !important}
.room-candle .room-flame{width:var(--flame-w,15px) !important;height:var(--flame-h,26px) !important;left:calc((var(--candle-w,18px) - var(--flame-w,15px)) / 2) !important}
.room-candle .room-flame{left:50% !important;margin-left:calc(var(--flame-w,15px) / -2);}
.room-candle.slim{box-shadow:0 3px 9px rgba(0,0,0,.5)}
.room-candle.pillar{box-shadow:0 7px 21px rgba(0,0,0,.58),0 0 11px rgba(211,157,67,.32)}
.room-candle.tapered{clip-path:polygon(17% 0,83% 0,100% 100%,0 100%)}
.room-candle.ivory{filter:saturate(.55) brightness(1.12)}
.room-candle.wine{filter:saturate(1.35)}
.room-candle.glass{opacity:.82;box-shadow:0 4px 15px rgba(0,0,0,.48),inset 0 0 8px rgba(255,223,155,.42)}
.room-candle.burning-out{pointer-events:none;animation:candle-out 1.2s ease forwards}.room-candle.burning-out .room-flame{animation:flame-out 1.2s ease forwards}.room-candle.burning-out .candle-tooltip{display:none}
.candle-modal .eyebrow{margin-bottom:12px}.candle-modal .tier-card span{white-space:nowrap}

/* Larger identity and clearer primary actions. */
.site-header{padding-top:8px}
.brand{gap:18px}
.brand-mark{width:58px;height:64px;border-width:3px;border-color:#f0d28e;filter:drop-shadow(0 0 9px rgba(226,180,82,.38));clip-path:polygon(50% 0,63% 14%,82% 25%,82% 100%,18% 100%,18% 25%,37% 14%)}
.brand-mark:before{left:25px;top:-13px;width:3px;height:17px;background:#f0d28e}
.brand-mark:after{left:19px;top:-18px;width:15px;height:3px;background:#f0d28e;box-shadow:0 7px 0 -1px rgba(240,210,142,.85)}
.brand-mark span{left:24px;width:9px;height:24px;border-width:3px;border-color:#f0d28e}
.brand strong{font-size:30px;font-weight:700;letter-spacing:.015em;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.brand small{font-size:12px;font-weight:600;color:rgba(255,255,255,.78)}
.primary-button{min-width:330px;padding:20px 26px;font-size:23px;font-weight:600;letter-spacing:.01em}
.primary-button .button-candle{font-size:32px}.primary-button .arrow{font-size:20px}
.room-cta{padding:15px 24px;font-size:13px;font-weight:700;letter-spacing:.02em;box-shadow:0 8px 24px rgba(197,153,75,.22)}
.gold-button,.modal-submit{font-weight:800}
.nav{font-weight:600}.room-actions,.room-footer{font-weight:600}
.hero-copy{font-weight:600;color:rgba(255,255,255,.82)}
@media(max-width:900px){.site-header{padding-top:0}.brand-mark{width:46px;height:52px}.brand-mark:before{left:20px}.brand-mark:after{left:15px}.brand-mark span{left:19px}.brand strong{font-size:24px}.brand small{font-size:10px}.primary-button{min-width:285px;padding:18px 21px;font-size:20px}.room-cta{padding:13px 17px;font-size:12px}}

/* New emblem: a small church, a cross, and a living flame in one mark. */
.brand-mark{clip-path:none;border:0!important;width:64px;height:70px;filter:drop-shadow(0 0 10px rgba(236,188,83,.3))}
.brand-mark svg{display:block;width:100%;height:100%;overflow:visible}
.brand-mark svg path{fill:none;stroke:#f1d28e;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.brand-mark .logo-dome{fill:rgba(221,173,72,.14);stroke-width:2.2}.brand-mark .logo-flame{fill:#f7cd70;stroke:#fff0bd;stroke-width:1.5;filter:drop-shadow(0 0 7px rgba(255,190,66,.85))}.brand-mark .logo-cross{stroke:#ffe9ae;stroke-width:2.7}.brand-mark .logo-halo{stroke:#d8aa58;opacity:.5}
.brand-mark .logo-candle{fill:rgba(220,177,86,.13);stroke:#f1d28e;stroke-width:2}.brand-mark .logo-rim{stroke:#e7c478;stroke-width:1.5}.brand-mark .logo-wick{stroke:#f1d28e;stroke-width:1.5}.brand-mark .logo-flame{fill:#f7cd70;stroke:#fff0bd;stroke-width:1.5;filter:drop-shadow(0 0 7px rgba(255,190,66,.85))}.brand-mark .logo-candle+ .logo-rim{fill:none}
.footer-brand .brand-mark{width:38px;height:48px;border:0!important;clip-path:none}.footer-brand .brand-mark span{display:none}.footer-brand .brand-mark:before{content:'';position:absolute;left:10px;top:18px;width:16px;height:25px;border:2px solid #f1d28e;border-radius:2px;background:rgba(220,177,86,.12)}.footer-brand .brand-mark:after{content:'';position:absolute;left:15px;top:0;width:8px;height:16px;border:2px solid #f7cd70;border-radius:55% 45% 55% 45%;transform:rotate(4deg);filter:drop-shadow(0 0 5px rgba(255,190,66,.75))}
@media(max-width:900px){.brand-mark{width:53px;height:59px}.footer-brand .brand-mark{width:42px;height:47px}}

/* Keep the prayer room atmospheric while making its controls and text easier to read. */
.candle-room{background:#08131f url('assets/night-chapel.svg') center/cover fixed;color:#fff8ea}
.candle-room:before{background:linear-gradient(180deg,rgba(5,13,22,.45),rgba(5,10,16,.82)),radial-gradient(ellipse at 50% 55%,rgba(222,170,77,.2),transparent 42%)}
.room-atmosphere{opacity:.48}
.candle-room h2{color:#fff8ea;text-shadow:0 3px 18px rgba(0,0,0,.55)}
.candle-room h2 em{color:#f4ce7c}
.candle-room .room-header p:not(.eyebrow){color:rgba(255,248,234,.82);font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.48)}
.room-actions,.room-footer{color:rgba(255,247,226,.82)}
.room-actions strong{color:#ffe2a0}
.candle-stage{background:linear-gradient(180deg,rgba(6,18,28,.22),rgba(3,8,14,.72)),radial-gradient(ellipse at 50% 50%,rgba(225,168,70,.2),transparent 46%);border-color:rgba(245,211,137,.3);box-shadow:inset 0 0 120px rgba(1,5,10,.55),0 25px 80px rgba(0,0,0,.36)}
.stage-hint{color:rgba(255,226,160,.5);text-shadow:0 2px 10px rgba(0,0,0,.7)}
.voices h2{white-space:nowrap;font-size:clamp(44px,5.4vw,78px);font-weight:600;color:#302117}
.voices h2 em{color:#a47735}
.hero h1,.section-intro h2,.charity-band h2{font-weight:600;text-shadow:0 3px 14px rgba(0,0,0,.28)}
@media(max-width:900px){.voices h2{white-space:normal;font-size:clamp(39px,11vw,58px)}}

/* User-provided prayer-room background. */
.candle-room{background-image:linear-gradient(180deg,rgba(5,13,22,.3),rgba(3,8,14,.72)),url('klassicheskiy.jpg');background-position:center;background-size:cover;background-attachment:fixed}
.intention-field{appearance:auto;color:#fff0ce;background:#1f2b31}
.intention-field option{background:#1f2b31;color:#fff0ce}
.music-guide{display:flex;align-items:center;gap:14px;color:#ffe3a8;font-size:42px;line-height:1.05;text-align:right;letter-spacing:-.02em;font-weight:800;text-shadow:0 3px 12px rgba(0,0,0,.55)}
.music-pointer{position:relative;display:block;width:58px;height:30px;flex:0 0 58px;transform:none}
.music-pointer:before{content:'';position:absolute;left:0;right:15px;top:13px;height:5px;border-radius:99px;background:#f8d27e;box-shadow:0 0 12px rgba(246,194,91,.4)}
.music-pointer:after{content:'';position:absolute;right:0;top:4px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:18px solid #f8d27e;filter:drop-shadow(0 0 7px rgba(246,194,91,.35))}
.sound-toggle{white-space:nowrap}
.find-candle{border:1px solid rgba(222,191,119,.34);background:rgba(255,255,255,.06);color:#f5d99c;border-radius:99px;padding:11px 15px;font-size:11px;font-weight:700;white-space:nowrap;transition:.2s}
.find-candle:hover{background:rgba(220,172,81,.18);border-color:#d9b66d}
.room-candle.found-candle{z-index:12;animation:found-candle-pulse 1s ease-in-out 4 alternate}
.room-candle.found-candle .room-flame{filter:brightness(1.35);box-shadow:0 0 18px 8px rgba(255,222,126,.95),0 0 58px 22px rgba(255,175,49,.68)}
.payment-card{display:flex;align-items:center;gap:26px;border:1px solid rgba(168,126,61,.3);border-radius:8px;padding:24px;background:linear-gradient(135deg,#f8f0df,#e8dac2);box-shadow:0 18px 38px rgba(77,50,26,.12)}
.payment-qr{flex:0 0 164px;padding:9px;background:#fff8e8;border:5px solid #b98a42;border-radius:5px;box-shadow:0 0 0 1px rgba(75,47,22,.18),0 8px 20px rgba(72,43,17,.16)}
.payment-qr svg{display:block;width:100%;height:auto}
.payment-card strong{display:block;font-family:var(--serif);font-size:30px;line-height:1;color:#4a3021;margin-bottom:10px}
.payment-card p{font-family:var(--serif);font-size:18px;line-height:1.25;color:#73583f;margin:0 0 11px}
.payment-card small{display:block;font-size:10px;line-height:1.45;letter-spacing:.04em;color:#947453}
@media(max-width:900px){.music-guide{order:5;width:100%;justify-content:flex-start;text-align:left;font-size:26px;line-height:1.05}.music-pointer{width:48px;height:26px;flex-basis:48px}.music-pointer:before{right:13px;top:11px;height:4px}.music-pointer:after{top:3px;border-top-width:10px;border-bottom-width:10px;border-left-width:15px}.payment-card{margin-top:38px;padding:18px;gap:16px}.payment-qr{flex-basis:130px}.payment-card strong{font-size:25px}.payment-card p{font-size:16px}}
.ritual .section-intro h2{font-size:clamp(54px,5.8vw,82px);line-height:.95;color:#352219}
.ritual .section-intro h2 .review-accent{color:#b18a4e}
.ritual .section-intro>p:last-child{font-size:24px;line-height:1.45;font-weight:600;color:#624c3c}
.payment-card .qr-instruction{font-size:25px;line-height:1.12;font-weight:700;color:#68452b;margin-bottom:14px}
.step h3{font-size:29px;color:#3d281d;font-weight:700}
.step p{font-size:15px;line-height:1.65;color:#654e3e;font-weight:600}
.voices{padding-top:120px}
.voices .eyebrow{font-size:12px;font-weight:700}
.voices h2{font-size:clamp(52px,6vw,86px);font-weight:700;margin-bottom:24px}
.review-button{display:block;margin:0 0 38px auto;border:1px solid #b18a4e;background:#b18a4e;color:#fff8e9;border-radius:999px;padding:13px 22px;font-size:13px;font-weight:700;box-shadow:0 8px 20px rgba(116,76,29,.18);transition:.2s}
.review-button:hover{background:#936c36;transform:translateY(-2px)}
.quote-grid blockquote{font-size:24px;font-weight:600;line-height:1.4}
.quote-grid cite{font-size:11px;font-weight:700}
.review-modal{width:min(520px,100%);background:#f3eadb;border:1px solid rgba(177,138,78,.48);box-shadow:0 30px 100px rgba(0,0,0,.45);border-radius:8px;padding:34px;color:#3f291e;position:relative}
.review-modal h3{font-family:var(--serif);font-size:44px;line-height:.95;margin:0 0 22px;color:#3c261a}
.review-modal .modal-field{display:block;margin-top:12px;background:rgba(255,255,255,.55);border-color:rgba(132,99,55,.28);color:#382419}
.review-modal .modal-submit{margin-top:17px}
@media(max-width:900px){.ritual .section-intro h2{font-size:clamp(46px,12vw,64px)}.ritual .section-intro>p:last-child{font-size:20px}.step h3{font-size:25px}.step p{font-size:14px}.voices h2{font-size:clamp(44px,12vw,64px)}.quote-grid blockquote{font-size:21px}}

.sound-toggle{padding:16px 22px;font-size:16px;font-weight:800;min-height:52px;box-shadow:0 8px 22px rgba(197,153,75,.2)}
.room-cta{padding:16px 22px;font-size:16px;font-weight:800;min-height:52px}
.room-header{position:relative}
.visitor-status{position:absolute;top:0;right:0;display:flex;align-items:center;gap:9px;color:rgba(255,247,226,.86);font-size:13px;font-weight:700;letter-spacing:.03em}
.visitor-status strong{color:#ffe2a0}
.room-header>.room-actions{position:absolute;right:0;bottom:4px;margin-left:0;padding-top:0}
.room-header>.room-actions{display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto auto;align-items:center;justify-content:end;gap:10px 12px}
.room-header>.room-actions .music-guide{grid-column:1 / span 2;grid-row:1}
.room-header>.room-actions .sound-toggle{grid-column:3;grid-row:1}
.room-header>.room-actions .find-candle{grid-column:2;grid-row:2}
.room-header>.room-actions .room-cta{grid-column:3;grid-row:2}
@media(max-width:900px){.sound-toggle{padding:13px 17px;font-size:14px;min-height:46px}}
@media(max-width:900px){.room-cta{padding:13px 17px;font-size:14px;min-height:46px}}
@media(max-width:900px){.visitor-status{position:static;justify-content:flex-end;margin-top:22px}.room-header>.room-actions{display:flex;position:static;margin-top:21px;padding-top:0}.room-header>.room-actions .music-guide,.room-header>.room-actions .sound-toggle,.room-header>.room-actions .find-candle,.room-header>.room-actions .room-cta{grid-column:auto;grid-row:auto}}

/* Final polish for the hero controls and ritual symbols. */
.primary-button .arrow{display:none}
.hero-scroll span{display:block;writing-mode:horizontal-tb;transform:none;line-height:1;font-family:var(--sans)}
.step-icon.book-icon,.step-icon.candle-icon{position:relative;width:46px;height:48px;font-family:var(--sans);font-size:0}
.book-icon:before,.book-icon:after{content:'';position:absolute;top:7px;width:21px;height:32px;border:2px solid #a18346;background:rgba(161,131,70,.08)}
.book-icon:before{left:2px;border-radius:4px 2px 2px 5px;transform:skewY(-4deg)}
.book-icon:after{right:2px;border-radius:2px 4px 5px 2px;transform:skewY(4deg)}
.candle-icon:before{content:'';position:absolute;left:13px;top:15px;width:20px;height:30px;border:2px solid #a18346;border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,transparent 45%,rgba(161,131,70,.16) 46%,rgba(161,131,70,.16) 54%,transparent 55%)}
.candle-icon:after{content:'';position:absolute;left:18px;top:0;width:11px;height:17px;border:2px solid #a18346;border-radius:55% 45% 55% 45%;background:rgba(211,166,77,.2);transform:rotate(4deg)}

/* Keep the ritual cards aligned and remove decorative text shadows. */
body *{text-shadow:none!important}
.steps{align-items:stretch}
.step{display:grid;grid-template-rows:18px 68px auto 1fr;align-content:start;min-height:285px}
.step-number{grid-row:1;align-self:start}
.step-icon{grid-row:2;align-self:start;margin:12px 0 8px!important}
.step h3{grid-row:3;align-self:start;margin:0 0 11px}
.step p{grid-row:4;align-self:start}
@media(max-width:900px){.step{display:grid;grid-template-rows:auto auto auto;min-height:0}.step-number{grid-row:auto}.step-icon{grid-row:2 / span 2;margin:10px 0 0!important}.step h3{grid-row:auto;margin:0 0 11px}.step p{grid-row:auto}}
@keyframes candle-out{to{opacity:0;transform:translateY(14px) scale(.55);filter:blur(4px)}}@keyframes flame-out{to{opacity:0;transform:scale(.15) translateY(16px)}}
.found-candle{animation:found-candle-pulse 1s ease-in-out 4 alternate!important}@keyframes found-candle-pulse{from{filter:brightness(1);box-shadow:0 0 12px rgba(255,182,53,.4)}to{filter:brightness(1.6);box-shadow:0 0 28px 11px rgba(255,220,126,.95),0 0 80px 28px rgba(255,175,49,.65)}}
.room-candle.small{width:10px!important;height:42px!important;border-radius:3px 3px 1px 1px!important;background:linear-gradient(90deg,#6f3d1e,#b97935 50%,#5e321b)!important}.room-candle.medium{width:16px!important;height:54px!important;border-radius:4px 4px 2px 2px!important;background:linear-gradient(90deg,#bd771f,#ffe07b 50%,#b76d1b)!important}.room-candle.large{width:23px!important;height:68px!important;border-radius:6px 6px 3px 3px!important;background:linear-gradient(90deg,#9c6b16,#f6ca54 48%,#8c5a13)!important;box-shadow:0 0 15px rgba(238,182,53,.4)!important}.room-candle.premium{width:31px!important;height:84px!important;border-radius:7px 7px 3px 3px!important;background:linear-gradient(90deg,#cfc8af,#fff9e1 48%,#bdb69c)!important;box-shadow:0 0 18px rgba(255,239,175,.48)!important}.room-candle.small .room-flame{background:#e7a348}.room-candle.medium .room-flame{background:#ffd263}.room-candle.large .room-flame{background:#ffe18a}.room-candle.premium .room-flame{background:#fff4c8;box-shadow:0 0 13px 5px rgba(255,240,176,.95),0 0 42px 14px rgba(255,211,95,.5)!important}.preview-candle.small{width:17px;height:47px;background:linear-gradient(90deg,#6f3d1e,#b97935 50%,#5e321b)}.preview-candle.medium{width:23px;height:58px;background:linear-gradient(90deg,#bd771f,#ffe07b 50%,#b76d1b)}.preview-candle.large{width:29px;height:69px;background:linear-gradient(90deg,#9c6b16,#f6ca54 48%,#8c5a13)}.preview-candle.premium{width:36px;height:82px;background:linear-gradient(90deg,#cfc8af,#fff9e1 48%,#bdb69c)}.preview-candle.premium:after{background:#fff4c8;box-shadow:0 0 13px 5px rgba(255,240,176,.95),0 0 35px 12px rgba(255,211,95,.5)}.room-candle.new-candle{animation:new-candle-glow 3s ease-out forwards,candle-rise .5s ease both}@keyframes new-candle-glow{0%,30%{filter:brightness(1.45);box-shadow:0 0 23px 9px rgba(255,220,126,.92),0 0 70px 22px rgba(255,175,49,.58)}100%{filter:none}}
.candle-preview{display:flex;align-items:center;gap:20px;min-height:105px;margin:0 0 22px;padding:14px 17px;border:1px solid rgba(228,188,107,.2);border-radius:5px;background:radial-gradient(circle at 18% 50%,rgba(220,166,69,.16),transparent 32%),rgba(0,0,0,.15)}.preview-candle{position:relative;width:24px;height:53px;margin:16px 17px 0 16px;border-radius:6px 6px 2px 2px;background:linear-gradient(90deg,#9b6428,#f2c77d 47%,#a56c2c);box-shadow:0 0 18px rgba(239,167,55,.32)}.preview-candle:after{content:'';position:absolute;left:50%;top:-24px;width:18px;height:28px;transform:translateX(-50%);border-radius:52% 48% 48% 52%;background:#ffd16a;box-shadow:0 0 11px 4px rgba(255,177,48,.78),0 0 25px 8px rgba(242,126,26,.32)}.preview-candle.medium{width:31px;height:64px;background:linear-gradient(90deg,#865329,#edb45f 47%,#995e29)}.preview-candle.large{width:40px;height:76px;border-radius:8px 8px 3px 3px;background:linear-gradient(90deg,#8f5d27,#f1c36f 47%,#a66a2c);box-shadow:0 0 25px rgba(239,167,55,.48)}.preview-candle.large:after{width:21px;height:33px}.preview-candle.premium{width:47px;height:87px;border-radius:10px 10px 4px 4px;background:linear-gradient(90deg,#7e5b26,#ffdc79 47%,#8c6329);box-shadow:0 0 32px rgba(255,205,75,.62)}.preview-candle.premium:after{width:25px;height:39px;background:#ffe58e;box-shadow:0 0 16px 6px rgba(255,224,118,.9),0 0 35px 12px rgba(255,182,40,.46)}.candle-preview strong,.candle-preview span,.candle-preview small{display:block}.candle-preview strong{font-family:var(--serif);font-size:22px;color:#efc976}.candle-preview span{margin-top:3px;color:#fff0ce;font-size:13px}.candle-preview small{margin-top:7px;color:rgba(255,239,203,.5);font-size:10px}
.preview-candle.small{width:17px;height:47px;background:linear-gradient(90deg,#6f3d1e,#b97935 50%,#5e321b)}.preview-candle.medium{width:23px;height:58px;background:linear-gradient(90deg,#bd771f,#ffe07b 50%,#b76d1b)}.preview-candle.large{width:29px;height:69px;background:linear-gradient(90deg,#9c6b16,#f6ca54 48%,#8c5a13)}.preview-candle.premium{width:36px;height:82px;background:linear-gradient(90deg,#cfc8af,#fff9e1 48%,#bdb69c)}.preview-candle.premium:after{background:#fff4c8;box-shadow:0 0 13px 5px rgba(255,240,176,.95),0 0 35px 12px rgba(255,211,95,.5)}
/* Mobile layout and performance fixes. Keep the room usable on touch screens. */
@media (max-width: 900px) {
  .site-header { padding: 0 16px; gap: 8px; }
  .brand { flex: 1 1 auto; width: auto; margin-right: 0; gap: 8px; min-width: 0; }
  .brand-mark { flex: 0 0 42px; width: 42px; height: 47px; }
  .brand strong { font-size: 19px; }
  .brand small { display: none; }
  .balance-button { position: absolute; left: 58px; top: 50px; right: auto; order: initial; padding: 7px 12px; min-height: 34px; font-size: 11px; }
  .menu-button { position: absolute; top: 15px; right: 16px; order: initial; width: 30px; flex: 0 0 30px; padding: 0; }
  .motto { width: 100%; gap: 8px; letter-spacing: .08em; white-space: nowrap; font-size: 8px; }
  .motto span { width: auto; flex: 1 1 auto; }
  .music-pointer { display: none; }
  .charity-band h2 { font-size: 29px; line-height: 1.02; letter-spacing: -.015em; }
  .charity-band h2 em { white-space: nowrap; }
  html { overflow-x: hidden; }
  body { overflow-x: hidden; }
  body.modal-open { overflow: hidden; }
  .site-header { z-index: 20; }
  .brand { min-width: 0; gap: 10px; }
  .brand > span:last-child { min-width: 0; }
  .brand strong, .brand small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .brand strong { font-size: 21px; }
  .brand small { max-width: 210px; }
  .hero { min-height: 700px; height: 100svh; background-attachment: scroll; }
  .hero-content { max-width: calc(100vw - 48px); }
  .hero h1 { font-size: clamp(48px, 14vw, 70px); line-height: .94; }
  .hero-copy { max-width: 33rem; }
  .primary-button { min-width: 0; width: min(100%, 330px); }
  .candle-room { min-height: 0; padding-top: 92px; background-attachment: scroll; }
  .room-header { margin-bottom: 18px; }
  .candle-room h2 { font-size: clamp(43px, 12vw, 60px); line-height: .92; }
  .candle-room .room-header p:not(.eyebrow) { font-size: 16px; line-height: 1.4; }
  .visitor-status { justify-content: flex-start; margin-top: 16px; }
  .room-header > .room-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 17px; }
  .room-header > .room-actions > * { min-width: 0; }
  .room-header > .room-actions .sound-toggle,
  .room-header > .room-actions .find-candle,
  .room-header > .room-actions .room-cta { width: 100%; }
  .room-header > .room-actions .music-guide { grid-column: 1 / -1; grid-row: 1; font-size: 20px; }
  .room-header > .room-actions .sound-toggle { grid-column: 1; grid-row: 2; }
  .room-header > .room-actions .find-candle { grid-column: 2; grid-row: 2; }
  .room-header > .room-actions .room-cta { grid-column: 1 / -1; grid-row: 3; }
  .candle-stage { height: min(560px, 72svh); min-height: 390px; max-height: none; border-radius: 8px; }
  .candle-stage::before { display: none; }
  .candle-stage::after { background: radial-gradient(ellipse at center, transparent 42%, rgba(1, 6, 12, .45) 100%); }
  .room-candle { animation: none; }
  .room-candle .room-flame { animation-duration: 2.8s; }
  .stage-hint { max-width: 80%; line-height: 1.6; }
  .room-candle .candle-tooltip { display: none; pointer-events: none; }
  .room-candle.candle-selected .candle-tooltip { display: block; opacity: 1; transform: translate(-50%, -100%) translateY(-20px); }
  .room-footer { margin-top: 14px; font-size: 9px; line-height: 1.6; }
  .ritual .section-intro > p:last-child { font-size: 18px; }
  .steps { gap: 28px; }
  .step { grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto auto auto; min-height: 0; }
  .step-number { grid-column: 1 / -1; grid-row: 1; }
  .step-icon { grid-column: 1; grid-row: 2 / span 2; width: 40px; }
  .step h3 { grid-column: 2; grid-row: 2; font-size: 23px; }
  .step p { grid-column: 2; grid-row: 3; font-size: 14px; }
  .voices h2 { line-height: .98; }
  .modal-backdrop { align-items: start; overflow-y: auto; padding: 12px; }
  .candle-modal, .review-modal { margin: auto 0; max-height: calc(100svh - 24px); overflow-y: auto; padding: 25px 17px 20px; }
  .candle-modal h3, .review-modal h3 { font-size: 36px; }
  .candle-modal > p { font-size: 16px; line-height: 1.3; }
  .tier-grid { gap: 7px; }
  .tier-card { min-height: 105px; padding: 10px 8px; }
  .tier-card b { font-size: 20px; }
  .tier-card span { white-space: normal !important; }
  .candle-preview { min-height: 87px; margin-bottom: 15px; }
  .candle-preview strong { font-size: 20px; }
  .modal-submit { min-height: 50px; font-size: 10px; }
  .payment-card { display: block; }
  .payment-qr { width: min(180px, 70vw); margin: 0 auto 18px; }
  .section-intro, .voices, .charity-band, footer, .site-disclaimer { text-align: left; }
  .section-intro h2, .voices h2, .charity-band h2 { max-width: 100%; }
  .section-intro > p:last-child, .charity-band p { max-width: 100%; }
  .quote-grid blockquote { text-align: left; }
  .footer-brand + p { text-align: left; }
  .payment-card > div:last-child { text-align: left; }
}

@media (max-width: 900px) {
  .nav.open { border-radius: 16px; overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
.balance-button { border: 1px solid rgba(222,191,119,.27); background: rgba(255,255,255,.035); color: #eed29d; border-radius: 99px; padding: 16px 22px; font-size: 16px; font-weight: 800; min-height: 52px; white-space: nowrap; box-shadow: 0 8px 22px rgba(197,153,75,.2); }
.balance-button strong { color: #f2cd7b; }
.support-button { display: block; width: 100%; margin: 12px 0 16px; border: 0; border-radius: 4px; padding: 13px 16px; background: #b98a42; color: #fff8e8; font-weight: 700; cursor: pointer; }
.amount-field { display: flex; align-items: center; gap: 10px; }
.amount-field .modal-field { flex: 1; }
.amount-field > span { font-family: var(--serif); font-size: 28px; color: #b98a42; }
.balance-note { display: block; margin-top: 12px; color: #947453; font-size: 11px; line-height: 1.4; }
@media (max-width: 900px) {
  .balance-button { position: absolute; top: 15px; right: 65px; padding: 13px 17px; font-size: 14px; min-height: 46px; }
  .support-button { min-height: 46px; }
}

/* Keep the mobile balance below the brand, clear of the title and menu. */
@media (max-width: 900px) {
  .site-header { min-height: 86px; }
  .brand { align-self: flex-start; margin-top: 16px; }
  .brand strong { line-height: 1.15; }
  .balance-button { top: 51px; left: 66px; right: auto; width: 150px; padding: 10px 16px; min-height: 50px; font-size: 15px; z-index: 2; }
  .menu-button { top: 15px; right: 16px; z-index: 3; }
}

@media (max-width: 900px) {
  .balance-button { top: 17px; left: 50%; right: auto; transform: translateX(-50%); width: 112px; padding: 8px 12px; min-height: 40px; font-size: 13px; }
}

@media (max-width: 900px) {
  .brand strong { width: 82px; line-height: .92; white-space: normal; }
  .balance-button { top: 17px; left: auto; right: 51px; transform: none; width: 104px; padding: 8px 10px; min-height: 40px; font-size: 13px; }
}

