/* =====================================================================
   DIFSOM ENTERPRISE — light brand system
   White paper · gold · deep green, sampled from the logo.
   Gold is darkened for anything that carries text on white; the bright
   gold ramp is reserved for fills, and deep-green bands give it contrast.
   ===================================================================== */

:root{
  /* gold — bright end for fills, dark end for text on paper */
  --g-900:#5E3F11; --g-800:#6E4A14; --g-700:#7A5418; --g-600:#8A5F1E;
  --g-500:#A87A2A; --g-400:#C9973F; --g-300:#D9AE58; --g-200:#E8C97A; --g-100:#F0DCA0;
  --g-ink:#8A5F1E;              /* smallest readable gold on white */

  /* green */
  --e-900:#04140D; --e-800:#06301F; --e-700:#063B26; --e-600:#0A5537;
  --e-500:#0E7049; --e-400:#149463;

  /* paper */
  --paper:#FFFFFF;
  --paper-2:#FBF9F3;
  --paper-3:#F5F1E7;
  --paper-4:#EFE9DA;

  /* type */
  --txt:#14251D;
  --txt-2:#4A594F;
  --txt-3:#6B7A72;
  --on-dark:#F2EEE4;
  --on-dark-2:#B9C6BE;
  --on-dark-3:#8A9A91;

  --line:rgba(6,59,38,.13);
  --line-2:rgba(201,151,63,.46);
  --line-dark:rgba(232,201,122,.20);

  --grad-gold:linear-gradient(135deg,#8A5F1E 0%,#E8C97A 40%,#C9973F 62%,#F0DCA0 100%);
  --grad-gold-t:linear-gradient(100deg,#A87A2A,#E8C97A 45%,#C9973F);
  --grad-gold-text:linear-gradient(120deg,#7A5418,#C9973F 52%,#8A5F1E);
  --grad-panel:linear-gradient(160deg,#FFFFFF,#FCFAF4 60%,#FAF6EC);
  --grad-dark:linear-gradient(150deg,var(--e-900),var(--e-700) 55%,var(--e-800));

  --shadow-1:0 1px 2px rgba(6,59,38,.05),0 10px 24px -18px rgba(6,59,38,.28);
  --shadow-2:0 20px 46px -28px rgba(6,59,38,.34);
  --shadow-3:0 30px 68px -34px rgba(6,59,38,.40);
  --shadow-gold:0 16px 38px -14px rgba(168,122,42,.45);

  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:30px;
  --wrap:1200px;
  --pad:clamp(1.15rem,4vw,2.5rem);
  --sec-y:clamp(4.5rem,9vw,8rem);

  --ff-d:"Sora",ui-sans-serif,system-ui,"Segoe UI",sans-serif;
  --ff-b:"Inter",ui-sans-serif,system-ui,"Segoe UI",sans-serif;

  --ease:cubic-bezier(.22,.68,.32,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{
  scroll-behavior:smooth;scroll-padding-top:104px;-webkit-text-size-adjust:100%;
  overflow-x:hidden;overflow-x:clip;
}
body{
  margin:0;background:var(--paper);color:var(--txt-2);
  font:400 clamp(.94rem,.4vw + .86rem,1.02rem)/1.68 var(--ff-b);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--ff-d);font-weight:700;line-height:1.1;letter-spacing:-.022em;margin:0;color:var(--e-800)}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
::selection{background:var(--g-400);color:#2A1B04}

:focus-visible{outline:2px solid var(--g-600);outline-offset:3px;border-radius:4px}

.wrap{width:min(100% - var(--pad)*2,var(--wrap));margin-inline:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Clipped rather than pushed off-canvas: a negative offset would extend the
   scrollable area in RTL, where the start edge is on the right. */
.skip-link{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
  z-index:999;background:var(--e-700);color:#fff;padding:.7rem 1.1rem;font-weight:600;
}
.skip-link:focus{
  position:fixed;inset-inline-start:0;top:0;width:auto;height:auto;clip:auto;
  border-end-end-radius:8px;
}

.ico{flex:none}

/* ---------------------------- scroll rail ---------------------------- */
.scroll-rail{position:fixed;inset:0 0 auto 0;height:2px;z-index:120;pointer-events:none}
.scroll-rail__bar{display:block;height:100%;width:0;background:var(--grad-gold-t)}

/* ------------------------------ topbar ------------------------------ */
.topbar{
  position:relative;z-index:101;background:var(--e-900);
  border-bottom:1px solid rgba(232,201,122,.14);font-size:.79rem;color:var(--on-dark-3);
}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:40px}
.topbar__facts{display:flex;align-items:center;gap:1.35rem;flex-wrap:wrap}
.topbar__facts li{display:flex;align-items:center;gap:.42rem;white-space:nowrap}
.topbar__facts svg{color:var(--g-300);opacity:.9}
.topbar__facts a:hover{color:var(--g-200)}
.topbar__right{display:flex;align-items:center;gap:1rem}
.topbar__pill{display:inline-flex;align-items:center;gap:.45rem;color:var(--g-200);letter-spacing:.02em;white-space:nowrap}
.live-dot{width:6px;height:6px;border-radius:50%;background:#3FD98F;box-shadow:0 0 0 0 rgba(63,217,143,.55);animation:live 2.4s var(--ease) infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(63,217,143,.5)}70%{box-shadow:0 0 0 8px rgba(63,217,143,0)}100%{box-shadow:0 0 0 0 rgba(63,217,143,0)}}

/* ------------------------------ socials ------------------------------ */
.socials{display:flex;align-items:center;gap:.4rem}
.soc{
  display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:var(--on-dark-3);
  position:relative;transition:color .3s var(--ease),transform .45s var(--ease-out),background .3s;
}
.soc:hover{color:var(--g-200);transform:translateY(-3px) rotate(-6deg);background:rgba(232,201,122,.12)}
.socials--md,.socials--lg{gap:.55rem;flex-wrap:wrap}
.soc--lg{
  width:42px;height:42px;border-radius:12px;border:1px solid var(--line);
  background:var(--paper);color:var(--e-700);overflow:hidden;box-shadow:var(--shadow-1);
}
.soc--lg:hover{color:#2A1B04;border-color:transparent;transform:translateY(-5px) scale(1.06) rotate(-4deg)}
.soc--lg::before{
  content:"";position:absolute;inset:0;background:var(--grad-gold);opacity:0;
  transition:opacity .32s var(--ease);
}
.soc--lg:hover::before{opacity:1}
.soc--lg .soc-ico{position:relative;z-index:1}
.soc__glow{
  position:absolute;inset:-40%;background:radial-gradient(circle,rgba(255,255,255,.65),transparent 65%);
  opacity:0;transition:opacity .4s;z-index:0;
}
.soc--lg:hover .soc__glow{opacity:.55;animation:socSpin 3s linear infinite}
@keyframes socSpin{to{transform:rotate(360deg)}}

/* the footer sits on deep green, so its buttons invert */
.site-foot .soc--lg{background:rgba(255,255,255,.05);border-color:var(--line-dark);color:var(--on-dark-2);box-shadow:none}
.site-foot .soc--lg:hover{color:#2A1B04}

/* ---------------------------- site header ---------------------------- */
.site-head{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.82);backdrop-filter:blur(14px) saturate(150%);
  border-bottom:1px solid transparent;
  transition:background .4s var(--ease),border-color .4s,box-shadow .4s;
}
.site-head.is-stuck{background:rgba(255,255,255,.96);border-bottom-color:var(--line);box-shadow:0 12px 34px -26px rgba(6,59,38,.5)}
.site-head__in{display:flex;align-items:center;gap:1.2rem;min-height:74px}

.brand{display:flex;align-items:center;gap:.7rem;margin-right:auto;position:relative}
.brand__mark{position:relative;width:44px;height:44px;display:grid;place-items:center;flex:none}
.brand__mark img{width:100%;height:auto;filter:drop-shadow(0 3px 8px rgba(138,95,30,.28));transition:transform .6s var(--ease-out)}
.brand:hover .brand__mark img{transform:scale(1.08) rotate(-4deg)}
.brand__ring{
  position:absolute;inset:-6px;border-radius:50%;border:1px dashed rgba(168,122,42,.45);
  opacity:0;transition:opacity .4s;
}
.brand:hover .brand__ring{opacity:1;animation:socSpin 9s linear infinite}
.brand__txt{display:flex;flex-direction:column;line-height:1}
.brand__name{
  font-family:var(--ff-d);font-weight:800;font-size:1.16rem;letter-spacing:.13em;
  background:var(--grad-gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.brand__sub{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--e-600);margin-top:.25rem;font-weight:600}

.nav__list{display:flex;align-items:center;gap:.25rem}
.nav__link,.nav__list a{
  position:relative;display:block;padding:.6rem .82rem;font-size:.87rem;font-weight:500;
  color:var(--txt-2);border-radius:9px;transition:color .3s var(--ease);
}
.nav__list a::after{
  content:"";position:absolute;left:.82rem;right:.82rem;bottom:.32rem;height:1.5px;
  background:var(--grad-gold-t);transform:scaleX(0);transform-origin:left;
  transition:transform .42s var(--ease-out);border-radius:2px;
}
.nav__list a:hover,.nav__list .current-menu-item>a,.nav__list a.is-active{color:var(--e-800)}
.nav__list a:hover::after,.nav__list a.is-active::after{transform:scaleX(1)}

.site-head__cta{display:flex;align-items:center;gap:.6rem}

/* ------------------------------ buttons ------------------------------ */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.86rem 1.5rem;border-radius:999px;border:1px solid transparent;cursor:pointer;
  font-family:var(--ff-d);font-weight:600;font-size:.92rem;letter-spacing:.005em;
  overflow:hidden;isolation:isolate;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease),color .3s,background .3s,border-color .3s;
}
.btn--sm{padding:.62rem 1.15rem;font-size:.84rem}
.btn--wide{width:100%}
.btn--gold{background:var(--grad-gold);color:#2A1B04;box-shadow:var(--shadow-gold)}
.btn--gold::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.8) 48%,transparent 76%);
  transform:translateX(-120%);transition:transform .75s var(--ease-out);
}
.btn--gold:hover{transform:translateY(-3px);box-shadow:0 22px 50px -16px rgba(168,122,42,.6)}
.btn--gold:hover::before{transform:translateX(120%)}
.btn--ghost{border-color:var(--line-2);color:var(--e-800);background:var(--paper)}
.btn--ghost:hover{transform:translateY(-3px);border-color:var(--g-500);color:var(--g-700);background:#FDF8EC}
.btn__arrow{transition:transform .4s var(--ease-out)}
.btn:hover .btn__arrow{transform:translateX(5px)}

/* on the deep-green bands */
.cta .btn--ghost,.site-foot .btn--ghost{background:rgba(255,255,255,.06);border-color:var(--line-dark);color:var(--on-dark)}
.cta .btn--ghost:hover,.site-foot .btn--ghost:hover{background:rgba(232,201,122,.16);border-color:var(--g-300);color:var(--g-100)}

/* ------------------------------ burger ------------------------------ */
.burger{
  display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);
  background:var(--paper);cursor:pointer;padding:0;place-items:center;gap:5px;box-shadow:var(--shadow-1);
}
.burger span{display:block;width:18px;height:1.6px;background:var(--g-600);border-radius:2px;transition:transform .38s var(--ease),opacity .25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

/* ------------------------- shared decorations ------------------------- */
.blob{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}
.blob--gold{
  width:min(52vw,620px);aspect-ratio:1;background:radial-gradient(circle,rgba(201,151,63,.30),transparent 68%);
  top:-14%;right:-10%;animation:drift1 22s ease-in-out infinite alternate;
}
.blob--green{
  width:min(46vw,540px);aspect-ratio:1;background:radial-gradient(circle,rgba(14,112,73,.20),transparent 68%);
  bottom:-18%;left:-12%;animation:drift2 27s ease-in-out infinite alternate;
}
@keyframes drift1{to{transform:translate3d(-7%,9%,0) scale(1.14)}}
@keyframes drift2{to{transform:translate3d(9%,-8%,0) scale(1.1)}}

.grid-veil{
  position:absolute;inset:0;pointer-events:none;opacity:.75;
  background-image:linear-gradient(rgba(6,59,38,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(6,59,38,.055) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 78% 62% at 50% 42%,#000 20%,transparent 78%);
}

.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;font-size:.74rem;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--g-ink);margin-bottom:1rem;
}
.eyebrow__dot{
  width:7px;height:7px;border-radius:50%;background:var(--g-500);flex:none;
  box-shadow:0 0 0 0 rgba(168,122,42,.5);animation:live 2.8s var(--ease) infinite;
}

.sec{position:relative;padding-block:var(--sec-y)}
.sec__glow{
  position:absolute;width:min(70vw,760px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(201,151,63,.16),transparent 66%);
  top:-18%;left:50%;translate:-50% 0;filter:blur(50px);pointer-events:none;
}
.sec__glow--green{background:radial-gradient(circle,rgba(14,112,73,.13),transparent 66%)}

.sec-head{max-width:56ch;margin-bottom:clamp(2.2rem,4vw,3.4rem)}
.sec-head--center{margin-inline:auto;text-align:center}
.sec-head__title{font-size:clamp(1.85rem,3.4vw,3rem);letter-spacing:-.03em}
.sec-head__title em{
  font-style:normal;background:var(--grad-gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.sec-head__sub{margin-top:1rem;color:var(--txt-2);font-size:1.02rem;max-width:60ch}
.sec-head--center .sec-head__sub{margin-inline:auto}

.mock-note{margin-top:2rem;text-align:center;font-size:.79rem;color:var(--txt-3);letter-spacing:.03em}

/* ------------------------ reveal on scroll ------------------------ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease-out) var(--d,0ms),transform .8s var(--ease-out) var(--d,0ms)}
.reveal.is-in{opacity:1;transform:none}

/* ================================ HERO ================================ */
.hero{
  position:relative;overflow:hidden;isolation:isolate;
  padding-block:clamp(3.5rem,7vw,6.5rem) clamp(4.5rem,8vw,7rem);
  background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 62%,var(--paper-3) 100%);
}
.hero__bg{position:absolute;inset:0;z-index:-1}
.hero__routes{position:absolute;inset:0;width:100%;height:100%;opacity:.85}
.route{fill:none;stroke:url(#rg);stroke-width:1.6;stroke-dasharray:6 10;animation:dashRun 3.4s linear infinite}
@keyframes dashRun{to{stroke-dashoffset:-64}}
.pip{fill:var(--g-600);filter:drop-shadow(0 0 6px rgba(168,122,42,.55))}
.pip--sm{fill:var(--e-500);filter:drop-shadow(0 0 6px rgba(14,112,73,.5))}

.float-shape{position:absolute;border:1px solid rgba(168,122,42,.28);border-radius:14px;pointer-events:none;opacity:.5}
.float-shape--1{width:88px;height:62px;top:9%;right:38%;animation:fly1 15s ease-in-out infinite}
.float-shape--2{width:54px;height:54px;border-radius:50%;bottom:24%;right:6%;border-style:dashed;animation:fly2 19s ease-in-out infinite}
.float-shape--3{width:120px;height:74px;bottom:6%;right:26%;transform:rotate(-8deg);opacity:.32;animation:fly1 23s ease-in-out infinite reverse}
@keyframes fly1{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(22px,-26px,0) rotate(7deg)}}
@keyframes fly2{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-24px,18px,0) scale(1.14)}}

.hero__in{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:.65rem;font-size:.76rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--g-ink);
  padding:.5rem .95rem;border:1px solid var(--line-2);border-radius:999px;
  background:rgba(255,255,255,.75);backdrop-filter:blur(6px);box-shadow:var(--shadow-1);
  animation:fadeUp .9s var(--ease-out) both;
}
.hero__eyebrow-sep{width:1px;height:12px;background:var(--line-2)}

.hero__title{margin-top:1.4rem;font-size:clamp(2.4rem,6.2vw,4.5rem);font-weight:800;line-height:1.03;letter-spacing:-.04em;color:var(--e-800)}
.hero__line{display:block;animation:fadeUp .9s .08s var(--ease-out) both}
.hero__line--gold{
  background:var(--grad-gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:220% 100%;
  animation:fadeUp .9s .26s var(--ease-out) both,shimmer 7s linear infinite;
}
@keyframes shimmer{to{background-position:220% 0}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

.hero__rotator{
  display:block;position:relative;height:1.2em;line-height:1.04;overflow:hidden;
  animation:fadeUp .9s .17s var(--ease-out) both;
}
.rot__w{
  position:absolute;left:0;top:0;width:100%;line-height:1.04;
  color:var(--e-500);opacity:0;transform:translateY(100%) rotateX(-70deg);
  transform-origin:top center;transition:opacity .55s var(--ease-out),transform .65s var(--ease-out);
}
.rot__w.is-on{opacity:1;transform:none}
.rot__w.is-out{opacity:0;transform:translateY(-100%) rotateX(70deg)}

.hero__lede{margin-top:1.5rem;max-width:56ch;color:var(--txt-2);font-size:clamp(1rem,.35vw + .94rem,1.1rem);animation:fadeUp .9s .34s var(--ease-out) both}
.hero__acts{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.1rem;animation:fadeUp .9s .42s var(--ease-out) both}
.hero__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;animation:fadeUp .9s .5s var(--ease-out) both}
.chip{
  display:inline-flex;align-items:center;gap:.42rem;padding:.42rem .8rem;border-radius:999px;
  border:1px solid var(--line);background:var(--paper);font-size:.79rem;color:var(--txt-2);
  box-shadow:var(--shadow-1);transition:border-color .3s,color .3s,transform .35s var(--ease-out);
}
.chip:hover{border-color:var(--g-500);color:var(--e-800);transform:translateY(-2px)}
.chip__ico{color:var(--e-500)}

/* ------------------------------- orbit ------------------------------- */
.hero__art{position:relative;display:grid;place-items:center;animation:fadeUp 1s .3s var(--ease-out) both}
.orbit{
  position:relative;width:min(100%,430px);aspect-ratio:1;display:grid;place-items:center;
  --sat-r:clamp(112px,17vw,196px);
}
.orbit__glow{
  position:absolute;inset:12%;border-radius:50%;
  background:radial-gradient(circle,rgba(201,151,63,.34),transparent 62%);filter:blur(26px);
  animation:breathe 5.5s var(--ease) infinite;
}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.13);opacity:1}}
.orbit__ring{position:absolute;border-radius:50%;pointer-events:none}
.orbit__ring--1{inset:2%;border:1px dashed rgba(168,122,42,.42);animation:socSpin 34s linear infinite}
.orbit__ring--2{inset:14%;border:1px solid rgba(14,112,73,.32);animation:socSpin 22s linear reverse infinite}
.orbit__mark{
  position:relative;width:58%;
  filter:drop-shadow(0 20px 38px rgba(6,59,38,.28)) drop-shadow(0 0 22px rgba(201,151,63,.30));
  animation:hover 6s ease-in-out infinite;
}
@keyframes hover{0%,100%{transform:translateY(-6px)}50%{transform:translateY(8px)}}

.orbit__sats{position:absolute;inset:0;animation:socSpin 30s linear infinite}
.sat{position:absolute;top:50%;left:50%;width:0;height:0;
  transform:rotate(var(--sat-a,0deg)) translateX(var(--sat-r))}
.sat__in{
  position:absolute;translate:-50% -50%;rotate:calc(var(--sat-a,0deg) * -1);
  display:grid;place-items:center;
  width:46px;height:46px;border-radius:14px;border:1px solid var(--line);
  background:var(--paper);color:var(--g-700);box-shadow:var(--shadow-2);
  animation:socSpin 30s linear reverse infinite;
}
.sat--1{--sat-a:0deg}
.sat--2{--sat-a:60deg}
.sat--3{--sat-a:120deg}
.sat--4{--sat-a:180deg}
.sat--5{--sat-a:240deg}
.sat--6{--sat-a:300deg}

/* ----------------------------- hero ticket ----------------------------- */
.hero__ticket{
  width:min(100%,400px);margin-top:-.6rem;padding:1.1rem 1.25rem 1.25rem;
  border:1px solid var(--line);border-radius:var(--r-md);
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);box-shadow:var(--shadow-3);
  animation:fadeUp .9s .6s var(--ease-out) both;
}
.ticket__row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.ticket__label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--txt-3)}
.ticket__ref{font-family:var(--ff-d);font-weight:700;font-size:.94rem;color:var(--g-700);letter-spacing:.06em}
.ticket__bar{margin-top:.8rem;height:4px;border-radius:999px;background:var(--paper-4);overflow:hidden}
.ticket__fill{display:block;height:100%;width:64%;border-radius:999px;background:var(--grad-gold-t);animation:fillbar 6s var(--ease) infinite}
@keyframes fillbar{0%{width:4%}45%{width:64%}70%{width:64%}100%{width:96%}}
.ticket__legs{display:flex;justify-content:space-between;gap:.4rem;margin-top:.9rem}
.leg{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex:1;color:var(--txt-3);font-size:.66rem;text-align:center}
.leg em{font-style:normal;letter-spacing:.03em}
.leg.is-done{color:var(--e-500)}
.leg.is-live{color:var(--g-700);font-weight:600}
.leg.is-live svg{animation:nudge 1.8s var(--ease) infinite}
@keyframes nudge{0%,100%{transform:translateX(-2px)}50%{transform:translateX(3px)}}

