/* AeroLakeland Main Stylesheet — v183
 * Extracted from index.php for maintainability.
 * Enqueued via wp_enqueue_style() in functions.php
 */

/* =====================================================
   AEROLAKELAND COMPLETE STYLES
   ===================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:#080d1a;color:#e8eeff;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;cursor:pointer}
button{cursor:pointer;font-family:'DM Sans',sans-serif;border:none;outline:none}
img{max-width:100%;height:auto;display:block}
iframe{border:none}

:root{
  --sky:#080d1a;--sky2:#0c1525;
  --accent:#00d4ff;--accent2:#ff6b2b;
  --white:#e8eeff;--muted:#6a7fa8;
  --border:rgba(255,255,255,.07);
}

/* ---- PAGE SYSTEM ---- */
.al-page{display:none}
.al-page.active{display:block;animation:fadeUp .35s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ---- NAV ---- */
.al-nav{
  position:sticky;top:0;z-index:9999;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;height:64px;
  background:rgba(8,13,26,.97);
  border-bottom:1px solid var(--border);
  gap:12px;
}
.al-logo{font-family:Bebas Neue,sans-serif;font-size:clamp(16px,3.5vw,20px);letter-spacing:3px;color:var(--accent);cursor:pointer;flex-shrink:0}
.al-logo span{color:var(--white)}
.al-nav-links{display:flex;gap:4px}
.al-nav-links a{font-size:12px;letter-spacing:.5px;color:var(--muted);padding:0 12px;height:64px;display:flex;align-items:center;border-bottom:2px solid transparent;transition:all .2s;cursor:pointer;white-space:nowrap}
.al-nav-links a:hover,.al-nav-links a.active{color:var(--white);border-bottom-color:var(--accent)}
.al-btn{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;padding:9px 18px;border-radius:4px;letter-spacing:.4px;transition:all .15s;cursor:pointer;white-space:nowrap}
.al-btn-primary{background:var(--accent);color:#000}
.al-btn-primary:hover{opacity:.85}
.al-btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.al-btn-ghost:hover{background:rgba(0,212,255,.1)}
.al-hamburger{display:none;flex-direction:column;gap:5px;padding:8px;background:none;border:none;cursor:pointer;flex-shrink:0}
.al-hamburger span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:all .3s}
.al-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.al-hamburger.open span:nth-child(2){opacity:0}
.al-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.al-drawer{display:none;flex-direction:column;background:rgba(8,13,26,.99);border-bottom:1px solid var(--border);position:sticky;top:64px;z-index:9998}
.al-drawer.open{display:flex}
.al-drawer a{font-size:15px;color:var(--muted);padding:16px 5%;border-bottom:1px solid var(--border);cursor:pointer;transition:all .2s}
.al-drawer a:hover{color:var(--white);background:rgba(0,212,255,.04)}
.al-drawer-cta{margin:16px 5% 20px;padding:13px;background:var(--accent);color:#000;font-size:14px;font-weight:500;text-align:center;border-radius:4px;cursor:pointer}

/* ---- HERO ---- */
.al-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,56px);align-items:center;padding:clamp(40px,7vw,80px) 5%;position:relative;overflow:hidden;min-height:440px}
.al-hero-bg{position:absolute;right:5%;top:10%;width:min(380px,45vw);height:min(380px,45vw);border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,.06) 0%,transparent 70%);pointer-events:none}
.al-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,212,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.025) 1px,transparent 1px);background-size:36px 36px;pointer-events:none}
.al-eyebrow{font-size:clamp(9px,2vw,11px);letter-spacing:3px;color:var(--accent);text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.al-eyebrow::before{content:'';width:20px;height:1px;background:var(--accent);flex-shrink:0}
.al-h1{font-family:Bebas Neue,sans-serif;font-size:clamp(38px,8vw,72px);line-height:.92;letter-spacing:2px;margin-bottom:16px;color:var(--accent)}
.al-hero-p{font-size:clamp(13px,2.5vw,15px);color:var(--muted);line-height:1.75;margin-bottom:22px;max-width:420px}
.al-hero-btns{display:flex;gap:10px;flex-wrap:wrap}
.al-trust-row{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.al-pill{font-size:clamp(9px,2vw,11px);color:var(--muted);border:1px solid rgba(255,255,255,.1);padding:5px 10px;border-radius:20px;display:flex;align-items:center;gap:5px}
.al-pill::before{content:'✓';color:var(--accent);font-size:9px}
.al-cam{border:1px solid rgba(0,212,255,.2);border-radius:10px;overflow:hidden;background:#0a1525;width:100%}
.al-cam-bar{display:flex;justify-content:space-between;padding:7px 12px;border-bottom:1px solid rgba(0,212,255,.1);font-size:9px;letter-spacing:2px;color:var(--accent)}
.al-rec{width:6px;height:6px;border-radius:50%;background:#f03;display:inline-block;animation:blink 1.4s infinite;margin-right:4px}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.al-cam-tele{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px;padding:6px 12px;border-top:1px solid rgba(0,212,255,.1);font-size:clamp(7px,1.5vw,8px);letter-spacing:1px;color:rgba(0,212,255,.6)}
.al-video-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}
.al-video-wrap iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:178%;height:100%;pointer-events:none}
.al-hud{position:absolute;inset:0;pointer-events:none;z-index:3}
.al-hc{position:absolute;width:10px;height:10px}
.al-hc.tl{top:6px;left:6px;border-top:1px solid rgba(0,212,255,.6);border-left:1px solid rgba(0,212,255,.6)}
.al-hc.tr{top:6px;right:6px;border-top:1px solid rgba(0,212,255,.6);border-right:1px solid rgba(0,212,255,.6)}
.al-hc.bl{bottom:6px;left:6px;border-bottom:1px solid rgba(0,212,255,.6);border-left:1px solid rgba(0,212,255,.6)}
.al-hc.br{bottom:6px;right:6px;border-bottom:1px solid rgba(0,212,255,.6);border-right:1px solid rgba(0,212,255,.6)}
.al-hrec{position:absolute;top:7px;right:9px;font-size:7px;color:rgba(255,60,60,.9);display:flex;align-items:center;gap:3px;background:rgba(0,0,0,.4);padding:1px 5px;border-radius:2px}
.al-hrec::before{content:'';width:5px;height:5px;border-radius:50%;background:#f03;animation:blink 1.2s infinite;flex-shrink:0}
.al-hlbl{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);font-size:7px;letter-spacing:1.5px;color:rgba(0,212,255,.75);white-space:nowrap;background:rgba(0,0,0,.35);padding:1px 6px;border-radius:2px}
.al-hgrid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,212,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.05) 1px,transparent 1px);background-size:33.33% 33.33%}

/* ---- STATS ---- */
.al-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.al-stat{padding:clamp(14px,3vw,22px) 16px;border-right:1px solid var(--border);text-align:center}
.al-stat:last-child{border-right:none}
.al-stat-num{font-family:Bebas Neue,sans-serif;font-size:clamp(28px,5vw,42px);color:var(--accent);line-height:1}
.al-stat-lbl{font-size:clamp(9px,1.8vw,11px);color:var(--muted);margin-top:3px;letter-spacing:.5px}

/* ---- SECTIONS ---- */
.al-section{padding:clamp(36px,6vw,60px) 5%}
.al-sec-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(20px,4vw,32px);flex-wrap:wrap;gap:8px}
.al-sec-title{font-family:Bebas Neue,sans-serif;font-size:clamp(26px,5vw,40px);letter-spacing:2px}
.al-sec-title em{color:var(--accent);font-style:normal}
.al-sec-link{font-size:12px;color:var(--accent);border-bottom:1px solid rgba(0,212,255,.3);cursor:pointer;white-space:nowrap}

/* ---- SERVICE CARDS ---- */
.al-svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,2vw,14px)}
.al-card{background:var(--sky2);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .2s,transform .2s;cursor:pointer;position:relative}
.al-card:hover{border-color:rgba(0,212,255,.4);transform:translateY(-3px)}
.al-card.warm:hover{border-color:rgba(255,107,43,.4)}
.al-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);z-index:2;pointer-events:none}
.al-card.warm::after{background:linear-gradient(90deg,var(--accent2),transparent)}
.al-card-win{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#000}
.al-card-win iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:178%;height:100%;pointer-events:none}
.al-card-body{padding:clamp(10px,2vw,14px)}
.al-card-icon{font-size:clamp(16px,3vw,20px);margin-bottom:8px}
.al-card-name{font-weight:500;font-size:clamp(11px,2vw,14px);margin-bottom:5px}
.al-card-desc{font-size:clamp(10px,1.8vw,12px);color:var(--muted);line-height:1.6}
.al-card-price{margin-top:10px;font-size:clamp(9px,1.8vw,11px);color:var(--accent);letter-spacing:.5px;padding-top:8px;border-top:1px solid var(--border)}
.al-card.warm .al-card-price{color:var(--accent2)}

/* ---- PORTFOLIO GRID ---- */
.al-port-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:clamp(130px,17vw,190px) clamp(130px,17vw,190px);gap:6px;border-radius:10px;overflow:hidden}
.al-pc{background:var(--sky2);position:relative;overflow:hidden;cursor:pointer}
.al-pc:first-child{grid-row:1/3}
.al-pc img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.al-pc:hover img{transform:scale(1.05)}
.al-pc-ov{position:absolute;inset:0;background:rgba(0,212,255,.12);opacity:0;transition:opacity .2s;display:flex;align-items:flex-end;padding:12px}
.al-pc:hover .al-pc-ov{opacity:1}
.al-pc-tag{font-size:clamp(8px,1.5vw,10px);letter-spacing:1.5px;color:var(--accent);text-transform:uppercase}

/* ---- TESTIMONIALS ---- */
.al-test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,2vw,14px)}
.al-test-card{background:var(--sky2);border:1px solid var(--border);border-radius:10px;padding:clamp(14px,3vw,20px)}
.al-stars{color:var(--accent2);font-size:12px;letter-spacing:2px;margin-bottom:10px}
.al-test-q{font-size:clamp(11px,2vw,13px);color:var(--muted);line-height:1.65;margin-bottom:12px}
.al-test-name{font-size:clamp(11px,2vw,13px);font-weight:500}
.al-test-role{font-size:clamp(9px,1.8vw,11px);color:var(--muted)}

/* ---- PRICING ---- */




.al-pop{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--accent);color:#000;font-size:9px;font-weight:500;padding:3px 12px;border-radius:20px;white-space:nowrap;letter-spacing:.4px}
.al-ptier{font-size:clamp(9px,1.8vw,11px);letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;margin-bottom:10px}
.al-pbig{font-family:Bebas Neue,sans-serif;font-size:clamp(34px,5vw,50px);line-height:1;letter-spacing:1px}
.al-pbig sup{font-size:clamp(14px,2.5vw,18px);vertical-align:top;margin-top:5px;display:inline-block;color:var(--muted);font-family:'DM Sans',sans-serif;font-weight:300}
.al-pbig span{font-size:clamp(11px,2vw,13px);color:var(--muted);font-family:'DM Sans',sans-serif;font-weight:300}
.al-psub{font-size:clamp(10px,1.8vw,11px);color:var(--muted);margin:4px 0 14px}
.al-pfeats{list-style:none;margin-bottom:16px}
.al-pfeats li{font-size:clamp(10px,1.8vw,12px);color:var(--muted);padding:4px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:7px}
.al-pfeats li::before{content:'→';color:var(--accent);font-size:9px;flex-shrink:0}
.al-pfeats li.off::before{content:'—';color:var(--border)}
.al-pfeats li.off{opacity:.4}
.biwk .al-pfeats li::before{color:var(--accent2)}
.biwk .al-ptier{color:var(--accent2)}

/* ---- CTA STRIP ---- */
.al-cta{margin:0 5% clamp(36px,6vw,56px);border:1px solid rgba(0,212,255,.2);border-radius:12px;padding:clamp(24px,5vw,44px) 5%;display:flex;justify-content:space-between;align-items:center;background:rgba(0,212,255,.025);gap:20px;flex-wrap:wrap}
.al-cta-title{font-family:Bebas Neue,sans-serif;font-size:clamp(24px,4.5vw,38px);letter-spacing:2px;line-height:1.1}
.al-cta-title em{color:var(--accent);font-style:normal}
.al-cta-sub{font-size:clamp(11px,2vw,13px);color:var(--muted);margin-top:6px}
.al-cta-right{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex-shrink:0}

