
/* Portal homepage only. Historic article layouts remain untouched. */
body.home .site-main.bf-portal{padding:0!important;margin:0!important;max-width:none!important;width:100%!important;background:#fff}
.bf-portal{font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;color:#24384a}
.bf-portal *{box-sizing:border-box}.bf-wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.bf-hero{background:linear-gradient(135deg,#edf8fe,#f7fbff);padding:62px 0 54px}.bf-kicker{font-size:12px;color:#4784a3;font-weight:800;letter-spacing:.12em;margin:0 0 16px}.bf-hero h1{font-size:clamp(24px,3.8vw,43px);line-height:1.5;margin:0 0 12px;color:#244966}.bf-hero p{color:#59798b}.bf-search{display:flex;gap:8px;max-width:760px;background:#fff;border:1px solid #d3e7ef;padding:7px;border-radius:15px;margin:24px 0 14px}.bf-search input{flex:1;min-width:0;border:0!important;box-shadow:none!important;background:#fff!important;padding:13px!important;font-size:16px!important}.bf-search button{background:#327aa1;border:0;color:#fff;font-weight:800;border-radius:10px;padding:11px 27px;cursor:pointer}.bf-hero-links{display:flex;gap:12px;max-width:760px}.bf-hero-links a{flex:1;display:flex;justify-content:space-between;gap:12px;text-decoration:none!important;border:1px solid #d0e6f4;background:#fff;color:#285c7b!important;padding:15px 20px;border-radius:13px;font-weight:750;font-size:14px}
.bf-section{padding:54px 0}.bf-tinted{background:#f4f9fd}.bf-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 24px}.bf-heading small{color:#5886a3;font-size:11px;font-weight:800;letter-spacing:.12em}.bf-heading h2{font-size:clamp(23px,3vw,29px);margin:4px 0;color:#294b62}.bf-heading p{margin:5px 0 0;color:#6c8493;font-size:14px}.bf-heading>a{font-size:13px;font-weight:750;color:#387a9b;text-decoration:none}
.bf-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bf-member{min-width:0;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dfebf1;border-radius:16px;padding:17px;color:#36596e!important;text-decoration:none!important}.bf-member .bf-avatar{display:grid;place-items:center;width:52px;height:52px;background:#e8f3f8;border-radius:14px;font-size:24px;flex-shrink:0}.bf-member strong{font-size:15px;min-width:0}.bf-arrow{margin-left:auto}
.bf-teaser{display:flex;align-items:center;gap:22px;background:#fff;border:1px solid #deebf2;border-radius:17px;padding:24px}.bf-teaser>span{font-size:45px}.bf-teaser div{flex:1}.bf-teaser p{margin:7px 0 0;color:#718493;font-size:13px}.bf-teaser a{color:#397ca1;font-size:13px;font-weight:700}
.bf-postgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.bf-post{display:block;overflow:hidden;border-radius:16px;text-decoration:none!important;background:#fff;color:#26485f!important;border:1px solid #e4edf3}.bf-cover{display:block;aspect-ratio:16/10;background:linear-gradient(125deg,#d9edf8,#eef6fa);overflow:hidden}.bf-cover img{height:100%;width:100%;object-fit:cover;display:block}.bf-noimage{height:100%;display:grid;place-items:center;font-size:18px;color:#7b9eb6;letter-spacing:.13em;font-weight:900}.bf-post-body{display:grid;gap:5px;padding:15px}.bf-post-body small{font-size:11px;color:#8395a1}.bf-post-body strong{font-size:15px;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.bf-photogrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.bf-photo{position:relative;aspect-ratio:1/1;border-radius:15px;overflow:hidden;display:block;background:#e5eff5}.bf-photo img{width:100%;height:100%;object-fit:cover;display:block}.bf-photo strong{position:absolute;bottom:0;left:0;right:0;padding:34px 12px 12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.76));font-size:13px;line-height:1.45}.bf-empty{color:#6c8493}
.bf-readlinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.bf-readlinks a{padding:22px 18px;background:#fff;border:1px solid #e2ebf1;border-radius:14px;color:#356d91!important;text-decoration:none!important;font-weight:750}
.bf-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.bf-cats a{display:flex;align-items:center;gap:13px;padding:18px 20px;border:1px solid #dcecf4;border-radius:15px;background:white;text-decoration:none!important;color:#345c78!important}.bf-cats span{font-size:26px}.bf-cats strong{font-size:15px}
.bf-service{border-top:1px solid #e5eff5;text-align:center;padding:45px 0}.bf-service h2{font-size:20px;color:#325970;margin:0 0 8px}.bf-service p{color:#6e8797;font-size:14px}.bf-service a{display:inline-block;background:#347ca4;color:white!important;text-decoration:none!important;border-radius:999px;padding:12px 26px;font-weight:750;font-size:14px}
@media(max-width:850px){.bf-members,.bf-postgrid,.bf-cats{grid-template-columns:repeat(2,minmax(0,1fr))}.bf-photogrid{grid-template-columns:repeat(3,minmax(0,1fr))}.bf-readlinks{grid-template-columns:1fr}}
@media(max-width:560px){.bf-wrap{padding:0 16px}.bf-hero{padding:34px 0}.bf-hero-links{flex-direction:column}.bf-section{padding:36px 0}.bf-heading{align-items:start;flex-direction:column;gap:8px}.bf-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bf-member{padding:11px;gap:7px;flex-direction:column;text-align:center}.bf-member .bf-avatar{width:45px;height:45px}.bf-arrow{display:none}.bf-postgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bf-post-body{padding:10px}.bf-post-body strong{font-size:13px}.bf-photogrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bf-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bf-cats a{padding:11px;gap:7px}.bf-cats strong{font-size:12px}.bf-cats span{font-size:21px}.bf-teaser{flex-direction:column;align-items:start;padding:17px;gap:10px}.bf-search button{padding:10px 14px}}

/* v1.2.0: Latest blog uses the existing community feed data in a calm,
   horizontal design rather than copying it to a second card grid. */
.bf-latest-list{display:grid;gap:13px;max-width:1020px;margin:0 auto}
.bf-latest-row{display:grid;grid-template-columns:132px minmax(0,1fr) 28px;gap:20px;align-items:center;min-width:0;padding:15px;background:#fff;border:1px solid #d9e8f0;border-radius:18px;text-decoration:none!important;color:#284861!important;box-shadow:0 2px 14px rgba(30,62,89,.045)}
.bf-latest-thumb{display:block;width:132px;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#e8f2f8}
.bf-latest-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.bf-latest-noimage{display:flex;height:100%;align-items:center;justify-content:center;letter-spacing:.12em;font-weight:750;color:#6f97af;font-size:14px}
.bf-latest-info{min-width:0;display:grid;gap:5px}.bf-latest-meta{font-size:12px;color:#6790aa;font-weight:650}.bf-latest-info strong{font-size:17px;line-height:1.5;overflow-wrap:anywhere}.bf-latest-excerpt{font-size:13px;color:#71899a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bf-latest-arrow{font-size:23px;color:#4f8bad}
.bf-latest-row:hover{border-color:#a5cfe5;transform:translateY(-1px);transition:.2s}
@media(max-width:600px){.bf-latest-row{grid-template-columns:75px minmax(0,1fr);gap:12px;padding:11px}.bf-latest-thumb{width:75px;aspect-ratio:1}.bf-latest-arrow{display:none}.bf-latest-info strong{font-size:14px}.bf-latest-excerpt{font-size:12px}}

/* v1.2.1: picture-first member cards, and three photo cards per row. */
.bf-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bf-members .bf-member{display:block;padding:0;overflow:hidden;border-radius:17px;background:#fff;text-align:left}
.bf-member-cover{display:block;aspect-ratio:4/3;background:#e7eef5;overflow:hidden}
.bf-member-cover img{display:block;width:100%;height:100%;object-fit:cover}
.bf-member-fallback{display:grid;place-items:center;height:100%;font-size:54px;background:linear-gradient(140deg,#e8f3fa,#fff1e6)}
.bf-member-caption{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;gap:10px}
.bf-member-caption strong{font-size:16px}
.bf-member-caption>span{color:#a15d39;font-size:20px}
.bf-photogrid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:850px){.bf-members{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.bf-members,.bf-photogrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.bf-member-cover{aspect-ratio:1/1}.bf-member-fallback{font-size:27px}.bf-member-caption{padding:9px 7px}.bf-member-caption strong{font-size:11px;overflow-wrap:anywhere}.bf-member-caption>span{display:none}.bf-photo strong{padding:25px 6px 7px;font-size:10px}}

/* v1.2.2: Center only the hero's introduction; retain search/navigation widths and positions. */
.bf-hero .bf-kicker, .bf-hero h1, .bf-hero .bf-lead { text-align:center; }

/* v1.2.3: Center the search form and paired destination links under the intro. */
.bf-hero .bf-search, .bf-hero .bf-hero-links{width:100%;max-width:760px;margin-left:auto!important;margin-right:auto!important;}
.bf-hero .bf-hero-links{justify-content:center;}
@media(max-width:560px){.bf-hero .bf-search,.bf-hero .bf-hero-links{max-width:100%;}}

/* Portal owns the homepage presentation: hide the old plugin cards appended in footer. */
body.home #mizuki-top-card,body.home .mztc-root,body.home .bskcf-mizuki-latest{display:none!important}
body.home .bf-member-fallback-onerror{display:none}
body.home .bf-member-cover img:not([src]){display:none}
/* Theme-managed service link lives in the global footer, not another homepage block. */
body.home .bf-service{display:none!important}
