
:root{--paper:#e8e5de;--ink:#252522;--line:#b9b7af;--muted:#696961}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a34b24;outline-offset:6px}::selection{background:#c4c6ae}header{display:flex;align-items:center;justify-content:space-between;padding:25px 3.5%;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:700;letter-spacing:-1px}.brand span{font-weight:400}.overline,.meta{font-size:12px;letter-spacing:.07em;text-transform:uppercase}.header-middle{font-size:12px;letter-spacing:.09em}nav{display:flex;gap:28px;font-size:14px}.menu-toggle{display:none;background:none;border:0;padding:8px}.hero{padding:55px 3.5% 0}.hero-top{display:flex;justify-content:space-between}.hero h1{font-size:clamp(64px,13.6vw,230px);font-weight:500;letter-spacing:-.045em;line-height:.95;margin:78px 0 30px;white-space:nowrap}.hero h1 span{font-weight:300}.hero-foot{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;padding-bottom:40px}.hero-foot p{font-size:18px;line-height:1.4;max-width:310px;margin:0}.hero-foot .meta:last-child{text-align:right}.underlink{display:inline-block;border-bottom:1px solid;padding-bottom:7px;font-size:14px}.hero-image{position:relative;margin:0 3.5%;height:min(70vw,640px);overflow:hidden;background:#383d3c}.hero-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-caption{position:absolute;bottom:0;left:0;right:0;padding:70px 30px 25px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.65));display:flex;justify-content:space-between;align-items:end}.hero-caption strong{font-size:24px;font-weight:400}.hero-caption span{font-size:13px}.section{padding:110px 3.5%}.section-title{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-top:55px}.intro-grid h2{font-size:clamp(40px,5.3vw,84px);line-height:1.06;font-weight:400;letter-spacing:-.045em;margin:0;max-width:920px}.intro-copy{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:15px}.intro-copy p{font-size:17px;line-height:1.65;max-width:390px}.intro-copy .small{font-size:14px;color:var(--muted)}.portfolio{background:#252522;color:var(--paper)}.portfolio .section-title{border-color:#62625a}.portfolio-title{font-size:clamp(50px,8vw,118px);font-weight:400;letter-spacing:-.055em;margin:48px 0 65px;line-height:1}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 30px}.project-card{margin:0}.project-card:nth-child(2){margin-top:120px}.project-card:nth-child(4){margin-top:90px}.project-card:last-child{grid-column:1/-1;width:68%;margin-top:10px}.project-card button{display:block;background:none;border:0;padding:0;width:100%;text-align:left;cursor:pointer}.project-img{height:390px;overflow:hidden;background:#3a3a35}.project-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card button:hover img{transform:scale(1.035)}.project-card:last-child .project-img{height:470px}.project-caption{display:flex;justify-content:space-between;border-top:1px solid #66665d;padding-top:15px;margin-top:15px;gap:12px}.project-caption strong{font-size:20px;font-weight:400}.project-caption span{font-size:12px;color:#bebeb4}.portfolio-note{font-size:13px;color:#bebeb4;margin:40px 0 0}.process-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin:60px 0}.process-heading h2{font-size:clamp(40px,5.7vw,88px);font-weight:400;line-height:1.06;letter-spacing:-.05em;margin:0}.process-heading p{font-size:17px;line-height:1.6;max-width:270px}.steps{margin-left:34%}details{border-top:1px solid var(--line);padding:24px 0}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:55px 1fr 25px;align-items:center;font-size:29px;letter-spacing:-.025em}summary::-webkit-details-marker{display:none}summary .num{font-size:13px;letter-spacing:0}summary:after{content:'+';font-size:28px;font-weight:300}details[open] summary:after{content:'−'}details p{font-size:16px;line-height:1.65;max-width:600px;margin:24px 35px 5px 55px}.contact{padding-top:80px;padding-bottom:35px;background:#d1d1c7}.contact h2{font-size:clamp(48px,8.4vw,125px);font-weight:400;letter-spacing:-.055em;line-height:1.03;margin:65px 0}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:75px 0}.contact-row p{font-size:16px;line-height:1.6;max-width:290px}.contact-links{display:flex;align-items:flex-start;flex-direction:column;gap:22px}.contact-links a{font-size:clamp(16px,2.3vw,34px);border-bottom:1px solid;padding-bottom:7px;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;border-top:1px solid #a5a59b;padding-top:20px;font-size:12px;gap:16px}dialog{padding:0;border:0;background:var(--paper);color:var(--ink);width:min(1100px,94vw);max-height:94vh}dialog::backdrop{background:rgba(0,0,0,.8)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:22px}.dialog-head h2{font-weight:400;font-size:24px;margin:0}.close{background:none;border:1px solid var(--line);padding:10px 15px;cursor:pointer;font-size:14px}.dialog-image{display:block;width:100%;max-height:72vh;object-fit:contain;background:#d6d4cd}.dialog-foot{padding:20px 22px;font-size:14px;display:flex;justify-content:space-between;gap:20px}.skip{position:absolute;top:-70px;left:20px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}@media(max-width:760px){header{padding:20px 5%}.header-middle{display:none}.menu-toggle{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:30px 5%;z-index:5;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;font-size:22px}.hero{padding:35px 5% 0}.hero h1{font-size:12.7vw;margin:70px 0 30px}.hero-top .meta{font-size:11px}.hero-foot{grid-template-columns:1fr auto;gap:20px;padding-bottom:30px}.hero-foot p{font-size:16px;max-width:230px}.hero-foot>.meta:last-child{display:none}.hero-image{margin:0 5%;height:420px}.hero-caption{padding:70px 20px 20px}.hero-caption strong{font-size:18px}.hero-caption span{font-size:11px}.section{padding:65px 5%}.intro-grid,.process-heading{grid-template-columns:1fr;gap:25px;margin-top:35px}.intro-grid>.meta{display:none}.intro-copy{grid-column:auto;grid-template-columns:1fr;gap:5px}.intro-copy p{max-width:none}.project-grid{grid-template-columns:1fr;gap:40px}.project-card:nth-child(n){margin:0;width:100%;grid-column:auto}.project-img,.project-card:last-child .project-img{height:310px}.portfolio-title{margin:35px 0 40px}.project-caption strong{font-size:19px}.steps{margin:0}summary{font-size:24px;grid-template-columns:40px 1fr 25px}details p{margin-left:40px}.process-heading p{max-width:100%;margin:0}.contact h2{margin:40px 0}.contact-row{grid-template-columns:1fr;gap:25px;margin:40px 0}footer{flex-wrap:wrap;line-height:1.6}.dialog-foot{flex-direction:column}.dialog-head h2{font-size:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


.project-card>a{display:block}.project-card a:hover img{transform:scale(1.025)}.all-projects{display:flex;justify-content:space-between;align-items:center;margin-top:70px;border-top:1px solid #62625a;padding:25px 0;font-size:24px}.archive-intro{padding:72px 3.5% 48px}.archive-top{display:flex;justify-content:space-between;align-items:center}.archive-intro h1{font-size:clamp(76px,14vw,210px);font-weight:400;letter-spacing:-.07em;line-height:1;margin:55px 0 36px}.archive-intro h1 sup{font-size:16px;vertical-align:top;letter-spacing:0;margin:20px}.archive-bottom{display:flex;justify-content:space-between;gap:40px;align-items:end}.archive-bottom p{font-size:20px;line-height:1.5;max-width:600px;margin:0}.archive-body{padding:0 3.5% 90px}.filters{display:flex;gap:9px;flex-wrap:wrap;padding:25px 0 35px;border-top:1px solid var(--line)}.filters button{border:1px solid var(--line);background:transparent;padding:12px 18px;border-radius:0;cursor:pointer;min-height:44px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 28px}.archive-card{min-width:0}.archive-card[hidden]{display:none}.archive-card .thumb{height:auto;aspect-ratio:1.45;overflow:hidden;background:#d4d1c9}.archive-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s;display:block}.archive-card:hover img{transform:scale(1.035)}.card-label{display:flex;align-items:start;justify-content:space-between;border-top:1px solid var(--line);margin-top:15px;padding-top:14px;gap:15px}.card-label h2{font-weight:400;font-size:25px;letter-spacing:-.025em;margin:0 0 8px}.card-label p{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:0;color:var(--muted)}.card-label>span{font-size:25px}.project-intro{padding:50px 3.5% 45px}.breadcrumb{font-size:13px;color:var(--muted)}.project-title-row{display:grid;grid-template-columns:3fr 1fr;align-items:end;gap:30px;margin-top:60px}.project-title-row h1{font-size:clamp(48px,7.8vw,125px);letter-spacing:-.055em;font-weight:400;line-height:1.04;margin:0;max-width:1100px;overflow-wrap:anywhere}.project-title-row .meta{justify-self:end;padding-bottom:8px}.detail-hero{margin:0 3.5%;background:#d4d1c9;overflow:hidden}.detail-hero img{display:block;width:100%;max-height:80vh;min-height:350px;object-fit:cover}.project-story{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:90px 3.5%}.project-story h2{font-size:clamp(30px,3.7vw,60px);font-weight:400;letter-spacing:-.035em;line-height:1.13;margin:0 0 35px;max-width:850px}.project-story .copy{display:grid;grid-template-columns:1fr 1fr;gap:35px}.project-story p{font-size:17px;line-height:1.7;margin:0}.gallery-section{padding:55px 3.5% 90px;background:#252522;color:var(--paper)}.gallery-heading{border-top:1px solid #62625a;display:flex;justify-content:space-between;gap:20px;padding-top:18px;margin-bottom:42px;align-items:center}.gallery-heading h2{font-size:16px;font-weight:400;letter-spacing:.04em;margin:0}.gallery-heading span{font-size:12px;color:#bebeb4}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 24px;align-items:start}.gallery-grid figure{margin:0;min-width:0}.gallery-grid figure.wide{grid-column:1/-1}.gallery-grid a{display:block;background:#302f2a}.gallery-grid img{display:block;width:100%;height:460px;object-fit:contain;transition:filter .3s}.gallery-grid .wide img{height:auto;max-height:760px}.gallery-grid a:hover img{filter:brightness(1.07)}.gallery-grid figcaption{display:flex;justify-content:space-between;margin-top:12px;font-size:12px;color:#bebeb4;gap:15px}.stage-title{font-size:clamp(30px,4vw,65px);font-weight:400;letter-spacing:-.04em;margin:60px 0 28px}.next-project{display:block;padding:70px 3.5%;border-bottom:1px solid var(--line)}.next-project h2{font-size:clamp(34px,5vw,75px);font-weight:400;letter-spacing:-.04em;margin:20px 0 0}.next-project h2 span{float:right}.detail-footer{padding:40px 3.5% 28px;background:#d1d1c7}.detail-footer .footer-invite{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:50px}.footer-invite h2{font-size:clamp(30px,4vw,60px);font-weight:400;letter-spacing:-.04em;margin:0}.footer-invite a{overflow-wrap:anywhere}.lightbox{background:#191917;color:#e8e5de;width:98vw;max-width:1500px;max-height:97vh}.lightbox .dialog-image{background:#191917;height:75vh;max-height:75vh;object-fit:contain}.lightbox .dialog-head{padding:15px 22px;gap:20px}.lightbox .dialog-head h2{font-size:18px}.lightbox .dialog-foot{align-items:center;padding:12px 22px}.lightbox .dialog-foot button{background:none;border:1px solid #77776d;padding:12px 20px;cursor:pointer;min-width:48px}.lightbox .dialog-foot p{margin:0;font-size:13px}.lightbox .close{color:inherit}.lightbox-status{min-width:70px;text-align:center}.page-count{white-space:nowrap;font-size:13px;color:var(--muted)}.process-proof{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:75px;padding-top:25px;border-top:1px solid var(--line)}.process-proof img{width:100%;height:310px;object-fit:cover}.process-proof h3{font-size:36px;letter-spacing:-.035em;font-weight:400;margin:20px 0}.process-proof p{font-size:17px;line-height:1.6;max-width:430px}.process-proof .meta{display:block}body:has(dialog[open]){overflow:hidden}noscript p{padding:20px}.project-grid .project-caption strong{max-width:75%}@media(min-width:1500px){.archive-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.archive-intro{padding:40px 5% 30px}.archive-intro h1{margin:40px 0 25px}.archive-intro h1 sup{margin:10px}.archive-bottom{display:block}.archive-bottom p{font-size:17px}.page-count{display:block;margin-top:20px}.archive-body{padding:0 5% 60px}.filters{gap:7px;padding:20px 0 25px}.filters button{padding:10px 13px;font-size:13px}.archive-grid{grid-template-columns:1fr;gap:35px}.card-label h2{font-size:24px}.project-intro{padding:35px 5%}.project-title-row{grid-template-columns:1fr;margin-top:38px;gap:20px}.project-title-row .meta{justify-self:start}.detail-hero{margin:0 5%}.detail-hero img{min-height:0;max-height:65vh;object-fit:contain}.project-story{grid-template-columns:1fr;padding:50px 5%;gap:25px}.project-story .copy{grid-template-columns:1fr;gap:20px}.project-story p{font-size:16px}.gallery-section{padding:40px 5% 55px}.gallery-heading{align-items:start;flex-direction:column;gap:10px;margin-bottom:25px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-grid figure.wide{grid-column:auto}.gallery-grid img,.gallery-grid .wide img{height:auto;max-height:520px}.gallery-grid figcaption{font-size:11px}.stage-title{margin-top:40px}.next-project{padding:45px 5%}.detail-footer{padding:35px 5%}.detail-footer .footer-invite{display:block}.footer-invite h2{margin-bottom:25px}.all-projects{font-size:20px;margin-top:40px}.lightbox .dialog-foot{flex-direction:row;flex-wrap:wrap;gap:10px;padding:12px}.lightbox .dialog-image{height:65vh;max-height:65vh}.lightbox .dialog-foot p{width:100%;text-align:center;order:4}.lightbox .dialog-head{padding:15px 12px}.lightbox .dialog-head h2{font-size:15px}.process-proof{grid-template-columns:1fr;margin-top:45px;gap:20px}.process-proof img{height:auto}.process-proof h3{font-size:32px}.archive-top .meta:last-child{font-size:10px}.project-caption{align-items:baseline}.project-caption span{font-size:10px}}
/* Consistent warm, restrained treatment for portfolio covers. Original gallery images retain their material colours. */
:root{--portfolio-image-tone:saturate(.68) sepia(.13) contrast(.96) brightness(.98)}
.archive-card .thumb img,.project-img img,.hero-image img,.detail-hero img{filter:var(--portfolio-image-tone)}

/* Original HAN DESIGN artwork; transparent background, theme-aware ink. */
.brand{display:block;line-height:0;flex-shrink:0}.brand-logo{display:block;width:108px;height:auto;filter:brightness(0);opacity:.86}.hero h1.hero-brand{margin:58px 0 48px;white-space:normal;line-height:0}.hero-brand img{display:block;width:clamp(240px,39vw,560px);height:auto;filter:brightness(0);opacity:.86} @media(max-width:760px){.brand-logo{width:82px}nav{top:88px}.hero h1.hero-brand{margin:48px 0 40px}.hero-brand img{width:min(78vw,400px)}}

.hero h1.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero .hero-foot{margin-top:52px}@media(max-width:760px){.hero .hero-foot{margin-top:35px}}

.virtual-tours{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;border-top:1px solid var(--line);padding:24px 0 32px;align-items:center}.virtual-tours p{font-size:18px;margin:8px 0 0}.virtual-tours>a{display:flex;gap:18px;align-items:center;width:fit-content;padding:8px 0;font-size:13px}.tour-letter{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--ink);font-size:28px;transition:background .2s,color .2s}.virtual-tours>a:hover .tour-letter{background:var(--ink);color:var(--paper)}@media(max-width:760px){.virtual-tours{grid-template-columns:1fr 1fr;gap:16px}.virtual-tours>div{grid-column:1/-1}.virtual-tours>a{gap:10px;font-size:12px}.tour-letter{width:44px;height:44px;font-size:24px}}

.hero-foot{grid-template-columns:1fr 2fr}.about-layout{display:grid;grid-template-columns:1fr 2fr;gap:50px;margin:55px 0}.about-layout h2{font-size:clamp(32px,4vw,60px);font-weight:400;letter-spacing:-.04em;line-height:1.12;margin:0}.about-layout h2 span{display:block;font-size:13px;letter-spacing:.05em;margin-top:18px;text-transform:uppercase;color:var(--muted)}.about-copy p,.about-principles p,.about-principles li{font-size:17px;line-height:1.7;margin:0 0 22px}.about-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.about-principles article{border-top:1px solid var(--line);padding-top:22px}.about-principles h3{font-size:26px;font-weight:400;letter-spacing:-.03em;margin:0 0 22px}.about-principles ul{padding-left:20px}.contact address{font-style:normal;font-size:18px;line-height:1.65;margin:20px 0}@media(max-width:760px){.hero-foot{grid-template-columns:1fr auto}.about-layout,.about-principles{grid-template-columns:1fr;gap:28px}.about-layout{margin:35px 0}.about-copy p,.about-principles p,.about-principles li{font-size:16px}}
