/* 1920px typography and proportions calibrated against the supplied mockups. */
@font-face {
  font-family: "AOM Serif TC";
  src: url("/assets/fonts/NotoSerifTC-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}

:root {
  --serif: "AOM Serif TC", "Noto Serif TC", "PMingLiU", "MingLiU", serif;
  --font: var(--serif);
  --font-heading: var(--serif);
}

body, button, input, select, textarea {
  font-family: var(--serif);
}

body {
  font-weight: 600;
  font-size: calc(23 * var(--interior-px, 1px));
  line-height: 1.65;
  letter-spacing: .04em;
}

h1, h2, h3, h4 {
  font-weight: 700;
}

/* The reference homepage is wide; the reference interior pages are centered. */
body:not([data-view="home"]) .container {
  width: min(calc(1440 * var(--interior-px, 1px)), calc(100% - calc(96 * var(--interior-px, 1px))));
}

body:not([data-view="home"]) .header-inner {
  min-height: calc(149 * var(--interior-px, 1px));
  align-items: center;
  gap: calc(48 * var(--interior-px, 1px));
  padding-top: 0;
  padding-bottom: calc(12 * var(--interior-px, 1px));
}

body:not([data-view="home"]) .brand {
  width: calc(310 * var(--interior-px, 1px));
}

body:not([data-view="home"]) #main-nav {
  margin-bottom: 0;
}

#main-nav > a {
  font-weight: 700;
}

body:not([data-view="home"]) #main-nav > a {
  font-size: calc(24 * var(--interior-px, 1px));
  padding: calc(9 * var(--interior-px, 1px)) calc(17 * var(--interior-px, 1px));
  letter-spacing: .06em;
}

body:not([data-view="home"]) #main-nav > a.nav-register {
  padding: calc(9 * var(--interior-px, 1px)) calc(28 * var(--interior-px, 1px));
  margin-right: calc(15 * var(--interior-px, 1px));
  border-radius: calc(19 * var(--interior-px, 1px));
}

body:not([data-view="home"]) .page-shell,
body:not([data-view="home"]) .sponsor-page {
  padding-top: calc(25 * var(--interior-px, 1px));
}

.breadcrumb, .payment-breadcrumb {
  font-size: calc(20 * var(--interior-px, 1px));
  font-weight: 600;
  letter-spacing: .07em;
  margin-bottom: calc(18 * var(--interior-px, 1px));
}

.page-heading {
  display: flex;
  align-items: center;
  gap: calc(30 * var(--interior-px, 1px));
  margin-bottom: calc(29 * var(--interior-px, 1px));
}

.page-heading > .eyebrow:not(.payment-breadcrumb), .payment-kicker {
  display: none;
}

.page-heading h1, .page-title {
  font-size: calc(60 * var(--interior-px, 1px));
  font-weight: 700;
  line-height: 1.25;
  padding-left: calc(32 * var(--interior-px, 1px));
  letter-spacing: .12em;
  flex-shrink: 0;
}

.page-heading h1::before, .page-title::before {
  width: calc(8 * var(--interior-px, 1px));
  top: calc(9 * var(--interior-px, 1px));
  bottom: calc(6 * var(--interior-px, 1px));
  border-radius: calc(6 * var(--interior-px, 1px));
}

.page-heading .page-subtitle {
  font-size: calc(25 * var(--interior-px, 1px));
  font-weight: 600;
  line-height: 1.6;
  margin: 0;
  padding-left: calc(30 * var(--interior-px, 1px));
  border-left: 1px solid #bbd9ed;
  color: #d7ecf9;
  letter-spacing: .08em;
}

.sponsor-page > .page-heading {
  display: block;
}

.payment-heading-line {
  align-items: center;
  gap: calc(30 * var(--interior-px, 1px));
}

.payment-heading-line .page-subtitle {
  margin: 0;
  font-size: calc(25 * var(--interior-px, 1px));
}

.panel-title, .download-card h2, .installation h2, .faq h2 {
  font-size: calc(40 * var(--interior-px, 1px));
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .08em;
  padding-left: calc(28 * var(--interior-px, 1px));
}

.panel-title::before {
  width: calc(7 * var(--interior-px, 1px));
  top: calc(8 * var(--interior-px, 1px));
  bottom: calc(6 * var(--interior-px, 1px));
}

