
/* Adapted design patterns from Lightswind UI MIT repository:
   border-beam, glowing-cards, 3d-perspective-card, in-view-stagger,
   count-up, beam-circle, connection-graph, interactive-card and accordion.
   Adapted specifically to TEC's Cloudflare HTML/CSS/JS architecture. */
:root{--lw-copper:#e1aa76;--lw-mint:#8de8cb;--lw-night:#0b1d29;--lw-cream:#f4eadc}
.lw-tec-network{position:relative;isolation:isolate;background:linear-gradient(120deg,#071b27,#0e2934 54%,#0c1c27);color:#f4f0e8;overflow:hidden;padding:104px 0 98px;border-top:1px solid #e8bb8a38;border-bottom:1px solid #d4a8784c}
.lw-tec-network:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 45% 45%,#369a8c26,transparent 53%),radial-gradient(circle at 5% 96%,#d6a56a1c,transparent 37%),radial-gradient(circle at 100% 3%,#d7a3711f,transparent 38%)}
.lw-tec-network:after{content:"";position:absolute;z-index:-1;inset:0;opacity:.28;background-image:linear-gradient(#9ceaca0b 1px,transparent 1px),linear-gradient(90deg,#9ceaca0b 1px,transparent 1px);background-size:65px 65px;mask-image:radial-gradient(ellipse,#000 25%,transparent 80%);pointer-events:none}
.lw-tec-network-inner{position:relative}
.lw-network-heading{display:grid;grid-template-columns:1fr .73fr;align-items:end;gap:70px}
.lw-kicker{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.17em;color:#eac29a;font-weight:850}
.lw-kicker-dot{width:7px;height:7px;border-radius:50%;background:#9ff2d5;box-shadow:0 0 12px #7ef7dbb5}
.lw-network-heading h2{margin:19px 0 0;font-size:clamp(40px,4vw,66px);letter-spacing:-.062em;line-height:1.07;font-weight:850;color:#fff8ee}
.lw-network-heading h2 em{color:#efc39a;font-style:normal}
.lw-network-intro{max-width:420px}
.lw-network-intro p{color:#cbd8cf;font-size:14px;line-height:1.9;margin:0 0 17px}
.lw-network-link{display:inline-flex;align-items:center;gap:13px;color:#ffd9ae;text-decoration:none;border-bottom:1px solid #f1c38d84;padding-bottom:6px;font-weight:760;font-size:12px;transition:gap .3s}
.lw-network-link:hover{gap:19px;color:#fff4e4}
.lw-network-stage{position:relative;max-width:1180px;height:590px;margin:28px auto 0;isolation:isolate}
.lw-network-orbit{position:absolute;pointer-events:none;inset:0;z-index:-1}
.lw-orbit-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid #c5e6ce3a;transform:translate(-50%,-50%);box-shadow:0 0 17px #81d8c21a,inset 0 0 17px #81d8c21a}
.lw-orbit-one{width:340px;height:340px;border-color:#f0c89a50}
.lw-orbit-two{width:530px;height:530px;border-style:dashed;border-color:#c9e9d63a;animation:lw-orbit-spin 75s linear infinite}
.lw-orbit-three{width:720px;height:720px;opacity:.27;animation:lw-orbit-spin 100s linear infinite reverse}
.lw-orbit-ray{position:absolute;top:50%;left:50%;width:270px;height:1px;background:linear-gradient(90deg,#83e8c2aa,transparent);transform-origin:left center;opacity:.65}
.lw-ray-a{transform:rotate(-150deg)}.lw-ray-b{transform:rotate(-90deg)}.lw-ray-c{transform:rotate(-31deg)}.lw-ray-d{transform:rotate(30deg)}.lw-ray-e{transform:rotate(90deg)}.lw-ray-f{transform:rotate(151deg)}
.lw-network-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:216px;height:216px;border-radius:50%;border:1px solid #f2c598b3;box-shadow:0 0 0 13px #e3b18b12,0 0 0 28px #83e8c410,0 0 58px #bfdeaa52,inset 0 1px #fff6;z-index:3;background:radial-gradient(circle at 34% 19%,#4a6a6e,#142b37 53%,#081a25);display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;gap:1px;color:#fff7ef;transition:box-shadow .45s,transform .45s;overflow:hidden}
.lw-network-core:hover{transform:translate(-50%,-50%) scale(1.035);box-shadow:0 0 0 13px #e3b18b21,0 0 0 28px #83e8c41c,0 0 68px #bfdeaa8f}
.lw-core-aura{position:absolute;inset:-40%;background:conic-gradient(from 20deg,transparent 10%,#a6e8cf34 18%,transparent 30%,#dfac8055 50%,transparent 66%,#a6e8cf34 77%,transparent 100%);animation:lw-orbit-spin 25s linear infinite}
.lw-core-mark,.lw-network-core strong,.lw-network-core small,.lw-core-enter{z-index:1}
.lw-core-mark{font-size:28px;color:#f8dbad}
.lw-network-core strong{font-size:36px;letter-spacing:.14em;font-weight:900;line-height:1.12}
.lw-network-core small{font-size:9px;letter-spacing:.23em;color:#e6d7bf;font-weight:800}
.lw-core-enter{margin-top:9px;padding:6px 12px;border-radius:22px;background:#d6a1754d;border:1px solid #efbe8a80;font-weight:800;font-size:9px;color:#ffebd6}
.lw-network-node{position:absolute;z-index:4;display:flex;gap:11px;align-items:center;min-height:80px;width:230px;padding:12px;border:1px solid #c5bba180;border-radius:18px;text-decoration:none;background:linear-gradient(130deg,#334953e8,#102731f5);box-shadow:0 17px 32px #0007,inset 0 1px #fff4;backdrop-filter:blur(14px);color:#faf5e9;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.lw-network-node:hover,.lw-network-node:focus-visible,.lw-network-node.lw-active{border-color:#a0f1d6;box-shadow:0 21px 40px #0008,0 0 21px #6bcab751,inset 0 1px #fff5;transform:translateY(-6px);outline:none}
.lw-node-icon{width:44px;height:44px;border-radius:13px;flex:none;display:grid;place-items:center;font-size:23px;color:#fed4a7;background:linear-gradient(135deg,#e6bc8836,#21434a);border:1px solid #eac49a64}
.lw-network-node>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:5px}
.lw-network-node strong{font-size:12px;font-weight:820;color:#fff8ed}
.lw-network-node small{font-size:10px;color:#bed1cb}
.lw-node-arrow{font-size:15px;color:#f2c394;margin-left:auto}
.lw-node-lighting{top:7%;left:2%}.lw-node-access{top:5%;left:calc(50% - 115px)}.lw-node-curtains{top:7%;right:2%}
.lw-node-climate{bottom:7%;left:2%}.lw-node-cinema{bottom:5%;left:calc(50% - 115px)}.lw-node-voice{bottom:7%;right:2%}
.lw-network-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(130deg,#40545c48,#17323b79);border:1px solid #e6c59959;border-radius:20px;min-height:103px;padding:20px 26px;backdrop-filter:blur(14px);box-shadow:0 14px 30px #0003}
.lw-network-live{display:flex;align-items:center;gap:13px;max-width:540px}
.lw-live-indicator{width:12px;height:12px;border-radius:50%;background:#88e7bd;box-shadow:0 0 0 6px #8cddc125,0 0 19px #88e7bd;flex:none}
.lw-network-live>span:last-child{display:flex;flex-direction:column;gap:5px}
.lw-network-live small{font-size:9px;letter-spacing:.16em;font-weight:830;color:#ebbd8b}
.lw-network-live strong{font-size:12px;line-height:1.55;color:#f6f1e8;font-weight:600}
.lw-network-metrics{display:flex;align-items:center;gap:0}
.lw-network-metrics>span{min-width:115px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 18px;border-left:1px solid #c2e7d143}
.lw-network-metrics strong{font-size:28px;letter-spacing:-.06em;line-height:1.15;color:#ffd0a2}
.lw-network-metrics small{font-size:9px;white-space:nowrap;color:#c5d5cd}
@keyframes lw-orbit-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.lw-core-aura{animation-name:lw-aura-spin}
@keyframes lw-aura-spin{to{transform:rotate(360deg)}}
/* Lightswind BorderBeam adaptation: moving perimeter sheen; no overlay over content */
.lw-beam{position:relative;isolation:isolate}
.lw-beam:after{content:"";pointer-events:none;position:absolute;z-index:10;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--lw-beam-angle,0deg),transparent 0deg,transparent 65deg,#e4ac78 91deg,#fff0c4 106deg,#88e7ce 124deg,transparent 153deg,transparent 360deg);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;animation:lw-beam-spin 8s linear infinite;opacity:.9}
@keyframes lw-beam-spin{to{--lw-beam-angle:360deg}}
/* Fallback animation for browsers without typed custom-property interpolation */
@supports not (background: conic-gradient(red,blue)){.lw-beam:after{display:none}}
/* Lightswind GlowingCards, 3D Perspective Card adaptation; local hover only */
.lw-spot-card{--lw-x:50%;--lw-y:50%;position:relative;isolation:isolate;transform-style:preserve-3d;transition:transform .32s cubic-bezier(.17,.8,.23,1),box-shadow .3s!important}
.lw-spot-card:after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--lw-x) var(--lw-y),#f3c18a33,transparent 53%);opacity:0;transition:opacity .32s}
.lw-spot-card:hover:after{opacity:1}
.lw-spot-card:hover{transform:perspective(1100px) rotateX(var(--lw-rx,0deg)) rotateY(var(--lw-ry,0deg)) translateY(-7px)!important}
.lw-shine-cta{position:relative;overflow:hidden;isolation:isolate}
.lw-shine-cta:after{position:absolute;content:"";inset:-120% -65%;pointer-events:none;transform:translateX(-140%) rotate(20deg);background:linear-gradient(90deg,transparent,#ffffff69,transparent);transition:transform .78s cubic-bezier(.18,.8,.28,1)}
.lw-shine-cta:hover:after{transform:translateX(140%) rotate(20deg)}
/* InViewStagger adaptation progressive enhancement */
.lw-reveal.lw-pre{opacity:0;transform:translateY(21px) scale(.987)}
.lw-reveal.lw-in{opacity:1;transform:translateY(0) scale(1)}
.lw-reveal{transition:opacity .74s cubic-bezier(.19,1,.22,1),transform .74s cubic-bezier(.19,1,.22,1)}
.lw-reveal[style*="--lw-delay"]{transition-delay:var(--lw-delay)}
/* Interactive scene and range feedback */
.tec-vantage .tec-vantage-range-head output{min-width:46px;padding:4px 8px;text-align:center;background:#e2b28623;border:1px solid #ddbd9380;border-radius:8px}
.tec-vantage-dimming input[type=range]{background:linear-gradient(90deg,#e4ae83 var(--lw-range-pct,72%),#ffffff26 var(--lw-range-pct,72%))!important;border-radius:6px;height:5px;appearance:none;-webkit-appearance:none}
.tec-vantage-dimming input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#f6d4ab;border:3px solid #21434a;box-shadow:0 0 0 3px #e9c9a652;cursor:pointer}
.tec-vantage-dimming input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#f6d4ab;border:3px solid #21434a;box-shadow:0 0 0 3px #e9c9a652;cursor:pointer}
.faq-items details summary{position:relative;padding-right:38px;cursor:pointer}
.faq-items details summary>span{display:inline-grid;place-items:center;height:27px;width:27px;border-radius:50%;background:#deaf822c;color:#a66d44;transition:transform .26s,background .26s}
.faq-items details[open] summary>span{transform:rotate(45deg);background:#d9a67555}
.faq-items details[open]{border-color:#d19e73!important;box-shadow:0 11px 27px #6141281d}
@media(max-width:1100px){
.lw-network-stage{height:580px}
.lw-network-node{width:205px;min-height:76px;padding:11px}
.lw-node-access,.lw-node-cinema{left:calc(50% - 102px)}
.lw-node-lighting,.lw-node-climate{left:0}.lw-node-curtains,.lw-node-voice{right:0}
.lw-orbit-three{width:600px;height:600px}
.lw-network-heading{gap:40px}
}
@media(max-width:800px){
.lw-tec-network{padding:76px 0}
.lw-network-heading{grid-template-columns:1fr;gap:17px}
.lw-network-intro{max-width:650px}
.lw-network-stage{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:35px 0}
.lw-network-orbit{display:none}
.lw-network-core{position:relative;top:auto;left:auto;transform:none;grid-column:1/-1;margin:5px auto 13px;width:165px;height:165px}
.lw-network-core:hover{transform:scale(1.025)}
.lw-network-node,.lw-node-lighting,.lw-node-access,.lw-node-curtains,.lw-node-climate,.lw-node-cinema,.lw-node-voice{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:100%;min-height:75px}
.lw-network-node strong{font-size:11px}
.lw-network-node small{font-size:9px}
.lw-network-bottom{align-items:stretch;flex-direction:column}
.lw-network-metrics{justify-content:space-between}
.lw-network-metrics>span{flex:1;min-width:0}
.lw-network-metrics>span:first-child{border-left:0}
}
@media(max-width:520px){
.lw-tec-network{padding:64px 0}
.lw-network-heading h2{font-size:clamp(35px,9vw,48px)}
.lw-network-intro p{font-size:12px}
.lw-network-node{gap:6px;padding:9px 8px}
.lw-node-icon{width:30px;height:32px;border-radius:8px;font-size:16px}
.lw-node-arrow{display:none}
.lw-network-node strong{font-size:10px}
.lw-network-node small{font-size:8px}
.lw-network-bottom{padding:15px;gap:17px}
.lw-network-metrics strong{font-size:24px}
.lw-network-metrics>span{padding:0 5px}
.lw-network-metrics small{font-size:8px}
}
@media(hover:none),(pointer:coarse){.lw-spot-card:hover{transform:none!important}.lw-spot-card:hover:after{opacity:0}}
@media(prefers-reduced-motion:reduce){
.lw-orbit-ring,.lw-core-aura,.lw-beam:after{animation:none!important}
.lw-reveal.lw-pre{opacity:1;transform:none}
.lw-reveal{transition:none!important}
.lw-network-node,.lw-network-core,.lw-spot-card{transition:none!important}
}

/* Lightswind-style interaction polish and robust moving border beam */
@property --lw-beam-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
.lw-spot-card:after{z-index:2;mix-blend-mode:screen;opacity:0;background:radial-gradient(circle at var(--lw-x) var(--lw-y),#f1c18d33,transparent 60%)}
.lw-spot-card:hover:after{opacity:.85}
.lw-spot-card>*{position:relative;z-index:3}
.lw-network-core:after{content:"";pointer-events:none;position:absolute;inset:0;border-radius:inherit;border:1px solid #e8c29687;box-shadow:inset 0 0 22px #d6b18436}
.lw-tec-network .lw-node-icon{box-shadow:inset 0 1px #ffffff2e}
.lw-tec-network .lw-node-arrow{transition:transform .28s}
.lw-tec-network .lw-network-node:hover .lw-node-arrow{transform:translate(3px,-3px)}
.lw-tec-network .lw-network-node:focus-visible,.lw-tec-network .lw-network-core:focus-visible{outline:2px solid #ffdbab;outline-offset:4px}
/* Adapted BeamGrid/Aurora/GradientBackground language on every service subhero */
body .subhero{isolation:isolate;overflow:hidden}
body .subhero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 82% 28%,#dda57425,transparent 36%),radial-gradient(ellipse at 22% 100%,#63af9c24,transparent 40%)}
body .subhero:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.23;background-image:linear-gradient(90deg,#ffffff10 1px,transparent 1px),linear-gradient(0deg,#ffffff10 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(90deg,transparent 12%,#000 100%)}
body .subhero .shell,body .subhero .subhero-content{position:relative;z-index:2}
body .subhero .subhero-light{filter:blur(25px)}
/* Animated navigation indicators inspired by morphing/dynamic navigation */
body .site-header .nav-links a:not(.nav-cta){position:relative}
body .site-header .nav-links a:not(.nav-cta):after{content:"";position:absolute;bottom:0;left:23%;right:23%;height:2px;background:linear-gradient(90deg,transparent,#ffc896,transparent);transform:scaleX(0);transform-origin:center;transition:transform .24s}
body .site-header .nav-links a:not(.nav-cta):hover:after,body .site-header .nav-links a[aria-current=page]:after{transform:scaleX(1)}
/* Avoid layout jank for cards in reduced-motion mode and touch layouts */
@media(prefers-reduced-motion:reduce){body .site-header .nav-links a:after{transition:none!important}.lw-spot-card{transform:none!important}}
@media(hover:none){.lw-spot-card:after{display:none}.lw-tec-network .lw-network-node:hover{transform:none}}
