html.lyte-intro-seen #lyte-entrance{display:none!important}

.lyte-entrance{
    --lyte-gold:#d6ad55;
    --lyte-gold-soft:#f3ddb0;
    --lyte-duration:3000ms;
    --lyte-door-x:54%;
    --lyte-door-y:68.8%;
    --lyte-door-w:13.4vw;
    --lyte-door-h:30vh;
    position:fixed;
    inset:0;
    z-index:2147483000;
    width:100%;
    height:100vh;
    height:100svh;
    overflow:hidden;
    background:#17110a;
    font-family:Georgia,"Times New Roman",serif;
    isolation:isolate;
}
.lyte-entrance[hidden]{display:none!important}
body.lyte-lock{overflow:hidden!important}

.lyte-scene{
    position:absolute;
    inset:-1.2%;
    background-size:cover;
    background-position:center center;
    transform:scale(1.01);
    transition:transform calc(var(--lyte-duration) + 650ms) cubic-bezier(.18,.78,.2,1),filter 900ms ease;
    will-change:transform;
}
.lyte-vignette{
    position:absolute;
    inset:0;
    background:
        linear-gradient(to bottom,rgba(15,8,2,.10) 0%,rgba(15,8,2,0) 40%,rgba(10,5,1,.18) 100%),
        radial-gradient(circle at 50% 53%,transparent 46%,rgba(8,4,0,.25) 100%);
    pointer-events:none;
}
.lyte-warm-glow{
    position:absolute;
    left:var(--lyte-door-x);
    top:var(--lyte-door-y);
    width:calc(var(--lyte-door-w) * 1.6);
    height:calc(var(--lyte-door-h) * 1.2);
    transform:translate(-50%,-50%) scale(.72);
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,234,177,.60) 0%,rgba(255,185,73,.23) 36%,transparent 74%);
    opacity:0;
    filter:blur(17px);
    transition:opacity 1100ms ease 380ms,transform var(--lyte-duration) ease;
    pointer-events:none;
}