.button {
  font-size: calc(28 * var(--interior-px, 1px));
  line-height: 1.35;
  font-weight: 700;
  padding: calc(12 * var(--interior-px, 1px)) calc(28 * var(--interior-px, 1px));
  min-height: calc(60 * var(--interior-px, 1px));
  border-radius: calc(22 * var(--interior-px, 1px));
  letter-spacing: .07em;
}

.tab {
  font-size: calc(24 * var(--interior-px, 1px));
  line-height: 1.4;
  font-weight: 700;
  padding: calc(9 * var(--interior-px, 1px)) calc(23 * var(--interior-px, 1px));
  border-radius: calc(10 * var(--interior-px, 1px));
}

.tag {
  font-size: calc(20 * var(--interior-px, 1px));
  line-height: 1.4;
  font-weight: 700;
  padding: calc(4 * var(--interior-px, 1px)) calc(18 * var(--interior-px, 1px));
}

.text-link {
  font-size: calc(22 * var(--interior-px, 1px));
  font-weight: 600;
}

.download-grid {
  grid-template-columns: 1.43fr 1fr;
  gap: calc(28 * var(--interior-px, 1px));
}

.download-card {
  padding: calc(27 * var(--interior-px, 1px)) calc(29 * var(--interior-px, 1px)) calc(25 * var(--interior-px, 1px));
}

.download-card-header {
  gap: calc(22 * var(--interior-px, 1px));
  margin-bottom: calc(20 * var(--interior-px, 1px));
}

.download-card h2 {
  font-size: calc(39 * var(--interior-px, 1px));
  white-space: nowrap;
}

.download-card-header .tag {
  font-size: calc(21 * var(--interior-px, 1px));
  padding: calc(4 * var(--interior-px, 1px)) calc(20 * var(--interior-px, 1px));
}

.download-body {
  gap: calc(25 * var(--interior-px, 1px));
  margin-bottom: calc(22 * var(--interior-px, 1px));
  align-items: center;
}

.download-illustration {
  width: calc(205 * var(--interior-px, 1px));
  height: calc(167 * var(--interior-px, 1px));
  background: none;
  flex-shrink: 0;
}

.download-illustration img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: none;
}

.download-description {
  font-size: calc(23 * var(--interior-px, 1px));
  line-height: 1.6;
  color: #bce6ff;
  padding-left: calc(27 * var(--interior-px, 1px));
  border-left-color: #bedef4;
  min-width: 0;
}

.download-description p:first-child {
  font-size: calc(25 * var(--interior-px, 1px));
  color: #f0f6fc;
  font-weight: 700;
  margin-bottom: calc(15 * var(--interior-px, 1px));
}

.download-description p + p {
  margin-top: calc(4 * var(--interior-px, 1px));
}

.download-actions {
  display: grid;
  grid-template-columns: 1.45fr .9fr .9fr;
  gap: calc(17 * var(--interior-px, 1px));
}

.download-actions .button {
  min-height: calc(61 * var(--interior-px, 1px));
  font-size: calc(23 * var(--interior-px, 1px));
  padding: calc(10 * var(--interior-px, 1px)) calc(18 * var(--interior-px, 1px));
  font-weight: 700;
  border-radius: calc(17 * var(--interior-px, 1px));
  gap: calc(10 * var(--interior-px, 1px));
}

.download-actions .button-ice {
  font-size: calc(31 * var(--interior-px, 1px));
  border-radius: calc(32 * var(--interior-px, 1px));
}

.download-patch-card .download-illustration {
  width: calc(155 * var(--interior-px, 1px));
  height: calc(174 * var(--interior-px, 1px));
}

.download-patch-card .download-body {
  min-height: calc(194 * var(--interior-px, 1px));
  margin-bottom: calc(4 * var(--interior-px, 1px));
  gap: calc(22 * var(--interior-px, 1px));
}

.download-patch-card .download-description {
  flex: 1;
  padding-left: calc(22 * var(--interior-px, 1px));
}

.download-patch-card .download-description p:first-child {
  font-size: calc(24 * var(--interior-px, 1px));
}

.download-patch-card .download-actions {
  display: flex;
  margin-top: calc(18 * var(--interior-px, 1px));
}

.download-patch-card .download-actions .button {
  font-size: calc(28 * var(--interior-px, 1px));
  padding-inline: calc(24 * var(--interior-px, 1px));
}

