@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#161b23;--muted:#666b72;--paper:#eef2f7;--accent:#97b7e9;--line:#d1d6dd;--scroll:0px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #3e629b;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:var(--accent);padding:14px}.skip:focus{top:15px}.header{height:100px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:3;left:0;right:0;color:#e5eaf3}.wordmark{font:800 40px 'Manrope',sans-serif;letter-spacing:-4px}.wordmark span{color:var(--accent)}nav{display:flex;gap:38px;font-size:13px}nav a{padding:12px 0}nav a:hover{color:var(--accent)}nav span{margin-left:8px;color:var(--accent)}.hero{min-height:820px;height:100svh;max-height:1100px;position:relative;overflow:hidden;color:#eff1f5;background:#0f131a}.hero-copy{position:relative;z-index:2;padding:225px 6% 150px;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:10px;margin:0 0 28px}.dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(44px,4.8vw,78px)/1.12 'Manrope',sans-serif;letter-spacing:-3px;margin-bottom:30px}em{font-style:normal;color:#9bb5de}h1 em{font-size:.89em}.hero-description{font-size:17px;line-height:1.75;color:#b4b9c1;margin-bottom:35px}.button{display:inline-flex;gap:50px;align-items:center;background:var(--accent);color:#181d25;padding:19px 24px;font-size:12px;font-weight:700;border-radius:3px;transition:background .2s}.button:hover{background:#c4d8f8}.button span{font-size:20px}.hero-footer{position:absolute;bottom:32px;left:6%;right:6%;display:flex;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:25px;font-size:9px;letter-spacing:1.8px;color:#a3a9b2;z-index:2}.hero-footer a span{margin-left:15px;color:var(--accent)}.hero-art{position:absolute;inset:0 0 0 42%;transform:translateY(var(--scroll));will-change:transform;background:radial-gradient(ellipse at 60% 48%,#4c586b3d,transparent 65%)}.grid-plane{position:absolute;inset:0;background-image:linear-gradient(#a6bad908 1px,transparent 1px),linear-gradient(90deg,#a6bad908 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse,black,transparent 70%)}.neural{position:absolute;width:100%;height:100%;color:#99b2da;opacity:.23;stroke-width:.8}.orbit{position:absolute;border:1px solid #8da9d620;border-radius:50%;width:650px;height:650px;left:4%;top:12%;transform:rotate(-30deg) scaleX(.8)}.orbit-two{transform:rotate(35deg) scaleX(.65);width:540px;height:540px;top:19%;left:12%}.phone{position:absolute;left:38%;top:23%;width:235px;height:465px;background:linear-gradient(155deg,#3f4753,#19202b 50%,#121720);border:5px solid #6b727c;border-radius:41px;box-shadow:inset 0 0 0 2px #161b23,20px 45px 65px #0007,-2px -2px 0 #bac1cb;transform:rotate(-12deg);overflow:hidden}.island{position:absolute;top:13px;left:50%;transform:translateX(-50%);width:67px;height:18px;background:#0a0e14;border-radius:20px}.phone-top{display:flex;justify-content:space-between;margin:19px 20px;font-size:9px}.phone-content{padding:28px 20px}.tiny{font-size:7px;letter-spacing:1.5px;color:#b8c5da}.intelligence-orb{width:135px;height:135px;margin:28px auto 20px;border-radius:50%;background:repeating-radial-gradient(ellipse at 30% 30%,transparent 0 5px,#a1c0f160 6px 7px,transparent 8px 12px),radial-gradient(circle at 30% 30%,#9bbaec,#637490 40%,#212c3d 70%);box-shadow:0 0 45px #80a3da30}.phone-title{font:500 24px/1.15 'Manrope',sans-serif;letter-spacing:-1px}.phone-line{height:3px;width:90%;background:#b2bac62a;margin-top:16px}.phone-line.short{width:60%;margin-top:6px}.phone-pill{font-size:8px;margin-top:25px;padding:12px 10px;border:1px solid #acb6c630;border-radius:8px;display:flex;justify-content:space-between}.home-indicator{position:absolute;bottom:9px;left:32%;width:36%;height:3px;background:#99a7bc;border-radius:3px}.art-label{position:absolute;font-size:8px;letter-spacing:1.7px;color:#b2bdcd;display:flex;gap:9px;align-items:center}.label-one{top:22%;right:7%}.label-two{bottom:19%;left:16%}.section{padding:100px 8%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;gap:25px}.section .eyebrow{color:#697180;margin-bottom:20px}h2{font:500 clamp(30px,3vw,46px)/1.2 'Manrope',sans-serif;letter-spacing:-1.8px;margin-bottom:0}.section-heading>p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.draft-note{font-size:11px;color:#626973;line-height:1.6}.projects{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project-visual{height:370px;position:relative;overflow:hidden;border-radius:3px}.mobile-visual{background:#d7dee8}.visual-index{position:absolute;top:24px;left:26px;font-size:11px;color:#5a6678}.visual-caption{position:absolute;bottom:24px;left:26px;font-size:8px;line-height:1.7;letter-spacing:1.5px;color:#4e5a6c}.mini-phone{position:absolute;top:45px;left:45%;width:170px;height:320px;background:#f2f6fc;border:5px solid #343b46;border-radius:30px;transform:rotate(14deg);box-shadow:15px 20px 30px #2a354725;padding:40px 18px}.mini-island{position:absolute;width:50px;height:12px;background:#343b46;top:9px;left:55px;border-radius:10px}.mini-greeting{font:600 23px/1.1 'Manrope',sans-serif;letter-spacing:-1px}.mini-chart{display:flex;align-items:end;gap:6px;height:85px;margin-top:22px}.mini-chart i{width:12px;background:#899fc2;border-radius:4px;height:45%}.mini-chart i:nth-child(2n){height:65%}.mini-chart i:nth-child(3n){height:85%;background:#3a4a63}.mini-chart i:last-child{height:100%}.mini-card{height:45px;border-radius:8px;background:#dce3ed;margin-top:20px}.ai-visual{background:#212935}.ai-visual .visual-index,.ai-visual .visual-caption{color:#a8b4c7}.ai-core{position:absolute;inset:30px 0 30px;display:grid;place-items:center}.ai-core div{position:absolute;width:230px;height:230px;border:1px solid #97b4e370;border-radius:50%;transform:rotate(-35deg) scaleX(.55)}.ai-core div:nth-child(2){transform:rotate(35deg) scaleX(.55)}.ai-core div:nth-child(3){transform:rotate(90deg) scaleX(.55)}.ai-core span{font-size:100px;color:#a3bce3;text-shadow:0 0 60px #a3bce380;font-weight:400}.project-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px;color:#646c7a;margin:24px 0 13px}.project h3{font:500 25px 'Manrope',sans-serif;letter-spacing:-.8px;margin-bottom:12px}.project>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:400px;margin:0}.about{background:#dee4ed;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.about h2{font-size:36px;line-height:1.35}.about em{color:#576883}.about-layout p{font-size:14px;color:var(--muted);line-height:1.8}.about-layout .about-intro{color:var(--ink);font-size:19px;line-height:1.6}.interests{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.interests span{font-size:10px;border:1px solid #b8c2d1;border-radius:30px;padding:9px 12px}.journal .section-heading{margin-bottom:45px}.post{border-top:1px solid #bac1cc;border-bottom:1px solid #bac1cc}.post summary{list-style:none;display:grid;grid-template-columns:150px 1fr 44px;gap:25px;align-items:center;padding:32px 0;cursor:pointer}.post summary::-webkit-details-marker{display:none}.post-date{font-size:10px;letter-spacing:1px;align-self:start;padding-top:4px}.post-date>span{display:block;font-size:8px;color:#737a85;margin-top:12px}.post-heading{display:flex;flex-direction:column;gap:12px}.post-tags{font-size:8px;letter-spacing:1.4px;color:#667387}.post-title{font:500 25px 'Manrope',sans-serif;letter-spacing:-.6px}.post-excerpt{font-size:12px;color:var(--muted);line-height:1.6}.post-toggle{width:38px;height:38px;border:1px solid #bec5cf;border-radius:50%;position:relative}.post-toggle:before,.post-toggle:after{content:'';position:absolute;width:12px;height:1px;background:#3d4552;top:18px;left:12px}.post-toggle:after{transform:rotate(90deg)}.post[open] .post-toggle:after{transform:rotate(0)}.post summary:hover .post-title{color:#4c5f7e}.post-body{max-width:760px;padding:5px 0 32px 175px;line-height:1.85;font-size:14px;color:#4e5561}.post-body h3{font:600 18px 'Manrope',sans-serif;margin-top:28px;color:var(--ink)}.footer{background:#0f131a;color:#dde3ed;padding-top:60px;padding-bottom:30px}.footer-name{display:flex;justify-content:space-between;align-items:center;font:500 clamp(40px,6vw,85px) 'Manrope',sans-serif;letter-spacing:-3px;padding-bottom:45px}.footer-name>span{color:#9bb5de;font-size:.7em}.footer-bottom{border-top:1px solid #ffffff20;padding-top:25px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#9ea6b3}@media(min-width:1600px){.hero-copy{padding-top:270px}}@media(max-width:1000px){h1{font-size:53px}.hero-art{left:30%;opacity:.65}.phone{left:48%}.hero-copy{padding-top:220px}.about-layout{gap:35px}.about h2{font-size:30px}.project-visual{height:320px}.mini-phone{left:38%}.visual-caption{font-size:7px}.post summary{grid-template-columns:105px 1fr 40px}.post-body{padding-left:130px}}@media(max-width:650px){.header{height:80px;padding:0 7%}nav{gap:23px;font-size:12px}.wordmark{font-size:34px}.hero{height:auto;min-height:900px;max-height:none}.hero-copy{padding:148px 7% 0}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}h1{font-size:40px;letter-spacing:-1.8px;line-height:1.18;position:relative}h1 em{font-size:.87em}.hero-description{font-size:14px;margin-bottom:24px}.button{padding:14px 20px}.hero-art{inset:365px -20px 40px 0;opacity:.85}.phone{width:150px;height:298px;border-radius:29px;left:55%;top:90px;border-width:4px}.phone-top{font-size:6px;margin:13px 13px}.island{width:45px;height:12px;top:9px}.phone-content{padding:16px 12px}.tiny{font-size:5px;letter-spacing:1px}.intelligence-orb{height:80px;width:80px;margin:18px auto 14px}.phone-title{font-size:16px}.phone-pill{font-size:5px;padding:8px;margin-top:16px}.phone-line{margin-top:10px}.orbit{width:360px;height:360px;top:35px;left:25%}.orbit-two{width:320px;height:320px}.label-one{top:130px;right:auto;left:10%;font-size:6px}.label-two{bottom:50px;left:14%;font-size:6px}.hero-footer{left:7%;right:7%;bottom:23px;font-size:7px;letter-spacing:1px}.coordinates{display:none}.section{padding:65px 7%}.section-heading{display:block}.section-heading>p{margin-top:20px;font-size:12px}h2{font-size:31px;letter-spacing:-1px}.projects{grid-template-columns:1fr;gap:36px}.project-visual{height:330px}.mini-phone{left:46%}.about-layout{grid-template-columns:1fr;gap:25px}.about h2{font-size:29px}.section .eyebrow{font-size:9px}.post summary{grid-template-columns:1fr 35px;gap:20px}.post-date{grid-column:1 / -1;display:flex;gap:20px}.post-date>span{margin:0}.post-title{font-size:21px}.post-body{padding-left:0;font-size:14px}.post-excerpt{font-size:11px}.footer-name{font-size:42px;letter-spacing:-2px}.footer-bottom{flex-wrap:wrap;gap:20px;font-size:8px}.footer-bottom>span:first-child{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-art{transform:none;will-change:auto}*{transition:none!important}}

