/* ==========================================================================
   OZAN — design system
   Palette derived strictly from the logo: #222831 (ink) · #1DFFF6 (cyan)
   Fonts: Archivo (display) · Inter (body) · Jost (wordmark, meta, numerals)
   ========================================================================== */

:root{
  /* brand */
  --ink:        #222831;
  --black:      #0B0E11;
  --panel:      #12171C;
  --panel-2:    #171D23;
  --cy:         #1DFFF6;
  --cy-deep:    #0DCFC6;
  --cy-ink:     #0A3F3C;

  /* neutrals tuned to the ink hue */
  --paper:      #F3F5F5;
  --paper-2:    #E7EBEB;
  --line-d:     rgba(242,244,244,.13);
  --line-l:     rgba(34,40,49,.14);
  --mute-d:     #8D979F;
  --mute-l:     #5B656E;

  /* type */
  --f-display:  'Archivo','Helvetica Neue',Arial,sans-serif;
  --f-body:     'Inter','Helvetica Neue',Arial,sans-serif;
  --f-mono:     'Jost','Helvetica Neue',Arial,sans-serif;

  /* metrics */
  --shell:      1340px;
  --gut:        clamp(20px,4.2vw,68px);
  --sec-y:      clamp(88px,11vw,168px);
  --ease:       cubic-bezier(.22,.61,.36,1);
  --ease-out:   cubic-bezier(.16,1,.3,1);
  --hdr-h:      74px;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html:focus-within{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{
  margin:0;
  background:var(--black);
  color:var(--paper);
  font-family:var(--f-body);
  font-size:16px;
  line-height:1.62;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,p,dl,dd,ol,ul,figure{margin:0}
ul,ol{list-style:none;padding:0}
::selection{background:var(--cy);color:var(--ink)}
:focus-visible{outline:2px solid var(--cy);outline-offset:3px;border-radius:2px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

.skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--cy);color:var(--ink);padding:14px 20px;font-weight:600;
}
.skip:focus{left:12px;top:12px}

/* ---------- shell ---------- */
.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gut)}

/* ---------- shared type ---------- */
.eyebrow{
  font-family:var(--f-mono);
  font-size:12px;font-weight:400;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--mute-d);
  display:flex;align-items:center;gap:10px;
  margin-bottom:26px;
}
.eyebrow .dot{
  width:7px;height:7px;border-radius:50%;background:var(--cy);
  box-shadow:0 0 0 4px rgba(29,255,246,.16);flex:none;
}
.h2{
  font-family:var(--f-display);
  font-size:clamp(31px,4.9vw,62px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:700;
  max-width:16ch;
  text-wrap:balance;
}
.h2--xl{font-size:clamp(34px,6.4vw,84px);max-width:14ch}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55}
.sec__lead{color:var(--mute-d);font-size:16.5px;max-width:46ch;line-height:1.7}
.sec__lead--wide{max-width:44ch;font-size:16.5px}

/* ---------- buttons ---------- */
.btn{
  --bg:var(--paper); --fg:var(--ink);
  position:relative;display:inline-flex;align-items:center;gap:10px;
  background:var(--bg);color:var(--fg);
  font-family:var(--f-display);font-weight:600;font-size:14.5px;
  letter-spacing:-.005em;
  padding:16px 26px;border:1px solid transparent;border-radius:100px;
  cursor:pointer;overflow:hidden;isolation:isolate;
  transition:color .4s var(--ease),border-color .4s var(--ease);
}
.btn svg{width:16px;height:16px;flex:none;transition:transform .45s var(--ease-out)}
.btn::after{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:var(--cy);transform:translateY(101%);
  transition:transform .48s var(--ease-out);
}
.btn:hover::after,.btn:focus-visible::after{transform:translateY(0)}
.btn:hover svg{transform:translate(3px,-3px)}
.btn--sm{padding:11px 20px;font-size:13.5px}
.btn--ghost{--bg:transparent;--fg:var(--paper);border-color:var(--line-d)}
.btn--ghost:hover{color:var(--ink);border-color:transparent}
.btn--cy{--bg:var(--cy);--fg:var(--ink);margin-top:30px}
.btn--cy::after{background:var(--paper)}

/* ==========================================================================
   HEADER
   ========================================================================== */
