/* codec.software ------------------------------------------------- */

:root {
  --bg: #ffffff;
  --bg-soft: #f7f9fc;
  --bg-accent: #f3f7ff;
  --text: #111827;
  --text-soft: #5f6b7a;
  --text-faint: #7f8a98;
  --line: #dfe5ec;
  --line-strong: #cfd8e3;
  --blue: #1769e0;
  --blue-dark: #0f55bd;
  --blue-soft: #eaf2ff;
  --shadow-sm: 0 2px 8px rgba(17,24,39,.05);
  --shadow-md: 0 10px 30px rgba(17,24,39,.08);
  --radius-sm: 8px;
  --radius-md: 12px;
  --container: 1180px;
}

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button { color:inherit; }

.container { width:min(calc(100% - 48px),var(--container)); margin-inline:auto; }
.container.narrow { max-width:900px; }
.section { padding:70px 0; }
.section-bordered { border-top:1px solid var(--line); }
.skip-link { position:absolute; left:16px; top:-60px; z-index:9999; padding:10px 14px; border-radius:8px; background:var(--text); color:#fff; }
.skip-link:focus { top:16px; }

/* Header */
.site-header {
  position:sticky; top:0; z-index:1000;
  border-bottom:1px solid rgba(223,229,236,.9);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
}
.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; flex-direction:column; gap:1px; line-height:1.1; }
.brand-name { color:var(--blue); font-size:1.28rem; font-weight:760; letter-spacing:-.03em; }
.brand-byline { color:var(--text-soft); font-size:.72rem; font-weight:500; }
.primary-nav { display:flex; align-items:center; gap:34px; }
.primary-nav a,.footer-links a { color:#263243; font-size:.92rem; font-weight:600; }
.primary-nav a { position:relative; padding:26px 0 24px; }
.primary-nav a::after {
  content:""; position:absolute; left:0; right:100%; bottom:17px;
  height:2px; border-radius:10px; background:var(--blue);
  transition:right .2s ease;
}
.primary-nav a:hover::after,.primary-nav a:focus-visible::after,.primary-nav a[aria-current="page"]::after { right:0; }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:9px; background:#fff; align-items:center; justify-content:center; flex-direction:column; gap:5px; cursor:pointer; }
.menu-toggle span { width:19px; height:2px; border-radius:5px; background:var(--text); transition:transform .2s ease,opacity .2s ease; }

/* General type/buttons */
.eyebrow { margin:0 0 10px; color:var(--blue); font-size:.76rem; font-weight:760; letter-spacing:.09em; text-transform:uppercase; }
.button-row { display:flex; flex-wrap:wrap; gap:13px; margin-top:30px; }
.button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; border-radius:8px; padding:0 19px; font-size:.9rem; font-weight:700; transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease; }
.button:hover { transform:translateY(-1px); }
.button-primary { color:#fff; background:var(--blue); box-shadow:0 6px 18px rgba(23,105,224,.18); }
.button-primary:hover,.button-primary:focus-visible { background:var(--blue-dark); }
.button-secondary { border-color:#8bb2ec; color:var(--blue-dark); background:#fff; }
.button-secondary:hover,.button-secondary:focus-visible { border-color:var(--blue); background:var(--blue-soft); }
.text-link,.card-link { color:var(--blue); font-weight:700; }

/* Home hero */
.hero {
  padding-top:90px; padding-bottom:84px;
  background:radial-gradient(circle at 78% 22%,rgba(23,105,224,.07),transparent 30%),linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); align-items:center; gap:80px; }
.hero h1 { max-width:760px; margin:0; font-size:clamp(2.7rem,5vw,4.7rem); line-height:.99; letter-spacing:-.055em; font-weight:760; }
.hero h1 span { display:block; color:var(--blue); }
.hero-intro { max-width:640px; margin:25px 0 0; color:var(--text-soft); font-size:1.1rem; }

.terminal-card { overflow:hidden; border:1px solid var(--line-strong); border-radius:var(--radius-md); background:rgba(255,255,255,.82); box-shadow:var(--shadow-md); }
.terminal-topbar { height:34px; display:flex; align-items:center; gap:7px; padding:0 13px; border-bottom:1px solid var(--line); background:#f5f7fa; }
.terminal-topbar span { width:8px; height:8px; border-radius:50%; background:#c8d0da; }
.terminal-card pre,.code-panel pre { margin:0; overflow-x:auto; font-family:"Cascadia Code","SFMono-Regular",Consolas,"Liberation Mono",monospace; }
.terminal-card pre { padding:24px; color:#263243; font-size:.82rem; line-height:1.7; white-space:pre-wrap; }

/* Home cards */
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:23px; }
.section-heading h2 { margin:0; font-size:1.8rem; line-height:1.15; letter-spacing:-.035em; }
.converters-heading { margin-top:46px; }
.card-grid { display:grid; gap:16px; }
.card-grid-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.card-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:720px; }
.software-card { min-height:194px; display:flex; flex-direction:column; padding:20px; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; box-shadow:var(--shadow-sm); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.software-card:hover { transform:translateY(-2px); border-color:#b8cce9; box-shadow:0 10px 24px rgba(17,24,39,.07); }
.software-icon { min-width:42px; width:fit-content; height:42px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:15px; padding:0 9px; border:1px solid #cfe0fa; border-radius:9px; color:var(--blue); background:var(--blue-soft); font-size:.73rem; font-weight:800; }
.software-card h3 { margin:0; font-size:1.04rem; line-height:1.25; letter-spacing:-.02em; }
.software-card p { margin:7px 0 16px; color:var(--text-soft); font-size:.88rem; }
.card-link { margin-top:auto; font-size:.82rem; }
.software-card-wide { min-height:138px; flex-direction:row; align-items:flex-start; gap:17px; }
.software-card-wide .software-icon { flex:0 0 auto; margin-bottom:0; }

.trust-strip { padding-top:42px; padding-bottom:42px; background:var(--bg-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.trust-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; }
.trust-item { display:flex; align-items:flex-start; gap:13px; }
.trust-mark { flex:0 0 auto; width:31px; height:31px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; border:1px solid #c9dcf8; color:var(--blue); background:#fff; font-size:.9rem; font-weight:800; }
.trust-item h3 { margin:0 0 4px; font-size:.87rem; }
.trust-item p { margin:0; color:var(--text-soft); font-size:.8rem; line-height:1.5; }

/* General page hero */
.page-hero,.product-hero { background:linear-gradient(180deg,#fff 0%,#fbfdff 100%); }
.page-hero h1 { max-width:850px; margin:0; font-size:clamp(2.5rem,5vw,4rem); line-height:1.04; letter-spacing:-.05em; }
.page-intro { max-width:780px; margin:20px 0 0; color:var(--text-soft); font-size:1.08rem; }

/* Product pages */
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:42px; color:var(--text-faint); font-size:.78rem; }
.breadcrumbs a { color:var(--blue); }
.product-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(310px,.65fr); gap:70px; align-items:start; }
.product-intro h1 { margin:0; font-size:clamp(3rem,6vw,5rem); line-height:.95; letter-spacing:-.055em; }
.product-tagline { margin:14px 0 0; font-size:1.45rem; font-weight:700; letter-spacing:-.025em; }
.product-io { margin:10px 0 0; color:var(--blue-dark); font-weight:650; }
.product-summary { max-width:760px; margin:22px 0 0; color:var(--text-soft); font-size:1.03rem; }
.product-buttons .button { min-width:160px; min-height:54px; }
.product-buttons .button span { display:flex; flex-direction:column; line-height:1.15; }
.product-buttons small { margin-top:4px; font-size:.7rem; font-weight:500; opacity:.82; }

.product-facts { border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-sm); }
.product-facts dl { margin:0; }
.product-facts dl div { display:grid; grid-template-columns:110px 1fr; gap:20px; padding:14px 17px; border-bottom:1px solid var(--line); }
.product-facts dl div:last-child { border-bottom:0; }
.product-facts dt { color:var(--text-soft); font-size:.8rem; font-weight:650; }
.product-facts dd { margin:0; font-size:.82rem; }

.product-tabs-wrap { position:sticky; top:76px; z-index:900; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(10px); }
.product-tabs { display:flex; gap:30px; overflow-x:auto; scrollbar-width:none; }
.product-tabs::-webkit-scrollbar { display:none; }
.product-tabs a { flex:0 0 auto; padding:16px 0 14px; color:#445064; font-size:.82rem; font-weight:650; border-bottom:2px solid transparent; }
.product-tabs a:hover { color:var(--blue); border-bottom-color:var(--blue); }

.product-content-grid { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:70px; align-items:start; }
.product-main > h2 { margin:0; font-size:2rem; letter-spacing:-.035em; }
.lead { margin:14px 0 0; color:var(--text-soft); font-size:1.05rem; }
.content-section { padding-top:42px; margin-top:42px; border-top:1px solid var(--line); }
.content-section h2 { margin:0 0 18px; font-size:1.45rem; letter-spacing:-.025em; }
.content-section p { color:var(--text-soft); }
.feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 28px; padding-left:20px; }
.feature-list li { padding-left:3px; color:#334155; }

.code-panel { overflow:hidden; border:1px solid var(--line-strong); border-radius:var(--radius-md); background:#fbfcfe; }
.code-panel-label { padding:9px 14px; border-bottom:1px solid var(--line); color:var(--text-faint); background:#f5f7fa; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.code-panel pre { padding:19px; color:#263243; font-size:.82rem; }

.download-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.download-card { display:flex; flex-direction:column; padding:18px; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; }
.download-card strong { font-size:1rem; }
.download-card span { margin-top:3px; color:var(--text-soft); font-size:.8rem; }
.download-card em { margin-top:14px; color:var(--blue); font-size:.8rem; font-style:normal; font-weight:700; }

.verification-box { margin-top:22px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--line); }
.verification-box > div { padding:16px; background:#fff; }
.verification-label,.side-label { display:block; margin-bottom:4px; color:var(--text-faint); font-size:.7rem; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }

.product-side { display:flex; flex-direction:column; gap:14px; position:sticky; top:150px; }
.side-card { padding:17px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--bg-soft); }
.side-card strong { display:block; }
.side-card p { margin:5px 0 0; color:var(--text-soft); font-size:.82rem; }
.side-card code { color:var(--blue-dark); font-size:.8rem; }
.side-card a { display:block; margin-top:7px; color:var(--blue); font-size:.82rem; font-weight:700; }

/* Catalogue */
.catalogue-list { display:flex; flex-direction:column; gap:14px; }
.catalogue-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center; padding:24px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-sm); }
.catalogue-row h2 { margin:4px 0 7px; font-size:1.3rem; }
.catalogue-row h2 a:hover { color:var(--blue); }
.catalogue-row p { max-width:760px; margin:0; color:var(--text-soft); font-size:.9rem; }
.catalogue-type { color:var(--blue); font-size:.7rem; font-weight:750; text-transform:uppercase; letter-spacing:.07em; }
.catalogue-meta { display:flex; flex-direction:column; align-items:flex-end; gap:12px; color:var(--text-soft); font-size:.8rem; }

/* Downloads */
.downloads-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-md); }
.downloads-table { width:100%; border-collapse:collapse; min-width:760px; }
.downloads-table th,.downloads-table td { padding:15px 16px; border-bottom:1px solid var(--line); text-align:left; font-size:.84rem; }
.downloads-table th { background:var(--bg-soft); color:#425066; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; }
.downloads-table tr:last-child td { border-bottom:0; }
.verification-note { margin-top:24px; padding:20px; border:1px solid #cfe0fa; border-radius:var(--radius-sm); background:var(--bg-accent); }
.verification-note p { margin:5px 0 0; color:var(--text-soft); }

.prose { max-width:820px; }
.prose h2 { margin:36px 0 10px; font-size:1.45rem; }
.prose h2:first-child { margin-top:0; }
.prose p { color:var(--text-soft); }

/* Footer */
.site-footer { padding:44px 0 24px; border-top:1px solid var(--line); background:#f8fafc; }
.footer-grid { display:flex; justify-content:space-between; gap:40px; }
.brand-footer .brand-name { font-size:1.1rem; }
.footer-copy { margin:12px 0 0; color:var(--text-soft); font-size:.85rem; }
.footer-links { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:flex-end; gap:18px 26px; }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; margin-top:34px; padding-top:20px; border-top:1px solid var(--line); }
.footer-bottom p { margin:0; color:var(--text-faint); font-size:.73rem; }

a:focus-visible,button:focus-visible { outline:3px solid rgba(23,105,224,.22); outline-offset:3px; }

/* Tablet */
@media (max-width:1000px) {
  .hero-grid,.product-hero-grid { grid-template-columns:1fr; gap:44px; }
  .terminal-card { max-width:700px; }
  .card-grid-five { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-facts { max-width:620px; }
  .product-content-grid { grid-template-columns:1fr; gap:44px; }
  .product-side { position:static; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Mobile */
@media (max-width:760px) {
  .container { width:min(calc(100% - 30px),var(--container)); }
  .section { padding:50px 0; }
  .header-inner { min-height:68px; }
  .brand-name { font-size:1.14rem; }
  .menu-toggle { display:inline-flex; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

  .primary-nav {
    position:absolute; left:0; right:0; top:68px;
    display:none; flex-direction:column; align-items:stretch; gap:0;
    padding:10px 15px 16px; border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.98); box-shadow:0 16px 28px rgba(17,24,39,.08);
  }
  .primary-nav.is-open { display:flex; }
  .primary-nav a { padding:14px 10px; border-bottom:1px solid #edf1f5; font-size:.95rem; }
  .primary-nav a:last-child { border-bottom:0; }
  .primary-nav a::after { display:none; }

  .hero { padding-top:58px; padding-bottom:54px; }
  .hero h1 { font-size:clamp(2.4rem,12vw,3.45rem); }
  .hero-intro { margin-top:20px; font-size:1rem; }
  .button-row { display:grid; grid-template-columns:1fr 1fr; }
  .button { width:100%; min-height:45px; padding-inline:12px; }

  .terminal-card pre { padding:19px; font-size:.74rem; }
  .desktop-only { display:none; }
  .card-grid-five,.card-grid-two { grid-template-columns:1fr; max-width:none; }

  .software-card { min-height:auto; display:grid; grid-template-columns:46px minmax(0,1fr) auto; grid-template-rows:auto auto; column-gap:13px; align-items:center; padding:15px; }
  .software-card .software-icon { grid-column:1; grid-row:1/span 2; margin:0; }
  .software-card h3 { grid-column:2; grid-row:1; font-size:.96rem; }
  .software-card p { grid-column:2; grid-row:2; margin:3px 0 0; font-size:.78rem; }
  .software-card .card-link { grid-column:3; grid-row:1/span 2; margin:0; font-size:0; }
  .software-card .card-link span { display:inline; font-size:1rem; }
  .software-card-wide { min-height:auto; }
  .converters-heading { margin-top:38px; }

  .trust-grid { grid-template-columns:1fr; gap:21px; }

  .breadcrumbs { margin-bottom:30px; }
  .product-intro h1 { font-size:clamp(2.7rem,14vw,4rem); }
  .product-tagline { font-size:1.2rem; }
  .product-tabs-wrap { top:68px; }
  .product-tabs { gap:22px; }
  .feature-list,.download-grid,.verification-box { grid-template-columns:1fr; }
  .product-side { grid-template-columns:1fr; }
  .product-facts dl div { grid-template-columns:100px 1fr; }

  .catalogue-row { grid-template-columns:1fr; }
  .catalogue-meta { align-items:flex-start; }

  .footer-grid,.footer-bottom { flex-direction:column; }
  .footer-links { justify-content:flex-start; }
  .footer-bottom { gap:8px; }
}

@media (max-width:430px) {
  .container { width:min(calc(100% - 24px),var(--container)); }
  .button-row { grid-template-columns:1fr; }
  .hero h1 { font-size:2.32rem; }
  .terminal-card pre { font-size:.7rem; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}


/* Product comparisons and command examples ---------------- */

.difference-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}

.difference-card {
  padding:19px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:linear-gradient(180deg,#fff 0%,#f9fbfe 100%);
}

.difference-card h3 {
  margin:0 0 8px;
  font-size:.95rem;
  letter-spacing:-.015em;
}

.difference-card p {
  margin:0;
  font-size:.84rem;
  line-height:1.58;
}

.command-list {
  display:flex;
  flex-direction:column;
  gap:24px;
}

.command-example {
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:24px;
  align-items:start;
}

.command-copy h3 {
  margin:2px 0 5px;
  font-size:.94rem;
}

.command-copy p {
  margin:0;
  font-size:.8rem;
  line-height:1.5;
}

.project-notes {
  padding:20px;
  margin-top:42px;
  border:1px solid #dbe6f5;
  border-radius:var(--radius-sm);
  background:#f8fbff;
}

.project-notes h2 {
  font-size:1rem;
  margin-bottom:9px;
}

.project-notes p {
  margin:5px 0 0;
  font-size:.82rem;
}

@media (max-width:900px) {
  .difference-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width:760px) {
  .command-example {
    grid-template-columns:1fr;
    gap:10px;
  }

  .difference-card {
    padding:16px;
  }
}


.footer-sponsor a {
  color: var(--blue);
}

.footer-sponsor a:hover,
.footer-sponsor a:focus-visible {
  color: var(--blue-dark);
  text-decoration: underline;
}


/* Quality/bitrate mode emphasis -------------------------------- */

.difference-card:first-child {
  border-color:#c9dcf8;
  background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%);
}


.verification-box-single {
  grid-template-columns: 1fr;
}


/* External project resources ----------------------------------- */

.resource-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}

.resource-card {
  display:flex;
  flex-direction:column;
  min-height:150px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.resource-card:hover {
  transform:translateY(-2px);
  border-color:#b8cce9;
  box-shadow:0 10px 24px rgba(17,24,39,.07);
}

.resource-card strong {
  font-size:.95rem;
}

.resource-card span {
  margin-top:6px;
  color:var(--text-soft);
  font-size:.82rem;
  line-height:1.55;
}

.resource-card em {
  margin-top:auto;
  padding-top:14px;
  color:var(--blue);
  font-size:.8rem;
  font-style:normal;
  font-weight:700;
}

@media (max-width:760px) {
  .resource-grid {
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   Visual refresh v14
   ===================================================================== */

:root {
  --bg: #f8fbff;
  --bg-soft: #f2f6fb;
  --bg-accent: #eef5ff;
  --surface: rgba(255,255,255,.88);
  --surface-strong: #ffffff;
  --surface-alt: #f9fbfe;
  --text: #0f172a;
  --text-soft: #526173;
  --text-faint: #738095;
  --line: #d9e3ef;
  --line-strong: #c8d5e4;
  --blue: #1668df;
  --blue-dark: #0f56bc;
  --blue-soft: #e8f0ff;
  --blue-softer: #f4f8ff;
  --shadow-sm: 0 6px 18px rgba(15, 23, 42, 0.05);
  --shadow-md: 0 14px 40px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 24px 70px rgba(15, 23, 42, 0.10);
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 24px;
}

body {
  background:
    radial-gradient(circle at 8% 4%, rgba(22,104,223,.06), transparent 24%),
    radial-gradient(circle at 92% 10%, rgba(22,104,223,.07), transparent 22%),
    linear-gradient(180deg, #fbfdff 0%, #f6f9fd 100%);
  color: var(--text);
}

.site-header-elevated {
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 28px rgba(15,23,42,.04);
}

.brand-name {
  letter-spacing: -.04em;
}

.brand-byline {
  letter-spacing: .01em;
}

.primary-nav a,
.footer-links a {
  color: #1f2d3d;
}

.primary-nav a:hover,
.primary-nav a:focus-visible {
  color: var(--blue-dark);
}

.hero-refined {
  position: relative;
  overflow: hidden;
  padding-top: 104px;
  padding-bottom: 92px;
  background:
    radial-gradient(circle at 78% 22%, rgba(22,104,223,.10), transparent 28%),
    radial-gradient(circle at 16% 72%, rgba(22,104,223,.06), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(245,249,255,.98) 100%);
}

.hero-refined::before {
  content: "";
  position: absolute;
  inset: auto -10% 0 auto;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(22,104,223,.08) 0%, rgba(22,104,223,0) 68%);
  pointer-events: none;
}

.hero h1 {
  max-width: 720px;
}

.hero-intro {
  max-width: 620px;
  font-size: 1.08rem;
}

.section-soft {
  position: relative;
}

.section-soft::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 100%);
}

.terminal-card {
  position: relative;
  border: 1px solid rgba(200,213,228,.9);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(249,251,254,.94) 100%);
  box-shadow: var(--shadow-lg);
}

.terminal-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  pointer-events: none;
}

.terminal-topbar {
  background: linear-gradient(180deg, #f6f8fb 0%, #eef3f8 100%);
}

.section-heading h2,
.page-hero h1,
.product-main > h2,
.content-section h2 {
  letter-spacing: -.04em;
}

.software-card,
.catalogue-row,
.product-facts,
.side-card,
.download-card,
.resource-card,
.difference-card,
.command-example .code-panel,
.downloads-table-wrap,
.verification-note,
.project-notes {
  backdrop-filter: blur(8px);
}

.software-card {
  border: 1px solid rgba(211,223,237,.96);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(249,251,254,.96) 100%);
  box-shadow: var(--shadow-sm);
}

.software-card:hover {
  transform: translateY(-3px);
  border-color: #b8d0f0;
  box-shadow: 0 18px 34px rgba(15,23,42,.08);
}

.software-icon {
  border-radius: 12px;
  border-color: #c9ddfb;
  background: linear-gradient(180deg, #f8fbff 0%, #eaf2ff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}

.card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.trust-strip-refined {
  background:
    linear-gradient(180deg, rgba(242,246,251,.95) 0%, rgba(247,250,253,.98) 100%);
}

.trust-item {
  padding: 16px 0;
}

.trust-mark {
  width: 36px;
  height: 36px;
  border-color: #c7daf7;
  background: linear-gradient(180deg, #ffffff 0%, #f2f7ff 100%);
  box-shadow: 0 4px 12px rgba(22,104,223,.08);
}

.page-hero,
.product-hero-refined {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 20%, rgba(22,104,223,.09), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(245,249,255,.94) 100%);
}

.product-hero-refined::before,
.page-hero::before {
  content: "";
  position: absolute;
  right: -120px;
  top: -80px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(22,104,223,.09), rgba(22,104,223,0) 70%);
  pointer-events: none;
}

.breadcrumbs {
  padding: 10px 14px;
  border: 1px solid rgba(213,224,238,.8);
  border-radius: 999px;
  width: fit-content;
  background: rgba(255,255,255,.75);
  box-shadow: var(--shadow-sm);
}

.product-tagline {
  color: #17304f;
}

.product-summary {
  max-width: 720px;
}

.product-facts {
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(249,251,254,.96) 100%);
}

.product-facts dl div {
  padding: 16px 18px;
}

.product-tabs-wrap {
  box-shadow: 0 8px 18px rgba(15,23,42,.03);
}

.product-tabs a {
  color: #445167;
}

.product-tabs a:hover,
.product-tabs a:focus-visible {
  color: var(--blue);
}

.lead {
  font-size: 1.07rem;
}

.feature-list li {
  padding: 12px 14px;
  margin-left: 0;
  border: 1px solid rgba(217,227,239,.92);
  border-radius: 12px;
  list-style: none;
  background: rgba(255,255,255,.82);
  box-shadow: 0 4px 12px rgba(15,23,42,.03);
}

.feature-list {
  padding-left: 0;
}

.difference-card {
  border-radius: var(--radius-md);
  border-color: rgba(212,223,238,.96);
  background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(246,249,255,.95) 100%);
  box-shadow: var(--shadow-sm);
}

.difference-card:first-child {
  box-shadow: 0 12px 30px rgba(22,104,223,.08);
}

.command-example {
  padding: 20px;
  border: 1px solid rgba(217,227,239,.92);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(249,251,254,.94) 100%);
  box-shadow: var(--shadow-sm);
}

.command-copy h3 {
  letter-spacing: -.015em;
}

.code-panel {
  border: 1px solid rgba(203,214,228,.95);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(251,252,254,1) 0%, rgba(246,249,253,1) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.code-panel-label {
  color: #6d7a8c;
  background: linear-gradient(180deg, #f6f8fb 0%, #eef3f8 100%);
}

.download-card,
.resource-card {
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(249,251,254,.96) 100%);
}

.download-card:hover,
.resource-card:hover {
  box-shadow: 0 16px 34px rgba(15,23,42,.08);
}

.verification-box,
.verification-box-single {
  border-radius: 14px;
  background: rgba(214,225,239,.9);
}

.verification-box > div,
.verification-box-single > div {
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,251,255,.98) 100%);
}

.side-card {
  border-radius: 16px;
  border-color: rgba(213,224,238,.96);
  background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(246,249,253,.92) 100%);
  box-shadow: var(--shadow-sm);
}

.catalogue-row {
  border-radius: var(--radius-lg);
  border-color: rgba(211,223,237,.96);
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(249,251,254,.96) 100%);
}

.catalogue-row:hover {
  box-shadow: 0 18px 36px rgba(15,23,42,.07);
}

.downloads-table-wrap {
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.85);
  box-shadow: var(--shadow-sm);
}

.downloads-table th {
  background: linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
}

.verification-note {
  border-radius: var(--radius-md);
  border-color: #d6e4f8;
  background: linear-gradient(180deg, rgba(242,247,255,.96) 0%, rgba(236,244,255,.96) 100%);
}

.site-footer {
  margin-top: 22px;
  background:
    linear-gradient(180deg, rgba(248,250,252,.96) 0%, rgba(242,246,251,.98) 100%);
}

.footer-copy {
  max-width: 420px;
}

.footer-bottom {
  align-items: center;
}

.footer-bottom p {
  line-height: 1.45;
}

.footer-sponsor a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid rgba(137,176,234,.8);
  border-radius: 999px;
  background: rgba(255,255,255,.8);
}

.footer-sponsor a::before {
  content: "↗";
  font-size: .82rem;
  opacity: .8;
}

.button {
  border-radius: 12px;
  min-height: 48px;
  padding: 0 20px;
}

.button-primary {
  background: linear-gradient(180deg, #1c73ee 0%, #135fd0 100%);
  box-shadow: 0 10px 24px rgba(22,104,223,.2);
}

.button-primary:hover,
.button-primary:focus-visible {
  background: linear-gradient(180deg, #166ae0 0%, #0f55bd 100%);
}

.button-secondary {
  border-color: #9ec0ef;
  background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(243,248,255,.95) 100%);
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid rgba(22,104,223,.20);
  outline-offset: 3px;
}

/* Mobile polish */
@media (max-width: 1000px) {
  .product-side {
    gap: 16px;
  }
}

@media (max-width: 760px) {
  .hero-refined {
    padding-top: 64px;
    padding-bottom: 58px;
  }

  .primary-nav {
    border-top: 1px solid rgba(228,235,243,.9);
    border-bottom: 1px solid rgba(219,227,236,.9);
    border-radius: 0 0 18px 18px;
  }

  .software-card,
  .catalogue-row,
  .command-example,
  .difference-card,
  .download-card,
  .resource-card,
  .side-card {
    border-radius: 14px;
  }

  .product-facts,
  .downloads-table-wrap,
  .terminal-card {
    border-radius: 16px;
  }

  .footer-bottom {
    align-items: flex-start;
  }
}


/* =====================================================================
   Visual refresh v15 - inspired by the lighter windows11codecs direction
   ===================================================================== */

:root {
  --bg: #f7fafe;
  --bg-soft: #f3f7fc;
  --bg-accent: #edf4fd;
  --surface: #ffffff;
  --surface-soft: #fbfdff;
  --text: #122033;
  --text-soft: #56657a;
  --text-faint: #7c899a;
  --line: #d7e1ec;
  --line-strong: #c8d4e2;
  --blue: #1b67d9;
  --blue-dark: #0f55bd;
  --blue-soft: #edf4ff;
  --shadow-sm: 0 4px 14px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 14px 34px rgba(15, 23, 42, 0.06);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 22px;
}

body {
  background:
    linear-gradient(180deg, #fcfdff 0%, #f5f8fc 100%);
  color: var(--text);
}

.site-header,
.site-header-elevated {
  box-shadow: none;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
}

.header-utility {
  border-bottom: 1px solid #e7eef6;
  background: #f7fbff;
}

.header-utility-inner {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #5e6f84;
  font-size: .76rem;
  font-weight: 600;
}

.header-utility-sep {
  color: #9db1c8;
}

.header-inner {
  min-height: 74px;
}

.brand-name {
  color: var(--blue);
  font-size: 1.26rem;
  font-weight: 780;
  letter-spacing: -.04em;
}

.brand-byline {
  color: #657588;
  font-size: .73rem;
  font-weight: 600;
}

.primary-nav {
  gap: 28px;
}

.primary-nav a {
  position: relative;
  padding: 6px 0;
  color: #314055;
  font-weight: 650;
}

.primary-nav a[aria-current="page"]::after,
.primary-nav a:hover::after,
.primary-nav a:focus-visible::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -11px;
  height: 2px;
  border-radius: 999px;
  background: var(--blue);
}

.hero-refined {
  padding-top: 80px;
  padding-bottom: 64px;
  background:
    radial-gradient(circle at 90% 12%, rgba(27,103,217,.08), transparent 25%),
    linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
}

.hero-copy h1,
.page-hero h1,
.product-intro h1,
.section-heading h2,
.content-section h2 {
  letter-spacing: -.045em;
}

.hero h1 span {
  color: var(--blue);
  display: block;
}

.hero-intro,
.product-summary,
.lead {
  color: #4e5d72;
}

.hero-grid,
.product-hero-grid {
  align-items: start;
}

.hero-points,
.product-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.hero-points span,
.product-highlights span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #d5e3f5;
  border-radius: 999px;
  background: #f8fbff;
  color: #45617e;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}

.terminal-card {
  border: 1px solid var(--line);
  border-top: 4px solid #dce9fb;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--shadow-md);
}

.terminal-topbar {
  border-bottom: 1px solid #e6edf4;
  background: #f7f9fc;
}

.terminal-card pre {
  margin: 0;
  color: #20324a;
}

.button {
  min-height: 46px;
  border-radius: 10px;
  padding: 0 18px;
  font-weight: 700;
}

.button-primary {
  background: linear-gradient(180deg, #2174ea 0%, #135ecb 100%);
  box-shadow: 0 8px 20px rgba(27,103,217,.18);
}

.button-secondary {
  border: 1px solid #bfd1e7;
  background: #fff;
  color: #29405a;
}

.section-bordered {
  border-top: 1px solid #e4ebf2;
}

.section-soft::before {
  display: none;
}

.software-card,
.catalogue-row,
.product-facts,
.side-card,
.download-card,
.resource-card,
.difference-card,
.command-example,
.project-notes,
.downloads-table-wrap,
.verification-note {
  box-shadow: none;
  backdrop-filter: none;
}

.software-card,
.catalogue-row,
.product-facts,
.side-card,
.download-card,
.resource-card,
.difference-card,
.command-example,
.project-notes,
.downloads-table-wrap {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #ffffff;
}

.software-card::before,
.catalogue-row::before,
.product-facts::before,
.side-card::before,
.download-card::before,
.resource-card::before,
.difference-card::before,
.command-example::before,
.project-notes::before,
.downloads-table-wrap::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, #d8e7fb 0%, #f0f6ff 100%);
}

.software-card:hover,
.catalogue-row:hover,
.download-card:hover,
.resource-card:hover {
  border-color: #c5d9f0;
  transform: translateY(-2px);
}

.software-icon,
.trust-mark {
  background: #f4f8ff;
  border: 1px solid #d5e3f5;
  box-shadow: none;
}

.text-link,
.card-link {
  color: var(--blue);
  font-weight: 700;
}

.trust-strip-refined {
  background: #f5f9fd;
  border-top: 1px solid #e6edf4;
  border-bottom: 1px solid #e6edf4;
}

.trust-grid {
  gap: 26px;
}

.trust-copy p {
  color: #5b6a7d;
}

.page-hero,
.product-hero-refined {
  background:
    radial-gradient(circle at 88% 16%, rgba(27,103,217,.08), transparent 23%),
    linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
}

.page-hero::before,
.product-hero-refined::before {
  display: none;
}

.breadcrumbs {
  background: #fff;
  border: 1px solid #dce6f1;
  box-shadow: none;
}

.product-facts {
  border-radius: 18px;
}

.product-facts dl div + div {
  border-top: 1px solid #e9eff6;
}

.product-facts dt {
  color: #708095;
  font-size: .74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.product-facts dd {
  font-weight: 700;
  color: #20324a;
}

.product-tabs-wrap {
  background: #fff;
  border-top: 1px solid #e6edf4;
  border-bottom: 1px solid #e6edf4;
  box-shadow: none;
}

.product-tabs {
  gap: 24px;
}

.product-tabs a {
  position: relative;
  padding: 14px 0;
  color: #4f6179;
  font-weight: 700;
}

.product-tabs a:hover,
.product-tabs a:focus-visible {
  color: var(--blue);
}

.feature-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  padding-left: 0;
}

.feature-list li {
  list-style: none;
  margin: 0;
  padding: 14px 15px;
  border: 1px solid #dbe5f0;
  border-radius: 12px;
  background: #fbfdff;
  color: #33455a;
}

.difference-grid {
  gap: 16px;
}

.difference-card {
  border-radius: 16px;
}

.difference-card:first-child {
  border-color: #cbdcf3;
  background: #f8fbff;
  box-shadow: none;
}

.command-example {
  grid-template-columns: 230px minmax(0,1fr);
  gap: 20px;
  border-radius: 16px;
}

.command-copy p {
  color: #647489;
}

.code-panel {
  border: 1px solid #dbe3ed;
  border-radius: 14px;
  background: #f9fbfd;
  box-shadow: none;
}

.code-panel-label {
  padding: 11px 14px;
  border-bottom: 1px solid #e6edf4;
  background: #f4f7fa;
  color: #6d7d91;
  font-weight: 700;
}

.code-panel pre {
  margin: 0;
  padding: 18px 16px;
  color: #1f3046;
}

.resource-card span,
.download-card span {
  color: #607088;
}

.verification-box,
.verification-box-single {
  background: transparent;
  border: 1px solid #dce5ef;
}

.verification-box-single > div,
.verification-box > div {
  background: #fbfdff;
}

.side-card a {
  color: var(--blue);
  font-weight: 700;
}

.site-footer {
  border-top: 1px solid #e4ebf2;
  background: #f7fafe;
}

.footer-top,
.footer-bottom {
  gap: 18px;
}

.footer-copy,
.footer-bottom p {
  color: #5e6f84;
}

.footer-sponsor a {
  border: 1px solid #c7daf4;
  background: #fff;
  color: var(--blue);
}

@media (max-width: 900px) {
  .feature-list {
    grid-template-columns: 1fr;
  }

  .command-example {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .header-utility-inner {
    min-height: 34px;
    flex-wrap: wrap;
    padding: 8px 0;
    gap: 4px 8px;
  }

  .header-utility-sep {
    display: none;
  }

  .hero-refined {
    padding-top: 54px;
    padding-bottom: 48px;
  }

  .primary-nav {
    border-top: 1px solid #e7eef6;
    background: #fff;
  }

  .hero-points,
  .product-highlights {
    gap: 8px;
  }

  .hero-points span,
  .product-highlights span {
    font-size: .75rem;
  }

  .software-card::before,
  .catalogue-row::before,
  .product-facts::before,
  .side-card::before,
  .download-card::before,
  .resource-card::before,
  .difference-card::before,
  .command-example::before,
  .project-notes::before,
  .downloads-table-wrap::before {
    height: 2px;
  }
}


/* =====================================================================
   v16 - Windows11Codecs-inspired visual direction
   Flatter, cooler, cleaner and closer to a traditional Windows
   software / documentation site.
   ===================================================================== */

:root {
  --bg: #ffffff;
  --bg-soft: #f4f6f8;
  --bg-accent: #eef3f8;
  --surface: #ffffff;
  --surface-soft: #f8fafc;

  --text: #1b2635;
  --text-soft: #5a6878;
  --text-faint: #7e8996;

  --line: #d9e0e7;
  --line-strong: #c8d1db;

  --blue: #0b6fc2;
  --blue-dark: #075b9f;
  --blue-soft: #eaf4fb;

  --shadow-sm: 0 2px 5px rgba(22, 34, 49, .05);
  --shadow-md: 0 5px 14px rgba(22, 34, 49, .07);

  --radius-sm: 5px;
  --radius-md: 7px;
  --radius-lg: 9px;
}

/* Page */
body {
  background: #fff;
  color: var(--text);
}

.section {
  padding-top: 62px;
  padding-bottom: 62px;
}

.section-bordered {
  border-top: 1px solid var(--line);
}

/* Header ------------------------------------------------------- */
.site-header,
.site-header-elevated {
  background: #fff;
  border-bottom: 1px solid #ccd5df;
  box-shadow: 0 1px 3px rgba(16, 31, 48, .06);
  backdrop-filter: none;
}

.header-inner {
  min-height: 70px;
}

.brand {
  gap: 2px;
}

.brand-name {
  color: #0b6fc2;
  font-size: 1.32rem;
  font-weight: 700;
  letter-spacing: -.025em;
}

.brand-byline {
  color: #697686;
  font-size: .70rem;
  font-weight: 500;
}

.primary-nav {
  gap: 8px;
}

.primary-nav a {
  padding: 10px 13px;
  border-radius: 4px;
  color: #354456;
  font-size: .89rem;
  font-weight: 600;
}

.primary-nav a::after {
  display: none !important;
}

.primary-nav a:hover,
.primary-nav a:focus-visible,
.primary-nav a[aria-current="page"] {
  background: #eef4f9;
  color: #075b9f;
}

/* Hero --------------------------------------------------------- */
.hero-refined {
  padding-top: 68px;
  padding-bottom: 66px;
  background: #f4f7fa;
  border-bottom: 1px solid #dce3ea;
}

.hero-refined::before {
  display: none;
}

.hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
  gap: 54px;
  align-items: center;
}

.eyebrow {
  color: #0b6fc2;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .065em;
}

.hero h1 {
  max-width: 700px;
  color: #172232;
  font-size: clamp(2.25rem, 4.8vw, 4.15rem);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.hero h1 span {
  display: block;
  color: #0b6fc2;
}

.hero-intro {
  max-width: 620px;
  margin-top: 20px;
  color: #526171;
  font-size: 1.03rem;
  line-height: 1.75;
}

.button-row {
  margin-top: 28px;
  gap: 10px;
}

/* Buttons: flatter and more Windows utility-like */
.button {
  min-height: 44px;
  padding: 0 17px;
  border-radius: 4px;
  font-size: .88rem;
  font-weight: 650;
  box-shadow: none;
}

.button-primary {
  border: 1px solid #075b9f;
  background: #0b6fc2;
  color: #fff;
  box-shadow: none;
}

.button-primary:hover,
.button-primary:focus-visible {
  background: #075b9f;
}

.button-secondary {
  border: 1px solid #aebbc8;
  background: #fff;
  color: #304155;
}

.button-secondary:hover,
.button-secondary:focus-visible {
  border-color: #8194a8;
  background: #f7f9fb;
}

/* Terminal: simple software preview rather than a design card */
.terminal-card {
  overflow: hidden;
  border: 1px solid #cbd4dd;
  border-top: 1px solid #cbd4dd;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(21, 36, 53, .07);
}

.terminal-card::after {
  display: none;
}

.terminal-topbar {
  min-height: 37px;
  border-bottom: 1px solid #d6dde5;
  background: #eef1f4;
}

.terminal-card pre {
  background: #fbfcfd;
  color: #25384d;
}

/* Section headings --------------------------------------------- */
.section-heading {
  margin-bottom: 24px;
}

.section-heading h2,
.content-section h2,
.page-hero h1,
.product-intro h1 {
  color: #1a2737;
  letter-spacing: -.025em;
}

.section-heading h2,
.content-section h2 {
  font-weight: 700;
}

.section-soft {
  background: #fff;
}

/* Software cards ----------------------------------------------- */
.card-grid {
  gap: 16px;
}

.software-card,
.catalogue-row,
.side-card,
.download-card,
.resource-card,
.difference-card,
.command-example,
.project-notes,
.downloads-table-wrap {
  border: 1px solid #d5dde6;
  border-radius: 6px;
  background: #fff;
  box-shadow: none;
}

.software-card::before,
.catalogue-row::before,
.product-facts::before,
.side-card::before,
.download-card::before,
.resource-card::before,
.difference-card::before,
.command-example::before,
.project-notes::before,
.downloads-table-wrap::before {
  display: none;
}

.software-card {
  min-height: 100%;
  padding: 20px;
}

.software-card:hover,
.catalogue-row:hover,
.download-card:hover,
.resource-card:hover {
  transform: none;
  border-color: #aebdcd;
  box-shadow: 0 3px 8px rgba(22,34,49,.05);
}

.software-icon {
  width: 42px;
  height: 42px;
  border: 1px solid #c5d8ea;
  border-radius: 5px;
  background: #eaf4fb;
  color: #0b6fc2;
  box-shadow: none;
}

.software-card h3 {
  color: #1e2b3a;
  font-size: 1.03rem;
}

.software-card p {
  color: #627082;
}

.card-link,
.text-link {
  color: #0b6fc2;
  font-weight: 650;
}

/* Trust / utility strip ---------------------------------------- */
.trust-strip-refined {
  background: #eef3f7;
  border-top: 1px solid #d9e1e9;
  border-bottom: 1px solid #d9e1e9;
}

.trust-grid {
  gap: 24px;
}

.trust-item {
  padding: 6px 0;
}

.trust-mark {
  width: 34px;
  height: 34px;
  border: 1px solid #bfd1e1;
  border-radius: 5px;
  background: #fff;
  color: #0b6fc2;
  box-shadow: none;
}

/* Product hero ------------------------------------------------ */
.page-hero,
.product-hero-refined {
  background: #f4f7fa;
  border-bottom: 1px solid #dce3ea;
}

.page-hero::before,
.product-hero-refined::before {
  display: none;
}

.breadcrumbs {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #6a7888;
  font-size: .80rem;
}

.breadcrumbs a {
  color: #0b6fc2;
}

.product-tagline {
  color: #34495f;
}

.product-summary {
  color: #566577;
}

/* Product facts: visual cue borrowed from desktop software sites */
.product-facts {
  border: 1px solid #ccd5df;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(20,35,53,.04);
}

.product-facts::before {
  display: block;
  height: 4px;
  background: #0b6fc2;
}

.product-facts dl div {
  padding: 14px 16px;
}

.product-facts dl div + div {
  border-top: 1px solid #e3e8ed;
}

.product-facts dt {
  color: #748191;
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .055em;
}

.product-facts dd {
  color: #253548;
  font-weight: 650;
}

/* Tab bar ----------------------------------------------------- */
.product-tabs-wrap {
  border-top: 0;
  border-bottom: 1px solid #cfd8e1;
  background: #fff;
  box-shadow: 0 1px 2px rgba(17,31,48,.03);
}

.product-tabs {
  gap: 6px;
}

.product-tabs a {
  padding: 13px 12px;
  border-radius: 4px 4px 0 0;
  color: #536275;
  font-size: .82rem;
  font-weight: 650;
}

.product-tabs a:hover,
.product-tabs a:focus-visible {
  background: #eef4f9;
  color: #075b9f;
}

/* Feature list ------------------------------------------------ */
.feature-list {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 9px 18px;
}

.feature-list li {
  position: relative;
  padding: 7px 0 7px 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #435368;
  box-shadow: none;
}

.feature-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 7px;
  color: #0b6fc2;
  font-weight: 800;
}

/* Differences / content panels ------------------------------- */
.difference-grid {
  gap: 14px;
}

.difference-card {
  padding: 18px;
  background: #fbfcfd;
}

.difference-card:first-child {
  border-color: #c8d7e5;
  background: #f6f9fc;
  box-shadow: none;
}

.difference-card h3 {
  color: #213247;
}

.difference-card p {
  color: #5a697b;
}

/* Command examples -------------------------------------------- */
.command-example {
  grid-template-columns: 210px minmax(0,1fr);
  gap: 18px;
  padding: 18px;
  background: #fff;
}

.code-panel {
  border: 1px solid #cfd7df;
  border-radius: 5px;
  background: #f7f9fb;
  box-shadow: none;
}

.code-panel-label {
  padding: 9px 12px;
  border-bottom: 1px solid #d9e0e7;
  background: #edf1f4;
  color: #68778a;
  font-size: .72rem;
}

.code-panel pre {
  padding: 15px;
  color: #24364c;
}

/* Downloads / resources -------------------------------------- */
.download-card,
.resource-card {
  border-radius: 6px;
  background: #fff;
}

.download-card strong,
.resource-card strong {
  color: #26364a;
}

.download-card span,
.resource-card span {
  color: #607083;
}

.resource-card em {
  color: #0b6fc2;
}

/* Verification ------------------------------------------------ */
.verification-box,
.verification-box-single {
  border: 1px solid #d4dde6;
  border-radius: 5px;
  background: #edf1f5;
}

.verification-box > div,
.verification-box-single > div {
  background: #fff;
}

.verification-label {
  color: #788595;
}

.verification-note {
  border: 1px solid #cdddea;
  border-radius: 5px;
  background: #f1f7fb;
}

/* Tables ------------------------------------------------------ */
.downloads-table-wrap {
  border-radius: 5px;
}

.downloads-table th {
  background: #edf1f4;
  color: #3b4a5c;
}

/* Footer ------------------------------------------------------ */
.site-footer {
  margin-top: 0;
  border-top: 1px solid #cfd8e1;
  background: #eef2f5;
}

.footer-top {
  padding-top: 40px;
  padding-bottom: 34px;
}

.footer-copy,
.footer-bottom p {
  color: #627183;
}

.footer-links a {
  color: #405166;
}

.footer-links a:hover {
  color: #075b9f;
}

.footer-sponsor a {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #0b6fc2;
}

.footer-sponsor a::before {
  display: none;
}

/* Catalogue / listing pages ---------------------------------- */
.catalogue-row {
  border-radius: 6px;
  background: #fff;
}

.catalogue-row:hover {
  border-color: #afbdcb;
  box-shadow: none;
}

/* Mobile ------------------------------------------------------ */
@media (max-width: 1000px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .terminal-card {
    max-width: 680px;
  }
}

@media (max-width: 760px) {
  .section {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  .header-inner {
    min-height: 64px;
  }

  .primary-nav {
    border-top: 1px solid #dce4ec;
    border-bottom: 1px solid #d3dce5;
    border-radius: 0;
    background: #fff;
  }

  .primary-nav a {
    border-radius: 0;
  }

  .hero-refined {
    padding-top: 48px;
    padding-bottom: 46px;
  }

  .hero h1 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .feature-list {
    grid-template-columns: 1fr;
  }

  .command-example {
    grid-template-columns: 1fr;
  }

  .software-card,
  .catalogue-row,
  .side-card,
  .download-card,
  .resource-card,
  .difference-card,
  .command-example,
  .project-notes,
  .downloads-table-wrap,
  .terminal-card,
  .product-facts {
    border-radius: 5px;
  }
}


/* Quality-scale clarification ---------------------------------- */
.quality-scale-callout {
  display: grid;
  grid-template-columns: 112px minmax(0,1fr);
  gap: 12px;
  max-width: 760px;
  margin-top: 18px;
  padding: 12px 14px;
  border: 1px solid #c8d9e8;
  border-left: 4px solid var(--blue);
  border-radius: 4px;
  background: #f5f9fc;
}

.quality-scale-callout strong {
  color: #24384e;
  font-size: .82rem;
}

.quality-scale-callout span {
  color: #53667a;
  font-size: .82rem;
  line-height: 1.55;
}

@media (max-width:760px) {
  .quality-scale-callout {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}
