@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap");

:root { --ink:#090b0f; --ink-soft:#141820; --paper:#f5f5f8; --muted:#c9c9d1; --violet:#853bd8; --deep:#6826b5; --line:rgba(245,245,248,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Poppins,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(100% - 2.5rem,96rem); margin:auto; }
.kicker { margin:0 0 1rem; color:var(--violet); font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.kicker::before { display:inline-block; width:1.9rem; height:1px; margin:0 .8rem .2rem 0; background:currentColor; content:""; }
.utility { display:flex; min-height:3rem; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); color:rgba(245,245,248,.72); font-size:.68rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.utility a { display:flex; gap:.5rem; align-items:center; }
.nav { display:grid; min-height:6.5rem; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; width:max-content; align-items:center; gap:.28rem; font-size:clamp(1.55rem,2vw,2rem); font-weight:600; letter-spacing:-.045em; }
.brand i { width:.32rem; height:.32rem; margin:.18rem .1rem 0; border-radius:50%; background:var(--violet); }
.nav-links { display:flex; gap:clamp(1rem,2.3vw,2.6rem); font-size:.86rem; font-weight:600; }
.nav-links a { position:relative; }
.nav-links a::after { position:absolute; right:0; bottom:-.6rem; left:0; height:1px; background:var(--violet); content:""; transform:scaleX(0); transform-origin:right; transition:transform .2s; }
.nav-links a:hover::after { transform:scaleX(1); transform-origin:left; }
.nav-cta,.button { display:inline-flex; min-height:3.1rem; align-items:center; justify-content:center; gap:.85rem; padding:0 1.2rem; border:1px solid rgba(245,245,248,.62); font-size:.78rem; font-weight:700; transition:.2s; }
.nav-cta { justify-self:end; }
.nav-cta:hover { background:var(--paper); color:var(--ink); }
.arrow { display:inline-block; transition:transform .2s; }
a:hover .arrow { transform:translate(2px,-2px); }
.hero { position:relative; min-height:100svh; overflow:hidden; isolation:isolate; background:var(--ink); }
.hero-video,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-video { z-index:-2; object-fit:cover; filter:saturate(.72) contrast(1.08); opacity:.72; }
.hero-shade { z-index:-1; background:linear-gradient(180deg,rgba(7,8,12,.54),rgba(7,8,12,.18) 38%,rgba(7,8,12,.88)),linear-gradient(90deg,rgba(8,9,14,.82),rgba(8,9,14,.2) 68%,rgba(8,9,14,.5)); }
.hero-content { display:grid; min-height:calc(100svh - 9.5rem); grid-template-columns:1fr auto; align-items:center; gap:3rem; padding:5rem 2.5rem 17rem; }
.hero-copy { max-width:67rem; }
h1,h2,h3,p { margin-top:0; }
.hero h1,.page-hero h1 { max-width:75rem; margin:.2rem 0 0; font-size:clamp(3.3rem,6.65vw,7.35rem); font-weight:600; letter-spacing:-.065em; line-height:.95; text-wrap:balance; }
.hero h1 em { color:var(--muted); font-weight:400; }
.lead { max-width:42rem; margin:1.8rem 0 0; color:rgba(245,245,248,.76); font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.7; }
.actions { display:flex; margin-top:2.2rem; align-items:center; gap:1.4rem; }
.button { min-height:3.75rem; border:0; background:var(--violet); color:#fff; }
.button:hover { background:#9a55e8; transform:translateY(-2px); }
.text-link { padding:.8rem 0; border-bottom:1px solid rgba(245,245,248,.38); font-size:.78rem; font-weight:700; }
.outcomes { display:grid; gap:.75rem; color:rgba(245,245,248,.56); font-size:.9rem; text-align:right; }
.outcomes span::after { display:inline-block; width:.32rem; height:.32rem; margin-left:.7rem; border-radius:50%; background:var(--violet); content:""; }
.principles { position:absolute; right:0; bottom:0; left:0; display:grid; grid-template-columns:repeat(3,1fr); width:min(100% - 5rem,86.5rem); margin:auto; background:#f0f0f4; color:var(--ink); }
.principle { min-height:11.5rem; padding:1.7rem 2rem; border-right:1px solid rgba(9,11,15,.13); transition:.2s; }
.principle:last-child { border:0; }
.principle:hover { background:var(--violet); color:#fff; }
.number { color:#858590; font-size:.6rem; font-weight:700; letter-spacing:.12em; }
.principle h3 { margin:.8rem 0 .5rem; font-size:1.45rem; letter-spacing:-.045em; }
.principle p { max-width:23rem; margin:0; color:#666671; font-size:.78rem; line-height:1.55; }
.principle:hover p,.principle:hover .number { color:rgba(255,255,255,.72); }
.light { background:var(--paper); color:var(--ink); }
.about { padding:clamp(6rem,12vw,12rem) 0; }
.about-grid,.section-heading { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(18rem,.65fr); gap:clamp(3rem,8vw,9rem); }
.section-heading { margin-bottom:3.5rem; align-items:end; }
.section-heading h2,.about h2,.footer-lead h2 { max-width:54rem; margin:0; font-size:clamp(2.7rem,5vw,5.5rem); font-weight:600; letter-spacing:-.06em; line-height:.98; text-wrap:balance; }
.body-copy,.section-heading > p { margin:0; color:#60616b; font-size:.96rem; line-height:1.75; }
.body-copy + .body-copy { margin-top:1.25rem; }
.work,.process { padding:clamp(6rem,10vw,10rem) 0; }
.work { background:#e8e8ed; color:var(--ink); }
.media-wall { display:grid; grid-template-columns:repeat(12,1fr); gap:1rem; }
.media { grid-column:span 4; background:#f7f7f9; }
.media.wide { grid-column:span 8; }
.visual { position:relative; display:grid; min-height:19rem; place-items:center; overflow:hidden; background:radial-gradient(circle at 70% 25%,rgba(255,255,255,.22),transparent 28%),linear-gradient(145deg,#191c24,#6327a6); }
.wide .visual { min-height:24rem; }.media:nth-child(2) .visual { background:linear-gradient(140deg,#d7d8df,#777985); }.media:nth-child(3) .visual { min-height:30rem; background:radial-gradient(circle at 65% 35%,rgba(133,59,216,.42),transparent 23%),linear-gradient(140deg,#06070a,#20242d); }.media:nth-child(4) .visual { background:linear-gradient(140deg,#321c1c,#a65a45); }.media:nth-child(5) .visual { background:linear-gradient(140deg,#130d1d,#6826b5); }
.visual::after { position:absolute; inset:10%; border:1px solid rgba(255,255,255,.2); content:""; transform:rotate(-3deg); }
.play { position:relative; z-index:1; display:grid; width:4.5rem; height:4.5rem; padding-left:.2rem; place-items:center; border:1px solid rgba(255,255,255,.62); border-radius:50%; color:#fff; }
.status { position:absolute; z-index:1; right:1.1rem; bottom:1.1rem; padding:.45rem .65rem; background:rgba(9,11,15,.74); color:rgba(255,255,255,.72); font-size:.56rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.media-meta { display:grid; min-height:7.5rem; padding:1.3rem; grid-template-columns:auto 1fr auto; gap:1rem; }.media-meta .number,.media-meta p { color:#7b7c85; font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.media-meta p { margin:0 0 .35rem; }.media-meta h3 { margin:0; font-size:1.15rem; letter-spacing:-.03em; }
.outline { display:flex; width:max-content; min-height:3.5rem; margin:2.5rem auto 0; align-items:center; gap:1rem; padding:0 1.25rem; border:1px solid rgba(9,11,15,.28); font-size:.78rem; font-weight:700; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(9,11,15,.18); }.process-grid article { min-height:18rem; padding:1.5rem; border-right:1px solid rgba(9,11,15,.18); }.process-grid article:first-child { border-left:1px solid rgba(9,11,15,.18); }.process-grid h3 { margin:5rem 0 .8rem; font-size:1.5rem; letter-spacing:-.04em; }.process-grid p { margin:0; color:#696a73; font-size:.83rem; line-height:1.65; }
.clients { padding:clamp(6rem,10vw,10rem) 0; background:var(--ink-soft); }.dark-copy { color:rgba(245,245,248,.62)!important; }.logo-wall { display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.logo-wall div { position:relative; display:grid; min-height:10rem; place-items:center; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:rgba(245,245,248,.46); font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }.logo-wall small { position:absolute; top:.7rem; left:.7rem; color:rgba(245,245,248,.24); font-size:.55rem; }
.quotes { display:grid; margin-top:1rem; grid-template-columns:repeat(2,1fr); gap:1rem; }.quote { min-height:22rem; padding:clamp(2rem,4vw,4rem); background:#20242c; }.quote:last-child { background:var(--deep); }.quote-mark { color:var(--violet); font-size:5rem; line-height:.8; }.quote:last-child .quote-mark { color:rgba(255,255,255,.42); }.quote p { margin:2rem 0 3rem; font-size:clamp(1.4rem,2.3vw,2.25rem); font-weight:500; letter-spacing:-.045em; line-height:1.28; }.quote footer { color:rgba(245,245,248,.56); font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.footer { padding:clamp(5rem,9vw,9rem) 0 1.5rem; background:radial-gradient(circle at 85% 10%,rgba(133,59,216,.24),transparent 24%),var(--ink); color:var(--paper); }.footer-lead { display:flex; margin-bottom:clamp(5rem,8vw,8rem); align-items:end; justify-content:space-between; flex-wrap:wrap; gap:2rem; }.footer-lead .kicker { width:100%; }.footer-lead h2 em { color:var(--muted); font-weight:400; }.footer-grid { display:grid; padding:2rem 0; grid-template-columns:1fr auto 1fr; gap:4rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.footer-grid nav { display:grid; grid-template-columns:repeat(2,minmax(7rem,1fr)); gap:.8rem 2rem; font-size:.78rem; font-weight:600; }.footer-contact { display:grid; justify-self:end; gap:.35rem; text-align:right; font-size:.76rem; }.footer-contact small { margin-top:.5rem; color:rgba(245,245,248,.42); }.legal { display:flex; min-height:4rem; align-items:center; justify-content:space-between; gap:1rem; color:rgba(245,245,248,.42); font-size:.58rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }.legal div { display:flex; gap:1.5rem; }
.interior-nav { display:grid; min-height:7.5rem; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); }.interior-nav .nav-cta { justify-self:end; }.page-hero { padding:clamp(7rem,12vw,12rem) 0; background:radial-gradient(circle at 76% 30%,rgba(133,59,216,.3),transparent 27%),var(--ink-soft); }.page-hero h1 { font-size:clamp(3.5rem,7vw,8rem); }.page-hero .lead { margin-top:2rem; }.service-list { padding:0 0 clamp(6rem,10vw,10rem); }.service-list article { display:grid; min-height:13rem; padding:2.5rem 0; grid-template-columns:5rem minmax(16rem,.8fr) minmax(18rem,1fr); gap:2rem; border-bottom:1px solid rgba(9,11,15,.16); }.service-list h2 { margin:0; font-size:clamp(1.8rem,3vw,3rem); letter-spacing:-.045em; line-height:1; }.service-list p { max-width:39rem; margin:0; color:#60616b; line-height:1.75; }
.legal-page { padding:clamp(5rem,9vw,9rem) 0; }.legal-page header,.legal-page section { max-width:54rem; margin-right:auto; margin-left:auto; }.legal-page header { margin-bottom:5rem; }.legal-page h1 { margin:0; font-size:clamp(3.5rem,7vw,7rem); letter-spacing:-.065em; line-height:.95; }.legal-page header > p:last-child { color:#747580; font-size:.75rem; }.legal-page section { padding:2rem 0; border-top:1px solid rgba(9,11,15,.16); }.legal-page h2 { margin:0 0 .9rem; font-size:1.3rem; letter-spacing:-.025em; }.legal-page section p { margin:0; color:#575862; line-height:1.8; }
@media(max-width:900px){.nav{grid-template-columns:1fr auto}.nav-links,.nav-cta{display:none}.interior-nav{grid-template-columns:1fr auto}.interior-nav .nav-cta{display:none}.about-grid,.section-heading{grid-template-columns:1fr;gap:2rem}.media,.media.wide{grid-column:span 6}.process-grid{grid-template-columns:repeat(2,1fr)}.logo-wall{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.wrap{width:min(100% - 2rem,96rem)}.utility span:first-child{display:none}.hero{min-height:61rem}.hero-content{display:block;padding:5rem 0 26rem}.outcomes{display:none}.actions{align-items:flex-start;flex-direction:column}.button{width:100%}.principles{grid-template-columns:1fr;width:calc(100% - 2rem)}.principle{min-height:auto;padding:1.15rem;border-right:0;border-bottom:1px solid rgba(9,11,15,.13)}.media,.media.wide{grid-column:1/-1}.visual,.media:nth-child(3) .visual{min-height:20rem}.process-grid,.quotes{grid-template-columns:1fr}.process-grid article,.process-grid article:first-child{min-height:14rem;border-left:1px solid rgba(9,11,15,.18)}.process-grid h3{margin-top:3rem}.logo-wall{grid-template-columns:repeat(2,1fr)}.logo-wall div{min-height:8rem}.footer-grid{grid-template-columns:1fr;gap:2.5rem}.footer-contact{justify-self:start;text-align:left}.legal{padding:1.5rem 0;align-items:flex-start;flex-direction:column}.service-list article{grid-template-columns:2.5rem 1fr}.service-list article p{grid-column:2}.page-hero h1{font-size:clamp(3rem,13vw,5rem)}}
