/* Extracted from pages/home.php — v170 */
/* Home cinematic transition polish */
.ah-danger.ah-reveal .ah-danger-copy{opacity:0;transform:translate3d(0,34px,0) scale(.992);}
.ah-danger.ah-reveal.is-visible .ah-danger-copy{opacity:1;transform:none;}

.ah-comms::before,
.ah-share::before{
  pointer-events:none;
}
.ah-comms{
  margin-top:-1px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.ah-comms::after{
  content:"";
  position:absolute;
  left:0;right:0;top:-120px;height:160px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0),#000 82%);
  z-index:0;
}
.ah-share{
  margin-top:-1px;
}
.ah-share::after{
  content:"";
  position:absolute;
  z-index:2;
  left:0;right:0;top:-1px;height:150px;
  pointer-events:none;
  background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.78) 22%,rgba(0,0,0,0) 100%);
}
.ah-share .ah-copy{z-index:3;}

.ah-services{
  position:relative;
  gap:var(--gap);
  padding:var(--gap);
  background:#000;
}
.dark .ah-services{background:#000;}
.ah-services::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:1px;
  background:rgba(255,255,255,.035);
  pointer-events:none;
}
.ah-final{
  margin-top:0;
  box-shadow:0 -1px 0 rgba(0,0,0,.035);
}

/* Product objects rise independently as their section appears. */
.ah-comms .ah-comms-visual,
.ah-fuel .ah-fuel-visual{
  opacity:0;
  transform:translate3d(0,48px,0) scale(.97);
  transition:
    opacity 1.15s cubic-bezier(.16,1,.3,1) .16s,
    transform 1.45s cubic-bezier(.16,1,.3,1) .16s;
  will-change:transform,opacity;
}
.ah-comms.is-visible .ah-comms-visual,
.ah-fuel.is-visible .ah-fuel-visual{
  opacity:1;
  transform:none;
}

@media (max-width:767px){
  .ah-stream{gap:0;padding:0;}
  .ah-services{gap:8px;padding:8px;}
  .ah-hero::after{height:190px;}
  .ah-hero-inner{padding-bottom:84px;}
}

/* HOME HERO 2026 — dedicated Apple-style first screen.
   The global portal header stays in the DOM for PJAX navigation, but is visually
   removed only while the current route is the public home page. */
body[data-route="/"]{
  padding-top:0 !important;
  background:#000 !important;
}
body[data-route="/"] header.app-header{display:none !important;}
body[data-route="/"] .home-premium{margin-top:0 !important;}

.ah-hero{
  --hero-shade:.19;
  min-height:max(700px,100svh);
  align-items:center;
  background:#000;
}
.ah-hero-bg{
  inset:-2.5%;
  background-position:50% 48%;
  filter:brightness(.68) saturate(.88) contrast(1.035);
  transform-origin:52% 52%;
}
.ah-hero::before{
  background:
    radial-gradient(ellipse 86% 70% at 67% 35%,rgba(0,0,0,0) 0%,rgba(0,0,0,.05) 44%,rgba(0,0,0,.22) 100%),
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.02) 30%,rgba(0,0,0,.11) 52%,rgba(0,0,0,.72) 100%),
    linear-gradient(90deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.13) 50%,rgba(0,0,0,.14) 100%);
}
.ah-hero::after{
  height:clamp(110px,13vw,210px);
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.16) 32%,#000 100%);
}
.ah-hero-top{
  position:absolute;
  z-index:6;
  top:max(24px,env(safe-area-inset-top,0px));
  left:50%;
  width:min(1280px,calc(100% - 64px));
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  pointer-events:none;
}
.ah-hero-top a{pointer-events:auto;}
.ah-hero-brand{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:#fff;
  min-width:0;
}
.ah-hero-brand-mark{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.08);
}
.ah-hero-brand-mark img{width:100%;height:100%;display:block;}
.ah-hero-brand-copy{display:flex;flex-direction:column;line-height:1.05;}
.ah-hero-brand-copy b{font-size:14px;font-weight:750;letter-spacing:-.025em;}
.ah-hero-brand-copy small{margin-top:4px;font-size:10.5px;font-weight:550;color:rgba(255,255,255,.58);letter-spacing:-.01em;}
.ah-hero-login{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 17px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#fff;
  background:rgba(18,18,20,.20);
  -webkit-backdrop-filter:blur(22px) saturate(155%);
  backdrop-filter:blur(22px) saturate(155%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 10px 30px rgba(0,0,0,.10);
  font-size:13px;
  font-weight:650;
  transition:background .25s ease,border-color .25s ease,transform .25s cubic-bezier(.16,1,.3,1);
}
.ah-hero-login:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);transform:translateY(-1px);}

