/* Architectural editorial direction: light, material, proportion. */
:root{--ink:#242421;--paper:#f7f6f2;--dark:#1c1d1b;--accent:#c9bba3;--line:#d7d4cc}
.header{padding-top:30px;padding-bottom:30px;border-bottom-color:#ffffff24}
.hero-image{filter:saturate(.72)}
.hero-shade{background:linear-gradient(180deg,#1516126b,transparent 32%,#12141080 65%,#121410dc)}
.hero h1{line-height:1.14;letter-spacing:-.035em}
.hero .eyebrow{letter-spacing:.19em}
.hero-caption{letter-spacing:.18em;color:#e0dfd8}
.intro{padding-top:110px;padding-bottom:130px}
.intro h2{font-size:clamp(46px,5vw,78px);line-height:1.14}
.intro-copy{max-width:480px}.intro-copy p{line-height:1.9}
.intro-copy p+p{color:#6a6962}.little-cross{color:#9f988b;font-size:20px}
.projects{background:var(--paper);padding-top:115px;padding-bottom:120px}
.projects>.section-label{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:55px}
.section-heading{margin-bottom:75px}.section-heading>p{color:#737168}
.project-grid{column-gap:7%;row-gap:90px}
.project-small{padding-top:155px}
.project-wide{width:83%}
.project h3{font-size:clamp(31px,3vw,43px);margin-top:10px}
.project-meta{padding-top:25px}.project-meta .eyebrow{letter-spacing:.18em;color:#757267}
.image-wrap img{filter:saturate(.78);transition:transform 1s cubic-bezier(.22,.6,.3,1),filter .7s}
.project:hover img{filter:saturate(1);transform:scale(1.035)}
.image-cta{background:#f7f6f2ed;padding:10px 17px;letter-spacing:.07em}
.manifesto{height:auto;min-height:560px;padding:115px 6%;isolation:isolate}
.manifesto>img{inset:0;filter:grayscale(1)}
.manifesto:after{background:linear-gradient(90deg,#16161365,#1616133d 50%,#16161366)}
.manifesto>div{padding:0;max-width:1150px}
.manifesto .eyebrow{letter-spacing:.2em;font-size:12px;line-height:1.8}
.manifesto-text{font-size:clamp(47px,6.1vw,91px);line-height:1.14;letter-spacing:-.045em;margin-top:32px;text-wrap:balance}
.manifesto-text em{font-weight:400;font-size:.94em}
.manifesto-light{min-height:600px;text-align:left;place-items:center start}
.manifesto-light>img{object-position:50% 48%;filter:saturate(.35) brightness(.85)}
.manifesto-light:after{background:linear-gradient(90deg,#161714c9,#1617144a 70%,#16171425)}
.manifesto-light>div{margin-left:3%}
.editorial-foot{position:absolute;z-index:2;bottom:25px;left:6%;right:6%;padding-top:17px;border-top:1px solid #ffffff48;color:#e6e4dc;font-size:10px;letter-spacing:.2em;line-height:1.5;text-align:left}
.detail-story{display:grid;grid-template-columns:1fr 1fr;min-height:600px;background:#eceae3}
.detail-picture{position:relative;min-height:600px;overflow:hidden}
.detail-picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 25%;filter:grayscale(1);transform:scale(1.24)}
.detail-picture:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#16171480)}
.detail-picture .editorial-foot{left:9%;right:9%}
.detail-copy{padding:100px 12%;align-self:center}
.detail-copy .eyebrow{color:#686254;font-size:11px;letter-spacing:.2em}
.detail-copy .manifesto-text{font-size:clamp(42px,4.4vw,68px);line-height:1.17;margin-top:30px}
.fine-rule{display:block;width:50px;height:1px;background:#9d927c;margin:35px 0}
.detail-note{font-size:16px;line-height:1.9;color:#6c685e;max-width:370px}
.services{padding-top:105px;padding-bottom:125px}
.services .section-label{color:#b8b5ab}
.services-intro>p,.service-body{color:#c1bfb5}
.service-list,.service-list details{border-color:#4e5048}
.service-list summary{padding-top:29px;padding-bottom:29px}
.service-number{color:#b6aa93}
.manifesto-material{min-height:610px}
.manifesto-material>img{object-position:50% 46%}
.contact{padding-top:115px;padding-bottom:115px}
.contact .section-label{border-bottom:1px solid var(--line);padding-bottom:24px}
.contact-bottom p{color:#706d63}
footer{padding-top:65px}.footer-wordmark{font-weight:400;letter-spacing:-.035em}
@media(min-width:1600px){.manifesto{padding-left:10%;padding-right:10%}}
@media(max-width:1000px){.detail-copy{padding:65px 9%}.detail-story,.detail-picture{min-height:530px}.detail-copy .manifesto-text{font-size:48px}.manifesto-text{font-size:70px}.manifesto-light>div{margin-left:0}}
@media(max-width:700px){.header{padding-top:20px;padding-bottom:20px}.intro,.projects,.services,.contact{padding-top:65px;padding-bottom:70px}.intro h2{font-size:45px}.projects>.section-label{margin-bottom:35px}.section-heading{margin-bottom:42px}.project-grid{row-gap:45px}.project-small{padding-top:0}.project-wide{width:100%}.project-meta{padding-top:20px}.manifesto{min-height:430px;padding:85px 7% 100px}.manifesto .eyebrow{font-size:10px;letter-spacing:.14em;max-width:310px;margin-left:auto;margin-right:auto}.manifesto-text{font-size:clamp(40px,9.8vw,62px);line-height:1.19;margin-top:26px}.manifesto-light{min-height:470px}.manifesto-light .eyebrow{margin-left:0}.manifesto-light>img{object-position:58% center}.manifesto-light:after{background:linear-gradient(90deg,#161714ba,#16171445)}.editorial-foot{font-size:9px;bottom:20px}.detail-story{grid-template-columns:1fr}.detail-picture{min-height:350px}.detail-picture>img{object-position:60% 34%;transform:scale(1.05)}.detail-copy{padding:55px 8% 65px}.detail-copy .manifesto-text{font-size:46px}.detail-note{font-size:15px}.fine-rule{margin:27px 0}.manifesto-material{min-height:470px}.contact .section-label{margin-bottom:35px}.service-list summary{padding-top:24px;padding-bottom:24px}footer{padding-top:40px}}
/* Photographic cover, matched to the light-and-space editorial section. */
.header{border:0;color:#f6f5f0;padding:38px 7.5%;align-items:center}
.header .brand{display:block;width:215px;aspect-ratio:1915/519;overflow:hidden;flex-shrink:0}
.header .brand img{display:block;width:100.575%;max-width:none;height:auto;filter:none}
.header nav{gap:30px;font-size:14px}.header nav>a:not(.nav-contact):after{background:#fff}
.nav-contact{border:0;padding:0}.nav-contact span{margin-left:16px}
.hero{margin:12px;min-height:680px;height:calc(100svh - 24px);max-height:1100px;background:#20221f;color:#f9f8f3;align-items:center}
.hero-image{filter:saturate(.25) brightness(.83);object-position:center 44%}
.hero-shade{background:linear-gradient(90deg,rgba(17,20,18,.69),rgba(17,20,18,.27) 75%),linear-gradient(180deg,rgba(17,20,18,.29),transparent 35%,rgba(17,20,18,.24))}
.hero-content{padding:160px 8% 130px}
.hero .eyebrow{font-size:11px;line-height:1.8;letter-spacing:.2em;margin:0 0 36px;color:#f0f0e9}
.hero h1{font-size:clamp(50px,5.4vw,84px);line-height:1.15;letter-spacing:-.04em;max-width:1100px;text-shadow:none}
.hero h1 em{font-family:Georgia,serif;font-size:.91em;line-height:1.22;font-style:italic;font-weight:400;letter-spacing:-.055em}
.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:38px}
.hero-bottom>p{font-size:16px;max-width:410px;color:#e1e3da;line-height:1.7}
.round-link{font-size:13px;letter-spacing:.035em;gap:28px;padding-bottom:9px;border-bottom:1px solid #ffffff6b}
.circle{width:auto;height:auto;border:0;border-radius:0;display:inline;font-size:21px;line-height:1}
.round-link:hover .circle{background:none;color:inherit;transform:translate(3px,-3px)}
.hero-caption{left:6%;right:6%;bottom:25px;border-top:1px solid #ffffff40;padding-top:18px;color:#e3e2d9;font-size:9px;letter-spacing:.17em}
.menu-button{color:#f9f8f3}
.footer-wordmark{display:block;width:min(100%,1000px);aspect-ratio:1915/519;overflow:hidden;margin:10px auto 45px;line-height:0}
.footer-wordmark img{width:100.575%;max-width:none;height:auto}
@media(max-width:1000px){.header{padding:33px 6%}.header .brand{width:190px}.header nav{gap:24px}.hero-content{padding-left:7%;padding-right:7%}.hero h1{font-size:clamp(47px,5.8vw,65px)}}
@media(max-width:700px){.header{padding:25px 7%}.header .brand{width:170px}.header nav{background:#20221f;color:#f9f8f3;border-bottom-color:#51544a}.hero{margin:8px;min-height:620px;height:calc(94svh - 16px)}.hero-content{padding:155px 7% 125px}.hero .eyebrow{font-size:9px;letter-spacing:.15em;max-width:280px;margin-bottom:26px}.hero h1{font-size:clamp(39px,8.1vw,56px);line-height:1.14}.hero h1 em{font-size:.94em}.hero-image{object-position:55% center}.hero-shade{background:linear-gradient(90deg,#141713b8,#14171366),linear-gradient(180deg,#14171333,transparent 50%,#14171355)}.hero-bottom{margin-top:30px}.round-link{margin-top:0;font-size:12px;justify-content:flex-start}.circle{width:auto;height:auto}.hero-caption{font-size:8px;bottom:20px;gap:20px}.hero-caption span:last-child{max-width:125px;text-align:right}.footer-wordmark{margin:8px 0 30px}}