.hdr{
  position:fixed;inset:0 0 auto;z-index:120;
  transition:transform .5s var(--ease),background .35s linear,border-color .35s linear;
  border-bottom:1px solid transparent;
  background-color: rgba(30, 30, 30, 0.7);
}
.hdr.is-stuck{background:rgba(11,14,17,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--line-d)}
.hdr.is-hidden{transform:translateY(-105%)}
.hdr__in{
  max-width:var(--shell);margin-inline:auto;padding:0 var(--gut);
  height:var(--hdr-h);display:flex;align-items:center;gap:24px;
}
.brand{display:flex;align-items:center;gap:11px;flex:none}
.brand__mark{width:28px;height:28px;color:var(--cy)}
.brand__wm{
  font-family:var(--f-mono);font-weight:400;font-size:20px;
  letter-spacing:.24em;padding-left:.24em;
}
.nav{display:flex;gap:6px;margin-inline:auto}
.nav__a{
  position:relative;padding:8px 14px;font-size:14px;color:var(--mute-d);
  transition:color .3s var(--ease);
}
.nav__a span{position:relative;display:block}
.nav__a span::after{
  content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;
  background:var(--cy);transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease-out);
}
.nav__a:hover{color:var(--paper)}
.nav__a:hover span::after,.nav__a.is-on span::after{transform:scaleX(1);transform-origin:left}
.nav__a.is-on{color:var(--paper)}
.hdr__right{display:flex;align-items:center;gap:12px;flex:none}

/* language */
.lang{position:relative}
.lang__btn{
  display:flex;align-items:center;gap:7px;background:none;border:1px solid var(--line-d);
  border-radius:100px;padding:9px 13px;cursor:pointer;
  font-family:var(--f-mono);font-size:12.5px;letter-spacing:.13em;
  transition:border-color .3s,color .3s;
}
.lang__btn:hover{border-color:var(--cy);color:var(--cy)}
.lang__cv{width:9px;height:6px;transition:transform .3s var(--ease)}
.lang.is-open .lang__cv{transform:rotate(180deg)}
.lang__menu{
  position:absolute;top:calc(100% + 10px);right:0;min-width:168px;
  background:var(--panel);border:1px solid var(--line-d);border-radius:14px;
  padding:6px;opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.7);
}
.lang.is-open .lang__menu{opacity:1;visibility:visible;transform:translateY(0)}
.lang__menu a{
  display:block;padding:10px 13px;border-radius:9px;font-size:14px;color:var(--mute-d);
  transition:background .2s,color .2s;
}
.lang__menu a:hover{background:rgba(255,255,255,.05);color:var(--paper)}
.lang__menu a.is-on{color:var(--cy)}

/* burger */
.burger{display:none;width:42px;height:42px;background:none;border:1px solid var(--line-d);border-radius:50%;cursor:pointer;position:relative}
.burger i{position:absolute;left:12px;width:18px;height:1.5px;background:var(--paper);transition:transform .38s var(--ease),opacity .2s}
.burger i:nth-child(1){top:18px}
.burger i:nth-child(2){top:23px}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(2.5px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){transform:translateY(-2.5px) rotate(-45deg)}

