:root{--bg:#101a14;--bg-deeper:#0c1510;--bg-panel:#17251b;--cream:#e6dac6;--cream-muted:#bdb9a8;--sage:#94a68b;--sage-soft:#718b70;--line:rgba(224,219,200,.20);--line-strong:rgba(224,219,200,.34);--display:'Italiana','Bodoni MT','Times New Roman',serif;--sans:'Manrope','DM Sans',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--cream);font:400 14px/1.65 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}button,input,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #bdcea9;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}::selection{background:#a9b99b;color:#101a14}.wrap{width:calc(100% - 112px);max-width:1500px;margin-left:auto;margin-right:auto}.skip-link{position:fixed;z-index:200;left:16px;top:-100px;padding:10px;background:#fff;color:#121a14}.skip-link:focus{top:10px}.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}
.site-header{height:86px;width:100%;padding:0 max(56px,calc((100vw - 1500px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(236,225,201,.12);background:rgba(12,22,17,.86);backdrop-filter:blur(24px);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:20px}.brand-monogram{font:italic 56px/.8 var(--display);letter-spacing:-.16em;color:var(--cream)}.brand-monogram span{font-size:.72em;margin-left:1px}.brand-monogram i{font-style:normal;color:var(--sage);font-size:.6em}.brand-divider{width:1px;height:30px;background:var(--line-strong);margin-left:8px}.brand-name{font-size:12px;font-weight:600;letter-spacing:.2em;line-height:1.4;white-space:nowrap}.brand-name small{display:block;color:#aaa99d;font-size:8px;letter-spacing:.23em;margin-top:4px;font-weight:400}.main-nav{display:flex;gap:45px;align-items:center;margin-left:auto;margin-right:55px}.main-nav a,.language-switch{font-size:10px;letter-spacing:.16em;font-weight:600}.main-nav a{color:#bdbdaf;position:relative;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:var(--cream)}.main-nav a:after{content:'';position:absolute;height:1px;bottom:-10px;left:0;width:0;background:var(--sage);transition:width .3s}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.header-actions{display:flex;gap:18px;align-items:center}.language-switch{border:1px solid var(--line-strong);border-radius:0;padding:8px 10px;background:transparent;color:#9da99a}.language-switch .active{color:var(--cream)}.language-switch .lang-separator{color:#637866;padding:0 5px}.mobile-menu{display:none;border:none;background:transparent;width:35px;height:30px;position:relative}.mobile-menu span{display:block;height:1px;background:var(--cream);width:100%;position:absolute;left:0;top:10px}.mobile-menu span:nth-child(2){top:20px}
.hero{height:780px;min-height:720px;background:radial-gradient(ellipse 56% 60% at 50% 49%,#415846 0%,#243729 56%,transparent 100%),radial-gradient(ellipse 32% 52% at 4% 86%,#172d21,transparent 100%),linear-gradient(145deg,#111c15,#122017 65%,#111a14);isolation:isolate;position:relative;overflow:hidden}.hero:before{content:'';height:100%;width:100%;position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(5,14,8,.34) 0%,transparent 25%,transparent 70%,rgba(6,15,9,.38) 100%)}.hero-glow{position:absolute;top:13%;left:50%;transform:translateX(-50%);width:760px;height:660px;border-radius:50%;filter:blur(90px);background:radial-gradient(circle,rgba(115,143,112,.12),transparent 70%)}.hero-orbit{position:absolute;pointer-events:none;width:700px;height:700px;border:1px solid rgba(219,220,193,.065);border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-15deg);z-index:0}.hero-orbit--two{width:920px;height:920px;opacity:.6}.hero-topline{display:flex;justify-content:space-between;position:relative;z-index:3;padding-top:34px;font-size:10px;letter-spacing:.22em;color:#d0c6b5}.diamond{color:var(--sage);padding:0 8px}.hero-title{font:400 clamp(120px,16.4vw,260px)/.92 var(--display);letter-spacing:-.065em;text-align:center;width:100%;position:absolute;top:80px;z-index:1;margin:0;white-space:nowrap;color:#e4d5be;text-shadow:0 6px 35px rgba(0,0,0,.10)}.hero-portrait-wrap{position:absolute;width:clamp(360px,34.5vw,485px);bottom:38px;left:50%;transform:translateX(-50%);z-index:2;pointer-events:none}.hero-portrait{width:100%;height:auto;filter:drop-shadow(15px 6px 35px rgba(0,0,0,.25))}.hero-bottom{position:absolute;left:50%;transform:translateX(-50%);bottom:134px;z-index:5;display:flex;align-items:end;justify-content:space-between;pointer-events:none}.hero-message{width:325px;pointer-events:auto}.tiny-rule{height:1px;width:29px;background:var(--sage);margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:.18em;line-height:1.7;font-weight:600;color:var(--sage);margin-bottom:18px}.hero-message h2{font:400 32px/1.25 var(--display);letter-spacing:-.025em;color:#eee2ce;margin-bottom:27px}.hero-message h2 em,.display-heading em,.contact-title em{font-style:italic;color:#a7b89b}.outline-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:13px 19px;border:1px solid rgba(225,216,198,.6);font-size:10px;font-weight:600;letter-spacing:.13em;transition:color .25s,background .25s,border .25s}.outline-btn:hover{background:var(--cream);color:var(--bg)}.hero-side{width:270px;padding-left:20px;pointer-events:auto}.hero-side-line{width:1px;height:48px;background:var(--sage);display:block;margin-bottom:20px}.hero-side p{font-size:11px;line-height:2.0;color:#e0dbcb}.hero-side-footer{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.11em;padding-top:16px;color:#c8cfbd}.availability-dot{display:inline-block;width:6px;height:6px;background:#b6cfa4;border-radius:50%;box-shadow:0 0 0 4px rgba(192,210,169,.13)}.hero-scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.18em;color:#9db09b}.hero-scroll span:last-child{margin-left:auto}.scroll-indicator{font-size:22px;line-height:1;animation:bounce 2.7s ease-in-out infinite}@keyframes bounce{50%{transform:translateY(7px)}}
.section-space{padding-top:106px;padding-bottom:100px}.section-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px;color:#c7cbb8}.index-label,.section-bar-right{font-size:10px;letter-spacing:.16em;font-weight:600}.section-bar-right{color:#909f90}.symbol{color:var(--sage);padding-left:8px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin:49px 0 34px}.color-moss{color:#91a78e}.display-heading{font:400 clamp(52px,5.4vw,86px)/1.04 var(--display);letter-spacing:-.035em;margin:0}.section-intro{max-width:365px;color:#b6bdb0;font-size:12px;line-height:2.1}.filter-list{display:flex;align-items:center;gap:11px;margin:42px 0 24px;overflow-x:auto;padding-bottom:5px}.filter{padding:10px 15px;border:1px solid var(--line);background:transparent;color:#9faf9f;font-size:9px;letter-spacing:.12em;white-space:nowrap;font-weight:600;transition:.25s}.filter.active,.filter:hover{background:#d6d1bb;border-color:#d6d1bb;color:#18251d}.filter span{padding-left:11px;font-size:9px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 22px;align-items:start}.project-card{text-align:left;background:transparent;border:0;padding:0;overflow:hidden;min-width:0}.project-card[hidden]{display:none}.project-art{display:block;width:100%;aspect-ratio:1.41/1;overflow:hidden;background:#17231b;border:1px solid rgba(247,241,220,.12);position:relative}.project-art::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.09);pointer-events:none;transition:background .3s}.project-art img{height:100%;width:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.project-card:hover .project-art img{transform:scale(1.055)}.project-card:hover .project-art::after{background:transparent}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-top:19px;color:#a5ac9e}.project-count{font-size:9px;letter-spacing:.18em}.project-arrow{display:inline-grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;width:31px;height:31px;font-size:17px;transition:background .2s,transform .25s}.project-card:hover .project-arrow{background:var(--cream);color:var(--bg);transform:rotate(45deg)}.project-name{display:block;font:400 clamp(26px,3vw,43px)/1.25 var(--display);margin:4px 0 5px;letter-spacing:.015em;color:#e8decc}.project-caption{font-size:11px;color:#a2afa1}.work-foot{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);margin-top:61px;padding-top:20px}.work-foot p{font-size:10px;color:#8d9c8c;margin:0}.plus{color:var(--sage);margin-right:8px}.text-link{font-size:10px;letter-spacing:.12em;font-weight:600;white-space:nowrap;border-bottom:1px solid var(--line-strong);padding-bottom:7px;transition:border-color .25s}.text-link:hover{border-color:var(--sage)}
.about-section{background:#18271d;position:relative}.about-section:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 72% 36%,rgba(123,142,111,.13),transparent 58%);pointer-events:none}.about-grid{display:grid;grid-template-columns:1.06fr .75fr .48fr;gap:45px;align-items:end;padding-top:60px}.about-copy{align-self:center}.about-headline{font-size:clamp(48px,4.1vw,72px);line-height:1.06;margin:0 0 29px}.about-lead{max-width:455px;font:400 clamp(19px,1.65vw,25px)/1.54 var(--display);color:#e6d9c2}.about-paragraph{max-width:445px;font-size:12px;line-height:2.25;color:#aebcae}.about-links{display:flex;align-items:center;gap:27px;margin-top:27px;flex-wrap:wrap}.outline-btn--light{gap:30px}.about-photo{height:510px;overflow:hidden;position:relative;background:#3d5644}.about-photo img{height:100%;width:100%;object-fit:cover;object-position:center 34%;filter:saturate(.55) contrast(1.05);transition:filter .4s,transform .6s}.about-photo:hover img{filter:saturate(.8);transform:scale(1.02)}.about-photo-shade{position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(9,17,11,.7))}.photo-caption{position:absolute;bottom:18px;left:20px;right:20px;display:flex;justify-content:space-between;gap:8px;font-size:8px;letter-spacing:.12em}.about-quote{align-self:end;padding:0 0 26px 18px;border-left:1px solid var(--line-strong)}.quote-mark{font:90px/.55 Georgia,serif;color:#d1c1a5;display:block}.about-quote blockquote{font:italic 25px/1.48 Georgia,serif;color:#dfd4bb;margin:15px 0}.quote-foot{font-size:8px;letter-spacing:.12em;color:#9fac99}.impact-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr) 1.1fr}.impact-row>div{padding:22px 22px 22px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.impact-row>div:not(:first-child){padding-left:35px}.impact-row>div:last-child{border:0}.impact-row strong{font:58px/.98 var(--display);font-weight:400}.impact-row strong span{color:var(--sage)}.impact-row div>span{color:#a7b6a7;font-size:9px;letter-spacing:.12em}.impact-row .impact-note{justify-content:center;color:#98a997;font-size:10px;line-height:1.9;letter-spacing:0}
.expertise-intro{display:flex;justify-content:space-between;gap:50px;align-items:end;margin:52px 0 50px}.expertise-list{border-top:1px solid var(--line)}.expertise-item{display:grid;grid-template-columns:70px 1.5fr .8fr 36px;gap:18px;align-items:center;padding:29px 10px 31px;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}.expertise-item:hover{background:rgba(164,184,154,.045);padding-left:20px}.expertise-item>span:first-child{font-size:12px;color:#92a18f}.expertise-item h3{font:400 clamp(26px,2.8vw,42px)/1.24 var(--display);letter-spacing:-.02em;margin:0}.exp-detail{font-size:10px;letter-spacing:.1em;color:#8c9e8b}.exp-arrow{font-size:21px;color:#b9c2ae}
.journey-section{background:#2b211e;position:relative;overflow:hidden}.journey-section:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 9% 40%,rgba(101,57,44,.52),transparent 54%),radial-gradient(ellipse at 90% 70%,rgba(69,42,32,.5),transparent 65%);pointer-events:none}.journey-section .wrap{position:relative;z-index:1}.section-bar--light{border-color:rgba(244,229,204,.24)}.section-bar--light .section-bar-right{color:#c6b6a8}.journey-layout{display:grid;grid-template-columns: .95fr 1fr;gap:100px;padding-top:73px}.journey-left{position:relative}.journey-left .eyebrow{color:#c7a898}.journey-left h2{font-size:clamp(55px,5.6vw,89px);margin:0 0 30px}.journey-left .display-heading em{color:#cab6a3}.journey-left>p:not(.eyebrow){max-width:330px;color:#c4b9af;font-size:12px;line-height:2.1}.journey-decoration{font:280px/1 var(--display);opacity:.07;display:block;margin-top:70px;color:#f0dcc7}.timeline{border-left:1px solid rgba(244,223,203,.27)}.timeline-row{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:4px 0 35px 30px;position:relative;border-bottom:1px solid rgba(244,223,203,.19);margin-bottom:27px}.timeline-row:last-child{border:0;margin-bottom:0}.timeline-row:before{content:'';width:7px;height:7px;position:absolute;left:-4px;top:8px;background:#cbb6a5;border-radius:50%}.timeline-year{font-size:10px;letter-spacing:.08em;color:#d8c5b4;white-space:nowrap;padding-top:3px}.timeline-tag{font-size:9px;letter-spacing:.12em;color:#bfa393;margin-bottom:8px}.timeline-content h3{font:400 33px/1.1 var(--display);margin-bottom:13px}.timeline-content>p:last-child{color:#c1b2aa;font-size:11px;line-height:2.05;max-width:400px;margin:0}.timeline-arrow{font-size:.65em;color:#bb9a88;padding:0 7px}
.process-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:55px 0 65px}.steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line)}.step{padding:28px 26px 40px;border-right:1px solid var(--line);min-height:226px}.step:first-child{padding-left:0}.step:last-child{border-right:0}.step>span{font:italic 39px/1 var(--display);color:#aaba9d;display:block;margin-bottom:36px}.step h3{font-size:11px;letter-spacing:.16em;margin-bottom:12px}.step p{color:#a6b1a4;font-size:11px;line-height:1.95}.design-note{display:flex;align-items:start;gap:20px;margin:35px 0 0 max(0px,47%);font:italic 24px/1.5 Georgia,serif;color:#d5d0bd}.design-note span{color:var(--sage);font:28px/1 var(--display)}.design-note p{max-width:590px}
.contact-section{background:radial-gradient(ellipse at 61% 0%,#2c4635 0%,#18291e 35%,#101a14 80%);padding:100px 0 83px;position:relative;overflow:hidden}.contact-section:after{content:'';position:absolute;width:540px;height:540px;border:1px solid rgba(222,210,184,.1);border-radius:50%;right:-170px;bottom:-330px;box-shadow:0 0 0 85px rgba(221,224,201,.018),0 0 0 170px rgba(221,224,201,.012);pointer-events:none}.contact-main{padding-top:80px;position:relative;z-index:1}.contact-main>.eyebrow{color:#b3c6aa}.contact-title{font:400 clamp(85px,10vw,158px)/.91 var(--display);letter-spacing:-.045em;margin-bottom:50px}.contact-title em{color:#b7c5ac}.contact-title span{color:#b7c5ac}.contact-bottom{display:flex;justify-content:space-between;gap:60px;align-items:center;border-top:1px solid var(--line);padding-top:30px}.contact-bottom p{max-width:430px;color:#bdc6b7;font-size:13px;line-height:2}.contact-cta{display:flex;gap:100px;align-items:center;justify-content:space-between;border:1px solid #b8c6ae;padding:20px 22px;min-width:310px;font-size:11px;font-weight:600;letter-spacing:.16em;transition:.25s}.contact-cta:hover{background:var(--cream);color:var(--bg)}.contact-cta span:last-child{font-size:23px}.contact-links{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.15em;color:#94ab95;margin-top:70px}.site-footer{min-height:118px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand-mark-footer{font:italic 48px/.9 var(--display);letter-spacing:-.12em}.brand-mark-footer span{color:var(--sage)}.site-footer>div{display:flex;gap:35px;font-size:9px;letter-spacing:.12em;color:#a2b1a1}.back-top{font-size:10px;letter-spacing:.12em}
.project-dialog{width:min(620px,calc(100% - 34px));padding:0;border:1px solid #72836e;background:#1b2a20;color:#e6dac6;box-shadow:0 28px 100px rgba(0,0,0,.65);max-height:min(85vh,780px)}.project-dialog::backdrop{background:rgba(6,12,8,.82);backdrop-filter:blur(10px)}.dialog-close{position:absolute;right:20px;top:18px;background:transparent;border:1px solid var(--line);width:38px;height:38px;display:grid;place-items:center;font-size:15px}.dialog-body{padding:60px 48px 50px}.dialog-body h2{font:400 clamp(37px,5vw,57px)/1.1 var(--display);margin:20px 0 24px}.dialog-body p{font-size:13px;line-height:2;color:#c4cfbe}.dialog-body .dialog-remark{color:#96ac92;font-size:11px;border-left:1px solid #7e927b;padding-left:15px;margin:27px 0}.dialog-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:28px}.dialog-tags span{font-size:9px;letter-spacing:.06em;padding:6px 10px;border:1px solid var(--line)}.dialog-body .outline-btn{margin-top:4px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .85s cubic-bezier(.2,.8,.25,1)}.reveal.in-view{opacity:1;transform:translateY(0)}
@media(max-width:1180px){.site-header{padding:0 35px}.wrap{width:calc(100% - 70px)}.main-nav{gap:26px;margin-right:22px}.hero-title{font-size:16.8vw;top:100px}.hero-portrait-wrap{width:41vw}.hero-message{width:270px}.hero-side{width:230px}.hero-message h2{font-size:27px}.about-grid{grid-template-columns:1.1fr .9fr;gap:34px}.about-quote{grid-column:1/-1;max-width:440px;margin:0 0 0 auto}.impact-row{grid-template-columns:repeat(3,1fr)}.impact-note{grid-column:1/-1;padding-left:0!important;border-top:1px solid var(--line)}.journey-layout{gap:40px}.step{padding:25px 15px}}
@media(max-width:850px){.site-header{height:75px}.brand-name{font-size:10px}.brand-name small{font-size:7px}.main-nav{display:none;position:absolute;left:0;right:0;top:75px;background:#122019;border-bottom:1px solid var(--line);padding:25px 35px;flex-direction:column;align-items:start;gap:25px;margin:0;box-shadow:0 30px 50px #090e0b99}.main-nav.is-open{display:flex}.mobile-menu{display:block}.hero{height:800px;min-height:0}.hero-topline{font-size:9px}.hero-title{font-size:18vw;top:132px;letter-spacing:-.075em}.hero-portrait-wrap{width:min(57vw,470px);bottom:78px}.hero-bottom{bottom:115px}.hero-side{display:none}.hero-message{width:260px}.hero-message h2{font-size:31px}.hero-scroll{bottom:21px}.section-space{padding:75px 0}.section-heading,.expertise-intro,.process-head{align-items:start;flex-direction:column;gap:18px}.section-intro{max-width:570px}.about-grid{grid-template-columns:1fr 1fr}.about-photo{height:460px}.journey-layout{grid-template-columns:1fr;gap:50px;padding-top:50px}.journey-left{display:grid;grid-template-columns:1fr 1fr;gap:20px}.journey-left .eyebrow{grid-column:1/-1}.journey-left h2{font-size:60px}.journey-left>p:not(.eyebrow){margin-top:15px}.journey-decoration{display:none}.steps{grid-template-columns:repeat(3,1fr)}.step:nth-child(3){border-right:0}.step:nth-child(n+4){border-top:1px solid var(--line)}.contact-title{font-size:11vw}.site-footer>div{flex-direction:column;gap:10px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.site-header{padding:0 18px;height:65px}.brand{gap:9px}.brand-monogram{font-size:46px}.brand-divider{height:24px;margin-left:5px}.brand-name{font-size:10px}.brand-name small{letter-spacing:.12em;font-size:6px}.language-switch{font-size:10px;padding:5px 6px}.main-nav{top:65px;padding:25px 18px}.hero{height:724px;min-height:0;background:radial-gradient(ellipse 90% 70% at 50% 46%,#3b503f 0%,#24362b 60%,transparent 100%),linear-gradient(150deg,#101b15,#111b15)}.hero-topline{padding-top:21px;font-size:7px;letter-spacing:.13em}.hero-title{top:112px;font-size:20.2vw;letter-spacing:-.08em;line-height:1}.hero-portrait-wrap{width:min(82vw,400px);bottom:69px}.hero-bottom{bottom:92px}.hero-message{width:100%;display:flex;flex-direction:column;align-items:start}.hero-message h2{font-size:27px;max-width:220px;text-shadow:0 3px 15px #08110bb8}.hero-message .eyebrow{font-size:8px;margin-bottom:10px}.tiny-rule{margin-bottom:14px}.hero-message .outline-btn{font-size:9px;gap:25px;padding:11px 13px}.hero-scroll{font-size:8px}.hero-scroll span:last-child{display:none}.hero-portrait{mask-image:linear-gradient(to bottom,black 70%,transparent 99%)}.hero-bottom:before{content:'';position:absolute;inset:-15px auto -20px -18px;width:205px;background:linear-gradient(90deg,rgba(8,18,11,.42),transparent);z-index:-1;pointer-events:none}.section-space{padding-top:63px;padding-bottom:68px}.section-bar .section-bar-right{font-size:8px;letter-spacing:.09em;text-align:right}.index-label{font-size:9px}.section-heading{margin:35px 0 25px}.display-heading{font-size:clamp(47px,12vw,63px)}.section-intro{font-size:11px;line-height:1.9}.filter-list{margin:28px 0 20px;gap:7px}.filter{padding:8px 10px;font-size:8px}.projects-grid{grid-template-columns:1fr;gap:31px}.project-art{aspect-ratio:1.45}.project-name{font-size:33px}.project-meta{margin-top:13px}.work-foot{display:block;margin-top:40px}.work-foot .text-link{display:inline-block;margin-top:19px}.about-grid{grid-template-columns:1fr;padding-top:38px}.about-headline{font-size:49px}.about-lead{font-size:22px}.about-paragraph{font-size:11px}.about-photo{height:380px;max-width:380px}.about-quote{margin:0;max-width:360px}.impact-row{margin-top:44px;grid-template-columns:1fr 1fr}.impact-row>div{min-height:135px}.impact-row>div:nth-child(2){border-right:0}.impact-row>div:nth-child(3){border-top:1px solid var(--line)}.impact-row>div:nth-child(3){padding-left:0}.impact-row strong{font-size:49px}.impact-note{min-height:0!important;padding:15px 0!important}.expertise-intro{margin:37px 0 40px}.expertise-item{grid-template-columns:28px 1fr 21px;gap:11px;padding:18px 0}.expertise-item h3{font-size:29px}.exp-detail{display:none}.exp-arrow{font-size:18px}.journey-layout{padding-top:38px}.journey-left{display:block}.journey-left h2{font-size:58px}.journey-left>p:not(.eyebrow){margin-top:20px}.timeline-row{grid-template-columns:1fr;gap:9px;padding:0 0 25px 19px;margin-bottom:25px}.timeline-year{font-size:9px}.timeline-content h3{font-size:32px}.timeline-content>p:last-child{font-size:11px}.process-head{margin:40px 0 39px}.steps{grid-template-columns:1fr 1fr}.step{padding:19px 13px 15px;min-height:175px}.step:first-child{padding-left:13px}.step:nth-child(2){border-right:0}.step:nth-child(3){border-right:1px solid var(--line)}.step:nth-child(n+3){border-top:1px solid var(--line)}.step:nth-child(4){border-right:0}.step>span{margin-bottom:19px;font-size:32px}.step h3{font-size:9px}.step p{font-size:10px}.design-note{margin:28px 0 0;font-size:20px}.contact-section{padding:68px 0 50px}.contact-main{padding-top:50px}.contact-title{font-size:12.3vw;line-height:1.02}.contact-bottom{align-items:stretch;flex-direction:column;gap:19px}.contact-bottom p{font-size:11px}.contact-cta{min-width:0;width:100%;padding:13px 18px}.contact-links{align-items:start;flex-direction:column;margin-top:39px}.site-footer{min-height:160px;flex-wrap:wrap;justify-content:start;gap:18px}.site-footer>div{flex:1;gap:5px}.site-footer>div span{font-size:8px}.back-top{width:100%;text-align:right}.dialog-body{padding:65px 23px 30px}.dialog-body h2{font-size:41px}.dialog-body p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
/* Respect native hidden state even on styled anchors and grid items. */
[hidden]{display:none!important}

/* Selected artwork: retain original proportions and colors. */
.projects-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:44px 24px;align-items:start}
.project-card{grid-column:span 3}.project-card.portrait-card{grid-column:span 2}
.project-art{aspect-ratio:1.5;background:#1b251e;display:flex;align-items:center;justify-content:center}
.project-art img{object-fit:contain;width:100%;height:100%}.project-art::after{display:none}
.project-card:hover .project-art img{transform:scale(1.015)}
.portrait-card .project-art{aspect-ratio:auto;background:transparent;border:0}
.portrait-card .project-art img{height:auto;width:100%}
.project-name{font-size:clamp(27px,2.7vw,42px)}.portrait-card .project-name{font-size:clamp(24px,2.2vw,35px)}
.project-caption{display:block;line-height:1.7}.project-count{font-size:9px;letter-spacing:.12em}
.more-work{min-width:210px;padding:17px 22px;font-size:14px;letter-spacing:.03em}
.personal-note{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;border-top:1px solid var(--line);margin-top:42px;padding-top:23px;color:#aebcae;font-size:12px}.personal-note a{color:var(--cream);border-bottom:1px solid var(--line-strong)}
.impact-row{margin-top:30px}.journey-section{background:#26382b}.journey-section::before{background:radial-gradient(ellipse at 15% 35%,#5f78632b,transparent 60%)}
.contact-title{font-size:clamp(56px,8vw,120px);line-height:1.07}.contact-cta{font-size:16px;text-transform:none;letter-spacing:.03em}
.project-dialog{width:min(1150px,calc(100% - 36px));max-height:92dvh;overflow:auto}
.dialog-toolbar{position:sticky;top:0;background:#1b2a20ed;backdrop-filter:blur(12px);z-index:5;display:flex;justify-content:space-between;align-items:center;padding:16px 28px;border-bottom:1px solid var(--line)}
.dialog-toolbar .eyebrow{margin:0}.dialog-close{position:static;flex-shrink:0;background:#1b2a20}
.dialog-body{padding:24px 28px 32px}.dialog-body h2{margin:0 0 12px;font-size:clamp(32px,5vw,58px)}.dialog-body>p{max-width:760px;margin-bottom:24px}
.gallery-stage{display:flex;justify-content:center;align-items:center;background:#0c1510}
.gallery-stage img{max-width:100%;max-height:65dvh;width:auto;height:auto;object-fit:contain}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:20px}
.gallery-controls button{background:transparent;border:1px solid var(--line-strong);height:44px;width:52px;font-size:22px}.gallery-controls button:disabled{opacity:.25;cursor:default}
.gallery-controls span{font-size:12px;letter-spacing:.15em}.gallery-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:25px}.dialog-open{overflow:hidden}
html[lang=vi] .display-heading,html[lang=vi] .contact-title,html[lang=vi] .hero-message h2,html[lang=vi] .about-lead,html[lang=vi] .expertise-item h3{font-family:'Times New Roman',serif}
@media(max-width:850px){.project-card.portrait-card{grid-column:span 3}.projects-grid{gap:32px 20px}.project-count{font-size:8px}.contact-title{font-size:8vw}.hero-side{display:none}}
@media(max-width:600px){.projects-grid{display:grid;grid-template-columns:1fr;gap:34px}.project-card,.project-card.portrait-card{grid-column:auto}.project-art{aspect-ratio:auto}.project-art img{height:auto}.portrait-card .project-art{max-height:none}.project-name,.portrait-card .project-name{font-size:32px}.more-work{margin-top:20px}.dialog-toolbar{padding:12px 16px}.dialog-body{padding:20px 16px 25px}.dialog-toolbar .eyebrow{font-size:8px}.contact-title{font-size:8.8vw;line-height:1.2}.hero{height:780px}.hero-title{top:78px}.hero-portrait-wrap{bottom:193px;width:min(80vw,360px)}.hero-bottom{bottom:66px}.hero-message h2{max-width:none;font-size:28px;margin-bottom:18px}.hero-message .tiny-rule{display:none}.hero-message .eyebrow{margin-bottom:7px}.hero-portrait{mask-image:linear-gradient(to bottom,black 80%,transparent 100%)}.hero-bottom:before{display:none}.hero-topline>span:last-child{max-width:150px;text-align:right}.hero-topline{gap:15px}.personal-note{font-size:11px}.gallery-bottom .text-link{font-size:9px}.gallery-stage img{max-height:58dvh}}
/* Hero master supplied by Nguyễn Hữu Toàn. */
:root{--bg:#6c856e;--cream:#fcfcf9;--sage:#dbe3d7}
body{background:#6c856e;color:#fff}.grain{display:none}
.master-hero{container-type:inline-size;position:relative;isolation:isolate;width:86.3%;max-width:1320px;margin:auto;height:auto;min-height:0;aspect-ratio:932/695;overflow:hidden;background:none;color:#fff}
.master-hero:before{display:none}.hero-identity{position:absolute;top:4cqw;left:0;width:100%;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:18px}
.identity-name{display:flex;align-items:baseline;gap:1cqw;font-size:clamp(16px,2.6cqw,31px);line-height:1.15;white-space:nowrap;font-weight:700;letter-spacing:-.035em}.identity-name>span:first-child{font-weight:300}.identity-role{font-weight:300;letter-spacing:-.04em}
.hero-controls{display:flex;align-items:center;gap:14px}.hero-controls .language-switch{border:0;color:white;padding:0;display:flex;gap:6px;letter-spacing:0}.hero-controls .language-switch span{color:#e1e7df}.hero-controls .language-switch .active{color:white;text-decoration:underline;text-underline-offset:4px}.hero-controls .mobile-menu{display:block;width:28px;height:28px;padding:0;background:none;border:0}.hero-controls .mobile-menu span{background:white;width:24px;height:1px;display:block;margin:7px 0}
.hero-identity .main-nav{display:none;position:absolute;top:44px;right:0;left:auto;width:230px;padding:24px;margin:0;background:#f8f9f5;color:#263b2e;border:1px solid #d1d9cd;box-shadow:0 10px 40px #223d2422;flex-direction:column;gap:20px;align-items:start}.hero-identity .main-nav.is-open{display:flex}.hero-identity .main-nav a{color:#263b2e;font-size:12px}
.master-title{position:absolute;left:0;top:9.5cqw;width:100%;margin:0;z-index:1;line-height:0}.master-title img{width:100%;height:auto}
.master-portrait{position:absolute;top:18.5cqw;left:8.7%;width:76.6%;height:auto;max-width:none;z-index:2;pointer-events:none}
.master-intro{position:absolute;left:0;top:28.9cqw;width:48%;z-index:3;font-size:clamp(14px,1.65cqw,22px);line-height:1.22;font-weight:500;letter-spacing:-.025em}.master-intro p{margin:0 0 2.2cqw}.master-intro p:first-child{max-width:98%}
.master-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #fff;border-radius:7px;padding:1.5cqw 2.5cqw;margin-top:3cqw;font-size:clamp(14px,2.1cqw,27px);font-weight:700;letter-spacing:0;white-space:nowrap}.master-cta>span:last-child{font-weight:400;font-size:1.4em;line-height:1}.master-cta:hover{background:#fff;color:#536c55}
.master-expertise{position:absolute;top:29cqw;right:0;width:21%;border-left:2px solid #fff;padding:0 0 0 .8cqw;margin:0;list-style:none;z-index:3;font-size:clamp(11px,1.55cqw,20px);line-height:1.65;font-weight:500;letter-spacing:-.03em;white-space:nowrap}
.portfolio-content{position:relative;z-index:4;width:86.3%;max-width:1320px;margin:0 auto;border-radius:12px 12px 0 0;background:#fff;color:#27372d;overflow:hidden;--cream:#27372d;--sage:#57735a;--line:#dbe1d8;--line-strong:#aebcaa}
.portfolio-content .wrap{width:calc(100% - 88px);max-width:none}.portfolio-content .section-space{padding-top:74px;padding-bottom:74px}.portfolio-content .section-bar,.portfolio-content .index-label{color:#455b49}.portfolio-content .section-bar-right,.portfolio-content .color-moss,.portfolio-content .eyebrow{color:#617860}
.portfolio-content .section-intro,.portfolio-content .project-caption,.portfolio-content .project-meta,.portfolio-content .work-foot p{color:#5e6e5f}.portfolio-content .display-heading,.portfolio-content .project-name{color:#26372b}.portfolio-content .display-heading em{color:#70866e}.portfolio-content .project-art{background:#eef1eb;border:1px solid #dce2d9}.portfolio-content .filter{color:#61735f}.portfolio-content .filter.active,.portfolio-content .filter:hover{background:#6c856e;border-color:#6c856e;color:#fff}
.portfolio-content .outline-btn{border-color:#8e9e88}.portfolio-content .outline-btn:hover{background:#3d5841;color:white}.portfolio-content .about-section{background:#f0f3ed}.portfolio-content .about-section:before{display:none}.portfolio-content .about-lead{color:#3e5441}.portfolio-content .about-paragraph,.portfolio-content .about-quote blockquote,.portfolio-content .impact-note,.portfolio-content .quote-foot{color:#5b6e59}.portfolio-content .photo-caption{color:white}.portfolio-content .personal-note{color:#6a7b65}
.portfolio-content .expertise-item:hover{background:#f1f4ee}.portfolio-content .expertise-item h3{color:#26372b}.portfolio-content .exp-detail,.portfolio-content .exp-arrow{color:#657b5e}
.portfolio-content .journey-section{background:#e4ebe0}.portfolio-content .journey-section:before{display:none}.portfolio-content .journey-left .display-heading em{color:#698263}.portfolio-content .journey-left .eyebrow,.portfolio-content .journey-left>p:not(.eyebrow),.portfolio-content .timeline-year,.portfolio-content .timeline-tag,.portfolio-content .timeline-content>p:last-child{color:#50694e}.portfolio-content .timeline,.portfolio-content .timeline-row{border-color:#a6b5a0}.portfolio-content .timeline-content h3{color:#31472f}.portfolio-content .timeline-row:before{background:#698263}
.portfolio-content .step p,.portfolio-content .design-note{color:#5c7156}.portfolio-content .contact-section{background:#eef2e9;padding:74px 0}.portfolio-content .contact-title{color:#31472f;font-size:clamp(45px,7vw,96px)}.portfolio-content .contact-title em,.portfolio-content .contact-title span{color:#71866a}.portfolio-content .contact-bottom p,.portfolio-content .contact-links,.portfolio-content .section-bar--light .section-bar-right{color:#5a7054}.portfolio-content .contact-main>.eyebrow{color:#657d5e}.portfolio-content .contact-cta{border-color:#82967a}.portfolio-content .contact-cta:hover{background:#3d5841;color:white}.portfolio-content .contact-section:after{display:none}
.site-footer{width:86.3%;max-width:1320px;color:#fff}.site-footer>div{color:#e6ece2}.site-footer .brand-mark-footer span{color:#e6ece2}
.project-dialog{--cream:#e6dac6;--sage:#94a68b;--line:#ffffff33;--line-strong:#ffffff55}
@media(min-width:1400px){.master-intro{line-height:1.3}}
@media(max-width:950px) and (min-width:601px){.master-intro{font-size:1.65cqw}.master-expertise{font-size:1.5cqw}.master-cta{font-size:2cqw}.identity-name{font-size:2.6cqw}.hero-controls .language-switch{font-size:9px}.hero-controls{gap:9px}.portfolio-content .wrap{width:calc(100% - 48px)}}
@media(max-width:600px){.master-hero{width:calc(100% - 36px);aspect-ratio:auto;height:810px;min-height:0}.hero-identity{top:25px;align-items:start;gap:10px}.identity-name{font-size:14px;display:block;line-height:1.3;letter-spacing:0}.identity-name>span:first-child{display:none}.identity-role{display:block;font-size:11px;margin-top:5px;letter-spacing:.03em}.hero-controls{gap:12px}.hero-controls .language-switch{font-size:10px}.master-title{top:98px}.master-portrait{top:160px;left:-12%;width:112%}.master-intro{top:476px;width:100%;font-size:14px;line-height:1.45;letter-spacing:0;padding:28px 0 0;background:linear-gradient(transparent,#6c856e 24px);z-index:3}.master-intro p{margin:0 0 14px}.master-intro p:first-child{max-width:100%}.master-cta{font-size:14px;padding:14px 19px;margin-top:8px;border-radius:5px}.master-expertise{display:none}.portfolio-content{width:calc(100% - 24px);border-radius:10px 10px 0 0}.portfolio-content .wrap{width:calc(100% - 36px)}.portfolio-content .section-space{padding:50px 0}.portfolio-content .section-heading{gap:20px}.portfolio-content .display-heading{font-size:44px}.portfolio-content .contact-title{font-size:8vw}.portfolio-content .contact-section{padding:50px 0}.site-footer{width:calc(100% - 36px)}.portfolio-content .about-photo{height:380px}.hero-identity .main-nav{top:50px}}
@media(max-width:360px){.identity-name{font-size:12px}.identity-role{font-size:9px}.hero-controls{gap:6px}.master-hero{height:840px}.master-portrait{top:155px}.master-intro{top:450px}.master-title{top:100px}}
@media(max-width:950px) and (min-width:601px){.master-intro{font-size:12px;line-height:1.3}.master-expertise{font-size:10px}.master-intro p{margin-bottom:14px}.master-cta{margin-top:14px}}
@media(max-width:600px){.master-portrait{height:342px;object-fit:cover;object-position:top;mask-image:linear-gradient(black 88%,transparent)}.master-hero{height:760px}}
@media(max-width:360px){.master-portrait{height:310px}.master-hero{height:790px}}
