/* Existing IMOBX identity, with the owner's white-background direction, 15 October 2026. */
:root{--paper:#fff;--white:#fff;--ink:#193d4e;--muted:#526571;--line:#d9e3e8;--orange:#276578;--pale:#edf5f7;--serif:Arial,Helvetica,sans-serif;--sans:Arial,Helvetica,sans-serif;--imobx-turquoise:#4a90a4;--imobx-strategic:#ff8c00}
.roadmap-overview{list-style:none;padding:0;margin:30px 0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.roadmap-overview li{display:flex;gap:18px;padding:20px 0;border-top:1px solid var(--line)}
.roadmap-overview h3{margin:0 0 6px}.roadmap-overview p{margin:0}
.guide-paper .resource-language{padding:0;margin-bottom:28px}.guide-lead{font-size:21px;line-height:1.5;max-width:720px}
.guide-status{padding:4px 22px;background:var(--pale);margin:32px 0}
.guide-status h2{font-size:22px;margin:16px 0}.guide-jump{display:flex;flex-wrap:wrap;gap:10px 22px;margin:24px 0;padding:12px 0;border-block:1px solid var(--line)}
.guide-jump a,.guide-more{display:inline-flex;align-items:center;min-height:44px}.guide-more{margin-top:20px}
.roadmap-stage{border-top:1px solid var(--line);padding:28px 0}.roadmap-stage h3{font-size:25px;margin:8px 0}
.guide-window{color:var(--orange);font-weight:600}.roadmap-stage dl{margin:24px 0 0;display:grid;grid-template-columns:155px 1fr;gap:14px 24px}
.roadmap-stage dt{font-weight:700;font-size:14px}.roadmap-stage dd{margin:0;line-height:1.65}
.roadmap-stage>summary{cursor:pointer;min-height:44px;list-style-position:outside}
.roadmap-stage>summary>h3{display:inline;margin:0;font-size:22px}
.roadmap-stage>summary>.guide-window,.stage-owner,.stage-needs{display:block;margin-top:8px}
.stage-owner,.stage-needs{font-size:15px;line-height:1.6}
.roadmap-stage[open]>summary{margin-bottom:24px}
.guide-table{overflow-x:auto}.guide-table table{min-width:600px}.guide-table th{font-size:14px}.guide-table td{font-size:15px;line-height:1.6}
.guide-sources{font-size:16px!important;line-height:1.7;overflow-wrap:anywhere}.ostrom-application li{margin-bottom:12px}
.settlement-history,.settlement-review{background:var(--pale);padding:4px 22px;margin:28px 0}.settlement-chain{line-height:1.9;overflow-wrap:anywhere}
.settlement-route{margin:36px 0}.settlement-steps{list-style:none;counter-reset:cash-step;padding:0;margin:24px 0}.settlement-steps li{display:grid;grid-template-columns:38px 1fr;gap:16px;counter-increment:cash-step;padding:0 0 25px;margin:0;position:relative}
.settlement-steps li::before{content:counter(cash-step);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--imobx-turquoise);border-radius:50%!important;background:#fff;color:var(--orange);z-index:1;font-size:14px}
.settlement-steps li:not(:last-child)::after{content:"";position:absolute;left:16px;top:32px;bottom:0;border-left:1px solid var(--line)}.settlement-steps strong{display:block;padding-top:2px}.settlement-steps p{margin:6px 0 0}
.settlement-relationships{border-top:1px solid var(--line)}.settlement-relationships article{border-bottom:1px solid var(--line);padding:8px 0}
.transparency-page>section{margin-top:44px}.transparency-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:26px 0}.transparency-status article{border-top:3px solid var(--imobx-turquoise);padding-top:8px}.transparency-status h3{font-size:18px}.transparency-status p{font-size:15px}
.transparency-followups dt{font-weight:700;margin-top:24px}.transparency-followups dd{margin:8px 0 0}.transparency-source-group{border-bottom:1px solid var(--line);padding:12px 0}.transparency-source-group summary{cursor:pointer;font-weight:700;min-height:44px;display:list-item;padding:8px 0}.transparency-source-group li{margin:12px 0}
.transparency-updates{padding-left:24px}.transparency-updates li{padding:16px 0;border-top:1px solid var(--line)}.transparency-updates h3{margin:8px 0}.transparency-updates time{font-size:13px;color:var(--muted)}
@media(max-width:600px){.transparency-status{grid-template-columns:1fr;gap:16px}.transparency-status article{padding-top:4px}.transparency-page h1{font-size:38px;letter-spacing:-1px}.transparency-page>section{margin-top:34px}}
.guide-paper section{scroll-margin-top:25px}.faq summary{padding:8px 0;min-height:44px;line-height:1.5}.faq details:target{background:var(--pale);padding-left:16px}
@media(max-width:600px){.roadmap-overview{grid-template-columns:1fr}.roadmap-stage dl{grid-template-columns:1fr;gap:5px}.roadmap-stage dd{margin-bottom:16px}.guide-paper .guide-table table{display:table;overflow:visible}.guide-paper .guide-table{margin-right:0}.guide-status{padding:4px 16px}.guide-paper .faq h2{font-size:26px}}
*{border-radius:0!important}
body{background:var(--paper)}
.wordmark{display:inline-flex;align-items:center}
.brand-logo{display:block;width:94px;height:94px;object-fit:contain;flex:none}
.nav{min-height:110px}
.hero h1,.section-head h2,h2,.paper h1,.paper h2,.slide h1{font-weight:650;letter-spacing:-1px}
.hero h1{font-size:clamp(38px,4.1vw,60px)}
.button{background:#276578;border-color:#276578;color:#fff;font-weight:700}
.button:hover{background:#78bfd2;border-color:#78bfd2;color:#07161b}
.lang{border-color:var(--line)}
.lang [aria-pressed=true]{background:var(--imobx-turquoise);color:#07161b}
.drawing{background:#fff;border-color:var(--line);padding:0}
.drawing svg{background:#e8f4f8}
.drawing figcaption{border-color:var(--line);color:var(--muted);padding:12px 16px}
.review{background:var(--pale);color:#305e70}
.step,.box,.doc{border-left:0}
.step{padding:16px 18px;background:#f7fafb;border-top:0}
.box,.doc{border:1px solid var(--line)}
.waterfall li{border-bottom-color:var(--line)}
.paper-nav{align-items:center}
.paper-nav>span{line-height:2}
.paper th{background:var(--pale)}
.paper tr:nth-child(even){background:#f7fafb}
.deck .slide{background:#fff}
.notes{background:var(--pale)}
.deck-controls button{background:#fff}
.deck-controls button:disabled{opacity:.4;cursor:default}
.timeline .gate{color:var(--muted)}
.footer .brand-logo{width:100px;height:100px}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0}
.resource-card{min-width:0;border:1px solid var(--line);background:var(--white);padding:24px;display:flex;flex-direction:column}
.resource-card:last-child{grid-column:1/-1}
.resource-card h2,.resource-card h3{font-size:22px;line-height:1.4;letter-spacing:0;margin:0 0 12px}
.resource-card p{font-size:15px;color:var(--muted);margin:0 0 16px}
.resource-card .resource-meta{font-size:12px;margin-top:auto;padding-top:8px}
.resource-actions{display:flex;flex-wrap:wrap;gap:10px}
.resource-actions a{font-size:13px;display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #50505b;text-decoration:none}
.resource-actions a:first-child{background:#276578;border-color:#276578;color:#fff;font-weight:bold}
.resource-actions a:hover{border-color:#276578;color:#276578}
.resource-actions a:first-child:hover{background:#78bfd2;color:#07161b}
.resource-more{display:flex;flex-wrap:wrap;gap:12px 24px;padding:12px 0 20px}
.resource-more a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.resource-language{width:min(1200px,90%);margin:25px auto 0;display:flex;justify-content:flex-end}
.resource-language+section.content{padding-top:30px}
.media-logo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}
.media-logo{margin:0;border:1px solid var(--line);padding:18px;text-align:center}
.media-logo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.media-logo.light{background:#fff;color:#183f56}
.media-logo.dark{background:#060708;color:#fff}
.media-logo figcaption{font-size:13px;padding-top:15px}
.links>.resources-link{display:inline-block!important}
.mission-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.context-photo{margin:0 0 32px}
.context-photo img{display:block;width:100%;height:auto}
.context-photo figcaption{font-size:12px;line-height:1.6;color:var(--muted);padding:12px 0;max-width:850px}
.mission-intro{max-width:800px;margin-bottom:30px}
.mission-intro p{color:var(--muted);font-size:18px}
.image-story{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start}
.image-story figure{margin:0}
.image-story img{display:block;width:100%;height:300px;object-fit:cover}
.image-story .concept img{object-fit:contain;background:#f7fafb}
.image-story figcaption{font-size:12px;color:var(--muted);padding:12px 0;line-height:1.6}
.drawing img{max-width:100%}
.mission-portrait{border-top:1px solid var(--line)}
.paper-nav>span{overflow-wrap:anywhere}
.hero{padding:56px 0;gap:48px}
.hero p{font-size:17px}
.hero .fine{margin-top:20px}
.context-photo{max-width:960px}
.mission-intro{max-width:760px}
.mission-intro p{font-size:17px}
.step{background:transparent;border-left:0;border-top:1px solid var(--line);padding:20px 0}
.disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px}
.disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;min-height:60px;padding:16px 0;font-size:16px;font-weight:600}
.disclosure>summary::-webkit-details-marker{display:none}
.disclosure>summary:after{content:'+';font-size:23px;font-weight:400;color:var(--orange);flex:none}
.disclosure[open]>summary:after{content:'−'}
.disclosure-body{padding:12px 0 28px}
.disclosure-body>p:first-child{margin-top:0}
.money-detail{align-self:start;margin-top:12px}
.money-detail .waterfall{padding-top:0}



.resource-rows{margin-top:32px;border-top:1px solid var(--line)}
.resource-row{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:22px 0;border-bottom:1px solid var(--line)}
.resource-row h3{margin:0 0 6px;font-size:21px}
.resource-row p{margin:0;max-width:65ch;font-size:15px;color:var(--muted)}
.resource-row>a{flex:none;min-height:44px;display:flex;align-items:center;font-size:14px}
.resource-more a{font-size:14px}
section.content>p,.section-head p,.money p,.two p{max-width:72ch}
.resource-rows+.resource-more{padding-top:20px}
@media(max-width:600px){.resource-row{gap:18px;align-items:flex-start}.resource-row h3{font-size:20px}.resource-row p{font-size:14px}.resource-row>a{font-size:13px}.hero{padding-top:28px;gap:24px}.actions{margin-top:24px}.hero h1{margin:18px 0}.hero .fine{margin-bottom:0}.context-photo{margin-bottom:24px}}
@media(max-width:600px){.image-story{grid-template-columns:1fr}.image-story img{height:auto}}
@media(max-width:900px){.resource-grid{grid-template-columns:1fr}.resource-card:last-child{grid-column:auto}}
@media(max-width:600px){.resource-card{padding:20px}.media-logo-grid{grid-template-columns:1fr}.paper-nav>span{max-width:72%}.links{gap:12px}}
@media(max-width:900px){.hero,.section-head,.money,.two{grid-template-columns:1fr;gap:28px}.steps,.timeline{grid-template-columns:1fr}.hero{padding-top:40px}.hero .drawing{max-width:650px}.nav{min-height:95px}.brand-logo{width:78px;height:78px}}
@media(max-width:600px){.paper-nav{gap:14px}.paper-nav>span{font-size:12px}.paper h1{font-size:38px}.hero h1{font-size:38px}.paper h2{font-size:27px}.brand-logo{width:70px;height:70px}.nav{min-height:85px}.hero{padding-top:28px}.paper{margin-top:30px}.strip{grid-template-columns:1fr;gap:16px}}
@media print{:root{--paper:#fff;--white:#fff;--ink:#1a1a1a;--muted:#596772;--line:#dae2e6;--orange:#276578;--pale:#e8f4f8}.deck .slide{background:#fff}.paper th{background:#e8f4f8}.paper tr:nth-child(even){background:#fafafa}.pagebreak{break-after:page}.sources{display:none}}

/* Documentary context follows the existing editorial column and native disclosure. */
.documentary-context{max-width:74ch}.documentary-context .fine{margin-top:-6px;font-size:13px;overflow-wrap:anywhere}.mission-response{max-width:74ch;margin-top:32px}.mission-response h3{font-size:24px}.mission-response p{color:var(--muted)}figcaption a{display:inline-block;min-height:32px;padding:4px 0}

.archive-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px}.archive-nav a{display:inline-flex;align-items:center;min-height:44px}.archive-section{border-top:1px solid var(--line)}.archive-section>p{max-width:74ch}.loft-overview{display:grid;grid-template-columns:.75fr 1.25fr;gap:32px;align-items:start;margin-top:32px}.loft-overview figure,.loft-gallery figure{margin:0}.loft-overview img,.loft-gallery img{display:block;width:100%;height:auto}.loft-overview figcaption,.loft-gallery figcaption,.market-reference figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding:12px 0}.loft-overview figure:first-child{max-width:360px}.loft-gallery{display:grid;grid-template-columns:1fr 1fr;gap:32px}.market-reference{max-width:420px;margin:24px 0 0}.market-reference img{display:block;width:100%;height:auto}@media(max-width:600px){.loft-overview,.loft-gallery{grid-template-columns:1fr;gap:24px}}

.village-vision{max-width:960px}.village-illustration{max-width:960px;margin:28px 0}.village-illustration img{display:block;width:100%;height:auto}.village-illustration figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding:12px 0}.village-vision h3{font-size:27px;line-height:1.25;margin:12px 0 20px}.village-vision>p{max-width:74ch}.vision-notes{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;max-width:960px}.vision-notes p{margin:8px 0;color:var(--muted)}@media(max-width:600px){.vision-notes{grid-template-columns:1fr;gap:8px}.village-vision h3{font-size:25px}}
/* Problem, solution, costs and manually explored models. */
.problem-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-top:28px}
.problem-columns .context-photo{margin:0}.problem-columns p:first-child{margin-top:0}
.home-model-heading{max-width:740px;margin-bottom:48px}
.home-model-heading>p{max-width:58ch}
.home-model-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:72px;align-items:start}
.home-purchase-steps{margin:0;padding-left:26px;max-width:58ch}
.home-purchase-steps li{padding:0 0 32px 14px}
.home-purchase-steps li::marker{color:var(--orange);font-weight:700;font-size:21px}
.home-purchase-steps h3{font-size:22px;line-height:1.35;margin:0 0 10px}
.home-purchase-steps p{font-size:17px;line-height:1.7;margin:0;max-width:48ch}
.home-purchase-terms{max-width:58ch;border-top:1px solid var(--line);padding-top:24px;margin:0 0 28px}
.home-purchase-terms h3{font-size:18px;margin:0 0 10px}
.home-purchase-terms p{font-size:16px;line-height:1.65;margin:0 0 14px}
.home-purchase-terms details{border:0;padding:0}
.home-purchase-terms summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:16px;line-height:1.5}
.home-village-vision{border-top:1px solid var(--line);padding-top:24px}
.home-village-vision>h3{font-size:23px;line-height:1.3;margin:0 0 16px}
.home-village-vision>p{font-size:16px;line-height:1.7}
.home-village-vision .village-illustration{max-width:100%;margin:24px 0}
.home-village-vision>a{display:inline-flex;align-items:center;min-height:44px;font-size:16px}
@media(max-width:900px){.home-model-layout{grid-template-columns:1fr;gap:56px}.home-model-heading{margin-bottom:36px}.home-village-vision{max-width:650px;padding-top:32px}}
.cost-comparison{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:32px 0}.cost-comparison article{border-top:1px solid var(--line);padding-top:20px}.cost-comparison h3{font-size:20px;margin:0 0 20px}.cost-comparison p{max-width:60ch}.cost-number{font-size:clamp(26px,3vw,37px);line-height:1.2;font-weight:600;color:var(--ink);letter-spacing:-0.02em;margin:0 0 20px}
.budget-table{max-width:760px;overflow-x:auto}.budget-table table{border-collapse:collapse;width:100%;font-size:15px}.budget-table th,.budget-table td{border-bottom:1px solid var(--line);padding:12px 16px 12px 0;text-align:left}.budget-table th:last-child,.budget-table td:last-child{text-align:right;white-space:nowrap}
.model-carousel{margin:32px 0 44px;max-width:100%;min-width:0}.gallery-hint{margin-bottom:18px}
.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:auto;overscroll-behavior-x:contain;scrollbar-width:thin;min-width:0;border:1px solid var(--line);background:#fff}
.carousel-slide{flex:0 0 100%;width:100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}.carousel-slide>a{display:block;cursor:zoom-in;background:#f7fafb}.carousel-slide img{display:block;width:100%;height:clamp(260px,48vw,590px);object-fit:contain}.carousel-slide figcaption{padding:16px 20px;font-size:15px;border-top:1px solid var(--line);color:var(--muted)}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.carousel-controls button{min-height:44px;padding:10px 16px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;cursor:pointer}.carousel-controls button:disabled{opacity:.4;cursor:default}.carousel-count{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.carousel-thumbs{display:flex;gap:10px;overflow-x:auto;max-width:100%;padding:12px 0 6px}.carousel-thumbs button{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 86px;background:#fff;border:1px solid var(--line);padding:6px;color:var(--muted);font:inherit;cursor:pointer}.carousel-thumbs button[aria-pressed=true]{border:2px solid #276578;padding:5px;color:#193d4e}.carousel-thumbs img{display:block;width:72px;height:52px;object-fit:contain}.carousel-thumbs span{font-size:12px}.carousel-controls[hidden],.carousel-thumbs[hidden]{display:none}
.site-records{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.site-records figure{margin:0}.site-records a{display:block;cursor:zoom-in}.site-records img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.site-records figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding:12px 0}

.image-viewer{width:min(1240px,94vw);max-width:94vw;max-height:94dvh;padding:20px;border:1px solid var(--line);background:#fff;color:var(--ink);overflow:auto}.image-viewer::backdrop{background:rgba(13,33,43,.72)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.viewer-toolbar a{font-size:14px}.viewer-toolbar button{min-height:44px;padding:10px 16px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;cursor:pointer}.image-viewer figure{margin:0}.image-viewer img{display:block;width:100%;height:min(70dvh,850px);object-fit:contain}.image-viewer figcaption{font-size:14px;line-height:1.6;color:var(--muted);padding-top:16px}.viewer-open{overflow:hidden}
.carousel-track:focus-visible,.carousel-controls button:focus-visible,.carousel-thumbs button:focus-visible,a[data-zoom]:focus-visible,.viewer-toolbar button:focus-visible{outline:3px solid #276578;outline-offset:3px}
@media(max-width:900px){.problem-columns{grid-template-columns:1fr;gap:28px}.problem-columns .context-photo{max-width:700px}}
@media(max-width:600px){.cost-comparison{grid-template-columns:1fr;gap:24px}.site-records{grid-template-columns:1fr;gap:20px}.carousel-controls{gap:8px}.carousel-controls button{font-size:14px;padding:10px}.carousel-slide img{height:300px}.carousel-slide figcaption{padding:12px 16px}.image-viewer{padding:12px}.image-viewer img{height:65dvh}}
@media(prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}}

.project-journey{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:28px 0 48px;border-bottom:1px solid var(--line)}.project-journey h2{font-size:20px;line-height:1.35;letter-spacing:-.4px}.project-journey p{font-size:15px;color:var(--muted)}.background-photos{min-width:0}.background-photos figure+figure{margin-top:24px}@media(max-width:700px){.project-journey{grid-template-columns:1fr;gap:12px}.project-journey h2{margin:8px 0}.project-journey p{margin:8px 0}}

.community-topic{border-bottom:1px solid var(--line);padding:12px 0}.community-topic>summary{cursor:pointer;font-weight:700;min-height:44px;padding:8px 0;line-height:1.5}.community-topic:target{background:var(--pale);padding-left:16px}

/* The same main menu on every page; local section links stay within the content. */
.site-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;min-height:110px;padding-block:8px}
.site-links{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 22px;font-size:14px}
.site-links>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;line-height:1.4}
.site-links>a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;font-weight:700}
.site-nav .lang{flex:none}.site-nav a:focus-visible{outline:3px solid #276578;outline-offset:4px}
.page-section-label{font-size:14px;font-weight:700;margin:26px 0 0}.page-section-label+.archive-nav{margin-top:6px;padding-block:10px;border-block:1px solid var(--line)}
@media(max-width:1000px){.site-nav{grid-template-columns:1fr auto;gap:4px 20px;padding-block:10px}.site-nav .wordmark{grid-column:1;grid-row:1}.site-nav .lang{grid-column:2;grid-row:1}.site-links{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:0 22px}.site-nav .brand-logo{width:70px;height:70px}}
@media(max-width:400px){.site-links{gap:0 16px;font-size:13px}}

.construction-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;margin-top:28px}
.construction-photo-grid figure{margin:0;min-width:0}.construction-photo-grid a{display:block;cursor:zoom-in;background:#f7fafb}
.construction-photo-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.construction-photo-grid figcaption{display:flex;gap:12px;padding:14px 0;font-size:14px;line-height:1.6;color:var(--muted)}
.photo-number{font-size:12px;font-variant-numeric:tabular-nums;flex:none;padding-top:2px;color:var(--orange)}
@media(max-width:600px){.construction-photo-grid{grid-template-columns:1fr;gap:22px}}

/* Long reference tables scroll within the reading column on small screens. */
.reference-page section{padding-block:28px;border-bottom:1px solid var(--line)}
.reference-page section>h2{margin-top:0}
.reference-page .guide-table{max-width:100%;overflow-x:auto}
.reference-page table{min-width:620px}
.reference-page td{vertical-align:top}
.reference-chapters{padding-left:26px}
.reference-chapters>li{padding-block:14px}
.reference-chapters h3{font-size:20px;margin:0 0 10px}
.reference-page [id]{scroll-margin-top:24px}
.reference-page a{overflow-wrap:anywhere}
.reference-page #sources li{margin-bottom:22px}
.reference-page #sources li p{margin-top:6px}
@media print{.reference-page .guide-table{overflow:visible}.reference-page table{min-width:0;font-size:10px}}

.status-block{border-top:1px solid var(--line)}
.status-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:24px 0}
.status-columns h3{font-size:20px;margin:0 0 12px}
.status-columns ul{margin:0;padding-left:22px;max-width:60ch}
.status-columns li{padding:4px 0}
@media(max-width:700px){.status-columns{grid-template-columns:1fr;gap:24px}}
.source-note{max-width:72ch}

/* Stage 3/4: text on the reader pages is body size; only captions and interface labels stay smaller. */
.faq details p,.resource-row p,.cost-comparison p,.budget-table table{font-size:17px}
.faq details p{max-width:72ch}
.drawing figcaption{font-size:13px}
@media(max-width:600px){.resource-row p{font-size:16px}}
.review{font-size:14px}
.slide-foot{font-size:13px}
/* Caveats and document tables at reading size on every page, not only the homepage. */
@media screen{.fine,.documentary-context .fine{font-size:16px!important;color:var(--ink)}.paper table{font-size:15px}.resource-card .resource-meta,.sources{font-size:14px}}

/* Polish 2026-10-21: readable line length, no one-word last lines, 44px targets, disclosures at reading size. */
.paper p,.paper li,.content p{max-width:72ch}
p,li{text-wrap:pretty}h1,h2,h3{text-wrap:balance}
h2{margin-top:1.6em}
.lang button{min-width:44px;min-height:44px;font-size:14px}
.lang [aria-pressed=true]{background:#276578;color:#fff}
summary{min-height:44px;padding-block:10px;box-sizing:border-box}
figcaption,figcaption p,figcaption span{font-size:15px;line-height:1.45}
.deck button,.deck-controls button{min-height:44px}
.site-footer p{max-width:72ch;font-size:16px;margin:0 0 8px}

.report-list{list-style:none;padding:0;margin:20px 0;max-width:72ch}.report-list li{padding:12px 0;border-top:1px solid var(--line)}.report-list li:last-child{border-bottom:1px solid var(--line)}

/* Sprint 4: a shorter phone header and tighter section spacing. Desktop and tablet are unchanged. */
@media(max-width:600px){
.review{font-size:15px;line-height:1.3;padding:5px 5%}
.site-nav{min-height:0;padding-block:0;gap:0 12px}
.site-nav .wordmark{min-height:48px}
.site-nav .brand-logo{width:48px;height:48px}
.site-nav .lang{padding:0}
.site-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 4px;font-size:15px;padding-bottom:2px}
.site-links>a{justify-content:center;text-align:center;line-height:1.2;padding-inline:2px}
section.content{padding:24px 0}
section.content.tint{padding:28px 0}
section.content>h2,section.content>.wrap>h2,section.content>header>h2{margin-top:0}
.hero{padding-top:20px;padding-bottom:12px;gap:20px}
.hero .actions{margin-top:16px;gap:0 24px}
.hero .drawing{padding:12px}
.status-columns{margin:12px 0;gap:8px}
.status-columns h3{margin:12px 0 4px}
.status-columns li{padding:2px 0}
.home-model-layout{gap:24px}
.home-model-heading{margin-bottom:16px}
.home-purchase-steps li{padding-bottom:14px}
.home-purchase-steps h3{margin-bottom:6px}
.home-purchase-terms{padding-top:16px;margin-bottom:16px}
.home-village-vision{padding-top:20px}
.home-village-vision .village-illustration{margin:12px 0}
.cost-comparison{margin:16px 0;gap:16px}
.cost-comparison article{padding-top:14px}
.cost-comparison h3,.cost-number{margin-bottom:8px}
.model-carousel{margin:16px 0 20px}
.carousel-slide img{height:250px}
.carousel-count,.resource-more a,.resource-row>a,.button,.text-link,.lang button,.carousel-controls button,.carousel-thumbs span{font-size:15px}
.text-link,.faq details>a{display:inline-flex;align-items:center;min-height:44px}
.roadmap-overview{margin:16px 0}
.roadmap-overview li{padding:14px 0}
.resource-rows{margin-top:16px}
.resource-row{padding:14px 0}
.resource-more{gap:0 24px;padding:8px 0 12px}
.viewer-toolbar a{font-size:15px}
.faq{margin:16px 0}
.faq details{padding:6px 0}
h2{margin-bottom:8px}
:where(section.content) p{margin-block:0 12px}
figcaption{padding-block:8px 0}
figcaption p{margin:0}
.archive-nav{gap:0 24px;margin-top:8px}
.faq .guide-more{margin-top:8px}
body{line-height:1.5}
.home-purchase-steps p,.home-village-vision>p{line-height:1.5}
}

/* Phone tables: stack each row, with the column name above every cell, so no column sits off screen. */
@media(max-width:600px){.guide-paper .guide-table table,.guide-table table{display:block;min-width:0;width:100%}
.guide-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.guide-table tbody,.guide-table tr,.guide-table td{display:block;width:100%;box-sizing:border-box}
.guide-table tr{border:1px solid var(--line);margin:0 0 14px;background:#fff}
.guide-table td{border:0;border-bottom:1px solid var(--line);padding:10px 14px}
.guide-table td:last-child{border-bottom:0}
.guide-table td::before{content:attr(data-label);display:block;font-weight:700;font-size:14px;color:var(--ink);margin-bottom:4px}}

/* Links in the text and footer are blue and underlined, so a visitor can see what is clickable. Buttons and the menu keep their own look. */
main a:not(.button),.site-footer a{color:#A84B00;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px}
main a:not(.button):hover,.site-footer a:hover{color:#7F3A00;text-decoration-thickness:2px}

.icon{width:1.1em;height:1.1em;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.carousel-controls button,.viewer-toolbar button,.deck-controls button{display:inline-flex;align-items:center;gap:8px}
.stage-group{font-weight:700;margin:28px 0 0}
.photo-number,.carousel-thumbs span,.paper-nav>span,.resource-card .resource-meta,.transparency-updates time{font-size:14px}
.resource-row>a{min-width:44px;justify-content:center}
section.archive-section>h2{font-size:clamp(26px,3vw,32px)}
.budget-table th:last-child{white-space:normal;min-width:7em}.budget-table th:first-child,.budget-table td:first-child{padding-right:12px}
.home-model-heading h2{margin-top:0}
.roadmap-stage>summary{list-style:none}
.roadmap-stage>summary::-webkit-details-marker{display:none}
.stage-toggle{display:inline-block;margin-top:10px;font-size:15px;color:#1b5e8f;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.stage-toggle .less,.roadmap-stage[open] .stage-toggle .more{display:none}
.roadmap-stage[open] .stage-toggle .less{display:inline}
.roadmap-stage>summary:focus-visible{outline:3px solid #276578;outline-offset:3px}
/* Homepage "Read more": the same row of underlined links as the other link rows. */
.read-more{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:4px 28px}
.read-more li{min-height:44px;display:flex;align-items:center}
.partner-line{margin-top:28px}
/* Homepage: who we are looking for (a definition list, one row per partner). */
.partner-list{display:grid;grid-template-columns:minmax(10em,14em) 1fr;gap:10px 28px;margin:20px 0}
.partner-list dt{font-weight:700}.partner-list dd{margin:0;max-width:62ch}
@media(max-width:700px){.partner-list{grid-template-columns:1fr;gap:2px}.partner-list dd{margin-bottom:12px}}
.ambition{font-style:normal;border-top:1px solid var(--line);padding-top:12px}
/* Connected steps: the loop and the phases. Numbers come from the list; the line between boxes is drawn in CSS. */
.flow{list-style:none;counter-reset:flow;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:16px;padding:0;margin:20px 0}
.flow>li{counter-increment:flow;position:relative;border:1px solid var(--line);background:var(--pale);padding:16px 18px 18px}
.flow>li::before{content:counter(flow);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#276578;color:#fff;font-weight:700;margin-bottom:10px}
.flow>li:not(:last-child)::after{content:"";position:absolute;top:30px;right:-17px;width:16px;height:2px;background:#4A90A4}
.flow strong{display:block;margin-bottom:6px}
.flow-phases>li::before{display:none}
@media(max-width:700px){.flow{grid-template-columns:1fr}.flow>li:not(:last-child)::after{top:auto;bottom:-17px;right:auto;left:30px;width:2px;height:16px}}

/* The phases are a plain numbered list: the names carry the order, no boxes. */
.flow-phases{display:block;margin:16px 0}.flow-phases>li{border:0;background:none;padding:0 0 14px}.flow-phases>li::after{display:none}
@media(min-width:701px){.why-page .flow{grid-template-columns:repeat(5,1fr)}}
main>.partner-line{width:min(1200px,90%);margin-left:auto;margin-right:auto}
/* Phone menu (25 Oct 2026) */
.menu-toggle{display:none}
@media (max-width:700px){
  .js-menu .menu-toggle{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid #276578;background:#fff;color:#276578;font:700 15px Arial,Helvetica,sans-serif;grid-column:2;grid-row:1;justify-self:end}
  .js-menu .site-nav{grid-template-columns:1fr auto auto}
  .js-menu .site-nav .lang{grid-column:3;grid-row:1}
  .js-menu .site-nav .site-links{display:none}
  .js-menu .site-nav.menu-open .site-links{display:flex;flex-direction:column;align-items:flex-start;gap:0;grid-column:1 / -1;grid-row:2;padding:8px 0 12px}
  .js-menu .site-nav.menu-open .site-links a{display:block;width:100%;padding:12px 0;border-top:1px solid #D9E3E8;text-align:left}
  .review{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* Attention parts on every page (owner, 25 Oct): one orange card and one orange action per page.
   Pastel #FDF1E4 for areas, dark #A84B00 / #B85500 for text and the button (both pass contrast), bright #E07A00 only as a thin mark. */
.key-card{max-width:36em;margin:0 0 28px;padding:0;background:none;box-sizing:border-box}
.key-card p{margin:0;font-size:19px;line-height:1.5;font-weight:700;color:#193D4E}
.key-card p+p{margin-top:8px}
.button.act,a.button.act{background:#276578;border-color:#276578;color:#fff}
.button.act:hover,a.button.act:hover{background:#193D4E;border-color:#193D4E;color:#fff}
.page-action{margin:0 0 32px}
mark.hint{background:none;color:inherit;padding:0;box-shadow:none;font-weight:700;-webkit-box-decoration-break:clone;box-decoration-break:clone}
@media (max-width:600px){.key-card{padding:0}}
/* Three languages (26 Oct 2026): a little less space between menu items so the longer Dutch labels fit on one line
   on wide screens; where they still would not, Dutch uses the same tidy two-row header as tablets (menu on its own row). */
@media (min-width:1001px){.site-links{gap:4px 16px}}
/* the Portuguese and Dutch menus are longer: a touch tighter so each stays on one row at desktop width (homepage mock, 26 Oct) */
@media (min-width:1001px){html[lang="nl"] .site-links,html[lang="pt-BR"] .site-links{gap:4px 12px}}
@media (min-width:1001px) and (max-width:1320px){
  html[lang="nl"] .site-nav{grid-template-columns:1fr auto;gap:4px 20px;padding-block:10px}
  html[lang="nl"] .site-nav .wordmark{grid-column:1;grid-row:1}
  html[lang="nl"] .site-nav .lang{grid-column:2;grid-row:1}
  html[lang="nl"] .site-links{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:0 22px}
}

/* small laptops (27 Oct): Portuguese keeps one menu row at 1280 so the homepage button stays on the first screen */
@media (min-width:1001px) and (max-width:1320px){html[lang="pt-BR"] .site-links{gap:4px 9px;font-size:13.5px}}

/* Owner, 27 Oct 2026: orange removed from the whole site ("remove the entire unless it becomes useful and elegant"). Cards, buttons, marks and drawings use the site's own teal and ink. */
/* Owner, 27 Oct 2026: orange returns in three places only: text links (#A84B00, 5.7:1 on white, 5.2:1 on pale teal),
   the drawings, and the Telegram button (#B85500 behind white text, 4.8:1). */
a.button[href^="https://t.me/"]{background:#B85500;border-color:#B85500;color:#fff}
a.button[href^="https://t.me/"]:hover{background:#A84B00;border-color:#A84B00;color:#fff}

/* Main menu (owner, 27 Oct 2026, decisions 9-17): five nouns; each label is a button that opens a short list (the page,
   then up to four sections); the only orange is the "Take part" text link. Targets are at least 44px (gate rule). */
.site-links .nav-item{position:relative;display:inline-flex;align-items:center}
.site-links .nav-item>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;line-height:1.4}
.site-links .nav-item>a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;font-weight:700}
.site-links .sub-toggle{display:inline-flex;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:0 2px;border:0;background:none;color:inherit;font:inherit;line-height:1.4;white-space:nowrap;cursor:pointer}
.site-links .sub-toggle:focus-visible{outline:3px solid #276578;outline-offset:2px}
.site-links .sub-toggle.is-current>span:first-child{text-decoration:underline;text-underline-offset:6px;font-weight:700}
.site-links .sub-arrow{display:inline-block;font-size:.85em;transition:transform .15s}
.site-links .sub-toggle[aria-expanded="true"] .sub-arrow{transform:rotate(180deg)}
.site-links .sub{position:absolute;top:100%;left:0;z-index:30;min-width:230px;margin:0;padding:6px 0;list-style:none;background:#fff;border:1px solid #D9E3E8;box-shadow:0 8px 24px rgba(25,61,78,.12)}
.site-links .sub a{display:block;padding:10px 16px;text-decoration:none;white-space:nowrap;line-height:1.3}
.site-links .sub a{transition:background-color .15s,color .15s}
.site-links .sub a:hover,.site-links .sub a:focus-visible{background:#FDF1E4;color:#A84B00}
/* Owner, 28 Oct: the list drops down smoothly; the item under the pointer is highlighted in orange. */
@keyframes sub-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.site-links .sub:not([hidden]){animation:sub-drop .2s ease-out;transform-origin:top}
@media (prefers-reduced-motion:reduce){.site-links .sub:not([hidden]){animation:none}.site-links .sub a{transition:none}}
.site-links .sub .sub-overview a{font-weight:700;border-bottom:1px solid #D9E3E8}
.site-links .nav-item>a.nav-action{color:#A84B00;font-weight:700;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.site-links .nav-item>a.nav-action:hover{color:#7F3A00;text-decoration-thickness:2px}
/* Fit: Portuguese, the longest menu, is a little tighter so the menu keeps one row from 1201px; below 1200 every
   language uses the two-row header Dutch already used; Dutch is back on one row from 1201px. */
@media (min-width:1001px){html[lang="pt-BR"] .site-links{gap:4px 8px;font-size:13.5px}}
@media (min-width:1001px) and (max-width:1320px){html[lang="pt-BR"] .site-links{gap:4px 6px;font-size:13px}}
@media (min-width:1001px) and (max-width:1200px){
  .site-nav{grid-template-columns:1fr auto;gap:4px 20px;padding-block:10px}
  .site-nav .wordmark{grid-column:1;grid-row:1}
  .site-nav .lang{grid-column:2;grid-row:1}
  .site-links{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:0 18px}
}
@media (min-width:1201px) and (max-width:1320px){
  html[lang="nl"] .site-nav{grid-template-columns:auto minmax(0,1fr) auto;gap:24px;padding-block:8px}
  html[lang="nl"] .site-nav .wordmark,html[lang="nl"] .site-nav .site-links,html[lang="nl"] .site-nav .lang{grid-row:auto;grid-column:auto}
  html[lang="nl"] .site-links{justify-content:flex-end;gap:4px 12px}
}
/* Phone: the open menu is a list; each label expands its sections in place. */
@media (max-width:700px){
  .js-menu .site-nav.menu-open .site-links .nav-item{display:flex;flex-wrap:wrap;width:100%;border-top:1px solid #D9E3E8}
  .js-menu .site-nav.menu-open .site-links .nav-item>a{flex:1;border-top:0;padding:12px 0}
  .js-menu .site-nav.menu-open .site-links .sub-toggle{flex:1;justify-content:space-between;padding:12px 0;text-align:left}
  .js-menu .site-nav.menu-open .site-links .sub{position:static;flex-basis:100%;min-width:0;border:0;box-shadow:none;padding:0 0 8px 16px}
  .js-menu .site-nav.menu-open .site-links .sub a{border-top:0;padding:10px 0;white-space:normal}
}
/* Owner, 28 Oct (decision 21): footer links one per line, no middle dots */
.site-footer .wrap p+p a{display:block;margin:6px 0}

/* Owner, 28 Oct: the open-group note as a short window before joining the Telegram group */
.group-dialog{max-width:min(30em,calc(100vw - 32px));padding:24px;border:1px solid #D9E3E8;border-radius:4px;color:#193D4E;background:#fff}
.group-dialog::backdrop{background:rgba(25,61,78,.45)}
.group-dialog h2{font-size:22px;margin:0 0 10px}
.group-dialog p{margin:0 0 20px;line-height:1.5}
.group-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.group-dialog-actions button{min-height:44px;padding:0 16px;background:none;border:1px solid #276578;color:#276578;font:inherit;cursor:pointer}
/* Jargon popups (owner, 28 Oct 2026): the word looks like a text link, dotted, and explains itself on hover or tap. */
button.term{all:unset;color:#A84B00;text-decoration:underline dotted;text-decoration-thickness:1.5px;text-underline-offset:3px;cursor:help;font:inherit;line-height:inherit;border-radius:2px}
button.term:hover{color:#7F3A00;text-decoration-style:solid}
button.term:focus-visible{outline:2px solid #A84B00;outline-offset:2px}
button.term-near{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin-left:4px;text-decoration:none;font-weight:700;font-size:.85em}
.term-pop{position:fixed;inset:auto;margin:0;max-width:min(26em,calc(100vw - 32px));max-height:min(60vh,22em);overflow:auto;padding:16px 18px 12px;border:1px solid #D9E3E8;border-radius:4px;background:#fff;color:#193D4E;box-shadow:0 8px 24px rgba(25,61,78,.18)}
.term-pop-word{margin:0 0 6px;font-weight:700;font-size:16px}
.term-pop-meaning{margin:0 0 10px;font-size:16px;line-height:1.5}
.term-pop-close{font:inherit;font-size:14px;min-height:32px;padding:4px 12px;border:1px solid #D9E3E8;border-radius:4px;background:#fff;color:#193D4E;cursor:pointer}
.term-pop-close:hover{border-color:#193D4E}

/* Stage toggle on its own line under the heading (owner screenshot, 28 Oct: 'checkShow details') */
.roadmap-stage summary .stage-toggle{display:block;width:fit-content}
/* The lofts page opens with its first section: no line under the header. */
main>.archive-section:first-child{border-top:0}
/* Six menu items (owner, 28 Oct: Local governance added): the menu gets its own full-width row under the logo up to
   1439px in every language, as below 1200px; from 1440px it shares the logo row. */
@media (min-width:1201px) and (max-width:1439px){
  .site-nav,html[lang="nl"] .site-nav,html[lang="pt-BR"] .site-nav{grid-template-columns:1fr auto;gap:4px 20px;padding-block:10px}
  .site-nav .wordmark,html[lang="nl"] .site-nav .wordmark{grid-column:1;grid-row:1}
  .site-nav .lang,html[lang="nl"] .site-nav .lang{grid-column:2;grid-row:1}
  .site-links,html[lang="nl"] .site-links,html[lang="pt-BR"] .site-links{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:0 18px}
}
/* Portuguese, the longest labels, keeps the menu on its own row at every desktop width. */
@media (min-width:1440px){
  html[lang="pt-BR"] .site-nav{grid-template-columns:1fr auto;gap:4px 20px;padding-block:10px}
  html[lang="pt-BR"] .site-nav .wordmark{grid-column:1;grid-row:1}
  html[lang="pt-BR"] .site-nav .lang{grid-column:2;grid-row:1}
  html[lang="pt-BR"] .site-links{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:0 18px}
}

/* Owner, 3 Nov: Self-compounding joined the top bar (eight items, visible from every page). On every desktop width and in
   every language: logo and language buttons on the first row, the whole menu on one row below, spacing scaled to fit. */
@media (min-width:1001px){
  .site-nav,html[lang="nl"] .site-nav,html[lang="pt-BR"] .site-nav{grid-template-columns:1fr auto;gap:4px 20px;padding-block:10px}
  .site-nav .wordmark,html[lang="nl"] .site-nav .wordmark,html[lang="pt-BR"] .site-nav .wordmark{grid-column:1;grid-row:1}
  .site-nav .lang,html[lang="nl"] .site-nav .lang,html[lang="pt-BR"] .site-nav .lang{grid-column:2;grid-row:1}
  .site-links,html[lang="nl"] .site-links,html[lang="pt-BR"] .site-links{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:0 20px;font-size:14px}
}
@media (min-width:1001px) and (max-width:1320px){.site-links,html[lang="nl"] .site-links,html[lang="pt-BR"] .site-links{gap:0 12px;font-size:13.5px}}
@media (min-width:1001px) and (max-width:1120px){.site-links,html[lang="nl"] .site-links,html[lang="pt-BR"] .site-links{gap:0 6px;font-size:13px}}
@media (min-width:1001px) and (max-width:1320px){html[lang="pt-BR"] .site-links{gap:0 8px;font-size:13px}}
/* Portuguese labels are longest: between 1001 and 1120px the menu takes two even rows, as on tablets. */
@media (min-width:1001px) and (max-width:1120px){html[lang="pt-BR"] .site-links{gap:4px 22px;font-size:14px}}
