/* Content pages extend the existing KERUB SYSTEMS design. */
.seo-page { --reading: 760px; }
.seo-page main { padding-top: var(--header-h); }
.seo-hero, .seo-layout, .seo-catalog, .seo-collection-copy, .seo-related, .seo-case-note {
  max-width: 1360px; margin-inline: auto; padding-inline: var(--gutter);
}
.seo-hero { padding-top: 35px; padding-bottom: 50px; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:8px 13px; list-style:none; margin:0 0 52px; padding:0; font-size:12px; color:var(--muted); }
.breadcrumbs li + li::before { content:"/"; margin-right:13px; color:var(--faint); }
.breadcrumbs a:hover { color:var(--accent); }
.seo-kicker { margin:0 0 22px; color:var(--accent); font-size:11px; text-transform:uppercase; letter-spacing:.13em; line-height:1.5; }
.seo-page h1 { max-width:1050px; font-size:clamp(38px,5.4vw,76px); font-weight:530; line-height:1.07; letter-spacing:-.045em; overflow-wrap:break-word; }
.seo-intro { max-width:var(--reading); margin-top:28px; color:#cbd1c6; font-size:clamp(17px,1.5vw,20px); line-height:1.75; }
.seo-intro p { margin:0 0 17px; }
.seo-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; margin-top:30px; }
.seo-result { max-width:1000px; padding:24px 0 2px 23px; border-left:2px solid var(--accent); margin-top:42px; }
.seo-result strong { display:block; color:var(--accent); font-size:11px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px; }
.seo-result p { margin:0; color:var(--text); font-size:20px; line-height:1.5; }
.seo-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:clamp(35px,6vw,94px); padding-bottom:35px; }
.seo-content { min-width:0; max-width:850px; }
.content-section { padding:35px 0; border-top:1px solid var(--line); scroll-margin-top:calc(var(--header-h) + 20px); }
.seo-content h2, .seo-collection-copy h2 { margin:0 0 22px; max-width:820px; font-size:clamp(25px,2.6vw,34px); line-height:1.2; font-weight:550; letter-spacing:-.035em; }
.seo-content h3 { font-size:21px; line-height:1.35; }
.seo-content p, .seo-collection-copy p { font-size:17px; line-height:1.83; color:#c3cabf; margin:0 0 18px; }
.seo-content ul { padding-left:21px; margin:20px 0; color:#c3cabf; }
.seo-content li { margin:10px 0; padding-left:4px; line-height:1.7; }
.seo-content li::marker { color:var(--accent); }
.seo-content p:last-child { margin-bottom:0; }
.seo-content a, .seo-collection-copy a { color:var(--accent); text-decoration:underline; text-decoration-color:rgba(189,223,105,.35); text-underline-offset:4px; }
.seo-table-wrap { width:100%; overflow-x:auto; margin:26px 0 5px; border:1px solid var(--line); }
.seo-table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.65; text-align:left; }
.seo-table th { padding:16px; font-weight:650; color:var(--text); background:#171c14; vertical-align:top; }
.seo-table td { padding:16px; color:#c3cabf; vertical-align:top; border-top:1px solid var(--line); min-width:130px; }
.seo-table td + td, .seo-table th + th { border-left:1px solid var(--line); }
.seo-aside { align-self:start; position:sticky; top:calc(var(--header-h) + 28px); border-left:1px solid var(--line); padding:0 0 0 24px; }
.seo-aside h2 { font-size:11px; line-height:1.4; letter-spacing:.12em; color:var(--muted); margin:0 0 20px; }
.seo-aside ul { margin:0; padding:0; list-style:none; }
.seo-aside li { margin:0 0 15px; font-size:13px; line-height:1.5; color:#b5bcaf; }
.seo-aside a:hover { color:var(--accent); }
.seo-aside .button { width:100%; margin-top:24px; min-width:0; font-size:10px; letter-spacing:.07em; }
.seo-aside p { font-size:12px; line-height:1.65; color:var(--muted); margin-top:22px; }
.seo-faq details { border-bottom:1px solid var(--line); padding:17px 0; }
.seo-faq summary { cursor:pointer; font-size:17px; line-height:1.55; color:var(--text); padding-right:15px; }
.seo-faq details[open] summary { color:var(--accent); margin-bottom:15px; }
.seo-faq details p { font-size:16px; }
.seo-related { padding-top:35px; padding-bottom:60px; border-top:1px solid var(--line); }
.seo-related h2, .seo-catalog h2, .seo-home-directory h2 { font-size:clamp(27px,3vw,40px); line-height:1.18; letter-spacing:-.035em; font-weight:550; margin:0 0 22px; }
.seo-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid var(--line); background:var(--line); }
.seo-card { position:relative; background:var(--bg); padding:29px 31px; min-width:0; }
.seo-card h3 { margin:0 0 13px; font-size:clamp(20px,1.8vw,25px); line-height:1.3; letter-spacing:-.02em; font-weight:530; }
.seo-card h3 a::after { content:""; position:absolute; inset:0; }
.seo-card p { color:var(--muted); font-size:15px; line-height:1.7; margin:0; }
.seo-card:has(a:hover), .seo-card:has(a:focus-visible) { background:var(--surface); }
.seo-card .card-direction { display:block; margin-top:20px; color:var(--accent); font-size:19px; }
.seo-card .card-topic { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:15px; display:block; }
.seo-card[hidden], .seo-category-group[hidden] { display:none !important; }
.seo-case-note { padding-top:35px; padding-bottom:45px; border-top:1px solid var(--line); }
.seo-case-note p { font-size:16px; line-height:1.8; max-width:850px; color:var(--muted); }
.seo-case-note a { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.seo-page .contact { padding-top:55px; }
.seo-page .contact__heading h2 { font-size:clamp(30px,4.4vw,56px); line-height:1.14; max-width:900px; }
.seo-page .contact__heading p { font-size:17px; max-width:800px; line-height:1.75; }
.seo-page .contact .section-index { padding-top:0; }
.seo-page .contact .contact-form { margin-top:38px; }
.seo-search { max-width:720px; margin:0 0 26px; }
.seo-search label { display:block; font-size:13px; color:var(--text); margin-bottom:12px; }
.seo-search input { width:100%; min-height:54px; border:1px solid var(--line-strong); background:var(--bg-elevated); color:var(--text); border-radius:0; padding:14px 16px; font:inherit; }
.seo-search input::placeholder { color:var(--muted); opacity:.85; }
.seo-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.seo-filters button { border:1px solid var(--line); border-radius:0; padding:11px 13px; background:transparent; color:var(--muted); font-size:12px; cursor:pointer; line-height:1.4; }
.seo-filters button[aria-pressed="true"] { border-color:var(--accent); background:#202719; color:var(--accent); }
.seo-count { color:var(--muted); font-size:13px; min-height:22px; margin:0 0 35px; }
.seo-category-group { margin:0 0 55px; }
.seo-category-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px 20px; margin-bottom:22px; }
.seo-category-heading h2 { margin:0; font-size:clamp(24px,2.5vw,33px); }
.seo-category-heading > a { color:var(--accent); font-size:13px; border-bottom:1px solid rgba(189,223,105,.3); }
.seo-collection-copy { max-width:1100px; padding-top:25px; padding-bottom:40px; }
.seo-collection-copy .content-section { max-width:850px; }
.seo-catalog { padding-bottom:30px; }
.seo-home-directory { max-width:var(--max); padding:70px var(--gutter); margin:auto; }
.seo-home-directory > p { color:var(--muted); font-size:18px; max-width:770px; line-height:1.8; margin:0 0 30px; }
.seo-home-directory .seo-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin:30px 0; }
.review-header { position:sticky; top:0; z-index:100; padding:22px var(--gutter); display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:var(--bg); }
.review-header nav { display:flex; align-items:center; gap:25px; font-size:13px; }
.review-header button, .review-back { font:inherit; background:none; border:0; color:var(--accent); cursor:pointer; padding:0; }
.review-status { max-width:1360px; padding:20px var(--gutter) 0; margin:auto; font-size:12px; line-height:1.6; color:var(--muted); }
.review-page main { padding-top:0; }
.review-page .seo-aside { top:100px; }
.review-page .seo-hero { padding-top:30px; }
.review-page .review-back { font-size:14px; padding:12px 0; }
.review-footer { border-top:1px solid var(--line); padding:26px var(--gutter); color:var(--muted); font-size:12px; }
@media (max-width:1050px) {
 .seo-layout { grid-template-columns:minmax(0,1fr) 220px; gap:35px; }
 .seo-aside { padding-left:18px; }
 .seo-home-directory .seo-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
 .seo-layout { display:flex; flex-direction:column; gap:0; }
 .seo-aside { order:-1; position:static; padding:25px 0; border-left:0; border-top:1px solid var(--line); margin-bottom:25px; }
 .seo-aside ul { display:flex; flex-wrap:wrap; column-gap:18px; }
 .seo-aside li { margin-bottom:10px; }
 .seo-aside .button, .seo-aside p { display:none; }
 .seo-page h1 { font-size:clamp(36px,7.5vw,57px); }
 .breadcrumbs ol { margin-bottom:32px; font-size:11px; }
 .seo-hero { padding-bottom:30px; }
 .seo-intro { font-size:18px; }
 .seo-result { padding-left:17px; margin-top:30px; }
 .seo-result p { font-size:18px; }
 .seo-card { padding:24px; }
 .seo-case-note, .seo-related { padding-bottom:35px; }
}
@media (max-width:560px) {
 .seo-card-grid, .seo-home-directory .seo-card-grid { grid-template-columns:1fr; }
 .seo-card { padding:25px 21px; }
 .seo-page h1 { font-size:37px; letter-spacing:-.035em; }
 .seo-content p, .seo-content li, .seo-collection-copy p { font-size:16px; line-height:1.8; }
 .content-section { padding:28px 0; }
 .seo-filters button { padding:9px 10px; font-size:11px; }
 .seo-table td, .seo-table th { padding:12px; }
 .seo-table { font-size:13px; }
 .review-header { padding:20px; }
 .review-header nav { font-size:12px; gap:15px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
 .site-header,.mobile-nav,.seo-aside,.contact,.seo-filters,.seo-search,.review-header { display:none !important; }
 body { background:white; color:black; }
 .seo-layout { display:block; }
 .seo-content p,.seo-content li,.seo-collection-copy p,.seo-table td,.seo-intro { color:black; }
 .seo-page main { padding-top:0; }
 .seo-table th { color:black; background:#eee; }
 .content-section { break-inside:avoid; }
}