/* ---- FOOTER ---- */
.al-footer{padding:clamp(20px,4vw,28px) 5%;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.al-footer-logo{font-family:Bebas Neue,sans-serif;font-size:clamp(14px,3vw,17px);letter-spacing:3px;color:var(--accent)}
.al-footer-nav{display:flex;gap:clamp(10px,2vw,20px);font-size:clamp(10px,1.8vw,12px);color:var(--muted);flex-wrap:wrap}
.al-footer-nav span{cursor:pointer;transition:color .2s}
.al-footer-nav span:hover{color:var(--white)}
.al-footer-copy{font-size:10px;color:rgba(255,255,255,.2)}

/* ---- SERVICES DETAIL PAGE ---- */
.al-pg-hero{padding:clamp(36px,6vw,60px) 5% clamp(24px,4vw,44px);border-bottom:1px solid var(--border)}
.al-pg-eyebrow{font-size:clamp(9px,2vw,11px);letter-spacing:3px;color:var(--accent);text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-bottom:12px}
.al-pg-eyebrow::before{content:'';width:20px;height:1px;background:var(--accent);flex-shrink:0}
.al-pg-title{font-family:Bebas Neue,sans-serif;font-size:clamp(32px,7vw,56px);letter-spacing:2px;line-height:.95;margin-bottom:14px}
.al-pg-title em{color:var(--accent);font-style:normal}
.al-pg-desc{font-size:clamp(13px,2.5vw,15px);color:var(--muted);line-height:1.7;max-width:680px}
.al-svc-table{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:0 5% clamp(36px,6vw,56px)}
.al-svc-row{display:grid;grid-template-columns:1fr 2fr auto;border-bottom:1px solid var(--border);padding:clamp(16px,3vw,24px);align-items:start;gap:clamp(12px,2vw,24px);transition:background .2s}
.al-svc-row:last-child{border-bottom:none}
.al-svc-row:hover{background:rgba(0,212,255,.025)}
.al-svc-left{display:flex;align-items:center;gap:12px}
.al-svc-ico{width:42px;height:42px;border-radius:8px;background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.2);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.al-svc-ico.warm{background:rgba(255,107,43,.08);border-color:rgba(255,107,43,.2)}
.al-svc-name{font-weight:500;font-size:clamp(12px,2.5vw,14px)}
.al-svc-sub{font-size:clamp(9px,1.8vw,11px);color:var(--muted);margin-top:3px}
.al-svc-desc{font-size:clamp(11px,2vw,13px);color:var(--muted);line-height:1.7}
.al-chips{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.al-chip{font-size:clamp(9px,1.8vw,10px);padding:3px 9px;border-radius:12px;border:1px solid var(--border);color:var(--muted)}
.al-svc-price-col{text-align:right;flex-shrink:0}
.al-svc-from{font-size:clamp(9px,1.8vw,10px);color:var(--muted);letter-spacing:.5px;margin-bottom:3px}
.al-svc-amt{font-family:Bebas Neue,sans-serif;font-size:clamp(20px,3vw,28px);color:var(--accent);letter-spacing:1px}
.al-faq{padding:0 5% clamp(36px,6vw,56px)}
.al-faq-item{border-bottom:1px solid var(--border);padding:clamp(14px,3vw,18px) 0;cursor:pointer}
.al-faq-q{font-size:clamp(12px,2.5vw,14px);font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:12px}
.al-faq-q span{color:var(--accent);font-size:20px;transition:transform .25s;flex-shrink:0}
.al-faq-a{font-size:clamp(11px,2vw,13px);color:var(--muted);line-height:1.75;max-height:0;overflow:hidden;transition:max-height .35s ease,margin-top .2s}
.al-faq-item.open .al-faq-a{max-height:300px;margin-top:10px}
.al-faq-item.open .al-faq-q span{transform:rotate(45deg)}

/* ---- PORTFOLIO PAGE ---- */
.al-port-hero{padding:clamp(36px,6vw,60px) 5% clamp(20px,4vw,36px);display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:16px}
.al-yt-btn{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,80,80,.4);border-radius:8px;padding:10px 16px;background:rgba(255,0,0,.06);font-size:clamp(11px,2vw,13px);font-weight:500;cursor:pointer;white-space:nowrap;color:var(--white)}
.al-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:clamp(16px,3vw,24px)}
.al-filter{font-size:clamp(10px,2vw,12px);padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--muted);transition:all .2s;cursor:pointer}
.al-filter:hover,.al-filter.active{background:var(--accent);color:#000;border-color:var(--accent)}
.al-yt-section{padding:0 5% clamp(36px,6vw,56px)}
.al-yt-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(8px,1.5vw,12px);margin-top:clamp(16px,3vw,24px)}
.al-yt-card{background:var(--sky2);border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s}
.al-yt-card:hover{border-color:rgba(0,212,255,.35);transform:translateY(-2px)}
.al-yt-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0a1a2a}
.al-yt-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.al-yt-card:hover .al-yt-thumb img{transform:scale(1.04)}
.al-yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);opacity:0;transition:opacity .2s}
.al-yt-card:hover .al-yt-play{opacity:1}
.al-yt-play-btn{width:46px;height:46px;border-radius:50%;background:rgba(200,0,0,.9);display:flex;align-items:center;justify-content:center}
.al-yt-play-btn svg{width:18px;height:18px;fill:white;margin-left:3px}
.al-yt-info{padding:6px 10px 8px}
.al-yt-title{font-size:clamp(11px,2vw,13px);font-weight:500;margin-bottom:5px;line-height:1.4}
.al-yt-meta{font-size:clamp(9px,1.8vw,11px);color:var(--muted)}
.al-yt-cta{text-align:center;padding:clamp(20px,4vw,32px);border-top:1px solid var(--border)}
.al-yt-cta p{font-size:clamp(11px,2vw,13px);color:var(--muted);margin-bottom:16px}

/* ---- VIDEO MODAL ---- */
.al-modal{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .25s}
.al-modal.open{opacity:1;pointer-events:all}
.al-modal-box{width:min(740px,100%);background:var(--sky2);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.al-modal-top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}
.al-modal-ttl{font-size:clamp(11px,2vw,13px);font-weight:500;max-width:80%}
.al-modal-close{background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;line-height:1;padding:0}
.al-modal-close:hover{color:var(--white)}
.al-modal-vid{position:relative;aspect-ratio:16/9}
.al-modal-vid iframe{width:100%;height:100%;display:block}

/* ---- MAPPING PAGE ---- */
.al-map-featured{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#050a14}
.al-map-feat-label{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#080d1a;border-bottom:1px solid var(--border)}
.al-map-feat-iframe{position:relative;width:100%;aspect-ratio:16/7}
.al-map-feat-iframe iframe{position:absolute;inset:0;width:100%;height:100%;border:none;display:block}
.al-map-feat-foot{display:flex;justify-content:space-between;align-items:center;padding:7px 14px;background:#080d1a;border-top:1px solid var(--border)}
.al-map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.al-map-card{background:var(--sky2);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.al-map-card-label{padding:10px 14px;font-size:12px;font-weight:500;border-bottom:1px solid var(--border)}
.al-map-card-iframe{position:relative;width:100%;aspect-ratio:4/3}
.al-map-card-iframe iframe{position:absolute;inset:0;width:100%;height:100%;border:none;display:block}
.al-map-card-desc{padding:10px 14px;font-size:11px;color:var(--muted);line-height:1.6}
@media(max-width:768px){.al-map-grid{grid-template-columns:1fr}}

/* ---- ABOUT PAGE ---- */
.al-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,48px);padding:clamp(36px,6vw,60px) 5%;align-items:start}
.al-about-sticky{position:sticky;top:80px}
.al-about-cam{border:1px solid rgba(0,212,255,.2);border-radius:10px;overflow:hidden;background:#0a1525}
.al-about-card{background:var(--sky2);border:1px solid var(--border);border-radius:10px;padding:clamp(14px,3vw,20px);margin-top:14px}
.al-about-card-title{font-size:clamp(9px,1.8vw,11px);letter-spacing:1.5px;color:var(--accent);text-transform:uppercase;margin-bottom:12px}
.al-cert-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}
.al-cert-row:last-child{border-bottom:none}
.al-cert-ico{width:34px;height:34px;border-radius:6px;background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.2);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.al-cert-name{font-size:clamp(11px,2vw,13px);font-weight:500}
.al-cert-sub{font-size:clamp(9px,1.8vw,10px);color:var(--muted)}
.al-about-text h2{font-family:Bebas Neue,sans-serif;font-size:clamp(30px,5vw,46px);letter-spacing:2px;margin-bottom:16px}
.al-about-text h2 em{color:var(--accent);font-style:normal}
.al-about-text p{font-size:clamp(12px,2vw,14px);color:var(--muted);line-height:1.8;margin-bottom:14px}
.al-vals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.al-val{background:var(--sky2);border:1px solid var(--border);border-radius:8px;padding:clamp(12px,2.5vw,16px)}
.al-val-ico{font-size:20px;margin-bottom:8px}
.al-val-name{font-size:clamp(11px,2vw,13px);font-weight:500;margin-bottom:4px}
.al-val-desc{font-size:clamp(10px,1.8vw,11px);color:var(--muted);line-height:1.6}

/* ---- CONTACT PAGE ---- */
.al-contact-grid{display:grid;grid-template-columns:1fr 1.4fr}
.al-contact-left{padding:clamp(36px,6vw,56px) 5%;border-right:1px solid var(--border)}
.al-contact-left h2{font-family:Bebas Neue,sans-serif;font-size:clamp(30px,5vw,44px);letter-spacing:2px;margin-bottom:8px}
.al-contact-left h2 em{color:var(--accent);font-style:normal}
.al-contact-left p{font-size:clamp(12px,2vw,14px);color:var(--muted);line-height:1.75;margin-bottom:28px}
.al-ci-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}
.al-ci-ico{width:36px;height:36px;border-radius:7px;background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.18);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:2px}
.al-ci-lbl{font-size:clamp(9px,1.8vw,10px);letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-bottom:3px}
.al-ci-val{font-size:clamp(12px,2vw,13px)}
.al-contact-right{padding:clamp(36px,6vw,56px) 5%;background:var(--sky2)}
.al-form-title{font-family:Bebas Neue,sans-serif;font-size:clamp(18px,3vw,22px);letter-spacing:2px;margin-bottom:22px}
.al-fg{margin-bottom:16px}
.al-flbl{font-size:clamp(9px,1.8vw,11px);letter-spacing:.6px;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:7px}
.al-input,.al-select,.al-textarea{
  width:100%;background:var(--sky);border:1px solid rgba(255,255,255,.1);
  border-radius:6px;padding:11px 14px;font-family:'DM Sans',sans-serif;
  font-size:clamp(12px,2vw,13px);color:var(--white);outline:none;
  transition:border-color .2s;-webkit-appearance:none;appearance:none;
}
.al-input:focus,.al-select:focus,.al-textarea:focus{border-color:rgba(0,212,255,.5)}
.al-textarea{resize:vertical;min-height:100px;line-height:1.6}
.al-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236a7fa8' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;background-color:var(--sky)}
.al-select option{background:var(--sky)}
.al-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.al-submit{width:100%;padding:13px;background:var(--accent);color:#000;font-size:clamp(13px,2.5vw,15px);font-weight:500;border:none;border-radius:6px;letter-spacing:.4px;margin-top:6px;cursor:pointer;transition:opacity .2s}
.al-submit:hover{opacity:.88}
.al-submit:disabled{opacity:.6;cursor:not-allowed}
.al-form-status{display:none;margin-top:14px;padding:16px;border-radius:8px;font-size:clamp(12px,2vw,13px);text-align:center}

/* ================================================================
   RESPONSIVE BREAKPOINTS
================================================================ */
@media(max-width:1200px){
  .al-svc-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .al-about-grid{grid-template-columns:1fr}
  .al-about-sticky{position:static}
  .al-svc-row{grid-template-columns:1fr}
  .al-svc-price-col{text-align:left}
  .al-contact-grid{grid-template-columns:1fr}
  .al-contact-left{border-right:none;border-bottom:1px solid var(--border)}
}
@media(max-width:768px){
  .al-nav-links{display:none}
  .al-nav-cta{display:none}
  .al-hamburger{display:flex}
  .al-hero{grid-template-columns:1fr;min-height:auto;padding-top:36px}
  .al-hero-bg{display:none}
  .al-hero-p{max-width:100%}
  .al-stats{grid-template-columns:repeat(2,1fr)}
  .al-stat:nth-child(2){border-right:none}
  .al-stat:nth-child(3),.al-stat:nth-child(4){border-top:1px solid var(--border)}
  .al-stat:nth-child(4){border-right:none}
  .al-svc-grid{grid-template-columns:repeat(2,1fr)}
  .al-port-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,clamp(120px,25vw,160px))}
  .al-pc:first-child{grid-row:1;grid-column:1/-1}
  .al-test-grid{grid-template-columns:1fr;gap:12px}
  .al-cta{flex-direction:column;align-items:flex-start}
  .al-cta-right{width:100%;align-items:stretch}
  .al-cta-right .al-btn{width:100%;text-align:center;padding:13px}
  .al-footer{flex-direction:column;align-items:flex-start}
  .al-port-hero{flex-direction:column;align-items:flex-start}
  .al-yt-grid{grid-template-columns:repeat(3,1fr)}
  .al-form-row{grid-template-columns:1fr}
  .al-vals{grid-template-columns:1fr 1fr}
  .al-svc-table{margin:0 0 clamp(36px,6vw,56px);border-radius:0;border-left:none;border-right:none}
}
@media(max-width:480px){
  .al-svc-grid{grid-template-columns:1fr}
  .al-port-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,clamp(160px,45vw,220px))}
  .al-pc:first-child{grid-row:1;grid-column:1}
  .al-yt-grid{grid-template-columns:1fr}
  .al-vals{grid-template-columns:1fr}
  .al-cam-tele{justify-content:flex-start}
  .al-trust-row{display:none}
}
@media(max-width:360px){
  .al-logo{font-size:15px}
  .al-h1{font-size:32px}
}