/* drawer */
.drawer{
  position:fixed;inset:var(--hdr-h) 0 0;z-index:110;background:var(--black);
  padding:34px var(--gut) 40px;display:flex;flex-direction:column;justify-content:space-between;
  overflow-y:auto;
}
.drawer[hidden]{display:none}
.drawer nav{display:flex;flex-direction:column}
.drawer nav a{
  display:flex;align-items:baseline;gap:16px;padding:16px 0;
  border-bottom:1px solid var(--line-d);
  font-family:var(--f-display);font-weight:700;font-size:clamp(28px,8vw,42px);
  letter-spacing:-.03em;
}
.drawer nav a em{font-family:var(--f-mono);font-size:12px;font-style:normal;letter-spacing:.2em;color:var(--cy)}
.drawer__lang{display:flex;gap:8px;margin-top:30px}
.drawer__lang a{
  font-family:var(--f-mono);font-size:13px;letter-spacing:.14em;
  padding:10px 16px;border:1px solid var(--line-d);border-radius:100px;
}
.drawer__lang a.is-on{background:var(--cy);color:var(--ink);border-color:var(--cy)}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:flex-end;
  padding-top:calc(var(--hdr-h) + 40px);padding-bottom:clamp(30px,5vw,56px);
  overflow:hidden;
}
.hero__grain{
  position:absolute;inset:0;pointer-events:none;
}
.hero .shell{position:relative}
.hero__eye{margin-bottom:clamp(24px,4vw,48px)}
.hero__h1{
  font-family:var(--f-display);
  font-weight:800;
  font-size:clamp(52px,11.6vw,178px);
  line-height:.86;
  letter-spacing:-.052em;
  margin-bottom:clamp(36px,5vw,64px);
}
.hero__h1 .ln{display:block;overflow:hidden}
.hero__h1 .ln>span{display:block;transform:translateY(102%);animation:rise .95s var(--ease-out) forwards}
.hero__h1 .ln:nth-child(1)>span{animation-delay:.10s}
.hero__h1 .ln:nth-child(2)>span{animation-delay:.19s}
.hero__h1 .ln:nth-child(3)>span{animation-delay:.28s}
.hero__h1 .thin{font-weight:400;font-style:italic;color:var(--mute-d);letter-spacing:-.03em}
.hero__h1 .cy{color:var(--cy)}
@keyframes rise{to{transform:translateY(0)}}

.hero__btm{
  display:grid;gap:clamp(26px,3.6vw,56px);align-items:end;
  grid-template-columns:1fr;
  padding-bottom:clamp(26px,3.4vw,44px);
  border-bottom:1px solid var(--line-d);
  opacity:0;animation:fadeUp .9s var(--ease-out) .5s forwards;
}
.hero__lead{max-width:56ch;font-size:clamp(16px,1.35vw,18.5px);color:#C3CBD1;line-height:1.66}
.hero__acts{display:flex;gap:12px;flex-wrap:wrap}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

.hero__meta{
  display:flex;gap:clamp(16px,3vw,44px);flex-wrap:wrap;align-items:center;
  padding-top:20px;
  font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute-d);
  opacity:0;animation:fadeUp .9s var(--ease-out) .62s forwards;
}
.hero__scroll{margin-left:auto;display:flex;align-items:center;gap:9px;color:var(--cy)}
.hero__scroll svg{width:15px;height:15px;animation:bob 2.1s var(--ease) infinite}
@keyframes bob{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}

/* ==========================================================================
   MARQUEE
   ========================================================================== */
.marq{
  background:var(--cy);color:var(--ink);
  padding:17px 0;overflow:hidden;white-space:nowrap;
  border-block:1px solid var(--cy);
}
.marq__t{display:inline-flex;align-items:center;gap:22px;animation:slide 48s linear infinite}
.marq__t span{
  font-family:var(--f-display);font-weight:600;font-size:clamp(14px,1.5vw,18px);
  letter-spacing:-.015em;
}
.marq__t i{font-style:normal;opacity:.5}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ==========================================================================
   SECTIONS
   ========================================================================== */
.sec{padding-block:var(--sec-y);position:relative}
.sec--light{background:var(--paper);color:var(--ink)}
.sec--light .eyebrow{color:var(--mute-l)}
.sec--dark{background:var(--black)}
.sec--rule{padding-top:0}
.sec--cyan{background:var(--cy);color:var(--ink)}
.sec--cyan .eyebrow{color:rgba(34,40,49,.6)}
.sec--cyan .eyebrow .dot{background:var(--ink);box-shadow:0 0 0 4px rgba(34,40,49,.14)}
.sec--cyan .sec__lead{color:rgba(34,40,49,.74)}

.sec__head{margin-bottom:clamp(44px,5.6vw,84px)}
.sec__head--split{
  display:grid;gap:clamp(22px,3vw,60px);align-items:end;
  grid-template-columns:1fr;
}

