@charset "UTF-8";
:root{--paper:#f6f4ed;--ink:#23251f;--muted:#63655e;--blue:#263ed4;--line:#d8d7ce;--yellow:#f4cd58;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif;--max:1184px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:var(--yellow);color:var(--ink)}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
button{cursor:pointer}
p,h1,h2,h3{margin-top:0}
h1,h2,h3{font-weight:400;line-height:1.08}
h1,h2{font-family:var(--serif);letter-spacing:-.045em}
h2{font-size:clamp(38px,4.1vw,58px)}
h3{font-size:27px;letter-spacing:-.025em}
em{font-weight:400}
p{margin-bottom:1.1em}
svg{display:block;max-width:100%}
.skip-link{position:fixed;left:20px;top:-80px;z-index:10;padding:10px 18px;background:var(--ink);color:white}
.skip-link:focus{top:10px}
.site-header,.hero,.intro-strip,.work-section,.approach-section,.notes-section,.about-section,.site-footer,.case-heading,.case-meta,.case-content,.next-case,.profile-heading,.profile-body{width:min(var(--max),calc(100% - 96px));margin-left:auto;margin-right:auto}
.site-header{min-height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}
.brand{display:flex;align-items:center;gap:13px;font-size:16px;font-weight:550;text-decoration:none;white-space:nowrap}
.brand-symbol{display:flex;align-items:center;font-family:var(--serif);font-size:26px;letter-spacing:-7px;width:41px;height:37px;color:var(--blue)}
.brand-symbol span{transform:translateY(6px)}
.site-header nav{display:flex;align-items:center;gap:31px;font-size:14px}
.site-header nav a{text-decoration:none;transition:color .2s;min-height:44px;display:inline-flex;align-items:center}
.site-header nav a:hover{color:var(--blue)}
.language{margin-left:14px;padding-left:30px;border-left:1px solid var(--line);display:flex;gap:14px;align-items:center}
.eyebrow,.section-index{font-size:11px;font-weight:500;line-height:1.45;letter-spacing:.095em;text-transform:uppercase}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center;padding-top:64px;padding-bottom:69px}
.hero .eyebrow{margin-bottom:20px}
.hero h1{font-size:clamp(98px,10.5vw,148px);line-height:.81;letter-spacing:-.065em;margin:24px 0 34px}
.hero h1 em{font-style:italic;color:var(--blue);letter-spacing:-.058em;display:inline-block;margin-top:9px}
.name-period{color:var(--blue);padding-left:3px}
.hero-intro{font-size:20px;line-height:1.5;max-width:460px;letter-spacing:-.015em}
.hero-links{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px;font-size:13px}
.button{background:var(--ink);color:var(--paper);display:inline-flex;gap:26px;align-items:center;justify-content:space-between;padding:15px 19px;text-decoration:none;transition:background .2s,transform .2s;border:0;font-size:13px}
.button:hover{background:var(--blue);transform:translateY(-2px)}
.quiet-link{text-decoration:none;border-bottom:1px solid var(--line);padding:6px 0;white-space:nowrap}
.quiet-link span{margin-left:8px}
.hero-right{padding-top:25px;max-width:450px;justify-self:end}
.hero-art{position:relative;background:var(--blue);color:var(--paper);transform:rotate(3deg);padding:28px 18px 23px;box-shadow:12px 14px 0 #e8e5d9}
.hero-art::after{content:'';position:absolute;right:-13px;top:28px;width:61px;height:17px;background:var(--yellow);transform:rotate(-32deg)}
.hero-art svg{width:100%;height:auto;max-height:370px;margin:-6px 0 -12px}
.art-corner{font-size:10px;letter-spacing:.16em;margin-left:12px}
.art-caption{font-size:12px;display:block;text-align:center;letter-spacing:.015em}
.orbital-lines{stroke:#e0e2fc;stroke-width:1;fill:none;opacity:.75}
.hero-art svg text{fill:var(--paper);font-family:var(--serif);font-size:21px;font-style:italic}
.hero-location{display:flex;justify-content:space-between;gap:18px;font-size:11px;line-height:1.5;margin:30px 0 0}
.hero-location span:first-child{font-size:9px;letter-spacing:.07em;color:var(--muted);padding-top:2px}
.intro-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:72px;padding:27px 0 25px}
.intro-strip p{margin:0;font-size:14px;line-height:1.65;max-width:470px}
.intro-strip p:first-child{font-family:var(--serif);font-size:24px;line-height:1.3;letter-spacing:-.02em}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:39px}
.section-heading .eyebrow{color:var(--muted);margin-bottom:16px}
.section-heading h2{margin:0}
.section-heading>p{font-size:13px;line-height:1.6;margin:0 0 3px;color:var(--muted)}
.work-section{padding:94px 0 75px}
.work-grid{display:grid;grid-template-columns:1.18fr 1fr;column-gap:44px;row-gap:48px;align-items:start}
.work-item:nth-child(even){margin-top:72px}
.work-link{display:block;text-decoration:none}
.work-visual{position:relative;min-height:294px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.visual-top{position:absolute;top:22px;left:25px;right:25px;display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.09em;opacity:.75}
.visual-arrow{position:absolute;right:20px;bottom:17px;border:1px solid currentColor;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;transition:transform .25s,background .25s}
.work-link:hover .visual-arrow{transform:rotate(45deg)}
.work-link .project-art{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.work-link:hover .project-art{transform:scale(1.04)}
.work-link:hover h3{color:var(--blue)}
.work-caption{padding-top:25px}
.work-caption .eyebrow{color:var(--muted);font-size:10px;margin-bottom:11px;letter-spacing:.075em}
.work-caption h3{font-family:var(--serif);font-size:32px;line-height:1.13;letter-spacing:-.03em;margin-bottom:14px;transition:color .2s;max-width:460px}
.work-caption>p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--muted);max-width:440px;margin-bottom:17px}
.text-link{font-size:13px;text-decoration:none;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:4px}
.work-note{font-size:11px;color:var(--muted);margin:35px 0 0}
.theme-blue{--art-bg:#263ed4;--art-fg:#f6f4ed;--art-accent:#f4cd58;background:var(--art-bg);color:var(--art-fg)}
.theme-peach{--art-bg:#e8b8a2;--art-fg:#5b2c20;--art-accent:#fff1d2;background:var(--art-bg);color:var(--art-fg)}
.theme-ink{--art-bg:#272f2c;--art-fg:#e2e4d5;--art-accent:#bcc8a3;background:var(--art-bg);color:var(--art-fg)}
.theme-yellow{--art-bg:#f0d977;--art-fg:#514727;--art-accent:#fff8de;background:var(--art-bg);color:var(--art-fg)}
.project-art{width:100%;height:auto;flex:1;min-height:260px}
.project-art text{fill:var(--art-fg);font-family:var(--sans);font-size:16px}
.project-art .small-label{font-size:11px;letter-spacing:.1em}
.diagram-lines{fill:none;stroke:var(--art-fg);stroke-width:1.3;opacity:.5}
.project-art .node{fill:var(--art-bg);stroke:var(--art-fg);stroke-width:1.25}
.project-art .hub{fill:var(--art-accent);stroke:var(--art-accent)}
.paper-shapes{fill:none;stroke:var(--art-fg);stroke-width:1.3}
.paper-line{opacity:.5}
.project-art .check{fill:none;stroke:var(--art-fg);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.art-sap .check{stroke:var(--art-bg);stroke-width:2.5}
.project-art .ghost{stroke-dasharray:3 3}
.vote-dots{fill:var(--art-fg)}
.app-cell{fill:var(--art-fg);opacity:.35}
.cell-1{opacity:.85}.cell-2{opacity:.12}.cell-3{fill:var(--art-accent);opacity:.6}
.person>circle:first-child{fill:var(--art-bg);stroke:var(--art-fg);stroke-width:1.3}
.person>circle:nth-child(2){fill:var(--art-fg)}
.person>path{stroke:var(--art-fg);fill:none;stroke-width:1.5}
.project-art .serif-label{font-family:var(--serif);font-style:italic;font-size:43px}
.divider{stroke-dasharray:3 5;opacity:.3}
.art-lab text{font-size:17px}.art-lab .accent-label{fill:#29336f}
.approach-section{border-top:1px solid var(--line);padding:72px 0 79px;display:grid;grid-template-columns:1.1fr 1fr;gap:75px}
.approach-intro .eyebrow{color:var(--blue);margin-bottom:23px}
.approach-intro h2{font-size:clamp(34px,3.4vw,48px);line-height:1.15}
.approach-steps article{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:24px}
.approach-steps article:last-child{border:0;padding-bottom:0;margin-bottom:0}
.approach-steps article>span{font-size:11px;color:var(--blue);padding-top:4px}
.approach-steps h3{font-size:20px;margin:0 0 12px}
.approach-steps p{font-size:14px;color:var(--muted);margin:0;line-height:1.65}
.notes-section{padding:0 0 83px}
.notes-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:44px;align-items:stretch}
.lab-feature{background:#dddfe9;color:#29336f;text-decoration:none;padding:28px 29px 24px;display:flex;flex-direction:column}
.lab-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.075em}
.lab-label>span:last-child{font-size:24px}
.lab-feature h3{font-family:var(--serif);font-size:36px;line-height:1.1;letter-spacing:-.04em;margin:25px 0 0}
.lab-feature .project-art{--art-bg:#dddfe9;--art-fg:#29336f;--art-accent:#f6f4ed;margin:0 -10px;width:calc(100% + 20px);max-width:none;min-height:0}
.lab-feature p{font-size:12px;margin:0;line-height:1.6}
.lab-feature:hover .lab-label>span:last-child{transform:translate(2px,-2px)}
.code-note{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:22px 4px 26px;display:flex;align-items:flex-start;flex-direction:column}
.code-symbol{font-family:var(--serif);font-size:112px;line-height:1.3;color:var(--blue);letter-spacing:-.13em;margin-bottom:30px}
.code-note .eyebrow{font-size:10px;color:var(--muted);margin-bottom:16px}
.code-note h3{font-family:var(--serif);font-size:35px;letter-spacing:-.04em;margin-bottom:17px}
.code-note p:not(.eyebrow){font-size:14px;max-width:370px;color:var(--muted)}
.code-note a{font-size:13px;margin-top:auto;padding-top:10px}
.about-section{border-top:1px solid var(--line);padding:76px 0 88px;display:grid;grid-template-columns:1.1fr 1fr;gap:75px}
.about-heading h2{font-size:clamp(39px,4.3vw,60px);line-height:1.08;margin:25px 0 30px}
.about-heading .eyebrow{color:var(--muted)}
.about-copy p{font-size:15px;line-height:1.75;color:var(--muted)}
.about-copy .large-copy{font-size:22px;line-height:1.5;color:var(--ink);letter-spacing:-.02em;margin-top:-5px}
.language-note{display:flex;flex-wrap:wrap;gap:5px 19px;border-top:1px solid var(--line);padding-top:23px;margin-top:27px;font-size:11px;color:var(--muted)}
.contact-section{padding:62px max(48px,calc((100vw - var(--max))/2)) 74px;background:var(--blue);color:var(--paper);display:grid;grid-template-columns:.62fr 1fr;gap:44px}
.contact-section .section-index{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;max-width:265px;padding-top:13px;gap:25px}
.contact-section .section-index span{font-size:35px;line-height:.7}
.contact-main h2{font-size:clamp(46px,5.8vw,80px);line-height:1.02;margin:0 0 37px}
.contact-main h2 em{color:var(--yellow)}
.contact-email{display:flex;justify-content:space-between;gap:22px;text-decoration:none;border-bottom:1px solid #7584e1;padding-bottom:15px;font-size:clamp(16px,2vw,27px);letter-spacing:-.025em;line-height:1.4}
.contact-links{display:flex;gap:28px;flex-wrap:wrap;font-size:12px;margin-top:23px}
.contact-links a{text-decoration:none;white-space:nowrap}
.contact-section a:focus-visible{outline-color:var(--yellow)}
.contact-links a:hover,.contact-email:hover{color:var(--yellow)}
.site-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px 0;font-size:11px;color:var(--muted)}
.site-footer a{text-decoration:none}
.site-footer .footer-name{color:var(--ink);font-size:14px}
.case-heading{padding:42px 0 55px}
.back-link{font-size:12px;text-decoration:none;color:var(--muted);display:inline-block;margin-bottom:43px}
.case-heading .eyebrow{color:var(--blue);margin-bottom:20px}
.case-heading h1{font-size:clamp(43px,6.1vw,80px);max-width:960px;line-height:1.04;margin-bottom:30px}
.case-intro{font-size:21px;line-height:1.55;letter-spacing:-.017em;max-width:760px;margin-bottom:0}
.case-visual{position:relative;width:min(var(--max),calc(100% - 96px));margin:0 auto;display:flex;justify-content:center;padding:35px 10px 20px}
.case-visual .project-art{max-width:640px;height:355px;min-height:0;flex:none}
.case-visual-label{position:absolute;top:25px;left:29px;font-size:9px;letter-spacing:.1em}
.case-meta{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:40px;border-bottom:1px solid var(--line);padding:31px 0}
.case-meta span{font-size:9px;letter-spacing:.09em;color:var(--muted)}
.case-meta p{font-size:13px;line-height:1.65;margin:7px 0 0}
.case-content{padding:28px 0 70px}
.case-section{display:grid;grid-template-columns:.62fr 1fr;gap:44px;border-bottom:1px solid var(--line);padding:42px 0}
.case-section .section-index{font-size:10px;color:var(--muted);padding-top:7px}
.case-section h2{font-size:35px;line-height:1.16;letter-spacing:-.03em;margin-bottom:23px;max-width:650px}
.case-section p:not(.section-index){font-size:16px;line-height:1.8;max-width:670px;color:#55574f}
.case-section p:last-child{margin-bottom:0}
.takeaway{padding:35px 0 0 38.3%;position:relative}
.takeaway::before{content:'↳';font-family:var(--serif);font-size:65px;color:var(--blue);position:absolute;left:25%;top:28px;line-height:1}
.takeaway span{font-size:9px;letter-spacing:.09em;color:var(--blue)}
.takeaway p{font-family:var(--serif);font-size:29px;line-height:1.35;letter-spacing:-.02em;margin:17px 0 0}
.next-case{display:grid;grid-template-columns:1fr auto;align-items:center;border-top:1px solid var(--ink);padding:28px 0 55px;text-decoration:none}
.next-case>span:first-child{grid-column:1/-1;font-size:9px;letter-spacing:.1em;color:var(--muted);margin-bottom:20px}
.next-case h2{font-size:43px;max-width:720px;margin:0}
.next-case>span:last-child{font-size:44px;color:var(--blue)}
.next-case:hover h2{color:var(--blue)}
.case-page .site-footer,.profile-page .site-footer{border-top:1px solid var(--line)}
.profile-heading{padding:65px 0 50px}
.profile-heading .eyebrow{color:var(--blue);margin-bottom:25px}
.profile-heading h1{font-size:clamp(56px,8vw,103px);margin:0 0 27px}
.profile-heading h1 em{color:var(--blue)}
.profile-actions{display:flex;gap:30px;align-items:center;margin-top:30px}
.print-button{border:0;border-bottom:1px solid var(--line);background:none;padding:7px 0;font-size:13px;display:flex;gap:20px}
.print-contact{display:none}
.profile-section{display:grid;grid-template-columns:.62fr 1fr;gap:44px;border-top:1px solid var(--line);padding:38px 0}
.profile-section h2{font-size:30px;letter-spacing:-.025em}
.profile-section p{font-size:15px;line-height:1.75;color:var(--muted)}
.profile-section>div>a{font-size:17px}
.experience{margin-bottom:30px}
.experience:last-child{margin-bottom:0}
.experience>span{font-size:11px;color:var(--muted);display:block;margin-bottom:7px}
.experience h3{font-size:24px;margin-bottom:10px;line-height:1.3}
.experience .experience-role{font-size:15px;color:var(--ink);margin-bottom:8px}
@media(min-width:1440px){.hero{gap:100px}.hero-art{margin:0 6px 0 8px}}
@media(max-width:1000px){
  .site-header,.hero,.intro-strip,.work-section,.approach-section,.notes-section,.about-section,.site-footer,.case-heading,.case-meta,.case-content,.next-case,.profile-heading,.profile-body,.case-visual{width:calc(100% - 64px)}
  .hero{gap:38px;padding-top:58px;padding-bottom:55px}.hero h1{font-size:112px}.hero-intro{font-size:18px}.hero-art{padding:20px 10px}.hero-links{gap:17px}.hero-location{font-size:10px;flex-direction:column;gap:2px}.intro-strip{gap:35px}.work-grid,.notes-grid{gap:30px}.work-visual{min-height:246px}.project-art{min-height:230px}.visual-top{left:18px;right:18px;font-size:8px}.approach-section,.about-section{gap:40px}.contact-section{padding-left:32px;padding-right:32px;grid-template-columns:.5fr 1fr;gap:35px}.work-caption h3{font-size:28px}.lab-feature{padding:23px}.lab-feature h3{font-size:31px}.code-note h3{font-size:31px}.case-section,.profile-section{grid-template-columns:.42fr 1fr;gap:35px}.case-meta{gap:25px}.takeaway{padding-left:32%}.takeaway::before{left:17%}.section-heading>p{font-size:12px}.hero .eyebrow{font-size:10px;letter-spacing:.07em}
}
@media(max-width:740px){
  .site-header{min-height:83px;gap:17px}.brand{gap:10px;font-size:14px}.site-header nav{gap:20px;font-size:12px}.site-header nav .nav-contact{display:none}.language{margin:0;padding-left:20px;gap:8px}.brand-symbol{font-size:24px;width:33px}.hero{padding:47px 0 53px;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.hero h1{font-size:100px}.hero-intro{font-size:16px;line-height:1.6}.hero-art{margin-top:30px;transform:rotate(3deg);padding-bottom:16px}.art-caption{font-size:9px}.art-corner{font-size:8px}.hero-right{padding-top:30px}.hero-art::after{width:42px;height:12px}.hero-links{align-items:flex-start;gap:12px;flex-direction:column;font-size:12px}.hero-links .button{font-size:12px;padding:13px 16px;gap:18px}.intro-strip{grid-template-columns:1fr 1fr;gap:30px}.intro-strip p:first-child{font-size:22px}.intro-strip p{font-size:12px}.work-section{padding:65px 0 51px}.section-heading{display:block;margin-bottom:29px}.section-heading>p{margin-top:17px}.section-heading>p br{display:none}.work-grid{gap:24px;grid-template-columns:1fr 1fr}.work-item:nth-child(even){margin-top:47px}.work-visual{min-height:202px}.work-visual .project-art{min-height:200px;width:116%;max-width:none;margin-left:-8%}.visual-top{top:17px;left:16px;right:16px;font-size:8px}.visual-top>span:last-child{display:none}.visual-arrow{width:25px;height:25px;font-size:15px;right:14px;bottom:13px}.work-caption h3{font-size:26px}.work-caption>p:not(.eyebrow){font-size:13px}.work-caption .eyebrow{font-size:8px;letter-spacing:.075em}.work-caption{padding-top:20px}.text-link{font-size:12px}.approach-section,.about-section{grid-template-columns:1fr 1fr;gap:35px;padding-top:50px;padding-bottom:57px}.approach-intro h2{font-size:34px}.approach-steps article{gap:15px}.approach-steps h3{font-size:18px}.approach-steps p{font-size:12px}.notes-section{padding-bottom:55px}.notes-grid{gap:25px;grid-template-columns:1.1fr 1fr}.lab-feature{padding:20px}.lab-feature h3{font-size:27px}.lab-label{font-size:8px}.lab-feature p{font-size:11px}.code-note h3{font-size:28px}.code-note p:not(.eyebrow){font-size:13px}.code-note .eyebrow{font-size:8px}.code-symbol{font-size:90px;margin-bottom:20px}.code-note a{font-size:12px}.about-heading h2{font-size:38px}.about-copy .large-copy{font-size:19px}.about-copy p{font-size:13px}.contact-section{grid-template-columns:.36fr 1fr;gap:25px;padding-top:43px;padding-bottom:49px}.contact-section .section-index{display:block;font-size:8px}.contact-section .section-index span{display:block;margin-top:28px}.contact-main h2{font-size:49px}.contact-email{font-size:19px}.contact-links{gap:16px;font-size:10px}.site-footer{font-size:9px;padding:23px 0;gap:17px}.site-footer>span{display:none}.site-footer .footer-name{font-size:12px}.case-heading h1{font-size:55px}.case-heading{padding-top:28px}.back-link{margin-bottom:33px}.case-intro{font-size:18px}.case-section{grid-template-columns:1fr;gap:8px;padding:30px 0}.case-section h2{font-size:32px}.case-section p:not(.section-index){font-size:15px}.case-meta{gap:18px}.case-meta p{font-size:12px}.case-visual .project-art{height:auto;min-height:230px}.case-content{padding-bottom:47px}.takeaway{padding-left:70px}.takeaway::before{left:0}.takeaway p{font-size:27px}.profile-section{grid-template-columns:.4fr 1fr;gap:25px}.profile-section h2{font-size:27px}.profile-section p{font-size:14px}.next-case h2{font-size:35px}
}
@media(max-width:540px){
  .site-header,.hero,.intro-strip,.work-section,.approach-section,.notes-section,.about-section,.site-footer,.case-heading,.case-meta,.case-content,.next-case,.profile-heading,.profile-body,.case-visual{width:calc(100% - 40px)}
  .site-header{min-height:77px}.brand{font-size:13px;gap:8px}.brand-symbol{width:30px;font-size:23px}.site-header nav{gap:16px;font-size:11px}.site-header nav>a:nth-child(2){display:none}.language{padding-left:14px;gap:6px}.hero{display:block;padding-top:34px;padding-bottom:39px}.hero .eyebrow{font-size:9px;letter-spacing:.075em}.hero h1{font-size:clamp(101px,28vw,144px);line-height:.82;margin:23px 0 30px}.hero h1 br{display:block}.hero-intro{font-size:19px;max-width:370px;line-height:1.5}.hero-links{flex-direction:row;align-items:center;gap:17px;margin-top:24px}.hero-links .button{font-size:11px;gap:22px;padding:14px}.quiet-link{font-size:11px}.hero-right{padding-top:28px;width:calc(100% - 20px);margin:0 auto}.hero-art{transform:rotate(2deg);margin-top:0;padding:19px 14px 21px;box-shadow:8px 10px 0 #e8e5d9}.hero-art svg{max-height:300px}.art-caption{font-size:10px}.art-corner{font-size:9px}.hero-location{flex-direction:row;margin-top:22px;font-size:9px;gap:12px}.hero-location span:first-child{font-size:8px}.intro-strip{display:block;padding:25px 0}.intro-strip p:first-child{font-size:24px;margin-bottom:18px}.intro-strip p{font-size:13px;max-width:370px}.work-section{padding-top:51px}.section-heading h2{font-size:39px;line-height:1.07}.section-heading h2 em{display:block}.section-heading .eyebrow{font-size:9px;margin-bottom:15px}.work-grid{display:block}.work-item{margin-bottom:35px}.work-item:last-child{margin-bottom:0}.work-item:nth-child(even){margin-top:0}.work-visual{min-height:225px}.work-visual .project-art{width:100%;max-width:100%;margin-left:0;min-height:210px}.visual-top>span:last-child{display:block}.visual-top{font-size:8px}.work-caption{padding-top:20px}.work-caption .eyebrow{font-size:9px}.work-caption h3{font-size:31px;margin-bottom:12px}.work-caption>p:not(.eyebrow){font-size:14px;line-height:1.65;margin-bottom:13px}.work-note{font-size:10px;max-width:275px;margin-top:28px}.approach-section{display:block;padding-top:43px;padding-bottom:52px}.approach-intro h2{font-size:37px;margin-bottom:31px}.approach-intro .eyebrow{font-size:9px}.approach-steps article{gap:23px;padding-bottom:20px;margin-bottom:20px}.approach-steps h3{font-size:20px}.approach-steps p{font-size:14px}.notes-grid{display:block}.lab-feature{padding:23px;margin-bottom:29px}.lab-feature h3{font-size:34px}.lab-label{font-size:9px}.lab-feature p{font-size:12px}.code-note{padding-top:16px;padding-bottom:25px}.code-symbol{font-size:92px;margin-bottom:20px}.code-note .eyebrow{font-size:9px}.code-note h3{font-size:31px}.code-note p:not(.eyebrow){font-size:14px}.code-note a{font-size:13px}.about-section{display:block;padding-top:43px;padding-bottom:51px}.about-heading h2{font-size:45px;margin-top:20px;margin-bottom:23px}.about-heading .eyebrow{font-size:9px}.about-copy{margin-top:30px}.about-copy .large-copy{font-size:22px}.about-copy p{font-size:15px}.language-note{gap:8px 15px;font-size:10px;padding-top:18px}.contact-section{display:block;padding:32px 20px 42px}.contact-section .section-index{display:flex;align-items:center;max-width:none;font-size:9px;padding:0;margin-bottom:29px}.contact-section .section-index span{display:inline-block;margin:0;font-size:25px}.contact-main h2{font-size:54px;margin-bottom:29px}.contact-email{font-size:19px;gap:9px}.contact-links{gap:20px;font-size:11px}.case-heading{padding-top:24px;padding-bottom:34px}.back-link{font-size:11px;margin-bottom:32px}.case-heading .eyebrow{font-size:9px}.case-heading h1{font-size:44px;line-height:1.07;letter-spacing:-.04em;margin-bottom:24px}.case-intro{font-size:17px;line-height:1.65}.case-visual{padding:25px 0 0}.case-visual .project-art{min-height:220px}.case-visual-label{font-size:8px;top:17px;left:18px}.case-meta{grid-template-columns:1fr;padding:22px 0;gap:18px}.case-meta p{font-size:13px;max-width:350px;margin-top:4px}.case-meta span{font-size:8px}.case-content{padding-top:5px;padding-bottom:38px}.case-section{padding:29px 0;gap:5px}.case-section .section-index{font-size:9px}.case-section h2{font-size:31px;margin-bottom:20px}.case-section p:not(.section-index){font-size:15px}.takeaway{padding:27px 0 0 35px}.takeaway::before{font-size:28px;top:30px}.takeaway p{font-size:25px}.takeaway span{font-size:8px}.next-case{padding:24px 0 35px;gap:15px}.next-case>span:first-child{margin:0}.next-case h2{font-size:32px}.next-case>span:last-child{font-size:32px}.profile-heading{padding:39px 0 32px}.profile-heading h1{font-size:62px;line-height:1.05}.profile-heading h1 em{display:block}.profile-heading .eyebrow{font-size:9px}.profile-actions{gap:20px;align-items:center}.profile-actions .button,.print-button{font-size:11px}.print-button{gap:10px}.profile-section{display:block;padding:27px 0}.profile-section h2{margin-bottom:25px;font-size:29px}.profile-section p{font-size:14px}.experience h3{font-size:23px}.profile-body .profile-section:last-child{padding-bottom:35px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{
  @page{size:A4;margin:14mm 17mm}
  body{background:white;color:#111;font-size:10pt;line-height:1.4}
  .site-header,.site-footer,.skip-link,.profile-actions,.back-link{display:none!important}
  .profile-heading,.profile-body{width:100%;margin:0;padding:0}
  .profile-heading{padding-bottom:16px}.profile-heading .eyebrow{font-size:8pt;margin-bottom:12px;color:#333}
  .profile-heading h1{font-size:34pt;margin-bottom:14px;letter-spacing:-.04em}.profile-heading h1 em{display:inline;color:#111}
  .profile-heading .case-intro{font-size:11pt;line-height:1.4}
  .print-contact{display:block;font-size:8pt;margin:12px 0 0;line-height:1.5}
  .profile-section{display:grid;grid-template-columns:125px 1fr;gap:20px;padding:16px 0;break-inside:avoid}
  .profile-section h2{font-size:16pt;margin:0}.profile-section p{font-size:9pt;line-height:1.45;margin:0 0 8px;color:#222}
  .experience{margin-bottom:13px}.experience>span{font-size:8pt;margin-bottom:4px;color:#444}
  .experience h3{font-size:12pt;margin-bottom:5px}.experience .experience-role{font-size:9pt;margin-bottom:6px}
  .profile-section>div>a{font-size:9pt}.profile-section:last-child{display:none}
  a{color:#111;text-decoration:none}.profile-page{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

.case-question{display:grid;grid-template-columns:170px 1fr;align-items:baseline;gap:22px;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;max-width:960px}
.case-question span{font-size:9px;letter-spacing:.09em;color:var(--blue)}
.case-question p{font-family:var(--serif);font-style:italic;font-size:clamp(23px,2.6vw,34px);line-height:1.3;letter-spacing:-.025em;margin:0}
@media(max-width:540px){.case-question{grid-template-columns:1fr;gap:12px;margin-top:31px}.case-question p{font-size:25px}}

@media(max-width:540px){.hero h1{font-size:clamp(87px,26.6vw,144px)}.site-footer{flex-wrap:wrap}}
