@font-face{font-family:'IVD Clean';src:url('/fonts/ivd-sans-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'IVD Clean';src:url('/fonts/ivd-sans-bold.woff') format('woff');font-style:normal;font-weight:600 900;font-display:swap}
:root,body.journal{--sans:'IVD Clean',Arial,sans-serif;--serif:var(--sans);font-family:var(--sans)}
body.journal h1,body.journal h2,body.journal h3,body.journal h4,body.journal blockquote,body.journal .house-card h2,body.journal .architecture-projects .house-card h2,.gateway .entry-title h2{font-family:var(--sans)!important;font-weight:400;font-style:normal;letter-spacing:-.035em;line-height:1.12}
body.journal h1{overflow-wrap:break-word}body.journal .architecture-cover h1{font-size:clamp(32px,4.2vw,64px);letter-spacing:-.045em}
body.journal .wordmark,button,input{font-family:var(--sans)}
body.journal .architecture-cover{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);align-items:center;gap:4%}
body.journal .architecture-cover figure{min-width:0}body.journal .architecture-cover img{height:auto;object-fit:contain;width:100%}
body.journal .architecture-projects,body.journal .index-journal{max-width:1280px;margin-inline:auto;padding:38px 4% 72px}
body.journal .index-title,body.journal .projects-heading{display:block;border-bottom:1px solid var(--line);padding:0 0 24px;margin:0 0 30px}
body.journal .index-title h1,body.journal .architecture-projects .projects-heading h1{font-size:clamp(36px,4vw,56px);margin:12px 0;line-height:1.12}
body.journal .project-index-grid,body.journal .projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;padding-top:0}
body.journal .architecture-projects .house-card img{aspect-ratio:16/10;object-fit:contain;object-position:center;background:transparent;max-height:none}
body.journal .index-image{aspect-ratio:16/10;background:transparent;overflow:hidden}
body.journal .index-image:not(.bimx-index) img{height:100%;object-fit:contain;width:100%}
body.journal .index-caption{grid-template-columns:22px minmax(0,1fr);gap:12px;padding-top:14px}
body.journal .index-caption h2,body.journal .architecture-projects .house-card h2{font-size:24px;line-height:1.22;margin:0 0 12px}
body.journal .house-card footer,body.journal .index-caption{border-bottom:1px solid var(--line);padding-bottom:18px}
body.journal .index-caption p,body.journal figcaption,body.journal dt,body.journal .house-card footer>span{font-size:14px;line-height:1.5}
body.journal .index-link{display:inline-block;margin-bottom:8px}
.skip:focus{z-index:2000;top:12px;outline:2px solid #111;outline-offset:3px}
body.journal .masthead{gap:16px}body.journal .masthead nav{gap:10px 18px}
.language-switch{display:flex;gap:10px;align-items:center;flex-shrink:0;font-size:14px;line-height:1.5;letter-spacing:.06em;white-space:nowrap}
.language-switch a{padding:8px 2px}.language-switch [aria-current]{text-decoration:underline;text-underline-offset:5px}
.gateway>.language-switch{position:absolute;top:30px;right:4.2%;z-index:20;color:#fafafa}
.gateway .entry-title h2{letter-spacing:-.055em;line-height:1.04}
.gateway .gateway-grid{grid-template-rows:auto minmax(180px,1fr) auto auto;padding-top:125px}
.gateway .shared-building{grid-row:2}.gateway .view-switch{grid-row:3;margin:0 auto 16px;background:transparent;border:1px solid #777;color:#ddd}
.gateway .entry-tail{grid-row:4}.gateway .entry-tail .portal-bottom{min-height:64px;padding-bottom:16px}
.gateway .building-stage{width:min(100%,108svh);max-height:36svh}
@media(min-width:901px) and (max-height:800px){.gateway .gateway-grid{padding-top:100px}.gateway .entry-title{padding-top:18px}.gateway .entry-title .portal-description{margin-top:10px}.gateway .entry-tail{padding-bottom:16px}.gateway .entry-tail .portal-footer{padding-top:12px}}
@media(max-width:1150px){body.journal .masthead{flex-wrap:wrap}body.journal .masthead nav{order:4;flex:0 0 100%;width:100%;margin:0;justify-content:flex-start;flex-wrap:wrap;overflow:visible;gap:4px 20px}body.journal .masthead nav a{padding-block:8px}body.journal .masthead .switch{margin-left:auto}body.journal{padding-top:var(--nav-height,150px)}}
@media(max-width:1000px){body.journal .project-index-grid,body.journal .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.journal .architecture-cover{display:block}body.journal .architecture-cover h1{font-size:clamp(30px,8vw,52px);margin:20px 0 24px}body.journal .architecture-cover figure{margin-top:30px}body.journal .architecture-cover img{height:auto}body.journal .index-title h1{font-size:clamp(36px,9vw,56px)}body.journal .cover-copy h1{font-size:clamp(40px,10vw,76px)}body.journal .index-journal,body.journal .architecture-projects{padding-inline:6%}body.journal .index-image.bimx-index img{max-height:none}}
@media(max-width:560px){body.journal .project-index-grid,body.journal .projects-grid{grid-template-columns:1fr;gap:30px}body.journal .masthead{gap:6px 14px;padding:12px 6%}body.journal .masthead .wordmark{font-size:14px;letter-spacing:.1em}body.journal .masthead .switch{font-size:13px}body.journal .language-switch{gap:8px}body.journal .masthead nav{gap:2px 17px}body.journal .masthead nav a{font-size:14px}body.journal .index-caption h2{font-size:24px}.gateway>.language-switch{top:22px;right:6%}.gateway .gateway-grid{padding-top:118px}.gateway .building-stage{width:100%;max-height:none}.gateway .entry-tail .portal-bottom{min-height:130px}.gateway .entry-tail .portal-footer{min-height:96px}.gateway .entry-title h2{overflow-wrap:anywhere}.gateway .entry-head .portal-meta{font-size:12px;letter-spacing:.015em}.gateway .entry-head{padding-inline:10%}}
@media(max-width:380px){body.journal .masthead .switch{font-size:12px}.gateway .gate-header .logo{width:92px}.gateway>.language-switch{gap:5px;font-size:12px}}

/* Use the supplied IVD mark as the compact identity in every inner-page masthead. */
body.journal .masthead .wordmark-logo{position:relative;display:block;flex:0 0 auto;width:106px;aspect-ratio:1438/825;overflow:hidden;padding:0}
body.journal .masthead .wordmark-logo img{position:absolute;left:-4.31%;top:-40.6%;width:106.82%;height:auto;max-width:none;mix-blend-mode:multiply}
body.journal .masthead .wordmark-logo:focus-visible{outline-offset:5px}
@media(max-width:560px){body.journal .masthead .wordmark-logo{width:94px}}

/* Contact pages — an editorial contact sheet instead of an oversized email link. */
.contact-page.contact-redesign{max-width:1500px;margin:0 auto;padding:68px 6% 78px}
.contact-redesign .contact-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:8%;align-items:end;padding-bottom:62px}
.contact-redesign .contact-heading .eyebrow{margin:0 0 27px}
.contact-redesign .contact-heading h1{font-size:clamp(52px,6.7vw,102px);line-height:.98;margin:0;max-width:900px}
.contact-redesign .contact-introduction{max-width:640px;padding-bottom:7px}
.contact-redesign .contact-lead{font-size:clamp(21px,2vw,28px);line-height:1.38;color:var(--ink);margin:0 0 20px}
.contact-redesign .contact-introduction p:last-child{font-size:17px;line-height:1.7;color:var(--muted);margin:0;max-width:590px}
.contact-redesign .contact-board{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-redesign .contact-panel{padding:42px 5vw 48px 0;min-width:0}
.contact-redesign .contact-panel+.contact-panel{border-left:1px solid var(--line);padding-left:5vw;padding-right:0}
.contact-redesign .contact-index{font-size:12px;letter-spacing:.13em;color:var(--muted);margin:0}
.contact-redesign .contact-index span{color:var(--green);margin-right:8px}
.contact-redesign .contact-panel h2{font-size:clamp(32px,3.8vw,54px);line-height:1.08;margin:29px 0 34px;max-width:500px}
.contact-redesign .contact-channels{border-top:1px solid var(--line)}
.contact-redesign .contact-channel{display:grid;grid-template-columns:88px minmax(0,1fr) 20px;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.contact-redesign .contact-channel>span{font-size:12px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.contact-redesign .contact-channel strong{font-size:clamp(17px,1.6vw,23px);font-weight:400;line-height:1.35;overflow-wrap:anywhere}
.contact-redesign .contact-channel i,.contact-redesign .contact-direction i{font-style:normal;color:var(--green);transition:transform .25s ease}
.contact-redesign .contact-channel:hover i,.contact-redesign .contact-direction:hover i{transform:translate(3px,-3px)}
.contact-redesign .contact-person{font-size:20px;line-height:1.45;margin:0 0 23px}
.contact-redesign .contact-office-address{display:grid;gap:2px;font-style:normal;font-size:17px;line-height:1.55;color:var(--muted);margin-bottom:31px}
.contact-redesign .contact-direction{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;letter-spacing:.04em}
.contact-redesign .contact-location{margin-top:62px}
.contact-redesign .contact-location-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.contact-redesign .contact-location-head p{font-size:12px;letter-spacing:.12em;color:var(--muted);margin:0}
.contact-redesign .contact-location-head p:first-child{color:var(--ink)}
.contact-redesign .contact-location-head span{color:var(--green);margin-right:8px}
.contact-redesign .contact-map-frame{margin-top:18px;overflow:hidden;background:#e7e8e3}
.contact-redesign .contact-map{width:100%;height:480px;border:0;display:block;filter:grayscale(.85) contrast(.95)}
@media(max-width:900px){.contact-page.contact-redesign{padding-top:52px}.contact-redesign .contact-hero{grid-template-columns:1fr;gap:30px;padding-bottom:48px}.contact-redesign .contact-introduction{padding:0}.contact-redesign .contact-board{grid-template-columns:1fr}.contact-redesign .contact-panel{padding:36px 0 40px}.contact-redesign .contact-panel+.contact-panel{border-left:0;border-top:1px solid var(--line);padding:36px 0 40px}.contact-redesign .contact-panel h2{margin:24px 0 28px}.contact-redesign .contact-location{margin-top:48px}.contact-redesign .contact-map{height:390px}}
@media(max-width:560px){.contact-page.contact-redesign{padding:38px 6% 54px}.contact-redesign .contact-heading h1{font-size:clamp(43px,12vw,62px)}.contact-redesign .contact-lead{font-size:20px}.contact-redesign .contact-channel{grid-template-columns:minmax(0,1fr) 20px;gap:7px 14px}.contact-redesign .contact-channel>span{grid-column:1/-1}.contact-redesign .contact-channel strong{font-size:17px}.contact-redesign .contact-channel i{grid-column:2;grid-row:2}.contact-redesign .contact-location-head{align-items:flex-start;flex-direction:column;gap:8px}.contact-redesign .contact-map{height:330px}}