/* ---------- ABOUT ---------- */
.about{
  display:grid;gap:clamp(40px,5vw,80px);
  grid-template-columns:1fr;
  padding-bottom:clamp(52px,6vw,88px);
  border-bottom:1px solid var(--line-l);
}
.about__copy p{color:var(--mute-l);max-width:58ch;font-size:16.5px}
.about__copy p + p{margin-top:22px}
.about__copy .lead{color:var(--ink);font-weight:500}
.about__side{position:relative}
.about__mark{width:64px;height:64px;color:var(--ink);opacity:.9;margin-bottom:30px}
.pts{display:grid;gap:0}
.pts__i{padding:20px 0;border-bottom:1px solid var(--line-l)}
.pts__i:last-child{border-bottom:1px solid var(--line-l)}
.pts__i dt{
  font-family:var(--f-display);font-weight:700;font-size:15px;letter-spacing:-.015em;
  margin-bottom:5px;
}
.pts__i dd{color:var(--mute-l);font-size:14.5px;line-height:1.58}

.stats{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--line-l);border:1px solid var(--line-l);
  margin-top:clamp(52px,6vw,88px);
}
.stat{background:var(--paper);padding:clamp(20px,3vw,38px);min-width:0}
.stat__v{
  display:block;font-family:var(--f-display);font-weight:800;
  font-size:clamp(38px,5.4vw,70px);line-height:1;letter-spacing:-.05em;
}
.stat__l{
  display:block;margin-top:12px;font-family:var(--f-mono);
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute-l);
  overflow-wrap:anywhere;
}

/* ---------- CAPABILITIES ---------- */
.caps{border-top:1px solid var(--line-d)}
.cap{
  position:relative;display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px 18px;align-items:start;
  padding:clamp(28px,3.4vw,44px) 0;
  border-bottom:1px solid var(--line-d);
  transition:padding-inline .5s var(--ease-out);
}
.cap__n{grid-column:1;grid-row:1}
.cap__t{grid-column:2;grid-row:1}
.cap__body{grid-column:2;grid-row:2;min-width:0}
@media(min-width:900px){
  .cap{
    grid-template-columns:54px minmax(0,1fr) minmax(0,1.42fr) 22px;
    gap:clamp(22px,2.6vw,46px);
  }
  .cap__t{grid-row:1}
  .cap__body{grid-column:3;grid-row:1}
  .cap__ar{grid-column:4;grid-row:1}
}
.cap::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,rgba(29,255,246,.09),rgba(29,255,246,0) 62%);
  opacity:0;transition:opacity .45s var(--ease);
}
.cap:hover::before{opacity:1}
@media(hover:hover){.cap:hover{padding-inline:clamp(10px,1.6vw,26px)}}
.cap>*{position:relative;z-index:1}
.cap__n{
  font-family:var(--f-mono);font-size:13px;letter-spacing:.14em;color:var(--cy);
  padding-top:6px;min-width:26px;
}
.cap__t{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(21px,2.6vw,34px);line-height:1.08;letter-spacing:-.032em;
  margin-bottom:12px;text-wrap:balance;
  transition:color .35s var(--ease);
}
.cap:hover .cap__t{color:var(--cy)}
.cap__d{color:var(--mute-d);font-size:15.5px;line-height:1.68}
.cap__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.cap__tags li{
  font-family:var(--f-mono);font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;
  padding:6px 12px;border:1px solid var(--line-d);border-radius:100px;color:#A9B3BA;
  transition:border-color .35s,color .35s;
}
.cap:hover .cap__tags li{border-color:rgba(29,255,246,.4);color:#D6DDE1}
.cap__ar{
  width:20px;height:20px;color:var(--cy);margin-top:8px;
  opacity:0;transform:translate(-8px,8px);
  transition:opacity .4s var(--ease),transform .5s var(--ease-out);
}
.cap:hover .cap__ar{opacity:1;transform:none}

/* ---------- APPROACH ---------- */
.steps{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--line-d);border-block:1px solid var(--line-d)}
.step{background:var(--black);padding:clamp(28px,3vw,40px);position:relative;transition:background .4s var(--ease)}
.step:hover{background:var(--panel)}
.step__n{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.2em;color:var(--cy)}
.step__bar{display:block;height:2px;width:34px;background:var(--cy);margin:18px 0 22px;transition:width .6s var(--ease-out)}
.step:hover .step__bar{width:64px}
.step__t{
  font-family:var(--f-display);font-weight:700;font-size:clamp(20px,2.1vw,27px);
  letter-spacing:-.03em;margin-bottom:12px;
}
.step__d{color:var(--mute-d);font-size:15px;line-height:1.66}

