
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--blue:#1f8fe0;--blue-deep:#0b4c8c;--silver:#c3ccd6;--dark:#0a0d11;--panel:#0d1218;--panel2:#0f151c;--white:#ffffff}
html{scroll-behavior:smooth}
html,body{width:100%;background:var(--dark);color:var(--white);font-family:'Inter',sans-serif;font-weight:300;overflow-x:hidden}

/* ===== NAV ===== */
nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;justify-content:space-between;align-items:center;padding:18px 40px;background:linear-gradient(to bottom,rgba(0,0,0,0.8),transparent);transition:background .3s}
nav.scrolled{background:rgba(9,12,16,0.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(31,143,224,0.14)}
.nav-logo{font-family:'Oswald',sans-serif;font-size:19px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#fff;text-decoration:none}
.nav-logo span{color:var(--blue)}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.75);text-decoration:none;transition:color 0.3s}
.nav-links a:hover{color:var(--blue)}
.nav-cta{border:1px solid rgba(255,255,255,0.4);padding:10px 22px;text-decoration:none;color:#fff;font-size:10px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;transition:all 0.3s}
.nav-cta:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.nav-hamburger{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer}
@media(max-width:900px){.nav-links{display:none;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:rgba(9,12,16,0.97);padding:24px 32px;gap:18px}.nav-links.open{display:flex}.nav-hamburger{display:block}}

/* ===== TYPOGRAPHY / SHARED ===== */
.eyebrow{font-size:10px;font-weight:500;letter-spacing:0.35em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;display:block}
.scene-title{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;line-height:1.05;letter-spacing:0.01em;color:#fff}
.scene-title em{font-style:normal;color:var(--blue)}
.scene-subtitle{font-size:13px;font-weight:300;letter-spacing:0.06em;color:rgba(255,255,255,0.72);line-height:1.9;max-width:520px}
.scene-subtitle.wide{max-width:640px}
.divider{width:48px;height:1px;background:var(--blue);margin:18px 0}
.divider-center{width:48px;height:1px;background:var(--blue);margin:18px auto}
.cta-btn{display:inline-block;background:var(--blue);color:#fff;font-size:10px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;padding:16px 40px;text-decoration:none;transition:opacity 0.3s;border:none;cursor:pointer}
.cta-btn:hover{opacity:0.85}
.cta-outline{display:inline-block;border:1px solid rgba(255,255,255,0.3);color:#fff;font-size:10px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;padding:16px 40px;text-decoration:none;transition:all 0.3s}
.cta-outline:hover{border-color:var(--blue);color:var(--blue)}
.section-header{text-align:center;margin-bottom:80px;padding:0 6%}
.section-header .eyebrow{margin-bottom:6px}

/* ===== SCROLL REVEAL ===== */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1)}
.reveal.in-view{opacity:1;transform:translateY(0)}

/* ===== HERO ===== */
#hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#131b24 0%,#0a0d11 60%,#050709 100%)}
#hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(31,143,224,0.08) 1px,transparent 1px),linear-gradient(90deg,rgba(31,143,224,0.08) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 40%,black 0%,transparent 72%);opacity:.8}
#hero{--fl-h:min(34vh,280px)}
.hero-logo-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(60vw,680px);height:auto;opacity:0.32;filter:grayscale(8%);pointer-events:none;user-select:none;z-index:1}
.hero-floodlight{position:absolute;bottom:0;height:var(--fl-h);width:auto;pointer-events:none;z-index:1;animation:floodPulse 4.5s ease-in-out infinite}
.hero-floodlight-left{left:16%}
.hero-floodlight-right{right:16%;animation-delay:.6s}
@keyframes floodPulse{0%,100%{opacity:0.8}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-floodlight{animation:none;opacity:0.9}}

/* upward light glow, anchored exactly on the fixture's light heads — soft radial cone, no hard edges */
.flood-ray{position:absolute;bottom:calc(0.926 * var(--fl-h));width:220px;height:42vh;pointer-events:none;z-index:1;background:radial-gradient(ellipse 62% 100% at 50% 100%,rgba(255,249,228,0.55) 0%,rgba(255,243,213,0.30) 22%,rgba(255,238,204,0.14) 42%,rgba(255,235,200,0.05) 65%,transparent 82%);animation:rayPulse 4.5s ease-in-out infinite}
.flood-ray-left{left:calc(16% + 0.2324 * var(--fl-h));transform:translateX(-50%) rotate(13deg);transform-origin:bottom center}
.flood-ray-right{right:calc(16% + 0.2324 * var(--fl-h));transform:translateX(50%) rotate(-13deg);transform-origin:bottom center;animation-delay:.6s}
.flood-glow{position:absolute;bottom:calc(0.926 * var(--fl-h));width:70px;height:70px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(255,251,235,0.95) 0%,rgba(255,244,218,0.55) 30%,rgba(255,238,205,0.22) 55%,transparent 78%);animation:rayPulse 4.5s ease-in-out infinite}
.flood-glow-left{left:calc(16% + 0.2324 * var(--fl-h));transform:translate(-50%,50%)}
.flood-glow-right{right:calc(16% + 0.2324 * var(--fl-h));transform:translate(50%,50%);animation-delay:.6s}
@keyframes rayPulse{0%,100%{opacity:0.6}50%{opacity:0.95}}
@media(prefers-reduced-motion:reduce){.flood-ray,.flood-glow{animation:none;opacity:0.7}}