/* ---------------------------- scroll cue ---------------------------- */
.hero__scroll{position:absolute;left:50%;bottom:1.4rem;translate:-50% 0;opacity:.75;transition:opacity .3s}
.hero__scroll:hover{opacity:1}
.mouse{display:block;width:22px;height:34px;border:1px solid var(--line-2);border-radius:999px;position:relative}
.mouse__dot{position:absolute;left:50%;top:7px;translate:-50% 0;width:3px;height:6px;border-radius:2px;background:var(--g-600);animation:scrollDot 2s var(--ease) infinite}
@keyframes scrollDot{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

/* ------------------------------- belt ------------------------------- */
.belt{
  overflow:hidden;border-block:1px solid var(--line);padding-block:.95rem;
  background:var(--paper);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.foot-belt{
  overflow:hidden;border-block:1px solid var(--line-dark);padding-block:.8rem;
  background:rgba(255,255,255,.04);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.belt-track{display:flex;width:max-content;animation:beltRun 46s linear infinite}
.belt-track--fast{animation-duration:34s}
.belt:hover .belt-track,.foot-belt:hover .belt-track{animation-play-state:paused}
@keyframes beltRun{to{transform:translateX(-50%)}}
.belt-set{display:flex;align-items:center}
.belt-item{
  display:inline-flex;align-items:center;gap:.6rem;padding-inline:1.5rem;
  font-family:var(--ff-d);font-weight:600;font-size:.86rem;letter-spacing:.06em;
  color:var(--txt-3);white-space:nowrap;transition:color .3s;
}
.belt-item svg{color:var(--g-600)}
.belt-item:hover{color:var(--e-800)}
.belt-sep{width:5px;height:5px;border-radius:50%;background:var(--g-300);flex:none}
.foot-belt .belt-item{color:var(--on-dark-3)}
.foot-belt .belt-item svg{color:var(--g-300)}
.foot-belt .belt-sep{background:var(--e-500)}

/* animated icon internals */
.i-wheel{transform-origin:center;animation:socSpin 2.6s linear infinite}
.ico--truck .i-wheel{transform-box:fill-box;transform-origin:center}
.i-wave{animation:waveShift 2.6s ease-in-out infinite}
@keyframes waveShift{0%,100%{transform:translateX(-1.2px)}50%{transform:translateX(1.2px)}}
.i-float{animation:iFloat 3.4s ease-in-out infinite}
@keyframes iFloat{0%,100%{transform:translateY(-.6px)}50%{transform:translateY(.9px)}}
.i-pulse{animation:iPulse 2.8s var(--ease) infinite}
@keyframes iPulse{0%,100%{opacity:.5}50%{opacity:1}}
.i-dash{stroke-dasharray:40;stroke-dashoffset:0;animation:iDash 3.6s var(--ease) infinite}
@keyframes iDash{0%{stroke-dashoffset:40}45%,100%{stroke-dashoffset:0}}

/* ============================== PILLARS ============================== */
.sec--pillars{background:var(--paper)}
.pillars{display:grid;gap:1rem;grid-template-columns:repeat(5,minmax(0,1fr))}
.pillar{
  position:relative;padding:1.9rem 1.35rem 1.7rem;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--line);background:var(--grad-panel);box-shadow:var(--shadow-1);
  transition:transform .5s var(--ease-out),border-color .4s,box-shadow .5s;
}
.pillar::before{
  content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--grad-gold-t);
  transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease-out);
}
.pillar:hover{transform:translateY(-8px);border-color:var(--line-2);box-shadow:var(--shadow-2)}
.pillar:hover::before{transform:scaleX(1)}
.pillar__num{
  position:absolute;top:1rem;right:1.15rem;font-family:var(--ff-d);font-weight:800;font-size:2.1rem;
  color:rgba(168,122,42,.14);letter-spacing:-.05em;transition:color .4s;
}
.pillar:hover .pillar__num{color:rgba(168,122,42,.30)}
.pillar__ico{
  display:grid;place-items:center;width:52px;height:52px;border-radius:15px;
  border:1px solid var(--line-2);color:var(--g-700);margin-bottom:1.1rem;
  background:linear-gradient(150deg,rgba(232,201,122,.30),rgba(14,112,73,.10));
  transition:transform .55s var(--ease-out),color .35s,box-shadow .4s;
}
.pillar:hover .pillar__ico{transform:translateY(-4px) rotate(-8deg) scale(1.06);color:var(--e-700);box-shadow:0 12px 26px -12px rgba(168,122,42,.6)}
.pillar__title{font-size:1.14rem;letter-spacing:.01em}
.pillar__text{margin-top:.55rem;font-size:.87rem;color:var(--txt-2);line-height:1.6}
.pillar__sheen{
  position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(201,151,63,.16),transparent 62%);
}
.pillar:hover .pillar__sheen{opacity:1}

