:root{--ink:#171716;--charcoal:#20211f;--paper:#f1eee7;--warm:#d8d0c2;--amber:#e4a43a;--muted:#a9a399;--line:rgba(241,238,231,.16);--serif:'Barlow Condensed',Impact,sans-serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--charcoal);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:10;background:var(--amber);color:var(--ink);padding:.6rem 1rem}.site-header{position:absolute;top:0;left:0;width:100%;z-index:2}.header-inner{max-width:1380px;margin:auto;padding:28px 5.2vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:1.35rem;font-weight:700;letter-spacing:.08em}.wordmark span{color:var(--amber)}nav{display:flex;align-items:center;gap:2rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}nav a{color:var(--warm);transition:color .2s ease}nav a:hover,nav a:focus-visible,.text-link:hover,.text-link:focus-visible{color:var(--amber)}.cv-link{border-left:1px solid var(--line);padding-left:2rem}.hero{min-height:680px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;padding:140px 5.2vw 90px;max-width:1500px;margin:auto;gap:5vw}.hero-copy{position:relative;z-index:1}.eyebrow,.section-kicker,.project-type{font-size:.875rem;text-transform:uppercase;letter-spacing:.17em;color:var(--amber);margin:0 0 1.5rem}.signal{display:inline-block;width:7px;height:7px;background:var(--amber);border-radius:50%;margin-right:.7rem;vertical-align:1px}.hero h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.02;letter-spacing:-.025em;margin:0}.hero h1{font-size:clamp(4rem,7vw,6.5rem);text-transform:uppercase}.hero h1 em,h2 em{font-style:normal;color:var(--amber)}.hero-intro{max-width:450px;color:var(--warm);font-size:1.08rem;margin:2.2rem 0}.text-link{display:inline-flex;gap:1.1rem;align-items:center;color:var(--paper);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--amber);padding-bottom:.45rem;transition:color .2s ease}.text-link span{color:var(--amber);font-size:1.1rem}.hero-art{position:relative;align-self:stretch;min-height:430px;margin-top:28px;overflow:hidden}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--charcoal) 0%,transparent 22%),linear-gradient(0deg,rgba(23,23,22,.55),transparent 35%)}.hero-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.06)}.hero-art-label{position:absolute;z-index:1;bottom:26px;left:28px;font-family:var(--serif);font-size:1.1rem;line-height:1.15;letter-spacing:.04em}.hero-art-label span{color:var(--amber);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em}.intro-strip{max-width:1500px;margin:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 5.2vw;display:grid;grid-template-columns:1fr 2.5fr 1.3fr;gap:3rem;align-items:end}.strip-statement{font-family:var(--serif);font-size:clamp(2rem,3vw,3.5rem);line-height:1.028;max-width:690px;margin:0}.strip-meta{display:flex;flex-direction:column;gap:.35rem;text-align:right;color:var(--muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.11em}.strip-meta span:first-child{font-family:var(--serif);color:var(--amber);font-size:1.6rem}.work-section,.expertise-section,.in-development,.bridge-section,.contact-section{max-width:1500px;margin:auto;padding:140px 5.2vw}.section-heading{margin-bottom:75px}.section-heading h2{font-size:clamp(2.8rem,4.5vw,4.5rem);text-transform:uppercase}.section-note{color:var(--muted);max-width:340px;margin-top:1.5rem}.project{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start;padding:50px 0 115px;border-top:1px solid var(--line)}.project-primary{grid-template-columns:1.18fr .82fr;padding-top:0;border-top:0}.project-secondary{padding-top:115px}.project-tertiary{padding-bottom:0}.project-visual{position:relative}.image-frame{margin:0;position:relative}.image-frame img{width:100%;height:450px;object-fit:cover;filter:saturate(.8)}.image-frame-large img{height:650px}.image-frame figcaption,.bridge-media figcaption{color:var(--muted);font-size:.875rem;letter-spacing:.06em;margin-top:.75rem}.project h3{font-size:clamp(2.7rem,4vw,4rem);text-transform:uppercase;margin-bottom:1.35rem}.project-lede{font-family:var(--serif);font-size:1.6rem;line-height:1.05;color:var(--warm);margin:0 0 2rem}.project-copy p:not(.project-type):not(.project-lede){color:#c9c1b5;max-width:560px;margin:0 0 1.1rem;font-size:.96rem}.project-footer{display:flex;gap:2rem;flex-wrap:wrap;justify-content:space-between;align-items:end;margin-top:2.1rem}.tag-list{display:flex;gap:.55rem;flex-wrap:wrap}.tag-list span{border:1px solid var(--line);padding:.38rem .65rem;color:var(--muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.08em}.expertise-section{padding-top:20px}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.expertise-panel{background:var(--charcoal);padding:34px 30px 42px;min-height:280px}.panel-index{color:var(--amber);font-family:var(--serif);font-size:1.4rem}.expertise-panel h3{font-size:2.9rem;text-transform:uppercase;margin:2rem 0 1rem}.expertise-panel p{color:var(--muted);max-width:280px;margin:0}.in-development{border-top:1px solid var(--line)}.dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw}.dev-item{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;align-items:end}.dev-image{position:relative}.dev-image img{height:220px;width:100%;object-fit:cover;object-position:top;filter:grayscale(.2)}.dev-image span{position:absolute;top:12px;right:12px;color:var(--amber);font-family:var(--serif);font-size:1.5rem}.dev-copy h3{font-size:2.4rem;text-transform:uppercase;margin-bottom:.8rem}.dev-copy p{color:var(--muted);font-size:.88rem;margin:0}.bridge-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;border-top:1px solid var(--line)}.bridge-copy h2{font-size:clamp(2.7rem,4vw,4rem);text-transform:uppercase;margin-bottom:1.5rem}.bridge-copy>p:not(.section-kicker){color:var(--warm);font-size:1.06rem;max-width:370px;margin-bottom:2rem}.bridge-media{margin:0}.bridge-media video{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:#111}.contact-section{border-top:1px solid var(--line);padding-top:130px;padding-bottom:120px}.contact-section h2{font-size:clamp(2.8rem,4.5vw,4.5rem);text-transform:uppercase;margin-bottom:3.2rem}.contact-email{display:inline-block;font-family:var(--serif);font-size:clamp(1.9rem,3.5vw,3.4rem);color:var(--amber);border-bottom:1px solid var(--amber);line-height:1.2}.contact-email span{font-family:var(--sans);font-size:1.4rem;margin-left:1rem}.contact-links{display:flex;gap:1.6rem;margin-top:2.5rem;color:var(--muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.12em}.contact-links a:hover{color:var(--paper)}.site-footer{border-top:1px solid var(--line);padding:24px 5.2vw;display:flex;justify-content:space-between;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.site-footer a{color:var(--amber)}@media(max-width:850px){.header-inner{padding:22px 6vw}nav{gap:1rem;font-size:.62rem}.cv-link{padding-left:1rem}.hero{display:block;padding:150px 6vw 65px;min-height:0}.hero h1{font-size:clamp(3.8rem,13vw,5rem)}.hero-art{height:420px;min-height:0;margin-top:60px}.intro-strip{display:block;padding:38px 6vw}.strip-statement{margin:1.2rem 0 2rem}.strip-meta{text-align:left}.work-section,.expertise-section,.in-development,.bridge-section,.contact-section{padding:95px 6vw}.section-heading{margin-bottom:48px}.project,.project-primary,.project-secondary{display:flex;flex-direction:column;gap:42px;padding:65px 0}.project-copy{order:2}.project-visual{order:1;width:100%}.image-frame img,.image-frame-large img{height:420px}.project h3{font-size:clamp(2.5rem,10vw,3.5rem)}.expertise-grid,.dev-grid,.bridge-section{grid-template-columns:1fr}.expertise-panel{min-height:auto;padding:30px}.dev-item{grid-template-columns:1fr 1fr}.bridge-section{gap:45px}.site-footer{padding:22px 6vw;display:block;line-height:2}.site-footer span{display:block}}@media(max-width:480px){body{font-size:15px}.header-inner{align-items:flex-start}.wordmark{font-size:1.05rem}nav{flex-wrap:wrap;justify-content:flex-end;max-width:220px;gap:.5rem 1rem}.hero{padding-top:145px}.hero-intro{font-size:1rem}.hero-art{height:320px;margin-top:44px}.hero-art-label{left:16px;bottom:16px}.section-heading h2{font-size:clamp(2.6rem,10vw,3.5rem)}.project-lede{font-size:1.4rem}.image-frame img,.image-frame-large img{height:280px}.project-copy p:not(.project-type):not(.project-lede){font-size:.9rem}.project-footer{display:block}.project-footer .text-link{margin-top:1.5rem}.dev-item{display:block}.dev-image img{height:190px}.dev-copy{margin-top:1rem}.contact-section h2{font-size:clamp(2.6rem,10vw,3.5rem)}.contact-links{flex-wrap:wrap;gap:1rem}.site-footer{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.bridge-copy .bridge-detail{color:var(--muted);font-size:.9rem;margin-bottom:2rem}

.accent{color:var(--amber)}.hero-role{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;margin:1rem 0;color:var(--paper)}.hero-intro{margin:1.5rem 0}.hero-art-label{margin:0}.hero h1{letter-spacing:0}.project h3{overflow-wrap:normal}.expertise-panel h3{font-size:2.4rem;margin-top:0}.strip-meta span:first-child{font-family:var(--sans);font-size:.875rem;color:var(--muted)}a:focus-visible,video:focus-visible{outline:2px solid var(--amber);outline-offset:5px}@media(max-width:850px){.hero{padding-top:130px}.hero-art{height:320px;min-height:0;margin-top:36px}}

/* Production readability and media layout. */
html{scroll-padding-top:24px}.hero-copy,.hero-art,.project-copy,.project-visual,.dev-copy{min-width:0}nav,.text-link,.contact-links,.site-footer{font-size:.875rem}.hero-art img{height:100%}.image-frame img{height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}.image-frame-large img{height:auto;aspect-ratio:16/9}.dev-image{display:block;overflow:hidden;aspect-ratio:16/9}.dev-image img{width:100%;height:100%;object-fit:cover;object-position:center}.dev-grid{gap:3rem}.dev-item{grid-template-columns:1fr;align-items:start}.dev-copy h3{overflow-wrap:anywhere}.contact-email{overflow-wrap:anywhere}.site-footer{gap:1.5rem;flex-wrap:wrap}.bridge-copy .text-link{margin-bottom:1rem}.strip-meta{font-size:.875rem}.image-frame figcaption,.bridge-media figcaption{font-size:.875rem}.hero-role{margin-top:1rem}body{overflow-wrap:break-word}@media(max-width:850px){nav{font-size:.875rem}.hero{padding-top:135px}.site-header .header-inner{gap:1rem}.cv-link{padding-left:0;border-left:0}.header-inner nav{gap:.6rem 1rem;flex-wrap:wrap;justify-content:flex-end}.hero-art img{height:100%}.project h3{font-size:clamp(2.4rem,8vw,3.5rem)}.intro-strip .strip-meta{font-size:.875rem}}@media(max-width:480px){.hero{padding-top:145px}.wordmark{font-size:1.15rem}.header-inner nav{max-width:230px;font-size:.875rem}.site-footer{font-size:.875rem}.image-frame img,.image-frame-large img{height:auto}.contact-email{font-size:1.8rem}.project-copy p:not(.project-type):not(.project-lede){font-size:1rem}.hero-art{height:260px}}

.experience-section{max-width:1500px;margin:auto;padding:60px 5.2vw 100px}.career-list{margin:0}.career-list>div{display:grid;grid-template-columns:1fr 2fr;gap:2rem;padding:20px 0;border-top:1px solid var(--line)}.career-list dt{color:var(--muted)}.career-list dd{margin:0;font-size:1.1rem}.inline-link{text-decoration:underline;text-underline-offset:3px}nav a,.contact-links a,.case-nav a{min-height:32px;display:inline-flex;align-items:center;padding-top:5px;padding-bottom:5px}@media(max-width:600px){.career-list>div{grid-template-columns:1fr;gap:.3rem}.experience-section{padding:30px 6vw 70px}.header-inner{padding-top:20px;padding-bottom:20px}.hero{padding-top:160px}}

.wordmark{white-space:nowrap;flex-shrink:0}.header-inner nav{min-width:0}@media(max-width:480px){.header-inner nav{gap:.35rem .8rem;max-width:210px;letter-spacing:.06em}}



.link-icon{display:inline-block;width:1em;height:1em;vertical-align:-.1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.case-next .link-icon{width:.55em;height:.55em;vertical-align:.03em;margin-left:.15em}.contact-email .link-icon{width:.65em;height:.65em}.case-meta .link-icon{width:.85em;height:.85em}.text-link .link-icon{color:var(--amber)}