/* bugs flitting near the lights */
.hero-bugs{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}
.bug{position:absolute;width:2.5px;height:2.5px;border-radius:50%;background:#fdf6e3;box-shadow:0 0 3px 1px rgba(255,246,224,0.85);opacity:0}
.bug1{bottom:26vh;left:15%;animation:bugFly1 4.4s ease-in-out infinite}
.bug2{bottom:22vh;left:19%;animation:bugFly2 5.6s ease-in-out infinite 1.2s}
.bug3{bottom:29vh;left:13%;animation:bugFly3 3.8s ease-in-out infinite .4s}
.bug4{bottom:25vh;right:15%;animation:bugFly2 4.9s ease-in-out infinite .8s}
.bug5{bottom:21vh;right:19%;animation:bugFly1 4.1s ease-in-out infinite 1.6s}
.bug6{bottom:28vh;right:14%;animation:bugFly3 5.3s ease-in-out infinite .2s}
@keyframes bugFly1{0%{transform:translate(0,0) rotate(0deg) scale(1);opacity:0}5%{opacity:.9}13%{transform:translate(9px,-4px) rotate(25deg) scale(.9);opacity:.4}21%{transform:translate(15px,-13px) rotate(70deg) scale(1.1);opacity:.9}34%{transform:translate(4px,-9px) rotate(140deg) scale(.8);opacity:.3}42%{transform:translate(-9px,-19px) rotate(160deg) scale(1);opacity:.85}55%{transform:translate(-16px,-12px) rotate(210deg) scale(.9);opacity:.4}64%{transform:translate(-6px,-24px) rotate(260deg) scale(1.05);opacity:.9}77%{transform:translate(8px,-17px) rotate(320deg) scale(.85);opacity:.35}88%{transform:translate(13px,-27px) rotate(370deg) scale(1);opacity:.85}96%{opacity:.3}100%{transform:translate(2px,-6px) rotate(400deg) scale(1);opacity:0}}
@keyframes bugFly2{0%{transform:translate(0,0) rotate(0deg) scale(1);opacity:0}6%{opacity:.85}16%{transform:translate(-12px,-6px) rotate(-30deg) scale(1.05);opacity:.35}27%{transform:translate(-7px,-17px) rotate(-80deg) scale(.9);opacity:.9}39%{transform:translate(-18px,-11px) rotate(-140deg) scale(1);opacity:.3}48%{transform:translate(-10px,-23px) rotate(-190deg) scale(1.1);opacity:.85}61%{transform:translate(4px,-16px) rotate(-250deg) scale(.85);opacity:.4}70%{transform:translate(11px,-26px) rotate(-300deg) scale(1);opacity:.9}83%{transform:translate(-3px,-19px) rotate(-350deg) scale(.9);opacity:.35}92%{transform:translate(-8px,-9px) rotate(-380deg) scale(1);opacity:.7}100%{transform:translate(0,0) rotate(-400deg) scale(1);opacity:0}}
@keyframes bugFly3{0%{transform:translate(0,0) rotate(0deg) scale(1);opacity:0}7%{opacity:.9}18%{transform:translate(7px,-10px) rotate(40deg) scale(.95);opacity:.4}29%{transform:translate(16px,-5px) rotate(90deg) scale(1.1);opacity:.85}41%{transform:translate(9px,-20px) rotate(150deg) scale(.8);opacity:.3}53%{transform:translate(-6px,-14px) rotate(220deg) scale(1);opacity:.9}66%{transform:translate(-14px,-24px) rotate(280deg) scale(.9);opacity:.35}78%{transform:translate(-2px,-30px) rotate(330deg) scale(1.05);opacity:.85}90%{transform:translate(6px,-22px) rotate(380deg) scale(.9);opacity:.3}100%{transform:translate(1px,-4px) rotate(400deg) scale(1);opacity:0}}
@media(prefers-reduced-motion:reduce){.bug{display:none}}
#hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,rgba(0,0,0,0.55),transparent)}
.hero-inner{position:relative;z-index:2;max-width:840px;padding:0 24px}
.hero-inner .scene-title{font-size:clamp(42px,7vw,92px);margin-bottom:20px}
.hero-inner .scene-subtitle{margin:0 auto 40px;text-align:center}
.hero-btns{display:flex;flex-direction:column;align-items:center;gap:14px}
.hero-service-area{font-size:11px;letter-spacing:0.1em;color:rgba(255,255,255,0.55);text-transform:uppercase;margin-top:4px}
.scroll-hint{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;animation:fadeInUp 1s ease 1.4s forwards}
.scroll-hint span{font-size:9px;font-weight:600;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.55)}
.scroll-arrow{animation:arrowBounce 1.7s ease-in-out infinite}
.scroll-arrow path:nth-child(2){opacity:0.45}
@keyframes arrowBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes fadeInUp{to{opacity:1}}