/* ---- CALENDLY ---- */
.al-calendly-wrap{margin-top:clamp(24px,4vw,36px);border:1px solid rgba(0,212,255,.2);border-radius:12px;overflow:hidden;background:var(--sky2);max-width:900px;margin-left:auto;margin-right:auto}
.al-calendly-hdr{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.al-calendly-title{font-family:Bebas Neue,sans-serif;font-size:clamp(14px,2.5vw,18px);letter-spacing:2px}
.al-calendly-title em{color:var(--accent);font-style:normal}
.al-calendly-sub{font-size:clamp(10px,1.8vw,12px);color:var(--muted)}
.al-calendly-frame{width:100%}
.al-calendly-frame iframe{width:100%;border:none;display:block}

/* ================================================================
   SPLASH / EMAIL CAPTURE POPUP
================================================================ */
.al-splash-overlay {
  position: fixed;
  inset: 0;
  background: rgba(4, 8, 18, 0.92);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.al-splash-overlay.open {
  opacity: 1;
  pointer-events: all;
}
.al-splash-box {
  position: relative;
  width: min(520px, 100%);
  background: var(--sky2);
  border: 1px solid rgba(0, 212, 255, 0.25);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 0 60px rgba(0, 212, 255, 0.08), 0 24px 64px rgba(0,0,0,0.6);
  animation: splashIn 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
@keyframes splashIn {
  from { transform: scale(0.88) translateY(20px); opacity: 0; }
  to   { transform: scale(1) translateY(0); opacity: 1; }
}
.al-splash-top {
  position: relative;
  background: linear-gradient(135deg, #080d1a 0%, #0c1e38 60%, #071830 100%);
  padding: clamp(28px, 5vw, 44px) clamp(24px, 5vw, 44px) clamp(20px, 4vw, 32px);
  text-align: center;
  border-bottom: 1px solid rgba(0, 212, 255, 0.1);
  overflow: hidden;
}
.al-splash-top::before {
  content: '';
  position: absolute;
  top: -40px; left: 50%; transform: translateX(-50%);
  width: 300px; height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,212,255,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.al-splash-drone-icon {
  font-size: clamp(36px, 7vw, 52px);
  margin-bottom: 10px;
  display: block;
  filter: drop-shadow(0 0 12px rgba(0, 212, 255, 0.4));
}
.al-splash-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(0, 212, 255, 0.1);
  border: 1px solid rgba(0, 212, 255, 0.3);
  border-radius: 20px;
  padding: 4px 14px;
  font-size: clamp(9px, 2vw, 11px);
  letter-spacing: 2px;
  color: var(--accent);
  text-transform: uppercase;
  margin-bottom: 14px;
}
.al-splash-badge::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent);
  animation: blink 1.4s infinite;
}
.al-splash-headline {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(32px, 7vw, 52px);
  letter-spacing: 2px;
  line-height: 0.95;
  margin-bottom: 10px;
  color: var(--white);
}
.al-splash-headline em {
  color: var(--accent);
  font-style: normal;
}
.al-splash-sub {
  font-size: clamp(12px, 2.5vw, 14px);
  color: var(--muted);
  line-height: 1.6;
  max-width: 360px;
  margin: 0 auto;
}
.al-splash-discount {
  display: inline-block;
  margin-top: 14px;
  background: linear-gradient(135deg, var(--accent2), #ff9960);
  color: #000;
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(18px, 4vw, 26px);
  letter-spacing: 2px;
  padding: 6px 20px;
  border-radius: 6px;
}
.al-splash-body {
  padding: clamp(20px, 4vw, 32px) clamp(24px, 5vw, 44px) clamp(24px, 4vw, 36px);
}
.al-splash-form-row {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}
.al-splash-input {
  flex: 1;
  background: var(--sky);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 6px;
  padding: 12px 16px;
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(12px, 2.5vw, 14px);
  color: var(--white);
  outline: none;
  transition: border-color 0.2s;
  -webkit-appearance: none;
}
.al-splash-input:focus {
  border-color: rgba(0, 212, 255, 0.5);
}
.al-splash-input::placeholder { color: var(--muted); }
.al-splash-submit {
  background: var(--accent);
  color: #000;
  border: none;
  border-radius: 6px;
  padding: 12px 22px;
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(12px, 2.5vw, 14px);
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.2s;
  letter-spacing: 0.3px;
}
.al-splash-submit:hover { opacity: 0.88; }
.al-splash-submit:disabled { opacity: 0.6; cursor: not-allowed; }
.al-splash-privacy {
  font-size: clamp(9px, 1.8vw, 11px);
  color: var(--muted);
  text-align: center;
  margin-top: 8px;
}
.al-splash-perks {
  display: flex;
  justify-content: center;
  gap: clamp(12px, 3vw, 24px);
  margin-bottom: clamp(16px, 3vw, 22px);
  flex-wrap: wrap;
}
.al-splash-perk {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: clamp(10px, 2vw, 12px);
  color: var(--muted);
}
.al-splash-perk::before {
  content: '✓';
  color: var(--accent);
  font-size: 10px;
  font-weight: bold;
}
.al-splash-close {
  position: absolute;
  top: 12px; right: 14px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 50%;
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  color: var(--muted);
  font-size: 16px;
  line-height: 1;
  transition: all 0.2s;
  z-index: 10;
}
.al-splash-close:hover {
  background: rgba(255,255,255,0.12);
  color: var(--white);
}
/* Success state */
.al-splash-success {
  display: none;
  text-align: center;
  padding: clamp(20px, 4vw, 32px) clamp(24px, 5vw, 44px) clamp(24px, 4vw, 36px);
}
.al-splash-success-icon {
  font-size: 48px;
  margin-bottom: 12px;
  display: block;
}
.al-splash-code-box {
  background: var(--sky);
  border: 2px dashed rgba(0, 212, 255, 0.4);
  border-radius: 10px;
  padding: 18px;
  margin: 16px 0;
  text-align: center;
}
.al-splash-code-label {
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--muted);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.al-splash-code {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(28px, 6vw, 40px);
  letter-spacing: 6px;
  color: var(--accent);
  cursor: pointer;
  transition: opacity 0.2s;
}
.al-splash-code:hover { opacity: 0.8; }
.al-splash-code-hint {
  font-size: 11px;
  color: var(--muted);
  margin-top: 6px;
}
.al-splash-success-msg {
  font-size: clamp(12px, 2.5vw, 14px);
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 16px;
}
.al-splash-success-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(22px, 5vw, 32px);
  letter-spacing: 2px;
  margin-bottom: 8px;
}
.al-splash-success-title em { color: var(--accent); font-style: normal; }
.al-splash-copied {
  font-size: 11px;
  color: var(--accent);
  margin-top: 6px;
  opacity: 0;
  transition: opacity 0.3s;
}
.al-splash-copied.show { opacity: 1; }


/* ================================================================
   BLOG SECTION
================================================================ */
.al-blog-section { padding: clamp(36px,6vw,60px) 5%; background: var(--sky2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.al-blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(14px,2vw,20px); margin-top: clamp(20px,3vw,28px); }
.al-blog-card { background: var(--sky); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; cursor: pointer; transition: border-color .2s, transform .2s; display: flex; flex-direction: column; }
.al-blog-card:hover { border-color: rgba(0,212,255,.4); transform: translateY(-3px); }
.al-blog-thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; background: var(--sky3); }
.al-blog-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.al-blog-card:hover .al-blog-thumb img { transform: scale(1.06); }
.al-blog-thumb-inner { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; }
.al-blog-cat-badge { position: absolute; top: 10px; left: 10px; background: var(--accent); color: #000; font-size: 9px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; padding: 3px 10px; border-radius: 20px; }
.al-blog-cat-badge.warm { background: var(--accent2); }
.al-blog-thumb-bg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.al-blog-thumb-icon { font-size: clamp(36px,6vw,52px); opacity: .15; }
.al-blog-thumb-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(0,212,255,.04) 1px,transparent 1px), linear-gradient(90deg,rgba(0,212,255,.04) 1px,transparent 1px); background-size: 24px 24px; }
.al-blog-thumb-glow { position: absolute; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle, rgba(0,212,255,.12) 0%, transparent 70%); }
.al-blog-thumb-glow.warm { background: radial-gradient(circle, rgba(255,107,43,.12) 0%, transparent 70%); }
.al-blog-body { padding: clamp(14px,3vw,20px); flex: 1; display: flex; flex-direction: column; }
.al-blog-meta { font-size: clamp(9px,1.8vw,10px); color: var(--muted); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.al-blog-meta::before { content: ''; width: 16px; height: 1px; background: var(--accent); flex-shrink: 0; }
.al-blog-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(16px,3vw,22px); letter-spacing: 1px; line-height: 1.15; margin-bottom: 10px; color: var(--white); }
.al-blog-excerpt { font-size: clamp(11px,2vw,12px); color: var(--muted); line-height: 1.7; flex: 1; }
.al-blog-read-more { margin-top: 14px; font-size: clamp(10px,1.8vw,11px); color: var(--accent); letter-spacing: .5px; display: flex; align-items: center; gap: 6px; }
.al-blog-read-more::after { content: '→'; transition: transform .2s; }
.al-blog-card:hover .al-blog-read-more::after { transform: translateX(4px); }

