@font-face{font-family:Manrope;src:url('/assets/manrope-variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--page:#fff;--white:#fff;--wash:#edf2fa;--ink:#192a43;--body:#48576e;--muted:#596b85;--accent:#1c4587;--deep:#1c4587;--border:#d8e2f1;--radius:30px;--content:1160px}
*{box-sizing:border-box}html{scroll-padding-top:8px}body{margin:0;background:var(--page);color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure,ul,dl,dd{margin:0}h1,h2,h3{font-weight:650;line-height:1.2;letter-spacing:-.035em}button,a{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--deep);outline-offset:5px}::selection{background:#d3e0f6;color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:20;left:20px;top:12px;padding:12px 20px;background:var(--deep);color:white;border-radius:8px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}main{scroll-margin-top:88px}main:focus{outline:none}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;line-height:1.5;text-transform:uppercase;color:var(--deep)}
.site-header{position:relative;z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid #d8e2f1;backdrop-filter:blur(12px)}.header-inner{max-width:1288px;min-height:88px;padding:0 44px;margin:auto;display:flex;align-items:center;gap:38px}.wordmark{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:750;letter-spacing:-.045em;line-height:1.25}.mobile-break{display:none}.brand-mark{position:relative;display:block;width:24px;height:28px;border-left:1.5px solid var(--accent);border-right:1.5px solid var(--accent)}.brand-mark:before,.brand-mark:after{content:'';position:absolute;width:10px;height:1.5px;background:var(--accent)}.brand-mark:before{left:0;top:0}.brand-mark:after{right:0;bottom:0}.brand-mark i{position:absolute;left:9px;top:12px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.primary-nav{display:flex;gap:34px;align-items:center;margin-left:auto}.primary-nav>a{font-size:13px;font-weight:600;padding:10px 0;color:var(--body);position:relative}.primary-nav>a:after{position:absolute;content:'';height:1px;background:var(--accent);left:0;right:0;bottom:4px;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.primary-nav>a:hover:after,.primary-nav>a[aria-current]:after{transform:scaleX(1)}.primary-nav>a:hover{color:var(--deep)}.header-actions{display:flex;align-items:center;gap:12px}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:46px;padding:12px 24px;border-radius:50px;background:var(--deep);color:white;font-size:12px;font-weight:650;line-height:1.4;transition:background .18s ease}.button:hover{background:#153667}.arrow{font-size:19px;line-height:1;font-weight:400;display:inline-block;transition:transform .18s ease}.button:hover .arrow,.text-link:hover .arrow{transform:translate(2px,-2px)}.resume-button{padding:12px 22px;min-height:44px;gap:16px}.menu-toggle{display:none}
.hero{position:relative;text-align:center;padding:44px 24px 34px;background:var(--page)}.hero h1{font-size:clamp(38px,4.1vw,55px);max-width:1000px;margin:18px auto 21px;line-height:1.15;letter-spacing:-.05em}.hero h1>span{color:var(--accent)}.hero-intro{font-size:16px;max-width:670px;margin:0 auto;color:var(--body);line-height:1.75}.hero-proof{font-size:12px;color:var(--muted);margin:16px auto 20px;max-width:670px}.text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:12px;font-weight:700;color:var(--deep);border-bottom:1px solid var(--border)}.text-link:hover{border-color:var(--deep)}.text-link>span{font-size:19px}.work-section{max-width:var(--content);margin:0 auto;padding:0 0 80px;scroll-margin-top:112px}.section-heading{text-align:center;margin-bottom:34px}.section-label{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--border);background:white;border-radius:40px;padding:7px 14px;font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--deep)}.section-label>span{font-size:15px;line-height:1}.section-heading h2{font-size:32px;margin-top:16px;letter-spacing:-.04em}.section-heading>p{font-size:13px;color:var(--muted);margin-top:9px}.project-list{display:grid;gap:32px}.project-panel{display:grid;grid-template-columns:46% 54%;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:white;min-height:540px}.project-copy{padding:42px 34px 34px 40px;display:flex;flex-direction:column;align-items:flex-start}.project-name{font-size:11px;text-transform:uppercase;font-weight:650;letter-spacing:.14em;color:var(--muted);display:flex;gap:13px;align-items:center}.project-index{font-size:10px;color:var(--accent);letter-spacing:.03em}.project-copy h3{font-size:30px;margin-top:13px;letter-spacing:-.035em;line-height:1.27}.project-summary{font-size:14px;line-height:1.8;color:var(--body);margin-top:17px}.tags{list-style:none;display:flex;gap:7px;flex-wrap:wrap;margin:21px 0 23px;padding:0}.tags li{padding:4px 9px;border:1px solid #c9d7ec;color:var(--deep);font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.025em;border-radius:30px}.outcome{border-top:1px solid var(--border);padding-top:18px;width:100%;margin-bottom:24px}.outcome strong{display:block;font-size:24px;font-weight:650;line-height:1.3;letter-spacing:-.045em;color:var(--deep)}.outcome>span{display:block;max-width:300px;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.6}.project-button{margin-top:auto}.project-meta{font-size:10px;letter-spacing:.01em;color:var(--muted);line-height:1.7;margin-top:14px}.project-meta>span{padding:0 4px}.project-media{display:flex;flex-direction:column;justify-content:center;padding:36px 24px;background:#edf2fa;min-width:0;position:relative}.image-link{position:relative;display:block;width:100%;border-radius:12px}.image-link img{width:100%;border:1px solid #d0dced;border-radius:12px;box-shadow:0 12px 30px -18px rgba(28,69,135,.24)}.project-media.rokt{background:#eef0fa}.project-media.block-party{background:#f2edf5}.project-media.iheartmedia{background:#fff0f3}.project-media.iheartmedia img{border:0;box-shadow:none;border-radius:12px}
.site-footer{background:var(--wash);border-top:1px solid var(--border);padding:62px max(24px,calc((100vw - var(--content))/2)) 26px;scroll-margin-top:94px}.footer-top{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding-bottom:55px}.footer-top h2{font-size:30px;line-height:1.3;margin-top:13px}.footer-top p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:12px}.footer-contact{justify-self:end}.email-link{font-size:19px;font-weight:600;color:var(--deep);display:flex;align-items:center;gap:14px;min-height:44px}.email-link:hover{text-decoration:underline;text-underline-offset:6px}.footer-links{display:flex;gap:26px;margin-top:12px}.footer-links>a{min-height:44px;display:inline-flex;gap:10px;align-items:center;font-size:12px;color:var(--deep);text-decoration:underline;text-decoration-color:#aebfdb;text-underline-offset:5px}.footer-bottom{padding-top:24px;border-top:1px solid #cad7ed;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--body);gap:16px}.footer-bottom>a{font-size:12px;font-weight:700;color:var(--ink)}.route-shell{max-width:850px;margin:auto;text-align:center;padding:90px 24px 115px;min-height:580px}.route-shell h1{font-size:44px;margin-top:18px}.route-shell>p:not(.eyebrow){color:var(--body);max-width:650px;margin:24px auto}.route-shell .shell-meta{font-size:12px}.route-shell .coming-soon{font-size:13px}.route-shell .button{margin-top:12px}
@media(min-width:1600px){.hero{padding-top:78px;padding-bottom:65px}}
@media(max-width:1279px){.work-section{margin-left:40px;margin-right:40px}.header-inner{padding:0 40px}.project-copy{padding:34px 28px}.project-copy h3{font-size:27px}.project-media{padding:28px 20px}.project-panel{min-height:540px}.site-footer{padding-left:40px;padding-right:40px}}
@media(max-width:959px){.header-inner{padding:0 32px;gap:24px}.primary-nav{gap:24px}.wordmark{font-size:15px;gap:9px}.project-panel{grid-template-columns:1fr;min-height:0}.project-copy{padding:34px}.project-copy h3{font-size:30px;max-width:610px}.project-summary{max-width:650px}.outcome{margin-bottom:22px}.project-media{padding:34px 44px 25px}.project-media .image-link{max-width:680px;margin:auto}.project-media.iheartmedia .image-link{max-width:640px}.project-meta{font-size:10px}.tags li{font-size:10px}.hero h1{font-size:44px}.hero{padding:54px 32px 45px}.work-section{margin-left:32px;margin-right:32px}.footer-top{gap:28px}.footer-top h2{font-size:26px}.email-link{font-size:16px}.site-footer{padding:48px 32px 24px}}
@media(max-width:767px){.header-inner{position:relative;min-height:80px;flex-wrap:wrap;padding:0 24px;gap:0}.wordmark{font-size:14px;line-height:1.2;letter-spacing:-.03em}.brand-mark{width:20px;height:24px}.brand-mark i{left:7px;top:10px}.header-actions{margin-left:auto;gap:8px}.resume-button{font-size:11px;min-height:42px;padding:10px 16px;gap:9px}.resume-button .arrow{font-size:17px}.mobile-break{display:block}.primary-nav{width:100%;order:3;justify-content:flex-start;margin:0;gap:26px;padding:0 0 16px}.js .primary-nav{display:none}.js .primary-nav.is-open{display:flex}.js .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;border:1px solid var(--border);background:white;color:var(--deep);border-radius:50%;padding:10px}.menu-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.menu-icon{display:block;width:15px;height:10px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;position:relative}.menu-toggle[aria-expanded=true] .menu-icon{border:0}.menu-toggle[aria-expanded=true] .menu-icon:before,.menu-toggle[aria-expanded=true] .menu-icon:after{content:'';position:absolute;left:0;top:4px;width:16px;height:1.5px;background:currentColor;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{transform:rotate(-45deg)}.hero{padding:42px 24px 40px}.hero .eyebrow{font-size:9px;letter-spacing:.13em}.hero h1{font-size:35px;line-height:1.18;margin:16px auto 20px;letter-spacing:-.045em}.hero h1 br{display:none}.hero h1>span{display:inline;margin-left:.12em}.hero h1>span:before{content:' '}.hero-intro{font-size:14px;line-height:1.8;max-width:500px}.hero-proof{font-size:10px;line-height:1.8;max-width:430px;margin-top:16px;margin-bottom:15px}.work-section{margin:0 20px;padding-bottom:55px;scroll-margin-top:100px}.section-heading{margin-bottom:24px}.section-label{font-size:9px}.section-heading h2{font-size:25px;margin-top:14px}.section-heading>p{font-size:11px;margin-top:8px}.project-list{gap:24px}.project-panel{border-radius:23px}.project-copy{padding:28px 25px}.project-name{font-size:10px}.project-copy h3{font-size:27px;line-height:1.28;margin-top:13px}.project-summary{font-size:14px;line-height:1.85;margin-top:15px}.tags{gap:6px;margin:19px 0 21px}.tags li{font-size:10px;padding:4px 8px}.outcome{padding-top:17px;margin-bottom:22px}.outcome strong{font-size:24px}.outcome>span{font-size:11px;max-width:270px}.project-button{min-height:44px;font-size:11px;padding:12px 20px}.project-meta{font-size:10px;margin-top:13px}.project-media{padding:27px 18px 21px}.image-link img{border-radius:7px}.site-footer{padding:40px 25px 22px;scroll-margin-top:90px}.footer-top{grid-template-columns:1fr;gap:25px;padding-bottom:35px}.footer-top h2{font-size:27px}.footer-contact{justify-self:start;max-width:100%}.email-link{font-size:16px;gap:10px}.footer-links{margin-top:7px}.footer-bottom{flex-wrap:wrap;justify-content:flex-start;column-gap:20px;row-gap:10px;font-size:9px;padding-top:21px}.footer-bottom>a{width:100%;font-size:11px}.footer-bottom>span:last-child{margin-left:0}.route-shell{min-height:500px;padding:64px 25px 72px}.route-shell h1{font-size:33px}.route-shell>p:not(.eyebrow){font-size:14px}}
@media(max-width:359px){.header-inner{padding-left:16px;padding-right:16px}.wordmark{font-size:12px}.brand-mark{display:none}.hero h1{font-size:30px}.hero{padding-left:20px;padding-right:20px}.project-copy{padding:25px 20px}.project-copy h3{font-size:25px}.email-link{font-size:14px}.work-section{margin-left:16px;margin-right:16px}}
.js .site-header{position:sticky;top:0;transition:transform 200ms cubic-bezier(.23,1,.32,1),opacity 200ms cubic-bezier(.23,1,.32,1)}
.js .site-header.is-away{transform:translateY(-60px);opacity:0;pointer-events:none}
.js .site-header:focus-within{transform:none;opacity:1;pointer-events:auto;transition:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Shorter Home introduction. */
.hero-compact .text-link{margin-top:16px}

/* One heading per section; the hero leads directly into work. */
.hero-compact{padding-bottom:30px}.work-section .section-heading h2{margin-top:0}.site-footer .footer-top h2{margin-top:0}

.hero-compact h1{font-size:clamp(32px,3.4vw,46px);max-width:1020px;margin:0 auto 24px;line-height:1.2}
.hero-compact .hero-intro{max-width:800px;font-size:15px;line-height:1.85}
.hero-compact{padding-top:64px;padding-bottom:36px}
.work-section .section-heading h2{font-size:14px;line-height:1.5;letter-spacing:0}
.work-cue{display:inline-flex;flex-direction:column;align-items:center;gap:10px;min-width:180px;min-height:48px;padding:8px 0 0;color:var(--ink)}
.work-cue-label{width:100%;text-align:center;padding-bottom:12px;border-bottom:1px solid var(--border)}
.work-cue svg{color:var(--accent);flex:none}
.project-list{scroll-margin-top:112px}
@media(max-width:767px){.hero-compact{padding:42px 24px 28px}.hero-compact h1{font-size:32px;margin-bottom:20px}.hero-compact .hero-intro{font-size:14px;line-height:1.8}.work-cue{min-width:170px}.project-list{scroll-margin-top:100px}}

/* Each Home panel uses the same tokens as its case study. */
.project-rokt{--accent:#1c4587;--deep:#1c4587;--wash:#edf2fa;--border:#d8e2f1;--ink:#192a43;--body:#48576e;--muted:#596b85;--preview-surface:#eef0fa;--preview-shadow:rgba(28,69,135,.24);--button-hover:#153667}
.project-block-party{--accent:#574565;--deep:#42344e;--wash:#f2edf5;--border:#e2dbe7;--ink:#342f3b;--body:#625a69;--muted:#6e6376;--preview-surface:#f2edf5;--preview-shadow:rgba(66,52,78,.24);--button-hover:#34283e}
.project-iheartmedia{--accent:#c6002b;--deep:#990024;--wash:#fff1f4;--border:#efd5dc;--ink:#2d1d25;--body:#63535b;--muted:#766570;--preview-surface:#fff1f4;--pill-surface:#fff8fa;--preview-shadow:rgba(153,0,36,.22);--button-hover:#7d001d}
.project-copy h3{color:var(--ink)}
.project-copy .project-name{color:var(--deep)}
.project-copy .tags li{background:var(--pill-surface,var(--wash));border-color:var(--border);color:var(--deep)}
.project-panel .project-button:hover{background:var(--button-hover)}
.project-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.project-actions .project-button{margin-top:0;border:1px solid transparent}.project-actions .project-live{color:var(--deep);background:transparent;border-color:var(--deep)}.project-panel .project-live:hover{background:transparent;border-color:var(--accent)}
@media(max-width:767px){.project-actions .project-button{padding:12px 14px;gap:12px}}
.project-panel .project-media{display:grid;place-items:center;min-height:540px;padding:48px 32px;background:var(--preview-surface);overflow:hidden;isolation:isolate}
.project-media:before{content:'';position:absolute;inset:34px;border:1px solid var(--border);border-radius:50%;pointer-events:none}
.thumbnail-art{position:relative;width:100%;z-index:1;transition:transform 200ms cubic-bezier(.23,1,.32,1)}
.dashboard-preview{max-width:520px}
.dashboard-preview:before{content:'';position:absolute;inset:-12px 8px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.48);transform:rotate(3deg);z-index:-1;pointer-events:none}
.dashboard-preview .image-link{transform:rotate(-4deg)}
.project-panel .image-link img{border:1px solid var(--border);box-shadow:0 22px 42px -19px var(--preview-shadow)}
.phone-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:20px;max-width:360px}
.phone-duo .image-link{min-width:0}
.phone-duo .image-link:first-child{transform:translateY(-14px) rotate(-6deg)}
.phone-duo .image-link:last-child{transform:translateY(14px) rotate(6deg)}
.project-panel .phone-duo img{border-radius:18px}
@media(hover:hover) and (pointer:fine){.project-media:hover .thumbnail-art{transform:scale(1.03)}}
@media(max-width:959px){.project-panel .project-media{min-height:500px}.project-panel .project-media.rokt{min-height:400px}}
@media(max-width:767px){.project-panel .project-media{padding:44px 28px;min-height:380px}.project-panel .project-media.rokt{min-height:300px}.project-media:before{inset:24px}.phone-duo{gap:14px}.project-panel .phone-duo img{border-radius:13px}}
@media(prefers-reduced-motion:reduce){.project-media .thumbnail-art{transition:none;transform:none!important}}