/* ============================== CARDS ============================== */
.sec--services{background:var(--paper-2)}
.cards{display:grid;gap:1.15rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{
  position:relative;display:flex;flex-direction:column;padding:1.75rem;border-radius:var(--r-lg);
  border:1px solid var(--line);background:var(--paper);overflow:hidden;box-shadow:var(--shadow-1);
  transition:transform .5s var(--ease-out),border-color .4s,box-shadow .5s;
}
.card:hover{transform:translateY(-9px);border-color:var(--line-2);box-shadow:var(--shadow-3)}
.card__edge{
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:1px;
  background:linear-gradient(140deg,rgba(201,151,63,.85),transparent 42%,transparent 62%,rgba(14,112,73,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .45s;
}
.card:hover .card__edge{opacity:1}
.card__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.card__ico{
  display:grid;place-items:center;width:60px;height:60px;border-radius:17px;color:var(--g-700);
  border:1px solid var(--line-2);background:linear-gradient(150deg,rgba(232,201,122,.32),rgba(14,112,73,.10));
  transition:transform .55s var(--ease-out),color .35s,box-shadow .45s;
}
.card:hover .card__ico{transform:translateY(-4px) scale(1.07);color:var(--e-700);box-shadow:0 14px 30px -14px rgba(168,122,42,.65)}
.card__tag{
  font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:.35rem .7rem;border-radius:999px;color:#2A1B04;background:var(--grad-gold);
}
.card__title{font-size:1.16rem;line-height:1.25}
.card__text{margin-top:.65rem;color:var(--txt-2);font-size:.9rem}
.card__points{margin-top:1.05rem;display:grid;gap:.5rem}
.card__points li{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem;color:var(--txt-2)}
.pt__ico{color:var(--e-500);margin-top:.28rem}
.card__link{
  margin-top:auto;padding-top:1.25rem;display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--ff-d);font-weight:600;font-size:.86rem;color:var(--g-700);
  transition:color .3s,gap .35s var(--ease-out);
}
.card__link:hover{color:var(--e-700);gap:.75rem}
.card__arrow{transition:transform .4s var(--ease-out)}
.card:hover .card__arrow{transform:translateX(4px)}

/* ============================== STATS ============================== */
.stats-band{position:relative;overflow:hidden;background:var(--grad-dark)}
.stats-band::before{
  content:"";position:absolute;inset:0;opacity:.6;
  background:radial-gradient(ellipse 60% 100% at 15% 0%,rgba(201,151,63,.24),transparent 62%);
}
.stats{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding-block:clamp(2.6rem,5vw,4rem)}
.stat{text-align:center;padding-inline:.5rem;position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:var(--line-dark)}
.stat__n{
  font-family:var(--ff-d);font-weight:800;font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1;letter-spacing:-.04em;
  background:linear-gradient(135deg,#C9973F,#F0DCA0 45%,#D9AE58);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.stat__suf{-webkit-text-fill-color:currentColor;color:var(--g-300)}
.stat__l{margin-top:.6rem;font-family:var(--ff-d);font-weight:600;font-size:.94rem;color:var(--on-dark)}
.stat__note{margin-top:.2rem;font-size:.75rem;color:var(--on-dark-3);letter-spacing:.04em}

/* ========================= MISSION / VISION ========================= */
.sec--about{background:var(--paper)}
.mv{display:grid;gap:1.15rem;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.mv__card{
  position:relative;padding:2.1rem 1.8rem;border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--line);background:var(--grad-panel);box-shadow:var(--shadow-1);
  transition:transform .55s var(--ease-out),border-color .4s,box-shadow .5s;
}
.mv__card:hover{transform:translateY(-8px);border-color:var(--line-2);box-shadow:var(--shadow-2)}
.mv__shape{
  position:absolute;width:210px;height:210px;top:-72px;right:-72px;border-radius:34%;
  background:conic-gradient(from 140deg,rgba(201,151,63,.30),rgba(14,112,73,.16),rgba(201,151,63,.30));
  filter:blur(2px);opacity:.5;transition:transform .9s var(--ease-out),opacity .5s;
  animation:morph 14s ease-in-out infinite;
}
@keyframes morph{
  0%,100%{border-radius:38% 62% 55% 45%/48% 42% 58% 52%;transform:rotate(0)}
  50%{border-radius:58% 42% 38% 62%/38% 58% 42% 62%;transform:rotate(28deg)}
}
.mv__card:hover .mv__shape{opacity:.85;transform:scale(1.12)}
.mv__card--vision .mv__shape{background:conic-gradient(from 40deg,rgba(14,112,73,.26),rgba(201,151,63,.26),rgba(14,112,73,.26))}
.mv__ico{
  position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;
  border:1px solid var(--line-2);color:var(--g-700);margin-bottom:1.3rem;
  background:linear-gradient(150deg,#fff,rgba(232,201,122,.28));
  transition:transform .6s var(--ease-out),color .4s;
}
.mv__card:hover .mv__ico{transform:rotate(-10deg) scale(1.08);color:var(--e-700)}
.mv__kicker{font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--e-600)}
.mv__title{margin-top:.6rem;font-size:1.34rem;line-height:1.24}
.mv__text{margin-top:.8rem;color:var(--txt-2);font-size:.92rem;position:relative}

/* ============================= VALUES ============================= */
.sec--values{background:var(--paper-3)}
.values{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.value{
  position:relative;padding:1.7rem 1.5rem;border-radius:var(--r-md);
  border:1px solid var(--line);background:var(--paper);overflow:hidden;box-shadow:var(--shadow-1);
  transition:transform .5s var(--ease-out),border-color .4s,box-shadow .5s;
}
.value:hover{transform:translateY(-7px) scale(1.012);border-color:var(--line-2);box-shadow:var(--shadow-2)}
.value__hex{
  position:absolute;width:104px;height:120px;right:-42px;bottom:-52px;
  background:linear-gradient(150deg,rgba(201,151,63,.10),transparent 70%);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  transition:transform .8s var(--ease-out),opacity .5s;
}
.value:hover .value__hex{transform:rotate(22deg) scale(1.18)}
.value__ico{
  position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;
  color:var(--g-700);border:1px solid var(--line-2);background:linear-gradient(150deg,rgba(232,201,122,.28),rgba(14,112,73,.08));
  margin-bottom:1rem;transition:transform .5s var(--ease-out),color .35s;
}
.value:hover .value__ico{transform:translateY(-3px) rotate(8deg);color:var(--e-700)}
.value__title{position:relative;font-size:1.05rem}
.value__text{position:relative;margin-top:.5rem;font-size:.86rem;color:var(--txt-2)}

/* ============================= PROCESS ============================= */
.sec--process{background:var(--paper)}
.proc{position:relative}
.proc__rail{
  position:absolute;left:0;right:0;top:31px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--line-2) 8%,var(--line-2) 92%,transparent);
}
.proc__fill{
  position:absolute;inset:0 auto 0 0;width:0;border-radius:2px;
  background:var(--grad-gold-t);transition:width .35s linear;
}
.proc__truck{
  position:absolute;top:50%;left:0;translate:-50% -50%;display:grid;place-items:center;
  width:38px;height:38px;border-radius:50%;color:#2A1B04;background:var(--grad-gold);
  box-shadow:0 8px 20px -6px rgba(168,122,42,.7);transition:left .35s linear;
}
.proc__steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.1rem;position:relative}
.step{padding-right:.6rem}
.step__node{
  display:grid;place-items:center;width:62px;height:62px;border-radius:50%;margin-bottom:1.1rem;
  border:1px solid var(--line-2);background:var(--paper);box-shadow:var(--shadow-1);
  position:relative;transition:transform .5s var(--ease-out),border-color .4s,box-shadow .4s;
}
.step:hover .step__node{transform:translateY(-5px) scale(1.05);border-color:var(--g-500);box-shadow:var(--shadow-2)}
.step__node::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;border:1px dashed rgba(168,122,42,.35);
  opacity:0;transition:opacity .4s;
}
.step:hover .step__node::after{opacity:1;animation:socSpin 8s linear infinite}
.step__ico{color:var(--g-700);display:grid;place-items:center}
.step__n{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--e-600)}
.step__title{margin-top:.4rem;font-size:1.02rem}
.step__text{margin-top:.5rem;font-size:.85rem;color:var(--txt-2)}