/* Blog full article modal */
.al-article-overlay { position: fixed; inset: 0; background: rgba(4,8,18,.96); z-index: 88888; display: flex; align-items: flex-start; justify-content: center; padding: 20px 16px; opacity: 0; pointer-events: none; transition: opacity .3s; overflow-y: auto; }
.al-article-overlay.open { opacity: 1; pointer-events: all; }
.al-article-box { width: min(780px,100%); background: var(--sky2); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: auto; animation: fadeUp .3s ease; }
.al-article-hero { background: linear-gradient(135deg, #080d1a 0%, #0c1e38 100%); padding: clamp(28px,5vw,48px) clamp(24px,5vw,48px) clamp(20px,4vw,36px); position: relative; overflow: hidden; border-bottom: 1px solid var(--border); }
.al-article-hero::before { content: ''; position: absolute; top: -60px; right: -60px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(0,212,255,.06) 0%, transparent 70%); pointer-events: none; }
.al-article-cat { display: inline-flex; align-items: center; gap: 6px; background: rgba(0,212,255,.1); border: 1px solid rgba(0,212,255,.3); border-radius: 20px; padding: 3px 12px; font-size: clamp(9px,1.8vw,10px); letter-spacing: 2px; color: var(--accent); text-transform: uppercase; margin-bottom: 14px; }
.al-article-h1 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(26px,5vw,42px); letter-spacing: 1.5px; line-height: 1.05; margin-bottom: 14px; }
.al-article-byline { font-size: clamp(10px,2vw,12px); color: var(--muted); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.al-article-byline span { display: flex; align-items: center; gap: 5px; }
.al-article-content { padding: clamp(24px,5vw,44px) clamp(24px,5vw,48px); }
.al-article-content h2 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(18px,3.5vw,26px); letter-spacing: 1.5px; color: var(--white); margin: clamp(20px,4vw,32px) 0 12px; }
.al-article-content h2 em { color: var(--accent); font-style: normal; }
.al-article-content p { font-size: clamp(12px,2.5vw,15px); color: var(--muted); line-height: 1.85; margin-bottom: 16px; }
.al-article-content strong { color: var(--white); font-weight: 500; }
.al-article-content ul { margin: 0 0 16px 0; padding: 0; list-style: none; }
.al-article-content ul li { font-size: clamp(12px,2.5vw,14px); color: var(--muted); line-height: 1.75; padding: 5px 0; border-bottom: 1px solid var(--border); display: flex; align-items: flex-start; gap: 10px; }
.al-article-content ul li::before { content: '→'; color: var(--accent); font-size: 11px; flex-shrink: 0; margin-top: 3px; }
.al-article-cta { margin: clamp(24px,4vw,36px) 0 0; background: linear-gradient(135deg, rgba(0,212,255,.06), rgba(0,212,255,.02)); border: 1px solid rgba(0,212,255,.2); border-radius: 10px; padding: clamp(18px,4vw,28px); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.al-article-cta-text { font-family: 'Bebas Neue', sans-serif; font-size: clamp(16px,3vw,22px); letter-spacing: 1.5px; }
.al-article-cta-text em { color: var(--accent); font-style: normal; }
.al-article-close-bar { padding: 14px 20px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; }
.al-article-close-btn { background: none; border: 1px solid var(--border); color: var(--muted); font-size: 12px; padding: 7px 16px; border-radius: 6px; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: all .2s; }
.al-article-close-btn:hover { border-color: var(--accent); color: var(--accent); }

/* Blog responsive */
@media(max-width:900px) { .al-blog-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:540px) { .al-blog-grid { grid-template-columns: 1fr; } }


/* ================================================================
   AERO CHATBOT
================================================================ */
.al-chat-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9000;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), #0099cc);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0,212,255,.4);
  transition: transform .2s, box-shadow .2s;
  font-size: 22px;
}
.al-chat-btn:hover { transform: scale(1.08); box-shadow: 0 6px 28px rgba(0,212,255,.55); }
.al-chat-btn.open { background: linear-gradient(135deg, #444, #222); box-shadow: 0 4px 16px rgba(0,0,0,.4); }
.al-chat-bubble {
  position: fixed;
  bottom: 94px;
  right: 24px;
  z-index: 9001;
  width: min(380px, calc(100vw - 32px));
  background: var(--sky2);
  border: 1px solid rgba(0,212,255,.2);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,.5), 0 0 0 1px rgba(0,212,255,.08);
  display: none;
  flex-direction: column;
  max-height: min(580px, calc(100vh - 120px));
  animation: chatIn .25s cubic-bezier(.34,1.56,.64,1);
}
.al-chat-bubble.open { display: flex; }
@keyframes chatIn { from { opacity:0; transform:translateY(16px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
.al-chat-head {
  background: linear-gradient(135deg, #080d1a, #0c1e38);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid rgba(0,212,255,.1);
  flex-shrink: 0;
}
.al-chat-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), #0099cc);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
}
.al-chat-head-name { font-size: 13px; font-weight: 500; color: var(--white); }
.al-chat-head-status { font-size: 10px; color: var(--accent); display: flex; align-items: center; gap: 4px; }
.al-chat-head-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #00e676; flex-shrink: 0; }
.al-chat-head-close { margin-left: auto; background: none; border: none; color: var(--muted); font-size: 18px; cursor: pointer; padding: 2px 6px; border-radius: 4px; transition: color .2s; }
.al-chat-head-close:hover { color: var(--white); }
.al-chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  scroll-behavior: smooth;
}
.al-chat-messages::-webkit-scrollbar { width: 4px; }
.al-chat-messages::-webkit-scrollbar-track { background: transparent; }
.al-chat-messages::-webkit-scrollbar-thumb { background: rgba(0,212,255,.2); border-radius: 2px; }
.al-msg {
  max-width: 85%;
  padding: 10px 13px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.55;
  animation: msgIn .2s ease;
}
@keyframes msgIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
.al-msg.bot {
  background: var(--sky3);
  border: 1px solid var(--border);
  color: var(--white);
  border-bottom-left-radius: 4px;
  align-self: flex-start;
}
.al-msg.user {
  background: linear-gradient(135deg, var(--accent), #0099cc);
  color: #000;
  font-weight: 500;
  border-bottom-right-radius: 4px;
  align-self: flex-end;
}
.al-msg.bot a { color: var(--accent); text-decoration: underline; }
.al-chat-typing {
  display: flex; align-items: center; gap: 4px;
  padding: 10px 13px; background: var(--sky3); border: 1px solid var(--border);
  border-radius: 12px; border-bottom-left-radius: 4px;
  align-self: flex-start; animation: msgIn .2s ease;
}
.al-chat-typing span {
  width: 6px; height: 6px; border-radius: 50%; background: var(--accent);
  animation: typingDot 1.2s infinite;
}
.al-chat-typing span:nth-child(2) { animation-delay: .2s; }
.al-chat-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes typingDot { 0%,60%,100%{opacity:.3;transform:scale(.8)} 30%{opacity:1;transform:scale(1)} }
.al-chat-quick-btns {
  display: flex; flex-wrap: wrap; gap: 6px;
  padding: 0 14px 10px; flex-shrink: 0;
}
.al-chat-qbtn {
  font-size: 11px; padding: 5px 11px; border-radius: 16px;
  border: 1px solid rgba(0,212,255,.35); background: rgba(0,212,255,.06);
  color: var(--accent); cursor: pointer; transition: all .15s;
  font-family: "DM Sans", sans-serif; white-space: nowrap;
}
.al-chat-qbtn:hover { background: rgba(0,212,255,.15); border-color: var(--accent); }
.al-chat-input-row {
  display: flex; gap: 8px; padding: 10px 14px 14px;
  border-top: 1px solid var(--border); flex-shrink: 0;
}
.al-chat-input {
  flex: 1; background: var(--sky); border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px; padding: 9px 13px; font-family: "DM Sans", sans-serif;
  font-size: 13px; color: var(--white); outline: none; transition: border-color .2s;
  -webkit-appearance: none;
}
.al-chat-input:focus { border-color: rgba(0,212,255,.45); }
.al-chat-input::placeholder { color: var(--muted); }
.al-chat-send {
  width: 38px; height: 38px; border-radius: 8px;
  background: var(--accent); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: opacity .2s;
}
.al-chat-send:hover { opacity: .85; }
.al-chat-send:disabled { opacity: .4; cursor: not-allowed; }
.al-chat-send svg { width: 16px; height: 16px; fill: #000; }
.al-chat-badge {
  position: absolute; top: -2px; right: -2px;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--accent2); color: #fff;
  font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid var(--sky); animation: badgePop .3s ease;
}
@keyframes badgePop { from{transform:scale(0)} to{transform:scale(1)} }
.al-chat-btn-wrap { position: fixed; bottom: 24px; right: 24px; z-index: 9000; }


/* ── Video Rotation Fade ── */
.al-video-wrap iframe,
.al-card-win iframe,
.al-cam .al-video-wrap iframe {
  transition: opacity 0.8s ease;
}
.al-video-fade-out {
  opacity: 0 !important;
}


/* ================================================================
   CLIENT SATISFACTION SURVEY
================================================================ */
.al-survey-page {
  min-height: 100vh;
  padding: clamp(36px,6vw,64px) 5% clamp(48px,8vw,80px);
  background: var(--sky);
  display: none;
}
.al-survey-page.active { display: block; }
.al-survey-wrap {
  max-width: 640px;
  margin: 0 auto;
}
.al-survey-header { text-align: center; margin-bottom: clamp(32px,5vw,48px); }
.al-survey-logo { font-family: "Bebas Neue", sans-serif; font-size: clamp(18px,4vw,24px); letter-spacing: 3px; color: var(--accent); margin-bottom: 20px; }
.al-survey-logo span { color: var(--white); }
.al-survey-title { font-family: "Bebas Neue", sans-serif; font-size: clamp(28px,6vw,44px); letter-spacing: 2px; line-height: 1.05; margin-bottom: 12px; }
.al-survey-title em { color: var(--accent); font-style: normal; }
.al-survey-sub { font-size: clamp(13px,2.5vw,15px); color: var(--muted); line-height: 1.7; max-width: 480px; margin: 0 auto; }
.al-survey-card {
  background: var(--sky2);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: clamp(24px,4vw,36px);
  margin-bottom: 16px;
}
.al-survey-q {
  font-size: clamp(13px,2.5vw,15px);
  font-weight: 500;
  color: var(--white);
  margin-bottom: 14px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.al-survey-q-num {
  width: 26px; height: 26px; border-radius: 50%;
  background: rgba(0,212,255,.1); border: 1px solid rgba(0,212,255,.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; color: var(--accent); flex-shrink: 0; margin-top: 1px;
}
/* Star rating */
.al-stars-row { display: flex; gap: 8px; flex-wrap: wrap; }
.al-star-btn {
  width: clamp(36px,8vw,48px); height: clamp(36px,8vw,48px);
  border-radius: 8px; background: var(--sky3); border: 1px solid var(--border);
  font-size: clamp(18px,4vw,24px); cursor: pointer; transition: all .15s;
  display: flex; align-items: center; justify-content: center;
}
.al-star-btn:hover, .al-star-btn.selected { background: rgba(255,107,43,.15); border-color: var(--accent2); transform: scale(1.08); }
/* Rating scale buttons */
.al-rating-row { display: flex; gap: 6px; flex-wrap: wrap; }
.al-rating-btn {
  flex: 1; min-width: clamp(32px,5vw,44px); height: clamp(36px,5vw,44px);
  border-radius: 6px; background: var(--sky3); border: 1px solid var(--border);
  font-size: clamp(12px,2vw,14px); font-weight: 500; color: var(--muted);
  cursor: pointer; transition: all .15s; font-family: "DM Sans", sans-serif;
}
.al-rating-btn:hover, .al-rating-btn.selected {
  background: rgba(0,212,255,.12); border-color: var(--accent); color: var(--accent);
}
.al-rating-labels { display: flex; justify-content: space-between; margin-top: 6px; font-size: 10px; color: var(--muted); }
/* Yes/No toggle */
.al-yesno-row { display: flex; gap: 10px; }
.al-yesno-btn {
  flex: 1; padding: 10px; border-radius: 8px; background: var(--sky3);
  border: 1px solid var(--border); font-size: clamp(13px,2.5vw,15px); font-weight: 500;
  color: var(--muted); cursor: pointer; transition: all .15s; font-family: "DM Sans", sans-serif;
}
.al-yesno-btn:hover { border-color: var(--accent); color: var(--accent); background: rgba(0,212,255,.08); }
.al-yesno-btn.selected-yes { background: rgba(0,212,255,.12); border-color: var(--accent); color: var(--accent); }
.al-yesno-btn.selected-no { background: rgba(255,107,43,.1); border-color: var(--accent2); color: var(--accent2); }
/* Textarea */
.al-survey-textarea {
  width: 100%; background: var(--sky); border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px; padding: 12px 14px; font-family: "DM Sans", sans-serif;
  font-size: clamp(13px,2vw,14px); color: var(--white); outline: none;
  transition: border-color .2s; resize: vertical; min-height: 90px; line-height: 1.6;
  -webkit-appearance: none;
}
.al-survey-textarea:focus { border-color: rgba(0,212,255,.45); }
.al-survey-textarea::placeholder { color: var(--muted); }
/* Checkbox */
.al-survey-check-label {
  display: flex; align-items: flex-start; gap: 10px; cursor: pointer;
  font-size: clamp(12px,2.5vw,14px); color: var(--muted); line-height: 1.6;
}
.al-survey-check-label input[type="checkbox"] {
  width: 18px; height: 18px; border-radius: 4px; border: 1px solid rgba(255,255,255,.2);
  background: var(--sky); accent-color: var(--accent); flex-shrink: 0; margin-top: 2px; cursor: pointer;
}
/* Name/email fields */
.al-survey-input {
  width: 100%; background: var(--sky); border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px; padding: 11px 14px; font-family: "DM Sans", sans-serif;
  font-size: clamp(13px,2vw,14px); color: var(--white); outline: none;
  transition: border-color .2s; -webkit-appearance: none;
}
.al-survey-input:focus { border-color: rgba(0,212,255,.45); }
.al-survey-input::placeholder { color: var(--muted); }
.al-survey-field-label { font-size: clamp(10px,2vw,11px); letter-spacing: .6px; color: var(--muted); text-transform: uppercase; display: block; margin-bottom: 7px; }
.al-survey-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
/* Submit */
.al-survey-submit-wrap { text-align: center; margin-top: 8px; }
.al-survey-submit {
  background: var(--accent); color: #000; border: none; border-radius: 8px;
  padding: 14px 40px; font-family: "DM Sans", sans-serif; font-size: clamp(14px,2.5vw,16px);
  font-weight: 500; cursor: pointer; letter-spacing: .4px; transition: opacity .2s; width: 100%;
}
.al-survey-submit:hover { opacity: .88; }
.al-survey-submit:disabled { opacity: .5; cursor: not-allowed; }
.al-survey-status { text-align: center; margin-top: 16px; font-size: clamp(12px,2vw,14px); padding: 14px; border-radius: 8px; display: none; }
/* Success screen */
.al-survey-success {
  text-align: center; padding: clamp(40px,8vw,72px) clamp(24px,5vw,48px);
  background: var(--sky2); border: 1px solid rgba(0,212,255,.2);
  border-radius: 14px; display: none;
}
.al-survey-success.show { display: block; }
.al-survey-success-icon { font-size: clamp(48px,10vw,72px); margin-bottom: 16px; }
.al-survey-success-title { font-family: "Bebas Neue", sans-serif; font-size: clamp(28px,6vw,42px); letter-spacing: 2px; margin-bottom: 12px; }
.al-survey-success-title em { color: var(--accent); font-style: normal; }
.al-survey-success-msg { font-size: clamp(13px,2.5vw,15px); color: var(--muted); line-height: 1.75; max-width: 440px; margin: 0 auto 24px; }

@media(max-width:480px) {
  .al-survey-row { grid-template-columns: 1fr; }
  .al-rating-btn { min-width: 28px; font-size: 12px; }
}


/* ================================================================
   SERVICES PAGE — Bold Feature Cards
================================================================ */
.al-svc-page-hero {
  padding: clamp(48px,8vw,80px) 5% clamp(32px,5vw,48px);
  text-align: center;
  background: linear-gradient(180deg, rgba(0,212,255,.04) 0%, transparent 100%);
  border-bottom: 1px solid var(--border);
}
.al-svc-page-eyebrow {
  font-size: clamp(10px,2vw,12px); letter-spacing: 3px; color: var(--accent);
  text-transform: uppercase; margin-bottom: 12px;
}
.al-svc-page-title {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(38px,8vw,72px); letter-spacing: 2px; line-height: 1.0;
  margin-bottom: 16px;
}
.al-svc-page-title em { color: var(--accent); font-style: normal; }
.al-svc-page-desc {
  font-size: clamp(14px,2.5vw,16px); color: var(--muted);
  line-height: 1.75; max-width: 600px; margin: 0 auto;
}

/* ── Feature Cards Grid ── */
.al-svc-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px,2vw,20px);
  padding: clamp(32px,5vw,56px) 5%;
}
.al-svc-feat-card {
  background: var(--sky2);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  transition: transform .2s, border-color .2s, box-shadow .2s;
  display: flex; flex-direction: column;
}
.al-svc-feat-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0,212,255,.3);
  box-shadow: 0 12px 40px rgba(0,0,0,.3), 0 0 0 1px rgba(0,212,255,.1);
}
.al-svc-feat-card.warm:hover {
  border-color: rgba(255,107,43,.3);
  box-shadow: 0 12px 40px rgba(0,0,0,.3), 0 0 0 1px rgba(255,107,43,.1);
}

/* Thumbnail */
.al-svc-feat-thumb {
  position: relative; width: 100%; padding-top: 56.25%; overflow: hidden;
  background: var(--sky3);
}
.al-svc-feat-thumb img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; transition: transform .4s ease;
}
.al-svc-feat-card:hover .al-svc-feat-thumb img { transform: scale(1.04); }
.al-svc-feat-badge {
  position: absolute; top: 10px; left: 10px;
  background: rgba(0,0,0,.7); backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px; padding: 4px 10px;
  font-size: 10px; letter-spacing: .8px; color: var(--accent);
  text-transform: uppercase;
}
.al-svc-feat-badge.warm { color: var(--accent2); }
.al-svc-feat-price-badge {
  position: absolute; bottom: 10px; right: 10px;
  background: rgba(0,0,0,.8); backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px; padding: 6px 12px;
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(16px,3vw,20px); letter-spacing: 1px; color: var(--white);
}