/* ---------- MARKETS ---------- */
.mkts{
  display:grid;grid-template-columns:minmax(0,1fr);gap:1px;
  background:rgba(34,40,49,.2);border:1px solid rgba(34,40,49,.2);
}
.mkt{background:var(--cy);padding:clamp(26px,3vw,42px);transition:background .4s var(--ease)}
.mkt:hover{background:#3BFFF8}
.mkt__n{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.2em;color:rgba(34,40,49,.55)}
.mkt__t{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(21px,2.3vw,30px);letter-spacing:-.032em;
  margin:16px 0 12px;line-height:1.08;
}
.mkt__d{color:rgba(34,40,49,.78);font-size:15px;line-height:1.62;max-width:40ch}

/* ---------- CONTACT ---------- */
.ct{display:grid;grid-template-columns:1fr;gap:clamp(40px,5vw,72px)}
.fgrid{display:grid;grid-template-columns:1fr;gap:20px}
.fld{display:flex;flex-direction:column;gap:9px}
.fld--full{grid-column:1/-1}
.fld label{
  font-family:var(--f-mono);font-size:11.5px;letter-spacing:.19em;text-transform:uppercase;
  color:var(--mute-d);
}
.fld label i{color:var(--cy);font-style:normal}
.fld input,.fld select,.fld textarea{
  background:transparent;border:0;border-bottom:1px solid var(--line-d);
  padding:12px 0;font-size:16px;font-family:var(--f-body);color:var(--paper);
  border-radius:0;transition:border-color .35s var(--ease);
  appearance:none;-webkit-appearance:none;
}
.fld select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238D979F' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center;background-size:11px;
  cursor:pointer;padding-right:26px;
}
.fld select option{background:var(--panel);color:var(--paper)}
.fld textarea{resize:vertical;min-height:120px;line-height:1.6}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-bottom-color:var(--cy)}
.fld.is-bad input,.fld.is-bad textarea,.fld.is-bad select{border-bottom-color:#FF6B5A}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.note{
  display:flex;flex-direction:column;gap:4px;
  padding:18px 22px;border-radius:12px;margin-bottom:30px;
}
.note strong{font-family:var(--f-display);font-size:15px}
.note span{color:var(--mute-d);font-size:14.5px}
.note--ok{border-color:rgba(29,255,246,.45);background:rgba(29,255,246,.07)}
.note--ok strong{color:var(--cy)}
.note--err{border-color:rgba(255,107,90,.45);background:rgba(255,107,90,.07)}
.note--err strong{color:#FF8B7C}

.ct__info{display:grid;gap:0;align-content:start}
.ct__blk{padding:22px 0;border-top:1px solid var(--line-d)}
.ct__blk:last-child{border-bottom:1px solid var(--line-d)}
.ct__l{
  display:block;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.19em;
  text-transform:uppercase;color:var(--mute-d);margin-bottom:8px;
}
.ct__v{font-family:var(--f-display);font-size:clamp(17px,1.8vw,21px);font-weight:600;letter-spacing:-.02em}
.ct__v a{transition:color .3s var(--ease)}
.ct__v a:hover{color:var(--cy)}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.ftr{background:var(--ink);padding-top:clamp(56px,6vw,90px);padding-bottom:30px}
.ftr__top{
  display:grid;grid-template-columns:1fr;gap:clamp(34px,4vw,60px);
  padding-bottom:clamp(38px,4.5vw,62px);border-bottom:1px solid var(--line-d);
}
.ftr__brand{max-width:38ch}
.ftr__mark{width:38px;height:38px;color:var(--cy);margin-bottom:16px}
.ftr__wm{
  display:block;font-family:var(--f-mono);font-size:22px;letter-spacing:.26em;
  padding-left:.26em;margin-bottom:14px;
}
.ftr__brand p{color:var(--mute-d);font-size:14.5px;line-height:1.6}
.ftr__col{display:flex;flex-direction:column;gap:11px;align-content:start}
.ftr__h{
  font-family:var(--f-mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mute-d);margin-bottom:6px;
}
.ftr__col a{font-size:14.5px;color:#BAC3C9;width:fit-content;transition:color .28s var(--ease)}
.ftr__col a:hover{color:var(--cy)}
.ftr__col a.is-on{color:var(--cy)}
.ftr__btm{
  display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;padding-top:26px;
  font-family:var(--f-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-d);
}
.ftr__up{display:flex;align-items:center;gap:8px;margin-left:auto;color:var(--cy)}
.ftr__up svg{width:13px;height:13px;transition:transform .4s var(--ease-out)}
.ftr__up:hover svg{transform:translate(3px,-3px)}

/* ---------- scroll progress ---------- */
.prog{position:fixed;left:0;top:0;height:2px;width:100%;z-index:200;background:transparent;pointer-events:none}
.prog span{display:block;height:100%;width:0;background:var(--cy);transition:width .12s linear}

/* ==========================================================================
   REVEAL
   ========================================================================== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease-out) var(--d,0ms),transform .85s var(--ease-out) var(--d,0ms)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ==========================================================================
   BREAKPOINTS
   ========================================================================== */
@media (min-width:600px){
  .fgrid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mkts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:860px){
  .hero__btm{grid-template-columns:1.25fr auto}
  .sec__head--split{grid-template-columns:1.3fr 1fr}
  .about{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ct{grid-template-columns:1.55fr 1fr}
  .ftr__top{grid-template-columns:2fr 1fr 1fr}
}
@media (min-width:1080px){
  .steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mkts{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (max-width:1023px){
  .nav{display:none}
  .burger{display:block}
  .hdr__right .btn--sm{display:none}
}
@media (min-width:1024px){
  .drawer{display:none!important}
}
@media (max-width:599px){
  .cap{grid-template-columns:auto 1fr;row-gap:4px}
  .cap__ar{display:none}
  .hero__scroll{display:none}
}
.logo-full, .gen-img{border-radius: 30px;}
.gen-img{ margin-top: 40px;}
.logo-hldr{ padding: 20px; }
.logo-p{padding-left: 20px; padding-right: 20px;}
.sec{padding-top: 40px;}
.hero{ background-color: #003b46; }
#capabilities{ background-color:  	#07575b; }
#capabilities .cap__d{ color: #fff; }
#approach{ background-color: #003b46; }
#approach .step{ background-color:  	#07575b; }
#contact{ background-color: #003b46; }
#contact .sec__lead, #contact .fld label{ color: #fff; }
button, input, select, textarea{border: 2px solid #fff !important; border-radius: 30px !important; padding: 20px !important;}
.lang__btn {border: none !important;}
#markets, .marq{ background-color: #c0dee5; }
.hero video, .vbg video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
.hero::after, .vbg:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}
.hero-content, .vbg-content {
    position: relative;
    z-index: 2;
}
.vbg .sec__lead{ color: #fff !important; }
.hero__btm{ border: none !important; }
.privacy-popup {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.65);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.privacy-box {
    position: relative;
    background: #fff;
    color: #222;
    max-width: 800px;
    max-height: 85vh;
    overflow-y: auto;
    padding: 35px;
    border-radius: 8px;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
    line-height: 1.6;
}

.privacy-box h2 {
    margin-top: 0;
}

.privacy-box h3 {
    margin-bottom: 5px;
}

.privacy-close {
    position: absolute;
    right: 15px;
    top: 10px;
    border: 0;
    background: none;
    font-size: 28px;
    cursor: pointer;
}

.privacy-languages {
    margin-bottom: 20px;
}

.privacy-languages button {
    border: 0;
    background: #eee;
    padding: 6px 10px;
    margin-right: 5px;
    cursor: pointer;
    border-radius: 4px;
}

.privacy-button {
    margin-top: 20px;
    padding: 10px 25px;
    border: 0;
    background: #222;
    color: white;
    cursor: pointer;
    border-radius: 4px;
}
#about .stats {margin-bottom: -80px; margin-top: 0px; }
.gen-img2{ margin-bottom: 20px; border-radius: 30px; }
#contact .ct{ margin-top: -20px; }
#about .about{ border-bottom: none !important; }
.steps, .mkts, .stats { border-radius: 30px !important; overflow: hidden; }
#approach .step__d{ color: #fff; }
#capabilities .cap__n{padding-left: 20px;}
.ftr-lg{height: 50px; width: 50px;}