:root{--ink:#252526;--muted:#66666b;--line:#dededc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #476e85;outline-offset:6px}.skip{position:absolute;top:-80px;background:white;padding:12px;z-index:9}.skip:focus{top:0}header{position:sticky;top:0;z-index:100;background:#fff;max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:17px;letter-spacing:.08em}.brand span{display:block;font-size:12px;color:var(--muted);letter-spacing:.1em}nav{display:flex;gap:30px;align-items:center;font-size:14px}nav a:hover{color:#986656}.contact-nav{border:1px solid var(--ink);border-radius:30px;padding:10px 20px}main{max-width:1280px;margin:auto;padding:0 5%}.hero{padding-top:54px}.hero-top,.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin:0 0 20px}.serif,em{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic}.hero-top p{margin:0}.hero-top .serif{font-size:19px}.hero h1{font-size:clamp(64px,9vw,128px);font-weight:200;letter-spacing:.11em;line-height:1.04;margin:40px 0 30px}.period{color:#aa7f73}.hero-bottom{margin-bottom:30px}.hero-bottom h2{font-size:22px;letter-spacing:.15em;text-transform:uppercase;font-weight:400;margin:0}.hero-bottom p{font-family:Georgia,serif;font-style:italic;margin:0}.cover{height:240px;position:relative;margin-bottom:62px}.cover>img:first-child{width:100%;height:100%;object-fit:cover}.cover-note{position:absolute;top:45px;left:42px;color:#222;font-size:30px;line-height:1.25;letter-spacing:-.025em}.cover-note i{font-family:Georgia,serif;font-weight:400}.cover .portrait{position:absolute;right:40px;bottom:-30px;width:124px;height:124px;border-radius:50%;border:7px solid white;object-fit:cover}.intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding:5px 0 30px}.intro h2{font-size:27px;font-weight:400;margin:5px 0}.intro p{margin:0 0 14px;font-size:18px}.muted{color:var(--muted)}.section{padding:88px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px}.section-heading h2{font-size:clamp(30px,3.5vw,44px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0}.section-heading>p{font-size:14px;color:var(--muted);margin:0}.projects{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.project{display:block;min-width:0}.project-art{height:300px;padding:26px 30px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:filter .2s}.project:hover .project-art{filter:brightness(.95)}.art-label{font-size:14px;letter-spacing:.02em}.art-bottom{font-size:11px;letter-spacing:.15em}.type-composition{display:flex;flex-direction:column;font-size:clamp(28px,3.8vw,49px);line-height:1.05;letter-spacing:-.045em}.type-composition i{font-family:Georgia,serif;font-size:.72em;font-weight:400;line-height:1.35}.cloud{background:#e5ebf0;color:#17274a}.wellness{background:#eee1da;color:#6d433a}.wellness .type-composition{text-align:left}.engie{background:#cdebf4;color:#164857}.lafayette{background:#872b35;color:#fff4ee}.seanapps{background:#153f4c;color:#e6f0f2}.performanse{background:#e8e3f0;color:#47375f}.project-info{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:18px}.project-info h3{margin:0;font-size:20px;font-weight:500;letter-spacing:-.02em}.project-info p{font-size:14px;color:var(--muted);margin:4px 0 10px}.project-link{font-size:12px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.tags span{border:1px solid #dededc;border-radius:30px;padding:3px 10px;font-size:12px;color:#59595d}.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.number{font-family:Georgia,serif;font-style:italic;color:#977568;font-size:24px}.expertise h3{font-size:19px;font-weight:500;line-height:1.3;margin:15px 0}.expertise article p{font-size:15px}.small{font-size:13px!important;color:var(--muted)}.toolbox{border-top:1px solid var(--line);padding-top:26px;margin-top:30px;display:flex;gap:30px;align-items:baseline}.toolbox>span{white-space:nowrap;font-size:20px}.toolbox p{font-size:14px;color:var(--muted)}.button{display:inline-block;border:1px solid #aaa;border-radius:30px;padding:12px 23px;font-size:14px;white-space:nowrap;transition:background .2s}.button:hover{background:#eee}.timeline{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:210px 1fr 25px;gap:20px;padding:27px 0;align-items:center}summary::-webkit-details-marker{display:none}.date{font-size:14px;color:var(--muted)}summary b{font-size:24px;font-weight:400;display:block}summary span>span{font-size:15px;color:var(--muted)}.toggle{font-size:28px;font-weight:200}details[open] .toggle{transform:rotate(45deg)}.experience-body{margin:0 50px 30px 230px;max-width:670px}.experience-body p{margin-top:0}.experience-body ul{padding-left:18px}.experience-body li{padding-bottom:7px}.education{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-top:42px}.education h3{font-size:24px;margin-top:0}.education>div{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}.education p{margin:0}.education strong{display:block;font-size:15px;font-weight:500}.education span{font-size:13px;color:var(--muted)}.about-intro{max-width:800px;font-size:23px;line-height:1.6;margin-bottom:40px}.personality{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.personality article>span{font-size:26px}.personality h3{font-size:17px;font-weight:500}.personality p{font-size:15px;color:var(--muted)}.languages{border-top:1px solid var(--line);margin-top:35px;padding-top:25px;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px 25px}.languages h3{margin:0;font-size:23px}.languages p{margin:0;font-size:14px}.languages strong{font-weight:500}.languages .language-joke{grid-column:2/4;color:var(--muted);font-size:13px}.contact{text-align:center;background:url('assets/gradient.png') center/cover;margin:0 -5.56%;padding:70px 25px;border:0}.contact h2{font-size:clamp(40px,6vw,72px);font-weight:300;line-height:1.2;margin:16px 0 25px;letter-spacing:-.04em}.contact>p:not(.eyebrow){max-width:600px;margin:0 auto 14px;font-size:18px}.contact .contact-aside{font-family:Georgia,serif;font-style:italic;font-size:15px!important}.contact-actions{display:flex;justify-content:center;gap:14px;margin:28px 0 18px}.contact .button{border-color:#353535;background:#ffffff80}.contact .dark{background:#282829;color:white}.contact .button:hover{background:#fff;color:#222}.email{font-size:14px;text-decoration:underline;text-underline-offset:4px}footer{max-width:1280px;margin:auto;padding:27px 5%;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}footer a{text-decoration:underline;text-underline-offset:4px}@media(min-width:1450px){main{padding:0 35px}.contact{margin:0 -35px}}@media(max-width:900px){nav{gap:18px}.hero-bottom{display:block}.hero-bottom p{margin-top:10px}.hero h1{font-size:11vw}.hero-top .serif{display:none}.expertise-grid,.personality{grid-template-columns:1fr 1fr}.intro{grid-template-columns:1fr 2fr;gap:25px}.section-heading{align-items:start}.section-heading>p{display:none}.project-info{display:block}.project-link{display:block;margin-top:7px}.project-art{padding:22px;height:250px}.type-composition{font-size:38px}.toolbox{display:block}.toolbox p{margin-bottom:0}summary{grid-template-columns:155px 1fr 25px}.experience-body{margin-left:175px}.education{grid-template-columns:1fr;gap:10px}}@media(max-width:600px){header{padding:20px 6%;align-items:flex-start}.brand{font-size:14px}.brand span{font-size:10px}nav{gap:15px;font-size:13px}nav a:nth-child(2),nav a:nth-child(3){display:none}.contact-nav{border:0;padding:0;text-decoration:underline;text-underline-offset:4px}main{padding:0 6%}.hero{padding-top:34px}.hero h1{font-size:12vw;letter-spacing:.055em;margin-top:30px}.hero-bottom h2{font-size:16px;letter-spacing:.09em}.hero-bottom p{font-size:14px}.cover{height:220px}.cover-note{font-size:24px;left:25px;top:35px}.cover .portrait{width:96px;height:96px;right:20px;bottom:-26px;border-width:5px}.intro{grid-template-columns:1fr;gap:20px}.intro p{font-size:16px}.intro h2{font-size:25px}.section{padding:55px 0}.section-heading{display:block;margin-bottom:28px}.section-heading .button{margin-top:25px}.projects{grid-template-columns:1fr;gap:35px}.project-art{height:280px}.type-composition{font-size:44px}.project-info{display:flex}.project-info h3{font-size:18px}.project-link{font-size:12px}.expertise-grid,.personality{gap:28px 22px}.expertise article p,.personality p{font-size:14px}.expertise h3{font-size:17px}.toolbox>span{font-size:19px}summary{grid-template-columns:1fr 25px;gap:6px;padding:23px 0}.date{grid-column:1}.toggle{grid-column:2;grid-row:1/3}summary b{font-size:22px}.experience-body{margin:0 0 25px;font-size:15px}.education>div{grid-template-columns:1fr;gap:20px}.about-intro{font-size:20px}.languages{grid-template-columns:1fr;gap:13px}.languages .language-joke{grid-column:auto}.contact{margin:0 -6.82%;padding:55px 24px}.contact-actions{flex-direction:column;align-items:center}.contact>p:not(.eyebrow){font-size:16px}footer{flex-wrap:wrap;font-size:12px;padding:24px 6%}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* A concise introduction, with the name retained in navigation. */
.hero h1{font-size:clamp(42px,6.1vw,78px);font-weight:300;letter-spacing:-.035em;line-height:1.12;margin:30px 0 24px}.hero h1 em{font-weight:400}.hero-bottom{margin-bottom:30px}
@media(max-width:600px){.hero h1{font-size:clamp(32px,8.5vw,48px);letter-spacing:-.03em}}

/* Hero reading order: role, location, cover, specialties. */
.hero h1{font-size:clamp(32px,5.4vw,68px);margin:12px 0 8px}.hero-location{font-size:clamp(18px,2vw,24px);margin:0 0 30px;color:var(--muted)}.hero .cover{margin-bottom:48px}.hero-bottom{margin-bottom:36px}

.languages{display:block}.language-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:24px}.language-grid h4{font-size:16px;font-weight:500;margin:0 0 8px}.language-grid p{font-size:14px;color:var(--muted)}@media(max-width:900px){.language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.language-grid{grid-template-columns:1fr}}