/* Calibrated to the real doorway in the current Loc Uyen background. */
.lyte-doorway{
    position:absolute;
    left:var(--lyte-door-x);
    top:var(--lyte-door-y);
    width:clamp(160px,var(--lyte-door-w),220px);
    height:clamp(218px,var(--lyte-door-h),285px);
    transform:translate(-50%,-50%);
    perspective:1450px;
    z-index:2;
    filter:drop-shadow(0 12px 16px rgba(0,0,0,.42));
}
.lyte-inner-light{
    position:absolute;
    inset:1.5%;
    border-radius:2px;
    background:
        radial-gradient(circle at 50% 44%,rgba(255,248,215,.98) 0%,rgba(248,196,94,.84) 24%,rgba(192,104,25,.60) 52%,rgba(55,26,7,.18) 100%);
    box-shadow:0 0 34px rgba(255,194,82,.52);
}
.lyte-door{
    position:absolute;
    top:0;
    width:50.35%;
    height:100%;
    box-sizing:border-box;
    border:2px solid #3d190c;
    background:
        linear-gradient(90deg,rgba(255,219,137,.08),transparent 12%,rgba(0,0,0,.17) 50%,transparent 88%,rgba(255,219,137,.06)),
        linear-gradient(180deg,#71301a 0%,#8a3a1d 18%,#6e2914 48%,#843719 75%,#5c210f 100%);
    box-shadow:
        inset 0 0 0 2px rgba(212,150,64,.28),
        inset 0 0 22px rgba(0,0,0,.46),
        0 0 0 1px rgba(36,13,5,.56);
    backface-visibility:hidden;
    transform-style:preserve-3d;
    transition:transform var(--lyte-duration) cubic-bezier(.18,.72,.12,1);
    overflow:hidden;
}
.lyte-door::before,
.lyte-door::after{
    content:"";
    position:absolute;
    left:10%;
    right:10%;
    border:1px solid rgba(225,171,77,.36);
    box-shadow:inset 0 0 0 2px rgba(54,18,7,.38);
}
.lyte-door::before{top:8%;height:37%}
.lyte-door::after{bottom:8%;height:37%}
.lyte-door-left{left:0;transform-origin:left center}
.lyte-door-right{right:0;transform-origin:right center}
.lyte-door-ring{
    position:absolute;
    top:49%;
    width:21px;
    height:21px;
    border-radius:50%;
    border:3px solid #c89a42;
    background:rgba(76,37,12,.22);
    box-shadow:0 1px 4px rgba(0,0,0,.58),inset 0 0 3px rgba(255,229,159,.55),0 0 0 1px rgba(83,43,14,.5);
}
.lyte-door-left .lyte-door-ring{right:8px}
.lyte-door-right .lyte-door-ring{left:8px}

.lyte-smoke{
    position:absolute;
    left:var(--lyte-smoke-x,21.2%);
    bottom:var(--lyte-smoke-bottom,17.8%);
    width:126px;
    height:305px;
    pointer-events:none;
    z-index:4;
    opacity:calc(.92 * var(--lyte-smoke-intensity, .95));
    overflow:visible;
    transform:translateZ(0);
}
.lyte-smoke-off .lyte-smoke{display:none!important}
.lyte-smoke span{
    --x:50%;
    --delay:0s;
    --dur:8.8s;
    --drift:18px;
    --scale:1;
    position:absolute;
    left:var(--x);
    bottom:-14px;
    width:28px;
    height:112px;
    border-radius:50% 50% 44% 56%;
    background:
        radial-gradient(ellipse at 52% 72%,rgba(255,252,242,.62) 0 11%,rgba(250,247,236,.32) 27%,rgba(244,242,232,.13) 52%,transparent 72%),
        radial-gradient(ellipse at 40% 34%,rgba(255,255,250,.26) 0 10%,rgba(246,244,236,.10) 42%,transparent 70%);
    filter:blur(6px);
    opacity:0;
    transform-origin:50% 100%;
    will-change:transform,opacity,filter;
    animation:lyteSmokeRise var(--dur) cubic-bezier(.34,.02,.62,.98) var(--delay) infinite;
}
.lyte-smoke span::before,
.lyte-smoke span::after{
    content:"";
    position:absolute;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,252,244,.34) 0%,rgba(248,246,238,.15) 45%,transparent 72%);
    filter:blur(4px);
}
.lyte-smoke span::before{
    width:24px;
    height:58px;
    left:-9px;
    top:20px;
    transform:rotate(-16deg);
}
.lyte-smoke span::after{
    width:30px;
    height:68px;
    right:-13px;
    top:2px;
    transform:rotate(18deg);
}
@keyframes lyteSmokeRise{
    0%{
        transform:translate3d(0,22px,0) scale(calc(.56 * var(--scale))) rotate(-5deg);
        opacity:0;
        filter:blur(5px);
    }
    9%{opacity:.48}
    28%{
        transform:translate3d(calc(var(--drift) * -.35),-64px,0) scale(calc(.82 * var(--scale))) rotate(7deg);
        opacity:.56;
    }
    52%{
        transform:translate3d(calc(var(--drift) * .55),-145px,0) scale(calc(1.08 * var(--scale))) rotate(-8deg);
        opacity:.40;
        filter:blur(7px);
    }
    76%{
        transform:translate3d(calc(var(--drift) * -.25),-228px,0) scale(calc(1.30 * var(--scale))) rotate(9deg);
        opacity:.20;
    }
    100%{
        transform:translate3d(var(--drift),-315px,0) scale(calc(1.58 * var(--scale))) rotate(-4deg);
        opacity:0;
        filter:blur(10px);
    }
}

