/* Navy residential identity. Shared navigation uses only explicit selectors. */
:root{--navy:#14283f;--ink:#1b2d43;--forest:#14283f;--olive:#14283f;--paper:#f4f1ea;--line:#b8b8b3;--header-height:88px;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
html{scroll-padding-top:calc(var(--header-height) + 20px);scroll-behavior:smooth}body{background:var(--paper);color:var(--ink)}body.interior{padding-top:var(--header-height)}a{transition:color 160ms ease;text-decoration-thickness:1px;text-underline-offset:6px}a:hover,a:active,a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}button:active{transform:translateY(1px)}.textlink{border:0;text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;padding:0 0 7px;transition:background-size 180ms ease}.textlink:hover,.textlink:focus-visible,.textlink:active{background-size:100% 1px;text-decoration:none}
body .masthead,body.home .masthead{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-height);min-height:0;padding:20px 4.5%;background:var(--navy);color:#f8f5ee;border:0;transition:background-color 200ms ease,box-shadow 200ms ease}.home .masthead:not(.is-scrolled){background:linear-gradient(#0e1b30c2,transparent)}.masthead.is-scrolled{box-shadow:0 1px 0 #ffffff24}.masthead .mark{white-space:normal;letter-spacing:.02em;font-weight:500}.masthead .mark i{background:#b7a484}.masthead .menu{min-height:44px;font-size:15px;gap:16px;padding:8px}.masthead .menu span{width:24px;height:14px;font-size:0;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.header-contact{border:0;text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;padding-bottom:5px;transition:background-size 160ms ease}.header-contact:hover{background-size:100% 1px;text-decoration:none}
#navigation{background:var(--navy);color:#f4f1ea;overflow-y:auto;overscroll-behavior:contain;padding:28px 5%;height:100dvh;max-height:100dvh}#navigation::backdrop{background:#0d1e31d9}.nav-top{min-height:40px}.nav-top .mark{white-space:normal;letter-spacing:0}.nav-top button{min-width:60px;min-height:44px}.nav-body{min-height:0;padding:6vh 0 5vh;grid-template-columns:1.3fr 1fr;gap:9%}#navigation .nav-body nav{position:static;inset:auto;display:flex;flex-direction:column;align-items:flex-start;gap:16px;background:transparent;border:0;padding:0;width:auto}#navigation .nav-body nav a{display:block;width:fit-content;background:none;border:0;color:inherit;font-size:clamp(30px,4.3vw,66px);line-height:1.1;font-weight:400;letter-spacing:-.05em;padding:0;text-decoration:none}#navigation .nav-body nav a:hover,#navigation .nav-body nav a:focus-visible,#navigation .nav-body nav a:active,#navigation .nav-body nav a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}#navigation .nav-body nav a:last-child{font-size:20px;letter-spacing:-.015em;margin-top:18px}#navigation .nav-body img{height:45vh}.nav-bottom{margin-top:16px;padding-bottom:18px}.nav-bottom a{font-size:14px}.nav-bottom span{font-size:13px}
body.home .arrival{height:100svh;min-height:600px;max-height:none;margin:0;background:#18283c}.arrival figure img{object-position:50% 50%;height:100%;width:100%}.arrival figure::after{background:linear-gradient(0deg,#081b30ba 0%,#081b3033 55%,#081b3010 100%)}.arrival-copy{justify-content:flex-end;padding:120px 6% 7vh}.arrival h1{font-size:clamp(62px,7.4vw,112px);line-height:1.03;letter-spacing:-.055em;font-weight:400;margin:0 0 24px;max-width:15ch}.arrival-copy>p{max-width:41ch;font-size:clamp(18px,1.5vw,23px);line-height:1.55;color:#fff}.hero-links{display:flex;gap:34px;margin-top:30px;font-size:15px;flex-wrap:wrap}.hero-links a{border-bottom:1px solid #ffffff80;padding-bottom:6px}.hero-links a:hover{border-color:white;text-decoration:none}
.about-composition{padding:120px 6% 135px}.about-composition h2{font-size:clamp(40px,5.7vw,84px);line-height:1.09;letter-spacing:-.045em;margin:0 0 75px;max-width:21ch}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;column-gap:11%;row-gap:0;align-items:start}.about-room{height:500px;overflow:hidden}.about-room img{object-position:70% center}.about-copy{padding-top:30px}.about-copy p{font-size:19px;line-height:1.8;max-width:42ch;margin-bottom:24px}.about-copy p:first-child{font-size:25px;line-height:1.45;letter-spacing:-.02em}.about-copy a{margin-top:15px}.about-detail{grid-column:2;width:48%;height:250px;margin:40px 0 0 auto;overflow:hidden}
.exhibit{background:var(--navy);color:#f4f1ea}.exhibit-head p{font-size:17px;line-height:1.7;max-width:47ch;margin-top:24px}.project-preview{position:relative;min-width:0}.project-preview figure,.archive-photo{position:relative;overflow:hidden}.project-preview .project-alternate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 250ms ease;pointer-events:none}.project-caption{position:absolute;inset:auto 0 0;padding:30px 25px 22px;background:linear-gradient(transparent,#112239d9);color:white;font-size:16px;line-height:1.5;opacity:0;transition:opacity 200ms ease}.project-preview.show-detail .project-alternate,.project-preview.show-detail .project-caption{opacity:1}.project-preview:focus-within .project-link .project-alternate{opacity:1}.project-read{display:inline-block;margin-top:20px;font-size:14px;padding-bottom:4px;border-bottom:1px solid currentColor}.project-preview a:hover{text-decoration:none}.project-preview a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.detail-toggle{position:relative;background:none;border:0;border-bottom:1px solid currentColor;padding:9px 0;margin-top:18px;color:inherit;font-size:14px;min-height:40px;display:none}.lead-shell .detail-toggle{color:#f4f1ea}.other-projects figure{aspect-ratio:1.5}.other-projects figure img{height:100%;width:100%;aspect-ratio:auto}.other-projects a>div{padding-top:22px}.other-projects p{margin-top:18px;max-width:43ch;line-height:1.7}.archive-grid{grid-template-columns:repeat(12,minmax(0,1fr));row-gap:85px}.archive-item{grid-column:span 6}.archive-item:nth-child(2){grid-column:span 6;margin-top:100px}.archive-item:nth-child(3){grid-column:span 6}.archive-item:nth-child(2n){margin-top:100px}.archive-photo,.archive-item:nth-child(2) .archive-photo{aspect-ratio:1.2}.archive-caption{border:0;padding-top:22px}.archive-caption p{line-height:1.7;margin-top:18px}.archive-caption h3{font-size:clamp(30px,3vw,45px)}.report-label{margin-top:38px;border:0;padding:0}.report-label>span:before{display:none}.report-cover h1{margin-top:25px}.report-cover>p{line-height:1.4}.report .spread{overflow:hidden}
.home-services,.profile,.service-lead,.scope,.faq-library{background:#e6e9ec}.author figcaption{color:#526174}.author figure img,.profile figure img{filter:none}.related,.service-band:nth-child(even){background:#e8e3da}.service-band:nth-child(odd){background:var(--paper)}.intake{background:#e6e9ec}.intake .form-field input,.intake .form-field select,.intake .form-field textarea{border-color:#67758a;color:var(--ink)}.choice:has(input:checked){background:#d1dce6}.choice input{accent-color:var(--navy)}.solid,.form-actions .solid{background:var(--navy);color:white}.step-meter .filled{background:var(--navy)}.faq-groups h3,.note{color:#506074}.faq-library>div:first-child{top:120px}.faq-groups summary{border-color:#1b2d4333}.journal-home{background:#e6e9ec}.article-source{background:#e4e7ec}.article-layout aside{top:120px}.article-opening .textlink{margin-top:20px}.edition-note{display:block;margin-top:25px;font-size:13px;line-height:1.65;color:#536174}.article-opening h1{max-width:20ch}.journal-grid p{font-size:17px}.palette-section{background:#e8e3da}.colophon{background:#101f33;color:#f4f1ea}.foot-grid h2{color:#c0c9d6}.foot-base{border-color:#ffffff35;color:#c9d0d8}.foot-mark i{background:#b7a484}
.material-notebook{padding:110px 0 100px;background:#e8e3da;overflow:hidden}.material-heading{padding:0 6%;display:flex;justify-content:space-between;align-items:end;gap:40px}.material-heading h2{line-height:1.06}.material-heading p{line-height:1.7;max-width:44ch;margin-top:26px}.material-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding:50px 6% 30px;scrollbar-width:thin;scrollbar-color:#7b8592 #d6d3cd;scroll-padding-inline:6%}.material-card{flex:0 0 29%;min-width:260px;scroll-snap-align:start}.material-card figure{height:300px;overflow:hidden}.material-card>div{position:relative;padding-top:22px}.material-card>div>span{position:absolute;right:0;top:30px;font-size:12px}.material-card h3{font-size:32px;line-height:1.1;max-width:85%}.material-card p{font-size:16px;margin-top:14px}.material-card:hover{text-decoration:none}.material-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.material-instruction{padding:12px 6% 0;font-size:13px}.material-index{display:flex;position:static;flex-wrap:wrap;background:none;padding:0 6% 55px;gap:18px 28px;border:0}.material-index a{text-decoration:underline;text-underline-offset:5px}.material-detail{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:80px 6%;scroll-margin-top:88px}.material-detail:nth-of-type(even){background:#e7e8e9}.material-detail figure{height:550px;overflow:hidden}.material-detail>div p{line-height:1.8;max-width:45ch;margin:22px 0;font-size:18px}.material-detail .material-lead{font-size:25px}.material-detail h3{font-size:22px;letter-spacing:-.025em;margin-top:35px}.material-detail a{margin-top:15px}
.quick-start{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;padding:115px 6%;background:var(--navy);color:#f6f2eb;scroll-margin-top:88px}.quick-intro h2{font-size:clamp(40px,4.7vw,72px);line-height:1.08;letter-spacing:-.045em}.quick-intro>p{max-width:39ch;line-height:1.8;font-size:18px;margin-top:30px;color:#dae0e6}.quick-promise{display:flex;flex-direction:column;gap:20px;border-top:1px solid #ffffff30;margin-top:45px;padding-top:28px;font-size:14px;color:#c5cfdc}.quick-progress{font-size:14px;margin-bottom:38px}.quick-workspace{min-width:0}.quick-workspace fieldset{border:0;padding:0;margin:0 0 35px;min-width:0}.quick-workspace legend{font-size:clamp(28px,3vw,42px);line-height:1.16;letter-spacing:-.035em;max-width:18ch;margin-bottom:25px}.quick-options{display:grid}.quick-options label{display:flex;align-items:center;gap:18px;border-top:1px solid #ffffff40;padding:23px 0;cursor:pointer}.quick-options input{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:#a9bdd6}.quick-options strong{font-size:19px;font-weight:400;letter-spacing:0;line-height:1.5}.quick-options small{display:block;font-size:14px;line-height:1.6;color:#ced5df;margin-top:5px}.quick-options label:has(input:checked){background:#ffffff09}.quick-actions{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:28px}.quick-actions button{background:none;border:0;border-bottom:1px solid currentColor;padding:12px 0;color:inherit}.quick-actions .solid{background:#e7e7e1;color:var(--navy);margin-left:auto;border:0;padding:16px 24px!important}.quick-actions .solid:disabled{opacity:.5;cursor:not-allowed}#quick-result>p:first-child{font-size:14px}#quick-result h3{font-size:clamp(34px,3.5vw,50px);line-height:1.1;margin:22px 0}#quick-result .quick-reason{font-size:18px;line-height:1.8;margin-bottom:30px}#quick-result a{display:table;margin:18px 0}#quick-result button{background:none;border:0;color:inherit;text-decoration:underline;text-underline-offset:5px;padding:12px 0;margin:15px 0}#quick-result small{display:block;line-height:1.7;color:#cbd4de;max-width:48ch}
.closing{padding:110px 7%;display:grid;grid-template-columns:1.3fr 1fr;gap:12%;background:#dbe2e9;color:var(--ink)}.closing h2{font-size:clamp(42px,4.8vw,74px);line-height:1.08;letter-spacing:-.04em}.closing p{line-height:1.8;font-size:18px;max-width:45ch;margin:30px 0}.closing .textlink{margin-top:12px}.closing-aside{padding-top:24px}.closing-aside>p{font-size:24px;line-height:1.4}.closing ul{padding:0 0 0 20px;margin:28px 0;font-size:17px;line-height:1.8}.closing li{padding-bottom:15px}.decision-section{padding:110px 6%;background:#e8e3da}.decision-section h2{max-width:20ch;line-height:1.08}.decision-section>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%;margin:55px 0 35px}.decision-section article{border-top:1px solid #14283f50;padding-top:20px}.decision-section article>span{font-size:13px}.decision-section h3{font-size:28px;letter-spacing:-.025em;line-height:1.15;margin:24px 0}.decision-section p{line-height:1.8;font-size:17px;max-width:38ch}
[data-image-reveal]{overflow:hidden}.motion-ready{will-change:transform,opacity}.process-story{padding:110px 6%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.process-visual{position:sticky;top:130px;height:60vh;align-self:start;overflow:hidden}.process-visual img{position:absolute;inset:0;opacity:0;transition:opacity 250ms ease}.process-visual img.active{opacity:1}.process-copy h2{font-size:clamp(38px,4vw,62px);line-height:1.08;margin-bottom:50px}.process-step{padding:40px 0 65px;border-top:1px solid var(--line)}.process-step span{font-size:13px}.process-step h3{font-size:32px;line-height:1.15;margin:20px 0}.process-step p{font-size:18px;line-height:1.8;max-width:43ch}
@media(hover:hover) and (pointer:fine){.project-preview:hover .project-alternate,.project-preview:hover .project-caption{opacity:1}}
@media(max-width:850px){:root{--header-height:76px}body .masthead,body.home .masthead{padding:16px 26px}.header-actions{gap:22px}.masthead .mark{font-size:13px!important;max-width:230px}.header-contact{display:none}#navigation .nav-body{display:block;padding:40px 0 25px}#navigation .nav-body nav{gap:19px}#navigation .nav-body nav a{font-size:clamp(31px,6.7vw,48px)}#navigation .nav-body figure{display:none}#navigation .nav-body nav a:last-child{font-size:19px;margin-top:14px}.nav-bottom{margin-top:30px}.nav-top .mark{font-size:13px!important;max-width:220px}.about-grid{gap:35px}.about-composition{padding:85px 6%}.about-room{height:400px}.about-copy{padding:0}.about-copy p{font-size:17px}.about-detail{height:170px}.quick-start{gap:6%}.quick-intro h2{font-size:45px}.material-card{flex-basis:43%}.material-detail{gap:6%}.material-detail figure{height:430px}.detail-toggle{display:inline-block}.decision-section>div{gap:25px}.decision-section h3{font-size:24px}}
@media(max-width:620px){body.home .arrival{height:100svh;min-height:580px;max-height:none}.arrival-copy{padding:105px 28px 48px}.arrival h1{font-size:clamp(48px,11.5vw,70px);max-width:13ch;margin-bottom:24px}.arrival-copy>p{font-size:17px;line-height:1.65;max-width:30ch}.arrival figure img{object-position:66% center}.hero-links{gap:18px;font-size:14px;flex-direction:column;align-items:flex-start;margin-top:25px}.mark i{display:none}.masthead .mark{max-width:210px;font-size:12px!important}.masthead .menu{font-size:13px;padding-right:0;gap:12px}.nav-top .mark{max-width:200px}#navigation{padding:18px 27px calc(24px + env(safe-area-inset-bottom))}#navigation .nav-body{padding:35px 0 12px}#navigation .nav-body nav{gap:19px}#navigation .nav-body nav a{font-size:36px}.nav-bottom{display:block;margin-top:28px}.nav-bottom a{font-size:12px}.nav-bottom span{display:block;margin-top:14px}.about-composition{padding:80px 28px}.about-composition h2{font-size:38px;line-height:1.15;margin-bottom:40px}.about-grid{display:flex;flex-direction:column;gap:32px}.about-room{width:100%;height:340px}.about-copy p:first-child{font-size:22px}.about-copy p{font-size:17px;line-height:1.85}.about-detail{width:52%;height:210px;margin:0 0 0 auto}.exhibit,.author,.home-services,.service-story,.service-band,.scope,.profile,.service-lead,.related{padding:80px 28px}.exhibit-head{display:block}.exhibit-head .textlink{margin-top:25px}.exhibit h2{font-size:43px;line-height:1.08}.lead-project{height:470px}.lead-project h3{font-size:48px}.lead-project>div{padding:25px}.other-projects{display:block;margin-top:50px}.other-projects>article{margin-bottom:50px}.other-projects figure{aspect-ratio:1.13}.other-projects h3{font-size:36px}.other-projects p{font-size:17px}.archive-grid{display:block;margin-inline:28px}.archive-item,.archive-item:nth-child(2n),.archive-item:nth-child(3){margin-top:60px}.archive-photo,.archive-item:nth-child(2) .archive-photo{aspect-ratio:1.1}.report-cover,.index-head{padding-left:28px;padding-right:28px}.report-cover h1{font-size:50px;line-height:1.06}.report-label{display:flex;gap:16px;font-size:11px}.material-notebook{padding:80px 0 65px}.material-heading{display:block;padding:0 28px}.material-heading h2{font-size:43px}.material-heading p{font-size:17px}.material-heading .textlink{margin-top:25px}.material-track{padding:35px 28px 25px;gap:22px;scroll-padding-inline:28px}.material-card{flex:0 0 78%;min-width:0}.material-card figure{height:300px}.material-card h3{font-size:29px}.material-instruction{padding-inline:28px}.material-index{padding:0 28px 35px;gap:16px 24px;font-size:15px}.material-index a{padding:6px 0}.material-detail{display:block;padding:65px 28px}.material-detail figure{height:400px;margin-bottom:35px}.material-detail h2{font-size:43px}.material-detail>div p{font-size:17px}.quick-start{display:block;padding:80px 28px}.quick-intro h2{font-size:43px}.quick-intro>p{font-size:17px}.quick-promise{gap:14px;font-size:13px;margin-top:30px}.quick-workspace{margin-top:55px}.quick-progress{margin-bottom:30px}.quick-workspace legend{font-size:31px}.quick-options label{gap:13px;padding:20px 0}.quick-options strong{font-size:17px}.quick-options small{font-size:13px}.quick-actions .solid{font-size:15px}.closing{display:block;padding:80px 28px}.closing h2{font-size:42px}.closing p{font-size:17px}.closing-aside{margin-top:45px;padding-top:20px;border-top:1px solid var(--line)}.closing-aside>p{font-size:23px}.decision-section{padding:75px 28px}.decision-section h2{font-size:39px}.decision-section>div{display:block;margin-top:40px}.decision-section article{padding:22px 0 35px}.decision-section h3{font-size:28px;margin-top:16px}.process-story{display:block;padding:80px 28px}.process-visual{position:relative;top:auto;height:360px;margin-bottom:40px}.process-copy h2{font-size:40px}.process-step{padding:28px 0 36px}.process-step h3{font-size:30px}.process-step p{font-size:17px}.colophon{padding:75px 28px 25px}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:last-child{grid-column:1/-1}.foot-base a{padding:8px 0}.faq-library>div:first-child{position:static}.article-layout aside{position:static}.intake aside h1{font-size:46px}.intake legend{font-size:29px}}
@media(hover:none),(pointer:coarse){a:not(:has(img)):not(.skip){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.textlink{background:none}.project-read{text-decoration:underline}.detail-toggle{display:inline-block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.motion-ready{will-change:auto}}
.service-reading{padding:85px 6%;border-top:1px solid var(--line)}.service-reading h2{font-size:clamp(32px,3.5vw,52px);line-height:1.15;margin-bottom:32px}.service-reading a{max-width:48ch;line-height:1.6}.quick-options input:focus-visible{outline:2px solid #e5edf5;outline-offset:5px}@media(max-width:620px){.service-reading{padding:70px 28px}.service-reading h2{font-size:35px}}
@media(max-width:850px){#navigation .nav-body nav a,.textlink,.foot-grid a,.foot-base a,.article-layout aside a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.textlink{background:none}}
.viewer{background:#101f33}.viewer::backdrop{background:#101f33de}
