/* PTG modern storefront */
:root{--night:#04101d;--cyan:#18d8ff;--ink:#101e35}body{background:#fbfcfe}.ambient,.top{display:none}.wrap{max-width:1440px}header{background:rgba(4,16,29,.97);border-bottom:1px solid #2c546544;color:#fff}.head{min-height:86px;grid-template-columns:280px 1fr auto}.brand{color:#f2f8ff}.brandMark{background:none;border:0;clip-path:none;color:var(--cyan);font-size:45px;font-style:italic}.brand small{color:#88a2b7}.search input{background:#ffffff08;border-color:#61869b77;border-radius:30px;color:#fff;height:46px}.search input::placeholder{color:#9cb0c1}.search input:focus{background:#ffffff0b}.search button{background:none;color:#91eaff;border-radius:50%}.quote{border:1px solid var(--cyan);border-radius:30px;background:#092334;box-shadow:0 0 18px #00d9ff15}.quote b{border-radius:50%;width:27px;height:27px}nav{background:transparent;border-top:1px solid #53738b33}nav .wrap{min-height:45px;justify-content:space-between}.navBtn{font-weight:500;font-size:12px;padding:11px 12px}.navBtn:hover{background:#ffffff09}.modernHero{background:radial-gradient(ellipse at 25% 50%,#09273e 0,#04101d 65%);min-height:0;isolation:isolate}.heroGridFx{display:none}.modernHero .heroGrid{min-height:555px;grid-template-columns:1fr 1.12fr;gap:12px}.modernHero .heroCopy{padding:45px 0 24px;z-index:5}.modernHero h1{font-size:clamp(46px,4.65vw,70px);line-height:1.17;letter-spacing:-1.6px;margin:20px 0}.modernHero h1 em,.buildBanner em{font-style:normal;color:var(--cyan)}.modernHero p{font-size:17px;line-height:1.8;color:#a4becf}.modernHero .heroActions{margin-top:25px;align-items:center}.ghost{display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;border-color:#70bbd4;background:#ffffff03;color:#e6f6ff}.cta{border-radius:10px;box-shadow:0 0 28px #04c8ff26}.modernHero .heroVisual{height:530px;perspective:none;overflow:visible;direction:ltr}.heroSlide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;z-index:2;pointer-events:none;display:flex;align-items:center;justify-content:center}.heroSlide.is-active{opacity:1}.heroSlide img{width:100%;height:100%;object-fit:cover;object-position:left center;mask-image:linear-gradient(90deg,#000 70%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect}.heroSlide img.pcCutout{object-fit:contain;width:85%;height:90%;mask-image:none;filter:drop-shadow(0 20px 30px #0008)}.stageGlow{position:absolute;width:60%;height:65%;background:#0095ff26;filter:blur(55px);border-radius:50%}.stageOrbit{position:absolute;width:90%;height:70%;border:1px solid #1fdcff60;border-radius:50%;transform:rotate(-14deg);box-shadow:0 0 18px #10d4ff0b}.orbitBadge{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:106px;min-height:110px;padding:16px 9px;background:linear-gradient(145deg,#2f709055,#082335b3);border:1px solid #72dfffbb;border-radius:12px;box-shadow:0 0 22px #00c9ff20,inset 0 0 12px #5bdcff13;color:#eefbff;backdrop-filter:blur(8px);will-change:transform;pointer-events:none;text-align:center;z-index:3}.orbitBadge svg{width:32px;height:32px;fill:none;stroke:#60eaff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.orbitBadge span{font:600 10px/1.4 Arial,sans-serif;letter-spacing:1px}.slideCaption{direction:ltr;text-align:right;color:#7399b4;font-size:10px;letter-spacing:1.7px;margin-top:30px}.slideControls{display:flex;align-items:center;gap:10px;margin-top:13px}.slideControls>button{border:1px solid #3c7187;background:#ffffff06;color:#a6e9fc;border-radius:50%;width:30px;height:30px;font-size:14px}.slideControls>button:hover{border-color:#18d8ff}.slideControls #heroDots{display:flex;gap:8px;align-items:center;direction:ltr}.heroDot{width:7px;height:7px;padding:0;border:0;border-radius:10px;background:#557081;transition:.3s}.heroDot[aria-pressed=true]{width:26px;background:var(--cyan)}.heroBenefits{display:grid;grid-template-columns:repeat(3,1fr);padding-top:22px;padding-bottom:28px;border-top:1px solid #53748e33;position:relative;z-index:5}.heroBenefits>div{display:flex;align-items:center;justify-content:center;gap:18px;border-left:1px solid #46698544}.heroBenefits>div:last-child{border-left:0}.heroBenefits span{font-size:35px;color:var(--cyan)}.heroBenefits b{font-size:15px}.heroBenefits small{display:block;color:#83a2b9;font-size:12px;font-weight:400;margin-top:3px}.categoryShowcase{padding-top:48px;padding-bottom:48px}.sectionHeading{text-align:center}.sectionHeading>span{font-size:9px;letter-spacing:2px;color:#86a0b3}.sectionHeading h2{font-size:34px;margin:7px 0;color:#102239;letter-spacing:-.7px}.sectionHeading h2:after{content:'';display:block;width:34px;height:2px;background:var(--cyan);margin:13px auto}.sectionHeading p{color:#8698ab;font-size:14px;margin:0 0 25px}.homeCategories{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.homeCategory{border:1px solid #e3ecf3;border-radius:15px;background:#fff;padding:19px 10px 16px;display:flex;flex-direction:column;align-items:center;gap:14px;color:#152640;box-shadow:0 9px 30px #213f6003;transition:transform .2s,border-color .2s}.homeCategory:hover{transform:translateY(-5px);border-color:#35c9ed}.homeCategory img{width:100%;height:118px;object-fit:contain;mix-blend-mode:multiply}.homeCategory .categoryPlaceholder{height:118px;display:grid;place-items:center;font-size:46px;color:#27b9dc}.homeCategory b{font-size:14px}.catalog{padding-top:12px;padding-bottom:50px}.catalogHead h2{font-size:33px}.filters{background:#fbfcfe;top:132px;gap:10px;padding:18px 0}.filters select,.filters button{border-radius:10px}.products{grid-template-columns:repeat(4,1fr);gap:18px}.card{padding:18px;border-radius:16px;min-height:435px;border-color:#e1eaf2}.pic{background:#fff;height:220px}.pic img{max-height:205px;mix-blend-mode:multiply}.name{font-weight:700;font-size:15px;min-height:45px}.sku{order:2;margin-top:7px}.path{font-size:10px;margin-bottom:9px}.meta{margin-top:auto}.actions{order:3;margin-top:12px}.add{background:#e8faff!important;color:#0099bc!important;border-color:#97def1!important;height:41px!important}.add:hover{background:#c9f4ff!important}.add.added{background:#0ab9d7!important;color:white!important}.buildBanner{position:relative;overflow:hidden;background:#051422 url('../images/ptg-custom-build.webp') left center/auto 155% no-repeat;border-radius:20px;min-height:260px;display:flex;align-items:center;margin-top:15px;margin-bottom:55px;color:white}.buildBanner>div{position:relative;width:57%;padding:30px 8px;margin-left:auto;background:linear-gradient(90deg,transparent,#051422 30%)}.buildBanner h2{font-size:35px;line-height:1.25;margin:12px 0}.buildBanner p{color:#a9c0d1;font-size:14px}.buildBanner .eyebrow{font-size:9px}button:focus-visible,a:focus-visible{outline:2px solid #20c9f0;outline-offset:4px}#ptgPager button{border:1px solid #d3e6ed;background:white;border-radius:8px;padding:8px 18px}#ptgPager button:disabled{opacity:.4;cursor:default}
@media(max-width:1100px){.head{grid-template-columns:250px 1fr auto;gap:16px}.navBtn{font-size:11px;padding:10px 8px}.modernHero h1{font-size:54px}.orbitBadge{width:88px;min-height:94px;padding:12px 6px}.homeCategories{gap:8px}.homeCategory img{height:95px}.homeCategory b{font-size:12px}}
@media(max-width:980px){.head{grid-template-columns:1fr auto;padding-top:14px;padding-bottom:14px}.search{grid-row:2;grid-column:1/-1;max-width:none}nav .wrap{justify-content:flex-start;overflow-x:auto}.modernHero .heroGrid{grid-template-columns:1fr 1fr;min-height:500px}.modernHero .heroCopy{text-align:right;padding-top:30px}.modernHero h1{font-size:46px}.modernHero .heroVisual{height:430px}.modernHero .heroActions{justify-content:flex-start;flex-wrap:wrap}.heroBenefits small{font-size:10px}.homeCategories{grid-template-columns:repeat(3,1fr)}.homeCategory img{height:115px}.products{grid-template-columns:repeat(3,1fr)}.filters{top:158px}.buildBanner h2{font-size:29px}}
@media(max-width:680px){header{position:relative}.head{gap:12px;min-height:0}.brand{font-size:17px}.brandMark{font-size:34px;width:32px}.brand small{font-size:7px}.quote{font-size:11px;padding:0 10px}.quoteIcon{display:none}.quote b{font-size:11px}.search input{height:43px}nav .wrap{min-height:42px}.modernHero .heroGrid{grid-template-columns:1fr;gap:0}.modernHero .heroCopy{text-align:center;padding:36px 0 0}.modernHero h1{font-size:47px;margin:16px 0}.modernHero p{font-size:14px}.modernHero .heroActions{justify-content:center;flex-direction:row;gap:9px}.modernHero .heroActions>*{width:auto;padding:0 15px;font-size:12px}.modernHero .heroVisual{height:370px;width:100%;max-width:500px;margin:0 auto}.slideCaption{text-align:center;margin-top:22px;font-size:9px}.slideControls{justify-content:center}.heroBenefits{padding-top:15px;padding-bottom:20px;gap:5px}.heroBenefits>div{gap:6px;flex-direction:column;text-align:center}.heroBenefits span{font-size:23px}.heroBenefits b{font-size:11px}.heroBenefits small{font-size:9px;max-width:100px;margin:auto}.orbitBadge{width:75px;min-height:83px;border-radius:9px;padding:10px 5px}.orbitBadge svg{width:25px;height:25px}.orbitBadge span{font-size:8px}.categoryShowcase{padding-top:30px;padding-bottom:30px}.sectionHeading h2{font-size:28px}.homeCategory{padding:12px 7px;border-radius:11px}.homeCategory img{height:85px}.homeCategory b{font-size:11px}.products{grid-template-columns:repeat(2,1fr);gap:9px}.card{padding:11px;min-height:365px}.pic{height:150px}.pic img{max-height:140px}.name{font-size:12px}.filters{position:relative;top:0}.catalogHead{align-items:center}.catalogHead h2{font-size:27px}.catalogHead>#count{font-size:10px;max-width:45%}.buildBanner{margin:0 14px 35px;min-height:330px;background-size:auto 110%;background-position:35% center;align-items:flex-end;border-radius:15px}.buildBanner>div{width:100%;padding:25px 10px;background:linear-gradient(0deg,#051422 70%,#05142200);text-align:center}.buildBanner h2{font-size:26px}.buildBanner p{font-size:12px}.buildBanner .eyebrow{display:none}.buildBanner .cta{font-size:12px}.sku{font-size:8px}.footerGrid{padding-top:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.orbitBadge{will-change:auto}.card:hover,.homeCategory:hover{transform:none}}

/* Seamless hero imagery: fade every edge, including the former hard left edge. */
.modernHero{background:#04101d}
.modernHero .heroVisual{isolation:isolate}
.heroSlide img:not(.pcCutout){
  object-fit:cover;
  object-position:left center;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 13%,#000 76%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 15%,#000 72%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,#000 13%,#000 76%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 15%,#000 72%,transparent 100%);
  mask-composite:intersect;
}
.stageGlow{background:#0095ff18;opacity:.65}
.stageOrbit{border-color:#1fdcff30;box-shadow:none}
@media(max-width:680px){
 .heroSlide img:not(.pcCutout){
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 10%,#000 80%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 75%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 10%,#000 80%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 75%,transparent 100%);
 }
}

/* All slides use the same photographic framing. Place the embedded tower
   (at ~28% of the source) at the center of the animated orbit. */
.modernHero .heroSlide{overflow:visible}
.modernHero .heroSlide img{
 width:100%;height:100%;object-fit:cover;object-position:left center;
 transform:translateX(22%);
}
@media(max-width:980px){.modernHero .heroSlide img{transform:translateX(18%)}}
@media(max-width:680px){.modernHero .heroSlide img{transform:translateX(12%)}}

/* More readable category navigation. */
header nav .navBtn{font-size:15px;font-weight:700;line-height:1.5;padding:12px 10px}
header nav .wrap{min-height:52px}
@media(min-width:981px) and (max-width:1200px){header nav .navBtn{font-size:13px;padding:12px 7px}}
@media(max-width:980px){header nav .navBtn{font-size:14px;padding:12px 11px}}
@media(min-width:981px){.filters{top:139px}}

/* Integrated custom build: one hero, four consistent transparent foregrounds. */
.modernHero .heroGrid{grid-template-columns:1fr 1.12fr;min-height:690px;align-items:center;gap:36px}
.modernHero .heroCopy{padding:32px 0}
.modernHero h1{font-size:clamp(40px,4vw,60px);line-height:1.14;margin:14px 0}
.modernHero p{font-size:15px;line-height:1.65;margin:12px 0 18px}
.modernHero .heroVisual{height:610px}
.modernHero .heroSlide img,.modernHero .heroSlide img:not(.pcCutout){width:82%;height:85%;object-fit:contain;object-position:center;transform:none;mask:none;-webkit-mask:none;filter:drop-shadow(0 18px 26px #0009)}
.heroBuilder{max-width:560px;margin-top:24px}
.heroBuilder fieldset{border:0;padding:0;margin:0;min-width:0}
.heroBuilder legend{font-size:14px;color:#d9edf9;font-weight:700;margin-bottom:9px}
.heroBuilder button{color:#d9edf9}
.useChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.useChoices button{display:flex;flex-direction:column;align-items:center;gap:7px;padding:13px 6px;min-height:73px;background:#ffffff04;border:1px solid #44657b;border-radius:10px;font-size:13px}
.useChoices button>span{font-size:23px;line-height:1}
.heroBuilder button[aria-pressed=true]{border-color:#18d8ff;background:#03caff12;box-shadow:0 0 14px #09cfff13;color:#7ceaff}
.buildOptions{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;margin-top:22px}
.colorChoices,.coolingChoices{display:flex;gap:9px}
.colorChoices button{border:1px solid transparent;background:none;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 10px;font-size:12px}
.swatch{display:block;width:28px;height:28px;border-radius:50%;border:1px solid #6e8fa5;box-shadow:inset 0 0 5px #ffffff15}
.swatch.black{background:#0b0c0f}.swatch.white{background:#f4f8fb}
.coolingChoices button{border:1px solid #44657b;border-radius:9px;background:#ffffff04;min-height:54px;flex:1;padding:8px;font-size:12px;white-space:nowrap}
.heroBuilder .buildMainCta{width:100%;margin-top:22px;color:#03121b;min-height:47px;font-size:15px}
.catalogLink{display:block;text-align:center;margin-top:12px;color:#b4d1e2;font-size:13px;text-decoration:none}
.buildImageNote{display:block;color:#7896ac;font-size:10px;margin:12px 0 0;line-height:1.5}
.slideCaption{margin-top:15px;letter-spacing:0;direction:rtl;font-size:11px}
.slideControls{margin-top:9px}
.catalog{padding-top:40px}.catalogHead h2{font-size:32px}
.buildDialog{border:1px solid #cbdfe8;border-radius:18px;padding:28px;width:min(520px,calc(100% - 28px));color:#10243b;background:#fff;box-shadow:0 25px 100px #0005}
.buildDialog::backdrop{background:#010c1ad1;backdrop-filter:blur(6px)}
.buildDialog h2{font-size:27px;margin:14px 0}.buildDialog .eyebrow{color:#079bb7}.buildDialog p{font-size:14px;color:#637d92;line-height:1.6}.buildDialog label{display:block;font-size:14px;font-weight:700;margin:18px 0 7px}.buildDialog input,.buildDialog textarea{width:100%;border:1px solid #cbdce5;border-radius:9px;background:#f8fbfd;padding:12px;color:#142c41}.buildDialog textarea{resize:vertical}.buildDialog .requestHint{font-size:12px}.closeBuild{position:absolute;top:12px;left:12px;border:0;border-radius:50%;width:30px;height:30px;background:#edf5f8;font-size:22px}.buildSummary{padding:17px;margin:14px 14px 0;background:#ebfbff;border:1px solid #b0e6f0;border-radius:12px;color:#123449}.buildSummary[hidden]{display:none}.buildSummary p{white-space:pre-line;font-size:12px;line-height:1.7;margin:7px 0}.buildSummary button{background:white;color:#067c98;border:1px solid #9dd3df;border-radius:7px;font-size:12px;padding:5px 13px;margin-left:8px}#drawer .quoteItems{min-height:80px}#drawer .buildSummary{flex-shrink:0}
@media(max-width:980px){.modernHero .heroGrid{grid-template-columns:1fr 1fr;gap:14px;min-height:660px}.modernHero h1{font-size:42px}.modernHero .heroVisual{height:520px}.useChoices button{font-size:11px}.buildOptions{gap:12px;grid-template-columns:1fr 1.2fr}.coolingChoices button{font-size:10px;padding:6px}.heroBuilder legend{font-size:12px}}
@media(max-width:680px){.modernHero .heroGrid{grid-template-columns:1fr;gap:0}.modernHero .heroCopy{padding:28px 0 8px;text-align:center}.modernHero h1{font-size:44px}.modernHero p{font-size:13px}.heroBuilder{margin:20px auto 0}.heroBuilder fieldset{text-align:right}.useChoices button{font-size:12px;min-height:70px}.buildOptions{grid-template-columns:1fr 1.25fr;gap:15px}.coolingChoices button{font-size:12px}.heroBuilder .buildMainCta{font-size:14px}.buildImageNote{text-align:center}.modernHero .heroVisual{height:380px}.modernHero .heroSlide img,.modernHero .heroSlide img:not(.pcCutout){transform:none;width:79%;height:87%}.catalogHead h2{font-size:25px}.catalog{padding-top:26px}.buildDialog{padding:24px 20px}.buildDialog h2{font-size:24px}}

/* Preserve the original hero framing with compact integrated choices. */
.modernHero .heroGrid{min-height:570px;gap:20px;grid-template-columns:1fr 1.12fr}
.modernHero .heroCopy{padding:30px 0 24px}
.modernHero .heroVisual{height:530px}
.modernHero h1{font-size:clamp(42px,4.2vw,64px);line-height:1.17;margin:16px 0}
.heroBuilder{margin-top:18px;max-width:520px}
.heroBuilder legend{font-size:13px;margin-bottom:6px}
.useChoices button{flex-direction:row;justify-content:center;gap:7px;min-height:42px;padding:9px 8px;font-size:13px}
.useChoices button>span{font-size:18px}
.buildOptions{margin-top:13px;gap:20px;grid-template-columns:1fr 1.2fr}
.colorChoices button{flex-direction:row;gap:7px;padding:8px 10px}
.swatch{width:20px;height:20px}
.coolingChoices button{min-height:38px;padding:8px}
.heroBuilder .buildMainCta{margin-top:15px;min-height:44px}
.catalogLink{margin-top:8px}.buildImageNote{margin-top:8px}
.modernHero .heroSlide img:not(.pcCutout){width:100%;height:100%;object-fit:cover;object-position:left center;transform:translateX(22%);filter:none;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 13%,#000 76%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 15%,#000 72%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,#000 13%,#000 76%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 15%,#000 72%,transparent 100%);mask-composite:intersect}
.modernHero .heroSlide img.pcCutout{width:85%;height:90%;object-fit:contain;object-position:center;transform:none;mask:none;-webkit-mask:none;filter:drop-shadow(0 20px 30px #0008)}
@media(max-width:980px){.modernHero .heroGrid{grid-template-columns:1fr 1fr;gap:14px;min-height:560px}.modernHero .heroVisual{height:460px}.modernHero h1{font-size:44px}.useChoices button{font-size:11px;padding:8px 4px}.buildOptions{gap:10px}.modernHero .heroSlide img:not(.pcCutout){transform:translateX(18%)}}
@media(max-width:680px){.modernHero .heroGrid{grid-template-columns:1fr;gap:0}.modernHero .heroCopy{padding:30px 0 0}.modernHero h1{font-size:44px}.heroBuilder{margin:18px auto 0}.useChoices button{font-size:12px}.modernHero .heroVisual{height:370px;margin-top:8px}.modernHero .heroSlide img:not(.pcCutout){width:100%;height:100%;transform:translateX(12%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 10%,#000 80%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 75%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 10%,#000 80%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 75%,transparent 100%)}.modernHero .heroSlide img.pcCutout{width:85%;height:90%;transform:none}.buildImageNote{text-align:center}}

.modernHero .heroBuilder .buildUseHint{font-size:12px;line-height:1.6;color:#8fb5ca;margin:8px 0 0;min-height:20px}.heroSlide[data-color="black"][data-cooling="loop"] img:not(.pcCutout){object-position:left center}

/* Text-only use choices. */
.heroBuilder .useChoices button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0;min-height:42px;padding:9px 8px;background:#071b2c;border:1px solid #375568;border-radius:10px}
.heroBuilder .useChoices button img{display:none}
.heroBuilder .useChoices button .useLabel{display:block;padding:0;font-size:13px;line-height:1.3;font-weight:700}
.heroBuilder .useChoices button[aria-pressed=true]{border-color:#18d8ff;box-shadow:0 0 16px #18d8ff24;background:#0b293a}
@media(max-width:980px){.heroBuilder .useChoices button{padding:8px 4px}.heroBuilder .useChoices button .useLabel{font-size:11px}}
@media(max-width:680px){.heroBuilder .useChoices button .useLabel{font-size:12px}}

/* Selected use also appears as a full scene in the main hero. */
.modernHero .heroSlide.useScene img:not(.pcCutout){width:100%;height:86%;object-fit:contain;object-position:center;transform:none;filter:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect}
.heroVisual.showUseScene .stageOrbit,.heroVisual.showUseScene .orbitBadge{opacity:0!important;visibility:hidden}
@media(max-width:680px){.modernHero .heroSlide.useScene img:not(.pcCutout){width:100%;height:100%;transform:none}}

/* Remove marked secondary copy and obsolete toolbar. */
.modernHero .buildImageNote,.modernHero .slideCaption,.modernHero #slideCaption,.modernHero .slideControls,
.modernHero .heroCopy>.eyebrow,.modernHero .buildUseHint,.modernHero .catalogLink,
.catalog .catalogHead p,.catalog #count,.catalog>.filters{display:none!important}
.catalog .catalogHead{margin-bottom:24px}

/* Circular orbit badges with rotating illuminated rings. */
.modernHero .orbitBadge{width:112px;height:112px;min-height:0;aspect-ratio:1;border-radius:50%;padding:17px 10px;gap:7px;overflow:visible;isolation:isolate;border:1px solid #64dcff66;background:radial-gradient(circle at 35% 25%,#185771cc,#071928ee 72%);box-shadow:0 0 25px #18d8ff25,inset 0 0 18px #18d8ff18;color:#eafbff}
.modernHero .orbitBadge::before{content:'';position:absolute;inset:-6px;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,transparent 0deg,#18d8ff22 45deg,#7defff 100deg,transparent 130deg,transparent 190deg,#18d8ff 270deg,transparent 305deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:ptgBadgeRing 9s linear infinite;pointer-events:none}
.modernHero .orbitBadge::after{content:'';position:absolute;inset:6px;border:1px dashed #64dcff30;border-radius:50%;pointer-events:none}
.modernHero .orbitBadge:nth-of-type(even)::before{animation-direction:reverse;animation-duration:12s}
.modernHero .orbitBadge svg{width:30px;height:30px;stroke:#7defff;filter:drop-shadow(0 0 5px #18d8ff66)}
.modernHero .orbitBadge span{font-size:9px;line-height:1.35;letter-spacing:.7px;max-width:88px;position:relative;z-index:1}
@keyframes ptgBadgeRing{to{transform:rotate(360deg)}}
@media(max-width:1100px){.modernHero .orbitBadge{width:94px;height:94px;padding:13px 8px}.modernHero .orbitBadge svg{width:27px;height:27px}.modernHero .orbitBadge span{font-size:8px;max-width:72px}}
@media(max-width:680px){.modernHero .orbitBadge{width:80px;height:80px;padding:10px 7px;gap:5px}.modernHero .orbitBadge svg{width:23px;height:23px}.modernHero .orbitBadge span{font-size:7px;max-width:62px}.modernHero .orbitBadge::before{inset:-4px}}
@media(prefers-reduced-motion:reduce){.modernHero .orbitBadge::before{animation:none}}

/* PTG technology refresh — visual layer; existing controls and markup retained. */
:root{--night:#061521;--cyan:#20cbe8;--cyan2:#0095d5;--gold:#cdb77b}
body{background:#fff}
header{background:rgba(6,21,33,.98);border-bottom-color:#244154}
header .brand{gap:10px;letter-spacing:.15px}
header .brandMark{flex:0 0 48px;width:48px;height:54px;font-size:0;background:url('../images/ptg-mark.svg') center/contain no-repeat;border:0;clip-path:none}
header .brand b{color:#d6b65f}
header .brand small{color:#a2b5c3;font-size:8px;letter-spacing:1.1px}
header .search input{background:#102737;border-color:#36586b}
header .quote{background:#092232;border-color:#20cbe8;box-shadow:0 0 15px #20cbe810}
.modernHero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 27% 48%,#12354b 0,#081c2b 37%,#061521 75%)}
.modernHero::before,.modernHero::after{content:'';position:absolute;top:0;bottom:0;width:clamp(65px,13vw,220px);background:url('../images/ptg-circuit.svg') left center/220px 660px no-repeat;opacity:.55;pointer-events:none;z-index:-1}
.modernHero::before{left:0}
.modernHero::after{right:0;transform:scaleX(-1)}
.modernHero .heroCopy{position:relative}
.modernHero h1{color:#f6fbff;text-shadow:0 3px 22px #0003}
.modernHero h1 em{color:#20cbe8}
.modernHero .heroBuilder{padding:18px;border:1px solid #3c687044;border-radius:16px;background:#071c2a88;box-shadow:0 10px 35px #00000012}
.heroBuilder .useChoices button,.coolingChoices button{background:#0c2536;border-color:#355366}
.heroBuilder button[aria-pressed=true]{border-color:#20cbe8;background:#12394b;color:#97efff;box-shadow:0 0 12px #20cbe814}
.heroBuilder .buildMainCta,.modernHero .cta{background:linear-gradient(110deg,#00bfe7,#0096d7);border:1px solid #23d1ed;color:#031522;box-shadow:0 8px 25px #00bfe718;border-radius:10px}
.heroBenefits{border-top-color:#43647555}
.heroBenefits small{color:#a0b5c4}
.categoryShowcase,.catalog{background:#fff}
.card{background:#fff;border:1px solid #e1e9ef;border-radius:14px;box-shadow:0 6px 22px #163a5b04}
.pic{background:#fff}
.card .add{background:linear-gradient(110deg,#008fcd,#007bb9)!important;border-color:#008fcd!important;color:#fff!important;border-radius:9px}
.card .add:hover{background:#0074ac!important}
.card .add.added{background:#e3f8fc!important;border-color:#81d9e9!important;color:#067895!important}
.homeCategory{box-shadow:none;border-color:#e2eaf0}
.sectionHeading h2:after{width:48px;height:3px;border-radius:3px;background:#20cbe8}
footer{background:#061521;border-top-color:#254052}
@media(max-width:980px){header .brandMark{flex-basis:42px;width:42px;height:48px}.modernHero::before,.modernHero::after{opacity:.3}.modernHero .heroBuilder{padding:13px}}
@media(max-width:680px){header .brandMark{flex-basis:36px;width:36px;height:41px}header .brand small{font-size:6px;letter-spacing:.6px}.modernHero::before,.modernHero::after{width:60px;opacity:.2}.modernHero .heroBuilder{padding:13px 10px}.modernHero h1{font-size:42px}.modernHero .heroVisual{max-width:100%}}

/* Stronger mirrored circuitry and typography, matching the approved concept. */
.modernHero{isolation:isolate;background:radial-gradient(ellipse at 28% 48%,#113b51 0,#081e2e 42%,#051420 82%)}
.modernHero::before,.modernHero::after{display:block!important;content:''!important;position:absolute!important;top:0!important;bottom:0!important;width:clamp(90px,14vw,250px)!important;height:auto!important;background:url('../images/ptg-circuit.svg') left center/220px 660px no-repeat!important;opacity:.95!important;z-index:0!important;pointer-events:none;filter:drop-shadow(0 0 5px #20cbe859);border:0!important;border-radius:0!important;animation:none!important}
.modernHero::before{left:0!important;right:auto!important;transform:none!important}
.modernHero::after{right:0!important;left:auto!important;transform:scaleX(-1)!important}
.modernHero>.wrap,.modernHero .heroGrid,.modernHero .heroBenefits{position:relative;z-index:1}
.modernHero h1{font-size:clamp(48px,4.7vw,74px);font-weight:900;line-height:1.12;letter-spacing:-1.8px;color:#f8fbff;margin:12px 0 22px;text-shadow:0 4px 24px #0003}
.modernHero h1 em{display:inline;color:#12c9ec;text-shadow:0 0 24px #13c4e51c}
.modernHero .heroCopy>p{font-size:16px;line-height:1.7;color:#adbfcd}
.catalog .catalogHead{position:relative;justify-content:center;text-align:center;border-bottom:0;padding-bottom:18px;margin-bottom:25px}
.catalog .catalogHead h2{font-size:clamp(28px,3vw,42px);font-weight:900;line-height:1.2;letter-spacing:-.9px;margin:0;color:#0a1c2b}
.catalog .catalogHead::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:48px;height:3px;background:#12c9ec;border-radius:3px}
@media(max-width:980px){.modernHero h1{font-size:48px}.modernHero::before,.modernHero::after{opacity:.65!important;width:105px!important}.modernHero .heroCopy>p{font-size:14px}}
@media(max-width:680px){.modernHero h1{font-size:44px;letter-spacing:-1px}.modernHero::before,.modernHero::after{opacity:.4!important;width:65px!important;background-size:170px 510px!important}.modernHero .heroCopy>p{font-size:13px}.catalog .catalogHead h2{font-size:29px}}

/* Blend photographic scenes into the hero without fading transparent towers. */
.modernHero .heroVisual{isolation:isolate}
.modernHero .stageGlow{background:radial-gradient(ellipse,#18bde52b 0,#048fc514 45%,transparent 72%);filter:blur(32px);opacity:.8;width:86%;height:74%;left:7%;top:13%;pointer-events:none}
.modernHero .heroSlide.useScene img:not(.pcCutout){width:100%;height:86%;object-fit:contain;object-position:center;transform:none;filter:none;
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 15%,#000 85%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 18%,#000 78%,transparent 100%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent 0%,#000 15%,#000 85%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 18%,#000 78%,transparent 100%);
 mask-composite:intersect;
}
.modernHero .heroSlide:not(.useScene) img:not(.pcCutout){
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 76%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 18%,#000 76%,transparent 100%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 76%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 18%,#000 76%,transparent 100%);
 mask-composite:intersect;
}
.modernHero .heroSlide.useScene::after{content:'';position:absolute;inset:7% 0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 48%,#0b365024 78%,transparent 100%);z-index:1}
.modernHero .heroSlide img.pcCutout{-webkit-mask:none;mask:none}
@media(max-width:680px){.modernHero .heroSlide.useScene img:not(.pcCutout){height:100%;
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 16%,#000 80%,transparent 100%);
 mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 16%,#000 80%,transparent 100%);
}.modernHero .heroSlide.useScene::after{inset:0}}

/* Apply the fade to the visible photo bounds, without contain letterboxing. */
.modernHero .heroSlide.useScene img:not(.pcCutout){
 display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;transform:none;
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 17%,#000 80%,transparent 100%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 17%,#000 80%,transparent 100%);
 mask-composite:intersect;
}
.modernHero .heroSlide.useScene::after{display:none}
@media(max-width:680px){.modernHero .heroSlide.useScene img:not(.pcCutout){width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}}

/* Slow ambient network restricted to the hero side margins. */
.modernHero::before,.modernHero::after{width:clamp(110px,20vw,360px)!important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22440%22%20height%3D%22420%22%20viewBox%3D%220%200%20440%20420%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%2339cde8%22%20stroke-width%3D%22.7%22%20opacity%3D%22.25%22%3E%3Cpath%20d%3D%22M25%2050%20115%2095%20190%2035%20290%2090%20405%2042M25%2050%2060%20190%20115%2095%20220%20180%20290%2090%20355%20230%20405%2042M60%20190%20135%20280%20220%20180%20245%20330%20355%20230%20410%20365M15%20365%20135%20280%20245%20330%20330%20400M190%2035%20220%20180M115%2095%20135%20280%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%2360e2f7%22%20opacity%3D%22.75%22%3E%3Ccircle%20cx%3D%2225%22%20cy%3D%2250%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%22115%22%20cy%3D%2295%22%20r%3D%222.3%22%2F%3E%3Ccircle%20cx%3D%22190%22%20cy%3D%2235%22%20r%3D%221.8%22%2F%3E%3Ccircle%20cx%3D%22290%22%20cy%3D%2290%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%22405%22%20cy%3D%2242%22%20r%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%22190%22%20r%3D%222.2%22%2F%3E%3Ccircle%20cx%3D%22220%22%20cy%3D%22180%22%20r%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%22355%22%20cy%3D%22230%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%22135%22%20cy%3D%22280%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%22245%22%20cy%3D%22330%22%20r%3D%222.3%22%2F%3E%3Ccircle%20cx%3D%22410%22%20cy%3D%22365%22%20r%3D%221.8%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%22365%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%22330%22%20cy%3D%22400%22%20r%3D%221.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),url("../images/ptg-circuit.svg")!important;background-size:440px 420px,220px 660px!important;background-position:left center,left center!important;background-repeat:repeat-y,no-repeat!important;opacity:.72!important;animation:ptgNetworkDrift 24s ease-in-out infinite alternate!important;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 55%,transparent 100%)}
@keyframes ptgNetworkDrift{from{background-position:0 0,0 center;filter:drop-shadow(0 0 3px #20cbe840)}to{background-position:12px 26px,0 center;filter:drop-shadow(0 0 7px #20cbe875)}}
@media(max-width:980px){.modernHero::before,.modernHero::after{width:125px!important;opacity:.45!important}}
@media(max-width:680px){.modernHero::before,.modernHero::after{width:65px!important;opacity:.3!important;background-size:300px 286px,170px 510px!important}}
@media(prefers-reduced-motion:reduce){.modernHero::before,.modernHero::after{animation:none!important}}

/* Wide circuit paths with independently timed travelling electric pulses. */
.modernHero::before,.modernHero::after{width:49%!important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20700%22%20preserveAspectRatio%3D%22none%22%3E%3Cstyle%3E%40keyframes%20run%7B0%25%2C58%25%7Bstroke-dashoffset%3A1050%3Bopacity%3A0%7D60%25%7Bopacity%3A1%7D85%25%7Bopacity%3A1%7D91%25%2C100%25%7Bstroke-dashoffset%3A-1050%3Bopacity%3A0%7D%7D.pulse%7Bfill%3Anone%3Bstroke%3A%2384f1ff%3Bstroke-width%3A2%3Bstroke-dasharray%3A65%201900%3Banimation%3Arun%2012s%20linear%20infinite%7D.base%7Bfill%3Anone%3Bstroke%3A%2324bbd5%3Bstroke-width%3A1%3Bopacity%3A.25%7D%40media%28prefers-reduced-motion%3Areduce%29%7B.pulse%7Banimation%3Anone%3Bopacity%3A0%7D%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22base%22%20d%3D%22M0%2040%2090%20130h160l80%2080h130l80%2080h180%22%2F%3E%3Cpath%20class%3D%22pulse%22%20style%3D%22animation-duration%3A11s%3Banimation-delay%3A-3s%22%20d%3D%22M0%2040%2090%20130h160l80%2080h130l80%2080h180%22%2F%3E%3Cpath%20class%3D%22base%22%20d%3D%22M0%20120%2065%20185h150l80%2080h130l90%2090h195%22%2F%3E%3Cpath%20class%3D%22pulse%22%20style%3D%22animation-duration%3A17s%3Banimation-delay%3A-11s%22%20d%3D%22M0%20120%2065%20185h150l80%2080h130l90%2090h195%22%2F%3E%3Cpath%20class%3D%22base%22%20d%3D%22M0%20235h95l70%2070h170l65%2065h200l90%2090h100%22%2F%3E%3Cpath%20class%3D%22pulse%22%20style%3D%22animation-duration%3A13s%3Banimation-delay%3A-7s%22%20d%3D%22M0%20235h95l70%2070h170l65%2065h200l90%2090h100%22%2F%3E%3Cpath%20class%3D%22base%22%20d%3D%22M0%20365h100l80-80h160l85-85h165l100-100h100%22%2F%3E%3Cpath%20class%3D%22pulse%22%20style%3D%22animation-duration%3A19s%3Banimation-delay%3A-16s%22%20d%3D%22M0%20365h100l80-80h160l85-85h165l100-100h100%22%2F%3E%3Cpath%20class%3D%22base%22%20d%3D%22M0%20480h90l90-90h120l80-80h195l80-80h135%22%2F%3E%3Cpath%20class%3D%22pulse%22%20style%3D%22animation-duration%3A14s%3Banimation-delay%3A-1s%22%20d%3D%22M0%20480h90l90-90h120l80-80h195l80-80h135%22%2F%3E%3Cpath%20class%3D%22base%22%20d%3D%22M0%20580h80l90-90h140l80-80h170l90-90h140%22%2F%3E%3Cpath%20class%3D%22pulse%22%20style%3D%22animation-duration%3A23s%3Banimation-delay%3A-19s%22%20d%3D%22M0%20580h80l90-90h140l80-80h170l90-90h140%22%2F%3E%3Cpath%20class%3D%22base%22%20d%3D%22M0%20650h140l95-95h150l90-90h135l90-90h90%22%2F%3E%3Cpath%20class%3D%22pulse%22%20style%3D%22animation-duration%3A16s%3Banimation-delay%3A-9s%22%20d%3D%22M0%20650h140l95-95h150l90-90h135l90-90h90%22%2F%3E%3C%2Fsvg%3E")!important;background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important;opacity:.72!important;animation:none!important;filter:drop-shadow(0 0 4px #20cbe840)!important;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 42%,#0008 70%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 42%,#0008 70%,transparent 100%)}
@media(max-width:980px){.modernHero::before,.modernHero::after{width:49%!important;opacity:.45!important}}
@media(max-width:680px){.modernHero::before,.modernHero::after{width:49%!important;opacity:.28!important}}

/* Five compact benefits; responsive layout retains readable descriptions. */
.modernHero .heroBenefits{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.modernHero .heroBenefits>div{padding:8px 12px;gap:12px}
.modernHero .heroBenefits b{font-size:13px;line-height:1.5}
.modernHero .heroBenefits small{font-size:11px;line-height:1.5}
.modernHero .heroBenefits span{font-size:29px;flex-shrink:0}
@media(max-width:1100px){.modernHero .heroBenefits>div{padding:8px;gap:8px}.modernHero .heroBenefits b{font-size:12px}.modernHero .heroBenefits small{font-size:10px}}
@media(max-width:980px){.modernHero .heroBenefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 0}.modernHero .heroBenefits>div:nth-child(3n){border-left:0}}
@media(max-width:680px){.modernHero .heroBenefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0}.modernHero .heroBenefits>div{flex-direction:row;text-align:right;justify-content:flex-start;padding:7px 10px}.modernHero .heroBenefits>div:nth-child(3n){border-left:1px solid #46698544}.modernHero .heroBenefits>div:nth-child(2n),.modernHero .heroBenefits>div:last-child{border-left:0}.modernHero .heroBenefits>div:last-child{grid-column:1/-1;justify-content:center}.modernHero .heroBenefits small{max-width:none;margin-top:2px}.modernHero .heroBenefits span{font-size:25px}}

/* Responsive luminous orbit, shared by every hero image. */
.modernHero .stageOrbit{display:none}
.modernHero .ptgOrbitRing{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;transition:opacity .6s;filter:drop-shadow(0 0 4px #25cfff66)}
.modernHero .ptgOrbitRing-back{z-index:1;opacity:.48}
.modernHero .ptgOrbitRing-front{z-index:4;opacity:.85}
.ptgOrbit-rim{stroke:#41d9ef;stroke-width:1.4;vector-effect:non-scaling-stroke}
.ptgOrbit-marks{stroke:#75e9fa;stroke-width:2.5;stroke-dasharray:1 15;opacity:.42;vector-effect:non-scaling-stroke}
.ptgOrbit-light{stroke:#b4f7ff;stroke-width:2.4;stroke-dasharray:75 925;stroke-linecap:round;vector-effect:non-scaling-stroke;animation:ptgOrbitSweep 14s linear infinite}
.ptgOrbitRing-back .ptgOrbit-light{animation-delay:-7s}
@keyframes ptgOrbitSweep{to{stroke-dashoffset:-1000}}
.modernHero .orbitBadge{width:48px;height:48px;min-height:0;padding:10px;gap:0;border:1px solid #6ce8ff99;background:radial-gradient(circle,#0b3548,#061b29);box-shadow:0 0 14px #19cdef44;pointer-events:auto;cursor:help}
.modernHero .orbitBadge::before,.modernHero .orbitBadge::after{display:none}
.modernHero .orbitBadge svg{width:26px;height:26px;flex-shrink:0}
.modernHero .orbitBadge span{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);padding:6px 10px;border-radius:7px;background:#061521f2;border:1px solid #38cce955;color:#dcf8ff;white-space:nowrap;max-width:none;font-size:10px;opacity:0;visibility:hidden;transition:opacity .2s;pointer-events:none}
.modernHero .orbitBadge:hover span,.modernHero .orbitBadge:focus span{opacity:1;visibility:visible}
.modernHero .heroVisual.showUseScene .orbitBadge{opacity:.6!important;visibility:visible}
.modernHero .heroVisual.showUseScene .ptgOrbitRing-front{opacity:.3}
.modernHero .heroVisual.showUseScene .ptgOrbitRing-back{opacity:.2}
.modernHero .heroVisual.showUseScene .orbitBadge{background:#071e2bcc;box-shadow:0 0 8px #19cdef22}
.ptgOrbitPaused .ptgOrbit-light{animation-play-state:paused}
@media(max-width:680px){.modernHero .orbitBadge{width:36px;height:36px;padding:7px}.modernHero .orbitBadge svg{width:20px;height:20px}.modernHero .ptgOrbitRing-front{opacity:.65}}
@media(prefers-reduced-motion:reduce){.ptgOrbit-light{animation:none}}

/* Continuous orbit; icons share the same rotated ellipse coordinates. */
.modernHero .ptgOrbitRing-back{display:none}
.modernHero .ptgOrbitRing-front{opacity:.7}
.modernHero .ptgOrbitRing-front .ptgOrbit-rim{stroke-width:1.2}
.modernHero .ptgOrbitRing-front .ptgOrbit-marks{opacity:.25}
.modernHero .heroVisual.showUseScene .ptgOrbitRing-front{opacity:.25}

/* Restore real stacking: rear orbit and rear icons beneath the image. */
.modernHero .ptgOrbitRing-back{display:block;z-index:1;opacity:.48}
.modernHero .heroSlide{z-index:2}
.modernHero .ptgOrbitRing-front{z-index:4;opacity:.7}
.modernHero .heroVisual.showUseScene .ptgOrbitRing-back{opacity:.18}

/* Light circuit arcs matching the background traces */
.modernHero .ptgOrbitRing{filter:none}
.ptgCircuit-base{fill:none;stroke:#24849e;stroke-width:1;opacity:.45;vector-effect:non-scaling-stroke}
.ptgCircuit-dash{fill:none;stroke:#42cee8;stroke-width:1.2;stroke-dasharray:90 35 14 55;opacity:.6;vector-effect:non-scaling-stroke;animation:ptgCircuitFlow 32s linear infinite}
.ptgCircuit-pulse{fill:none;stroke:#c4f9ff;stroke-width:2;stroke-linecap:round;stroke-dasharray:35 965;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #24d9ff);animation:ptgCircuitFlow 10s linear infinite}
@keyframes ptgCircuitFlow{to{stroke-dashoffset:-1000}}
.modernHero .ptgOrbitRing-front{opacity:.8}
.modernHero .ptgOrbitRing-back{opacity:.5}
.modernHero .orbitBadge{display:none!important}
.ptgOrbitPaused .ptgCircuit-dash,.ptgOrbitPaused .ptgCircuit-pulse{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ptgCircuit-dash,.ptgCircuit-pulse{animation:none}.ptgCircuit-pulse{opacity:.45}}

/* Rear arc uses a central occlusion mask instead of the opaque photo bounds. */
.modernHero .ptgOrbitRing-back{z-index:4;opacity:.5;display:block}
.modernHero .ptgOrbitRing-front{z-index:4}

/* Scene photographs use a quiet rectangular frame instead of an orbit. */
.modernHero .heroVisual.showUseScene .ptgOrbitRing,
.modernHero .heroVisual.showUseScene .stageOrbit,
.modernHero .heroVisual.showUseScene .orbitBadge{display:none!important;visibility:hidden!important}
.modernHero .heroVisual.showUseScene::after{
 content:'';position:absolute;top:50%;left:4%;width:92%;aspect-ratio:16/9;transform:translateY(-50%);z-index:4;pointer-events:none;
 background:
 linear-gradient(#63dbed,#63dbed) left top/30px 1px,
 linear-gradient(#63dbed,#63dbed) left top/1px 30px,
 linear-gradient(#63dbed,#63dbed) right top/30px 1px,
 linear-gradient(#63dbed,#63dbed) right top/1px 30px,
 linear-gradient(#63dbed,#63dbed) left bottom/30px 1px,
 linear-gradient(#63dbed,#63dbed) left bottom/1px 30px,
 linear-gradient(#63dbed,#63dbed) right bottom/30px 1px,
 linear-gradient(#63dbed,#63dbed) right bottom/1px 30px;
 background-repeat:no-repeat;filter:drop-shadow(0 0 5px #26c7e755);opacity:.6;
 animation:ptgSceneFrameGlow 7s ease-in-out infinite;
}
@keyframes ptgSceneFrameGlow{0%,100%{opacity:.4}50%{opacity:.75}}
.ptgOrbitPaused.showUseScene::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.modernHero .heroVisual.showUseScene::after{animation:none}}

/* Occasional electric flashes around the three scene photographs. */
.modernHero .heroVisual.showUseScene::before{
 content:'';position:absolute;top:50%;left:4%;width:92%;aspect-ratio:16/9;transform:translateY(-50%);z-index:5;pointer-events:none;
 background:
 linear-gradient(90deg,transparent,#43dfff,#e6fcff,transparent) top left/42% 2px,
 linear-gradient(0deg,transparent,#42d8ff,#e6fcff,transparent) bottom right/2px 48%,
 linear-gradient(90deg,transparent,#48d5ff,transparent) bottom right/32% 1px;
 background-repeat:no-repeat;filter:drop-shadow(0 0 5px #20d7ff) drop-shadow(0 0 12px #17b9ed88);opacity:0;
 animation:ptgSceneElectric 9s linear infinite;
}
@keyframes ptgSceneElectric{
 0%,48%,56%,100%{opacity:0;background-position:0% 0%,100% 100%,100% 100%}
 49%{opacity:.35}
 49.6%{opacity:.05}
 50.2%{opacity:.9}
 51%{opacity:.2}
 52%{opacity:.65}
 55%{opacity:0;background-position:100% 0%,100% 0%,0% 100%}
}
.ptgOrbitPaused.showUseScene::before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.modernHero .heroVisual.showUseScene::before{animation:none;opacity:0}}

/* Keep the photograph and both effect layers on identical bounds. */
.modernHero .heroSlide.useScene img:not(.pcCutout){
 width:92%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;
 -webkit-mask-image:none;mask-image:none;border-radius:3px;
 box-shadow:0 14px 32px #020d1b44;
}
.modernHero .heroVisual.showUseScene::before,
.modernHero .heroVisual.showUseScene::after{
 left:4%;width:92%;top:50%;height:auto;aspect-ratio:16/9;box-sizing:border-box;
}
@media(max-width:680px){.modernHero .heroSlide.useScene img:not(.pcCutout){width:92%;height:auto;aspect-ratio:16/9}}

/* Natural image proportions and matching effect bounds, measured per slide. */
.modernHero .heroSlide.useScene img:not(.pcCutout){aspect-ratio:auto;object-fit:contain;max-width:92%;max-height:90%}
.modernHero .heroVisual.showUseScene::before,
.modernHero .heroVisual.showUseScene::after{left:var(--scene-left,4%);width:var(--scene-width,92%);height:var(--scene-height,auto);aspect-ratio:auto;top:50%;transform:translateY(-50%)}

/* Blend the photo edges and connect travelling energy to contact sparks. */
.modernHero .heroSlide.useScene img:not(.pcCutout){
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 90%,transparent);
 -webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect;
 box-shadow:none;
}
.modernHero .heroVisual.showUseScene::before{display:none}
.modernHero .heroVisual.showUseScene::after{opacity:.3;animation:none}
.ptgSceneContacts{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;overflow:visible;display:none;fill:none}
.showUseScene .ptgSceneContacts{display:block}
.ptgContact-wire{stroke:#32bdd7;stroke-width:1;opacity:.25}
.ptgContact-energy{stroke:#aaf6ff;stroke-width:2;stroke-linecap:round;stroke-dasharray:65 1935;filter:drop-shadow(0 0 5px #23d4ff);animation:ptgContactArrival var(--contact-time) linear infinite;animation-delay:var(--contact-delay)}
.ptgContact-spark{stroke:#cafaff;stroke-width:1.7;stroke-linejoin:round;filter:drop-shadow(0 0 4px #38dfff);opacity:0;animation:ptgContactStrike var(--contact-time) linear infinite;animation-delay:var(--contact-delay)}
@keyframes ptgContactArrival{0%,15%{stroke-dashoffset:65;opacity:0}18%{opacity:.8}60%{stroke-dashoffset:-1000;opacity:1}64%,100%{stroke-dashoffset:-1100;opacity:0}}
@keyframes ptgContactStrike{0%,58%,69%,100%{opacity:0}60%{opacity:1}61%{opacity:.1}62%{opacity:.85}64%{opacity:.1}65%{opacity:.45}68%{opacity:0}}
.ptgOrbitPaused .ptgContact-energy,.ptgOrbitPaused .ptgContact-spark{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ptgContact-energy,.ptgContact-spark{animation:none;opacity:0}}

/* Shield flare shares the exact arrival clock of each travelling light. */
.ptgContact-shield{fill:#22cfff;fill-opacity:.025;stroke:#86f1ff;stroke-width:2;opacity:0;filter:drop-shadow(0 0 6px #23dbff) drop-shadow(0 0 16px #2ad5ff);transform-box:fill-box;transform-origin:center;animation:ptgShieldImpact var(--contact-time) linear infinite;animation-delay:var(--contact-delay)}
@keyframes ptgShieldImpact{
 0%,58%{opacity:0;transform:scale(1)}
 60%{opacity:.95;transform:scale(1)}
 61%{opacity:.3;transform:scale(1.004)}
 62%{opacity:.75;transform:scale(1.009)}
 67%{opacity:.2;transform:scale(1.025)}
 73%,100%{opacity:0;transform:scale(1.045)}
}
.ptgOrbitPaused .ptgContact-shield{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ptgContact-shield{animation:none;opacity:0}}

/* Local shield ripples at each contact, repeating several times per slide. */
.ptgContact-shield{fill:none;stroke-width:1.5;transform-origin:center;filter:drop-shadow(0 0 5px #32dcff)}
@keyframes ptgShieldImpact{
 0%,58%{opacity:0;transform:scale(.7)}
 60%{opacity:.95;transform:scale(.8)}
 63%{opacity:.6;transform:scale(1)}
 70%{opacity:.25;transform:scale(1.2)}
 80%,100%{opacity:0;transform:scale(1.4)}
}

/* Holographic honeycomb impact patch, local to the incoming light. */
.ptgContact-shield{fill:#2ad9ff;fill-opacity:.09;stroke:#6eeaff;stroke-width:.75;filter:drop-shadow(0 0 3px #19cfff) drop-shadow(0 0 10px #0f9ddd88);animation-name:ptgHexImpact}
.ptgContact-shieldEdge{fill:none;stroke:#d2fbff;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:220 50;opacity:0;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 5px #28dfff);animation:ptgHexEdge var(--contact-time) ease-out infinite;animation-delay:var(--contact-delay)}
@keyframes ptgHexImpact{0%,58%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(.85);fill-opacity:.22}64%{opacity:.7;transform:scale(1);fill-opacity:.06}71%{opacity:.35;transform:scale(1.08)}82%,100%{opacity:0;transform:scale(1.13)}}
@keyframes ptgHexEdge{0%,59%{opacity:0;transform:scale(.75) rotate(-8deg);stroke-dashoffset:0}61%{opacity:1}68%{opacity:.6;transform:scale(1.08) rotate(5deg);stroke-dashoffset:-90}79%,100%{opacity:0;transform:scale(1.2) rotate(12deg);stroke-dashoffset:-170}}
.ptgContact-spark{stroke-width:1;opacity:0;filter:drop-shadow(0 0 6px #80f5ff)}
.ptgOrbitPaused .ptgContact-shieldEdge{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ptgContact-shield,.ptgContact-shieldEdge{animation:none;opacity:0}}

/* Live background routes own both travelling pulses and collision effects. */
.modernHero::before,.modernHero::after{background-image:none!important;animation:none!important}
.ptgLiveNetwork{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none;fill:none}
.ptgLiveWire{stroke:#24bbd5;stroke-width:.8;opacity:.2}
.ptgLiveWire.major{stroke-width:1.5;opacity:.28}
.ptgLivePulse{stroke:#b6f5ff;stroke-width:1.8;stroke-linecap:round;filter:drop-shadow(0 0 4px #20d7ff);fill:none}
.ptgLiveImpact{pointer-events:none}
.ptgLiveShield{fill:#28d7ff;fill-opacity:.08;stroke:#6beaff;stroke-width:.7;filter:drop-shadow(0 0 4px #18bdec)}
.ptgLiveShieldRim{fill:none;stroke:#d9fbff;stroke-width:1.5;stroke-linecap:round;filter:drop-shadow(0 0 5px #36dcff)}
@media(prefers-reduced-motion:reduce){.ptgLivePulse,.ptgLiveImpact{display:none}}

/* Match every category dropdown level to the header palette. */
header {
  --ptg-menu-bg: #04101d;
  --ptg-menu-text: #f2f8ff;
  --ptg-menu-hover: #09273e;
}
header nav .megaTreePanel,
header nav .megaTreePanel .ptgCascadeRoot,
header nav .megaTreePanel .ptgCascade {
  background: var(--ptg-menu-bg) !important;
  color: var(--ptg-menu-text) !important;
  border-color: #2c5465 !important;
}
header nav .megaTreePanel .ptgCascadeItem > a {
  background: var(--ptg-menu-bg) !important;
  color: var(--ptg-menu-text) !important;
}
header nav .megaTreePanel .ptgCascadeItem:hover > a,
header nav .megaTreePanel .ptgCascadeItem:focus-within > a,
header nav .megaTreePanel .ptgCascadeItem > a:hover,
header nav .megaTreePanel .ptgCascadeItem > a:focus-visible {
  background: var(--ptg-menu-hover) !important;
  color: #18d8ff !important;
}
header nav .megaTreePanel .ptgCascadeItem > a > i {
  color: #88a2b7 !important;
}
header nav .megaTreePanel .ptgCascadeItem:hover > a > i,
header nav .megaTreePanel .ptgCascadeItem:focus-within > a > i {
  color: #18d8ff !important;
}

/* Cover the existing high-specificity rules, including panel padding. */
header nav #nav .megaTreePanel,
header nav #nav .megaTreePanel .ptgCascadeRoot,
header nav #nav .megaTreePanel .ptgCascadeRoot > .ptgCascade,
header nav #nav .megaTreePanel .ptgCascadeItem > .ptgCascade {
  background: var(--ptg-menu-bg) !important;
  border: 0 !important;
}
