/* =======================================================================
   Arbor Boreholes — FUTURISTIC ENHANCEMENT LAYER
   Loaded after style.css. World-class interactive polish.
   ======================================================================= */
:root{
  --head:'Space Grotesk', system-ui, sans-serif;
  --display:'Sora','Space Grotesk', system-ui, sans-serif;
  --grad:linear-gradient(120deg,#2bb8d4,#159bb8 55%,#0e7c93);
  --grad-bright:linear-gradient(120deg,#3fd6ec,#159bb8);
  --glow:0 0 0 1px rgba(21,155,184,.16), 0 22px 55px -20px rgba(21,155,184,.5);
}
h1,h2{font-family:var(--display)}
h1{letter-spacing:-1px}
::selection{background:var(--teal);color:#fff}
html{scrollbar-color:var(--teal) var(--bg-soft)}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--bg-soft)}
::-webkit-scrollbar-thumb{background:var(--teal);border-radius:8px;border:3px solid var(--bg-soft)}

/* ---- Preloader ---- */
.preloader{position:fixed;inset:0;z-index:3000;background:var(--charcoal);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:20px;transition:opacity .6s ease,visibility .6s ease}
.preloader.done{opacity:0;visibility:hidden}
.preloader__logo{position:relative;width:104px;height:104px;display:grid;place-items:center}
.preloader__logo img{width:62px;animation:floaty 2.2s ease-in-out infinite}
.preloader__ring{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(255,255,255,.10);
  border-top-color:var(--teal-l);animation:vspin .9s linear infinite}
.preloader__name{font-family:var(--display);font-weight:700;letter-spacing:6px;font-size:.85rem;
  background:var(--grad-bright);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@keyframes floaty{50%{transform:translateY(-8px)}}

/* ---- Scroll progress ---- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:var(--grad-bright);
  box-shadow:0 0 14px rgba(21,155,184,.9)}

/* ---- Nav brand (real logo, as-is) ---- */
.nav__logo{height:56px;width:auto;transition:var(--t)}
.nav__brand:hover .nav__logo{transform:scale(1.03)}
@media(max-width:600px){.nav__logo{height:46px}}
@media(max-width:380px){.nav__logo{height:40px}}

/* ---- Animated nav underline ---- */
.nav__link::after{content:"";position:absolute;left:.8em;right:.8em;bottom:.15em;height:2px;background:var(--teal);
  border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;opacity:1}
.nav__link:hover::after,.nav__link.active::after{transform:scaleX(1)}

/* ---- Button shine ---- */
.btn--primary,.btn--dark{position:relative;overflow:hidden}
.btn--primary::before,.btn--dark::before{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);
  transition:left .6s ease}
.btn--primary:hover::before,.btn--dark:hover::before{left:150%}

/* ---- Hero futurism ---- */
.hero{isolation:isolate}
.hero__bg::after{background:linear-gradient(115deg,rgba(16,24,30,.95) 0%,rgba(16,24,30,.72) 44%,rgba(14,124,147,.52) 100%)}
.aurora{position:absolute;border-radius:50%;filter:blur(72px);opacity:.55;z-index:0;pointer-events:none;mix-blend-mode:screen}
.aurora--1{width:480px;height:480px;background:radial-gradient(circle,#1fd0e6,transparent 70%);top:-130px;right:-70px;animation:drift 15s ease-in-out infinite}
.aurora--2{width:400px;height:400px;background:radial-gradient(circle,#0e7c93,transparent 70%);bottom:-150px;left:-70px;animation:drift 19s ease-in-out infinite reverse}
@keyframes drift{50%{transform:translate(34px,42px) scale(1.16)}}
.hero h1 .accent{background:var(--grad-bright);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero__badge{background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.scroll-cue{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:3;color:#fff;opacity:.75;
  display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.66rem;letter-spacing:2px;font-family:var(--display)}
.scroll-cue .i{width:22px;height:22px;animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(7px)}}

/* ---- Inner-page hero glow ---- */
.phero{isolation:isolate}
.phero::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(43,184,212,.45),transparent 70%);filter:blur(64px);
  top:-140px;right:-60px;z-index:1;animation:drift 17s ease-in-out infinite;pointer-events:none}

/* ---- Marquee trust strip ---- */
.marquee{background:var(--charcoal);overflow:hidden;border-block:1px solid rgba(255,255,255,.08)}
.marquee__track{display:flex;gap:46px;width:max-content;padding:16px 0;animation:marq 30s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__item{display:inline-flex;align-items:center;gap:.55em;font-family:var(--display);font-weight:700;
  font-size:1.02rem;color:#eef6f8;letter-spacing:.5px;white-space:nowrap;text-transform:uppercase}
.marquee__item .i{width:19px;height:19px;color:var(--teal-l)}
.marquee__dot{color:var(--teal-l);font-size:1.3rem;line-height:1}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---- Glass + glow on cards ---- */
.stats__grid{background:rgba(255,255,255,.94);backdrop-filter:blur(8px)}
.stat__num{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.card:hover{box-shadow:var(--glow)}
.card__icon{background:var(--grad);box-shadow:0 10px 24px -8px rgba(21,155,184,.7)}
.sector__icon{transition:var(--t)}
.sector:hover .sector__icon{background:var(--grad);color:#fff;box-shadow:0 10px 24px -8px rgba(21,155,184,.6)}
.res__icon,.cinfo__icon{transition:var(--t)}
.res:hover .res__icon,.cinfo:hover .cinfo__icon{background:var(--grad);color:#fff}
.tstep__num{background:var(--grad);box-shadow:0 10px 22px -8px rgba(21,155,184,.7)}

/* ---- 3D tilt cards ---- */
.tilt{transform-style:preserve-3d;will-change:transform;transition:transform .18s ease, box-shadow .3s ease}

/* ---- Animated CTA band ---- */
.cta-band{background:linear-gradient(120deg,#0e7c93,#159bb8,#2bb8d4,#159bb8);background-size:300% 300%;
  animation:ctaflow 9s ease infinite;position:relative;overflow:hidden}
@keyframes ctaflow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* ---- Dark section subtle glow ---- */
.section--dark{position:relative;overflow:hidden}
.section--dark::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;top:-180px;left:50%;
  transform:translateX(-50%);background:radial-gradient(circle,rgba(21,155,184,.22),transparent 68%);filter:blur(40px);pointer-events:none}

/* ---- Reveal stagger ---- */
.cards>.reveal:nth-child(2),.res-grid>.reveal:nth-child(2),.sectors>.reveal:nth-child(2),.why>.reveal:nth-child(2){transition-delay:.08s}
.cards>.reveal:nth-child(3),.res-grid>.reveal:nth-child(3),.sectors>.reveal:nth-child(3),.why>.reveal:nth-child(3){transition-delay:.16s}
.cards>.reveal:nth-child(4),.res-grid>.reveal:nth-child(4),.sectors>.reveal:nth-child(4),.why>.reveal:nth-child(4){transition-delay:.24s}
.cards>.reveal:nth-child(5),.why>.reveal:nth-child(5){transition-delay:.32s}
.cards>.reveal:nth-child(6),.why>.reveal:nth-child(6){transition-delay:.40s}

/* ---- Footer logo / WhatsApp pulse ---- */
.footer__brand img{height:66px;background:none;padding:0;border-radius:0;filter:drop-shadow(0 8px 20px rgba(0,0,0,.45))}
.float-wa{background:#25d366;animation:wapulse 2.6s infinite}
@keyframes wapulse{0%{box-shadow:0 10px 24px -6px rgba(37,211,102,.6),0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 10px 24px -6px rgba(37,211,102,.6),0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 10px 24px -6px rgba(37,211,102,.6),0 0 0 0 rgba(37,211,102,0)}}

/* ---- Section divider wave ---- */
.wave{display:block;width:100%;height:54px;line-height:0;color:inherit}
.wave svg{display:block;width:100%;height:100%}

/* ---- Testimonials carousel ---- */
.testi{position:relative;max-width:860px;margin:0 auto}
.testi__track{position:relative}
.testi__card{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(18px);
  transition:opacity .5s ease,transform .5s ease,visibility .5s ease;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:42px 44px;box-shadow:var(--shadow);text-align:center}
.testi__card.active{opacity:1;visibility:visible;transform:none;position:relative}
.testi__quote-mark{font-family:var(--display);font-size:3.4rem;line-height:.5;color:var(--teal);opacity:.2}
.testi__stars{display:flex;justify-content:center;gap:3px;margin:10px 0 16px}
.testi__stars .i{width:20px;height:20px;fill:#f5b50a;stroke:#f5b50a}
.testi__text{font-size:1.18rem;color:var(--charcoal-l);font-family:var(--display);font-weight:600;line-height:1.55;margin-bottom:20px}
.testi__who{display:flex;flex-direction:column;gap:2px}
.testi__name{font-family:var(--head);font-weight:700;color:var(--teal-d)}
.testi__role{font-size:.88rem;color:var(--gray)}
.testi__nav{display:flex;justify-content:center;gap:9px;margin-top:26px}
.testi__dot{width:11px;height:11px;border-radius:50%;border:none;background:var(--line);cursor:pointer;transition:var(--t);padding:0}
.testi__dot.active{background:var(--teal);width:30px;border-radius:6px}
.testi__arrow{position:absolute;top:42%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
  border:2px solid var(--line);background:#fff;color:var(--teal);cursor:pointer;display:grid;place-items:center;transition:var(--t);z-index:2}
.testi__arrow:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.testi__arrow .i{width:20px;height:20px}
.testi__prev{left:-22px}.testi__prev .i{transform:scaleX(-1)}
.testi__next{right:-22px}
@media(max-width:940px){.testi__arrow{display:none}}
@media(max-width:600px){.testi__card{padding:32px 24px}.testi__text{font-size:1.05rem}}

/* ---- WhatsApp button + divider ---- */
.btn--wa{background:#25d366;color:#fff}
.btn--wa:hover{background:#1ebe5b;transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(37,211,102,.7)}
.or-divider{display:flex;align-items:center;gap:12px;color:var(--gray-l);font-size:.85rem;margin:14px 0}
.or-divider::before,.or-divider::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---- Standards / accreditation strip ---- */
.standards{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.standard{display:flex;align-items:center;gap:14px;padding:18px 24px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);min-width:236px;transition:var(--t)}
.standard:hover{box-shadow:var(--glow);border-color:transparent;transform:translateY(-4px)}
.standard__icon{width:46px;height:46px;border-radius:11px;background:var(--teal-soft);color:var(--teal-d);
  display:grid;place-items:center;flex:0 0 auto;transition:var(--t)}
.standard:hover .standard__icon{background:var(--grad);color:#fff}
.standard__icon .i{width:24px;height:24px}
.standard b{display:block;font-family:var(--display);font-size:1.02rem;color:var(--charcoal);line-height:1.15}
.standard span{font-size:.8rem;color:var(--gray)}
@media(max-width:600px){.standard{min-width:0;width:100%}}

/* ---- Sticky "Get a Quote" bar ---- */
.qbar{position:fixed;left:0;right:0;bottom:0;z-index:95;background:rgba(31,38,44,.97);backdrop-filter:blur(10px);
  color:#fff;transform:translateY(115%);transition:transform .45s cubic-bezier(.4,0,.2,1);
  box-shadow:0 -12px 34px -14px rgba(0,0,0,.6);border-top:1px solid rgba(255,255,255,.08)}
.qbar.show{transform:none}
.qbar__inner{display:flex;align-items:center;justify-content:center;gap:22px;padding:12px 18px;flex-wrap:wrap}
.qbar__text{font-family:var(--display);font-weight:600;font-size:1rem}
.qbar__text b{color:var(--teal-l)}
.qbar__actions{display:flex;gap:10px;align-items:center}
.qbar__close{background:none;border:none;color:#9aa6ae;cursor:pointer;display:grid;place-items:center;padding:6px;border-radius:6px;transition:var(--t)}
.qbar__close:hover{color:#fff;background:rgba(255,255,255,.08)}
.qbar__close .i{width:20px;height:20px}
body.qbar-open .float-wa{bottom:80px}
body.qbar-open .to-top{bottom:146px}
@media(max-width:620px){.qbar__text{display:none}.qbar__inner{justify-content:space-between;gap:10px}}

/* =======================================================================
   FULL RESPONSIVE COVERAGE — phones, tablets, desktops, large screens
   ======================================================================= */

/* Tablet / small laptop */
@media(max-width:860px){
  .footer__grid{grid-template-columns:1fr 1fr;gap:30px 36px}
  .footer__about{grid-column:1 / -1}
}

/* Large phone / small tablet */
@media(max-width:640px){
  .marquee__item{font-size:.88rem;gap:.45em}
  .marquee__track{gap:34px}
  .phero{padding:64px 0 48px}
  .phero h1{font-size:clamp(1.8rem,7vw,2.4rem)}
}

@media(max-width:600px){
  .container{padding:0 18px}
  .section{padding:54px 0}
  .section-head{margin-bottom:38px}
  .cta-band{padding:48px 0}
  .footer{padding-top:48px}
  .testi__nav{margin-top:20px}
}

/* Phones */
@media(max-width:520px){
  .footer__grid{grid-template-columns:1fr;gap:30px}
  .footer__about{grid-column:auto}
  .footer__bar-inner{flex-direction:column;text-align:center;gap:6px}
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__actions .btn{width:100%}
  .cta-band__actions{flex-direction:column;align-items:stretch;width:100%}
  .cta-band__actions .btn{width:100%}
  .split__badge{right:10px;bottom:10px;padding:14px 16px}
  .split__badge strong{font-size:1.6rem}
  .testi__card{padding:28px 20px}
  .standard{padding:16px 18px}
}

/* Small phones */
@media(max-width:400px){
  .container{padding:0 14px}
  .topbar__contacts{gap:12px;font-size:.78rem}
  .qbar__actions{flex-wrap:wrap;justify-content:center;gap:8px}
  .qbar .btn--sm{padding:.55em .8em;font-size:.8rem}
  .float-wa{width:50px;height:50px;right:14px}
  .to-top{right:16px}
  .stat__num{font-size:2.2rem}
}

/* Very large screens — keep content readable, let media breathe */
@media(min-width:1600px){
  .container{max-width:1320px}
}

/* Landscape phones — trim tall hero */
@media(max-height:520px) and (orientation:landscape){
  .hero__inner{padding:54px 0 64px}
  .scroll-cue{display:none}
}

/* ---- Reduced motion ---- */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important}
  .reveal{transition:none}
  .aurora,.scroll-cue .i,.float-wa{animation:none}
}
