/* ============================================================
   IMPULSE — global stylesheet
   Performance marketing & digital engineering, Warsaw
   ============================================================ */

/* ---- Fonts (Inter as web fallback for SF Pro Display) ---- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,400;1,500;1,600&display=swap');

/* ---- Design tokens ---- */
:root{
  --white:#FFFFFF;
  --ink:#0A0A0B;
  --gray:#6E6E73;
  --gray-2:#86868B;
  --surface:#F5F5F7;
  --surface-2:#FAFAFC;
  --line:rgba(0,0,0,.08);
  --blue:#1A6DFF;
  --blue-dark:#0F57D6;
  --orange:#F4891E;

  --container:1160px;
  --radius:20px;
  --radius-sm:12px;
  --shadow:0 2px 30px rgba(0,0,0,.06);
  --shadow-lg:0 12px 50px rgba(0,0,0,.10);

  --ease:cubic-bezier(.22,.61,.36,1);
  --nav-h:64px;

  --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter",
          system-ui, "Segoe UI", Roboto, sans-serif;
}

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-gutter:stable;overflow-x:hidden;max-width:100%;}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--white);
  line-height:1.5;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;max-width:100%;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px;}

/* ---- Layout helpers ---- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px;}
.section{padding-block:clamp(72px,11vw,150px);}
.section--tight{padding-block:clamp(56px,8vw,104px);}
.bg-surface{background:var(--surface);}
.bg-ink{background:var(--ink);color:var(--white);}

/* ---- Typography ---- */
h1,h2,h3{letter-spacing:-.02em;font-weight:800;line-height:1.05;text-wrap:balance;}
.eyebrow{
  font-size:14px;font-weight:600;letter-spacing:.04em;
  color:var(--blue);text-transform:none;margin-bottom:18px;
}
.bg-ink .eyebrow{color:#5C9BFF;}
.h1{font-size:clamp(40px,7vw,88px);font-weight:800;letter-spacing:-.03em;}
.h2{font-size:clamp(30px,4.4vw,52px);letter-spacing:-.025em;}
.h3{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.02em;font-weight:700;}
.lead{font-size:clamp(18px,2.1vw,21px);color:var(--gray);line-height:1.55;max-width:60ch;text-wrap:pretty;}
.bg-ink .lead{color:#A1A1A8;}
.muted{color:var(--gray);}
.section-head{max-width:720px;margin-bottom:clamp(40px,5vw,64px);}
.section-head .lead{margin-top:18px;}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 26px;border-radius:var(--radius-sm);
  font-size:16px;font-weight:600;letter-spacing:-.01em;
  transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease);
  white-space:nowrap;
}
.btn .arrow{transition:transform .35s var(--ease);}
.btn:hover .arrow{transform:translateX(4px);}
.btn-primary{background:var(--blue);color:#fff;}
.btn-primary:hover{background:var(--blue-dark);}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line);}
.btn-ghost:hover{background:var(--surface);}
.bg-ink .btn-ghost{color:#fff;border-color:rgba(255,255,255,.22);}
.bg-ink .btn-ghost:hover{background:rgba(255,255,255,.08);}
.btn-text{padding:0;color:var(--blue);font-weight:600;display:inline-flex;align-items:center;gap:8px;}
.btn-text:hover .arrow{transform:translateX(4px);}
.btn-lg{padding:18px 32px;font-size:17px;}

/* ---- Tags / pills ---- */
.tags{display:flex;flex-wrap:wrap;gap:8px;}
.tag{
  font-size:13px;font-weight:500;color:var(--gray);
  background:var(--surface);border:1px solid var(--line);
  padding:6px 12px;border-radius:999px;letter-spacing:-.01em;
}
.tag--accent{color:var(--orange);background:rgba(244,137,30,.08);border-color:rgba(244,137,30,.18);}
.bg-ink .tag{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#C8C8CE;}

/* placeholders for unconfirmed content */
.ph{color:var(--orange);font-weight:600;background:rgba(244,137,30,.08);
    padding:1px 7px;border-radius:6px;font-size:.9em;white-space:nowrap;}

/* =========================================================
   NAVIGATION
   ========================================================= */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--nav-h);
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid transparent;
  transition:border-color .4s var(--ease),background .4s var(--ease);
}
.nav.scrolled{border-bottom-color:var(--line);}
.nav__inner{
  max-width:var(--container);margin-inline:auto;height:100%;
  padding-inline:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.02em;}
.brand svg{display:block;}
.nav__links{display:flex;align-items:center;gap:34px;}
.nav__links a{
  font-size:15px;font-weight:500;color:var(--ink);
  transition:color .25s var(--ease);position:relative;
}
.nav__links a:hover{color:var(--blue);}
/* active: colour only, NO font-weight change → no layout shift */
.nav__links a.active{color:var(--orange);}
.nav__links a{min-width:0;text-align:center;font-weight:600;}
.nav__cta{display:flex;align-items:center;gap:16px;}
.nav__cta .btn{padding:10px 20px;font-size:15px;}
.burger{display:none;width:42px;height:42px;border-radius:10px;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
.burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .35s var(--ease),opacity .25s var(--ease);}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* mobile drawer — frosted glass */
.mobile-menu{
  position:fixed;inset:0;z-index:99;
  background:rgba(12,12,14,.72);
  backdrop-filter:saturate(180%) blur(32px);
  -webkit-backdrop-filter:saturate(180%) blur(32px);
  box-shadow:0 0 0 1px rgba(255,255,255,.06);
  padding:calc(var(--nav-h) + 32px) 20px 52px;
  display:flex;flex-direction:column;gap:9px;
  transform:translateY(-28px) scale(.97);opacity:0;pointer-events:none;
  transition:transform .58s cubic-bezier(.18,.84,.30,1),opacity .42s ease;
  overflow-y:auto;
}
.mobile-menu.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto;}
.mobile-menu a:not(.btn){
  display:flex;align-items:center;
  padding:17px 22px;font-size:20px;font-weight:600;
  letter-spacing:-.01em;color:#F5F5F7;
  background:rgba(255,255,255,.07);
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  transition:background .18s ease,transform .14s ease;
}
.mobile-menu a:not(.btn):hover{background:rgba(255,255,255,.12);}
.mobile-menu a:not(.btn):active{transform:scale(.97);}
.mobile-menu a.active:not(.btn){color:var(--orange);}
.mobile-menu .btn{margin-top:8px;width:100%;justify-content:center;font-size:17px;border-radius:18px;}

/* push content below fixed nav (hero handles its own padding) */
.page-top{padding-top:var(--nav-h);}

/* =========================================================
   HERO
   ========================================================= */
.hero{padding-top:calc(var(--nav-h) + 40px);overflow:hidden;}
.hero__grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
  min-height:min(78vh,720px);
}
.hero__eyebrow{font-size:15px;font-weight:600;color:var(--blue);margin-bottom:24px;letter-spacing:-.01em;max-width:34ch;}
.hero h1{margin-bottom:28px;}
.hero .lead{margin-bottom:38px;}
.hero__visual{position:relative;display:flex;justify-content:center;align-items:center;}
.hero__glow{
  position:absolute;inset:0;margin:auto;width:78%;height:78%;
  background:radial-gradient(circle at 50% 45%,rgba(26,109,255,.16),transparent 62%);
  filter:blur(10px);z-index:0;
}
.hero__mascot{position:relative;z-index:1;width:min(420px,80%);
  filter:drop-shadow(0 30px 60px rgba(10,10,11,.25));will-change:transform;}

/* =========================================================
   CARDS
   ========================================================= */
.card{
  background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow);
  padding:34px;display:flex;flex-direction:column;height:100%;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.card__icon{width:52px;height:52px;border-radius:14px;background:var(--surface);
  display:flex;align-items:center;justify-content:center;margin-bottom:22px;color:var(--blue);}
.card h3{margin-bottom:12px;}
.card p{color:var(--gray);margin-bottom:20px;line-height:1.5;}
.card .tags{margin-bottom:26px;}
.card .card__foot{margin-top:auto;}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}

/* =========================================================
   SYSTEM 01→04 alternating blocks
   ========================================================= */
.feature{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,88px);
  align-items:center;padding-block:clamp(48px,7vw,80px);
}
.feature:not(:last-child){border-bottom:1px solid var(--line);}
.feature--rev .feature__media{order:-1;}
.feature__num{font-size:15px;font-weight:700;letter-spacing:.06em;color:var(--orange);margin-bottom:18px;}
.feature h2{margin-bottom:22px;}
.feature__list{display:flex;flex-direction:column;gap:14px;margin:26px 0 32px;}
.feature__list li{display:flex;gap:12px;color:var(--gray);font-size:16px;line-height:1.45;}
.feature__list li::before{content:"";flex:none;width:7px;height:7px;border-radius:2px;background:var(--blue);margin-top:9px;transform:rotate(45deg);}
.feature__media{
  position:relative;border-radius:var(--radius);overflow:hidden;
  aspect-ratio:4/3;min-height:280px;
}

/* media placeholder (striped) */
.media-ph{
  width:100%;height:100%;border-radius:var(--radius);
  background:
    repeating-linear-gradient(45deg,rgba(0,0,0,.025) 0 12px,transparent 12px 24px),
    var(--surface);
  border:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  color:var(--gray-2);text-align:center;padding:24px;
}
.media-ph code{font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:13px;color:var(--gray);}
.media-ph .media-ph__tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-2);}
.feature--mascot{background:var(--ink);}
.feature--mascot .media-ph{background:
    repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 12px,transparent 12px 24px),#141416;
    border-color:rgba(255,255,255,.08);}
.feature__media img{width:100%;height:100%;object-fit:contain;}

/* community feature on dark */
.feature--dark{background:var(--ink);color:#fff;border-radius:var(--radius);padding:clamp(40px,6vw,72px);}
.feature--dark h2{color:#fff;}
.feature--dark .feature__num{color:var(--orange);}
.feature--dark p{color:#A1A1A8;}
.feature__media--tall{aspect-ratio:3/4;}
.feature__media--hero{aspect-ratio:3/5;min-height:480px;}

/* =========================================================
   VALUE LADDER (partnership tiers)
   ========================================================= */
.ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
.tier{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:34px;display:flex;flex-direction:column;height:100%;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);
}
.tier:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.tier__rank{font-size:14px;font-weight:700;color:var(--gray-2);letter-spacing:.06em;margin-bottom:6px;}
.tier__name{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-bottom:14px;}
.tier__desc{color:var(--gray);margin-bottom:24px;line-height:1.5;}
.tier__list{display:flex;flex-direction:column;gap:12px;margin-top:auto;}
.tier__list li{font-size:15px;color:var(--ink);display:flex;gap:10px;align-items:flex-start;line-height:1.4;}
.tier__list li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-top:8px;}
.tier__list .lbl{font-size:13px;color:var(--gray);font-weight:600;letter-spacing:.02em;margin-bottom:2px;}
.tier--featured{border-color:rgba(26,109,255,.5);box-shadow:0 8px 40px rgba(26,109,255,.12);}
.tier--featured .tier__name{color:var(--blue);}

/* =========================================================
   CASE TEASERS
   ========================================================= */
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.case-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  display:flex;flex-direction:column;
}
.case-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.case-card__media{aspect-ratio:16/9;}
.case-card__body{padding:28px 30px 32px;}
.case-card__cat{font-size:13px;font-weight:600;color:var(--orange);letter-spacing:.02em;margin-bottom:10px;}
.case-card__title{font-size:24px;font-weight:800;letter-spacing:-.02em;margin-bottom:10px;}
.case-card__desc{color:var(--gray);font-size:15px;line-height:1.5;}

/* =========================================================
   SERVICES — tabs + spec
   ========================================================= */
.tabbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(40px,5vw,56px);}
.tab{
  padding:12px 22px;border-radius:999px;border:1px solid var(--line);
  background:var(--white);font-size:15px;font-weight:600;color:var(--gray);
  transition:all .3s var(--ease);white-space:nowrap;letter-spacing:-.01em;
}
.tab:hover{color:var(--ink);border-color:rgba(0,0,0,.18);}
.tab.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fadeUp .5s var(--ease);}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

