/*
Theme Name: AirFlow Liner Pro Launch
Theme URI: https://airflowliner.com
Author: AirFlow Liner
Description: Premium one-page launch theme for AirFlow Liner hard hat cooling system.
Version: 3.0.0
License: GPL-2.0-or-later
Text Domain: airflowliner
*/
:root{--bg:#020508;--panel:#071017;--panel2:#0a141c;--line:#243440;--line2:#334651;--blue:#13aefb;--blue2:#00d4ff;--text:#f3f8fb;--muted:#a9c0cf;--soft:#d8e8f0;--radius:18px;--shadow:0 30px 90px rgba(0,0,0,.55),inset 0 0 60px rgba(19,174,251,.04)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 70% 8%,rgba(19,174,251,.14),transparent 28%),linear-gradient(180deg,#020508 0,#041019 38%,#020508 100%);color:var(--text);font-family:Arial Black,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.afl-shell{width:min(100% - 44px,1460px);margin-inline:auto}.afl-topbar{position:sticky;top:0;z-index:50;background:rgba(1,4,7,.94);border-bottom:1px solid #17252d;backdrop-filter:blur(12px)}.afl-nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.afl-logo{display:inline-block;font-size:34px;line-height:.85;font-weight:1000;font-style:italic;letter-spacing:-2.5px}.afl-logo span{color:#fff;text-shadow:0 0 18px rgba(255,255,255,.12)}.afl-logo em{color:var(--blue);font-style:italic}.afl-logo sup{color:var(--blue2);font-size:11px;vertical-align:top;margin-left:2px}.afl-menu{display:flex;align-items:center;gap:30px;font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:#dbe9f0}.afl-menu a{opacity:.9}.afl-menu a:hover{color:var(--blue)}.afl-menu .nav-cta{background:var(--blue);color:#001018;border-radius:8px;padding:13px 19px;box-shadow:0 0 22px rgba(19,174,251,.45);opacity:1}.afl-hero{padding:52px 0 24px}.afl-hero-grid{display:grid;grid-template-columns:520px 1fr;gap:28px;align-items:stretch}.afl-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(12,24,32,.95),rgba(2,6,10,.96));box-shadow:var(--shadow);overflow:hidden}.afl-intro{padding:58px 44px;min-height:590px;display:flex;flex-direction:column;justify-content:center}.afl-logo-big{font-size:68px;margin-bottom:10px}.afl-tag{font-family:Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:1.6px;margin:0 0 28px;color:#fff;font-size:20px}.eyebrow{font-family:Arial,Helvetica,sans-serif;color:var(--blue2);text-transform:uppercase;letter-spacing:.8px;font-size:14px;font-weight:900;margin:0 0 16px}.afl-intro h1{font-size:52px;line-height:.98;margin:0 0 24px;text-transform:uppercase;letter-spacing:-1px}.afl-lead{font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.55;color:#e4f2f8;margin:0 0 28px}.afl-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin:4px 0 22px}.afl-feature-grid span,.stripe-item span{font-family:Arial,Helvetica,sans-serif;display:flex;gap:10px;align-items:center;color:#f2fbff;font-weight:700}.afl-feature-grid span:before,.stripe-item span:before{content:'✦';display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--blue);color:white;font-size:12px;box-shadow:0 0 15px rgba(19,174,251,.55)}.button-row{display:flex;gap:18px;flex-wrap:wrap}.afl-btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#1bb9ff,#068fea);color:#fff;border-radius:8px;padding:17px 25px;font-weight:1000;text-transform:uppercase;letter-spacing:.6px;font-size:13px;box-shadow:0 0 28px rgba(19,174,251,.38)}.afl-btn.secondary{background:transparent;border:1px solid #aab7be;color:#fff;box-shadow:none}.afl-visual{position:relative;min-height:590px;padding:26px 28px}.afl-title{text-align:center;color:var(--blue2);font-size:28px;line-height:1.1;text-transform:uppercase;letter-spacing:1px;margin:0 0 6px}.afl-hardhat{position:absolute;inset:88px 34px 30px}.shell{position:absolute;left:12%;right:12%;top:10px;height:245px;border-radius:260px 260px 50px 50px;background:linear-gradient(180deg,#fff 0%,#e3e8eb 43%,#9ea8ad 100%);box-shadow:inset 0 -28px 50px rgba(0,0,0,.18),0 35px 80px rgba(0,0,0,.6)}.shell:after{content:'';position:absolute;left:-7%;right:-7%;bottom:-32px;height:45px;border-radius:50%;background:linear-gradient(90deg,#cfd7dc,#fff,#cbd3d8)}.suspension{position:absolute;left:23%;right:23%;top:132px;height:150px;background:linear-gradient(#222b31,#06090c);border-radius:0 0 165px 165px;border:22px solid #141c22;border-top:14px solid #1d252a;box-shadow:inset 0 0 0 12px rgba(255,255,255,.05)}.duct{position:absolute;left:17%;right:17%;height:210px;border-radius:0 0 270px 270px;border:10px solid var(--blue);border-top:0;top:105px;filter:drop-shadow(0 0 10px rgba(19,174,251,.7))}.duct2{left:21%;right:21%;top:128px;height:165px;border-width:7px;opacity:.85}.duct3{left:28%;right:28%;top:150px;height:112px;border-width:6px;opacity:.75}.outlets{position:absolute;left:27%;right:27%;top:112px;display:flex;justify-content:space-around}.outlets i{width:21px;height:8px;background:#020405;border-radius:8px}.flowarrow{position:absolute;width:6px;height:96px;background:linear-gradient(var(--blue),transparent);border-radius:10px;filter:drop-shadow(0 0 8px var(--blue));animation:pulse 1.8s infinite}.flowarrow:after{content:'';position:absolute;left:-7px;bottom:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:17px solid var(--blue)}.a1{left:36%;top:130px}.a2{left:48%;top:125px}.a3{left:60%;top:130px}.a4{left:42%;top:194px;height:78px}.a5{left:69%;top:188px;height:76px}.sideflow{position:absolute;width:95px;height:95px;border:8px solid var(--blue);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;filter:drop-shadow(0 0 8px var(--blue))}.sf1{left:20%;top:210px;transform:rotate(120deg)}.sf2{right:20%;top:210px;transform:rotate(-45deg)}.blower{position:absolute;left:34%;right:34%;bottom:40px;min-height:82px;border-radius:16px;background:#20272c;border:1px solid #4a5861;text-align:center;font-size:26px;font-style:italic;padding:18px 12px;box-shadow:0 20px 45px rgba(0,0,0,.55)}.blower em{display:block;color:var(--blue);font-style:normal;margin-top:6px}.battery{position:absolute;right:8%;bottom:74px;width:68px;height:68px;background:#252b2f;border:3px solid #0b7faf;border-radius:15px}.battery:after{content:'';position:absolute;inset:14px;background:#050708;border-radius:4px}.label{position:absolute;font-family:Arial,Helvetica,sans-serif;max-width:185px}.label b{display:block;color:#fff;text-transform:uppercase;font-size:18px;letter-spacing:.4px}.label small{color:#dcecf4;line-height:1.35}.label:before{content:'';position:absolute;top:10px;width:92px;height:1px;background:var(--blue)}.l1{left:30px;top:120px}.l1:before{left:105px}.l2{right:30px;top:120px}.l2:before{right:112px}.l3{right:20px;top:315px}.l3:before{right:120px}.l4{right:46px;bottom:72px}.l4:before{right:125px}.l5{left:26px;bottom:88px}.l5:before{left:135px}@keyframes pulse{0%,100%{opacity:.5;transform:translateY(-5px)}50%{opacity:1;transform:translateY(12px)}}.panel-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:14px;margin-top:14px}.panel{padding:24px}.panel h2{margin:0 0 20px;color:var(--blue2);text-transform:uppercase;letter-spacing:1px;text-align:center;font-size:26px}.flow-panel{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:center}.flow-list{margin:0;padding:0;list-style:none;counter-reset:steps;display:grid;gap:20px}.flow-list li{counter-increment:steps;display:grid;grid-template-columns:44px 1fr;gap:12px;font-family:Arial,Helvetica,sans-serif}.flow-list li:before{content:counter(steps);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);font-family:Arial Black,Arial;font-weight:1000}.flow-list b{display:block;color:#fff;margin-bottom:6px}.flow-list span{color:#c6d7e1;line-height:1.35}.mini-helmet{position:relative;height:330px}.mini-helmet .shell{left:4%;right:4%;top:70px;height:130px}.mini-helmet .suspension{left:20%;right:20%;top:142px;height:110px;border-width:14px}.mini-helmet .duct{left:11%;right:11%;top:130px;height:160px;border-width:7px}.mini-helmet .flowarrow{height:58px}.mini-helmet .a1{left:45%;top:128px}.mini-helmet .a2{left:57%;top:140px}.mini-helmet .a3{left:35%;top:145px}.parts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.part-card{min-height:205px;padding:18px;border:1px solid var(--line2);border-radius:14px;background:rgba(255,255,255,.045);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.part-icon{height:92px;width:112px;margin-bottom:12px;position:relative}.icon-ring{width:78px;height:78px;border-radius:50%;border:12px solid #202a31;box-shadow:inset 0 0 0 8px rgba(19,174,251,.7),0 0 20px rgba(19,174,251,.18)}.icon-fan{border-radius:18px;background:radial-gradient(circle,#050608 14%,#1c2125 15%,#050608 29%,#2b363e 30%);border:1px solid #4d5c65}.icon-batt{border-radius:13px;background:linear-gradient(90deg,#141414,#333,#151515);border:1px solid #57636a}.icon-cable{border:7px solid #222;border-left-color:transparent;border-radius:50%;transform:rotate(-20deg)}.part-card b{font-size:16px}.part-card span{font-family:Arial,Helvetica,sans-serif;color:var(--muted);font-size:14px;margin-top:5px}.stripe{margin-top:14px;padding:18px 24px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.stripe-item{font-family:Arial,Helvetica,sans-serif;border-right:1px solid var(--line);padding-right:18px}.stripe-item:last-child{border-right:0}.stripe-item b{display:block;text-transform:uppercase;font-size:12px;margin:12px 0 6px}.stripe-item p{margin:0;color:#b9cbd5;font-size:13px;line-height:1.35}.install-spec{display:grid;grid-template-columns:1.35fr .85fr;gap:14px;margin-top:14px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{position:relative;padding:15px;border:1px solid var(--line2);border-radius:14px;background:rgba(255,255,255,.055);min-height:185px;text-align:center;font-family:Arial,Helvetica,sans-serif}.step strong{position:absolute;left:13px;top:13px;width:28px;height:28px;background:var(--blue);border-radius:50%;display:grid;place-items:center;font-family:Arial Black,Arial}.step-img{height:95px;border-radius:10px;background:radial-gradient(circle at 50% 25%,#eef4f7 0 18%,#212b32 19% 40%,#06090d 41%);margin-bottom:12px}.step p{margin:0;color:#e3eef4;font-size:13px;line-height:1.35}.worker-card{min-height:455px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;background:linear-gradient(180deg,transparent 10%,rgba(0,0,0,.7)),radial-gradient(circle at 55% 25%,#dce9ef 0 9%,#071017 10% 19%,transparent 20%),linear-gradient(130deg,#162c38,#071017 55%,#020508);padding:28px}.worker-card h2{font-size:34px;line-height:1.05;color:#fff;margin-bottom:6px}.worker-card p{font-family:Arial,Helvetica,sans-serif;font-size:18px;margin:0 0 14px}.spec-market{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.specs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.specs span,.markets span{font-family:Arial,Helvetica,sans-serif;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.045);color:#dcecf4}.markets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}.bottom-badges{margin:20px 0 0;padding:22px 0;border-top:1px solid #17252d;background:#05090d}.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;text-transform:uppercase}.badges b{font-size:14px}.afl-footer{padding:30px 0;color:var(--muted);font-family:Arial,Helvetica,sans-serif}.afl-note{border-left:3px solid var(--blue);padding-left:14px;font-size:13px;line-height:1.45}@media(max-width:1100px){.afl-hero-grid,.panel-grid,.flow-panel,.install-spec,.spec-market{grid-template-columns:1fr}.afl-menu{display:none}.afl-intro{min-height:auto}.afl-visual{min-height:560px}.parts{grid-template-columns:repeat(2,1fr)}.stripe{grid-template-columns:1fr 1fr}.stripe-item{border-right:0}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.afl-shell{width:min(100% - 18px,1460px)}.afl-nav{height:64px}.afl-logo{font-size:28px}.afl-hero{padding:18px 0}.afl-intro{padding:28px 22px}.afl-logo-big{font-size:46px}.afl-intro h1{font-size:34px}.afl-feature-grid,.parts,.stripe,.steps,.specs,.markets,.badges{grid-template-columns:1fr}.afl-visual{min-height:420px;padding:20px 10px}.afl-hardhat{transform:scale(.7);transform-origin:top center;left:-25%;right:-25%;top:70px}.label{display:none}.button-row{display:block}.afl-btn{width:100%;margin-top:10px}.panel{padding:18px}.worker-card h2{font-size:28px}.bottom-badges{display:none}}