/* ===== STRIPE DIVIDER (hazard tape) ===== */
.hazard-tape{width:100%;overflow:hidden;background:repeating-linear-gradient(-45deg,#FFC72C 0 30px,#15140f 30px 60px);padding:12px 0;position:relative;border-top:2px solid #000;border-bottom:2px solid #000;box-shadow:inset 0 2px 4px rgba(0,0,0,0.25),inset 0 -2px 4px rgba(0,0,0,0.25);animation:tapeStripeMove 1s linear infinite}
.hazard-tape-track{display:flex;width:max-content;animation:tapeScroll 24s linear infinite}
.hazard-tape-item{display:flex;align-items:center;font-family:'Oswald',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.16em;color:#fff;text-transform:uppercase;white-space:nowrap;padding:0 26px;text-shadow:0 1px 3px rgba(0,0,0,0.6)}
.hazard-tape-item::after{content:'\25C6';margin-left:26px;font-size:8px;color:#000}
@keyframes tapeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes tapeStripeMove{from{background-position:0 0}to{background-position:-84.85px 0}}
@media(prefers-reduced-motion:reduce){.hazard-tape-track,.hazard-tape{animation:none}}

/* ===== SERVICES STRIP ===== */
.services-strip{display:flex;flex-wrap:wrap;justify-content:center;background:var(--panel);padding:36px 6%;border-bottom:1px solid rgba(31,143,224,0.14)}
.service-item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 32px;border-right:1px solid rgba(255,255,255,0.06)}
.service-item:last-child{border-right:none}
.service-item svg{color:var(--blue)}
.service-item span{font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.78)}
@media(max-width:768px){.service-item{padding:10px 18px}}

/* ===== FLEET SECTION ===== */
.fleet-section{padding:100px 8% 120px;background:var(--dark)}
.fleet-list{display:flex;flex-direction:column;gap:2px;max-width:1180px;margin:0 auto}
.machine-card{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--panel);border:none}
.machine-card:nth-child(even) .machine-photo{order:2}
.machine-card:nth-child(even) .machine-info{order:1}
.machine-card.placeholder{opacity:0.92}

/* photo panel */
.machine-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--panel2);--gx:58%;--gy:16%}
.photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(circle at 50% 38%,#141c24,#0a0d11);z-index:1;padding:20px;text-align:center}
.photo-placeholder svg{opacity:0.55}
.placeholder-label{font-size:9px;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.35);max-width:220px;line-height:1.6}
.machine-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:2;transition:filter .6s ease}
.machine-photo.lit .machine-img,.machine-photo.lit .photo-placeholder{filter:brightness(1.14) contrast(1.06) saturate(1.05)}

