/* Light studio: white space, natural materials, navy reserved for the colophon. */
:root{--paper:#fbfaf7;--ink:#292b2b;--line:#d2d0ca;--forest:#343633;--olive:#343633;--header-height:90px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}body{background:var(--paper);color:var(--ink)}h1,h2,h3{letter-spacing:-.035em;font-weight:400}p{font-weight:400}
body .masthead,body.home .masthead,body.home .masthead:not(.is-scrolled){background:rgba(251,250,247,.72);color:#292b2b;backdrop-filter:blur(20px) saturate(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.1);box-shadow:none;border-bottom:1px solid #292b2b12;padding:20px 3.6%;gap:35px}body .masthead.is-scrolled{background:rgba(251,250,247,.86)}
.brand-link{display:block;position:relative;width:320px;height:38px;flex-shrink:0;border:0!important;text-decoration:none!important;transition:none}.brand-wordmark,.brand-monogram{position:absolute;inset:0;display:flex;align-items:center;transition:opacity 200ms ease,transform 250ms var(--ease-out)}.wordmark-svg{width:100%;height:auto;max-height:32px;overflow:visible}.brand-accent{stroke:#a28651;stroke-width:2.6}.brand-monogram{opacity:0;transform:translateY(7px);width:34px}.monogram-svg{width:32px;height:38px}.is-scrolled .brand-wordmark{opacity:0;transform:translateY(-7px);pointer-events:none}.is-scrolled .brand-monogram{opacity:1;transform:none}.is-scrolled .brand-link{width:320px}.masthead .desktop-nav{display:flex;position:static;inset:auto;align-items:center;gap:clamp(18px,2vw,32px);background:none;border:0;padding:0;margin-left:auto;color:inherit}.desktop-nav a{font-size:14px;white-space:nowrap;letter-spacing:0;padding:9px 0}.masthead .header-actions{display:none}.masthead .menu{display:none!important}#navigation{background:#f6f4ee;color:#292b2b}#navigation::backdrop{background:#f6f4eec9}.nav-bottom{border-color:#292b2b30}#navigation .nav-body nav a{letter-spacing:-.025em;font-weight:400}.nav-top .brand-monogram{display:none}.nav-top .brand-wordmark{opacity:1;transform:none}.nav-top .brand-link{width:250px}
.exhibit,.quick-start,.home-services,.profile,.service-lead,.scope,.faq-library,.intake,.journal-home,.article-source,.material-notebook,.related,.service-band:nth-child(even),.service-band:nth-child(odd),.palette-section,.closing,.decision-section,.material-detail:nth-of-type(even){background:var(--paper);color:var(--ink)}.quick-start,.material-notebook,.closing{background:#efede7}.exhibit{padding-top:105px}.exhibit-head p{color:#62635d}.lead-project{color:#fff}.lead-shell .detail-toggle{color:#292b2b}.quick-intro>p,.quick-promise,.quick-options small,#quick-result small{color:#65665e}.quick-promise,.quick-options label{border-color:#292b2b30}.quick-options label:has(input:checked){background:#e3e0d7}.quick-options input{accent-color:#343633}.quick-options input:focus-visible{outline-color:#343633}.quick-actions .solid,.solid,.form-actions .solid{background:#343633;color:#fff}.quick-start{padding-top:85px;padding-bottom:85px}.quick-intro h2{font-size:clamp(40px,4.3vw,64px)}.quick-promise{margin-top:30px}.quick-progress{color:#66675f}.choice:has(input:checked){background:#ebe8df}.choice input{accent-color:#343633}.intake .form-field input,.intake .form-field select,.intake .form-field textarea{color:#292b2b;border-color:#8a8b83}.step-meter .filled{background:#343633}.article-layout p,.material-detail>div p,.about-copy p{color:#464842}.faq-groups h3,.note,.edition-note,.author figcaption{color:#62645e}.service-reading{background:#f1efe9}.decision-section{border-block:1px solid #dedcd5}.service-band:nth-child(even){background:#f1efe9}.material-detail:nth-of-type(even){background:#f1efe9}.closing{border-bottom:0}.about-composition{padding-top:120px;padding-bottom:110px}.about-composition h2{font-size:clamp(39px,5.3vw,78px);font-weight:400;letter-spacing:-.035em;line-height:1.13}.about-copy p:first-child{font-size:25px}.about-detail{margin-top:10px}.author p,.profile p{max-width:43ch}.author .portrait-compare-link{display:table;margin-top:24px;font-size:14px}.portrait-option{padding:100px 6%;background:#f1efe9}.portrait-option h2{font-size:clamp(36px,4.7vw,66px);line-height:1.1}.portrait-option>p{font-size:19px;line-height:1.7;max-width:48ch;margin:26px 0 40px}.portrait-option figure{height:auto;aspect-ratio:4/3;max-width:1100px;margin-bottom:35px}.portrait-option img{object-fit:cover}.portrait-comparison{padding:0 6% 110px;display:grid;grid-template-columns:1fr 1.4fr;gap:6%;align-items:start}.portrait-comparison img{height:auto}.portrait-comparison figcaption{font-size:15px;line-height:1.6;padding-top:18px}
.colophon{background:#14283f;color:#f6f3ec;padding-top:100px}.footer-opening{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;padding-bottom:85px;margin-bottom:75px;border-bottom:1px solid #ffffff35}.footer-opening h2{font-size:clamp(38px,5.4vw,78px);line-height:1.08;max-width:20ch;letter-spacing:-.035em}.footer-opening a{font-size:16px;margin-bottom:9px}.foot-mark span{font-size:clamp(32px,4vw,60px)}.foot-grid{grid-template-columns:2fr repeat(3,1fr)}.foot-base{margin-top:70px}.foot-grid h2{color:#bac4cf}
/* One underline mechanism. No border plus background plus text-decoration stacking. */
body a,body a.textlink,body .hero-links a,body .project-read{border-bottom:0!important;background-image:none!important;text-decoration:none!important;text-decoration-thickness:1px!important;text-underline-offset:6px!important}body a:hover,body a:focus-visible,body a:active{background-image:none!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:6px!important}body .brand-link:hover,body .brand-link:active,body .brand-link:focus-visible{ text-decoration:none!important}.project-read{border:0!important}.project-preview a:hover,.material-card:hover,.journal-grid>a:hover{ text-decoration:none!important}.project-preview a:hover h3,.material-card:hover h3,.journal-grid>a:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}body a .textlink{border:0;background-image:none}.hero-links a{padding-bottom:6px}.project-preview a:focus-visible{outline-offset:6px}
@media(min-width:1101px){.masthead .desktop-nav{display:flex!important}.masthead .menu{display:none!important}}
@media(max-width:1100px){:root{--header-height:80px}.masthead .desktop-nav{display:none!important}.masthead .header-actions{display:flex;margin-left:auto}.masthead .menu{display:flex!important;color:#292b2b}.brand-link{width:285px}.is-scrolled .brand-link{width:285px}}
@media(hover:none),(pointer:coarse){.gallery-status{display:flex}.project-preview:not(.show-detail):hover .project-alternate,.project-preview:not(.show-detail):focus-within .project-link .project-alternate{opacity:0}.project-preview .project-alternate{transition:none}body a:not(:has(img)):not(.brand-link){text-decoration:underline!important}body .project-read{text-decoration:underline!important}}
@media(max-width:620px){:root{--header-height:76px}body .masthead,body.home .masthead{padding:16px 26px;gap:18px}.brand-link{width:225px;height:35px}.wordmark-svg{max-height:none}.brand-monogram{width:27px}.monogram-svg{height:32px;width:27px}.is-scrolled .brand-link{width:225px}.nav-top .brand-link{width:225px}.nav-top{gap:15px}.nav-top button{padding-inline:0}.about-composition{padding:80px 28px}.about-composition h2{font-size:37px;letter-spacing:-.025em}.quick-start{padding:65px 28px}.quick-intro h2{font-size:39px}.quick-intro>p{font-size:17px}.quick-promise{display:none}.quick-workspace{margin-top:38px}.quick-progress{margin-bottom:24px}.quick-workspace legend{font-size:29px}.quick-options label{padding:19px 0}.quick-options strong{font-size:17px}.exhibit{padding-top:80px}.exhibit h2{font-size:40px}.portrait-option{padding:70px 28px}.portrait-option h2{font-size:38px}.portrait-option>p{font-size:17px}.portrait-option figure{aspect-ratio:4/3;margin-inline:-12px}.portrait-comparison{display:block;padding:0 28px 70px}.portrait-comparison figure+figure{margin-top:45px}.footer-opening{display:block;padding-bottom:50px;margin-bottom:55px}.footer-opening h2{font-size:39px}.footer-opening a{display:inline-block;margin-top:30px}.foot-grid{grid-template-columns:1fr 1fr}.foot-mark{grid-column:1/-1}.colophon{padding-top:75px}.gallery-status{display:flex}body a:not(:has(img)):not(.brand-link){text-decoration:underline!important}body .project-read{text-decoration:underline!important}.hero-links a{padding-bottom:5px}}
@media(prefers-reduced-motion:reduce){.brand-link,.brand-wordmark,.brand-monogram{transition:none!important}}

/* The second photograph is an inset editorial view, with its own caption. */
.project-preview figure,.archive-photo,.lead-project{isolation:isolate;background:#292b2b}
.project-preview .project-alternate{z-index:1;transform:scale(.98);transition:opacity 220ms ease,transform 250ms var(--ease-out);object-fit:cover}
.project-preview .project-caption{z-index:2;background:#292b2b;inset:auto 0 0;padding:12px 5%;font-size:14px;line-height:1.45;pointer-events:none}
.project-kind{position:absolute;top:0;left:0;right:0;text-align:center;padding:10px 12px;color:#fff;font-size:12px;z-index:2;opacity:0;transition:opacity 200ms ease;pointer-events:none}
.project-preview.show-detail .project-alternate{opacity:1;transform:scale(.88)}
.project-preview.show-detail .project-kind,.project-preview.show-detail .project-caption{opacity:1}
.project-preview.show-detail .lead-project>div{opacity:0}
.lead-project>div{transition:opacity 200ms ease}
.detail-toggle{display:inline-block;margin-top:13px;min-height:44px;font-size:14px;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;border:0}
@media(hover:hover) and (pointer:fine){.detail-toggle{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;clip-path:inset(50%)}.detail-toggle:focus-visible{position:relative;width:auto;height:auto;min-height:44px;clip-path:none}.project-preview:hover .project-alternate{opacity:1;transform:scale(.88)}.project-preview:hover .project-kind,.project-preview:hover .project-caption{opacity:1}.project-preview:hover .lead-project>div{opacity:0}}
/* A photographic sentence introduces the studio, followed by the image crossing its title. */
.about-composition{position:relative;isolation:isolate;overflow:clip}
.about-composition h2{position:relative;z-index:0;max-width:22ch}
.inline-room{display:inline-block;width:1.7em;height:.82em;margin-right:.18em;vertical-align:-.04em;overflow:hidden}
.inline-room img{width:100%;height:100%;object-fit:cover}
.about-grid{position:relative;z-index:1}.about-room{will-change:transform}.about-detail{will-change:transform}
.about-copy a{font-size:16px}.process-step{background:var(--paper);position:relative}.process-visual img{object-fit:cover}
.closing{position:relative;overflow:clip}.closing h2{position:relative;z-index:1}.closing-photo{width:42%;aspect-ratio:1.3;object-fit:cover;margin:0 0 38px auto}
.colophon .foot-mark{grid-column:1/-1;border-bottom:1px solid #ffffff35;padding-bottom:55px;margin-bottom:10px}.foot-mark .wordmark-svg{width:100%;max-height:none;height:auto}.foot-grid{grid-template-columns:repeat(3,1fr)}
body .index-head,body .report-cover,body .turn-page{background:var(--paper);color:var(--ink)}
::selection{background:#d8d2c2;color:#292b2b}:focus-visible{outline:2px solid currentColor;outline-offset:6px}input,textarea{caret-color:#292b2b}
@media(max-width:620px){.about-room{height:360px}.inline-room{width:1.4em}.closing-photo{width:60%;margin-top:0}.foot-grid{grid-template-columns:1fr 1fr}.foot-mark .wordmark-svg{min-height:38px}.colophon .foot-mark{padding-bottom:30px}.process-visual{position:sticky;top:76px;height:240px;z-index:2;margin-bottom:35px}.process-step{min-height:300px;padding-top:40px}.process-copy h2{margin-bottom:35px}.project-preview .project-caption{font-size:12px;padding-block:10px}}
@media(prefers-reduced-motion:reduce){.project-preview .project-alternate{transition:none;transform:none!important}.about-room,.about-detail{will-change:auto;transform:none!important}.process-visual{position:relative;top:auto}}
@media(prefers-reduced-transparency:reduce){body .masthead,body.home .masthead{background:var(--paper);backdrop-filter:none}}
.project-preview figure::after,.archive-photo::after,.lead-project::after{content:'';position:absolute;inset:0;background:#292b2b;opacity:0;transition:opacity 220ms ease;pointer-events:none;z-index:0}
.project-preview.show-detail figure::after,.project-preview.show-detail .archive-photo::after,.project-preview.show-detail .lead-project::after{opacity:1}
@media(hover:hover) and (pointer:fine){.project-preview:hover figure::after,.project-preview:hover .archive-photo::after,.project-preview:hover .lead-project::after{opacity:1}}
/* Caption and inset image must stay above the frame, and the cover copy above its photo. */
.lead-project>div{z-index:2}.lead-project>.project-caption{z-index:3}.project-preview .project-alternate{inset:0}
@media(min-width:851px){.about-composition h2{margin-bottom:0;padding-bottom:60px}.about-grid{margin-top:-35px}.about-copy{padding-top:95px}.about-room{height:570px}}
/* A single drawn line also covers the menu, whose inherited background must be reset. */
body a::after{border-bottom:0}
#navigation .nav-body nav a{background-image:none!important;border-bottom:0!important;text-decoration-thickness:1px!important}
