/* Daikumachi: an everyday neighborhood noticeboard. */
:root{--ink:#213b3c;--muted:#5c6e6c;--accent:#21665e;--deep:#174e49;--line:#dce5df;--pale:#eaf3ed;--warm:#f4f7f3;--paper:#fff;--gold:#b68130;--red:#a64035;--body:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--serif:"Hiragino Mincho ProN","Yu Mincho",serif}
body{background:var(--paper);color:var(--ink);font-family:var(--body)}
.container{width:min(1200px,calc(100% - 80px))}
.sample-strip{background:var(--warm);border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem}
.sample-strip button{color:var(--muted);min-height:32px}
.header-surface{background:#fff;border-bottom:1px solid var(--line)}
.header-top{height:100px;border:0}
.brand{gap:14px;color:var(--deep)}
.brand-mark{width:49px;height:49px;border-radius:14px 14px 14px 3px;background:var(--deep);color:#fff;box-shadow:none;font-family:var(--serif);font-size:30px}
.brand strong{font-family:var(--body);font-weight:700;font-size:1.8rem;letter-spacing:.12em}
.brand small{font-size:.65rem;letter-spacing:.18em;color:var(--muted);margin-bottom:4px}
.header-tools{gap:20px;font-size:.76rem;color:var(--muted)}
.header-tools .operator{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font-size:.72rem}
.size-controls button{min-height:36px;border-radius:4px;border-color:var(--line)}
.size-controls button[aria-pressed=true]{background:var(--deep);color:#fff}
.navigation{padding:0;min-height:58px;border-top:1px solid var(--line)}
.nav-group{border:0}
.nav-main{min-height:58px;font-size:.88rem;gap:10px;font-weight:600;color:var(--ink)}
.nav-main>svg{color:var(--accent);width:20px}
.nav-main:after{background:var(--accent);height:3px;bottom:0;left:24%;right:24%}
.nav-group:hover .nav-main,.nav-group:focus-within .nav-main{background:var(--pale);color:var(--deep)}
.nav-menu{border-top:3px solid var(--accent);border-radius:0 0 8px 8px}
body.scrolled .site-header .header-top{height:73px}
body.scrolled .site-header .navigation{padding:0}
.home-page .hero{display:grid;grid-template-columns:46% 54%;height:auto;min-height:340px;margin:28px 0 22px;background:var(--pale);border-radius:12px;overflow:hidden;color:var(--ink)}
.hero-photo{grid-column:2;grid-row:1;position:relative;min-height:340px}
.hero-photo>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:none}
.hero-photo:after{content:none}
.photo-caption{right:12px;bottom:12px;padding:5px 10px;background:#173c38d9;border-radius:4px;color:#fff;font-size:.65rem;max-width:90%}
.home-page .hero-copy{grid-column:1;grid-row:1;position:relative;inset:auto;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:36px 38px;background:none;border:0}
.eyebrow,.home-page .hero .eyebrow{font-family:var(--body);font-size:.72rem;color:var(--accent);font-weight:600;letter-spacing:.08em}
.home-page .hero h1{font-family:var(--serif);font-size:clamp(1.7rem,2.5vw,2.35rem);font-weight:600;letter-spacing:.05em;line-height:1.65;white-space:pre-line;margin:14px 0 18px;overflow-wrap:anywhere}
.home-page .hero p{font-size:.88rem;color:var(--muted);line-height:1.95;white-space:pre-line;margin:0}
.hero-lead{padding:0;border:0}
.hero-jump{display:inline-flex;align-items:center;gap:24px;font-size:.82rem;font-weight:600;margin-top:17px;min-height:44px;color:var(--deep);text-underline-offset:6px}
.hero-jump svg{width:18px}
.home-page .important{display:flex;align-items:center;gap:24px;background:#fff8e9;border:1px solid #eadbb8;border-radius:7px;margin:0 0 26px;padding:15px 20px;font-size:.87rem}
.home-page .important strong{white-space:nowrap;font-size:.78rem;color:#79501b;border:0;padding:0;margin:0}
.home-page .important a{padding:0;min-height:26px;line-height:1.7}
.resident-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:48px}
.resident-links a{display:flex;align-items:center;gap:15px;padding:21px 18px;border:1px solid var(--line);border-radius:9px;text-decoration:none;transition:background .18s,border-color .18s}
.resident-links a:hover{background:var(--warm);border-color:var(--accent)}
.resident-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;color:var(--accent);background:var(--pale);border-radius:50%}
.resident-icon svg{width:23px;height:23px}
.resident-links strong{font-size:.94rem;font-weight:600;display:block}
.resident-links small{display:block;font-size:.71rem;color:var(--muted);margin-top:5px}
.resident-links a>svg{width:17px;margin-left:auto;flex-shrink:0}
.home-columns{grid-template-columns:minmax(0,1fr) 310px;gap:44px}
.section-head{margin:0;padding-bottom:17px;border-bottom:2px solid var(--deep);gap:15px}
.section-title{font-family:var(--body);font-size:1.45rem;letter-spacing:.03em;font-weight:700}
.section-title:before{display:none}
.text-link{font-size:.8rem;color:var(--deep);text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}
.tabs{gap:6px;margin:17px 0 0;flex-wrap:wrap;border:0;padding:0 0 12px}
.tab{font-size:.77rem;min-height:42px;border:1px solid var(--line);border-radius:6px;padding:8px 13px;background:#fff;color:var(--muted)}
.tab.active{background:var(--deep);border-color:var(--deep);color:#fff}
.tab:hover{background:var(--pale);color:var(--deep)}
.news-row{grid-template-columns:90px 88px minmax(0,1fr) 16px;padding:22px 0;gap:12px;align-items:center;border-color:var(--line)}
.news-row time{font-size:.76rem;color:var(--muted);font-variant-numeric:tabular-nums}
.news-title{font-size:.93rem;line-height:1.85;font-weight:500}
.news-row .tag{font-size:.66rem;justify-self:start;border-radius:4px;padding:4px 8px}
.tag.event{background:#edf3e6;color:#476531}.tag.life{background:#eaf0f8;color:#385d7b}.tag.document{background:#f4eee4;color:#775527}.tag.notice{background:var(--pale);color:var(--deep)}
.news-row:hover{background:var(--warm)}
.news-row>svg{color:var(--accent);margin:0}
.side-card{background:var(--warm);border:1px solid var(--line);border-radius:10px;padding:23px}
.side-title{font-size:1rem;gap:8px;letter-spacing:0;align-items:center}.side-title svg{color:var(--accent)}
.sample-label{font-size:.6rem;color:var(--muted);background:#fff;border:1px solid var(--line);white-space:nowrap}
.event-row{gap:17px;padding:20px 0;border-color:var(--line)}
.event-date{font-family:Georgia,serif;font-size:2rem;color:var(--deep);min-width:51px;text-align:center;line-height:1.1}
.event-date small{font-family:var(--body);font-size:.65rem;color:var(--muted);margin-top:7px}
.event-description{font-size:.86rem;line-height:1.7}.event-description small{font-size:.7rem;line-height:1.7;color:var(--muted)}
.quick{background:none;padding:20px 0 0;margin-top:14px}.quick h3{font-size:.94rem;border-bottom:1px solid var(--line);padding-bottom:14px}
.quick a{font-size:.8rem;padding:15px 0;min-height:48px;border-color:var(--line)}
.home-page .lower{background:var(--warm);margin-top:58px;padding:45px 0 55px;border-top:1px solid var(--line)}
.neighborhood-heading{margin-bottom:26px}.neighborhood-heading h2{font-size:1.5rem;letter-spacing:.04em;margin-top:7px}
.custom-grid{gap:24px}.block{padding:30px;border:1px solid var(--line);border-radius:10px;background:#fff}.block h2{font-size:1.25rem;font-family:var(--body);letter-spacing:.03em}.block p{font-size:.9rem;line-height:2}
.image-block{padding:0;overflow:hidden;gap:30px}.image-block>img{height:280px}.image-block>div{padding-block:25px}
.site-footer{background:#edf3ee;border-top:1px solid var(--line);padding:38px 0 24px;margin:0;color:var(--ink)}
.footer-top{padding-bottom:26px}.footer-top p{color:var(--muted);font-size:.8rem}.footer-links a{color:var(--ink);font-size:.8rem}.footer-bottom{border-color:#cddbd2;color:var(--muted)}.credits{color:var(--muted);font-size:.65rem;line-height:1.9}
.category-page{background:var(--warm)}.category-heading{border-bottom:2px solid var(--deep)}.category-heading h1,.page-heading,.article-page h1{font-family:var(--body);letter-spacing:.02em}.article-page{max-width:860px}.article-body{line-height:2.1}.btn{border-radius:6px}.btn.primary{background:var(--deep);border-color:var(--deep)}
:focus-visible{outline:3px solid #bb6e22;outline-offset:4px}
@media(max-width:1050px){.container{width:calc(100% - 48px)}.header-tools{gap:12px}.home-columns{grid-template-columns:minmax(0,1fr) 280px;gap:28px}.home-page .hero-copy{padding:28px}.resident-links{gap:12px}.resident-links a{padding:17px 12px;gap:10px}.resident-links small{font-size:.65rem}.news-row{grid-template-columns:85px 80px minmax(0,1fr) 14px;gap:8px}}
@media(max-width:760px){.container{width:calc(100% - 32px)}.header-top{height:82px}.brand strong{font-size:1.35rem}.brand-mark{width:43px;height:43px}.navigation{border-top:0;min-height:0}.navigation.open{padding-bottom:14px}.nav-main{min-height:50px}.mobile-menu{color:var(--deep);font-size:.65rem}.home-page .hero{display:flex;flex-direction:column;min-height:0;margin:18px 0}.hero-photo{min-height:220px;order:1}.home-page .hero-copy{order:0;padding:26px}.home-page .hero h1{font-size:1.8rem;margin:10px 0 12px}.home-page .hero p{font-size:.82rem}.home-page .hero .eyebrow{font-size:.65rem}.hero-jump{margin-top:8px}.home-page .important{display:block;padding:15px;margin-bottom:18px}.home-page .important strong{display:flex;margin-bottom:7px}.home-page .important a{font-size:.8rem}.resident-links{grid-template-columns:1fr;margin-bottom:32px;gap:9px}.resident-links a{padding:13px 16px}.resident-links small{font-size:.72rem}.resident-links strong{font-size:.9rem}.home-columns,html.large .home-columns{display:block}.section-title{font-size:1.2rem}.section-head{margin:0;padding-bottom:12px}.tabs{margin-top:13px;gap:6px}.tab{font-size:.72rem;padding:8px 11px}.news-row,html.large .news-row{grid-template-columns:90px 1fr 16px;gap:8px;padding:18px 0}.news-title{grid-column:1/3;grid-row:2;font-size:.9rem}.news-row>svg{grid-row:2;grid-column:3}.sidebar{display:block;margin-top:30px}.side-card{padding:22px}.quick{margin-top:10px}.home-page .lower{margin-top:35px;padding:30px 0}.neighborhood-heading h2{font-size:1.25rem}.image-block>div{padding:24px}.image-block>img{height:220px}.footer-links{gap:18px}.site-footer .brand strong{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* Article placement is independent of section placement. Natural image ratio is preserved. */
.article-composition{display:flex;flex-direction:column;gap:28px;margin-bottom:28px}
.article-composition .article-body{min-width:0;margin:0}
.article-composition .article-figure{margin:0 auto;width:var(--photo-width);min-width:0}
.article-composition .article-photo{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0;border-radius:8px}
.article-composition.photo-top .article-figure{order:-1}
.article-composition.has-photo:is(.photo-left,.photo-right){display:grid;grid-template-columns:minmax(0,var(--side-width)) minmax(0,1fr);align-items:start;gap:28px}
.article-composition.has-photo.photo-right{grid-template-columns:minmax(0,1fr) minmax(0,var(--side-width))}
.article-composition:is(.photo-left,.photo-right) .article-figure{width:100%;margin:0}
.article-composition.photo-left .article-figure{grid-column:1;grid-row:1}
.article-composition.photo-left .article-body{grid-column:2;grid-row:1}
.article-layout-fields{margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:8px}
.article-layout-fields legend{padding:0 8px;font-weight:600}
@media(max-width:760px){.article-composition.has-photo:is(.photo-left,.photo-right){display:flex;flex-direction:column;gap:22px}.article-composition.photo-left .article-figure{order:-1}.article-composition:is(.photo-left,.photo-right) .article-figure{width:100%}.article-composition{gap:22px}}
.phone-view .article-composition.has-photo:is(.photo-left,.photo-right){display:flex;flex-direction:column}
.phone-view .article-composition.photo-left .article-figure{order:-1}
.phone-view .article-composition:is(.photo-left,.photo-right) .article-figure{width:100%}

/* Structured article body and accessible block editor */
.structured-body{white-space:normal}.structured-body p{white-space:pre-wrap;margin:0 0 1.2em}.structured-body .body-heading{font-size:1.3rem;line-height:1.6;margin:1.7em 0 .7em}.structured-body .body-subheading{font-size:1.1rem;line-height:1.6;margin:1.4em 0 .6em}.structured-body>:first-child{margin-top:0}.body-editor{min-width:0;border:1px solid #ccc;padding:16px;margin:20px 0}.body-block{border-bottom:1px solid #ccc;padding:12px 0 20px;margin-bottom:16px}.body-block textarea{min-height:100px}.body-editor button,.body-editor select{min-height:44px}.body-block .button-row{flex-wrap:wrap}.body-editor button:disabled{opacity:.4}.body-editor textarea{width:100%;box-sizing:border-box}

.block .section-title-text{font-size:1.2rem;line-height:1.8;margin:0 0 13px;overflow-wrap:anywhere}.section-title-text a{text-decoration:none}.section-title-text a:hover{text-decoration:underline}

.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:24px 0;flex-wrap:wrap}.pagination a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:4px}.archive-count{margin:20px 0;color:var(--muted)}.archive-search{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.archive-search label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:140px}.archive-search select,.archive-search input{min-height:44px;width:100%;padding:8px;border:1px solid var(--line);border-radius:4px}.archive-search button{align-self:end}.feed-block>.text-link{margin-top:16px}

.simple-editor{border:0;padding:0;margin:24px 0}.simple-editor>label{display:block;font-weight:700;margin-bottom:10px}.body-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.simple-editor textarea{display:block;width:100%;min-height:340px;resize:vertical;padding:16px;font:inherit;line-height:1.9;border:1px solid var(--line);border-radius:4px;background:#fff;color:inherit}.simple-editor small{display:block;margin-top:8px;color:var(--muted);line-height:1.7}.simple-editor textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.neighborhood-map{display:block;width:100%;height:600px;height:min(70vh,600px);min-height:320px;border:0;margin:24px 0;border-radius:8px}

/* Let the schedule occupy the full height of the news column. */
.home-columns>.sidebar{align-self:stretch;display:flex;flex-direction:column}
.home-columns>.sidebar>.side-card{flex:1;display:flex;flex-direction:column}
.home-columns>.sidebar>.side-card>.text-link{margin-top:auto;padding-top:20px}
@media print{.home-columns>.sidebar{display:none}}