.lyte-intro-copy{
    position:absolute;
    left:50%;
    bottom:6.5%;
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:11px;
    z-index:8;
    width:min(92vw,620px);
    transition:opacity 500ms ease,transform 700ms ease;
}
.lyte-small-text{
    font-size:12px;
    letter-spacing:.20em;
    text-transform:uppercase;
    color:rgba(255,247,225,.92);
    text-shadow:0 2px 12px rgba(0,0,0,.86),0 0 3px rgba(0,0,0,.6);
    text-align:center;
}
.lyte-enter{
    appearance:none;
    border:1px solid rgba(246,212,132,.96);
    min-width:290px;
    padding:13px 42px 10px;
    color:#fff5dc;
    border-radius:999px;
    cursor:pointer;
    background:linear-gradient(180deg,rgba(116,72,17,.90),rgba(61,35,8,.95));
    box-shadow:0 11px 32px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.18),0 0 0 1px rgba(80,45,8,.42);
    backdrop-filter:blur(5px);
    transition:transform 220ms ease,box-shadow 220ms ease,background 220ms ease;
}
.lyte-enter:hover,.lyte-enter:focus-visible{
    transform:translateY(-2px);
    box-shadow:0 14px 38px rgba(0,0,0,.42),0 0 26px rgba(228,175,73,.18),inset 0 1px rgba(255,255,255,.22);
    background:linear-gradient(180deg,rgba(142,91,24,.95),rgba(73,42,9,.97));
    outline:none;
}
.lyte-enter-main{display:block;font-size:24px;letter-spacing:.09em;line-height:1.05}
.lyte-enter-sub{display:block;margin-top:7px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.33em;color:#e8d5aa}
.lyte-sound{
    position:absolute;
    left:28px;
    bottom:24px;
    z-index:9;
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 13px;
    color:#fff2d2;
    border:1px solid rgba(235,196,112,.45);
    border-radius:999px;
    background:rgba(25,14,5,.38);
    backdrop-filter:blur(7px);
    cursor:pointer;
    font:13px Arial,sans-serif;
}
.lyte-sound-icon{
    width:19px;
    height:19px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 19px;
}
.lyte-sound-icon svg{width:100%;height:100%;fill:currentColor;overflow:visible}
.lyte-sound-icon .lyte-wave{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.lyte-sound-icon-off{display:none}
.lyte-sound.is-muted .lyte-sound-icon-on,.lyte-audio-dock.is-muted .lyte-sound-icon-on{display:none}
.lyte-sound.is-muted .lyte-sound-icon-off,.lyte-audio-dock.is-muted .lyte-sound-icon-off{display:inline-flex}
.lyte-sound-state{font-weight:700;color:#fff8df}
.lyte-sound.is-muted{opacity:.78}
.lyte-sound.is-muted .lyte-sound-state{color:#e8caa1}
.lyte-audio-dock{
    position:fixed;
    left:18px;
    bottom:18px;
    z-index:99990;
    width:42px;
    height:42px;
    border-radius:50%;
    border:1px solid rgba(183,127,33,.45);
    background:rgba(61,36,8,.83);
    color:#f4dfae;
    box-shadow:0 6px 18px rgba(0,0,0,.22);
    cursor:pointer;
}
.lyte-audio-dock.is-muted{opacity:.52}

.lyte-entrance.is-entering .lyte-door-left{transform:perspective(1450px) rotateY(-112deg)}
.lyte-entrance.is-entering .lyte-door-right{transform:perspective(1450px) rotateY(112deg)}
.lyte-entrance.is-entering .lyte-warm-glow{opacity:1;transform:translate(-50%,-50%) scale(1.18)}
.lyte-entrance.is-entering .lyte-scene{transform:scale(var(--lyte-entrance-zoom,1.13))}
.lyte-entrance.is-entering .lyte-intro-copy{opacity:0;transform:translate(-50%,24px);pointer-events:none}
.lyte-entrance.is-entering .lyte-sound{opacity:0;pointer-events:none;transition:opacity 350ms ease}
.lyte-entrance.is-leaving{opacity:0;transition:opacity 720ms ease}

@media (max-width: 820px){
    .lyte-scene{background-position:center center}
    .lyte-doorway{
        left:54%;
        top:67.8%;
        width:clamp(150px,22vw,205px);
        height:clamp(215px,31vh,275px);
    }
    .lyte-warm-glow{left:54%;top:67.8%;width:250px;height:260px}
    .lyte-smoke{left:var(--lyte-smoke-x,21.2%);bottom:calc(var(--lyte-smoke-bottom,17.8%) - 1.0%);transform:scale(.82);transform-origin:bottom center}
    .lyte-intro-copy{bottom:6%}
    .lyte-enter{min-width:250px;padding-left:28px;padding-right:28px}
    .lyte-enter-main{font-size:21px}
}
@media (max-width: 520px){
    .lyte-scene{inset:-3%;background-position:53% center}
    .lyte-doorway{left:54%;top:64.5%;width:clamp(145px,35vw,185px);height:clamp(205px,30vh,255px)}
    .lyte-warm-glow{left:54%;top:64.5%;width:220px;height:245px}
    .lyte-smoke{left:max(1.5%, calc(var(--lyte-smoke-x,21.2%) - 10%));bottom:calc(var(--lyte-smoke-bottom,17.8%) - 4.2%);opacity:calc(.72 * var(--lyte-smoke-intensity, .95));transform:scale(.68);transform-origin:bottom center}
    .lyte-small-text{font-size:10px;letter-spacing:.16em}
    .lyte-enter{min-width:230px}
    .lyte-sound{left:14px;bottom:14px}
}
@media (prefers-reduced-motion: reduce){
    .lyte-smoke span{animation-duration:16s!important;filter:blur(8px);}
    .lyte-door,.lyte-scene,.lyte-warm-glow,.lyte-intro-copy{transition-duration:250ms!important}
    .lyte-entrance.is-entering .lyte-door-left{transform:translateX(-100%)}
    .lyte-entrance.is-entering .lyte-door-right{transform:translateX(100%)}
}


/* === v1.2.0 Responsive Upgrade =========================================== */
.lyte-entrance{
    min-height:100vh;
    min-height:100svh;
    height:100dvh;
    max-height:100dvh;
    padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);
    box-sizing:border-box;
}
.lyte-scene{background-position:var(--lyte-bg-x,50%) var(--lyte-bg-y,50%)}
.lyte-scene-tablet,.lyte-scene-mobile{display:none}
.lyte-intro-copy{bottom:max(6%,calc(env(safe-area-inset-bottom,0px) + 34px))}
.lyte-sound{left:max(18px,calc(env(safe-area-inset-left,0px) + 14px));bottom:max(18px,calc(env(safe-area-inset-bottom,0px) + 14px))}
.lyte-audio-dock{right:max(18px,calc(env(safe-area-inset-right,0px) + 14px));bottom:max(18px,calc(env(safe-area-inset-bottom,0px) + 14px))}

/* Tablets / iPads, portrait and landscape. */
@media (min-width:700px) and (max-width:1366px){
    .lyte-entrance{
        --lyte-door-x:var(--lyte-tablet-door-x);
        --lyte-door-y:var(--lyte-tablet-door-y);
        --lyte-door-w:var(--lyte-tablet-door-w);
        --lyte-door-h:var(--lyte-tablet-door-h);
        --lyte-smoke-x:var(--lyte-tablet-smoke-x);
        --lyte-smoke-bottom:var(--lyte-tablet-smoke-bottom);
    }
    .lyte-scene-desktop,.lyte-scene-mobile{display:none}
    .lyte-scene-tablet{display:block}
    .lyte-doorway{left:var(--lyte-door-x);top:var(--lyte-door-y);width:clamp(150px,var(--lyte-door-w),245px);height:clamp(215px,var(--lyte-door-h),330px)}
    .lyte-warm-glow{left:var(--lyte-door-x);top:var(--lyte-door-y);width:clamp(230px,32vw,360px);height:clamp(250px,38dvh,390px)}
    .lyte-smoke{left:var(--lyte-smoke-x);bottom:var(--lyte-smoke-bottom);transform:scale(.9);transform-origin:bottom center}
    .lyte-intro-copy{bottom:max(7%,calc(env(safe-area-inset-bottom,0px) + 40px))}
    .lyte-enter{min-width:clamp(270px,34vw,390px);padding:17px 42px}
    .lyte-enter-main{font-size:clamp(22px,2.5vw,30px)}
}

/* Phone portrait: dedicated 9:16 background profile. */
@media (max-width:699px) and (orientation:portrait){
    .lyte-entrance{
        --lyte-door-x:var(--lyte-mobile-door-x);
        --lyte-door-y:var(--lyte-mobile-door-y);
        --lyte-door-w:var(--lyte-mobile-door-w);
        --lyte-door-h:var(--lyte-mobile-door-h);
        --lyte-smoke-x:var(--lyte-mobile-smoke-x);
        --lyte-smoke-bottom:var(--lyte-mobile-smoke-bottom);
    }
    .lyte-scene-desktop,.lyte-scene-tablet{display:none}
    .lyte-scene-mobile{display:block;inset:-1.5%}
    .lyte-entrance.is-entering .lyte-scene{transform:scale(var(--lyte-mobile-entrance-zoom,1.10))}
    .lyte-doorway{left:var(--lyte-door-x);top:var(--lyte-door-y);width:clamp(124px,var(--lyte-door-w),178px);height:clamp(195px,var(--lyte-door-h),278px)}
    .lyte-warm-glow{left:var(--lyte-door-x);top:var(--lyte-door-y);width:clamp(190px,52vw,255px);height:clamp(215px,34dvh,300px)}
    .lyte-smoke{left:var(--lyte-smoke-x);bottom:var(--lyte-smoke-bottom);transform:scale(.70);transform-origin:bottom center}
    .lyte-intro-copy{left:50%;width:min(92vw,480px);bottom:calc(env(safe-area-inset-bottom,0px) + 58px)}
    .lyte-small-text{font-size:clamp(9px,2.7vw,12px);letter-spacing:.15em;margin-bottom:10px;white-space:nowrap}
    .lyte-enter{width:min(78vw,360px);min-width:0;padding:15px 22px;border-radius:999px}
    .lyte-enter-main{font-size:clamp(22px,6.2vw,29px);letter-spacing:.05em}
    .lyte-enter-sub{font-size:clamp(9px,2.5vw,11px);letter-spacing:.28em;margin-top:5px}
    .lyte-sound{left:calc(env(safe-area-inset-left,0px) + 14px);bottom:calc(env(safe-area-inset-bottom,0px) + 14px);padding:10px 15px;font-size:14px}
}

/* Small phones (SE-class and compact Android). */
@media (max-width:390px) and (orientation:portrait){
    .lyte-doorway{width:clamp(116px,var(--lyte-door-w),154px);height:clamp(182px,var(--lyte-door-h),248px)}
    .lyte-intro-copy{bottom:calc(env(safe-area-inset-bottom,0px) + 48px)}
    .lyte-enter{width:min(82vw,325px);padding:13px 18px}
    .lyte-enter-main{font-size:clamp(20px,6vw,25px)}
    .lyte-small-text{font-size:9px}
    .lyte-sound{padding:9px 12px;font-size:12px}
}

/* Phone landscape: use the wide desktop artwork and a compact UI. */
@media (max-width:932px) and (orientation:landscape) and (max-height:520px){
    .lyte-scene-tablet,.lyte-scene-mobile{display:none}
    .lyte-scene-desktop{display:block}
    .lyte-doorway{left:54%;top:68%;width:clamp(120px,13.5vw,180px);height:clamp(150px,47dvh,230px)}
    .lyte-warm-glow{left:54%;top:68%;width:210px;height:210px}
    .lyte-smoke{left:20%;bottom:10%;transform:scale(.62);transform-origin:bottom center}
    .lyte-intro-copy{bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}
    .lyte-small-text{display:none}
    .lyte-enter{min-width:220px;padding:10px 26px}
    .lyte-enter-main{font-size:20px}
    .lyte-enter-sub{font-size:9px;margin-top:3px}
    .lyte-sound{padding:8px 12px;font-size:12px}
}

/* Large tablets / iPad Pro are treated more like desktop in landscape. */
@media (min-width:1180px) and (max-width:1366px) and (orientation:landscape){
    .lyte-intro-copy{bottom:max(5%,calc(env(safe-area-inset-bottom,0px) + 28px))}
}

/* =========================================================
   v1.3.0 Responsive Scene Architecture
   Independent incense burner layer for portrait devices.
   The smoke emitter is now anchored to the burner itself.
   ========================================================= */
.lyte-incense-stage{
    position:absolute;
    left:14.2%;
    bottom:3.8%;
    width:clamp(260px,24vw,410px);
    aspect-ratio:410/280;
    z-index:5;
    pointer-events:none;
    transform:translateZ(0);
}
.lyte-burner-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center bottom;
    opacity:0; /* desktop background already contains the burner */
    filter:drop-shadow(0 12px 14px rgba(0,0,0,.25));
}
.lyte-incense-sticks{
    position:absolute;
    left:25%;
    bottom:71%;
    width:50%;
    height:23%;
    z-index:1;
    opacity:0; /* only needed when the independent burner image is visible */
}
.lyte-incense-sticks i{
    position:absolute;
    bottom:0;
    width:2px;
    height:82%;
    border-radius:2px 2px 0 0;
    background:linear-gradient(to bottom,#e9c47a 0 13%,#9f2119 13% 100%);
    box-shadow:0 0 3px rgba(255,196,93,.32);
    transform-origin:bottom center;
}
.lyte-incense-sticks i:nth-child(1){left:5%;height:64%;transform:rotate(-3deg)}
.lyte-incense-sticks i:nth-child(2){left:16%;height:83%;transform:rotate(-1deg)}
.lyte-incense-sticks i:nth-child(3){left:28%;height:72%;transform:rotate(2deg)}
.lyte-incense-sticks i:nth-child(4){left:39%;height:92%;transform:rotate(-2deg)}
.lyte-incense-sticks i:nth-child(5){left:50%;height:78%}
.lyte-incense-sticks i:nth-child(6){left:61%;height:95%;transform:rotate(2deg)}
.lyte-incense-sticks i:nth-child(7){left:72%;height:75%;transform:rotate(-2deg)}
.lyte-incense-sticks i:nth-child(8){left:84%;height:88%;transform:rotate(2deg)}
.lyte-incense-sticks i:nth-child(9){left:95%;height:68%;transform:rotate(3deg)}
.lyte-incense-stage .lyte-smoke{
    left:31%;
    bottom:73%;
    width:38%;
    height:126%;
    z-index:2;
    transform:none;
    opacity:calc(.90 * var(--lyte-smoke-intensity,.95));
}
.lyte-burner-disabled .lyte-burner-image,
.lyte-burner-disabled .lyte-incense-sticks{display:none!important}

/* Tablet/iPad portrait: show the independent burner so background cropping cannot remove it. */
@media (min-width:700px) and (max-width:1199px) and (orientation:portrait){
    .lyte-incense-stage{
        left:var(--lyte-tablet-burner-x,4%);
        bottom:var(--lyte-tablet-burner-bottom,8.5%);
        width:clamp(190px,var(--lyte-tablet-burner-w,27vw),320px);
    }
    .lyte-incense-stage:not(.lyte-burner-disabled) .lyte-burner-image,
    .lyte-incense-stage:not(.lyte-burner-disabled) .lyte-incense-sticks{opacity:1}
    .lyte-incense-stage .lyte-smoke{left:31%;bottom:75%;width:38%;height:130%}
}

/* Phone portrait: burner remains fully visible independent of background-size: cover. */
@media (max-width:699px) and (orientation:portrait){
    .lyte-incense-stage{
        left:var(--lyte-mobile-burner-x,1%);
        bottom:var(--lyte-mobile-burner-bottom,19%);
        width:clamp(112px,var(--lyte-mobile-burner-w,27vw),160px);
    }
    .lyte-incense-stage:not(.lyte-burner-disabled) .lyte-burner-image,
    .lyte-incense-stage:not(.lyte-burner-disabled) .lyte-incense-sticks{opacity:1}
    .lyte-incense-stage .lyte-smoke{
        left:31%;
        bottom:74%;
        width:38%;
        height:116%;
        opacity:calc(.72 * var(--lyte-smoke-intensity,.95));
    }
    .lyte-intro-copy{
        bottom:calc(env(safe-area-inset-bottom,0px) + 66px);
    }
    .lyte-sound{
        bottom:calc(env(safe-area-inset-bottom,0px) + 18px);
    }
}

@media (max-width:390px) and (orientation:portrait){
    .lyte-incense-stage{
        left:var(--lyte-small-phone-burner-x,.8%);
        bottom:var(--lyte-small-phone-burner-bottom,20.5%);
        width:clamp(104px,var(--lyte-small-phone-burner-w,27vw),142px);
    }
    .lyte-incense-stage .lyte-smoke{height:118%}
    .lyte-enter{width:min(80vw,330px)}
}

/* Wide/landscape phones keep the desktop scene; original burner in the background is visible. */
@media (max-height:520px) and (orientation:landscape){
    .lyte-incense-stage .lyte-burner-image,
    .lyte-incense-stage .lyte-incense-sticks{opacity:0!important}
}


/* =========================================================
   v1.3.1 Aspect-ratio duplicate-burner guard
   Narrow desktop windows and near-square portrait devices can
   still reveal the burner baked into the 16:9 fallback image.
   In that geometry, suppress the independent foreground burner
   so the visitor never sees two incense burners.
   Tall phone/tablet portrait screens keep the independent layer.
   ========================================================= */
@media (orientation:portrait) and (min-aspect-ratio:4/5){
    .lyte-incense-stage .lyte-burner-image,
    .lyte-incense-stage .lyte-incense-sticks{
        opacity:0!important;
    }
    .lyte-incense-stage .lyte-smoke{
        display:none!important;
    }
}

/* v1.3.2 Mobile composition refinement: keep burner fully above the CTA. */
@media (max-width:699px) and (orientation:portrait){
    .lyte-incense-sticks{left:27%;bottom:70%;width:46%;height:20%}
}