/* Keep content comfortably readable on phones without changing desktop type. */
@media (max-width: 650px) {
  nav { font-size: 16px; gap: 20px; }
  nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .hero .eyebrow, .section .eyebrow { font-size: 12px; letter-spacing: 1.2px; }
  .hero-description { font-size: 19px; line-height: 1.65; }
  .button { font-size: 16px; min-height: 48px; }
  .section-heading > p, .project > p, .about-layout p,
  .post-excerpt { font-size: 17px; line-height: 1.7; }
  .about-layout .about-intro { font-size: 21px; }
  .draft-note { font-size: 14px; line-height: 1.65; }
  .project-meta { font-size: 12px; letter-spacing: .7px; flex-wrap: wrap; gap: 10px; line-height: 1.5; }
  .project h3 { font-size: 28px; }
  .interests span { font-size: 14px; }
  .post-date { font-size: 13px; flex-wrap: wrap; gap: 10px 20px; }
  .post-date > span, .post-tags { font-size: 12px; letter-spacing: .8px; }
  .post summary { grid-template-columns: minmax(0, 1fr) 44px; gap: 16px; }
  .post-title { font-size: 25px; line-height: 1.35; }
  .post-body { font-size: 18px; line-height: 1.8; }
  .post-body h3 { font-size: 22px; }
  .post-toggle { width: 44px; height: 44px; }
  .post-toggle::before, .post-toggle::after { top: 21px; left: 15px; }
  .hero-footer { font-size: 11px; letter-spacing: .6px; gap: 14px; flex-wrap: wrap; }
  .footer-bottom { font-size: 13px; letter-spacing: .5px; line-height: 1.6; }
}