.spec__head{margin-bottom:44px;max-width:760px;}
.spec__kicker{font-size:14px;font-weight:700;color:var(--orange);letter-spacing:.06em;margin-bottom:14px;}
.spec__hook{font-size:clamp(22px,3vw,32px);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin-bottom:16px;}
.spec__hook .q{color:var(--blue);}
.spec__intro{color:var(--gray);font-size:18px;line-height:1.55;}
.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.spec-block{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px;}
.spec-block--full{grid-column:1/-1;}
.spec-block h4{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--gray-2);text-transform:uppercase;margin-bottom:18px;}
.spec-block ul{display:flex;flex-direction:column;gap:12px;}
.spec-block li{display:flex;gap:12px;color:var(--ink);font-size:15px;line-height:1.5;}
.spec-block li::before{content:"";flex:none;width:7px;height:7px;border-radius:2px;background:var(--blue);margin-top:8px;transform:rotate(45deg);}
.spec-block p{color:var(--gray);font-size:15px;line-height:1.55;}
.spec-block--flags{background:#FFF7F2;border-color:rgba(244,137,30,.2);}
.spec-block--flags h4{color:var(--orange);}
.spec-block--flags li::before{background:var(--orange);border-radius:50%;transform:none;width:6px;height:6px;margin-top:9px;}
.spec-markets{display:flex;flex-wrap:wrap;gap:24px;}
.spec-markets .mkt{flex:1 1 200px;}
.spec-markets .mkt b{display:block;font-size:14px;color:var(--gray-2);font-weight:600;margin-bottom:6px;letter-spacing:.02em;}
.spec-markets .mkt span{font-size:16px;color:var(--ink);font-weight:600;}
.spec-todo{background:var(--surface);border:1px dashed rgba(244,137,30,.4);border-radius:var(--radius);
  padding:30px;color:var(--gray);font-size:15px;line-height:1.6;}
.spec-todo b{color:var(--ink);}

/* =========================================================
   SERVICES — premium curated layout
   ========================================================= */
.svc-positioning{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center;
  background:var(--surface);border-radius:var(--radius);padding:clamp(32px,5vw,56px);margin-bottom:clamp(40px,5vw,56px);}
.svc-positioning h3{font-size:clamp(22px,2.6vw,28px);margin-bottom:16px;letter-spacing:-.02em;}
.svc-positioning p{color:var(--gray);font-size:16px;line-height:1.6;}
.svc-positioning p + p{margin-top:14px;}
.svc-verticals{display:flex;flex-direction:column;gap:14px;}
.svc-vert{display:flex;gap:16px;align-items:flex-start;background:var(--white);border:1px solid var(--line);
  border-radius:16px;padding:20px 22px;}
.svc-vert__icon{flex:none;width:40px;height:40px;border-radius:11px;background:rgba(26,109,255,.08);color:var(--blue);
  display:flex;align-items:center;justify-content:center;}
.svc-vert b{display:block;font-size:16px;letter-spacing:-.01em;margin-bottom:3px;}
.svc-vert span{font-size:14px;color:var(--gray);line-height:1.45;}
.svc-vert--muted .svc-vert__icon{background:var(--surface);color:var(--gray-2);}

.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px;}
.diff-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.diff-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.diff-card__n{font-size:13px;font-weight:700;color:var(--orange);letter-spacing:.04em;margin-bottom:14px;}
.diff-card h4{font-size:18px;font-weight:700;letter-spacing:-.01em;margin-bottom:10px;line-height:1.25;}
.diff-card p{color:var(--gray);font-size:14.5px;line-height:1.55;}
.diff-card p b{color:var(--ink);font-weight:600;}

.svc-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  margin-top:36px;padding:26px 30px;background:var(--ink);border-radius:var(--radius);}
.svc-bar p{color:#A1A1A8;font-size:15px;max-width:52ch;line-height:1.5;}
.svc-bar p b{color:#fff;font-weight:600;}

/* =========================================================
   MODAL / DEEP-DIVE DRAWER
   ========================================================= */
.modal-overlay{position:fixed;inset:0;z-index:200;display:flex;justify-content:center;align-items:flex-start;
  padding:max(24px,4vh) 20px;background:rgba(10,10,11,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;pointer-events:none;transition:opacity .35s var(--ease);overflow-y:auto;}
.modal-overlay.open{opacity:1;pointer-events:auto;}
.modal{background:var(--white);border-radius:var(--radius);width:100%;max-width:920px;margin:auto;
  box-shadow:0 30px 80px rgba(0,0,0,.3);transform:translateY(24px) scale(.99);
  transition:transform .4s var(--ease);overflow:hidden;}
.modal-overlay.open .modal{transform:none;}
.no-anim .modal-overlay{transition:none !important;}
.no-anim .modal-overlay .modal{transition:none !important;}
.modal__head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  padding:30px clamp(28px,4vw,48px) 22px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.modal__head .kick{font-size:13px;font-weight:700;color:var(--orange);letter-spacing:.06em;margin-bottom:8px;}
.modal__head h3{font-size:clamp(22px,3vw,30px);letter-spacing:-.02em;line-height:1.1;}
.modal__close{flex:none;width:42px;height:42px;border-radius:50%;background:var(--surface);color:var(--ink);
  display:flex;align-items:center;justify-content:center;transition:background .25s var(--ease);}
.modal__close:hover{background:#E8E8ED;}
.modal__body{padding:clamp(28px,4vw,48px);padding-top:28px;}

/* deep-dive document typography */
.dd h4{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);
  margin:36px 0 14px;padding-top:28px;border-top:1px solid var(--line);}
.dd > h4:first-child{margin-top:0;padding-top:0;border-top:none;}
.dd h5{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:22px 0 8px;}
.dd p{color:var(--gray);line-height:1.65;font-size:15.5px;margin-bottom:12px;}
.dd p b,.dd li b{color:var(--ink);font-weight:600;}
.dd ul{display:flex;flex-direction:column;gap:9px;margin:6px 0 16px;}
.dd li{position:relative;padding-left:20px;color:var(--gray);font-size:15px;line-height:1.55;}
.dd li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:2px;
  background:var(--blue);transform:rotate(45deg);}
.dd .lead-line{font-size:18px;color:var(--ink);line-height:1.5;font-weight:500;margin-bottom:22px;letter-spacing:-.01em;}
.dd pre{background:var(--ink);color:#D6D6DC;border-radius:14px;padding:22px 24px;overflow-x:auto;
  font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:13px;line-height:1.6;margin:8px 0 20px;white-space:pre;}
.dd pre .c{color:#5C9BFF;}
.dd .flags{background:#FFF7F2;border:1px solid rgba(244,137,30,.22);border-radius:16px;padding:24px 26px;margin-top:8px;}
.dd .flags h4{color:var(--orange);border:none;padding-top:0;margin-top:0;}
.dd .flags li::before{background:var(--orange);border-radius:50%;transform:none;width:6px;height:6px;top:8px;}
.dd table{width:100%;border-collapse:collapse;margin:8px 0 20px;font-size:14px;}
.dd th,.dd td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.45;}
.dd th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-2);font-weight:700;}
.dd td{color:var(--gray);}
.dd td:first-child{color:var(--ink);font-weight:600;}
.dd .pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px;}
.dd .conclusion{background:var(--surface);border-radius:16px;padding:24px 26px;margin-top:28px;color:var(--ink);
  font-size:15.5px;line-height:1.6;}

@media (max-width:760px){
  .svc-positioning{grid-template-columns:1fr;}
  .diff-grid{grid-template-columns:1fr;}
  .svc-bar{flex-direction:column;align-items:flex-start;}
}

/* =========================================================
   CASES (longread)
   ========================================================= */
.case{padding-block:clamp(56px,8vw,96px);}
.case:not(:last-child){border-bottom:1px solid var(--line);}
.case__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:14px;}
.case__name{font-size:clamp(30px,4.4vw,48px);font-weight:800;letter-spacing:-.025em;}
.case__cat{font-size:14px;font-weight:600;color:var(--orange);}
.case__tagline{color:var(--gray);font-size:19px;max-width:60ch;margin-bottom:40px;line-height:1.5;}
.case__media{border-radius:var(--radius);overflow:hidden;aspect-ratio:21/9;margin-bottom:44px;}
.case__sections{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 48px;}
.case-sec h4{font-size:14px;font-weight:700;letter-spacing:.05em;color:var(--blue);margin-bottom:12px;}
.case-sec p{color:var(--gray);line-height:1.6;font-size:16px;}
.case-sec--econ{grid-column:1/-1;background:var(--surface);border-radius:var(--radius);padding:32px;}
.econ-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:20px;}
.econ-cell{}
.econ-cell .lbl{font-size:13px;color:var(--gray-2);font-weight:600;margin-bottom:8px;letter-spacing:.04em;text-transform:uppercase;}
.econ-cell .val{font-size:15px;color:var(--ink);}
.econ-cell .ba{display:flex;gap:10px;align-items:center;font-size:15px;}
.econ-cell .ba .arrow{color:var(--blue);}

/* =========================================================
   COMMUNITY
   ========================================================= */
