
/* Shared page, hub and trust-page layouts. */
/* Category reading and keyboard order follows the actual article-first HTML. */
.category-page .page-hero { padding-bottom: 28px; }
.category-page .page-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(180px, 260px); gap: 32px; }
.category-page .page-hero h1 { font-size: clamp(2rem, 3.4vw, 2.9rem); margin-bottom: 12px; }
.category-page .page-hero .eyebrow { margin-bottom: 10px; }
.category-page .page-hero p { margin-bottom: 0; }
.category-page .page-visual { aspect-ratio: 16 / 9; border-radius: 18px; box-shadow: none; background: var(--surface-soft); }
.category-page .page-visual img { object-fit: cover; }
.category-page .migrated-section { padding-top: 32px; }
.category-page .migrated-section h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.category-page .content-section { padding: 40px 0 56px; border-top: 1px solid var(--border); background: #fff; }
.category-page .content-shell { max-width: 820px; }
.page-hero { padding: 18px 0 40px; background: linear-gradient(120deg,#fff,#f1f8ee); border-bottom:1px solid var(--border); }
.page-hero .breadcrumb { margin-bottom: 22px; }
.page-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:42px; align-items:center; }
.page-hero h1 { max-width:820px; font-size:clamp(2rem,4vw,3.1rem); margin-bottom:18px; }
.page-hero h1 span { color:var(--primary); }
.page-hero p { max-width:760px; font-size:1.04rem; }
.page-visual { max-height:420px; min-height:0; display:grid; place-items:center; border-radius:30px; overflow:hidden; background:linear-gradient(135deg,#0f3d2e,#4d9e4c); box-shadow:var(--shadow-md); position:relative; }
.page-visual img { width:100%; height:100%; min-height:0; object-fit:contain; object-position:center; }
.page-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,61,46,.06),rgba(15,61,46,0)); pointer-events:none; }
.breadcrumb ol { list-style:none; display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:0; color:var(--text-light); font-size:.82rem; }
/* The shared stylesheet supplies one separator before each subsequent crumb. */
.breadcrumb a { color:var(--primary-dark); text-decoration:underline; text-underline-offset:3px; }
.content-section { padding:52px 0; }
.search-section { padding:34px 0 0; background:var(--background); }
.search-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,1fr); gap:18px 34px; align-items:end; padding:22px 24px; border:1px solid #cfe0ce; border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.search-panel h2 { margin:0 0 6px; font-size:clamp(1.35rem,2.4vw,1.8rem); }
.search-panel p { margin:0; font-size:.9rem; }
.search-panel .eyebrow { margin-bottom:8px; }
.search-controls { position:relative; }
.search-controls input { width:100%; min-height:52px; padding:12px 76px 12px 16px; border:1px solid #9fb59c; border-radius:12px; background:#fff; color:var(--text); }
.search-controls input:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
.search-clear { position:absolute; top:7px; right:7px; min-height:38px; padding:7px 11px; border:0; border-radius:8px; background:var(--accent-soft); color:var(--primary-dark); font-size:.78rem; font-weight:700; }
.search-clear:hover { background:#d8ebd0; }
.search-status { grid-column:1 / -1; min-height:1.2em; color:var(--text-light); font-size:.82rem; }
.search-panel + .hub-section { padding-top:42px; }
.tools-search-section { padding-top:0; margin-bottom:34px; }
.search-section [hidden] { display:none !important; }
.content-section.alt { background:#fff; }
.content-shell { max-width:820px; margin:0 auto; }
.content-shell > * + * { margin-top:22px; }
.content-shell h2 { margin-top:44px; margin-bottom:14px; font-size:clamp(1.55rem,2.5vw,2.15rem); }
.content-shell h3 { margin-top:30px; margin-bottom:10px; }
.content-shell a { color:var(--primary-dark); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.content-shell ul,.content-shell ol { color:var(--text); padding-left:1.35rem; }
.content-shell li + li { margin-top:8px; }
.notice-card,.quick-answer,.policy-card { padding:24px 26px; border:1px solid #c9ddc1; background:#f5faf2; border-radius:18px; }
.notice-card strong,.quick-answer strong { color:var(--heading); }
.quick-answer { margin:28px 0; border-left:4px solid var(--primary); }
.hub-section { padding:72px 0; }
.hub-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.hub-card { display:flex; flex-direction:column; min-height:100%; padding:28px; background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition); }
.hub-card {
	padding: 24px 22px;
}

.hub-card h2,
.hub-card h3 {
	margin-bottom: 12px;
}

.hub-card .card-link {
	margin-top: 18px;
}
.hub-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:#b7d3ac; }
.hub-card .eyebrow { margin-bottom:9px; letter-spacing:1.4px; }
.hub-card h2,.hub-card h3 { font-size:1.25rem; margin-bottom:10px; }
.hub-card p { font-size:.9rem; }
.hub-card .card-link { margin-top:auto; padding-top:12px; color:var(--primary); font-weight:800; }
.pill-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.pill-row a { padding:9px 14px; border:1px solid var(--border); background:#fff; border-radius:999px; color:var(--primary-dark); font-size:.82rem; font-weight:700; }
.trust-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:30px; }
.policy-card h2,.policy-card h3 { margin-top:0; }
.status-box { padding:20px 22px; border-radius:16px; background:#fff8e9; border:1px solid #ead8a7; }
.status-box p { margin:0; color:#66542b; }
.contact-form { display:grid; gap:18px; margin-top:26px; }
.contact-form label { font-weight:700; color:var(--heading); }
.contact-form input,.contact-form textarea { width:100%; min-height:50px; padding:12px 14px; border:1px solid #a6bba5; border-radius:10px; background:#fff; }
.contact-form textarea { min-height:150px; resize:vertical; }
.contact-form button[disabled] { opacity:.65; cursor:not-allowed; }
.article-placeholder { padding:26px; border:1px dashed #b9cbb5; border-radius:18px; background:#fbfdf9; }
.article-placeholder h2 { font-size:1.2rem; margin-bottom:8px; }
.category-tool-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.category-tool-links a { text-decoration:none; }
.table-wrap { overflow-x:auto; }
.simple-table { width:100%; border-collapse:collapse; margin:20px 0; }
.simple-table th,.simple-table td { padding:12px 14px; border:1px solid var(--border); text-align:left; vertical-align:top; }
.simple-table th { background:#f2f7ef; color:var(--heading); }
.sitemap-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.sitemap-group { padding:24px; border:1px solid var(--border); border-radius:18px; background:#fff; }
.sitemap-group h2 { font-size:1.15rem; }
.sitemap-group a { display:block; padding:5px 0; color:var(--primary-dark); }
@media(max-width:900px){.page-hero-grid,.hub-grid,.sitemap-groups{grid-template-columns:1fr 1fr}.page-hero-grid{grid-template-columns:1fr}.page-visual{max-width:620px}.trust-grid-2{grid-template-columns:1fr}}
@media(max-width:620px){.hub-grid,.sitemap-groups{grid-template-columns:1fr}.content-section,.hub-section{padding:58px 0}.page-hero{padding:18px 0 36px}.page-hero .breadcrumb{margin-bottom:18px}.page-hero-grid{gap:28px}.search-panel{grid-template-columns:minmax(0,1fr);padding:20px 18px}.search-status{grid-column:auto}}
@media(max-width:620px){.category-page .page-hero-grid{grid-template-columns:minmax(0,1fr);gap:18px}.category-page .page-visual{width:100%;max-height:150px;aspect-ratio:2.4}.category-page .migrated-section{padding-top:26px}.content-section{padding:36px 0}.category-page .page-hero .breadcrumb{margin-bottom:14px}}