/* Project studies — original Notion copy and supplied imagery. */
.project-art.actual-project{padding:0;background:#f0f0f0;height:auto;aspect-ratio:1.89;display:block}.actual-project img{display:block;width:100%;height:100%;object-fit:contain}.case-heading{padding:48px 0 35px}.case-back{font-size:14px;text-decoration:underline;text-underline-offset:5px}.case-heading h1{font-size:clamp(36px,5.5vw,68px);font-weight:300;line-height:1.12;letter-spacing:-.035em;margin:35px 0}.case-meta{display:flex;gap:45px;align-items:center;flex-wrap:wrap}.case-meta p{margin:0;font-size:16px}.case-meta p>span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:5px}.case-cover{width:100%;max-height:380px;object-fit:cover;display:block}.case-preview{margin:35px 0 55px}.case-preview img{width:100%;display:block}.case-content{max-width:1020px;margin:auto}.case-section{display:grid;grid-template-columns:210px minmax(0,1fr);gap:40px;padding:36px 0;border-top:1px solid var(--line)}.case-section h2{font-family:Georgia,serif;font-style:italic;font-size:27px;font-weight:400;line-height:1.3;margin:0}.case-section p{margin:0 0 18px;font-size:17px;line-height:1.75}.case-section h3{font-size:20px;font-weight:500;margin:30px 0 12px}.case-section figure{margin:28px 0}.case-section img{width:100%;height:auto}.case-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:#f2f5f7;padding:25px;margin-top:30px}.case-stats b{display:block;font-size:40px;font-weight:300}.case-stats span{font-size:14px}.case-end{padding:40px 0 65px;display:flex;gap:15px;border-top:1px solid var(--line)}@media(max-width:700px){.case-section{grid-template-columns:1fr;gap:20px;padding:28px 0}.case-meta{gap:20px}.case-heading{padding-top:30px}.case-heading h1{font-size:38px;overflow-wrap:anywhere}.case-section p{font-size:16px}.case-preview{margin:24px 0 35px}.case-cover{max-height:240px}.case-stats{gap:12px;padding:20px}.case-stats b{font-size:34px}.case-section .button{white-space:normal}.case-end{flex-wrap:wrap}}

.case-page figure img{border-radius:16px}.case-preview{margin-top:0}

.language-switch{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:24px;flex-shrink:0}.language-switch a{display:block;border-radius:20px;padding:6px 10px;font-size:12px;line-height:1.3;color:var(--muted)}.language-switch a[aria-current="page"]{background:var(--ink);color:#fff}.language-switch a:hover{background:#ececee;color:var(--ink)}.language-switch a[aria-current="page"]:hover{background:#454548;color:#fff}@media(max-width:600px){header{gap:14px;align-items:center}nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.language-switch a{padding:6px 8px}.brand{flex-shrink:0;font-size:12px}.brand span{font-size:9px}.contact-nav{font-size:12px}}
@media(max-width:600px){header{flex-wrap:wrap;row-gap:12px}header nav{flex-basis:100%;justify-content:space-between}html{scroll-padding-top:145px}}

/* Balanced hero composition in both languages. */
.hero{padding-top:48px}.hero h1{font-size:clamp(34px,4.4vw,54px);line-height:1.16;letter-spacing:-.035em;margin:0 0 12px;font-weight:300}.hero h1 em{font-weight:400}.hero-location{font-size:18px;margin:0 0 32px;color:#66666b}.hero .cover{height:auto;min-height:270px;display:grid;grid-template-columns:minmax(0,1fr) 176px;align-items:center;gap:40px;padding:38px 48px;border-radius:24px;overflow:hidden;isolation:isolate;margin-bottom:0}.cover>img:first-child{position:absolute;inset:0;z-index:-2;height:100%;width:100%;object-fit:cover}.hero .cover:after{content:"";position:absolute;inset:0;background:#ffffff35;z-index:-1;pointer-events:none}.hero .cover-note{position:static;font-size:clamp(26px,3.2vw,40px);line-height:1.32;letter-spacing:-.03em;color:#202022}.hero .cover-note i{display:inline-block;margin-top:3px}.hero .cover .portrait{position:static;width:176px;height:190px;border:5px solid #ffffffd9;border-radius:20px;object-fit:cover;box-shadow:0 12px 30px #29232715;transform:rotate(3deg)}.hero-bottom{display:block;margin:0 0 36px;padding:0 4px}.hero-bottom p{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:18px;font-family:inherit;font-style:normal;font-size:14px;letter-spacing:.025em;margin:0}.hero-bottom p span{padding:20px 0;border-bottom:1px solid var(--line)}.hero-bottom p span:nth-child(2){text-align:center}.hero-bottom p span:last-child{text-align:right}.hero .intro{padding-top:12px}
@media(max-width:800px){.hero .cover{grid-template-columns:minmax(0,1fr) 140px;gap:25px;padding:32px;min-height:235px}.hero .cover .portrait{width:140px;height:155px}.hero .cover-note{font-size:29px}}
@media(max-width:520px){.hero{padding-top:32px}.hero h1{font-size:34px}.hero-location{font-size:16px;margin-bottom:24px}.hero .cover{grid-template-columns:1fr;gap:26px;padding:28px;min-height:0;border-radius:20px}.hero .cover-note{font-size:28px}.hero .cover .portrait{width:100px;height:108px;justify-self:end;border-width:4px;border-radius:14px}.hero-bottom p{display:flex;flex-wrap:wrap;gap:8px 18px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.hero-bottom p span{padding:0;border:0}.hero-bottom p span:nth-child(2),.hero-bottom p span:last-child{text-align:left}.hero-bottom{margin-bottom:30px}}

.project-art .type-composition>span{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;text-transform:none;letter-spacing:-.045em}.wellness .type-composition,.lafayette .type-composition{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(28px,3.2vw,42px);text-align:left}.project-art .type-composition i{font-family:Georgia,serif;font-style:italic;font-weight:400;margin-top:6px}

/* Aluminium */
.project-art.aluminium{background:#e4e6e8;color:#263344}
.aluminium-intro{font-family:Georgia,serif;font-style:italic;font-size:clamp(21px,2.6vw,30px);line-height:1.4;margin:0 0 30px}
.case-stats.aluminium-stats{grid-template-columns:repeat(4,minmax(0,1fr));background:#e9ecef;border-radius:16px;gap:22px;padding:28px}
@media(max-width:600px){.case-stats.aluminium-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Aluminium light / dark comparison */
.case-section .theme-comparison{grid-column:1/-1;margin:4px 0 0;min-width:0}
.theme-comparison-stage{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:1920/937;background:#131a3b;isolation:isolate;touch-action:pan-y}
.case-section .theme-comparison-stage img{display:block;width:100%;height:100%;margin:0;border-radius:0;object-fit:contain;user-select:none}
.theme-comparison-stage .compare-light{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}
.compare-divider{position:absolute;left:var(--reveal);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 1px 3px #0008)}
.compare-divider>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#17274a;font:26px Arial,sans-serif}
.theme-comparison-stage .compare-range{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.theme-comparison-stage:focus-within{outline:3px solid #0050d7;outline-offset:4px}
.compare-labels{display:flex;justify-content:space-between;margin-top:14px;font-size:13px;font-weight:600}
.theme-comparison figcaption{margin-top:10px;color:#666;font-size:14px;line-height:1.5}

/* Exact ODS laptop frame; original Aluminium screenshot keeps its aspect ratio. */
.aluminium-laptop{position:relative;display:block;overflow:hidden;border-radius:16px;line-height:0}
.case-preview .aluminium-laptop-frame{display:block;width:100%;height:auto;border-radius:0}
.aluminium-laptop-screen{position:absolute;left:25.42%;top:19.16%;width:49.23%;height:58.27%;display:block;background:#f2f2f2;overflow:hidden}
.case-preview .aluminium-laptop-screen img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
