:root{
  --pink:#ED196D;
  --pad:clamp(24px,3.5vw,56px);
  --ink:#070707;
  --ink2:#0e0e0e;
  --panel:#121212;
  --cream:#EBE5D1;
  --paper:#f3f1ea;
  --muted:#8d8d8d;
  --line:rgba(255,255,255,.10);
  --font-display:'Etna','Aaux Pro',system-ui,-apple-system,sans-serif;
  --font-body:'Aaux Pro',system-ui,-apple-system,sans-serif;
  --font-med:'Aaux Pro',system-ui,-apple-system,sans-serif;
  --maxw:1280px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}
p{font-family:'Aaux Pro',system-ui,-apple-system,sans-serif}
body.no-scroll{overflow:hidden}
body.intro-lock{overflow:hidden;height:100vh}

/* INTRO, transparent layer over the hero globe */
#intro{position:fixed;inset:0;z-index:200;background:radial-gradient(70% 70% at 50% 50%,rgba(5,5,5,0) 40%,rgba(5,5,5,.55) 100%);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .9s ease;opacity:1}
#intro.gone{opacity:0;pointer-events:none}
.intro-content{position:relative;z-index:2;text-align:center;pointer-events:none;mix-blend-mode:difference}
.intro-elephant{position:absolute;left:50%;bottom:40px;width:19px;height:auto;z-index:3;opacity:.9;mix-blend-mode:normal;filter:drop-shadow(0 0 10px rgba(237,25,109,.45));animation:introFloat 4s ease-in-out infinite}
@keyframes introFloat{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-6px)}}
@media(prefers-reduced-motion:reduce){.intro-elephant{animation:none;transform:translateX(-50%)}}
/* hide chrome while the globe is on screen */
body.intro-active header.nav{opacity:0;pointer-events:none}
body.intro-active .hero .wrap,body.intro-active .hero .hint{opacity:0}
header.nav,.hero .wrap,.hero .hint{transition:opacity .9s ease}
.intro-content h2{font-size:clamp(28px,5.2vw,72px);text-transform:uppercase;line-height:1.18;letter-spacing:0;color:#fff}
.intro-content h2 .pink{color:var(--pink);-webkit-text-fill-color:var(--pink)}
.intro-hint{margin-top:30px;font-family:var(--font-med);font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:#9a9a9a;animation:fade 2.4s ease-in-out infinite}
@keyframes fade{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.intro-hint{animation:none}}
a{color:inherit;text-decoration:none}
.wrap{max-width:none;margin:0;padding:0 var(--pad)}
.disp{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0;line-height:1.18}
.eyebrow{font-family:var(--font-med);font-size:24px;letter-spacing:.08em;text-transform:uppercase;color:var(--pink)}
section{position:relative}
/* SCROLL-SNAP "pages", each locks to the top of the viewport and fills the screen */
.snap{min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.snap.hero{flex-direction:column;align-items:stretch;justify-content:center;margin-top:60px}
@media(min-width:761px) and (max-width:1024px){
  .snap{
    min-height:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
}
@media(max-width:760px){html{scroll-snap-type:none}.snap{min-height:0}}
::selection{background:var(--pink);color:#fff}

/* HEADER */
header.nav,header#nav.nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(48px,8vw,115px);transition:padding .3s;overflow:visible;box-sizing:border-box;margin:0;width:auto;max-width:none;transform:none}
header.nav::before{content:"";position:absolute;inset:0;z-index:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;transition:background .3s,backdrop-filter .3s}
header.nav.scrolled{padding:18px clamp(48px,8vw,115px)}
header.nav.scrolled::before{background:rgba(7,7,7,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.logo{display:flex;align-items:center;position:relative;z-index:1}
.logo img{height:44px;width:auto;display:block;transition:opacity .2s,height .3s}
.logo:hover img{opacity:.8}
header.nav.scrolled .logo img{height:38px}
.counter{font-family:var(--font-med);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.counter b{color:var(--paper)}
.counter .live{width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 0 rgba(237,25,109,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(237,25,109,.6)}70%{box-shadow:0 0 0 9px rgba(237,25,109,0)}100%{box-shadow:0 0 0 0 rgba(237,25,109,0)}}
.menu-btn{background:none;border:none;color:var(--paper);cursor:pointer;font-family:var(--font-display);font-size:20px;letter-spacing:.04em;text-transform:uppercase;transition:color .25s;display:none}
.menu-btn:hover{color:var(--pink)}
.nav-right{display:flex;align-items:center;gap:28px;overflow:visible;position:relative;z-index:1}
.primary-nav{display:flex;align-items:center;gap:clamp(20px,2.4vw,36px);overflow:visible}
.primary-nav>a,.primary-nav .nav-drop>button{
  background:none;border:none;color:var(--paper);font-family:var(--font-med);font-size:18px;font-weight:700;letter-spacing:0;text-transform:uppercase;cursor:pointer;padding:6px 0;position:relative;transition:color .2s
}
.primary-nav>a:hover,.primary-nav .nav-drop>button:hover,.primary-nav>a.active,.primary-nav .nav-drop.open>button{color:var(--pink)}
.primary-nav .nav-drop{position:relative;overflow:visible}
.primary-nav .nav-drop>button{display:inline-flex;align-items:center;gap:6px}
.primary-nav .nav-drop>button::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s;opacity:.7}
.primary-nav .nav-drop.open>button::after{transform:rotate(-135deg) translateY(-1px)}
.primary-nav .nav-dd{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:320px;width:max-content;max-width:min(420px,90vw);
  padding:14px 0 0;background:transparent;border:none;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s;z-index:200
}
.primary-nav .nav-dd-inner{
  background:rgba(12,12,13,.98);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 0;
  box-shadow:0 18px 50px rgba(0,0,0,.45)
}
.primary-nav .nav-drop.open .nav-dd,.primary-nav .nav-drop:hover .nav-dd,.primary-nav .nav-drop:focus-within .nav-dd{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.primary-nav .nav-dd a{display:block;padding:12px 22px;font-family:var(--font-med);font-size:14px;letter-spacing:.04em;color:#cfcbc0;text-transform:none;white-space:nowrap;transition:color .15s,background .15s,padding-left .2s}
.primary-nav .nav-dd a:hover{color:#fff;background:rgba(237,25,109,.12);padding-left:22px}
@media(max-width:900px){
  .primary-nav{display:none}
  .menu-btn{display:block}
  .counter{display:none}
  .wrap{padding:0 24px}
  header.nav,header#nav.nav{padding:18px 24px}
}
@media(min-width:901px){
  .counter{display:none}
  .menu-btn{display:none!important}
}

/* MENU OVERLAY */
.menu-overlay{
  position:fixed;inset:0;z-index:300;color:#0a0a0a;
  padding:calc(clamp(20px,4vw,32px) + env(safe-area-inset-top,0px)) clamp(22px,5vw,40px) calc(clamp(28px,5vw,40px) + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;justify-content:flex-start;gap:0;
  background:
    radial-gradient(80% 55% at 100% 0%,rgba(255,255,255,.22) 0%,transparent 55%),
    radial-gradient(70% 50% at 0% 100%,rgba(0,0,0,.12) 0%,transparent 50%),
    var(--pink);
  transform:translateY(-102%);opacity:0;visibility:hidden;
  transition:transform .6s cubic-bezier(.76,0,.24,1),opacity .4s,visibility .6s;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.menu-overlay.open{transform:none;opacity:1;visibility:visible}
body.menu-open header.nav,
body.no-scroll header.nav{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.menu-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:clamp(28px,6vh,48px);position:relative;z-index:2}
.menu-brand{display:inline-flex;align-items:center;position:relative;z-index:2}
.menu-logo{height:40px;width:auto;display:block;filter:brightness(0) invert(1);position:relative;z-index:2}
.menu-close{
  width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  transition:background .2s,border-color .2s,transform .2s;position:relative;z-index:2;flex-shrink:0;
}
.menu-close:hover{background:#fff;color:var(--pink);border-color:#fff;transform:rotate(90deg)}
.menu-nav{display:flex;flex-direction:column;gap:2px;flex:1}
.menu-nav>a{
  display:block;font-family:var(--font-display);font-size:clamp(28px,7.5vw,44px);
  font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:-.02em;line-height:1.15;
  padding:10px 0;border-bottom:1px solid rgba(255,255,255,.18);
  transition:color .2s,padding-left .25s;
}
.menu-nav>a:hover{color:#0a0a0a;padding-left:10px}
.menu-svc{padding:10px 0 14px;border-bottom:1px solid rgba(255,255,255,.18)}
.menu-nav .menu-svc>span{
  display:block;font-family:var(--font-display);font-size:clamp(28px,7.5vw,44px);
  font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:-.02em;line-height:1.15;
  margin-bottom:12px;
}
.menu-svc-list{
  display:flex;flex-direction:column;gap:2px;
  margin-left:2px;padding-left:16px;border-left:2px solid rgba(255,255,255,.35);
}
.menu-nav .menu-svc a,.menu-nav .menu-svc-list a{
  display:flex!important;align-items:center;gap:12px;
  font-family:var(--font-med)!important;font-size:15px!important;font-weight:500!important;
  letter-spacing:.02em!important;color:rgba(255,255,255,.9)!important;
  text-transform:none!important;line-height:1.35!important;padding:9px 0!important;
  transition:color .2s,padding-left .25s!important;
}
.menu-nav .menu-svc a i,.menu-nav .menu-svc-list a i{
  font-style:normal;font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.55);min-width:22px;
}
.menu-nav .menu-svc a:hover,.menu-nav .menu-svc-list a:hover{
  color:#0a0a0a!important;padding-left:8px!important;
}
.menu-cta{
  margin-top:auto;align-self:flex-start;
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 26px;border-radius:999px;background:#0a0a0a;color:#fff;
  font-family:var(--font-med);font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  transition:transform .2s,background .2s,color .2s;
}
.menu-cta span{display:inline-block;transition:transform .25s}
.menu-cta:hover{background:#fff;color:var(--pink);transform:translateY(-2px)}
.menu-cta:hover span{transform:translateX(5px)}
.menu-foot{display:none}
@media(max-width:600px){
  .menu-logo{height:34px}
  .menu-close{width:44px;height:44px;font-size:28px}
  .menu-top{margin-bottom:clamp(24px,5vh,36px)}
  .menu-overlay{padding-left:20px;padding-right:20px}
}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-family:var(--font-med);font-size:13px;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s,border-color .2s;cursor:pointer}
.btn-primary{background:var(--pink);color:#fff;border:1.5px solid var(--pink)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{border:1.5px solid rgba(243,241,234,.35);color:var(--paper);background:none}
.btn-ghost:hover{border-color:var(--pink);color:var(--pink)}

/* HERO */
.hero{height:100vh;height:100dvh;min-height:680px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:#070707;padding:clamp(120px,16vh,170px) 0 clamp(110px,15vh,160px);box-sizing:border-box}
#heroCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.hero .veil{position:absolute;inset:0;z-index:2;background:radial-gradient(70% 70% at 50% 55%,rgba(7,7,7,0) 0%,rgba(7,7,7,.55) 80%);pointer-events:none}
.hero .wrap{position:relative;z-index:3;width:100%;padding-top:0;padding-bottom:clamp(28px,5vh,56px);display:flex;justify-content:center}
.hero-copy{width:-moz-max-content;width:max-content;max-width:100%;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero h1{font-family:var(--font-display);font-size:7vw;text-transform:none;line-height:.95;letter-spacing:0;width:fit-content;max-width:100%}
#rotWord{display:inline-block;transition:opacity .3s ease,transform .3s ease}
#rotWord.swap{opacity:0;transform:translateY(10px)}
.hero h1 .pink{color:var(--pink)}
.hero p.lead{max-width:920px;margin:30px auto 0;font-size:clamp(18px,2.1vw,24px);font-weight:500;color:#d7d3c8}
.hero .actions{margin-top:38px;margin-bottom:0;display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.hero .hint{position:absolute;bottom:clamp(32px,5vh,52px);left:0;right:0;z-index:3;text-align:center;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.hero .eyebrow{color:var(--pink)}
@media(max-width:760px){
  .snap.hero{margin-top:0;justify-content:flex-start}
  .hero{
    height:auto;
    min-height:0;
    padding:96px var(--pad) 40px;
    justify-content:flex-start;
  }
  .hero .wrap{padding:0;width:100%}
  .hero-copy{width:100%;max-width:100%}
  .hero h1{
    font-size:clamp(34px,9.2vw,48px);
    line-height:1.05;
    width:100%;
  }
  .hero .hint{display:none}
  .hero p.lead{
    margin-top:22px;
    max-width:100%;
    font-size:clamp(15px,4.1vw,18px);
    line-height:1.55;
    padding:0 4px;
  }
  .hero .actions{margin-top:28px}
  .eyebrow{font-size:14px}
  .approach .steps{margin-top:32px;gap:14px}
  .approach .step{padding:22px 18px}
  .approach .step p{font-size:16px}
}

@media(min-width:761px) and (max-width:1024px){
  .snap.hero{margin-top:0;justify-content:flex-start}
  .hero{
    height:auto;
    min-height:0;
    padding:112px 40px 52px;
    justify-content:flex-start;
  }
  .hero .wrap{padding-bottom:0;width:100%}
  .hero-copy{width:100%;max-width:720px}
  .hero h1{
    font-size:clamp(44px,6.2vw,60px);
    line-height:1.02;
    width:100%;
  }
  .hero p.lead{
    margin-top:20px;
    max-width:640px;
    font-size:clamp(16px,2vw,19px);
  }
  .hero .actions{margin-top:26px}
  .hero .hint{display:none}
}

/* DEMO REEL modal */
.reel-modal{position:fixed;inset:0;z-index:300;background:rgba(4,4,4,.94);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s;padding:40px}
.reel-modal.open{opacity:1;visibility:visible}
.reel-close{position:absolute;top:28px;right:36px;background:none;border:none;color:#fff;font-size:40px;line-height:1;cursor:pointer;transition:color .2s}
.reel-close:hover{color:var(--pink)}
.reel-stage{width:min(1100px,92vw)}
.reel-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}
.reel-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.reel-poster{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background-size:cover;background-position:center;text-decoration:none}
.reel-poster::before{content:"";position:absolute;inset:0;background:rgba(5,5,5,.45)}
.reel-play{position:relative;z-index:2;width:84px;height:84px;border-radius:50%;background:var(--pink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;padding-left:6px;transition:transform .25s}
.reel-poster:hover .reel-play{transform:scale(1.08)}
.reel-label{position:relative;z-index:2;font-family:var(--font-med);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#fff}

/* APPROACH, light (editorial) variant */
.approach.light{background:#f3f1ea;color:#0e0e0e}
.approach.light .eyebrow{color:var(--pink)}
.approach.light h2{color:#0e0e0e}
.approach.light h2 .pink{color:var(--pink)}
.approach.light .intro{color:#000}
.approach.light .step{background:#eae7df00;background:rgba(0,0,0,.025);border-color:rgba(0,0,0,.12)}
.approach.light .step:hover{border-color:var(--pink);transform:translateY(-4px)}
.approach.light .step .num{color:#0e0e0e}
.approach.light .step h3{color:#0e0e0e}
.approach.light .step p{color:#000}
.approach.light .out-bar{border-top-color:rgba(0,0,0,.14)}
.approach.light .out-bar h3{color:#0e0e0e}
.approach.light .out-list div{color:#0e0e0e;border-bottom-color:rgba(0,0,0,.14)}
.approach.light .out-list div span{color:var(--pink)}
.approach.light .out-list div:hover{color:var(--pink)}
.approach.light .out-list div::after{background:var(--pink)}

/* WORD WALL, magnify on hover (same light bg) */
.wordwall{background:#f3f1ea;color:#0e0e0e;padding:100px clamp(24px,3.5vw,56px) 130px}
.wordwall.snap{justify-content:flex-start}
.wordwall .ww-eyebrow{font-family:var(--font-med);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--pink);margin-bottom:34px}
.ww-inner{display:flex;flex-wrap:wrap;gap:6px 26px;align-items:baseline}
.ww-inner span{display:inline-block;font-family:var(--font-display);text-transform:uppercase;font-size:clamp(20px,3vw,52px);line-height:1.05;color:#0e0e0e;cursor:default;transform-origin:center bottom;transition:transform .25s cubic-bezier(.2,.8,.2,1),color .25s ease}
.ww-inner span.it{font-family:Georgia,'Times New Roman',serif;font-style:italic;text-transform:none;letter-spacing:0}
.ww-inner span:hover{color:var(--pink);transform:scale(1.45)}
@media(prefers-reduced-motion:reduce){.ww-inner span:hover{transform:none}}
.ww-thumb{position:absolute;z-index:6;width:224px;height:149px;overflow:hidden;border-radius:2px;box-shadow:0 16px 40px rgba(0,0,0,.32);pointer-events:none;opacity:0;transform:translateY(8px) scale(.96);transition:opacity .22s ease,transform .22s ease}
.ww-thumb.show{opacity:1;transform:none}
.ww-thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:760px){.ww-thumb{display:none}}

/* BIG NUMBERS, parallax cards */
.bn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:54px;perspective:1000px}
.bncard{position:relative;border:1px solid var(--line);border-radius:0;background:var(--panel);padding:38px 28px;min-height:280px;overflow:hidden;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s;will-change:transform}
.bncard:hover{border-color:var(--pink);box-shadow:0 24px 60px rgba(237,25,109,.14)}
.bn-glow{position:absolute;width:260px;height:260px;border-radius:50%;top:-60px;left:-50px;background:radial-gradient(circle,rgba(237,25,109,.55),rgba(237,25,109,0) 70%);filter:blur(22px);opacity:.45;transition:opacity .35s;pointer-events:none;will-change:transform}
.bncard:hover .bn-glow{opacity:.95}
.bn-inner{position:relative;z-index:2;transition:transform .2s ease;transform-style:preserve-3d}
.bn-n{font-family:var(--font-display);font-size:clamp(46px,4.4vw,82px);color:#fff;line-height:.88;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.bn-l{font-family:var(--font-med);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--pink);margin-top:14px}
.bn-desc{color:#bdb8ad;font-size:14px;line-height:1.6;margin-top:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease,opacity .4s ease,margin-top .4s ease}
.bncard:hover .bn-desc,.bncard:focus-within .bn-desc{max-height:200px;opacity:1;margin-top:20px}
@media(max-width:980px){.bn-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.bn-grid{grid-template-columns:1fr}.bncard{min-height:0}.bn-desc{max-height:200px;opacity:1;margin-top:20px}}

/* APPROACH */
.approach .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:54px}
.approach .step{border:1px solid var(--line);border-radius:0;padding:28px 22px;background:var(--panel);transition:border-color .25s,transform .25s;display:block;color:inherit;text-decoration:none}
.approach .step:hover{border-color:var(--pink);transform:translateY(-4px)}
.approach .step .num{font-family:var(--font-med);font-size:12px;color:#0e0e0e;letter-spacing:.08em}
.approach .step h3{font-family:var(--font-display);font-weight:500;margin-top:14px;font-size:clamp(18px,1.5vw,22px);letter-spacing:0;line-height:1.15}
.approach .step p{margin-top:12px;font-size:19px;font-weight:500;color:#a8a39a;line-height:1.55}
.approach .out-bar{margin-top:60px;border-top:1px solid var(--line);padding-top:40px;display:flex;align-items:flex-start;justify-content:space-between;gap:40px;flex-wrap:wrap}
.approach .out-bar h3{font-family:var(--font-display);font-size:clamp(24px,3vw,40px);text-transform:uppercase;max-width:360px;line-height:1.02}
.approach .out-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;flex:1;min-width:300px}
.approach .out-list div{font-size:17px;color:#bdb8ad;border-bottom:1px solid var(--line);padding:0 0 12px 0;font-family:var(--font-med);position:relative;cursor:default;transition:color .3s ease,padding-left .3s ease,border-color .3s ease}
.approach .out-list div span{color:var(--pink);margin-right:10px;display:inline-block;transition:transform .3s ease}
.approach .out-list div:hover{color:#fff;padding-left:12px;border-color:var(--pink)}
.approach .out-list div:hover span{transform:translateX(6px)}
.approach .out-list div::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--pink);transition:width .4s ease}
.approach .out-list div:hover::after{width:100%}
@media(max-width:1100px){.approach .steps{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.approach .steps{grid-template-columns:1fr}}
@media(max-width:560px){.approach .out-list{grid-template-columns:1fr}}

/* LIVING DATA — 4 premium metric boxes */
.ld{padding:clamp(56px,7vw,88px) 0 clamp(56px,7vw,88px);background:#141414;color:#f4f2ec;position:relative;overflow:hidden}
.ld::before{content:"";position:absolute;width:70vmax;height:70vmax;left:-22%;top:-35%;background:radial-gradient(circle,rgba(237,25,109,.32) 0%,transparent 62%);filter:blur(8px);pointer-events:none;animation:ldOrb 14s ease-in-out infinite alternate}
.ld::after{content:"";position:absolute;width:55vmax;height:55vmax;right:-18%;bottom:-38%;background:radial-gradient(circle,rgba(171,114,90,.22) 0%,transparent 60%);filter:blur(10px);pointer-events:none;animation:ldOrb 18s ease-in-out infinite alternate-reverse}
@keyframes ldOrb{from{transform:translate(0,0) scale(1)}to{transform:translate(4%,6%) scale(1.12)}}
.ld-head{margin:0 0 clamp(28px,4vw,44px);padding:0 clamp(24px,3.5vw,56px);position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.ld-head-copy{max-width:640px}
.ld-head .eyebrow{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:var(--pink);color:#fff;font-size:11px;letter-spacing:.16em}
.ld-head h2{font-family:var(--font-display);font-size:clamp(28px,4.2vw,56px);text-transform:none;line-height:1.18;letter-spacing:0;margin-top:14px;color:#fff;font-weight:500}
.ld-head h2 .pink{color:var(--pink)}
.ld-head .ld-sub{color:rgba(255,255,255,.5);font-size:14px;margin-top:12px;max-width:440px;line-height:1.55}
.ld-live{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-med);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);padding:10px 16px;border:1px solid rgba(255,255,255,.12);border-radius:999px;backdrop-filter:blur(12px);background:rgba(255,255,255,.04);margin-bottom:4px}
.ld-live i{width:8px;height:8px;border-radius:50%;background:#3DFF9A;box-shadow:0 0 0 0 rgba(61,255,154,.5);animation:ldPulse 1.8s ease-out infinite}
@keyframes ldPulse{0%{box-shadow:0 0 0 0 rgba(61,255,154,.45)}70%{box-shadow:0 0 0 10px rgba(61,255,154,0)}100%{box-shadow:0 0 0 0 rgba(61,255,154,0)}}
.ld-rail-wrap{position:relative;z-index:1}
.ld-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 clamp(24px,3.5vw,56px);align-items:stretch}
.ldc{min-height:280px;display:flex;flex-direction:column;padding:26px 24px 22px;background:linear-gradient(165deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.03) 55%,rgba(255,255,255,.02) 100%);border:1px solid rgba(255,255,255,.12);border-radius:28px;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);color:#fff;cursor:pointer;position:relative;overflow:hidden;text-decoration:none;box-shadow:0 12px 40px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08);transition:border-color .35s ease,background .35s ease,transform .4s cubic-bezier(.2,.8,.2,1),min-height .45s ease,box-shadow .35s ease,grid-column .4s ease}
.ldc::before{content:"";position:absolute;inset:auto -30% -45% -30%;height:75%;background:radial-gradient(ellipse at center,var(--ld-glow,rgba(237,25,109,.4)),transparent 68%);opacity:0;transition:opacity .45s ease;pointer-events:none}
.ldc::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);pointer-events:none}
.ldc:hover{border-color:rgba(237,25,109,.5);background:linear-gradient(165deg,rgba(237,25,109,.18) 0%,rgba(255,255,255,.05) 50%,rgba(20,20,22,.9) 100%);transform:translateY(-8px);box-shadow:0 32px 64px rgba(0,0,0,.4),0 0 0 1px rgba(237,25,109,.15)}
.ldc:hover::before{opacity:1}
.ldc:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.ldc.c-sales{--ld-glow:rgba(237,25,109,.5)}
.ldc.c-proj{--ld-glow:rgba(120,160,255,.4)}
.ldc.c-spec{--ld-glow:rgba(61,255,154,.3)}
.ldc.c-ctry{--ld-glow:rgba(255,180,80,.35)}
.ldc-ico{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--pink);flex-shrink:0;transition:background .3s,border-color .3s,transform .35s}
.ldc-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ldc:hover .ldc-ico{background:rgba(237,25,109,.18);border-color:rgba(237,25,109,.4);transform:scale(1.06)}
.ldc.c-proj .ldc-ico{color:#8eb4ff}
.ldc.c-spec .ldc-ico{color:#3DFF9A}
.ldc.c-ctry .ldc-ico{color:#ffb450}
.ldc-top{display:flex;justify-content:space-between;align-items:center;gap:12px;position:relative;z-index:1}
.ldc-k{font-family:var(--font-med);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.ldc-n{font-family:var(--font-display);font-size:18px;color:inherit}
.ldc-sub{color:rgba(255,255,255,.55);font-size:14px;margin-top:6px;line-height:1.5}
.ldc-big{font-family:var(--font-display);font-size:clamp(44px,4.4vw,76px);line-height:.82;margin-top:auto;padding-top:28px;color:#fff;letter-spacing:-.05em;position:relative;z-index:1;font-variant-numeric:tabular-nums}
.ldc-big .ldc-num{background:linear-gradient(180deg,#fff 28%,rgba(255,255,255,.5));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ldc-big .ldc-suf{background:linear-gradient(180deg,#ff6ba8,#ED196D);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ldc-cap{font-family:var(--font-med);font-size:13px;letter-spacing:.04em;color:rgba(255,255,255,.52);margin-top:14px;position:relative;z-index:1}
.ldc-more{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-family:var(--font-med);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;display:flex;align-items:center;gap:8px;position:relative;z-index:1;opacity:.65;transition:opacity .25s,gap .3s,color .25s}
.ldc-more span{display:inline-block;transition:transform .3s}
.ldc:hover .ldc-more{opacity:1;color:var(--pink);gap:12px}
.ldc:hover .ldc-more span{transform:translateX(4px)}
/* Closed cards keep flat stacking via display:contents */
.ld-open-layout{display:contents}
.ldc:not(.open) .ld-open-metric{display:contents}
.ld-viz{display:none;flex-direction:column;flex:1;min-height:0;margin-top:18px;position:relative;z-index:1}
.ldc.open{grid-column:1/-1;min-height:520px;cursor:default;border-color:rgba(237,25,109,.55);background:linear-gradient(165deg,rgba(237,25,109,.22) 0%,rgba(18,18,20,.97) 42%);transform:none;box-shadow:0 40px 80px rgba(0,0,0,.5);padding:28px 28px 24px}
.ldc.open::before{opacity:.65}
.ldc.open .ldc-big{font-size:clamp(52px,6vw,84px);padding-top:0;margin-top:12px}
.ldc.open .ldc-sub{color:rgba(255,255,255,.65)}
.ldc.open .ld-viz{display:flex;min-height:280px}
.ldc.open .ldc-more{display:none}
.ldc.open .ldc-ico{display:none}
.ldc-close{display:none;position:absolute;top:18px;right:18px;z-index:5;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.35);color:#fff;font-size:22px;line-height:1;cursor:pointer;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.ldc-close:hover{background:var(--pink);border-color:var(--pink)}
.ldc.open .ldc-close{display:flex}
.ld-grid.has-open .ldc:not(.open){display:none}
.ldc.open .ld-open-layout{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:clamp(20px,3vw,40px);align-items:stretch;flex:1;min-height:0;width:100%;margin-top:4px}
.ldc.open .ld-open-metric{display:flex;flex-direction:column;justify-content:flex-start;position:relative;z-index:1}
.ldc.open .ld-open-metric .ldc-cap{margin-top:10px}
.ldc.open .ld-viz{margin-top:0}
.ldc.open .ldc-stage{min-height:300px;flex:1;border-radius:16px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08)}
.ldc.open .sales-bars{gap:14px;padding-top:8px;margin-top:0;flex:1;justify-content:center}
.ldc.open .sbar-row{font-size:14px;margin-bottom:6px;color:rgba(255,255,255,.5)}
.ldc.open .sbar-row b{color:#fff}
.ldc.open .sbar-track{height:10px;background:rgba(255,255,255,.08)}
.ldc.open .sbar-fill{background:linear-gradient(90deg,#ED196D,#ff6ba8)}
.ldc.open .ldc-legend{font-size:13px;gap:10px 20px;margin-top:12px;color:rgba(255,255,255,.5)}
.ldc.open .ldc-legend i{width:10px;height:10px}
.ldc.open .proj-filters{margin-top:0;margin-bottom:10px}
.ldc.open .proj-filters button{font-size:12px;padding:8px 14px;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.55)}
.ldc.open .proj-filters button:hover{border-color:var(--pink);color:#fff}
.ldc.open .proj-filters button.active{background:var(--pink);border-color:var(--pink);color:#fff}
.ldc.open .ldc-tip{color:#fff;background:rgba(0,0,0,.55);border-color:rgba(255,255,255,.12);position:relative;left:auto;right:auto;bottom:auto;margin-top:10px;opacity:0}
.ldc.open .ldc-tip.show{opacity:1}
.ldc.open .tl-ht{color:#fff}
.ldc.open .tl-hd{color:rgba(255,255,255,.5)}
.ldc.open .tmark .ty{color:#fff}
.ldc.open .tmark .tl{color:rgba(255,255,255,.45)}
.ldc.open .tmark{border-top-color:rgba(255,255,255,.15)}
.ldc.open .time-detail{color:rgba(255,255,255,.55)}
@media(max-width:800px){
  .ldc.open .ld-open-layout{grid-template-columns:1fr}
  .ldc.open{min-height:0;padding:22px 18px}
  .ldc.open .ldc-stage{min-height:240px}
}
.ldc-stage{position:relative;flex:1;margin-top:10px;min-height:220px}
.ldc-stage canvas{position:absolute;inset:0;width:100%;height:100%}
.ldc-tip{position:absolute;left:16px;bottom:14px;right:16px;font-size:12px;color:#3a3832;pointer-events:none;opacity:0;transition:opacity .2s;background:rgba(255,255,255,.9);padding:8px 10px;border:1px solid rgba(14,14,14,.08);border-radius:10px}
.ldc-tip.show{opacity:1}
.sales-big{font-family:var(--font-display);font-size:clamp(40px,3.4vw,64px);line-height:.85;margin-top:12px}
.sales-big span{color:var(--pink)}
.sales-bars{margin-top:auto;display:flex;flex-direction:column;gap:11px;padding-top:18px}
.sbar{cursor:default}
.sbar-row{display:flex;justify-content:space-between;font-size:12px;color:#6a665d;margin-bottom:5px;font-family:var(--font-med)}
.sbar-row b{color:#0e0e0e;font-weight:500}
.sbar-track{height:8px;background:rgba(14,14,14,.08);border-radius:999px;overflow:hidden}
.sbar-fill{height:100%;width:0;background:var(--pink);transition:width 1.1s cubic-bezier(.2,.7,.2,1),opacity .3s;opacity:.75;border-radius:999px}
.sbar:hover .sbar-fill{opacity:1}
.sbar:hover .sbar-row b{color:var(--pink)}
.proj-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.proj-filters button{background:rgba(14,14,14,.03);border:1px solid rgba(14,14,14,.12);color:#56544e;font-family:var(--font-med);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;cursor:pointer;transition:.2s;border-radius:999px}
.proj-filters button:hover{border-color:var(--pink);color:var(--pink)}
.proj-filters button.active{background:var(--pink);border-color:var(--pink);color:#fff}
.ldc-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:11px;color:#6a665d}
.ldc-legend span{display:flex;align-items:center;gap:6px}
.ldc-legend i{width:8px;height:8px;border-radius:50%}
.off-list{margin-top:14px;display:flex;flex-direction:column;flex:1}
.off-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline;padding:11px 0;border-top:1px solid var(--line);transition:padding-left .25s}
.off-row:hover{padding-left:8px}
.off-row .oc{font-family:var(--font-display);font-size:18px;text-transform:uppercase}
.off-row .om{font-size:11px;color:#9a9a9a;grid-column:1/-1}
.off-row .ot{font-family:var(--font-med);font-size:14px;color:var(--pink);text-align:right;align-self:center}
.time-head{font-family:var(--font-display);font-size:clamp(20px,2.4vw,30px);text-transform:uppercase;line-height:1;margin-top:12px}
.time-head .pink{color:var(--pink)}
.time-track{display:flex;gap:0;overflow-x:auto;margin-top:18px;padding-bottom:8px;scrollbar-width:thin}
.tmark{flex:0 0 auto;min-width:120px;padding:12px 16px 12px 0;border-top:2px solid var(--line);cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease,border-color .25s}
.tmark.show{opacity:1;transform:none}
.tmark:hover,.tmark.active{border-color:var(--pink)}
.tmark .ty{font-family:var(--font-display);font-size:18px;color:#0e0e0e}
.tmark .tl{font-size:11px;color:#6a665d;margin-top:4px;max-width:130px;line-height:1.3}
.tmark:hover .tl,.tmark.active .tl{color:#3a3832}
.time-detail{margin-top:14px;font-size:13px;color:#56544e;min-height:20px}
.tl-head{display:flex;flex-direction:column;min-height:62px}
.tl-hy{font-family:var(--font-display);font-size:22px;color:var(--pink);line-height:1}
.tl-ht{font-family:var(--font-med);font-size:15px;color:#0e0e0e;margin-top:3px}
.tl-hd{font-size:13px;color:#6a665d;margin-top:5px;max-width:680px;line-height:1.5}
.tl-chart{position:relative;flex:1;min-height:170px;margin-top:8px}
.tl-chart svg{width:100%;height:100%;display:block;overflow:visible}
.tl-node text{pointer-events:none}
@media(max-width:1200px){
  .ld-grid{grid-template-columns:repeat(2,1fr)}
  .ldc{min-height:260px}
  .ldc-big{font-size:clamp(48px,6vw,80px)}
}
@media(max-width:760px){
  .ld-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .ldc{border-radius:22px;padding:20px 16px;min-height:240px}
  .ldc-big{font-size:clamp(40px,11vw,56px);padding-top:20px}
  .ldc.open{grid-column:1/-1;min-height:480px}
  .ld-head{align-items:flex-start}
  .ldc-ico{width:36px;height:36px;border-radius:12px}
}
@media(max-width:480px){
  .ld-grid{grid-template-columns:1fr}
  .ldc{min-height:220px}
}
@media(prefers-reduced-motion:reduce){
  .ld::before,.ld::after,.ld-live i{animation:none}
}

/* OUR PROCESS — same glass layout, process content */
.ld.proc{padding-top:clamp(48px,5.5vw,64px);padding-bottom:clamp(48px,5.5vw,64px)}
.ld.proc .ld-head{
  flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;
}
.ld.proc .ld-head-copy{max-width:640px}
.ld.proc .ld-head .ld-sub{margin-left:auto;margin-right:auto}
.ld.proc .ld-head h2{margin-top:0}
.ld.proc .ld-live{margin-bottom:0}
.proc .proc-card{cursor:default;min-height:300px;align-items:center;text-align:center}
.proc .proc-card:hover{transform:translateY(-8px)}
.proc .proc-card .ldc-top{justify-content:center;flex-direction:column;gap:14px;width:100%}
.proc-title{font-family:var(--font-display);font-size:clamp(32px,3.2vw,48px);line-height:.95;letter-spacing:0;color:#fff;margin-top:22px;padding-top:0;position:relative;z-index:1}
.proc-desc{font-size:15px;line-height:1.55;color:rgba(255,255,255,.55);margin-top:14px;max-width:280px;margin-left:auto;margin-right:auto;position:relative;z-index:1;flex:0}
.proc .ldc-more{margin-top:22px;opacity:.55;cursor:default}
.proc .proc-card:hover .ldc-more{opacity:1;color:var(--pink)}
.proc .proc-card:nth-child(1):hover{background:linear-gradient(165deg,rgba(237,25,109,.22) 0%,rgba(255,255,255,.05) 50%,rgba(20,20,22,.9) 100%)}
.proc .c-proj .proc-title{color:#fff}
.proc .ld-live i{background:#ED196D;box-shadow:0 0 0 0 rgba(237,25,109,.45);animation:ldPulsePink 1.8s ease-out infinite}
@keyframes ldPulsePink{0%{box-shadow:0 0 0 0 rgba(237,25,109,.45)}70%{box-shadow:0 0 0 10px rgba(237,25,109,0)}100%{box-shadow:0 0 0 0 rgba(237,25,109,0)}}
@media(max-width:760px){
  .proc .proc-card{min-height:0;padding:28px 20px}
  .proc-title{font-size:clamp(28px,8vw,40px);padding-top:0;margin-top:18px}
  .proc-desc{font-size:14px;max-width:100%}
}

/* CALL TO ACTION */
.cta-band{position:relative;overflow:hidden;background:var(--pink);color:#fff;padding:clamp(36px,5vw,64px) clamp(24px,3.5vw,56px)}
.cta-band::before{content:"";position:absolute;width:55vmax;height:55vmax;right:-18%;top:-40%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%);pointer-events:none;animation:ctaGlow 10s ease-in-out infinite alternate}
.cta-band::after{content:"";position:absolute;width:40vmax;height:40vmax;left:-12%;bottom:-45%;background:radial-gradient(circle,rgba(0,0,0,.18),transparent 60%);pointer-events:none}
@keyframes ctaGlow{from{transform:translate(0,0) scale(1)}to{transform:translate(-4%,6%) scale(1.08)}}
.cta-band-wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(220px,380px);gap:clamp(28px,5vw,64px);align-items:center;max-width:1180px}
.cta-band-inner{max-width:640px}
.cta-band .eyebrow{color:rgba(255,255,255,.7)}
.cta-band h2{font-family:var(--font-display);font-size:clamp(32px,5.5vw,65px);line-height:1.18;letter-spacing:0;margin-top:14px;text-transform:none;color:#fff}
.cta-band p{margin-top:18px;font-size:clamp(15px,1.6vw,18px);color:rgba(255,255,255,.82);max-width:460px;line-height:1.55}
.cta-actions{margin-top:34px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.cta-band .btn-cta{background:#0a0a0a;color:#fff;border:1.5px solid #0a0a0a}
.cta-band .btn-cta:hover{background:#fff;color:var(--pink);border-color:#fff;transform:translateY(-2px)}
.cta-mail{font-family:var(--font-med);font-size:13px;letter-spacing:.08em;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px;transition:color .2s,border-color .2s}
.cta-mail:hover{color:#fff;border-color:#fff}
.cta-arrow{display:inline-block;transition:transform .3s ease}
.cta-band .btn-cta:hover .cta-arrow{transform:translateX(6px)}
/* animated talk illustration */
.cta-illu{position:relative;width:100%;aspect-ratio:1;max-width:380px;margin:0 auto;pointer-events:none}
.cta-ring{position:absolute;inset:8%;border:1.5px solid rgba(255,255,255,.22);border-radius:50%;animation:ctaSpin 18s linear infinite}
.cta-ring.r2{inset:18%;border-style:dashed;opacity:.7;animation-direction:reverse;animation-duration:24s}
.cta-ring.r3{inset:28%;border-color:rgba(255,255,255,.12);animation-duration:14s}
@keyframes ctaSpin{to{transform:rotate(360deg)}}
.cta-bubble{position:absolute;background:#fff;color:#0a0a0a;border-radius:22px;box-shadow:0 18px 40px rgba(0,0,0,.18);animation:ctaFloat 3.6s ease-in-out infinite}
.cta-bubble.b1{left:6%;top:18%;width:54%;padding:18px 20px 16px;animation-delay:0s;border-bottom-left-radius:6px}
.cta-bubble.b2{right:4%;bottom:22%;width:48%;padding:16px 18px 14px;animation-delay:1.1s;border-bottom-right-radius:6px;background:rgba(10,10,10,.92);color:#fff}
@keyframes ctaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.cta-dots{display:flex;gap:7px;align-items:center;height:14px}
.cta-dots i{width:8px;height:8px;border-radius:50%;background:#0a0a0a;opacity:.25;animation:ctaDot 1.4s ease-in-out infinite}
.cta-dots i:nth-child(2){animation-delay:.2s}
.cta-dots i:nth-child(3){animation-delay:.4s}
@keyframes ctaDot{0%,80%,100%{opacity:.22;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
.cta-lines{display:flex;flex-direction:column;gap:7px;margin-top:2px}
.cta-lines span{display:block;height:6px;border-radius:999px;background:rgba(255,255,255,.28);animation:ctaLine 2.8s ease-in-out infinite}
.cta-lines span:nth-child(1){width:88%;animation-delay:0s}
.cta-lines span:nth-child(2){width:64%;animation-delay:.25s}
.cta-lines span:nth-child(3){width:76%;animation-delay:.5s}
@keyframes ctaLine{0%,100%{opacity:.35;transform:scaleX(.92);transform-origin:left}50%{opacity:.9;transform:scaleX(1)}}
.cta-elephant{position:absolute;left:50%;top:50%;width:28%;transform:translate(-50%,-50%);animation:ctaBob 4s ease-in-out infinite;filter:drop-shadow(0 12px 24px rgba(0,0,0,.25))}
.cta-elephant img{width:100%;height:auto;display:block;filter:brightness(0) invert(1)}
@keyframes ctaBob{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 8px))}}
.cta-phone{position:absolute;right:8%;top:8%;width:72px;height:72px;border-radius:50%;background:#0a0a0a;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 32px rgba(0,0,0,.28);animation:ctaPhonePulse 2.4s ease-in-out infinite;z-index:3}
.cta-phone svg{width:30px;height:30px;fill:#fff;animation:ctaPhoneWiggle 2.4s ease-in-out infinite;transform-origin:70% 30%}
.cta-phone::before,.cta-phone::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:ctaPhoneRing 2.4s ease-out infinite}
.cta-phone::after{animation-delay:1.2s}
@keyframes ctaPhonePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes ctaPhoneWiggle{
  0%,100%{transform:rotate(0)}
  10%{transform:rotate(14deg)}
  20%{transform:rotate(-12deg)}
  30%{transform:rotate(10deg)}
  40%{transform:rotate(-6deg)}
  50%,100%{transform:rotate(0)}
}
@keyframes ctaPhoneRing{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.85);opacity:0}}
.cta-spark{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;opacity:.85;animation:ctaSpark 2.8s ease-in-out infinite}
.cta-spark.s1{left:22%;top:12%;animation-delay:0s}
.cta-spark.s2{right:18%;top:28%;width:7px;height:7px;animation-delay:.7s}
.cta-spark.s3{left:14%;bottom:30%;width:6px;height:6px;animation-delay:1.3s}
@keyframes ctaSpark{0%,100%{transform:scale(.6);opacity:.35}50%{transform:scale(1.15);opacity:1}}
@media(max-width:820px){
  .cta-band{padding:clamp(32px,6vw,48px) clamp(20px,4vw,40px)}
  .cta-band-wrap{grid-template-columns:1fr;gap:28px}
  .cta-illu{max-width:240px;order:-1}
  .cta-actions{margin-top:24px}
}
@media(prefers-reduced-motion:reduce){
  .cta-band::before,.cta-ring,.cta-bubble,.cta-dots i,.cta-lines span,.cta-elephant,.cta-spark,.cta-phone,.cta-phone svg,.cta-phone::before,.cta-phone::after{animation:none}
}

/* FEATURED PROJECTS, full-bleed expanding strip */
.pstrip{padding:90px 0 10px}
.pstrip-head{margin:0;padding:0 clamp(24px,3.5vw,56px);display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.pstrip-head h2{font-family:var(--font-display);font-size:clamp(24px,3.5vw,48px);text-transform:none;line-height:1.18;letter-spacing:0;margin-top:16px}
.pstrip-head h2 .pink{color:var(--pink)}
.pstrip-sub{max-width:420px;text-align:right;color:#9a9a9a;font-size:15px;line-height:1.6;padding-bottom:8px}
@media(max-width:760px){.pstrip-sub{text-align:left;max-width:100%}}
.pstrip-row{display:flex;width:100%;height:72vh;min-height:500px;margin-top:46px;gap:6px;padding:0 6px}
.pcard{position:relative;flex:1;overflow:hidden;border-radius:0;border:1px solid transparent;transition:flex .6s cubic-bezier(.7,0,.2,1),border-color .4s;display:flex;align-items:flex-end;text-decoration:none;min-width:0}
.pcard-bg{position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:var(--pos,50% 50%);transform:scale(1.03);transition:transform .9s ease}
.pcard-shade{position:absolute;inset:0;background:linear-gradient(to top, rgba(5,5,5,.82) 0%, rgba(5,5,5,.25) 24%, transparent 42%)}
.pcard-meta{position:relative;z-index:2;padding:30px 26px;width:100%}
.pcard-idx{font-family:var(--font-med);font-size:12px;letter-spacing:.16em;color:var(--pink)}
.pcard-meta h3{font-family:var(--font-display);font-size:clamp(20px,2vw,34px);text-transform:uppercase;line-height:.95;margin-top:8px;color:#fff;white-space:nowrap}
.pcard-cat{display:block;font-size:13px;color:#cfcbc0;margin-top:10px;opacity:0;transform:translateY(8px);max-height:0;overflow:hidden;transition:opacity .4s ease,transform .4s ease,max-height .4s ease}
.pstrip-row:hover .pcard{flex:.7}
.pstrip-row .pcard:hover{flex:3.4;border-color:rgba(237,25,109,.45)}
.pcard:hover .pcard-bg{transform:scale(1)}
.pcard:hover .pcard-cat{opacity:1;transform:none;max-height:60px}
@media(max-width:820px){
  .pstrip-row{flex-direction:column;height:auto;gap:8px;padding:0 16px}
  .pcard{height:190px;flex:none!important}
  .pcard-cat{opacity:1;transform:none;max-height:60px}
}

/* TRUSTED BY / PARTNERS, boxless logo grid, hover-pink, filterable */
.clients{padding:84px 0;background:var(--ink);border-top:1px solid var(--line)}
.clients-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.clients-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cf{background:none;border:1px solid var(--line);color:#9a958a;font-family:var(--font-med);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 13px;border-radius:999px;cursor:pointer;transition:.2s}
.cf:hover{border-color:var(--pink);color:#fff}
.cf.on{background:var(--pink);border-color:var(--pink);color:#fff}
.cf-sep{font-family:var(--font-med);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5a564e;margin:0 2px 0 10px}
.clients-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px 36px}
.cli{display:flex;align-items:center;justify-content:center;padding:24px 14px}
.cli .logo{width:100%;height:34px;max-width:168px;background:var(--m) center/contain no-repeat;opacity:.5;cursor:pointer;transition:opacity .3s}
.cli:hover .logo{background-image:var(--mh);opacity:1}
.cli.hidden{display:none}
.clients-toggle{margin-top:26px;background:none;border:1px solid var(--line);color:#cfcbc0;font-family:var(--font-med);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:10px 18px;border-radius:999px;cursor:pointer;transition:.2s}
.clients-toggle:hover{border-color:var(--pink);color:#fff}
@media(max-width:900px){.clients-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.clients-grid{grid-template-columns:repeat(3,1fr)}}

/* GENERIC SECTION */
.sec{padding:65px 0}
.sec.bd{border-top:1px solid var(--line)}
.sec h2{font-family:var(--font-display);font-size:clamp(24px,3.5vw,48px);line-height:1.18;letter-spacing:0;margin-top:16px}
.sec h2 .pink{color:var(--pink)}
.sec p.intro{color:#bdb8ad;font-size:clamp(16px,1.8vw,19px);margin-top:24px;max-width:720px;font-family:var(--font-body);font-weight:500;line-height:1.6}

/* MARKET CHANGED, big statement */
.statement{padding:160px 0;text-align:center}
.statement p{font-family:var(--font-display);font-size:clamp(30px,5.2vw,82px);text-transform:uppercase;line-height:1.18;letter-spacing:0}
.statement p .dim{color:#2c2c2c;transition:color .5s}
.statement p .dim.lit{color:var(--paper)}
.statement p .pink{color:var(--pink)}
.statement .arrow{color:var(--pink);font-size:30px;margin:18px 0;opacity:.6}

@media(max-width:760px){
  .sec{padding:44px 0}
  .sec p.intro{margin-top:16px}
  .statement{padding:64px 0}
  .ld.proc{padding-top:40px;padding-bottom:40px}
  .clients{padding:48px 0}
  .pstrip{padding:48px 0 10px}
  .pstrip-row{min-height:0;margin-top:28px}
}

/* HORIZONTAL, How developments become brands */
.horizon{position:relative;background:var(--ink2)}
.horizon .pin{position:sticky;top:0;height:72vh;display:flex;align-items:center;overflow:hidden}
.htrack{display:flex;gap:0;will-change:transform}
.hpanel{flex:0 0 86vw;max-width:980px;height:74vh;display:flex;flex-direction:column;justify-content:center;padding:0 7vw;border-right:1px solid var(--line)}
.hpanel .step-n{font-family:var(--font-display);font-size:clamp(60px,12vw,180px);color:#1c1c1c;line-height:.8}
.hpanel .step-n::after{content:".";color:var(--pink)}
.hpanel h3{font-family:var(--font-display);font-size:clamp(34px,5vw,72px);text-transform:uppercase;margin-top:10px;line-height:.95}
.hpanel h3 .pink{color:var(--pink)}
.hpanel p{max-width:520px;margin-top:20px;color:#bdb8ad;font-size:18px}
.hpanel.final{align-items:flex-start}
.hpanel.final .chefword{font-family:var(--font-display);font-size:clamp(70px,16vw,240px);color:var(--pink);line-height:.8}
.hpanel.final p{font-size:20px}
.hscroll-head{position:absolute;top:54px;left:0;right:0;z-index:5;text-align:center}
.hprogress{position:absolute;bottom:54px;left:50%;transform:translateX(-50%);z-index:5;width:200px;height:3px;background:var(--line);border-radius:3px;overflow:hidden}
.hprogress i{display:block;height:100%;width:0;background:var(--pink)}
@media(max-width:760px){
  .horizon{height:auto!important;padding-top:20px}
  .horizon .pin{position:static;height:auto;display:block}
  .htrack{flex-direction:column;transform:none!important}
  .hpanel{
    flex-basis:auto;width:100%;max-width:none;height:auto;
    justify-content:flex-start;
    border-right:none;border-bottom:1px solid var(--line);
    padding:10px 24px;
  }
  .hpanel .step-n{
    font-size:0;line-height:0;width:28px;height:3px;
    background:var(--pink);margin:0 0 10px;color:transparent;
  }
  .hpanel .step-n::after{display:none}
  .hpanel h3{font-size:clamp(26px,7vw,40px);margin-top:0}
  .hpanel p{font-size:16px;margin-top:10px}
  .hpanel.final .chefword{font-size:clamp(52px,16vw,96px)}
  .hpanel.final p{font-size:17px}
  .hscroll-head,.hprogress{display:none}
}

/* CHEF interactive */
.chef-stage{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;margin-top:60px;align-items:center}
.chef-letters{display:flex;gap:10px}
.cl{flex:1;aspect-ratio:1;border:1px solid var(--line);border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;background:var(--panel);transition:.3s;position:relative}
.cl .L{font-family:var(--font-display);font-size:clamp(40px,7vw,86px);color:#2c2c2c;transition:.3s;line-height:1}
.cl .nm{font-family:var(--font-med);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px;transition:.3s}
.cl:hover{border-color:rgba(237,25,109,.5);transform:translateY(-4px)}
.cl.active{background:var(--pink);border-color:var(--pink)}
.cl.active .L{color:#fff}
.cl.active .nm{color:rgba(255,255,255,.85)}
.chef-panel{min-height:300px}
.chef-panel .tag{font-family:var(--font-med);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
.chef-panel h3{font-family:var(--font-display);font-size:clamp(30px,4vw,54px);text-transform:uppercase;margin-top:10px;line-height:.95}
.chef-panel p{margin-top:18px;color:#cfcbc0;font-size:17px;max-width:560px}
.chef-panel .produces{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.chef-panel .produces span{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:6px 14px;color:#bdb8ad}
.chef-panel .cases{margin-top:22px;font-size:13px;letter-spacing:.04em;color:var(--muted)}
.chef-panel .cases b{color:var(--paper);font-family:var(--font-med)}
@media(max-width:880px){.chef-stage{grid-template-columns:1fr;gap:34px}}
/* CHEF, light "operating system" (summary) */
.chef-light{background:#f3f1ea;color:#0e0e0e}
.chef-top{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.chef-os-head{max-width:560px}
.chef-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}
.chef-trio figure{margin:0}
.chef-trio img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;filter:grayscale(1) contrast(1.03);transition:filter .4s,transform .5s}
.chef-trio figure:hover img{filter:grayscale(1) contrast(1.08) brightness(1.05);transform:scale(1.015)}
.chef-trio figcaption{margin-top:12px;font-family:var(--font-display);font-size:clamp(13px,1.1vw,16px);text-transform:uppercase;color:#0e0e0e;line-height:1.05}
.chef-trio figcaption span{display:block;font-family:var(--font-med);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--pink);margin-bottom:5px}
@media(max-width:980px){.chef-top{grid-template-columns:1fr;gap:30px}.chef-trio{margin-top:8px}}
@media(max-width:560px){.chef-trio figcaption{font-size:11px}}
.chef-light .chef-title{font-family:var(--font-display);font-size:clamp(54px,9vw,128px);line-height:1.18;letter-spacing:0;color:#0e0e0e;margin-top:14px}
.chef-light .chef-title .pink{color:var(--pink);-webkit-text-fill-color:var(--pink);font-size:.26em;vertical-align:top;line-height:1;position:relative;top:.12em;margin-left:.06em}
.chef-light .chef-lead{font-family:var(--font-med);font-size:clamp(15px,1.6vw,18px);letter-spacing:.16em;text-transform:uppercase;color:#0e0e0e;margin-top:22px}
.chef-light p.intro{color:#56544e;margin-top:18px;max-width:680px}
.chef-light .chef-meta{font-family:var(--font-med);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-top:24px;opacity:.85}
/* periodic-table tiles */
.chef-els{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px;align-items:start}
.chef-el{position:relative;grid-column:auto;aspect-ratio:1/1;background:rgba(0,0,0,.025);border:1.5px solid rgba(0,0,0,.16);padding:22px;display:flex;flex-direction:column;cursor:pointer;overflow:hidden;transition:border-color .3s,background .3s,box-shadow .3s}
.chef-el:hover{border-color:rgba(237,25,109,.55);background:rgba(237,25,109,.04)}
.chef-el:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.el-corner{display:flex;justify-content:space-between;align-items:flex-start;font-family:var(--font-med)}
.el-num{font-size:14px;letter-spacing:.06em;color:#8a867d}
.el-plus{font-family:var(--font-display);font-size:22px;line-height:.7;color:var(--pink);transition:transform .35s}
.el-core{margin-top:auto;display:flex;flex-direction:column}
.el-letter{font-family:var(--font-display);font-size:clamp(54px,7vw,104px);line-height:.8;color:var(--pink)}
.el-name{font-family:var(--font-display);font-size:clamp(18px,1.8vw,26px);text-transform:uppercase;letter-spacing:0;color:#0e0e0e;margin-top:12px;line-height:1}
.el-tag{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:14px;color:#7a766d;margin-top:8px}
.el-detail{display:none;margin-top:18px}
.cl-q{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(18px,1.6vw,24px);color:var(--pink);line-height:1.18}
.cl-obj{font-size:14px;color:#56544e;line-height:1.55;margin-top:18px;max-width:520px}
.cl-obj span{display:block;font-family:var(--font-med);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#0e0e0e;margin-bottom:6px}
/* expanded element, reveals info inside the SAME square (size never changes) */
.chef-el.open{background:#fff;border-color:var(--pink);box-shadow:0 18px 50px rgba(237,25,109,.14);aspect-ratio:auto;overflow:visible}
.chef-el.open .el-core{margin-top:14px}
.chef-el.open .el-plus{transform:rotate(45deg)}
.chef-el.open .el-letter{font-size:clamp(34px,3.4vw,52px)}
.chef-el.open .el-name{font-size:clamp(15px,1.4vw,20px);margin-top:6px}
.chef-el.open .el-tag{display:none}
.chef-el.open .el-detail{display:block;margin-top:12px}
.chef-el.open .cl-q{font-size:clamp(19px,1.9vw,28px)}
.chef-el.open .cl-obj{font-size:16px;margin-top:16px}
.chef-el.open .cl-obj span{margin-bottom:4px}
.chef-more{display:inline-block;margin-top:48px;font-family:var(--font-med);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--pink);transition:padding-left .25s}
.chef-more:hover{padding-left:8px}
@media(max-width:980px){.chef-els{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.chef-els{grid-template-columns:1fr 1fr;gap:12px}}

/* RESULTS KPIs */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:60px}
.kpi{border:1px solid var(--line);border-radius:0;padding:34px 28px;background:var(--panel);cursor:default;transition:.3s;position:relative;overflow:hidden}
.kpi:hover{border-color:var(--pink)}
.kpi .n{font-family:var(--font-display);font-size:clamp(40px,5vw,72px);color:var(--pink);line-height:.9}
.kpi .l{font-family:var(--font-med);font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-top:12px;color:#cfcbc0}
.kpi .rev{margin-top:14px;font-size:13px;color:var(--muted);max-height:0;overflow:hidden;opacity:0;transition:max-height .4s,opacity .3s}
.kpi:hover .rev{max-height:120px;opacity:1}
@media(max-width:880px){.kpis{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.kpis{grid-template-columns:1fr}}

/* GLOBAL REACH */
.reach-wrap{margin-top:48px;position:relative;border:1px solid var(--line);border-radius:0;overflow:hidden;background:#050505}
#reachCanvas{display:block;width:100%;height:520px}
.reach-controls{position:absolute;top:20px;left:20px;display:flex;flex-wrap:wrap;gap:8px;z-index:3}
.reach-controls button{background:rgba(18,18,18,.7);border:1px solid var(--line);color:#cfcbc0;font-family:var(--font-med);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:8px 15px;border-radius:999px;cursor:pointer;transition:.2s;backdrop-filter:blur(4px)}
.reach-controls button:hover{border-color:var(--pink);color:#fff}
.reach-controls button.active{background:var(--pink);border-color:var(--pink);color:#fff}
.reach-legend{position:absolute;bottom:18px;left:20px;right:20px;z-index:3;display:flex;flex-wrap:wrap;gap:14px;font-size:11px;letter-spacing:.04em;color:var(--muted)}
.reach-legend span{display:flex;align-items:center;gap:7px}
.reach-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
@media(max-width:600px){#reachCanvas{height:420px}}

/* PROJECT EXPLORER */
.filters-row{margin-top:40px;display:flex;flex-wrap:wrap;gap:10px}
.filters-row button{background:var(--panel);border:1px solid var(--line);color:#cfcbc0;font-family:var(--font-med);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:9px 16px;border-radius:999px;cursor:pointer;transition:.2s}
.filters-row button:hover{border-color:var(--pink);color:#fff}
.filters-row button.active{background:var(--pink);border-color:var(--pink);color:#fff}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.proj{border:1px solid var(--line);border-radius:0;padding:26px;background:linear-gradient(150deg,#181818,#0c0c0c);aspect-ratio:5/6;display:flex;flex-direction:column;justify-content:space-between;transition:.3s;cursor:pointer}
.proj:hover{border-color:var(--pink);transform:translateY(-4px)}
.proj.hide{display:none}
.proj .pn{font-family:var(--font-med);font-size:12px;letter-spacing:.12em;color:var(--pink);text-transform:uppercase}
.proj h3{font-family:var(--font-display);font-size:28px;text-transform:uppercase;margin-top:auto;line-height:.95}
.proj .ty{font-size:13px;color:#a8a39a;margin-top:8px}
.proj .st{margin-top:14px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#cfcbc0;border-top:1px solid var(--line);padding-top:12px}
@media(max-width:880px){.proj-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.proj-grid{grid-template-columns:1fr}}

/* PEOPLE NETWORK */
.net-wrap{margin-top:48px;position:relative;border:1px solid var(--line);border-radius:0;overflow:hidden;background:#050505}
#netCanvas{display:block;width:100%;height:540px}
.net-panel{position:absolute;top:20px;right:20px;width:300px;max-width:calc(100% - 40px);background:rgba(14,14,14,.92);border:1px solid var(--line);border-radius:0;padding:24px;z-index:3;backdrop-filter:blur(8px);transform:translateY(8px);opacity:0;visibility:hidden;transition:.3s}
.net-panel.show{opacity:1;visibility:visible;transform:none}
.net-panel .av{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--pink),#7a1539);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);color:#fff;font-size:18px}
.net-panel h3{font-family:var(--font-display);font-size:22px;text-transform:uppercase;margin-top:16px;line-height:1}
.net-panel .role{color:var(--pink);font-family:var(--font-med);font-size:13px;margin-top:6px}
.net-panel .meta{margin-top:14px;font-size:13px;color:#bdb8ad;line-height:1.7}
.net-panel .meta b{color:var(--paper);font-family:var(--font-med);font-weight:500}
.net-hint{position:absolute;bottom:18px;left:20px;z-index:3;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
@media(max-width:600px){#netCanvas{height:460px}.net-panel{position:static;width:auto;margin:16px;opacity:1;visibility:visible;transform:none}}

/* HERD culture */
.herd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.herd-card{border:1px solid var(--line);border-radius:0;padding:30px;background:var(--panel);transition:.3s}
.herd-card:hover{border-color:var(--pink);transform:translateY(-4px)}
.herd-card .ic{font-family:var(--font-display);color:var(--pink);font-size:34px}
.herd-card h4{font-family:var(--font-med);font-size:16px;margin-top:16px;letter-spacing:0}
.herd-card p{font-size:14px;color:#a8a39a;margin-top:8px}
@media(max-width:880px){.herd-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.herd-grid{grid-template-columns:1fr}}

/* HERD, living global system (full-bleed, no box) */
.herd-live{position:relative;overflow:hidden;min-height:122vh;justify-content:flex-start;padding:0}
.herd-live #herdCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}
.herd-copy{position:relative;z-index:2;width:100%;padding-top:clamp(86px,12vh,150px);pointer-events:none}
.herd-copy .intro{max-width:560px}
.herd-pops{position:absolute;inset:0;z-index:2;pointer-events:none}
.herd-pop{position:absolute;display:flex;align-items:center;gap:9px;background:rgba(14,14,14,.62);border:1px solid var(--line);backdrop-filter:blur(6px);padding:8px 13px;font-family:var(--font-med);font-size:12px;color:#cfcbc0;letter-spacing:.02em;white-space:nowrap;opacity:0;transform:translateY(10px) scale(.97);transition:opacity .55s ease,transform .55s ease;transform-origin:left center}
.herd-pop.in{opacity:1;transform:none}
.herd-pop i{width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 0 rgba(237,25,109,.6);animation:pulse 2s infinite;flex:0 0 auto}
.herd-pop b{color:#fff;font-weight:500}
.contact-map{position:relative;width:100%;height:clamp(440px,60vh,680px);margin:clamp(34px,5vw,64px) 0 clamp(10px,2vw,24px)}
.contact-map canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.contact-map .herd-panel{background:#141414;border:1px solid #2a2a2a;border-radius:9px;padding:18px 20px;box-shadow:0 22px 55px rgba(0,0,0,.20)}
.contact-map .herd-panel h4{color:#f3f1ea}
.contact-map .herd-panel .hp-row{border-color:rgba(255,255,255,.12)}
.contact-map .herd-panel .hp-v{color:#e7e3d8}
.contact-map .herd-panel .hp-v a{color:var(--pink)}
.contact-list{display:none}
.cl-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border:1px solid var(--line);border-radius:8px;background:var(--surf)}
.cl-l{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;text-align:left}
.cl-name{font-family:var(--font-med);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-time{font-family:var(--font-display);font-size:21px;color:var(--text);line-height:1}
.cl-st{font-family:var(--font-med);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);display:flex;align-items:center;gap:6px;white-space:nowrap}
.cl-st.closed{color:var(--muted)}
.cl-st i{width:7px;height:7px;border-radius:50%;background:var(--pink);flex:0 0 auto}
.cl-st.closed i{background:#b9b3a6}
@media(max-width:760px){
  .contact-map{height:auto;margin:clamp(28px,7vw,46px) 0 clamp(8px,2vw,18px)}
  .contact-map canvas,.contact-map .herd-panel{display:none}
  .contact-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
}
@media(max-width:440px){.contact-list{grid-template-columns:1fr}}
.herd-panel{position:absolute;top:18px;right:18px;z-index:4;width:288px;max-width:calc(100% - 36px);background:none;border:none;padding:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.herd-panel.show{opacity:1;visibility:visible;transform:none}
.herd-panel .hp-status{display:flex;align-items:center;gap:8px;font-family:var(--font-med);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
.herd-panel .hp-status i{width:8px;height:8px;border-radius:50%;background:var(--pink)}
.herd-panel .hp-status.rest i{background:#5a5a5a}
.herd-panel .hp-status.rest{color:#8a867d}
.herd-panel h4{font-family:var(--font-display);font-size:26px;text-transform:uppercase;margin-top:12px;line-height:1}
.herd-panel .hp-time{font-family:var(--font-display);font-size:34px;color:#fff;line-height:1;margin-top:8px}
.herd-panel .hp-row{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.herd-panel .hp-k{font-family:var(--font-med);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8a867d}
.herd-panel .hp-v{font-size:14px;color:#e7e3d8;margin-top:4px;line-height:1.5}
.herd-panel .hp-v .pp{color:var(--pink)}
.herd-facts{position:absolute;left:0;right:0;bottom:clamp(56px,10vh,120px);z-index:2;width:calc(100% - clamp(48px,7vw,112px));max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,72px);pointer-events:none}
.herd-facts .hf{position:relative;max-width:330px;pointer-events:auto}
.hf-n{display:block;font-family:var(--font-display);font-size:14px;color:var(--pink);letter-spacing:.05em;margin-bottom:11px}
.hf-body{position:relative;border-top:1px solid rgba(255,255,255,.13);padding-top:14px}
.hf-body::before{content:"";position:absolute;top:-1px;left:0;width:0;height:2px;background:var(--pink);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.herd-facts .hf:hover .hf-body::before{width:100%}
.herd-facts .hf:hover .hf-t{color:var(--pink)}
.hf-t{font-family:var(--font-display);font-size:clamp(13px,1.05vw,16px);text-transform:uppercase;color:#f3f1ea;line-height:1.05;letter-spacing:0;transition:color .4s ease}
.hf-d{font-size:12px;color:#8a867d;margin-top:6px;line-height:1.5}
.herd-list{display:none}
.herd-list .hl-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.herd-list .hl-city{font-family:var(--font-med);font-size:13.5px;letter-spacing:.05em;color:#f3f1ea;text-transform:uppercase;display:flex;align-items:center;gap:9px}
.herd-list .hl-city::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pink);flex:0 0 auto}
.herd-list .hl-row.rest .hl-city::before{background:#5a5a5a}
.herd-list .hl-time{font-family:var(--font-display);font-size:18px;color:var(--pink)}
.herd-list .hl-row.rest .hl-time{color:#6a665d}
@media(max-width:760px){.herd-panel{display:none}.herd-facts{grid-template-columns:1fr;gap:14px;bottom:18px}.herd-facts .hf{max-width:none}}
@media(max-width:720px){
  .herd-live{min-height:auto;padding-bottom:clamp(48px,9vw,90px)}
  .herd-live #herdCanvas,.herd-pops,.herd-panel{display:none!important}
  .herd-list{display:block;position:relative;z-index:2;margin:26px 0 0;padding:0 var(--pad)}
  .herd-facts{position:static;width:auto;max-width:none;margin:34px 0 0;padding:0 var(--pad);transform:none}
}

/* CONTACT */
.contact{padding:140px 0 90px;text-align:center;background:radial-gradient(100% 90% at 50% 0%, #161616 0%, var(--ink) 60%)}
.contact h2{font-family:var(--font-display);font-size:clamp(44px,9vw,150px);text-transform:uppercase;line-height:1.18}
.contact h2 .pink{color:var(--pink)}
.contact p.sub{max-width:560px;margin:24px auto 0;color:#bdb8ad;font-size:17px}
.offices{margin-top:80px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left}
.office{border:1px solid var(--line);border-radius:0;padding:26px;background:var(--panel);transition:.3s}
.office:hover{border-color:var(--pink)}
.office .city{font-family:var(--font-display);font-size:24px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.office .time{font-family:var(--font-med);font-size:13px;color:var(--pink);letter-spacing:.06em}
.office .addr{font-size:13px;color:#a8a39a;margin-top:12px;line-height:1.5}
@media(max-width:880px){.offices{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.offices{grid-template-columns:1fr}}
/* CONTACT, light variant */
.contact-light{background:radial-gradient(100% 90% at 50% 0%, #ffffff 0%, #f3f1ea 60%);color:#0e0e0e}
.contact-light h2{color:#0e0e0e}
.contact-light h2 .pink{color:var(--pink)}
.contact-light p.sub{color:#56544e}
.contact-light .office{background:#fff;border-color:rgba(0,0,0,.12)}
.contact-light .office:hover{border-color:var(--pink)}
.contact-light .office .city{color:#0e0e0e}
.contact-light .office .time{color:var(--pink)}
.contact-light .office .addr{color:#6a665d}
#sayHi{display:inline-block;transition:opacity .22s ease,transform .22s ease}
#sayHi.swap{opacity:0;transform:translateY(8px)}
/* contact 3D globe */
.globe-wrap{position:relative;width:100%;max-width:680px;margin:46px auto 0;height:clamp(340px,46vw,500px)}
.globe-wrap canvas{width:100%;height:100%;display:block;cursor:grab}
.globe-info{max-width:680px;margin:8px auto 0;text-align:center;min-height:120px}
.gi-status{font-family:var(--font-med);font-size:11px;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}
.gi-status i{width:8px;height:8px;border-radius:50%}
.gi-city{font-family:var(--font-display);font-size:clamp(34px,5vw,60px);text-transform:uppercase;line-height:.95;margin-top:10px;color:#0e0e0e}
.gi-time{font-family:var(--font-display);font-size:clamp(20px,2.4vw,30px);color:var(--pink);margin-top:4px}
.gi-meta{font-size:14px;color:#56544e;margin-top:12px;line-height:1.5}
.gi-link{display:inline-block;margin-top:12px;font-family:var(--font-med);font-size:13px;letter-spacing:.04em;color:var(--pink);border-bottom:1px solid rgba(237,25,109,.35);padding-bottom:2px;transition:border-color .2s}
.gi-link:hover{border-color:var(--pink)}
.gi-hint{font-family:var(--font-med);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9a958a;margin-top:40px}
/* HUBES, mini spinning globes, one per office */
.hubs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 14px;max-width:1040px;margin:44px auto 0}
@media(max-width:760px){.hubs-grid{grid-template-columns:repeat(2,1fr)}}
.hub{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px 4px;color:inherit;border-radius:10px;transition:background .25s}
.hub:hover{background:rgba(0,0,0,.025)}
.hub-canvas{width:100%;max-width:148px;aspect-ratio:1}
.hub-name{font-family:var(--font-display);font-size:17px;text-transform:uppercase;letter-spacing:0;color:#0e0e0e;margin-top:4px}
.hub-status{font-family:var(--font-med);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-top:5px;display:inline-flex;align-items:center;gap:6px}
.hub-status i{width:7px;height:7px;border-radius:50%}
.hub-info{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .3s,margin-top .3s;font-size:12.5px;color:#56544e;line-height:1.55}
.hub.open .hub-info{max-height:120px;opacity:1;margin-top:9px}
.hub-info a{color:var(--pink);border-bottom:1px solid rgba(237,25,109,.35)}
.contact-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:50px}
.contact-light .btn-ghost{border-color:rgba(0,0,0,.22);color:#0e0e0e}
.contact-light .btn-ghost:hover{border-color:var(--pink);color:var(--pink)}

footer{border-top:1px solid var(--line);padding:clamp(48px,7vw,80px) 0 28px;font-size:14px;color:#fff;background:#0a0a0a}
footer .ft-grid{display:grid;grid-template-columns:1.3fr .9fr 1.25fr 1.15fr;gap:clamp(28px,4vw,48px);padding-bottom:clamp(36px,5vw,56px);border-bottom:1px solid var(--line)}
.ft-brand .ft-logo{display:inline-block;margin-bottom:18px}
.ft-brand .ft-logo img{height:44px;width:auto;display:block}
.ft-brand p{font-size:14px;line-height:1.6;color:#fff;max-width:280px}
.ft-col h4{font-family:var(--font-med);font-size:16px;letter-spacing:0;text-transform:uppercase;color:#fff;margin-bottom:18px}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.ft-col a{color:#fff;font-size:14px;letter-spacing:0;text-transform:none;transition:color .2s;display:inline-block;line-height:1.45}
.ft-col a:hover{color:var(--pink)}
.ft-contact .ft-addr{color:#fff;font-size:14px;line-height:1.55;margin-bottom:12px}
.ft-contact .ft-mail{display:inline-block;color:#fff;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:2px;word-break:break-word}
.ft-contact .ft-mail:hover{color:var(--pink);border-color:var(--pink)}
.ft-social{display:flex;gap:10px;flex-wrap:wrap}
.ft-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.16);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-med);font-size:11px;letter-spacing:.04em;transition:background .2s,border-color .2s,color .2s}
.ft-social a svg{display:block}
.ft-social a:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 24px;padding-top:22px;font-size:12px;letter-spacing:.04em;color:#fff}
.ft-legal{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.ft-legal a{color:#fff;font-size:12px}
.ft-legal a:hover{color:var(--pink)}
@media(max-width:900px){
  footer .ft-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
  .ft-brand{grid-column:1/-1}
  .ft-brand p{max-width:520px}
}
@media(max-width:560px){
  footer{padding:40px 0 24px}
  footer .ft-grid{grid-template-columns:1fr;gap:28px;padding-bottom:28px}
  .ft-brand{grid-column:auto}
  .ft-brand p{max-width:none}
  .ft-bottom{
    flex-direction:column;align-items:flex-start;gap:12px;
    padding-top:18px;
  }
  .ft-legal{gap:10px 18px}
}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
