/* TECHNIGATOR — CHRISTMAS PRO DESIGN & RESPONSIVE FIX — 2026 */
:root{--snow-progress:0;--snow-depth:.12;--pro-ice:#d1fff4;--pro-gold:#f9d79b;--pro-forest:#082523}
/* Theme is expressive without covering the actual business content. */
.xmas-active .site-header{isolation:isolate;overflow:visible!important}
.xmas-active .brand img,.arcade-head .arcade-brand img{object-fit:contain;image-rendering:auto}
.xmas-active .brand{z-index:12!important}
.xmas-active .brand img{filter:drop-shadow(0 7px 16px rgba(0,0,0,.28))!important}
.xmas-active .hero-cinematic,.xmas-active .page-hero,.xmas-active .service-orbit-section,
.xmas-active .transformation,.xmas-active .xw-workshop{background-color:#041719}
.xmas-active .page-hero:before{background:radial-gradient(ellipse at 80% 22%,rgba(231,247,227,.12),transparent 45%)}
.xmas-snow-canvas{z-index:85!important;opacity:.78!important;max-width:none!important;mix-blend-mode:screen}
@media(max-width:700px){.xmas-snow-canvas{opacity:.78!important}}
/* The snow now has six branching arms, not rendered as tiny circles. */
.xpro-lights{position:absolute;left:7%;right:7%;bottom:-24px;height:36px;display:flex;align-items:flex-start;justify-content:space-between;z-index:21;pointer-events:none;overflow:visible;filter:drop-shadow(0 2px 9px #0005)}
.xpro-lights .xpro-wire{position:absolute;top:0;height:9px;left:0;right:0;border-bottom:2px solid #4b8676;border-radius:0 0 52% 52%;opacity:.85}
.xpro-lights i{position:relative;top:9px;display:block;width:8px;height:13px;border-radius:48% 48% 60% 60%;background:#ffe6ac;box-shadow:0 0 8px 2px #ffd06eaa,0 0 21px 5px #d7ab5b45;transform:rotate(9deg);animation:xpro-lamp 2.1s ease-in-out infinite alternate;animation-delay:calc(var(--n)*-.15s)}
.xpro-lights i:nth-child(3n){background:#9dffde;box-shadow:0 0 9px 2px #5fffd090,0 0 24px 4px #5bfcba43}
.xpro-lights i:nth-child(5n){background:#ff7c83;box-shadow:0 0 9px 2px #f06b6b98,0 0 24px 4px #f6766543}
.xmas-lights-off .xpro-lights i,.xmas-lights-off .xmas-hero-garland i{background:#3a5e57!important;box-shadow:none!important;opacity:.28!important;animation:none!important}
.xpro-light-switch{position:absolute;right:16px;bottom:-63px;z-index:105;padding:8px 13px;border-radius:999px;border:1px solid #e1ce9e82;background:#0c302dd9;color:#fbe4b6;font:800 10px/1.1 system-ui,sans-serif;letter-spacing:.11em;cursor:pointer;min-height:33px;box-shadow:0 12px 28px #0005}
.xmas-lights-off .xpro-light-switch{color:#a2b8b0;border-color:#60807980;background:#091b1b}
@keyframes xpro-lamp{from{opacity:.53;filter:brightness(.72)}to{opacity:1;filter:brightness(1.27)}}
/* Snow collecting with page/time progress; no layout shifts and no click interception. */
.xpro-snowbanks{position:fixed;left:0;right:0;bottom:-1px;z-index:90;height:calc(10px + var(--snow-depth)*24px);pointer-events:none;opacity:.87;overflow:hidden;transition:height .36s linear}
.xpro-snowbank-back{position:absolute;bottom:0;left:-4%;width:110%;height:120%;background:linear-gradient(180deg,#e9fff9e0,#c4f3e6ef);border-radius:51% 42% 0 0/85% 56% 0 0;transform:translateX(2%);filter:drop-shadow(0 -4px 8px #d6ffff31)}
.xpro-snowbank-front{position:absolute;bottom:-4px;left:-5%;width:110%;height:74%;background:linear-gradient(180deg,#fff,#aee5d9);border-radius:45% 55% 0 0/70% 90% 0 0}
.xpro-snow-ridge{position:absolute;left:0;right:0;top:0;height:12px;pointer-events:none;z-index:12;background:radial-gradient(ellipse 45px 10px at 8% 100%,#f6ffffee 77%,transparent 80%),radial-gradient(ellipse 67px 13px at 24% 100%,#dbfff7eb 75%,transparent 79%),radial-gradient(ellipse 90px 10px at 47% 100%,#f5fffdeb 76%,transparent 79%),radial-gradient(ellipse 80px 13px at 73% 100%,#f8fffdee 76%,transparent 78%),radial-gradient(ellipse 80px 10px at 96% 100%,#e8fffaee 77%,transparent 80%);opacity:.88}
.xmas-active .site-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:radial-gradient(ellipse at 19% 100%,#eafcf3 0 16px,transparent 18px),radial-gradient(ellipse at 43% 100%,#fff 0 24px,transparent 26px),radial-gradient(ellipse at 83% 100%,#d3fff3 0 22px,transparent 24px);z-index:30;pointer-events:none}
.xpro-scroll-track{position:fixed;right:7px;top:31%;height:min(40vh,370px);width:24px;z-index:125;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:3px;color:#e9fff5;font:800 9px/1 system-ui,sans-serif}
.xpro-scroll-title{writing-mode:vertical-rl;letter-spacing:.2em;opacity:.65;font-size:8px;margin-bottom:6px}
.xpro-scroll-line{position:absolute;top:80px;bottom:28px;width:3px;border-radius:4px;background:#ecfff534;box-shadow:0 0 8px #9dfff018}
.xpro-scroll-fill{position:absolute;top:80px;left:50%;transform:translateX(-50%);height:calc((100% - 108px)*var(--snow-progress));width:3px;background:linear-gradient(#c0ffe8,#fff);box-shadow:0 0 10px #a9ffe7bb;border-radius:4px}
.xpro-scroll-flake{position:absolute;top:calc(68px + (100% - 108px)*var(--snow-progress));left:50%;transform:translateX(-50%);font-size:27px;line-height:1;color:#f6fff9;text-shadow:0 0 12px #b5ffee;transition:top .15s linear}
.xpro-scroll-percent{position:absolute;bottom:0;right:1px;font-size:9px;color:#c6f7df;letter-spacing:0}
@media(max-width:700px){.xpro-scroll-track{right:0;width:16px;top:36%;height:34vh;opacity:.75}.xpro-scroll-line,.xpro-scroll-fill{top:45px}.xpro-scroll-flake{font-size:20px;top:calc(34px + (100% - 73px)*var(--snow-progress))}.xpro-scroll-title{font-size:6px}.xpro-scroll-fill{height:calc((100% - 73px)*var(--snow-progress))}.xpro-scroll-percent{font-size:7px}.xpro-lights{left:4%;right:4%;bottom:-18px;height:25px}.xpro-lights i{width:5px;height:9px;top:6px}.xpro-light-switch{right:10px;bottom:-52px;padding:7px 9px;font-size:8px;min-height:28px}}
/* SERVICE ICON REPAIR: explicit SVG dimensions and visibility in every context. */
.xpro-icon-box{position:relative!important;isolation:isolate}
.xpro-icon-box .xpro-icon{position:relative!important;z-index:8!important;display:block!important;width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;visibility:visible!important;opacity:1!important;color:#e3ffec!important;stroke:#e0ffed!important;filter:drop-shadow(0 0 7px #a2fbd94a)}
.marquee-service .marquee-icon.xpro-icon-box{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:13px;border-color:#f0cb9366!important;background:#0f3730!important}
.marquee-icon.xpro-icon-box > svg:not(.xpro-icon),.marquee-icon.xpro-icon-box .xmas-marquee-icon{display:none!important}
.xmas-orbit .orbit-card-icon.xpro-icon-box .xpro-icon{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}
.xmas-orbit .orbit-card-icon.xpro-icon-box > svg:not(.xpro-icon),.xmas-orbit .orbit-card-icon.xpro-icon-box>.xmas-gift-mark{display:none!important}
.xpro-row-icon{display:grid;place-items:center;width:54px;height:54px;min-width:54px;border:1px solid #e9d09c69;background:linear-gradient(135deg,#123b30,#092321);border-radius:16px;box-shadow:inset 0 1px #b8ffe21d;grid-column:2}
.xpro-row-icon .xpro-icon{width:28px;height:28px;color:#d1fdec}
.service-index-row:has(.xpro-row-icon){grid-template-columns:60px 64px 1.2fr 1fr 30px;gap:clamp(8px,2vw,25px)}
.capability-constellation .cap-node>.xpro-icon{position:absolute;inset:20%;width:60%;height:60%;color:#eaf4c3;z-index:7}
@media(max-width:760px){.marquee-service .marquee-icon.xpro-icon-box{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}.marquee-service .xpro-icon{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important}.service-index-row:has(.xpro-row-icon){grid-template-columns:42px minmax(0,1fr) 20px;gap:12px}.xpro-row-icon{grid-column:1;width:40px;height:40px;min-width:40px}.xpro-row-icon .xpro-icon{width:23px;height:23px}.service-index-row:has(.xpro-row-icon)>span:first-child{display:none}}
/* Christmas cards orbit around the untouched centre logo using the existing 3D engine. */
.xmas-orbit .service-hologram{z-index:66!important;pointer-events:none!important}
.xmas-orbit .service-hologram img{display:block!important;max-height:145px;object-fit:contain;filter:drop-shadow(0 0 17px rgba(146,255,216,.45))}
.xmas-orbit .orbit-service-card{overflow:hidden;border-color:#e6d69e81!important;background:linear-gradient(130deg,#11372ede,#06181aee)!important;box-shadow:0 20px 48px #000a,0 0 18px #d5c38a14!important}
.xmas-orbit .orbit-service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:radial-gradient(ellipse at 20% 100%,#fff 0 20%,transparent 23%),radial-gradient(ellipse at 60% 100%,#e5fff5 0 28%,transparent 31%),radial-gradient(ellipse at 90% 100%,#fff 0 23%,transparent 26%);opacity:.9}
.xmas-orbit .orbit-card-icon.xpro-icon-box{width:45px!important;height:45px!important;min-width:45px!important;min-height:45px!important;display:grid!important;place-items:center!important}
.xmas-orbit .orbit-service-card>i{z-index:5}
@media(max-width:760px){.xmas-orbit .orbit-card-icon.xpro-icon-box{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;border-radius:10px!important}.xmas-orbit .orbit-card-icon.xpro-icon-box .xpro-icon{width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important}.xmas-orbit .orbit-service-card{z-index:auto}}
/* Gift Hunt: three deliberately beautiful objects with a meaningful reveal. */
.xpro-gift-hunt{position:relative;overflow:hidden;padding:clamp(74px,8vw,130px) clamp(18px,6vw,110px)!important;background:radial-gradient(ellipse at 52% 45%,#15644b33,transparent 55%),linear-gradient(150deg,#062122,#020c13);border-block:1px solid #d1ba8e3b;display:grid;gap:34px}
.xpro-gift-hunt:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 95px,#d8ffe105 96px 97px);pointer-events:none}
.xpro-hunt-copy{position:relative;z-index:1;max-width:820px;margin:auto;text-align:center}
.xpro-eyebrow{font:800 10px/1.4 system-ui,sans-serif;letter-spacing:.28em;color:#e5cd9b}
.xpro-hunt-copy h2{font-size:clamp(34px,6vw,74px);line-height:1.06;letter-spacing:-.055em;margin:12px 0;color:#f1fff7}
.xpro-hunt-copy h2 em{color:#f6d39b;font-style:normal}
.xpro-hunt-copy p{font-size:clamp(13px,1.5vw,18px);line-height:1.6;color:#c5dfd6;max-width:600px;margin:14px auto}
.xpro-hunt-progress{max-width:390px;height:7px;background:#f4f7e520;border:1px solid #fff2d02f;border-radius:999px;overflow:hidden;margin:22px auto 10px}
.xpro-hunt-fill{display:block;width:0;height:100%;background:linear-gradient(90deg,#8ff1d3,#f5c77d);border-radius:inherit;transition:width .6s ease}
.xpro-hunt-count{font:800 10px/1.2 system-ui,sans-serif;letter-spacing:.15em;color:#c8efd9}
.xpro-gifts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,28px);width:min(1050px,100%);margin:auto;position:relative;z-index:1}
.xpro-present{position:relative;min-height:290px;border:1px solid #bad9b73c;background:linear-gradient(150deg,#103d35,#051a1c 70%);border-radius:25px;cursor:pointer;color:#fff;display:flex;align-items:center;flex-direction:column;justify-content:space-between;gap:8px;padding:20px 15px;box-shadow:0 22px 50px #0005;transition:transform .3s,border-color .3s,background .3s;overflow:hidden}
.xpro-present:hover,.xpro-present:focus-visible{transform:translateY(-8px);border-color:#f1d5a3;outline:none}
.xpro-present.opened{border-color:#85ffcf;background:linear-gradient(145deg,#145b45,#092e2b)}
.xpro-present-top{font:800 9px/1.2 system-ui,sans-serif;letter-spacing:.23em;color:#d4e1c9}
.xpro-present-graphic{display:block;position:relative;width:128px;height:145px;filter:drop-shadow(0 18px 22px #0007)}
.xpro-present-box{position:absolute;left:21px;bottom:3px;width:87px;height:83px;background:linear-gradient(120deg,#9f213d,#ee5870 49%,#a92848);border:2px solid #ffd5ac;border-radius:9px;box-shadow:inset -18px 0 16px #4a08252b}
.xpro-present-box:before,.xpro-present-lid:before{content:"";position:absolute;background:#f8d891;left:39%;width:22%;top:0;bottom:0}
.xpro-present-box:after{content:"";position:absolute;background:#f8d891;left:0;right:0;height:16px;top:39%}
.xpro-present-lid{position:absolute;z-index:5;left:16px;bottom:82px;width:98px;height:24px;border:2px solid #ffe1b1;border-radius:8px;background:linear-gradient(100deg,#af2f4a,#ed6877);transform-origin:20% 100%;transition:transform .6s cubic-bezier(.2,.9,.3,1)}
.xpro-present-lid:after{content:"✦";position:absolute;left:39%;top:-30px;color:#ffde99;font-size:28px}
.xpro-present-glow{position:absolute;left:25px;bottom:20px;width:80px;height:70px;background:#fbedac;opacity:0;filter:blur(32px);transition:opacity .55s}
.xpro-present.opened .xpro-present-lid{transform:rotate(-48deg) translate(-15px,-24px)}
.xpro-present.opened .xpro-present-glow{opacity:.85}
.xpro-present.opened .xpro-present-box{background:linear-gradient(110deg,#0c8a68,#45b893)}
.xpro-present strong{font-size:clamp(16px,2vw,23px);letter-spacing:.05em;color:#ffedcf}
.xpro-present small{font-size:9px;letter-spacing:.17em;color:#d1fbe6}
.xpro-hunt-reveal{position:relative;z-index:2;text-align:center;padding:15px 18px;margin:auto;max-width:950px;width:100%;border:1px solid #bce8d135;border-radius:14px;background:#06231ed9;color:#d4ebdd;font-size:13px;line-height:1.5}
.xpro-hunt-reveal b,.xpro-hunt-reveal strong{color:#f8d497}
.xmas-secret-present{display:none!important}
@media(max-width:700px){.xpro-gift-hunt{padding:72px 16px!important}.xpro-gifts{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.xpro-present{min-height:185px;border-radius:15px;padding:11px 4px}.xpro-present-graphic{transform:scale(.66);margin:-10px 0 -16px}.xpro-present-top{font-size:6px;letter-spacing:.05em}.xpro-present strong{font-size:11px}.xpro-present small{font-size:7px;line-height:1.1;letter-spacing:0}.xpro-hunt-reveal{font-size:11px}}
@media(max-width:340px){.xpro-present{min-height:177px}.xpro-present-graphic{transform:scale(.55);margin:-17px 0 -23px}.xpro-present strong{font-size:10px}}
/* The workshop now operates like a physical 3D production line — same page's unique scene is kept. */
.xpro-workshop{min-height:680px;background:radial-gradient(ellipse at 75% 50%,#25826416,transparent 44%),linear-gradient(130deg,#061d1a,#031015)!important}
.xpro-workshop .xw-copy h2{font-size:clamp(32px,3.7vw,58px)}
.xpro-workshop .xw-visual{--xpro-move:0;min-height:530px!important;align-content:stretch;overflow:hidden;background:radial-gradient(ellipse at 49% 33%,#236c583e,transparent 55%),linear-gradient(150deg,#103a31,#071c24 80%)!important;border-color:#e4c99370!important;box-shadow:inset 0 1px #fff3,0 30px 75px #0007}
.xpro-workshop .xw-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,#ddffc908 50%,transparent);z-index:0}
.xpro-workshop .xw-scene{position:absolute;z-index:2;top:52px;height:240px!important;width:80%!important;max-width:360px;margin:auto;transform:scale(.79)!important;transform-origin:center center;pointer-events:none;filter:drop-shadow(0 6px 28px #0003)}
.xpro-conveyor{position:absolute;z-index:1;left:14px;right:14px;top:9px;bottom:56px;pointer-events:none}
.xpro-workshop-ceiling{height:35px;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 16px;border:1px solid #9fe8c334;border-radius:9px;background:#051c1ddc;color:#e9d7ae;font:700 9px/1.2 system-ui,sans-serif;letter-spacing:.07em}
.xpro-workshop-ceiling strong{font-size:10px;color:#e7ffec;text-align:center}
.xpro-station-bar{position:absolute;left:4%;right:4%;bottom:155px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.xpro-station-bar span{display:grid;place-items:center;padding:9px 3px;border-radius:10px;background:#041b1adc;border:1px solid #a6c9ad55;color:#8baea5;font:800 9px/1 system-ui,sans-serif;letter-spacing:.09em;transition:background .25s,color .25s,border-color .25s}
.xpro-station-bar span.active{background:#1a5d46;color:#ffe5ae;border-color:#f8d391}
.xpro-belts{position:absolute;left:3%;right:3%;bottom:31px;height:112px;perspective:600px}
.xpro-belt-backing{position:absolute;left:0;right:0;top:20px;height:78px;background:linear-gradient(180deg,#29524a,#10332e);transform:rotateX(42deg);border:2px solid #cdac7280;border-radius:18px;box-shadow:0 26px 31px #000a}
.xpro-belt{position:absolute;left:2%;right:2%;top:25px;height:66px;transform:rotateX(42deg);border-radius:13px;border:1px solid #abd7bc6b;background:repeating-linear-gradient(90deg,#193933 0 28px,#28534a 28px 32px,#1e4940 32px 35px);background-size:315px 100%;animation:xpro-belt-move 1.25s linear infinite;box-shadow:inset 0 6px 9px #0007}
.xpro-belt-lip{position:absolute;left:0;right:0;bottom:5px;height:21px;background:linear-gradient(#a6b7a3,#4b7167);border-radius:3px 3px 12px 12px;border:1px solid #a5deb569}
.xpro-parcel{position:absolute;left:calc(7% + 73%*var(--xpro-move));bottom:40px;width:48px;height:48px;border:2px solid #f6d7a2;border-radius:5px;background:linear-gradient(120deg,#a6374b,#e55f64);box-shadow:7px 8px 0 #631b2e,0 10px 17px #0008;transform:translate(-50%,calc(-11px * var(--xpro-move))) rotate(calc(360deg * var(--xpro-move)));transition:left .16s linear,transform .16s linear,background .25s}
.xpro-parcel:before{content:"";position:absolute;inset:0 18px;background:#f3d48e}
.xpro-parcel-bow{position:absolute;top:-19px;left:8px;font-size:27px;z-index:2;color:#ffe7ad;filter:drop-shadow(0 0 5px #fcd4937b)}
.xpro-parcel-screen{position:absolute;z-index:3;inset:7px;display:grid;place-items:center;border-radius:4px;background:#d0ffef;color:#1c7658;font-weight:900;font-size:24px;opacity:0;transition:opacity .35s}
.xw-visual[data-xpro-phase="2"] .xpro-parcel{background:#279f79}
.xw-visual[data-xpro-phase="2"] .xpro-parcel-screen{opacity:1}
.xpro-machine-arm{position:absolute;top:-25px;left:49%;width:3px;height:42px;background:linear-gradient(#95e9c1,#edc983);box-shadow:0 0 15px #e5e9a73d}
.xpro-machine-arm i{position:absolute;bottom:-8px;left:-14px;width:30px;height:18px;background:linear-gradient(130deg,#f9ddad,#9b8a60);border-radius:8px;transform:translateY(calc(12px*var(--xpro-move)));box-shadow:0 0 15px #e8d19e50}
.xpro-status-light{position:absolute;bottom:1px;left:5%;right:5%;font:800 9px/1.2 system-ui,sans-serif;color:#74ffb3;letter-spacing:.09em;display:flex;justify-content:space-between;gap:8px}
.xpro-status-light span{color:#f4dda8}
.xpro-workshop .xw-scene-footer{bottom:15px;z-index:3;font-size:8px}
.xpro-start-machine{margin:10px 0 4px;padding:12px 19px;border:1px solid #f6d49779;border-radius:999px;background:linear-gradient(105deg,#226b52,#104b45);color:#f6f6df;font:800 11px/1 system-ui,sans-serif;letter-spacing:.1em;cursor:pointer;box-shadow:0 8px 28px #0004}
.xpro-start-machine:hover{background:#278466}
.xpro-workshop .xw-progress{accent-color:#ffe5ab}
@keyframes xpro-belt-move{to{background-position:315px 0}}
@media(max-width:950px){.xpro-workshop{min-height:0}.xpro-workshop .xw-visual{min-height:465px!important}.xpro-workshop .xw-scene{top:49px;transform:scale(.67)!important}.xpro-station-bar{bottom:140px}.xpro-belts{height:102px}}
@media(max-width:600px){.xpro-workshop{padding:65px 15px 80px!important}.xpro-workshop .xw-visual{min-height:420px!important}.xpro-workshop .xw-scene{top:30px;transform:scale(.55)!important}.xpro-conveyor{bottom:43px}.xpro-station-bar{bottom:130px}.xpro-belts{height:91px}.xpro-workshop-ceiling{font-size:7px;padding:0 9px}.xpro-workshop-ceiling strong{font-size:8px}.xpro-station-bar span{font-size:7px;padding:8px 2px}.xpro-parcel{width:38px;height:38px;bottom:33px}.xpro-parcel:before{inset:0 14px}.xpro-parcel-bow{font-size:22px;top:-17px}.xpro-belt-lip{bottom:12px}.xpro-workshop .xw-scene-footer{font-size:7px;letter-spacing:.035em}}
/* Keep floating overlays unobtrusive, restore functional music controls without content occlusion. */
@media(max-width:760px){
 .audio-controller.audio-controller-v2.xmas-audio-dock{bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;left:10px!important;z-index:640!important;box-shadow:0 12px 30px #0008!important}
 .xmas-offer-tab{bottom:calc(82px + env(safe-area-inset-bottom,0px));right:12px}
 .xmas-hero-controls{padding-top:19px!important}
}
@media(prefers-reduced-motion:reduce){.xpro-lights i,.xpro-belt{animation:none!important}.xpro-present,.xpro-present-lid{transition:none!important}}
/* Cinematic arctic landscape that sits BEHIND text, CTAs and the existing 3D gator. */
.xpro-premium-hero{isolation:isolate;background:radial-gradient(ellipse at 83% 26%,#277f6c39,transparent 50%),#051e22!important}
.xpro-premium-hero>.xpro-winter-scene{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.xpro-aurora{position:absolute;right:-22%;top:-24%;width:85%;height:110%;background:radial-gradient(ellipse at 54% 30%,#6cf6cd35,transparent 54%),radial-gradient(ellipse at 18% 55%,#c0ffdd13,transparent 40%);filter:blur(52px);animation:xpro-aurora 19s ease-in-out infinite alternate}
.xpro-winter-moon{position:absolute;right:17%;top:13%;width:clamp(110px,12vw,220px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 37% 30%,#f8fff2,#addac6 50%,#67968e 87%);opacity:.20;box-shadow:0 0 100px 22px #bafce44b,0 0 190px 80px #7fe7cb13}
.xpro-sleigh-silhouette{position:absolute;right:15%;top:15%;font-size:16px;letter-spacing:.5em;color:#f3dec0;opacity:.44;transform:rotate(-12deg)}
.xpro-tree{position:absolute;right:10%;bottom:9%;width:120px;height:220px;opacity:.64;filter:drop-shadow(0 0 20px #77eabd25)}
.xpro-tree i{position:absolute;left:50%;transform:translateX(-50%);width:0;height:0;border-left:58px solid transparent;border-right:58px solid transparent;border-bottom:0;border-top:85px solid #155b4b;filter:drop-shadow(0 4px 1px #d6fff344)}
.xpro-tree i:nth-of-type(1){top:18px;border-left-width:41px;border-right-width:41px;border-top-width:77px;z-index:3}
.xpro-tree i:nth-of-type(2){top:64px;border-left-width:52px;border-right-width:52px;border-top-width:91px;z-index:2}
.xpro-tree i:nth-of-type(3){top:119px;z-index:1}
.xpro-tree b{position:absolute;bottom:0;left:45%;width:14px;height:41px;background:#7b705a}
.xpro-tree-star{position:absolute;top:0;left:50%;transform:translateX(-50%);color:#ffe8b6;font-size:24px;text-shadow:0 0 20px #ffebad;z-index:5}
.xpro-tree.t2{right:0%;bottom:7%;transform:scale(.65);transform-origin:bottom right;opacity:.4}
.xpro-tree.t3{right:26%;bottom:3%;transform:scale(.47);transform-origin:bottom right;opacity:.25}
.xpro-snow-hill{position:absolute;bottom:-23%;left:-20%;width:83%;height:38%;border-radius:50% 50% 0 0;background:linear-gradient(#8fe5d722,#cfefe21b 60%,transparent);transform:rotate(-9deg)}
.xpro-snow-hill.h2{left:auto;right:-20%;bottom:-19%;height:33%;transform:rotate(9deg);background:linear-gradient(#e6fff92c,#e3fff80b 70%,transparent)}
.xpro-premium-hero .hero-cinematic-title,.xpro-premium-hero .hero-cinematic-copy,.xpro-premium-hero .hero-cinematic-actions{position:relative;z-index:4}
@keyframes xpro-aurora{to{transform:translate(-9%,6%) rotate(7deg);opacity:.62}}
@media(max-width:760px){.xpro-winter-moon{width:100px;right:7%;top:21%;opacity:.12}.xpro-tree{right:-9%;bottom:11%;transform:scale(.52);transform-origin:bottom right;opacity:.25}.xpro-tree.t2{right:16%;opacity:.17;transform:scale(.32)}.xpro-tree.t3{display:none}.xpro-sleigh-silhouette{display:none}.xpro-aurora{opacity:.33}}
@media(prefers-reduced-motion:reduce){.xpro-aurora{animation:none!important}}
/* The discount reopen action sits with the other hero controls — never over service/workshop content. */
.xmas-hero-controls .xmas-offer-tab.xpro-inline-offer{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;writing-mode:horizontal-tb!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:39px;margin:0!important;flex:0 0 auto;padding:10px 15px!important;border-radius:999px!important;background:linear-gradient(110deg,#f6d696,#ffedbe)!important;color:#123c31!important;font-size:10px!important;box-shadow:0 10px 24px #0003!important;letter-spacing:.06em!important}
.xmas-hero-controls .xmas-offer-tab.xpro-inline-offer:hover{filter:brightness(1.06)}
.xmas-active body:not(:has(.xmas-home-hero))>.xmas-offer-tab{display:none!important}
.xmas-active .xmas-hero-controls{position:relative;z-index:20!important;max-width:100%;flex-wrap:wrap!important;row-gap:12px!important}
@media(max-width:760px){.xmas-hero-controls .xmas-offer-tab.xpro-inline-offer{font-size:9px!important;padding:10px 11px!important}}
/* WebGL-free experience for unsupported browsers. It is only shown if WebGL2 is missing. */
.xmas-webgl-fallback .xpro-fallback-header{position:sticky;top:0;z-index:100;background:#061a1df5!important;padding:12px clamp(16px,5vw,70px);display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:16px}
.xmas-webgl-fallback .xpro-fallback-header .brand img{max-height:67px;width:auto;max-width:165px}
.xpro-fallback-nav{display:flex;gap:clamp(9px,2vw,25px);flex-wrap:wrap}
.xpro-fallback-nav a{font:800 10px/1.2 system-ui,sans-serif;letter-spacing:.06em;color:#e6fce5;text-decoration:none}
.xpro-fallback-hero{position:relative;min-height:min(690px,90vh);padding:clamp(110px,15vw,190px) clamp(22px,8vw,140px) 100px;overflow:hidden;background:radial-gradient(ellipse at 75% 60%,#3a9d7350,transparent 50%),linear-gradient(115deg,#06171c,#10342c)}
.xpro-fallback-copy{position:relative;z-index:3;max-width:750px}
.xpro-fallback-copy h1{font-size:clamp(40px,7vw,94px);line-height:1.02;letter-spacing:-.06em;color:#ebfff8;margin:20px 0}
.xpro-fallback-copy h1 em,.xpro-fallback-services h2 em,.xpro-fallback-contact h2 em{color:#f4d08e;font-style:normal}
.xpro-fallback-copy p{color:#cfe8de;max-width:570px;font-size:clamp(14px,1.5vw,20px);line-height:1.6}
.xpro-fallback-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:35px}
.xpro-fallback-actions a{display:inline-flex;align-items:center;justify-content:center;padding:17px 21px;border-radius:999px;text-decoration:none;font-size:11px;font-weight:900}
.xpro-fallback-gator{position:absolute;right:1%;bottom:8%;width:min(390px,35vw);opacity:.65;filter:drop-shadow(0 0 35px #6af1c15e)}
.xpro-fallback-services,.xpro-fallback-contact{background:linear-gradient(140deg,#0b2c25,#02131a);padding:100px clamp(18px,7vw,110px)!important}
.xpro-fallback-services h2,.xpro-fallback-contact h2{font-size:clamp(30px,5vw,60px);line-height:1.1;letter-spacing:-.05em;margin:20px 0 35px}
.xpro-fallback-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.xpro-fallback-service-grid a{display:grid;gap:12px;border:1px solid #f0d3a559;border-radius:18px;padding:22px;background:#0b322d;color:#e7ffed;text-decoration:none}
.xpro-fallback-service-grid a strong{font-size:18px}.xpro-fallback-service-grid a span{font-size:9px;color:#f4dbab;letter-spacing:.12em}
.xpro-fallback-contact>p{color:#c8e6d6}.xpro-fallback-contact form{max-width:670px;display:grid;gap:14px;margin-top:25px}
.xpro-fallback-contact label{display:grid;gap:7px;font-size:12px;color:#e6fce9}
.xpro-fallback-contact :is(input,textarea){min-height:45px;border-radius:12px;border:1px solid #a0eed260;background:#062722;color:white;padding:12px;font:inherit}
.xpro-fallback-contact button{justify-self:start;border:0;cursor:pointer}
@media(max-width:750px){.xmas-webgl-fallback .xpro-fallback-header{padding:10px 15px;min-height:82px}.xmas-webgl-fallback .xpro-fallback-header .brand img{max-width:105px;max-height:55px}.xpro-fallback-nav{gap:10px}.xpro-fallback-nav a{font-size:8px}.xpro-fallback-hero{min-height:620px;padding:100px 20px 120px}.xpro-fallback-gator{width:170px;right:3%;bottom:5%;opacity:.55}.xpro-fallback-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.xpro-fallback-service-grid a{padding:16px 11px}.xpro-fallback-service-grid a strong{font-size:13px}.xpro-fallback-services,.xpro-fallback-contact{padding:75px 17px!important}}
/* Explicit service-row placement so the icon cannot displace titles/descriptions on phones. */
.service-index-row:has(>.xpro-row-icon)>span:first-child{grid-column:1;grid-row:1}
.service-index-row:has(>.xpro-row-icon)>.xpro-row-icon{grid-column:2;grid-row:1}
.service-index-row:has(>.xpro-row-icon)>div{grid-column:3;grid-row:1}
.service-index-row:has(>.xpro-row-icon)>p{grid-column:4;grid-row:1}
.service-index-row:has(>.xpro-row-icon)>i{grid-column:5;grid-row:1}
@media(max-width:760px){
 .service-index-row:has(>.xpro-row-icon)>span:first-child{display:none}
 .service-index-row:has(>.xpro-row-icon)>.xpro-row-icon{grid-column:1;grid-row:1/3}
 .service-index-row:has(>.xpro-row-icon)>div{grid-column:2;grid-row:1}
 .service-index-row:has(>.xpro-row-icon)>p{grid-column:2;grid-row:2;font-size:11px;line-height:1.4}
 .service-index-row:has(>.xpro-row-icon)>i{grid-column:3;grid-row:1/3;justify-self:end;align-self:center}
}
/* Three genuine, separately tappable audio controls on mobile, not a crushed four-column grid. */
@media(max-width:760px){
 .audio-controller.audio-controller-v2.xmas-audio-dock:not(.xmas-audio-open){
  box-sizing:border-box!important;width:164px!important;min-width:164px!important;max-width:164px!important;
  min-height:56px!important;height:56px!important;max-height:56px!important;
  padding:7px!important;grid-template-columns:40px 48px 34px!important;grid-template-rows:40px!important;column-gap:8px!important;display:grid!important;align-items:center!important;justify-content:start!important;
 }
 .audio-controller.xmas-audio-dock:not(.xmas-audio-open) .audio-play{grid-column:1!important;grid-row:1!important;width:40px!important;height:40px!important}
 .audio-controller.xmas-audio-dock:not(.xmas-audio-open) .audio-mute{grid-column:2!important;grid-row:1!important;width:48px!important;height:40px!important;font-size:9px!important;display:grid!important;place-items:center!important}
 .audio-controller.xmas-audio-dock:not(.xmas-audio-open) .xmas-audio-details{grid-column:3!important;grid-row:1!important;width:34px!important;height:40px!important;font-size:20px!important}
 .audio-controller.audio-controller-v2.xmas-audio-open{box-sizing:border-box!important;width:min(320px,calc(100vw - 20px))!important;max-width:min(320px,calc(100vw - 20px))!important;grid-template-columns:40px minmax(0,1fr) 43px 33px!important;grid-template-rows:42px 30px 28px!important;gap:7px!important;height:146px!important;min-height:146px!important;padding:11px!important}
 .audio-controller.xmas-audio-open .audio-mute{width:43px!important;grid-column:3!important}
 .audio-controller.xmas-audio-open .xmas-audio-details{grid-column:4!important;width:33px!important}
 .audio-controller.xmas-audio-open .audio-progress{grid-column:1/5!important;grid-row:2!important}
 .audio-controller.xmas-audio-open .audio-volume{grid-column:1/5!important;grid-row:3!important}
}