/* Selected work: researched portfolio, local draft. */
.portfolio-intro{display:flex;justify-content:space-between;gap:40px;margin-bottom:42px;align-items:start}
.portfolio-intro>p{max-width:630px;font-size:17px;line-height:1.8;color:var(--muted)}
.portfolio-disciplines{display:flex;flex-wrap:wrap;gap:8px;max-width:260px;justify-content:flex-end}
.portfolio-disciplines span{font-size:12px;padding:10px 14px;border:1px solid var(--line);border-radius:24px;white-space:nowrap}
.career-feature{background:#15253d;color:#eaf0fa;padding:45px;display:grid;grid-template-columns:1fr 1.2fr;gap:55px;border-radius:5px;margin-bottom:48px;position:relative;overflow:hidden}
.career-feature .eyebrow{color:#9ebbea;font-size:10px;line-height:1.8}
.career-feature h3{font:500 34px/1.25 'Manrope',sans-serif;letter-spacing:-1px;margin-bottom:22px}
.feature-company{font-size:14px;color:#a9c6f2}.career-feature>div>p:not(.eyebrow):not(.feature-company){font-size:16px;line-height:1.8}
.career-feature ul{padding-left:20px;font-size:14px;color:#bbcce5;line-height:1.9;margin:20px 0}
.feature-apps{border-top:1px solid #ffffff25;padding-top:20px;margin-bottom:0}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.case-card{border:1px solid #d5dfea;background:#f9fbfe;border-radius:5px;overflow:hidden;display:flex;flex-direction:column}
.case-art{height:225px;position:relative;overflow:hidden;background:linear-gradient(125deg,#173e68,#4479a6);color:#dcecff;padding:25px}
.consumer .case-art{background:linear-gradient(125deg,#293964,#6479b1)}.experience .case-art{background:linear-gradient(125deg,#121d3b,#596693)}.health .case-art{background:linear-gradient(125deg,#234559,#6b97ad)}.agriculture .case-art{background:linear-gradient(125deg,#243c5a,#7697bc)}
.case-number{position:relative;z-index:1;font-size:10px;letter-spacing:1.5px}.case-monogram{position:absolute;left:25px;top:65px;font:600 70px/1 'Manrope',sans-serif;letter-spacing:-5px}.case-art-caption{position:absolute;bottom:24px;left:25px;right:25px;font-size:13px;z-index:1}
.case-rings{position:absolute;width:250px;height:250px;border:1px solid #dcecff50;border-radius:50%;right:-25px;top:5px}.case-rings:before,.case-rings:after{content:'';position:absolute;inset:30px;border:1px solid #dcecff40;border-radius:50%}.case-rings:after{inset:60px;background:#dcecff0b}
.case-copy{padding:30px;display:flex;flex:1;flex-direction:column}.case-platform{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#536f92;margin-bottom:12px}.case-copy h3{font:600 26px/1.25 'Manrope',sans-serif;letter-spacing:-.7px;margin-bottom:16px}.case-copy>p:not(.case-platform){font-size:16px;line-height:1.75;color:var(--muted)}
.contribution{border-top:1px solid var(--line);padding-top:20px;margin-top:auto}.contribution>span{font-size:10px;letter-spacing:1.5px;color:#536f92}.contribution p{font-size:15px;line-height:1.7;margin:10px 0 18px}.source-link{font-size:13px;color:#305b92;display:flex;justify-content:space-between;gap:15px;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}.source-link:hover{color:#112f59}
.portfolio-context{font-size:13px;line-height:1.8;color:var(--muted);margin:26px 0 55px;max-width:760px}.more-work{border-top:1px solid var(--line);padding-top:40px;display:grid;grid-template-columns:1fr 1.6fr;gap:35px}.more-work h3{font:500 27px/1.3 'Manrope',sans-serif;letter-spacing:-.7px}.app-index{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.app-index>span{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}.app-index small{font-size:11px;color:var(--muted);margin-left:6px}
@media(max-width:850px){.career-feature{padding:30px;gap:28px;grid-template-columns:1fr}.portfolio-intro{display:block}.portfolio-disciplines{justify-content:flex-start;max-width:none;margin-bottom:25px}.case-copy{padding:24px}.more-work{grid-template-columns:1fr}}
@media(max-width:650px){.portfolio-intro>p{font-size:18px;line-height:1.7}.career-feature{padding:25px}.career-feature h3{font-size:31px}.career-feature .eyebrow{font-size:11px}.career-feature>div>p:not(.eyebrow):not(.feature-company){font-size:17px}.career-feature ul{font-size:16px}.case-grid{grid-template-columns:1fr;gap:28px}.case-copy h3{font-size:27px}.case-copy>p:not(.case-platform),.contribution p{font-size:17px}.case-platform,.contribution>span{font-size:12px}.source-link{font-size:15px}.portfolio-context{font-size:14px}.app-index{grid-template-columns:1fr}.app-index>span{font-size:17px}.case-art-caption{font-size:14px}.hero .eyebrow{max-width:300px;line-height:1.7}}

/* Portfolio directory and project stories share the homepage's blue palette. */
.image-link{display:block;overflow:hidden;background:#e0e9f3}.portfolio-image{display:block;width:100%;height:270px;object-fit:cover}.portfolio-image.virgin-mobile,.portfolio-image.dell-techdirect,.portfolio-image.hills-pet-nutrition{object-fit:contain}.image-link:has(.virgin-mobile){background:#c20d34}.image-link:has(.hills-pet-nutrition){background:#fff}.case-copy .source-link{margin-top:auto}.portfolio-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:42px;margin-top:42px;border-top:1px solid var(--line)}.portfolio-cta h3{font:500 29px 'Manrope',sans-serif;letter-spacing:-1px}.portfolio-cta p:not(.eyebrow){color:var(--muted);line-height:1.7}.portfolio-cta .button{flex-shrink:0}.page-header{position:relative;background:#101b2e;height:100px}.inner-page .detail-intro{background:#101b2e;color:#edf3fc;padding-top:65px;padding-bottom:65px}.back-link{display:inline-block;color:#a5c4f0;font-size:14px;margin-bottom:45px;padding:10px 0}.detail-intro .eyebrow{color:#aac7ef}.detail-intro h1{font-size:clamp(38px,5vw,72px);max-width:1000px}.detail-deck{font-size:21px;line-height:1.6;max-width:780px;color:#bdcde4;margin-bottom:0}.project-banner{margin:0;padding:40px 8% 0}.project-banner img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#e2eaf4}.project-banner img.center-screen{object-fit:cover}.project-banner img.virgin-mobile{background:#c20d34}.project-banner img.hills-pet-nutrition{background:white}.project-banner figcaption{font-size:12px;line-height:1.7;color:var(--muted);margin-top:16px}.project-banner figcaption a{text-decoration:underline;text-underline-offset:3px}.detail-content{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-top:65px}.detail-content p{font-size:17px;line-height:1.8}.detail-content h2{font-size:30px;margin-bottom:23px}.detail-content h2:not(:first-child){margin-top:40px}.detail-content aside{border-top:1px solid var(--line);padding-top:25px}.detail-chip{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:10px 15px;font-size:12px}.reference-panel{padding:26px;background:#e0e9f5;margin-top:40px;border-radius:5px}.reference-panel .media-note{font-size:13px;color:var(--muted);margin-bottom:0}.next-project{border-top:1px solid var(--line);padding-top:45px;padding-bottom:60px}.next-project>a{display:flex;justify-content:space-between;gap:20px;font:500 clamp(27px,3vw,42px) 'Manrope',sans-serif}.directory-heading{margin-bottom:35px}.directory-section{padding:70px 0}.portfolio-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.portfolio-list li{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 0}.portfolio-list h3{font-size:19px;margin:0 0 8px}.portfolio-list p{font-size:13px;color:var(--muted);margin:0}.portfolio-list a{font-size:12px;white-space:nowrap;color:#305b92;padding:14px 0;text-decoration:underline}.retired{font-size:12px;color:var(--muted)}.experience-strip{display:grid;grid-template-columns:1fr 1fr;gap:45px}.experience-strip h3{font-size:25px}.experience-strip p{font-size:16px;line-height:1.7;color:var(--muted)}
@media(max-width:850px){.portfolio-cta{display:block}.portfolio-cta .button{margin-top:20px}.detail-content{grid-template-columns:1fr;gap:35px}.portfolio-list{grid-template-columns:1fr}}
@media(max-width:650px){.portfolio-image{height:220px}.page-header{height:85px}.page-header nav{gap:15px;font-size:14px}.detail-intro h1{letter-spacing:-1.5px}.detail-deck{font-size:19px}.project-banner{padding:25px 7% 0}.detail-content p{font-size:18px}.project-banner figcaption{font-size:13px}.experience-strip{grid-template-columns:1fr;gap:20px}.portfolio-list h3{font-size:21px}.portfolio-list p,.portfolio-list a{font-size:14px}.portfolio-directory{padding-top:45px}}

.video-frame{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;background:#101b2e;border-radius:4px}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.portfolio-video{margin:0 0 65px;scroll-margin-top:30px;max-width:960px}
.portfolio-video h2{margin-bottom:18px}.portfolio-video>p:not(.eyebrow){font-size:17px;line-height:1.7;color:var(--muted)}

.campaign-gallery{padding-top:0;padding-bottom:65px}.campaign-gallery h2{font-size:clamp(28px,4vw,42px);margin-bottom:30px}.campaign-gallery figure{max-width:960px;margin:0 auto 35px}.campaign-gallery img{display:block;width:100%;height:auto}.campaign-gallery figcaption{font-size:14px;line-height:1.7;color:var(--muted);margin-top:15px}.campaign-gallery a,.detail-content p a{text-decoration:underline;text-underline-offset:3px}

.mobile-medic-banner{display:flex;flex-direction:column;align-items:center}.mobile-medic-banner img{max-width:605px;background:#101010}.mobile-medic-banner figcaption{width:min(605px,100%)}
.media-note{font-size:14px!important;color:var(--muted);margin-top:12px}.mobile-medic-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.mobile-medic-gallery-grid figure{margin:0}.mobile-medic-gallery-grid figure:last-child{grid-column:1/-1;max-width:820px}.gallery-credit{font-size:14px;color:var(--muted);margin-top:25px}.gallery-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.mobile-medic-gallery-grid{grid-template-columns:1fr}.mobile-medic-gallery-grid figure:last-child{grid-column:auto}}

.coors-banner{display:flex;flex-direction:column;align-items:center}.coors-banner img{max-width:600px;background:#e9f3fb}.coors-banner figcaption{width:min(600px,100%)}
.coors-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}.coors-gallery-grid figure{margin:0}.coors-gallery-grid img{background:#e9f3fb}
@media(max-width:650px){.coors-gallery-grid{grid-template-columns:1fr}}

.kc-fringe-banner img{background:#111;object-fit:contain}.kc-fringe-gallery figure{max-width:1200px}.kc-fringe-gallery img{border-radius:4px}

.pinsight-banner img{max-width:1000px;height:clamp(170px,34vw,360px);background:#fff;object-fit:cover;object-position:center}.pinsight-banner{display:flex;flex-direction:column;align-items:center}.pinsight-banner figcaption{width:min(1000px,100%)}
.sdk-story{padding-top:10px;padding-bottom:70px}.sdk-story h2{font-size:clamp(28px,4vw,42px);margin-bottom:18px}.sdk-intro{max-width:720px;font-size:17px;line-height:1.8;color:var(--muted);margin-bottom:34px}.sdk-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:stretch}.sdk-flow article{border:1px solid var(--line);border-radius:5px;padding:28px;background:#f9fbfe}.sdk-flow article.sdk-core{background:#15253d;border-color:#15253d;color:#eaf0fa}.sdk-flow article>span{font-size:11px;letter-spacing:1.5px;color:#6682a5}.sdk-flow .sdk-core>span{color:#9ebbea}.sdk-flow h3{font:600 23px/1.3 'Manrope',sans-serif;margin:28px 0 14px}.sdk-flow p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}.sdk-flow .sdk-core p{color:#bbcce5}.sdk-arrow{align-self:center;color:#6682a5;font-size:28px}
@media(max-width:850px){.sdk-flow{grid-template-columns:1fr}.sdk-arrow{transform:rotate(90deg);justify-self:center}.sdk-flow article{padding:24px}.sdk-intro{font-size:18px}}

.wendys-banner{display:flex;flex-direction:column;align-items:center}.wendys-banner img{max-width:1100px;background:#8d070a;object-fit:contain}.wendys-banner figcaption{width:min(1100px,100%)}
.wendys-timeline{padding-top:10px;padding-bottom:70px}.wendys-timeline h2{font-size:clamp(28px,4vw,42px);margin-bottom:30px}.timeline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.timeline-grid article{padding:28px 24px 30px;border-right:1px solid var(--line)}.timeline-grid article:last-child{border-right:0}.timeline-grid span{font-size:12px;letter-spacing:1.5px;color:#9d1e25}.timeline-grid h3{font:600 22px/1.3 'Manrope',sans-serif;margin:22px 0 12px}.timeline-grid p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}.wendys-slide-crop{height:650px;overflow:hidden;background:#fff;position:relative}.wendys-slide-crop img{position:absolute;width:100%;height:auto;left:0;bottom:0}.wendys-gallery .gallery-credit{max-width:900px;line-height:1.7}
@media(max-width:850px){.timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-grid article:nth-child(2){border-right:0}.timeline-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.wendys-slide-crop{height:480px}}
@media(max-width:650px){.timeline-grid{grid-template-columns:1fr}.timeline-grid article{border-right:0;border-bottom:1px solid var(--line)}.timeline-grid article:nth-child(2){border-bottom:1px solid var(--line)}.timeline-grid article:last-child{border-bottom:0}.wendys-slide-crop{height:330px}.wendys-slide-crop img{width:145%;left:-22.5%}}

.pioneer-banner{display:flex;flex-direction:column;align-items:center}.pioneer-banner img{width:min(440px,80vw);height:auto;background:#f7f8f5;object-fit:contain;padding:28px}.pioneer-banner figcaption{width:min(440px,80vw)}
.estimator-story{padding-top:10px;padding-bottom:70px}.estimator-story h2{font-size:clamp(28px,4vw,42px);margin-bottom:18px}.estimator-intro{max-width:720px;font-size:17px;line-height:1.8;color:var(--muted);margin-bottom:34px}.estimator-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.estimator-flow article{padding:28px 24px 30px;border-right:1px solid var(--line)}.estimator-flow article:last-child{border-right:0}.estimator-flow span{font-size:12px;letter-spacing:1.5px;color:#2d7b3f}.estimator-flow h3{font:600 21px/1.3 'Manrope',sans-serif;margin:22px 0 12px}.estimator-flow p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}.pioneer-source-crop{height:310px;overflow:hidden;background:#fff;position:relative}.pioneer-source-crop img{position:absolute;width:100%;height:auto;left:0;top:-95px}.pioneer-gallery figure{max-width:1100px}
@media(max-width:850px){.estimator-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.estimator-flow article:nth-child(2){border-right:0}.estimator-flow article:nth-child(-n+2){border-bottom:1px solid var(--line)}.pioneer-source-crop{height:230px}.pioneer-source-crop img{top:-60px}}
@media(max-width:650px){.estimator-flow{grid-template-columns:1fr}.estimator-flow article{border-right:0;border-bottom:1px solid var(--line)}.estimator-flow article:nth-child(2){border-bottom:1px solid var(--line)}.estimator-flow article:last-child{border-bottom:0}.pioneer-source-crop{height:180px}.pioneer-source-crop img{width:190%;left:-8%;top:-45px}}

.simon-banner{display:flex;flex-direction:column;align-items:center}.simon-banner img{max-width:1100px;background:#dff6fa;object-fit:cover}.simon-banner figcaption{width:min(1100px,100%)}
.simon-story{padding-top:10px;padding-bottom:70px}.simon-story h2{font-size:clamp(28px,4vw,42px);margin-bottom:30px}.simon-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.simon-journey article{padding:28px 24px 30px;border-right:1px solid var(--line)}.simon-journey article:last-child{border-right:0}.simon-journey span{font-size:12px;letter-spacing:1.5px;color:#0086a0}.simon-journey h3{font:600 21px/1.3 'Manrope',sans-serif;margin:22px 0 12px}.simon-journey p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}.simon-gallery-intro{max-width:780px;font-size:17px;line-height:1.8;color:var(--muted);margin:-10px 0 35px}.simon-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:760px;margin:0 auto}.simon-gallery-grid figure{margin:0}.simon-gallery-grid img{background:#fff}.simon-gallery-grid figcaption{text-align:center}.simon-gallery .gallery-credit{max-width:760px;margin-left:auto;margin-right:auto}
@media(max-width:850px){.simon-journey{grid-template-columns:repeat(2,minmax(0,1fr))}.simon-journey article:nth-child(2){border-right:0}.simon-journey article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:650px){.simon-journey{grid-template-columns:1fr}.simon-journey article{border-right:0;border-bottom:1px solid var(--line)}.simon-journey article:nth-child(2){border-bottom:1px solid var(--line)}.simon-journey article:last-child{border-bottom:0}.simon-gallery-grid{grid-template-columns:1fr;max-width:290px}.simon-gallery-intro{font-size:18px}}

.onelouder-banner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#26364f;padding:1px;margin:0}.onelouder-banner-card{min-height:290px;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;color:#f4f7fc}.onelouder-banner-card strong{font:600 clamp(28px,3vw,45px)/1.1 'Manrope',sans-serif;letter-spacing:-1.5px;position:relative}.onelouder-banner-card span{font-size:14px;margin-top:12px;color:#d4e2f6;position:relative}.onelouder-banner-card img{position:absolute;right:25px;top:22px;width:150px;height:150px;object-fit:contain}.onelouder-banner-card.weather{background:linear-gradient(145deg,#061d88,#1878df)}.onelouder-banner-card.weather:before{content:'58°';position:absolute;right:25px;top:15px;font:500 120px/1 'Manrope',sans-serif;color:#ffffff18}.onelouder-banner-card.tweet{background:linear-gradient(145deg,#172a45,#2879b7)}.onelouder-banner-card.bacon{background:linear-gradient(145deg,#202c42,#5a7199)}.onelouder-app{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:70px;border-top:1px solid var(--line);align-items:start}.onelouder-app.alternate{background:#e4eaf3}.onelouder-copy h2{font-size:clamp(38px,5vw,64px);margin-bottom:20px}.onelouder-lede{font:500 23px/1.55 'Manrope',sans-serif;letter-spacing:-.5px}.onelouder-copy>p:not(.eyebrow):not(.onelouder-lede){font-size:17px;line-height:1.8;color:var(--muted)}.context-note{padding-left:18px;border-left:3px solid #8eacd7}.reference-panel.compact{margin-top:32px}.phone-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.onelouder-media figure{margin:0}.onelouder-media img{display:block;width:100%;height:auto}.onelouder-media figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:12px}.brand-pair{display:grid;grid-template-columns:1fr;gap:24px}.brand-pair figure{padding:28px;background:#f9fbfe;border:1px solid var(--line);border-radius:5px}.brand-pair img{max-height:280px;object-fit:contain;margin:auto}.tweetcaster-art figure:first-child img,.baconreader-art figure:first-child img{max-width:250px}.baconreader-art figure:last-child img{min-height:340px;image-rendering:auto}.onelouder-video{grid-column:1/-1;max-width:960px;margin:8px auto 0;width:100%}.onelouder-video .media-note{line-height:1.7}.onelouder-app .reference-panel .source-link{line-height:1.55}
@media(max-width:900px){.onelouder-banner{grid-template-columns:1fr}.onelouder-banner-card{min-height:230px}.onelouder-app{grid-template-columns:1fr;gap:40px}.onelouder-media{max-width:620px;margin:0 auto;width:100%}}
@media(max-width:650px){.onelouder-banner-card{padding:28px;min-height:210px}.onelouder-banner-card img{width:115px;height:115px}.onelouder-banner-card.weather:before{font-size:90px}.onelouder-copy>p:not(.eyebrow):not(.onelouder-lede){font-size:18px}.onelouder-lede{font-size:22px}.phone-pair{gap:10px}.onelouder-media figcaption{font-size:14px}.brand-pair figure{padding:20px}}