/* Card body */
.al-svc-feat-body {
  padding: clamp(16px,3vw,22px);
  display: flex; flex-direction: column; flex: 1;
}
.al-svc-feat-icon { font-size: clamp(24px,4vw,32px); margin-bottom: 10px; }
.al-svc-feat-name {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(18px,3vw,24px); letter-spacing: 1.5px;
  margin-bottom: 6px; line-height: 1.1;
}
.al-svc-feat-sub {
  font-size: clamp(10px,1.8vw,11px); color: var(--accent);
  letter-spacing: 1px; text-transform: uppercase; margin-bottom: 10px;
}
.al-svc-feat-sub.warm { color: var(--accent2); }
.al-svc-feat-desc {
  font-size: clamp(12px,2vw,13px); color: var(--muted);
  line-height: 1.7; margin-bottom: 14px; flex: 1;
}
.al-svc-feat-chips {
  display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 14px;
}
.al-svc-feat-chip {
  font-size: clamp(9px,1.5vw,10px); padding: 3px 8px;
  border-radius: 12px; border: 1px solid rgba(0,212,255,.2);
  background: rgba(0,212,255,.05); color: var(--muted);
  letter-spacing: .3px;
}
.al-svc-feat-chip.warm {
  border-color: rgba(255,107,43,.2); background: rgba(255,107,43,.05);
}
.al-svc-feat-btn {
  width: 100%; padding: 11px; border-radius: 8px;
  background: rgba(0,212,255,.08); border: 1px solid rgba(0,212,255,.25);
  color: var(--accent); font-family: "DM Sans", sans-serif;
  font-size: clamp(12px,2vw,13px); font-weight: 500; cursor: pointer;
  transition: all .15s; letter-spacing: .3px;
}
.al-svc-feat-btn:hover { background: rgba(0,212,255,.15); border-color: var(--accent); }
.al-svc-feat-btn.warm {
  background: rgba(255,107,43,.08); border-color: rgba(255,107,43,.25); color: var(--accent2);
}
.al-svc-feat-btn.warm:hover { background: rgba(255,107,43,.15); border-color: var(--accent2); }

/* ── Comparison Table ── */
.al-svc-compare-wrap {
  padding: 0 5% clamp(48px,7vw,72px);
}
.al-svc-compare-title {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(26px,5vw,40px); letter-spacing: 2px;
  margin-bottom: clamp(20px,3vw,32px); text-align: center;
}
.al-svc-compare-title em { color: var(--accent); font-style: normal; }
.al-compare-table {
  width: 100%; border-collapse: collapse;
  background: var(--sky2); border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px; overflow: hidden;
  font-size: clamp(13px,2vw,14px);
}
.al-compare-table th {
  background: rgba(0,212,255,.06);
  padding: clamp(10px,2vw,14px) clamp(8px,1.5vw,16px);
  text-align: center; font-family: "Bebas Neue", sans-serif;
  font-size: clamp(14px,2vw,16px); letter-spacing: 1px;
  border-bottom: 2px solid rgba(0,212,255,.3); color: var(--accent);
}
.al-compare-table th:first-child { text-align: left; color: var(--muted); }
.al-compare-table td {
  padding: clamp(10px,2vw,13px) clamp(8px,1.5vw,16px);
  border-bottom: 1px solid rgba(255,255,255,.12);
  text-align: center; color: var(--muted);
  vertical-align: middle;
  border-left: 1px solid rgba(255,255,255,.06);
}
.al-compare-table td:first-child {
  text-align: left; color: var(--white); font-weight: 500;
}
.al-compare-table tr:last-child td { border-bottom: none; }
.al-compare-table tr:hover td { background: rgba(255,255,255,.02); }
.al-ct-yes { color: #00cc55 !important; font-size: 20px; font-weight: 700; }
.al-ct-no { color: #ff2222 !important; font-size: 20px; font-weight: 700; }
.al-ct-val { color: var(--white); font-weight: 500; }
.al-ct-accent { color: var(--accent); font-weight: 600; }

@media(max-width:900px) {
  .al-svc-cards-grid { grid-template-columns: repeat(2,1fr); }
}
@media(max-width:560px) {
  .al-svc-cards-grid { grid-template-columns: 1fr; }
  .al-compare-table { font-size: 12px; }
  .al-compare-table th, .al-compare-table td { padding: 8px 6px; }
}


/* ================================================================
   GET A FREE QUOTE PAGE
================================================================ */
.al-quote-page {
  min-height: 100vh;
  padding: clamp(48px,8vw,80px) 5% clamp(48px,8vw,80px);
  background: var(--sky);
}
.al-quote-wrap { max-width: 680px; margin: 0 auto; }

.al-quote-header { text-align: center; margin-bottom: clamp(32px,5vw,48px); }
.al-quote-eyebrow { font-size: clamp(10px,2vw,12px); letter-spacing: 3px; color: var(--accent); text-transform: uppercase; margin-bottom: 12px; }
.al-quote-title { font-family: "Bebas Neue", sans-serif; font-size: clamp(36px,8vw,60px); letter-spacing: 2px; line-height: 1.0; margin-bottom: 12px; }
.al-quote-title em { color: var(--accent); font-style: normal; }
.al-quote-sub { font-size: clamp(13px,2.5vw,15px); color: var(--muted); line-height: 1.75; max-width: 520px; margin: 0 auto; }

/* Progress steps */
.al-quote-steps {
  display: flex; align-items: center; margin-bottom: clamp(28px,4vw,40px);
}
.al-quote-step-dot {
  width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 600; font-family: "DM Sans", sans-serif;
  border: 2px solid var(--border); background: var(--sky2); color: var(--muted);
  transition: all .3s;
}
.al-quote-step-dot.active { border-color: var(--accent); background: var(--accent); color: #000; }
.al-quote-step-dot.done { border-color: var(--accent); background: rgba(0,212,255,.15); color: var(--accent); }
.al-quote-step-line { flex: 1; height: 2px; background: var(--border); transition: background .3s; }
.al-quote-step-line.done { background: var(--accent); }
.al-quote-step-labels { display: flex; justify-content: space-between; margin-top: 6px; margin-bottom: clamp(24px,4vw,36px); }
.al-quote-step-label { font-size: 10px; color: var(--muted); text-align: center; flex: 1; letter-spacing: .5px; text-transform: uppercase; }
.al-quote-step-label.active { color: var(--accent); }

/* Step panels */
.al-quote-panel { display: none; }
.al-quote-panel.active { display: block; animation: fadeUp .25s ease; }

/* Cards */
.al-quote-card {
  background: var(--sky2); border: 1px solid var(--border);
  border-radius: 14px; padding: clamp(20px,4vw,30px); margin-bottom: 14px;
}
.al-quote-card-title {
  font-size: clamp(14px,2.5vw,16px); font-weight: 500; color: var(--white);
  margin-bottom: 16px; line-height: 1.4;
}

/* Service selector grid */
.al-quote-svc-grid {
  display: grid; grid-template-columns: repeat(2,1fr); gap: 10px;
}
.al-quote-svc-btn {
  background: var(--sky3); border: 2px solid var(--border);
  border-radius: 10px; padding: 16px 14px; cursor: pointer;
  transition: all .15s; text-align: left; font-family: "DM Sans", sans-serif;
}
.al-quote-svc-btn:hover { border-color: rgba(0,212,255,.4); background: rgba(0,212,255,.05); }
.al-quote-svc-btn.selected { border-color: var(--accent); background: rgba(0,212,255,.1); }
.al-quote-svc-btn-name { font-size: clamp(13px,2.5vw,15px); font-weight: 600; color: var(--white); display: block; margin-bottom: 3px; }
.al-quote-svc-btn-price { font-size: clamp(11px,2vw,12px); color: var(--accent); display: block; }

/* Detail options */
.al-quote-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.al-quote-opt {
  padding: 10px 18px; border-radius: 8px; background: var(--sky3);
  border: 2px solid var(--border); font-size: clamp(12px,2vw,13px);
  color: var(--muted); cursor: pointer; transition: all .15s;
  font-family: "DM Sans", sans-serif; font-weight: 500;
}
.al-quote-opt:hover { border-color: rgba(0,212,255,.4); color: var(--white); }
.al-quote-opt.selected { border-color: var(--accent); background: rgba(0,212,255,.1); color: var(--accent); }

/* Form fields */
.al-quote-field-label { font-size: 11px; letter-spacing: .6px; color: var(--muted); text-transform: uppercase; display: block; margin-bottom: 7px; margin-top: 14px; }
.al-quote-field-label:first-child { margin-top: 0; }
.al-quote-input {
  width: 100%; background: var(--sky); border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px; padding: 12px 14px; font-family: "DM Sans", sans-serif;
  font-size: clamp(13px,2vw,14px); color: var(--white); outline: none;
  transition: border-color .2s; -webkit-appearance: none; box-sizing: border-box;
}
.al-quote-input:focus { border-color: rgba(0,212,255,.45); }
.al-quote-input::placeholder { color: var(--muted); }
.al-quote-textarea {
  width: 100%; background: var(--sky); border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px; padding: 12px 14px; font-family: "DM Sans", sans-serif;
  font-size: clamp(13px,2vw,14px); color: var(--white); outline: none;
  transition: border-color .2s; resize: vertical; min-height: 100px;
  line-height: 1.6; -webkit-appearance: none; box-sizing: border-box;
}
.al-quote-textarea:focus { border-color: rgba(0,212,255,.45); }
.al-quote-textarea::placeholder { color: var(--muted); }
.al-quote-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* Nav buttons */
.al-quote-nav { display: flex; gap: 10px; margin-top: 6px; }
.al-quote-back-btn {
  padding: 13px 22px; border-radius: 8px; background: transparent;
  border: 1px solid var(--border); color: var(--muted); cursor: pointer;
  font-family: "DM Sans", sans-serif; font-size: 14px; transition: all .15s;
}
.al-quote-back-btn:hover { border-color: rgba(255,255,255,.2); color: var(--white); }
.al-quote-next-btn {
  flex: 1; padding: 14px; border-radius: 8px; background: var(--accent);
  border: none; color: #000; font-weight: 600; cursor: pointer;
  font-family: "DM Sans", sans-serif; font-size: 15px; transition: opacity .2s;
}
.al-quote-next-btn:hover { opacity: .88; }
.al-quote-next-btn:disabled { opacity: .4; cursor: not-allowed; }

/* Success panel */
.al-quote-success {
  text-align: center; padding: clamp(40px,7vw,64px) clamp(24px,5vw,48px);
  background: var(--sky2); border: 1px solid rgba(0,212,255,.2);
  border-radius: 14px;
}
.al-quote-success-icon { font-size: clamp(48px,10vw,72px); margin-bottom: 16px; }
.al-quote-success-title { font-family: "Bebas Neue", sans-serif; font-size: clamp(28px,6vw,44px); letter-spacing: 2px; margin-bottom: 12px; }
.al-quote-success-title em { color: var(--accent); font-style: normal; }
.al-quote-success-msg { font-size: clamp(13px,2.5vw,15px); color: var(--muted); line-height: 1.75; max-width: 440px; margin: 0 auto 24px; }
.al-quote-success-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* Status message */
.al-quote-status { padding: 12px 16px; border-radius: 8px; font-size: 13px; margin-top: 10px; display: none; }

@media(max-width:520px) {
  .al-quote-svc-grid { grid-template-columns: 1fr; }
  .al-quote-2col { grid-template-columns: 1fr; }
  .al-quote-success-actions { flex-direction: column; }
}



/* ================================================================
   PHOTO GALLERY SECTION — Portfolio Page
================================================================ */
.al-photo-section {
  padding: clamp(36px,6vw,56px) 5%;
  border-top: 1px solid var(--border);
}
.al-photo-section-hdr {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: clamp(20px,3vw,28px); flex-wrap: wrap; gap: 12px;
}
.al-photo-section-title {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(24px,5vw,38px); letter-spacing: 2px;
}
.al-photo-section-title em { color: var(--accent); font-style: normal; }
.al-photo-section-sub { font-size: clamp(11px,2vw,13px); color: var(--muted); }
.al-photo-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: clamp(16px,3vw,24px); }
.al-photo-filter {
  font-size: clamp(11px,2vw,12px); padding: 6px 14px; border-radius: 20px;
  border: 1px solid var(--border); background: transparent; color: var(--muted);
  cursor: pointer; transition: all .15s; font-family: "DM Sans", sans-serif;
}
.al-photo-filter:hover { border-color: rgba(0,212,255,.4); color: var(--white); }
.al-photo-filter.active { border-color: var(--accent); background: rgba(0,212,255,.1); color: var(--accent); }
.al-photo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(8px,1.5vw,12px);
}
.al-photo-item {
  position: relative; aspect-ratio: 4/3; overflow: hidden;
  border-radius: 8px; cursor: pointer;
  background: var(--sky2); border: 1px solid var(--border);
  transition: transform .2s, border-color .2s;
}
.al-photo-item:hover { transform: translateY(-2px); border-color: rgba(0,212,255,.3); }
.al-photo-item img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s ease; display: block;
}
.al-photo-item:hover img { transform: scale(1.06); }
.al-photo-item-overlay {
  position: absolute; inset: 0; background: rgba(0,0,0,0);
  display: flex; align-items: flex-end; padding: 10px;
  transition: background .2s;
}
.al-photo-item:hover .al-photo-item-overlay { background: rgba(0,0,0,.35); }
.al-photo-item-label {
  font-size: 10px; letter-spacing: .8px; text-transform: uppercase;
  color: rgba(255,255,255,0); background: rgba(0,212,255,.8);
  padding: 3px 8px; border-radius: 4px; transition: color .2s;
}
.al-photo-item:hover .al-photo-item-label { color: #fff; }

/* Lightbox */
.al-lightbox {
  position: fixed; inset: 0; z-index: 9500;
  background: rgba(0,0,0,.92); display: none;
  align-items: center; justify-content: center;
  padding: 20px;
}
.al-lightbox.open { display: flex; }
.al-lightbox-inner {
  position: relative; max-width: min(1100px, 95vw);
  max-height: 90vh; display: flex; flex-direction: column;
  align-items: center;
}
.al-lightbox-img {
  max-width: 100%; max-height: 80vh; object-fit: contain;
  border-radius: 8px; display: block;
}
.al-lightbox-caption {
  margin-top: 12px; font-size: 13px; color: var(--muted); text-align: center;
}
.al-lightbox-close {
  position: absolute; top: -14px; right: -14px;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  color: #fff; font-size: 20px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.al-lightbox-close:hover { background: rgba(200,0,0,.7); }
.al-lightbox-prev, .al-lightbox-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  color: #fff; font-size: 18px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.al-lightbox-prev { left: -50px; }
.al-lightbox-next { right: -50px; }
.al-lightbox-prev:hover, .al-lightbox-next:hover { background: rgba(0,212,255,.4); }

@media(max-width:900px) { .al-photo-grid { grid-template-columns: repeat(3,1fr); } }
@media(max-width:600px) {
  .al-photo-grid { grid-template-columns: repeat(2,1fr); }
  .al-lightbox-prev { left: -36px; }
  .al-lightbox-next { right: -36px; }
}





/* Photo Lightbox */
.al-lightbox {
  position: fixed; inset: 0; z-index: 9500;
  background: rgba(0,0,0,.93); display: none;
  align-items: center; justify-content: center; padding: 20px;
}
.al-lightbox.open { display: flex; }
.al-lightbox-inner {
  position: relative; max-width: min(1100px,95vw);
  display: flex; flex-direction: column; align-items: center;
}
.al-lightbox-img { max-width: 100%; max-height: 82vh; object-fit: contain; border-radius: 8px; display: block; }
.al-lightbox-caption { margin-top: 10px; font-size: 13px; color: var(--muted); text-align: center; }
.al-lightbox-close {
  position: absolute; top: -14px; right: -14px; width: 34px; height: 34px;
  border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  color: #fff; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.al-lightbox-close:hover { background: rgba(200,0,0,.7); }
.al-lightbox-prev, .al-lightbox-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  color: #fff; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.al-lightbox-prev { left: -50px; }
.al-lightbox-next { right: -50px; }
.al-lightbox-prev:hover, .al-lightbox-next:hover { background: rgba(0,212,255,.4); }
@media(max-width:600px) { .al-lightbox-prev { left: -36px; } .al-lightbox-next { right: -36px; } }


/* Hover Video Player — video cards only */
.al-yt-thumb { position: relative; }
.al-yt-hover-iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: none; display: none; z-index: 2;
  pointer-events: none;
}
.al-yt-card[data-vid]:hover .al-yt-hover-iframe { display: block; }
.al-yt-card[data-vid]:hover .al-yt-thumb img { opacity: 0; }
.al-yt-card[data-vid]:hover .al-yt-play { opacity: 0; }

/* ============================================================
   RESOURCES & LOGIN PAGES — v102
   ============================================================ */

/* Resource cards (free downloads) */
.al-res-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:8px}
.al-res-card{background:var(--sky2);border:1px solid var(--border);border-radius:14px;padding:clamp(20px,3vw,28px);position:relative}
.al-res-card.warm{border-color:rgba(255,107,43,.18)}
.al-res-card-badge{display:inline-block;background:rgba(0,212,255,.12);color:var(--accent);font-size:9px;letter-spacing:2px;font-weight:600;padding:3px 10px;border-radius:20px;margin-bottom:12px;border:1px solid rgba(0,212,255,.2)}
.al-res-card-icon{font-size:28px;margin-bottom:10px}
.al-res-card-title{font-family:Bebas Neue,sans-serif;font-size:clamp(20px,3vw,26px);letter-spacing:1px;color:var(--white);margin-bottom:8px}
.al-res-card-desc{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:16px}
.al-res-bullets{list-style:none;margin-bottom:20px}
.al-res-bullets li{font-size:12px;color:var(--muted);padding:4px 0;padding-left:16px;position:relative;line-height:1.5}
.al-res-bullets li::before{content:"→";position:absolute;left:0;color:var(--accent);font-size:11px}
.al-res-form{}

/* Rate card preview table */
.al-res-rate-preview{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:16px}
.al-res-rate-row{display:flex;justify-content:space-between;padding:8px 12px;font-size:12px;border-bottom:1px solid var(--border)}
.al-res-rate-row:last-child{border-bottom:none}
.al-res-rate-row.header{background:rgba(0,212,255,.06);font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}
.al-res-rate-row span:last-child{color:var(--accent);font-weight:600}
.al-res-rate-row.blurred span{filter:blur(4px);user-select:none;color:var(--muted)}
.al-res-rate-row.blurred{opacity:.5}

/* Course cards */
.al-res-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.al-res-course-card{background:var(--sky2);border:1px solid var(--border);border-radius:14px;padding:clamp(20px,3vw,28px);display:flex;flex-direction:column}
.al-res-course-card.warm{border-color:rgba(255,107,43,.18)}
.al-res-course-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.al-res-course-badge{font-size:9px;letter-spacing:2px;font-weight:600;background:rgba(0,212,255,.1);color:var(--accent);padding:3px 10px;border-radius:20px;border:1px solid rgba(0,212,255,.2)}
.al-res-course-price{font-family:Bebas Neue,sans-serif;font-size:32px;color:var(--accent);letter-spacing:1px}
.al-res-course-title{font-family:Bebas Neue,sans-serif;font-size:clamp(22px,3vw,28px);letter-spacing:1px;color:var(--white);margin-bottom:8px}
.al-res-course-desc{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:16px}
.al-res-course-modules{list-style:none;margin-bottom:20px;flex:1}
.al-res-course-modules li{font-size:12px;color:var(--muted);padding:5px 0 5px 16px;position:relative;border-bottom:1px solid var(--border);line-height:1.4}
.al-res-course-modules li:last-child{border-bottom:none}
.al-res-course-modules li::before{content:"▸";position:absolute;left:0;color:var(--accent);font-size:10px;top:6px}
.al-res-course-cta{margin-top:auto}

/* Modal */
.al-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
.al-modal-box{background:var(--sky2);border:1px solid var(--border);border-radius:16px;padding:clamp(24px,4vw,36px);width:100%;max-width:480px;position:relative;max-height:90vh;overflow-y:auto}
.al-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:4px 8px;line-height:1}
.al-modal-close:hover{color:var(--white)}
.al-modal-eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:6px}
.al-modal-title{font-family:Bebas Neue,sans-serif;font-size:clamp(24px,3vw,30px);color:var(--white);letter-spacing:1px;margin-bottom:4px}
.al-modal-price{font-family:Bebas Neue,sans-serif;font-size:36px;color:var(--accent);margin-bottom:16px}
.al-modal-tabs{display:flex;gap:8px;margin-bottom:18px}
.al-mtab{flex:1;padding:8px 0;font-size:12px;letter-spacing:.5px;font-weight:600;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;transition:all .2s}
.al-mtab.active{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--accent)}

