/* TECHNIGATOR: SANTA'S DIGITAL WONDERLAND — 2026 */
:root{--xmas-ice:#b8fae6;--xmas-teal:#72d6bf;--xmas-gold:#f8c572;--xmas-red:#e8495e;--xmas-ink:#041012}
html,body{max-width:100%;overflow-x:clip}
.xmas-active body{background:#020b0d}
.xmas-active .site-header{background:linear-gradient(180deg,rgba(1,12,14,.97),rgba(3,18,20,.92))!important;border-bottom:1px solid rgba(255,216,137,.18)}
.xmas-active .brand img{object-fit:contain;filter:drop-shadow(0 0 14px rgba(195,250,222,.14))}
.xmas-active .main-nav a.xmas-game-nav,.xmas-active .nav-drawer a.xmas-game-nav,.xmas-active .footer-nav a.xmas-game-nav{color:#f7d18b!important}
.xmas-active .main-nav a.xmas-game-nav:hover{color:white!important}
.xmas-active .page-hero,.xmas-active .service-orbit-section,.xmas-active .transformation{background-image:radial-gradient(circle at 90% 14%,rgba(194,239,221,.06),transparent 30%),radial-gradient(circle at 12% 76%,rgba(241,192,102,.04),transparent 35%)}
.xmas-active .mega-button,.xmas-active .pill-button{box-shadow:0 0 0 1px rgba(244,208,136,.24),0 9px 38px rgba(100,239,193,.09)!important}
.xmas-active .section-head h2 em,.xmas-active .service-orbit-head h2 em{color:var(--xmas-gold)!important}
.xmas-snow-canvas{position:fixed;inset:0;z-index:12;pointer-events:none;opacity:.82}
.xmas-active .page-shell,.xmas-active .site-footer{position:relative;z-index:1}
.xmas-active main{isolation:isolate}
/* Keep original hero commercial content central and unobstructed. */
.xmas-home-hero{position:relative;overflow:hidden}
.xmas-home-hero .hero-cinematic-title{position:relative;z-index:7}
.xmas-home-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 84% 39%,rgba(220,248,234,.075),transparent 28%),linear-gradient(180deg,transparent 80%,rgba(4,21,21,.62));z-index:0}
.xmas-hero-garland{position:absolute;z-index:9;pointer-events:none;top:0;left:3%;right:3%;height:65px;display:flex;justify-content:space-around;align-items:center;transform:rotate(-1deg)}
.xmas-garland-wire{position:absolute;top:12px;left:0;right:0;height:18px;border-bottom:2px solid rgba(124,188,141,.48);border-radius:0 0 50% 50%}
.xmas-hero-garland i{position:relative;top:22px;width:8px;height:14px;border-radius:50% 50% 55% 55%;background:#f2be66;box-shadow:0 0 8px #ffca77,0 0 26px #ffbf5790;animation:xmas-twinkle 2.8s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.24s)}
.xmas-hero-garland i:nth-child(3n){background:#a7f8d6;box-shadow:0 0 8px #a7f8d6,0 0 24px #a7f8d680}
.xmas-hero-garland i:nth-child(4n){background:#f2809a;box-shadow:0 0 8px #ff8d9d,0 0 24px #fc7f9b88}
.xmas-lights-off .xmas-hero-garland i{animation:none!important;opacity:.28;box-shadow:none}
.xmas-hero-badge{position:absolute;right:clamp(20px,5%,75px);bottom:clamp(135px,16%,210px);z-index:7;pointer-events:none;display:grid;gap:6px;padding:18px 22px;text-align:center;border-radius:22px;background:linear-gradient(145deg,rgba(5,24,25,.81),rgba(7,17,16,.38));border:1px solid rgba(231,202,140,.32);box-shadow:0 15px 55px #0005;backdrop-filter:blur(14px)}
.xmas-hero-badge span,.xmas-hero-badge small{font-size:9px;letter-spacing:.21em;color:#bfe9d7}
.xmas-hero-badge strong{font-size:clamp(12px,1.25vw,18px);letter-spacing:.075em;color:#f8d99d}
.xmas-hero-sleigh{position:absolute;right:6%;top:12%;z-index:6;font-size:9px;font-weight:700;letter-spacing:.4em;color:#f2d2a4;opacity:.48;transform:rotate(-5deg);pointer-events:none}
.xmas-hero-controls{position:relative;z-index:15;max-width:min(1320px,100%);margin:0 auto;padding:14px clamp(18px,5vw,65px) 22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.xmas-hero-controls button,.xmas-hero-controls a,.xmas-countdown{border:1px solid rgba(236,215,154,.22);background:rgba(4,20,21,.8);border-radius:999px;color:#d8f8e7;font:700 10px/1.3 inherit;letter-spacing:.09em;text-decoration:none;padding:12px 14px;white-space:nowrap}
.xmas-hero-controls button{cursor:pointer}.xmas-hero-controls button:hover,.xmas-hero-controls a:hover{border-color:rgba(252,215,146,.75);color:white}
.xmas-countdown{color:var(--xmas-gold)}
.xmas-hero-controls a{color:#f7d696;border-color:rgba(254,218,150,.35)}
.xmas-secret-present{position:absolute;right:16px;top:16%;z-index:20;cursor:pointer;border:1px solid rgba(254,217,163,.24);background:rgba(7,22,23,.78);border-radius:16px;padding:9px 12px;font-size:22px;transition:transform .2s}
.xmas-secret-present:hover{transform:rotate(-12deg) scale(1.1)}.xmas-secret-present:disabled{opacity:.6;cursor:default}
.service-orbit-section .xmas-secret-present,.transformation .xmas-secret-present{right:5%;top:40px}
.xmas-toast{position:fixed;left:50%;top:clamp(80px,12vh,150px);transform:translate(-50%,-15px);padding:14px 19px;max-width:min(440px,86vw);background:#0b2826;color:#d8f9e3;border:1px solid rgba(251,205,138,.38);border-radius:15px;z-index:2500;opacity:0;pointer-events:none;transition:.25s;text-align:center;font-size:13px}.xmas-toast.shown{opacity:1;transform:translate(-50%,0)}
/* Festive circular orbit. Source JavaScript calculates elliptical x/y positions every frame. */
.xmas-orbit .service-orbit-stage{height:clamp(560px,65vh,740px)!important;min-height:560px;position:relative;overflow:hidden;max-width:1340px;margin:0 auto;isolation:isolate}
.xmas-orbit .service-orbit-head{position:relative;z-index:8}
.xmas-orbit .service-orbit-plane{border-color:rgba(240,215,164,.22)!important}
.xmas-orbit .service-orbit-stage .service-orbit-plane.plane-a{width:min(90%,900px);transform:translate(-50%,-50%) rotateX(61deg)!important}
.xmas-orbit .service-orbit-stage .service-orbit-plane.plane-b{width:min(66%,730px)}
.xmas-orbit .service-hologram{left:50%!important;top:50%!important;width:clamp(120px,14vw,190px)!important;height:clamp(110px,13vw,175px)!important;transform:translate(-50%,-50%)!important;z-index:80!important;pointer-events:none;filter:drop-shadow(0 0 18px rgba(148,250,215,.16))}
.xmas-orbit .service-hologram img{width:92%!important;max-width:165px!important;height:auto;filter:drop-shadow(0 0 16px rgba(255,216,161,.22))}
.xmas-orbit .service-hologram small{font-size:8px;letter-spacing:.11em;color:var(--xmas-gold);white-space:nowrap}
.xmas-orbit .orbit-service-card{left:50%;top:50%;width:clamp(185px,18vw,235px);min-height:125px;padding:16px;display:grid;grid-template-columns:45px 1fr;gap:10px;border-radius:22px;border:1px solid rgba(249,214,154,.34)!important;background:linear-gradient(143deg,rgba(7,31,29,.94),rgba(6,18,22,.90))!important;box-shadow:0 16px 40px #0007,0 0 24px rgba(251,207,130,.05)!important;backdrop-filter:blur(6px);transform-origin:center;will-change:transform,opacity}
.xmas-orbit .orbit-service-card:hover,.xmas-orbit .orbit-service-card.is-front{border-color:#f8d5a8!important;box-shadow:0 22px 50px #0008,0 0 22px rgba(244,207,143,.17)!important}
.xmas-orbit .orbit-service-card:after{content:'✦';position:absolute;top:10px;right:15px;color:#f5d19d;opacity:.55;pointer-events:none}
.xmas-orbit .orbit-card-icon{width:44px;height:44px;background:linear-gradient(145deg,#154032,#062322);border:1px solid rgba(255,214,144,.25);border-radius:13px;position:relative;display:flex;align-items:center;justify-content:center}
.xmas-orbit .orbit-card-icon>svg{width:27px;height:27px;opacity:.32}
.xmas-gift-mark{position:absolute;inset:0;display:grid;place-items:center;font-size:26px;filter:drop-shadow(0 0 9px rgba(255,211,139,.22))}
.xmas-orbit .orbit-service-card h3{font-size:clamp(13px,1.12vw,17px);line-height:1.18;margin:0 0 4px;letter-spacing:-.02em}
.xmas-orbit .orbit-service-card small{font-size:8px;letter-spacing:.10em;color:#ffe0a8}
.xmas-orbit .orbit-service-card p{font-size:10px;line-height:1.3;margin:5px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.xmas-orbit .orbit-service-card>i{position:absolute;bottom:9px;right:9px;color:#f6d6a4;font-size:14px}
.xmas-unwrap{position:absolute;left:16px;bottom:7px;font-size:7px;letter-spacing:.13em;color:#f5cf91;opacity:.75;pointer-events:none}
.xmas-orbit .service-orbit-guide button{border-color:rgba(255,218,147,.3)}
.xmas-orbit .service-orbit-mobile-hint{color:#a5c8bb}
.xmas-icon-host{display:flex;align-items:center;justify-content:center;position:relative}
.xmas-icon-host > svg{width:30px!important;height:30px!important;flex:none!important;opacity:.16!important}
.xmas-marquee-icon{position:absolute;inset:0;display:grid;place-items:center;font-size:24px!important;line-height:1!important;filter:drop-shadow(0 0 12px rgba(230,204,143,.22));opacity:1!important}
/* Feature, outside portfolio */
.xmas-home-feature{position:relative;overflow:hidden;max-width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);gap:30px;align-items:center;background:radial-gradient(circle at 75% 50%,rgba(106,226,188,.09),transparent 36%),linear-gradient(140deg,#051e1c,#020b10);border-top:1px solid rgba(248,214,153,.17);border-bottom:1px solid rgba(248,214,153,.12);padding-block:clamp(70px,8vw,130px)}
.xmas-kicker{font-size:11px;font-weight:800;letter-spacing:.19em;color:var(--xmas-gold)}
.xmas-feature-copy{max-width:670px}.xmas-feature-copy h2{font-size:clamp(35px,5vw,76px);line-height:1.02;letter-spacing:-.04em;margin:18px 0}.xmas-feature-copy h2 em{color:var(--xmas-gold)}.xmas-feature-copy p{color:#c4ded6;max-width:460px;line-height:1.7}
.xmas-feature-button,.xw-contact-link{display:inline-block;margin-top:22px;color:#061614!important;background:#f6d29a;padding:14px 20px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;text-decoration:none}
.xmas-globe{position:relative;width:min(360px,75vw);aspect-ratio:1;margin:auto;border:1px solid #a6d9bb66;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 30%,rgba(169,245,221,.14),transparent 65%),linear-gradient(135deg,rgba(6,48,44,.54),rgba(4,19,26,.95));box-shadow:inset 0 0 58px #bce9bb22,0 0 75px #acd9c322}
.xmas-globe>img{width:68%;filter:drop-shadow(0 0 30px rgba(169,234,209,.18))}.xmas-globe>span{position:absolute;font-size:35px;animation:xmas-float 3.8s ease-in-out infinite alternate}.xmas-globe>span:nth-of-type(1){left:4%;top:37%}.xmas-globe>span:nth-of-type(2){right:3%;top:23%;animation-delay:-1s}.xmas-globe>span:nth-of-type(3){right:24%;bottom:8%;animation-delay:-1.8s}
/* Individual service workshops: CSS 3D, no additional WebGL renderer */
.xw-workshop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,5vw,80px);align-items:center;position:relative;min-height:560px;background:linear-gradient(135deg,#071918,#061014 60%,#021315);border-top:1px solid rgba(249,215,155,.18);border-bottom:1px solid rgba(249,215,155,.14)}
.xw-copy{max-width:570px}.xw-copy h2{font-size:clamp(30px,3.9vw,57px);line-height:1.07;letter-spacing:-.04em;margin:14px 0}.xw-copy p{color:#c5ded4;line-height:1.7;font-size:clamp(14px,1.2vw,18px)}
.xw-steps{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0}.xw-steps span{font-size:10px;font-weight:700;border:1px solid rgba(235,199,147,.29);padding:10px 12px;border-radius:999px;color:#e1e9dc}
.xw-slider-label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;letter-spacing:.15em;color:#cfecdf;margin:24px 0 10px}.xw-slider-label strong{color:#f7d08e}
.xw-progress{display:block;width:100%;height:28px;accent-color:#f7c67e;cursor:ew-resize;touch-action:pan-y}
.xw-visual{--xw-progress:0;position:relative;min-height:365px;display:grid;place-items:center;perspective:900px;overflow:hidden;border:1px solid rgba(184,236,208,.2);border-radius:26px;background:radial-gradient(ellipse at 50% 50%,rgba(104,201,182,.13),transparent 55%),radial-gradient(ellipse at 50% 100%,rgba(250,192,103,.06),transparent 55%),#041316;box-shadow:0 32px 70px #0005,inset 0 0 50px #c7f3df05}
.xw-visual::before{content:"";position:absolute;inset:14px;border-radius:18px;border:1px dashed rgba(225,213,167,.12);pointer-events:none}
.xw-snowdots{position:absolute;top:22px;left:26px;font-size:16px;letter-spacing:1.5em;opacity:.5;white-space:nowrap;pointer-events:none}
.xw-scene{position:relative;width:78%;height:260px;display:grid;place-items:center;transform-style:preserve-3d}
.xw-scene-footer{position:absolute;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;gap:10px;color:#eacb92;font-size:9px;letter-spacing:.12em}
.xw-visual[data-phase='0']{--xw-a:0;--xw-b:0}
.xw-visual[data-phase='1']{--xw-a:1;--xw-b:0}
.xw-visual[data-phase='2']{--xw-a:1;--xw-b:1}
.xw-scene>div,.xw-scene>span,.xw-scene i,.xw-scene b{transition:transform .7s cubic-bezier(.2,.75,.2,1),opacity .5s,background .6s,filter .6s}
/* Web Development */
.xw-browser{width:min(270px,100%);height:182px;border:2px solid #9be0c4;border-radius:14px;background:rgba(10,38,34,.92);padding:28px 14px 12px;position:relative;transform:rotateY(calc((1 - var(--xw-a))*-22deg)) rotateX(5deg) scale(calc(.78 + var(--xw-a)*.20));box-shadow:18px 18px 0 rgba(101,170,150,.1),0 12px 50px #0005}
.xw-browser>span{position:absolute;top:12px;width:7px;height:7px;background:#e8be81;border-radius:50%}.xw-browser>span:nth-child(1){left:12px}.xw-browser>span:nth-child(2){left:24px}.xw-browser>span:nth-child(3){left:36px}
.xw-page{display:grid;gap:9px;opacity:calc(.55 + var(--xw-a)*.45)}.xw-page b{font-size:11px;color:#b6f9db}.xw-page i{height:9px;width:75%;background:#568f7d50;border-radius:5px}.xw-page i:nth-of-type(2){width:55%}.xw-page strong{font-size:14px;line-height:1.2;color:#ffdda9;opacity:var(--xw-b)}
/* Web Apps */
.xw-network{position:relative;width:280px;height:220px}.xw-network i{font-style:normal;position:absolute;display:grid;place-items:center;width:71px;height:53px;border:1px solid #b8f4cb66;border-radius:13px;background:#13352f;font-size:11px;color:#e7f9e5;box-shadow:0 0 24px #99d5c111}.xw-network i:nth-child(1){left:0;top:8px}.xw-network i:nth-child(2){right:0;top:8px}.xw-network i:nth-child(3){left:104px;bottom:0}.xw-network .xw-hub{position:absolute;left:102px;top:82px;width:76px;height:65px;display:grid;place-items:center;font-size:42px;color:#f0c982;transform:scale(calc(.65 + .45*var(--xw-a)));filter:drop-shadow(0 0 calc(8px + 20px*var(--xw-b)) #f4bf78)}
.xw-network svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.xw-network path{stroke:#7eebc3;stroke-width:3;fill:none;stroke-dasharray:250;stroke-dashoffset:calc(250 - 250*var(--xw-b))}
/* Mobile app */
.xw-phone{width:118px;height:208px;background:linear-gradient(160deg,#145e50,#061d23);border:5px solid #ddf0e5;border-radius:27px;box-shadow:15px 16px 0 rgba(161,241,219,.11),0 25px 55px #0007;transform:translateY(calc(55px - 60px*var(--xw-a))) rotateY(calc(-26deg + 24deg*var(--xw-b))) scale(calc(.58 + .42*var(--xw-a)));display:grid;justify-items:center;align-content:center;gap:10px;opacity:calc(.2 + .8*var(--xw-a))}
.xw-notch{position:absolute;top:7px;width:40px;height:6px;border-radius:5px;background:#03201c}.xw-phone b{font-size:11px;color:#e6fadf}.xw-phone span{font-size:45px;color:#fbe3ac}.xw-phone i{width:65px;height:8px;background:#94e4c064;border-radius:8px}
.xw-gift-lid{position:absolute;left:50%;top:60px;transform:translateX(-50%) translateY(calc(-85px*var(--xw-a))) rotate(calc(20deg*var(--xw-a)));font-size:70px;z-index:4;opacity:calc(1 - var(--xw-b))}.xw-gift-base{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);font-size:54px;opacity:calc(1 - var(--xw-b))}
/* UX design */
.xw-ui{width:260px;max-width:95%;height:186px;border:2px solid #aad9c9;border-radius:19px;background:linear-gradient(150deg,rgba(13,48,42,.9),rgba(13,30,34,.95));padding:18px;transform:rotateY(calc(-19deg + 19deg*var(--xw-a))) rotateX(8deg);box-shadow:15px 14px 0 #517b7155}
.xw-ui-top{display:flex;gap:6px}.xw-ui-top b{width:9px;height:9px;border-radius:50%;background:#f5d1a0}.xw-ui-hero{height:70px;border-radius:14px;margin:12px 0;background:linear-gradient(90deg,rgba(248,209,145,.1),rgba(114,216,187,.07))}.xw-ui-row{display:flex;gap:8px}.xw-ui-row i{width:33%;height:25px;border-radius:8px;background:#8de5c322}.xw-ui>span{display:block;text-align:center;margin-top:9px;font-size:10px;font-weight:800;letter-spacing:.07em;color:#e8d2a0;opacity:var(--xw-b)}
.xw-visual[data-phase='2'] .xw-ui-hero{background:linear-gradient(95deg,#42a687,#e4c58c)}.xw-visual[data-phase='2'] .xw-ui-row i{background:#8beacc88}
/* Tree */
.xw-tree{width:220px;height:260px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;padding-bottom:20px;filter:drop-shadow(0 16px 22px #0008)}.xw-tree>span{font-size:36px;color:#ffdd91;z-index:4;opacity:var(--xw-a)}.xw-tree-top,.xw-tree-mid,.xw-tree-low{color:#3e9d7d;line-height:.65;display:block}.xw-tree-top{font-size:84px}.xw-tree-mid{font-size:120px}.xw-tree-low{font-size:158px}.xw-tree-stem{width:18px;height:25px;background:#905f41}.xw-tree>i,.xw-tree>b{position:absolute;right:-10px;top:60px;font-size:25px;font-weight:900;color:#f5d18b;opacity:var(--xw-b)}.xw-tree>b{top:102px;font-size:10px;letter-spacing:.16em}.xw-visual[data-phase='0'] .xw-tree-top,.xw-visual[data-phase='0'] .xw-tree-mid,.xw-visual[data-phase='0'] .xw-tree-low{transform:scale(.45);opacity:.35}
/* SEO */
.xw-search{width:min(295px,98%);display:grid;gap:10px;transform:rotateY(-8deg)}.xw-searchbar,.xw-search-result{background:#102d2b;border:1px solid #95d7bc50;border-radius:13px;padding:12px;color:#d6eedd;font-size:11px}.xw-search-result{height:41px;color:#86ad9b;display:flex;align-items:center;justify-content:space-between}.xw-search-result i{width:90px;height:5px;background:#a5dcc947;border-radius:5px}.xw-search-result.featured{border-color:#f2cf98;background:#173b32;color:#ffe6ad;transform:translateY(calc(28px - 54px*var(--xw-b)));order:calc(4 - 3*var(--xw-b));font-weight:800}
/* Social media */
.xw-camera{position:absolute;left:12px;top:60px;border:3px solid #e6d2a5;border-radius:14px;width:106px;height:81px;display:grid;place-items:center;font-size:55px;color:#84e2be;transform:rotate(-12deg) scale(calc(.7 + .3*var(--xw-a)))}.xw-camera span{position:absolute;top:4px;right:8px;font-size:8px;color:#f2b8a9}.xw-post{position:absolute;right:10px;top:19px;width:134px;height:205px;border:2px solid #e7d7ab;border-radius:14px;background:#0d3a34;padding:11px;text-align:center;transform:translateY(calc(40px - 40px*var(--xw-a))) rotateY(calc(-20deg + 20deg*var(--xw-b)));opacity:calc(.5 + .5*var(--xw-a))}.xw-post>div{height:125px;display:grid;place-items:center;font-size:64px;background:radial-gradient(circle,#366b5a,#062c2c);border-radius:10px}.xw-post strong{font-size:10px;color:#f0d198}.xw-post small{display:block;font-size:9px;color:#b5e5cf}.xw-social-bubble{position:absolute;right:-13px;bottom:14px;background:#e2c18b;color:#09241f;padding:7px;border-radius:999px;font-size:13px;opacity:var(--xw-b)}
/* PPC */
.xw-target{width:215px;height:215px;border:2px solid #9cddbd;border-radius:50%;position:relative;display:grid;place-items:center;transform:rotateY(20deg)}.xw-target i{position:absolute;inset:21%;border:1px dashed #9cddbd77;border-radius:50%}.xw-target i:nth-child(2){inset:37%}.xw-target i:nth-child(3){inset:7%;border-color:#f6c98755}.xw-target b{font-size:34px}.xw-sleigh{position:absolute;left:-8px;top:30px;font-size:55px;transform:translate(calc(var(--xw-a)*140px),calc(var(--xw-a)*120px)) rotate(14deg)}.xw-target-result{position:absolute;bottom:-4px;font-size:11px;letter-spacing:.1em;color:#ffe6b1;opacity:var(--xw-b)}
/* Content book */
.xw-book{display:flex;width:260px;height:173px;transform:rotateX(12deg) rotateY(calc(-15deg + 15deg*var(--xw-a)));filter:drop-shadow(10px 15px 0 #123e35)}.xw-page-left,.xw-page-right{width:50%;height:100%;border:2px solid #a8dcc4;background:#e0ede0;color:#184b42;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;font-size:38px}.xw-page-left{border-radius:16px 4px 4px 16px}.xw-page-left span{font-size:13px}.xw-page-right{border-radius:4px 16px 16px 4px}.xw-page-right b{font-size:13px}.xw-page-right i{width:75%;height:5px;background:#9ec8b5;border-radius:5px;opacity:calc(.1 + .9*var(--xw-a))}.xw-page-right small{font-size:9px;color:#08775b;opacity:var(--xw-b)}
/* Offer modal */
.xmas-offer-overlay[hidden]{display:none!important}.xmas-offer-overlay{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:18px}.xmas-offer-backdrop{position:absolute;inset:0;background:rgba(0,9,13,.77);backdrop-filter:blur(8px)}
.xmas-offer-dialog{position:relative;width:min(460px,100%);max-height:min(90dvh,860px);overflow:auto;padding:clamp(20px,5vw,34px);background:radial-gradient(circle at 88% 4%,rgba(255,204,135,.14),transparent 32%),linear-gradient(148deg,#0b2e29,#061a1d);border:1px solid rgba(248,214,157,.44);border-radius:28px;box-shadow:0 32px 110px #000b;color:#edf8eb;outline:none;text-align:center}
.xmas-offer-close{position:absolute;right:13px;top:10px;width:34px;height:34px;background:rgba(255,255,255,.05);color:white;border:1px solid #cbe6cf44;border-radius:50%;font-size:23px;cursor:pointer}
.xmas-offer-gift{height:82px;position:relative;display:grid;place-items:center;font-size:72px;line-height:1}.xmas-offer-gift i{font-size:25px;position:absolute;right:23%;top:4px;color:#f7d692;animation:xmas-twinkle 2s infinite alternate}
.xmas-offer-dialog h2{font-size:clamp(32px,7vw,43px);line-height:1.06;margin:12px 0}.xmas-offer-dialog h2 em{color:#f9d093}.xmas-offer-dialog p{color:#c5e8d8;line-height:1.55;font-size:13px}
.xmas-offer-form{display:grid;gap:12px;margin:20px 0 14px;text-align:left}.xmas-offer-form label:not(.xmas-consent){font-size:12px;font-weight:700;color:#e7f1e9;display:grid;gap:7px}.xmas-offer-form input:not([type=checkbox]){width:100%;min-height:45px;padding:11px 13px;border:1px solid #a5d5c055;border-radius:12px;background:#031b1c;color:white;font:inherit}.xmas-offer-form input:focus{outline:2px solid #f5c98d;outline-offset:1px}
.xmas-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.45;color:#c5dfd2}.xmas-consent input{accent-color:#f8c572;margin-top:3px;flex:none}.xmas-offer-submit{width:100%;padding:14px;border:none;background:#f6c980;color:#0a211c;font-weight:900;border-radius:14px;cursor:pointer;letter-spacing:.06em}.xmas-offer-dialog>small{font-size:10px;color:#a4c5b7;line-height:1.5;display:block}
.xmas-offer-tab{position:fixed;z-index:300;right:14px;top:45%;writing-mode:vertical-rl;transform:rotate(180deg);border:1px solid rgba(251,209,148,.56);background:#11372ff0;color:#fce0b6;letter-spacing:.1em;font-weight:800;font-size:10px;padding:12px 9px;border-radius:12px;cursor:pointer;box-shadow:0 10px 30px #0005}
.xmas-modal-open{overflow:hidden!important}
/* Original audio controller: visible, collapsed on mobile, expands only on demand. */
.xmas-audio-dock{border-color:rgba(251,214,154,.42)!important;z-index:500!important;max-width:calc(100vw - 24px)!important}
.xmas-audio-details{width:34px;height:34px;background:#154439;border:1px solid #f8cc9470;border-radius:9px;color:#fce0bb;cursor:pointer;align-self:center;justify-self:center;font-size:22px;display:grid;place-items:center}
.audio-controller .xmas-audio-details{grid-column:3;grid-row:1}
/* Tablet and mobile fixes */
@media(max-width:1050px){.xmas-hero-badge{display:none}.xw-workshop{grid-template-columns:1fr 1fr;gap:18px}}
@media(max-width:760px){
 .xmas-snow-canvas{opacity:.52}
 .xmas-active .brand img{width:145px!important;height:auto;max-height:85px!important}
 .xmas-home-hero .hero-cinematic-title{max-width:100%}
 .xmas-home-hero .hero-cinematic-title *{max-width:100%}
 .xmas-hero-garland{height:45px;left:4%;right:4%}.xmas-hero-garland i{width:5px;height:10px}
 .xmas-hero-sleigh{display:none}
 .xmas-hero-controls{gap:7px;padding:10px 15px 20px}
 .xmas-hero-controls button,.xmas-hero-controls a,.xmas-countdown{font-size:9px;padding:10px 11px}
 .xmas-countdown{width:100%;text-align:center}
 .xmas-orbit .service-orbit-head{padding-inline:17px}.xmas-orbit .service-orbit-head h2{font-size:clamp(28px,7vw,41px)!important;line-height:1.04!important;overflow-wrap:anywhere}
 .xmas-orbit .service-orbit-guide{margin-top:15px;gap:7px!important}.xmas-orbit .service-orbit-guide>span{font-size:9px;line-height:1.25;letter-spacing:.07em}.xmas-orbit .service-orbit-guide>strong{font-size:11px}
 .xmas-orbit .service-orbit-guide button{min-width:42px;min-height:42px}
 .xmas-orbit .service-orbit-stage{height:550px!important;min-height:550px!important;width:100%;overflow:hidden!important;perspective:900px;touch-action:pan-y}
 .xmas-orbit .service-hologram{width:90px!important;height:85px!important;z-index:80!important}.xmas-orbit .service-hologram img{max-width:83px!important;width:90%!important}.xmas-orbit .service-hologram small{display:none!important}
 .xmas-orbit .orbit-service-card{width:clamp(112px,34vw,138px)!important;min-height:100px!important;height:111px!important;padding:9px 8px!important;grid-template-columns:26px minmax(0,1fr);gap:6px;border-radius:14px!important;backdrop-filter:none!important}
 .xmas-orbit .orbit-card-icon{width:26px;height:26px;border-radius:8px}
 .xmas-orbit .orbit-card-icon>svg{display:none}
 .xmas-gift-mark{font-size:19px}
 .xmas-orbit .orbit-service-card>div{min-width:0}
 .xmas-orbit .orbit-service-card h3{font-size:10px!important;line-height:1.12!important;margin:2px 0!important;overflow-wrap:anywhere}
 .xmas-orbit .orbit-service-card p{display:none!important}
 .xmas-orbit .orbit-service-card small{font-size:6px!important;line-height:1!important;letter-spacing:0!important}
 .xmas-orbit .orbit-card-number{font-size:8px!important}
 .xmas-orbit .orbit-service-card>i,.xmas-unwrap{display:none!important}
 .xmas-orbit .service-orbit-mobile-hint{font-size:10px;letter-spacing:.08em}
 .xmas-home-feature{grid-template-columns:1fr;gap:35px;text-align:center;padding:65px 20px}
 .xmas-feature-copy p{margin-inline:auto}.xmas-feature-copy h2{font-size:clamp(31px,8vw,48px)}
 .xmas-globe{width:min(270px,85vw)}
 .xw-workshop{grid-template-columns:1fr;gap:22px;padding:65px 18px 80px}
 .xw-copy h2{font-size:clamp(30px,8vw,42px)}.xw-copy p{font-size:14px}
 .xw-steps span{font-size:9px;padding:8px 10px}.xw-visual{min-height:300px}.xw-scene{transform:scale(.82);width:100%;height:245px}
 .xw-scene-footer{bottom:13px;left:15px;right:15px;font-size:7px}
 .xmas-secret-present{font-size:16px;padding:7px;top:75px;right:8px}
 .xmas-offer-tab{top:auto;bottom:83px;right:8px;writing-mode:initial;transform:none;font-size:9px;padding:9px 11px;border-radius:999px}
 /* Audio controls are a compact 3-button dock. No text/content collision. */
 .audio-controller.audio-controller-v2.xmas-audio-dock{left:8px!important;bottom:calc(9px + env(safe-area-inset-bottom,0px))!important;width:165px!important;max-width:165px!important;min-width:165px!important;min-height:55px!important;height:55px!important;padding:7px!important;display:grid!important;grid-template-columns:41px 40px 32px 30px!important;grid-template-rows:40px!important;gap:5px!important;align-items:center;overflow:hidden!important;border-radius:16px!important;z-index:700!important}
 .audio-controller.xmas-audio-dock .audio-play{grid-column:1!important;grid-row:1!important;width:40px!important;height:40px!important}
 .audio-controller.xmas-audio-dock .audio-info,.audio-controller.xmas-audio-dock .audio-meter{display:none!important}
 .audio-controller.xmas-audio-dock .audio-mute{grid-column:2!important;grid-row:1!important;width:39px!important;height:39px!important;display:grid!important;place-items:center!important;font-size:8px!important;padding:1px!important}
 .audio-controller.xmas-audio-dock .xmas-audio-details{grid-column:3!important;grid-row:1!important;width:31px;height:39px;font-size:19px}
 .audio-controller.xmas-audio-dock .audio-progress,.audio-controller.xmas-audio-dock .audio-volume{display:none!important}
 .audio-controller.audio-controller-v2.xmas-audio-open{width:min(320px,calc(100vw - 16px))!important;max-width:min(320px,calc(100vw - 16px))!important;height:155px!important;min-height:155px!important;grid-template-columns:42px minmax(0,1fr) 40px 34px!important;grid-template-rows:42px 29px 27px!important;gap:8px!important;padding:12px!important;overflow:visible!important}
 .audio-controller.xmas-audio-open .audio-info{display:grid!important;grid-column:2!important;grid-row:1!important;min-width:0;overflow:hidden}
 .audio-controller.xmas-audio-open .audio-title span{font-size:6px!important}
 .audio-controller.xmas-audio-open .audio-track-name{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .audio-controller.xmas-audio-open .audio-mute{grid-column:3!important}
 .audio-controller.xmas-audio-open .xmas-audio-details{grid-column:4!important}
 .audio-controller.xmas-audio-open .audio-progress{display:grid!important;grid-column:1/5!important;grid-row:2!important;grid-template-columns:27px 1fr 27px!important;gap:8px!important;min-width:0}
 .audio-controller.xmas-audio-open .audio-volume{display:grid!important;grid-column:1/5!important;grid-row:3!important;grid-template-columns:27px 1fr 27px!important;gap:8px!important}
 .audio-controller.xmas-audio-open .audio-progress input,.audio-controller.xmas-audio-open .audio-volume input{width:100%!important}
 .site-footer{padding-bottom:105px!important}
}
@media(max-width:365px){.xmas-orbit .service-orbit-stage{height:515px!important;min-height:515px!important}.xmas-orbit .orbit-service-card{width:112px!important;min-height:102px!important;height:102px!important}.xmas-orbit .service-hologram{width:77px!important;height:75px!important}}
@media(prefers-reduced-motion:reduce){.xmas-hero-garland i,.xmas-globe>span,.xmas-offer-gift i{animation:none!important}.xmas-snow-canvas{display:none}}
@keyframes xmas-twinkle{from{opacity:.47;filter:brightness(.65)}to{opacity:1;filter:brightness(1.4)}}
@keyframes xmas-float{to{transform:translateY(-16px) rotate(12deg)}}
/* Service gift preview after unwrap interaction */
.xmas-gift-preview[hidden]{display:none!important}.xmas-gift-preview{position:fixed;inset:0;z-index:3900;display:grid;place-items:center;padding:18px}.xmas-gift-preview-backdrop{position:absolute;inset:0;background:rgba(0,13,15,.83);backdrop-filter:blur(7px)}
.xmas-gift-preview-panel{position:relative;width:min(420px,100%);padding:35px 28px;border-radius:24px;border:1px solid rgba(253,214,155,.51);background:linear-gradient(140deg,#104038,#062021);box-shadow:0 28px 85px #0009;text-align:center;outline:none}
.xmas-gift-preview-close{position:absolute;right:12px;top:11px;border:1px solid #a4dec251;background:#082321;color:white;width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer}
.xmas-preview-art{font-size:58px;line-height:1.4;animation:xmas-float 2.2s ease-in-out infinite alternate}.xmas-gift-preview-panel h2{font-size:clamp(24px,5vw,36px);line-height:1.1;color:#fbe2af;margin:14px 0}.xmas-gift-preview-panel p{color:#c7e8d8;line-height:1.6;font-size:14px}.xmas-preview-cta{display:inline-block;margin-top:17px;padding:14px 21px;background:#f5d39e;color:#08241d;text-decoration:none;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.09em}
.xmas-unwrapping{filter:drop-shadow(0 0 16px rgba(255,232,153,.65))!important}.xmas-unwrapping .xmas-gift-mark{transform:scale(1.5) rotate(15deg);transition:.25s}
.xmas-cursor-spark{position:fixed;z-index:1200;pointer-events:none;transform:translate(-50%,-50%);color:#e9f9d1;font-size:18px;text-shadow:0 0 12px #f5d497;animation:xmas-spark-out .62s ease-out forwards}
@keyframes xmas-spark-out{to{opacity:0;transform:translate(-50%,-50%) translateY(-22px) scale(.2)}}

/* Optional automatic lightweight graphics mode for older devices */
.xmas-lite .xmas-hero-garland i,.xmas-lite .xmas-globe>span,.xmas-lite .xmas-offer-gift i{animation:none!important}
.xmas-lite .xmas-orbit .orbit-service-card,.xmas-lite .xmas-hero-badge,.xmas-lite .xmas-offer-dialog{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.xmas-lite .xw-scene>div,.xmas-lite .xw-scene>span{transition-duration:.28s!important}