/* ============================= NETWORK ============================= */
.sec--network{background:var(--paper-2)}
.net{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.net__list{display:grid;gap:.5rem;margin-top:.6rem}
.corr{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;
  padding:.85rem 1.1rem;border-radius:var(--r-sm);border:1px solid var(--line);
  background:var(--paper);box-shadow:var(--shadow-1);
  transition:transform .4s var(--ease-out),border-color .35s,box-shadow .35s;
}
.corr:hover{transform:translateX(6px);border-color:var(--line-2);box-shadow:var(--shadow-2)}
.corr__mode{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--g-700);background:rgba(232,201,122,.24);border:1px solid var(--line)}
.corr__mode--air{color:#1E6FA8;background:rgba(30,111,168,.12)}
.corr__mode--road{color:var(--e-500);background:rgba(14,112,73,.12)}
.corr__leg{display:flex;align-items:center;gap:.7rem;font-size:.9rem;min-width:0;color:var(--txt)}
.corr__leg em{font-style:normal;font-weight:500;white-space:nowrap}
.corr__dash{
  flex:1;min-width:24px;height:1px;background:repeating-linear-gradient(90deg,var(--line-2) 0 5px,transparent 5px 11px);
  background-size:22px 1px;animation:dashSlide 1.4s linear infinite;
}
@keyframes dashSlide{to{background-position:22px 0}}
.corr__days{font-size:.79rem;color:var(--g-700);font-family:var(--ff-d);font-weight:600;white-space:nowrap}

.net__map{position:relative;display:grid;place-items:center}
.mapart{width:min(100%,460px);overflow:visible}
.mapart__ring{animation:socSpin 60s linear infinite;transform-origin:210px 210px}
.mapart__ring--r{animation:socSpin 44s linear reverse infinite}
.mapart__grid{animation:mapTilt 18s ease-in-out infinite;transform-origin:210px 210px}
@keyframes mapTilt{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
.arc{stroke-dasharray:5 8;animation:dashRun 2.8s linear infinite}
.hub text{fill:var(--txt-2);font:500 10px var(--ff-b);letter-spacing:.06em}
.hub__dot{fill:var(--g-600)}
.hub__pulse{fill:rgba(168,122,42,.26);animation:hubPulse 3.2s var(--ease) infinite;transform-origin:center;transform-box:fill-box}
@keyframes hubPulse{0%,100%{transform:scale(.7);opacity:.9}60%{transform:scale(1.7);opacity:0}}
.hub{transform-box:view-box}

/* =========================== TESTIMONIALS =========================== */
.sec--said{background:var(--paper)}
.quotes{display:grid;gap:1.15rem;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.quote{
  position:relative;margin:0;padding:2.2rem 1.7rem 1.6rem;border-radius:var(--r-lg);
  border:1px solid var(--line);background:var(--grad-panel);overflow:hidden;box-shadow:var(--shadow-1);
  transition:transform .5s var(--ease-out),border-color .4s,box-shadow .5s;
}
.quote:hover{transform:translateY(-7px);border-color:var(--line-2);box-shadow:var(--shadow-2)}
.quote__mark{
  position:absolute;top:-.4rem;right:1.1rem;font-family:var(--ff-d);font-size:6rem;line-height:1;
  color:rgba(201,151,63,.20);transition:color .4s,transform .6s var(--ease-out);
}
.quote:hover .quote__mark{color:rgba(201,151,63,.38);transform:translateY(4px) scale(1.05)}
.quote blockquote{margin:0}
.quote p{font-size:.94rem;color:var(--txt);line-height:1.7}
.quote__by{display:flex;align-items:center;gap:.8rem;margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.quote__av{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;flex:none;
  font-family:var(--ff-d);font-weight:700;font-size:.82rem;color:#2A1B04;background:var(--grad-gold);
}
.quote__by strong{display:block;font-size:.9rem;font-weight:600;color:var(--e-800)}
.quote__by em{display:block;font-style:normal;font-size:.78rem;color:var(--txt-3);margin-top:.1rem}

/* =============================== FAQ =============================== */
.sec--faq{background:var(--paper-2)}
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.faq__side .sec-head{margin-bottom:1.6rem}
.faq__list{display:grid;gap:.65rem}
.acc{
  border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);
  overflow:hidden;box-shadow:var(--shadow-1);transition:border-color .35s,box-shadow .35s;
}
.acc[open]{border-color:var(--line-2);box-shadow:var(--shadow-2)}
.acc__q{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;
  padding:1.15rem 1.35rem;font-family:var(--ff-d);font-weight:600;font-size:.98rem;list-style:none;
  color:var(--e-800);transition:color .3s;
}
.acc__q::-webkit-details-marker{display:none}
.acc__q:hover{color:var(--g-700)}
.acc__sign{position:relative;width:16px;height:16px;flex:none}
.acc__sign::before,.acc__sign::after{
  content:"";position:absolute;background:var(--g-600);border-radius:2px;transition:transform .4s var(--ease-out),opacity .3s;
}
.acc__sign::before{left:0;right:0;top:7.2px;height:1.6px}
.acc__sign::after{top:0;bottom:0;left:7.2px;width:1.6px}
.acc[open] .acc__sign::after{transform:rotate(90deg);opacity:0}
.acc[open] .acc__sign::before{transform:rotate(180deg)}
.acc__a{padding:0 1.35rem 1.3rem;color:var(--txt-2);font-size:.92rem;animation:accIn .45s var(--ease-out)}
@keyframes accIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ============================== QUOTE ============================== */
.sec--quote{background:var(--paper)}
.quote-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.assure{display:grid;gap:1rem;margin-top:.4rem}
.assure li{display:flex;gap:.9rem;align-items:flex-start}
.assure__ico{
  flex:none;color:var(--g-700);width:42px;height:42px;display:grid;place-items:center;
  border-radius:12px;border:1px solid var(--line-2);background:rgba(232,201,122,.24);padding:9px;
}
.assure strong{display:block;font-family:var(--ff-d);font-size:.95rem;margin-bottom:.15rem;color:var(--e-800)}
.assure span{font-size:.86rem;color:var(--txt-2)}

.quote-card{
  position:relative;overflow:hidden;
  padding:clamp(1.4rem,2.6vw,2.1rem);border-radius:var(--r-xl);border:1px solid var(--line);
  background:var(--paper);box-shadow:var(--shadow-3);
}
.quote-card::before{
  content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;padding:1px;
  background:linear-gradient(140deg,rgba(201,151,63,.8),transparent 45%,rgba(14,112,73,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.qform{display:grid;gap:.9rem}
.qform__row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.field{display:grid;gap:.4rem}
.field__l{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--txt-3)}
.field__l i{color:var(--g-600);font-style:normal;margin-left:.25rem}
.field input,.field textarea,.field select{
  width:100%;padding:.8rem .95rem;border-radius:11px;border:1px solid var(--line);
  background:var(--paper-2);color:var(--txt);font-size:.92rem;
  transition:border-color .3s,background .3s,box-shadow .3s;
}
.field textarea{resize:vertical;min-height:110px}
.field input::placeholder,.field textarea::placeholder{color:var(--txt-3);opacity:.8}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--g-500);background:var(--paper);
  box-shadow:0 0 0 3px rgba(201,151,63,.18);
}
.select{position:relative;display:block}
.select select{appearance:none;padding-right:2.6rem;cursor:pointer}
.select__ico{position:absolute;right:.85rem;top:50%;translate:0 -50%;color:var(--g-600);pointer-events:none}
.qform .btn{margin-top:.4rem}
.qform__fine{font-size:.74rem;color:var(--txt-3);text-align:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.notice{display:flex;gap:.7rem;align-items:flex-start;padding:.95rem 1.1rem;border-radius:12px;margin-bottom:1.15rem;font-size:.88rem}
.notice--ok{border:1px solid rgba(14,112,73,.35);background:rgba(14,112,73,.09);color:#0A4A31}
.notice--ok svg{color:var(--e-500);flex:none}
.notice--bad{border:1px solid rgba(193,58,46,.32);background:rgba(193,58,46,.07);color:#8E241B}
.notice--bad svg{color:#C13A2E;flex:none}

/* ============================= CONTACT ============================= */
.sec--contact{background:var(--paper-3)}
.contact{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}
.cbox{
  position:relative;padding:1.8rem 1.5rem;border-radius:var(--r-lg);
  border:1px solid var(--line);background:var(--paper);overflow:hidden;box-shadow:var(--shadow-1);
  transition:transform .5s var(--ease-out),border-color .4s,box-shadow .5s;
}
.cbox:hover{transform:translateY(-7px);border-color:var(--line-2);box-shadow:var(--shadow-2)}
.cbox::after{
  content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--grad-gold-t);
  transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease-out);
}
.cbox:hover::after{transform:scaleX(1);transform-origin:left}
.cbox__ico{
  display:grid;place-items:center;width:52px;height:52px;border-radius:15px;margin-bottom:1.1rem;
  color:var(--g-700);border:1px solid var(--line-2);background:linear-gradient(150deg,rgba(232,201,122,.30),rgba(14,112,73,.08));
  transition:transform .55s var(--ease-out),color .35s;
}
.cbox:hover .cbox__ico{transform:translateY(-4px) rotate(-8deg);color:var(--e-700)}
.cbox__h{font-size:1.05rem}
.cbox__b{margin-top:.7rem;font-size:.9rem;color:var(--txt-2)}
.cbox__meta{margin-top:.9rem;font-size:.74rem;color:var(--txt-3);letter-spacing:.04em}
.cbox__list{margin-top:.8rem;display:grid;gap:.6rem}
.cbox__list li{display:flex;flex-direction:column;gap:.1rem;font-size:.9rem}
.cbox__list span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3)}
.cbox__list a{color:var(--txt);transition:color .3s}
.cbox__list a:hover{color:var(--g-700)}
.cbox__list strong{font-weight:600;color:var(--txt)}
.cbox .socials{margin-top:1.2rem}
.cbox .soc--lg{background:var(--paper-2)}

/* =============================== CTA =============================== */
.cta{position:relative;overflow:hidden;padding-block:clamp(4rem,8vw,7rem);text-align:center}
.cta__bg{position:absolute;inset:0;z-index:-1;background:var(--grad-dark)}
.cta__bg .grid-veil{
  background-image:linear-gradient(rgba(232,201,122,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(232,201,122,.07) 1px,transparent 1px);
}
.cta__bg .blob--gold{background:radial-gradient(circle,rgba(201,151,63,.34),transparent 68%)}
.cta__in{display:grid;justify-items:center;gap:.4rem}
.cta__mark{width:92px;filter:drop-shadow(0 12px 28px rgba(0,0,0,.5));animation:hover 6s ease-in-out infinite;margin-bottom:.6rem}
.cta__title{font-size:clamp(1.9rem,4.4vw,3.1rem);letter-spacing:-.035em;color:var(--on-dark)}
.cta__sub{margin-top:.6rem;color:var(--on-dark-2);max-width:52ch}
.cta__acts{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:1.9rem}

/* ============================== FOOTER ============================== */
.site-foot{position:relative;background:var(--e-900);color:var(--on-dark-2)}
.foot__grid{display:grid;gap:2.4rem;padding-block:clamp(3rem,6vw,4.6rem) 2.4rem;grid-template-columns:1.5fr 1fr 1fr 1.2fr}
.foot__logo{width:190px}
.foot__blurb{margin-top:1.1rem;color:var(--on-dark-2);font-size:.9rem;max-width:34ch}
.foot__col .socials{margin-top:1.4rem}
.foot__h{font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--g-200);margin-bottom:1.15rem}
.foot__links{display:grid;gap:.6rem}
.foot__links a{position:relative;font-size:.88rem;color:var(--on-dark-2);transition:color .3s,padding-left .35s var(--ease-out)}
.foot__links a::before{
  content:"";position:absolute;left:0;top:50%;translate:0 -50%;width:0;height:1px;background:var(--g-300);
  transition:width .35s var(--ease-out);
}
.foot__links a:hover{color:var(--g-200);padding-left:1rem}
.foot__links a:hover::before{width:.7rem}
.foot__contact{display:grid;gap:.85rem}
.foot__contact li{display:flex;gap:.65rem;align-items:flex-start;font-size:.88rem;color:var(--on-dark-2)}
.foot__ico{color:var(--g-300);margin-top:.15rem;flex:none}
.foot__contact a:hover{color:var(--g-200)}
.foot__bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem;
  padding-block:1.5rem;border-top:1px solid var(--line-dark);font-size:.79rem;color:var(--on-dark-3);
}
.foot__mock{color:var(--g-500)}
.foot__tag{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:var(--e-400)}

.to-top{
  position:fixed;right:1.2rem;bottom:1.2rem;z-index:90;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;color:#2A1B04;background:var(--grad-gold);
  border:none;box-shadow:var(--shadow-gold);opacity:0;pointer-events:none;
  transform:translateY(14px) scale(.85);transition:opacity .4s,transform .5s var(--ease-out);
}
.to-top.is-on{opacity:1;pointer-events:auto;transform:none}
.to-top:hover{transform:translateY(-4px)}
.to-top__ico{transform:rotate(180deg)}

/* ========================= INNER PAGE SHELL ========================= */
.page-hero{
  position:relative;overflow:hidden;padding-block:clamp(3.4rem,7vw,5.5rem) clamp(2.4rem,5vw,3.6rem);
  background:linear-gradient(180deg,var(--paper),var(--paper-2));
}
.page-hero--tall{padding-block:clamp(4.5rem,10vw,8rem);text-align:center}
.page-hero__bg{position:absolute;inset:0;z-index:-1}
.page-hero__title{font-size:clamp(1.9rem,4.6vw,3.2rem);letter-spacing:-.035em;max-width:22ch}
.page-hero--tall .page-hero__title{margin-inline:auto}
.page-hero__sub{margin-top:1rem;color:var(--txt-2);max-width:56ch}
.page-hero--tall .page-hero__sub{margin-inline:auto}

.e404{display:grid;justify-items:center}
.e404__ico{color:var(--g-600);margin-bottom:1.2rem;animation:hover 5s ease-in-out infinite}
.e404__acts{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:1.9rem}

.posts{display:grid;gap:1.15rem;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.pcard{
  position:relative;display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-1);
  transition:transform .5s var(--ease-out),border-color .4s,box-shadow .5s;
}
.pcard:hover{transform:translateY(-8px);border-color:var(--line-2);box-shadow:var(--shadow-2)}
.pcard__media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .8s var(--ease-out)}
.pcard:hover .pcard__media img{transform:scale(1.06)}
.pcard__body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.pcard__meta{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--e-600)}
.pcard__title{margin-top:.5rem;font-size:1.14rem;line-height:1.3}
.pcard__title a:hover{color:var(--g-700)}
.pcard__ex{margin-top:.6rem;font-size:.88rem;color:var(--txt-2)}
.empty{color:var(--txt-2)}