.ah-hero-inner{
  width:min(1280px,calc(100% - 64px));
  margin:0 auto;
  padding:132px 0 72px;
  transform-origin:left center;
}
.ah-hero-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:14px;
  font-weight:650;
  color:rgba(255,255,255,.72);
  letter-spacing:-.015em;
}
.ah-kicker-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#30d158;
  box-shadow:0 0 0 5px rgba(48,209,88,.10),0 0 18px rgba(48,209,88,.36);
}
.ah-hero h1{
  max-width:1080px;
  margin:13px 0 0;
  font-size:clamp(64px,6.6vw,110px);
  line-height:.91;
  letter-spacing:-.072em;
  font-weight:800;
  text-wrap:initial;
  text-shadow:0 12px 48px rgba(0,0,0,.22);
}
.ah-title-line{display:block;}
.ah-hero-desc{
  max-width:700px !important;
  margin-top:24px !important;
  color:rgba(255,255,255,.78) !important;
  font-size:clamp(17px,1.25vw,20px) !important;
  line-height:1.45 !important;
  letter-spacing:-.022em !important;
  text-wrap:pretty;
}
.ah-hero-value{
  margin-top:12px;
  font-size:14px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:-.015em;
  color:rgba(255,255,255,.55);
}
.ah-hero .ah-actions{margin-top:27px;gap:16px 20px;}
.ah-hero .ah-join{
  min-height:50px;
  padding:0 24px;
  border-radius:999px;
  background:#0a84ff;
  font-size:15px;
  font-weight:700;
  letter-spacing:-.012em;
  box-shadow:0 16px 42px rgba(10,132,255,.28),inset 0 1px 0 rgba(255,255,255,.20);
  transition:transform .35s cubic-bezier(.16,1,.3,1),background .25s ease,box-shadow .35s ease;
}
.ah-hero .ah-join:hover{background:#168cff;transform:translateY(-2px);box-shadow:0 20px 52px rgba(10,132,255,.35),inset 0 1px 0 rgba(255,255,255,.22);}
.ah-hero .ah-link{font-size:15px;font-weight:600;color:rgba(255,255,255,.82);}
.ah-hero .ah-link:hover{color:#fff;text-decoration:none;}

@media (max-width:900px){
  .ah-hero-top{width:calc(100% - 40px);top:max(18px,env(safe-area-inset-top,0px));}
  .ah-hero-inner{width:calc(100% - 40px);}
  .ah-hero h1{font-size:clamp(58px,9vw,78px);max-width:760px;}
}

@media (max-width:767px){
  body.mobile-ui-2026[data-route="/"] #siteMain{margin-top:0 !important;padding-top:0 !important;}
  .home-premium{margin-top:0 !important;}
  .ah-hero{min-height:max(680px,100svh);align-items:flex-end;}
  .ah-hero-bg{
    inset:-3%;
    background-position:61% 47%;
    filter:brightness(.64) saturate(.88) contrast(1.04);
    transform-origin:62% 46%;
  }
  .ah-hero::before{
    background:
      linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.015) 24%,rgba(0,0,0,.07) 43%,rgba(0,0,0,.49) 68%,rgba(0,0,0,.90) 91%,#000 100%),
      linear-gradient(90deg,rgba(0,0,0,.24),rgba(0,0,0,0) 76%);
  }
  .ah-hero::after{height:120px;background:linear-gradient(180deg,rgba(0,0,0,0),#000 100%);}
  .ah-hero-top{
    top:max(14px,env(safe-area-inset-top,0px));
    width:calc(100% - 28px);
  }
  .ah-hero-brand{gap:8px;}
  .ah-hero-brand-mark{width:36px;height:36px;flex-basis:36px;border-radius:12px;}
  .ah-hero-brand-copy b{font-size:12.5px;}
  .ah-hero-brand-copy small{display:none;}
  .ah-hero-login{min-height:36px;padding:0 14px;font-size:12.5px;background:rgba(18,18,20,.24);}
  .ah-hero-inner{
    width:calc(100% - 32px);
    padding:138px 0 max(42px,calc(env(safe-area-inset-bottom,0px) + 28px));
  }
  .ah-hero-kicker{font-size:12px;gap:8px;color:rgba(255,255,255,.68);}
  .ah-kicker-dot{width:5px;height:5px;box-shadow:0 0 0 4px rgba(48,209,88,.09),0 0 14px rgba(48,209,88,.30);}
  .ah-hero h1{
    max-width:430px;
    margin-top:10px;
    font-size:clamp(43px,12vw,55px);
    line-height:.915;
    letter-spacing:-.066em;
    text-shadow:0 10px 36px rgba(0,0,0,.26);
  }
  .ah-title-line:first-child > span{display:block;}
  .ah-hero-desc{
    max-width:360px !important;
    margin-top:18px !important;
    font-size:15.5px !important;
    line-height:1.42 !important;
    letter-spacing:-.014em !important;
    color:rgba(255,255,255,.75) !important;
  }
  .ah-hero-value{max-width:340px;margin-top:10px;font-size:12.5px;color:rgba(255,255,255,.50);}
  .ah-hero .ah-actions{display:grid;grid-template-columns:1fr;margin-top:21px;gap:13px;}
  .ah-hero .ah-join{width:100%;min-height:51px;padding:0 18px;font-size:15px;}
  .ah-hero .ah-link{justify-self:center;font-size:13.5px;color:rgba(255,255,255,.72);}
}

@media (max-width:390px){
  .ah-hero-inner{width:calc(100% - 28px);padding-top:126px;}
  .ah-hero h1{font-size:clamp(40px,11.5vw,46px);}
  .ah-hero-desc{font-size:14.5px !important;max-width:330px !important;}
  .ah-hero-value{font-size:12px;}
}

@media (max-height:720px) and (max-width:767px){
  .ah-hero{min-height:660px;}
  .ah-hero-inner{padding-top:112px;padding-bottom:30px;}
  .ah-hero h1{font-size:42px;}
  .ah-hero-desc{margin-top:14px !important;}
  .ah-hero-value{display:none;}
  .ah-hero .ah-actions{margin-top:17px;}
}

@media (prefers-reduced-motion:no-preference){
  .ah-hero-top{animation:ahHeroTopIn .85s cubic-bezier(.16,1,.3,1) both .08s;}
  .ah-hero-bg{animation:ahHeroImageIn 1.8s cubic-bezier(.16,1,.3,1) both;}
  .ah-hero-kicker{animation:ahHeroElementIn .82s cubic-bezier(.16,1,.3,1) both .16s;}
  .ah-hero h1{animation:ahHeroElementIn .98s cubic-bezier(.16,1,.3,1) both .22s;}
  .ah-hero-desc{animation:ahHeroElementIn .94s cubic-bezier(.16,1,.3,1) both .30s;}
  .ah-hero-value{animation:ahHeroElementIn .90s cubic-bezier(.16,1,.3,1) both .35s;}
  .ah-hero .ah-actions{animation:ahHeroElementIn .90s cubic-bezier(.16,1,.3,1) both .40s;}
}
@keyframes ahHeroTopIn{from{opacity:0;transform:translate(-50%,-10px);}to{opacity:1;transform:translate(-50%,0);}}
@keyframes ahHeroElementIn{from{opacity:0;transform:translate3d(0,22px,0);}to{opacity:1;transform:none;}}
@keyframes ahHeroImageIn{from{opacity:.72;filter:brightness(.48) saturate(.78) contrast(1.04);}to{opacity:1;}}