/* Stripe field placeholder */
.al-stripe-field{background:var(--sky);border:1px solid var(--border);border-radius:6px;padding:12px;color:var(--white);font-size:14px;min-height:44px;transition:border-color .2s}
.al-stripe-field.StripeElement--focus{border-color:var(--accent)}
.al-stripe-field.StripeElement--invalid{border-color:#ff4444}

/* Dashboard */
.al-dash-course-item{background:var(--sky2);border:1px solid rgba(0,212,255,.2);border-radius:10px;padding:20px;margin-bottom:12px}
.al-dash-course-title{font-family:Bebas Neue,sans-serif;font-size:20px;color:var(--white);margin-bottom:6px}
.al-dash-course-meta{font-size:12px;color:var(--accent);margin-bottom:12px}
.al-dash-module-list{list-style:none}
.al-dash-module-list li{font-size:12px;color:var(--muted);padding:4px 0 4px 14px;position:relative;line-height:1.4}
.al-dash-module-list li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-size:10px;top:5px}

@media(max-width:600px){
  .al-res-card-grid,.al-res-course-grid{grid-template-columns:1fr}
  .al-modal-box{padding:20px}
}

/* ============================================================
   LESSON VIEWER — v104
   ============================================================ */

/* Lesson top bar */
.al-lesson-bar{position:sticky;top:0;z-index:100;background:var(--sky2);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 clamp(16px,3vw,28px);height:56px}
.al-lesson-back{background:none;border:1px solid var(--border);color:var(--muted);font-size:12px;padding:6px 14px;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}
.al-lesson-back:hover{color:var(--white);border-color:var(--muted)}
.al-lesson-bar-title{flex:1;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-lesson-bar-progress{font-size:11px;color:var(--accent);white-space:nowrap;letter-spacing:.5px}

/* Layout */
.al-lesson-layout{display:grid;grid-template-columns:300px 1fr;min-height:calc(100vh - 56px);align-items:start;height:calc(100vh - 56px);overflow:hidden}

/* Sidebar */
.al-lesson-sidebar{background:var(--sky2);border-right:1px solid var(--border);padding:20px 0;height:100%;overflow-y:auto}
.al-lesson-course-title{font-family:Bebas Neue,sans-serif;font-size:18px;letter-spacing:1px;color:var(--white);padding:0 18px 14px;border-bottom:1px solid var(--border);margin-bottom:14px}
.al-lesson-overall-progress{padding:0 16px 16px;border-bottom:1px solid var(--border);margin-bottom:8px}
.al-lesson-overall-label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}
.al-lesson-overall-bar{background:rgba(255,255,255,.07);border-radius:20px;height:4px;overflow:hidden}
.al-lesson-overall-fill{height:100%;background:var(--accent);border-radius:20px;transition:width .4s ease;width:0%}

/* Module tree */
.al-lv-module{margin-bottom:4px}
.al-lv-module-hdr{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;user-select:none}
.al-lv-module-hdr:hover{background:rgba(255,255,255,.04)}
.al-lv-module-num{font-size:10px;letter-spacing:1px;color:var(--accent);min-width:22px}
.al-lv-module-name{font-size:13px;color:rgba(180,195,225,.85);line-height:1.4;flex:1}
.al-lv-module-chevron{font-size:10px;color:var(--muted);transition:transform .2s}
.al-lv-module.open .al-lv-module-chevron{transform:rotate(90deg)}
.al-lv-lessons{display:none;padding-left:8px}
.al-lv-module.open .al-lv-lessons{display:block}
.al-lv-lesson-item{display:flex;align-items:flex-start;gap:8px;padding:7px 16px 7px 8px;cursor:pointer;border-left:2px solid transparent;transition:all .15s}
.al-lv-lesson-item:hover{background:rgba(255,255,255,.04);border-left-color:rgba(0,212,255,.3)}
.al-lv-lesson-item.active{background:rgba(0,212,255,.08);border-left-color:var(--accent)}
.al-lv-lesson-item.active .al-lv-li-title{color:var(--white)}
.al-lv-lesson-check{width:16px;height:16px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;flex-shrink:0;margin-top:1px;transition:all .2s}
.al-lv-lesson-item.done .al-lv-lesson-check{background:var(--accent);border-color:var(--accent);color:var(--sky)}
.al-lv-li-title{font-size:13px;color:rgba(170,185,215,.8);line-height:1.45}
.al-lv-li-dur{font-size:11px;color:rgba(106,127,168,.7);margin-top:3px}