.entry{max-width:76ch;font-size:1.02rem;color:var(--txt-2)}
.entry>*+*{margin-top:1.15rem}
.entry h2,.entry h3,.entry h4{margin-top:2.2rem}
.entry h2{font-size:1.6rem}
.entry h3{font-size:1.28rem}
.entry a{color:var(--g-700);text-decoration:underline;text-underline-offset:3px}
.entry a:hover{color:var(--e-700)}
.entry ul,.entry ol{padding-left:1.3rem;display:grid;gap:.5rem}
.entry ul li{list-style:disc}
.entry ol li{list-style:decimal}
.entry blockquote{border-left:2px solid var(--g-500);padding:.4rem 0 .4rem 1.2rem;color:var(--txt);font-style:italic}
.entry code{background:rgba(201,151,63,.16);padding:.15em .4em;border-radius:5px;font-size:.9em}
.entry pre{background:var(--paper-3);border:1px solid var(--line);border-radius:12px;padding:1.1rem;overflow:auto}
.entry img{border-radius:var(--r-md)}
.entry__media{margin:0 0 2rem}
.entry__media img{border-radius:var(--r-lg);width:100%}
.postnav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--line);font-size:.9rem}
.postnav a:hover{color:var(--g-700)}
.pagenav{margin-top:2.6rem}
.pagenav .page-numbers{
  display:inline-grid;place-items:center;min-width:38px;height:38px;padding-inline:.6rem;margin-right:.35rem;
  border-radius:10px;border:1px solid var(--line);font-size:.88rem;transition:all .3s;
}
.pagenav .page-numbers:hover,.pagenav .current{background:var(--grad-gold);color:#2A1B04;border-color:transparent}

/* ============================ RESPONSIVE ============================ */
@media (max-width:1080px){
  .pillars{grid-template-columns:repeat(3,minmax(0,1fr))}
  .proc__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
  .proc__rail{display:none}
  .foot__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  html{scroll-padding-top:80px}
  .hide-sm,.topbar__facts li.hide-sm{display:none}
  .hero__in{grid-template-columns:1fr}
  .hero__art{max-width:340px;margin-inline:auto}
  .hero__ticket{margin-inline:auto}
  .net{grid-template-columns:1fr}
  .net__map{order:-1}
  .faq{grid-template-columns:1fr}
  .quote-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem 1rem}
  .stat:nth-child(odd)::before{display:none}

  .burger{display:grid}
  .site-head__in{gap:.6rem}
  .nav{
    position:fixed;inset:0 0 0 auto;width:min(86vw,340px);z-index:110;
    background:var(--paper);border-left:1px solid var(--line);
    padding:5.5rem 1.4rem 2rem;
    transform:translateX(100%);visibility:hidden;
    transition:transform .5s var(--ease-out),visibility 0s .5s;
    box-shadow:-30px 0 60px -34px rgba(6,59,38,.6);overflow-y:auto;
  }
  .nav.is-open{transform:none;visibility:visible;transition:transform .5s var(--ease-out),visibility 0s}
  .nav__list{flex-direction:column;align-items:stretch;gap:.2rem}
  .nav__list a{padding:.9rem 1rem;font-size:1.02rem;border-bottom:1px solid var(--line)}
  .nav__list a::after{display:none}
  body.nav-open{overflow:hidden}
  .nav-scrim{
    position:fixed;inset:0;z-index:105;background:rgba(6,26,18,.45);backdrop-filter:blur(3px);
    opacity:0;pointer-events:none;transition:opacity .4s;
  }
  .nav-scrim.is-on{opacity:1;pointer-events:auto}
  /* .site-head is a sticky stacking context, so the drawer's own z-index only
     orders it inside the header. Lift the whole header over the scrim while
     the drawer is open, or the scrim swallows every tap on a menu item. */
  body.nav-open .site-head{z-index:110}
}
@media (max-width:720px){
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proc__steps{grid-template-columns:1fr;gap:1.4rem}
  .step__node{width:52px;height:52px;margin-bottom:.8rem}
  .foot__grid{grid-template-columns:1fr;gap:2rem}
  .foot__bar{justify-content:flex-start}
  .hide-sm,.topbar__facts li.hide-sm{display:none}
  .float-shape{display:none}
  .topbar__right .topbar__pill{display:none}
  .qform__row{grid-template-columns:1fr}
  .site-head__cta .btn--sm{display:none}
}
@media (max-width:480px){
  .pillars{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .stat::before{display:none!important}
  .topbar__facts li:not(:first-child){display:none}
}

/* ========================== REDUCED MOTION ========================== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .reveal{opacity:1;transform:none}
  .belt-track,.orbit__sats,.orbit__ring,.blob,.float-shape{animation:none!important}
}

/* ============================== PRINT ============================== */
@media print{
  .topbar,.site-head,.hero__bg,.belt,.to-top,.foot-belt,.hero__scroll{display:none!important}
  body{background:#fff;color:#111}
  .sec{padding-block:1.5rem}
}

/* ========================= LANGUAGE SWITCHER ========================= */
.lang{position:relative;flex:none}
.lang__btn{
  display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;list-style:none;
  padding:.32rem .6rem;border-radius:8px;border:1px solid rgba(232,201,122,.24);
  color:var(--g-200);font-size:.74rem;font-weight:700;letter-spacing:.08em;
  transition:background .3s,border-color .3s,color .3s;
}
.lang__btn::-webkit-details-marker{display:none}
.lang__btn::marker{content:""}
.lang__btn:hover{background:rgba(232,201,122,.14);border-color:rgba(232,201,122,.5);color:var(--g-100)}
.lang__globe{opacity:.9}
.lang__caret{transition:transform .35s var(--ease-out);opacity:.8}
.lang[open] .lang__caret{transform:rotate(180deg)}

.lang__menu{
  position:absolute;top:calc(100% + .5rem);inset-inline-end:0;z-index:130;min-width:178px;
  background:var(--paper);border:1px solid var(--line);border-radius:13px;
  box-shadow:var(--shadow-3);padding:.35rem;display:grid;gap:.12rem;
  animation:langIn .28s var(--ease-out);
}
@keyframes langIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.lang__item{
  display:flex;align-items:center;justify-content:space-between;gap:.9rem;
  padding:.58rem .7rem;border-radius:9px;color:var(--txt);font-size:.88rem;
  transition:background .25s,color .25s;
}
.lang__item:hover{background:var(--paper-3);color:var(--e-800)}
.lang__item.is-on{background:rgba(201,151,63,.15);color:var(--g-700);font-weight:600}
.lang__native{font-family:var(--ff-b)}
.lang__short{font-size:.68rem;letter-spacing:.14em;color:var(--txt-3);font-weight:600}
.lang__item.is-on .lang__short{color:var(--g-600)}

/* ============================== ARABIC ============================== */
.lang-ar{
  --ff-d:"Cairo",ui-sans-serif,system-ui,"Segoe UI",sans-serif;
  --ff-b:"Cairo",ui-sans-serif,system-ui,"Segoe UI",sans-serif;
}
/* Arabic script does not take the tight tracking the Latin display face wants. */
.lang-ar h1,.lang-ar h2,.lang-ar h3,.lang-ar h4,
.lang-ar .hero__title,.lang-ar .sec-head__title,.lang-ar .cta__title,.lang-ar .stat__n{letter-spacing:0}
.lang-ar .eyebrow,.lang-ar .mv__kicker,.lang-ar .step__n,.lang-ar .foot__h,
.lang-ar .field__l,.lang-ar .cbox__list span,.lang-ar .ticket__label,
.lang-ar .card__tag,.lang-ar .foot__tag,.lang-ar .brand__sub{letter-spacing:.06em}
.lang-ar .hero__title,.lang-ar .sec-head__title{line-height:1.28}
/* Arabic ascenders and diacritics (the shadda especially) sit above the Latin
   line box, so the roll-up window needs matching leading. overflow-clip-margin
   lets the ink breathe without losing the vertical clip the roll depends on. */
.lang-ar .hero__rotator{
  height:1.92em;line-height:1.92;margin-block:-.26em;
  overflow:clip;overflow-clip-margin:.04em;
}
.lang-ar .rot__w{line-height:1.92}
.lang-ar .belt-item{letter-spacing:0}
.lang-ar .brand__name{letter-spacing:.13em}

/* ================================ RTL ================================ */
[dir="rtl"] .scroll-rail{transform:scaleX(-1)}

[dir="rtl"] .nav__list a::after{transform-origin:right}
[dir="rtl"] .pillar::before{transform-origin:right}
[dir="rtl"] .cbox::after{transform-origin:left}
[dir="rtl"] .cbox:hover::after{transform-origin:right}

[dir="rtl"] .pillar__num{right:auto;left:1.15rem}
[dir="rtl"] .quote__mark{right:auto;left:1.1rem}
[dir="rtl"] .value__hex{right:auto;left:-42px;transform:scaleX(-1)}
[dir="rtl"] .value:hover .value__hex{transform:scaleX(-1) rotate(22deg) scale(1.18)}
[dir="rtl"] .mv__shape{right:auto;left:-72px}
[dir="rtl"] .to-top{right:auto;left:1.2rem}
[dir="rtl"] .select__ico{right:auto;left:.85rem}
[dir="rtl"] .select select{padding-right:.95rem;padding-left:2.6rem}
[dir="rtl"] .stat+.stat::before{left:auto;right:0}

/* arrows point the way the text runs */
[dir="rtl"] .btn__arrow,[dir="rtl"] .card__arrow{transform:scaleX(-1)}
[dir="rtl"] .btn:hover .btn__arrow{transform:scaleX(-1) translateX(5px)}
[dir="rtl"] .card:hover .card__arrow{transform:scaleX(-1) translateX(4px)}
[dir="rtl"] .corr:hover{transform:translateX(-6px)}
[dir="rtl"] .corr__leg .corr__dash{transform:scaleX(-1)}

[dir="rtl"] .foot__links a::before{left:auto;right:0}
[dir="rtl"] .foot__links a:hover{padding-left:0;padding-right:1rem}

[dir="rtl"] .proc__fill{inset:0 0 0 auto}
[dir="rtl"] .proc__truck{left:auto;right:0;transform:translate(50%,-50%)}
[dir="rtl"] .proc__truck .ico{transform:scaleX(-1)}
[dir="rtl"] .step{padding-right:0;padding-left:.6rem}

[dir="rtl"] .entry blockquote{border-left:none;border-right:2px solid var(--g-500);padding:.4rem 1.2rem .4rem 0}
[dir="rtl"] .entry ul,[dir="rtl"] .entry ol{padding-left:0;padding-right:1.3rem}
[dir="rtl"] .pagenav .page-numbers{margin-right:0;margin-left:.35rem}

/* the marquee reads right to left already; keep it moving the same visual way */
[dir="rtl"] .belt-track{animation-name:beltRunRtl}
@keyframes beltRunRtl{to{transform:translateX(50%)}}

@media (max-width:900px){
  [dir="rtl"] .nav{
    inset:0 auto 0 0;border-left:none;border-right:1px solid var(--line);
    transform:translateX(-100%);box-shadow:30px 0 60px -34px rgba(6,59,38,.6);
  }
  [dir="rtl"] .nav.is-open{transform:none}
}
