:root{--paper:#f3f3ef;--ink:#272b25;--muted:#70766c;--line:#d1d4ca;--dark:#22261f;--white:#f5f6f0;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',serif;--sans:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans CJK JP',sans-serif;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
::selection{background:#bec5b4;color:#182116}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border-radius:0}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid #a6b48d;outline-offset:6px}
img{display:block;width:100%;height:auto}
p,h1,h2,h3,figure{margin:0}
h1,h2,h3{font-weight:400}
button{background:none;border:0}
[hidden]{display:none!important}
.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:12px 24px}
.skip-link:focus{top:12px}
.eyebrow{font-size:12px;letter-spacing:.17em;line-height:1.7}
.wordmark{font-family:Arial,sans-serif;font-size:25px;letter-spacing:.18em;line-height:1.2;font-weight:400;white-space:nowrap}
.site-header{height:104px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;position:absolute;inset:0 0 auto;z-index:30;color:var(--white);transition:background .3s,color .3s,border-color .3s;border-bottom:1px solid #ffffff24}
.site-header.scrolled{position:fixed;height:80px;background:rgba(243,243,239,.97);color:var(--ink);border-color:var(--line)}
.desktop-nav{display:flex;gap:34px}
.desktop-nav a{font-size:14px;letter-spacing:.04em;position:relative;display:flex;gap:0;flex-direction:column;align-items:center;padding:6px 0;line-height:1.4}
.desktop-nav a span{font-size:12px;letter-spacing:.06em;margin-top:4px;opacity:.75}
.desktop-nav a:after{position:absolute;bottom:-6px;left:0;content:'';width:0;height:1px;background:currentColor;transition:width .25s}
.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%}
.menu-toggle{display:none}
.hero{height:100svh;min-height:700px;max-height:1200px;position:relative;isolation:isolate;background:#4e5145;color:var(--white);overflow:hidden}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-3}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(15,19,15,.35) 0%,transparent 36%,rgba(12,20,13,.47) 100%),linear-gradient(90deg,rgba(16,20,15,.35),transparent 75%)}
.hero-content{position:absolute;left:var(--gutter);bottom:clamp(145px,20vh,235px)}
.hero-eyebrow{font-size:12px;margin-bottom:28px;letter-spacing:.17em}
.hero h1{font-family:var(--serif);font-size:clamp(40px,4.1vw,66px);line-height:1.6;letter-spacing:.16em;text-shadow:0 1px 20px #0002}
.hero-copy{font-size:15px;letter-spacing:.14em;line-height:2;margin-top:26px}
.hero-bottom{position:absolute;bottom:32px;inset-inline:var(--gutter);display:flex;align-items:end;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.08em}
.scroll-link{display:flex;gap:16px;align-items:center;font-size:12px;position:absolute;left:50%;transform:translateX(-50%)}
.scroll-link i{height:40px;width:1px;background:#ffffff70;position:relative;overflow:hidden}
.scroll-link i:after{content:'';position:absolute;inset:0;background:#fff;transform:translateY(-100%);animation:scroll-tick 3s infinite}
@keyframes scroll-tick{0%,15%{transform:translateY(-100%)}65%,100%{transform:translateY(100%)}}
.section-shell{padding-inline:var(--gutter)}
.intro{display:grid;grid-template-columns:1fr 2fr;gap:80px;padding-block:140px 150px;max-width:1700px;margin:0 auto}
.intro-left{padding-top:12px}.location-note{margin-top:16px;font-size:14px;letter-spacing:.08em;color:var(--muted)}
.intro h2{font-family:var(--serif);font-size:clamp(25px,2.4vw,37px);letter-spacing:.1em;line-height:1.9}
.intro-copy{display:grid;grid-template-columns:1fr 1.3fr;gap:35px;margin-top:40px;line-height:2.2;font-size:16px;letter-spacing:.035em;color:#5a6054}
.works{padding-bottom:140px;max-width:1700px;margin:auto}
.section-heading{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:35px;margin-bottom:64px;gap:30px}
.latin-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4.2vw,62px);letter-spacing:-.045em;line-height:1.2;margin-top:20px}
.latin-title>span{display:block;font-size:14px;font-family:var(--sans);letter-spacing:.1em;margin-top:18px;line-height:1.7}
.section-side-note{font-size:14px;line-height:2;letter-spacing:.08em;color:var(--muted);padding-bottom:2px}
.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:92px 7vw}
.work-card-featured{grid-column:1/-1}
.work-image-link{display:block;position:relative;overflow:hidden;background:#d2d4ce}
.work-image-link>img{transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter 1.1s;object-fit:cover}
.work-card-featured .work-image-link>img{aspect-ratio:1.9;object-position:50% 62%}
.work-image-link:hover>img{transform:scale(1.025);filter:brightness(.92)}
.image-cta{position:absolute;right:24px;bottom:24px;color:white;background:#1c231bb8;backdrop-filter:blur(6px);padding:12px 19px;display:flex;align-items:center;gap:28px;font-size:14px;line-height:1.4;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}
.image-cta>span{font-size:22px;font-weight:300;line-height:1}
.work-image-link:hover .image-cta,.work-image-link:focus-visible .image-cta{opacity:1;transform:none}
.work-caption{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:25px}
.work-type{font-size:12px;letter-spacing:.09em;color:var(--muted);margin-bottom:8px}
.work-caption h3{font-size:23px;letter-spacing:.035em;line-height:1.5}
.work-card-featured h3{font-family:Georgia,serif;letter-spacing:0;font-size:31px}
.work-description{font-size:14px;color:#62695b;margin-top:7px;letter-spacing:.035em}
.work-meta{color:var(--muted);font-size:12px;letter-spacing:.04em;text-align:left;line-height:1.7}
.work-card-tall .work-image-link>img{aspect-ratio:.82;object-position:center}
.work-card-offset{padding-top:170px}
.work-card-offset .work-image-link>img{aspect-ratio:1.17;object-position:center}
.about{padding-block:145px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:1700px;margin:auto}
.about .latin-title{font-size:clamp(44px,4.3vw,65px);margin-top:36px}
.about .latin-title>span{margin-top:25px}
.about-body{padding-top:48px}
.about-lead{font-family:var(--serif);font-size:25px;letter-spacing:.06em;line-height:2}
.about-body>p+p{margin-top:30px;font-size:16px;line-height:2.2;color:#5a6154;letter-spacing:.025em}
.company-details{font-size:14px;margin:40px 0 0;border-top:1px solid var(--line)}
.company-details>div{display:grid;grid-template-columns:70px 1fr;gap:22px;border-bottom:1px solid var(--line);padding:18px 0}
.company-details dt{color:var(--muted)}.company-details dd{margin:0}
.contact{padding-block:54px 55px;background:#e3e6dc}
.contact-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.contact-top>p+p{font-size:14px;letter-spacing:.04em;color:#626b56}
.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:66px;align-items:center}
.contact-main h2{font-family:var(--serif);font-size:clamp(27px,2.8vw,43px);line-height:1.85;letter-spacing:.1em}
.contact-link{padding-bottom:16px;border-bottom:1px solid #8d987f;display:block;width:100%;max-width:455px;transition:color .25s}
.contact-link:hover{color:#5b6e48}
.contact-link-label{display:block;font-size:14px;letter-spacing:.06em}
.contact-number{font-family:Georgia,serif;display:block;font-size:clamp(29px,3.4vw,48px);line-height:1.5;letter-spacing:-.025em;margin-top:8px}
.contact-link-note{font-size:12px;color:#67745a}
.contact-bottom{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;font-size:14px;color:#5a644e}
.address-link{font-size:14px;max-width:max-content}
.address-link span{display:block;font-size:12px;text-decoration:underline;text-underline-offset:5px;margin-top:5px}
.address-link:hover{color:#1d2917}
.mobile-break{display:none}
.site-footer{padding:65px var(--gutter) 25px;background:var(--dark);color:var(--white)}
.footer-wordmark{font-size:clamp(40px,8vw,135px);letter-spacing:.105em;line-height:1.15;display:inline-block}
.footer-bottom{border-top:1px solid #ffffff25;margin-top:45px;padding-top:24px;display:flex;gap:30px;justify-content:space-between;color:#b4bca9;font-size:12px;letter-spacing:.045em}
.footer-bottom>a{text-decoration:underline;text-underline-offset:5px}
.project-dialog{background:var(--paper);color:var(--ink);border:0;width:100%;max-width:none;max-height:none;height:100dvh;margin:0;padding:0;overscroll-behavior:contain}
.project-dialog::backdrop{background:#171d15d9}
.project-topbar{height:90px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.project-topbar .wordmark{font-size:20px}
.close-dialog{padding:10px 0 10px 24px;display:flex;gap:20px;align-items:center;font-size:14px}
.close-dialog span{font-size:30px;line-height:1}
.project-layout{padding:50px var(--gutter) 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,25%);gap:5vw;align-items:start}
.gallery figure{margin:0}
#gallery-image{height:min(62vh,760px);object-fit:contain;background:#e7e9e2;max-width:100%;width:100%}
#gallery-caption{font-size:13px;color:var(--muted);margin-top:14px;min-height:24px}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-top:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gallery-controls button{padding:14px 0;min-width:85px;text-align:left}.gallery-controls button:last-child{text-align:right}
.gallery-controls button:hover{color:#6b7e53}
#gallery-count{font-size:12px;letter-spacing:.1em}
.gallery-thumbs{display:flex;gap:12px;margin-top:18px}
.gallery-thumbs button{padding:3px;border:1px solid transparent;width:85px;opacity:.55;transition:opacity .2s}
.gallery-thumbs button[aria-current=true]{border-color:var(--ink);opacity:1}
.gallery-thumbs button:hover{opacity:1}
.gallery-thumbs img{aspect-ratio:1.4;object-fit:cover}
.project-info{padding-top:22px}
.project-info h2{font-family:var(--serif);font-size:30px;line-height:1.6;margin-top:30px}
#project-description{font-size:16px;line-height:2;margin-top:25px;color:#606954}
.project-info-rule{display:block;margin-top:35px;width:40px;height:1px;background:#adb59e}
.project-small{font-size:14px;line-height:2;margin-top:30px;color:var(--muted)}
.project-contact{display:block;font-size:14px;border-bottom:1px solid #b2baa5;padding-bottom:10px;margin-top:50px;width:max-content;max-width:100%}
@media(min-width:1800px){.hero-image{object-position:center 55%}.contact{padding-inline:max(var(--gutter),calc((100vw - 1520px)/2))}}
@media(max-width:1100px){.desktop-nav{gap:22px}.intro{gap:40px;padding-block:110px}.intro-copy{grid-template-columns:1fr;gap:24px}.hero-index{display:none}.scroll-link{position:static;transform:none}.about-lead{font-size:22px}.project-layout{grid-template-columns:minmax(0,1fr) 240px;gap:32px}.project-info h2{font-size:25px}}
@media(max-width:900px){.site-header{height:88px}.desktop-nav{gap:17px}.desktop-nav a{font-size:13px}.desktop-nav a span{font-size:12px}.wordmark{font-size:22px}.hero{min-height:660px}.about{gap:45px;padding-block:100px}.contact-main{gap:40px}.project-layout{grid-template-columns:1fr}.project-info{max-width:640px;padding-top:0}.project-info h2{margin-top:15px}#project-description{margin-top:18px}.project-small{margin-top:22px}.project-contact{margin-top:30px}#gallery-image{height:57vh}}
@media(max-width:720px){html{scroll-padding-top:85px}.site-header{height:78px;gap:20px}.site-header.scrolled{height:68px}.wordmark{font-size:21px;letter-spacing:.14em}.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:16px;padding:12px 0 12px 10px;position:relative;z-index:40;font-size:13px}.menu-toggle i{width:22px;height:9px;display:block;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative;transition:height .2s}.menu-toggle[aria-expanded=true] i{border:0;height:22px}.menu-toggle[aria-expanded=true] i:before,.menu-toggle[aria-expanded=true] i:after{content:'';position:absolute;top:10px;left:0;width:22px;height:1px;background:currentColor;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] i:after{transform:rotate(-45deg)}.site-header.menu-open{position:fixed;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}.mobile-menu{position:fixed;inset:0;background:var(--paper);z-index:25;padding:110px var(--gutter) 35px;overflow:auto;display:flex;flex-direction:column;justify-content:space-between}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-family:Georgia,serif;font-size:34px;padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:24px;align-items:center;justify-content:space-between}.mobile-menu nav a span{font-family:var(--sans);font-size:13px;color:var(--muted)}.mobile-menu>p{font-size:12px;letter-spacing:.1em;margin-top:36px}.hero{height:100svh;min-height:610px;max-height:1000px}.hero-image{object-position:55% center}.hero-shade{background:linear-gradient(180deg,rgba(10,12,11,.38),transparent 30%,rgba(10,12,11,.28) 50%,rgba(10,12,11,.66)),linear-gradient(90deg,rgba(10,12,11,.1),transparent)}.hero-content{bottom:110px}.hero h1{font-size:38px;line-height:1.7;letter-spacing:.14em}.hero-eyebrow{font-size:12px;letter-spacing:.075em;margin-bottom:20px}.hero-copy{font-size:14px;letter-spacing:.05em;margin-top:20px}.hero-bottom{bottom:24px;align-items:end;font-size:12px;gap:15px;letter-spacing:.015em}.scroll-link{gap:10px;font-size:12px}.scroll-link i{height:30px}.intro{display:block;padding-block:78px 85px}.intro-left{padding-top:0;display:flex;flex-wrap:wrap;gap:10px 25px;align-items:center;margin-bottom:35px}.location-note{margin:0;font-size:13px}.intro h2{font-size:24px;letter-spacing:.055em;line-height:1.9}.intro-copy{margin-top:27px;gap:22px;font-size:16px;line-height:2}.works{padding-bottom:75px}.section-heading{padding-top:24px;margin-bottom:35px}.section-heading .latin-title{font-size:40px;margin-top:17px}.section-side-note{display:none}.latin-title>span{font-size:13px;margin-top:10px}.works-grid{display:flex;flex-direction:column;gap:52px}.work-card-featured .work-image-link>img{aspect-ratio:1.17;object-position:52% center}.work-card-tall .work-image-link>img{aspect-ratio:.92;object-position:center 40%}.work-card-offset{padding:0}.work-card-offset .work-image-link>img{aspect-ratio:1.17}.work-caption{margin-top:18px;gap:10px}.work-caption h3{font-size:23px}.work-card-featured h3{font-size:28px}.work-description{font-size:14px}.work-meta{font-size:12px;line-height:1.8}.work-type{margin-bottom:6px}.image-cta{opacity:1;transform:none;font-size:13px;right:14px;bottom:14px;padding:10px 14px;gap:19px}.about{display:block;padding-block:75px}.about .latin-title{font-size:44px;margin-top:23px}.about .latin-title>span{margin-top:16px}.about-body{padding-top:36px}.about-lead{font-size:22px;letter-spacing:.035em}.about-body>p+p{font-size:16px;line-height:2.1;margin-top:25px}.company-details{margin-top:30px}.company-details>div{padding:15px 0;gap:16px;grid-template-columns:58px 1fr}.contact{padding-block:38px}.contact-top{align-items:start;flex-direction:column;gap:13px}.contact-top>p+p{font-size:13px}.contact-main{grid-template-columns:1fr;gap:32px;margin-top:35px}.contact-main h2{font-size:29px;letter-spacing:.06em}.contact-link{max-width:none}.contact-number{font-size:38px}.contact-bottom{grid-template-columns:1fr;gap:28px;margin-top:32px}.mobile-break{display:block}.site-footer{padding-block:42px 22px}.footer-wordmark{font-size:clamp(30px,10vw,64px);letter-spacing:.065em}.footer-bottom{margin-top:30px;padding-top:22px;flex-wrap:wrap;gap:16px 25px;font-size:12px}.footer-bottom>p:first-child{width:100%;font-size:12px;letter-spacing:.025em}.footer-bottom>a{margin-left:auto}.project-topbar{height:75px}.project-topbar .wordmark{font-size:19px}.project-layout{padding:24px var(--gutter) 45px;gap:35px}#gallery-image{height:48vh;min-height:230px}#gallery-caption{font-size:13px}.project-info h2{font-size:27px}.gallery-thumbs button{width:70px}.project-dialog .eyebrow{font-size:12px}}
@media(max-width:370px){.hero-bottom>span{font-size:12px;max-width:170px}.hero-bottom{align-items:center}.scroll-link>span{max-width:55px;line-height:1.5}.hero h1{font-size:34px}.hero-copy{font-size:13px}.contact-number{font-size:32px}.about-lead{font-size:20px}.intro h2{font-size:22px}.contact-main h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.work-image-link:hover>img{transform:none}}

/* Bilingual header and English typesetting. */
.desktop-nav{margin-left:auto}
.header-actions{display:flex;align-items:center;gap:24px}
.language-switch{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;line-height:1}
.language-switch button{padding:14px 3px;min-height:44px;position:relative;font-size:13px;letter-spacing:.04em;opacity:.55}
.language-switch button[aria-pressed="true"]{opacity:1}
.language-switch button[aria-pressed="true"]:after{content:'';position:absolute;bottom:8px;left:3px;right:3px;height:1px;background:currentColor}
.language-switch button:hover{opacity:1}
.language-switch>span{opacity:.4}
html[lang="en"] .hero h1,html[lang="en"] .intro h2,html[lang="en"] .approach h2,html[lang="en"] .about-lead,html[lang="en"] .contact-main h2,html[lang="en"] .project-info h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.025em;line-height:1.35}
html[lang="en"] .hero h1{font-size:clamp(46px,5.5vw,84px)}
html[lang="en"] .hero-copy{letter-spacing:.015em}
html[lang="en"] .intro-copy,html[lang="en"] .approach-lead,html[lang="en"] .about-body>p+p{letter-spacing:0}
html[lang="en"] .desktop-nav a span{display:none}



html[lang="en"] .contact-number{font-size:clamp(28px,3.1vw,44px)}
html[lang="en"] .work-caption h3{font-family:Georgia,serif;font-size:26px;letter-spacing:-.015em}
@media(max-width:1100px){.site-header{gap:22px}.desktop-nav{gap:20px}}
@media(max-width:900px) and (min-width:721px){.desktop-nav{gap:13px}.desktop-nav a span{display:none}.site-header{gap:20px}.wordmark{font-size:20px}}
@media(max-width:720px){.site-header{gap:12px}.header-actions{gap:14px}.language-switch{gap:5px}.menu-toggle{padding-left:4px}.menu-toggle>span{display:none}.language-switch button{font-size:12px}.site-header .wordmark{font-size:20px;letter-spacing:.12em}.menu-toggle i{width:20px}html[lang="en"] .hero h1{font-size:48px}html[lang="en"] .hero-copy{font-size:14px;max-width:275px}html[lang="en"] .intro h2{font-size:30px}html[lang="en"] .about-lead{font-size:25px}html[lang="en"] .contact-main h2{font-size:32px}html[lang="en"] .contact-number{font-size:33px}html[lang="en"] .company-details>div{grid-template-columns:82px 1fr}html[lang="en"] .mobile-menu nav a span{font-size:12px}html[lang="en"] .mobile-menu nav a{gap:15px}}

/* Our Approach: one reading column from philosophy to commission principles. */
.approach{background:var(--dark);color:var(--white);padding-block:clamp(72px,7.5vw,112px)}
.approach-inner{max-width:1440px;margin-inline:auto}
.approach-header{margin-bottom:52px}
.approach .eyebrow{color:#b8c1ad}
.approach h2{font-family:var(--serif);font-size:clamp(28px,2.65vw,38px);letter-spacing:.07em;line-height:1.65;margin-top:27px}
.approach-subtitle{font-family:var(--serif);font-size:18px;line-height:1.85;letter-spacing:.04em;margin-top:13px;color:#c9cec3}
.approach-reading{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(48px,6.5vw,96px);align-items:start}
.approach-image{display:block;width:100%;max-width:560px;min-width:0;margin:0;aspect-ratio:2/3}
.approach-image img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.approach-content{min-width:0;max-width:620px}
.approach-copy,.contact-principles-copy{font-size:16px;line-height:2.05;letter-spacing:.025em;color:#c9cec3;overflow-wrap:break-word}
.approach-copy p+p{margin-top:23px}
.working-together{margin-top:52px;padding-top:39px;border-top:1px solid #ffffff30;scroll-margin-top:24px}
.contact-principles h3{font-family:var(--serif);font-size:25px;line-height:1.75;letter-spacing:.06em}
.contact-principles-copy{margin-top:22px}
.contact-principles-copy>:not(:first-child){margin-top:25px}
.contact-principles-list{list-style:none;padding:0;margin:0}
.contact-principles-list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:16px;padding-block:15px;border-bottom:1px solid #ffffff1f}
.contact-principles-list li:first-child{padding-top:0}
.principle-number{font-family:var(--sans);font-size:11px;letter-spacing:.08em;line-height:2.98;color:#aeb6a4}
.contact-principles-boundary{color:var(--white)}
.disciplines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:72px;padding-top:26px;border-top:1px solid #ffffff30}
.disciplines>div{min-width:0}
.disciplines>div>span{display:block;font-size:11px;letter-spacing:.06em;color:#aeb6a4;margin-bottom:10px}
.disciplines h3{font-size:15px;letter-spacing:.035em;line-height:1.7}
.disciplines p{font-size:12px;letter-spacing:.02em;color:#b1bba7;line-height:1.7;margin-top:4px}
html[lang="en"] .approach h2,html[lang="en"] .contact-principles h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.025em;line-height:1.4}
html[lang="en"] .approach-subtitle{font-family:Georgia,'Times New Roman',serif;letter-spacing:0}
html[lang="en"] .approach-copy,html[lang="en"] .contact-principles-copy{letter-spacing:0;line-height:1.9}
html[lang="en"] .disciplines p{display:none}
@media(min-width:1001px) and (min-height:720px){.approach-image{position:sticky;top:112px;max-width:min(560px,calc((100svh - 144px)*2/3))}}
@media(max-width:1000px){
  .approach-inner{max-width:760px}
  .approach-reading{grid-template-columns:minmax(0,1fr);gap:42px}
  .approach-image{width:100%;max-width:480px;justify-self:center}
  .approach-content{max-width:none}
  .approach-header{margin-bottom:36px}
  .disciplines{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 36px;margin-top:52px}
}
@media(max-width:720px){
  .approach{padding-block:60px}
  .approach h2{font-size:28px;letter-spacing:.035em;margin-top:22px}
  .approach-subtitle{font-size:16px;letter-spacing:.025em;margin-top:12px}
  .approach-header{margin-bottom:30px}
  .approach-reading{gap:34px}
  .approach-copy,.contact-principles-copy{line-height:2;letter-spacing:.015em}
  .approach-copy p+p{margin-top:22px}
  .working-together{margin-top:38px;padding-top:31px;scroll-margin-top:16px}
  .contact-principles h3{font-size:24px}
  .contact-principles-copy{margin-top:23px}
  .contact-principles-list li{gap:12px;padding-block:14px}
  .contact-principles-copy>:not(:first-child){margin-top:24px}
  .disciplines{gap:24px 20px;margin-top:42px;padding-top:23px}
  .disciplines h3{font-size:14px;letter-spacing:0}
  .disciplines>div>span{margin-bottom:7px}
  html[lang="en"] .approach h2{font-size:32px}
  html[lang="en"] .contact-principles h3{font-size:27px}
}
@media(max-width:370px){.approach h2{font-size:25px}.approach-subtitle{font-size:15px}}

/* Enquiries */
.contact-with-form{align-items:start;grid-template-columns:1fr 1.1fr;gap:7vw}
.contact-form-intro{margin-top:30px;font-size:16px;line-height:2;color:#5a644e}
.contact-principles-link{display:flex;align-items:center;gap:18px;width:max-content;max-width:100%;font-size:14px;margin-top:24px;text-decoration:underline;text-underline-offset:6px}
.contact-principles-link span{font-size:16px;text-decoration:none}
.contact-email{display:inline-block;margin-top:26px;font-size:15px;text-decoration:underline;text-underline-offset:6px;overflow-wrap:anywhere}
.contact-form-wrap{min-width:0}
.enquiry-form{width:100%}
.form-required-note{font-size:13px;color:#5a644e;margin-bottom:24px}
.form-field{margin-bottom:25px}
.form-field label{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15px;margin-bottom:9px}
.required-mark,.optional-mark{font-size:12px;color:#5a644e;letter-spacing:.03em}
.form-field input,.form-field textarea,.form-field select{display:block;width:100%;max-width:100%;font:inherit;font-size:16px;color:var(--ink);background:#f5f6f0;border:1px solid #adb6a1;border-radius:0;padding:13px 14px;line-height:1.7;box-sizing:border-box}
.form-field textarea{resize:vertical;min-height:170px}
.form-field select{min-height:54px}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:2px solid #65794d;outline-offset:2px}
.field-help{font-size:13px;line-height:1.8;color:#59654d;margin-top:9px}
.form-privacy{font-size:13px;line-height:1.9;color:#59654d;margin-top:28px}
.form-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin-top:23px;padding:18px 24px;background:var(--dark);color:var(--white);font-size:16px;min-height:60px;transition:background .2s}
.form-submit:hover{background:#394632}
.submit-english{font-size:12px;letter-spacing:.035em;color:#c7d0bd}
.form-send-note{font-size:12px;line-height:1.9;color:#59654d;margin-top:12px}
.form-honey{display:none}
.contact-success{border:1px solid #899b74;background:#f3f6ed;padding:24px;margin-bottom:32px}
.contact-success h3{font-size:20px;line-height:1.6;margin-bottom:12px}
.contact-success p{font-size:15px;line-height:1.9}
html[lang="en"] .submit-english{display:none}
html[lang="en"] .contact-form-intro{letter-spacing:0}
@media(max-width:900px){.contact-with-form{gap:36px}.contact-email{font-size:14px}}
@media(max-width:720px){.contact-with-form{grid-template-columns:1fr;gap:40px}.contact-form-intro{margin-top:23px}.contact-email{margin-top:16px;font-size:15px}.form-field{margin-bottom:22px}.form-required-note{margin-bottom:22px}.contact-success{padding:20px}.contact-success h3{font-size:19px}.contact-bottom{margin-top:42px}}

/* Keep all user-selected thumbnails usable at every width. */
.gallery-thumbs{flex-wrap:wrap}
.gallery-thumbs button{flex-shrink:0}
.work-card-featured [data-project="alps"]>img{aspect-ratio:3/2;object-position:center}

.work-card-offset [data-project="landscape"] > img { aspect-ratio: 3 / 2; object-position: center; }

.work-card-tall [data-project="forest"] > img { aspect-ratio: 3840 / 2565; object-position: center; }

.work-caption h3, #project-title { font-family: Georgia, 'Times New Roman', serif; letter-spacing: -.015em; line-height: 1.35; }

/* Preserve the architectural shadows, with ongoing status centered on each cover. */
.work-card-progress .work-image-link>img{filter:grayscale(1);transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter 1.1s}
.work-card-progress .work-image-link:hover>img,.work-card-progress .work-image-link:focus-visible>img{filter:grayscale(1) brightness(.82)}
.work-card-progress .work-image-link:after,.project-dialog.mountain-project .gallery-image-frame:after{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.66));pointer-events:none}
.progress-label{position:absolute;z-index:2;left:24px;bottom:24px;color:#fff;font-size:14px;letter-spacing:.14em;line-height:1.4;text-shadow:0 1px 8px #0008}
.work-card-progress .progress-label,.project-dialog.mountain-project .gallery-progress-label{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:max-content;max-width:calc(100% - 32px);color:#fff;font-size:clamp(20px,2.2vw,32px);font-weight:400;letter-spacing:.18em;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.8),0 2px 18px rgba(0,0,0,.65);pointer-events:none}
.work-card-progress .image-cta{z-index:2}
.work-card-progress .work-image-link>img{aspect-ratio:3 / 2;object-position:center}
.work-card-progress-mountain{padding-top:0}
@media(max-width:720px){.progress-label{left:14px;bottom:14px;font-size:13px}}

/* Snow uses an already framed image in normal flow, including before it loads. */
.work-card-progress .work-image-link{aspect-ratio:3 / 2}
.work-card-progress [data-project="snow"]>img{position:static;width:100%;height:auto;aspect-ratio:3 / 2}
.work-card-progress-mountain .work-image-link>img,.project-dialog.mountain-project #gallery-image{position:absolute;max-width:none;height:auto;min-height:0;aspect-ratio:auto;width:119.55%;left:-9.89%;top:-2.94%}
.project-dialog.progress-project #gallery-image,.project-dialog.progress-project .gallery-thumbs img{filter:grayscale(1)}
.gallery-image-frame{position:relative}
.gallery-progress-label{display:none}
.project-dialog.snow-project .gallery-image-frame{max-width:766px;margin-inline:auto}
.project-dialog.snow-project #gallery-image{width:100%;height:auto;min-height:0;aspect-ratio:2 / 1;object-fit:contain}
.project-dialog.snow-project .gallery-image-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.66));pointer-events:none}
.project-dialog.snow-project .gallery-progress-label{display:block;pointer-events:none}
.project-dialog.mountain-project .gallery-image-frame{width:100%;max-width:1100px;aspect-ratio:3 / 2;overflow:hidden;margin-inline:auto}
.project-dialog.mountain-project .gallery-progress-label{display:block}

/* Longer project stories retain the gallery and its original compositions. */
.story-project .project-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:clamp(32px,4vw,64px);max-width:1800px;margin-inline:auto}
.story-project .project-info{padding-top:0;max-width:46rem}
.story-project .project-info h2{margin-top:16px}
.project-headline{font-family:var(--serif);font-size:clamp(20px,1.65vw,24px);line-height:1.85;letter-spacing:.03em;margin-top:26px;text-wrap:pretty}
.story-project #project-description{font-size:1rem;line-height:2.05;color:#50574b;margin-top:25px;overflow-wrap:anywhere;white-space:pre-line}
.story-project #project-description p{text-wrap:pretty}
.story-project #project-description p+p{margin-top:1.5em}
.project-credits{font-size:.875rem;line-height:2;color:#606954;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-line}
.story-project .project-info-rule,.story-project .project-small{display:none}
.story-project .project-contact{margin-top:30px}
html[lang="en"] .project-headline{font-family:Georgia,'Times New Roman',serif;letter-spacing:0;line-height:1.5}
html[lang="en"] .story-project #project-description{line-height:1.85}
@media(max-width:1100px){.story-project .project-layout{grid-template-columns:minmax(0,1fr);gap:36px}.story-project .project-info{width:100%;margin-inline:auto}.story-project .project-info h2{font-size:30px}}
@media(max-width:720px){.story-project .project-layout{gap:30px}.project-headline{font-size:20px;margin-top:20px}.story-project #project-description{margin-top:22px}.project-credits{margin-top:28px;padding-top:22px}}

/* Narrow screens read title, photo, story, thumbnails, then contact. */
.gallery{min-width:0}
.gallery-selection-label{display:none}
@media(max-width:1100px){
  .project-layout,.story-project .project-layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .project-layout>.project-heading,.project-layout>.project-info,.project-layout>.gallery-selection,.project-layout>.project-footer{width:100%;max-width:46rem;margin-inline:auto;padding-top:0;min-width:0}
  .project-layout>.project-heading h2{font-family:var(--serif);font-size:30px;line-height:1.5;margin-top:10px;overflow-wrap:anywhere;text-wrap:pretty}
  html[lang="en"] .project-layout>.project-heading h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.025em;line-height:1.35}
  .project-layout>.project-info .project-headline{margin-top:0}
  .project-layout>.project-info #project-headline[hidden]+#project-description{margin-top:0}
  .gallery{scroll-margin-top:24px}
  .gallery-selection-label{display:block;font-size:12px;letter-spacing:.12em;color:var(--muted);margin-bottom:16px}
  .project-layout>.gallery-selection .gallery-thumbs{margin-top:0}
  .project-layout>.project-footer .project-contact{margin-top:0}
}
@media(max-width:720px){
  .project-layout,.story-project .project-layout{gap:26px}
  .project-layout>.project-heading h2{font-size:27px}
}

/* Approved C lockup. Keep the exact mark and letterforms from the mock. */
.brand-filter-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.wordmark.brand-logo{--brand-mark-width:42px;--brand-name-width:208px;--brand-gap:18px;display:inline-flex;align-items:center;gap:var(--brand-gap);flex-shrink:0;font-size:0;letter-spacing:0;line-height:1;vertical-align:middle}
.site-header .brand-logo{min-height:44px}
.brand-piece{display:block;position:relative;overflow:hidden;flex:none;width:var(--piece-width);aspect-ratio:var(--crop-w)/var(--crop-h)}
.brand-piece img{position:absolute;max-width:none;width:calc(100% * 1536 / var(--crop-w));height:auto;left:calc(-100% * var(--crop-x) / var(--crop-w));top:calc(-100% * var(--crop-y) / var(--crop-h));filter:url(#brand-logo-white)}
.brand-mark{--piece-width:var(--brand-mark-width);--crop-x:138;--crop-y:397;--crop-w:247;--crop-h:223}
.brand-name{--piece-width:var(--brand-name-width);--crop-x:433;--crop-y:443;--crop-w:966;--crop-h:122;transform:translateY(-.5px)}
.site-header.scrolled .brand-piece img,.project-topbar .brand-piece img{filter:url(#brand-logo-ink)}
.project-topbar .brand-logo{--brand-mark-width:34px;--brand-name-width:164px;--brand-gap:14px}
.footer-wordmark.brand-logo{--brand-mark-width:clamp(42px,6.85vw,91px);--brand-name-width:clamp(208px,34vw,450px);--brand-gap:clamp(18px,2.95vw,39px);max-width:100%}
@media(max-width:900px) and (min-width:721px){.site-header .brand-logo{--brand-mark-width:38px;--brand-name-width:192px;--brand-gap:16px}}
@media(max-width:720px){
  .site-header .brand-logo,.project-topbar .brand-logo{--brand-mark-width:22px;--brand-name-width:108px;--brand-gap:10px}
  .footer-wordmark.brand-logo{--brand-mark-width:42px;--brand-name-width:208px;--brand-gap:18px}
}

/* Keep the original 55% mobile crop; only level the shelf with a small edge allowance. */
@media(max-width:720px){
  .hero-image{
    inset:0 auto auto 55%;
    width:auto;
    max-width:none;
    height:100%;
    aspect-ratio:3 / 2;
    object-fit:fill;
    object-position:center;
    transform-origin:55% 50%;
    transform:translateX(-55%) rotate(-.6deg) scale(1.015);
  }
}

/* Product Works: one collection within the existing work selection. */
.work-card-products{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;align-items:center;border-top:1px solid var(--line);padding-top:64px;scroll-margin-top:110px}
.work-card-products .work-image-link{width:100%;max-width:724px}
.work-card-products .work-image-link>img{aspect-ratio:4/3;object-fit:contain}
.work-card-products .work-caption{margin-top:0;gap:24px;max-width:33rem;min-width:0}
.work-card-products h3{font-size:clamp(26px,2.7vw,40px);letter-spacing:.025em}
.work-card-products .work-description{margin-top:18px;font-size:16px;line-height:2}
.product-card-intro{font-size:14px;color:var(--muted);line-height:1.9}
.product-collection-link{display:flex;align-items:center;justify-content:space-between;gap:24px;width:fit-content;max-width:100%;border-bottom:1px solid var(--line);padding-block:10px;font-size:14px}
.product-collection-link:hover{border-color:var(--ink)}
.product-collection-link span{font-size:20px}
.product-project .project-layout{max-width:1800px;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr)}
.product-project .gallery-image-frame{--product-frame-height:min(62svh,760px);height:var(--product-frame-height);display:flex;align-items:center;justify-content:center;background:#e7e9e2}
.product-project #gallery-image{width:auto;height:auto;min-height:0;max-height:100%;max-width:min(100%,var(--product-image-max-width,1200px));background:transparent}
.product-project #gallery-image.is-cropped{width:min(100%,var(--product-image-max-width,1200px),calc(var(--product-frame-height) * var(--photo-crop-ratio)));aspect-ratio:var(--photo-crop-ratio);object-fit:cover;object-position:var(--photo-crop-position)}
.gallery-thumbs img.is-cropped{object-position:var(--photo-crop-position)}
.product-project #gallery-caption{display:none}
.product-focus-overlay{position:absolute;display:none;pointer-events:none;overflow:hidden}
.product-focus-overlay.is-active{display:block}
.product-project .project-info h2{font-size:clamp(26px,2vw,34px);letter-spacing:.02em}
.product-project #project-description{font-size:14px;line-height:2;margin-top:22px}
.product-detail{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
#product-detail-project{font-family:Georgia,'Times New Roman',serif;font-size:13px;color:var(--muted);line-height:1.5}
#product-detail-title{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.4;letter-spacing:-.015em;margin-top:12px;overflow-wrap:anywhere}
#product-detail-text{font-size:15px;line-height:2;color:#50574b;margin-top:20px;text-wrap:pretty;white-space:pre-line}
.product-project .project-credits{margin-top:28px;font-size:12px}
.product-project .gallery-thumbs button{width:clamp(58px,5.4vw,80px)}
@media(max-width:1100px){
  .product-project .project-layout{grid-template-columns:minmax(0,1fr)}
  .product-project .project-info{max-width:46rem;margin-inline:auto}
  .product-project .gallery-thumbs button{width:70px}
}
@media(max-width:720px){
  .work-card-products{display:block;padding-top:40px}
  .work-card-products .work-caption{margin-top:24px;gap:20px}
  .work-card-products .work-description{margin-top:12px;font-size:14px}
  .product-project .gallery-image-frame{--product-frame-height:min(52svh,540px)}
  .product-project #project-description{margin-top:0}
  .product-detail{margin-top:24px;padding-top:22px}
  #product-detail-title{font-size:24px}
  #product-detail-text{font-size:15px;line-height:1.95;margin-top:18px}
  .product-project .gallery-thumbs{gap:10px}
  .product-project .gallery-thumbs button{width:calc((100% - 40px)/5);max-width:80px}
}