/* Main content */
.al-lesson-main{padding:clamp(20px,3vw,40px) clamp(20px,4vw,56px);max-width:100%;height:100%;overflow-y:auto;flex:1}
.al-lesson-eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin-bottom:10px}
.al-lesson-title{font-family:Bebas Neue,sans-serif;font-size:clamp(26px,4vw,38px);letter-spacing:1px;color:var(--white);line-height:1.1;margin-bottom:12px}
.al-lesson-meta{display:flex;gap:16px;font-size:11px;color:var(--muted);margin-bottom:0;flex-wrap:wrap}
.al-lesson-meta span{display:flex;align-items:center;gap:4px}
.al-lesson-divider{height:1px;background:var(--border);margin:20px 0}
.al-lesson-body{font-size:16px;color:#d0dcf5;line-height:1.9;white-space:pre-wrap}
.al-lesson-body strong{color:var(--white)}

/* Lesson footer */
.al-lesson-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:32px}
.al-lesson-complete-btn{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border);color:var(--muted);padding:10px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.3px}
.al-lesson-complete-btn:hover{border-color:var(--accent);color:var(--accent)}
.al-lesson-complete-btn.done{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--accent)}
.al-lesson-nav-btns{display:flex;gap:10px}
.al-lesson-complete-banner{background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.2);border-radius:14px;padding:32px;text-align:center;margin-top:32px}

/* Mobile */
@media(max-width:768px){
  .al-lesson-layout{grid-template-columns:1fr;height:auto;overflow:visible}
  .al-lesson-sidebar{height:auto;border-right:none;border-bottom:1px solid var(--border)}
  .al-lesson-main{height:auto;padding:20px 16px}
}

/* ============================================================
   LESSON VIEWER SIDEBAR TREE + DASHBOARD PROGRESS — v104
   ============================================================ */

/* Sidebar module tree */
.al-lv-module{border-bottom:1px solid var(--border)}
.al-lv-mod-header{display:flex;align-items:flex-start;gap:8px;padding:10px 16px;cursor:pointer;transition:background .15s}
.al-lv-mod-header:hover{background:rgba(255,255,255,.04)}
.al-lv-module.active > .al-lv-mod-header{background:rgba(0,212,255,.05)}
.al-lv-mod-check{font-size:10px;color:var(--accent);min-width:28px;padding-top:2px;flex-shrink:0}
.al-lv-mod-title{flex:1;font-size:11px;color:var(--muted);line-height:1.4;font-weight:500}
.al-lv-mod-arrow{font-size:10px;color:var(--muted);flex-shrink:0;padding-top:2px}
.al-lv-lesson-list{background:rgba(0,0,0,.15)}
.al-lv-lesson-item{display:flex;align-items:flex-start;gap:8px;padding:8px 16px 8px 24px;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.03)}
.al-lv-lesson-item:hover{background:rgba(255,255,255,.04)}
.al-lv-lesson-item.active{background:rgba(0,212,255,.08)}
.al-lv-lesson-item.done .al-lv-lesson-check{color:var(--accent)}
.al-lv-lesson-check{font-size:10px;color:var(--muted);min-width:14px;padding-top:3px;flex-shrink:0}
.al-lv-lesson-name{flex:1;font-size:11px;color:var(--muted);line-height:1.4}
.al-lv-lesson-item.active .al-lv-lesson-name{color:var(--white)}
.al-lv-lesson-dur{font-size:9px;color:var(--muted);opacity:.6;flex-shrink:0;padding-top:3px}

/* Dashboard progress bars */
.al-dash-progress-wrap{margin:12px 0 0}
.al-dash-progress-bar{background:rgba(255,255,255,.07);border-radius:20px;height:5px;overflow:hidden;margin-bottom:6px}
.al-dash-progress-fill{height:100%;background:var(--accent);border-radius:20px;transition:width .4s ease}
.al-dash-progress-lbl{font-size:10px;color:var(--muted)}
.al-dash-module{padding:4px 0;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border)}
.al-dash-module:last-child{border-bottom:none}
.al-dash-mod-title{padding:3px 0;line-height:1.4}

/* ── Payment method tabs ── */
.al-pay-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.al-pay-tab{padding:9px 6px;font-size:11px;font-weight:600;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;transition:all .2s;text-align:center;letter-spacing:.3px;line-height:1.3}
.al-pay-tab.active{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--accent)}
.al-pay-tab:hover:not(.active){border-color:var(--muted);color:var(--white)}

/* ── Field error messages ── */
.al-field-error{font-size:11px;color:#ff4444;margin-top:4px;min-height:16px;font-weight:500}
.al-input.error{border-color:#ff4444}

/* ── Cash App / Zelle box ── */
.al-pay-other-box{background:rgba(0,0,0,.2);border:1px solid var(--border);border-radius:10px;padding:18px}
.al-pay-other-title{font-family:Bebas Neue,sans-serif;font-size:18px;letter-spacing:1px;color:var(--white);margin-bottom:12px}
.al-pay-other-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted)}
.al-pay-other-row:last-of-type{border-bottom:none}
.al-pay-other-row strong{color:var(--white)}
.al-pay-other-note{font-size:11px;color:var(--muted);line-height:1.6;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}

/* ── Login page tabs ── */
.al-login-tabs{display:flex;gap:8px;margin-bottom:24px}
.al-login-tab{flex:1;padding:10px 0;font-size:12px;font-weight:600;letter-spacing:.5px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;transition:all .2s;text-align:center}
.al-login-tab.active{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--accent)}
.al-login-tab:hover:not(.active){border-color:var(--muted);color:var(--white)}

/* ── Registration course options ── */
.al-reg-course-options{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.al-reg-course-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--sky2);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .2s}
.al-reg-course-opt:has(input:checked){border-color:var(--accent);background:rgba(0,212,255,.06)}
.al-reg-course-opt input[type=radio]{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}
.al-reg-course-info{display:flex;justify-content:space-between;align-items:center;flex:1}
.al-reg-course-name{font-size:13px;color:var(--white);font-weight:500}
.al-reg-course-price{font-family:Bebas Neue,sans-serif;font-size:18px;color:var(--accent);letter-spacing:1px}

/* ============================================================
   QUIZ ENGINE + INTERACTIVE LESSON ELEMENTS — v109
   ============================================================ */
