@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');

:root{--ink:#0a0a0a;--paper:#f2efe8;--magenta:#e5007d;--acid:var(--magenta);--muted:#a7a7a2;--line:rgba(10,10,10,.14)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif} button,a{font:inherit} button{cursor:pointer} a{color:inherit;text-decoration:none}.site-shell{overflow:hidden}.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:84px;display:flex;align-items:center;padding:0 4.2vw;transition:.35s;background:transparent}.topbar.is-scrolled{height:70px;background:rgba(242,239,232,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(10,10,10,.08)}.brand{display:flex;flex-direction:column;border:0;background:transparent;align-items:flex-start;padding:0;color:inherit}.brand-mark{font-family:'Manrope',sans-serif;font-size:25px;font-weight:700;line-height:.8;letter-spacing:-1.3px}.brand-sub{text-transform:uppercase;font-size:8px;letter-spacing:2.1px;margin-top:7px}.desktop-nav{display:flex;gap:28px;margin-left:auto;margin-right:36px}.desktop-nav button{background:none;border:0;font-size:13px}.header-cta{border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fff;padding:11px 16px;display:flex;gap:10px;align-items:center}.menu-btn{display:none;background:none;border:0}.mobile-menu{position:fixed;z-index:45;inset:70px 0 auto 0;background:var(--paper);padding:30px 4vw;display:grid;gap:20px;border-bottom:1px solid var(--line)}.mobile-menu button{background:none;border:0;text-align:left;font-size:30px}.hero{min-height:100vh;padding:160px 4.2vw 42px;position:relative}.hero-kicker,.eyebrow{font-size:11px;font-weight:600;letter-spacing:2.7px}.hero h1{font-family:'Manrope',sans-serif;font-weight:500;font-size:clamp(72px,10.4vw,168px);line-height:.83;letter-spacing:-.065em;margin:54px 0 42px;max-width:1500px}.hero h1 em,.loop-head h2 em,.tech-intro h2 em,.cases-title h2 em,.map-copy h2 em{font-family:Georgia,serif;font-weight:400}.hero-bottom{display:flex;justify-content:flex-end;gap:70px;align-items:center;margin:0 2vw 44px auto;max-width:760px}.hero-bottom p{font-size:19px;line-height:1.45;max-width:580px;margin:0}.round-link{width:58px;height:58px;border-radius:50%;background:var(--acid);border:0;display:grid;place-items:center}.hero-media{height:340px;background:linear-gradient(120deg,#111 0%,#272727 54%,#111 100%);position:relative;overflow:hidden;border-radius:2px}.hero-media:before,.hero-media:after{content:"";position:absolute;border-radius:50%;filter:blur(1px)}.hero-media:before{width:420px;height:420px;background:#5d6949;right:12%;top:-40px;opacity:.5}.hero-media:after{width:280px;height:280px;background:#b97650;left:10%;bottom:-140px;opacity:.45}.grain{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.11) .7px, transparent .7px);background-size:4px 4px;mix-blend-mode:overlay}.hero-media-copy{position:absolute;inset:auto 28px 24px;display:flex;justify-content:space-between;color:white;font-size:10px;letter-spacing:2.5px}.play-chip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.65);background:rgba(0,0,0,.32);backdrop-filter:blur(8px);color:white;border-radius:999px;padding:12px 17px;display:flex;gap:9px;align-items:center}.manifesto,.journey-section,.cases-section,.map-section{padding:120px 4.2vw}.manifesto-grid,.section-title-row{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;margin:46px 0 100px}.manifesto h2,.section-title-row h2,.map-copy h2{font-family:'Manrope',sans-serif;font-size:clamp(50px,6.4vw,96px);line-height:.95;letter-spacing:-.055em;margin:0;font-weight:500}.manifesto h2 span{font-family:Georgia,serif;font-style:italic;font-weight:400}.manifesto-grid .lead{font-size:25px;line-height:1.3;margin-top:0}.manifesto-grid p:not(.lead){font-size:16px;line-height:1.6;color:#5b5b57}.manifesto-grid a,.map-copy a{display:inline-flex;gap:8px;align-items:center;border-bottom:1px solid;padding-bottom:4px;margin-top:26px;font-weight:600}.service-table{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:70px 1fr 1.25fr 30px;gap:20px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.service-num{font-size:11px}.service-row h3{font-family:'Manrope',sans-serif;font-size:31px;margin:0;font-weight:500}.service-row p{margin:0;color:#686864;line-height:1.55}.loop-section,.tech-section,.contact-section{background:var(--ink);color:#fff;padding:120px 4.2vw}.eyebrow.light{color:#b8b8b4}.loop-head h2,.tech-intro h2,.contact-top h2{font-family:'Manrope',sans-serif;font-size:clamp(50px,6.8vw,106px);font-weight:500;line-height:.95;letter-spacing:-.055em;margin:46px 0 100px}.loop-head h2 em,.tech-intro h2 em{color:var(--acid)}.loop-flow{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #333;border-bottom:1px solid #333;padding:34px 0;gap:10px;overflow:auto}.loop-step{min-width:max-content;font-size:18px}.loop-step span{font-size:10px;color:#777;margin-right:10px}.loop-arrow{color:#555;flex:0 0 auto}.loop-copy{display:flex;justify-content:flex-end}.loop-copy p{max-width:630px;font-size:22px;line-height:1.45;color:#d0d0cd;margin:70px 0 0}.section-title-row p{font-size:20px;line-height:1.5;margin:10px 0 0;color:#5f5f5a}.journey-line{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.journey-item{padding:28px 10px 52px;border-right:1px solid var(--line);min-height:145px;display:flex;flex-direction:column;justify-content:space-between}.journey-item:last-child{border-right:0}.journey-item span{font-size:10px;color:#777}.journey-item strong{font-size:17px}.addon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:70px;border:1px solid var(--line)}.addon-grid article{background:var(--paper);padding:28px;min-height:260px;display:flex;flex-direction:column}.addon-grid article svg{margin-left:auto}.addon-grid h3{font-family:'Manrope',sans-serif;font-size:23px;margin:auto 0 12px}.addon-grid p{color:#66625e;line-height:1.5;margin:0}.tech-intro h2{margin-bottom:70px}.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tech-grid article{border:1px solid #2d2d2d;padding:28px;min-height:390px;position:relative;overflow:hidden}.tech-grid article>span{font-size:10px;color:#777}.tech-grid h3{font-family:'Manrope',sans-serif;font-size:34px;font-weight:500;margin:82px 0 16px}.tech-grid p{color:#b6b6b2;line-height:1.5;max-width:340px}.mock-ui{position:absolute;left:28px;right:28px;bottom:-18px;background:#151515;border:1px solid #2a2a2a;border-radius:12px 12px 0 0;padding:14px;display:grid;gap:9px}.mock-ui div{height:24px;border-radius:4px;background:#222}.mock-ui div:nth-child(2){width:72%;background:#2a2a2a}.bars{position:absolute;left:28px;right:28px;bottom:30px;height:95px;display:flex;gap:10px;align-items:end}.bars i{flex:1;background:var(--acid);opacity:.85}.bars i:nth-child(1){height:22%}.bars i:nth-child(2){height:48%}.bars i:nth-child(3){height:36%}.bars i:nth-child(4){height:80%}.bars i:nth-child(5){height:64%}.flow-dots{position:absolute;left:28px;right:28px;bottom:64px;display:flex;justify-content:space-between}.flow-dots:before{content:"";position:absolute;top:7px;left:8px;right:8px;height:1px;background:#3c3c3c}.flow-dots i{width:15px;height:15px;border-radius:50%;background:#fff;position:relative}.flow-dots i:last-child{background:var(--acid)}.cases-title{align-items:end;margin-bottom:60px}.cases-title button{justify-self:end;background:none;border:0;border-bottom:1px solid;display:flex;gap:8px;padding:0 0 5px}.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.case-card{position:relative}.case-index{font-size:10px;margin-bottom:10px}.case-visual{height:480px;display:flex;align-items:flex-end;padding:28px;position:relative;overflow:hidden}.case-visual:before,.case-visual:after{content:"";position:absolute;border-radius:50%}.case-warm .case-visual{background:#d0a173}.case-warm .case-visual:before{width:280px;height:390px;background:#7f4932;left:20%;bottom:-120px}.case-cool .case-visual{background:#8aa5ab}.case-cool .case-visual:before{width:330px;height:330px;background:#d8d0bf;right:-60px;top:50px}.case-dark .case-visual{background:#4f5354}.case-dark .case-visual:before{width:370px;height:230px;background:#212222;left:-40px;bottom:20px;border-radius:0}.case-visual span{position:relative;z-index:2;background:rgba(255,255,255,.88);padding:7px 10px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.case-info{padding-top:20px;display:grid;grid-template-columns:1fr auto;gap:12px}.case-info small{color:#777}.case-info h3{font-family:'Manrope',sans-serif;font-size:25px;line-height:1.12;margin:8px 0 0}.case-info p{grid-column:1;font-size:12px;color:#6d6d68;margin:0}.case-info svg{grid-row:1/3;grid-column:2;align-self:center}.map-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;background:#dfddd6}.map-copy p{max-width:560px;font-size:19px;line-height:1.55;color:#55544f;margin:38px 0 0}.map-visual{min-height:610px;display:grid;place-items:center}.nl-shape{width:310px;height:460px;background:#111;clip-path:polygon(41% 0,63% 8%,72% 19%,67% 33%,78% 43%,70% 57%,63% 64%,68% 78%,56% 100%,37% 91%,28% 77%,20% 66%,27% 52%,16% 42%,22% 28%,31% 18%);position:relative}.dot{position:absolute;width:10px;height:10px;background:var(--acid);border:2px solid #111;border-radius:50%;box-shadow:0 0 0 2px var(--acid)}.d1{top:14%;left:49%}.d2{top:35%;left:56%}.d3{top:53%;left:45%}.d4{top:72%;left:49%}.d5{top:87%;left:53%}.contact-top h2{max-width:1200px;margin-bottom:110px}.contact-bottom{border-top:1px solid #333;padding-top:34px}.big-mail{font-family:'Manrope',sans-serif;font-size:clamp(25px,4vw,58px);letter-spacing:-.04em;display:flex;justify-content:space-between;align-items:center;padding-bottom:30px;border-bottom:1px solid #333}.contact-meta{display:grid;grid-template-columns:repeat(3,1fr);padding-top:34px;color:#a9a9a6;font-size:13px;line-height:1.6}footer{padding:32px 4.2vw;display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:end;font-size:11px}.footer-brand .brand-mark{font-size:22px}
@media(max-width:900px){.desktop-nav,.header-cta{display:none}.menu-btn{display:block;margin-left:auto}.hero{padding-top:130px}.hero h1{font-size:19vw}.hero-bottom{display:grid;grid-template-columns:1fr auto;gap:20px}.hero-bottom p{font-size:17px}.hero-media{height:290px}.manifesto-grid,.section-title-row,.map-section{grid-template-columns:1fr;gap:36px}.manifesto-grid{margin-bottom:70px}.service-row{grid-template-columns:45px 1fr 25px}.service-row p{grid-column:2}.service-arrow{grid-column:3;grid-row:1/3}.loop-flow{justify-content:flex-start;gap:20px}.journey-line{grid-template-columns:repeat(3,1fr)}.addon-grid,.tech-grid,.cases-grid{grid-template-columns:1fr 1fr}.tech-grid article:last-child{grid-column:1/3}.case-visual{height:420px}.contact-meta{grid-template-columns:1fr;gap:20px}footer{grid-template-columns:1fr;gap:18px}}
@media(max-width:620px){.hero{padding-left:20px;padding-right:20px}.hero h1{margin-top:44px;font-size:20vw}.hero-bottom{grid-template-columns:1fr}.hero-media-copy{display:none}.manifesto,.journey-section,.cases-section,.map-section,.loop-section,.tech-section,.contact-section{padding:90px 20px}.manifesto h2,.section-title-row h2,.map-copy h2,.loop-head h2,.tech-intro h2,.contact-top h2{font-size:13vw}.service-row{padding:24px 0}.service-row h3{font-size:25px}.journey-line{grid-template-columns:1fr 1fr}.addon-grid,.tech-grid,.cases-grid{grid-template-columns:1fr}.tech-grid article:last-child{grid-column:auto}.case-visual{height:360px}.map-visual{min-height:420px}.nl-shape{transform:scale(.75)}.big-mail{font-size:8vw;gap:20px;word-break:break-word}.topbar{padding-left:20px;padding-right:20px}footer{padding:28px 20px}}

/* v3 — real portfolio photography + Imagine Magenta buttons */
.header-cta,.magenta-button,.case-arrow{background:var(--acid);color:#fff;border-color:var(--acid)}
.header-cta:hover,.magenta-button:hover,.case-arrow:hover{filter:brightness(.92);transform:translateY(-1px)}
.magenta-button{border:0;border-radius:999px;padding:13px 18px;font-weight:600;display:inline-flex;align-items:center;gap:12px;transition:.2s ease}
.round-link{color:#fff}
.cases-title button.magenta-button{border-bottom:0;padding:13px 18px}
.case-visual{height:480px;padding:20px;background:#ddd}
.case-visual:before,.case-visual:after{display:none!important}
.case-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.case-visual span{position:relative;z-index:2;background:#fff;color:var(--ink);padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}
.case-info{padding-top:20px;grid-template-columns:1fr auto;align-items:end}
.case-info h3{max-width:360px}
.case-arrow{grid-row:1/3;grid-column:2;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:25px;line-height:1;transition:.2s ease}
.instagram-link{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:13px}
.instagram-link .instagram-icon{width:27px;height:27px;border:2px solid var(--acid);border-radius:8px;color:var(--acid);display:grid;place-items:center;font-size:19px;font-weight:700;line-height:1}
.instagram-link>span:nth-child(2){font-weight:600}
.instagram-link strong{font-size:11px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:2px}
.instagram-link:hover strong{color:var(--acid)}
@media(max-width:900px){.case-visual{height:420px}.instagram-link{grid-template-columns:auto 1fr}.instagram-link strong{grid-column:2}}
@media(max-width:620px){.case-visual{height:420px}.case-arrow{width:48px;height:48px}.instagram-link{margin-top:20px}}

/* v7 — strategy enters the loop */
.strategy-loop{position:relative;max-width:1180px;margin:0 auto;min-height:690px}
.strategy-entry{position:absolute;z-index:4;top:42px;left:0;width:50%;display:flex;align-items:center;color:#fff}
.strategy-entry-copy{display:flex;flex-direction:column;min-width:190px}
.strategy-entry-copy span,.loop-node span{font-size:10px;letter-spacing:1.8px;color:var(--magenta);font-weight:600}
.strategy-entry-copy strong{font-family:'Manrope',sans-serif;font-size:34px;font-weight:500;margin:4px 0 2px}
.strategy-entry-copy small,.loop-node small{color:#888;font-size:14px}
.entry-line{height:1px;background:#fff;flex:1;margin:0 10px 0 28px;opacity:.8}
.entry-arrow{font-size:30px;line-height:1;margin-right:-8px}
.simple-loop{position:absolute;width:540px;height:540px;left:50%;top:0;transform:translateX(0)}
.loop-ring{position:absolute;inset:0;border:2px solid #484848;border-radius:50%}
.loop-ring:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid transparent;border-right-color:var(--magenta);transform:rotate(-22deg)}
.loop-center{position:absolute;inset:35%;border:1px solid #343434;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.loop-center span{font-size:9px;letter-spacing:4px;color:#777}.loop-center strong{font-family:'Manrope',sans-serif;font-size:24px}
.loop-node{position:absolute;display:flex;flex-direction:column;gap:3px;min-width:165px}
.loop-node:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--magenta);border:3px solid #fff}
.loop-node strong{font-family:'Manrope',sans-serif;font-size:26px;font-weight:500}
.node-create{top:-4px;left:50%;transform:translateX(-50%);text-align:center;align-items:center}.node-create:before{top:72px;left:50%;transform:translateX(-50%)}
.node-distribute{right:-165px;top:225px}.node-distribute:before{left:-32px;top:25px}
.node-measure{left:50%;bottom:-82px;transform:translateX(-50%);text-align:center;align-items:center}.node-measure:before{top:-28px;left:50%;transform:translateX(-50%)}
.node-improve{left:-150px;top:225px;text-align:right;align-items:flex-end}.node-improve:before{right:-32px;top:25px}
.loop-copy{margin-top:0}
@media(max-width:900px){.strategy-loop{min-height:650px}.strategy-entry{position:relative;top:auto;left:auto;width:52%;padding-top:10px}.simple-loop{width:430px;height:430px;left:52%;top:130px}.node-distribute{right:-135px;top:175px}.node-improve{left:-125px;top:175px}.loop-node strong{font-size:21px}.loop-node small{font-size:12px}.node-create:before{top:62px}}
@media(max-width:620px){.strategy-loop{min-height:auto}.strategy-entry{position:relative;width:100%;margin:0 0 72px}.strategy-entry-copy{min-width:130px}.strategy-entry-copy strong{font-size:25px}.strategy-entry-copy small{font-size:11px}.entry-line{margin-left:18px}.simple-loop{position:relative;top:auto;left:auto;transform:none;width:min(76vw,320px);height:min(76vw,320px);margin:0 auto 150px}.loop-center{inset:32%}.loop-node{min-width:120px}.loop-node strong{font-size:18px}.loop-node small{font-size:10px}.node-create{top:-8px}.node-create:before{top:56px}.node-distribute{right:-65px;top:125px}.node-measure{bottom:-70px}.node-improve{left:-65px;top:125px}.node-distribute:before{left:-20px}.node-improve:before{right:-20px}.node-measure:before{top:-20px}.loop-copy p{margin-top:0;font-size:18px}}

/* v8 — refined strategy entry + animated Imagine Loop */
.strategy-loop{
  --loop-size:540px;
  --loop-top:74px;
  position:relative;
  max-width:1240px;
  margin:0 auto;
  min-height:700px;
}
.strategy-entry{
  position:absolute;
  z-index:5;
  left:0;
  top:var(--loop-top);
  width:32%;
  color:#fff;
  transform:translateY(-50%);
}
.strategy-entry-copy{display:flex;flex-direction:column;gap:0}
.strategy-entry-copy span{font-size:10px;letter-spacing:2px;color:var(--magenta);font-weight:600}
.strategy-entry-copy strong{font-family:'Manrope',sans-serif;font-size:38px;font-weight:500;line-height:1.05;margin:8px 0 7px}
.strategy-entry-copy small{color:#858585;font-size:14px}
.strategy-connector{
  position:absolute;
  z-index:3;
  left:23%;
  right:calc(var(--loop-size) / 2);
  top:var(--loop-top);
  height:1px;
  background:rgba(255,255,255,.88);
  overflow:visible;
}
.strategy-connector:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  transform-origin:left center;
  background:linear-gradient(90deg,#fff 0%,#fff 78%,var(--magenta) 100%);
  animation:connectorDraw 1.4s cubic-bezier(.22,.8,.2,1) both;
}
.strategy-connector i{
  position:absolute;
  right:-5px;
  top:50%;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#fff;
  transform:translate(50%,-50%);
  box-shadow:0 0 0 5px rgba(229,0,125,.14),0 0 18px rgba(229,0,125,.45);
  animation:entryPulse 3.8s ease-in-out infinite 1.2s;
}
.simple-loop{
  position:absolute;
  width:var(--loop-size);
  height:var(--loop-size);
  right:0;
  top:var(--loop-top);
  transform:translateY(0);
}
.loop-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
.loop-svg circle{fill:none;vector-effect:non-scaling-stroke}
.loop-base{stroke:#4a4a4a;stroke-width:2}
.loop-motion{
  stroke:var(--magenta);
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-dasharray:220 1470;
  filter:drop-shadow(0 0 5px rgba(229,0,125,.7));
  animation:loopTravel 7.5s linear infinite;
}
.loop-center{
  position:absolute;
  inset:34%;
  border:1px solid #343434;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  background:rgba(8,8,8,.18);
}
.loop-center span{font-size:9px;letter-spacing:4px;color:#777}
.loop-center strong{font-family:'Manrope',sans-serif;font-size:24px;line-height:1}
.loop-center b{font-family:'Manrope',sans-serif;font-size:31px;line-height:1;color:var(--magenta);font-weight:500;margin-top:3px}
.loop-node{
  position:absolute;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:180px;
  z-index:4;
}
.loop-node:before{
  content:"";
  position:absolute;
  width:15px;
  height:15px;
  border-radius:50%;
  background:var(--magenta);
  border:3px solid #fff;
  box-shadow:0 0 0 0 rgba(229,0,125,.3);
  animation:nodePulse 7.5s ease-in-out infinite;
}
.loop-node strong{font-family:'Manrope',sans-serif;font-size:27px;font-weight:500;line-height:1.05}
.loop-node small{color:#888;font-size:14px}
.node-create{
  top:-88px;
  left:50%;
  transform:translateX(-50%);
  text-align:center;
  align-items:center;
}
.node-create:before{top:79px;left:50%;transform:translateX(-50%);animation-delay:0s}
.node-distribute{right:-177px;top:50%;transform:translateY(-50%)}
.node-distribute:before{left:-32px;top:50%;transform:translateY(-50%);animation-delay:1.875s}
.node-measure{left:50%;bottom:-91px;transform:translateX(-50%);text-align:center;align-items:center}
.node-measure:before{top:-29px;left:50%;transform:translateX(-50%);animation-delay:3.75s}
.node-improve{left:-170px;top:50%;transform:translateY(-50%);text-align:right;align-items:flex-end}
.node-improve:before{right:-32px;top:50%;transform:translateY(-50%);animation-delay:5.625s}
@keyframes connectorDraw{from{transform:scaleX(0);opacity:.2}to{transform:scaleX(1);opacity:1}}
@keyframes entryPulse{0%,70%,100%{box-shadow:0 0 0 5px rgba(229,0,125,.11),0 0 12px rgba(229,0,125,.28)}82%{box-shadow:0 0 0 10px rgba(229,0,125,0),0 0 24px rgba(229,0,125,.7)}}
@keyframes loopTravel{from{stroke-dashoffset:0}to{stroke-dashoffset:-1690}}
@keyframes nodePulse{0%,13%,100%{box-shadow:0 0 0 0 rgba(229,0,125,.25)}5%{box-shadow:0 0 0 9px rgba(229,0,125,0),0 0 18px rgba(229,0,125,.7)}}
@media (prefers-reduced-motion:reduce){.strategy-connector:before,.strategy-connector i,.loop-motion,.loop-node:before{animation:none!important}.loop-motion{stroke-dasharray:0 9999}}
@media(max-width:1050px){
  .strategy-loop{--loop-size:450px;--loop-top:78px;min-height:620px}
  .strategy-entry{width:28%}.strategy-entry-copy strong{font-size:32px}
  .strategy-connector{left:24%;right:calc(var(--loop-size) / 2)}
  .loop-node strong{font-size:22px}.loop-node small{font-size:12px}
  .node-create{top:-78px}.node-create:before{top:69px}
  .node-distribute{right:-145px}.node-improve{left:-140px}
  .node-measure{bottom:-80px}
}
@media(max-width:760px){
  .strategy-loop{--loop-size:min(78vw,390px);--loop-top:0;min-height:auto;padding-top:0}
  .strategy-entry{position:relative;top:auto;left:auto;width:100%;transform:none;margin-bottom:56px}
  .strategy-entry-copy strong{font-size:30px}
  .strategy-connector{display:none}
  .simple-loop{position:relative;right:auto;top:auto;width:var(--loop-size);height:var(--loop-size);margin:100px auto 125px}
  .node-create{top:-74px}.node-create:before{top:65px}
  .node-distribute{right:-72px;min-width:130px}.node-improve{left:-72px;min-width:130px}
  .node-distribute strong,.node-improve strong{font-size:19px}.node-distribute small,.node-improve small{font-size:10px}
  .node-measure{bottom:-72px}.node-measure strong,.node-create strong{font-size:21px}
  .node-measure:before{top:-24px}
  .node-distribute:before{left:-23px}.node-improve:before{right:-23px}
  .loop-center strong{font-size:18px}.loop-center b{font-size:24px}.loop-center span{font-size:7px;letter-spacing:3px}
}


/* v9 — exact strategy-to-create alignment */
.strategy-loop{
  --strategy-line-start:290px;
}
.strategy-connector{
  left:var(--strategy-line-start);
  right:auto;
  width:calc(100% - var(--strategy-line-start) - (var(--loop-size) / 2));
  top:var(--loop-top);
  height:1px;
  background:transparent;
  overflow:hidden;
}
.strategy-connector:before{
  left:0;
  right:auto;
  width:100%;
  background:rgba(255,255,255,.92);
  transform-origin:left center;
  animation:connectorDraw 1.35s cubic-bezier(.22,.8,.2,1) both;
}
.strategy-connector i{display:none!important}
.node-create:before{
  top:78px;
}
@media(max-width:1050px){
  .strategy-loop{--strategy-line-start:245px}
  .strategy-connector{
    left:var(--strategy-line-start);
    right:auto;
    width:calc(100% - var(--strategy-line-start) - (var(--loop-size) / 2));
  }
}

/* v10 — exact loop geometry and left-side explanation */
.strategy-loop{
  --loop-size:540px;
  --loop-top:74px;
  --strategy-line-start:290px;
  position:relative;
  max-width:1240px;
  margin:0 auto;
  min-height:690px;
}
.strategy-entry{
  position:absolute;
  z-index:5;
  left:0;
  top:calc(var(--loop-top) - 48px);
  width:330px;
  transform:none;
  color:#fff;
}
.strategy-entry-text{
  margin-top:48px;
  max-width:330px;
}
.strategy-entry-text p{
  margin:0;
  color:#c9c9c5;
  font-size:16px;
  line-height:1.65;
}
.simple-loop{
  left:auto !important;
  right:0 !important;
  top:var(--loop-top) !important;
  width:var(--loop-size) !important;
  height:var(--loop-size) !important;
  transform:none !important;
}
.strategy-connector{
  left:var(--strategy-line-start) !important;
  right:auto !important;
  top:var(--loop-top) !important;
  width:calc(100% - var(--strategy-line-start) - (var(--loop-size) / 2)) !important;
  height:1px !important;
  background:transparent !important;
  overflow:hidden !important;
}
.strategy-connector:before{
  width:100% !important;
  right:auto !important;
  background:rgba(255,255,255,.92) !important;
}

/* Anchor every label to an exact cardinal point of the circle. */
.loop-node{min-width:180px}
.loop-node:before{
  width:15px;
  height:15px;
  box-sizing:content-box;
}
.node-create{
  left:50% !important;
  top:0 !important;
  bottom:auto !important;
  right:auto !important;
  transform:translate(-50%,-100%) !important;
  padding-bottom:34px;
  text-align:center;
  align-items:center;
}
.node-create:before{
  left:50% !important;
  top:auto !important;
  bottom:-10.5px !important;
  transform:translateX(-50%) !important;
}
.node-distribute{
  left:100% !important;
  right:auto !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  padding-left:38px;
  text-align:left;
  align-items:flex-start;
}
.node-distribute:before{
  left:-10.5px !important;
  right:auto !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}
.node-measure{
  left:50% !important;
  top:100% !important;
  bottom:auto !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  padding-top:38px;
  text-align:center;
  align-items:center;
}
.node-measure:before{
  left:50% !important;
  top:-10.5px !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
}
.node-improve{
  right:100% !important;
  left:auto !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  padding-right:38px;
  text-align:right;
  align-items:flex-end;
}
.node-improve:before{
  right:-10.5px !important;
  left:auto !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}

@media(max-width:1050px){
  .strategy-loop{--loop-size:450px;--loop-top:88px;--strategy-line-start:245px;min-height:640px}
  .strategy-entry{width:285px;top:calc(var(--loop-top) - 42px)}
  .strategy-entry-text{max-width:270px;margin-top:36px}
  .strategy-entry-text p{font-size:14px}
}
@media(max-width:760px){
  .strategy-loop{--loop-size:min(76vw,390px);--loop-top:0;min-height:auto}
  .strategy-entry{position:relative;left:auto;top:auto;width:100%;margin-bottom:54px}
  .strategy-entry-text{max-width:520px;margin-top:28px}
  .strategy-connector{display:none!important}
  .simple-loop{position:relative!important;left:auto!important;right:auto!important;top:auto!important;margin:90px auto 145px!important}
  .node-create{padding-bottom:28px}
  .node-distribute{padding-left:24px;min-width:130px}
  .node-improve{padding-right:24px;min-width:130px}
  .node-measure{padding-top:28px}
}

/* v11 — editorial strategy composition: explanation left, strategy entry beside it */
.strategy-loop{
  --loop-size:540px;
  --loop-top:84px;
  --strategy-text-w:360px;
  --strategy-copy-x:405px;
  --strategy-line-start:575px;
  max-width:1240px;
  min-height:690px;
}
.strategy-entry{
  position:absolute;
  z-index:5;
  inset:0 auto auto 0;
  width:575px;
  height:100%;
  transform:none;
  display:block;
  color:#fff;
}
.strategy-entry-text{
  position:absolute;
  left:0;
  top:160px;
  width:var(--strategy-text-w);
  max-width:none;
  margin:0;
}
.strategy-entry-text p{
  margin:0;
  font-size:clamp(21px,1.65vw,27px);
  line-height:1.48;
  letter-spacing:-.018em;
  color:#d5d5d1;
}
.strategy-entry-copy{
  position:absolute;
  left:var(--strategy-copy-x);
  top:calc(var(--loop-top) - 36px);
  width:170px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.strategy-entry-copy span{font-size:10px;letter-spacing:2px;color:var(--magenta);font-weight:600}
.strategy-entry-copy strong{font-size:34px;line-height:1.05;margin:7px 0 6px;white-space:nowrap}
.strategy-entry-copy small{font-size:13px;white-space:nowrap}
.strategy-connector{
  left:var(--strategy-line-start)!important;
  top:var(--loop-top)!important;
  width:calc(100% - var(--strategy-line-start) - (var(--loop-size) / 2))!important;
  height:1px!important;
  background:transparent!important;
  overflow:hidden!important;
}
.strategy-connector:before{
  width:100%!important;
  height:1px!important;
  background:#4a4a4a!important;
  opacity:1!important;
}
.simple-loop{
  right:0!important;
  top:var(--loop-top)!important;
  width:var(--loop-size)!important;
  height:var(--loop-size)!important;
}
.loop-center{
  inset:37%!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.loop-center:before,.loop-center:after{display:none!important}

@media(max-width:1120px){
  .strategy-loop{
    --loop-size:460px;
    --loop-top:94px;
    --strategy-text-w:300px;
    --strategy-copy-x:325px;
    --strategy-line-start:470px;
    min-height:630px;
  }
  .strategy-entry{width:470px}
  .strategy-entry-text{top:175px}
  .strategy-entry-text p{font-size:19px}
  .strategy-entry-copy strong{font-size:29px}
}
@media(max-width:860px){
  .strategy-loop{--loop-size:min(72vw,430px);--loop-top:0;min-height:auto}
  .strategy-entry{position:relative;inset:auto;width:100%;height:auto;margin-bottom:70px;display:grid;grid-template-columns:1fr .7fr;gap:36px;align-items:start}
  .strategy-entry-text,.strategy-entry-copy{position:relative;inset:auto;width:auto;max-width:none;margin:0}
  .strategy-entry-text p{font-size:19px}
  .strategy-entry-copy{padding-top:4px}
  .strategy-entry-copy strong{font-size:29px}
  .strategy-connector{display:none!important}
  .simple-loop{position:relative!important;inset:auto!important;margin:105px auto 150px!important}
}
@media(max-width:620px){
  .strategy-entry{grid-template-columns:1fr;gap:30px}
  .strategy-entry-copy{grid-row:1}.strategy-entry-text{grid-row:2}
  .strategy-entry-text p{font-size:18px;line-height:1.55}
  .loop-center{inset:36%!important}
}

/* v12 — on-location production hero with the real Imagine van concept */
.production-road-section{
  position:relative;
  min-height:720px;
  display:block;
  padding:0;
  overflow:hidden;
  background:#e4e1da;
  isolation:isolate;
}
.production-photo{
  position:absolute;
  z-index:0;
  inset:0 0 0 32%;
  background-image:url('assets/contentproductie-nemo.jpg');
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
}
.production-photo:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    #e4e1da 0%,
    rgba(228,225,218,.98) 7%,
    rgba(228,225,218,.90) 16%,
    rgba(228,225,218,.60) 27%,
    rgba(228,225,218,.18) 39%,
    rgba(228,225,218,0) 53%);
}
.production-road-copy{
  position:relative;
  z-index:2;
  width:min(760px,52vw);
  padding:145px 0 135px 4.2vw;
}
.production-road-copy h2{
  font-size:clamp(64px,6.5vw,108px);
  max-width:820px;
}
.production-road-copy p{
  max-width:560px;
  font-size:19px;
  line-height:1.55;
  color:#55544f;
  margin:38px 0 0;
}
.production-road-copy .magenta-button{
  margin-top:30px;
  border-bottom:0;
  padding:15px 23px;
  color:#fff;
}
.production-road-copy .magenta-button span{font-size:20px;line-height:1}

@media(max-width:900px){
  .production-road-section{min-height:820px}
  .production-photo{inset:310px 0 0 0;background-position:62% center}
  .production-photo:before{
    background:linear-gradient(180deg,#e4e1da 0%,rgba(228,225,218,.96) 8%,rgba(228,225,218,.28) 28%,rgba(228,225,218,0) 46%);
  }
  .production-road-copy{width:100%;padding:90px 5vw 420px}
  .production-road-copy h2{font-size:clamp(54px,10vw,86px)}
}
@media(max-width:620px){
  .production-road-section{min-height:760px}
  .production-photo{inset:355px 0 0 0;background-position:63% center}
  .production-road-copy{padding:78px 20px 370px}
  .production-road-copy h2{font-size:13vw}
  .production-road-copy p{font-size:17px;margin-top:28px}
}

/* v13 — temporary editorial hero using real work instead of a showreel */
.brand-logo-button{width:128px;height:52px;justify-content:center;overflow:hidden}
.brand-logo{display:block;width:126px;height:auto;object-fit:contain}
.footer-logo{width:118px}

.hero-v13{min-height:100svh;padding:132px 4.2vw 66px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);grid-template-rows:1fr auto;gap:38px 5vw;align-items:center;background:var(--paper);isolation:isolate}
.hero-copy-v13{align-self:center;position:relative;z-index:3;padding-top:18px}
.hero-v13 h1{font-size:clamp(66px,7.8vw,132px);line-height:.88;max-width:920px;margin:34px 0 32px}
.hero-v13 h1 em{color:var(--acid)}
.hero-lead-v13{max-width:650px;font-size:clamp(17px,1.35vw,22px);line-height:1.48;color:#484844;margin:0}
.hero-actions-v13{display:flex;align-items:center;gap:28px;margin-top:34px}
.hero-actions-v13 .magenta-button{margin:0;min-height:52px}
.hero-text-link{display:inline-flex;align-items:center;gap:9px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:4px}

.hero-work-v13{height:min(69vh,680px);min-height:540px;position:relative;display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:1fr 1fr;gap:14px;align-self:center}
.hero-shot{margin:0;position:relative;overflow:hidden;background:#d8d4cb;min-width:0}
.hero-shot img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.035);transition:transform .9s cubic-bezier(.2,.75,.2,1)}
.hero-shot:hover img{transform:scale(1)}
.hero-shot-main{grid-row:1/3;border-radius:2px;animation:heroFloatA 9s ease-in-out infinite}
.hero-shot-main img{object-position:center center}
.hero-shot-top{animation:heroFloatB 10s ease-in-out infinite}
.hero-shot-top img{object-position:center 38%}
.hero-shot-bottom{animation:heroFloatC 11s ease-in-out infinite}
.hero-shot-bottom img{object-position:center center}
.hero-shot:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.58));pointer-events:none}
.hero-shot figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:18px}
.hero-shot figcaption span{font-size:10px;letter-spacing:2px;font-weight:600}
.hero-shot figcaption small{font-size:10px;opacity:.8;text-align:right}
.hero-stamp-v13{position:absolute;z-index:4;left:-33px;top:50%;transform:translateY(-50%) rotate(-4deg);width:98px;height:98px;border-radius:50%;background:var(--acid);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 18px 40px rgba(229,0,125,.24)}
.hero-stamp-v13 span{font-size:10px;line-height:1.2;letter-spacing:1.4px;font-weight:700}.hero-stamp-v13 b{font-size:20px;line-height:1;margin-top:7px}

.hero-ticker-v13{grid-column:1/3;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:0 -4.2vw -66px;width:calc(100% + 8.4vw)}
.hero-ticker-v13>div{display:flex;width:max-content;align-items:center;gap:28px;white-space:nowrap;animation:heroTicker 28s linear infinite;padding-left:0}
.hero-ticker-v13 span{font-size:11px;letter-spacing:2.2px;font-weight:600}.hero-ticker-v13 i{font-style:normal;color:var(--acid);font-size:15px}
@keyframes heroTicker{to{transform:translateX(-50%)}}
@keyframes heroFloatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes heroFloatB{0%,100%{transform:translateY(-4px)}50%{transform:translateY(5px)}}
@keyframes heroFloatC{0%,100%{transform:translateY(4px)}50%{transform:translateY(-5px)}}

@media(max-width:1000px){
  .hero-v13{grid-template-columns:1fr;grid-template-rows:auto auto auto;padding-top:122px;gap:44px}
  .hero-v13 h1{font-size:clamp(64px,13vw,120px)}
  .hero-work-v13{width:100%;height:66vw;min-height:540px;max-height:720px}
  .hero-ticker-v13{grid-column:1}
}
@media(max-width:620px){
  .brand-logo-button{width:104px;height:45px}.brand-logo{width:102px}
  .hero-v13{padding:112px 20px 52px;gap:34px}
  .hero-v13 h1{font-size:19vw;line-height:.9;margin:28px 0 24px}
  .hero-lead-v13{font-size:17px}
  .hero-actions-v13{align-items:flex-start;flex-direction:column;gap:18px}
  .hero-work-v13{height:auto;min-height:0;grid-template-columns:1fr 1fr;grid-template-rows:68vw 54vw;gap:8px}
  .hero-shot-main{grid-column:1/3;grid-row:1}.hero-shot-top{grid-column:1;grid-row:2}.hero-shot-bottom{grid-column:2;grid-row:2}
  .hero-shot figcaption small{display:none}.hero-shot figcaption{left:12px;bottom:11px}
  .hero-stamp-v13{width:76px;height:76px;left:auto;right:-10px;top:64%;}.hero-stamp-v13 span{font-size:8px}.hero-stamp-v13 b{font-size:16px}
  .hero-ticker-v13{margin:0 -20px -52px;width:calc(100% + 40px);padding:12px 0}
}
@media(prefers-reduced-motion:reduce){.hero-shot-main,.hero-shot-top,.hero-shot-bottom,.hero-ticker-v13>div{animation:none!important}}

/* v14 — centered magenta header badge + typographic footer wordmark */
.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.brand-logo-button{grid-column:2;width:72px;height:72px;padding:0;justify-self:center;align-items:center;overflow:visible}
.header-logo-disc{width:62px;height:62px;border-radius:50%;background:var(--acid);display:grid;place-items:center;transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s}
.header-logo-disc .brand-logo{width:50px;max-height:38px;object-fit:contain;filter:brightness(0) invert(1)}
.brand-logo-button:hover .header-logo-disc{transform:rotate(-3deg) scale(1.04);box-shadow:0 10px 28px rgba(229,0,125,.18)}
.desktop-nav{grid-column:1;grid-row:1;margin:0;justify-self:start}
.header-cta{grid-column:3;grid-row:1;justify-self:end}
.menu-btn{grid-column:3;grid-row:1;justify-self:end}
.topbar.is-scrolled .brand-logo-button{height:60px}
.topbar.is-scrolled .header-logo-disc{width:52px;height:52px}
.topbar.is-scrolled .header-logo-disc .brand-logo{width:42px;max-height:32px}
.footer-brand{display:block;line-height:.8}
.footer-wordmark{display:block;font-family:'Manrope',sans-serif;font-weight:700;font-size:28px;letter-spacing:-1.6px}
.footer-wordmark-sub{display:block;font-size:7px;letter-spacing:3.25px;font-weight:600;margin-top:9px;padding-left:1px}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto 1fr}.brand-logo-button{grid-column:2}.menu-btn{display:block;grid-column:3}.desktop-nav,.header-cta{display:none}}
@media(max-width:620px){.brand-logo-button{width:60px;height:60px}.header-logo-disc{width:52px;height:52px}.header-logo-disc .brand-logo{width:42px;max-height:32px}.footer-wordmark{font-size:25px}}

/* v15 — larger centered Imagine badge before scroll */
.topbar:not(.is-scrolled){height:112px}
.brand-logo-button{width:106px;height:106px;transition:width .35s cubic-bezier(.2,.75,.2,1),height .35s cubic-bezier(.2,.75,.2,1)}
.header-logo-disc{width:94px;height:94px;transition:width .35s cubic-bezier(.2,.75,.2,1),height .35s cubic-bezier(.2,.75,.2,1),transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s}
.header-logo-disc .brand-logo{width:76px;max-height:58px;transition:width .35s cubic-bezier(.2,.75,.2,1),max-height .35s cubic-bezier(.2,.75,.2,1)}
.topbar.is-scrolled .brand-logo-button{width:60px;height:60px}
.topbar.is-scrolled .header-logo-disc{width:52px;height:52px}
.topbar.is-scrolled .header-logo-disc .brand-logo{width:42px;max-height:32px}
@media(max-width:620px){
  .topbar:not(.is-scrolled){height:92px}
  .brand-logo-button{width:78px;height:78px}
  .header-logo-disc{width:70px;height:70px}
  .header-logo-disc .brand-logo{width:56px;max-height:43px}
  .topbar.is-scrolled .brand-logo-button{width:58px;height:58px}
  .topbar.is-scrolled .header-logo-disc{width:50px;height:50px}
  .topbar.is-scrolled .header-logo-disc .brand-logo{width:40px;max-height:31px}
}

/* v16 — contact hub + direct social routes + business details */
.contact-section-v16{padding-bottom:72px}
.contact-section-v16 .contact-top h2{margin-bottom:92px}
.contact-bottom-v16{padding-top:0;border-top:0}
.contact-bottom-v16 .big-mail{border-top:1px solid #333;padding-top:32px;padding-bottom:34px;transition:color .25s ease}
.contact-bottom-v16 .big-mail:hover{color:var(--acid)}
.contact-route-grid{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid #333}
.contact-route{position:relative;min-height:220px;padding:30px 28px 28px 0;border-right:1px solid #333;display:flex;flex-direction:column;transition:background .25s ease,padding-left .25s ease}
.contact-route:nth-child(n+2){padding-left:28px}
.contact-route:last-child{border-right:0}
.contact-route:hover{background:#121212}
.contact-route-label{font-size:10px;letter-spacing:2.2px;color:var(--acid);font-weight:600}
.contact-route strong{font-family:'Manrope',sans-serif;font-size:clamp(24px,2.3vw,38px);font-weight:500;line-height:1.05;letter-spacing:-.035em;margin:auto 50px 10px 0}
.contact-route small{font-size:12px;color:#8c8c88;line-height:1.5}
.contact-route b{position:absolute;right:26px;top:29px;font-size:20px;font-weight:400;color:#fff;transition:transform .25s ease,color .25s ease}
.contact-route:hover b{transform:translate(3px,-3px);color:var(--acid)}
.contact-business{display:grid;grid-template-columns:1.35fr 1.15fr .7fr 1fr;gap:28px;padding-top:34px;align-items:start}
.contact-business>div{display:flex;flex-direction:column;gap:8px}
.contact-business span{font-size:9px;letter-spacing:2px;color:#666663;font-weight:600}
.contact-business strong{font-size:13px;line-height:1.5;color:#c8c8c4;font-weight:500}
.contact-address strong{color:#fff}
@media(max-width:900px){
  .contact-route-grid{grid-template-columns:1fr}
  .contact-route{min-height:150px;border-right:0;border-bottom:1px solid #333;padding:26px 0!important}
  .contact-route:last-child{border-bottom:0}
  .contact-route strong{margin-top:44px}
  .contact-business{grid-template-columns:1fr 1fr;gap:28px 44px}
}
@media(max-width:620px){
  .contact-section-v16{padding-bottom:54px}
  .contact-section-v16 .contact-top h2{margin-bottom:62px}
  .contact-bottom-v16 .big-mail{padding-top:24px;padding-bottom:28px}
  .contact-route strong{font-size:28px;margin-top:38px}
  .contact-business{grid-template-columns:1fr;gap:22px;padding-top:28px}
}


/* v21 — clearer client collaboration cards */
.cases-title{align-items:end}
.cases-title .cases-intro{
  max-width:560px;
  margin:0 0 4px auto;
  font-size:18px;
  line-height:1.55;
  color:#66625e;
}
.cases-grid-v21{align-items:stretch}
.case-card-v21{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.case-card-v21 .case-copy-v21{
  padding:22px 0 0;
  display:flex;
  flex-direction:column;
  flex:1;
}
.case-card-v21 .case-client{
  color:#7c7973;
  font-size:12px;
}
.case-card-v21 h3{
  font-family:'Manrope',sans-serif;
  font-size:28px;
  line-height:1.1;
  letter-spacing:-.025em;
  font-weight:600;
  margin:8px 0 28px;
  max-width:390px;
}
.case-services-v21{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.case-services-label{
  display:block;
  margin-bottom:12px;
  font-size:9px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#8a8780;
}
.case-services-v21 ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.case-services-v21 li{
  border:1px solid rgba(10,10,10,.15);
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  line-height:1.1;
  background:rgba(255,255,255,.28);
}
.case-instagram-v21{
  margin-top:24px;
  border-top:1px solid var(--line);
  padding:16px 0 2px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:11px;
  align-items:center;
  transition:color .2s ease;
}
.case-instagram-v21 .instagram-icon{
  width:30px;
  height:30px;
  border:2px solid var(--magenta);
  border-radius:9px;
  display:grid;
  place-items:center;
  color:var(--magenta);
  font-size:19px;
  font-weight:700;
}
.case-instagram-v21>span:nth-child(2){
  display:flex;
  flex-direction:column;
  gap:1px;
}
.case-instagram-v21 small{
  color:#8a8780;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:1.3px;
}
.case-instagram-v21 strong{
  font-size:13px;
  font-weight:600;
}
.case-instagram-v21 b{
  font-size:19px;
  font-weight:400;
  color:var(--magenta);
  transition:transform .2s ease;
}
.case-instagram-v21:hover{color:var(--magenta)}
.case-instagram-v21:hover b{transform:translate(3px,-3px)}

@media(max-width:900px){
  .cases-title .cases-intro{margin-left:0}
}
@media(max-width:620px){
  .case-card-v21 h3{font-size:26px;margin-bottom:24px}
  .case-services-v21 li{font-size:10px}
}


/* v22 — align case cards + rounded white client labels */
.cases-grid-v21{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.case-card-v21{
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  height:100%;
}
.case-card-v21 .case-index{align-self:start}
.case-card-v21 .case-visual{
  position:relative;
}
.case-card-v21 .case-image-label{
  position:absolute;
  left:18px;
  bottom:18px;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 14px;
  background:#fff;
  color:#111;
  border-radius:999px;
  font-size:10px;
  line-height:1;
  letter-spacing:1.6px;
  text-transform:uppercase;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
}
.case-card-v21 .case-copy-v21{
  display:grid;
  grid-template-rows:auto minmax(88px,auto) 1fr;
  align-content:start;
  padding-top:22px;
}
.case-card-v21 h3{
  margin:8px 0 26px;
}
.case-services-v21{
  align-self:end;
  margin-top:0;
  min-height:138px;
  padding-top:20px;
}
.case-instagram-v21{
  margin-top:0;
}
@media(max-width:1100px){
  .case-card-v21 .case-copy-v21{grid-template-rows:auto minmax(110px,auto) 1fr}
  .case-services-v21{min-height:158px}
}
@media(max-width:900px){
  .cases-grid-v21{grid-template-columns:1fr}
  .case-card-v21{display:block}
  .case-card-v21 .case-copy-v21{display:block}
  .case-services-v21{min-height:0;margin-top:24px}
  .case-instagram-v21{margin-top:24px}
}

/* v23 — journey alignment + agency structure */
.journey-title-v23{align-items:start}
.journey-intro-v23{max-width:660px}
.journey-intro-v23 p{font-size:20px;line-height:1.55;color:#5f5f5a;margin:0}
.journey-intro-v23 a{display:inline-flex;align-items:center;gap:9px;margin-top:25px;padding-bottom:4px;border-bottom:1px solid var(--ink);font-weight:600;font-size:14px}
.journey-intro-v23 a span{color:var(--magenta)}
.addon-grid-v23 article{justify-content:flex-start;min-height:250px;padding:28px}
.addon-grid-v23 article>span{display:block;font-size:21px;line-height:1;margin:0 0 44px}
.addon-grid-v23 h3{margin:0 0 14px;font-size:23px}
.addon-grid-v23 p{margin:0}

.agency-section-v23{position:relative;overflow:hidden;background:var(--magenta);color:#fff;padding:118px 4.2vw 110px;isolation:isolate}
.agency-bg-v23{position:absolute;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;gap:3.5vw;white-space:nowrap;opacity:.1;transform:rotate(-7deg) scale(1.08);pointer-events:none}
.agency-bg-v23 span{font-family:'Manrope',sans-serif;font-weight:700;font-size:clamp(80px,11vw,190px);letter-spacing:-.06em}
.agency-bg-v23 i{display:block;width:6vw;height:1px;background:#fff;opacity:.8}
.agency-head-v23{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;align-items:end;position:relative}
.agency-head-v23 h2{font-family:'Manrope',sans-serif;font-size:clamp(52px,6.7vw,104px);font-weight:500;line-height:.94;letter-spacing:-.055em;margin:42px 0 0}
.agency-head-v23 h2 em{font-family:Georgia,serif;font-weight:400}
.agency-head-v23>p{font-size:20px;line-height:1.55;margin:0 0 8px;color:rgba(255,255,255,.84);max-width:610px}
.agency-pipeline-v23{position:relative;display:grid;grid-template-columns:1fr 64px 1fr 64px 1fr;align-items:stretch;margin-top:92px;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}
.agency-dept-v23{position:relative;padding:38px 32px 34px 0;min-height:320px}
.agency-dept-v23:not(:first-child){padding-left:32px}
.agency-dept-v23 h3{font-family:'Manrope',sans-serif;font-size:38px;font-weight:500;margin:64px 0 15px;letter-spacing:-.03em}
.agency-dept-v23 p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.86);max-width:420px;margin:0}
.dept-no-v23{font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.72)}
.agency-dept-v23 small{display:block;margin-top:30px;text-transform:uppercase;letter-spacing:2px;font-size:9px;color:rgba(255,255,255,.65)}
.agency-arrow-v23{display:grid;place-items:center;font-size:32px;color:rgba(255,255,255,.7);border-left:1px solid rgba(255,255,255,.25);border-right:1px solid rgba(255,255,255,.25)}
.studio-v23:after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:#fff;right:-38px;top:-6px;box-shadow:0 0 0 7px rgba(255,255,255,.11);animation:agencyPulse 2.8s ease-in-out infinite}
.studio-travel-v23{margin-top:28px;display:inline-flex;flex-direction:column;gap:4px;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:10px 15px 11px}
.studio-travel-v23 span{font-size:8px;letter-spacing:1.8px;opacity:.72}
.studio-travel-v23 strong{font-size:13px;font-weight:500}
.agency-count-v23{display:flex;align-items:flex-end;gap:15px;margin-top:42px;justify-content:flex-end}
.agency-count-v23 strong{font-family:'Manrope',sans-serif;font-size:78px;line-height:.75;letter-spacing:-.06em;font-weight:600}
.agency-count-v23 span{font-size:12px;line-height:1.25;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.74)}
@keyframes agencyPulse{0%,100%{transform:scale(.75);opacity:.55}50%{transform:scale(1.15);opacity:1}}

@media(max-width:1000px){
  .agency-head-v23{grid-template-columns:1fr;gap:34px}
  .agency-pipeline-v23{grid-template-columns:1fr;display:grid;border-bottom:0}
  .agency-arrow-v23{height:64px;border:0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);transform:rotate(90deg)}
  .agency-dept-v23,.agency-dept-v23:not(:first-child){padding:32px 0;min-height:0}
  .agency-dept-v23 h3{margin-top:32px}
  .studio-v23:after{display:none}
}
@media(max-width:620px){
  .agency-section-v23{padding:88px 20px}
  .agency-head-v23 h2{font-size:13vw}
  .agency-head-v23>p,.journey-intro-v23 p{font-size:17px}
  .addon-grid-v23 article{min-height:220px}
  .agency-count-v23{justify-content:flex-start}
  .agency-bg-v23{opacity:.06}
}


/* v24 — bureau label white */
.bureau-section .eyebrow {
    color: #fff;
}


/* v26 — iOS-safe interface icons
   Unicode arrows/stars/hamburger are replaced by CSS shapes so Safari
   cannot render them as blue controls or emoji glyphs. */

.menu-btn{
  -webkit-appearance:none;
  appearance:none;
  color:var(--ink);
  -webkit-text-fill-color:var(--ink);
  width:42px;
  height:42px;
  padding:10px 8px;
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  background:transparent;
  border:0;
  border-radius:0;
  outline:none;
}
.menu-btn span{
  display:block;
  width:22px;
  height:1.5px;
  background:currentColor;
  border-radius:2px;
}
.menu-btn:focus,
.menu-btn:active{
  color:var(--ink);
  -webkit-text-fill-color:var(--ink);
  background:transparent;
}

/* Base arrow icon */
.ui-arrow{
  position:relative;
  display:inline-block;
  width:16px;
  height:16px;
  flex:0 0 16px;
  color:currentColor;
  vertical-align:-2px;
}

/* horizontal shaft */
.ui-arrow::before{
  content:"";
  position:absolute;
  left:2px;
  top:7px;
  width:11px;
  height:1.5px;
  background:currentColor;
  border-radius:2px;
}

/* arrow head */
.ui-arrow::after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  box-sizing:border-box;
}

.ui-arrow-e::after{
  right:1px;
  top:4px;
  transform:rotate(45deg);
}
.ui-arrow-ne::before{
  width:12px;
  left:2px;
  top:8px;
  transform:rotate(-45deg);
  transform-origin:center;
}
.ui-arrow-ne::after{
  right:1px;
  top:1px;
}
.ui-arrow-se::before{
  width:12px;
  left:2px;
  top:7px;
  transform:rotate(45deg);
  transform-origin:center;
}
.ui-arrow-se::after{
  right:1px;
  bottom:1px;
  top:auto;
  transform:rotate(90deg);
}

/* Keep arrow-only elements from inheriting emoji/system font behavior */
.service-arrow,
.agency-arrow-v23,
.case-instagram-v21 b,
.hero-stamp-v13 b{
  font-family:Arial,Helvetica,sans-serif;
}

/* CSS asterisk for the scrolling ticker — no emoji rendering on iOS */
.ticker-star{
  width:14px;
  height:14px;
  display:inline-block;
  position:relative;
  flex:0 0 14px;
}
.ticker-star::before,
.ticker-star::after{
  content:"";
  position:absolute;
  left:6px;
  top:0;
  width:2px;
  height:14px;
  border-radius:2px;
  background:var(--acid);
}
.ticker-star::after{
  transform:rotate(90deg);
}
.ticker-star{
  transform:rotate(45deg);
}
.ticker-star{
  box-shadow:none;
}
.ticker-star > *{display:none}

/* Add the second diagonal pair */
.hero-ticker-v13 i.ticker-star{
  background:
    linear-gradient(var(--acid),var(--acid)) center/2px 14px no-repeat,
    linear-gradient(var(--acid),var(--acid)) center/14px 2px no-repeat;
  transform:rotate(45deg);
}
.hero-ticker-v13 i.ticker-star::before{
  transform:rotate(45deg);
  transform-origin:center;
}
.hero-ticker-v13 i.ticker-star::after{
  transform:rotate(-45deg);
  transform-origin:center;
}

/* iOS Safari button/link normalization */
button,
input,
select,
textarea{
  -webkit-appearance:none;
  appearance:none;
}
button{
  color:inherit;
  -webkit-text-fill-color:currentColor;
}
a{
  -webkit-tap-highlight-color:transparent;
}

@media(max-width:900px){
  .menu-btn{display:flex}
}


/* v27 — restore mobile hamburger/menu */
@media (max-width: 900px){
  .menu-btn{
    display:flex !important;
    position:relative;
    z-index:10002;
    width:44px;
    height:44px;
    padding:0;
    align-items:center;
    justify-content:center;
    background:transparent !important;
    border:0 !important;
    color:#0b0b0b !important;
    -webkit-text-fill-color:#0b0b0b !important;
    cursor:pointer;
  }

  .menu-btn .menu-icon{
    display:flex !important;
    width:24px !important;
    height:18px !important;
    flex-direction:column;
    justify-content:space-between;
    align-items:stretch;
    background:none !important;
  }

  .menu-btn .menu-icon i{
    display:block !important;
    width:24px;
    height:2px;
    margin:0;
    background:#0b0b0b !important;
    border:0;
    border-radius:2px;
    opacity:1;
    transform:none;
  }

  /* Ensure the existing mobile navigation can appear above the page */
  .mobile-menu,
  .mobile-nav,
  .menu-overlay,
  .nav-overlay{
    z-index:10001;
  }
}
