:root {
  --navy-950: #071224;
  --navy-900: #0f1b2e;
  --navy-800: #152a4d;
  --indigo: #3d4aff;
  --coral: #ff684a;
  --peach: #ffa77a;
  --magenta: #b13a87;
  --offwhite: #f5f7fa;
  --line: rgba(245, 247, 250, .13);
  --gradient: linear-gradient(135deg, var(--indigo), var(--magenta) 52%, var(--coral));
  --font-ui: "Avenir Next", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --max-width: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; background: var(--navy-950); color: var(--offwhite); font-family: var(--font-ui); text-rendering: optimizeLegibility; }
body::selection { background: var(--coral); color: var(--navy-950); }
a { color: inherit; text-decoration: none; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
img, svg { display: block; }
main { min-width: 320px; overflow: hidden; }
.section-shell { width: min(100%, var(--max-width)); margin-inline: auto; padding-inline: clamp(24px, 5vw, 76px); }

.site-header {
  position: fixed; z-index: 100; top: 18px; left: 50%;
  display: grid; grid-template-columns: minmax(210px, 1fr) auto minmax(210px, 1fr); align-items: center;
  width: min(calc(100% - 36px), 1320px); min-height: 66px; padding: 9px 11px 9px 18px;
  border: 1px solid rgba(245,247,250,.12); border-radius: 17px; background: rgba(7,18,36,.78);
  box-shadow: 0 20px 50px rgba(0,0,0,.18); backdrop-filter: blur(18px); transform: translateX(-50%);
}
.logo-link { justify-self: start; }
.brand-lockup { display: inline-flex; align-items: center; gap: 10px; }
.brand-lockup img { width: 35px; height: 35px; object-fit: contain; }
.brand-lockup > span { display: grid; gap: 2px; }
.brand-lockup strong { font-size: 15px; font-weight: 600; letter-spacing: .22em; line-height: 1; }
.brand-lockup small { color: var(--coral); font-size: 6.5px; font-weight: 700; letter-spacing: .29em; }
.brand-lockup--compact img { width: 30px; height: 30px; }
.desktop-nav { display: flex; align-items: center; gap: 24px; }
.desktop-nav a { position: relative; color: #cbd2dd; font-size: 13px; font-weight: 500; }
.desktop-nav a::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 1px; background: var(--gradient); content: ""; transform: scaleX(0); transition: transform 180ms ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); }
.header-cta, .button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; border-radius: 11px; background: var(--coral); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .04em; transition: transform 180ms ease, box-shadow 180ms ease; }
.header-cta { justify-self: end; min-height: 46px; padding-inline: 18px; }
.header-cta:hover, .header-cta:focus-visible, .button:hover, .button:focus-visible { box-shadow: 0 14px 35px rgba(255,104,74,.25); transform: translateY(-2px); }
.header-cta svg, .button svg, .inline-link svg, .social-link svg { width: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.mobile-nav { display: none; }

.hero {
  position: relative; display: grid; grid-template-columns: minmax(0,.92fr) minmax(480px,1.08fr); min-height: 100svh;
  padding-top: 158px; padding-bottom: 55px;
  background: radial-gradient(circle at 78% 42%, rgba(61,74,255,.13), transparent 28%), radial-gradient(circle at 88% 72%, rgba(255,104,74,.09), transparent 26%);
}
.hero-grid { position: absolute; z-index: -1; inset: 0; opacity: .18; background-image: linear-gradient(rgba(245,247,250,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(245,247,250,.09) 1px,transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(circle at 76% 42%,#000 0,transparent 67%); }
.hero-orb { position: absolute; z-index: -1; border-radius: 999px; pointer-events: none; }
.hero-orb--one { top: 19%; right: -70px; width: 230px; height: 230px; border: 1px solid rgba(255,104,74,.16); }
.hero-orb--two { right: 25%; bottom: 19%; width: 92px; height: 92px; border: 1px solid rgba(61,74,255,.26); }
.hero-copy { position: relative; z-index: 3; align-self: center; padding-bottom: 84px; }
.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 26px; color: var(--peach); font-size: 11px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.eyebrow > span { position: relative; width: 27px; height: 1px; background: var(--coral); }
.eyebrow > span::after { position: absolute; top: -2px; right: -1px; width: 5px; height: 5px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 12px var(--coral); content: ""; }
.hero h1 { max-width: 700px; margin: 0; font-size: clamp(54px,5.5vw,86px); font-weight: 600; letter-spacing: -.065em; line-height: .98; }
.hero h1 em, .contact h2 em { background: var(--gradient); background-clip: text; color: transparent; font-style: normal; }
.hero-intro { max-width: 545px; margin: 31px 0 0; color: #abb6c7; font-size: clamp(16px,1.4vw,19px); line-height: 1.72; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.button { min-height: 54px; padding-inline: 24px; }
.text-link { display: inline-flex; align-items: center; gap: 12px; color: #ccd3de; font-size: 13px; font-weight: 600; }
.text-link span { color: var(--coral); }
.hero-visual { position: relative; display: grid; align-items: center; justify-items: center; min-height: 570px; }
.visual-halo { position: absolute; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle,rgba(61,74,255,.18),rgba(177,58,135,.06) 48%,transparent 70%); filter: blur(10px); }
.code-window { position: relative; width: min(95%,630px); overflow: hidden; border: 1px solid rgba(245,247,250,.15); border-radius: 18px; background: rgba(9,24,46,.76); box-shadow: 0 42px 90px rgba(0,0,0,.36),inset 0 0 50px rgba(61,74,255,.035); backdrop-filter: blur(14px); transform: perspective(1200px) rotateY(-5deg) rotateX(2deg); }
.window-bar { display: flex; align-items: center; gap: 7px; height: 46px; padding-inline: 17px; border-bottom: 1px solid var(--line); }
.window-bar > span { width: 7px; height: 7px; border-radius: 50%; background: var(--coral); opacity: .8; }
.window-bar > span:nth-child(2) { background: var(--peach); }
.window-bar > span:nth-child(3) { background: var(--indigo); }
.window-bar small { margin-left: auto; color: #718099; font-family: ui-monospace,monospace; font-size: 9px; }
.window-content { display: grid; grid-template-columns: 27% 73%; min-height: 390px; }
.code-column { display: grid; align-content: start; gap: 17px; padding: 34px 22px; border-right: 1px solid var(--line); background: rgba(5,15,30,.36); }
.code-column i { display: block; height: 5px; border-radius: 99px; background: #263c61; }
.code-column i:nth-child(even) { background: rgba(255,104,74,.45); }
.line--1{width:55%}.line--2{width:82%}.line--3{width:68%}.line--4{width:45%}.line--5{width:74%}.line--6{width:58%}
.mark-stage { position: relative; display: grid; place-items: center; min-height: 390px; overflow: hidden; }
.mark-stage::before,.mark-stage::after { position: absolute; width: 100%; height: 1px; background: linear-gradient(90deg,transparent,rgba(61,74,255,.6),transparent); content: ""; }
.mark-stage::before{top:33%}.mark-stage::after{bottom:28%}
.mark-stage img { position: relative; z-index: 3; width: 47%; filter: drop-shadow(0 18px 38px rgba(61,74,255,.18)); animation: mark-float 6s ease-in-out infinite; }
.orbit { position: absolute; border: 1px solid rgba(61,74,255,.22); border-radius: 50%; }
.orbit--one{width:280px;height:280px}.orbit--two{width:190px;height:190px;border-color:rgba(255,104,74,.17)}
.signal { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 14px var(--coral); }
.signal--one{top:17%;right:19%}.signal--two{bottom:23%;left:15%;background:var(--indigo);box-shadow:0 0 14px var(--indigo)}.signal--three{right:14%;bottom:16%;width:4px;height:4px}
.window-status { display: flex; align-items: center; gap: 18px; min-height: 46px; padding-inline: 18px; border-top: 1px solid var(--line); color: #75849b; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.window-status span::before { display: inline-block; width: 4px; height: 4px; margin-right: 6px; border-radius: 50%; background: var(--indigo); content: ""; }
.window-status i { margin-left: auto; color: #6fe6bc; font-style: normal; }
.floating-card { position: absolute; z-index: 4; display: grid; gap: 5px; min-width: 184px; padding: 15px 17px; border: 1px solid rgba(245,247,250,.13); border-radius: 12px; background: rgba(15,27,46,.9); box-shadow: 0 22px 50px rgba(0,0,0,.28); backdrop-filter: blur(12px); }
.floating-card small { color: var(--peach); font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.floating-card strong { color: #dfe5ed; font-size: 11px; font-weight: 600; }
.floating-card--top{top:6%;right:-1%}.floating-card--bottom{bottom:7%;left:-1%}
.status-dot { position: absolute; top: 15px; right: 15px; width: 7px; height: 7px; border-radius: 50%; background: #6fe6bc; box-shadow: 0 0 12px rgba(111,230,188,.7); }
.mini-bars { display: flex; align-items: end; gap: 4px; height: 26px; }
.mini-bars i { width: 12px; border-radius: 2px 2px 0 0; background: var(--gradient); }
.mini-bars i:nth-child(1){height:35%}.mini-bars i:nth-child(2){height:58%}.mini-bars i:nth-child(3){height:45%}.mini-bars i:nth-child(4){height:79%}.mini-bars i:nth-child(5){height:100%}
.hero-proof { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); align-self: end; margin-top: 5px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.hero-proof > div { display: flex; align-items: center; gap: 15px; padding: 22px 0; }
.hero-proof > div + div { padding-left: 36px; border-left: 1px solid var(--line); }
.hero-proof strong { color: var(--coral); font-size: 25px; font-weight: 500; }
.hero-proof span { color: #8090a6; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.section-label { display: flex; align-items: center; gap: 17px; margin-bottom: 56px; }
.section-label span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(255,104,74,.45); border-radius: 50%; color: var(--coral); font-size: 9px; font-weight: 700; }
.section-label p { margin: 0; color: #6f7e94; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.section-label::after { width: 52px; height: 1px; background: rgba(255,104,74,.36); content: ""; }
.section-label--light p { color: #91a0b4; }
.digital-shift {
  position: relative;
  padding-top: 138px;
  padding-bottom: 118px;
  background:
    radial-gradient(circle at 12% 20%,rgba(255,104,74,.1),transparent 27%),
    radial-gradient(circle at 88% 56%,rgba(61,74,255,.13),transparent 32%),
    linear-gradient(rgba(245,247,250,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(245,247,250,.025) 1px,transparent 1px),
    #0b182c;
  background-size: auto,auto,72px 72px,72px 72px,auto;
}
.shift-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(58px,8vw,120px); align-items: center; }
.shift-copy h2 { max-width: 650px; margin: 0; font-size: clamp(43px,5.1vw,73px); font-weight: 550; letter-spacing: -.06em; line-height: 1.04; }
.shift-copy h2 span { color: var(--coral); }
.shift-copy > p:not(.eyebrow) { max-width: 560px; margin: 30px 0 0; color: #a2aec0; font-size: 16px; line-height: 1.75; }
.shift-callout { display: grid; gap: 8px; max-width: 560px; margin-top: 38px; padding: 22px 24px; border-left: 2px solid var(--coral); background: rgba(245,247,250,.045); }
.shift-callout strong { font-size: 14px; font-weight: 700; }
.shift-callout span { color: #8f9db1; font-size: 13px; line-height: 1.55; }
.stats-carousel { position: relative; min-width: 0; }
.stats-track { position: relative; min-height: 465px; overflow: hidden; border: 1px solid rgba(245,247,250,.14); border-radius: 21px; background: linear-gradient(145deg,rgba(21,42,77,.9),rgba(11,24,44,.96)); box-shadow: 0 38px 85px rgba(0,0,0,.28); }
.stats-track::before { position: absolute; z-index: 2; top: -110px; right: -80px; width: 300px; height: 300px; border: 1px solid rgba(255,104,74,.18); border-radius: 50%; content: ""; pointer-events: none; }
.stats-track::after { position: absolute; z-index: 2; right: 34px; bottom: 34px; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 18px var(--coral); content: ""; pointer-events: none; }
.stat-slide { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: clamp(34px,5vw,66px); opacity: 0; pointer-events: none; transform: translateX(38px); transition: opacity 420ms ease,transform 520ms cubic-bezier(.2,.7,.2,1); }
.stat-slide.is-active { z-index: 1; opacity: 1; pointer-events: auto; transform: translateX(0); }
.stat-kicker { margin: 0 0 26px; color: var(--peach); font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.stat-slide > strong { display: block; width: fit-content; background: var(--gradient); background-clip: text; color: transparent; font-size: clamp(70px,8vw,112px); font-weight: 540; letter-spacing: -.075em; line-height: .9; }
.stat-slide h3 { max-width: 520px; margin: 18px 0 0; font-size: clamp(25px,3vw,37px); font-weight: 550; letter-spacing: -.045em; line-height: 1.08; }
.stat-slide > p:not(.stat-kicker) { max-width: 520px; margin: 22px 0 0; color: #aab5c5; font-size: 15px; line-height: 1.65; }
.stat-period { margin-top: auto; padding-top: 32px; color: #697992; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.stats-controls { display: grid; grid-template-columns: 44px auto 1fr 44px; gap: 14px; align-items: center; margin-top: 18px; }
.stats-controls button { display: grid; width: 44px; height: 44px; padding: 0; cursor: pointer; place-items: center; border: 1px solid rgba(245,247,250,.14); border-radius: 50%; background: rgba(245,247,250,.04); color: var(--offwhite); transition: border-color 180ms ease,background 180ms ease,transform 180ms ease; }
.stats-controls button:hover,.stats-controls button:focus-visible { border-color: rgba(255,104,74,.55); background: rgba(255,104,74,.1); transform: translateY(-2px); }
.stats-controls button svg { width: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.stats-count { color: #73829a; font-family: ui-monospace,monospace; font-size: 9px; letter-spacing: .1em; white-space: nowrap; }
.stats-count b { color: var(--offwhite); font-weight: 600; }
.stats-progress { height: 2px; overflow: hidden; background: rgba(245,247,250,.11); }
.stats-progress i { display: block; width: 100%; height: 100%; background: var(--gradient); transform: scaleX(0); transform-origin: left; }
.stats-carousel.is-running .stats-progress i { animation: carousel-progress 6s linear forwards; }
.stats-note { margin: 15px 0 0; color: #5f6e85; font-size: 9px; line-height: 1.5; }
.shift-close { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; margin-top: 82px; padding-top: 31px; border-top: 1px solid var(--line); }
.shift-close p { max-width: 830px; margin: 0; color: #8391a6; font-size: clamp(18px,2vw,25px); line-height: 1.48; }
.inline-link--light { color: var(--offwhite); white-space: nowrap; }
.inline-link--light svg { color: var(--coral); }
.manifesto { padding-top: 145px; padding-bottom: 116px; background: var(--offwhite); color: var(--navy-900); }
.manifesto-content { display: grid; grid-template-columns: 1.3fr .7fr; gap: clamp(50px,8vw,130px); align-items: start; }
.manifesto h2,.section-heading h2,.method h2,.contact h2 { margin: 0; font-size: clamp(43px,5.3vw,76px); font-weight: 550; letter-spacing: -.06em; line-height: 1.04; }
.manifesto h2 span,.section-heading h2 span{color:var(--coral)}
.manifesto-copy { display: grid; gap: 22px; padding-top: 10px; }
.manifesto-copy p { margin: 0; color: #536176; font-size: 16px; line-height: 1.75; }
.inline-link { display: inline-flex; align-items: center; gap: 12px; width: fit-content; margin-top: 8px; color: var(--navy-900); font-size: 12px; font-weight: 700; }
.inline-link svg{color:var(--coral)}
.values-line { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 102px; padding-top: 29px; border-top: 1px solid #dce1e8; }
.values-line span { color: var(--navy-800); font-size: 10px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.values-line i { width: 4px; height: 4px; border-radius: 50%; background: var(--coral); }

.services,.projects { padding-top: 145px; padding-bottom: 145px; background: linear-gradient(rgba(245,247,250,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(245,247,250,.025) 1px,transparent 1px),var(--navy-900); background-size: 72px 72px; }
.section-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 80px; align-items: end; }
.section-heading p { margin: 0 0 8px; color: #92a0b4; font-size: 15px; line-height: 1.75; }
.service-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 16px; margin-top: 75px; }
.service-card { position: relative; isolation: isolate; grid-column: span 2; min-height: 390px; padding: 28px; overflow: hidden; border: 1px solid rgba(245,247,250,.14); border-radius: 14px; background: #152a4d; box-shadow: 0 24px 55px rgba(0,0,0,.16); transition: border-color 200ms ease,transform 200ms ease,box-shadow 200ms ease; }
.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 3;min-height:350px}
.service-card::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg,rgba(7,18,36,.5) 0%,rgba(7,18,36,.72) 42%,rgba(7,18,36,.96) 100%),linear-gradient(90deg,rgba(12,29,55,.84),rgba(12,29,55,.24)); content: ""; pointer-events: none; transition: opacity 260ms ease; }
.service-card::after { position: absolute; z-index: 2; right: -70px; bottom: -90px; width: 170px; height: 170px; border: 1px solid rgba(83,102,255,.28); border-radius: 50%; content: ""; pointer-events: none; transition: transform 260ms ease; }
.service-card:hover { border-color: rgba(255,104,74,.42); box-shadow: 0 31px 70px rgba(0,0,0,.28); transform: translateY(-5px); }
.service-card:hover::before { opacity: .9; }
.service-card:hover::after{transform:scale(1.18)}
.service-card:hover .service-background { animation-play-state: paused; }
.service-backgrounds { position: absolute; z-index: 0; inset: 0; overflow: hidden; background: #152a4d; }
.service-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.035); animation: service-background-cycle 14s ease-in-out infinite; }
.service-background:nth-child(2) { animation-delay: -7s; }
.service-card:nth-child(2) .service-background { animation-delay: -1.4s; }
.service-card:nth-child(2) .service-background:nth-child(2) { animation-delay: -8.4s; }
.service-card:nth-child(3) .service-background { animation-delay: -2.8s; }
.service-card:nth-child(3) .service-background:nth-child(2) { animation-delay: -9.8s; }
.service-card:nth-child(4) .service-background { animation-delay: -4.2s; }
.service-card:nth-child(4) .service-background:nth-child(2) { animation-delay: -11.2s; }
.service-card:nth-child(5) .service-background { animation-delay: -5.6s; }
.service-card:nth-child(5) .service-background:nth-child(2) { animation-delay: -12.6s; }
.service-card > :not(.service-backgrounds) { position: relative; z-index: 3; }
.service-topline { display: flex; align-items: center; justify-content: space-between; }
.service-topline > span { color: #a5b4cb; font-family: ui-monospace,monospace; font-size: 10px; text-shadow: 0 1px 12px rgba(0,0,0,.5); }
.service-icon { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(255,104,74,.46); border-radius: 12px; background: rgba(9,23,45,.7); box-shadow: 0 10px 26px rgba(0,0,0,.2); backdrop-filter: blur(8px); }
.service-icon svg { width: 23px; fill: none; stroke: var(--coral); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.35; }
.service-card h3 { max-width: 310px; margin: 62px 0 18px; color: #fff; font-size: 25px; font-weight: 600; letter-spacing: -.035em; text-shadow: 0 2px 18px rgba(0,0,0,.58); }
.service-card p { max-width: 370px; margin: 0; color: #d3dbe7; font-size: 14px; line-height: 1.68; text-shadow: 0 2px 14px rgba(0,0,0,.65); }
.tag-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 31px; }
.tag-list span { padding: 7px 10px; border: 1px solid rgba(245,247,250,.23); border-radius: 999px; background: rgba(7,18,36,.58); color: #c7d3e3; font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(7px); }

.method { padding-top: 145px; padding-bottom: 145px; background: var(--offwhite); color: var(--navy-900); }
.method-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.method-intro { position: sticky; top: 135px; align-self: start; }
.method-intro > p:last-child { max-width: 460px; margin: 28px 0 0; color: #667287; font-size: 16px; line-height: 1.75; }
.steps-list { border-top: 1px solid #ccd3dd; }
.steps-list article { display: grid; grid-template-columns: 68px .6fr 1fr; gap: 30px; align-items: center; min-height: 145px; border-bottom: 1px solid #ccd3dd; }
.steps-list article > span { color: var(--coral); font-family: ui-monospace,monospace; font-size: 11px; }
.steps-list h3 { margin: 0; font-size: 22px; font-weight: 600; }
.steps-list p { margin: 0; color: #697589; font-size: 14px; line-height: 1.6; }

.projects { background: radial-gradient(circle at 90% 50%,rgba(61,74,255,.1),transparent 32%),var(--navy-900); }
.projects .section-heading{grid-template-columns:1fr}
.projects-carousel { position: relative; margin-top: 72px; }
.projects-viewport { position: relative; }
.project-slide { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0,40.4%) minmax(0,59.6%); min-height: 540px; overflow: hidden; visibility: hidden; border: 1px solid #29446f; border-radius: 19px; background: #0e1b35; opacity: 0; pointer-events: none; transform: translateX(24px); transition: opacity 420ms ease,transform 520ms cubic-bezier(.2,.7,.2,1),visibility 0s linear 520ms; }
.project-slide.is-active { position: relative; z-index: 1; visibility: visible; opacity: 1; pointer-events: auto; transform: translateX(0); transition-delay: 0s; }
.project-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px,5vw,66px); background: #162f56; }
.project-type { margin: 0 0 45px; color: var(--coral); font-size: 9px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.project-copy h3 { margin: 0 0 32px; font-size: clamp(46px,5.2vw,72px); font-weight: 550; letter-spacing: -.06em; line-height: .98; }
.project-copy > p:not(.project-type) { max-width: 500px; margin: 0; color: #b4bdca; font-size: 16px; line-height: 1.65; }
.project-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.project-tags span { padding: 8px 12px; border: 1px solid rgba(245,247,250,.14); border-radius: 999px; color: #98afd0; font-size: 8px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.project-media { display: flex; align-items: stretch; justify-content: center; min-width: 0; overflow: hidden; background: #0f1c38; }
.project-art { position: relative; width: 69%; min-width: 0; overflow: hidden; background: #111b36; }
.project-art-source { position: absolute; max-width: none; height: auto; user-select: none; }
.project-art-source--kanowaycare { top: -23.1%; left: -134.9%; width: 281.9%; }
.project-art-source--plenivida { top: -4.4%; left: -134.4%; width: 279.2%; }
.projects-controls { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 28px; }
.projects-controls > button { display: grid; width: 52px; height: 52px; padding: 0; cursor: pointer; place-items: center; border: 1px solid rgba(245,247,250,.23); border-radius: 50%; background: rgba(245,247,250,.02); color: #fff; transition: border-color 180ms ease,background 180ms ease,transform 180ms ease; }
.projects-controls > button:hover,.projects-controls > button:focus-visible { border-color: rgba(255,104,74,.65); background: rgba(255,104,74,.08); transform: translateY(-2px); }
.projects-controls svg { width: 28px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.4; }
.projects-dots { display: flex; align-items: center; gap: 10px; }
.projects-dots button { width: 9px; height: 9px; padding: 0; cursor: pointer; border: 0; border-radius: 999px; background: #6d788a; transition: width 220ms ease,background 220ms ease; }
.projects-dots button.is-active { width: 35px; background: var(--coral); }

.contact { position: relative; min-height: 690px; padding-top: 150px; padding-bottom: 120px; background: var(--navy-950); }
.contact-glow { position: absolute; top: 50%; right: -100px; width: 480px; height: 480px; border-radius: 50%; background: radial-gradient(circle,rgba(177,58,135,.18),transparent 68%); transform: translateY(-50%); }
.contact-mark { position: absolute; top: 50%; right: 8%; width: min(32vw,410px); opacity: .17; transform: translateY(-50%) rotate(-4deg); }
.contact .eyebrow,.contact h2,.contact > p:not(.eyebrow),.contact-actions{position:relative;z-index:2}
.contact h2 { max-width: 940px; font-size: clamp(48px,6vw,88px); }
.contact > p:not(.eyebrow) { max-width: 570px; margin: 31px 0 0; color: #92a0b4; font-size: 16px; line-height: 1.75; }
.contact-actions { display: flex; align-items: center; gap: 28px; margin-top: 44px; }
.button--large { min-height: 61px; padding-inline: 28px; font-size: 13px; }
.social-link { display: inline-flex; align-items: center; gap: 11px; color: #b0bac9; font-size: 12px; font-weight: 600; }
.site-footer { display: grid; grid-template-columns: auto 1fr auto; gap: 35px; align-items: center; padding-top: 32px; padding-bottom: 32px; border-top: 1px solid var(--line); background: var(--navy-950); }
.site-footer p { margin: 0; color: #66768d; font-size: 11px; }
.site-footer > a { color: #aab4c4; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.site-footer > small { grid-column: 1/-1; padding-top: 22px; border-top: 1px solid rgba(245,247,250,.07); color: #4d5c72; font-size: 8px; letter-spacing: .13em; }

@keyframes mark-float { 0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-11px) rotate(1deg)} }
@keyframes carousel-progress { from{transform:scaleX(0)}to{transform:scaleX(1)} }
@keyframes service-background-cycle { 0%,43%{opacity:1;transform:scale(1.035)}50%,93%{opacity:0;transform:scale(1.09)}100%{opacity:1;transform:scale(1.035)} }

@media (max-width:1080px) {
  .site-header{grid-template-columns:1fr auto}.desktop-nav,.header-cta{display:none}.mobile-nav{position:relative;display:block;justify-self:end}
  .mobile-nav summary{display:grid;width:44px;height:44px;cursor:pointer;list-style:none;place-content:center;gap:6px;border:1px solid var(--line);border-radius:10px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{display:block;width:18px;height:1px;background:var(--offwhite)}
  .mobile-nav nav{position:absolute;top:53px;right:0;display:grid;width:min(280px,calc(100vw - 40px));padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(7,18,36,.98);box-shadow:0 25px 60px rgba(0,0,0,.35)}.mobile-nav nav a{padding:14px 13px;border-radius:8px;color:#d7dde6;font-size:13px}.mobile-nav nav a:last-child{margin-top:7px;background:var(--coral);color:#fff}
  .hero{grid-template-columns:1fr;padding-top:150px}.hero-copy{padding-bottom:48px}.hero-visual{width:min(100%,760px);justify-self:center}
  .shift-layout{grid-template-columns:1fr}.shift-copy{max-width:760px}.stats-carousel{width:min(100%,760px)}.manifesto-content,.section-heading,.method-layout{grid-template-columns:1fr}.manifesto-copy,.section-heading>p{max-width:650px}.method-layout{gap:65px}.method-intro{position:static}.project-slide{grid-template-columns:1fr;min-height:0}.project-media{height:min(calc(100vw - 48px),620px)}.project-art{width:min(100%,620px)}
}

@media (max-width:760px) {
  .site-header{top:10px;width:calc(100% - 20px);min-height:59px;padding:7px 8px 7px 13px}.brand-lockup img{width:30px;height:30px}.brand-lockup strong{font-size:13px}.brand-lockup small{font-size:5.5px}.section-shell{padding-inline:20px}
  .hero{padding-top:127px;padding-bottom:30px}.hero h1{font-size:clamp(48px,14vw,67px);letter-spacing:-.07em}.hero-intro{font-size:15px}.hero-actions,.contact-actions{align-items:stretch;flex-direction:column}.text-link,.social-link{justify-content:center;min-height:44px}
  .hero-visual{min-height:440px}.visual-halo{width:380px;height:380px}.code-window{width:100%;transform:none}.window-content{grid-template-columns:22% 78%;min-height:300px}.mark-stage{min-height:300px}.code-column{padding:25px 12px}.window-status{gap:9px;padding-inline:11px;font-size:6px}.floating-card--top{top:1%;right:-8px}.floating-card--bottom{bottom:0;left:-5px}.floating-card{min-width:148px;padding:12px 13px}.floating-card strong{font-size:9px}
  .hero-proof{grid-template-columns:1fr;margin-top:40px}.hero-proof>div,.hero-proof>div+div{padding:17px 0;border-left:0}.hero-proof>div+div{border-top:1px solid var(--line)}
  .digital-shift,.manifesto,.services,.method,.projects{padding-top:92px;padding-bottom:92px}.section-label{margin-bottom:38px}.shift-copy h2,.manifesto h2,.section-heading h2,.method h2,.contact h2{font-size:clamp(39px,12vw,58px)}.shift-layout{gap:48px}.stats-track{min-height:490px}.stat-slide{padding:32px 25px}.stat-slide>strong{font-size:clamp(66px,22vw,88px)}.stats-controls{grid-template-columns:42px auto 1fr 42px;gap:10px}.stats-controls button{width:42px;height:42px}.shift-close{grid-template-columns:1fr;gap:24px;margin-top:58px}.inline-link--light{white-space:normal}.values-line{display:grid;grid-template-columns:1fr 1fr;margin-top:65px}.values-line i{display:none}.section-heading{gap:30px}
  .service-grid{grid-template-columns:1fr;margin-top:48px}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto;min-height:auto;padding:24px}.service-card h3{margin-top:47px}
  .steps-list article{grid-template-columns:45px 1fr;gap:10px 18px;padding:25px 0}.steps-list p{grid-column:2}
  .projects-carousel{margin-top:48px}.project-copy{padding:44px 25px}.project-type{margin-bottom:30px}.project-copy h3{margin-bottom:24px;font-size:clamp(44px,15vw,62px)}.project-copy>p:not(.project-type){font-size:15px}.project-media{height:min(calc(100vw - 40px),500px)}.project-art{width:min(100%,500px)}.projects-controls{gap:17px;margin-top:22px}.projects-controls>button{width:48px;height:48px}
  .contact{min-height:650px;padding-top:105px;padding-bottom:90px}.contact-mark{top:34%;right:-15%;width:70vw}.button--large{padding-inline:17px;font-size:11px}
  .site-footer{grid-template-columns:1fr auto}.site-footer p{grid-column:1/-1;grid-row:2}.site-footer>small{grid-row:3}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.stats-carousel.is-running .stats-progress i{animation:none;transform:scaleX(1)}.service-background{animation:none;opacity:0;transform:none}.service-background:first-child{opacity:1}}
