/* KCOM R5: clean categories + direct links, responsive, scope limited to R5 templates. */
.kcom-r5-home, .kcom-r5-hub { --r5-ink:#202f40; --r5-muted:#586b7c; --r5-line:#dce5ec; --r5-accent:#1b6678; --r5-bg:#f6f9fb; color:var(--r5-ink); }
.kcom-r5-home .kcom-r2-actions-section { padding-block:clamp(32px,4vw,48px) clamp(44px,5vw,58px); }
.kcom-r5-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:22px; }
.kcom-r5-card { display:flex; flex-direction:column; min-width:0; padding:22px 24px 17px; border:1px solid var(--r5-line); border-radius:10px; background:#fff; }
.kcom-r5-card__head { min-width:0; }
.kcom-r5-card__titleline { display:flex; align-items:baseline; gap:10px; min-width:0; margin-bottom:8px; }
.kcom-r5-card__number { flex:0 0 auto; display:block; color:var(--r5-accent); font-weight:750; font-size:12px; line-height:1.3; letter-spacing:.08em; margin:0; }
.kcom-r5-card h3 { margin:0; font-size:clamp(20px,2.2vw,23px); line-height:1.35; min-width:0; }
.kcom-r5-card h3 a { color:var(--r5-ink); text-decoration:none; }
.kcom-r5-card h3 a:hover { color:var(--r5-accent); text-decoration:underline; text-underline-offset:3px; }
.kcom-r5-card__head p { margin:0 0 12px; color:var(--r5-muted); font-size:13px; line-height:1.65; min-height:2.9em; }
.kcom-r5-card__features { display:flex; flex-direction:column; margin:0; padding:0; list-style:none; border-top:1px solid var(--r5-line); }
.kcom-r5-card__features li { min-width:0; margin:0; border-bottom:1px solid #edf1f4; }
.kcom-r5-card__features a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 0; color:var(--r5-ink); font-size:14px; font-weight:600; line-height:1.45; text-decoration:none; overflow-wrap:anywhere; }
.kcom-r5-card__features a span { color:var(--r5-accent); flex:0 0 auto; font-weight:650; }
.kcom-r5-card__features a:hover { color:var(--r5-accent); }
.kcom-r5-card__more { margin-top:auto; padding-top:17px; min-height:44px; display:flex; justify-content:space-between; align-items:center; gap:8px; color:var(--r5-accent); font-size:14px; font-weight:750; text-underline-offset:3px; text-decoration:none; }
.kcom-r5-card__more:hover { text-decoration:underline; }
.kcom-r5-home :is(a,button,input):focus-visible, .kcom-r5-hub a:focus-visible { outline:3px solid #26778c; outline-offset:3px; }
.kcom-r5-hub { padding:clamp(24px,4vw,48px) 0 clamp(48px,6vw,76px); background:#fff; }
.kcom-r5-hub__breadcrumb { display:flex; align-items:center; gap:8px; color:var(--r5-muted); font-size:12px; margin-bottom:26px; }
.kcom-r5-hub__breadcrumb a { color:var(--r5-accent); text-decoration:none; }
.kcom-r5-hub__breadcrumb a:hover { text-decoration:underline; }
.kcom-r5-hub__header { padding-bottom:23px; border-bottom:1px solid var(--r5-line); }
.kcom-r5-hub__header h1 { font-size:clamp(28px,3.4vw,38px); line-height:1.3; margin:3px 0 10px; color:var(--r5-ink); }
.kcom-r5-hub__header p { color:var(--r5-muted); font-size:15px; margin:0; line-height:1.65; }
.kcom-r5-hub__section { margin-top:28px; }
.kcom-r5-hub__section h2, .kcom-r5-hub__others h2 { font-size:20px; margin:0 0 16px; color:var(--r5-ink); }
.kcom-r5-hub__items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.kcom-r5-hub__item { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--r5-line); border-radius:9px; padding:18px 20px; min-width:0; text-decoration:none !important; background:#fff; }
.kcom-r5-hub__item:hover { background:var(--r5-bg); border-color:#abc5cf; }
.kcom-r5-hub__item-text { display:flex; flex-direction:column; gap:6px; min-width:0; }
.kcom-r5-hub__item-text strong { color:var(--r5-ink); font-size:16px; line-height:1.45; }
.kcom-r5-hub__item-text > span { color:var(--r5-muted); font-size:13px; line-height:1.55; }
.kcom-r5-hub__item-arrow { color:var(--r5-accent); font-weight:750; flex:0 0 auto; }
.kcom-r5-hub__others { border-top:1px solid var(--r5-line); margin-top:38px; padding-top:24px; }
.kcom-r5-hub__others ul { display:flex; gap:10px; flex-wrap:wrap; margin:0; padding:0; list-style:none; }
.kcom-r5-hub__others li { margin:0; }
.kcom-r5-hub__others a { border:1px solid var(--r5-line); border-radius:7px; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:11px 14px; min-width:130px; color:var(--r5-accent); background:#fff; font-size:14px; text-decoration:none; font-weight:700; }
.kcom-r5-hub__others a:hover { background:var(--r5-bg); }
@media (max-width:800px) {
  .kcom-r5-grid { gap:12px; }
  .kcom-r5-card { padding:19px 18px 13px; }
  .kcom-r5-hub__items { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .kcom-r5-grid { grid-template-columns:minmax(0,1fr); }
  .kcom-r5-card__head p { min-height:0; }
  .kcom-r5-card { padding:18px 18px 12px; }
  .kcom-r5-hub__items { gap:9px; }
  .kcom-r5-hub__item { padding:15px 16px; }
}

/* R10: Desktop uses the global navigation; avoid repeating other-category links.
   On phones the links remain available as a fallback. */
@media (min-width: 768px) {
  .kcom-r5-hub__others { display: none; }
}

/* R25: force the homepage slogan onto one line and scale down on narrow widths. */
.kcom-r5-home .kcom-r13-slogan { display:block; margin:0; white-space:nowrap; font-size:clamp(22px,7vw,54px); line-height:1.08; letter-spacing:.01em; max-width:100%; }
/* K365's date archive belongs under K365, rather than being its peer category. */
.kcom-r13-hub-feature { min-width:0; border:1px solid var(--r5-line); border-radius:9px; background:#fff; overflow:hidden; }
.kcom-r13-hub-feature > .kcom-r5-hub__item { border:0; border-radius:0; }
.kcom-r13-subfeatures { margin:0 18px 14px; border-top:1px solid #edf1f4; padding:10px 0 0 12px; }
.kcom-r13-subfeatures a { display:flex; justify-content:space-between; gap:8px; color:var(--r5-accent); font-size:13px; font-weight:600; line-height:1.5; text-decoration:none; }
.kcom-r13-subfeatures a:hover { text-decoration:underline; }
.kcom-r13-subfeatures a span { flex:0 0 auto; }

/* R24: compact action heading and card title line. */
.kcom-r5-home .kcom-r2-actions-section .kcom-r2-section-lead { display:none; }
@media (max-width:620px) { .kcom-r5-card__titleline { gap:8px; } }


/* R26: hero copy shares the SAME 1120px container as the purpose cards.
   The shared public-shell stylesheet limits it to 770px otherwise. */
.kcom-r5-home .kcom-r2-hero .kcom-r2-lead {
  display:block;
  width:100%;
  max-width:none !important;
  white-space:normal;
  overflow-wrap:break-word;
}
/* R26: the shared public-shell h1 has !important and forced mobile 32px;
   override it only on the homepage. 6cqw tracks the actual hero container. */
.kcom-r5-home .kcom-r2-hero .kcom-r2-container { container-type:inline-size; }
.kcom-r5-home .kcom-r2-hero #kcom-r2-home-title {
  display:block !important;
  width:100%;
  max-width:100%;
  white-space:nowrap !important;
  font-size:min(54px, 6cqw) !important;
  letter-spacing:.01em !important;
  line-height:1.12 !important;
}
/* The footer is OUTSIDE .kcom-r5-home: target the real footer classes. */
body.home .site-footer,
body.home .kcom-r2-footer,
body:has(.kcom-r5-home) .site-footer,
body:has(.kcom-r5-home) .kcom-r2-footer {
  background-color:#f6f9fb !important;
}
