:root {
            --ink: #202126;
            --muted: #64666e;
            --line: #e9e9eb;
            --paper: #ffffff;
            --soft: #f7f7f6;
            --studio-pink: #f40856;
            --studio-blue: #1b34bb;
            --radius: 22px;
        }

        * {
            box-sizing: border-box
        }

        html {
            scroll-behavior: smooth
        }

        body {
            margin: 0;
            width: 100%;
            font-family: "DM Sans", sans-serif;
            color: var(--ink);
            overflow-x: hidden
        }

        h1,
        h2,
        h3,
        p {
            margin: 0
        }

        .display {
            font-family: "Manrope", sans-serif;
            letter-spacing: -.045em
        }

        .site-shell {
            width: 100%;
            overflow: hidden
        }

        .site-width {
            width: min(1160px, calc(100% - 48px));
            margin: 0 auto
        }

        .thin-rule {
            height: 1px;
            background: var(--line)
        }

        .eyebrow {
            font-size: .69rem;
            font-weight: 700;
            letter-spacing: .15em;
            line-height: 1.3
        }

        .section-pad {
            padding: 112px 0
        }

        .section-title {
            max-width: 720px;
            font-size: clamp(2rem, 4vw, 3.8rem);
            line-height: 1.04;
            font-weight: 700
        }

        .body-copy {
            max-width: 620px;
            color: var(--muted);
            font-size: 1.02rem;
            line-height: 1.75
        }

        .button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .55rem;
            border-radius: 999px;
            padding: .88rem 1.2rem;
            font-size: .9rem;
            font-weight: 700;
            transition: transform .22s, box-shadow .22s, background .22s;
            color: inherit;
            text-decoration: none
        }

        .button:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 22px rgba(31, 32, 37, .12);
        }

        .button:focus-visible,
        .nav-link:focus-visible,
        .menu-button:focus-visible {
            outline: 3px solid rgba(38, 157, 232, .38);
            outline-offset: 4px
        }

        .hero {
            position: relative;
            padding: 112px 0 108px;
            isolation: isolate
        }

        .hero-copy {
            max-width: 785px;
            position: relative;
            z-index: 2
        }

        .hero-title {
            max-width: 800px;
            font-size: clamp(2.8rem, 6.2vw, 5.7rem);
            line-height: .98;
            font-weight: 800
        }

        .gradient-word {
            background: linear-gradient(100deg, #f40856, #b22998, #1b34bb);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent
        }

        .hero-orb,
        .hero-dot,
        .hero-line {
            position: absolute;
            pointer-events: none;
            z-index: 0
        }

        .hero-orb {
            border-radius: 999px;
            filter: blur(.2px);
            animation: drift 14s ease-in-out infinite alternate
        }

        .hero-orb.one {
            width: 390px;
            height: 390px;
            right: -150px;
            top: -115px;
            background: radial-gradient(circle at 35% 35%, rgba(255, 76, 151, .17), rgba(103, 91, 198, .035) 66%, transparent 68%)
        }

        .hero-orb.two {
            width: 230px;
            height: 230px;
            left: -110px;
            bottom: -115px;
            background: radial-gradient(circle, rgba(0, 255, 208, .12), transparent 69%);
            animation-delay: -7s
        }

        .hero-dot {
            width: 11px;
            height: 11px;
            border-radius: 50%;
            right: 22%;
            top: 23%;
            background: #f1cd66
        }

        .hero-line {
            height: 1px;
            width: 175px;
            right: 7%;
            bottom: 22%;
            background: linear-gradient(90deg, transparent, #b7cfdc)
        }

        .accent-strip {
            height: 4px;
            border-radius: 99px
        }

        .soft-panel {
            border: 1px solid var(--line);
            border-radius: var(--radius);
            box-shadow: 0 12px 35px rgba(31, 32, 37, .045)
        }

        .principle {
            background: #fafafa;
            padding: 25px
        }

        .three-grid,
        .audience-grid,
        .work-grid {
            display: grid;
            gap: 16px
        }

        .three-grid {
            grid-template-columns: repeat(3, 1fr)
        }

        .area-card {
            position: relative;
            overflow: hidden;
            padding: 30px;
            min-height: 320px;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: var(--radius);
            transition: .25s;
        }

        .area-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 19px 36px rgba(30, 30, 40, .09)
        }

        .icon-tile {
            display: grid;
            place-items: center;
            width: 44px;
            height: 44px;
            border-radius: 14px;
            margin-bottom: 36px
        }

        .area-card ul {
            padding: 0;
            margin: 22px 0 0;
            list-style: none;
            color: #6e7078;
            font-size: .87rem;
            line-height: 1.8
        }

        .area-card ul li:before {
            content: "—";
            margin-right: 8px
        }

        .area-card:after {
            content: "";
            position: absolute;
            left: 30px;
            right: 30px;
            bottom: 0;
            height: 4px;
            border-radius: 999px 999px 0 0
        }

        .creative:after {
            background: linear-gradient(90deg, #ff4c97, #f40856, #675bc6)
        }

        .digital:after {
            background: linear-gradient(90deg, #b5175e, #f1cd66)
        }

        .platforms:after {
            background: linear-gradient(90deg, #f13270, #269de8, #1ac4a5)
        }

        .ecosystem {
            padding: 38px;
            background: #fbfbfb;
            border: 1px solid var(--line);
            border-radius: 28px;
            position: relative;
            overflow: hidden
        }

        .ecosystem:before {
            content: "";
            position: absolute;
            width: 360px;
            height: 360px;
            border: 1px solid rgba(244, 8, 86, .08);
            border-radius: 50%;
            left: 50%;
            top: 45%;
            transform: translate(-50%, -50%)
        }

        .eco-core,
        .eco-node {
            position: relative;
            border: 1px solid var(--line);
            border-radius: 16px;
            background: white;
            text-align: center;
            box-shadow: 0 10px 25px rgba(31, 32, 37, .04)
        }

        .eco-core {
            margin: 0 auto;
            padding: 22px;
            max-width: 250px
        }

        .eco-nodes {
            margin-top: 35px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 12px;
            position: relative
        }

        .eco-node {
            padding: 16px 10px;
            font-size: .82rem;
            font-weight: 700
        }

        .eco-node small {
            display: block;
            margin-top: 5px;
            font-weight: 500;
            color: #74767d
        }

        .brand-list {
            display: grid;
            gap: 15px
        }

        .brand-card {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: 210px 1fr auto;
            gap: 30px;
            align-items: center;
            padding: 31px 34px;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: var(--radius);
            transition: .25s;
        }

        .brand-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 18px 36px rgba(31, 32, 37, .08)
        }

        .brand-card:before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 5px;
            background: var(--brand)
        }

        .brand-mark {
            font-family: "Manrope", sans-serif;
            letter-spacing: -.05em;
            font-size: 1.48rem;
            font-weight: 800;
            line-height: 1
        }

        .brand-category {
            font-size: .66rem;
            letter-spacing: .12em;
            font-weight: 700;
            margin-bottom: 13px;
            color: var(--brand)
        }

        .brand-card p {
            font-size: .93rem;
            line-height: 1.65;
            color: var(--muted);
            max-width: 530px
        }

        .brand-buttons {
            display: flex;
            flex-direction: column;
            gap: 8px;
            min-width: 158px
        }

        .mini-button {
            border: 1px solid #dedee1;
            border-radius: 999px;
            padding: .67rem .85rem;
            text-align: center;
            font-size: .78rem;
            font-weight: 700;
            text-decoration: none;
            color: #34363e;
            transition: .2s;
        }

        .mini-button:hover {
            background: #f8f8f8;
            border-color: var(--brand);
            transform: translateY(-1px)
        }

        .reason-grid {
            display: grid;
            grid-template-columns: 1fr 1.3fr;
            gap: 85px;
            align-items: start
        }

        .micro-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 12px;
            margin-top: 26px
        }

        .micro-card {
            padding: 20px;
            border-left: 2px solid var(--accent);
            background: #fff
        }

        .micro-card p {
            margin-top: 8px;
            color: #666870;
            font-size: .83rem;
            line-height: 1.55
        }

        .process-line {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            margin-top: 42px
        }

        .process-item {
            position: relative;
            padding-top: 24px
        }

        .process-item:not(:last-child):before {
            content: "";
            position: absolute;
            height: 1px;
            background: #dedee2;
            left: 14px;
            right: -14px;
            top: 7px
        }

        .process-dot {
            position: absolute;
            top: 0;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: var(--accent)
        }

        .work-grid {
            grid-template-columns: repeat(4, 1fr)
        }

        .work-card,
        .audience-card {
            padding: 25px;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 18px
        }

        .number {
            display: grid;
            place-items: center;
            width: 33px;
            height: 33px;
            border-radius: 50%;
            font-size: .72rem;
            font-weight: 700;
            margin-bottom: 38px
        }

        .work-card p,
        .audience-card p {
            color: var(--muted);
            font-size: .88rem;
            line-height: 1.6;
            margin-top: 10px
        }

        .audience-grid {
            grid-template-columns: repeat(3, 1fr)
        }

        .audience-card i {
            width: 20px;
            height: 20px;
            color: #52545d
        }

        .vision {
            position: relative;
            overflow: hidden
        }

        .vision:before {
            content: "";
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at 11% 75%, rgba(244, 8, 86, .07), transparent 22%), radial-gradient(circle at 88% 18%, rgba(38, 157, 232, .09), transparent 23%);
            pointer-events: none
        }

        .quote {
            position: relative;
            padding: 37px 0 5px;
            border-top: 1px solid #dddddf;
            font-family: "Manrope", sans-serif;
            font-size: clamp(1.8rem, 4vw, 3.5rem);
            line-height: 1.13;
            letter-spacing: -.045em;
            font-weight: 700
        }

        .personal-card {
            display: grid;
            grid-template-columns: .86fr 1.14fr;
            overflow: hidden;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 28px;
            box-shadow: 0 13px 35px rgba(31, 32, 37, .045)
        }

        .studio-image {
            height: 100%;
            min-height: 360px;
            width: 100%;
            object-fit: cover
        }

        .personal-copy {
            padding: 54px
        }

        .reveal {
            opacity: 0;
            transform: translateY(17px);
            transition: opacity .7s ease, transform .7s ease
        }

        .reveal.visible {
            opacity: 1;
            transform: translateY(0)
        }

        @keyframes drift {
            to {
                transform: translate3d(18px, 11px, 0) scale(1.04)
            }
        }

        @media(max-width:850px) {
            .section-pad {
                padding: 80px 0
            }

            .hero {
                padding: 85px 0
            }

            .three-grid {
                grid-template-columns: 1fr
            }

            .reason-grid {
                grid-template-columns: 1fr;
                gap: 38px
            }

            .brand-card {
                grid-template-columns: 1fr;
                gap: 17px;
                padding: 28px
            }

            .brand-buttons {
                flex-direction: row;
                flex-wrap: wrap
            }

            .work-grid {
                grid-template-columns: repeat(2, 1fr)
            }

            .audience-grid {
                grid-template-columns: repeat(2, 1fr)
            }

            .personal-card {
                grid-template-columns: 1fr
            }

            .studio-image {
                min-height: 290px
            }
        }

        @media(max-width:640px) {
            .site-width {
                width: min(100% - 32px, 1160px)
            }

            .desktop-nav {
                display: none
            }

            .mobile-only {
                display: flex !important
            }

            .hero-title {
                font-size: 3rem
            }

            .eco-nodes {
                grid-template-columns: 1fr
            }

            .ecosystem:before {
                display: none
            }

            .micro-grid {
                grid-template-columns: 1fr
            }

            .process-line {
                grid-template-columns: 1fr;
                gap: 21px
            }

            .process-item {
                padding: 0 0 0 29px
            }

            .process-item:not(:last-child):before {
                width: 1px;
                height: 25px;
                left: 7px;
                top: 14px
            }

            .process-dot {
                top: 1px
            }

            .work-grid,
            .audience-grid {
                grid-template-columns: 1fr
            }

            .personal-copy {
                padding: 34px 27px
            }

            .hero-orb.one {
                right: -245px
            }

            .nav-link.active:after {
                display: none
            }
        }