.al-quiz-wrap{background:rgba(0,0,0,.25);border:1px solid rgba(0,212,255,.2);border-radius:12px;padding:clamp(20px,3vw,28px);margin:28px 0}
.al-quiz-title{font-family:Bebas Neue,sans-serif;font-size:20px;letter-spacing:1px;color:var(--accent);margin-bottom:4px}
.al-quiz-meta{font-size:11px;color:var(--muted);margin-bottom:20px}
.al-quiz-question{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--border)}
.al-quiz-question:last-of-type{border-bottom:none;margin-bottom:8px}
.al-quiz-q-text{font-size:14px;color:var(--white);line-height:1.6;margin-bottom:12px;font-weight:500}
.al-quiz-q-num{font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}
.al-quiz-options{display:flex;flex-direction:column;gap:8px}
.al-quiz-option{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:var(--sky2);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;font-size:13px;color:var(--muted);line-height:1.4}
.al-quiz-option:hover{border-color:var(--accent);color:var(--white);background:rgba(0,212,255,.06)}
.al-quiz-option.selected{border-color:var(--accent);color:var(--white);background:rgba(0,212,255,.1)}
.al-quiz-option.correct{border-color:#00a32a;background:rgba(0,163,42,.12);color:#4dd67a}
.al-quiz-option.wrong{border-color:#ff4444;background:rgba(255,68,68,.1);color:#ff6666}
.al-quiz-option.show-correct{border-color:#00a32a;background:rgba(0,163,42,.08)}
.al-quiz-option-letter{width:20px;height:20px;border-radius:50%;border:1px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;margin-top:1px}
.al-quiz-explanation{font-size:12px;line-height:1.6;padding:10px 12px;border-radius:6px;margin-top:8px;display:none}
.al-quiz-explanation.correct{background:rgba(0,163,42,.1);color:#4dd67a;border:1px solid rgba(0,163,42,.2)}
.al-quiz-explanation.wrong{background:rgba(255,68,68,.08);color:#ff8888;border:1px solid rgba(255,68,68,.2)}
.al-quiz-submit{margin-top:16px}
.al-quiz-result{margin-top:16px;padding:14px;border-radius:8px;font-size:14px;font-weight:600;text-align:center;display:none}
.al-quiz-result.pass{background:rgba(0,163,42,.15);color:#4dd67a;border:1px solid rgba(0,163,42,.3)}
.al-quiz-result.fail{background:rgba(255,68,68,.1);color:#ff8888;border:1px solid rgba(255,68,68,.3)}
.al-quiz-timer{font-family:Bebas Neue,sans-serif;font-size:28px;color:var(--accent);text-align:center;margin-bottom:16px;letter-spacing:2px}
.al-quiz-timer.warning{color:#ffaa00}
.al-quiz-timer.danger{color:#ff4444;animation:pulse 1s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}

/* Lesson image */
.al-lesson-img{width:100%;border-radius:10px;margin:20px 0;object-fit:cover;max-height:360px}

/* Lesson map */
.al-lesson-map-wrap{margin:20px 0}
.al-lesson-map-label{font-size:11px;color:var(--accent);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-weight:600}
.al-lesson-map{width:100%;height:320px;border-radius:10px;border:1px solid var(--border);overflow:hidden}

/* ── Lesson Visual System ── */
.al-lesson-body{white-space:normal!important}
.al-lesson-body p{margin-bottom:18px;font-size:16px;color:#d0dcf5;line-height:1.9}
.al-lesson-h2{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:32px 0 14px;padding-bottom:8px;border-bottom:1px solid rgba(0,212,255,.15)}
.al-lesson-h3{font-size:15px;font-weight:700;color:var(--white);margin:24px 0 10px}
.al-callout{border-radius:10px;padding:18px 20px;margin:24px 0;display:flex;gap:14px;align-items:flex-start}
.al-callout-icon{font-size:22px;flex-shrink:0;margin-top:2px}
.al-callout-body{flex:1}
.al-callout-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.al-callout-text{font-size:14px;line-height:1.7;color:#c5d0da}
.al-callout.tip{background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.18)}
.al-callout.tip .al-callout-title{color:var(--accent)}
.al-callout.warning{background:rgba(255,107,43,.06);border:1px solid rgba(255,107,43,.2)}
.al-callout.warning .al-callout-title{color:var(--accent2)}
.al-callout.danger{background:rgba(248,113,113,.06);border:1px solid rgba(248,113,113,.2)}
.al-callout.danger .al-callout-title{color:#f87171}
.al-callout.success{background:rgba(52,211,153,.06);border:1px solid rgba(52,211,153,.2)}
.al-callout.success .al-callout-title{color:#34d399}
.al-callout.law{background:rgba(167,139,250,.06);border:1px solid rgba(167,139,250,.2)}
.al-callout.law .al-callout-title{color:#a78bfa}
.al-lesson-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:13px}
.al-lesson-table thead tr th{background:rgba(0,212,255,.1);color:var(--accent);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:10px 14px;text-align:left;border:.5px solid rgba(0,212,255,.15)}
.al-lesson-table tbody tr td{padding:10px 14px;border:.5px solid rgba(255,255,255,.06);color:#c5d0da;vertical-align:top;line-height:1.6}
.al-lesson-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.al-lesson-table tbody tr:hover td{background:rgba(0,212,255,.04)}
.al-diagram{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:24px;margin:24px 0;text-align:center}
.al-diagram-title{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.al-diagram svg{max-width:100%;height:auto}
.al-checklist{list-style:none;padding:0;margin:16px 0}
.al-checklist li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:14px;color:#c5d0da;line-height:1.6}
.al-checklist li:last-child{border-bottom:none}
.al-checklist li::before{content:"✓";color:var(--accent);font-weight:700;font-size:13px;flex-shrink:0;margin-top:2px}
.al-checklist li.warn::before{content:"⚠";color:var(--accent2)}
.al-checklist li.law::before{content:"§";color:#a78bfa}
.al-kc-wrap{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:24px;margin:32px 0}
.al-kc-title{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;display:flex;align-items:center;gap:8px}
.al-kc-title::before{content:"";display:inline-block;width:4px;height:14px;background:var(--accent);border-radius:2px}
.al-kc-q{margin-bottom:18px}
.al-kc-q-text{font-size:14px;color:var(--white);font-weight:600;margin-bottom:10px;line-height:1.5}
.al-kc-opt{display:flex;align-items:center;gap:10px;padding:9px 14px;margin-bottom:6px;border-radius:7px;border:1px solid rgba(255,255,255,.08);cursor:pointer;font-size:13px;color:#c5d0da;transition:all .15s}
.al-kc-opt:hover{border-color:var(--accent);color:var(--white);background:rgba(0,212,255,.05)}
.al-kc-opt.correct{border-color:#34d399;background:rgba(52,211,153,.08);color:#34d399}
.al-kc-opt.wrong{border-color:#f87171;background:rgba(248,113,113,.08);color:#f87171}
.al-kc-opt.reveal-correct{border-color:#34d399;background:rgba(52,211,153,.05)}
.al-kc-exp{font-size:13px;color:#7a8fa3;line-height:1.6;margin-top:8px;padding:10px 14px;background:rgba(255,255,255,.02);border-radius:6px;display:none}
.al-kc-exp.show{display:block}
.al-kc-submit{background:var(--accent);color:#0d1f35;border:none;border-radius:7px;padding:9px 22px;font-size:13px;font-weight:700;cursor:pointer;margin-top:8px;font-family:inherit}
.al-formula-box{background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.2);border-radius:8px;padding:16px 20px;margin:16px 0;font-family:monospace;font-size:14px;color:var(--accent);text-align:center;letter-spacing:.02em}
.al-step-list{counter-reset:steps;padding:0;margin:16px 0;list-style:none}
.al-step-list li{counter-increment:steps;display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:14px;color:#c5d0da;line-height:1.6}
.al-step-list li:last-child{border-bottom:none}
.al-step-list li::before{content:counter(steps);background:var(--accent);color:#0d1f35;font-weight:700;font-size:11px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}

/* Course cards — extended for new courses */
.al-res-course-badge.new{background:rgba(255,107,43,.15);color:var(--accent2);border-color:rgba(255,107,43,.3)}

/* ── Client Portal ── */
.al-cp-hero{background:linear-gradient(135deg,#0a1628 0%,#0d1f3c 100%);padding:clamp(40px,6vw,72px) 5%;border-bottom:1px solid var(--border)}
.al-cp-hero-inner{max-width:900px;margin:0 auto}
.al-cp-eyebrow{font-size:11px;letter-spacing:3px;color:var(--accent);margin-bottom:12px;font-family:"Bebas Neue",sans-serif}
.al-cp-title{font-family:"Bebas Neue",sans-serif;font-size:clamp(36px,6vw,60px);letter-spacing:2px;color:var(--white);line-height:1;margin-bottom:12px}
.al-cp-desc{font-size:14px;color:var(--muted);line-height:1.7;max-width:520px}
.al-cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;max-width:1200px;margin:0 auto;padding:clamp(32px,5vw,56px) 5%}
.al-cp-card{background:var(--sky2);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:border-color .2s,transform .2s}
.al-cp-card:hover{border-color:rgba(0,212,255,.3);transform:translateY(-2px)}
.al-cp-card.active{border-color:rgba(0,255,120,.3)}
.al-cp-card.completed{border-color:rgba(0,212,255,.2);opacity:.8}
.al-cp-card-header{padding:18px 20px 14px;border-bottom:1px solid var(--border)}
.al-cp-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.al-cp-status-badge{font-size:9px;letter-spacing:2px;font-weight:700;padding:3px 10px;border-radius:20px}
.al-cp-status-badge.active{background:rgba(0,255,120,.12);color:#00ff78;border:1px solid rgba(0,255,120,.25)}
.al-cp-status-badge.completed{background:rgba(0,212,255,.1);color:var(--accent);border:1px solid rgba(0,212,255,.2)}
.al-cp-status-badge.pending{background:rgba(255,107,43,.1);color:var(--accent2);border:1px solid rgba(255,107,43,.2)}
.al-cp-po{font-size:10px;color:var(--muted);letter-spacing:.5px}
.al-cp-project-name{font-family:"Bebas Neue",sans-serif;font-size:22px;letter-spacing:.5px;color:var(--white);line-height:1.1;margin-bottom:4px}
.al-cp-project-sub{font-size:11px;color:var(--muted)}
.al-cp-card-body{padding:16px 20px}
.al-cp-progress-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-bottom:6px}
.al-cp-progress-bar{background:rgba(255,255,255,.06);border-radius:99px;height:6px;margin-bottom:14px;overflow:hidden}
.al-cp-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),#00a8cc);transition:width .6s ease}
.al-cp-progress-fill.orange{background:linear-gradient(90deg,var(--accent2),#e55a00)}
.al-cp-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.al-cp-meta-item{font-size:11px;color:var(--muted);line-height:1.4}
.al-cp-meta-item strong{display:block;color:var(--white);font-size:12px}
.al-cp-deliverables{margin-bottom:14px}
.al-cp-del-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-bottom:6px}
.al-cp-del-list{list-style:none}
.al-cp-del-list li{font-size:12px;color:var(--muted);padding:4px 0 4px 16px;position:relative;border-bottom:1px solid rgba(255,255,255,.04)}
.al-cp-del-list li:last-child{border-bottom:none}
.al-cp-del-list li::before{content:"\25B8";position:absolute;left:0;color:var(--accent);font-size:9px;top:5px}
.al-cp-del-list li.done{color:rgba(0,255,120,.7)}
.al-cp-del-list li.done::before{content:"\2713";color:#00ff78}
.al-cp-card-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:8px}
.al-cp-btn{flex:1;padding:9px 0;border-radius:6px;font-family:"Bebas Neue",sans-serif;font-size:13px;letter-spacing:1px;border:none;cursor:pointer;text-align:center;transition:opacity .15s}
.al-cp-btn.primary{background:var(--accent);color:#000}
.al-cp-btn.ghost{background:none;border:1px solid rgba(255,255,255,.15);color:var(--muted);font-family:"Bebas Neue",sans-serif;font-size:13px;letter-spacing:1px;cursor:pointer;border-radius:6px;padding:9px 0;text-align:center}
.al-cp-btn:hover{opacity:.8}
.al-cp-contact-wrap{max-width:700px;margin:0 auto;padding:0 5% clamp(40px,6vw,60px)}
.al-cp-contact-card{background:var(--sky2);border:1px solid var(--border);border-radius:14px;padding:28px 32px}
.al-cp-contact-title{font-family:"Bebas Neue",sans-serif;font-size:24px;letter-spacing:1px;color:var(--white);margin-bottom:4px}
.al-cp-contact-sub{font-size:13px;color:var(--muted);margin-bottom:22px;line-height:1.6}
@media(max-width:600px){.al-cp-grid{grid-template-columns:1fr}.al-cp-meta{grid-template-columns:1fr}.al-cp-card-footer{flex-direction:column}}
.al-cc2-cat-hdr{font-family:"Bebas Neue",sans-serif;font-size:12px;letter-spacing:2.5px;color:var(--muted);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.al-cc2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.al-cc2{background:var(--sky2);border:1px solid var(--border);border-radius:14px;padding:24px 26px;display:flex;flex-direction:column;transition:border-color .2s}
.al-cc2:hover{border-color:rgba(0,212,255,.35)}
.al-cc2.warm{border-color:rgba(255,107,43,.15)}
.al-cc2.warm:hover{border-color:rgba(255,107,43,.4)}
.al-cc2.in-cart{border-color:var(--accent)!important;box-shadow:0 0 0 1px rgba(0,212,255,.15)}
.al-cc2.warm.in-cart{border-color:var(--accent2)!important}
.al-cc2-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.al-cc2-badge{font-size:9px;letter-spacing:2px;font-weight:700;background:rgba(0,212,255,.1);color:var(--accent);padding:3px 10px;border-radius:20px;border:1px solid rgba(0,212,255,.2)}
.al-cc2-badge.warm{background:rgba(255,107,43,.12);color:var(--accent2);border-color:rgba(255,107,43,.25)}
.al-cc2-price{font-family:"Bebas Neue",sans-serif;font-size:30px;color:var(--accent);letter-spacing:1px}
.al-cc2-price.warm{color:var(--accent2)}
.al-cc2-title{font-family:"Bebas Neue",sans-serif;font-size:clamp(20px,2.5vw,26px);letter-spacing:.5px;color:var(--white);line-height:1.15;margin-bottom:8px}
.al-cc2-desc{font-size:13.5px;color:rgba(180,195,220,.9);line-height:1.7;margin-bottom:12px}
.al-cc2-modules{list-style:none;margin-bottom:12px;flex:1}
.al-cc2-modules li{font-size:13px;color:rgba(170,185,210,.85);padding:5px 0 5px 16px;position:relative;border-bottom:1px solid rgba(255,255,255,.05);line-height:1.45}
.al-cc2-modules li:last-child{border-bottom:none}
.al-cc2-modules li::before{content:"\25B8";position:absolute;left:0;color:var(--accent);font-size:9px;top:4px}
.al-cc2.warm .al-cc2-modules li::before{color:var(--accent2)}
.al-cc2-actions{display:flex;gap:8px;margin-top:auto}
.al-cc2-enroll{flex:1;background:var(--accent);color:#000;font-family:"Bebas Neue",sans-serif;font-size:13px;letter-spacing:1px;padding:10px 0;border-radius:6px;border:none;cursor:pointer;transition:opacity .15s}
.al-cc2-enroll:hover{opacity:.85}
.al-cc2-enroll.warm{background:var(--accent2)}
.al-add-cart-btn{width:100%;border-radius:8px;padding:13px 10px;font-family:"Bebas Neue",sans-serif;font-size:14px;letter-spacing:1px;border:1px solid var(--accent);cursor:pointer;transition:all .2s}
.al-add-cart-btn.default{background:transparent;color:var(--accent)}
.al-add-cart-btn.default:hover{background:rgba(0,212,255,.08)}
.al-add-cart-btn.added{background:rgba(0,212,255,.14);color:var(--accent)}
.al-add-cart-btn.owned{background:var(--accent);color:#000;border-color:var(--accent)}
.al-add-cart-btn.warm-btn{border-color:var(--accent2);color:var(--accent2)}
.al-add-cart-btn.warm-btn:hover{background:rgba(255,107,43,.08)}
.al-add-cart-btn.warm-btn.added{background:rgba(255,107,43,.14)}
.al-cart-bar{position:fixed;bottom:0;left:0;right:0;background:var(--navy);border-top:2px solid var(--accent);z-index:8888;transform:translateY(100%);transition:transform .3s ease}
.al-cart-bar.open{transform:translateY(0)}
.al-cart-bar-inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.al-cart-count-badge{background:var(--accent);color:#000;font-family:"Bebas Neue",sans-serif;font-size:14px;letter-spacing:1px;padding:2px 10px;border-radius:20px;white-space:nowrap}
.al-cart-summary{flex:1;font-size:13px;color:var(--muted);min-width:0}
.al-cart-btn-open{background:var(--accent);color:#000;font-family:"Bebas Neue",sans-serif;font-size:15px;letter-spacing:1px;padding:10px 22px;border-radius:6px;border:none;cursor:pointer;white-space:nowrap}
.al-cart-btn-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;padding:4px 8px;line-height:1;margin-left:auto}
.al-cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9000;display:none;backdrop-filter:blur(4px)}
.al-cart-overlay.open{display:flex;justify-content:flex-end}
.al-cart-drawer{background:var(--sky2);border-left:1px solid var(--border);width:100%;max-width:420px;height:100%;display:flex;flex-direction:column;overflow:hidden}
.al-cart-drawer-hdr{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.al-cart-drawer-title{font-family:"Bebas Neue",sans-serif;font-size:22px;letter-spacing:1px;color:var(--white)}
.al-cart-drawer-close{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:4px 8px}
.al-cart-items{flex:1;overflow-y:auto;padding:16px 24px}
.al-cart-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.al-cart-item:last-child{border-bottom:none}
.al-cart-item-info{flex:1;min-width:0}
.al-cart-item-badge{font-size:9px;letter-spacing:1.5px;color:var(--accent);margin-bottom:2px}
.al-cart-item-name{font-size:13px;color:var(--white);font-weight:600;line-height:1.3}
.al-cart-item-price{font-family:"Bebas Neue",sans-serif;font-size:18px;color:var(--accent);letter-spacing:1px;margin-top:2px}
.al-cart-item-remove{background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:2px 6px;flex-shrink:0;line-height:1;margin-top:2px}
.al-cart-item-remove:hover{color:#ff4444}
.al-cart-empty{text-align:center;padding:48px 0;color:var(--muted);font-size:13px}
.al-cart-empty-icon{font-size:36px;margin-bottom:12px}
.al-cart-footer{padding:20px 24px;border-top:1px solid var(--border)}
.al-cart-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.al-cart-total-lbl{font-size:13px;color:var(--muted);letter-spacing:.5px}
.al-cart-total-val{font-family:"Bebas Neue",sans-serif;font-size:28px;color:var(--white);letter-spacing:1px}
.al-cart-checkout-btn{width:100%;background:var(--accent);color:#000;font-family:"Bebas Neue",sans-serif;font-size:17px;letter-spacing:1px;padding:14px 0;border-radius:8px;border:none;cursor:pointer;margin-bottom:8px;transition:opacity .15s}
.al-cart-checkout-btn:hover{opacity:.85}
.al-cart-checkout-btn:disabled{opacity:.4;cursor:not-allowed}
.al-cart-note{font-size:10px;color:var(--muted);text-align:center;line-height:1.5}
@media(max-width:600px){.al-cc2-grid{grid-template-columns:1fr}.al-cart-drawer{max-width:100%}}


