/* Public design tokens. Source Serif 4 / Georgia and Inter / Arial fallbacks
   match x-height and vertical font metrics to limit swapping layout shifts. */
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial");
  size-adjust: 105.273%;
  ascent-override: 92.023%;
  descent-override: 22.913%;
  line-gap-override: 0%;
  font-display: swap;
}
@font-face {
  font-family: "Source Serif Fallback";
  src: local("Georgia");
  size-adjust: 98.661%;
  ascent-override: 105.006%;
  descent-override: 33.955%;
  line-gap-override: 0%;
  font-display: swap;
}
:root {
  color-scheme: light dark;
  --background: #FBFAF7;
  --surface: #FFFFFF;
  --ink: #1B1F1D;
  --muted: #5B635F;
  --line: #E6E2DA;
  --accent: #0E6B5C;
  --accent-soft: #E3F1EE;
  --sand: #F3ECE0;
  --warning: #9A5B13;
  --warning-soft: #FBF1E3;
  --on-accent: #FFFFFF;
  --input-line: #7C8580;
  --area-usable: #BCD8CB;
  --area-wall: #D8C8DF;
  --area-shared: #DFE8EC;
  --font-body: "Inter", "Inter Fallback", system-ui, sans-serif;
  --font-heading: "Source Serif 4", "Source Serif Fallback", Georgia, serif;
  --text-small: 0.875rem;
  --text-body: 1.125rem;
  --text-h1: clamp(2.5rem, 4vw, 3rem);
  --text-h2: 1.75rem;
  --text-h3: 1.3125rem;
  --leading: 1.65;
  --measure: 68ch;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 72px;
  --radius: 10px;
  --radius-chip: 999px;
  --shadow-raised: 0 4px 16px rgb(27 31 29 / 6%);
  /* Existing layout aliases keep all page types on the same theme. */
  --paper: var(--background);
  --paper2: var(--sand);
  --forest: var(--accent);
  --signal: var(--accent);
  --copper: var(--accent);
  --unknown: var(--warning);
}
@media (prefers-color-scheme: dark) {
  :root {
    --background: #121615;
    --surface: #1A1F1D;
    --ink: #ECEFED;
    --muted: #A3ACA8;
    --line: #2A322F;
    --accent: #4FB8A5;
    --accent-soft: #203B34;
    --sand: #292920;
    --warning: #E9B36E;
    --warning-soft: #352B1E;
    --on-accent: #121615;
    --input-line: #7C8982;
    --area-usable: #33564A;
    --area-wall: #514256;
    --area-shared: #344C57;
  }
}
/* Shared public layouts. Theme and component rules follow below. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.55}
a{color:inherit}
a:focus-visible{outline:3px solid var(--copper);outline-offset:4px}
.mono,.kicker,.source-type,.freshness{font-family:var(--font-body);text-transform:none;letter-spacing:normal}

.top{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(18px,4vw,64px);border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:5;backdrop-filter:blur(16px)}
.brand{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-size:17px;font-weight:600;letter-spacing:normal;white-space:nowrap}
.brand-mark{width:34px;height:34px;flex:none}
.brand-tower{fill:var(--forest)}
.brand-side{fill:var(--accent)}
.brand-windows,.brand-side-windows{fill:var(--paper)}
.brand-record{fill:var(--copper)}
.brand-name>span{color:var(--copper)}
.top nav{display:flex;gap:clamp(12px,2vw,24px);align-items:center}
.top nav a{font-size:14px;text-decoration:none;color:var(--muted);white-space:nowrap}
.top nav .nav-action{padding:9px 12px;border:1px solid var(--line);color:var(--ink)}

.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);min-height:560px;border-bottom:1px solid var(--line)}
.hero-main{display:flex;flex-direction:column;justify-content:center;padding:clamp(52px,9vw,132px) clamp(18px,5vw,72px)}
.kicker{color:var(--muted);font-size:14px}
.hero h1{max-width:850px;margin:18px 0 24px;font-family:var(--font-heading);font-size:clamp(54px,9vw,124px);font-weight:400;line-height:.88;letter-spacing:normal}
.hero-lede{max-width:660px;color:var(--muted);font-size:clamp(17px,2vw,22px)}
.dossier-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:52px;border-top:1px solid var(--line)}
.dossier-meta div{min-width:0;padding:14px 16px 0 0}
.dossier-meta div+div{padding-left:16px;border-left:1px solid var(--line)}
.dossier-meta span{display:block;color:var(--muted);font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal}
.dossier-meta strong{display:block;margin-top:5px;font-size:14px;overflow-wrap:anywhere}
.hero-aside{display:flex;flex-direction:column;justify-content:flex-end;padding:40px;background:var(--accent-soft);color:var(--ink)}
.hero-aside strong{font-family:var(--font-heading);font-size:60px;font-weight:400}
.hero-aside p{color:var(--muted)}
.freshness{font-size:14px;color:var(--muted)}

.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(18px,5vw,64px)}
.section{padding-top:76px;padding-bottom:76px;border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:38px}
.section-head h2{margin:0;font-family:var(--font-heading);font-size:clamp(34px,5vw,64px);font-weight:400;letter-spacing:normal}
.section-head p{max-width:620px;color:var(--muted)}

.fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.fact{min-width:0;padding:22px 22px 22px 0;border-bottom:1px solid var(--line)}
.fact+.fact{padding-left:22px;border-left:1px solid var(--line)}
.fact span{display:block;color:var(--muted);font-size:14px;text-transform:none;letter-spacing:normal}
.fact strong{display:block;margin-top:8px;font-family:var(--font-heading);font-size:23px;font-weight:400;overflow-wrap:anywhere}
.facts-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.catalog-fact{display:grid;align-content:start;min-height:170px;padding:26px;border:1px solid var(--line);background:var(--surface)}
.catalog-fact>span{color:var(--muted);font-size:14px;font-weight:600;text-transform:none;letter-spacing:normal}
.catalog-fact>strong{display:block;margin-top:10px;font-family:var(--font-heading);font-size:28px;font-weight:400;line-height:1.15}
.fact-source{display:block;margin-top:18px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}

.unknowns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.unknown{padding:28px;background:var(--paper)}
.unknown b{display:block;color:var(--unknown);font-size:14px;text-transform:none;letter-spacing:normal}
.unknown h3{font-family:var(--font-heading);font-size:22px;font-weight:400}
.unknown p{color:var(--muted);font-size:14px}
.unknown[data-state="known"] b{color:var(--signal)}

.source-ledger{border-top:1px solid var(--ink)}
.source{display:grid;grid-template-columns:170px 1fr auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}
.source-type{color:var(--copper);font-size:14px}
.source h3{margin:0;font-family:var(--font-heading);font-size:20px;font-weight:400}
.source p{margin:3px 0 0;color:var(--muted);font-size:14px}
.source .open{color:var(--signal);font-size:14px}
.blocked{display:grid;grid-template-columns:170px 1fr;gap:24px;margin-top:22px;padding:22px;border:1px dashed var(--line);color:var(--muted)}

.faq{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.faq article{padding:28px 30px 28px 0;border-bottom:1px solid var(--line)}
.faq article:nth-child(even){padding-left:30px;border-left:1px solid var(--line)}
.faq h3{font-family:var(--font-heading);font-size:22px;font-weight:400}
.faq p{color:var(--muted)}

.machine{background:var(--accent-soft);color:var(--ink)}
.machine .section-head p{color:var(--muted)}
.machine a{color:var(--muted)}
.footer{display:flex;justify-content:space-between;gap:30px;padding:34px clamp(18px,5vw,72px);font-size:14px;line-height:1.6;color:var(--muted)}
.footer-about{max-width:760px;min-width:0}
.footer-about p{margin:0 0 8px}
.footer-about p:last-child{margin:0}
.footer>span,.footer>a{flex-shrink:0;max-width:100%;overflow-wrap:anywhere}

.home-hero{min-height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);background:var(--accent-soft);color:var(--ink);border-bottom:1px solid var(--line)}
.home-pitch{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,8vw,112px) clamp(20px,6vw,88px)}
.home-hero .kicker{color:var(--muted);font-size:14px}
.home-hero h1{max-width:720px;margin:18px 0 22px;font-family:var(--font-heading);font-size:clamp(44px,6.2vw,82px);font-weight:400;line-height:.96;letter-spacing:normal}
.nowrap{white-space:nowrap}
.home-hero p{max-width:680px;margin:0;color:var(--muted);font-size:clamp(17px,1.8vw,21px)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px}
.action{display:inline-flex;align-items:center;min-height:50px;padding:0 20px;border:1px solid var(--line);text-decoration:none;font-size:14px;font-weight:600}
.action.primary{background:var(--surface);color:var(--ink)}
.action.secondary{color:var(--ink)}
.guide-link{margin-top:18px;color:var(--muted);font-size:14px;text-underline-offset:4px}
.privacy-note{margin-top:28px;color:var(--muted);font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal}
.evidence-preview{align-self:center;min-width:0;margin:36px clamp(20px,3vw,44px) 36px 0;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:none}
.preview-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px;border-bottom:1px solid var(--line);font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal}
.preview-head b{color:var(--signal)}
.preview-title{padding:24px 20px 18px;border-bottom:1px solid var(--line)}
.preview-title h2{margin:4px 0 2px;font-family:var(--font-heading);font-size:36px;font-weight:400}
.preview-title p{color:var(--muted);font-size:14px}
.offer-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;margin:18px 0 4px}
.offer-pair strong{min-width:0;padding:11px;border:1px solid var(--line);background:var(--surface);text-align:center;overflow-wrap:anywhere}
.offer-pair span{color:var(--copper);font-size:18px}
.evidence-row{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);gap:18px;padding:14px 20px;border-bottom:1px solid var(--line)}
.evidence-row span{color:var(--muted);font-size:14px;text-transform:none;letter-spacing:normal}
.evidence-row strong{min-width:0;font-size:14px;font-weight:650;overflow-wrap:anywhere}
.preview-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:18px 20px}
.preview-foot a{color:var(--signal);font-size:14px;font-weight:600;text-decoration:none}
.preview-foot small{color:var(--muted);font-size:14px}
.flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.flow-step{padding:26px 24px 26px 0}
.flow-step+.flow-step{padding-left:24px;border-left:1px solid var(--line)}
.flow-step b{color:var(--copper);font-family:var(--font-body);font-size:14px}
.flow-step h3{font-family:var(--font-heading);font-size:24px;font-weight:400}
.flow-step p{color:var(--muted);font-size:14px}
.boundary-banner{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:56px clamp(18px,5vw,64px);background:var(--paper2)}
.boundary-banner h2{margin:0;font-family:var(--font-heading);font-size:clamp(38px,5vw,64px);font-weight:400}
.boundary-banner p{max-width:620px;color:var(--muted)}
.recommendable{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,100px);padding:clamp(64px,8vw,104px) clamp(18px,6vw,88px);background:var(--surface)}
.recommendable h2{margin:10px 0 16px;font-family:var(--font-heading);font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1;letter-spacing:normal}
.recommendable p{max-width:650px;color:var(--muted)}
.recommendable-grid{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.recommendable-card{min-width:0;padding:24px 24px 24px 0;overflow-wrap:anywhere;border-bottom:1px solid var(--line)}
.recommendable-card:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}
.recommendable-card strong{display:block;font-family:var(--font-heading);font-size:22px;font-weight:400}
.recommendable-card span{display:block;margin-top:6px;color:var(--muted);font-size:14px}
.index-row{display:grid;grid-template-columns:160px 1fr auto;gap:28px;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none}
.index-row h2{margin:0;font-family:var(--font-heading);font-size:34px;font-weight:400}
.index-row p{margin:5px 0;color:var(--muted)}
.index-meta{display:block;margin-top:10px;color:var(--signal);font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal;line-height:1.5}
.project-search{display:grid;gap:9px;margin-bottom:28px;padding:22px;background:var(--paper2);border:1px solid var(--line)}
.project-search label{font-size:14px;font-weight:600}
.project-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.project-search input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}
.project-search output{color:var(--muted);font-size:14px;white-space:nowrap}
.project-search-empty{padding:28px;border:1px dashed var(--line);color:var(--muted);text-align:center}
[hidden]{display:none!important}

.guide-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(38px,5vw,68px) clamp(18px,6vw,88px);background:var(--accent-soft);color:var(--ink)}
.guide-hero-copy{min-width:0}
.guide-hero h1{max-width:850px;margin:13px 0 18px;font-family:var(--font-heading);font-size:clamp(40px,5.2vw,76px);font-weight:400;line-height:.96;letter-spacing:normal}
.guide-hero p{max-width:720px;margin:0;color:var(--muted);font-size:18px}
.guide-meta{display:flex;flex-wrap:wrap;gap:14px 20px;margin-top:20px;color:var(--muted);font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal}
.guide-overview{min-width:0;padding:16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:none}
.guide-overview-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 3px 13px;border-bottom:1px solid var(--line);font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal}
.guide-overview-head a{color:var(--signal);font-weight:600;text-decoration:none}
.guide-overview-grid{display:grid;grid-template-columns:1fr 1fr}
.guide-overview-grid>a{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:10px 8px;border-bottom:1px solid var(--line);text-decoration:none}
.guide-overview-grid>a:nth-child(odd){border-right:1px solid var(--line)}
.guide-overview-grid>a:last-child{border-bottom:0}
.guide-overview-grid .step-icon{width:34px;height:34px;border-radius:var(--radius)}
.guide-overview-grid .step-icon svg{width:20px;height:20px}
.guide-overview-grid span:last-child{min-width:0;color:var(--ink);font-size:14px;line-height:1.25}
.guide-overview-grid b{display:block;margin-bottom:2px;color:var(--copper);font-family:var(--font-body);font-size:14px}
.guide-step{display:grid;grid-template-columns:100px minmax(0,1fr);gap:28px;padding:38px 0;border-top:1px solid var(--line)}
.guide-step .step-number{color:var(--copper);font-family:var(--font-heading);font-size:42px}
.guide-step h2{margin:0 0 12px;font-family:var(--font-heading);font-size:34px;font-weight:400}
.guide-step p{max-width:780px;color:var(--muted);font-size:16px}
.citation-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.citation-links a{padding:7px 10px;border:1px solid var(--line);text-decoration:none;color:var(--signal);font-size:14px}
.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.collection-card{padding:28px;background:var(--paper)}
.collection-card b{color:var(--copper);font-family:var(--font-body);font-size:14px}
.collection-card h3{font-family:var(--font-heading);font-size:24px;font-weight:400}
.collection-card p{color:var(--muted);font-size:14px}
.state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.state-card{padding:30px;background:var(--paper)}
.state-card h3{font-family:var(--font-heading);font-size:26px;font-weight:400}
.state-card p{color:var(--muted)}
.limitation-list{border-top:1px solid var(--ink)}
.limitation{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:36px;padding:24px 0;border-bottom:1px solid var(--line)}
.limitation h3{margin:0;font-family:var(--font-heading);font-size:23px;font-weight:400}
.limitation p{margin:0;color:var(--muted)}
.guide-callout{margin:46px 0;padding:30px;border-left:4px solid var(--copper);background:var(--paper2)}

.guide-more-list{border-top:1px solid var(--ink)}
.guide-more{border-bottom:1px solid var(--line)}
.guide-more summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:24px 4px;cursor:pointer;list-style:none}
.guide-more summary::-webkit-details-marker{display:none}
.guide-more summary::after{grid-column:3;color:var(--signal);font-size:22px;content:'+'}
.guide-more[open] summary::after{content:'−'}
.guide-more summary span{font-family:var(--font-heading);font-size:24px}
.guide-more summary small{color:var(--muted);font-size:14px}
.guide-more-content{padding:0 4px 30px}
.guide-more-content>p{max-width:720px;color:var(--muted)}
.real-example-link{display:grid;gap:4px;margin:22px 0;padding:24px 28px;border-radius:var(--radius);background:var(--accent-soft);color:var(--ink);text-decoration:none}
.real-example-link span{color:var(--muted);font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal}
.real-example-link strong{font-family:var(--font-heading);font-size:26px;font-weight:400}
.real-example-link small{color:var(--muted)}
.step-marker{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.step-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:var(--radius);background:var(--accent-soft);color:var(--forest)}
.step-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.guide-example{max-width:780px;margin-top:22px;padding:20px 22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:none}
.guide-example>span{display:block;margin-bottom:5px;color:var(--copper);font-size:14px;font-weight:600;text-transform:none;letter-spacing:normal}
.guide-example strong{display:block;font-family:var(--font-heading);font-size:21px;font-weight:400}
.guide-example p{margin:8px 0 0;color:var(--muted);font-size:14px}
.construction-history{background:var(--surface)}
.timeline-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:44px}
.timeline-track::before{position:absolute;top:14px;right:0;left:0;height:2px;background:var(--surface);content:""}
.timeline-point{position:relative;min-width:0;padding:44px 28px 24px 0}
.timeline-point+.timeline-point{padding-left:22px}
.timeline-dot{position:absolute;top:7px;left:0;width:16px;height:16px;border:4px solid var(--line);border-radius:50%;background:var(--accent);box-shadow:none}
.timeline-point+ .timeline-point .timeline-dot{left:22px}
.timeline-point time,.timeline-point small{display:block;color:var(--muted);font-size:14px}
.timeline-point strong{display:block;margin:7px 0;font-size:31px;letter-spacing:normal}
.timeline-point p{min-height:88px;margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.55}
.timeline-point a{color:var(--accent);font-size:14px;font-weight:600;text-decoration:none}
.timeline-point small{margin-bottom:8px}

.updates-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(36px,6vw,90px);align-items:center;padding:clamp(64px,8vw,112px) clamp(20px,7vw,104px);background:var(--accent-soft);color:var(--ink)}
.updates-hero-copy{min-width:0}
.updates-hero h1{max-width:760px;margin:14px 0 18px;font-family:var(--font-heading);font-size:clamp(52px,7vw,94px);font-weight:400;line-height:.92;letter-spacing:normal}
.updates-hero p{max-width:690px;margin:0;color:var(--muted);font-size:clamp(17px,1.8vw,21px)}
.updates-meta{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:27px;color:var(--muted);font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal}
.updates-latest{display:grid;gap:7px;padding:28px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:none}
.updates-latest>span{color:var(--copper);font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal}
.updates-latest strong{font-family:var(--font-heading);font-size:36px;font-weight:400}
.updates-latest b{font-size:28px}
.updates-latest small{color:var(--muted)}
.updates-latest a{margin-top:10px;color:var(--signal);font-weight:600;text-decoration:none}
.updates-card{padding:clamp(24px,4vw,48px);border:1px solid var(--line);background:var(--surface)}
.updates-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end}
.updates-card-head h2{margin:8px 0 4px;font-family:var(--font-heading);font-size:clamp(38px,5vw,60px);font-weight:400;letter-spacing:normal}
.updates-card-head p{margin:0;color:var(--muted)}
.updates-change{display:grid;justify-items:end;gap:3px;text-align:right}
.updates-change span{font-family:var(--font-heading);font-size:30px}
.updates-change strong{color:var(--signal);font-size:14px}
.updates-change small{color:var(--muted);font-size:14px}
.updates-timeline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:46px}
.updates-timeline::before{position:absolute;top:8px;right:0;left:0;height:2px;background:var(--surface);content:''}
.updates-timeline-point{position:relative;min-width:0;padding:36px 28px 18px 0}
.updates-timeline-point+.updates-timeline-point{padding-left:20px}
.updates-dot{position:absolute;top:1px;left:0;width:16px;height:16px;border:4px solid var(--line);border-radius:50%;background:var(--accent);box-shadow:none}
.updates-timeline-point+.updates-timeline-point .updates-dot{left:20px}
.updates-timeline-point time{display:block;color:var(--muted);font-size:14px}
.updates-timeline-point strong{display:block;margin:5px 0;font-size:28px}
.updates-timeline-point p{min-height:88px;margin:0 0 11px;color:var(--muted);font-size:14px}
.updates-timeline-point a{color:var(--signal);font-size:14px;font-weight:600;text-decoration:none}
.updates-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.updates-actions .action.primary,.updates-return .action.primary{background:var(--accent-soft);color:var(--ink)}
.updates-actions .action.secondary{border-color:var(--line);color:var(--signal)}
.updates-return{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;padding:clamp(52px,7vw,90px) clamp(20px,7vw,104px);background:var(--paper2)}
.updates-return h2{margin:8px 0 10px;font-family:var(--font-heading);font-size:clamp(36px,5vw,62px);font-weight:400;letter-spacing:normal}
.updates-return p{max-width:740px;margin:0;color:var(--muted)}
.project-hero,.project-section,.project-hero *,.project-section *{font-family:var(--font-body)}
.project-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:650px;background:var(--surface);color:var(--ink)}
.project-hero-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(64px,9vw,132px) clamp(22px,7vw,104px)}
.project-eyebrow,.simple-heading>span{color:var(--muted);font-size:14px;font-weight:600;letter-spacing:normal}
.project-hero h1{margin:13px 0 18px;font-size:clamp(56px,7vw,88px);font-weight:650;line-height:.96;letter-spacing:normal}
.project-location{max-width:700px;margin:0;color:var(--muted);font-size:clamp(18px,2vw,23px);line-height:1.42;letter-spacing:normal}
.status-pill{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;margin-top:28px;padding:10px 15px;border-radius:999px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;box-shadow:none}
.status-pill span{width:9px;height:9px;border-radius:50%;background:var(--warning)}
.project-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:25px}
.project-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:500}
.project-button.primary{background:var(--accent);color:var(--ink)}
.project-button.secondary{color:var(--accent)}
.review-date{margin:20px 0 0;color:var(--muted);font-size:14px}
.project-visual{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;overflow:hidden;min-height:500px;padding:50px 32px;background:var(--accent-soft);color:var(--ink)}
.progress-ring{position:relative;display:grid;width:min(260px,66%);aspect-ratio:1;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) var(--progress),var(--line) 0)}
.progress-ring::before{position:absolute;inset:19px;border-radius:50%;background:var(--accent-soft);content:""}
.progress-ring div{position:relative;z-index:1;display:grid;justify-items:center}
.progress-ring strong{font-size:clamp(52px,6vw,78px);font-weight:650;line-height:1;letter-spacing:normal}
.progress-ring span{margin-top:9px;color:var(--muted);font-size:14px}
.hero-facts{display:grid;width:min(380px,100%);grid-template-columns:1fr 1fr;gap:18px;padding-top:23px;border-top:1px solid var(--line)}
.hero-facts span{display:block;color:var(--muted);font-size:14px}
.hero-facts strong{display:block;margin-top:6px;font-size:19px;line-height:1.2}
.hero-facts p{grid-column:1/-1;margin:0;color:var(--muted);font-size:14px}
.project-section{padding:clamp(72px,9vw,124px) 0;background:var(--surface);color:var(--ink)}
.project-section.project-summary{background:var(--surface)}
.project-section.project-confirm,.project-section.project-questions{background:var(--surface)}
.question-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.question-template{min-width:0;padding:26px;border-radius:var(--radius);background:var(--surface)}
.question-template span{color:var(--accent);font-size:14px;font-weight:600}
.question-template p{margin:15px 0 0;color:var(--ink);font-size:17px;line-height:1.5}
.project-wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}
.simple-heading{max-width:720px;margin-bottom:42px}
.simple-heading h2{margin:8px 0 12px;font-size:clamp(38px,5vw,64px);font-weight:650;line-height:1.03;letter-spacing:normal}
.simple-heading p{margin:0;color:var(--muted);font-size:18px;line-height:1.5}
.answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.answer-card{min-width:0;padding:28px;border-radius:var(--radius);background:var(--surface)}
.answer-card>span{display:block;color:var(--muted);font-size:14px}
.answer-card>strong{display:block;margin-top:9px;font-size:clamp(22px,2.4vw,32px);font-weight:620;line-height:1.12;letter-spacing:normal;overflow-wrap:anywhere}
.answer-card>p{margin:13px 0 0;color:var(--muted);font-size:14px;line-height:1.45}
.answer-card[data-state="missing"]>strong{color:var(--warning)}
.status-answer>strong{color:var(--warning)}
.construction-answer>strong{color:var(--accent)}
.meaning-card{margin-top:16px;padding:clamp(30px,5vw,58px);border-radius:var(--radius);background:var(--accent-soft);color:var(--ink)}
.meaning-card>span{color:var(--muted);font-size:14px;font-weight:600}
.meaning-card h3{max-width:780px;margin:11px 0 12px;font-size:clamp(28px,4vw,48px);font-weight:600;line-height:1.08;letter-spacing:normal}
.meaning-card p{max-width:760px;margin:0;color:var(--muted);font-size:17px;line-height:1.52}
.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.resource-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:84px;padding:16px 18px;border-radius:var(--radius);background:var(--surface);text-decoration:none}
.resource-card strong{display:block;font-size:15px;font-weight:600}
.resource-card small{display:block;margin-top:4px;color:var(--muted);font-size:14px}
.resource-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--surface);color:var(--accent)}
.resource-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.resource-icon .fill{fill:currentColor;stroke:none}
.resource-arrow{color:var(--accent);font-size:20px}
.checking-details{margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.checking-details summary{padding:21px 2px;cursor:pointer;color:var(--accent);font-size:17px;font-weight:500}
.checking-copy{max-width:760px;padding:0 0 25px;color:var(--muted)}
.checking-copy p{margin:0 0 13px}
.checking-copy a{color:var(--accent)}
.project-questions .faq{border-top-color:#d2d2d7}
.project-questions .faq article{border-bottom-color:#d2d2d7}
.project-questions .faq h3{font-family:var(--font-body);font-size:21px;font-weight:600;letter-spacing:normal}
.project-questions .faq p{color:var(--muted)}

.bua-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(34px,6vw,92px);align-items:center;padding:clamp(60px,8vw,108px) clamp(20px,7vw,104px);background:var(--sand);border-bottom:1px solid var(--line)}
.bua-hero-copy{min-width:0}
.bua-hero h1{max-width:820px;margin:14px 0 20px;font-family:var(--font-heading);font-size:clamp(48px,6.7vw,92px);font-weight:400;line-height:.92;letter-spacing:normal}
.bua-hero p{max-width:700px;color:var(--muted);font-size:clamp(17px,1.7vw,21px)}
.bua-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.bua-hero-actions .primary{background:var(--accent-soft);color:var(--ink)}
.bua-stack-card{min-width:0;padding:24px;border:1px solid var(--line);background:var(--surface);box-shadow:none}
.bua-stack-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.bua-stack-head strong{font-family:var(--font-heading);font-size:28px;font-weight:400}
.bua-stack-head span{color:var(--muted);font-size:14px}
.bua-area-stack{display:grid;height:270px;border:1px solid var(--ink);overflow:hidden}
.bua-area-segment{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:0;padding:10px 16px;border-bottom:1px solid var(--line)}
.bua-area-segment:last-child{border-bottom:0}
.bua-area-segment:nth-child(1){background:var(--area-usable)}
.bua-area-segment:nth-child(2){background:var(--sand)}
.bua-area-segment:nth-child(3){background:var(--area-wall)}
.bua-area-segment span{font-size:14px;font-weight:600}
.bua-area-segment b{font-family:var(--font-body);font-size:14px}
.bua-stack-note{margin:14px 0 0;color:var(--muted);font-size:14px}
.bua-term-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.bua-term{min-width:0;padding:26px;background:var(--surface)}
.bua-term b{color:var(--copper);font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal}
.bua-term h3{margin:8px 0;font-family:var(--font-heading);font-size:23px;font-weight:400}
.bua-term p{margin:0;color:var(--muted);font-size:14px}
.bua-visual-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:clamp(30px,5vw,72px);align-items:center}
.bua-floor-card{padding:clamp(18px,3vw,34px);border-radius:var(--radius);background:var(--surface);box-shadow:none}
.bua-floor-plan{display:block;width:100%;height:auto}
.bua-floor-plan .outline{fill:#f7f4ed;stroke:#10231f;stroke-width:4}
.bua-floor-plan .usable{fill:#bcd8cb;stroke:#10231f;stroke-width:2}
.bua-floor-plan .balcony{fill:#f0c978;stroke:#10231f;stroke-width:2}
.bua-floor-plan .wall{fill:#d8c8df;stroke:#10231f;stroke-width:2}
.bua-floor-plan .shared{fill:#dfe8ec;stroke:#10231f;stroke-width:2;stroke-dasharray:8 6}
.bua-floor-plan text{fill:#10231f;font-family:var(--font-body);font-size:16px;font-weight:600}
.bua-floor-plan .small{font-size:14px;font-weight:500}
.bua-legend{display:grid;gap:12px}
.bua-legend article{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:start}
.bua-legend i{width:18px;height:18px;border:1px solid var(--ink);border-radius:var(--radius)}
.bua-legend article:nth-child(1) i{background:var(--area-usable)}
.bua-legend article:nth-child(2) i{background:var(--sand)}
.bua-legend article:nth-child(3) i{background:var(--area-wall)}
.bua-legend article:nth-child(4) i{background:var(--area-shared)}
.bua-legend strong{display:block}
.bua-legend p{margin:2px 0 0;color:var(--muted);font-size:14px}
.bua-calculator{padding:clamp(26px,5vw,56px);border-radius:var(--radius);background:var(--accent-soft);color:var(--ink)}
.bua-input-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.bua-input-grid label{display:grid;gap:7px;color:var(--muted);font-size:14px}
.bua-input-grid input{min-width:0;width:100%;min-height:50px;padding:10px 13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit}
.bua-output-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:20px;background:var(--surface);border:1px solid var(--line)}
.bua-output{padding:24px;background:var(--surface);color:var(--ink)}
.bua-output span{display:block;color:var(--muted);font-size:14px;text-transform:none;letter-spacing:normal}
.bua-output output{display:block;margin-top:7px;font-family:var(--font-heading);font-size:clamp(28px,4vw,44px)}
.bua-difference{grid-column:1/-1;margin:0;padding:16px 20px;background:var(--sand);color:var(--ink);font-weight:600}
.bua-private{display:block;margin-top:13px;color:var(--muted);font-size:14px}
.bua-field-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ink)}
.bua-field{min-width:0;padding:22px 18px 22px 0;border-bottom:1px solid var(--line)}
.bua-field+.bua-field{padding-left:18px;border-left:1px solid var(--line)}
.bua-field span{color:var(--copper);font-family:var(--font-body);font-size:14px}
.bua-field strong{display:block;margin-top:7px;font-size:14px;overflow-wrap:anywhere}
.bua-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bua-question{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.bua-question:nth-child(5){grid-column:1/-1}
.bua-question b{color:var(--copper);font-family:var(--font-body);font-size:14px}
.bua-question h3{margin:8px 0 6px;font-family:var(--font-heading);font-size:23px;font-weight:400}
.bua-question p{margin:0;color:var(--muted)}
.bua-next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bua-next{display:grid;gap:5px;padding:22px;border:1px solid var(--line);background:var(--surface);text-decoration:none}
.bua-next span{color:var(--copper);font-family:var(--font-body);font-size:14px;text-transform:none}
.bua-next strong{font-family:var(--font-heading);font-size:21px;font-weight:400}
.bua-next small{color:var(--signal)}

@media(max-width:900px){.bua-hero,.bua-visual-pair{grid-template-columns:1fr}
.bua-term-grid{grid-template-columns:1fr 1fr}
.bua-field-grid{grid-template-columns:1fr 1fr}
.bua-field:nth-child(odd){padding-left:0;border-left:0}
.bua-next-grid{grid-template-columns:1fr}
.recommendable{grid-template-columns:1fr}
.updates-hero{grid-template-columns:1fr}
.updates-timeline{grid-template-columns:1fr 1fr}
.updates-return{grid-template-columns:1fr}
.project-hero{grid-template-columns:1fr}
.project-hero-copy{padding:70px 20px 48px}
.project-visual{min-height:390px}
.answer-grid{grid-template-columns:1fr 1fr}
.question-template-grid{grid-template-columns:1fr}
.resource-grid{grid-template-columns:1fr}
.timeline-track{grid-template-columns:1fr 1fr}
}

@media(max-width:560px){.bua-hero{padding:48px 18px}
.bua-hero h1{font-size:50px}
.bua-stack-card{padding:16px;box-shadow:none}
.bua-area-stack{height:250px}
.bua-term-grid,.bua-input-grid,.bua-output-grid,.bua-field-grid,.bua-question-grid{grid-template-columns:1fr}
.bua-output-grid{gap:0}
.bua-output+.bua-output{border-top:1px solid var(--line)}
.bua-difference,.bua-question:nth-child(5){grid-column:auto}
.bua-field,.bua-field+.bua-field{padding:18px 0;border-left:0}
}

@media(max-width:560px){.recommendable-grid{grid-template-columns:1fr}
.recommendable-card:nth-child(even){padding-left:0;border-left:0}
.updates-hero{padding:52px 20px}
.updates-hero h1{font-size:58px}
.updates-card-head{grid-template-columns:1fr}
.updates-change{justify-items:start;text-align:left}
.updates-timeline{grid-template-columns:1fr;margin-top:26px}
.updates-timeline::before{top:0;bottom:0;left:7px;width:2px;height:auto}
.updates-timeline-point,.updates-timeline-point+.updates-timeline-point{padding:8px 0 28px 40px}
.updates-timeline-point p{min-height:0}
.updates-dot,.updates-timeline-point+.updates-timeline-point .updates-dot{top:9px;left:0}
.updates-actions .action,.updates-return .action{width:100%}
.guide-hero h1{font-size:44px}
.guide-overview-grid{grid-template-columns:1fr}
.guide-overview-grid>a:nth-child(odd){border-right:0}
.guide-overview-grid>a:last-child{border-bottom:0}
.project-hero h1{font-size:56px}
.project-visual{min-height:430px;padding:42px 20px}
.progress-ring{width:220px}
.answer-grid{grid-template-columns:1fr}
.answer-card{padding:23px}
.project-wrap{width:min(100% - 32px,1120px)}
.project-button{width:100%}
.project-button.secondary{min-height:34px}
.resource-card{grid-template-columns:42px minmax(0,1fr) auto}
.project-questions .faq{grid-template-columns:1fr}
.project-questions .faq article:nth-child(even){padding-left:0;border-left:0}
.timeline-track{grid-template-columns:1fr;margin-top:20px}
.timeline-track::before{top:0;bottom:0;left:7px;width:2px;height:auto}
.timeline-point,.timeline-point+.timeline-point{padding:8px 0 30px 42px}
.timeline-dot,.timeline-point+ .timeline-point .timeline-dot{top:10px;left:0}
.timeline-point p{min-height:0}
}

@media(max-width:1050px){.top nav .nav-method{display:none}
.home-hero{grid-template-columns:minmax(0,1fr) minmax(340px,.72fr)}
.home-pitch{padding-left:clamp(20px,5vw,58px);padding-right:clamp(20px,4vw,42px)}
}

@media(max-width:850px){.top nav{display:none}
.guide-hero{grid-template-columns:1fr;padding:44px 20px}
.guide-overview{box-shadow:none}
.home-hero{grid-template-columns:1fr;min-height:auto}
.home-pitch{padding:68px 20px 38px}
.evidence-preview{margin:0 20px 48px;box-shadow:none}
.hero{grid-template-columns:1fr}
.hero-aside{min-height:260px}
.dossier-meta{grid-template-columns:1fr 1fr}
.section-head{grid-template-columns:1fr}
.fact-grid{grid-template-columns:1fr 1fr}
.facts-list{grid-template-columns:1fr}
.fact:nth-child(3){padding-left:0;border-left:0}
.unknowns{grid-template-columns:1fr}
.source{grid-template-columns:1fr}
.source .open{justify-self:start}
.blocked{grid-template-columns:1fr}
.faq{grid-template-columns:1fr}
.faq article:nth-child(even){padding-left:0;border-left:0}
.index-row{grid-template-columns:1fr}
.flow-grid{grid-template-columns:1fr}
.flow-step+.flow-step{padding-left:0;border-left:0;border-top:1px solid var(--line)}
.boundary-banner{grid-template-columns:1fr}
.guide-step{grid-template-columns:1fr}
.step-marker{flex-direction:row;align-items:center}
.collection-grid{grid-template-columns:1fr}
.state-grid{grid-template-columns:1fr}
.limitation{grid-template-columns:1fr}
.footer{display:grid}
}

.home-hero{min-height:0}
.home-pitch{padding:36px clamp(20px,5vw,64px)}
.home-hero h1{font-size:clamp(38px,4.5vw,58px);line-height:1.04;margin:12px 0 16px}
.home-hero p{font-size:18px}
.home-search{margin-top:22px;max-width:600px}
.home-search label{display:block;font-size:14px;margin-bottom:8px}
.home-search>div{display:flex;gap:8px;flex-wrap:wrap}
.home-search input{flex:1 1 180px;min-width:0;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);font:16px var(--font-heading)}
.home-search button{min-height:48px;padding:10px 16px;background:var(--sand);color:var(--ink);border:0;border-radius:var(--radius);font:600 15px var(--font-heading);cursor:pointer}
.home-tools>a{display:block;padding:16px 20px;text-decoration:none;border-bottom:1px solid var(--line)}
.home-tools h2{font:400 26px/1.2 var(--font-heading);margin:0 0 6px}
.home-tools p{font-size:14px;color:var(--muted)}
.hero-facts a{color:var(--accent)}
.home-pitch .privacy-note{margin-top:18px}

.directory-hero{display:block;padding:28px clamp(20px,5vw,64px)}
.directory-hero h1{font-size:clamp(32px,5vw,52px);margin:8px 0;max-width:100%}
.directory-hero p{font-size:16px;max-width:760px}
.directory-hero+.section{padding-top:24px}
.directory-hero+.section .section-head{margin-bottom:18px;gap:12px}
.directory-hero+.section .section-head h2{font-size:28px}


/* Editorial typography and shared components. */
html { scroll-padding-top: 100px; }
body {
  background: var(--background);
  color: var(--ink);
  font: 400 var(--text-body)/var(--leading) var(--font-body);
}
body h1, body [class] h1, body [class] [class] h1 {
  max-width: 24ch;
  margin-block: var(--space-4) var(--space-5);
  font: 600 var(--text-h1)/1.15 var(--font-heading);
  letter-spacing: -0.025em;
  text-wrap: balance;
}
body h2, body [class] h2, body [class] [class] h2 {
  font: 600 var(--text-h2)/1.25 var(--font-heading);
  letter-spacing: -0.015em;
  text-wrap: balance;
}
body h3, body [class] h3, body [class] [class] h3 {
  font: 600 var(--text-h3)/1.35 var(--font-heading);
  letter-spacing: normal;
}
p { margin-block: 0 var(--space-5); }
a { color: var(--accent); text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
img, svg { max-width: 100%; }
.wrap { max-width: 1200px; padding-inline: var(--space-6); }
.section, .project-section { padding-block: var(--space-7); }
.section-head { gap: var(--space-6); margin-bottom: var(--space-6); }
.section-head p, .simple-heading p { font-size: 1rem; line-height: var(--leading); }
.section-head h2, .simple-heading h2 { max-width: 28ch; }
.kicker, .mono, .source-type, .freshness, .privacy-note {
  font-family: var(--font-body);
  color: var(--muted);
  text-transform: none;
  letter-spacing: normal;
  font-size: var(--text-small);
}
.topic-tag { font: 600 0.75rem/1.5 var(--font-body); letter-spacing: 0.06em; text-transform: uppercase; }
.home-hero, .guide-hero, .updates-hero, .bua-hero, .project-hero, .directory-hero {
  min-height: 0;
  background: var(--background);
  color: var(--ink);
  border-color: var(--line);
}
.home-pitch, .hero-main, .project-hero-copy { padding: var(--space-7) var(--space-6); }
.guide-hero, .updates-hero, .bua-hero, .directory-hero { padding: var(--space-7) var(--space-6); }
.hero { min-height: 0; }
.home-hero p, .guide-hero p, .updates-hero p, .bua-hero p, .hero-lede { color: var(--muted); line-height: var(--leading); }
.home-hero .kicker { color: var(--muted); }
.home-hero .privacy-note { color: var(--muted); }
.hero-aside, .project-visual { min-height: 0; background: var(--sand); color: var(--ink); padding: var(--space-6); }
.hero-aside p, .hero-facts span, .hero-facts p, .progress-ring span { color: var(--muted); }
.hero-facts a { color: var(--accent); }
.project-visual { border-inline-start: 1px solid var(--line); }
.project-section { color: var(--ink); }
.progress-ring::before { background: var(--sand); }
.progress-ring strong { font-size: 3rem; }
.evidence-preview, .guide-overview, .updates-latest, .bua-stack-card, .bua-floor-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: none;
}
.evidence-preview { margin: var(--space-6); }
.guide-overview-grid { background: transparent; }
.guide-example, .offer-pair strong { background: transparent; border: 0; box-shadow: none; padding-inline: 0; }
.guide-overview .guide-example { border-top: 1px solid var(--line); border-radius: 0; }
.home-tools h2 { font-size: var(--text-h3); }
.home-tools a:hover { background: var(--accent-soft); }
.home-search label, .project-search label { color: var(--ink); font-weight: 500; }
.home-search>div { gap: var(--space-2); }
.hero-actions { gap: var(--space-3); margin-top: var(--space-5); }
button, input, select, textarea { font-family: var(--font-body); }
button, .action, .project-button, .chip, .status-pill { border-radius: var(--radius); }
button, .action, .project-button {
  min-height: 44px;
  padding: var(--space-3) var(--space-5);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
}
button { background: var(--accent); border: 1px solid var(--accent); color: var(--on-accent); }
button:disabled { cursor: not-allowed; opacity: 0.6; }
.action.primary, .project-button.primary, .home-search button,
.bua-hero-actions .primary, .updates-actions .action.primary, .updates-return .action.primary {
  background: var(--accent);
  color: var(--on-accent);
  border: 1px solid var(--accent);
}
.action.secondary, .project-button.secondary { background: transparent; color: var(--accent); border: 1px solid var(--accent); }
.chip, .status-pill, .citation-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-chip);
  background: var(--accent-soft);
  color: var(--accent);
  font: 500 var(--text-small)/1.5 var(--font-body);
  box-shadow: none;
}
label { color: var(--ink); font-size: 1rem; line-height: 1.5; }
input, select, textarea, .home-search input, .project-search input, .bua-input-grid input {
  min-width: 0;
  max-width: 100%;
  min-height: 48px;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--input-line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  font: 400 1rem/1.5 var(--font-body);
}
input[type="checkbox"], input[type="radio"] { min-height: auto; width: auto; accent-color: var(--accent); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
.card, .catalog-fact, .answer-card, .question-template, .collection-card, .state-card, .bua-question, .bua-next, .updates-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: none;
}
.raised-card { box-shadow: var(--shadow-raised); }
.collection-grid, .state-grid, .unknowns, .bua-term-grid {
  gap: var(--space-4);
  border: 0;
  background: transparent;
}
.card .card, .card .answer-card, .answer-card .card, .collection-card .card {
  padding-inline: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.boundary-banner, .machine, .updates-return, .project-section.project-confirm, .project-section.project-questions {
  background: var(--sand);
  color: var(--ink);
  padding-block: var(--space-7);
}
.machine .section-head p { color: var(--muted); }
.machine a { color: var(--accent); }
.real-example-link, .meaning-card { background: var(--accent-soft); color: var(--ink); }
.real-example-link span, .real-example-link small, .meaning-card>span, .meaning-card p { color: var(--muted); }
.guide-callout, blockquote, .callout, .watch-out {
  margin: var(--space-6) 0;
  padding: var(--space-5);
  border: 0;
  border-inline-start: 3px solid var(--warning);
  border-radius: var(--radius);
  background: var(--warning-soft);
  color: var(--ink);
}
.watch-out h3, .watch-out strong { color: var(--warning); }
.questions-to-ask, .question-panel {
  padding: var(--space-5);
  border-inline-start: 3px solid var(--accent);
  border-radius: var(--radius);
  background: var(--accent-soft);
}
.answer-box { margin-block: var(--space-6); padding: var(--space-5); border-radius: var(--radius); background: var(--accent-soft); color: var(--ink); }
.breadcrumbs, nav[aria-label="Breadcrumb"], nav[aria-label="Breadcrumbs"] { color: var(--muted); font-size: var(--text-small); margin-bottom: var(--space-5); }
table, .restored-article table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  border-spacing: 0;
  margin-block: var(--space-5);
  font-size: 1rem;
  background: var(--surface);
}
th, td, .restored-article th, .restored-article td { padding: var(--space-3) var(--space-4); border: 0; border-bottom: 1px solid var(--line); text-align: start; vertical-align: top; }
th { font-weight: 600; background: var(--sand); }
tbody tr:nth-child(even) { background: var(--background); }
.restored-article { width: 100%; max-width: min(680px, 68ch); font-size: 18px; line-height: 1.65; overflow-wrap: anywhere; }
.restored-article>h1 { max-width: 24ch; }
.restored-article h2 { margin-block: var(--space-7) var(--space-4); }
.restored-article h3 { margin-block: var(--space-6) var(--space-3); }
.restored-article li { margin-block: var(--space-2); }
.restored-article figure { margin-block: var(--space-6); margin-inline: 0; }
figcaption, .fact-source, .source p { color: var(--muted); font-size: var(--text-small); }
.restored-article section[aria-label="Sources"] { font-size: var(--text-small); color: var(--muted); }
.restored-article section[aria-label="Sources"] li { padding-block: var(--space-2); }
.restored-article section[aria-label="Sources"] p { margin-block: var(--space-2); }
[data-article-links], [data-article-related] { margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid var(--line); }
[data-hub-index] { max-width: 960px; }
[data-hub-index]>p { padding-block: var(--space-5); border-block: 1px solid var(--line); }
[data-hub-index] li { padding-block: var(--space-3); }
[data-article-tool] { max-width: 1200px; margin: var(--space-6) auto; padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
[data-article-tool] .section { padding-block: var(--space-6); }
.bua-calculator { border: 1px solid var(--line); border-radius: var(--radius); padding: var(--space-6); background: var(--surface); color: var(--ink); }
.bua-input-grid label { color: var(--ink); font-size: 1rem; }
.bua-output-grid { gap: var(--space-4); border: 0; background: transparent; }
.bua-output { border-radius: var(--radius); background: var(--accent-soft); }
.bua-difference { border-radius: var(--radius); background: var(--sand); }
.bua-private { color: var(--muted); font-size: var(--text-small); }
.bua-output output { font-family: var(--font-heading); }
.bua-floor-plan .outline { fill: var(--background); stroke: var(--ink); }
.bua-floor-plan .usable { fill: var(--area-usable); stroke: var(--ink); }
.bua-floor-plan .balcony { fill: var(--sand); stroke: var(--ink); }
.bua-floor-plan .wall { fill: var(--area-wall); stroke: var(--ink); }
.bua-floor-plan .shared { fill: var(--area-shared); stroke: var(--ink); }
.bua-floor-plan text { fill: var(--ink); font-family: var(--font-body); }
@media (max-width: 600px) {
  :root { --text-body: 1.0625rem; --text-h1: clamp(1.875rem, 8vw, 2rem); }
  .wrap { padding-inline: var(--space-5); }
  .section, .project-section { padding-block: var(--space-6); }
  .home-pitch, .hero-main, .project-hero-copy, .guide-hero, .updates-hero, .bua-hero, .directory-hero { padding: var(--space-6) var(--space-5); }
  .home-hero, .guide-hero, .updates-hero, .bua-hero, .project-hero { grid-template-columns: 1fr; }
  .evidence-preview { margin: 0 var(--space-5) var(--space-6); }
  .home-search>div { flex-direction: column; }
  .home-search input { flex-basis: auto; }
  .hero-actions .action { justify-content: center; }
  .nowrap { white-space: normal; }
  .restored-article { max-width: 100%; }
  .answer-box, blockquote, .callout { padding: var(--space-4); }
  [data-article-tool] { margin-inline: var(--space-4); padding: var(--space-4); }
  .bua-calculator { padding: var(--space-5); }
  table th, table td { min-width: 140px; }
  .project-visual { border-inline-start: 0; border-top: 1px solid var(--line); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Older guide templates use these semantic component names. */
body [class] .direct-answer, .direct-answer { margin-block: var(--space-5); padding: var(--space-5); border: 0; border-radius: var(--radius); background: var(--accent-soft); color: var(--ink); }
body [class] :is(input, select, textarea) { border-color: var(--input-line); border-radius: var(--radius); background: var(--surface); color: var(--ink); font: 400 1rem/1.5 var(--font-body); }
body [class] button { border-radius: var(--radius); font-family: var(--font-body); text-transform: none; letter-spacing: normal; }
body [class] :is(table th, table td) { border-color: var(--line); }
body [class] table tbody tr:nth-child(even) { background: var(--background); }
body [class] table thead { background: var(--sand); }
body [class] :is(.fee-results, .noise-output, .cn-result, .cancelled-result) { background: var(--accent-soft); color: var(--ink); }
strong, b { font-weight: 600; }
.question-template-grid { padding: var(--space-5); border-radius: var(--radius); background: var(--accent-soft); }
.question-template-grid .question-template, .question-template-grid .answer-card { padding: var(--space-4); border: 0; border-radius: 0; background: transparent; }
.bua-question { border-inline-start: 3px solid var(--accent); }
body [class] :is(button, input, select, textarea):focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }

.restored-article:lang(ar) h1 { font-size: var(--text-h1); font-weight: 600; }
.public-embed { font-size: 1rem; }
.public-embed h1, .public-embed [class] h1 { font-size: 1.5rem; margin-block: 0 var(--space-3); }

/* Editorial article layout, including the no-JavaScript contents and FAQs. */
.article-layout {
  display: grid;
  grid-template-columns: 216px minmax(0, 680px);
  gap: var(--space-7);
  max-width: 1008px;
  margin-inline: auto;
  padding: var(--space-7) var(--space-6) var(--space-8);
  align-items: start;
}
.article-layout .restored-article { grid-column: 2; min-width: 0; }
.restored-article h1 { margin-block: var(--space-3) var(--space-5); font: 600 var(--text-h1)/1.15 var(--font-heading); }
.restored-article h2 { font: 600 28px/1.25 var(--font-heading); }
.restored-article h3 { font: 600 21px/1.35 var(--font-heading); }
.restored-article :is(h2, h3, summary) { scroll-margin-top: 100px; }
.restored-article :is(h2, h3, summary):focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.restored-article:lang(ar) h1 { font-family: var(--font-body); line-height: 1.5; }
.article-topic { margin-block: var(--space-5) var(--space-3); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--accent); }
.article-topic a { text-decoration: none; }
.article-standfirst { margin-block: var(--space-4); color: var(--muted); }
.article-meta, .article-header>nav { font-size: 14px; color: var(--muted); }
.article-header .breadcrumbs { margin-block: 0 var(--space-5); line-height: 1.6; }
.article-diagram img { display: block; width: 100%; height: auto; }
.article-hero img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius); }
.article-hero figcaption, .article-diagram figcaption, .hub-hero figcaption { margin-top: var(--space-2); }
.hub-hero { margin: var(--space-6) 0; }
.hub-hero img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius); }
.article-contents-desktop { grid-column: 1; grid-row: 1; position: sticky; top: 100px; max-height: calc(100vh - 124px); overflow-y: auto; font-size: 14px; }
.article-contents-desktop h2 { margin: 0 0 var(--space-4); font: 600 16px/1.5 var(--font-body); }
.article-contents-desktop ul, .article-contents-mobile ul { list-style: none; margin: 0; padding: 0; }
.article-contents-desktop li, .article-contents-mobile li { margin-block: var(--space-3); }
.article-contents-desktop a, .article-contents-mobile a { display: block; padding-block: var(--space-1); color: var(--muted); text-decoration: none; }
.article-contents-desktop a:hover, .article-contents-mobile a:hover { color: var(--accent); text-decoration: underline; }
.article-contents-mobile { display: none; }
.article-body .article-steps { padding-inline-start: var(--space-6); }
.article-steps>li { padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.article-steps>li::marker { font-weight: 600; color: var(--accent); }
.article-table { max-width: 100%; overflow-x: auto; margin-block: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius); }
.article-table:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.article-table table { display: table; margin: 0; font-size: inherit; }
.article-table th, .article-table td { min-width: 9rem; }
.article-body .watch-out, .article-body .questions-to-ask { margin-block: var(--space-6); }
.article-body :is(.watch-out, .questions-to-ask)>h2 { margin-top: 0; }
.article-faq { border-bottom: 1px solid var(--line); padding-block: var(--space-4); }
.article-faq summary { cursor: pointer; font-weight: 600; padding-block: var(--space-2); }
.article-faq summary h3 { display: inline; margin: 0; font: inherit; }
.article-faq summary::marker { color: var(--accent); }
.article-faq p:last-child { margin-bottom: var(--space-2); }
.article-section-sources { color: var(--muted); font-size: 14px; }
.article-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.article-related-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); text-decoration: none; }
.article-related-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.article-related-card h3 { margin: 0; padding: var(--space-4); font: 600 18px/1.4 var(--font-heading); }
.article-related-card:hover h3 { text-decoration: underline; }
.article-partner { margin-top: var(--space-7); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius); }
.article-partner p:first-child { color: var(--muted); font-size: 14px; }
@media (max-width: 1000px) {
  .article-layout { display: block; max-width: 744px; }
  .article-contents-desktop { display: none; }
  .article-contents-mobile { display: block; margin-block: var(--space-6); padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius); font-size: 14px; }
  .article-contents-mobile summary { cursor: pointer; font-weight: 600; }
}
@media (max-width: 600px) {
  .article-layout { padding: var(--space-6) var(--space-5) var(--space-7); }
  .restored-article { font-size: 17px; }
  .article-related-grid { grid-template-columns: 1fr; }
  .article-related-card h3 { font-size: 21px; }
}

