/* LUMILAB 4.1 — section costumes and direct scroll control. */
[data-pose]{--lumi-welcome:none;--lumi-basket:none;--lumi-party:none;--lumi-artist:none;--lumi-postcard:none;--lumi-contact:none;--lumi-open:inline;--lumi-smile:inline;--lumi-laugh:none}
[data-pose=welcome]{--lumi-welcome:inline;--lumi-tilt:-3deg}
[data-pose=basket]{--lumi-basket:inline;--lumi-tilt:2deg}
[data-pose=party]{--lumi-party:inline;--lumi-tilt:-4deg}
[data-pose=artist]{--lumi-artist:inline;--lumi-tilt:1deg}
[data-pose=postcard]{--lumi-postcard:inline;--lumi-tilt:-2deg}
[data-pose=contact]{--lumi-contact:inline;--lumi-tilt:3deg}
.lumi-character{transform:rotate(var(--lumi-tilt,0deg));transform-origin:120px 195px}
.mascot-control.is-laughing{--lumi-open:none;--lumi-smile:none;--lumi-laugh:inline}
.mascot-control.is-catching{--lumi-open:inline;--lumi-smile:inline;--lumi-laugh:none}
#scroll-companion,.mobile-lumi{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;position:relative}
#scroll-companion.is-steering,.mobile-lumi.is-steering{cursor:grabbing}
#scroll-companion:focus-visible,.mobile-lumi:focus-visible{outline:3px solid var(--bronze);outline-offset:4px}
.lumi-guide{position:absolute;inset:0;display:none;pointer-events:none;color:var(--green)}
.is-guiding>.lumi-guide,.is-steering>.lumi-guide{display:block}
.guide-up,.guide-down{position:absolute;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;line-height:8px}
.guide-up{top:-30px}.guide-down{bottom:-24px}
.guide-up i,.guide-down i{font:700 26px/9px var(--sans);font-style:normal;animation:guide-pulse .72s ease-in-out 3}
.guide-up i:nth-child(1),.guide-down i:nth-child(3){animation-delay:0s}
.guide-up i:nth-child(2),.guide-down i:nth-child(2){animation-delay:.12s}
.guide-up i:nth-child(3),.guide-down i:nth-child(1){animation-delay:.24s}
.guide-hint{position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%);padding:10px 14px;border:1px solid #064e3b30;background:var(--ivory);box-shadow:0 4px 18px #011a1512;border-radius:8px;min-width:175px;font:500 14px/1.5 var(--sans);text-align:center}
[data-steering=up] .guide-down,[data-steering=down] .guide-up{opacity:.2}
.is-steering .guide-up i,.is-steering .guide-down i{animation:none;opacity:.7}
.is-steering .guide-hint{border-color:var(--green)}
.desktop-nav a{padding:9px 10px;border-radius:7px;transition:color .18s,background .18s;white-space:nowrap}
.desktop-nav a.is-current{color:var(--ivory);background:var(--green)}
.desktop-nav a.is-current::after{display:none}
.header .wordmark.is-current{color:var(--green);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:10px}
.mobile-menu a.is-current{background:var(--green);color:var(--ivory);border-radius:5px;padding-inline:14px}
.menu-toggle{position:relative}.menu-toggle::after{content:attr(data-section-number);position:absolute;right:-6px;top:-4px;background:var(--green);color:var(--ivory);font:600 10px/18px var(--sans);width:18px;height:18px;border-radius:50%}
.services-section,.contact{background:var(--cream);color:var(--ink)}
.services-section h2,.contact h2{color:var(--green)}
.services-section .eyebrow,.services-section .price-note,.contact .eyebrow{color:var(--bronze)}
.services-section .section-heading>p,.contact-copy>p:not(.eyebrow),.contact-copy>small{color:var(--muted)}
.services-section .service-card{border:1px solid #064e3b25;background:var(--ivory)}
.contact-copy>.button-gold{background:var(--green);color:var(--ivory)}
.contact-copy>.button-gold:hover{background:#123f32;color:var(--ivory)}
.contact-handwritten{color:var(--green)}.contact-spark{color:var(--bronze)}.contact-orbit{border-color:#77500e40}
.digital{background:var(--green);color:var(--ivory)}
.digital h2,.digital .postcard h3{color:var(--ivory)}
.digital .section-heading>p,.digital .product-description{color:#f4f3df}
.digital .eyebrow,.digital .postcard-format,.digital .price{color:#eed8a9}
.digital .text-button,.digital .add-button{color:var(--ivory)}
.digital .add-button [data-add-mark]{background:var(--gold);color:var(--green)}
.digital .product-bottom,.digital .lesson-bar{border-color:#fffdf540}
.digital .lesson-bar{color:var(--ivory)}
.digital .lesson-bar a{color:#eed8a9}
@keyframes guide-pulse{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
@media(min-width:1301px){.desktop-nav{gap:4px;font-size:.83rem}.header-inner{gap:18px}.header-actions{gap:12px}}
@media(max-width:1300px){.desktop-nav{display:none}.menu-toggle{display:block;min-width:30px;min-height:44px}}
@media(min-width:1051px) and (max-width:1300px){.header-inner{flex-wrap:wrap;gap:8px 18px;padding-block:12px}.header-actions{margin-left:auto}.desktop-nav{display:flex;order:3;width:100%;justify-content:space-between;gap:6px;font-size:.88rem}.menu-toggle{display:none}}
@media(max-width:1050px){.mobile-order-dock{flex-direction:row-reverse;gap:10px}.mobile-lumi{position:relative;flex:none}.mobile-order-button{min-width:0}.guide-up{top:-26px;left:30%}.guide-down{display:flex;top:-26px;bottom:auto;left:73%}.guide-hint{right:calc(100% + 10px);top:0;transform:none;min-width:160px}.guide-up i,.guide-down i{font-size:24px}}
@media(max-width:370px){.header-inner{width:calc(100% - 24px);gap:8px}.header .wordmark{font-size:25px}.header-actions{gap:8px}.header .languages{gap:4px;font-size:12px}.header .languages a{min-width:24px}.header .cart-button{gap:5px}.header .cart-button .icon{width:20px}.header .cart-button>span{min-width:22px;width:22px;height:22px}.menu-toggle{width:26px;min-width:26px}.menu-toggle>span{width:100%}.menu-toggle::after{right:-1px}}
@media(prefers-reduced-motion:reduce){.guide-up i,.guide-down i{animation:none;opacity:.8}.lumi-character{transform:none}.desktop-nav a{transition:none}}
