:root{
  --ink:#1C2428;--night:#0A0E10;--paper:#EEF2F5;--paper-warm:#E8ECEF;--teal:#2A7B7E;--teal-soft:#3A9599;
  --fog:#5C656B;--fog-light:#A8B2B8;--stone:#3D474D;--max:680px;--max-wide:1040px;
  --sp-8:8px;--sp-16:16px;--sp-24:24px;--sp-32:32px;--sp-48:48px;
  --sp-60:60px;--sp-76:76px;--sp-92:92px;--sp-116:116px;
  --ease:cubic-bezier(.22,1,.36,1);--t-base:.45s var(--ease);
  --font-serif:"Lora",Georgia,serif;--font-sans:"Nunito Sans",system-ui,sans-serif;
  --font-mono:"Space Mono",monospace;
  --shadow-photo:0 12px 40px rgba(28,36,40,.12);
  --shadow-soft:0 2px 12px rgba(28,36,40,.06);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-sans);font-size:18px;line-height:1.78;color:var(--ink);background:linear-gradient(180deg,var(--paper) 0%,var(--paper-warm) 240px)}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-soft);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s var(--ease)}
a:hover{color:var(--stone)}
.site-header{background:var(--ink);color:var(--paper);padding:var(--sp-16) 0;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(42,123,126,.25)}
.header-inner{width:min(var(--max-wide),100% - clamp(1.5rem,5vw,3rem));margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-16)}
.site-logo{font-family:var(--font-serif);font-size:1.4rem;color:var(--paper);text-decoration:none;letter-spacing:.02em}
.site-nav{display:flex;flex-wrap:wrap;gap:var(--sp-24)}
.site-nav a{color:var(--fog-light);font-size:.92rem;text-decoration:none;letter-spacing:.04em;padding:4px 0;border-bottom:1px solid transparent;transition:border-color .2s var(--ease),color .2s var(--ease)}
.site-nav a[aria-current="page"],.site-nav a:hover{color:var(--paper);border-bottom-color:var(--teal-soft)}
main{padding-bottom:var(--sp-32)}
.slate-shell{position:relative;padding:var(--sp-60) 0}
.slate-shell--wide .slate-column{max-width:var(--max-wide)}
.slate-rules{display:flex;justify-content:center;gap:0;position:relative;width:min(var(--max-wide),100% - clamp(1rem,4vw,2rem));margin:0 auto}
.slate-column{width:100%;max-width:var(--max);padding:0 clamp(var(--sp-24),4vw,var(--sp-48))}
.slate-rule{width:1px;background:linear-gradient(180deg,transparent,var(--teal),transparent);flex-shrink:0;align-self:stretch;opacity:.7}
.slate-rule--left{margin-right:clamp(var(--sp-16),3vw,var(--sp-32))}
.slate-rule--right{margin-left:clamp(var(--sp-16),3vw,var(--sp-32))}
.slate-label{position:absolute;left:max(1.5rem,calc(50% - 420px));top:var(--sp-60);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fog);animation:labelIn var(--t-base) .15s forwards;opacity:0}
@keyframes labelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.surface-ink{background:var(--ink);color:var(--paper)}
.surface-ink a{color:var(--teal-soft)}
.hero-splash .hero-band{max-width:var(--max-wide);margin:0 auto;padding:var(--sp-48) clamp(var(--sp-24),4vw,var(--sp-48)) var(--sp-32);border-bottom:1px solid rgba(232,236,239,.1)}
.hero-splash .hero-band .eyebrow{color:var(--fog-light);font-size:13px}
.hero-intro{max-width:42rem;margin:0 auto var(--sp-32);font-family:var(--font-serif);font-size:1.2rem;line-height:1.75;color:rgba(232,236,239,.92)}
.hero-title{text-align:center;margin:var(--sp-32) 0 var(--sp-16);font-family:var(--font-serif);font-size:clamp(2rem,5vw,2.75rem);color:var(--paper)}
.eyebrow{font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone)}
.surface-ink .eyebrow{color:var(--fog-light)}
.page-lead{font-family:var(--font-serif);font-size:1.18rem;line-height:1.82;color:var(--stone)}
h1{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.85rem,4vw,2.5rem);line-height:1.22;margin:var(--sp-32) 0 var(--sp-16);color:var(--ink)}
h2{font-family:var(--font-serif);font-weight:600;font-size:1.4rem;margin:var(--sp-48) 0 var(--sp-16);position:relative;padding-top:var(--sp-16);color:var(--ink)}
h2::before{content:"";display:block;width:24px;height:2px;background:var(--teal);margin-bottom:var(--sp-16)}
h3{font-family:var(--font-serif);font-size:1.12rem;margin:var(--sp-32) 0 var(--sp-8)}
.article-meta{font-family:var(--font-mono);font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--stone);margin-bottom:var(--sp-24)}
article[itemtype*="BlogPosting"] p{margin:0 0 1.35em}
article[itemtype*="BlogPosting"] p:last-child{margin-bottom:0}
.editorial-photo{border:1px solid rgba(28,36,40,.12);margin:var(--sp-32) 0;box-shadow:var(--shadow-photo);border-radius:2px}
.photo-bleed{width:min(94vw,880px);margin:var(--sp-48) auto;padding:0 clamp(1rem,3vw,1.5rem)}
.photo-bleed .editorial-photo{margin:0}
.photo-caption{font-family:var(--font-mono);font-size:13px;color:var(--stone);margin-top:var(--sp-16);line-height:1.5}
.page-banner{margin:0 0 var(--sp-32);border-radius:2px;overflow:hidden;box-shadow:var(--shadow-photo)}
.page-banner img{width:100%;height:auto;max-height:320px;object-fit:cover}
.note-stream{display:flex;flex-direction:column;gap:var(--sp-32);padding:var(--sp-48) 0 var(--sp-76);max-width:var(--max-wide);margin:0 auto;width:min(var(--max-wide),100% - clamp(1.5rem,5vw,3rem))}
.note-card{padding:var(--sp-24) 0;border-top:1px solid rgba(28,36,40,.1)}
.note-card--full{border-top:none;padding-top:0;display:grid;grid-template-columns:1fr 140px;gap:var(--sp-24);align-items:start}
.note-card--row{display:grid;grid-template-columns:1fr 140px;gap:var(--sp-24);align-items:start}
.note-date{font-family:var(--font-mono);font-size:13px;color:var(--stone);margin:0 0 var(--sp-8)}
.note-date--outside{grid-column:1/-1;margin-bottom:0}
.note-card h2{font-size:1.25rem;margin-top:0}
.note-card h2::before{display:none}
.note-card h2 a{color:var(--ink);text-decoration:none;transition:color .2s var(--ease)}
.note-card h2 a:hover{color:var(--teal-soft)}
.note-card__thumb{width:140px;border-radius:2px;overflow:hidden;box-shadow:var(--shadow-soft)}
.note-card__thumb img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.registry-group{margin-bottom:var(--sp-48)}
.registry-heading{font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);font-weight:400;margin:var(--sp-48) 0 var(--sp-24)}
.registry-heading::before{display:none}
.registry-card{padding:var(--sp-24) 0;border-bottom:1px solid rgba(28,36,40,.08)}
.registry-card h2{font-size:1.12rem;margin:0 0 var(--sp-8)}
.registry-card h2::before{display:none}
.pulled-quote{font-family:var(--font-serif);font-size:1.3rem;font-style:italic;text-align:center;padding:var(--sp-48) clamp(var(--sp-24),4vw,var(--sp-48));border-top:1px solid rgba(42,123,126,.3);border-bottom:1px solid rgba(42,123,126,.3);margin:var(--sp-48) auto;max-width:var(--max-wide);color:var(--stone);line-height:1.65}
.about-grid{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:var(--sp-48);align-items:start}
.about-grid figure{margin:0}
.disclaimer-band{border:1px solid rgba(42,123,126,.35);padding:var(--sp-24) clamp(var(--sp-24),4vw,var(--sp-32));margin-top:var(--sp-48);font-size:.96rem;line-height:1.72;background:rgba(42,123,126,.04);border-radius:2px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-48);align-items:start}
.contact-label{font-family:var(--font-mono);font-size:13px;color:var(--stone);margin-bottom:var(--sp-8);letter-spacing:.05em;text-transform:uppercase}
.map-wrap-outer{width:min(var(--max-wide),100% - clamp(1.5rem,5vw,3rem));margin:var(--sp-32) auto 0}
.map{margin:0;width:100%;border-radius:2px;overflow:hidden;box-shadow:var(--shadow-soft)}
.map-a{min-height:300px}
.map-a-iframe,.map-b-iframe,.map-c-iframe,.map-d-iframe{width:100%;border:0;display:block}
.map-a-iframe{height:480px;filter:grayscale(25%) brightness(.9) contrast(1.06)}
.map-b{border-top:1px solid rgba(42,123,126,.25)}
.map-b::before{content:"NEIGHBOURHOOD";display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--stone);padding:var(--sp-16) clamp(var(--sp-24),4vw,var(--sp-32));background:var(--paper-warm)}
.map-b-iframe{height:200px;filter:grayscale(25%) brightness(.9) contrast(1.06)}
.map-c-iframe{height:300px;filter:grayscale(25%) brightness(.9) contrast(1.06)}
.map-c::before{content:"NEIGHBOURHOOD";display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--stone);padding:var(--sp-16) clamp(var(--sp-24),4vw,var(--sp-32));background:var(--paper-warm)}
.map-d-iframe{height:165px;filter:grayscale(25%) brightness(.9) contrast(1.06)}
.map-placeholder{background:var(--stone);color:var(--paper);padding:var(--sp-32);text-align:center}
.map-load-btn{background:var(--teal);color:var(--paper);border:0;padding:var(--sp-8) var(--sp-24);cursor:pointer;font-family:var(--font-sans);border-radius:2px}
.site-footer{background:var(--night);color:var(--fog-light);padding:var(--sp-48) clamp(var(--sp-24),4vw,var(--sp-48));font-size:.92rem;text-align:center;line-height:1.7}
.site-footer a{color:var(--teal-soft)}
.site-footer p{margin:0 auto var(--sp-16);max-width:36rem}
.site-footer p:last-child{margin-bottom:0}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:var(--paper);padding:var(--sp-16) clamp(var(--sp-24),4vw,var(--sp-48));border-top:1px solid var(--teal);z-index:100;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-16);font-size:.92rem;line-height:1.55;box-shadow:0 -4px 24px rgba(0,0,0,.15)}
.cookie-banner[hidden]{display:none!important}
.cookie-actions{display:flex;flex-wrap:wrap;gap:var(--sp-8)}
.cookie-btn{font-family:var(--font-sans);font-size:.85rem;padding:var(--sp-8) var(--sp-16);border:1px solid var(--fog-light);background:transparent;color:var(--paper);cursor:pointer;border-radius:2px;transition:background .2s var(--ease)}
.cookie-accept{background:var(--teal);border-color:var(--teal)}
.cookie-panel{width:100%;padding-top:var(--sp-16);border-top:1px solid rgba(232,236,239,.15)}
.cookie-panel[hidden]{display:none}
.cookie-panel-title{margin:0 0 var(--sp-16);font-family:var(--font-serif)}
.cookie-toggle-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-8);gap:var(--sp-16)}
.cookie-toggle{min-width:3rem;padding:var(--sp-8);border:1px solid var(--fog-light);background:transparent;color:var(--paper);cursor:pointer;border-radius:2px}
.cookie-toggle.is-on{background:var(--teal);border-color:var(--teal)}
.cookie-toggle.is-locked{opacity:.7;cursor:not-allowed}
.cookie-btn:focus-visible,.cookie-toggle:focus-visible,.site-nav a:focus-visible,a:focus-visible{outline:2px solid var(--teal-soft);outline-offset:2px}
.error-page{text-align:center;padding:var(--sp-92) clamp(var(--sp-24),4vw,var(--sp-48))}
.error-page h1{font-size:3rem;color:var(--teal)}
@media(max-width:768px){
  .map-a-iframe{height:300px}
  .map-b-iframe{height:150px}
  .map-c-iframe{height:220px}
  .note-card--row,.note-card--full{grid-template-columns:1fr}
  .note-card__thumb{width:100%;max-width:280px}
  .about-grid,.contact-grid{grid-template-columns:1fr}
  .slate-label{position:static;display:block;margin-bottom:var(--sp-16);padding-left:clamp(var(--sp-24),4vw,var(--sp-48))}
  .hero-splash .hero-band{padding-top:var(--sp-32)}
}
@media(prefers-reduced-motion:reduce){
  .slate-label,.editorial-photo{animation:none!important}
  html{scroll-behavior:auto}
}