/* Shared editorial system: expressive headlines, calm reading space. */
:root{--editorial:'Instrument Serif',Georgia,serif;--ink:#123f46;--muted:#566864;--line:#dee4da;--accent:#deeda2}
.site-header .nav-inner{min-height:88px;border-bottom:1px solid #173f4617}
.site-header.is-scrolled .nav-inner{border-bottom-color:transparent}
.site-header .nav-links{gap:32px}
.site-header .nav-links a{font-family:var(--sans);font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.site-header .nav-links a:first-child{display:inline-flex}
.site-header .wordmark{font-size:42px}
.pill,.text-link{touch-action:manipulation}

/* An open cover: a signature on the left, the introduction and actions right. */
.hero{padding-bottom:0;background:var(--paper)}
.hero .hero-layout{max-width:1400px;padding-top:70px;padding-bottom:40px}
.hero .hero-copy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);align-items:center;gap:64px;text-align:left;max-width:none;animation:none}
.hero .hero-copy>h1{display:block;margin:0}
.hero .greeting{font:400 22px/1.4 var(--sans);letter-spacing:0;margin:0 0 13px;color:var(--muted);min-width:0}
.hero .hero-name{font:400 clamp(85px,9.1vw,138px)/1.05 var(--editorial);letter-spacing:-.035em;white-space:nowrap;display:block}
.hero .hero-name em{font:italic 1em/1.05 var(--editorial);letter-spacing:-.035em;color:#365c43}
.hero-summary{max-width:450px;justify-self:end;min-width:0}
.hero .hero-description{font:400 17px/1.8 var(--sans);max-width:none;margin:0;color:var(--muted);text-wrap:pretty}
.hero .hero-actions{justify-content:flex-start;gap:12px;margin-top:24px;flex-wrap:wrap}
.hero .pill{font:500 15px/1.4 var(--sans);min-height:50px;gap:10px;padding:13px 22px;border-radius:100px}
.hero .hero-work{min-width:128px;background:var(--accent);border-color:#d3e297}
.hero-work svg{rotate:-90deg}
.hero .hero-voice{background:transparent;border-color:#c4cebb}
.hero .hero-voice:hover{background:#f0f2e1}
.hero .hero-resume{display:inline-flex;font:400 14px/1.5 var(--sans);margin-top:21px;color:var(--muted);border-color:#a7b39e;gap:10px}
.hero-neighborhood.hero-scene{margin-top:-42px;max-width:1800px;margin-inline:auto;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 97%,transparent)}
.scene-motion-toggle{font-size:14px;min-height:44px;bottom:20px;background:#fffbf1ed}

/* Work remains a precisely aligned gallery, with generous legible captions. */
.work-section{padding:78px 0 30px}
.section-line{text-align:left;margin-bottom:42px;display:flex;align-items:baseline;justify-content:space-between}
.section-line h2{font-size:clamp(3.5rem,5vw,4.8rem);letter-spacing:-.03em}
.section-line h2 span{font:400 14px/1.4 var(--sans);vertical-align:middle;display:inline-block;margin-left:17px}
.project-grid{column-gap:42px}
.project-grid>.project>h3{font-family:var(--editorial);font-size:clamp(2rem,2.7vw,2.6rem);line-height:1.2;letter-spacing:-.02em;margin-bottom:17px}
.project-grid>.project>.project-meta{color:#62706b;letter-spacing:0}
.project-grid>.project>.project-description{max-width:560px;color:var(--muted)}
.project-grid>.project>.text-link{font:500 14px/1.5 var(--sans);min-height:38px;align-items:center;gap:10px}
.project-number{font-variant-numeric:tabular-nums;letter-spacing:.06em}

/* Carry the same hierarchy through the remainder of the homepage. */
.display-heading,.writing h2{font-family:var(--editorial);font-size:clamp(3rem,4.8vw,4.5rem);letter-spacing:-.025em}
.experience-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.3fr);gap:80px}
.experience-top>p{font-size:17px;line-height:1.8}
.experience-role{font:400 1.55rem/1.3 var(--editorial);letter-spacing:0}
.experience-company,.experience-date{font-size:14px;line-height:1.5}
.experience-row{padding-block:27px}
.brand-strip{padding:30px;border:1px solid #e6e8dd;border-radius:12px}
.brand-strip img{max-width:980px;margin:auto}
.recommendations{gap:65px}
.quote-text{font:400 clamp(1.7rem,2.4vw,2.25rem)/1.45 var(--editorial);letter-spacing:0}
.quote-author strong,.quote-author p{font-size:14px;line-height:1.5}
.contact h2{font-size:clamp(3.8rem,6.4vw,6rem);letter-spacing:-.03em}
.contact-value{font-size:1.125rem;overflow-wrap:anywhere}
.contact-label,.contact-bottom,.contact-grid>div:first-child{font-size:14px;line-height:1.6}

/* Case-study headings no longer compete with a narrow side column. */
.case-intro{padding-top:50px;padding-bottom:45px}
.case-intro h1{font:400 clamp(3rem,4.8vw,4.8rem)/1.08 var(--editorial);letter-spacing:-.025em;text-wrap:balance}
.case-subtitle{font-size:17px;line-height:1.8;max-width:630px}
.case-role,.case-meta dd,.case-hero .native-tags span{font-size:14px;line-height:1.6}
.case-meta dt{font-size:12px;letter-spacing:.07em}
.case-meta{margin-top:38px;padding-top:28px;gap:26px}
.case-body{max-width:1280px;padding:12px var(--gutter) 60px;margin-inline:auto}
.case-body .native-section{display:block;grid-template-columns:none;max-width:none;margin:0;padding:48px 0}
.case-body .native-section-title{display:flex;align-items:baseline;gap:17px;margin:0 0 27px}
.case-body .native-section-title h2{font:400 clamp(2.1rem,3.2vw,3rem)/1.16 var(--editorial);letter-spacing:-.02em;max-width:960px;text-wrap:pretty}
.case-body .native-section-title:before{margin:0;flex:none;font-size:12px;letter-spacing:.04em}
.case-body .native-section-body{min-width:0;font-size:17px;line-height:1.8}
.case-body .native-section-body>p{max-width:780px}
.case-body .native-section-body>h3{font:400 1.9rem/1.25 var(--editorial);letter-spacing:-.01em}
.case-body .native-section:has(.native-section-body:empty){padding:35px 0 0;border:0}
.case-body .native-section:has(.native-section-body:empty) .native-section-title{margin-bottom:16px}
.case-body .native-section:has(h2:empty){padding:18px 0}
.case-body .native-section-title:has(h2:empty){display:none}
.case-body .native-statement .native-section-body>p{max-width:980px;font:400 clamp(1.9rem,3vw,2.8rem)/1.35 var(--editorial);letter-spacing:-.015em}
.case-body .native-cards{gap:22px}
.case-body .native-card{padding:27px;font-size:16px;line-height:1.8;background:#fafbf7;border:1px solid #e1e6dc;border-radius:12px}
.case-body .native-card h3{font:400 1.65rem/1.25 var(--editorial);letter-spacing:-.015em}
.case-body .native-split .native-cards:has(>.native-card){grid-template-columns:1fr}
.case-body .native-split .native-card{padding:20px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.case-body .native-split .native-card:last-child{border-bottom:0}
.case-body .native-card .native-list{font-size:16px}
.case-body .native-list li{margin-block:13px}
.case-body .native-steps li h3{font:400 1.5rem/1.3 var(--editorial)}
.case-body .native-stats dt{font-size:14px;line-height:1.6}
.case-body .native-stats dd{font-family:var(--editorial);font-weight:400}
.case-body .native-table th,.case-body .native-table td{font-size:15px;line-height:1.6;padding:19px 20px}
.case-body .native-table thead th{font-size:13px}
.case-body .case-action,.case-body .embed-shell{margin-left:0}
.case-body .case-action .text-link{font-size:16px;min-height:44px}
.case-body .screen-showcase{border-radius:14px}
.case-body .native-section-body>.screen-showcase{margin-top:30px}
.case-body .design-board{border-radius:18px;padding:30px}
.case-body .ds-specimen{border-radius:12px;min-width:0}
.case-body .screen-collection{gap:30px 24px}
.case-body .screen-collection figcaption{font-size:14px;line-height:1.5}
.audio-walkthrough{gap:25px;border-radius:12px;padding:25px;background:#f7f9f0}
.audio-walkthrough h2{font:400 1.6rem/1.25 var(--editorial)}
.audio-walkthrough p{font-size:14px;line-height:1.6;margin-top:8px}
.audio-walkthrough audio{max-width:100%;min-width:0;width:100%}
.artwork-toolbar p,.artwork-zoom{font-size:14px}
.artwork-zoom,.artwork-toolbar .close-button{min-height:44px}
.artwork-launch{width:40px;height:40px}

/* About and Voice AI use the same readable contrast and spacing. */
.about-introduction{padding:65px 0 70px;border-bottom:1px solid #e5e8dd}
.about-story h1{font-family:var(--editorial);font-size:clamp(4rem,6.4vw,6rem);letter-spacing:-.025em}
.about-story .about-description{color:var(--muted);font-size:18px;line-height:1.8;max-width:550px}
.about-eyebrow{font-size:14px;letter-spacing:.05em}
.about-portrait-frame{max-width:280px;padding:12px;background:#edf0d6;border-color:#dce3c5;box-shadow:0 22px 55px -32px #38554538}
.voice-studio{padding-top:65px;padding-bottom:55px}
.voice-studio-heading{gap:40px;align-items:center}
.voice-studio-heading h2{font:400 clamp(3rem,4.4vw,4.2rem)/1.15 var(--editorial);letter-spacing:-.025em}
.voice-studio-heading p{font-size:17px;line-height:1.8;color:var(--muted)}
.page-about .play-section{padding-top:55px;padding-bottom:75px}
.play-art{max-width:1050px;margin:32px auto 0;border-radius:16px}

@media(max-width:1100px){
 .hero .hero-copy{gap:36px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
 .hero .hero-name{font-size:clamp(78px,9vw,105px)}
 .experience-layout{gap:45px}
 .case-body .native-cards:has(>.native-card:nth-child(3):last-child){grid-template-columns:1fr}
 .case-body .native-feature .native-split{grid-template-columns:1fr;gap:30px}
 .case-body .native-feature .native-split>div:first-child{max-width:800px}
 .case-body .ds-foundations,.case-body .ds-components{gap:18px}
}
@media(max-width:850px){
 .hero .hero-layout{padding-top:45px;padding-bottom:30px}
 .hero .hero-copy{grid-template-columns:1fr;gap:27px;text-align:center}
 .hero .hero-name{font-size:clamp(78px,13vw,116px)}
 .hero .greeting{font-size:19px;margin-bottom:10px}
 .hero-summary{justify-self:center;max-width:580px}
 .hero .hero-actions{justify-content:center;margin-top:23px}
 .hero .hero-description{font-size:16px;line-height:1.75}
 .hero .hero-resume{margin-top:18px}
 .hero-neighborhood.hero-scene{margin-top:-25px}
 .experience-layout{grid-template-columns:1fr;gap:38px}
 .case-body .native-section{padding-block:38px}
 .case-body .native-split{grid-template-columns:1fr;gap:28px}
 .case-body .scenario-list .native-split>div:first-child{order:0}
 .case-body .native-cards{grid-template-columns:1fr}
 .case-body .native-section-body{font-size:16px;line-height:1.8}
 .case-body .native-table{font-size:15px}
 .case-body .design-board{padding:20px}
 .about-story .about-description{font-size:17px}
}
@media(max-width:650px){
 .site-header .nav-inner{min-height:76px;padding-block:12px;gap:15px}
 .site-header .wordmark{font-size:36px;min-width:40px}
 .site-header .nav-links{gap:16px}
 .site-header .nav-links a{font-size:14px}
 .hero .hero-layout{padding-top:37px;padding-bottom:20px}
 .hero .hero-name{font-size:clamp(69px,14.2vw,92px)}
 .hero .hero-copy{gap:22px}
 .hero .greeting{font-size:17px}
 .hero .hero-description{max-width:430px;margin:auto}
 .hero .hero-actions{gap:10px}
 .hero .pill{min-height:48px;padding:12px 19px}
 .hero-neighborhood.hero-scene{margin-top:0;padding-bottom:24px}
 .scene-motion-toggle{bottom:7px;right:22px;min-height:36px;font-size:12px;padding:7px 10px}
 .work-section{padding:50px 0 12px}
 .section-line{margin-bottom:30px}
 .section-line h2{font-size:3.5rem}
 .project-grid>.project>h3{font-size:2.1rem}
 .project-grid>.project{padding-bottom:44px}
 .experience-section{padding-block:55px}
 .experience-top .display-heading,.writing h2{font-size:3.25rem}
 .experience-row{grid-template-columns:42px minmax(0,1fr);padding-block:23px}
 .experience-company,.experience-date{font-size:14px}
 .quote-text{font-size:1.8rem}
 .quote-author p,.quote-author strong{font-size:14px}
 .recommendations{gap:42px}
 .contact h2{font-size:3.6rem}
 .contact-grid{gap:25px}
 .contact-value{font-size:1.1rem}
 .case-intro{padding-top:30px;padding-bottom:32px}
 .case-intro h1{font-size:clamp(2.8rem,9.5vw,3.7rem)}
 .case-subtitle{font-size:16px;line-height:1.75}
 .case-meta{gap:22px 18px;margin-top:30px;padding-top:24px}
 .case-body{padding-bottom:40px}
 .case-body .native-section-title{gap:12px;margin-bottom:23px}
 .case-body .native-section-title h2{font-size:2.05rem}
 .case-body .native-card{padding:23px}
 .case-body .native-section-body>h3{font-size:1.65rem}
 .case-body .native-card h3{font-size:1.55rem}
 .case-body .native-stats dt{font-size:14px}
 .case-body .design-board{padding:16px}
 .case-body .ds-foundations,.case-body .ds-components{grid-template-columns:1fr}
 .case-body .ds-brand{align-items:center;gap:18px}
 .case-body .ds-brand h3{font-size:29px}
 .case-body .ds-brand p{font-size:13px}
 .case-body .screen-collection{grid-template-columns:1fr}
 .artwork-launch{width:38px;height:38px}
 .about-introduction{padding-block:38px 45px}
 .about-story h1{font-size:4.2rem}
 .about-story .about-description{font-size:16px;line-height:1.75}
 .about-portrait-frame{max-width:215px}
 .voice-studio{padding-top:45px;padding-bottom:40px}
 .voice-studio-heading{display:block;margin-bottom:26px}
 .voice-studio-heading h2{font-size:3.25rem}
 .voice-studio-heading p{font-size:16px;line-height:1.75;margin-top:16px}
 .page-about .play-section{padding-block:45px 55px}
}
@media(max-width:370px){.site-header .nav-links{gap:11px}.site-header .nav-links a{font-size:13px}.site-header .nav-inner{gap:10px}.hero .hero-name{font-size:clamp(54px,17vw,64px)}.hero .pill{padding-inline:16px}.about-story h1{font-size:3.8rem}}
