/**
 * Kulwatha Center — v1.2.3 responsive/mobile pass.
 * Mobile is treated as its own editorial layout, not a scaled desktop.
 */

/* Prevent old desktop rules from creating side overflow on narrow screens. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

img,
svg,
video {
  max-width: 100%;
}

@media (max-width: 980px) {
  :root {
    --kw-mobile-gutter: 16px;
    --kw-mobile-radius: 15px;
  }

  small,
  .kw-meta,
  .kw-breadcrumbs,
  .kw-eyebrow,
  .kw-kicker,
  .kwd-date,
  .kwd-top-menu a,
  .kwd-ticker-group a,
  .kwr-item-meta,
  .kwr-item-content small,
  .kwres-small-cat,
  .kwres-timeline-date,
  .kwa-card-meta,
  .kwn-feed-content time,
  .kwf-footer,
  .kwf-footer a {
    font-size: 14px !important;
  }

  .kwd-container,
  .kwf-container,
  .khn-container,
  .kwsv2-container,
  .kwr-container,
  .kwres-container,
  .kwa-container,
  .kwn-container,
  .kwsvc-container,
  .kwabout-container,
  .kwcta2-container,
  .kw-container {
    width: calc(100% - (var(--kw-mobile-gutter) * 2));
    max-width: none;
    margin-inline: auto;
  }

  /* ----------------------------------------------------------------------
     Header — compact, dark/light/dark/light like desktop
     ---------------------------------------------------------------------- */
  .kwd-topbar-inner {
    min-height: 31px;
  }

  .kwd-date-wrap,
  .kwd-date {
    min-width: 0;
    font-size: 14px !important;
    line-height: 1.3;
  }

  .kwd-live-dot {
    width: 7px;
    height: 7px;
  }

  .kwd-brand-inner {
    min-height: 70px !important;
    padding-block: 8px;
    justify-content: center;
  }

  .kwd-logo {
    display: flex;
    justify-content: center;
    max-width: 100%;
  }

  .kwd-logo img {
    width: min(225px, 68vw) !important;
    max-width: 100%;
    height: auto;
  }

  .kwd-site-info {
    display: none !important;
  }

  .kwd-nav-wrap {
    position: relative;
    z-index: 40;
  }

  .kwd-nav-inner {
    min-height: 56px !important;
    gap: 10px;
    align-items: center;
  }

  .kwd-menu-btn {
    display: inline-flex !important;
    flex: 0 0 42px;
    width: 42px;
    height: 40px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    margin: 0;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 9px;
    background: rgba(255,255,255,.055);
  }

  .kwd-menu-btn span {
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: #fff;
  }

  .kwd-nav-actions {
    display: flex;
    margin-inline-start: auto;
    gap: 8px;
    min-width: 0;
  }

  .kwd-survey-cta,
  .kwd-search-btn {
    min-height: 40px;
    border-radius: 9px;
    font-size: 14px !important;
  }

  .kwd-survey-cta {
    padding-inline: 12px;
    white-space: nowrap;
  }

  .kwd-search-btn {
    flex: 0 0 42px;
    width: 42px;
    padding: 0;
    justify-content: center;
  }

  .kwd-search-btn span {
    display: none;
  }

  .kwd-main-nav {
    position: absolute !important;
    top: calc(100% + 1px) !important;
    right: var(--kw-mobile-gutter) !important;
    left: var(--kw-mobile-gutter) !important;
    z-index: 90;
    max-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid #3a4247 !important;
    border-radius: 0 0 14px 14px !important;
    background: #242a2e !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.24) !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: max-height .25s ease, opacity .18s ease, transform .18s ease, visibility .18s ease;
  }

  .kwd-main-nav.is-active {
    max-height: min(72vh, 620px) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0);
  }

  .kwd-nav-list {
    display: block !important;
    height: auto !important;
    margin: 0;
    padding: 8px 10px 12px !important;
  }

  .kwd-nav-list > li {
    display: block !important;
    width: 100%;
  }

  .kwd-nav-list > li > a {
    min-height: 48px !important;
    padding: 0 10px !important;
    color: rgba(255,255,255,.92) !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;
    font-size: 15px !important;
    line-height: 1.45;
  }

  .kwd-nav-list > li:last-child > a {
    border-bottom: 0 !important;
  }

  .kwd-nav-list > li > a::after {
    display: none !important;
  }

  .kwd-nav-list .sub-menu {
    position: static !important;
    display: none;
    width: auto !important;
    margin: 3px 8px 8px !important;
    padding: 5px 8px !important;
    border: 0 !important;
    border-right: 3px solid var(--kwd-gold) !important;
    border-radius: 0 !important;
    background: #2d3438 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .kwd-nav-list .is-open > .sub-menu {
    display: block !important;
  }

  .kwd-nav-list .sub-menu a {
    display: flex;
    min-height: 42px;
    align-items: center;
    padding-inline: 8px;
    color: rgba(255,255,255,.82) !important;
    font-size: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.05);
  }

  .kwd-search-panel .kwd-container {
    padding-block: 12px;
  }

  .kwd-search-panel form {
    gap: 8px;
  }

  /* Ticker stays visually aligned; one-line items only. */
  .kwd-updates,
  .kwd-updates-inner,
  .kwd-updates-title,
  .kwd-ticker,
  .kwd-ticker-track,
  .kwd-ticker-group,
  .kwd-ticker-group a {
    height: 40px !important;
    min-height: 40px !important;
  }

  .kwd-updates-title {
    flex: 0 0 auto;
    padding-inline: 10px 11px !important;
    font-size: 14px !important;
    line-height: 1 !important;
  }

  .kwd-ticker {
    min-width: 0;
  }

  .kwd-ticker-group {
    gap: 26px !important;
    padding-inline: 13px !important;
  }

  .kwd-ticker-group a {
    display: inline-flex !important;
    max-width: 280px;
    align-items: center !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 14px !important;
  }

  .kwd-ticker-group a small {
    display: none !important;
  }

  /* ----------------------------------------------------------------------
     Shared home section rhythm
     ---------------------------------------------------------------------- */
  .khn-home,
  .kwsv2-section,
  .kwr-section,
  .kwres-section,
  .kwa-section,
  .kwn-section,
  .kwsvc-section,
  .kwabout-section {
    padding: 38px 0 !important;
  }

  .khn-home {
    padding-top: 30px !important;
  }

  .kwcta2-section {
    padding: 22px 0 !important;
  }

  .khn-head,
  .kwsv2-header,
  .kwr-head,
  .kwres-head,
  .kwa-head,
  .kwn-head {
    display: flex;
    flex-direction: column;
    align-items: stretch !important;
    gap: 10px !important;
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
  }

  .khn-head > div,
  .kwsv2-title,
  .kwr-head > div,
  .kwres-head > div,
  .kwa-head > div,
  .kwn-head > div {
    width: 100%;
  }

  .khn-head h1,
  .kwsv2-title h2,
  .kwr-head h2,
  .kwres-head h2,
  .kwa-head h2,
  .kwn-head h2 {
    margin-top: 5px;
    font-size: clamp(25px, 7.4vw, 31px) !important;
    line-height: 1.35;
  }

  .khn-head p,
  .kwsv2-title p,
  .kwr-head p,
  .kwres-head p,
  .kwa-head p,
  .kwn-head p {
    margin-top: 6px !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .khn-head > a,
  .kwsv2-main-link,
  .kwr-head > a,
  .kwres-head > a,
  .kwa-head > a,
  .kwn-head > a {
    align-self: flex-start;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border: 1px solid var(--kwd-line);
    border-radius: 8px;
    background: #fff;
    font-size: 14px !important;
  }

  /* ----------------------------------------------------------------------
     Hero — one strong feature + two full-width secondary cards
     ---------------------------------------------------------------------- */
  .khn-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .khn-featured {
    min-height: 0 !important;
    aspect-ratio: 4 / 3;
    border-radius: var(--kw-mobile-radius) !important;
  }

  .khn-featured-image,
  .khn-featured-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .khn-featured-overlay {
    padding: 20px !important;
  }

  .khn-featured h2 {
    margin-top: 9px;
    font-size: clamp(24px, 7.2vw, 30px) !important;
    line-height: 1.4;
  }

  .khn-featured h2 a {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .khn-featured p {
    display: none !important;
  }

  .khn-meta,
  .khn-side-meta {
    gap: 8px !important;
    flex-wrap: wrap;
  }

  .khn-side {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 0 !important;
  }

  .khn-side-card {
    min-height: 0 !important;
    aspect-ratio: 16 / 8.4;
    border-radius: 14px !important;
  }

  .khn-side-overlay {
    padding: 16px !important;
  }

  .khn-side-overlay h3 {
    margin-top: 7px;
    font-size: 18px !important;
    line-height: 1.5;
  }

  /* ----------------------------------------------------------------------
     Surveys — action first, archive below
     ---------------------------------------------------------------------- */
  .kwsv2-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .kwsv2-feature-card {
    order: 0;
    height: auto !important;
    padding: 22px !important;
    border-radius: var(--kw-mobile-radius) !important;
  }

  .kwsv2-feature-card h3 {
    font-size: 23px !important;
    line-height: 1.45;
  }

  .kwsv2-feature-card p {
    font-size: 15px !important;
    line-height: 1.8;
  }

  .kwsv2-feature-facts {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 9px !important;
  }

  .kwsv2-feature-facts > div {
    min-width: 0;
  }

  .kwsv2-feature-action {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }

  .kwsv2-archive {
    order: 1;
  }

  .kwsv2-archive-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    margin: 2px 0 10px !important;
  }

  .kwsv2-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .kwsv2-card:last-child:nth-child(odd) {
    grid-column: auto !important;
  }

  .kwsv2-card-link {
    padding: 15px 16px !important;
  }

  .kwsv2-card h3 {
    font-size: 17px !important;
    line-height: 1.55;
  }

  .kwsv2-card p {
    font-size: 14px !important;
    line-height: 1.7;
  }

  /* ----------------------------------------------------------------------
     Research — publication card then compact library list
     ---------------------------------------------------------------------- */
  .kwr-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .kwr-main {
    border-radius: var(--kw-mobile-radius) !important;
    overflow: hidden;
  }

  .kwr-main-image {
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
  }

  .kwr-main-content {
    padding: 20px !important;
  }

  .kwr-main h3 {
    font-size: 23px !important;
    line-height: 1.5;
  }

  .kwr-main-content > p {
    font-size: 15px !important;
    line-height: 1.8;
  }

  .kwr-publication-meta {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  .kwr-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border-radius: var(--kw-mobile-radius) !important;
    overflow: hidden;
  }

  .kwr-list-head {
    grid-column: auto !important;
  }

  .kwr-item {
    display: grid !important;
    grid-template-columns: 98px minmax(0,1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 12px !important;
    border-left: 0 !important;
  }

  .kwr-item-image {
    width: 98px !important;
    height: 78px !important;
    aspect-ratio: auto !important;
    border-radius: 9px !important;
    overflow: hidden;
  }

  .kwr-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .kwr-item h4 {
    margin-top: 5px;
    font-size: 16px !important;
    line-height: 1.55;
  }

  /* ----------------------------------------------------------------------
     Results — dashboard becomes a compact top panel
     ---------------------------------------------------------------------- */
  .kwres-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .kwres-dashboard {
    order: 0;
    height: auto !important;
    padding: 20px !important;
    border-radius: var(--kw-mobile-radius) !important;
  }

  .kwres-dashboard h3 {
    font-size: 23px !important;
    line-height: 1.5;
  }

  .kwres-dashboard > p {
    font-size: 15px !important;
    line-height: 1.75;
  }

  .kwres-stats {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  .kwres-stats > div:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .kwres-tags {
    gap: 7px !important;
  }

  .kwres-content {
    order: 1;
    min-width: 0;
  }

  .kwres-feature {
    display: grid !important;
    grid-template-columns: 1fr !important;
    border-radius: var(--kw-mobile-radius) !important;
    overflow: hidden;
  }

  .kwres-feature-image {
    min-height: 0 !important;
    aspect-ratio: 16 / 9;
  }

  .kwres-feature-content {
    padding: 20px !important;
  }

  .kwres-feature h3 {
    font-size: 22px !important;
    line-height: 1.55;
  }

  .kwres-facts {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  .kwres-timeline {
    margin-top: 8px;
  }

  .kwres-timeline-item {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .kwres-timeline-date {
    padding-top: 0 !important;
  }

  .kwres-timeline-card {
    padding: 14px 15px !important;
  }

  /* ----------------------------------------------------------------------
     Analysis — new card design stays intact on mobile
     ---------------------------------------------------------------------- */
  .kwa-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .kwa-card {
    border-radius: var(--kw-mobile-radius) !important;
  }

  .kwa-card-image {
    aspect-ratio: 16 / 9 !important;
  }

  .kwa-card-content {
    padding: 15px 16px 17px !important;
  }

  .kwa-card h3 {
    font-size: 18px !important;
  }

  /* ----------------------------------------------------------------------
     News — one main card + compact horizontal feed
     ---------------------------------------------------------------------- */
  .kwn-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .kwn-main-news {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: hidden;
    border-radius: var(--kw-mobile-radius) !important;
  }

  .kwn-main-img {
    min-height: 0 !important;
    aspect-ratio: 16 / 9;
  }

  .kwn-main-content {
    padding: 19px !important;
  }

  .kwn-main-content h3 {
    font-size: 22px !important;
    line-height: 1.5;
  }

  .kwn-main-content p {
    font-size: 15px !important;
    line-height: 1.8;
  }

  .kwn-news-feed {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .kwn-feed-item {
    display: grid !important;
    grid-template-columns: 105px minmax(0,1fr) !important;
    gap: 12px !important;
    min-height: 0 !important;
    align-items: center;
  }

  .kwn-feed-img {
    width: 105px;
    height: 82px;
    min-height: 82px !important;
    border-radius: 9px;
    overflow: hidden;
  }

  .kwn-feed-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .kwn-feed-content {
    padding: 11px 12px 11px 0 !important;
  }

  .kwn-feed-content h4 {
    margin: 4px 0;
    font-size: 16px !important;
    line-height: 1.5;
  }

  .kwn-sidebar {
    padding: 16px !important;
    border-radius: var(--kw-mobile-radius) !important;
  }

  /* ----------------------------------------------------------------------
     Services / About / CTA
     ---------------------------------------------------------------------- */
  .kwsvc-layout {
    gap: 16px !important;
  }

  .kwsvc-intro {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding-bottom: 16px !important;
  }

  .kwsvc-intro h2 {
    font-size: 25px !important;
    line-height: 1.4;
  }

  .kwsvc-intro p {
    font-size: 15px !important;
    line-height: 1.8;
  }

  .kwsvc-intro > a {
    justify-self: start !important;
    margin-top: 4px;
  }

  .kwsvc-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .kwsvc-card-link {
    padding: 16px !important;
  }

  .kwsvc-content h3 {
    font-size: 18px !important;
    line-height: 1.5;
  }

  .kwsvc-content p {
    font-size: 14px !important;
    line-height: 1.7;
  }

  .kwabout-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .kwabout-content h2 {
    font-size: 26px !important;
    line-height: 1.4;
  }

  .kwabout-content p {
    font-size: 15px !important;
    line-height: 1.85;
  }

  .kwabout-panel {
    padding: 18px !important;
    border-radius: var(--kw-mobile-radius) !important;
  }

  .kwabout-stats {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 7px !important;
  }

  .kwabout-stats > div {
    min-width: 0;
    padding: 12px 8px !important;
  }

  .kwabout-stats strong {
    font-size: 22px !important;
  }

  .kwabout-stats span {
    font-size: 14px !important;
    line-height: 1.45;
  }

  .kwcta2-box {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 22px !important;
    border-radius: 18px !important;
  }

  .kwcta2-content h2 {
    font-size: clamp(27px, 8vw, 34px) !important;
    line-height: 1.45;
  }

  .kwcta2-content > p {
    font-size: 15px !important;
    line-height: 1.8;
  }

  .kwcta2-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
  }

  .kwcta2-primary,
  .kwcta2-secondary {
    min-height: 44px;
    justify-content: center;
    text-align: center;
  }

  .kwcta2-strip {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .kwcta2-latest {
    grid-column: 1 / -1;
  }

  /* ----------------------------------------------------------------------
     Footer
     ---------------------------------------------------------------------- */
  .kwf-main {
    padding: 34px 0 26px !important;
  }

  .kwf-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .kwf-logo {
    padding: 9px 11px !important;
    margin-bottom: 12px !important;
  }

  .kwf-logo img {
    width: min(220px, 72vw) !important;
    max-height: 72px !important;
  }

  .kwf-about > p,
  .kwf-menu a,
  .kwf-post-link span,
  .kwf-contact-mini,
  .kwf-contact-mini a,
  .kwf-contact-mini span {
    font-size: 14px !important;
    line-height: 1.75;
  }

  .kwf-middle-inner,
  .kwf-bottom-inner {
    padding-block: 14px !important;
  }

  .kwf-surveys {
    display: grid;
    gap: 10px;
  }

  .kwf-inline-menu {
    gap: 8px 12px !important;
  }

  .kwf-bottom-inner {
    min-height: 0 !important;
    gap: 10px;
  }

  .kwf-bottom-links {
    flex-wrap: wrap;
    gap: 8px 14px;
  }

  /* ----------------------------------------------------------------------
     Internal pages / archives / singles
     ---------------------------------------------------------------------- */
  .kw-page-hero,
  .kw-page-hero--accent,
  .kw-page-hero--dark,
  .kw-single__header {
    padding: 32px 0 35px !important;
  }

  .kw-page-hero::before,
  .kw-single__header::before {
    width: 210px !important;
    height: 210px !important;
    left: -95px !important;
    top: -105px !important;
    border-width: 38px !important;
  }

  .kw-page-hero h1,
  .kw-single__header h1 {
    max-width: none !important;
    margin: 6px 0 9px !important;
    font-size: clamp(28px, 8.1vw, 34px) !important;
    line-height: 1.35 !important;
  }

  .kw-page-hero p,
  .kw-page-hero__desc,
  .kw-single__lead {
    max-width: none !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  body.page:not(.home) .kw-section,
  body.single .kw-section,
  body.archive .kw-section,
  body.search .kw-section {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  .kw-two-col,
  .kw-contact-grid,
  .kw-single__layout {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .kw-single__layout {
    padding-top: 28px !important;
    padding-bottom: 42px !important;
  }

  .kw-single__aside {
    position: static !important;
    top: auto !important;
    order: 2;
  }

  .kw-single__media {
    margin-top: 20px !important;
  }

  .kw-single__media img {
    max-height: none !important;
    aspect-ratio: 16 / 10;
    border-radius: 14px !important;
    object-fit: cover;
  }

  .kw-prose,
  .kw-entry-content {
    font-size: 16px !important;
    line-height: 1.95 !important;
  }

  .kw-prose h2,
  .kw-entry-content h2 {
    font-size: 24px !important;
    line-height: 1.5;
  }

  .kw-prose h3,
  .kw-entry-content h3 {
    font-size: 20px !important;
    line-height: 1.55;
  }

  .kw-contact-info,
  .kw-contact-form-wrap {
    padding: 20px !important;
    border-radius: 14px !important;
  }

  .kw-services-grid,
  .kw-three-values,
  .kw-card-grid,
  .kw-archive-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

@media (max-width: 560px) {
  :root {
    --kw-mobile-gutter: 12px;
  }

  .kwd-brand-inner {
    min-height: 64px !important;
  }

  .kwd-logo img {
    width: min(205px, 66vw) !important;
  }

  .kwd-nav-inner {
    min-height: 54px !important;
  }

  .kwd-survey-cta {
    max-width: calc(100vw - 130px);
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .kwd-survey-cta__dot {
    display: none;
  }

  .kwd-main-nav {
    right: 8px !important;
    left: 8px !important;
  }

  .kwd-updates-title {
    max-width: 112px;
  }

  .kwd-ticker-group a {
    max-width: 235px;
  }

  .khn-home,
  .kwsv2-section,
  .kwr-section,
  .kwres-section,
  .kwa-section,
  .kwn-section,
  .kwsvc-section,
  .kwabout-section {
    padding: 32px 0 !important;
  }

  .khn-home {
    padding-top: 24px !important;
  }

  .khn-featured {
    aspect-ratio: 1 / 1.08;
  }

  .khn-featured-overlay {
    padding: 17px !important;
  }

  .khn-featured h2 {
    font-size: 24px !important;
  }

  .khn-side-card {
    aspect-ratio: 16 / 9.4;
  }

  .kwsv2-feature-facts,
  .kwr-publication-meta,
  .kwres-stats,
  .kwres-facts {
    grid-template-columns: 1fr 1fr !important;
  }

  .kwr-publication-meta > div:last-child:nth-child(odd),
  .kwres-facts > div:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .kwr-item {
    grid-template-columns: 86px minmax(0,1fr) !important;
  }

  .kwr-item-image {
    width: 86px !important;
    height: 72px !important;
  }

  .kwn-feed-item {
    grid-template-columns: 92px minmax(0,1fr) !important;
  }

  .kwn-feed-img {
    width: 92px;
    height: 76px;
    min-height: 76px !important;
  }

  .kwabout-stats {
    grid-template-columns: 1fr !important;
  }

  .kwabout-stats > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-align: start;
  }

  .kwcta2-actions {
    grid-template-columns: 1fr !important;
  }

  .kw-page-hero,
  .kw-page-hero--accent,
  .kw-page-hero--dark,
  .kw-single__header {
    padding: 28px 0 31px !important;
  }

  .kw-page-hero h1,
  .kw-single__header h1 {
    font-size: 28px !important;
  }
}

@media (max-width: 380px) {
  .kwd-survey-cta {
    padding-inline: 9px;
    font-size: 14px !important;
  }

  .kwd-updates-title {
    max-width: 102px;
    padding-inline: 8px !important;
  }

  .kwd-ticker-group a {
    max-width: 205px;
  }

  .khn-head h1,
  .kwsv2-title h2,
  .kwr-head h2,
  .kwres-head h2,
  .kwa-head h2,
  .kwn-head h2,
  .kwsvc-intro h2,
  .kwabout-content h2 {
    font-size: 24px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kwd-main-nav {
    transition: none !important;
  }
}
