/* One twelve-column editorial rhythm, adapted from the approved scanning reference. */
.portfolio{max-width:1480px;margin:auto}.project-journal{padding:0 3.8%}.article-top{display:flex;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.06em}.article-top>a{font-size:14px}.article-top>span:last-child{color:var(--green)}.feature-cover{display:grid;grid-template-columns:35% 65%;align-items:center;padding:32px 0 12px;min-height:510px}.feature-title{position:relative;z-index:1;padding:25px 10px 25px 0}.feature-title .folio{font-size:12px;margin-bottom:26px}.feature-title h1{font-size:clamp(42px,4.9vw,72px);line-height:1;letter-spacing:-.04em}.feature-title h1>span{display:block;font-family:var(--sans);font-size:clamp(21px,2vw,29px);letter-spacing:-.025em;line-height:1.3;margin:24px 0 0;max-width:330px}.cover-rule{width:42px;height:1px;background:var(--green);margin:32px 0 22px}.cover-note{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.plate{min-width:0;margin:0}.plate-open{border:0;padding:0;display:block;width:100%;position:relative;background:transparent;color:inherit;cursor:pointer}.plate-open:focus-visible{outline:2px solid var(--green);outline-offset:4px}.plate img{display:block;width:100%;height:auto}.image-open-mark{position:absolute;right:12px;bottom:12px;background:var(--paper);color:var(--ink);width:32px;height:32px;display:grid;place-items:center;font-size:18px;opacity:0;transition:opacity .15s}.plate-open:hover .image-open-mark,.plate-open:focus-visible .image-open-mark{opacity:1}.plate figcaption{font-size:12px;line-height:1.5;display:flex;gap:10px;align-items:baseline;padding:13px 0 8px;color:var(--muted)}.plate figcaption i{display:block;flex:0 0 24px;height:1px;background:var(--green)}.hero-plate img{height:450px;object-fit:contain;mix-blend-mode:multiply}.hero-plate figcaption{justify-content:flex-end}.article-summary{display:grid;grid-template-columns:35% 65%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0 28px;gap:0}.article-summary dl{display:flex;flex-wrap:wrap;gap:18px 28px;margin:0;padding-right:40px}.article-summary dt{font-size:12px;color:var(--muted);margin-bottom:4px}.article-summary dd{font-size:16px;margin:0}.article-summary p{font-size:17px;line-height:1.7;max-width:690px;margin:0;color:#484e46}.visual-spread{padding:15px 0 25px}.portfolio .spread-label{font-size:12px;letter-spacing:.07em;padding:20px 0}.portfolio .spread-label>span:last-child{font-size:12px;color:var(--muted)}.editorial-mosaic{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.mosaic-tall .plate-open{height:410px;overflow:hidden;background:#e6eae7}.mosaic-tall img{height:100%;object-fit:cover}.mosaic-stack{display:flex;flex-direction:column;justify-content:space-between;gap:18px}.mosaic-stack>figure{min-height:0}.small-drawing .drawing-view{height:178px;background:white;display:flex;align-items:center;justify-content:center}.small-drawing img{width:auto;max-width:100%;max-height:100%;object-fit:contain}.small-model .plate-open{height:178px}.small-model img{height:100%;object-fit:contain;mix-blend-mode:multiply}.small-model{border-top:1px solid var(--line);padding-top:15px}.editorial-caption{display:grid;grid-template-columns:1.6fr 1fr;gap:8%;padding:26px 0 35px;border-top:1px solid var(--line);align-items:center}.editorial-caption h2{font-size:clamp(38px,5vw,70px);line-height:.96}.editorial-caption>p{font-size:17px;line-height:1.6;color:var(--muted);max-width:370px;margin:0}.interior-spread{display:grid;grid-template-columns:30% 70%;background:#101410;color:var(--paper);padding:30px;margin:0 -4.115%;gap:0;align-items:center}.interior-spread>div{padding:20px 25px 25px 5%}.interior-spread .folio{color:#8bb59e;font-size:12px;line-height:1.7}.interior-spread h2{font-size:clamp(30px,3vw,45px);line-height:1.1;letter-spacing:-.02em}.interior-spread p:last-child{font-size:14px;line-height:1.65;color:#b8c2b8;margin:25px 0 0}.interior-spread .plate-open{height:375px;overflow:hidden}.interior-spread img{height:100%;object-fit:cover}.interior-spread figcaption{color:#bdc7bd}.interior-spread figcaption i{background:#8bb59e}.drawing-spread{padding:22px 0 20px}.drawing-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.drawing-row .drawing-view{height:225px;background:white;display:flex;align-items:center;justify-content:center;padding:10px}.drawing-row img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.drawing-row:has(>figure:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.publication-note{font-size:12px;color:var(--muted);margin:24px 0 0}.article-end{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;padding:24px 0 35px;border-top:1px solid var(--line);font-size:14px}.article-end>span{color:var(--muted);font-size:12px}.index-journal{padding-bottom:70px}.index-title{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:40px;padding:35px 0 45px;border-bottom:1px solid var(--line)}.index-title h1{font-size:clamp(50px,7vw,104px);line-height:.96}.index-title p{font-size:17px;color:var(--muted)}.project-index-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;padding-top:32px}.index-image{display:block;background:#eeede7}.index-image img{width:100%;height:370px;object-fit:contain;mix-blend-mode:multiply}.index-caption{display:grid;grid-template-columns:30px 1fr;gap:15px;padding-top:20px}.index-caption>span{color:var(--green);font-size:14px}.index-caption p{font-size:13px;letter-spacing:.04em;color:var(--muted);margin:0 0 12px}.index-caption h2{font-size:clamp(30px,3vw,43px);line-height:1.12;margin:0 0 25px}.index-link{font-size:14px;border-bottom:1px solid var(--green);padding-bottom:5px}
@media(min-width:1500px){.feature-cover{min-height:570px}.hero-plate img{height:500px}.mosaic-tall .plate-open{height:465px}.small-drawing .drawing-view,.small-model .plate-open{height:205px}}
@media(max-width:760px){.project-journal{padding:0 6%}.article-top{padding:20px 0}.article-top>span:nth-child(2){display:none}.feature-cover{grid-template-columns:1fr;padding-top:15px;min-height:0}.feature-title{padding:15px 0}.feature-title .folio{margin-bottom:15px}.feature-title h1{font-size:12vw}.feature-title h1>span{font-size:23px;max-width:100%;margin-top:14px}.cover-rule,.cover-note{display:none}.hero-plate img{height:auto;max-height:390px;object-fit:contain}.hero-plate figcaption{justify-content:flex-start}.article-summary{grid-template-columns:1fr;gap:25px;padding:20px 0}.article-summary dl{padding:0;gap:16px 30px}.article-summary p{font-size:16px}.portfolio .spread-label{flex-wrap:wrap;gap:8px;line-height:1.5}.portfolio .spread-label>span:last-child{font-size:12px}.editorial-mosaic{grid-template-columns:1fr 1fr;gap:15px}.mosaic-tall .plate-open{height:260px}.mosaic-stack{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:15px}.small-model{border-top:0;padding-top:0}.small-drawing .drawing-view,.small-model .plate-open{height:160px}.plate figcaption{font-size:12px;gap:7px;align-items:start}.plate figcaption i{flex-basis:13px;margin-top:8px}.editorial-caption{grid-template-columns:1fr;gap:25px;padding:25px 0}.editorial-caption h2{font-size:12vw}.editorial-caption p{font-size:16px}.interior-spread{grid-template-columns:1fr;margin:0 -6.819%;padding:24px 6.819%}.interior-spread>div{padding:0 0 20px}.interior-spread h2{font-size:36px}.interior-spread h2 br{display:none}.interior-spread p:last-child{display:none}.interior-spread .plate-open{height:280px}.drawing-row,.drawing-row:has(>figure:nth-child(3):last-child){grid-template-columns:1fr 1fr;gap:18px 12px}.drawing-row .drawing-view{height:160px;padding:5px}.article-end>span{display:none}.index-title{grid-template-columns:1fr;gap:25px;padding-top:20px}.index-title h1{font-size:16vw}.index-title p{margin:0}.project-index-grid{grid-template-columns:1fr;gap:40px}.index-image img{height:auto;max-height:380px}.index-caption h2{font-size:34px}.image-open-mark{opacity:1}}
@media(prefers-reduced-motion:reduce){.image-open-mark{transition:none}}

/* BIMx screenshots: frame the original viewport without altering the model. */
.bimx-crop .plate-open,.bimx-index{position:relative;aspect-ratio:2.1;overflow:hidden;background:#8996aa;display:block}
.bimx-crop .plate-open img,.bimx-index img{position:absolute;max-width:none;width:107.8%;height:auto;left:-3.9%;top:-17%;mix-blend-mode:normal;object-fit:initial}
.hospital-views{display:grid;grid-template-columns:1fr;gap:28px;max-width:1100px;margin:auto}.hospital-journal .feature-cover{grid-template-columns:30% 70%;min-height:430px}.hospital-journal .feature-title h1>span{font-size:25px}.hospital-journal .drawing-spread{border-top:1px solid var(--line)}
@media(max-width:760px){.hospital-journal .feature-cover{grid-template-columns:1fr;min-height:0}.hospital-views{gap:18px}.bimx-index img{max-height:none}}

/* Project chapters: clear editorial hierarchy for multi-building surveys. */
.batch-journal .feature-title h1>span{font-size:clamp(22px,2.1vw,32px);line-height:1.18}
.batch-chapter{padding:44px 0;border-top:1px solid var(--line)}
.batch-spread{display:grid;grid-template-columns:1fr 3fr;gap:44px;margin-top:32px}
.batch-spread h2{font-family:var(--serif);font-size:clamp(27px,3vw,44px);font-weight:400;line-height:1.08;margin:0;max-width:250px}
.batch-plates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
.batch-plates>.plate:only-child{grid-column:1/-1;max-width:850px}
.batch-plates .plate:not(.bimx-crop) img{width:100%;height:auto;max-height:560px;object-fit:contain}
.batch-journal .drawing-row{align-items:center}
@media(max-width:760px){.batch-spread{grid-template-columns:1fr;gap:24px}.batch-spread h2{max-width:none}.batch-plates{grid-template-columns:1fr}.batch-chapter{padding:28px 0}}
