@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400&family=Fira+Mono:wght@400&family=Inter:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');
*{box-sizing:border-box} :root{--ink:#11110f;--paper:#f2f0e9;--soft:#d8d5cb;--muted:#6e6d67;--acid:#d8ff38;--line:rgba(17,17,15,.22)}
html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(1460px,calc(100% - 72px));margin:auto}
.site-header{height:116px;display:flex;align-items:center;justify-content:space-between}.logo img{width:132px}.nav{display:flex;gap:38px;font:400 11px/1 DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.nav a{position:relative;padding:8px 0}.nav a.active:after,.nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:1px solid}
.eyebrow,.kicker,.project-no,.project-meta,.project-facts dt,.language-label,.field-label{font:400 10px/1.35 DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.12em}.hero-home{padding:74px 0 86px}.hero-home h1{font:500 clamp(54px,7.5vw,118px)/.88 Manrope,sans-serif;letter-spacing:-.065em;margin:42px 0 80px;max-width:1380px}.hero-home h1 em{font-weight:400;color:var(--muted)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:end}.hero-bottom p{grid-column:2;max-width:650px;font-size:clamp(20px,2vw,30px);line-height:1.28;letter-spacing:-.025em;margin:0}.arrow-link{grid-column:1;grid-row:1;align-self:end;font:400 11px DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.arrow-link span{margin-left:18px}
.hero-visual{margin:0;background:#090909}.hero-visual img{width:100%;height:min(68vw,870px);object-fit:cover}.hero-visual figcaption{height:54px;color:#b7b7b2;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;font:300 9px DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.12em}.hero-visual figcaption span:nth-child(2){text-align:center}.hero-visual figcaption span:last-child{text-align:right}
.capabilities{display:grid;grid-template-columns:1fr 1.35fr;gap:8vw;padding:160px 0}.capabilities h2,.section-head h2,.page-title{font:500 clamp(46px,6vw,92px)/.94 Manrope,sans-serif;letter-spacing:-.055em;margin:32px 0 0}.capability-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid}.capability-grid article{min-height:240px;padding:24px 28px 36px 0;border-bottom:1px solid}.capability-grid article:nth-child(odd){border-right:1px solid;padding-right:34px}.capability-grid article:nth-child(even){padding-left:34px}.capability-grid span{font:10px DM Mono,Fira Mono,monospace;color:var(--muted)}.capability-grid h3{font:500 24px Manrope,sans-serif;margin:60px 0 12px}.capability-grid p{font-size:14px;line-height:1.55;color:#494944;max-width:290px;margin:0}
.projects{padding:44px 0 160px}.section-head{display:grid;grid-template-columns:1fr 2fr;align-items:end;margin-bottom:54px}.section-head h2{margin:0}.project-index{border-top:1px solid}.project-row{display:grid;grid-template-columns:70px minmax(0,1.5fr) minmax(230px,.7fr) 36px;gap:26px;align-items:start;padding:25px 0;border-bottom:1px solid;transition:padding .25s,background .25s}.project-row:hover{padding-left:14px;background:rgba(255,255,255,.32)}.project-name{font:500 clamp(25px,3vw,46px)/1 Manrope,sans-serif;letter-spacing:-.04em}.project-name small{font:400 14px/1.4 Inter,sans-serif;letter-spacing:0;color:var(--muted)}.project-meta{line-height:1.6}.project-arrow{font-size:22px;text-align:right}.statement{border-top:1px solid;padding:70px 0 180px;display:grid;grid-template-columns:1fr 3fr}.statement blockquote{font:400 clamp(34px,4.3vw,68px)/1.08 Manrope,sans-serif;letter-spacing:-.045em;margin:0}
.footer{border-top:1px solid;padding:30px 0 50px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;font:10px/1.6 DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.footer img{width:95px;margin-bottom:18px}.footer p{margin:0}.footer a{display:block}.footer a:hover{text-decoration:underline}
/* Inner pages */
.page-intro{padding:72px 0 110px}.page-intro .page-title{max-width:1200px}.page-intro .lede{width:50%;margin:64px 0 0 50%;font-size:clamp(20px,2.2vw,32px);line-height:1.3;letter-spacing:-.025em}.people{padding-bottom:150px}.person{display:grid;grid-template-columns:minmax(280px,.72fr) 1.28fr;gap:8vw;padding:70px 0;border-top:1px solid}.person-photo{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(100%)}.person-head{display:flex;justify-content:space-between;gap:30px;align-items:start}.bio-name{font:500 clamp(35px,4.4vw,68px)/.95 Manrope,sans-serif;letter-spacing:-.05em;margin:0}.role{font:10px/1.5 DM Mono,Fira Mono,monospace;text-transform:uppercase;color:var(--muted)}.bio-copy{columns:2;column-gap:42px;font-size:15px;line-height:1.65;margin-top:60px}.bio-copy p{margin:0 0 18px;break-inside:avoid}.bio-copy .greek{border-top:1px solid;padding-top:24px;margin-top:28px}.education{margin-top:42px;border-top:1px solid;padding-top:20px}.education h3{font:10px DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.education ul{list-style:none;padding:0;margin:18px 0 0;font-size:13px;line-height:1.5}.education li{margin-bottom:10px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;padding:64px 0 110px}.contact-grid h1{margin-top:0}.contact-info{margin-top:70px;font-size:21px;line-height:1.5}.contact-info a{display:block}.contact-info .muted{color:var(--muted);font-size:14px;margin-top:30px}.contact-form{display:grid;gap:28px;border-top:1px solid;padding-top:30px}.contact-form label{display:grid;gap:9px}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid;background:none;border-radius:0;padding:10px 0 14px;font:20px Inter,sans-serif;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#000}.contact-form button{height:60px;background:var(--ink);color:var(--paper);border:0;font:10px DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.contact-form button:hover{background:#34342f}.form-note{font:10px/1.5 DM Mono,Fira Mono,monospace;color:var(--muted)}.map-frame{position:relative;background:#ddd;margin-bottom:130px}.map-frame iframe{display:block;width:100%;height:520px;border:0;filter:grayscale(1) contrast(.9)}.map-caption{position:absolute;left:0;right:0;bottom:0;background:rgba(242,240,233,.92);padding:18px 24px;display:flex;justify-content:space-between;font:10px DM Mono,Fira Mono,monospace;text-transform:uppercase}
/* Project pages */
.project-hero{padding:66px 0 86px}.project-kicker{display:flex;justify-content:space-between;margin-bottom:42px}.project-title{font:500 clamp(52px,7.6vw,116px)/.89 Manrope,sans-serif;letter-spacing:-.06em;margin:0;max-width:1350px;text-transform:uppercase}.project-title .gr{display:block;font:400 .27em/1.25 Inter,sans-serif;letter-spacing:0;margin-top:24px;color:var(--muted)}.project-overview{display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;padding:0 0 90px}.project-summary{font-size:clamp(22px,2.4vw,36px);line-height:1.3;letter-spacing:-.025em;margin:0}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid;padding-top:18px}.project-facts dl{margin:0}.project-facts dt{color:var(--muted);margin-bottom:8px}.project-facts dd{margin:0;font-size:13px;line-height:1.45}.viewer-section{background:#111;padding:70px 0;color:#eee}.viewer{width:100%;aspect-ratio:16/9;border:0;background:#252525;display:block}.viewer-note{display:flex;justify-content:space-between;margin-top:16px;font:9px DM Mono,Fira Mono,monospace;text-transform:uppercase;color:#9d9d98}.project-copy{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:120px 0}.language-block h2{font:10px DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.12em;margin:0 0 34px;padding-bottom:16px;border-bottom:1px solid}.language-block p{font-size:18px;line-height:1.6;margin:0 0 20px}.next-project{border-top:1px solid;padding:50px 0 100px;display:flex;justify-content:space-between;align-items:end}.next-project span{font:10px DM Mono,Fira Mono,monospace;text-transform:uppercase}.next-project strong{font:500 clamp(30px,4vw,58px) Manrope,sans-serif;letter-spacing:-.04em}
@media(max-width:800px){.shell{width:calc(100% - 32px)}.site-header{height:86px}.logo img{width:94px}.nav{gap:18px;font-size:9px}.hero-home{padding:42px 0 54px}.hero-home h1{font-size:14vw;margin:28px 0 48px}.hero-bottom{display:block}.hero-bottom p{font-size:20px}.arrow-link{display:block;margin-top:38px}.hero-visual img{height:84vw}.hero-visual figcaption span:nth-child(2){display:none}.hero-visual figcaption{grid-template-columns:1fr 1fr}.capabilities{grid-template-columns:1fr;padding:100px 0;gap:60px}.capabilities h2{font-size:48px}.capability-grid{grid-template-columns:1fr}.capability-grid article,.capability-grid article:nth-child(odd),.capability-grid article:nth-child(even){border-right:0;padding:22px 0;min-height:190px}.capability-grid h3{margin-top:48px}.section-head{display:block}.section-head h2{margin-top:20px}.project-row{grid-template-columns:34px 1fr 24px;gap:12px}.project-meta{display:none}.project-name{font-size:26px}.statement{grid-template-columns:1fr;padding-bottom:110px}.statement blockquote{font-size:36px;margin-top:40px}.footer{grid-template-columns:1fr 1fr}.page-intro{padding:44px 0 72px}.page-intro .lede{width:100%;margin:44px 0 0}.person{grid-template-columns:1fr;gap:38px}.person-photo{width:78%}.person-head{display:block}.role{margin-top:16px}.bio-copy{columns:1;margin-top:40px}.contact-grid{grid-template-columns:1fr;padding-top:44px}.contact-info{margin-top:40px}.map-frame iframe{height:390px}.project-kicker{font-size:8px}.project-title{font-size:13vw}.project-overview{grid-template-columns:1fr;padding-bottom:60px}.project-facts{margin-top:22px}.viewer-section{padding:28px 0}.project-copy{grid-template-columns:1fr;padding:74px 0;gap:56px}.next-project{align-items:start;flex-direction:column;gap:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v12 — content-first editorial revision */
.index-intro{border-top:1px solid;padding:24px 0 56px;display:grid;grid-template-columns:1fr 2fr;gap:40px;font-size:14px;line-height:1.45}.index-intro p{margin:0}.index-intro p:last-child{max-width:520px}.projects{padding-top:0}.section-head.compact{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.section-head.compact p{margin:0}.index-count{font:10px/1.4 DM Mono,Fira Mono,monospace;text-transform:uppercase;color:var(--muted)}
.studio-heading{border-top:1px solid;padding:24px 0 48px}.people{padding-bottom:100px}.person:first-child{padding-top:0;border-top:0}.bio-copy{columns:unset;display:grid;grid-template-columns:1fr 1fr;gap:42px}.bio-copy>div+div{border-left:1px solid var(--line);padding-left:42px}.bio-copy .greek{border-top:0;padding-top:0;margin-top:0}
.project-hero{padding:22px 0 34px;border-top:1px solid}.project-kicker{margin-bottom:24px}.project-title{font-size:clamp(38px,5vw,72px);line-height:.92;max-width:1100px}.project-title .gr{margin-top:14px}.viewer-section{padding:32px 0 24px}.viewer{aspect-ratio:16/8.5}.project-overview{padding:72px 0 82px}.project-summary{font-size:clamp(18px,1.8vw,27px);max-width:760px}.project-copy{border-top:1px solid;padding:76px 0 100px}.contact-grid{padding-top:22px}.contact-grid .page-title{font-size:clamp(42px,5.2vw,76px)}
@media(max-width:800px){.index-intro{grid-template-columns:1fr;padding-bottom:42px}.section-head.compact{align-items:start}.index-count{text-align:right}.studio-heading{padding-bottom:36px}.bio-copy{grid-template-columns:1fr}.bio-copy>div+div{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.project-hero{padding:16px 0 24px}.project-title{font-size:11vw}.viewer-section{padding:16px 0}.viewer{aspect-ratio:4/3}.project-overview{padding:48px 0}.project-copy{padding:56px 0 74px}}

/* v13 — restored thesis hero */
.index-hero{border-top:1px solid;padding:28px 0 72px}.index-hero h1{max-width:1380px;margin:38px 0 0;font:500 clamp(46px,5.5vw,86px)/1 Manrope,sans-serif;letter-spacing:-.055em;text-transform:none}.index-hero+.projects{padding-top:0}
@media(max-width:800px){.index-hero{padding:22px 0 50px}.index-hero h1{margin-top:28px;font-size:12vw;line-height:1.02}}

/* v14 — bilingual site, descriptive project index, text-only studio */
.lang-switch{display:flex;gap:12px;margin-left:4px;padding-left:30px;border-left:1px solid var(--line)}.nav .lang-switch a{color:var(--muted)}.nav .lang-switch a.current{color:var(--ink)}.nav .lang-switch a.current:after{content:none}.nav .lang-switch a:hover{color:var(--ink)}
.project-row{grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:48px;align-items:baseline}.project-row:hover{padding-left:14px}.project-meta{max-width:440px}
.person{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;padding:56px 0;align-items:start}.person-head{display:block}.person .role{margin:22px 0 0;letter-spacing:.12em}.bio-short{font-size:clamp(18px,1.55vw,23px);line-height:1.45;letter-spacing:-.015em;margin:0;max-width:640px}
.project-copy{grid-template-columns:1fr 2fr;gap:40px}.project-copy h2{font:10px DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.12em;margin:0}.project-copy .copy-body{max-width:760px}.project-copy .copy-body p{font-size:18px;line-height:1.6;margin:0 0 20px}.viewer-note a:hover{color:#eee}
@media(max-width:800px){.lang-switch{padding-left:18px;gap:8px}.project-row{grid-template-columns:1fr;gap:12px;padding:22px 0}.project-meta{display:block;color:var(--muted)}.person{gap:24px;padding:44px 0}.project-copy{grid-template-columns:1fr;gap:24px}}
@media(max-width:520px){.site-header{height:auto;padding:22px 0 16px;flex-wrap:wrap;row-gap:12px}.nav{width:100%;justify-content:space-between;gap:12px}.lang-switch{margin-left:auto}}
/* preview build only: static map in place of the blocked Google embed */
.static-map{position:relative;height:520px;overflow:hidden;filter:grayscale(1) contrast(.9)}.static-map .tiles{position:absolute;left:50%;top:50%}.static-map .tiles img{position:absolute;width:256px;height:256px;max-width:none}.static-map .pin{position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:var(--ink);border:6px solid var(--paper);box-sizing:content-box;transform:translate(-6px,-6px)}.static-map small{position:absolute;top:8px;right:10px;font:9px Inter,sans-serif;color:var(--muted);background:rgba(242,240,233,.8);padding:2px 6px}
@media(max-width:800px){.static-map{height:390px}}

/* v15 — readability, focus, tap targets, structure */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-80px;z-index:20;background:var(--ink);color:var(--paper);padding:12px 16px;font:12px DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.skip:focus{top:16px}
main:focus{outline:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.viewer-section :focus-visible{outline-color:var(--paper)}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:1}
.nav,.eyebrow,.kicker,.project-meta,.project-facts dt,.field-label,.index-count,.role,.footer,.form-note,.map-caption,.viewer-note,.project-copy h2{font-size:12px}
.project-meta{line-height:1.55}.project-facts dd{font-size:15px;line-height:1.45}.footer{line-height:1.7}.form-required{margin:0;color:var(--muted)}
.nav a{padding:10px 0}.lang-switch a{display:inline-block;min-width:30px;padding:10px 4px;text-align:center}.viewer-note a{display:inline-block;padding:8px 0;margin:-8px 0}.footer a{padding:3px 0}
.project-row:hover .project-name,.project-row:focus-visible .project-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}
.section-head.compact h2{margin:0}
.project-alt{margin:14px 0 0;font:400 clamp(14px,1.35vw,19px)/1.25 Inter,Arial,sans-serif;color:var(--muted);text-transform:uppercase}
.project-hero{padding-bottom:0}.project-hero+.project-overview{padding:40px 0 64px}
.viewer-poster{position:relative;display:block;overflow:hidden;background:#fff}.viewer-poster img{width:100%;height:100%;object-fit:contain}
.viewer-load{position:absolute;left:20px;bottom:20px;padding:14px 18px;background:var(--paper);color:var(--ink);font:12px DM Mono,Fira Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.viewer-load:hover{background:#fff}
.viewer-note+.viewer{margin-top:56px}
@media(max-width:800px){.nav{font-size:11px}.viewer-load{left:12px;bottom:12px;padding:12px 14px}.project-hero+.project-overview{padding:28px 0 44px}}
.section-head.compact h2.kicker{font:400 12px/1.35 DM Mono,Fira Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.contact-form button{font-size:12px}
/* project facts span the full width now that the summary line is gone */
.project-overview{grid-template-columns:1fr}.project-overview .project-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 40px}
@media(max-width:800px){.project-overview .project-facts{grid-template-columns:1fr 1fr}}
/* v16 — no dark band: models sit on the page colour in a thin frame */
.viewer-section{background:none;color:var(--ink);padding:0 0 64px}
.viewer-section :focus-visible{outline-color:var(--ink)}
.viewer{aspect-ratio:16/9}
.viewer-poster{background:var(--paper);border:1px solid var(--line)}
.viewer-poster img{object-fit:contain;mix-blend-mode:multiply}
.viewer-load{background:var(--ink);color:var(--paper)}.viewer-load:hover{background:#34342f}
.viewer-note{color:var(--muted)}.viewer-note a:hover{color:var(--ink)}
@media(max-width:800px){.viewer-section{padding-bottom:44px}.viewer{aspect-ratio:16/9}iframe.viewer{aspect-ratio:4/3}}
/* v17 — roomier project facts */
.project-hero+.project-overview{padding:56px 0 88px}
.project-overview .project-facts{padding-top:28px;gap:36px 48px}
.project-facts dt{margin-bottom:16px}
.project-facts dd{font-size:16px;line-height:1.75}
@media(max-width:800px){.project-hero+.project-overview{padding:36px 0 56px}.project-overview .project-facts{padding-top:22px;gap:28px 24px}.project-facts dt{margin-bottom:12px}}
/* v18 — project note sits under the title: title, note, facts, models */
.project-intro{padding-top:40px}
.project-intro .copy-body{max-width:36em}
.project-intro .copy-body p{margin:0;font-size:clamp(18px,1.4vw,20px);line-height:1.6}
.project-intro .copy-body p+p{margin-top:16px}
.project-intro+.project-overview{padding:56px 0 88px}
.viewer-section{padding-bottom:104px}
@media(max-width:800px){.project-intro{padding-top:28px}.project-intro .copy-body p{font-size:17px}.project-intro+.project-overview{padding:36px 0 56px}.viewer-section{padding-bottom:64px}}
/* v19 — note beside the title on the facts grid, labels stacked left, trimmed captions, paired models */
.project-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:48px;align-items:start}
.project-hero .project-kicker{grid-column:1/-1;grid-row:1;display:grid;justify-content:start;gap:6px;margin-bottom:24px}
.project-hero .project-title{grid-column:1/3;grid-row:2}
.project-hero .project-intro{grid-column:3/5;grid-row:2;padding-top:6px}
.viewer-item{margin:0}
.viewer-item+.viewer-item{margin-top:56px}
.viewer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.viewer-grid .viewer-item+.viewer-item{margin-top:0}
.viewer-wide{aspect-ratio:16/7}.viewer-wide img{object-fit:cover}
@media(max-width:800px){
  .project-hero{grid-template-columns:minmax(0,1fr)}
  .project-hero .project-title,.project-hero .project-intro{grid-column:1;grid-row:auto}
  .project-hero .project-intro{padding-top:28px}
  .viewer-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .viewer-wide{aspect-ratio:16/8}
}
/* v20 — calmer studio page: smaller names and bios */
.bio-name{font-size:clamp(28px,2.6vw,40px);line-height:1.05;letter-spacing:-.04em}
.bio-short{font-size:17px;line-height:1.6;max-width:34em}
.person{padding:48px 0 56px}
@media(max-width:800px){.bio-name{font-size:28px}.bio-short{font-size:16px}.person{padding:36px 0 44px}}
