/* NewsHub — shared styles */
* { box-sizing: border-box; }
body { margin: 0; background: #fff; color: #130F25; font-family: var(--font-sans); }
body.menu-open { overflow: hidden; }

.material-symbols-rounded {
  font-family: 'Material Symbols Rounded';
  font-weight: normal; font-style: normal; line-height: 1;
  letter-spacing: normal; text-transform: none; display: inline-block;
  white-space: nowrap; word-wrap: normal; direction: ltr;
  -webkit-font-feature-settings: 'liga'; font-feature-settings: 'liga';
  font-variation-settings: 'FILL' 1,'wght' 500,'GRAD' 0,'opsz' 24;
  -webkit-font-smoothing: antialiased;
}

/* Buttons */
.ps-btn { border: 0; font-family: inherit; font-weight: 700; font-size: 14px; padding: 11px 22px;
  border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
  white-space: nowrap; transition: background .22s cubic-bezier(.22,1,.36,1), transform .1s, color .2s; }
.ps-btn:active { transform: scale(.98); }
.ps-btn-pink { background: var(--accent, #FF1675); color: #fff; }
.ps-btn-pink:hover { background: #E7005E; }
.ps-btn-inky { background: #130F25; color: #fff; }
.ps-btn-inky:hover { background: #2A2540; }
.ps-btn-ghost { background: transparent; color: #130F25; box-shadow: inset 0 0 0 1.5px #130F25; }
.ps-btn-ghost:hover { background: #130F25; color: #fff; }
.ps-btn-ghost-light { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.5); }
.ps-btn-ghost-light:hover { background: #fff; color: #130F25; box-shadow: inset 0 0 0 1.5px #fff; }
.ps-btn-lg { padding: 14px 28px; font-size: 15px; }

.eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; margin: 0; }

.wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.wrap-narrow { max-width: 1100px; margin: 0 auto; padding: 0 32px; }

/* Brand photo corner treatment: two diagonally opposite corners rounded 30px */
.photo-brand { border-radius: 30px 0 30px 0; overflow: hidden; position: relative; }
.photo-brand-alt { border-radius: 0 30px 0 30px; overflow: hidden; position: relative; }

/* Hover card lift */
.card-lift { transition: transform .22s cubic-bezier(.22,1,.36,1), box-shadow .22s; }
.card-lift:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(19,15,37,.14); }

/* Link arrow nudge */
.arrow-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: #E7005E; text-decoration: none; transition: gap .2s; }
.arrow-link:hover { gap: 10px; text-decoration: none; }

/* Tab */
.tab-btn { border: 0; background: transparent; font-family: inherit; font-size: 15px; font-weight: 600;
  color: #555; padding: 10px 0; cursor: pointer; position: relative; transition: color .2s; }
.tab-btn.active { color: #130F25; }
.tab-btn.active::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--accent, #FF1675); border-radius: 2px 2px 0 0; }
.tab-btn:hover { color: #130F25; }

/* Chip */
.chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px;
  font-size: 13px; font-weight: 600; background: #F7F5F4; color: #130F25; border: 1px solid transparent;
  cursor: pointer; transition: background .2s, color .2s, border .2s; }
.chip:hover { background: #ECE8E6; }
.chip.active { background: #130F25; color: #fff; }

/* Density */
body.density-compact .wrap { max-width: 1340px; }
body.density-compact section { padding-top: 56px !important; padding-bottom: 56px !important; }
body.density-compact .sec-grid { gap: 16px !important; }

/* Subtle triangle scatter background */
.triangle-scatter { position: absolute; inset: 0; pointer-events: none; opacity: .45; overflow: hidden; }

/* Progress bar / scrubber */
.scrub { height: 6px; background: rgba(255,255,255,.15); border-radius: 999px; cursor: pointer; position: relative; overflow: hidden; }
.scrub-fill { height: 100%; background: var(--accent, #FF1675); border-radius: 999px; }
.scrub.light { background: rgba(19,15,37,.08); }

/* Input */
.ps-input { width: 100%; box-sizing: border-box; padding: 12px 16px; border-radius: 999px;
  border: 1.5px solid rgba(19,15,37,.15); font-family: inherit; font-size: 14px; background: #fff;
  transition: border-color .2s; }
.ps-input:focus { outline: 0; border-color: #130F25; }

/* Section rhythm */
section { padding: 96px 0; }

@media (max-width: 900px) {
  section { padding: 64px 0; }
  .wrap, .wrap-narrow { padding: 0 20px; }
  .ps-btn,
  .ps-btn-lg {
    white-space: normal;
    justify-content: center;
    text-align: center;
  }
  .chip {
    min-height: 38px;
  }
}