.download-note {
  font-size: calc(18 * var(--interior-px, 1px));
  color: #d3e5f3;
  margin-top: calc(16 * var(--interior-px, 1px));
  font-weight: 500;
  line-height: 1.7;
}

.download-patch-card .download-note {
  text-align: center;
  margin-top: calc(16 * var(--interior-px, 1px));
}

.installation {
  padding: calc(24 * var(--interior-px, 1px)) calc(29 * var(--interior-px, 1px));
  gap: calc(33 * var(--interior-px, 1px));
  margin-top: calc(26 * var(--interior-px, 1px));
}

.installation h2 { font-size: calc(39 * var(--interior-px, 1px)); }
.install-steps { gap: calc(18 * var(--interior-px, 1px)); }
.install-step { gap: calc(17 * var(--interior-px, 1px)); }
.install-step span:first-child {
  min-width: calc(69 * var(--interior-px, 1px));
  line-height: calc(40 * var(--interior-px, 1px));
  font-size: calc(28 * var(--interior-px, 1px));
  border-radius: calc(8 * var(--interior-px, 1px));
  clip-path: polygon(14% 0,86% 0,100% 50%,86% 100%,14% 100%,0 50%);
  background: linear-gradient(#6c91ac88,#2b557777);
}
.install-step span:last-child { font-size: calc(27 * var(--interior-px, 1px)); font-weight: 700; white-space: nowrap; }
.install-arrow { font-size: calc(33 * var(--interior-px, 1px)); color: #b4eaff; }

.faq {
  display: flex;
  align-items: flex-start;
  gap: calc(26 * var(--interior-px, 1px));
  padding: calc(23 * var(--interior-px, 1px)) calc(29 * var(--interior-px, 1px));
  margin-top: calc(25 * var(--interior-px, 1px));
}

.faq h2 {
  font-size: calc(39 * var(--interior-px, 1px));
  margin: calc(7 * var(--interior-px, 1px)) 0 0;
  white-space: nowrap;
  flex-shrink: 0;
}

.faq-items { flex: 1; gap: calc(18 * var(--interior-px, 1px)); min-width: 0; }
.faq details { border-radius: calc(9 * var(--interior-px, 1px)); background: linear-gradient(130deg,#315f8088,#163d5f88); }
.faq summary { font-size: calc(21 * var(--interior-px, 1px)); font-weight: 700; padding: calc(15 * var(--interior-px, 1px)) calc(20 * var(--interior-px, 1px)); min-height: calc(62 * var(--interior-px, 1px)); line-height: 1.5; gap: calc(14 * var(--interior-px, 1px)); }
.faq summary::after { content: "⌄"; font-size: calc(29 * var(--interior-px, 1px)); flex-shrink: 0; line-height: .7; }
.faq details[open] summary::after { content: "⌃"; }
.faq details p { font-size: calc(19 * var(--interior-px, 1px)); line-height: 1.8; padding: 0 calc(20 * var(--interior-px, 1px)) calc(20 * var(--interior-px, 1px)); font-weight: 500; }
.system-requirements { font-size: calc(17 * var(--interior-px, 1px)); line-height: 1.7; }

.footer-mark .footer-brand-name { font-size: calc(27 * var(--interior-px, 1px)); font-weight: 600; }
.footer-links a, .footer-links button { font-size: calc(16 * var(--interior-px, 1px)); }
.site-footer p { font-size: calc(14 * var(--interior-px, 1px)); }

/* Homepage retains its latest approved arrangement, with the same real font. */
.reference-panel-heading h2, .reference-entry h2 { font-weight: 700; }
.reference-news-item > span:nth-child(2), .reference-job-name { font-weight: 600; }
.reference-entry .button { font-weight: 700; }

@media (max-width: 1450px) and (min-width: 1001px) {
  body:not([data-view="home"]) .header-inner { gap: calc(27 * var(--interior-px, 1px)); min-height: calc(136 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) .brand { width: calc(270 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) #main-nav > a { font-size: calc(21 * var(--interior-px, 1px)); padding-inline: calc(11 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) #main-nav > a.nav-register { padding-inline: calc(23 * var(--interior-px, 1px)); margin-right: calc(9 * var(--interior-px, 1px)); }
  .download-card { padding-inline: calc(25 * var(--interior-px, 1px)); }
  .download-card h2 { font-size: calc(33 * var(--interior-px, 1px)); }
  .download-card-header { gap: calc(15 * var(--interior-px, 1px)); }
  .download-card-header .tag { font-size: calc(18 * var(--interior-px, 1px)); padding-inline: calc(14 * var(--interior-px, 1px)); }
  .download-illustration { width: calc(163 * var(--interior-px, 1px)); height: calc(155 * var(--interior-px, 1px)); }
  .download-description { font-size: calc(21 * var(--interior-px, 1px)); padding-left: calc(22 * var(--interior-px, 1px)); }
  .download-description p:first-child { font-size: calc(23 * var(--interior-px, 1px)); }
  .download-actions { gap: calc(11 * var(--interior-px, 1px)); }
  .download-actions .button { font-size: calc(21 * var(--interior-px, 1px)); padding-inline: calc(12 * var(--interior-px, 1px)); }
  .download-actions .button-ice { font-size: calc(27 * var(--interior-px, 1px)); }
  .download-patch-card .download-illustration { width: calc(125 * var(--interior-px, 1px)); height: calc(160 * var(--interior-px, 1px)); }
  .download-patch-card .download-body { gap: calc(17 * var(--interior-px, 1px)); }
  .download-patch-card .download-description { padding-left: calc(18 * var(--interior-px, 1px)); }
  .download-patch-card .download-description p:first-child { font-size: calc(22 * var(--interior-px, 1px)); }
  .download-patch-card .download-actions .button { font-size: calc(25 * var(--interior-px, 1px)); padding-inline: calc(18 * var(--interior-px, 1px)); }
  .installation h2, .faq h2 { font-size: calc(33 * var(--interior-px, 1px)); }
  .install-step span:last-child { font-size: calc(23 * var(--interior-px, 1px)); }
  .install-step span:first-child { min-width: calc(58 * var(--interior-px, 1px)); font-size: calc(25 * var(--interior-px, 1px)); }
  .install-steps, .install-step { gap: calc(12 * var(--interior-px, 1px)); }
  .faq { gap: calc(21 * var(--interior-px, 1px)); padding-inline: calc(25 * var(--interior-px, 1px)); }
  .faq-items { gap: calc(13 * var(--interior-px, 1px)); }
  .faq summary { font-size: calc(19 * var(--interior-px, 1px)); padding-inline: calc(15 * var(--interior-px, 1px)); }
}

@media (max-width: 1000px) {
  body { font-size: calc(20 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) .container { width: calc(100% - calc(44 * var(--interior-px, 1px))); }
  body:not([data-view="home"]) .header-inner { min-height: calc(138 * var(--interior-px, 1px)); gap: calc(23 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) .brand { width: calc(245 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) #main-nav > a { font-size: calc(16 * var(--interior-px, 1px)); padding-inline: calc(7 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) #main-nav > a.nav-register { padding-inline: calc(18 * var(--interior-px, 1px)); margin-right: calc(8 * var(--interior-px, 1px)); }
  .page-heading { gap: calc(23 * var(--interior-px, 1px)); margin-bottom: calc(25 * var(--interior-px, 1px)); }
  .page-heading h1, .page-title { font-size: calc(48 * var(--interior-px, 1px)); padding-left: calc(26 * var(--interior-px, 1px)); }
  .page-heading .page-subtitle, .payment-heading-line .page-subtitle { font-size: calc(21 * var(--interior-px, 1px)); padding-left: calc(23 * var(--interior-px, 1px)); }
  .breadcrumb, .payment-breadcrumb { font-size: calc(17 * var(--interior-px, 1px)); }
  .panel-title { font-size: calc(33 * var(--interior-px, 1px)); }
  .button { font-size: calc(24 * var(--interior-px, 1px)); min-height: calc(54 * var(--interior-px, 1px)); padding: calc(11 * var(--interior-px, 1px)) calc(23 * var(--interior-px, 1px)); }
  .tab { font-size: calc(21 * var(--interior-px, 1px)); padding: calc(9 * var(--interior-px, 1px)) calc(18 * var(--interior-px, 1px)); }
  .tag { font-size: calc(17 * var(--interior-px, 1px)); }
  .text-link { font-size: calc(19 * var(--interior-px, 1px)); }
  .download-grid { grid-template-columns: 1fr; gap: calc(23 * var(--interior-px, 1px)); }
  .download-card { padding: calc(26 * var(--interior-px, 1px)); }
  .download-card h2 { font-size: calc(36 * var(--interior-px, 1px)); }
  .download-card-header .tag { font-size: calc(20 * var(--interior-px, 1px)); }
  .download-illustration { width: calc(185 * var(--interior-px, 1px)); height: calc(160 * var(--interior-px, 1px)); }
  .download-description { font-size: calc(22 * var(--interior-px, 1px)); }
  .download-description p:first-child { font-size: calc(24 * var(--interior-px, 1px)); }
  .download-actions .button { font-size: calc(23 * var(--interior-px, 1px)); }
  .download-actions .button-ice { font-size: calc(29 * var(--interior-px, 1px)); }
  .download-patch-card .download-illustration { width: calc(180 * var(--interior-px, 1px)); height: calc(180 * var(--interior-px, 1px)); }
  .download-patch-card .download-body { min-height: calc(190 * var(--interior-px, 1px)); }
  .download-patch-card .download-description p:first-child { font-size: calc(24 * var(--interior-px, 1px)); }
  .download-patch-card .download-actions .button { flex: 0 1 auto; font-size: calc(27 * var(--interior-px, 1px)); }
  .download-patch-card .download-note { text-align: left; }
  .installation { padding: calc(25 * var(--interior-px, 1px)) calc(26 * var(--interior-px, 1px)); display: block; }
  .installation h2 { font-size: calc(35 * var(--interior-px, 1px)); margin-bottom: calc(23 * var(--interior-px, 1px)); }
  .install-steps { gap: calc(15 * var(--interior-px, 1px)); }
  .install-step { gap: calc(12 * var(--interior-px, 1px)); }
  .install-step span:first-child { min-width: calc(58 * var(--interior-px, 1px)); font-size: calc(24 * var(--interior-px, 1px)); }
  .install-step span:last-child { font-size: calc(24 * var(--interior-px, 1px)); }
  .faq { padding: calc(25 * var(--interior-px, 1px)) calc(26 * var(--interior-px, 1px)); display: block; }
  .faq h2 { font-size: calc(35 * var(--interior-px, 1px)); margin: 0 0 calc(23 * var(--interior-px, 1px)); }
  .faq-items { grid-template-columns: 1fr; gap: calc(15 * var(--interior-px, 1px)); }
  .faq summary { font-size: calc(22 * var(--interior-px, 1px)); }
  .faq details p { font-size: calc(20 * var(--interior-px, 1px)); }
}

@media (max-width: 760px) {
  body { font-size: calc(18 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) .container { width: calc(100% - calc(32 * var(--interior-px, 1px))); }
  body:not([data-view="home"]) .header-inner { min-height: calc(111 * var(--interior-px, 1px)); gap: calc(20 * var(--interior-px, 1px)); padding: calc(4 * var(--interior-px, 1px)) 0 calc(14 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) .brand { width: calc(220 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) #main-nav { margin: 0; }
  body:not([data-view="home"]) #main-nav > a { font-size: calc(19 * var(--interior-px, 1px)); padding: calc(12 * var(--interior-px, 1px)) calc(8 * var(--interior-px, 1px)); }
  body:not([data-view="home"]) #main-nav > a.nav-register { padding: calc(12 * var(--interior-px, 1px)) calc(8 * var(--interior-px, 1px)); margin: 0; border-radius: calc(8 * var(--interior-px, 1px)); }
  .page-heading, .payment-heading-line { display: block; }
  .page-heading h1, .page-title { font-size: calc(37 * var(--interior-px, 1px)); padding-left: calc(23 * var(--interior-px, 1px)); line-height: 1.4; }
  .page-heading h1::before, .page-title::before { width: calc(5 * var(--interior-px, 1px)); top: calc(10 * var(--interior-px, 1px)); bottom: calc(8 * var(--interior-px, 1px)); }
  .page-heading .page-subtitle, .payment-heading-line .page-subtitle { margin: calc(10 * var(--interior-px, 1px)) 0 0; padding-left: calc(24 * var(--interior-px, 1px)); border: 0; font-size: calc(18 * var(--interior-px, 1px)); line-height: 1.7; letter-spacing: .04em; }
  .breadcrumb, .payment-breadcrumb { font-size: calc(14 * var(--interior-px, 1px)); margin-bottom: calc(19 * var(--interior-px, 1px)); }
  .panel-title { font-size: calc(29 * var(--interior-px, 1px)); padding-left: calc(22 * var(--interior-px, 1px)); }
  .panel-title::before { width: calc(5 * var(--interior-px, 1px)); }
  .button { font-size: calc(21 * var(--interior-px, 1px)); min-height: calc(51 * var(--interior-px, 1px)); padding: calc(11 * var(--interior-px, 1px)) calc(22 * var(--interior-px, 1px)); }
  .tab { font-size: calc(18 * var(--interior-px, 1px)); padding: calc(8 * var(--interior-px, 1px)) calc(13 * var(--interior-px, 1px)); }
  .tag { font-size: calc(15 * var(--interior-px, 1px)); padding: calc(4 * var(--interior-px, 1px)) calc(12 * var(--interior-px, 1px)); }
  .text-link { font-size: calc(17 * var(--interior-px, 1px)); }
  .download-card { padding: calc(22 * var(--interior-px, 1px)) calc(20 * var(--interior-px, 1px)); }
  .download-card h2 { font-size: calc(28 * var(--interior-px, 1px)); padding-left: calc(20 * var(--interior-px, 1px)); }
  .download-card-header { gap: calc(13 * var(--interior-px, 1px)); margin-bottom: calc(19 * var(--interior-px, 1px)); }
  .download-card-header .tag { font-size: calc(15 * var(--interior-px, 1px)); padding: calc(4 * var(--interior-px, 1px)) calc(12 * var(--interior-px, 1px)); }
  .download-body { gap: calc(15 * var(--interior-px, 1px)); margin-bottom: calc(21 * var(--interior-px, 1px)); }
  .download-illustration { width: calc(104 * var(--interior-px, 1px)); height: calc(126 * var(--interior-px, 1px)); }
  .download-description { font-size: calc(17 * var(--interior-px, 1px)); padding-left: calc(16 * var(--interior-px, 1px)); line-height: 1.8; }
  .download-description p:first-child { font-size: calc(19 * var(--interior-px, 1px)); margin-bottom: calc(10 * var(--interior-px, 1px)); }
  .download-actions { grid-template-columns: 1fr 1fr; gap: calc(12 * var(--interior-px, 1px)); }
  .download-actions .button { font-size: calc(18 * var(--interior-px, 1px)); min-height: calc(48 * var(--interior-px, 1px)); padding-inline: calc(11 * var(--interior-px, 1px)); gap: calc(7 * var(--interior-px, 1px)); }
  .download-actions .button-ice { grid-column: 1 / -1; font-size: calc(25 * var(--interior-px, 1px)); min-height: calc(54 * var(--interior-px, 1px)); }
  .download-patch-card .download-illustration { width: calc(100 * var(--interior-px, 1px)); height: calc(130 * var(--interior-px, 1px)); }
  .download-patch-card .download-body { gap: calc(15 * var(--interior-px, 1px)); min-height: 0; }
  .download-patch-card .download-description { padding-left: calc(15 * var(--interior-px, 1px)); }
  .download-patch-card .download-description p:first-child { font-size: calc(19 * var(--interior-px, 1px)); }
  .download-patch-card .download-actions { margin-top: calc(15 * var(--interior-px, 1px)); }
  .download-patch-card .download-actions .button { font-size: calc(20 * var(--interior-px, 1px)); padding-inline: calc(16 * var(--interior-px, 1px)); min-height: calc(49 * var(--interior-px, 1px)); }
  .download-note, .system-requirements { font-size: calc(15 * var(--interior-px, 1px)); }
  .download-patch-card .download-note { margin-top: calc(17 * var(--interior-px, 1px)); }
  .installation { padding: calc(22 * var(--interior-px, 1px)) calc(20 * var(--interior-px, 1px)); }
  .installation h2, .faq h2 { font-size: calc(29 * var(--interior-px, 1px)); }
  .install-steps { align-items: flex-start; gap: calc(9 * var(--interior-px, 1px)); }
  .install-step { gap: calc(9 * var(--interior-px, 1px)); flex-direction: column; }
  .install-step span:first-child { min-width: calc(51 * var(--interior-px, 1px)); font-size: calc(22 * var(--interior-px, 1px)); line-height: calc(34 * var(--interior-px, 1px)); }
  .install-step span:last-child { font-size: calc(17 * var(--interior-px, 1px)); white-space: normal; line-height: 1.6; }
  .install-arrow { font-size: calc(25 * var(--interior-px, 1px)); }
  .faq { padding: calc(22 * var(--interior-px, 1px)) calc(20 * var(--interior-px, 1px)); }
  .faq summary { font-size: calc(19 * var(--interior-px, 1px)); padding: calc(15 * var(--interior-px, 1px)) calc(17 * var(--interior-px, 1px)); }
  .faq details p { font-size: calc(17 * var(--interior-px, 1px)); padding-inline: calc(17 * var(--interior-px, 1px)); }
  .footer-mark .footer-brand-name { font-size: calc(19 * var(--interior-px, 1px)); letter-spacing: .1em; }
  .footer-links a, .footer-links button { font-size: calc(14 * var(--interior-px, 1px)); }
  .site-footer p { font-size: calc(12 * var(--interior-px, 1px)); }
}

@media (max-width: 390px) {
  body:not([data-view="home"]) .brand { width: calc(205 * var(--interior-px, 1px)); }
  .download-card h2 { font-size: calc(26 * var(--interior-px, 1px)); }
  .download-description { font-size: calc(16 * var(--interior-px, 1px)); }
  .download-description p:first-child, .download-patch-card .download-description p:first-child { font-size: calc(18 * var(--interior-px, 1px)); }
  .download-illustration { width: calc(93 * var(--interior-px, 1px)); }
  .download-patch-card .download-illustration { width: calc(91 * var(--interior-px, 1px)); }
}

.download-card-header .tag.pink{color:#172a45;background:linear-gradient(115deg,#facadd,#e99ec4);border-color:#fbd3e5}.download-card-header .tag:not(.pink){color:#15304b;background:linear-gradient(115deg,#c5f0ff,#89c9ef);border-color:#d7f5ff}.faq summary::after{content:'';width:calc(14 * var(--interior-px, 1px));height:calc(14 * var(--interior-px, 1px));border-right:calc(2 * var(--interior-px, 1px)) solid #b5eaff;border-bottom:calc(2 * var(--interior-px, 1px)) solid #b5eaff;transform:rotate(45deg) translateY(calc(-3 * var(--interior-px, 1px)))}.faq details[open] summary::after{content:'';transform:rotate(225deg) translate(calc(-3 * var(--interior-px, 1px)),-1px)}@media(max-width:1000px) and (min-width:761px){body:not([data-view=home]) .header-inner{min-height:calc(124 * var(--interior-px, 1px));align-items:center}body:not([data-view=home]) .menu-toggle{display:flex;flex-direction:column;gap:calc(6 * var(--interior-px, 1px));padding:calc(12 * var(--interior-px, 1px)) calc(9 * var(--interior-px, 1px));border:1px solid #b6d9ee;border-radius:calc(9 * var(--interior-px, 1px));width:calc(43 * var(--interior-px, 1px));height:calc(42 * var(--interior-px, 1px));align-items:center;justify-content:center}body:not([data-view=home]) .menu-toggle span{width:calc(22 * var(--interior-px, 1px));height:1px;background:#e4f4ff}body:not([data-view=home]) #main-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:calc(20 * var(--interior-px, 1px)) calc(25 * var(--interior-px, 1px));gap:calc(13 * var(--interior-px, 1px));background:#143654fa;border-bottom:1px solid #bbddef;box-shadow:0 calc(10 * var(--interior-px, 1px)) calc(25 * var(--interior-px, 1px)) #07213b77}body:not([data-view=home]) #main-nav.open{display:grid;grid-template-columns:repeat(2,1fr)}body:not([data-view=home]) #main-nav>a,body:not([data-view=home]) #main-nav>a.nav-register{font-size:calc(22 * var(--interior-px, 1px));padding:calc(13 * var(--interior-px, 1px)) calc(10 * var(--interior-px, 1px));border:1px solid #82acca;border-radius:calc(8 * var(--interior-px, 1px));margin:0;background:#325a7a45}body:not([data-view=home]) #main-nav>a.nav-register{background:linear-gradient(115deg,#facadd,#e99ec4)}body:not([data-view=home]) #main-nav>a:not(:first-child){background-image:none}body:not([data-view=home]) #main-nav>a::after{display:none}}
