
:root{--blue:#1464f4;--blue-light:#79b7ff;--ink:#0b0d11;--paper:#f5f6f7;--muted:#687180;--dark:#080a0e;--white:#fff;--max:1480px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
.wrap{width:min(90%,var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(10,18,32,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.header-inner{height:78px;width:min(92%,1560px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;font-size:28px;line-height:1;font-weight:900;letter-spacing:-1.6px;white-space:nowrap}
.brand .plugin{color:#10141c}.brand .nex{color:var(--blue)}
.nav{display:flex;align-items:center;gap:clamp(16px,2vw,32px)}
.nav a{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:1.3px;transition:color .2s}
.nav a:hover{color:var(--blue)}
.contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:50px;background:var(--blue);color:white;padding:14px 22px;font-size:11px;font-weight:850;letter-spacing:.5px;transition:transform .2s,background .2s}
.contact-btn:hover{background:#0755df;transform:translateY(-2px)}
.mobile-toggle{display:none;width:42px;height:42px;border:1px solid #d8dee8;background:white;border-radius:50%;font-size:19px}
.hero{position:relative;isolation:isolate;min-height:min(760px,calc(100vh - 78px));background:#080a0e;color:#fff;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 76% 45%,rgba(14,87,255,.22),transparent 34%),linear-gradient(116deg,#06070a 0%,#11151d 54%,#242930 100%)}
.hero:after{content:"";position:absolute;inset:-20% -6% -20% 40%;z-index:-2;pointer-events:none;background:repeating-linear-gradient(128deg,transparent 0 130px,rgba(255,255,255,.027) 131px 132px,transparent 133px 240px);transform:rotate(-7deg)}
.hero-orb{position:absolute;z-index:-1;right:9%;top:8%;width:min(54vw,790px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(29,100,245,.13),transparent 67%);pointer-events:none}
.hero-inner{width:min(90%,var(--max));min-height:clamp(610px,calc(100vh - 78px),820px);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:4%;padding:64px 0 86px}
.hero-copy{position:relative;z-index:3;padding:15px 0}
.eyebrow{display:flex;align-items:center;gap:13px;color:#a9caff;font-size:10px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase;margin-bottom:24px}
.eyebrow:after{content:"";width:35px;height:2px;background:var(--blue-light)}
.hero .hero-title{color:#fff}
.hero h1{font-size:clamp(48px,5.5vw,83px);font-weight:600;line-height:.96;letter-spacing:-.067em;margin:0 0 25px;max-width:730px}
.hero h1 .accent{color:#8994a5}
.hero-description{font-size:15px;line-height:1.85;color:#c5cbd5;max-width:460px;margin:0 0 29px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;direction:ltr;align-items:center}
.hero-actions.order-primary-first .btn:not(.btn-ghost){order:1}
.hero-actions.order-primary-first .btn-ghost{order:2}
.hero-actions.order-secondary-first .btn-ghost{order:1}
.hero-actions.order-secondary-first .btn:not(.btn-ghost){order:2}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;border-radius:50px;padding:15px 21px;background:var(--blue);border:1px solid var(--blue);color:#fff;font-size:11px;font-weight:900;letter-spacing:.3px;transition:transform .22s,background .22s}
.btn:hover{transform:translateY(-2px);background:#0755df}
.btn-ghost{background:transparent;border-color:#69717e;color:#fff}
.btn-ghost:hover{background:#ffffff12;border-color:#fff}
.hero-bottom-note{position:absolute;left:5%;bottom:22px;font-size:9px;font-weight:850;letter-spacing:2px;color:#909aaa;text-transform:uppercase}
.hero-stage{position:relative;min-height:480px;display:flex;align-items:center;justify-content:center;perspective:1400px}
.stage-orbit{position:absolute;width:min(43vw,520px);aspect-ratio:1;border:1px solid #4e8bff67;border-radius:50%;transform:rotate(-22deg);animation:orbit 35s linear infinite}
.stage-orbit:before,.stage-orbit:after{content:"";position:absolute;inset:9%;border:1px solid #ffffff20;border-radius:50%}
.stage-orbit:after{inset:21%;border-color:#4e8bff40}
.orbit-point{position:absolute;width:8px;height:8px;left:16%;top:15%;border-radius:50%;background:#8cc5ff;box-shadow:0 0 20px #579fff}
.carousel-slide{position:absolute;inset:0;margin:auto;width:min(82%,590px);height:min(455px,90%);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateX(70px) rotateY(30deg) rotateZ(4deg) scale(.88);filter:blur(6px);pointer-events:none}
.carousel-slide img{width:100%;height:100%;object-fit:contain;border-radius:7px;filter:drop-shadow(0 24px 38px #0008)}
.carousel-slide.active{visibility:visible;opacity:1;filter:blur(0);transform:translateX(0) rotateY(0) rotateZ(0) scale(1);pointer-events:auto;animation:slideIn .85s cubic-bezier(.2,.7,.2,1) both}
.carousel-slide.throw-out{visibility:visible;animation:throwOut .78s cubic-bezier(.4,.05,.8,.25) both;pointer-events:none}
@keyframes orbit{to{transform:rotate(338deg)}}
@keyframes slideIn{from{opacity:0;transform:translate(-65px,18px) rotateY(-32deg) rotateZ(-7deg) scale(.82);filter:blur(8px)}to{opacity:1;transform:translate(0,0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}}
@keyframes throwOut{0%{opacity:1;transform:translate(0,0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}100%{opacity:0;transform:translate(150px,-45px) rotateY(42deg) rotateZ(19deg) scale(.62);filter:blur(7px)}}
.stage-speed-art{width:82%;height:80%;background:linear-gradient(145deg,#202b3c,#07090e 77%);border:1px solid #ffffff2b;border-radius:16px;box-shadow:0 24px 50px #0008;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(22px,3vw,40px);transform:rotateY(-6deg);position:relative;overflow:hidden}
.stage-speed-art:after{content:"";position:absolute;width:310px;height:310px;right:-130px;bottom:-130px;border:1px solid #6a9cff45;border-radius:50%;box-shadow:0 0 0 35px #ffffff05,0 0 0 70px #ffffff04}
.stage-speed-art .mini-label{font-size:9px;letter-spacing:4px;color:#8fbeff;text-transform:uppercase}
.stage-speed-art strong{display:block;font-size:clamp(36px,4vw,60px);font-weight:900;line-height:.94;letter-spacing:-2.4px;margin:20px 0 12px}
.stage-speed-art small{font-size:8px;letter-spacing:2.5px;color:#a8b3c4;text-transform:uppercase}
.performance-bars{display:flex;align-items:end;gap:6px;height:65px;width:100%;max-width:300px;margin-top:30px;border-bottom:1px solid #ffffff34;padding:0 3px;position:relative;z-index:1}
.performance-bars span{display:block;flex:1;border-radius:3px 3px 0 0;background:linear-gradient(#5ccaff,#1764f2);height:var(--h);box-shadow:0 0 15px #1966ff44}
.slide-name{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:8px 14px;background:#090c13df;border:1px solid #ffffff2c;border-radius:50px;backdrop-filter:blur(10px);font-size:9px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase}
.carousel-ui{position:absolute;bottom:-2px;left:8%;right:8%;display:flex;align-items:center;gap:10px;color:#bbc4d2;font-size:10px;letter-spacing:1.4px;font-weight:850}
.carousel-ui button{width:36px;height:36px;border-radius:50%;color:#fff;background:#ffffff0b;border:1px solid #ffffff66;font-size:15px}
.carousel-ui button:hover{background:#ffffff24}
.progress-line{height:1px;background:#ffffff46;flex:1;overflow:hidden}
.progress-line span{display:block;height:100%;width:0;background:white}
.progress-line.play span{animation:progress 5.5s linear}
@keyframes progress{to{width:100%}}
/* Three Porsche-inspired feature tiles: no stock photos, message and action only */
.pillars{background:#f7f8fa;padding:100px 0 112px}
.pillars-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}
.label{font-size:10px;font-weight:900;letter-spacing:2.1px;text-transform:uppercase;color:var(--blue);margin-bottom:18px}
.pillars h2,.product-heading h2{font-size:clamp(36px,4.8vw,66px);letter-spacing:-.065em;line-height:1.02;font-weight:600;margin:0;max-width:800px}
.pillars-head p{max-width:360px;color:#6b7481;font-size:14px;line-height:1.85;margin:0}
.pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pillar{position:relative;overflow:hidden;min-height:315px;padding:27px;border-radius:18px;background:#fff;border:1px solid #e4e7ed;display:flex;flex-direction:column;align-items:flex-start;transition:transform .3s,background .3s,color .3s,box-shadow .3s}
.pillar:nth-child(2){background:#11151d;color:#fff;border-color:#11151d}
.pillar:nth-child(3){background:#e8eef7;border-color:#e8eef7}
.pillar:hover{transform:translateY(-5px);box-shadow:0 18px 45px #10172715}
.pillar-no{font-size:10px;font-weight:900;letter-spacing:2px;opacity:.55}
.pillar-graphic{position:absolute;right:-16px;top:35px;width:165px;height:165px;border:1px solid #1765f43b;border-radius:50%;box-shadow:0 0 0 20px #1765f408,0 0 0 40px #1765f405;transition:transform .8s}
.pillar:hover .pillar-graphic{transform:rotate(28deg) scale(1.08)}
.pillar-graphic:before,.pillar-graphic:after{content:"";position:absolute;inset:21px;border:1px solid #1765f438;border-radius:50%}
.pillar-graphic:after{inset:48px;background:radial-gradient(circle,#1765f41c,transparent 70%)}
.pillar h3{font-size:clamp(25px,2.5vw,35px);line-height:1.13;letter-spacing:-1.3px;margin:auto 0 18px;max-width:310px;position:relative;z-index:1}
.pillar .tile-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid currentColor;border-radius:40px;padding:11px 14px;font-size:10px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;position:relative;z-index:1}
.pillar .tile-btn span{font-size:17px;line-height:12px}
.pillar:nth-child(1) .tile-btn,.pillar:nth-child(3) .tile-btn{color:#10151e}
.pillar:nth-child(2) .tile-btn{color:#fff}
.pillar:nth-child(1) .tile-btn:hover,.pillar:nth-child(3) .tile-btn:hover{background:#10151e;color:#fff}
.pillar:nth-child(2) .tile-btn:hover{background:#fff;color:#10151e}
/* Scroll-driven section: the background and typography tween from white to black */
.product-section{--fade:0;--pnx-scroll-light-bg:#f7f8fa;--pnx-scroll-dark-bg:#080a0e;background-color:var(--pnx-scroll-light-bg);color:#10141c;padding:100px 0 120px;transition:background-color .08s linear,color .08s linear}
.product-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:42px}
.product-heading .label{color:rgb(20,100,244)}
.product-heading p{max-width:355px;margin:0;color:rgb(104,113,128);font-size:14px;line-height:1.85}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 30px}
.product-card{min-width:0;opacity:0;transform:translateY(36px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
.product-card.in-view{opacity:1;transform:translateY(0)}
.product-visual{height:clamp(295px,31vw,460px);width:100%;border-radius:13px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#eef2f8;position:relative;transition:background .5s}
.product-visual img{width:100%;height:100%;padding:15px;object-fit:contain;object-position:center;transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.product-card:hover .product-visual img{transform:scale(1.035)}
.product-card:hover .product-visual{background:#fff}
.product-text{padding:23px 2px 0;color:var(--product-ink,#11151c);transition:color .35s}
.product-meta{font-size:9px;font-weight:900;letter-spacing:1.9px;text-transform:uppercase;color:var(--product-muted,#7b8491);margin-bottom:12px;transition:color .35s}
.product-title-line{display:flex;gap:15px;align-items:flex-start;justify-content:space-between}
.product-title-line h3{font-size:clamp(27px,3vw,40px);font-weight:600;line-height:1.06;letter-spacing:-1.5px;margin:0 0 13px}
.soon-badge{flex:none;margin-top:4px;border:1px solid #2b78ff;border-radius:40px;color:#2b78ff;padding:7px 9px;font-size:8px;font-weight:900;letter-spacing:1px;white-space:nowrap}
.product-desc{font-size:13px;line-height:1.85;max-width:650px;color:var(--product-muted,#687180);margin:0 0 18px;transition:color .35s}
.product-features{display:flex;gap:7px;flex-wrap:wrap}
.product-features span{font-size:9px;font-weight:750;padding:7px 10px;border:1px solid var(--tag-border,#dce2eb);background:var(--tag-bg,#ffffff);color:var(--tag-ink,#3d4a5c);border-radius:30px;transition:color .35s,background .35s,border-color .35s}
.product-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--product-rule,#dbe0e8);padding-top:17px;margin-top:23px;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;transition:border-color .35s}
.product-link span:last-child{font-size:20px;font-weight:400}
.stage-visual{color:white;background:radial-gradient(ellipse at 50% 42%,#213e70,#080b11 73%)!important;flex-direction:column;gap:12px;padding:35px}
.stage-visual .stage-caption{font-size:10px;letter-spacing:4px;color:#8ebaff;text-transform:uppercase}
.stage-visual strong{font-size:clamp(47px,6vw,80px);line-height:.9;letter-spacing:-3px}
.stage-visual small{font-size:8px;letter-spacing:2px;color:#abb7c8;text-transform:uppercase}
.stage-visual .performance-bars{width:72%;margin-top:20px}
/* Why PluginNex section */
.why{background:#080a0e;color:#fff;padding:112px 0 120px;position:relative;overflow:hidden}
.why:before{content:"";position:absolute;right:-150px;top:-250px;width:680px;height:680px;border-radius:50%;border:1px solid #ffffff18;box-shadow:0 0 0 50px #ffffff03,0 0 0 100px #ffffff03;pointer-events:none}
.why-grid{display:grid;grid-template-columns:1fr .8fr;gap:9%;align-items:center;position:relative;z-index:1}
.why .label{color:#86b6ff}
.why h2{font-size:clamp(44px,6vw,82px);line-height:.98;font-weight:600;letter-spacing:-.07em;margin:0}
.why-copy{font-size:15px;line-height:1.9;color:#b8c0ce;max-width:540px}
.why-copy p{margin:0 0 17px}
.why-line{margin-top:30px;padding-top:18px;border-top:1px solid #ffffff27;color:#8a95a6;font-size:10px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase}
/* Newsletter */
.newsletter{background:#f2f4f7;padding:102px 0}
.newsletter-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:42px;align-items:center}
.pnx-newsletter-copy-area,.pnx-newsletter-form-area{min-width:0}
.pnx-newsletter-copy-area{max-width:100%;width:100%}
.pnx-newsletter-form-area{max-width:100%;width:100%;min-width:0}
.pnx-newsletter-copy-left .pnx-newsletter-copy-area{order:1}
.pnx-newsletter-copy-left .pnx-newsletter-form-area{order:0}
.pnx-newsletter-copy-right .pnx-newsletter-copy-area{order:0}
.pnx-newsletter-copy-right .pnx-newsletter-form-area{order:1}
.pnx-newsletter-smartform{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.pnx-newsletter-smartform>*,.pnx-newsletter-smartform form{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.pnx-newsletter-smartform img{max-width:100%;height:auto}
.pnx-newsletter-smartform input,.pnx-newsletter-smartform select,.pnx-newsletter-smartform textarea,.pnx-newsletter-smartform button{max-width:100%;box-sizing:border-box}
.newsletter h2{font-size:clamp(43px,5.6vw,76px);line-height:.98;letter-spacing:-.07em;font-weight:600;margin:0}
.newsletter-copy{color:#687180;font-size:14px;line-height:1.85;max-width:490px;margin-top:22px}
.newsletter-form{display:flex;gap:10px;margin-top:22px}
.newsletter-form input{min-width:0;flex:1;border:1px solid #d6dce6;border-radius:7px;background:#fff;padding:16px;font-size:12px;outline:0}
.newsletter-form input:focus{border-color:#1765f4;box-shadow:0 0 0 3px #1765f418}
.newsletter-form .contact-btn{border:0;white-space:nowrap;cursor:pointer}
.newsletter-note{font-size:10px;color:#88919e;line-height:1.7;margin-top:12px}
.newsletter-message{display:none;margin-top:12px;color:#224f35;background:#e8f5ed;border:1px solid #c7e8d3;border-radius:7px;padding:12px;font-size:12px}
/* Footer */
.site-footer{background:#080a0e;color:white;padding:62px 0 24px}
.footer-main{display:grid;grid-template-columns:1.35fr .7fr .7fr 1fr;gap:38px;padding-bottom:42px;border-bottom:1px solid #ffffff20}
.footer-brand p{font-size:12px;line-height:1.85;color:#98a1af;max-width:330px;margin:18px 0}
.footer-contact{font-size:12px;color:#dce5f3;border-bottom:1px solid #4c586a;padding-bottom:6px}
.footer-col{display:flex;align-items:flex-start;flex-direction:column;gap:13px}
.footer-col h4{font-size:9px;letter-spacing:1.8px;color:#8590a0;margin:5px 0 7px}
.footer-col a{font-size:12px;color:#d5dbe4}.footer-col a:hover{color:#88b7ff}
.footer-col p{font-size:11px;line-height:1.8;color:#98a1af;margin:0}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;color:#808a99;font-size:10px;flex-wrap:wrap}
.footer-bottom a:hover{color:#fff}
.js-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.js-ready .reveal.visible{opacity:1;transform:none}
@media(max-width:1060px){
 .header-inner{width:92%}.nav{gap:16px}.nav a{font-size:9px;letter-spacing:.8px}
 .hero-inner{width:90%;grid-template-columns:.88fr 1.12fr;gap:2%}.hero h1{font-size:clamp(48px,6vw,70px)}
 .carousel-slide{width:88%;height:410px}.hero-stage{min-height:430px}
 .product-visual{height:330px}.product-grid{gap:54px 22px}
 .footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .header-inner{height:70px}.mobile-toggle{display:grid;place-items:center}
 .nav{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;padding:12px 5% 22px;box-shadow:0 18px 28px #0001;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #e6eaf0}
 .nav.open{display:flex}.nav a{padding:13px 0;border-bottom:1px solid #edf0f4;font-size:11px}.nav .contact-btn{justify-content:center;margin-top:12px;border-bottom:0;padding:14px}
 .hero-inner{width:90%;grid-template-columns:1fr;gap:8px;min-height:0;padding:57px 0 80px}
 .hero-copy{max-width:660px}.hero h1{font-size:clamp(48px,9vw,72px)}
 .hero-stage{min-height:420px}.stage-orbit{width:min(75vw,440px)}.carousel-slide{height:390px;width:min(90%,520px)}
 .pillars{padding:76px 0}.pillars-head,.product-heading{display:block}.pillars-head p,.product-heading p{margin-top:18px}
 .pillar-grid{grid-template-columns:1fr;gap:13px}.pillar{min-height:240px;padding:25px}.pillar h3{font-size:33px}
 .product-section{padding:75px 0 85px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 18px}.product-visual{height:clamp(210px,38vw,310px)}.product-title-line{display:block}.product-title-line h3{font-size:27px}.soon-badge{display:inline-block;margin:0 0 12px}
 .why{padding:80px 0}.why-grid{grid-template-columns:1fr;gap:28px}
 .newsletter{padding:78px 0}.newsletter-grid{grid-template-columns:1fr;gap:25px}
}
@media(max-width:520px){
 .brand{font-size:24px}.hero-inner{padding-top:48px}.hero h1{font-size:48px}.hero-description{font-size:14px}
 .hero-stage{min-height:320px}.carousel-slide{height:300px;width:96%}.carousel-ui{left:2%;right:2%;bottom:0}.hero-bottom-note{font-size:8px}
 .product-grid{grid-template-columns:1fr;gap:43px}.product-visual{height:300px}.product-title-line h3{font-size:29px}.product-desc{font-size:13px}
 .newsletter-form{flex-direction:column}.newsletter-form .contact-btn{width:100%}
 .footer-main{grid-template-columns:1fr;gap:30px}.footer-bottom{display:block;line-height:2.2}.footer-bottom span,.footer-bottom a{display:block}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Booking card image badge and frame */
.booking-visual{position:relative;background:#f5f7fb!important;padding:14px}
.booking-visual img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}
.coming-soon{position:absolute;top:16px;right:16px;z-index:3;background:#1264f5;color:#fff;border-radius:40px;padding:9px 12px;font-size:8px;letter-spacing:1.4px;font-weight:900;box-shadow:0 8px 20px #1264f52b}


/* Premium product display frames: floating surface + soft blue underglow */
.product-card{
  position:relative!important;
  isolation:isolate;
  border-radius:18px!important;
  padding:0 0 2px!important;
  transform:translateY(0) perspective(1100px) rotateX(0deg) rotateY(0deg)!important;
  transition:
    transform .42s cubic-bezier(.2,.75,.25,1),
    filter .42s ease!important;
  filter:drop-shadow(0 18px 20px rgba(7,14,28,.10));
}
.product-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:12%;
  right:12%;
  bottom:-18px;
  height:34px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(20,100,244,.32) 0%,
    rgba(20,100,244,.16) 34%,
    rgba(20,100,244,.06) 58%,
    transparent 76%);
  filter:blur(13px);
  opacity:.66;
  transform:scaleX(.86);
  transition:opacity .42s ease,transform .42s ease,filter .42s ease;
  pointer-events:none;
}
.product-card::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.66);
  border-radius:18px;
  pointer-events:none;
  z-index:4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  opacity:.72;
  transition:opacity .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.product-visual{
  border-radius:18px 18px 0 0!important;
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 8px 24px rgba(10,22,44,.08),inset 0 0 0 1px rgba(255,255,255,.42);
  transition:box-shadow .42s ease,background .42s ease!important;
}
.product-text{
  border:1px solid rgba(219,226,237,.82);
  border-top:0;
  border-radius:0 0 18px 18px;
  background:rgba(255,255,255,.96);
  padding:23px 22px 21px!important;
  box-shadow:0 12px 30px rgba(7,14,28,.045);
  transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,color .35s ease!important;
}
.product-card:hover{
  transform:translateY(-11px) perspective(1100px) rotateX(1.1deg) rotateY(-.7deg)!important;
  filter:drop-shadow(0 23px 23px rgba(7,14,28,.15));
}
.product-card:hover::before{
  opacity:1;
  transform:scaleX(1.04);
  filter:blur(15px);
}
.product-card:hover::after{
  opacity:1;
  border-color:rgba(88,151,255,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 0 0 1px rgba(20,100,244,.05);
}
.product-card:hover .product-visual{
  box-shadow:0 12px 34px rgba(20,100,244,.11),inset 0 0 0 1px rgba(255,255,255,.72);
}
.product-card:hover .product-text{
  border-color:rgba(149,184,245,.72);
  box-shadow:0 18px 42px rgba(7,14,28,.09);
}
.product-card:hover .product-link{
  border-top-color:rgba(20,100,244,.28);
}
.product-card:focus-within{
  outline:2px solid rgba(20,100,244,.65);
  outline-offset:5px;
  border-radius:18px;
}
@media(hover:none){
  .product-card{filter:drop-shadow(0 14px 18px rgba(7,14,28,.11))}
  .product-card::before{opacity:.8}
  .product-card:hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .product-card,.product-card::before,.product-card::after,.product-visual,.product-text{
    transition:none!important
  }
  .product-card:hover{transform:none!important}
}


/* Match the product cards to the scroll-reactive page background; keep the frame white */
.product-section{
  transition:background-color .08s linear,color .08s linear!important;
}
.product-card{
  --card-surface: #f7f8fa;
  --card-copy: #11151c;
  --card-muted: #687180;
  --card-rule: #dbe0e8;
  --card-image-surface: #eef2f8;
  --card-chip-bg: #ffffff;
  --card-chip-ink: #3d4a5c;
  --card-chip-border: #dce2eb;
  border-radius:18px!important;
  background:var(--card-surface)!important;
  outline:1px solid rgba(255,255,255,.98);
  outline-offset:-1px;
  box-shadow:0 0 0 1px rgba(255,255,255,.85),0 18px 32px rgba(7,14,28,.08);
  transition:background-color .08s linear,transform .42s cubic-bezier(.2,.75,.25,1),filter .42s ease,box-shadow .42s ease!important;
}
.product-visual{
  background:var(--card-image-surface)!important;
  border:2px solid #fff!important;
  border-bottom:1px solid rgba(255,255,255,.9)!important;
  border-radius:17px 17px 0 0!important;
  transition:background-color .08s linear,box-shadow .42s ease!important;
}
.product-text{
  background:var(--card-surface)!important;
  color:var(--card-copy)!important;
  border:2px solid rgba(255,255,255,.98)!important;
  border-top:0!important;
  border-radius:0 0 17px 17px!important;
  box-shadow:none!important;
  transition:background-color .08s linear,color .08s linear,border-color .25s ease!important;
}
.product-meta{color:var(--card-muted)!important;transition:color .08s linear!important}
.product-desc{color:var(--card-muted)!important;transition:color .08s linear!important}
.product-link{color:var(--blue)!important;border-top-color:var(--card-rule)!important;transition:border-color .08s linear,color .08s linear!important}
.product-features span{
  background:var(--card-chip-bg)!important;
  color:var(--card-chip-ink)!important;
  border-color:var(--card-chip-border)!important;
  transition:background-color .08s linear,color .08s linear,border-color .08s linear!important;
}
.product-card::after{
  border:2px solid rgba(255,255,255,.98)!important;
  border-radius:18px!important;
  opacity:1!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.product-card:hover{
  box-shadow:0 0 0 2px rgba(255,255,255,.98),0 28px 54px rgba(0,0,0,.22),0 10px 42px rgba(20,100,244,.14)!important;
}
.product-card:hover .product-text{
  border-color:#fff!important;
}
.product-card:hover .product-visual{
  border-color:#fff!important;
}


/* Carousel controls are reserved below the artwork, never over the product image */
.hero-stage{
  min-height:540px!important;
  padding-bottom:62px!important;
}
.carousel-slide{
  inset:0 0 auto 0!important;
  height:calc(100% - 92px)!important;
  max-height:420px!important;
  margin:0 auto!important;
}
.carousel-slide.active{
  animation:carouselSpinIn .88s cubic-bezier(.18,.72,.18,1) both!important;
}
.carousel-slide.throw-out{
  animation:carouselSpinOut .82s cubic-bezier(.45,.02,.82,.24) both!important;
  z-index:5;
}
.carousel-ui{
  position:absolute!important;
  left:7%!important;
  right:7%!important;
  bottom:0!important;
  z-index:12!important;
  display:grid!important;
  grid-template-columns:auto minmax(40px,1fr) 40px 40px!important;
  align-items:center!important;
  gap:11px!important;
  min-height:42px;
  padding:3px 0!important;
}
.carousel-ui button{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.64)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
  font-size:17px!important;
  line-height:1!important;
  transition:background .2s ease,transform .2s ease,border-color .2s ease!important;
}
.carousel-ui button:hover{
  background:rgba(255,255,255,.2)!important;
  border-color:#fff!important;
  transform:translateY(-2px)!important;
}
.carousel-ui button:focus-visible{
  outline:2px solid #8dbbff!important;
  outline-offset:3px!important;
}
.progress-line{width:100%!important;min-width:40px!important}
@keyframes carouselSpinOut{
  0%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
  35%{opacity:.95;transform:translate3d(28px,-16px,0) rotateX(12deg) rotateY(30deg) rotateZ(24deg) scale(.92);filter:blur(1px)}
  100%{opacity:0;transform:translate3d(190px,-105px,0) rotateX(28deg) rotateY(78deg) rotateZ(155deg) scale(.48);filter:blur(8px)}
}
@keyframes carouselSpinIn{
  0%{opacity:0;transform:translate3d(-95px,28px,0) rotateX(-18deg) rotateY(-65deg) rotateZ(-125deg) scale(.68);filter:blur(9px)}
  65%{opacity:1;transform:translate3d(8px,-2px,0) rotateX(2deg) rotateY(5deg) rotateZ(8deg) scale(1.015);filter:blur(0)}
  100%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
}
@media(max-width:760px){
  .hero-stage{min-height:465px!important;padding-bottom:60px!important}
  .carousel-slide{height:calc(100% - 80px)!important;max-height:360px!important}
  .carousel-ui{left:3%!important;right:3%!important;grid-template-columns:auto minmax(26px,1fr) 36px 36px!important;gap:7px!important}
  .carousel-ui button{width:34px!important;height:34px!important}
}
@media(max-width:520px){
  .hero-stage{min-height:360px!important;padding-bottom:54px!important}
  .carousel-slide{height:calc(100% - 68px)!important;max-height:270px!important}
  .carousel-ui{left:0!important;right:0!important;grid-template-columns:auto minmax(20px,1fr) 34px 34px!important;gap:6px!important}
  .carousel-ui button{width:32px!important;height:32px!important}
}
@media(prefers-reduced-motion:reduce){
  .carousel-slide.active,.carousel-slide.throw-out{animation:none!important}
}


/* Custom Elementor widget alignment and editable image frames */
.elementor-widget-pnx_header,.elementor-widget-pnx_hero,.elementor-widget-pnx_features,
.elementor-widget-pnx_products,.elementor-widget-pnx_why,.elementor-widget-pnx_newsletter,
.elementor-widget-pnx_footer{margin:0!important}
.elementor-widget-pnx_header .elementor-widget-container,
.elementor-widget-pnx_hero .elementor-widget-container,
.elementor-widget-pnx_features .elementor-widget-container,
.elementor-widget-pnx_products .elementor-widget-container,
.elementor-widget-pnx_why .elementor-widget-container,
.elementor-widget-pnx_newsletter .elementor-widget-container,
.elementor-widget-pnx_footer .elementor-widget-container{margin:0!important;padding:0!important}
.elementor-page .site-header{width:100%}
.elementor-page .hero,.elementor-page .pillars,.elementor-page .product-section,
.elementor-page .why,.elementor-page .newsletter,.elementor-page .site-footer{width:100%}
.product-section{transition:background-color .08s linear,color .08s linear!important}
.product-card{background:var(--card-surface,#f7f8fa)!important;outline:1px solid #fff;outline-offset:-1px;border-radius:18px!important;position:relative;isolation:isolate;filter:drop-shadow(0 18px 20px rgba(7,14,28,.10));transition:transform .42s cubic-bezier(.2,.75,.25,1),filter .42s ease!important}
.product-card:before{content:"";position:absolute;z-index:-1;left:12%;right:12%;bottom:-18px;height:34px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(20,100,244,.32),rgba(20,100,244,.06) 58%,transparent 76%);filter:blur(13px);opacity:.66;transition:opacity .42s ease,transform .42s ease;pointer-events:none}
.product-card:after{content:"";position:absolute;inset:0;border:2px solid rgba(255,255,255,.98);border-radius:18px;pointer-events:none;z-index:4;opacity:1}
.product-card:hover{transform:translateY(-11px) perspective(1100px) rotateX(1.1deg) rotateY(-.7deg)!important;filter:drop-shadow(0 23px 23px rgba(7,14,28,.15))}
.product-card:hover:before{opacity:1;transform:scaleX(1.04)}
.product-visual{border:2px solid #fff!important;border-radius:17px 17px 0 0!important;overflow:hidden}
.product-text{background:var(--card-surface,#f7f8fa)!important;color:var(--card-copy,#11151c)!important;border:2px solid #fff!important;border-top:0!important;border-radius:0 0 17px 17px!important;box-shadow:none!important;padding:23px 22px 21px!important}
.product-meta,.product-desc{color:var(--card-muted,#687180)!important}
.product-features span{background:var(--card-chip-bg,#fff)!important;color:var(--card-chip-ink,#3d4a5c)!important;border-color:var(--card-chip-border,#dce2eb)!important}
.product-link{border-top-color:var(--card-rule,#dbe0e8)!important}
.booking-visual{position:relative}
.booking-visual .coming-soon{position:absolute;top:16px;right:16px;z-index:5;background:#1264f5;color:#fff;border-radius:40px;padding:9px 12px;font-size:8px;letter-spacing:1.4px;font-weight:900;box-shadow:0 8px 20px #1264f52b}
@media(max-width:760px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:540px){.product-grid{grid-template-columns:1fr!important}}


/* PluginNex Premium Homepage 1.2.9 — editable, non-circular carousel navigation. */
.elementor-widget-pnx_hero .carousel-ui {
  position:absolute!important;
  left:7%!important;
  right:7%!important;
  bottom:0!important;
  z-index:12!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:42px!important;
  padding:3px 0!important;
  direction:rtl!important;
  grid-template-columns:none!important;
}
.elementor-widget-pnx_hero .carousel-ui.nav-position-right { direction:ltr!important; }
.elementor-widget-pnx_hero .carousel-ui .carousel-status {
  display:flex!important;
  flex:1 1 auto!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  direction:rtl!important;
}
.elementor-widget-pnx_hero .carousel-ui .slide-count { flex:0 0 auto!important; white-space:nowrap!important; }
.elementor-widget-pnx_hero .carousel-ui .progress-line { flex:1 1 auto!important; min-width:24px!important; width:auto!important; margin:0!important; }
.elementor-widget-pnx_hero .carousel-ui .carousel-arrows {
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  direction:ltr!important;
  position:relative!important;
}
.elementor-widget-pnx_hero .carousel-ui .carousel-arrow {
  box-sizing:border-box!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  border:1px solid #566171!important;
  border-radius:8px!important;
  background:#111723!important;
  color:#ffffff!important;
  box-shadow:0 4px 12px rgba(0,0,0,.16)!important;
  font-size:15px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}
.elementor-widget-pnx_hero .carousel-ui .carousel-arrow:hover {
  transform:translateY(-2px)!important;
  background:#1765f4!important;
  border-color:#1765f4!important;
  color:#ffffff!important;
}
.elementor-widget-pnx_hero .carousel-ui .carousel-arrow:focus-visible { outline:2px solid #8dbbff!important; outline-offset:3px!important; }
.elementor-widget-pnx_hero .carousel-ui .carousel-arrow-icon { display:inline-grid!important; place-items:center!important; font-size:15px; line-height:1!important; color:inherit!important; }
.elementor-widget-pnx_hero .carousel-ui .carousel-arrow-icon i { color:inherit!important; font-size:inherit!important; line-height:1!important; }
.elementor-widget-pnx_hero .carousel-ui .carousel-arrow-icon svg { display:block!important; width:15px!important; height:15px!important; fill:currentColor!important; color:inherit!important; }
.elementor-widget-pnx_hero .carousel-ui.no-status.nav-position-left { justify-content:flex-end!important; }
.elementor-widget-pnx_hero .carousel-ui.no-status.nav-position-right { justify-content:flex-end!important; }
@media(max-width:760px){
  .elementor-widget-pnx_hero .carousel-ui {left:3%!important;right:3%!important;gap:8px!important;min-height:40px!important;}
  .elementor-widget-pnx_hero .carousel-ui .carousel-status {gap:7px!important;}
  .elementor-widget-pnx_hero .carousel-ui .carousel-arrows {gap:6px!important;}
}
@media(max-width:520px){
  .elementor-widget-pnx_hero .carousel-ui {left:0!important;right:0!important;gap:6px!important;}
  .elementor-widget-pnx_hero .carousel-ui .carousel-arrow {width:34px!important;height:34px!important;border-radius:7px!important;}
}


/* v1.3.0: cart moved into the PluginNex header and theme header duplicate removed. */
body.pnx-custom-header-page #masthead,
body.pnx-custom-header-page .ast-mobile-header-wrap,
body.pnx-custom-header-page .ast-desktop-header-content,
body.pnx-custom-header-page .main-header-bar,
body.pnx-custom-header-page .ast-primary-header-bar,
body.pnx-custom-header-page .site-main > article > .entry-header,
body.pnx-custom-header-page article > .entry-header,
body.pnx-custom-header-page .entry-header { display:none!important; }
body.pnx-custom-header-page .site-content,
body.pnx-custom-header-page .site-main { margin-top:0!important; padding-top:0!important; }
.pnx-custom-site-header .header-inner { gap:18px; }
.pnx-custom-site-header .nav .pnx-header-cart,
.pnx-custom-site-header .pnx-header-cart { position:relative; display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; padding:0; border:1px solid #dce2eb; border-radius:12px; background:#f4f6fa; color:#10151e; text-decoration:none; letter-spacing:0; text-transform:none; line-height:1; box-sizing:border-box; }
.pnx-custom-site-header .pnx-header-cart:hover { transform:translateY(-1px); color:#10151e; border-color:#1765f4; }
.pnx-custom-site-header .pnx-header-cart svg { display:block; width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.pnx-custom-site-header .pnx-header-cart .pnx-cart-count { position:absolute; top:-6px; right:-6px; display:flex; min-width:18px; height:18px; align-items:center; justify-content:center; padding:0 4px; border-radius:50px; background:#1765f4; color:#fff; font-size:10px; font-weight:800; letter-spacing:0; line-height:1; border:2px solid #fff; }
@media(max-width:760px){ .pnx-custom-site-header .header-inner{gap:10px}.pnx-custom-site-header .nav .pnx-header-cart{align-self:center;} }

/* Responsive native-Elementor container controls: prevent overflow when sizes are customized. */
.elementor-widget-pnx_header .header-inner,
.elementor-widget-pnx_hero .hero-inner,
.elementor-widget-pnx_features .pillars > .wrap,
.elementor-widget-pnx_products .product-section > .wrap,
.elementor-widget-pnx_why .why > .wrap,
.elementor-widget-pnx_newsletter .newsletter .wrap,
.elementor-widget-pnx_footer .site-footer > .wrap{box-sizing:border-box;min-width:0;}
.elementor-widget-pnx_hero .hero-inner,.elementor-widget-pnx_features .pillars > .wrap,
.elementor-widget-pnx_products .product-section > .wrap,.elementor-widget-pnx_why .why > .wrap,
.elementor-widget-pnx_newsletter .newsletter .wrap,.elementor-widget-pnx_footer .site-footer > .wrap{margin-inline:auto;}
.elementor-widget-pnx_features .pillar-grid,.elementor-widget-pnx_products .product-grid,
.elementor-widget-pnx_why .why-grid,.elementor-widget-pnx_newsletter .newsletter-grid,
.elementor-widget-pnx_footer .footer-main{min-width:0;}
.elementor-widget-pnx_features .pillar,.elementor-widget-pnx_products .product-card,
.elementor-widget-pnx_newsletter .pnx-newsletter-form-area,.elementor-widget-pnx_newsletter .pnx-newsletter-copy-area{min-width:0;}
.elementor-widget-pnx_newsletter .pnx-newsletter-smartform,
.elementor-widget-pnx_newsletter .pnx-newsletter-smartform form{width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
.elementor-widget-pnx_newsletter .pnx-newsletter-smartform input,
.elementor-widget-pnx_newsletter .pnx-newsletter-smartform textarea,
.elementor-widget-pnx_newsletter .pnx-newsletter-smartform select,
.elementor-widget-pnx_newsletter .pnx-newsletter-smartform button{max-width:100%;box-sizing:border-box;}
@media(max-width:767px){
 .elementor-widget-pnx_hero .hero-stage{width:100%;}
 .elementor-widget-pnx_features .pillar-grid,.elementor-widget-pnx_products .product-grid,
 .elementor-widget-pnx_why .why-grid,.elementor-widget-pnx_newsletter .newsletter-grid,
 .elementor-widget-pnx_footer .footer-main{min-width:0;}
 .elementor-widget-pnx_newsletter .newsletter-grid{grid-template-columns:minmax(0,1fr);}
}


/* v1.3.3: preserve the WordPress toolbar for logged-in editors on the PluginNex canvas page. */
body.pnx-custom-header-page.admin-bar #wpadminbar {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:999999 !important;
}
body.pnx-custom-header-page.admin-bar .pnx-custom-site-header { top:32px !important; }
@media screen and (max-width:782px) {
  body.pnx-custom-header-page.admin-bar #wpadminbar { display:block !important; visibility:visible !important; opacity:1 !important; z-index:999999 !important; }
  body.pnx-custom-header-page.admin-bar .pnx-custom-site-header { top:46px !important; }
}


/* v1.3.4: mobile fail-open. Elementor's content should stay visible even when JS/animations fail. */
@media (max-width: 767px) {
  .reveal,
  .js-ready .reveal,
  .js-ready .reveal.visible,
  .product-card,
  .elementor-widget-pnx_header .reveal,
  .elementor-widget-pnx_hero .reveal,
  .elementor-widget-pnx_features .reveal,
  .elementor-widget-pnx_products .reveal,
  .elementor-widget-pnx_why .reveal,
  .elementor-widget-pnx_newsletter .reveal,
  .elementor-widget-pnx_footer .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }
  .elementor-widget-pnx_header,
  .elementor-widget-pnx_hero,
  .elementor-widget-pnx_features,
  .elementor-widget-pnx_products,
  .elementor-widget-pnx_why,
  .elementor-widget-pnx_newsletter,
  .elementor-widget-pnx_footer,
  .elementor-widget-pnx_header .elementor-widget-container,
  .elementor-widget-pnx_hero .elementor-widget-container,
  .elementor-widget-pnx_features .elementor-widget-container,
  .elementor-widget-pnx_products .elementor-widget-container,
  .elementor-widget-pnx_why .elementor-widget-container,
  .elementor-widget-pnx_newsletter .elementor-widget-container,
  .elementor-widget-pnx_footer .elementor-widget-container {
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  .elementor-widget-pnx_hero .hero {
    display: block !important; visibility: visible !important; opacity: 1 !important;
    height: auto !important; min-height: 0 !important; overflow: hidden;
  }
  .elementor-widget-pnx_hero .hero-inner {
    display: grid !important; grid-template-columns: minmax(0,1fr) !important;
    width: min(92%,720px) !important; min-width: 0 !important;
    min-height: 0 !important; height: auto !important; gap: 16px !important;
    padding: 38px 0 72px !important; margin-inline: auto !important;
  }
  .elementor-widget-pnx_hero .hero-copy,
  .elementor-widget-pnx_hero .hero-stage { min-width:0!important; max-width:100%!important; }
  .elementor-widget-pnx_hero .hero h1 { overflow-wrap:anywhere; font-size:clamp(38px,10vw,54px)!important; line-height:1.02!important; }
  .elementor-widget-pnx_hero .hero-description { max-width:100%!important; }
  .elementor-widget-pnx_hero .hero-stage {
    display:flex!important; width:100%!important; min-height:340px!important; height:auto!important;
    padding-bottom:54px!important;
  }
  .elementor-widget-pnx_hero .carousel-slide.active {
    display:flex!important; opacity:1!important; visibility:visible!important;
    transform:none!important; filter:none!important; pointer-events:auto!important;
  }
  .elementor-widget-pnx_hero .carousel-slide:not(.active) { display:none!important; }
  .elementor-widget-pnx_hero .carousel-slide img { max-width:100%; height:auto; object-fit:contain; }
  .elementor-widget-pnx_features .pillars,
  .elementor-widget-pnx_products .product-section,
  .elementor-widget-pnx_why .why,
  .elementor-widget-pnx_newsletter .newsletter,
  .elementor-widget-pnx_footer .site-footer {
    display:block!important; visibility:visible!important; opacity:1!important; height:auto!important; min-height:0!important;
  }
  .elementor-widget-pnx_features .pillars > .wrap,
  .elementor-widget-pnx_products .product-section > .wrap,
  .elementor-widget-pnx_why .why > .wrap,
  .elementor-widget-pnx_newsletter .newsletter .wrap,
  .elementor-widget-pnx_footer .site-footer > .wrap {
    width:min(92%,720px)!important; max-width:100%!important; margin-inline:auto!important;
  }
  .elementor-widget-pnx_features .pillar-grid,
  .elementor-widget-pnx_products .product-grid,
  .elementor-widget-pnx_why .why-grid,
  .elementor-widget-pnx_newsletter .newsletter-grid,
  .elementor-widget-pnx_footer .footer-main {
    grid-template-columns:minmax(0,1fr)!important; width:100%!important; min-width:0!important;
  }
  .elementor-widget-pnx_products .product-card { width:100%!important; min-width:0!important; }
  .elementor-widget-pnx_products .product-visual { height:clamp(220px,72vw,360px)!important; }
  .elementor-widget-pnx_newsletter .pnx-newsletter-smartform,
  .elementor-widget-pnx_newsletter .pnx-newsletter-smartform form { width:100%!important; max-width:100%!important; min-width:0!important; }
  .pnx-custom-site-header .header-inner {
    display:flex!important; flex-wrap:wrap!important; width:92%!important; min-width:0!important;
    height:auto!important; min-height:66px!important; gap:10px!important; padding:10px 0!important;
  }
  /* Keep mobile navigation collapsed by default. The toggle opens it; never expose
     the entire menu merely because a deferred script has not initialized yet. */
  .pnx-custom-site-header .mobile-toggle { display:grid!important; place-items:center!important; flex:0 0 42px!important; }
  .pnx-custom-site-header .nav { display:none!important; position:absolute!important; left:0!important; right:0!important; top:100%!important; z-index:10000!important; }
  .pnx-custom-site-header .nav.open { display:flex!important; }
  .pnx-custom-site-header .header-inner { position:relative!important; }
  .pnx-custom-site-header .nav .contact-btn { display:flex!important; }
}


/* v1.3.5 — Mobile visibility hardening for Elementor wrappers.
   Some Elementor responsive/entrance-animation classes can hide every section when
   the frontend JS is deferred or an animation hook fails. Restore PluginNex content
   at phone widths and keep each section's natural layout type. */
@media screen and (max-width: 767px) {
  html, body.pnx-custom-header-page { width:100% !important; min-width:0 !important; max-width:100% !important; overflow-x:hidden !important; }
  body.pnx-custom-header-page #page,
  body.pnx-custom-header-page #content,
  body.pnx-custom-header-page .site-content,
  body.pnx-custom-header-page .site-main,
  body.pnx-custom-header-page article,
  body.pnx-custom-header-page .elementor,
  body.pnx-custom-header-page .elementor-section-wrap,
  body.pnx-custom-header-page .elementor-element,
  body.pnx-custom-header-page .elementor-widget-container {
    max-width:100% !important; min-width:0 !important; box-sizing:border-box !important;
  }
  body.pnx-custom-header-page .elementor-hidden-mobile,
  body.pnx-custom-header-page .elementor-invisible {
    visibility:visible !important; opacity:1 !important; filter:none !important; transform:none !important; animation:none !important;
  }
  body.pnx-custom-header-page .elementor-hidden-mobile.elementor-widget { display:block !important; }
  body.pnx-custom-header-page .elementor-hidden-mobile.e-con { display:flex !important; }
  body.pnx-custom-header-page .elementor-hidden-mobile.elementor-section { display:block !important; }
  body.pnx-custom-header-page .elementor-hidden-mobile.elementor-column { display:flex !important; }
  body.pnx-custom-header-page .elementor-hidden-mobile.elementor-widget-container { display:block !important; }
  body.pnx-custom-header-page .elementor-widget-pnx_header,
  body.pnx-custom-header-page .elementor-widget-pnx_hero,
  body.pnx-custom-header-page .elementor-widget-pnx_features,
  body.pnx-custom-header-page .elementor-widget-pnx_products,
  body.pnx-custom-header-page .elementor-widget-pnx_why,
  body.pnx-custom-header-page .elementor-widget-pnx_newsletter,
  body.pnx-custom-header-page .elementor-widget-pnx_footer {
    display:block !important; visibility:visible !important; opacity:1 !important; transform:none !important; filter:none !important;
  }
  body.pnx-custom-header-page .elementor-widget-pnx_hero .carousel-slide.active {
    display:flex !important; visibility:visible !important; opacity:1 !important;
  }
}

/* v1.3.7 — visible mobile menu control */
@media(max-width:760px){
 .pnx-custom-site-header .mobile-toggle{
   color:#111827!important;
   font-family:Arial,sans-serif!important;
   font-size:25px!important;
   line-height:1!important;
   text-align:center!important;
   text-indent:0!important;
   opacity:1!important;
   visibility:visible!important;
   background:#fff!important;
   border:1px solid #d8dee8!important;
 }
}


/* v1.3.8 — stable mobile rendering, menu control, and product artwork */
@media screen and (max-width: 767px) {
  body.pnx-custom-header-page .pnx-custom-site-header { position:relative!important; z-index:99999!important; }
  body.pnx-custom-header-page .pnx-custom-site-header .header-inner { display:flex!important; flex-direction:row!important; flex-wrap:nowrap!important; align-items:center!important; justify-content:space-between!important; }
  body.pnx-custom-header-page .pnx-custom-site-header .mobile-toggle {
    display:flex!important; align-items:center!important; justify-content:center!important; width:42px!important; height:42px!important; min-width:42px!important;
    padding:0!important; font-size:0!important; line-height:1!important; color:#111827!important; background:#fff!important; border:1px solid #d8dee8!important;
    border-radius:50%!important; position:relative!important; z-index:100002!important; visibility:visible!important; opacity:1!important;
    -webkit-appearance:none!important; appearance:none!important; touch-action:manipulation!important;
  }
  body.pnx-custom-header-page .pnx-custom-site-header .mobile-toggle:before { content:'☰'; font:26px/1 Arial,sans-serif!important; color:#111827!important; }
  body.pnx-custom-header-page .pnx-custom-site-header .mobile-toggle[aria-expanded='true']:before { content:'×'; font-size:32px!important; }
  body.pnx-custom-header-page .pnx-custom-site-header .nav { top:100%!important; max-height:calc(100dvh - 100px)!important; overflow-y:auto!important; overscroll-behavior:contain!important; background:#fff!important; }
  body.pnx-custom-header-page .pnx-custom-site-header .nav:not(.open) { display:none!important; }
  body.pnx-custom-header-page .elementor-widget-pnx_hero .hero-stage { position:relative!important; display:block!important; width:100%!important; min-height:clamp(280px,82vw,420px)!important; height:auto!important; overflow:visible!important; }
  body.pnx-custom-header-page .elementor-widget-pnx_hero .carousel-slide { position:absolute!important; inset:0!important; width:100%!important; height:calc(100% - 56px)!important; max-height:none!important; min-height:0!important; display:none!important; }
  body.pnx-custom-header-page .elementor-widget-pnx_hero .carousel-slide.active { display:flex!important; visibility:visible!important; opacity:1!important; z-index:2!important; }
  body.pnx-custom-header-page .elementor-widget-pnx_hero .carousel-slide img { display:block!important; width:100%!important; height:100%!important; max-width:100%!important; max-height:100%!important; object-fit:contain!important; visibility:visible!important; opacity:1!important; }
  body.pnx-custom-header-page .elementor-widget-pnx_products .product-visual { display:flex!important; align-items:center!important; justify-content:center!important; overflow:hidden!important; }
  body.pnx-custom-header-page .elementor-widget-pnx_products .product-visual img { display:block!important; width:100%!important; height:100%!important; max-width:100%!important; object-fit:contain!important; visibility:visible!important; opacity:1!important; }
}


/* v1.4.0 — harden mobile hero CTA layout and bust cached stylesheet. */
@media screen and (max-width: 767px) {
  .elementor-widget-pnx_hero .hero-actions,
  body.pnx-custom-header-page .elementor-widget-pnx_hero .hero-actions {
    display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    flex-wrap:nowrap!important; align-items:stretch!important; gap:8px!important;
    width:100%!important; max-width:100%!important;
  }
  .elementor-widget-pnx_hero .hero-actions > .btn,
  body.pnx-custom-header-page .elementor-widget-pnx_hero .hero-actions > .btn {
    display:flex!important; width:100%!important; min-width:0!important; max-width:100%!important;
    min-height:52px!important; box-sizing:border-box!important; padding:10px 5px!important;
    margin:0!important; gap:4px!important; align-items:center!important; justify-content:center!important;
    white-space:normal!important; overflow-wrap:anywhere!important;
    font-size:clamp(9px,2.8vw,11px)!important; line-height:1.2!important;
    letter-spacing:0!important; text-align:center!important;
  }
  .elementor-widget-pnx_hero .hero-actions > .btn span,
  body.pnx-custom-header-page .elementor-widget-pnx_hero .hero-actions > .btn span { flex:0 0 auto!important; margin:0!important; }
}