/* light glow + beams */
.light-glow{position:absolute;z-index:3;pointer-events:none;opacity:0;transition:opacity .5s ease;width:14%;height:14%;left:var(--gx);top:var(--gy);transform:translate(-50%,-50%);border-radius:22%;background:#eef3f8;box-shadow:0 0 2px 1px rgba(255,255,255,0.82),0 0 8px 2px rgba(221,236,255,0.7),0 0 16px 6px rgba(196,220,255,0.36),0 0 28px 11px rgba(180,208,255,0.15)}
.machine-photo.lit .light-glow{opacity:1}

/* precise point-lights matched to the real LED fixture shape (5000K white) */
.light-source{position:absolute;z-index:3;pointer-events:none;opacity:0;transition:opacity .35s ease;left:var(--lx);top:var(--ly);width:var(--lw);height:var(--lh);transform:translate(-50%,-50%) rotate(var(--lr,0deg));border-radius:var(--lradius,22%);background:#eef3f8}
.light-source::before{content:'';position:absolute;inset:0;border-radius:var(--lradius,22%);background:#eef3f8;box-shadow:0 0 2px 1px rgba(255,255,255,0.82),0 0 6px 2px rgba(221,236,255,0.72),0 0 11px 4px rgba(196,220,255,0.42),0 0 19px 8px rgba(180,208,255,0.18)}
.machine-photo.lit .light-source{opacity:1}
.machine-photo.cutout{background:transparent;display:flex;align-items:center;justify-content:center;align-self:center}
.machine-img.cutout-img{position:relative;inset:auto;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;padding:0}

.lights-btn{position:absolute;z-index:4;bottom:16px;right:16px;background:rgba(9,12,16,0.85);border:1px solid rgba(31,143,224,0.5);color:rgba(255,255,255,0.85);font-family:'Inter',sans-serif;font-size:9px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;padding:11px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .3s,border-color .3s,color .3s;backdrop-filter:blur(10px);animation:lightsBtnGlow 2.2s ease-in-out infinite}
.lights-btn::before{content:'';position:absolute;inset:-5px;border-radius:inherit;border:1px solid rgba(31,143,224,0.55);opacity:0;pointer-events:none;animation:lightsBtnPing 2.2s ease-out infinite}
.lights-btn:hover{border-color:var(--blue);color:var(--blue)}
.lights-btn svg{width:14px;height:14px;flex-shrink:0}
.machine-photo.lit .lights-btn{background:rgba(31,143,224,0.16);border-color:var(--blue);color:var(--blue);animation:none;box-shadow:0 0 16px 4px rgba(31,143,224,0.45)}
.machine-photo.lit .lights-btn::before{animation:none;opacity:0}
@keyframes lightsBtnGlow{0%,100%{box-shadow:0 0 6px 1px rgba(31,143,224,0.25)}50%{box-shadow:0 0 18px 5px rgba(31,143,224,0.7)}}
@keyframes lightsBtnPing{0%{transform:scale(1);opacity:.55}70%{opacity:0}100%{transform:scale(1.18);opacity:0}}
@media(prefers-reduced-motion:reduce){.lights-btn,.lights-btn::before{animation:none}}

.machine-badge{position:absolute;z-index:4;top:16px;left:16px;font-size:9px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;padding:7px 14px;background:rgba(9,12,16,0.85);border:1px solid rgba(31,143,224,0.4);color:var(--blue)}
.machine-badge.tbd{color:rgba(255,255,255,0.55);border-color:rgba(255,255,255,0.18)}

/* info panel */
.machine-info{padding:56px 52px;display:flex;flex-direction:column;justify-content:center}
.machine-name{font-family:'Oswald',sans-serif;font-size:clamp(24px,2.2vw,32px);font-weight:600;text-transform:uppercase;letter-spacing:0.01em;color:#fff;margin-bottom:14px}
.machine-desc{font-size:13px;font-weight:300;letter-spacing:0.03em;color:rgba(255,255,255,0.68);line-height:1.85;margin-bottom:8px}
.machine-specs{font-size:10px;letter-spacing:0.1em;color:var(--blue);margin-bottom:6px;text-transform:uppercase}
.machine-note{font-size:10px;color:rgba(255,255,255,0.32);font-style:italic;margin-bottom:24px;letter-spacing:0.02em}
.jobs-label{font-size:9px;font-weight:600;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin:20px 0 12px}
.jobs-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.job-pill{font-size:10px;letter-spacing:0.06em;color:rgba(255,255,255,0.75);border:1px solid rgba(31,143,224,0.35);padding:7px 14px;background:rgba(31,143,224,0.05)}
.machine-info .cta-btn{align-self:flex-start;margin-top:auto}

@media(max-width:860px){
  .machine-card{grid-template-columns:1fr}
  .machine-card:nth-child(even) .machine-photo,.machine-card:nth-child(even) .machine-info{order:initial}
  .machine-info{padding:40px 28px}
  .fleet-section{padding:100px 5% 80px}
}

/* ===== ATTACHMENTS ===== */
.attachments-block{max-width:1180px;margin:90px auto 0}
.attachments-header{text-align:center;margin-bottom:48px}
.attachments-header .eyebrow{margin-bottom:6px}
.attachments-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.attachment-card{background:var(--panel);border:1px solid rgba(31,143,224,0.14);padding:40px;display:flex;flex-direction:column}
.attachment-card .cta-btn{align-self:center}
.attachment-photo{position:relative;aspect-ratio:4/5;width:58%;max-width:230px;overflow:hidden;background:transparent;margin:0 auto 28px;display:flex;align-items:center;justify-content:center}
.attachment-photo img{position:relative;width:auto;height:auto;max-width:88%;max-height:88%;object-fit:contain}
.attachment-name{font-family:'Oswald',sans-serif;font-size:clamp(20px,1.8vw,26px);font-weight:600;text-transform:uppercase;color:#fff;margin-bottom:12px}
.attachment-desc{font-size:13px;font-weight:300;color:rgba(255,255,255,0.68);line-height:1.85;margin-bottom:20px}
.attachment-compat{font-size:10px;letter-spacing:0.1em;color:var(--blue);text-transform:uppercase;margin-bottom:24px}
@media(max-width:860px){.attachments-grid{grid-template-columns:1fr}}

/* ===== TRUST / STATS ===== */
.trust-section{padding:110px 8%;background:#070a0e;text-align:center}
.trust-number{font-family:'Oswald',sans-serif;font-size:clamp(56px,8vw,110px);font-weight:700;color:var(--blue);line-height:1;margin-bottom:10px;font-variant-numeric:tabular-nums}
.trust-label{font-size:11px;font-weight:600;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-bottom:56px}
.trust-cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:1080px;margin:0 auto}
.trust-col-title{font-size:9px;font-weight:600;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:24px}
.trust-items{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.trust-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px 10px;min-height:150px;background:var(--panel);border:1px solid rgba(31,143,224,0.16);opacity:0;transform:translateY(26px) scale(0.94);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1),border-color .3s,background .3s}
.trust-item.in-view{opacity:1;transform:translateY(0) scale(1)}
.trust-item:hover{border-color:var(--blue);background:rgba(31,143,224,0.07);transform:translateY(-5px) scale(1)}
.trust-item svg{color:var(--blue);transition:transform .35s cubic-bezier(.4,0,.2,1)}
.trust-item:hover svg{transform:scale(1.18) rotate(-3deg)}
.trust-item-label{font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:#fff;text-align:center;line-height:1.3}
@media(max-width:768px){.trust-cols{grid-template-columns:1fr;gap:44px}}
@media(max-width:520px){.trust-items{grid-template-columns:repeat(2,1fr)}}

/* ===== CONTACT CTA ===== */
#contact{padding:130px 10%;background:#070a0e;text-align:center}
.contact-content{display:flex;flex-direction:column;align-items:center;max-width:680px;margin:0 auto}
.contact-content .scene-title{font-size:clamp(38px,5.5vw,68px);margin-bottom:0}
.contact-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}

/* ===== FOOTER ===== */
.site-footer{background:#05080b;border-top:1px solid rgba(255,255,255,0.05);padding:64px 10% 36px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.05)}
.footer-logo{font-family:'Oswald',sans-serif;font-size:19px;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.75);margin-bottom:14px;display:block}
.footer-logo span{color:var(--blue)}
.footer-tagline{font-size:12px;color:rgba(255,255,255,0.4);line-height:1.8;max-width:300px}
.footer-col-title{font-size:9px;font-weight:600;letter-spacing:0.25em;text-transform:uppercase;color:var(--blue);margin-bottom:18px}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{font-size:11px;color:rgba(255,255,255,0.45);text-decoration:none;transition:color .3s;letter-spacing:0.04em}
.footer-links a:hover{color:var(--blue)}
.footer-service-area{font-size:11px;color:rgba(255,255,255,0.45);letter-spacing:0.04em;line-height:1.6}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:24px}
.footer-copy{font-size:10px;color:rgba(255,255,255,0.4);letter-spacing:0.08em}
.footer-credit{font-size:10px;color:rgba(255,255,255,0.35);letter-spacing:0.05em}
.footer-credit span{color:var(--blue);font-weight:500}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr}}
