@font-face{font-family:"GFS Didot";src:url("assets/gfs-didot.ttf") format("truetype");font-display:swap;font-weight:400}@font-face{font-family:"Noto Sans";src:url("assets/noto-sans.ttf") format("truetype");font-display:swap;font-weight:400 500}
:root{--paper:#f4f1eb;--ink:#302c28;--muted:#736b62;--gold:#a78c62;--line:#d8d1c7;--mocha:#e5ded4;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans','Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:7px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--paper)}.brand{font-family:var(--serif);font-size:35px;letter-spacing:-1.8px;line-height:1}.brand span{display:block;font:8px var(--sans);letter-spacing:2.2px;text-transform:uppercase;margin-top:9px}.nav{display:flex;align-items:center;gap:32px;font-size:12px}.nav a{position:relative}.nav a:after{content:'';height:1px;background:var(--gold);position:absolute;left:0;right:100%;bottom:-7px;transition:right .3s}.nav a:hover:after,.nav a[aria-current]:after{right:0}.language{border-left:1px solid var(--line);padding-left:26px;font-size:11px;letter-spacing:1px}.menu-toggle{display:none;background:none;border:0}.eyebrow{text-transform:uppercase;letter-spacing:2.2px;font-size:10px;font-weight:500}.gold{color:var(--gold)}.home-intro{display:flex;align-items:end;justify-content:space-between;padding:64px 5% 46px;gap:35px}.home-intro h1{font:400 clamp(42px,5.7vw,86px)/1.07 var(--serif);letter-spacing:-2px;margin:0}.home-intro h1 em{color:#8a7561;font-weight:400}.intro-note{font-size:12px;max-width:230px;padding-bottom:6px}.hero{margin:0 2%;position:relative;background:#b5ab9c;height:clamp(420px,55vw,780px);overflow:hidden}.hero img{animation:arrive 1.3s ease-out both}.hero:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#19181480);pointer-events:none}.hero-caption{position:absolute;bottom:35px;left:3.2%;right:3.2%;z-index:1;color:#fff;display:flex;align-items:end;justify-content:space-between}.hero-caption h2{font:32px var(--serif);margin:8px 0 0}.round{display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;width:52px;height:52px;font-size:25px;transition:background .3s}.round:hover{background:#ffffff30}.underhero{margin:18px 5% 0;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:1.6px}.section{padding:115px 7%}.section-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:45px}.section h2,.page-head h1{font:400 clamp(42px,5vw,72px)/1.1 var(--serif);letter-spacing:-1.7px;margin:15px 0}.textlink{border-bottom:1px solid var(--gold);padding:10px 0;font-size:12px;display:inline-flex;gap:35px;align-items:center}.grid{display:grid;grid-template-columns:1.15fr 1fr;gap:75px 65px}.project:nth-child(even){margin-top:90px}.project-media{height:440px;overflow:hidden;background:var(--mocha);position:relative}.project:nth-child(4n+2) .project-media{height:530px}.project-media img{transition:transform .8s cubic-bezier(.2,.65,.3,1)}.project:hover img{transform:scale(1.025)}.project-meta{display:flex;justify-content:space-between;gap:20px;padding-top:16px;border-top:1px solid var(--line);margin-top:18px}.project h3{font:25px var(--serif);margin:0 0 5px}.project-meta p{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:0}.project-meta .number{font-size:10px;color:var(--gold)}.manifesto{background:var(--mocha);display:grid;grid-template-columns:1fr 2fr;gap:8%;padding:100px 7%}.manifesto h2{font:clamp(32px,4vw,58px)/1.18 var(--serif);margin:0 0 30px;letter-spacing:-1px}.manifesto p{max-width:540px;color:var(--muted);font-size:14px}.services-list{margin-top:50px}.service-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:30px;border-top:1px solid var(--line);padding:35px 0}.service-row h3{font:32px var(--serif);margin:0}.service-row p{font-size:13px;color:var(--muted);max-width:380px;margin:0}.service-row>span{color:var(--gold);font-size:11px}.contact-panel{background:#4e443b;color:var(--paper);padding:80px 7%;display:flex;justify-content:space-between;gap:30px;align-items:end}.contact-panel h2{font:clamp(40px,5.5vw,78px)/1.08 var(--serif);margin:20px 0}.contact-panel .textlink{border-color:#baa281}footer{padding:35px 5%;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);gap:20px}footer .brand{font-size:28px}footer .socials{display:flex;gap:25px}.page-head{padding:85px 7% 65px;max-width:1050px}.page-head p{max-width:500px;font-size:14px;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:50px}.filter{border:1px solid var(--line);background:transparent;padding:9px 18px;font-size:11px}.filter[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.portfolio-section{padding-top:0}.project-page .page-head{max-width:none;display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:50px}.project-page h1{font-size:clamp(44px,6vw,88px)}.project-cover{margin:0 3%;height:70vw;max-height:850px;min-height:350px;background:var(--mocha)}.project-cover img{object-fit:contain}.gallery{padding:70px 7%;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.gallery button{padding:0;border:0;background:transparent;display:block;position:relative}.gallery button img{height:auto;max-height:950px;object-fit:contain}.gallery button:nth-child(5n){grid-column:1/-1}.gallery button:after{content:'↗';position:absolute;bottom:15px;right:15px;width:35px;height:35px;background:var(--paper);display:grid;place-items:center;border-radius:50%;opacity:0;transition:opacity .3s}.gallery button:hover:after{opacity:1}.gallery-caption{padding:0 7% 70px;color:var(--muted);font-size:11px}.next-project{display:block;padding:70px 7%;border-top:1px solid var(--line)}.next-project h2{font:clamp(32px,4vw,60px) var(--serif);margin:15px 0 0}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:0 7% 100px;align-items:center}.about-layout .photo{height:600px}.about-layout h2{font:42px var(--serif)}.about-layout p{color:var(--muted);font-size:14px}.detail{border-top:1px solid var(--line);padding:22px 0;font-size:13px}.detail span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);margin-bottom:8px}.contact-page{padding:0 7% 110px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-page img{height:550px}.contact-option{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:30px 0;font:25px var(--serif)}.contact-info{font-size:13px;color:var(--muted);padding-bottom:35px}dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:0;background:#211e1b;color:white}dialog::backdrop{background:#211e1b}dialog img{width:100%;height:calc(100dvh - 100px);object-fit:contain;padding:20px 5%}dialog .lb-bar{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:20px}dialog button{background:none;border:1px solid #ffffff50;color:white;padding:10px 18px}dialog .lb-controls{display:flex;gap:10px}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);padding:15px;z-index:30}.skip:focus{top:10px}@keyframes arrive{from{transform:scale(1.04);opacity:.6}to{transform:scale(1);opacity:1}}@media(min-width:1600px){body{max-width:2000px;margin:auto}}@media(max-width:900px){header{height:85px}.nav{gap:18px}.brand{font-size:30px}.home-intro{padding-top:45px}.intro-note{max-width:190px}.grid{gap:45px 30px}.project-media{height:350px}.project:nth-child(4n+2) .project-media{height:420px}.section{padding:80px 5%}.manifesto{padding:75px 5%;gap:5%}.about-layout{gap:6%}.about-layout .photo{height:500px}}@media(max-width:650px){header{height:80px;padding:0 6%}.brand{font-size:29px}.brand span{font-size:6px;letter-spacing:1.7px}.menu-toggle{display:block;padding:10px 0;font-size:12px}.nav{display:none;position:absolute;top:79px;left:0;right:0;padding:35px 6%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:start;gap:24px;font-size:17px}.nav.open{display:flex}.language{padding:0;border:0}.home-intro{display:block;padding:40px 6% 30px}.home-intro h1{font-size:44px;letter-spacing:-1.5px}.intro-note{max-width:240px;margin:25px 0 0;font-size:11px}.hero{height:520px;margin:0 3%}.hero-caption{left:6%;right:6%;bottom:25px}.hero-caption h2{font-size:26px}.round{width:42px;height:42px}.underhero{font-size:8px;letter-spacing:.8px;margin:18px 6%}.section{padding:65px 6%}.section-top{align-items:start;gap:15px}.section h2,.page-head h1{font-size:43px;letter-spacing:-1px}.section-top .textlink{font-size:10px;gap:10px;white-space:nowrap;margin-top:30px}.grid{grid-template-columns:1fr;gap:40px}.project:nth-child(even){margin:0}.project-media,.project:nth-child(4n+2) .project-media{height:400px}.project h3{font-size:25px}.manifesto{display:block;padding:60px 6%}.manifesto h2{font-size:36px;margin-top:30px}.service-row{grid-template-columns:30px 1fr;gap:14px;padding:25px 0}.service-row h3{font-size:26px}.service-row p{grid-column:2;font-size:12px}.contact-panel{display:block;padding:55px 6%}.contact-panel h2{font-size:45px}footer{flex-wrap:wrap;padding:28px 6%}footer .socials{gap:16px}.page-head{padding:55px 6% 40px}.portfolio-section{padding-top:0}.filters{gap:8px;margin-bottom:30px}.filter{font-size:10px;padding:8px 11px}.project-page .page-head{display:block}.project-page h1{font-size:48px}.project-cover{min-height:0;height:auto}.project-cover img{height:auto}.gallery{padding:35px 6%;gap:20px;grid-template-columns:1fr}.gallery button:nth-child(5n){grid-column:auto}.gallery-caption{padding:0 6% 40px}.next-project{padding:40px 6%}.about-layout,.contact-page{grid-template-columns:1fr;padding:0 6% 60px;gap:35px}.about-layout .photo{height:450px}.about-layout h2{font-size:33px}.contact-page img{height:350px}dialog img{height:calc(100dvh - 130px);padding:10px}dialog .lb-bar{height:110px;flex-wrap:wrap;gap:4px;font-size:11px}dialog button{padding:8px 12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Typography and studio identity refinement */
:root{--serif:"GFS Didot",Georgia,serif;--sans:"Noto Sans",Arial,sans-serif;--gold:#8a704c;--muted:#655d55}
body{font-size:20px;line-height:1.75}h1,h2,h3{font-weight:400}header{min-height:132px;height:auto;padding-top:16px;padding-bottom:16px;gap:32px}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0;letter-spacing:0}.brand .brand-logo{width:90px;height:90px;object-fit:contain;filter:brightness(0) saturate(100%) invert(47%) sepia(16%) saturate(821%) hue-rotate(355deg) brightness(92%)}.brand .brand-wordmark{font:36px/1.1 var(--serif);letter-spacing:1px;margin:0;text-transform:none}.brand small{display:block;font:14px/1.5 var(--sans);letter-spacing:.8px;margin-top:9px}.nav{font-size:20px;gap:28px}.language{font-size:18px}.eyebrow{font-size:18px;letter-spacing:1.4px}.intro-note{font-size:21px;max-width:350px}.home-intro{gap:5%}.home-intro h1{font-size:clamp(46px,5.4vw,82px);letter-spacing:-1px}.home-intro h1 em{font-style:normal}.underhero{font-size:17px;letter-spacing:.6px;gap:24px}.textlink{font-size:21px;gap:24px}.project-meta p,.project-meta .number{font-size:18px;letter-spacing:.5px}.project h3{font-size:32px}.manifesto p,.page-head p,.about-layout p{font-size:22px;line-height:1.8;max-width:650px}.service-row p{font-size:21px;max-width:460px}.service-row>span{font-size:20px}.service-row{grid-template-columns:50px 1fr 1.1fr;gap:25px}.service-row h3{font-size:34px}.filter{font-size:20px;padding:12px 22px}.gallery-caption{font-size:19px}.detail{font-size:21px}.detail span{font-size:18px;letter-spacing:1px}.contact-info{font-size:22px}.about-layout{align-items:start;gap:7%}.about-layout .photo{height:auto;position:sticky;top:32px}.about-layout .photo img{height:auto;aspect-ratio:938/1250;object-fit:cover}.about-layout h2{font-size:44px;margin-top:16px}.page-head{max-width:1250px}.page-head p{max-width:700px}footer{font-size:17px;flex-wrap:wrap}footer .brand{font-size:34px}.brand-signature{display:flex;justify-content:center;background:#4e443b;padding:35px 6%;border-top:1px solid #ffffff25}.brand-signature img{width:230px;height:230px;object-fit:contain}.studio-portraits{padding:0 7% 110px}.team-intro{max-width:750px;margin-bottom:45px}.team-intro h2{font:48px/1.2 var(--serif);margin:20px 0}.team-photos{display:grid;grid-template-columns:1.65fr 1fr;gap:45px;align-items:start}.team-photos figure{margin:0}.team-photos img{height:auto;width:100%;object-fit:contain}.team-photos figure:last-child{margin-top:90px}dialog .lb-bar{font-size:20px}
@media(max-width:1100px){.brand .brand-logo{width:70px;height:70px}.brand .brand-wordmark{font-size:30px}.brand small{font-size:12px}.nav{gap:17px;font-size:18px}.home-intro{align-items:start}.intro-note{max-width:270px}.service-row{grid-template-columns:35px 1fr 1fr;gap:20px}}
@media(max-width:800px){header{min-height:105px}.menu-toggle{display:block;font-size:21px;padding:14px 0}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:30px 6%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:start;gap:24px;font-size:22px}.nav.open{display:flex}.language{padding:0;border:0;font-size:20px}.home-intro{display:block}.intro-note{max-width:600px;font-size:20px;margin-top:26px}.section-top{flex-wrap:wrap}.underhero{flex-wrap:wrap}.section-top .textlink{font-size:20px;white-space:normal;margin-top:0;gap:18px}.manifesto{grid-template-columns:1fr;gap:28px}.about-layout{grid-template-columns:1fr;gap:38px}.about-layout .photo{position:static;max-width:500px}.service-row{grid-template-columns:32px 1fr}.service-row p{grid-column:2;max-width:none}.team-photos{gap:24px}}
@media(max-width:650px){header{padding:12px 6%;gap:15px}.brand{gap:10px}.brand .brand-logo{width:55px;height:65px}.brand .brand-wordmark{font-size:27px;letter-spacing:.4px}.brand small{font-size:11px;letter-spacing:0;margin-top:6px;max-width:165px}.menu-toggle{font-size:18px}.eyebrow{font-size:17px;letter-spacing:.7px}.underhero{font-size:16px;line-height:1.6}.hero-caption h2{font-size:30px}.hero-caption .eyebrow{font-size:16px}.hero-caption{gap:18px}.round{flex-shrink:0}.project-meta p,.project-meta .number{font-size:17px}.project h3{font-size:30px}.manifesto p,.page-head p,.about-layout p{font-size:20px}.service-row p{font-size:20px}.service-row h3{font-size:30px;overflow-wrap:anywhere}.textlink{font-size:20px}.filter{font-size:18px;padding:11px 15px}.detail{font-size:20px}.detail span{font-size:17px}.gallery-caption{font-size:18px}.contact-info{font-size:20px}footer{font-size:16px;gap:24px}.studio-portraits{padding:0 6% 65px}.team-intro h2{font-size:38px}.team-photos{grid-template-columns:1fr;gap:28px}.team-photos figure:last-child{margin:0;max-width:420px}.brand-signature img{width:200px;height:200px}dialog .lb-bar{font-size:18px}.contact-panel .textlink{white-space:normal}.page-head h1,.section h2{overflow-wrap:break-word}}

.contact-option{overflow-wrap:anywhere;gap:20px}footer .socials{flex-wrap:wrap;row-gap:12px}

/* Studio names and personal contact groups. */
.portrait-caption{display:block;padding:18px 0 4px;font-family:var(--serif);font-size:clamp(23px,2.3vw,30px);line-height:1.35;border-bottom:1px solid var(--line);padding-bottom:18px}
.contact-person{font-family:var(--serif);font-size:clamp(27px,3vw,36px);font-weight:400;line-height:1.3;margin:40px 0 20px}
.contact-person-block{margin:52px 0 36px}
.contact-person-block .contact-person{margin-top:0}
@media(max-width:650px){.portrait-caption{font-size:24px}.contact-person-block{margin-top:40px}}

/* Keep the small logo lettering crisp at every screen size. */
.brand-signature{flex-direction:column;align-items:center;gap:13px;padding:56px 6%;color:#fff}
.brand-signature img{display:block;width:min(320px,100%);height:auto;aspect-ratio:1170/810;object-fit:contain}
.signature-tagline{margin:0;text-align:center;font-family:var(--sans);font-size:16px;font-weight:500;letter-spacing:2.5px;line-height:1.6}
@media(max-width:650px){.brand-signature{padding:46px 6%;gap:15px}.brand-signature img{width:min(290px,100%)}.signature-tagline{font-size:15px;letter-spacing:1.8px}}

/* One clear wordmark and a readable studio descriptor. */
.brand .brand-logo{width:88px;height:auto;aspect-ratio:830/610;object-fit:contain}
.brand small{font-size:16px;letter-spacing:1.2px;line-height:1.5;margin-top:9px}
@media(max-width:650px){.brand{gap:14px}.brand .brand-logo{width:65px;height:auto}.brand small{font-size:12px;letter-spacing:.7px;max-width:none;white-space:nowrap}.brand .brand-wordmark{font-size:28px}}
@media(max-width:360px){.brand .brand-logo{width:52px}.brand{gap:10px}.brand small{font-size:11px}.brand .brand-wordmark{font-size:26px}}
