/* Editorial composition: licensed Urbanist, Gigabrain ink/coral, photographic leads. */
/* Original architecture-led visual guides. Preserve detail at narrow widths. */
.gb-diagram-section{container-type:inline-size;width:100%;max-width:var(--gb-diagram-max,1200px);min-width:0;margin-inline:auto}
.gb-ed-prose .gb-diagram{margin:28px 0 0;border:1px solid #c9c5be;border-radius:12px;overflow:hidden;background:#f5f4f0}
.gb-diagram-label{display:flex;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid #c9c5be;color:var(--gb-ink);font:600 12px/1.5 var(--gb-font-body);letter-spacing:.02em}
.gb-diagram-label span:last-child{font-weight:450;color:#625e68}
.gb-diagram svg{display:block;width:100%;min-width:0;height:auto;max-width:100%;text-rendering:geometricPrecision}
.gb-diagram-viewport{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#c9c5be #f5f4f0;scrollbar-width:thin}
.gb-diagram-viewport:focus-visible{outline:2px solid var(--gb-ink);outline-offset:-3px}
.gb-ed-visual-guide{margin-bottom:54px}
.gb-diagram-introduction,.gb-diagram-reading{max-width:850px;margin-inline:auto}
.gb-diagram-section .gb-diagram-tools{font-size:13px;line-height:1.5;margin:0;padding:10px 24px;border-bottom:1px solid #c9c5be;color:#625e68}
.gb-diagram-tools a{display:inline-flex;align-items:center;min-height:44px}
.gb-ed-prose .gb-diagram figcaption{margin:0;padding:20px 24px;border-top:1px solid #c9c5be;color:#625e68;font:450 15px/1.6 var(--gb-font-body)}
.gb-diagram-explanation{border-bottom:1px solid #c9c5be;margin-bottom:20px}
.gb-diagram-explanation summary{min-height:48px;padding:16px 0;font:600 15px/1.5 var(--gb-font-body);cursor:pointer}
.gb-ed-prose .gb-diagram-explanation ol{font-size:16px;line-height:1.65;margin:4px 0 22px;padding-left:24px}
.gb-ed-prose .gb-diagram-boundary{font-size:15px;line-height:1.65;color:#625e68;margin-bottom:20px}
.gb-diagram-links{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:15px;line-height:1.5;font-weight:600}
.gb-diagram-links a{display:inline-flex;align-items:center;min-height:44px}
@container (max-width:639px){.gb-diagram-label{padding:16px 18px;flex-direction:column;gap:4px}.gb-ed-prose .gb-diagram figcaption{padding:18px}}
@media print{.gb-diagram-section{break-inside:avoid}.gb-diagram svg{min-width:0}.gb-diagram-viewport{overflow:visible}.gb-diagram-explanation{display:block}.gb-diagram-links{display:none}}
.gb-editorial-page{background:#f5f4f0;color:var(--gb-ink)}
.gb-editorial-page .gb-editorial-main{padding-top:var(--gb-page-start);padding-bottom:64px}
.gb-ed-container{width:100%;max-width:var(--gb-page-width);padding-inline:var(--gb-page-gutter);margin-inline:auto}
.gb-editorial-main h1,.gb-editorial-main h2,.gb-editorial-main h3{font-family:var(--gb-font-body);color:var(--gb-ink);font-weight:500;letter-spacing:-.035em;text-wrap:balance}
.gb-editorial-main a{color:inherit}
.gb-editorial-main a:hover{color:#b7331e}
.gb-editorial-main :is(a,button,summary):focus-visible{outline:2px solid #b7331e;outline-offset:5px}
.gb-ed-kicker{font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;margin:0 0 24px}
.gb-ed-masthead h1{font-size:clamp(54px,7.1vw,96px);line-height:1.02;max-width:1050px;margin:0 0 46px}
.gb-ed-introduction{display:grid;grid-template-columns:1.3fr 1fr;gap:14%;align-items:start;padding-bottom:54px}
.gb-ed-introduction>p{font-size:24px;line-height:1.45;max-width:490px}
.gb-ed-introduction nav{display:grid}
.gb-ed-introduction nav a{border-top:1px solid #cfcdc9;padding:12px 0;display:flex;justify-content:space-between;gap:16px;font-size:15px;font-weight:600}
.gb-ed-feature{display:grid;grid-template-columns:1fr 1.35fr;gap:48px;border-top:1px solid #bcb9b5;padding:42px 0 60px;align-items:center}
.gb-feature-copy h2{font-size:clamp(32px,3.8vw,52px);line-height:1.1;margin-bottom:24px}
.gb-feature-copy>p:not(.gb-ed-kicker){font-size:18px;line-height:1.55;margin-bottom:32px;max-width:39ch;color:#58555e}
.gb-ed-text-link{display:inline-flex;gap:32px;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid currentColor;font-weight:650;font-size:15px}
.gb-feature-time{display:block;margin-top:18px;font-size:12px;color:#696571}
.gb-feature-image{display:block;overflow:hidden;aspect-ratio:1.2;background:#dedcd5}
.gb-editorial-main img{display:block;width:100%;height:100%;object-fit:cover}
.gb-ed-library{padding-top:24px}
.gb-ed-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-top:1px solid #bcb9b5;padding-top:24px;margin-bottom:32px}
.gb-ed-section-head h2{font-size:30px;line-height:1.2;margin:0}
.gb-ed-section-head>span,.gb-ed-section-head>a{font-size:13px;white-space:nowrap}
.gb-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px}
.gb-story{min-width:0}
.gb-story-image{display:block;aspect-ratio:1.65;overflow:hidden;background:#dedcd5;margin-bottom:20px}
.gb-story-meta{display:flex;justify-content:space-between;gap:14px;font-size:12px;font-weight:600;line-height:1.4;margin-bottom:12px;color:#645f6a}
.gb-story h3{font-size:30px;line-height:1.18;margin-bottom:12px}
.gb-story h3 a{display:block}
.gb-story h3 span{font-size:22px;white-space:nowrap}
.gb-story>p{font-size:17px;line-height:1.6;color:#625e68;max-width:50ch;margin:0}
.gb-ed-bridge{margin-top:90px;border-top:1px solid #bcb9b5;padding:48px 0 12px;max-width:900px}
.gb-ed-bridge h2{font-size:44px;line-height:1.1;margin-bottom:22px}
.gb-ed-bridge>p:not(.gb-ed-kicker){font-size:20px;line-height:1.6;max-width:660px}
.gb-ed-bridge>div{display:flex;flex-wrap:wrap;gap:24px;margin-top:28px}
.gb-ed-bridge a{font-size:15px;font-weight:650;text-decoration:underline;text-underline-offset:5px}
.gb-ed-index-publisher{margin-top:56px;font-size:12px;color:#696571}
.gb-ed-back{display:inline-block;font-size:13px;margin-bottom:40px}
.gb-ed-article-head h1{font-size:clamp(42px,5.8vw,78px);line-height:1.06;max-width:1030px;margin:0 0 28px}
.gb-ed-deck{max-width:750px;font-size:23px;line-height:1.5;margin-bottom:32px;color:#5d5963}
.gb-ed-byline{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;border-top:1px solid #cfcdc9;padding:20px 0;font-size:13px;line-height:1.5}
.gb-ed-byline .gb-publication{margin:0;font-size:13px;color:inherit}
.gb-ed-byline button{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;margin-left:auto}
.gb-copy-status{font-size:12px}
.gb-copy-status:empty{display:none}
.gb-ed-cover{margin-top:20px;margin-bottom:64px}
.gb-ed-cover>img{aspect-ratio:2.2;height:auto;max-height:560px;object-fit:cover}
.gb-ed-cover figcaption{margin-top:10px;font-size:11px;color:#696571;text-align:right}
.gb-ed-cover figcaption a{text-decoration:underline;text-underline-offset:3px}
.gb-ed-reading{display:grid;grid-template-columns:240px minmax(0,760px);gap:clamp(36px,6vw,96px);align-items:start;justify-content:space-between}
.gb-ed-rail{position:sticky;top:115px;max-height:calc(100vh - 145px);overflow:auto;padding:0 8px 10px 0}
.gb-ed-rail summary{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:650;margin-bottom:18px;cursor:pointer}
.gb-ed-rail ol{list-style:none;margin:0;padding:0;border-top:1px solid #cfcdc9}
.gb-ed-rail li{padding:11px 0;border-bottom:1px solid #dedbd7}
.gb-ed-rail li a{font-size:14px;line-height:1.45;display:block}
.gb-ed-rail-link{display:block;margin-top:24px;font-size:13px;font-weight:650;text-decoration:underline;text-underline-offset:4px}
.gb-ed-prose{min-width:0;font-size:19px;line-height:1.75;overflow-wrap:break-word}
.gb-ed-prose section{margin-bottom:58px}
.gb-ed-prose h2{font-size:34px;line-height:1.2;margin:0 0 24px;scroll-margin-top:120px}
.gb-ed-prose h3{font-size:25px;line-height:1.3;margin:32px 0 18px}
.gb-ed-prose p{font-size:inherit;line-height:inherit;margin:0 0 var(--gb-prose-gap)}.gb-ed-prose section>:last-child{margin-bottom:0}
.gb-ed-prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.gb-ed-prose ul,.gb-ed-prose ol{padding-left:24px;margin:24px 0;list-style:revert}
.gb-ed-prose li{padding-left:4px;margin-bottom:12px}
.gb-ed-prose strong{font-weight:650}
.gb-ed-prose pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eae8e2;border:1px solid #d4d0c9;padding:24px;font-size:14px;line-height:1.8;margin:28px 0;border-radius:0}
.gb-ed-prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;margin:28px 0;table-layout:fixed}
.gb-ed-prose th,.gb-ed-prose td{padding:16px 12px;border-bottom:1px solid #d2cec7;vertical-align:top;text-align:left;overflow-wrap:break-word}
.gb-ed-prose th{font-weight:650;background:#eae8e2;border-top:1px solid #c0bbb2}
.gb-ed-prose td:first-child{font-weight:600}
.gb-ed-callout,.gb-ed-example{padding:24px 28px;background:#eae8e2;margin:30px 0;border-left:2px solid var(--brand)}
.gb-ed-callout>strong{display:block;font-size:14px;line-height:1.5;margin-bottom:14px}
.gb-ed-prose .gb-ed-callout p:last-child,.gb-ed-prose .gb-ed-example p:last-child{margin-bottom:0}
.gb-ed-author{border-top:1px solid #bcb9b5;padding:28px 0;font-size:15px;line-height:1.6}
.gb-ed-prose .gb-ed-author .gb-ed-kicker{font-size:12px;margin-bottom:16px}
.gb-ed-related{margin-top:80px}
.gb-editorial-page #pricing{border-top:1px solid #d4d0c9;background:var(--neutral-100)}

@media(max-width:1000px){.gb-ed-reading{grid-template-columns:190px minmax(0,1fr);gap:32px}.gb-ed-feature{gap:32px}.gb-ed-feature .gb-ed-kicker{font-size:10px}.gb-ed-prose{font-size:18px}.gb-ed-introduction{gap:8%}}
@media(max-width:700px){.gb-editorial-page .gb-editorial-main{padding-top:var(--gb-page-start);padding-bottom:40px}.gb-ed-masthead h1{font-size:50px;margin-bottom:28px}.gb-ed-introduction{grid-template-columns:1fr;gap:24px;padding-bottom:32px}.gb-ed-introduction>p{font-size:20px}.gb-ed-feature{grid-template-columns:1fr;gap:28px;padding:28px 0 44px}.gb-feature-image{aspect-ratio:1.5;grid-row:1}.gb-feature-copy h2{font-size:37px}.gb-feature-copy>p:not(.gb-ed-kicker){margin-bottom:22px}.gb-feature-time{display:inline-block;margin-left:20px}.gb-story-grid{grid-template-columns:1fr;gap:36px}.gb-story h3{font-size:28px}.gb-ed-section-head h2{font-size:26px}.gb-ed-bridge{margin-top:56px;padding-top:32px}.gb-ed-bridge h2{font-size:36px}.gb-ed-back{margin-bottom:28px}.gb-ed-article-head h1{font-size:43px}.gb-ed-deck{font-size:20px}.gb-ed-byline{gap:12px;font-size:12px}.gb-ed-byline .gb-publication{width:100%;font-size:12px}.gb-ed-byline button{margin-left:auto}.gb-ed-cover{margin-top:10px;margin-bottom:36px}.gb-ed-cover>img{aspect-ratio:1.5}.gb-ed-cover figcaption{text-align:left;line-height:1.5}.gb-ed-reading{display:block}.gb-ed-rail{position:static;max-height:none;padding:0 0 32px}.gb-ed-rail summary{padding:10px 0}.gb-ed-rail li{padding:9px 0}.gb-ed-prose{font-size:18px;line-height:1.7}.gb-ed-prose h2{font-size:30px;scroll-margin-top:100px}.gb-ed-prose section{margin-bottom:42px}.gb-ed-prose th,.gb-ed-prose td{padding:12px 7px}.gb-ed-prose table{font-size:13px}.gb-ed-callout,.gb-ed-example{padding:20px}.gb-ed-prose pre{padding:18px;font-size:12px}.gb-ed-related{margin-top:48px}}
@media(prefers-reduced-motion:no-preference){.gb-story-image img{transition:transform .3s ease}.gb-story-image:hover img{transform:scale(1.025)}}
@media(min-width:1100px){.gb-ed-masthead h1{font-size:clamp(68px,6.2vw,88px);max-width:none;white-space:nowrap;margin-bottom:36px}.gb-ed-introduction{padding-bottom:34px}}
/* Photographic article leads and practical takeaways, following the newsroom reference. */
.gb-ed-article-lead{display:grid;grid-template-columns:1.06fr 1fr;gap:clamp(36px,5vw,72px);align-items:center;padding-bottom:64px;border-bottom:1px solid #c9c5be;margin-bottom:64px}
.gb-ed-article-lead .gb-ed-article-head{min-width:0}
.gb-ed-article-lead .gb-ed-back{margin-bottom:32px}
.gb-ed-article-lead .gb-ed-kicker{margin-bottom:20px}
.gb-ed-article-lead h1{font-size:clamp(38px,4.15vw,60px);line-height:1.08;letter-spacing:-.035em;margin-bottom:26px;text-wrap:pretty}
.gb-ed-article-lead .gb-ed-deck{font-size:20px;line-height:1.5;margin-bottom:28px}
.gb-ed-article-lead .gb-ed-cover{margin:0;min-width:0;align-self:stretch;display:flex;flex-direction:column}
.gb-ed-article-lead .gb-ed-cover>img{flex:1;min-height:460px;height:100%;max-height:640px;aspect-ratio:auto;object-fit:cover}
.gb-ed-article-lead .gb-ed-cover figcaption{flex-shrink:0}
.gb-ed-article-lead .gb-ed-byline{gap:12px 18px;padding-bottom:0}
.gb-ed-article-lead .gb-ed-byline .gb-publication{width:100%;margin:0;font-size:12px}
.gb-ed-article-lead .gb-ed-byline button{margin-left:auto}
.gb-ed-brief{border-top:2px solid var(--gb-ink);border-bottom:1px solid #c9c5be;padding:28px 0;margin-bottom:48px}
.gb-ed-prose .gb-ed-brief .gb-ed-kicker{font-size:11px;line-height:1.5;margin-bottom:16px}
.gb-ed-prose .gb-ed-brief>p:not(.gb-ed-kicker){font-size:28px;line-height:1.3;letter-spacing:-.025em;margin-bottom:18px;font-weight:500;text-wrap:pretty}
.gb-ed-brief>span{font-size:16px;line-height:1.6;display:block;color:#625e68}
.gb-ed-rail-secondary{display:block;font-size:12px;line-height:1.5;margin-top:16px;color:#625e68!important}
.gb-story>.gb-story-resource{font-size:12px;line-height:1.5;border-top:1px solid #cfcdc9;padding-top:16px;margin-top:20px;color:#625e68}
.gb-ed-toolkit{margin-top:72px;background:var(--gb-ink);color:#f5f4f0;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:10%}
.gb-ed-toolkit h2{color:inherit;font-size:42px;line-height:1.08;margin-bottom:24px}
.gb-ed-toolkit p:not(.gb-ed-kicker){font-size:17px;line-height:1.65;color:#e1dde6;margin-bottom:24px}
.gb-ed-toolkit>div>span{font-size:12px;color:#c9c3d0}
.gb-ed-toolkit nav{align-self:center}
.gb-ed-toolkit nav a{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid #625a70;padding:17px 0;color:#f5f4f0;font-size:15px;line-height:1.4}
.gb-ed-toolkit nav a:last-child{border-bottom:1px solid #625a70}
.gb-ed-toolkit nav a:hover{color:#ffb5a6}
.gb-ed-toolkit :is(a,button):focus-visible{outline-color:#ffb5a6}
@media(max-width:1000px) and (min-width:701px){.gb-ed-article-lead{gap:32px}.gb-ed-article-lead h1{font-size:40px}.gb-ed-article-lead .gb-ed-deck{font-size:18px}.gb-ed-toolkit{padding:32px;gap:40px}.gb-ed-toolkit h2{font-size:36px}}
@media(max-width:700px){.gb-ed-article-lead{display:flex;flex-direction:column;gap:28px;padding-bottom:32px;margin-bottom:36px}.gb-ed-article-lead .gb-ed-back{margin-bottom:24px}.gb-ed-article-lead .gb-ed-kicker{margin-bottom:16px}.gb-ed-article-lead h1{font-size:38px;margin-bottom:20px}.gb-ed-article-lead .gb-ed-deck{font-size:18px;margin-bottom:24px}.gb-ed-article-lead .gb-ed-cover>img{width:100%;height:auto;min-height:0;aspect-ratio:1.45;max-height:none}.gb-ed-prose .gb-ed-brief>p:not(.gb-ed-kicker){font-size:26px}.gb-ed-brief{padding:24px 0;margin-bottom:36px}.gb-ed-toolkit{grid-template-columns:1fr;padding:28px 24px;gap:28px;margin-top:48px}.gb-ed-toolkit h2{font-size:34px}.gb-ed-toolkit nav a{font-size:14px}}
/* A browsable subject library: all articles remain present without JavaScript. */
.gb-journal-topic{padding:24px 0 48px;border-bottom:1px solid #bcb9b5}
.gb-topic-heading{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:baseline;gap:24px;margin:8px 0 32px}
.gb-topic-heading h2{font-size:30px;line-height:1.15;margin:0;scroll-margin-top:120px}
.gb-topic-heading p{font-size:16px;line-height:1.6;color:#625e68;margin:0;max-width:48ch}
.gb-topic-heading>a{font-size:12px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
#library-title{scroll-margin-top:120px}
@media(min-width:1100px){.gb-journal-topic .gb-story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gb-journal-topic .gb-story h3{font-size:27px}.gb-journal-topic .gb-story>p{font-size:16px}.gb-journal-topic .gb-story>.gb-story-resource{font-size:12px}}
@media(max-width:1000px){.gb-topic-heading{grid-template-columns:1fr 1fr}.gb-topic-heading>a{grid-column:1/-1}}
@media(max-width:700px){.gb-topic-heading{grid-template-columns:1fr;gap:14px;margin-bottom:28px}.gb-topic-heading h2{font-size:28px}.gb-topic-heading>a{grid-column:auto}.gb-journal-topic{padding:16px 0 36px}.gb-ed-section-head{gap:12px}.gb-ed-section-head>span{white-space:normal;text-align:right}}
