/* V14 visual upgrade: brand-led typography, quiet controls and wider media.
   VI color and existing local font assets are retained. */
:root {
  --cin-ink: var(--vi-n11);
  --cin-muted: var(--vi-n92);
  --cin-line: var(--vi-n217);
  --cin-radius: 8px;
  --max: 1440px;
  --pad-x: clamp(20px, 5vw, 80px);
  --ui-radius-media: 8px;
  --ui-radius-panel: 8px;
  --ui-radius-control: 4px;
  --ui-shadow-menu: 0 14px 36px rgb(11 11 11 / .1);
}
body { color: var(--cin-ink); }
body .wrap { max-width: min(var(--max), 100%); }
body main :is(h1,h2,h3) { text-wrap: balance; }
body main p { text-wrap: pretty; }
body .btn { border-radius: 4px; min-height: 50px; }
body .btn-primary { box-shadow: none; }
body .btn:hover { transform: none; }
body main :is(a,button,summary):focus-visible { outline: 2px solid var(--vi-n92); outline-offset: 5px; }
body main .on-dark :is(a,button,summary):focus-visible { outline-color: var(--teal); }
body main figcaption { letter-spacing: .005em; }
body .site-header { border-bottom: 1px solid var(--vi-n217); box-shadow: none; }
body .site-header .nav { max-width: 1600px; padding-inline: clamp(22px, 4vw, 64px); }
body .site-header .nav .btn { border-radius: 4px; }
body .site-header .nav-links > li > a { font-weight: 500; }
body .site-header .menu { border-radius: 6px; }
body .site-header .menu a { border-radius: 3px; }
body .site-header .nav-links a[aria-current],
body .site-header .nav-links a.current-section { text-decoration-thickness: 2px; text-underline-offset: 9px; }
body .site-header .has-menu .menu a[aria-current="page"] { text-decoration: none; background: var(--vi-n245); }
body .site-header .nav-burger { border-radius: 4px; }
body .te-footer.footer-v14 { background: var(--vi-n11); border-top: 1px solid var(--vi-n51); }
body .footer-v14 .footer-main { grid-template-columns: minmax(0,1.5fr) minmax(0,1.25fr) minmax(0,1fr); padding-block: 64px 52px; }
body .footer-v14 .footer-mission { font-size: clamp(25px,2.1vw,32px); line-height: 1.25; max-width: 21ch; margin-top: 32px; }
body .footer-v14 .footer-summary { color: var(--vi-n189); }
body .footer-v14 .footer-group h2 { color: var(--vi-n153); font-size: 12px; letter-spacing: .07em; }
body .footer-v14 .footer-navigation a { min-height: 42px; }
body .te-footer.footer-v14 .footer-socials a { border-radius: 3px; }
@media (min-width:1081px) and (max-width:1240px) {
  body .site-header .nav { padding-inline: 24px; gap: 12px; }
  body .site-header .nav-links { gap: 13px; }
}
@media (max-width:1000px) {
  body .footer-v14 .footer-main { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); }
}
@media (max-width:600px) {
  body .site-header .nav { padding-inline: 14px; }
  body .footer-v14 .footer-main { grid-template-columns: minmax(0,1fr); padding-block: 40px 30px; }
  body .footer-v14 .footer-mission { max-width: 24ch; margin-top: 24px; }
  body .footer-v14 .footer-navigation a { min-height: 44px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
}