/* R4: the homepage is an editorial guide, with no dependency on scripts. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.home-container { width:100%; max-width:1200px; margin-inline:auto; padding-inline:var(--space-6); }
.home-section { padding-block:var(--space-8); }
.editorial-home h2 { margin:0 0 var(--space-6); }
.editorial-home h3 { margin:0 0 var(--space-3); }
.home-intro { background:var(--sand); }
.home-intro-grid { display:grid; grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr); align-items:center; gap:var(--space-7); padding-block:var(--space-7); }
.home-intro-copy { min-width:0; }
.editorial-home .home-intro h1 { max-width:23ch; margin-block:var(--space-4) var(--space-5); }
.home-intro-copy>p { max-width:58ch; color:var(--muted); font-size:18px; }
.home-illustration { min-width:0; }
.home-illustration svg { display:block; width:100%; height:auto; }
.editorial-home .home-search { max-width:none; margin-block:var(--space-6) var(--space-4); }
.editorial-home .home-search>div { flex-wrap:nowrap; gap:var(--space-2); }
.editorial-home .home-search input { flex:1 1 0; width:0; min-height:56px; font-family:var(--font-body); }
.editorial-home .home-search button { flex:0 0 auto; min-height:56px; font:600 1rem/1.4 var(--font-body); }
.home-chips { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.home-chips a { display:inline-flex; align-items:center; min-height:44px; padding:var(--space-2) var(--space-3); border:1px solid var(--input-line); border-radius:999px; text-decoration:none; font-size:14px; background:var(--surface); }
.home-chips a:hover { background:var(--accent-soft); text-decoration:underline; }
.home-topics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); }
.home-topic { min-width:0; overflow:hidden; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); border-top:4px solid var(--accent); }
.home-topic-copy { padding:var(--space-5); }
.home-topic-image { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.home-topic h3 a { text-decoration:none; }
.home-topic h3 a:hover { text-decoration:underline; }
.home-topic p { margin-bottom:var(--space-4); color:var(--muted); font-size:16px; }
.home-topic ul { list-style:none; margin:0; padding:0; }
.home-topic li a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
.home-trust { background:var(--surface); border-block:1px solid var(--line); }
.home-trust-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-7); padding-block:var(--space-7); }
.home-trust svg { color:var(--accent); margin-bottom:var(--space-3); }
.home-trust h3 { font:600 18px/1.5 var(--font-body); }
.home-trust p { color:var(--muted); font-size:16px; margin:0; }
.home-popular { list-style:none; margin:0; padding:0; }
.home-popular-row { display:flex; justify-content:space-between; align-items:center; gap:var(--space-6); padding-block:var(--space-5); border-bottom:1px solid var(--line); }
.home-popular-row:first-child { padding-top:0; }
.home-popular-row>div { min-width:0; max-width:68ch; }
.home-popular-row h3 a { display:inline-block; min-height:44px; text-decoration:none; }
.home-popular-row h3 a:hover { text-decoration:underline; }
.home-popular-row p { color:var(--muted); margin:0; font-size:16px; }
.home-thumbnail { flex:0 0 144px; width:144px; height:90px; object-fit:cover; border-radius:var(--radius); }
.home-numbers { background:var(--sand); }
.home-tool-grid, .home-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); }
.home-tool { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:var(--space-5); border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.home-tool p { font-size:16px; color:var(--muted); margin-bottom:var(--space-5); }
.home-tool .action { margin-top:auto; text-decoration:none; }
.home-tool .action:hover { background:var(--accent-soft); }
.home-language nav { display:flex; flex-wrap:wrap; gap:var(--space-6); }
.home-language a { display:inline-flex; align-items:center; min-height:44px; }
@media (max-width:800px) {
  .home-intro-grid { grid-template-columns:1fr; }
  .home-illustration { display:none; }
  .home-topics, .home-trust-grid, .home-tool-grid, .home-project-grid { grid-template-columns:1fr; }
  .home-trust-grid { gap:var(--space-6); }
}
@media (max-width:600px) {
  .home-container { padding-inline:var(--space-5); }
  .home-section { padding-block:var(--space-7); }
  .home-intro-grid { padding-block:var(--space-6); }
  .home-intro-copy>p { font-size:17px; }
  .editorial-home .home-search>div { flex-direction:column; }
  .editorial-home .home-search input { width:100%; flex-basis:auto; }
  .home-popular-row { gap:var(--space-4); align-items:flex-start; }
  .home-thumbnail { flex-basis:80px; width:80px; height:64px; }
  .home-popular-row h3 { font-size:19px; }
  .home-popular-row p { font-size:15px; }
}
/* Shared public navigation, including the crawlable no-JavaScript menu. */
.top.public-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  min-height: 68px;
  padding: var(--space-2) var(--space-6);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  backdrop-filter: none;
}
.public-header .brand { min-height:44px; min-width:44px; color: var(--ink); font-size: 1.125rem; letter-spacing: -0.025em; }
.public-header .brand-name>span { color: var(--accent); }
.top.public-header .public-menu { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-4); }
.public-menu-links, .public-languages, .public-footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); list-style: none; margin: 0; padding: 0; }
.top.public-header .public-menu a, .footer .public-footer-links a, .footer .public-languages a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height:44px;
  min-width:44px;
  padding: var(--space-2);
  font: 500 var(--text-small)/1.5 var(--font-body);
  color: var(--ink);
  text-decoration: none;
  white-space: normal;
}
.public-header a:hover, .footer a:hover { color: var(--accent); text-decoration: underline; }
.public-languages { padding-inline-start: var(--space-3); border-inline-start: 1px solid var(--line); }
.public-header button, .footer #analytics-settings {
  min-height:44px;
  min-width:44px;
  padding: var(--space-2) var(--space-4);
  font: 500 var(--text-small)/1.5 var(--font-body);
  color: var(--accent);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  cursor: pointer;
}
.public-header [hidden], .footer [hidden] { display: none !important; }
.public-header .public-search { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--accent); }
.public-search svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.75; }
.footer.public-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--space-5) var(--space-7);
  padding: var(--space-7) var(--space-6);
  border-top: 1px solid var(--line);
  background: var(--sand);
  color: var(--muted);
  font-size: var(--text-small);
}
.public-footer .footer-about { max-width: 68ch; }
.public-footer .footer-about p { margin: 0 0 var(--space-3); }
.public-footer .public-footer-links { align-self: start; }
.public-footer .public-languages { padding: 0; border: 0; }
@media (max-width: 1099px) {
  .top.public-header { gap: var(--space-2); padding-inline: var(--space-5); }
  .public-header .brand { margin-inline-end: auto; }
  .public-header .public-search { display: inline-flex; }
  .top.public-header .public-menu { flex-basis: 100%; align-items: stretch; flex-direction: column; gap: var(--space-4); padding-block: var(--space-4); }
  .public-header #public-menu-toggle:not([hidden])~.public-menu { position: absolute; inset-inline: 0; top: 100%; max-height: calc(100dvh - 68px); overflow-y: auto; padding: var(--space-5); border-bottom: 1px solid var(--line); background: var(--surface); }
  .public-menu-links { align-items: stretch; flex-direction: column; width: 100%; }
  .top.public-header .public-menu-links a { justify-content: flex-start; font-size: 1rem; }
  .public-menu .public-languages { padding: var(--space-3) 0 0; border: 0; border-top: 1px solid var(--line); }
  .footer.public-footer { grid-template-columns: 1fr; padding-inline: var(--space-5); }
}
