
:root{
  --bg:#090a10;
  --bg-deep:#07080d;
  --surface:#101117;
  --surface-2:#14151e;
  --surface-3:#191826;
  --line:rgba(255,255,255,.095);
  --text:#f3f2f5;
  --muted:#92919c;
  --muted-2:#696873;
  --purple:#6d5acb;
  --purple-light:#aa98ff;
  --purple-mid:#8572df;
  --purple-dark:#30255e;
  --orange:#f0603e;
  --blue:#0b8cff;
  --green:#4de49d;
  --radius:28px;
  --container:min(1480px, 90vw);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
img{display:block;max-width:100%}
::selection{background:var(--purple);color:white}
.site-noise{
  position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
.section-shell{width:var(--container);margin-inline:auto;position:relative}
.site-header{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(1480px, 90vw);height:116px;display:grid;
  grid-template-columns:1fr auto 1fr;align-items:center;z-index:50;
}
.brand img{width:215px;height:auto}
.contact-link{justify-self:end;font-weight:700;font-size:17px;letter-spacing:-.02em}
.contact-link,.brand{transition:opacity .2s ease}
.contact-link:hover,.brand:hover{opacity:.75}
.menu-toggle{
  width:60px;height:60px;border-radius:50%;border:1px solid rgba(255,255,255,.42);
  background:rgba(255,255,255,.06);backdrop-filter:blur(12px);display:grid;
  place-content:center;gap:5px;cursor:pointer;color:white;transition:.25s ease;
}
.menu-toggle:hover{transform:scale(1.05);background:rgba(255,255,255,.11)}
.menu-toggle span{width:26px;height:2px;background:white;border-radius:10px}
.menu-panel{
  position:fixed;inset:0;background:rgba(6,7,12,.96);backdrop-filter:blur(20px);
  z-index:900;display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:.35s ease;
}
.menu-panel.open{opacity:1;visibility:visible}
.menu-panel nav{display:flex;flex-direction:column;text-align:center;gap:14px}
.menu-panel nav a{font-size:clamp(36px,6vw,76px);letter-spacing:-.05em;transition:.2s ease}
.menu-panel nav a:hover{color:var(--purple-light);transform:translateX(8px)}
.menu-panel p{position:absolute;bottom:42px;color:var(--muted)}
.menu-close{position:absolute;top:32px;right:40px;color:white;background:none;border:0;font-size:50px;cursor:pointer;font-weight:200}

.hero{
  min-height:900px;padding-top:116px;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 23%,rgba(99,78,211,.33),transparent 34%);
}
.hero::before{
  content:"";position:absolute;inset:0 -80px;background:
  linear-gradient(90deg,rgba(6,7,12,.95) 0%,transparent 24%,transparent 76%,rgba(6,7,12,.95) 100%);
  pointer-events:none;z-index:2;
}
.hero-beams{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(900px,70vw);height:560px;display:grid;grid-template-columns:repeat(5,1fr);
  filter:blur(.2px);overflow:hidden;
}
.hero-beams i{
  background:linear-gradient(180deg,rgba(129,108,237,.88) 0%,rgba(86,69,180,.28) 58%,transparent 100%);
  border-left:1px solid rgba(255,255,255,.03);
  box-shadow:inset 0 0 80px rgba(255,255,255,.04);
}
.hero-beams i:nth-child(2),.hero-beams i:nth-child(4){opacity:.65}
.hero-beams i:nth-child(1),.hero-beams i:nth-child(5){opacity:.35}
.hero-content{max-width:1180px;text-align:center;z-index:4;margin-top:-20px;padding-inline:20px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;padding:11px 20px;border:1px solid rgba(255,255,255,.17);
  border-radius:999px;background:rgba(115,95,197,.28);backdrop-filter:blur(12px);color:#e2dfff;font-size:15px;
}
.eyebrow span{width:4px;height:4px;background:#fff;border-radius:50%}
.eyebrow b{display:block;width:38px;height:1px;background:#fff;margin-left:4px}
.hero h1,.cta h2,.about h2,.services h2,.process h2,.choose h2,.work h2{
  margin:0;letter-spacing:-.055em;font-weight:400;line-height:1.06;
}
.hero h1{font-size:clamp(58px,5.25vw,88px);margin-top:38px;max-width:1120px;margin-inline:auto;background:linear-gradient(105deg,#ffffff 12%,#ecebf0 55%,#a9a8ad 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance}
.hero-content>p{max-width:650px;margin:34px auto 0;color:#aaa8b3;font-size:18px;line-height:1.45;letter-spacing:-.018em}
.hero-actions{display:flex;justify-content:center;gap:18px;margin-top:46px}
.btn{
  min-height:54px;padding:0 28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  gap:18px;font-weight:600;font-size:15px;border:1px solid transparent;transition:.25s ease;white-space:nowrap;
}
.btn:hover{transform:translateY(-3px)}
.btn-primary{
  background:linear-gradient(135deg,#a692ef 0%,#7160ca 48%,#3e318c 100%);
  box-shadow:0 16px 35px rgba(62,45,149,.28);color:#fff
}
.btn-secondary{
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.09));
  border-color:rgba(255,255,255,.23)
}
.btn.compact{min-height:50px;padding-inline:28px}
.sticker{position:absolute;z-index:5;user-select:none}
.sticker-type{
  top:100px;left:28%;transform:rotate(-10deg);background:#45e594;color:#06120d;font-size:48px;
  line-height:1;padding:15px 22px;border-radius:17px;border:2px solid rgba(255,255,255,.08);
  box-shadow:0 18px 30px rgba(0,0,0,.25);font-family:Georgia,serif;
}
.sticker-stack{left:22%;top:55%;background:var(--blue);padding:7px 17px;border-radius:999px;font-size:15px}
.sticker-stack span{position:absolute;right:-16px;top:-21px;font-size:27px;transform:rotate(-22deg)}
.sticker-agency{right:19%;top:52%;background:var(--orange);padding:16px 28px;border-radius:25px 31px 22px 28px;transform:rotate(-9deg)}
.promise-strip{
  position:absolute;z-index:4;bottom:33px;left:50%;transform:translateX(-50%);display:flex;gap:11px;align-items:center;
  width:max-content;max-width:86%;white-space:nowrap;color:#695bad;font-size:clamp(24px,2.45vw,40px);font-weight:500;letter-spacing:.005em;
  opacity:.92
}
.promise-strip i{font-style:normal}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.25,1)}
.reveal.visible{opacity:1;transform:none}

.about{padding:136px 0 82px}
.about-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:64px;align-items:start}
.section-kicker{font-size:15px;font-weight:600;display:flex;align-items:center;gap:10px}
.section-kicker span{width:8px;height:8px;border-radius:50%;background:var(--purple-light);box-shadow:0 0 0 3px rgba(122,103,218,.15)}
.about-media img{margin-top:18px;width:100%;height:390px;object-fit:cover}
.about-metric{margin-top:30px}
.about-metric strong{display:block;font-size:80px;font-weight:500;letter-spacing:-.06em;line-height:1}
.about-metric span{display:block;color:var(--muted);line-height:1.35;margin-top:25px}
.about-copy{padding-top:15px}
.about-copy h2{font-size:clamp(48px,3.8vw,64px);max-width:1060px;text-wrap:balance}
.about-copy>p{font-size:clamp(21px,1.63vw,27px);line-height:1.48;margin:56px 0 0;letter-spacing:-.025em;max-width:1080px}
.about-actions{display:flex;gap:62px;align-items:center;margin-top:62px}
.round-mouse{
  width:84px;height:84px;border:1px solid rgba(255,255,255,.36);border-radius:50%;display:grid;place-items:center;
  transition:.25s ease
}
.round-mouse:hover{border-color:var(--purple-light);transform:translateY(3px)}
.round-mouse span{width:23px;height:38px;border:2px solid #fff;border-radius:20px;position:relative}
.round-mouse span::after{content:"";position:absolute;top:7px;left:50%;width:3px;height:7px;border-radius:5px;background:#fff;transform:translateX(-50%)}

.services{
  padding:70px 0 80px;background:
  radial-gradient(circle at 50% 100%,rgba(77,59,158,.45),transparent 38%);
  border-radius:0 0 65px 65px
}
.section-heading h2{font-size:clamp(42px,3.75vw,60px);margin-top:25px;max-width:690px;text-wrap:balance}
.mini-pill{font-size:12px;letter-spacing:.03em;padding:7px 15px;border-radius:999px;background:#17171b;display:inline-flex}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:78px}
.service-card{
  min-height:365px;background:linear-gradient(145deg,#111218,#151622);border:1px solid rgba(255,255,255,.045);
  border-radius:24px;padding:22px 19px 20px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden
}
.service-card::after{content:"";position:absolute;inset:auto -15% -55% 35%;height:60%;background:radial-gradient(circle,rgba(113,91,213,.22),transparent 70%);opacity:0;transition:.35s ease}
.service-card:hover{border-color:rgba(142,121,242,.28);transform:translateY(-4px)!important}
.service-card:hover::after{opacity:1}
.service-icon{width:48px;height:48px;border-radius:12px;background:#191a23;display:grid;place-items:center}
.service-icon svg{width:27px;height:27px;stroke:#fff;fill:none;stroke-width:1.5}
.service-card h3{font-size:22px;line-height:1.2;margin:0 0 12px;font-weight:500}
.service-card p{font-size:12px;line-height:1.45;color:#85838e;max-width:310px;margin:0}
.service-card>a{font-size:12px;align-self:flex-end;position:relative;z-index:2}
.service-card>a span{font-size:17px;margin-left:8px}

.brand-proof{padding:80px 0 95px}
.brand-proof-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}
.proof-main img,.proof-side>img{width:100%;border-radius:22px;object-fit:cover}
.proof-main img{height:425px;transform:scale(1.025)}
.proof-side>img{height:302px;transform:scale(1.025)}
.vision-line{display:grid;grid-template-columns:90px 1fr;gap:22px;margin-top:30px;align-items:center}
.vision-arrow{width:90px;height:90px;border-radius:20px;background:#f4f4f5;color:#090a10;font-size:45px;display:grid;place-items:center}
.vision-line h3{font-size:23px;margin:0 0 17px;font-weight:600}
.vision-line p{color:#85838e;margin:0;line-height:1.4}

.process{padding:20px 0 70px}
.process-header{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.process-header h2{font-size:clamp(44px,3.75vw,60px);margin-top:20px;max-width:760px;text-wrap:balance}
.process-header>a{font-size:13px;margin-bottom:7px}
.process-grid{display:grid;grid-template-columns:40% 60%;gap:18px;margin-top:68px}
.process-photo-card,.process-board{background:#111218;border:1px solid rgba(255,255,255,.06);border-radius:25px;padding:20px}
.process-photo-card img{height:618px;width:100%;object-fit:cover;border-radius:18px}
.process-photo-card p,.board-copy{color:#9896a1;line-height:1.5;font-size:15px;margin:28px 21px 19px}
.process-board{padding:18px 23px 20px}
.board-top{height:60px;background:#333332;border-radius:21px 21px 0 0;margin:-1px -1px 0;display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.board-top span{font-size:12px;color:#08c987;background:#2e302f;padding:7px 18px;border-radius:999px}
.steps{background:#1d1e1e;padding:30px 34px 18px;border-radius:0 0 22px 22px}
.process-step{
  width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:white;display:grid;
  grid-template-columns:38px 1fr 34px;gap:14px;text-align:left;align-items:center;padding:15px 0;cursor:pointer
}
.process-step:last-child{border-bottom:0}
.process-step>span:nth-child(2){display:flex;flex-direction:column;gap:4px}
.process-step strong{font-size:14px}
.process-step small{color:#88878e;font-size:12px}
.step-icon{width:38px;height:38px;border-radius:10px;background:#343534;display:grid;place-items:center;font-size:20px}
.process-step i{font-style:normal;width:29px;height:29px;border-radius:50%;background:#343534;display:grid;place-items:center;transition:.25s ease}
.process-step.active i{transform:rotate(180deg);background:var(--purple)}
.process-step.active small{color:#c3c0cb}
.board-copy{max-width:530px;margin-top:29px}

.choose{
  padding:62px 0 80px;background:
  radial-gradient(circle at 50% 0%,rgba(255,255,255,.04),transparent 42%),
  linear-gradient(180deg,#111219 0%,#0d0e14 100%);
}
.choose-mark{position:absolute;right:10px;top:0;width:260px;opacity:.9}
.choose-mark img{width:100%;height:auto;display:block}

.choose-intro{display:grid;grid-template-columns:280px 1fr;gap:64px;padding-top:42px}
.choose-year strong{font-size:37px;line-height:1.15}
.choose-year span{display:block;color:var(--muted);font-size:13px;margin-top:8px}
.choose-intro h2{font-size:clamp(48px,3.8vw,56px);margin-top:33px;text-wrap:balance}
.choose-intro h2 em{font-style:normal;color:var(--purple-light);font-weight:600}
.choose-list{margin-top:76px;border-top:1px solid var(--line)}
.choose-row{
  min-height:170px;display:grid;grid-template-columns:280px 1fr 60px;gap:64px;align-items:center;
  border-bottom:1px solid var(--line);padding:15px 0;transition:.3s ease
}
.choose-row.active{background:#171625;border:0;border-radius:20px;padding-inline:30px;margin-block:0}
.choose-row.active+.choose-row{border-top:0}
.choose-num{color:#96949e}
.choose-row h3{font-size:34px;margin:0 0 18px;font-weight:400;letter-spacing:-.035em}
.choose-row p{color:#8f8d98;font-size:13px;max-width:660px;margin:0;line-height:1.4}
.choose-arrow{font-size:39px;justify-self:end}
.choose-row .btn{justify-self:end}

.work{padding:70px 0 58px}
.work-header{display:flex;justify-content:space-between;align-items:flex-end}
.work h2{font-size:clamp(50px,4vw,58px);margin-top:30px}
.work h2 em{font-style:normal;color:#8b8a95}
.work-intro{width:380px;margin-right:5%}
.work-intro p{color:#93919b;line-height:1.45;margin:0 0 22px}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:88px}
.work-card{display:block}
.work-image{border-radius:20px;overflow:hidden;border:1px solid rgba(121,90,238,.4);background:#13141b}
.work-image img{width:100%;height:400px;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.work-card:nth-child(2) .work-image img{object-fit:cover}
.work-card:hover .work-image img{transform:scale(1.035)}
.work-meta{display:flex;justify-content:space-between;gap:20px;padding:25px 20px 0}
.work-meta h3{font-size:18px;margin:0 0 10px}
.work-meta p{color:#8c8a94;margin:0;font-size:13px}
.work-meta>span{font-size:29px;color:#9d9aa4;transition:.25s ease}
.work-card:hover .work-meta>span{color:white;transform:translate(4px,-4px)}

.cta{padding:45px 0 80px}
.cta-panel{
  min-height:370px;max-width:940px;margin-inline:auto;position:relative;overflow:hidden;
  background:radial-gradient(circle at 50% 28%,rgba(100,80,221,.45),transparent 45%);display:grid;place-items:center
}
.cta-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),transparent 27%,transparent 73%,var(--bg))}
.cta-beams{height:390px;width:760px}
.cta-copy{position:relative;z-index:4;text-align:center;width:min(720px,88%);padding:28px 0}
.cta h2{font-size:clamp(48px,4vw,56px);text-wrap:balance}
.cta-copy p{color:#aaa7b4;line-height:1.45;font-size:16px;margin:22px auto 27px}
.cta-design{z-index:5;left:7%;top:36%;background:var(--blue);padding:6px 15px;border-radius:999px;font-size:12px}
.cta-design b{position:absolute;right:-20px;top:-19px;font-size:24px;transform:rotate(-18deg)}
.cta-development{z-index:5;right:5%;top:44%;background:var(--orange);padding:13px 22px;border-radius:19px;transform:rotate(-10deg);font-size:13px}

.site-footer{position:relative;background:#10100f;padding:55px max(40px,calc((100vw - 1280px)/2)) 25px;overflow:hidden;min-height:610px}
.footer-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;position:relative;z-index:4}
.footer-brand img{width:340px}
.footer-brand>p{max-width:560px;line-height:1.45;margin:37px 0 30px}
.newsletter{display:flex;background:linear-gradient(90deg,#1d1b2d,#232239);border-radius:999px;max-width:520px;padding:3px}
.newsletter input{flex:1;background:transparent;border:0;color:white;outline:none;padding:0 20px;min-width:0}
.newsletter button{width:59px;height:55px;border-radius:50%;border:0;background:linear-gradient(135deg,#8f7ce5,#43348f);color:white;font-size:25px;cursor:pointer}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.footer-links h4{margin:5px 0 15px;font-size:16px}
.footer-links a{display:block;color:#8d8b91;margin:12px 0;font-size:14px;transition:.2s ease}
.footer-links a:hover{color:white;transform:translateX(3px)}
.footer-word{position:absolute;left:0;right:0;bottom:-63px;text-align:center;font-size:315px;line-height:.8;font-weight:700;letter-spacing:-.11em;color:#1a1929;z-index:1}
.footer-word::after{content:"";position:absolute;left:38%;bottom:14%;width:310px;height:310px;background:linear-gradient(135deg,#e7dcff,#5b4ec2 55%,#2f255f);clip-path:polygon(50% 0,63% 17%,79% 1%,100% 22%,75% 50%,100% 70%,60% 70%,50% 100%,39% 70%,0 70%,24% 50%,0 23%,21% 2%,37% 17%);z-index:-1}
.footer-bottom{position:absolute;z-index:5;left:max(40px,calc((100vw - 1280px)/2));right:max(40px,calc((100vw - 1280px)/2));bottom:25px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}
.footer-bottom>p{text-align:center;font-size:13px}
.footer-bottom>div:last-child{text-align:right}
.footer-bottom>div:last-child a{font-size:13px;margin-left:30px}
.socials{display:flex;gap:9px}
.socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#403e48;border:1px solid rgba(255,255,255,.25);font-size:13px}

.toast{
  position:fixed;left:50%;bottom:28px;z-index:1200;transform:translate(-50%,20px);
  background:#f2f0f8;color:#131319;border-radius:999px;padding:12px 20px;opacity:0;pointer-events:none;transition:.25s ease;font-weight:600
}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:1100px){
  :root{--container:min(100% - 48px, 980px)}
  .site-header{width:calc(100% - 48px)}
  .brand img{width:180px}
  .hero{min-height:820px}
  .hero h1{font-size:72px}
  .sticker-type{left:17%}
  .sticker-stack{left:10%}
  .sticker-agency{right:10%}
  .promise-strip{font-size:28px}
  .about-grid{grid-template-columns:250px 1fr;gap:44px}
  .about-copy>p{font-size:21px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .brand-proof-grid{grid-template-columns:1.55fr 1fr}
  .process-grid{grid-template-columns:1fr}
  .process-photo-card{display:grid;grid-template-columns:42% 1fr;gap:25px;align-items:center}
  .process-photo-card img{height:460px}
  .choose-row,.choose-intro{grid-template-columns:210px 1fr;gap:42px}
  .choose-row{grid-template-columns:210px 1fr 50px}
  .work-grid{gap:18px}
  .work-image img{height:330px}
  .footer-grid{grid-template-columns:1fr;gap:50px}
  .site-footer{min-height:790px}
}

@media (max-width:760px){
  :root{--container:calc(100% - 32px)}
  .site-header{width:calc(100% - 32px);height:88px;grid-template-columns:1fr auto}
  .brand img{width:165px}
  .contact-link{display:none}
  .menu-toggle{width:48px;height:48px;justify-self:end}
  .menu-toggle span{width:21px}
  .hero{min-height:780px;padding-top:90px}
  .hero::before{inset:0 -16px}
  .hero-beams{width:100%;height:470px}
  .hero-content{margin-top:-40px}
  .hero h1{font-size:clamp(43px,13vw,65px);margin-top:30px}
  .hero-content>p{font-size:15px;margin-top:24px}
  .hero-actions{flex-direction:column;align-items:center;margin-top:35px}
  .btn{width:min(100%,320px)}
  .sticker-type{font-size:29px;padding:10px 14px;left:6%;top:111px}
  .sticker-stack{left:1%;top:55%;font-size:11px}
  .sticker-agency{right:1%;top:57%;font-size:12px;padding:11px 17px}
  .promise-strip{font-size:21px;bottom:26px;animation:marquee 16s linear infinite}
  @keyframes marquee{from{transform:translateX(-35%)}to{transform:translateX(-65%)}}
  .about{padding-top:90px}
  .about-grid{grid-template-columns:1fr}
  .about-media{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}
  .about-media .section-kicker{grid-column:1/-1}
  .about-media img{height:360px}
  .about-metric{margin:0}
  .about-metric strong{font-size:72px}
  .about-copy{padding:0}
  .about-copy h2{font-size:43px}
  .about-copy>p{font-size:17px;margin-top:35px}
  .about-actions{gap:28px;margin-top:40px}
  .round-mouse{width:65px;height:65px}
  .about-actions .btn{width:auto}
  .services{padding-top:30px;border-radius:0 0 35px 35px}
  .section-heading h2{font-size:40px}
  .service-grid{grid-template-columns:1fr;margin-top:45px}
  .service-card{min-height:310px}
  .brand-proof{padding-block:60px}
  .brand-proof-grid{grid-template-columns:1fr}
  .proof-main img{height:320px}
  .proof-side>img{height:280px}
  .vision-line{grid-template-columns:72px 1fr}
  .vision-arrow{width:72px;height:72px}
  .process-header{align-items:flex-start}
  .process-header h2{font-size:41px}
  .process-header>a{display:none}
  .process-grid{margin-top:40px}
  .process-photo-card{display:block}
  .process-photo-card img{height:420px}
  .process-board{padding:11px}
  .steps{padding:22px 16px 12px}
  .process-step{grid-template-columns:34px 1fr 30px}
  .process-step small{font-size:10px}
  .choose{padding-top:30px}
  .choose-mark{width:160px;right:-20px}
  .choose-intro{grid-template-columns:1fr;gap:35px}
  .choose-year strong{font-size:30px}
  .choose-intro h2{font-size:43px;margin-top:24px}
  .choose-list{margin-top:45px}
  .choose-row,.choose-row.active{grid-template-columns:40px 1fr;padding:30px 0;gap:14px;min-height:0}
  .choose-row.active{padding-inline:15px}
  .choose-row h3{font-size:27px}
  .choose-arrow,.choose-row .btn{display:none}
  .work{padding-top:60px}
  .work-header{display:block}
  .work h2{font-size:51px}
  .work-intro{width:auto;margin:38px 0 0}
  .work-grid{grid-template-columns:1fr;margin-top:50px;gap:44px}
  .work-image img{height:auto;aspect-ratio:1.25/1}
  .cta{padding-top:30px}
  .cta-panel{min-height:420px}
  .cta h2{font-size:42px}
  .cta-copy p{font-size:14px}
  .cta-design{left:1%;top:23%}
  .cta-development{right:-4%;top:57%}
  .site-footer{padding-inline:16px;min-height:910px}
  .footer-brand img{width:280px}
  .footer-links{grid-template-columns:1fr 1fr;gap:30px}
  .footer-links>div:last-child{grid-column:1/-1}
  .footer-word{font-size:140px;bottom:70px}
  .footer-word::after{width:170px;height:170px;left:42%;bottom:-5%}
  .footer-bottom{left:16px;right:16px;bottom:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px}
  .footer-bottom>p{order:3;width:100%;margin:0;text-align:left}
  .footer-bottom>div:last-child a{margin-left:15px}
}


/* =========================================================
   SECOND-PASS ART DIRECTION + MOTION
   ========================================================= */

body{
  background:
    radial-gradient(900px 550px at 50% -180px,rgba(91,68,191,.11),transparent 70%),
    var(--bg);
}

.site-header{
  transition:height .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease,transform .35s ease;
}
.site-header.is-scrolled{
  position:fixed;
  top:10px;
  height:76px;
  padding-inline:18px;
  background:rgba(10,10,16,.72);
  border:1px solid rgba(255,255,255,.065);
  border-radius:22px;
  backdrop-filter:blur(22px) saturate(130%);
  -webkit-backdrop-filter:blur(22px) saturate(130%);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.site-header.is-scrolled .brand img{width:190px}
.site-header.is-scrolled .menu-toggle{width:50px;height:50px}

.hero{
  min-height:925px;
  overflow:hidden;
  isolation:isolate;
}
.hero::after{
  content:"";
  position:absolute;
  z-index:1;
  width:760px;
  height:360px;
  left:50%;
  top:42px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(174,155,255,.16),rgba(89,67,201,.08) 38%,transparent 72%);
  filter:blur(28px);
  pointer-events:none;
  animation:heroAura 8s ease-in-out infinite;
}
@keyframes heroAura{
  0%,100%{opacity:.68;transform:translateX(-50%) scale(.94)}
  50%{opacity:1;transform:translateX(-50%) scale(1.06)}
}
.hero-beams i{
  transform-origin:50% 0%;
  animation:beamBreath 7.5s ease-in-out infinite;
}
.hero-beams i:nth-child(2){animation-delay:-1.6s}
.hero-beams i:nth-child(3){animation-delay:-3.1s}
.hero-beams i:nth-child(4){animation-delay:-4.7s}
.hero-beams i:nth-child(5){animation-delay:-6.2s}
@keyframes beamBreath{
  0%,100%{filter:brightness(.88);transform:scaleY(.985)}
  50%{filter:brightness(1.12);transform:scaleY(1.02)}
}
.hero-content{transform:translateY(-2px)}
.eyebrow{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 35px rgba(62,48,132,.12);
  animation:eyebrowFloat 5.5s ease-in-out infinite;
}
@keyframes eyebrowFloat{0%,100%{translate:0 0}50%{translate:0 -5px}}

.kinetic-title{
  overflow:visible;
}
.kinetic-title>span{
  display:block;
  opacity:0;
  filter:blur(8px);
  transform:translateY(28px);
  transition:
    transform .92s cubic-bezier(.17,.84,.25,1),
    opacity .72s ease,
    filter .82s ease;
}
.visible .kinetic-title>span,
.hero-content.visible .kinetic-title>span,
.kinetic-title.visible>span{
  opacity:1;
  filter:blur(0);
  transform:translateY(0);
}
.visible .kinetic-title>span:nth-child(2),
.hero-content.visible .kinetic-title>span:nth-child(2),
.kinetic-title.visible>span:nth-child(2){transition-delay:.11s}

.hero h1.kinetic-title>span{white-space:nowrap}
.about h2.kinetic-title>span,
.services h2.kinetic-title>span,
.process h2.kinetic-title>span,
.choose h2.kinetic-title>span,
.work h2.kinetic-title>span,
.cta h2.kinetic-title>span{white-space:normal}

.promise-strip{
  justify-content:center;
  overflow:visible;
  text-align:center;
  text-shadow:0 0 24px rgba(111,91,198,.12);
  animation:promiseIn 1s .75s both cubic-bezier(.2,.75,.25,1);
}
.promise-strip span{display:inline-block}
.promise-strip i{opacity:.75}
@keyframes promiseIn{
  from{opacity:0;filter:blur(9px);translate:0 18px}
  to{opacity:.92;filter:blur(0);translate:0 0}
}

.sticker-type{animation:floatType 5.6s ease-in-out infinite}
.sticker-stack{animation:floatStack 6.4s ease-in-out infinite}
.sticker-agency{animation:floatAgency 6s ease-in-out infinite}
@keyframes floatType{
  0%,100%{transform:rotate(-10deg) translateY(0)}
  50%{transform:rotate(-7deg) translateY(-9px)}
}
@keyframes floatStack{
  0%,100%{transform:rotate(-1deg) translateY(0)}
  50%{transform:rotate(2deg) translateY(-7px)}
}
@keyframes floatAgency{
  0%,100%{transform:rotate(-9deg) translateY(0)}
  50%{transform:rotate(-6deg) translateY(-8px)}
}

.btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:translate .25s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.btn-primary:hover{box-shadow:0 18px 46px rgba(78,58,177,.38)}
.btn-secondary:hover{border-color:rgba(255,255,255,.38);box-shadow:0 12px 34px rgba(0,0,0,.22)}

.section-glow{
  position:absolute;
  pointer-events:none;
  width:420px;height:420px;border-radius:50%;
  filter:blur(80px);
  opacity:.09;
  background:#765de0;
}
.section-glow-left{left:-320px;top:150px}
.section-glow-right{right:-320px;top:80px}

.about,
.services,
.brand-proof,
.process,
.choose,
.work,
.cta{
  scroll-margin-top:100px;
}
.about-media img{
  border-radius:0;
  box-shadow:0 24px 60px rgba(0,0,0,.18);
}
.about-copy>p{
  color:#f0eff2;
}
.about-metric strong{
  background:linear-gradient(180deg,#fff,#d6d4db);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

.service-card{
  isolation:isolate;
  transform-style:preserve-3d;
  transition:transform .38s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .3s ease;
}
.service-card::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(420px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(134,111,240,.13),transparent 42%);
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none;
}
.service-card:hover::before{opacity:1}
.service-card:hover{
  box-shadow:0 24px 55px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025);
}
.service-card>*{position:relative;z-index:1}
.service-grid .service-card:nth-child(2){transition-delay:.03s}
.service-grid .service-card:nth-child(3){transition-delay:.06s}
.service-grid .service-card:nth-child(4){transition-delay:.09s}
.service-grid .service-card:nth-child(5){transition-delay:.12s}
.service-grid .service-card:nth-child(6){transition-delay:.15s}

.proof-main,
.proof-side{
  overflow:visible;
}
.proof-main img,
.proof-side>img,
.process-photo-card img,
.about-media img{
  will-change:transform;
  transition:transform .25s linear,filter .45s ease;
}
.proof-main img:hover,
.proof-side>img:hover,
.process-photo-card img:hover{
  filter:brightness(1.055) contrast(1.02);
}

.vision-arrow{
  position:relative;
  overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.vision-arrow::after{
  content:"";
  position:absolute;inset:-45%;
  background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.75) 50%,transparent 60%);
  transform:translateX(-80%) rotate(18deg);
  transition:transform .7s ease;
}
.vision-line:hover .vision-arrow{transform:rotate(4deg) scale(1.04)}
.vision-line:hover .vision-arrow::after{transform:translateX(90%) rotate(18deg)}

.process-board{
  box-shadow:0 28px 60px rgba(0,0,0,.12);
}
.process-step{
  transition:background .25s ease,padding .25s ease;
  border-radius:12px;
}
.process-step:hover{
  background:rgba(255,255,255,.027);
  padding-inline:10px;
}
.process-step.active{
  background:linear-gradient(90deg,rgba(116,91,214,.13),rgba(116,91,214,.025));
  padding-inline:10px;
}
.step-icon{transition:transform .25s ease,background .25s ease}
.process-step:hover .step-icon,
.process-step.active .step-icon{transform:scale(1.07);background:#3b3941}

.choose-row{
  position:relative;
  overflow:hidden;
}
.choose-row::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:1px;
  transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,transparent,var(--purple-mid),transparent);
  transition:transform .55s cubic-bezier(.2,.75,.2,1);
}
.choose-row:hover::after{transform:scaleX(1)}
.choose-row:not(.active):hover .choose-arrow{transform:translate(5px,-5px);color:var(--purple-light)}
.choose-arrow{transition:.28s ease}
.choose-row.active{
  background:
    radial-gradient(circle at 88% 40%,rgba(108,82,202,.16),transparent 28%),
    #171625;
}

.work-image{
  position:relative;
}
.work-image::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 65%,rgba(12,9,27,.18));
  pointer-events:none;
}
.work-card{
  transition:transform .35s cubic-bezier(.2,.75,.2,1);
}
.work-card:hover{transform:translateY(-7px)}
.work-card:hover .work-image{
  box-shadow:0 26px 55px rgba(19,13,47,.28);
  border-color:rgba(142,119,255,.68);
}

.cta-panel{
  border:1px solid rgba(255,255,255,.025);
}
.cta-copy{animation:ctaBreathe 6.5s ease-in-out infinite}
@keyframes ctaBreathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

.newsletter{
  border:1px solid rgba(255,255,255,.035);
  transition:border-color .25s ease,box-shadow .25s ease;
}
.newsletter:focus-within{
  border-color:rgba(150,129,239,.38);
  box-shadow:0 0 0 4px rgba(112,89,206,.08);
}

@media (max-width:1100px){
  :root{--container:min(100% - 48px, 1000px)}
  .site-header{width:calc(100% - 48px)}
  .hero h1{font-size:clamp(56px,7vw,75px)}
  .hero h1.kinetic-title>span{white-space:normal}
  .promise-strip{max-width:92%;font-size:clamp(23px,2.9vw,31px)}
}

@media (max-width:760px){
  .site-header.is-scrolled{top:8px;width:calc(100% - 20px);height:66px;padding-inline:12px}
  .site-header.is-scrolled .brand img{width:150px}
  .hero{min-height:790px}
  .hero h1.kinetic-title>span{white-space:normal}
  .promise-strip{
    max-width:none;
    font-size:20px;
    animation:mobilePromise 17s linear infinite;
  }
  @keyframes mobilePromise{
    0%{transform:translateX(-25%);opacity:.9}
    100%{transform:translateX(-75%);opacity:.9}
  }
  .service-card:hover{transform:translateY(-3px)!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .reveal,.kinetic-title>span{opacity:1!important;filter:none!important;transform:none!important}
}

/* =========================================================
   REFERENCE-ALIGNED HOME PAGE
   Tuned against the supplied desktop recording and rebuilt
   to scale cleanly across desktop, tablet and mobile.
   ========================================================= */

:root{
  --container:min(1320px,90vw);
  --page-gutter:clamp(16px,5vw,72px);
}

html{scroll-padding-top:92px}
body{background:#08090f}
.section-shell{width:var(--container)}

/* Header */
.site-header{
  width:var(--container);
  height:108px;
}
.brand img{width:184px}
.menu-toggle{width:52px;height:52px;gap:4px}
.menu-toggle span{width:22px;height:1.5px}
.contact-link{font-size:14px;letter-spacing:.01em}
.site-header.is-scrolled{
  width:min(1320px,calc(100% - 32px));
  height:70px;
  top:10px;
  padding-inline:15px;
}
.site-header.is-scrolled .brand img{width:162px}
.site-header.is-scrolled .menu-toggle{width:46px;height:46px}

/* Hero */
.hero{
  min-height:748px;
  padding-top:108px;
  align-items:flex-start;
  justify-content:center;
  background:radial-gradient(circle at 50% 18%,rgba(113,91,221,.34),transparent 35%);
}
.hero::before{inset:0 -48px}
.hero::after{top:14px;width:720px;height:310px}
.hero-beams{width:min(800px,64vw);height:430px}
.hero-content{
  max-width:1000px;
  margin-top:66px;
  padding-inline:18px;
}
.eyebrow{padding:9px 17px;font-size:13px;gap:9px}
.eyebrow b{width:34px}
.hero h1{
  margin-top:34px;
  max-width:960px;
  font-size:clamp(58px,5.15vw,76px);
  line-height:1.035;
  letter-spacing:-.055em;
  background:none;
  color:#f3f2f5;
}
.hero h1.kinetic-title>span{
  background:linear-gradient(105deg,#fff 8%,#f0eef3 56%,#aaa9b0 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  white-space:nowrap;
}
.hero-content>p{
  max-width:610px;
  margin-top:27px;
  font-size:15px;
  line-height:1.5;
}
.hero-actions{margin-top:36px;gap:14px}
.btn{min-height:46px;padding:0 24px;font-size:13px;gap:15px}
.sticker-type{top:82px;left:27%;font-size:40px;padding:12px 18px;border-radius:14px}
.sticker-stack{left:22%;top:51.5%;font-size:12px;padding:6px 14px}
.sticker-stack span{right:-14px;top:-18px;font-size:23px}
.sticker-agency{right:18.5%;top:49.5%;font-size:12px;padding:13px 22px}
.promise-strip{
  bottom:25px;
  max-width:92%;
  gap:8px;
  font-size:clamp(22px,2.2vw,32px);
  color:#6556aa;
}

/* About */
.about{padding:86px 0 58px}
.about-grid{grid-template-columns:250px minmax(0,1fr);gap:50px}
.section-kicker{font-size:11px;gap:8px;letter-spacing:.01em}
.section-kicker span{width:6px;height:6px}
.about-media img{height:335px;margin-top:14px}
.about-metric{margin-top:24px}
.about-metric strong{font-size:57px}
.about-metric span{font-size:11px;margin-top:13px}
.about-copy{padding-top:8px}
.about-copy h2{font-size:clamp(43px,3.7vw,54px);line-height:1.08;max-width:900px}
.about-copy>p{font-size:clamp(17px,1.55vw,21px);line-height:1.48;margin-top:35px;max-width:960px}
.about-actions{gap:42px;margin-top:38px}
.round-mouse{width:60px;height:60px}
.round-mouse span{width:17px;height:29px}
.about-actions .btn{min-height:44px}

/* Services */
.services{padding:54px 0 58px;border-radius:0 0 46px 46px}
.section-heading h2{font-size:clamp(39px,3.55vw,52px);line-height:1.05;margin-top:18px;max-width:610px}
.mini-pill{font-size:10px;padding:6px 12px}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:48px}
.service-card{min-height:250px;border-radius:17px;padding:17px 16px 15px}
.service-icon{width:38px;height:38px;border-radius:9px}
.service-icon svg{width:22px;height:22px}
.service-card h3{font-size:18px;margin-bottom:9px}
.service-card p{font-size:10px;line-height:1.45;max-width:290px}
.service-card>a{font-size:10px}
.service-card>a span{font-size:14px}

/* Brand proof */
.brand-proof{padding:58px 0 72px}
.brand-proof-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:26px}
.proof-main img{height:auto;aspect-ratio:845/428;transform:none}
.proof-side>img{height:auto;aspect-ratio:426/303;transform:none}
.vision-line{grid-template-columns:72px 1fr;gap:18px;margin-top:20px}
.vision-arrow{width:72px;height:72px;border-radius:15px;font-size:34px}
.vision-line h3{font-size:18px;margin-bottom:10px}
.vision-line p{font-size:12px}

/* Process */
.process{padding:18px 0 64px}
.process-header h2{font-size:clamp(40px,3.45vw,50px);margin-top:16px;max-width:650px}
.process-header>a{font-size:11px}
.process-grid{grid-template-columns:minmax(0,38%) minmax(0,62%);gap:16px;margin-top:45px}
.process-photo-card,.process-board{border-radius:20px;padding:16px}
.process-photo-card img{height:500px;border-radius:14px}
.process-photo-card p,.board-copy{font-size:12px;line-height:1.48;margin:20px 14px 12px}
.process-board{padding:14px 17px 16px}
.board-top{height:50px;border-radius:16px 16px 0 0;padding-inline:16px}
.board-top strong{font-size:12px}
.board-top span{font-size:9px;padding:5px 12px}
.steps{padding:18px 23px 12px;border-radius:0 0 16px 16px}
.process-step{grid-template-columns:32px 1fr 27px;gap:11px;padding:10px 0}
.step-icon{width:32px;height:32px;border-radius:8px;font-size:16px}
.process-step strong{font-size:11px}
.process-step small{font-size:9px;line-height:1.35}
.process-step i{width:25px;height:25px;font-size:11px}
.board-copy{max-width:500px;margin-top:19px}

/* Why choose */
.choose{padding:46px 0 58px}
.choose-mark{width:205px;right:8px;top:-4px}
.choose-intro{grid-template-columns:225px 1fr;gap:48px;padding-top:29px}
.choose-year strong{font-size:30px}
.choose-year span{font-size:10px;margin-top:6px}
.choose-intro h2{font-size:clamp(40px,3.5vw,50px);margin-top:22px}
.choose-list{margin-top:50px}
.choose-row{
  min-height:126px;
  grid-template-columns:225px 1fr 50px;
  gap:48px;
  padding:12px 0;
}
.choose-row.active{padding-inline:23px;border-radius:16px}
.choose-num{font-size:11px}
.choose-row h3{font-size:26px;margin-bottom:11px}
.choose-row p{font-size:10px;line-height:1.45;max-width:610px}
.choose-arrow{font-size:29px}
.choose-row .btn{min-height:40px;padding-inline:20px;font-size:11px}

/* Work */
.work{padding:54px 0 48px}
.work h2{font-size:clamp(43px,3.8vw,53px);margin-top:22px}
.work-intro{width:330px;margin-right:2%}
.work-intro p{font-size:12px;line-height:1.5;margin-bottom:17px}
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px}
.work-image{border-radius:16px}
.work-image img{height:auto;aspect-ratio:1.05/1;object-fit:cover}
.work-meta{padding:18px 12px 0}
.work-meta h3{font-size:14px;margin-bottom:7px}
.work-meta p{font-size:10px;line-height:1.35}
.work-meta>span{font-size:22px}

/* CTA */
.cta{padding:36px 0 55px}
.cta-panel{min-height:310px;max-width:900px}
.cta-beams{height:330px;width:690px}
.cta h2{font-size:clamp(40px,3.7vw,50px)}
.cta-copy{width:min(680px,88%);padding:24px 0}
.cta-copy p{font-size:12px;max-width:610px;margin:17px auto 20px}
.cta-design{left:5%;top:34%;font-size:10px;padding:5px 12px}
.cta-development{right:4%;top:43%;font-size:10px;padding:10px 17px}

/* Footer */
.site-footer{
  min-height:535px;
  padding:46px max(32px,calc((100vw - 1260px)/2)) 24px;
}
.footer-grid{grid-template-columns:1.05fr 1fr;gap:80px}
.footer-brand img{width:250px}
.footer-brand>p{max-width:470px;font-size:11px;line-height:1.5;margin:25px 0 22px}
.newsletter{max-width:435px}
.newsletter input{font-size:11px;padding-inline:17px}
.newsletter button{width:47px;height:43px;font-size:19px}
.footer-links{gap:28px}
.footer-links h4{font-size:12px;margin-bottom:12px}
.footer-links a{font-size:10px;margin:9px 0}
.footer-word{font-size:250px;bottom:-50px}
.footer-word::after{width:245px;height:245px;left:39%;bottom:13%}
.footer-bottom{left:max(32px,calc((100vw - 1260px)/2));right:max(32px,calc((100vw - 1260px)/2));bottom:18px}
.footer-bottom>p,.footer-bottom>div:last-child a{font-size:9px}
.socials{gap:7px}.socials a{width:30px;height:30px;font-size:10px}

/* Tablet */
@media (max-width:1100px){
  :root{--container:min(100% - 44px,960px)}
  .site-header{width:var(--container);height:92px}
  .brand img{width:164px}
  .hero{min-height:720px;padding-top:92px}
  .hero-content{margin-top:72px}
  .hero-beams{width:min(720px,80vw);height:410px}
  .hero h1{font-size:clamp(52px,7vw,68px)}
  .hero h1.kinetic-title>span{white-space:normal}
  .sticker-type{left:17%;top:85px}
  .sticker-stack{left:9%;top:53%}
  .sticker-agency{right:8%;top:51%}
  .promise-strip{font-size:clamp(20px,2.8vw,28px);max-width:96%}
  .about{padding-top:72px}
  .about-grid{grid-template-columns:215px 1fr;gap:36px}
  .about-media img{height:300px}
  .about-copy h2{font-size:42px}
  .about-copy>p{font-size:17px;margin-top:28px}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-proof-grid{grid-template-columns:1.6fr 1fr;gap:20px}
  .process-grid{grid-template-columns:1fr;margin-top:36px}
  .process-photo-card{display:grid;grid-template-columns:38% 1fr;gap:18px;align-items:center}
  .process-photo-card img{height:390px}
  .choose-intro{grid-template-columns:180px 1fr;gap:36px}
  .choose-row{grid-template-columns:180px 1fr 42px;gap:36px}
  .work-grid{gap:18px}
  .work-intro{width:290px;margin-right:0}
  .footer-grid{grid-template-columns:1fr;gap:34px}
  .site-footer{min-height:700px}
  .footer-brand>p{max-width:610px}
  .footer-word{font-size:205px}
}

/* Mobile */
@media (max-width:760px){
  :root{--container:calc(100% - 32px)}
  html{scroll-padding-top:76px}
  .site-header{width:var(--container);height:76px;grid-template-columns:1fr auto}
  .brand img{width:138px}
  .contact-link{display:none}
  .menu-toggle{width:44px;height:44px}
  .site-header.is-scrolled{width:calc(100% - 20px);height:60px;top:7px;padding-inline:10px}
  .site-header.is-scrolled .brand img{width:128px}
  .site-header.is-scrolled .menu-toggle{width:40px;height:40px}

  .hero{
    min-height:748px;
    padding-top:76px;
    background:radial-gradient(circle at 50% 13%,rgba(113,91,221,.35),transparent 34%);
  }
  .hero::before{inset:0 -16px}
  .hero::after{width:430px;height:260px;top:0}
  .hero-beams{width:100%;height:360px}
  .hero-content{margin-top:84px;padding-inline:0;max-width:100%}
  .eyebrow{font-size:11px;padding:8px 13px;max-width:88%;white-space:normal}
  .eyebrow b{width:22px}
  .hero h1{font-size:clamp(40px,12vw,52px);line-height:1.01;margin-top:28px;letter-spacing:-.06em}
  .hero h1.kinetic-title>span{white-space:normal}
  .hero-content>p{font-size:14px;line-height:1.5;margin-top:24px;max-width:335px;padding-inline:8px}
  .hero-actions{flex-direction:column;gap:11px;margin-top:28px;padding-inline:22px}
  .btn{width:100%;max-width:320px;min-height:48px;font-size:13px}
  .sticker-type{top:79px;left:9%;font-size:27px;padding:9px 12px;border-radius:11px}
  .sticker-stack{left:3%;top:50%;font-size:10px;padding:5px 11px}
  .sticker-stack span{font-size:18px;right:-12px;top:-15px}
  .sticker-agency{right:2%;top:52%;font-size:10px;padding:9px 14px}
  .promise-strip{
    width:calc(100% - 24px);
    max-width:360px;
    bottom:20px;
    gap:5px 7px;
    justify-content:center;
    flex-wrap:wrap;
    white-space:normal;
    font-size:13px;
    line-height:1.4;
    animation:none;
    transform:translateX(-50%);
  }
  .promise-strip i{font-size:10px}

  .about{padding:64px 0 48px}
  .about-grid{grid-template-columns:1fr;gap:34px}
  .about-media{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(105px,.75fr);gap:16px;align-items:end}
  .about-media .section-kicker{grid-column:1/-1}
  .about-media img{height:auto;aspect-ratio:3/4;margin-top:0}
  .about-metric{margin:0;padding-bottom:4px}
  .about-metric strong{font-size:52px}
  .about-metric span{font-size:10px}
  .about-copy{padding:0}
  .about-copy h2{font-size:clamp(34px,10vw,42px);line-height:1.06}
  .about-copy>p{font-size:15px;line-height:1.55;margin-top:25px}
  .about-actions{gap:18px;margin-top:30px}
  .round-mouse{width:54px;height:54px;flex:0 0 auto}
  .about-actions .btn{width:auto;max-width:none;padding-inline:20px}

  .services{padding:42px 0 48px;border-radius:0 0 28px 28px}
  .section-heading h2{font-size:36px;margin-top:16px}
  .service-grid{grid-template-columns:1fr;gap:12px;margin-top:34px}
  .service-card{min-height:220px;border-radius:16px;padding:16px}
  .service-card h3{font-size:19px}
  .service-card p{font-size:11px}

  .brand-proof{padding:45px 0 55px}
  .brand-proof-grid{grid-template-columns:1fr;gap:22px}
  .proof-main img,.proof-side>img{width:100%;height:auto;aspect-ratio:auto}
  .vision-line{grid-template-columns:60px 1fr;gap:15px;margin-top:16px}
  .vision-arrow{width:60px;height:60px;border-radius:13px;font-size:28px}
  .vision-line h3{font-size:17px;margin-bottom:7px}
  .vision-line p{font-size:11px}

  .process{padding:10px 0 52px}
  .process-header{align-items:flex-start}
  .process-header h2{font-size:36px;line-height:1.06;margin-top:15px}
  .process-header>a{display:none}
  .process-grid{grid-template-columns:1fr;margin-top:30px}
  .process-photo-card{display:block;padding:13px}
  .process-photo-card img{height:auto;aspect-ratio:4/5}
  .process-photo-card p,.board-copy{font-size:11px;margin:17px 8px 7px}
  .process-board{padding:11px}
  .board-top{height:46px;padding-inline:13px}
  .steps{padding:14px 13px 9px}
  .process-step{grid-template-columns:30px 1fr 25px;gap:9px;padding:10px 0}
  .step-icon{width:30px;height:30px}
  .process-step strong{font-size:11px}
  .process-step small{font-size:9px}

  .choose{padding:38px 0 48px}
  .choose-mark{width:132px;right:-12px;top:-3px}
  .choose-intro{grid-template-columns:1fr;gap:28px;padding-top:22px}
  .choose-year strong{font-size:25px}
  .choose-intro h2{font-size:36px;margin-top:18px}
  .choose-list{margin-top:36px}
  .choose-row,.choose-row.active{grid-template-columns:34px 1fr;gap:12px;min-height:0;padding:24px 0}
  .choose-row.active{padding-inline:13px;border-radius:14px}
  .choose-row h3{font-size:23px;margin-bottom:9px}
  .choose-row p{font-size:10px}
  .choose-arrow,.choose-row .btn{display:none}

  .work{padding:45px 0 42px}
  .work-header{display:block}
  .work h2{font-size:42px;margin-top:19px}
  .work-intro{width:auto;margin:26px 0 0}
  .work-intro p{font-size:12px}
  .work-intro .btn{width:auto;padding-inline:21px}
  .work-grid{grid-template-columns:1fr;gap:34px;margin-top:38px}
  .work-image img{aspect-ratio:1.12/1}
  .work-meta{padding:15px 8px 0}

  .cta{padding:28px 0 44px}
  .cta-panel{min-height:340px;max-width:none}
  .cta-beams{width:520px;height:340px}
  .cta-copy{width:88%;padding:25px 0}
  .cta h2{font-size:36px;line-height:1.04}
  .cta-copy p{font-size:11px;line-height:1.5;margin:16px auto 19px}
  .cta-copy .btn{width:auto;padding-inline:21px}
  .cta-design{left:2%;top:24%}
  .cta-development{right:-3%;top:59%}

  .site-footer{min-height:790px;padding:38px 16px 20px}
  .footer-grid{grid-template-columns:1fr;gap:36px}
  .footer-brand img{width:220px}
  .footer-brand>p{font-size:11px;margin:22px 0 20px}
  .newsletter{max-width:none}
  .footer-links{grid-template-columns:1fr 1fr;gap:24px}
  .footer-links>div:last-child{grid-column:1/-1}
  .footer-links h4{font-size:12px}
  .footer-links a{font-size:10px}
  .footer-word{font-size:118px;bottom:74px}
  .footer-word::after{width:145px;height:145px;left:39%;bottom:-2%}
  .footer-bottom{left:16px;right:16px;bottom:15px;display:flex;flex-wrap:wrap;gap:13px;justify-content:space-between}
  .footer-bottom>p{order:3;width:100%;text-align:left;margin:0}
  .footer-bottom>div:last-child a{margin-left:12px}
}

@media (max-width:420px){
  .hero h1{font-size:clamp(38px,11.6vw,48px)}
  .hero-content{margin-top:91px}
  .hero-content>p{font-size:13px}
  .sticker-type{left:7%}
  .sticker-stack{top:48.5%}
  .sticker-agency{top:50.5%}
  .about-media{grid-template-columns:minmax(0,1.35fr) minmax(95px,.65fr)}
  .footer-word{font-size:105px}
}

/* Final optical alignment after viewport validation */
@media (min-width:1101px){
  .hero{min-height:810px}
  .hero-content{margin-top:80px}
  .hero h1{font-size:clamp(62px,5.75vw,84px)}
  .sticker-type{top:90px}
  .about-media img{height:365px}
  .about-copy>p{max-width:880px}
}

@media (min-width:761px) and (max-width:1100px){
  .hero{min-height:760px}
  .hero-content{margin-top:74px}
  .hero-content>p{max-width:560px}
  .sticker-stack{top:48%;left:7%}
  .sticker-agency{top:48%;right:6%}
  .promise-strip{
    width:calc(100% - 30px);
    max-width:920px;
    white-space:normal;
    flex-wrap:wrap;
    line-height:1.25;
    text-align:center;
  }
}

@media (max-width:760px){
  .hero{min-height:790px}
  .hero-content>p{margin-top:54px}
  .sticker-stack{top:365px}
  .sticker-agency{top:373px}
}

@media (max-width:350px){
  .sticker-stack,.sticker-agency{display:none}
  .hero-content>p{margin-top:28px}
}

@media (min-width:761px) and (max-width:1100px){
  .hero-content>p{margin-top:52px}
  .sticker-stack{top:352px}
  .sticker-agency{top:356px}
}

@media (min-width:1101px){
  .sticker-stack{top:54%}
  .sticker-agency{top:53%}
  .hero-actions{margin-top:50px}
  .about{padding-top:100px}
  .about-copy>p{margin-top:46px}
}

/* Prevent decorative layers from creating horizontal page overflow. */
html,body{max-width:100%;overflow-x:clip}
.about,.work{overflow:clip}
@media (max-width:1100px){
  .section-glow{display:none}
}
@media (max-width:760px){
  .cta-beams{width:100%}
}

/* Reference sticker details */
.sticker-type{
  font-family:"Inter",system-ui,sans-serif;
  font-weight:800;
  letter-spacing:-.075em;
}
.sticker-type::before{
  content:"";
  position:absolute;
  inset:10px 15px 9px;
  border:1px solid rgba(14,65,67,.9);
  pointer-events:none;
}
.sticker-type::after{
  content:"";
  position:absolute;
  inset:8px 13px 7px;
  pointer-events:none;
  background:
    linear-gradient(#f4fbff,#f4fbff) left top/4px 4px no-repeat,
    linear-gradient(#f4fbff,#f4fbff) right top/4px 4px no-repeat,
    linear-gradient(#f4fbff,#f4fbff) left bottom/4px 4px no-repeat,
    linear-gradient(#f4fbff,#f4fbff) right bottom/4px 4px no-repeat;
}
.sticker-stack span{color:#158fff;text-shadow:0 1px 0 rgba(0,0,0,.15)}
.sticker-agency::after{
  content:"";
  position:absolute;
  width:18px;height:15px;
  left:3px;top:-7px;
  background:inherit;
  clip-path:polygon(0 0,100% 100%,23% 100%);
  transform:rotate(6deg);
  z-index:-1;
}
@media (min-width:761px) and (max-width:850px){
  .hero-content>p{max-width:500px;margin-top:62px}
}

/* =========================================================
   SERVICES PAGE
   Built from the supplied services-page recording.
   ========================================================= */
.services-actions{
  display:flex;
  justify-content:center;
  margin-top:34px;
}
.services-actions .btn{width:auto}

.services-page .service-hero{
  min-height:860px;
  padding-top:108px;
  align-items:flex-start;
  background:radial-gradient(circle at 50% 14%,rgba(117,91,226,.4),transparent 36%);
}
.services-page .service-hero .hero-beams{
  width:min(790px,60vw);
  height:470px;
}
.services-page .service-hero .hero-content{
  max-width:1120px;
  margin-top:104px;
}
.services-page .service-hero h1{
  max-width:1080px;
  font-size:clamp(66px,6.15vw,94px);
  line-height:.98;
  margin-top:38px;
}
.services-page .service-hero h1.kinetic-title>span{
  white-space:nowrap;
}
.services-page .service-hero .hero-content>p{
  max-width:700px;
  margin-top:30px;
  font-size:15px;
  line-height:1.45;
}
.services-page .service-hero .hero-actions{margin-top:42px}
.services-page .service-hero .sticker-type{
  top:80px;
  left:26.5%;
}
.services-page .service-hero .sticker-stack{
  top:51.5%;
  left:20%;
}
.services-page .service-hero .sticker-agency{
  top:49.5%;
  right:17.5%;
}
.services-page .service-hero .promise-strip{
  bottom:42px;
  font-size:clamp(24px,2.45vw,36px);
}

.service-catalog{
  padding:70px 0 28px;
  background:none;
  border-radius:0;
}
.service-catalog .section-heading h2{
  max-width:660px;
  font-size:clamp(44px,3.8vw,58px);
}
.service-page-grid{
  gap:16px;
  margin-top:62px;
}
.service-page-grid .service-card{
  min-height:530px;
  padding:25px 22px 20px;
  border-radius:22px;
  background:linear-gradient(145deg,#111219,#151520);
}
.service-page-grid .service-icon{
  width:43px;
  height:43px;
  border-radius:10px;
}
.service-page-grid .service-icon svg{width:24px;height:24px}
.service-card-copy{margin-top:31px}
.service-page-grid .service-card h3{
  font-size:21px;
  line-height:1.12;
  margin-bottom:19px;
}
.service-page-grid .service-card p{
  max-width:none;
  font-size:10.5px;
  line-height:1.48;
  color:#85848d;
}
.service-page-grid .service-card ul{
  list-style:none;
  padding:0;
  margin:22px 0 8px;
  display:grid;
  gap:11px;
}
.service-page-grid .service-card li{
  position:relative;
  padding-left:14px;
  font-size:10.5px;
  line-height:1.35;
  color:#ecebf0;
}
.service-page-grid .service-card li::before{
  content:"•";
  position:absolute;
  left:0;
  top:-1px;
  color:#d6d4df;
}
.service-page-grid .service-card>a{
  font-size:10.5px;
  margin-top:24px;
}

.service-vision{
  min-height:530px;
  grid-column:span 2;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.service-vision::before{
  content:"";
  position:absolute;
  width:480px;
  height:340px;
  right:4%;
  bottom:-10%;
  background:radial-gradient(circle,rgba(91,65,197,.15),transparent 70%);
  filter:blur(25px);
}
.service-vision-note{
  position:absolute;
  left:21%;
  top:14%;
  color:#7665d1;
  font-family:"Segoe Script","Bradley Hand",cursive;
  font-size:clamp(42px,4.2vw,64px);
  line-height:1.08;
  transform:rotate(-6deg);
  text-align:center;
  text-shadow:0 0 24px rgba(103,79,210,.12);
}
.service-vision-mark{
  position:absolute;
  width:min(310px,32%);
  height:auto;
  right:4%;
  bottom:1%;
  display:block;
  filter:drop-shadow(0 25px 42px rgba(48,29,102,.32));
}

.services-page .process{padding-top:62px}
.services-page .choose{padding-top:58px}
.services-page .work{padding-top:60px}

@media (max-width:1100px){
  .services-page .service-hero{min-height:800px}
  .services-page .service-hero .hero-content{margin-top:104px}
  .services-page .service-hero h1{font-size:clamp(58px,7vw,72px)}
  .services-page .service-hero h1.kinetic-title>span{white-space:normal}
  .services-page .service-hero .sticker-type{left:18%}
  .services-page .service-hero .sticker-stack{left:8%;top:48%}
  .services-page .service-hero .sticker-agency{right:7%;top:48.5%}
  .services-page .service-hero .promise-strip{bottom:34px}
  .service-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-page-grid .service-card{min-height:500px}
  .service-vision{grid-column:span 1;min-height:500px}
  .service-vision-note{left:8%;top:17%;font-size:48px}
  .service-vision-mark{width:38%;right:2%;bottom:2%}
}

@media (max-width:760px){
  .services-actions{margin-top:26px}
  .services-actions .btn{width:auto;max-width:none;padding-inline:22px}

  .services-page .service-hero{
    min-height:800px;
    padding-top:76px;
    background:radial-gradient(circle at 50% 12%,rgba(117,91,226,.4),transparent 35%);
  }
  .services-page .service-hero .hero-beams{width:100%;height:380px}
  .services-page .service-hero .hero-content{margin-top:105px}
  .services-page .service-hero h1{
    font-size:clamp(42px,12.2vw,56px);
    line-height:1.01;
    margin-top:29px;
  }
  .services-page .service-hero h1.kinetic-title>span{white-space:normal}
  .services-page .service-hero .hero-content>p{
    max-width:340px;
    font-size:13px;
    margin-top:30px;
    padding-inline:5px;
  }
  .services-page .service-hero .hero-actions{margin-top:31px;padding-inline:36px}
  .services-page .service-hero .sticker-type{top:77px;left:8%;font-size:28px}
  .services-page .service-hero .sticker-stack{top:420px;left:2%}
  .services-page .service-hero .sticker-agency{top:426px;right:1%}
  .services-page .service-hero .promise-strip{
    bottom:23px;
    width:calc(100% - 18px);
    max-width:380px;
    font-size:13px;
    flex-wrap:wrap;
    white-space:normal;
    line-height:1.35;
    animation:none;
    transform:translateX(-50%);
  }

  .service-catalog{padding:46px 0 10px}
  .service-catalog .section-heading h2{font-size:36px}
  .service-page-grid{grid-template-columns:1fr;gap:13px;margin-top:36px}
  .service-page-grid .service-card{
    min-height:0;
    padding:19px 18px 18px;
    border-radius:17px;
  }
  .service-card-copy{margin-top:24px}
  .service-page-grid .service-card h3{font-size:21px;margin-bottom:15px}
  .service-page-grid .service-card p{font-size:11px}
  .service-page-grid .service-card ul{margin-top:19px;gap:9px}
  .service-page-grid .service-card li{font-size:11px}
  .service-page-grid .service-card>a{margin-top:24px;font-size:11px}
  .service-vision{
    grid-column:span 1;
    min-height:360px;
    border-radius:18px;
    background:radial-gradient(circle at 68% 72%,rgba(94,70,198,.14),transparent 52%);
  }
  .service-vision-note{left:5%;top:11%;font-size:41px;text-align:left}
  .service-vision-mark{width:46%;right:2%;bottom:2%}
  .services-page .process{padding-top:47px}
  .services-page .choose{padding-top:42px}
  .services-page .work{padding-top:46px}
}

@media (max-width:390px){
  .services-page .service-hero h1{font-size:clamp(39px,11.7vw,48px)}
  .services-page .service-hero .hero-content>p{font-size:12px}
  .services-page .service-hero .sticker-stack{top:407px}
  .services-page .service-hero .sticker-agency{top:413px}
  .service-vision-note{font-size:35px}
}

/* Services hero sticker spacing: keep decorative labels clear of the headline. */
@media (min-width:1101px){
  .services-page .service-hero .sticker-stack{top:56%}
  .services-page .service-hero .sticker-agency{top:54.5%}
}
@media (min-width:761px) and (max-width:1100px){
  .services-page .service-hero .sticker-stack{top:53%}
  .services-page .service-hero .sticker-agency{top:52.5%}
}
@media (max-width:760px){
  .services-page .service-hero{min-height:835px}
  .services-page .service-hero .hero-content>p{margin-top:80px;max-width:330px}
  .services-page .service-hero .sticker-stack{top:404px;left:2%}
  .services-page .service-hero .sticker-agency{top:410px;right:1%}
  .services-page .service-hero .hero-actions{margin-top:28px}
}
@media (max-width:390px){
  .services-page .service-hero .hero-content>p{margin-top:76px;max-width:315px}
  .services-page .service-hero .sticker-stack{top:391px}
  .services-page .service-hero .sticker-agency{top:397px}
}

/* =========================================================
   ABOUT PAGE — reference-aligned implementation
   ========================================================= */
.about-page .about-hero{
  min-height:760px;
  background:radial-gradient(circle at 50% 15%,rgba(117,91,226,.42),transparent 35%);
}
.about-page .about-hero .hero-beams{width:min(790px,60vw);height:460px}
.about-page .about-hero .hero-content{max-width:1120px;margin-top:82px}
.about-page .about-hero h1{max-width:930px;font-size:clamp(66px,5.8vw,88px);line-height:.98;margin-top:34px}
.about-page .about-hero h1.kinetic-title>span{white-space:nowrap}
.about-page .about-hero .hero-content>p{max-width:860px;font-size:14px;line-height:1.5;margin-top:26px}
.about-page .about-hero .hero-actions{margin-top:38px}
.about-page .about-hero .sticker-type{top:76px;left:28%}
.about-page .about-hero .sticker-stack{top:47%;left:9%}
.about-page .about-hero .sticker-agency{top:45.5%;right:8.5%}
.about-page .about-hero .promise-strip{bottom:26px;font-size:clamp(22px,2.2vw,33px)}

.about-story{width:min(1500px,90vw);padding:72px 0 82px}
.story-grid{display:grid;grid-template-columns:428px minmax(0,1fr);gap:44px;align-items:start}
.story-media .section-kicker{font-size:15px;gap:10px}
.story-media .section-kicker span{width:8px;height:8px}
.story-media img{width:100%;aspect-ratio:.955/1;object-fit:cover;margin-top:18px}
.story-metric-row{display:grid;grid-template-columns:145px 84px 200px;align-items:end;gap:59px;margin-top:37px;width:max-content}
.story-metric-row .about-metric{margin:0}
.story-metric-row .about-metric strong{font-size:80px}
.story-metric-row .about-metric span{font-size:13px;margin-top:33px}
.story-metric-row .round-mouse{width:84px;height:84px;align-self:end}
.story-metric-row .round-mouse span{width:23px;height:38px}
.story-metric-row .btn{width:200px;min-height:76px;padding-inline:28px;align-self:end;transform:translateY(37px)}
.story-copy{position:relative;padding-top:0;min-height:805px;margin-top:-4px}
.story-copy h2{font-size:clamp(44px,4.1vw,68px);line-height:1.22;letter-spacing:-.055em;font-weight:400;margin:0;max-width:1060px}
.story-copy p{font-size:clamp(19px,1.65vw,27px);line-height:1.44;letter-spacing:-.025em;margin:25px 0 0;max-width:900px;color:#f0eff2}
.ideas-note{position:absolute;right:32%;top:589px;bottom:auto;font-family:"Segoe Script","Bradley Hand",cursive;color:#7461d4;font-size:clamp(46px,4.2vw,68px);line-height:1.12;transform:rotate(-5deg);text-align:center;text-shadow:0 0 20px rgba(96,70,205,.18)}

.about-process{padding-top:34px;padding-bottom:54px}
.about-process .process-header{align-items:end}
.about-process .process-header h2{font-size:clamp(38px,3.35vw,52px);max-width:640px;margin-top:18px}
.about-process .process-grid{margin-top:45px}

.about-contact{padding:8px 0 70px}
.contact-shell{display:grid;grid-template-columns:1fr 1.04fr;background:#101116;border:1px solid rgba(255,255,255,.045);border-radius:50px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.18)}
.contact-info{padding:55px 54px 48px;background:linear-gradient(150deg,#111217 0%,#0c0d12 100%);position:relative}
.contact-info::after{content:"";position:absolute;left:0;right:0;bottom:0;height:170px;background:radial-gradient(circle at 20% 100%,rgba(111,84,205,.13),transparent 55%);pointer-events:none}
.contact-eyebrow{display:block;font-size:11px;font-weight:500;letter-spacing:.015em;margin-bottom:26px}
.contact-info h2{font-size:clamp(36px,3.1vw,48px);line-height:1.06;letter-spacing:-.045em;font-weight:500;margin:0}
.contact-info>p{max-width:530px;color:#8e8c95;font-size:13px;line-height:1.52;margin:30px 0 34px}
.contact-list{display:grid;gap:25px;position:relative;z-index:1}
.contact-item{display:grid;grid-template-columns:62px 1fr;gap:19px;align-items:center}
.contact-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#a795ee,#5c47ba 58%,#31256d);box-shadow:0 11px 26px rgba(68,49,154,.28)}
.contact-icon svg{width:29px;height:29px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-item strong{display:block;font-size:14px;font-weight:600;margin-bottom:5px}
.contact-item div span{display:block;color:#d0ced4;font-size:12px;line-height:1.36}
.discovery-call{margin-top:38px;min-height:62px;padding:0 35px;border:1px solid rgba(255,255,255,.2);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;background:linear-gradient(120deg,rgba(255,255,255,.09),rgba(255,255,255,.03));position:relative;z-index:1;overflow:hidden}
.discovery-call::before{content:"";position:absolute;left:-40px;inset-block:0;width:180px;background:linear-gradient(130deg,transparent 10%,rgba(116,92,211,.11) 11% 39%,transparent 40% 52%,rgba(116,92,211,.09) 53% 76%,transparent 77%);transform:skewX(-10deg)}
.discovery-call:hover{border-color:rgba(171,151,255,.5)}

.project-form{padding:54px 62px 48px;background:#16171d;border-radius:46px;display:flex;flex-direction:column}
.project-form h3{font-size:clamp(30px,2.7vw,42px);font-weight:500;line-height:1.08;letter-spacing:-.04em;margin:0}
.project-form>p{font-size:18px;line-height:1.35;color:#d7d5dc;margin:18px 0 27px}
.project-form label{display:block;font-size:12px;font-weight:500;margin-top:16px;color:#f0eff3}
.project-form label em{font-style:normal;color:#d32661}
.project-form input,.project-form textarea,.project-form select{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.45);background:transparent;color:#f4f3f6;padding:9px 0 12px;outline:none;border-radius:0;font-size:12px;resize:none}
.project-form input::placeholder,.project-form textarea::placeholder{color:#74727b}
.project-form select{appearance:none;color:#77747e;cursor:pointer}
.project-form select option{color:#111;background:#fff}
.project-form input:focus,.project-form textarea:focus,.project-form select:focus{border-bottom-color:#9583ee}
.phone-field{display:grid;grid-template-columns:55px 1fr;align-items:end;border-bottom:1px solid rgba(255,255,255,.45)}
.phone-field span{padding-bottom:10px;font-size:12px;color:#aaa7b0}
.phone-field input{border-bottom:0!important}
.project-submit{margin-top:42px;width:100%;min-height:61px;border:0;border-radius:999px;color:#fff;font:inherit;font-size:15px;cursor:pointer;background:linear-gradient(135deg,#9f8ce8,#725dca 48%,#443392);box-shadow:0 17px 38px rgba(66,49,153,.26);transition:transform .25s ease,filter .25s ease}
.project-submit:hover{transform:translateY(-2px);filter:brightness(1.08)}

.about-page .work{padding-top:30px}
.about-page .cta{padding-top:58px}

@media (max-width:1100px){
  .about-page .about-hero{min-height:800px}
  .about-page .about-hero .hero-content{margin-top:95px}
  .about-page .about-hero h1{font-size:clamp(56px,7vw,74px)}
  .about-page .about-hero h1.kinetic-title>span{white-space:normal}
  .about-page .about-hero .sticker-type{left:20%}
  .about-page .about-hero .sticker-stack{left:5%;top:49%}
  .about-page .about-hero .sticker-agency{right:4%;top:47.5%}
  .story-grid{grid-template-columns:300px minmax(0,1fr);gap:38px}
  .story-copy{min-height:610px;padding-top:8px;margin-top:0}
  .story-copy h2 br{display:none}
  .story-copy p{font-size:17px}
  .ideas-note{right:4%;top:auto;bottom:1%;font-size:42px}
  .story-metric-row{grid-template-columns:1fr 60px;gap:16px;width:100%;align-items:end}
  .story-metric-row .about-metric strong{font-size:64px}
  .story-metric-row .about-metric span{font-size:11px;margin-top:16px}
  .story-metric-row .round-mouse{width:60px;height:60px}
  .story-metric-row .round-mouse span{width:16px;height:27px}
  .story-metric-row .btn{grid-column:1 / -1;justify-self:start;width:auto;min-height:48px;transform:none}
  .contact-info{padding:44px 38px}
  .project-form{padding:44px 42px}
}

@media (max-width:760px){
  .about-page .about-hero{min-height:835px;padding-top:76px;background:radial-gradient(circle at 50% 11%,rgba(117,91,226,.42),transparent 34%)}
  .about-page .about-hero .hero-beams{width:100%;height:380px}
  .about-page .about-hero .hero-content{margin-top:96px;padding-inline:8px}
  .about-page .about-hero h1{font-size:clamp(44px,12.4vw,58px);line-height:1;margin-top:30px}
  .about-page .about-hero .hero-content>p{font-size:12.5px;line-height:1.48;max-width:355px;margin-top:31px}
  .about-page .about-hero .hero-actions{margin-top:28px;padding-inline:28px;flex-direction:column;align-items:stretch}
  .about-page .about-hero .hero-actions .btn{width:100%}
  .about-page .about-hero .sticker-type{top:75px;left:8%;font-size:28px}
  .about-page .about-hero .sticker-stack{top:413px;left:2%}
  .about-page .about-hero .sticker-agency{top:418px;right:1%}
  .about-page .about-hero .promise-strip{bottom:22px;width:calc(100% - 18px);max-width:380px;white-space:normal;flex-wrap:wrap;justify-content:center;font-size:13px;line-height:1.35;animation:none;transform:translateX(-50%)}

  .about-story{width:var(--container);padding:48px 0 52px}
  .story-grid{grid-template-columns:1fr;gap:30px}
  .story-media{display:grid;grid-template-columns:1fr}
  .story-media .section-kicker{font-size:11px;gap:8px}
  .story-media .section-kicker span{width:6px;height:6px}
  .story-media img{aspect-ratio:1.15/1;margin-top:14px;border-radius:1px}
  .story-metric-row{grid-template-columns:1fr 54px;gap:15px;margin-top:21px;width:100%;align-items:end}
  .story-metric-row .about-metric strong{font-size:55px}
  .story-metric-row .about-metric span{font-size:10px;margin-top:13px}
  .story-metric-row .round-mouse{width:54px;height:54px}
  .story-metric-row .round-mouse span{width:15px;height:26px}
  .story-metric-row .btn{grid-column:1 / -1;width:max-content;transform:none}
  .story-copy{padding-top:0;min-height:auto;margin-top:0}
  .story-copy h2{font-size:36px;line-height:1.08}
  .story-copy p{font-size:15px;line-height:1.45;margin-top:23px;color:#dedde2}
  .ideas-note{position:relative;right:auto;top:auto;bottom:auto;margin:31px 15px 0 auto;width:max-content;font-size:36px}

  .about-process{padding-top:28px}
  .about-process .process-header h2{font-size:35px}
  .contact-shell{grid-template-columns:1fr;border-radius:26px}
  .contact-info{padding:35px 24px 31px}
  .contact-info h2{font-size:36px}
  .contact-info>p{font-size:12px;margin:23px 0 29px}
  .contact-list{gap:22px}
  .contact-item{grid-template-columns:54px 1fr;gap:15px}
  .contact-icon{width:50px;height:50px}
  .contact-icon svg{width:25px;height:25px}
  .discovery-call{width:100%;min-height:55px;font-size:15px;margin-top:31px;padding-inline:18px}
  .project-form{padding:34px 24px 30px;border-radius:25px}
  .project-form h3{font-size:31px}
  .project-form>p{font-size:15px;margin:14px 0 20px}
  .project-form>p br{display:none}
  .project-form label{margin-top:13px}
  .project-submit{min-height:54px;margin-top:31px}
  .about-page .work{padding-top:22px}
}

@media (max-width:390px){
  .about-page .about-hero h1{font-size:clamp(41px,11.8vw,50px)}
  .about-page .about-hero .hero-content>p{max-width:330px;font-size:12px}
  .about-page .about-hero .sticker-stack{top:401px}
  .about-page .about-hero .sticker-agency{top:406px}
  .story-copy h2{font-size:33px}
  .project-form h3{font-size:28px}
}

/* =========================================================
   Reference hero interaction (v8)
   ---------------------------------------------------------
   The supplied reference uses TWO linked effects:
   1) the entire 10-column light field expands horizontally from the
      centre when the pointer enters the hero and contracts when it leaves;
   2) the headline has a soft pointer-driven light field, so the letters
      nearest the pointer lift toward white while the rest fall back into
      violet/charcoal.  This is interaction-driven, not a timed carousel.
   ========================================================= */

.hero{
  --title-x:18%;
  --title-y:-8%;
}

/* 10 equal vertical panels.  110vw * .64 ~= 70vw in the resting state,
   matching the scale change visible in the supplied recording. */
.hero > .hero-beams{
  width:110vw !important;
  max-width:none !important;
  height:440px;
  left:50%;
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr)) !important;
  transform:translateX(-50%) scaleX(.64) !important;
  transform-origin:50% 0;
  overflow:hidden;
  filter:none !important;
  opacity:1;
  will-change:transform;
  transition:transform .72s cubic-bezier(.18,.76,.22,1) !important;
  pointer-events:none;
}

.hero.hero-columns-expanded > .hero-beams{
  transform:translateX(-50%) scaleX(1) !important;
}

.hero > .hero-beams i{
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
  filter:none !important;
  border-left:1px solid rgba(255,255,255,.022);
  background:linear-gradient(180deg,
    rgba(133,113,239,.92) 0%,
    rgba(111,91,218,.74) 27%,
    rgba(82,65,173,.34) 61%,
    rgba(40,31,91,.08) 83%,
    transparent 100%) !important;
  box-shadow:inset 0 0 70px rgba(255,255,255,.035);
}
.hero > .hero-beams i:nth-child(1),
.hero > .hero-beams i:nth-child(10){opacity:.07 !important}
.hero > .hero-beams i:nth-child(2),
.hero > .hero-beams i:nth-child(9){opacity:.24 !important}
.hero > .hero-beams i:nth-child(3),
.hero > .hero-beams i:nth-child(8){opacity:.48 !important}
.hero > .hero-beams i:nth-child(4),
.hero > .hero-beams i:nth-child(7){opacity:.72 !important}
.hero > .hero-beams i:nth-child(5),
.hero > .hero-beams i:nth-child(6){opacity:1 !important}

/* Keep the large soft aura steady.  The visible motion belongs to the
   columns and the title interaction. */
.hero::after{
  animation:none !important;
  opacity:.92;
}

/* Reference headline: broad violet base plus a large, soft pointer light.
   JS writes --title-x / --title-y in the H1's own coordinate space and
   eases toward the cursor, giving the same delayed, fluid hover response. */
.hero h1.kinetic-title{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  background-image:
    radial-gradient(ellipse 58% 150% at var(--title-x) var(--title-y),
      #fbf9ff 0%,
      #f0e9f5 18%,
      #d1c3de 34%,
      #9b87c1 51%,
      rgba(103,82,164,.98) 67%,
      rgba(72,54,123,.98) 82%,
      rgba(62,46,107,.98) 100%),
    linear-gradient(102deg,#f4eff8 0%,#c5b7d6 35%,#8270aa 67%,#57447e 100%) !important;
  background-size:100% 100% !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  animation:none !important;
  will-change:background-image;
}
.hero h1.kinetic-title > span{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  background:none !important;
}

/* The reference stickers and eyebrow do not bob while this interaction is
   being demonstrated. */
.hero .sticker,
.hero .eyebrow{
  animation:none !important;
}

/* On touch devices there is no hover state. Keep the light field comfortably
   open, without sacrificing the responsive hero composition. */
@media (hover:none), (pointer:coarse){
  .hero > .hero-beams{
    transform:translateX(-50%) scaleX(.82) !important;
    transition:none !important;
  }
}

@media (max-width:760px){
  .hero > .hero-beams{
    width:122vw !important;
    height:390px;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero > .hero-beams{
    transform:translateX(-50%) scaleX(.82) !important;
    transition:none !important;
  }
  .hero h1.kinetic-title{
    --title-x:35%;
    --title-y:15%;
  }
}

/* =========================================================
   v9 polish: hero legibility + responsive safety + portfolio cards
   ========================================================= */

/* Give glyph descenders (g, p, y, etc.) enough painted line-box space.
   The negative margin keeps the two-line hero rhythm essentially unchanged. */
.hero h1.kinetic-title{
  line-height:1.075;
  overflow:visible !important;
  padding-bottom:.06em;
}
.hero h1.kinetic-title > span{
  line-height:inherit;
  overflow:visible;
  padding-bottom:.09em;
  margin-bottom:-.09em;
}

/* When the pointer is not inside the hero, keep the title intentionally
   purple but clearly readable against the dark canvas. Hover still switches
   to the pointer-following violet-to-white light field from v8. */
.hero:not(.hero-columns-expanded) h1.kinetic-title{
  background-image:linear-gradient(102deg,
    #d9ceff 0%,
    #bba7f0 28%,
    #9b82dc 55%,
    #8065c7 78%,
    #7058b8 100%) !important;
}

/* Portfolio: landscape cards with a true rounded-rectangle silhouette. */
.work-grid{
  gap:24px;
}
.work-card{
  background:linear-gradient(180deg,rgba(22,22,31,.96),rgba(16,16,24,.98));
  border:1px solid rgba(135,108,230,.26);
  border-radius:24px;
  overflow:hidden;
  padding-bottom:18px;
  box-shadow:0 16px 45px rgba(5,4,13,.16);
}
.work-image{
  aspect-ratio:16 / 10;
  border:0;
  border-radius:0;
  overflow:hidden;
  background:#13141b;
}
.work-image img,
.work-card:nth-child(2) .work-image img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
}
.work-meta{
  padding:19px 20px 0;
}
.work-card:hover{
  border-color:rgba(148,123,246,.58);
  box-shadow:0 26px 58px rgba(19,13,47,.28);
}
.work-card:hover .work-image{
  box-shadow:none;
  border-color:transparent;
}

/* Tablet: keep the same interaction and typography while avoiding cramped
   line boxes and oversized cards. */
@media (min-width:761px) and (max-width:1100px){
  .hero h1.kinetic-title{
    line-height:1.07;
    padding-bottom:.08em;
  }
  .hero h1.kinetic-title > span{
    padding-bottom:.1em;
    margin-bottom:-.1em;
  }
  .work-grid{gap:18px}
  .work-card{border-radius:20px;padding-bottom:15px}
  .work-meta{padding:16px 16px 0}
}

/* Mobile/touch: preserve the same visual language without relying on hover.
   The brighter idle purple becomes the permanent title treatment and the
   columns stay comfortably open. */
@media (max-width:760px){
  .hero h1.kinetic-title{
    line-height:1.075;
    letter-spacing:-.052em;
    padding:0 .025em .1em;
    text-wrap:balance;
  }
  .hero h1.kinetic-title > span{
    white-space:normal !important;
    padding-bottom:.11em;
    margin-bottom:-.08em;
  }
  .hero > .hero-beams{
    width:124vw !important;
  }
  .work-grid{gap:24px}
  .work-card{
    border-radius:19px;
    padding-bottom:14px;
  }
  .work-image{
    aspect-ratio:16 / 10;
  }
  .work-image img{
    aspect-ratio:auto !important;
  }
  .work-meta{
    padding:15px 15px 0;
    gap:12px;
  }
  .work-meta h3{font-size:17px}
  .work-meta p{font-size:11px;line-height:1.4}
}

@media (max-width:390px){
  .hero h1.kinetic-title{
    line-height:1.08;
    letter-spacing:-.048em;
  }
  .work-card{border-radius:17px}
}

/* =========================================================
   v10 hero polish: silver idle title + responsive alignment
   ========================================================= */

/* Idle metallic title is a desktop-only treatment. Keeping it out of
   responsive/touch layouts prevents WebKit from painting the clipped
   gradient as a rectangular background. */
@media (min-width:1101px) and (hover:hover) and (pointer:fine){
  .hero:not(.hero-columns-expanded) h1.kinetic-title{
    background-image:linear-gradient(108deg,
      #ffffff 0%,
      #f1f2f4 18%,
      #c7c9ce 40%,
      #969aa2 56%,
      #e7e8eb 73%,
      #a8abb2 88%,
      #f4f4f5 100%) !important;
    filter:drop-shadow(0 2px 14px rgba(255,255,255,.035));
  }
}

/* Keep every hero title inside a safe paint box so descenders and the hover
   gradient are never cropped at any breakpoint. */
.hero h1.kinetic-title{
  width:min(100%,1120px);
  max-width:1120px;
  margin-inline:auto;
  overflow:visible !important;
  padding-inline:.03em;
  padding-bottom:.13em;
  margin-bottom:-.13em;
  line-height:1.08;
}
.hero h1.kinetic-title > span{
  display:block;
  overflow:visible !important;
  padding-bottom:.11em;
  margin-bottom:-.11em;
}

/* Tablet: retain the same composition but give the title and copy enough
   breathing room and keep decorative labels away from the text. */
@media (min-width:761px) and (max-width:1100px){
  .hero,
  .services-page .service-hero,
  .about-page .about-hero{
    min-height:800px;
    padding-top:100px;
  }

  .hero > .hero-beams,
  .services-page .service-hero > .hero-beams,
  .about-page .about-hero > .hero-beams{
    width:116vw !important;
    height:420px;
  }

  .hero-content,
  .services-page .service-hero .hero-content,
  .about-page .about-hero .hero-content{
    width:100%;
    max-width:900px;
    margin-top:74px;
    padding-inline:28px;
  }

  .hero h1,
  .services-page .service-hero h1,
  .about-page .about-hero h1{
    width:100%;
    max-width:900px;
    font-size:clamp(52px,7vw,72px);
    line-height:1.07;
    margin-top:30px;
    letter-spacing:-.055em;
  }

  .hero h1.kinetic-title > span,
  .services-page .service-hero h1.kinetic-title > span,
  .about-page .about-hero h1.kinetic-title > span{
    white-space:normal !important;
  }

  .hero-content>p,
  .services-page .service-hero .hero-content>p,
  .about-page .about-hero .hero-content>p{
    max-width:680px;
    margin-top:28px;
  }

  .hero .sticker-type,
  .services-page .service-hero .sticker-type,
  .about-page .about-hero .sticker-type{
    top:88px;
    left:15%;
    font-size:34px;
    padding:12px 17px;
  }
  .hero .sticker-stack,
  .services-page .service-hero .sticker-stack,
  .about-page .about-hero .sticker-stack{
    left:5%;
    top:51%;
    font-size:13px;
  }
  .hero .sticker-agency,
  .services-page .service-hero .sticker-agency,
  .about-page .about-hero .sticker-agency{
    right:4%;
    top:50%;
    padding:12px 20px;
    font-size:14px;
  }
}

/* Phones: use the same design language, but deliberately recompose the hero
   instead of squeezing desktop positions into a narrow viewport. */
@media (max-width:760px){
  .section-shell{width:min(100% - 28px, 1480px)}

  .hero,
  .services-page .service-hero,
  .about-page .about-hero{
    min-height:790px;
    padding-top:86px;
    align-items:flex-start;
    background:radial-gradient(circle at 50% 12%,rgba(99,78,211,.38),transparent 34%);
  }

  .hero::before,
  .services-page .service-hero::before,
  .about-page .about-hero::before{
    inset:0 -28px;
  }

  .hero > .hero-beams,
  .services-page .service-hero > .hero-beams,
  .about-page .about-hero > .hero-beams{
    top:0;
    width:134vw !important;
    height:345px;
    transform:translateX(-50%) scaleX(.82) !important;
  }

  .hero-content,
  .services-page .service-hero .hero-content,
  .about-page .about-hero .hero-content{
    width:100%;
    max-width:100%;
    margin-top:80px;
    padding-inline:10px;
  }

  .eyebrow,
  .services-page .service-hero .eyebrow,
  .about-page .about-hero .eyebrow{
    padding:9px 14px;
    gap:7px;
    font-size:11px;
  }
  .eyebrow b{width:24px}

  .hero h1,
  .services-page .service-hero h1,
  .about-page .about-hero h1,
  .hero h1.kinetic-title,
  .services-page .service-hero h1.kinetic-title,
  .about-page .about-hero h1.kinetic-title{
    width:100%;
    max-width:100%;
    font-size:clamp(39px,11.2vw,50px);
    line-height:1.075;
    letter-spacing:-.052em;
    margin-top:25px;
    padding-inline:0;
    padding-bottom:.15em;
    margin-bottom:-.15em;
    text-wrap:balance;
  }

  .hero h1.kinetic-title > span,
  .services-page .service-hero h1.kinetic-title > span,
  .about-page .about-hero h1.kinetic-title > span{
    display:block;
    white-space:normal !important;
    padding-bottom:.12em;
    margin-bottom:-.1em;
  }

  .hero-content>p,
  .services-page .service-hero .hero-content>p,
  .about-page .about-hero .hero-content>p{
    max-width:350px;
    margin:27px auto 0;
    padding-inline:0;
    font-size:13px;
    line-height:1.5;
  }

  .hero-actions,
  .services-page .service-hero .hero-actions,
  .about-page .about-hero .hero-actions{
    width:min(100%,350px);
    margin:29px auto 0;
    padding-inline:0;
    gap:10px;
    flex-direction:column;
    align-items:stretch;
  }
  .hero-actions .btn,
  .services-page .service-hero .hero-actions .btn,
  .about-page .about-hero .hero-actions .btn{
    width:100%;
    min-height:51px;
    padding-inline:20px;
    font-size:13px;
  }

  /* Keep the decorative labels, but use them as edge accents instead of
     allowing them to cover the headline/copy. */
  .hero .sticker-type,
  .services-page .service-hero .sticker-type,
  .about-page .about-hero .sticker-type{
    top:70px;
    left:4%;
    font-size:24px;
    padding:9px 12px;
    border-radius:12px;
  }
  .hero .sticker-stack,
  .services-page .service-hero .sticker-stack,
  .about-page .about-hero .sticker-stack{
    top:425px;
    left:0;
    font-size:10px;
    padding:6px 10px;
  }
  .hero .sticker-agency,
  .services-page .service-hero .sticker-agency,
  .about-page .about-hero .sticker-agency{
    top:431px;
    right:0;
    font-size:11px;
    padding:9px 13px;
    border-radius:17px 20px 15px 18px;
  }

  .promise-strip,
  .services-page .service-hero .promise-strip,
  .about-page .about-hero .promise-strip{
    bottom:20px;
    width:calc(100% - 22px);
    max-width:390px;
    justify-content:center;
    flex-wrap:wrap;
    white-space:normal;
    gap:6px 9px;
    text-align:center;
    font-size:12px;
    line-height:1.35;
  }
}

@media (max-width:430px){
  .hero,
  .services-page .service-hero,
  .about-page .about-hero{min-height:775px}

  .hero-content,
  .services-page .service-hero .hero-content,
  .about-page .about-hero .hero-content{margin-top:76px}

  .hero h1,
  .services-page .service-hero h1,
  .about-page .about-hero h1,
  .hero h1.kinetic-title,
  .services-page .service-hero h1.kinetic-title,
  .about-page .about-hero h1.kinetic-title{
    font-size:clamp(37px,10.8vw,46px);
  }

  .hero-content>p,
  .services-page .service-hero .hero-content>p,
  .about-page .about-hero .hero-content>p{
    max-width:325px;
    font-size:12.5px;
  }
}

@media (max-width:360px){
  .hero,
  .services-page .service-hero,
  .about-page .about-hero{min-height:760px}

  .hero h1,
  .services-page .service-hero h1,
  .about-page .about-hero h1,
  .hero h1.kinetic-title,
  .services-page .service-hero h1.kinetic-title,
  .about-page .about-hero h1.kinetic-title{
    font-size:36px;
    letter-spacing:-.047em;
  }

  .hero .sticker-stack,
  .services-page .service-hero .sticker-stack,
  .about-page .about-hero .sticker-stack{top:410px}

  .hero .sticker-agency,
  .services-page .service-hero .sticker-agency,
  .about-page .about-hero .sticker-agency{top:416px}
}

/* =========================================================
   FINAL responsive hero treatment
   =========================================================
   Desktop/fine-pointer devices keep the interactive clipped-gradient title.
   Responsive and touch devices use real text colours only. No background
   image is allowed on the H1 or its title spans, so a silver rectangle cannot
   be painted behind the homepage title on mobile WebKit.
*/
@media (max-width:1100px), (hover:none), (pointer:coarse){
  .hero .hero-content.reveal,
  .services-page .service-hero .hero-content.reveal,
  .about-page .about-hero .hero-content.reveal{
    opacity:1 !important;
    transform:none !important;
  }

  /* Match the specificity of the desktop idle selector as an additional
     safeguard against older/cached rules. */
  .hero:not(.hero-columns-expanded) h1.kinetic-title,
  .hero h1.kinetic-title,
  .services-page .service-hero h1.kinetic-title,
  .about-page .about-hero h1.kinetic-title{
    background:none !important;
    background-image:none !important;
    background-color:transparent !important;
    -webkit-background-clip:border-box !important;
    background-clip:border-box !important;
    color:#dedfe4 !important;
    -webkit-text-fill-color:#dedfe4 !important;
    filter:none !important;
    box-shadow:none !important;
    text-shadow:0 1px 0 rgba(255,255,255,.08),0 10px 28px rgba(174,167,198,.045);
    position:relative;
    z-index:7;
    overflow:visible !important;
  }

  .hero h1.kinetic-title > span,
  .services-page .service-hero h1.kinetic-title > span,
  .about-page .about-hero h1.kinetic-title > span{
    display:block !important;
    background:none !important;
    background-image:none !important;
    background-color:transparent !important;
    -webkit-background-clip:border-box !important;
    background-clip:border-box !important;
    color:inherit !important;
    -webkit-text-fill-color:inherit !important;
    box-shadow:none !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
    overflow:visible !important;
    text-align:center;
  }

  .hero h1.kinetic-title > span:first-child,
  .services-page .service-hero h1.kinetic-title > span:first-child,
  .about-page .about-hero h1.kinetic-title > span:first-child{
    color:#f1f1f3 !important;
    -webkit-text-fill-color:#f1f1f3 !important;
  }
  .hero h1.kinetic-title > span:last-child,
  .services-page .service-hero h1.kinetic-title > span:last-child,
  .about-page .about-hero h1.kinetic-title > span:last-child{
    color:#c9cbd1 !important;
    -webkit-text-fill-color:#c9cbd1 !important;
  }
}

/* Tablet */
@media (min-width:761px) and (max-width:1100px){
  .hero-content,
  .services-page .service-hero .hero-content,
  .about-page .about-hero .hero-content{
    margin-top:68px;
    padding-inline:34px;
  }
  .hero h1.kinetic-title,
  .services-page .service-hero h1.kinetic-title,
  .about-page .about-hero h1.kinetic-title{
    width:100%;
    max-width:860px;
    margin:28px auto 0;
    font-size:clamp(50px,6.8vw,70px);
    line-height:1.09;
    letter-spacing:-.052em;
    padding:0 0 .16em;
    margin-bottom:-.10em;
    text-align:center;
    text-wrap:balance;
  }
  .hero h1.kinetic-title > span,
  .services-page .service-hero h1.kinetic-title > span,
  .about-page .about-hero h1.kinetic-title > span{
    width:100%;
    white-space:normal !important;
    line-height:inherit;
    padding-bottom:.08em;
    margin-bottom:-.03em;
  }
}

/* Phones */
@media (max-width:760px){
  .hero-content,
  .services-page .service-hero .hero-content,
  .about-page .about-hero .hero-content{
    margin-top:72px;
    padding-inline:12px;
    position:relative;
    z-index:7;
  }

  .hero h1.kinetic-title,
  .services-page .service-hero h1.kinetic-title,
  .about-page .about-hero h1.kinetic-title{
    width:100%;
    max-width:680px;
    margin:24px auto 0;
    font-size:clamp(40px,7vw,52px);
    line-height:1.09;
    letter-spacing:-.045em;
    padding:0 0 .16em;
    margin-bottom:-.08em;
    text-align:center;
    text-wrap:balance;
  }

  .hero h1.kinetic-title > span,
  .services-page .service-hero h1.kinetic-title > span,
  .about-page .about-hero h1.kinetic-title > span{
    width:100%;
    max-width:100%;
    white-space:normal !important;
    line-height:inherit;
    padding-bottom:.07em;
    margin-bottom:0;
  }

  .hero-content>p,
  .services-page .service-hero .hero-content>p,
  .about-page .about-hero .hero-content>p{
    margin-top:28px;
  }
}

@media (max-width:430px){
  .hero h1.kinetic-title,
  .services-page .service-hero h1.kinetic-title,
  .about-page .about-hero h1.kinetic-title{
    max-width:390px;
    font-size:clamp(36px,10.5vw,44px);
    line-height:1.1;
    letter-spacing:-.041em;
  }
}

@media (max-width:360px){
  .hero h1.kinetic-title,
  .services-page .service-hero h1.kinetic-title,
  .about-page .about-hero h1.kinetic-title{
    font-size:35px;
    letter-spacing:-.038em;
  }
}


/* =========================================================
   SERVICES PAGE — responsive corrections (v15)
   Scoped to the Services page so Home/About remain unchanged.
   ========================================================= */

/* Correct ribbon/WL mark from the supplied Services reference. */
.services-page .service-choose-mark{
  width:230px;
  right:24px;
  top:24px;
  opacity:1;
  pointer-events:none;
}
.services-page .service-choose-mark svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.services-page .service-choose-mark svg polygon{fill-opacity:1}

@media (max-width:1100px){
  .services-page .service-choose-mark{width:190px;right:10px;top:22px}

  /* Let responsive Services hero content determine its own height. This
     removes the large artificial gap created by an absolute promise strip. */
  .services-page .service-hero{
    min-height:0;
    flex-direction:column;
    justify-content:flex-start;
    padding-bottom:44px;
  }
  .services-page .service-hero .promise-strip{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    margin:64px auto 0;
  }
}

@media (max-width:760px){
  /* The old 835px min-height left a large empty band between the CTA and
     promise strip. Keep the strip in the hero, but let the next section
     arrive naturally after the content. */
  .services-page .service-hero{
    min-height:0;
    padding-bottom:36px;
  }
  .services-page .service-hero .hero-content{margin-top:92px}
  .services-page .service-hero .hero-content>p{
    margin-top:48px;
    max-width:338px;
  }
  .services-page .service-hero .hero-actions{margin-top:26px}
  .services-page .service-hero .sticker-stack{top:392px}
  .services-page .service-hero .sticker-agency{top:398px}
  .services-page .service-hero .promise-strip{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    margin:52px auto 0;
  }
  .services-page .service-catalog{padding-top:34px}

  /* Reference-aligned Why Choose layout. */
  .services-page .choose{
    padding-top:34px;
    overflow:hidden;
  }
  .services-page .service-choose-mark{
    width:142px;
    right:8px;
    top:22px;
  }
  .services-page .choose-intro{
    grid-template-columns:1fr;
    gap:30px;
    padding-top:108px;
  }
  .services-page .choose-year{
    width:100%;
    text-align:left;
  }
  .services-page .choose-year strong{
    display:block;
    font-size:28px;
    line-height:1.08;
  }
  .services-page .choose-year span{font-size:11px;margin-top:10px}
  .services-page .choose-intro>div:last-child{
    width:100%;
    text-align:left;
  }
  .services-page .choose-intro .section-kicker{
    justify-content:flex-start;
    text-align:left;
    font-size:12px;
  }
  .services-page .choose-intro h2{
    max-width:360px;
    margin:20px 0 0;
    font-size:clamp(38px,10.2vw,46px);
    line-height:1.03;
    letter-spacing:-.045em;
    text-align:left;
    text-wrap:balance;
  }
  .services-page .choose-list{margin-top:34px}
  .services-page .choose-row,
  .services-page .choose-row.active{
    grid-template-columns:1fr;
    gap:8px;
    align-items:start;
    min-height:0;
    padding:24px 0;
    text-align:left;
  }
  .services-page .choose-row.active{
    padding:22px 14px;
    margin-inline:-2px;
  }
  .services-page .choose-num{
    display:block;
    font-size:11px;
    line-height:1;
    margin:0 0 8px;
  }
  .services-page .choose-row>div{width:100%}
  .services-page .choose-row h3{
    margin:0 0 10px;
    font-size:clamp(24px,7vw,30px);
    line-height:1.08;
    text-align:left;
  }
  .services-page .choose-row p{
    max-width:100%;
    margin:0;
    font-size:10px;
    line-height:1.5;
    text-align:left;
  }
}

@media (max-width:420px){
  .services-page .service-hero{min-height:0;padding-bottom:34px}
  .services-page .service-hero .hero-content{margin-top:88px}
  .services-page .service-hero .hero-content>p{margin-top:44px;max-width:320px}
  .services-page .service-hero .sticker-stack{top:376px}
  .services-page .service-hero .sticker-agency{top:382px}
  .services-page .service-choose-mark{width:128px;right:4px;top:20px}
  .services-page .choose-intro{padding-top:96px}
  .services-page .choose-intro h2{font-size:clamp(36px,10.4vw,42px)}
}

@media (max-width:350px){
  .services-page .service-hero{min-height:0}
  .services-page .service-hero .hero-content>p{margin-top:28px}
  .services-page .choose-intro{padding-top:88px}
}


/* =========================================================
   FINAL BRAND LOCKUP + PAGE RHYTHM NORMALIZATION (v17)
   ========================================================= */
:root{
  --layout-max:1540px;
  --layout-gutter:48px;
  --container:min(var(--layout-max), calc(100vw - (var(--layout-gutter) * 2)));
}
.section-shell{
  width:var(--container) !important;
  margin-inline:auto !important;
}
.site-header{
  width:var(--container) !important;
}

/* Composed navbar/footer brand: supplied WL image + live text */
.brand{
  display:inline-flex;
  align-items:center;
  width:max-content;
}
.brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  color:#fff;
}
.brand-lockup .brand-mark{
  width:62px !important;
  height:auto !important;
  flex:0 0 auto;
  display:block;
}
.brand-words{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  white-space:nowrap;
  transform:translateY(1px);
}
.brand-words strong{
  display:block;
  margin:0;
  font-family:"Inter",Arial,Helvetica,sans-serif;
  font-size:31px;
  line-height:.78;
  letter-spacing:-.055em;
  font-weight:800;
  color:#fff;
}
.brand-words small{
  display:block;
  margin-top:5px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  line-height:1;
  letter-spacing:-.015em;
  font-weight:700;
  color:#fff;
}
.site-header.is-scrolled .brand-lockup .brand-mark{width:52px !important}
.site-header.is-scrolled .brand-words strong{font-size:26px}
.site-header.is-scrolled .brand-words small{font-size:8.5px;margin-top:4px}

.footer-lockup{gap:14px}
.footer-lockup .brand-mark{width:92px !important}
.footer-lockup .brand-words strong{font-size:47px;line-height:.8}
.footer-lockup .brand-words small{font-size:14px;margin-top:7px}

/* Decorative WL marks use ONLY the supplied mark image */
.choose-mark img,
.service-vision-mark{
  display:block;
  height:auto;
}
.choose-mark img{width:100%}
.services-page .choose-mark{
  width:225px;
  right:18px;
  top:2px;
}
.services-page .service-vision-mark{
  width:min(330px,40%);
  right:2%;
  left:auto;
  bottom:0;
  top:auto;
  transform:none;
}

/* Unified desktop rhythm: stop sections from stretching edge to edge */
.about,.services,.brand-proof,.process,.choose,.work,.cta,
.about-story,.about-contact{
  margin-inline:auto;
}
.site-footer{
  padding-left:max(var(--layout-gutter), calc((100vw - var(--layout-max))/2 + var(--layout-gutter))) !important;
  padding-right:max(var(--layout-gutter), calc((100vw - var(--layout-max))/2 + var(--layout-gutter))) !important;
}
.footer-bottom{
  left:max(var(--layout-gutter), calc((100vw - var(--layout-max))/2 + var(--layout-gutter))) !important;
  right:max(var(--layout-gutter), calc((100vw - var(--layout-max))/2 + var(--layout-gutter))) !important;
}

@media (max-width:1100px){
  :root{--layout-gutter:28px}
  .brand-lockup{gap:8px}
  .brand-lockup .brand-mark{width:54px !important}
  .brand-words strong{font-size:27px}
  .brand-words small{font-size:8.5px;margin-top:4px}
  .site-header.is-scrolled .brand-lockup .brand-mark{width:47px !important}
  .site-header.is-scrolled .brand-words strong{font-size:23px}
  .site-header.is-scrolled .brand-words small{font-size:7.5px}
  .footer-lockup .brand-mark{width:78px !important}
  .footer-lockup .brand-words strong{font-size:39px}
  .footer-lockup .brand-words small{font-size:12px}
  .services-page .choose-mark{width:180px;right:8px}
  .services-page .service-vision-mark{width:34%;right:3%;bottom:2%}
}

@media (max-width:760px){
  :root{--layout-gutter:16px}
  .section-shell,.site-header{width:calc(100vw - 32px) !important}
  .site-header{height:82px !important}
  .brand-lockup{gap:7px}
  .brand-lockup .brand-mark{width:45px !important}
  .brand-words strong{font-size:22px;line-height:.8}
  .brand-words small{font-size:7px;margin-top:3px}
  .site-header.is-scrolled .brand-lockup .brand-mark{width:40px !important}
  .site-header.is-scrolled .brand-words strong{font-size:19px}
  .site-header.is-scrolled .brand-words small{font-size:6.2px;margin-top:2px}
  .footer-lockup .brand-mark{width:64px !important}
  .footer-lockup .brand-words strong{font-size:31px}
  .footer-lockup .brand-words small{font-size:9.5px;margin-top:5px}
  .site-footer{padding-left:16px !important;padding-right:16px !important}
  .footer-bottom{left:16px !important;right:16px !important}
  .services-page .choose-mark{width:132px;right:4px;top:18px}
  .services-page .service-vision-mark{width:46%;right:2%;bottom:2%}
}

@media (max-width:390px){
  .brand-lockup .brand-mark{width:40px !important}
  .brand-words strong{font-size:19px}
  .brand-words small{font-size:6.1px}
  .footer-lockup .brand-mark{width:56px !important}
  .footer-lockup .brand-words strong{font-size:27px}
  .footer-lockup .brand-words small{font-size:8.4px}
}


/* =========================================================
   CONSISTENT SECTION INNER GUTTERS + CHOOSE ALIGNMENT (v18)
   ========================================================= */
:root{
  --section-inner-x: clamp(34px, 3vw, 56px);
  --choose-col: 220px;
  --choose-gap: clamp(48px, 4.4vw, 82px);
}

/* The section shell controls the outer page width. This second layer gives
   every content section a real inner gutter, so text/cards never sit on the
   shell edge even on very wide screens. Heroes keep their bespoke layout. */
main > section.section-shell:not(.hero){
  box-sizing:border-box;
  padding-left:var(--section-inner-x) !important;
  padding-right:var(--section-inner-x) !important;
}

/* Keep the major blocks optically aligned inside the new inner gutter. */
.about-grid,
.section-heading,
.services-grid,
.brand-proof-grid,
.process-header,
.process-grid,
.choose-intro,
.choose-list,
.work-header,
.work-grid,
.cta-panel,
.about-story-grid,
.about-contact-grid{
  max-width:100%;
}

/* Why Choose: one shared grid rhythm for Home + Services. */
.choose{
  overflow:hidden;
}
.choose-intro{
  grid-template-columns:var(--choose-col) minmax(0,1fr);
  gap:var(--choose-gap);
  align-items:start;
}
.choose-intro > div:last-child{
  min-width:0;
  max-width:940px;
}
.choose-intro h2{
  max-width:900px;
}
.choose-list{
  width:100%;
  box-sizing:border-box;
}
.choose-row{
  grid-template-columns:var(--choose-col) minmax(0,1fr) 56px;
  gap:var(--choose-gap);
  box-sizing:border-box;
  padding-top:34px;
  padding-bottom:34px;
}
.choose-row > div{
  min-width:0;
  max-width:920px;
}
.choose-row.active{
  padding-left:28px;
  padding-right:28px;
}
.choose-arrow,
.choose-row .btn{
  justify-self:end;
}
.choose-mark{
  right:calc(var(--section-inner-x) + 4px) !important;
}

/* Services uses the same structure and should not re-stretch it. */
.services-page .choose-intro,
.services-page .choose-row{
  gap:var(--choose-gap);
}
.services-page .choose-mark{
  right:calc(var(--section-inner-x) + 4px) !important;
}

@media (max-width:1100px){
  :root{
    --section-inner-x:24px;
    --choose-col:170px;
    --choose-gap:34px;
  }
  .choose-intro{
    grid-template-columns:var(--choose-col) minmax(0,1fr);
  }
  .choose-row{
    grid-template-columns:var(--choose-col) minmax(0,1fr) 44px;
    padding-top:28px;
    padding-bottom:28px;
  }
  .choose-row.active{
    padding-left:20px;
    padding-right:20px;
  }
}

@media (max-width:760px){
  :root{--section-inner-x:6px}
  main > section.section-shell:not(.hero){
    padding-left:var(--section-inner-x) !important;
    padding-right:var(--section-inner-x) !important;
  }
  .choose-intro,
  .services-page .choose-intro{
    grid-template-columns:1fr;
    gap:26px;
  }
  .choose-row,
  .services-page .choose-row,
  .choose-row.active,
  .services-page .choose-row.active{
    grid-template-columns:34px minmax(0,1fr);
    gap:12px;
    padding-top:24px;
    padding-bottom:24px;
  }
  .choose-row.active,
  .services-page .choose-row.active{
    padding-left:14px;
    padding-right:14px;
  }
  .choose-mark,
  .services-page .choose-mark{
    right:calc(var(--section-inner-x) + 2px) !important;
  }
}

@media (max-width:420px){
  :root{--section-inner-x:2px}
}


/* =========================================================
   FOOTER REDESIGN — reference matched (v19)
   ========================================================= */
.site-footer{
  position:relative !important;
  min-height:0 !important;
  overflow:hidden;
  background:
    radial-gradient(760px 330px at 50% 94%,rgba(83,62,166,.23),transparent 66%),
    linear-gradient(180deg,#11110f 0%,#121116 54%,#111014 100%);
  padding:0 !important;
  border-top:1px solid rgba(255,255,255,.025);
}
.footer-inner{
  width:min(1420px,calc(100% - 72px));
  margin:0 auto;
  position:relative;
  z-index:2;
  padding:58px 0 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(560px,.95fr);
  gap:clamp(68px,7vw,120px);
  align-items:start;
  position:relative;
  z-index:4;
}
.footer-brand{min-width:0}
.footer-brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:#fff;
}
.footer-brand-mark{
  width:122px !important;
  height:auto;
  flex:0 0 auto;
  display:block;
  filter:drop-shadow(0 7px 16px rgba(92,72,185,.12));
}
.footer-brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.footer-brand-copy strong{
  display:block;
  font-size:45px;
  line-height:.77;
  letter-spacing:-.045em;
  font-weight:800;
  color:#f7f7f9;
}
.footer-brand-copy small{
  display:block;
  margin-top:8px;
  font-size:15.5px;
  line-height:1;
  letter-spacing:-.035em;
  font-weight:700;
  white-space:nowrap;
  color:#f3f2f5;
}
.footer-brand>p{
  max-width:610px !important;
  margin:44px 0 32px !important;
  font-size:16px !important;
  line-height:1.55 !important;
  color:#e1dfe4;
}
.newsletter{
  width:min(610px,100%);
  max-width:none !important;
  height:70px;
  display:flex;
  align-items:center;
  box-sizing:border-box;
  padding:4px !important;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(31,28,48,.94),rgba(37,34,59,.94));
  border:1px solid rgba(159,137,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.newsletter:focus-within{box-shadow:0 0 0 1px rgba(140,116,239,.24),0 10px 38px rgba(30,22,71,.18)}
.newsletter input{
  flex:1;
  min-width:0;
  height:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  padding:0 26px !important;
  font:inherit;
  font-size:15px !important;
}
.newsletter input::placeholder{color:#efedf2;opacity:1}
.newsletter button{
  width:62px !important;
  height:62px !important;
  flex:0 0 62px;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:50%;
  background:radial-gradient(circle at 36% 27%,#9b8bea 0,#7462cf 45%,#463794 100%) !important;
  color:#fff;
  font-size:28px !important;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:0 0 26px rgba(102,82,205,.22),inset 0 1px 0 rgba(255,255,255,.18);
}
.footer-links{
  display:grid !important;
  grid-template-columns:.88fr .72fr 1.2fr !important;
  gap:clamp(34px,4vw,68px) !important;
  min-width:0;
}
.footer-link-column{min-width:0}
.footer-links h4{
  margin:4px 0 20px !important;
  font-size:17px !important;
  line-height:1.1;
  font-weight:500;
  color:#f2f1f4;
}
.footer-links a{
  display:block;
  margin:0 0 17px !important;
  color:#8f8c92 !important;
  font-size:14.5px !important;
  line-height:1.25;
  transition:color .2s ease,transform .2s ease;
}
.footer-links a:hover{color:#fff !important;transform:translateX(2px)}
.footer-inline-links{
  display:flex;
  align-items:center;
  gap:5px;
  margin:0 0 17px;
  color:#8f8c92;
  white-space:nowrap;
}
.footer-inline-links a{display:inline !important;margin:0 !important}
.footer-services-links a{white-space:nowrap}
.footer-stage{
  height:330px;
  position:relative;
  margin-top:24px;
}
.footer-art{
  position:absolute;
  inset:0 -22px -10px;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.footer-ghost-word{
  position:absolute;
  left:50%;
  bottom:-44px;
  transform:translateX(-50%);
  font-size:clamp(220px,20.8vw,330px);
  line-height:.78;
  font-weight:800;
  letter-spacing:-.115em;
  white-space:nowrap;
  color:#1c1a2b;
  text-shadow:0 0 1px rgba(145,125,235,.15);
}
.footer-art img{
  position:absolute;
  width:300px;
  height:auto;
  left:49.5%;
  bottom:-3px;
  transform:translateX(-50%);
  opacity:.83;
  filter:drop-shadow(0 25px 44px rgba(69,46,155,.22));
}
.footer-bottom{
  position:absolute !important;
  z-index:5;
  left:0 !important;
  right:0 !important;
  bottom:27px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  gap:20px;
}
.footer-bottom>p{
  margin:0;
  text-align:center !important;
  font-size:13.5px !important;
  color:#f1eff4;
}
.footer-legal{text-align:right}
.footer-legal a{
  display:inline-block;
  margin-left:30px !important;
  color:#f1eff4;
  font-size:13.5px !important;
}
.socials{display:flex;align-items:center;gap:10px !important}
.socials a{
  width:38px !important;
  height:38px !important;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#41404a !important;
  border:1px solid rgba(255,255,255,.23) !important;
  color:#fff;
  font-size:16px !important;
  line-height:1;
}
/* Retire the old generated footer wordmark. */
.footer-word{display:none !important}

@media (max-width:1180px){
  .footer-inner{width:min(1080px,calc(100% - 56px));padding-top:50px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:50px}
  .footer-brand-mark{width:92px !important}
  .footer-brand-copy strong{font-size:35px}
  .footer-brand-copy small{font-size:12.4px;margin-top:7px}
  .footer-brand>p{font-size:14px !important;margin-top:34px !important}
  .footer-links{gap:28px !important}
  .footer-links h4{font-size:15px !important}
  .footer-links a{font-size:12.5px !important}
  .footer-stage{height:280px}
  .footer-ghost-word{font-size:clamp(170px,21vw,245px);bottom:-29px}
  .footer-art img{width:230px}
}

@media (max-width:860px){
  .footer-inner{width:calc(100% - 44px);padding-top:46px}
  .footer-grid{grid-template-columns:1fr;gap:48px}
  .footer-brand>p{max-width:650px !important}
  .newsletter{width:min(620px,100%)}
  .footer-links{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:30px !important}
  .footer-stage{height:260px;margin-top:28px}
  .footer-ghost-word{font-size:clamp(150px,22vw,205px);bottom:-18px;color:rgba(255,255,255,.09);text-shadow:0 0 22px rgba(194,181,255,.06)}
  .footer-art img{width:205px;bottom:3px}
  .footer-bottom{bottom:22px !important}
  .footer-bottom>p,.footer-legal a{font-size:11.5px !important}
  .footer-legal a{margin-left:18px !important}
  .socials a{width:34px !important;height:34px !important;font-size:14px !important}
}

@media (max-width:620px){
  .site-footer{padding-left:0 !important;padding-right:0 !important}
  .footer-inner{width:calc(100% - 32px);padding-top:38px}
  .footer-brand-lockup{gap:10px}
  .footer-brand-mark{width:72px !important}
  .footer-brand-copy strong{font-size:29px}
  .footer-brand-copy small{font-size:10px;margin-top:6px}
  .footer-brand>p{font-size:13px !important;line-height:1.55 !important;margin:28px 0 22px !important}
  .newsletter{height:60px}
  .newsletter input{font-size:13px !important;padding:0 19px !important}
  .newsletter button{width:52px !important;height:52px !important;flex-basis:52px;font-size:23px !important}
  .footer-links{grid-template-columns:1fr 1fr !important;gap:34px 24px !important}
  .footer-services-links{grid-column:1/-1}
  .footer-links h4{font-size:15px !important;margin-bottom:17px !important}
  .footer-links a{font-size:12.5px !important;margin-bottom:13px !important}
  .footer-inline-links{margin-bottom:13px}
  .footer-stage{height:250px;margin-top:18px}
  .footer-art{inset:0 -10px}
  .footer-ghost-word{font-size:clamp(96px,29vw,150px);bottom:58px;color:rgba(255,255,255,.13);text-shadow:0 0 24px rgba(211,202,255,.08)}
  .footer-art img{width:125px;bottom:72px;opacity:.8}
  .footer-bottom{
    bottom:15px !important;
    grid-template-columns:1fr auto !important;
    gap:13px 16px !important;
    align-items:center;
  }
  .footer-bottom>p{grid-column:1/-1;grid-row:2;text-align:left !important;font-size:10.5px !important}
  .footer-legal{grid-column:2;text-align:right;white-space:nowrap}
  .footer-legal a{font-size:10.5px !important;margin-left:12px !important}
  .socials{grid-column:1;gap:7px !important}
  .socials a{width:32px !important;height:32px !important;font-size:13px !important}
}

@media (max-width:390px){
  .footer-inner{width:calc(100% - 28px)}
  .footer-brand-mark{width:64px !important}
  .footer-brand-copy strong{font-size:25px}
  .footer-brand-copy small{font-size:8.5px}
  .footer-links{gap:30px 18px !important}
  .footer-links h4{font-size:14px !important}
  .footer-links a{font-size:11.5px !important}
  .footer-ghost-word{font-size:102px;bottom:62px;color:rgba(255,255,255,.15);text-shadow:0 0 22px rgba(211,202,255,.08)}
  .footer-art img{width:108px;bottom:77px}
  .footer-stage{height:242px}
  .footer-legal a{display:block;margin:0 0 5px 0 !important}
}

/* =========================================================
   HOME PAGE — supplied service icons + footer brand treatment (v22)
   ========================================================= */
.home-page .service-icon{
  width:54px;
  height:54px;
  border-radius:13px;
  background:rgba(25,26,35,.96);
  border:1px solid rgba(255,255,255,.045);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.home-page .service-icon img{
  display:block;
  width:auto;
  height:auto;
  max-width:34px;
  max-height:35px;
  object-fit:contain;
}
.home-page .service-card:nth-child(3) .service-icon img{max-height:38px}
.home-page .service-card:nth-child(5) .service-icon img{max-width:36px;max-height:36px}

/* Index footer ends after the brand/newsletter and link columns.
   The decorative WOLOG/social/legal stage is intentionally removed on Home. */
.home-page .footer-inner{padding-bottom:58px}
@media (max-width:860px){
  .home-page .footer-inner{padding-bottom:50px}
}
@media (max-width:620px){
  .home-page .footer-inner{padding-bottom:42px}
}



/* =========================================================
   HOME FOOTER — social / copyright row only (v23)
   ========================================================= */
.home-page .site-footer{
  overflow:hidden;
}
.home-page .footer-inner{
  padding-bottom:0 !important;
}
.home-page .home-footer-bottom{
  width:min(1420px,calc(100% - 72px));
  margin:42px auto 0;
  padding:24px 0 26px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
  border-top:1px solid rgba(255,255,255,.07);
  position:relative;
  z-index:5;
}
.home-footer-socials{
  display:flex;
  align-items:center;
  gap:10px;
}
.home-footer-socials a{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,rgba(83,81,94,.92),rgba(55,54,63,.92));
  border:1px solid rgba(255,255,255,.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 22px rgba(0,0,0,.18);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.home-footer-socials a:hover{
  transform:translateY(-2px);
  border-color:rgba(191,176,255,.58);
  background:linear-gradient(180deg,rgba(106,93,157,.98),rgba(62,54,101,.98));
}
.home-footer-socials img{
  width:21px;
  height:21px;
  object-fit:contain;
  display:block;
}
.home-footer-copyright{
  margin:0;
  color:#f0eef3;
  font-size:13.5px;
  line-height:1.3;
  text-align:center;
  white-space:nowrap;
}
.home-footer-legal{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:28px;
}
.home-footer-legal a{
  color:#f0eef3;
  font-size:13.5px;
  line-height:1.3;
  transition:color .2s ease;
}
.home-footer-legal a:hover{color:#b7a4ff}

/* More polished toast for placeholder actions. */
.toast{
  min-width:170px;
  text-align:center;
  background:rgba(26,24,35,.94) !important;
  color:#f7f5ff !important;
  border:1px solid rgba(180,159,255,.26);
  box-shadow:0 16px 44px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  padding:12px 18px !important;
  font-size:13px;
  letter-spacing:.005em;
}
.toast::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#9f86ff;
  box-shadow:0 0 12px rgba(159,134,255,.75);
  margin-right:9px;
  vertical-align:1px;
}

@media (max-width:900px){
  .home-page .home-footer-bottom{
    width:calc(100% - 44px);
    grid-template-columns:1fr auto;
    row-gap:17px;
    margin-top:36px;
  }
  .home-footer-copyright{
    grid-column:1/-1;
    grid-row:2;
    text-align:left;
    white-space:normal;
  }
}
@media (max-width:620px){
  .home-page .home-footer-bottom{
    width:calc(100% - 32px);
    margin-top:30px;
    padding:22px 0 24px;
    gap:15px 12px;
  }
  .home-footer-socials{gap:8px}
  .home-footer-socials a{width:38px;height:38px}
  .home-footer-socials img{width:19px;height:19px}
  .home-footer-legal{gap:16px}
  .home-footer-legal a,.home-footer-copyright{font-size:11.5px}
}
@media (max-width:430px){
  .home-page .home-footer-bottom{
    grid-template-columns:1fr;
    width:calc(100% - 28px);
  }
  .home-footer-socials{grid-row:1}
  .home-footer-legal{grid-row:2;justify-self:start;gap:18px}
  .home-footer-copyright{grid-row:3;grid-column:1;margin-top:2px}
}


/* Button polish: no white sheen/impression overlay */
.btn::before,
.btn::after{content:none !important;display:none !important;background:none !important;}


/* FINAL CONTROL CLEANUP: flat purple CTAs + bare hamburger */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.project-submit,
.project-submit:hover,
.project-submit:focus,
.project-submit:focus-visible,
.project-submit:active{
  border:0 !important;
  outline:0 !important;
  -webkit-appearance:none;
  appearance:none;
}

/* Remove any light rim / inset highlight from filled purple buttons. */
.btn-primary{
  box-shadow:0 16px 35px rgba(62,45,149,.28) !important;
}
.btn-primary:hover{
  box-shadow:0 18px 46px rgba(78,58,177,.38) !important;
}
.project-submit{
  box-shadow:0 17px 38px rgba(66,49,153,.26) !important;
}

/* Navbar hamburger: lines only, no surrounding circle/glass plate. */
.menu-toggle,
.site-header.is-scrolled .menu-toggle{
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.menu-toggle:hover,
.menu-toggle:focus,
.menu-toggle:focus-visible,
.site-header.is-scrolled .menu-toggle:hover,
.site-header.is-scrolled .menu-toggle:focus-visible{
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
}


/* =========================================================
   FINAL UNIFIED FOOTER — HOME / ABOUT / SERVICES (v24)
   ========================================================= */
.site-footer{
  overflow:hidden;
}
.site-footer .footer-inner{
  padding-bottom:0 !important;
}
.site-footer .home-footer-bottom{
  width:min(1420px,calc(100% - 72px));
  margin:42px auto 0;
  padding:24px 0 26px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
  border-top:1px solid rgba(255,255,255,.07);
  position:relative;
  z-index:5;
}
.site-footer .home-footer-socials{
  display:flex;
  align-items:center;
  gap:10px;
}
.site-footer .home-footer-socials a{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,rgba(83,81,94,.92),rgba(55,54,63,.92));
  border:1px solid rgba(255,255,255,.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 22px rgba(0,0,0,.18);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.site-footer .home-footer-socials a:hover{
  transform:translateY(-2px);
  border-color:rgba(191,176,255,.58);
  background:linear-gradient(180deg,rgba(106,93,157,.98),rgba(62,54,101,.98));
}
.site-footer .home-footer-socials img{
  width:21px;
  height:21px;
  object-fit:contain;
  display:block;
}
.site-footer .home-footer-copyright{
  margin:0;
  color:#f0eef3;
  font-size:13.5px;
  line-height:1.3;
  text-align:center;
  white-space:nowrap;
}
.site-footer .home-footer-legal{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:28px;
}
.site-footer .home-footer-legal a{
  color:#f0eef3;
  font-size:13.5px;
  line-height:1.3;
  transition:color .2s ease;
}
.site-footer .home-footer-legal a:hover{color:#b7a4ff}

@media (max-width:900px){
  .site-footer .home-footer-bottom{
    width:calc(100% - 44px);
    grid-template-columns:1fr auto;
    row-gap:17px;
    margin-top:36px;
  }
  .site-footer .home-footer-copyright{
    grid-column:1/-1;
    grid-row:2;
    text-align:left;
    white-space:normal;
  }
}
@media (max-width:620px){
  .site-footer .home-footer-bottom{
    width:calc(100% - 32px);
    margin-top:30px;
    padding:22px 0 24px;
    gap:15px 12px;
  }
  .site-footer .home-footer-socials{gap:8px}
  .site-footer .home-footer-socials a{width:38px;height:38px}
  .site-footer .home-footer-socials img{width:19px;height:19px}
  .site-footer .home-footer-legal{gap:16px}
  .site-footer .home-footer-legal a,
  .site-footer .home-footer-copyright{font-size:11.5px}
}
@media (max-width:430px){
  .site-footer .home-footer-bottom{
    grid-template-columns:1fr;
    width:calc(100% - 28px);
  }
  .site-footer .home-footer-socials{grid-row:1}
  .site-footer .home-footer-legal{grid-row:2;justify-self:start;gap:18px}
  .site-footer .home-footer-copyright{grid-row:3;grid-column:1;margin-top:2px}
}


/* =========================================================
   FINAL MOBILE CHOOSE SECTION REFINEMENT
   Shared by Home + Services
   ========================================================= */
@media (max-width:760px){
  :root{--section-inner-x:18px}

  main > section.section-shell:not(.hero){
    padding-left:var(--section-inner-x) !important;
    padding-right:var(--section-inner-x) !important;
  }

  .choose,
  .services-page .choose{
    position:relative;
    padding-top:30px !important;
    padding-bottom:42px !important;
    overflow:hidden;
  }

  /* Keep the small year block and brand mark in one compact top band. */
  .choose-mark,
  .services-page .choose-mark{
    width:112px !important;
    right:18px !important;
    top:22px !important;
    opacity:.95;
  }

  .choose-intro,
  .services-page .choose-intro{
    display:grid;
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding-top:0 !important;
    align-items:start;
  }

  .choose-year,
  .services-page .choose-year{
    width:calc(100% - 138px);
    min-height:112px;
    padding-top:6px;
    text-align:left;
  }
  .choose-year strong,
  .services-page .choose-year strong{
    display:block;
    font-size:clamp(27px,7.7vw,34px) !important;
    line-height:1.06 !important;
    letter-spacing:-.035em;
  }
  .choose-year span,
  .services-page .choose-year span{
    margin-top:9px !important;
    font-size:11px !important;
    line-height:1.3;
  }

  .choose-intro > div:last-child,
  .services-page .choose-intro > div:last-child{
    width:100%;
    max-width:none;
    margin-top:18px;
    text-align:left;
  }
  .choose-intro .section-kicker,
  .services-page .choose-intro .section-kicker{
    justify-content:flex-start;
    margin:0;
    font-size:11px;
    line-height:1.2;
    letter-spacing:-.01em;
  }
  .choose-intro h2,
  .services-page .choose-intro h2{
    max-width:100%;
    margin:22px 0 0 !important;
    font-size:clamp(38px,10.5vw,48px) !important;
    line-height:1.01 !important;
    letter-spacing:-.055em;
    text-align:left;
    text-wrap:balance;
  }
  .choose-intro h2 span,
  .services-page .choose-intro h2 span{
    display:block;
  }

  .choose-list,
  .services-page .choose-list{
    margin-top:32px !important;
  }
  .choose-row,
  .services-page .choose-row,
  .choose-row.active,
  .services-page .choose-row.active{
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:12px !important;
    padding:24px 0 !important;
    min-height:0 !important;
    align-items:start;
  }
  .choose-row.active,
  .services-page .choose-row.active{
    margin-inline:0 !important;
    padding:22px 14px !important;
    border-radius:14px;
  }
  .choose-num,
  .services-page .choose-num{
    font-size:10px !important;
    line-height:1.2;
    margin-top:4px;
  }
  .choose-row h3,
  .services-page .choose-row h3{
    margin:0 0 9px !important;
    font-size:clamp(22px,6.7vw,28px) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em;
  }
  .choose-row p,
  .services-page .choose-row p{
    max-width:100% !important;
    font-size:10px !important;
    line-height:1.5 !important;
  }
  .choose-arrow,
  .choose-row .btn,
  .services-page .choose-arrow,
  .services-page .choose-row .btn{
    display:none !important;
  }
}

@media (max-width:420px){
  :root{--section-inner-x:16px}
  .choose,
  .services-page .choose{
    padding-top:26px !important;
  }
  .choose-mark,
  .services-page .choose-mark{
    width:100px !important;
    right:16px !important;
    top:22px !important;
  }
  .choose-year,
  .services-page .choose-year{
    width:calc(100% - 120px);
    min-height:102px;
  }
  .choose-intro > div:last-child,
  .services-page .choose-intro > div:last-child{
    margin-top:14px;
  }
  .choose-intro h2,
  .services-page .choose-intro h2{
    margin-top:18px !important;
    font-size:clamp(36px,10.6vw,43px) !important;
  }
}

/* Process icons supplied for the Index process board */
.step-icon img{
  width:22px;
  height:22px;
  object-fit:contain;
  display:block;
  pointer-events:none;
}
@media (max-width:760px){
  .step-icon img{width:19px;height:19px}
}