.access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.access{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:34px;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.access:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.access__level{font-size:13px;font-weight:700;color:var(--gray-2);letter-spacing:.06em;margin-bottom:8px;}
.access__name{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px;}
.access__link{font-size:13px;color:var(--orange);font-weight:600;margin-bottom:18px;}
.access p{color:var(--gray);line-height:1.55;font-size:15px;}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pillar h3{font-size:20px;margin-bottom:10px;}
.pillar p{color:var(--gray);font-size:15px;line-height:1.55;}
.pillar .pillar__media{aspect-ratio:4/3;border-radius:16px;overflow:hidden;margin-bottom:20px;}

/* =========================================================
   FORMS / CTA
   ========================================================= */
.cta-form{
  background:var(--ink);color:#fff;border-radius:var(--radius);
  padding:clamp(40px,6vw,72px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,72px);align-items:start;
}
.cta-form h2{color:#fff;margin-bottom:20px;}
.cta-form .lead{color:#A1A1A8;}
.cta-form .contacts{margin-top:36px;display:flex;flex-direction:column;gap:18px;}
.cta-form .contacts a,.cta-form .contacts span{display:flex;gap:12px;align-items:center;color:#D6D6DC;font-size:16px;}
.cta-form .contacts svg{color:#5C9BFF;flex:none;}

.form{display:flex;flex-direction:column;gap:18px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:14px;font-weight:600;color:#C8C8CE;}
.field input,.field select,.field textarea{
  font-family:inherit;font-size:16px;color:#fff;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:12px;padding:14px 16px;transition:border-color .3s var(--ease),background .3s var(--ease);
}
.field input::placeholder,.field textarea::placeholder{color:#71717A;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--blue);background:rgba(255,255,255,.09);
}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2386868B' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;}
.field select option{color:#111;}
.field textarea{resize:vertical;min-height:96px;}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:#9A9AA1;line-height:1.5;}
.consent input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--blue);}
.consent a{color:#5C9BFF;text-decoration:underline;}
.form .btn-primary{margin-top:6px;justify-content:center;}
.form-success{
  display:none;flex-direction:column;gap:14px;text-align:left;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:16px;padding:36px;
}
.form-success.show{display:flex;animation:fadeUp .5s var(--ease);}
.form-success .check{width:48px;height:48px;border-radius:50%;background:var(--blue);
  display:flex;align-items:center;justify-content:center;color:#fff;}
.form-success h3{color:#fff;}
.form-success p{color:#A1A1A8;}

/* standalone contact layout */
.contact-hero{padding-top:calc(var(--nav-h) + 56px);}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{background:var(--surface);border-top:1px solid var(--line);padding-block:64px 40px;}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:48px;}
.footer__brand .brand{margin-bottom:16px;}
.footer__brand p{color:var(--gray);font-size:15px;max-width:34ch;line-height:1.5;}
.footer__col h5{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-2);margin-bottom:16px;}
.footer__col a{display:block;color:var(--ink);font-size:15px;padding:6px 0;transition:color .25s var(--ease);}
.footer__col a:hover{color:var(--blue);}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;
  padding-top:28px;border-top:1px solid var(--line);color:var(--gray-2);font-size:14px;}
.footer__bottom .links{display:flex;gap:24px;}
.footer__bottom a:hover{color:var(--blue);}

/* generic legal/doc page */
.doc{max-width:760px;}
.doc h1{font-size:clamp(32px,5vw,52px);margin-bottom:16px;}
.doc .updated{color:var(--gray-2);font-size:14px;margin-bottom:48px;}
.doc h2{font-size:24px;margin:44px 0 14px;}
.doc p,.doc li{color:var(--gray);line-height:1.65;font-size:16px;margin-bottom:14px;}
.doc ul{padding-left:22px;list-style:disc;}
.doc li{margin-bottom:8px;}

/* =========================================================
   SCROLL REVEAL
   Default = visible (safe no-JS fallback). JS adds .js-anim to
   <html> to enable the hidden start state; .no-anim force-shows
   everything when the animation clock is unavailable.
   ========================================================= */
.reveal{opacity:1;transform:none;
  transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:opacity,transform;}
.js-anim .reveal{opacity:0;transform:translateY(22px);}
.js-anim .reveal.in{opacity:1;transform:none;}
.js-anim .reveal[data-delay="1"]{transition-delay:.08s;}
.js-anim .reveal[data-delay="2"]{transition-delay:.16s;}
.js-anim .reveal[data-delay="3"]{transition-delay:.24s;}
.no-anim .reveal{opacity:1 !important;transform:none !important;transition:none !important;}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:900px){
  .nav__links{display:none;}
  .burger{display:flex;}
  .nav__cta .btn{display:none;}
  .hero__grid{grid-template-columns:1fr;gap:0;min-height:0;text-align:left;}
  .hero__visual{order:1;margin-top:28px;}
  .hero__mascot{width:min(260px,56%);height:auto !important;}
  .grid-3,.ladder,.access-grid,.pillars,.spec-grid,.case-grid{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .feature{grid-template-columns:1fr;gap:32px;}
  .feature--rev .feature__media{order:0;}
  .feature__media{min-height:240px;}
  .case__sections{grid-template-columns:1fr;}
  .econ-grid{grid-template-columns:repeat(2,1fr);}
  .cta-form{grid-template-columns:1fr;}
  .footer__top{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:1/-1;}
}
@media (max-width:560px){
  body{font-size:16px;}
  .form .row{grid-template-columns:1fr;}
  .econ-grid{grid-template-columns:1fr;}
  .footer__top{grid-template-columns:1fr;}
  .card,.tier,.access,.spec-block{padding:26px;}
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;}
  .reveal{opacity:1;transform:none;}
}

/* =========================================================
   IMPULSE v2 — SIMPLIFIED SERVICES, MOTION, PRICING
   ========================================================= */

/* ---- Simplified service panels ---- */
.svc2{max-width:960px;}
.svc2__head{margin-bottom:44px;}
.svc2__cat{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--orange);margin-bottom:18px;text-transform:uppercase;}
.svc2__title{font-size:clamp(30px,4.5vw,50px);font-weight:800;letter-spacing:-.025em;line-height:1.0;margin-bottom:20px;}
.svc2__sub{font-size:clamp(18px,2vw,20px);color:var(--gray);line-height:1.58;max-width:64ch;text-wrap:pretty;}

.svc2__cols{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-bottom:24px;}
.svc2__incl,.svc2__why{border-radius:var(--radius);padding:28px 30px;}
.svc2__incl{background:var(--white);border:1px solid var(--line);}
.svc2__why{background:var(--surface);}
.svc2 h4{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-2);margin-bottom:18px;}

.inc{display:flex;flex-direction:column;gap:14px;padding:0;margin:0;}
.inc li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--ink);line-height:1.45;list-style:none;}
.inc li svg{flex:none;width:20px;height:20px;color:var(--blue);margin-top:1px;}
.svc2__why p{color:var(--gray);font-size:16px;line-height:1.6;margin-bottom:10px;}
.svc2__why p:last-child{margin-bottom:0;}
.svc2__why p b{color:var(--ink);font-weight:600;}

.svc2__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 28px;border-radius:var(--radius);background:var(--ink);}
.svc2__price{display:flex;flex-direction:column;gap:2px;}
.svc2__price-row{display:flex;align-items:baseline;gap:8px;}
.svc2__price .lbl{color:#86868B;font-size:15px;font-weight:500;}
.svc2__price .val{font-size:30px;font-weight:800;letter-spacing:-.025em;color:#fff;}
.svc2__price .unit{color:#86868B;font-size:15px;font-weight:500;}
.svc2__actions{display:flex;flex-wrap:wrap;gap:12px;}
.svc2__bar .btn-ghost{color:#fff;border-color:rgba(255,255,255,.22);}
.svc2__bar .btn-ghost:hover{background:rgba(255,255,255,.10);}

/* ---- Modal v2 ---- */
.dd2 .dd2-lead{font-size:18px;color:var(--ink);line-height:1.55;font-weight:500;letter-spacing:-.01em;margin-bottom:4px;}
.dd2-h{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin:32px 0 16px;display:block;}
.dd2-h:first-of-type{margin-top:28px;}

.steps{list-style:none;display:flex;flex-direction:column;padding:0;margin:0;}
.steps li{display:flex;gap:18px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--line);}
.steps li:first-child{border-top:none;padding-top:0;}
.steps__n{flex:none;width:34px;height:34px;border-radius:11px;background:var(--ink);color:#fff;
  font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.steps b{display:block;font-size:17px;font-weight:700;letter-spacing:-.01em;margin-bottom:4px;color:var(--ink);}
.steps p{color:var(--gray);font-size:15px;line-height:1.55;margin:0;}

.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.chip{font-size:13.5px;font-weight:600;color:var(--ink);background:var(--surface);
  border:1px solid var(--line);padding:8px 16px;border-radius:999px;}
.dd2-note{color:var(--gray);font-size:15px;line-height:1.6;margin:0;}

.dd2-team{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border-radius:16px;padding:20px 22px;margin-top:4px;}
.dd2-team svg{flex:none;width:22px;height:22px;color:var(--blue);margin-top:2px;}
.dd2-team p{color:var(--gray);font-size:15px;line-height:1.6;margin:0;}
.dd2-team b{color:var(--ink);}

.dd2-price{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;
  margin-top:32px;padding:24px 28px;background:var(--ink);border-radius:var(--radius);}
.dd2-price__lbl{display:block;font-size:12px;color:#86868B;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;}
.dd2-price__val{font-size:28px;font-weight:800;color:#fff;letter-spacing:-.025em;display:block;}
.dd2-price__val span{font-size:15px;color:#86868B;font-weight:500;}
.dd2-price__val2{font-size:15px;color:#86868B;margin-top:4px;display:block;}
.dd2-price__hint{display:block;font-size:13px;color:#86868B;margin-top:8px;}

/* ---- Stats band ---- */
.stats{border-block:1px solid var(--line);background:var(--surface);padding:0;}
.stats__row{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:36px 24px;text-align:center;position:relative;}
.stat:not(:last-child)::after{content:"";position:absolute;right:0;top:20%;bottom:20%;width:1px;background:var(--line);}
.stat__num{font-size:clamp(38px,5vw,56px);font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1;display:block;}
.stat__label{font-size:14px;color:var(--gray);margin-top:8px;line-height:1.4;}
@media(max-width:680px){
  .stats__row{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2)::after{display:none;}
  .stat:nth-child(3){border-top:1px solid var(--line);}
  .stat:nth-child(4){border-top:1px solid var(--line);}
  .stat:nth-child(4)::after{display:none;}
}

/* ---- Nav underline animation ---- */
.nav__links a::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;
  background:var(--blue);border-radius:2px;
  transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease);
}
.nav__links a:hover::after,.nav__links a.active::after{transform:scaleX(1);}

/* ---- Tab panel enhanced animation ---- */
.tab-panel.active{display:block;animation:panelIn .5s var(--ease) both;}
@keyframes panelIn{from{opacity:0;transform:translateY(18px) scale(.99);}to{opacity:1;transform:none;}}

/* ---- Tab sliding indicator ---- */
.tab-ind{
  position:absolute;top:0;left:0;
  border-radius:999px;background:var(--ink);z-index:0;
  pointer-events:none;will-change:transform,width,height;
  transition:transform .45s var(--ease),width .4s var(--ease),height .4s var(--ease);
}
.has-ind .tab{position:relative;z-index:1;}
.has-ind .tab.active{background:transparent !important;border-color:transparent !important;color:#fff;}

/* ---- Cursor glow ---- */
.cursor-glow{
  position:fixed;width:600px;height:600px;border-radius:50%;
  pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(26,109,255,.08) 0%,transparent 65%);
  transform:translate(-50%,-50%);opacity:0;
  transition:opacity .6s ease;will-change:transform;
}
.cursor-glow.on{opacity:1;}

/* ---- Card spotlight ---- */
.spot{position:relative;overflow:hidden;}
.spot::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:radial-gradient(300px circle at var(--sx,50%) var(--sy,50%),rgba(26,109,255,.09),transparent 65%);
  opacity:0;transition:opacity .35s ease;
}
.spot:hover::after{opacity:1;}
.spot > *{position:relative;z-index:1;}

/* ---- Services responsive ---- */
@media(max-width:760px){
  .svc2__cols{grid-template-columns:1fr;}
  .svc2__bar{flex-direction:column;align-items:stretch;}
  .svc2__actions{flex-direction:column;}
  .svc2__actions .btn{justify-content:center;}
  .dd2-price{flex-direction:column;align-items:stretch;}
  .dd2-price .btn{justify-content:center;}
}

/* ============================================================
   IMPULSE v3 — Premium Upgrade
   Dark mode · iOS Clear · Frosted glass · Loader · Polish
   ============================================================ */

/* ---- 1. Cursor glow: tighter radius ---- */
.cursor-glow{width:320px;height:320px;}

/* ---- 2. Back-to-top button ---- */
.back-to-top{
  position:fixed;bottom:32px;right:32px;z-index:90;
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 4px 20px rgba(0,0,0,.12);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--ink);
  opacity:0;transform:translateY(14px) scale(.88);
  transition:opacity .45s var(--ease),transform .45s var(--ease),box-shadow .3s ease;
}
.back-to-top.visible{opacity:1;transform:none;}
.back-to-top:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 8px 30px rgba(0,0,0,.18);}

/* ---- 3. Frosted glass cards (light mode — subtle) ---- */
.card,.case-card,.tier,.access,.diff-card{
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  box-shadow:0 2px 24px rgba(0,0,0,.06),0 1px 0 rgba(255,255,255,.8) inset;
}
.card:hover,.case-card:hover,.tier:hover,.access:hover,.diff-card:hover{
  box-shadow:0 16px 48px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.8) inset;
}

/* ---- 3. Liquid Glass buttons (iOS 26 / macOS 27) ---- */
.btn-primary{
  position:relative;overflow:hidden;
  background-color:transparent;
  background-image:
    linear-gradient(110deg,transparent 0%,rgba(255,255,255,.18) 50%,transparent 100%),
    linear-gradient(170deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.04) 55%,transparent 100%),
    linear-gradient(158deg,rgba(56,130,255,.82) 0%,rgba(12,78,218,.9) 100%);
  background-size:220% 100%,100% 100%,100% 100%;
  background-position:-220% 0,0 0,0 0;
  backdrop-filter:blur(24px) saturate(210%) brightness(1.08);
  -webkit-backdrop-filter:blur(24px) saturate(210%) brightness(1.08);
  border:1px solid rgba(255,255,255,.44);
  border-bottom-color:rgba(12,50,180,.5);
  box-shadow:
    inset 0 1.5px 0 rgba(255,255,255,.52),
    inset 0 -1px 0 rgba(0,28,150,.38),
    0 0 0 .5px rgba(26,109,255,.5),
    0 2px 8px rgba(26,109,255,.22),
    0 8px 28px rgba(26,109,255,.14);
  color:#fff;text-shadow:0 1px 1px rgba(0,0,60,.16);
  transition:
    background-position .65s cubic-bezier(.22,.61,.36,1),
    transform .32s var(--ease),
    box-shadow .32s var(--ease),
    color .25s var(--ease);
}
.btn-primary:hover{
  background-position:240% 0,0 0,0 0;
  box-shadow:
    inset 0 1.5px 0 rgba(255,255,255,.5),
    inset 0 -1px 0 rgba(0,28,150,.45),
    0 0 0 .5px rgba(26,109,255,.65),
    0 4px 14px rgba(26,109,255,.32),
    0 12px 40px rgba(26,109,255,.2);
  transform:translateY(-1.5px) scale(1.008);
}
.btn-primary:active{
  transform:translateY(0) scale(.994);
  transition-duration:.08s;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -1px 0 rgba(0,28,150,.3),
    0 0 0 .5px rgba(26,109,255,.4),
    0 1px 4px rgba(26,109,255,.18);
}
.btn-ghost{
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(0,0,0,.1);
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.btn-ghost:hover{
  background:rgba(255,255,255,.88);
  border-color:rgba(0,0,0,.15);
  transform:translateY(-1px);
}

/* ---- 5. Nav: pill active state instead of underline ---- */
.nav__links{gap:4px;}
.nav__links a::after{display:none !important;}
.nav__links a{
  padding:7px 14px;
  border-radius:20px;
  transition:background .25s var(--ease),color .25s var(--ease);
}
.nav__links a:hover{
  background-color:rgba(26,109,255,.08) !important;
  color:var(--blue);
}
.nav__links a.active{
  background-color:rgba(26,109,255,.1) !important;
  color:var(--blue);
}

/* ---- 6. Enhanced Apple-style scroll reveal ---- */
.reveal{
  transition:opacity .8s var(--ease),transform .8s var(--ease);
}
.js-anim .reveal{
  opacity:0;
  transform:translateY(28px) scale(.98);
}
.js-anim .reveal.in{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* ---- 9. Theme toggle button ---- */
.theme-toggle{
  width:38px;height:38px;border-radius:50%;flex:none;
  background:rgba(255,255,255,.7);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(0,0,0,.09);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--ink);
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.theme-toggle:hover{transform:scale(1.1);background:rgba(255,255,255,.92);}
.theme-toggle svg{display:block;}

/* ---- 10. Loading screen ---- */
#impulse-loader{
  position:fixed;inset:0;z-index:9999;
  background:#0A0A0B;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .65s cubic-bezier(.22,.61,.36,1);
}
#impulse-loader.hiding{opacity:0;pointer-events:none;}
.ldr-inner{
  display:flex;flex-direction:column;align-items:center;gap:30px;
}
.ldr-bolt-wrap{
  position:relative;width:52px;height:90px;
}
.ldr-bolt-svg{
  position:absolute;inset:0;width:100%;height:100%;
}
.ldr-bolt-fill-clip{
  position:absolute;inset:0;
  clip-path:inset(100% 0 0 0);
  animation:boltLiquid 1.8s cubic-bezier(.22,.61,.36,1) .35s forwards;
}
@keyframes boltLiquid{
  0%{clip-path:inset(100% 0 0 0);}
  100%{clip-path:inset(0% 0 0 0);}
}
.ldr-name{
  font-size:11px;font-weight:700;letter-spacing:.42em;
  color:rgba(255,255,255,0);text-transform:uppercase;
  animation:ldrWord 1s ease .75s forwards;
}
@keyframes ldrWord{
  to{color:rgba(255,255,255,.55);letter-spacing:.38em;}
}

/* ---- 11. Cookie banner ---- */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:96;
  padding-bottom:max(14px,env(safe-area-inset-bottom,14px));
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(24px) saturate(200%);
  -webkit-backdrop-filter:blur(24px) saturate(200%);
  border-top:1px solid rgba(0,0,0,.07);
  padding:14px 24px;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  transform:translateY(100%);
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
}
.cookie-banner.visible{transform:none;}
.cookie-text{
  flex:1;font-size:13.5px;color:var(--gray);line-height:1.5;min-width:200px;
}
.cookie-text strong{color:var(--ink);font-weight:600;}
.cookie-text a{color:var(--blue);text-decoration:underline;}
.cookie-text a:hover{opacity:.8;}
.cookie-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-btn-accept{
  padding:10px 22px;border-radius:999px;border:none;
  background:var(--ink);color:#fff;
  font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;
  transition:background .22s ease,transform .22s ease;
}
.cookie-btn-accept:hover{background:#000;transform:scale(1.03);}
.cookie-btn-decline{
  padding:10px 18px;border-radius:999px;
  background:transparent;color:var(--gray);
  font-family:inherit;font-size:13.5px;font-weight:500;cursor:pointer;
  border:1px solid var(--line);
  transition:background .22s ease;
}
.cookie-btn-decline:hover{background:var(--surface);}
@media(max-width:560px){
  .cookie-banner{flex-direction:column;align-items:flex-start;gap:12px;}
  .cookie-actions{width:100%;}
  .cookie-btn-accept,.cookie-btn-decline{flex:1;text-align:center;justify-content:center;}
}

/* ---- 8. Mini contact form inside modals ---- */
.mmf{
  margin-top:28px;padding-top:28px;
  border-top:1px solid var(--line);
}
.mmf__title{
  font-size:18px;font-weight:700;letter-spacing:-.015em;
  color:var(--ink);margin-bottom:5px;
}
.mmf__sub{
  font-size:14px;color:var(--gray);margin-bottom:18px;line-height:1.5;
}
.mmf-form{display:flex;flex-direction:column;gap:12px;}
.mmf-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.mmf-input{
  width:100%;padding:12px 16px;border-radius:12px;
  border:1px solid var(--line);background:var(--surface);
  font-family:inherit;font-size:15px;color:var(--ink);
  outline:none;
  transition:border-color .28s ease,background .28s ease;
}
.mmf-input:focus{border-color:var(--blue);background:#fff;}
.mmf-input::placeholder{color:var(--gray-2);}
.mmf-form .btn{justify-content:center;margin-top:2px;}
.mmf-ok{
  display:none;align-items:center;gap:12px;
  padding:16px 20px;border-radius:14px;
  background:rgba(26,109,255,.06);
  border:1px solid rgba(26,109,255,.18);
  color:var(--blue);font-weight:600;font-size:15px;
}
.mmf-ok.show{display:flex;}
.mmf-ok svg{flex:none;}
@media(max-width:680px){.mmf-row{grid-template-columns:1fr;}}

/* ============================================================
   DARK THEME
   ============================================================ */
[data-theme="dark"] body{background:#0A0A0B;color:#A1A1A8;}

/* Typography */
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,
[data-theme="dark"] .h1,[data-theme="dark"] .h2,[data-theme="dark"] .h3{color:#F5F5F7;}
[data-theme="dark"] .lead{color:#A1A1A8;}
[data-theme="dark"] .eyebrow{color:#5C9BFF;}
[data-theme="dark"] .muted{color:#6E6E73;}
[data-theme="dark"] .feature__num{color:var(--orange);}

/* Nav */
[data-theme="dark"] .nav{
  background:rgba(10,10,11,.88);
  border-bottom-color:rgba(255,255,255,.07);
}
[data-theme="dark"] .nav.scrolled{border-bottom-color:rgba(255,255,255,.11);}
[data-theme="dark"] .brand span{color:#F5F5F7;}
[data-theme="dark"] .nav__links a{color:#A1A1A8;}
[data-theme="dark"] .nav__links a:hover{color:#fff;background-color:rgba(255,255,255,.07) !important;}
[data-theme="dark"] .nav__links a.active{color:#5C9BFF;background-color:rgba(92,155,255,.14) !important;}
[data-theme="dark"] .nav__cta .btn-ghost{
  color:#F5F5F7;border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.06);
}
[data-theme="dark"] .nav__cta .btn-ghost:hover{background:rgba(255,255,255,.12);}
[data-theme="dark"] .burger span{background:#F5F5F7;}
[data-theme="dark"] .mobile-menu{
  background:linear-gradient(180deg,rgba(48,48,68,.62) 0%,rgba(18,18,26,.80) 100%);
  box-shadow:
    inset 0 1.5px 0 rgba(255,255,255,.13),
    inset 0 -1px 0 rgba(0,0,0,.38),
    inset 1px 0 0 rgba(255,255,255,.07),
    inset -1px 0 0 rgba(255,255,255,.07);
}
[data-theme="dark"] .mobile-menu a:not(.btn){
  color:#E8E8ED;
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.13);
  box-shadow:
    inset 0 1.5px 0 rgba(255,255,255,.11),
    0 2px 12px rgba(0,0,0,.35);
}
[data-theme="dark"] .mobile-menu a:not(.btn):hover{background:rgba(255,255,255,.14);color:#fff;}

/* Theme toggle dark */
[data-theme="dark"] .theme-toggle{
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#F5F5F7;
}
[data-theme="dark"] .theme-toggle:hover{background:rgba(255,255,255,.15);}

/* Surfaces */
[data-theme="dark"] .bg-surface{background:#111113;}
[data-theme="dark"] .stats{background:#111113;border-color:rgba(255,255,255,.06);}
[data-theme="dark"] .stat::after{background:rgba(255,255,255,.06);}
[data-theme="dark"] .stat__num{color:#F5F5F7;}
[data-theme="dark"] .stat__label{color:#6E6E73;}

/* Cards — true frosted glass in dark */
[data-theme="dark"] .card,
[data-theme="dark"] .diff-card,
[data-theme="dark"] .spec-block{
  background:linear-gradient(145deg,rgba(38,38,44,.95),rgba(26,26,30,.9));
  border:1px solid rgba(255,255,255,.07);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 0 0 1px rgba(255,255,255,.04),0 4px 28px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.07) inset;
}
[data-theme="dark"] .card:hover,[data-theme="dark"] .diff-card:hover{
  box-shadow:0 0 0 1px rgba(255,255,255,.06),0 20px 56px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.09) inset;
}
[data-theme="dark"] .card__icon{background:rgba(92,155,255,.12);color:#5C9BFF;}
[data-theme="dark"] .card h3{color:#F5F5F7;}
[data-theme="dark"] .card p{color:#86868B;}

/* Case cards */
[data-theme="dark"] .case-card{
  background:linear-gradient(145deg,rgba(38,38,44,.95),rgba(26,26,30,.9));
  border:1px solid rgba(255,255,255,.07);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 4px 28px rgba(0,0,0,.5);
}
[data-theme="dark"] .case-card:hover{box-shadow:0 20px 56px rgba(0,0,0,.65);}
[data-theme="dark"] .case-card__title{color:#F5F5F7;}
[data-theme="dark"] .case-card__desc{color:#86868B;}

/* Tier / Access */
[data-theme="dark"] .tier,[data-theme="dark"] .access{
  background:linear-gradient(145deg,rgba(38,38,44,.95),rgba(26,26,30,.9));
  border:1px solid rgba(255,255,255,.07);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 4px 28px rgba(0,0,0,.5);
}
[data-theme="dark"] .tier:hover,[data-theme="dark"] .access:hover{
  box-shadow:0 20px 56px rgba(0,0,0,.65);
}
[data-theme="dark"] .tier__name,[data-theme="dark"] .access__name{color:#F5F5F7;}
[data-theme="dark"] .tier__rank,[data-theme="dark"] .access__level{color:#6E6E73;}
[data-theme="dark"] .tier__desc,[data-theme="dark"] .access p{color:#86868B;}
[data-theme="dark"] .tier__list li{color:#C8C8CE;}
[data-theme="dark"] .tier--featured{
  border-color:rgba(92,155,255,.35);
  box-shadow:0 0 0 1px rgba(92,155,255,.15),0 8px 40px rgba(92,155,255,.12);
}
[data-theme="dark"] .tier--featured .tier__name{color:#5C9BFF;}
[data-theme="dark"] .access__link{color:var(--orange);}
[data-theme="dark"] .pillar h3{color:#F5F5F7;}
[data-theme="dark"] .pillar p{color:#86868B;}

/* Features */
[data-theme="dark"] .feature{border-color:rgba(255,255,255,.06);}
[data-theme="dark"] .feature h2{color:#F5F5F7;}
[data-theme="dark"] .feature p{color:#86868B;}
[data-theme="dark"] .feature__list li{color:#86868B;}
[data-theme="dark"] .feature__list li::before{background:#5C9BFF;}
[data-theme="dark"] .feature--dark{background:#1C1C1E;}
[data-theme="dark"] .hero__glow{
  background:radial-gradient(circle at 50% 45%,rgba(92,155,255,.2),transparent 62%);
}

/* Media placeholders */
[data-theme="dark"] .media-ph{
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 12px,transparent 12px 24px),#111113;
  border-color:rgba(255,255,255,.06);
  color:#6E6E73;
}
[data-theme="dark"] .media-ph code{color:#6E6E73;}

/* Tags */
[data-theme="dark"] .tag{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#C8C8CE;}

/* Buttons */
[data-theme="dark"] .btn-ghost{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#F5F5F7;
}
[data-theme="dark"] .btn-ghost:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.22);}
[data-theme="dark"] .btn-text{color:#5C9BFF;}

/* Tab bar */
[data-theme="dark"] .tabbar{background:transparent;}
[data-theme="dark"] .tab{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#6E6E73;
}
[data-theme="dark"] .tab:hover{color:#F5F5F7;border-color:rgba(255,255,255,.2);}
[data-theme="dark"] .tab-ind{
  background:linear-gradient(135deg,rgba(26,109,255,.26),rgba(15,87,214,.2));
  border:1px solid rgba(92,155,255,.22);
  box-shadow:0 0 18px rgba(92,155,255,.16),inset 0 1px 0 rgba(255,255,255,.08);
}
[data-theme="dark"] .has-ind .tab.active{color:#5C9BFF !important;}

/* Service panels */
[data-theme="dark"] .svc2__incl{
  background:linear-gradient(145deg,rgba(38,38,44,.95),rgba(26,26,30,.9));
  border-color:rgba(255,255,255,.07);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
}
[data-theme="dark"] .svc2__why{background:#1C1C1E;}
[data-theme="dark"] .svc2__title{color:#F5F5F7;}
[data-theme="dark"] .svc2__sub,[data-theme="dark"] .svc2__why p{color:#86868B;}
[data-theme="dark"] .svc2__why p b{color:#E8E8ED;}
[data-theme="dark"] .svc2__incl h4,[data-theme="dark"] .svc2__why h4{color:#6E6E73;}
[data-theme="dark"] .inc li{color:#C8C8CE;}
[data-theme="dark"] .inc li svg{color:#5C9BFF;}
[data-theme="dark"] .svc2__bar{background:#1C1C1E;}
[data-theme="dark"] .svc2__price .lbl,[data-theme="dark"] .svc2__price .unit{color:#6E6E73;}
[data-theme="dark"] .svc2__price .val{color:#F5F5F7;}
[data-theme="dark"] .svc2__bar .btn-ghost{
  color:#F5F5F7;border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.07);
}

/* Modal */
[data-theme="dark"] .modal-overlay{background:rgba(0,0,0,.75);}
[data-theme="dark"] .modal{background:#1C1C1E;color:#F5F5F7;}
[data-theme="dark"] .modal__head{
  background:rgba(28,28,30,.97);border-color:rgba(255,255,255,.08);
}
[data-theme="dark"] .modal__head h3{color:#F5F5F7;}
[data-theme="dark"] .modal__head .kick{color:var(--orange);}
[data-theme="dark"] .modal__close{background:rgba(255,255,255,.08);color:#F5F5F7;}
[data-theme="dark"] .modal__close:hover{background:rgba(255,255,255,.14);}
[data-theme="dark"] .dd2-lead{color:#C8C8CE;}
[data-theme="dark"] .dd2-h{color:#5C9BFF;}
[data-theme="dark"] .steps li{border-color:rgba(255,255,255,.07);}
[data-theme="dark"] .steps b{color:#F5F5F7;}
[data-theme="dark"] .steps p{color:#86868B;}
[data-theme="dark"] .steps__n{background:rgba(255,255,255,.08);color:#C8C8CE;}
[data-theme="dark"] .chip{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1);color:#C8C8CE;}
[data-theme="dark"] .dd2-note{color:#6E6E73;}
[data-theme="dark"] .dd2-team{background:rgba(255,255,255,.04);}
[data-theme="dark"] .dd2-team p{color:#86868B;}
[data-theme="dark"] .dd2-team b{color:#F5F5F7;}
[data-theme="dark"] .dd2-price{background:#111113;}
[data-theme="dark"] .dd2-price__lbl{color:#6E6E73;}
[data-theme="dark"] .dd2-price__val{color:#F5F5F7;}
[data-theme="dark"] .dd2-price__val span,[data-theme="dark"] .dd2-price__val2,
[data-theme="dark"] .dd2-price__hint{color:#6E6E73;}

/* Mini form dark */
[data-theme="dark"] .mmf{border-color:rgba(255,255,255,.07);}
[data-theme="dark"] .mmf__title{color:#F5F5F7;}
[data-theme="dark"] .mmf__sub{color:#6E6E73;}
[data-theme="dark"] .mmf-input{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#F5F5F7;
}
[data-theme="dark"] .mmf-input:focus{border-color:#5C9BFF;background:rgba(255,255,255,.09);}
[data-theme="dark"] .mmf-input::placeholder{color:#6E6E73;}
[data-theme="dark"] .mmf-ok{
  background:rgba(92,155,255,.08);border-color:rgba(92,155,255,.2);color:#5C9BFF;
}

/* Forms */
[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .field textarea{
  background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#F5F5F7;
}
[data-theme="dark"] .field input::placeholder,[data-theme="dark"] .field textarea::placeholder{color:#5A5A62;}
[data-theme="dark"] .field label{color:#A1A1A8;}
[data-theme="dark"] .field select option{background:#1C1C1E;color:#F5F5F7;}
[data-theme="dark"] .consent{color:#6E6E73;}
[data-theme="dark"] .cta-form{background:#111113;}

/* Cases */
[data-theme="dark"] .case__name{color:#F5F5F7;}
[data-theme="dark"] .case__tagline{color:#86868B;}
[data-theme="dark"] .case__cat{color:var(--orange);}
[data-theme="dark"] .case-sec h4{color:#5C9BFF;}
[data-theme="dark"] .case-sec p{color:#86868B;}
[data-theme="dark"] .case-sec--econ{background:#1C1C1E;}
[data-theme="dark"] .econ-cell .lbl{color:#6E6E73;}
[data-theme="dark"] .econ-cell .val{color:#C8C8CE;}

/* Svc positioning */
[data-theme="dark"] .svc-positioning{background:#1C1C1E;}
[data-theme="dark"] .svc-positioning h3{color:#F5F5F7;}
[data-theme="dark"] .svc-positioning p{color:#86868B;}
[data-theme="dark"] .svc-vert{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);}
[data-theme="dark"] .svc-vert b{color:#F5F5F7;}
[data-theme="dark"] .svc-vert span{color:#86868B;}
[data-theme="dark"] .svc-vert__icon{background:rgba(92,155,255,.1);color:#5C9BFF;}
[data-theme="dark"] .svc-bar{background:#1C1C1E;}
[data-theme="dark"] .svc-bar p{color:#86868B;}
[data-theme="dark"] .svc-bar p b{color:#C8C8CE;}

/* Spec blocks */
[data-theme="dark"] .spec-block h4{color:#6E6E73;}
[data-theme="dark"] .spec-block li{color:#C8C8CE;}
[data-theme="dark"] .spec-block p{color:#86868B;}
[data-theme="dark"] .spec-block--flags{background:rgba(244,137,30,.06);border-color:rgba(244,137,30,.16);}
[data-theme="dark"] .spec-block--flags h4{color:var(--orange);}
[data-theme="dark"] .spec-block--flags li::before{background:var(--orange);}
[data-theme="dark"] .spec__hook{color:#F5F5F7;}
[data-theme="dark"] .spec__hook .q{color:#5C9BFF;}
[data-theme="dark"] .spec__intro{color:#86868B;}
[data-theme="dark"] .spec__kicker{color:var(--orange);}

/* Footer */
[data-theme="dark"] .footer{background:#111113;border-color:rgba(255,255,255,.06);}
[data-theme="dark"] .footer__col h5{color:#6E6E73;}
[data-theme="dark"] .footer__col a{color:#86868B;}
[data-theme="dark"] .footer__col a:hover{color:#5C9BFF;}
[data-theme="dark"] .footer__brand p{color:#6E6E73;}
[data-theme="dark"] .footer__bottom{color:#6E6E73;border-color:rgba(255,255,255,.06);}
[data-theme="dark"] .footer__bottom .links a:hover{color:#5C9BFF;}

/* Back-to-top dark */
[data-theme="dark"] .back-to-top{
  background:rgba(28,28,30,.95);border-color:rgba(255,255,255,.12);
  color:#F5F5F7;box-shadow:0 4px 20px rgba(0,0,0,.5);
}

/* Cookie dark */
[data-theme="dark"] .cookie-banner{
  background:rgba(18,18,20,.96);border-color:rgba(255,255,255,.08);
}
[data-theme="dark"] .cookie-text{color:#86868B;}
[data-theme="dark"] .cookie-text strong{color:#F5F5F7;}
[data-theme="dark"] .cookie-btn-accept{background:#F5F5F7;color:#0A0A0B;}
[data-theme="dark"] .cookie-btn-accept:hover{background:#fff;}
[data-theme="dark"] .cookie-btn-decline{color:#6E6E73;border-color:rgba(255,255,255,.1);}
[data-theme="dark"] .cookie-btn-decline:hover{background:rgba(255,255,255,.06);}

/* Diff card dark */
[data-theme="dark"] .diff-card h4{color:#F5F5F7;}
[data-theme="dark"] .diff-card p{color:#86868B;}
[data-theme="dark"] .diff-card p b{color:#C8C8CE;}

/* Doc pages */
[data-theme="dark"] .doc h1,[data-theme="dark"] .doc h2{color:#F5F5F7;}
[data-theme="dark"] .doc p,[data-theme="dark"] .doc li{color:#A1A1A8;}
[data-theme="dark"] .doc .updated{color:#6E6E73;}

/* Section head on dark surfaces */
[data-theme="dark"] .section-head .lead{color:#A1A1A8;}

/* Reduced motion guard */
@media(prefers-reduced-motion:reduce){
  .ldr-bolt-fill-clip{animation:none;clip-path:inset(0% 0 0 0);}
  .ldr-name{animation:none;color:rgba(255,255,255,.55);}
}

/* ============================================================
   IMPULSE v3.1 — Scroll Storytelling · Tab Polish
   ============================================================ */

/* ---- Tab tooltip hint ---- */
.tab-tooltip{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:500;color:var(--blue);
  padding:8px 14px;border-radius:999px;margin-bottom:14px;
  background:rgba(26,109,255,.07);border:1px solid rgba(26,109,255,.16);
  opacity:0;transform:translateY(-5px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);
  pointer-events:none;user-select:none;
}
.tab-tooltip.visible{opacity:1;transform:none;}
[data-theme="dark"] .tab-tooltip{
  background:rgba(92,155,255,.1);border-color:rgba(92,155,255,.22);color:#5C9BFF;
}

/* ---- Directional reveals (left/right slide-in) ---- */
.js-anim .reveal[data-reveal-dir="left"]{transform:translateX(-38px) scale(.97);}
.js-anim .reveal[data-reveal-dir="right"]{transform:translateX(38px) scale(.97);}
.js-anim .reveal.in[data-reveal-dir="left"],
.js-anim .reveal.in[data-reveal-dir="right"]{transform:none;}

/* ---- Auto-stagger delays for grid children ---- */
.js-anim .reveal[data-stagger="1"]{transition-delay:90ms;}
.js-anim .reveal[data-stagger="2"]{transition-delay:180ms;}
.js-anim .reveal[data-stagger="3"]{transition-delay:270ms;}
.js-anim .reveal[data-stagger="4"]{transition-delay:360ms;}
.js-anim .reveal[data-stagger="5"]{transition-delay:450ms;}
.js-anim .reveal[data-stagger="6"]{transition-delay:540ms;}

/* ---- Scroll-timeline: decorative parallax (Chrome 115+, Safari 18+) ---- */
@supports (animation-timeline: scroll()) {
  @keyframes heroGlowParallax{to{transform:scale(1.35) translateY(-30px);opacity:.55;}}
  .hero__glow{
    animation:heroGlowParallax linear;
    animation-timeline:scroll(root);
    animation-range:0px 480px;
  }
  @keyframes statsBandIn{from{opacity:.5;transform:translateY(16px);}to{opacity:1;transform:none;}}
  .stats{
    animation:statsBandIn linear both;
    animation-timeline:view();
    animation-range:entry 0% entry 55%;
  }
}

/* ============================================================
   FOUNDER & PHILOSOPHY BLOCK
   ============================================================ */
.founder-layout{
  display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:stretch;
}
.founder-card{
  background:var(--ink);border-radius:var(--radius);
  padding:clamp(36px,5vw,56px);
  display:flex;flex-direction:column;gap:28px;color:#fff;
}
.founder-card__head{display:flex;align-items:center;gap:18px;}
.founder-mono{
  width:60px;height:60px;border-radius:50%;
  background:var(--orange);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:800;color:#fff;flex:none;letter-spacing:-.01em;
  box-shadow:0 4px 20px rgba(244,137,30,.35);
}
.founder-photo-ph{
  width:80px;height:80px;border-radius:50%;flex:none;
  background:rgba(255,255,255,.07);
  border:2px dashed rgba(255,255,255,.22);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;cursor:pointer;
  transition:background .25s ease;
}
.founder-photo-ph svg{color:rgba(255,255,255,.32);}
.founder-photo-ph span{font-size:9px;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.28);text-transform:uppercase;}
.founder-photo-ph:hover{background:rgba(255,255,255,.12);}
.founder-kicker{
  font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--orange);margin:0 0 4px;
}
.founder-name-line{
  font-size:22px;font-weight:800;letter-spacing:-.02em;color:#fff;margin:0;
}
.founder-quote{
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  font-style:italic;font-weight:500;
  margin:0;padding-left:22px;
  border-left:3px solid rgba(244,137,30,.5);
  font-size:clamp(20px,2vw,26px);line-height:1.58;
  color:#C8C8CE;flex:1;
}
.founder-phil{
  background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);padding:clamp(32px,4vw,48px);
  display:flex;flex-direction:column;gap:16px;
}
.founder-phil>.eyebrow{margin-bottom:0;}
.founder-phil__intro{
  font-size:15px;line-height:1.65;color:var(--gray);
  font-style:italic;margin:0;padding:16px 18px;
  background:var(--surface);border-radius:12px;
}
.founder-pillars{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;}
.founder-pillar{
  background:var(--surface);border-radius:14px;padding:20px;
}
.fpillar-n{
  display:block;font-size:11px;font-weight:700;
  letter-spacing:.1em;color:var(--orange);margin-bottom:10px;
}
.fpillar-h{
  font-size:15px;font-weight:700;letter-spacing:-.01em;
  margin:0 0 8px;line-height:1.3;color:var(--ink);
}
.fpillar-p{font-size:13.5px;color:var(--gray);line-height:1.55;margin:0;}

/* founder dark */
[data-theme="dark"] .founder-phil{
  background:linear-gradient(145deg,rgba(38,38,44,.95),rgba(26,26,30,.9));
  border-color:rgba(255,255,255,.07);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
}
[data-theme="dark"] .founder-phil__intro{background:rgba(255,255,255,.04);color:#86868B;}
[data-theme="dark"] .founder-pillar{background:rgba(255,255,255,.04);}
[data-theme="dark"] .fpillar-h{color:#F5F5F7;}
[data-theme="dark"] .fpillar-p{color:#86868B;}

/* founder responsive */
@media(max-width:900px){
  .founder-layout{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .founder-pillars{grid-template-columns:1fr;}
}

/* ============================================================
   GLOBAL MOBILE POLISH
   ============================================================ */
html,body{overflow-x:hidden;}

@media(max-width:560px){
  .btn-lg{width:100%;justify-content:center;text-align:center;}
  .tags{flex-wrap:wrap;gap:6px;}
  .section-head{max-width:100%;}
  .hero .lead{max-width:100%;}
  .cta-form{padding:clamp(28px,7vw,48px);}
  .cta-form .contacts a,.cta-form .contacts span{font-size:14px;}
}

/* ============================================================
   IMPULSE TRAVEL — Expeditions Page
   ============================================================ */

/* Hero cinematic */
.exp-hero{
  min-height:90vh;padding-top:var(--nav-h);
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
}
.exp-hero__media{
  position:absolute;inset:0;z-index:0;
}
.exp-hero__media .media-ph{
  width:100%;height:100%;border-radius:0;border:none;
}
.exp-hero__overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom,rgba(10,10,11,.18) 0%,rgba(10,10,11,.12) 35%,rgba(10,10,11,.72) 72%,rgba(10,10,11,.96) 100%);
}
.exp-hero__content{
  position:relative;z-index:2;margin-top:auto;
  padding-bottom:clamp(56px,9vw,100px);
}
.exp-hero__kicker{
  display:block;font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange);margin-bottom:22px;
}
.exp-hero__h1{
  font-size:clamp(48px,9.5vw,112px);font-weight:800;
  letter-spacing:-.04em;line-height:.92;
  color:#fff;margin:0 0 28px;max-width:14ch;
}
.exp-hero__sub{
  color:rgba(255,255,255,.70);font-size:clamp(17px,2vw,21px);
  line-height:1.55;max-width:54ch;margin-bottom:40px;
}

/* Format cards */
.format-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.format-card{
  background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);padding:28px 22px 22px;
  display:flex;flex-direction:column;
  box-shadow:var(--shadow);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.format-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.format-card__icon{
  width:44px;height:44px;border-radius:12px;
  background:rgba(244,137,30,.08);
  display:flex;align-items:center;justify-content:center;
  color:var(--orange);margin-bottom:20px;flex:none;
}
.format-card__tag{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-bottom:8px;}
.format-card__name{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:0 0 10px;}
.format-card__desc{font-size:14px;color:var(--gray);line-height:1.5;flex:1;margin-bottom:24px;}
.format-card__footer{
  margin-top:auto;padding-top:18px;
  border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
}
.format-card__price{font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.02em;}
.format-card__price span{font-size:12px;font-weight:500;color:var(--gray);}
.format-card--flagship{background:var(--ink);border-color:transparent;}
.format-card--flagship .format-card__name,.format-card--flagship .format-card__price{color:#F5F5F7;}
.format-card--flagship .format-card__desc{color:#86868B;}
.format-card--flagship .format-card__footer{border-color:rgba(255,255,255,.1);}
.format-card--flagship .format-card__price span{color:#6E6E73;}
.format-card--flagship .format-card__icon{background:rgba(244,137,30,.15);}

/* Included / Not included */
.incl-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.incl-col{border-radius:var(--radius);padding:clamp(28px,4vw,44px);}
.incl-col--yes{background:var(--surface);}
.incl-col--no{background:var(--white);border:1px solid var(--line);}
.incl-col h3{font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:22px;}
.incl-col--no h3{color:var(--gray-2);}
.incl-list{display:flex;flex-direction:column;gap:12px;padding:0;margin:0;}
.incl-item{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink);line-height:1.45;list-style:none;}
.incl-icon{
  flex:none;width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.incl-icon--yes{background:rgba(26,109,255,.1);color:var(--blue);}
.incl-icon--no{background:rgba(110,110,115,.08);color:var(--gray-2);}

/* Timeline */
.exp-timeline{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  position:relative;
}
.exp-timeline::before{
  content:"";position:absolute;top:23px;
  left:calc(12.5% + 12px);right:calc(12.5% + 12px);
  height:2px;background:var(--line);
}
.exp-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 16px;}
.exp-step__dot{
  width:48px;height:48px;border-radius:50%;
  background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;
  margin-bottom:20px;position:relative;z-index:1;flex:none;
  box-shadow:0 0 0 6px var(--white);
}
.exp-step__n{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--orange);margin-bottom:8px;text-transform:uppercase;}
.exp-step h4{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin-bottom:8px;}
.exp-step p{font-size:14px;color:var(--gray);line-height:1.5;}

/* Gallery */
.exp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.exp-gal-item{border-radius:16px;overflow:hidden;}
.exp-gal-item .media-ph{height:100%;border-radius:0;border:none;}
.exp-gal-item:nth-child(1){grid-column:span 2;aspect-ratio:16/9;}
.exp-gal-item:nth-child(2){aspect-ratio:3/4;}
.exp-gal-item:nth-child(3),.exp-gal-item:nth-child(4),.exp-gal-item:nth-child(5){aspect-ratio:4/3;}
.exp-gal-item:nth-child(6){grid-column:span 3;aspect-ratio:21/8;}

/* Partner benefits */
.travel-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.tb-card{
  background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);padding:32px 28px;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.tb-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.tb-card__level{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--gray-2);margin-bottom:12px;text-transform:uppercase;}
.tb-card__perk{font-size:19px;font-weight:700;letter-spacing:-.015em;color:var(--ink);line-height:1.3;}
.tb-card--dark{background:var(--ink);border-color:transparent;}
.tb-card--dark .tb-card__level{color:#6E6E73;}
.tb-card--dark .tb-card__perk{color:#5C9BFF;}

/* Travel dark mode */
[data-theme="dark"] .format-card{background:linear-gradient(145deg,rgba(38,38,44,.95),rgba(26,26,30,.9));border-color:rgba(255,255,255,.07);}
[data-theme="dark"] .format-card__name{color:#F5F5F7;}
[data-theme="dark"] .format-card__desc{color:#86868B;}
[data-theme="dark"] .format-card__price{color:#F5F5F7;}
[data-theme="dark"] .format-card__footer{border-color:rgba(255,255,255,.07);}
[data-theme="dark"] .format-card--flagship{background:#1C1C1E;}
[data-theme="dark"] .incl-col--yes{background:#1C1C1E;}
[data-theme="dark"] .incl-col--no{background:rgba(38,38,44,.95);border-color:rgba(255,255,255,.07);}
[data-theme="dark"] .incl-col h3{color:#F5F5F7;}
[data-theme="dark"] .incl-col--no h3{color:#6E6E73;}
[data-theme="dark"] .incl-item{color:#A1A1A8;}
[data-theme="dark"] .exp-step h4{color:#F5F5F7;}
[data-theme="dark"] .exp-step p{color:#86868B;}
[data-theme="dark"] .exp-step__dot{background:#E8E8ED;color:#0A0A0B;box-shadow:0 0 0 6px #0A0A0B;}
[data-theme="dark"] .exp-timeline::before{background:rgba(255,255,255,.07);}
[data-theme="dark"] .tb-card{background:rgba(38,38,44,.95);border-color:rgba(255,255,255,.07);}
[data-theme="dark"] .tb-card__perk{color:#F5F5F7;}
[data-theme="dark"] .tb-card--dark{background:rgba(92,155,255,.08);border-color:rgba(92,155,255,.2);}
[data-theme="dark"] .tb-card--dark .tb-card__perk{color:#5C9BFF;}

/* Travel responsive */
@media(max-width:900px){
  .format-grid{grid-template-columns:repeat(2,1fr);}
  .incl-grid{grid-template-columns:1fr;}
  .exp-timeline{grid-template-columns:repeat(2,1fr);gap:36px;}
  .exp-timeline::before{display:none;}
  .exp-step{align-items:flex-start;text-align:left;}
  .travel-benefits{grid-template-columns:1fr;}
  .exp-gallery{grid-template-columns:1fr 1fr;}
  .exp-gal-item:nth-child(6){grid-column:span 2;aspect-ratio:16/6;}
}
@media(max-width:560px){
  .format-grid{grid-template-columns:1fr;}
  .exp-timeline{grid-template-columns:1fr;}
  .exp-hero__h1{font-size:clamp(42px,13vw,72px);}
  .exp-gallery{grid-template-columns:1fr;}
  .exp-gal-item:nth-child(1),.exp-gal-item:nth-child(2),.exp-gal-item:nth-child(6){grid-column:span 1;aspect-ratio:4/3;}
}

/* ============================================================
   IMPULSE v4 — BOLD REDESIGN
   3D lightning hero · guiding energy conductor · display type
   Dark-first. Energy = #F4891E used as sparks, never flat fill.
   ============================================================ */

:root{
  --energy:#F4891E;
  --energy-2:#FFD54A;
  --energy-glow:rgba(244,137,30,.55);
}

/* ---- Display / bold typography helpers ---- */
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--energy);margin-bottom:22px;
}
.kicker::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--energy);box-shadow:0 0 10px 1px var(--energy-glow);
}
.h2--display{
  font-size:clamp(34px,5.2vw,66px);font-weight:800;
  letter-spacing:-.035em;line-height:1.0;text-wrap:balance;
}
.section-head--xl{max-width:900px;margin-bottom:clamp(44px,5.5vw,76px);}
.section-head--xl .lead{margin-top:22px;font-size:clamp(18px,2.1vw,22px);}
.em-energy{color:var(--energy);}
.em-thin{font-weight:300;letter-spacing:-.02em;}

/* ---- Guiding energy conductor (fixed scroll trace) ---- */
.conductor{
  position:fixed;z-index:40;pointer-events:none;
  top:calc(var(--nav-h) + 18px);bottom:26px;
  left:max(20px,calc((100vw - var(--container))/2 - 30px));
  width:2px;
}
.conductor__track{position:absolute;inset:0;background:rgba(0,0,0,.07);border-radius:2px;}
.conductor__fill{
  position:absolute;left:0;right:0;top:0;height:100%;
  transform-origin:top;transform:scaleY(0);
  background:linear-gradient(180deg,
    rgba(244,137,30,0) 0%,var(--energy) 10%,var(--energy-2) 50%,var(--energy) 90%,rgba(244,137,30,0) 100%);
  border-radius:2px;box-shadow:0 0 14px var(--energy-glow);
  will-change:transform;
}
.conductor__spark{
  position:absolute;left:50%;top:0;width:11px;height:11px;border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,#FFF1CC 0%,var(--energy-2) 40%,var(--energy) 75%,transparent 100%);
  box-shadow:0 0 18px 5px var(--energy-glow);
  opacity:0;transition:opacity .45s var(--ease);will-change:top;
}
.conductor.is-charging .conductor__spark{opacity:1;}
[data-theme="dark"] .conductor__track{background:rgba(255,255,255,.07);}
@media(max-width:1180px){.conductor{display:none;}}

/* ============================================================
   HERO v4 — 3D lightning
   ============================================================ */
.hero--v4{
  position:relative;overflow:hidden;
  padding-top:calc(var(--nav-h) + 48px);
  padding-bottom:clamp(36px,6vw,84px);
  min-height:94vh;display:flex;align-items:center;
}
.hero--v4 .hero__grid{
  width:100%;min-height:0;
  grid-template-columns:1.04fr .96fr;align-items:center;
  gap:clamp(32px,5vw,64px);
}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:11px;
  font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gray);margin-bottom:28px;max-width:none;
}
[data-theme="dark"] .hero__eyebrow{color:#9A9AA1;}
.spark-dot{
  width:9px;height:9px;border-radius:50%;flex:none;
  background:var(--energy);box-shadow:0 0 13px 2px var(--energy-glow);
  animation:sparkPulse 2.6s var(--ease) infinite;
}
@keyframes sparkPulse{0%,100%{opacity:.45;transform:scale(.82);}50%{opacity:1;transform:scale(1.18);}}

.hero__title{
  font-size:clamp(46px,7.4vw,98px);line-height:.96;
  letter-spacing:-.035em;margin-bottom:30px;text-wrap:balance;font-weight:800;
}
.hero__title .t-thin{
  display:block;font-weight:300;font-size:.66em;letter-spacing:-.025em;
  color:var(--ink);margin-bottom:.06em;
}
[data-theme="dark"] .hero__title .t-thin{color:#F5F5F7;}
.hero__title .t-em{
  display:block;font-weight:900;letter-spacing:-.045em;
  background:linear-gradient(98deg,#FFCF5C 0%,var(--energy) 42%,#F4731E 72%,#FFB347 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 6px 34px rgba(244,137,30,.28));
  padding-bottom:.04em;
}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px;}

/* 3D bolt stage */
.hero__visual{position:relative;}
.hero__bolt{
  position:relative;width:100%;max-width:540px;margin-inline:auto;
  aspect-ratio:1/1.08;
}
.hero__bolt-glow{
  position:absolute;inset:-12% -8% -8%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 52% 46%,rgba(244,137,30,.16),rgba(244,137,30,.05) 50%,transparent 74%);
  filter:blur(16px);
}
[data-theme="dark"] .hero__bolt-glow{
  background:radial-gradient(circle at 52% 46%,rgba(244,137,30,.34),rgba(26,109,255,.12) 44%,transparent 68%);
}
.hero__bolt canvas{position:relative;z-index:1;display:block;width:100%;height:100%;
  cursor:grab;}
.hero__bolt canvas:active{cursor:grabbing;}

/* static fallback (no webgl / reduced motion / mobile) */
.hero__bolt-fallback{
  position:absolute;inset:0;z-index:1;display:none;
  align-items:center;justify-content:center;
}
.hero__bolt[data-static] canvas{display:none;}
.hero__bolt[data-static] .hero__bolt-fallback{display:flex;}
.hero__bolt-fallback svg{width:62%;height:auto;
  filter:drop-shadow(0 18px 40px rgba(244,137,30,.4));}

/* scroll cue */
.hero__cue{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);
  display:inline-flex;flex-direction:column;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gray-2);pointer-events:auto;
}
.hero__cue .mouse{
  width:22px;height:34px;border-radius:12px;border:1.6px solid currentColor;
  position:relative;opacity:.7;
}
.hero__cue .mouse::after{
  content:"";position:absolute;left:50%;top:7px;transform:translateX(-50%);
  width:3px;height:6px;border-radius:2px;background:var(--energy);
  animation:cueScroll 1.7s var(--ease) infinite;
}
@keyframes cueScroll{0%{opacity:0;transform:translate(-50%,0);}30%{opacity:1;}100%{opacity:0;transform:translate(-50%,10px);}}

@media(max-width:900px){
  .hero--v4{min-height:0;padding-top:calc(var(--nav-h) + 28px);}
  .hero--v4 .hero__grid{grid-template-columns:1fr;}
  .hero__visual{order:-1;}
  .hero__bolt{max-width:300px;}
  .hero__cue{display:none;}
  .hero__mascot-stage{max-width:260px !important;}
  .hero__mascot-spark{display:none;}
}

/* ---- Energy section header rule (thin glowing divider) ---- */
.energy-rule{
  height:1px;border:none;margin:0;
  background:linear-gradient(90deg,var(--energy),rgba(244,137,30,0) 60%);
  position:relative;
}

/* ---- Cases: make teaser section feel like the social-proof anchor ---- */
.cases-lead-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:clamp(40px,5vw,60px);}
.cases-lead-row .section-head--xl{margin-bottom:0;}

/* ---- Travel band energy accent ---- */
.feature--dark{position:relative;overflow:hidden;}
.feature--dark .feature__num{color:var(--energy);}
.feature--dark::before{display:none;}

/* ---- Synergy mini band ---- */
.synergy{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
  padding:clamp(28px,4vw,40px) clamp(28px,4vw,48px);
  border:1px solid var(--line);border-radius:var(--radius);
  background:var(--surface);
}
.synergy h3{font-size:clamp(20px,2.4vw,28px);font-weight:800;letter-spacing:-.02em;margin-bottom:8px;}
.synergy p{color:var(--gray);font-size:16px;max-width:52ch;line-height:1.55;}
[data-theme="dark"] .synergy{background:#1C1C1E;border-color:rgba(255,255,255,.07);}
[data-theme="dark"] .synergy h3{color:#F5F5F7;}
[data-theme="dark"] .synergy p{color:#86868B;}

/* reduced motion: kill bolt/spark pulses */
@media(prefers-reduced-motion:reduce){
  .spark-dot,.hero__cue .mouse::after{animation:none;}
}

/* ============================================================
   IMPULSE v5 — Chrome mascot hero · editorial founder · mobile-first
   ============================================================ */

/* ---- Hero chrome mascot ---- */
.hero__mascot-stage{
  position:relative;width:100%;max-width:480px;margin-inline:auto;
  aspect-ratio:1/1.12;display:flex;align-items:center;justify-content:center;
  perspective:900px;
}
.hero__mascot-stage .hero__bolt-glow{inset:-6% -10% -2%;}
.hero__mascot{
  position:relative;z-index:1;width:min(74%,350px);height:auto;
  transform-style:preserve-3d;
  filter:drop-shadow(0 24px 44px rgba(0,0,0,.38)) drop-shadow(0 0 32px rgba(244,137,30,.11));
  will-change:transform;
}
[data-theme="dark"] .hero__mascot{
  filter:drop-shadow(0 34px 70px rgba(0,0,0,.7)) drop-shadow(0 0 56px rgba(244,137,30,.22));
}
.hero__mascot-spark{
  position:absolute;left:50%;top:43%;width:min(56%,250px);height:min(56%,250px);
  transform:translate(-50%,-50%);z-index:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(244,137,30,.22),rgba(244,137,30,.06) 45%,transparent 72%);
  filter:blur(18px);opacity:.6;
  animation:sparkPulse 3.5s ease-in-out infinite;
}
@keyframes sparkPulse{0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(1);}50%{opacity:.75;transform:translate(-50%,-50%) scale(1.08);}}
@media(max-width:900px){
  .hero__mascot-stage{max-width:300px;aspect-ratio:1/1.08;}
  .hero__mascot{width:min(70%,220px) !important;}
}
@media(prefers-reduced-motion:reduce){
  .hero__mascot{transform:none !important;}
}

/* ---- Editorial founder block ---- */
.founder2{
  display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(28px,4vw,56px);align-items:stretch;
}
.founder2__photo{position:relative;border-radius:var(--radius);overflow:hidden;}
.founder2__photo-ph,
.founder2__photo img{
  width:100%;height:100%;min-height:420px;object-fit:cover;border-radius:var(--radius);display:block;
}
.founder2__photo-ph{
  background:
    radial-gradient(120% 80% at 50% 0%,rgba(244,137,30,.10),transparent 60%),
    repeating-linear-gradient(45deg,rgba(0,0,0,.025) 0 12px,transparent 12px 24px),
    var(--surface);
  border:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  color:var(--gray-2);text-align:center;padding:24px;
}
.founder2__photo-ph span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;max-width:24ch;line-height:1.6;}
.founder2__body{display:flex;flex-direction:column;justify-content:center;}
.founder2__role{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--energy);margin-bottom:10px;}
.founder2__name{font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:26px;}
.founder2__quote{
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;
  font-size:clamp(23px,3vw,36px);line-height:1.34;letter-spacing:-.01em;
  color:var(--ink);margin:0 0 34px;padding-left:24px;border-left:3px solid var(--energy);
}
.founder2__lead{font-size:clamp(16px,1.8vw,18px);line-height:1.65;color:var(--gray);max-width:54ch;}
[data-theme="dark"] .founder2__name,[data-theme="dark"] .founder2__quote{color:#F5F5F7;}
[data-theme="dark"] .founder2__lead{color:#86868B;}
[data-theme="dark"] .founder2__photo-ph{
  background:radial-gradient(120% 80% at 50% 0%,rgba(244,137,30,.14),transparent 60%),repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 12px,transparent 12px 24px),#111113;
  border-color:rgba(255,255,255,.07);color:#6E6E73;
}

/* ---- Philosophy editorial band along the guiding strip ---- */
.phil-band{
  margin-top:clamp(28px,4vw,48px);border-top:1px solid var(--line);
  padding-top:clamp(28px,4vw,44px);
  display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start;
}
.phil-band__quote{
  position:relative;padding-left:26px;
  font-size:clamp(22px,2.9vw,34px);font-weight:800;letter-spacing:-.025em;line-height:1.18;
  color:var(--ink);text-wrap:balance;
}
.phil-band__quote::before{
  content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;
  background:linear-gradient(180deg,var(--energy),rgba(244,137,30,0));
}
[data-theme="dark"] .phil-band__quote{color:#F5F5F7;}
[data-theme="dark"] .phil-band{border-color:rgba(255,255,255,.08);}
.phil-band__theses{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.phil-thesis__n{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--energy);margin-bottom:10px;}
.phil-thesis p{font-size:15px;line-height:1.6;color:var(--gray);margin:0;}
[data-theme="dark"] .phil-thesis p{color:#86868B;}

@media(max-width:900px){
  .founder2{grid-template-columns:1fr;}
  .founder2__photo-ph,.founder2__photo img{min-height:300px;}
  .phil-band{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .phil-band__theses{grid-template-columns:1fr;}
}

/* ---- Expeditions: intro lead + philosophy editorial ---- */
.exp-intro-lead{
  font-size:clamp(20px,2.6vw,30px);line-height:1.4;letter-spacing:-.015em;
  color:var(--ink);font-weight:500;text-wrap:pretty;
}
[data-theme="dark"] .exp-intro-lead{color:#E8E8ED;}
.exp-phil{columns:2;column-gap:clamp(32px,4vw,56px);max-width:980px;}
.exp-phil p{font-size:clamp(16px,1.8vw,18px);line-height:1.7;color:var(--gray);margin:0 0 18px;break-inside:avoid;}
.exp-phil p:last-child{margin-bottom:0;}
[data-theme="dark"] .exp-phil p{color:#86868B;}
@media(max-width:760px){.exp-phil{columns:1;}}

/* ---- conductor: always visible ---- */
.conductor{display:block !important;}

/* ---- cookie banner ---- */
.cookie-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:200;
  padding:14px 20px;
  background:rgba(18,18,20,.92);
  backdrop-filter:saturate(180%) blur(22px);
  -webkit-backdrop-filter:saturate(180%) blur(22px);
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  transform:translateY(100%);transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.cookie-bar.show{transform:translateY(0);}
.cookie-bar__text{font-size:14px;color:#C8C8CE;line-height:1.5;max-width:62ch;}
.cookie-bar__text a{color:var(--orange);text-decoration:underline;}
.cookie-bar__actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-bar .btn{padding:10px 20px;font-size:14px;border-radius:10px;}
.cookie-bar .btn-primary{background:var(--orange);}
.cookie-bar .btn-primary:hover{background:#e07a10;}
.cookie-bar .btn-ghost{color:#C8C8CE;border-color:rgba(255,255,255,.18);}

/* ---- P0 mobile hardening ---- */
@media(max-width:560px){
  .feature__media{min-height:0;}
  .hero__title .t-em{filter:drop-shadow(0 4px 18px rgba(244,137,30,.22));}
  .feature--dark{padding:clamp(28px,5vw,48px) clamp(20px,4vw,40px);}
}

/* ---- Exp timeline animated scroll-fill ---- */
.exp-timeline{
  position:relative;display:grid;
  grid-template-columns:repeat(4,1fr);gap:32px;
}
.exp-timeline::before{
  content:"";position:absolute;top:22px;left:calc(12.5% - 1px);right:calc(12.5% - 1px);
  height:2px;background:var(--line);z-index:0;
}
.exp-timeline__fill{
  position:absolute;top:22px;left:calc(12.5% - 1px);width:0;
  height:2px;background:var(--orange);z-index:1;
  transition:width .6s var(--ease);
}
.exp-step{position:relative;z-index:2;}
.exp-step__dot{
  width:44px;height:44px;border-radius:50%;border:2px solid var(--line);
  background:var(--white);display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;color:var(--gray-2);margin-bottom:18px;
  transition:border-color .4s,color .4s,background .4s;
}
.exp-step.active .exp-step__dot{border-color:var(--orange);color:var(--orange);background:rgba(244,137,30,.08);}
.exp-step h4{font-size:16px;font-weight:700;margin-bottom:8px;}
.exp-step p{font-size:14px;color:var(--gray);line-height:1.55;}
@media(max-width:760px){
  .exp-timeline{grid-template-columns:1fr;gap:0;}
  .exp-timeline::before{top:0;bottom:0;left:22px;right:auto;width:2px;height:auto;}
  .exp-timeline__fill{top:0;left:22px;width:2px;height:0;transition:height .6s var(--ease);}
  .exp-step{display:flex;gap:20px;padding:20px 0;border-bottom:none;align-items:flex-start;}
  .exp-step__dot{flex:none;margin-bottom:0;}
  .exp-step__body{flex:1;}
}


/* ============================================================
   P0 — Mobile hero: mascot fully inside viewport, correct order
   ============================================================ */
@media(max-width:900px){
  /* Prevent hero from clipping mascot at top */
  .hero--v4{overflow:visible;}
  /* Let body clip horizontal overflow safely */
  body{overflow-x:clip;}

  /* Stage: drop forced aspect-ratio, use explicit height */
  .hero__mascot-stage{
    max-width:min(62vw,230px) !important;
    height:min(56vw,310px) !important;
    aspect-ratio:unset !important;
    overflow:visible;
  }
  /* Mascot: fill stage height, auto width preserves ratio */
  .hero__mascot{
    width:auto !important;
    height:100% !important;
    max-height:100% !important;
    max-width:none !important;
  }
  /* Stack: visual (mascot) → copy (eyebrow/h1/lead/btn) */
  .hero--v4 .hero__visual{
    order:-1;
    display:flex;
    justify-content:center;
    margin-bottom:8px;
    margin-top:0;
  }
  .hero--v4 .hero__copy{order:1;}

  /* Conductor: always visible even on small screens */
  .conductor{display:block !important;}
}

/* Extra small: tighter mascot */
@media(max-width:430px){
  .hero__mascot-stage{
    max-width:min(58vw,200px) !important;
    height:min(52vw,280px) !important;
  }
}

/* ============================================================
   P2 — Softer mascot glow + hover activation + mobile lightning
   ============================================================ */
/* Subtler resting glow */
.hero__bolt-glow{
  background:radial-gradient(ellipse at 52% 46%,rgba(244,137,30,.10),rgba(244,137,30,.03) 48%,transparent 72%) !important;
  filter:blur(22px) !important;
}
[data-theme="dark"] .hero__bolt-glow{
  background:radial-gradient(circle at 52% 46%,rgba(244,137,30,.20),rgba(26,109,255,.07) 44%,transparent 66%) !important;
}

/* Hover: glow intensifies */
.hero__mascot-stage:hover .hero__bolt-glow{
  background:radial-gradient(ellipse at 52% 46%,rgba(244,137,30,.26),rgba(244,137,30,.09) 48%,transparent 72%) !important;
  transition:background .55s ease;
}
[data-theme="dark"] .hero__mascot-stage:hover .hero__bolt-glow{
  background:radial-gradient(circle at 52% 46%,rgba(244,137,30,.42),rgba(26,109,255,.16) 44%,transparent 66%) !important;
}

/* Mobile chest lightning: subtle animated glow on mascot */
@media(max-width:900px){
  .hero__mascot-spark{
    display:block !important;
    width:min(44%,130px) !important;
    height:min(44%,130px) !important;
    top:38% !important;
    background:radial-gradient(circle,rgba(244,137,30,.28),rgba(244,137,30,.08) 48%,transparent 72%) !important;
    filter:blur(12px) !important;
    animation:chestGlow 3.2s ease-in-out infinite !important;
  }
}
@keyframes chestGlow{
  0%,100%{opacity:.35;transform:translate(-50%,-50%) scale(.92);}
  50%{opacity:.72;transform:translate(-50%,-50%) scale(1.12);}
}

/* ============================================================
   P4 — Expeditions: remove any yellow tint from travel blocks
   ============================================================ */
/* No yellow overflow from conductor onto travel sections */
.exp-hero,
.feature--dark{
  isolation:isolate;
}
/* Ensure feature--dark travel block has clean dark bg, no energy leak */
.feature--dark{
  background:var(--ink) !important;
  background-image:none !important;
}
/* Energy glow on hero: clip it so it can't bleed downward */
.hero--v4{
  isolation:isolate;
}

/* ============================================================
   P0 — Burger menu: stronger frosted glass, no item shadow
   ============================================================ */
.mobile-menu a:not(.btn){
  box-shadow:none !important;
}
.mobile-menu{
  background:rgba(10,10,12,.82) !important;
  backdrop-filter:saturate(200%) blur(40px) !important;
  -webkit-backdrop-filter:saturate(200%) blur(40px) !important;
}

/* ============================================================
   P3 — IMPULSE TRAVEL hero media: much bigger
   ============================================================ */
.feature__media--hero{
  aspect-ratio:3/5;
  min-height:480px;
}
@media(max-width:900px){
  .feature__media--hero{
    min-height:320px;
    aspect-ratio:4/3;
  }
}


/* ============================================================
   TIMELINE — hide line, dots-only activation
   ============================================================ */
.exp-timeline::before,
.exp-timeline__fill,
[data-theme="dark"] .exp-timeline::before{display:none !important;}

/* ============================================================
   MOBILE HERO — bigger h1
   ============================================================ */
@media(max-width:900px){
  .hero__title{font-size:clamp(62px,17vw,90px) !important;}
  .hero__title .t-thin{font-size:.58em;}
}
@media(max-width:560px){
  .hero__title{font-size:clamp(54px,15vw,78px) !important;}
}

/* ============================================================
   BURGER MENU — 20% opacity background
   ============================================================ */
.mobile-menu{
  background:rgba(10,10,12,.20) !important;
  backdrop-filter:saturate(180%) blur(52px) !important;
  -webkit-backdrop-filter:saturate(180%) blur(52px) !important;
}

/* ============================================================
   FORMAT GALLERY CARDS (expeditions.html)
   ============================================================ */
.fgal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.fgal-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.fgal-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.fgal-card__img{position:relative;aspect-ratio:4/3;overflow:hidden;}
.fgal-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);display:block;}
.fgal-card:hover .fgal-card__img img{transform:scale(1.04);}
.fgal-card__badge{
  position:absolute;top:14px;left:14px;
  background:rgba(10,10,12,.68);color:#fff;
  font-size:12px;font-weight:600;padding:5px 11px;
  border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  letter-spacing:.02em;
}
.fgal-card__body{padding:20px 24px 24px;display:flex;flex-direction:column;flex:1;}
.fgal-card__name{font-size:19px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;color:var(--ink);}
.fgal-card__brief{font-size:14px;color:var(--gray);line-height:1.5;margin-bottom:16px;flex:1;}
.fgal-card__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;}
.fgal-card__price{font-size:15px;font-weight:700;color:var(--ink);}
.fgal-per{font-weight:400;color:var(--gray);font-size:13px;}
.fgal-card--flagship{border-color:rgba(26,109,255,.35);box-shadow:0 6px 32px rgba(26,109,255,.08);}
[data-theme="dark"] .fgal-card{background:rgba(24,24,28,.92);border-color:rgba(255,255,255,.1);}
[data-theme="dark"] .fgal-card__name{color:#F5F5F7;}
[data-theme="dark"] .fgal-card__price{color:#F5F5F7;}
@media(max-width:640px){.fgal-grid{grid-template-columns:1fr;}}

/* ============================================================
   PHILOSOPHY SECTION — trekking photo background
   ============================================================ */
.exp-phil-section{position:relative;overflow:hidden;padding-block:clamp(72px,10vw,140px);}
.exp-phil-bg{position:absolute;inset:0;z-index:0;}
.exp-phil-bg img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 40%;}
.exp-phil-bg__overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(10,10,12,.75) 0%,rgba(10,10,12,.88) 100%);}

/* ============================================================
   EXP-HERO — H1 mobile fix + stronger overlay for readability
   ============================================================ */
@media(max-width:600px){
  .exp-hero__h1{
    font-size:clamp(30px,9vw,50px) !important;
    overflow-wrap:anywhere;
    word-break:break-word;
    hyphens:auto;
  }
}
/* Darker overlay on exp hero for readability */
.exp-hero__overlay{
  background:linear-gradient(to bottom,rgba(5,5,8,.35) 0%,rgba(5,5,8,.60) 55%,rgba(5,5,8,.88) 100%) !important;
}

/* ============================================================
   TRAVEL MEDIA on mobile — full width, no crop
   ============================================================ */
@media(max-width:900px){
  .feature__media--hero{
    aspect-ratio:unset !important;
    width:100% !important;
    min-height:56vw !important;
    max-height:320px;
  }
  .feature__media--hero img{
    object-position:center center;
    max-height:320px;
  }
}
