/* Download choices are the focus; trial terms remain supporting information. */
.download-page { background: var(--bg); }
.download-page main > section { border: 0; }
.download-page main > .download-hero { overflow: clip; padding-top: clamp(40px, 3.8vw, 58px); padding-bottom: clamp(48px, 5vw, 72px); background: radial-gradient(ellipse 540px 330px at 50% 190px, #9c74821a, transparent 75%), radial-gradient(ellipse 680px 380px at 50% 400px, #b99a5210, transparent 78%), var(--bg); }
.download-page .download-heading { margin-bottom: 38px; max-width: 1100px; }
.download-brand-mark { display: block; position: relative; width: clamp(132px, 12vw, 176px); aspect-ratio: 480 / 490; margin: 0 auto 28px; }
/* Register the supplied 1024px O against the original logo's tightly cropped bounds. */
.download-brand-letter { position: absolute; display: block; width: 109.53%; max-width: none; height: auto; left: -8.34%; top: -4.51%; }
.download-brand-sphere { position: absolute; left: 58.14%; top: 58.93%; width: 41.86%; aspect-ratio: 1; pointer-events: none; }
.sphere-layer { position: absolute; inset: 0; transform-origin: 50% 50%; }
.sphere-layer img { position: absolute; display: block; max-width: none; height: auto; }
/* Centre the artwork, compensating for each untouched PNG's transparent padding. */
.sphere-layer--base img { width: 113.5255%; left: -6.541%; top: -7.2062%; }
.sphere-layer--overlay img { width: 124.5742%; left: -12.1655%; top: -11.8613%; }
.download-page .download-heading h1 { font-size: clamp(54px, 6.6vw, 96px); letter-spacing: -.045em; }
.download-heading h1 em { background: var(--brand-gradient); background-clip: text; -webkit-background-clip: text; color: transparent !important; }
.download-page .download-heading .lead { max-width: 760px; margin-top: 20px; font-size: 20px; }
/* A broad warm falloff adds depth without a coloured halo around the panel. */
.download-panel-stage { position: relative; isolation: isolate; max-width: 920px; margin-inline: auto; }
.download-panel-stage::before { content: ''; position: absolute; z-index: -1; pointer-events: none; inset: -90px -150px -60px; background: radial-gradient(ellipse at 50% 38%, #bb955519, #bb955507 48%, transparent 72%); }
@keyframes download-sphere-clockwise {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes download-sphere-counterclockwise {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}
@media (prefers-reduced-motion: no-preference) {
  .sphere-layer--base { animation: download-sphere-clockwise 24s linear infinite; animation-play-state: paused; }
  .sphere-layer--overlay { animation: download-sphere-counterclockwise 30s linear infinite; animation-play-state: paused; }
  .download-brand-mark.is-colour-active .sphere-layer { animation-play-state: running; }
}
@media (max-width: 760px) {
  .download-panel-stage::before { inset: -60px -35px -40px; }
}
/* One compact download surface. The platform switch replaces the active edition. */
.platform-editions { max-width: 920px; margin-inline: auto; border: 1px solid #4a4030; border-radius: 24px; background: #19160f; overflow: hidden; box-shadow: 0 24px 80px #0002; }
.platform-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 24px; border-bottom: 1px solid #3b3327; background: #1e1a13; }
.platform-toolbar[hidden], .platform-edition[hidden] { display: none !important; }
.download-product { display: inline-flex; align-items: center; gap: 11px; color: #c5bba9; font-size: 14px; line-height: 1.5; }
.download-product img { display: block; width: 28px; height: 28px; object-fit: contain; }
.platform-switch { display: flex; gap: 5px; padding: 4px; border-radius: 100px; background: #100e0a; border: 1px solid #3d3528; }
.platform-switch button { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 40px; padding: 8px 17px; border: 0; border-radius: 100px; background: transparent; color: #b4a994; cursor: pointer; font: inherit; font-size: 14px; font-weight: 500; transition: color .18s, background .18s, transform .18s; }
.platform-switch button svg { width: 18px; height: 18px; flex: 0 0 18px; }
.platform-switch button[aria-pressed="true"] { color: #262016; background: #eee8da; }
.platform-switch button:hover { color: var(--ink); transform: translateY(-1px); }
.platform-switch button[aria-pressed="true"]:hover { color: #262016; }
.platform-switch button:active { transform: translateY(1px); }
.platform-switch button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.platform-edition { min-width: 0; padding: 34px 36px 0; }
.platform-edition + .platform-edition { border-top: 1px solid #3b3327; }
.platform-editions.is-interactive .platform-edition { border-top: 0; }
.edition-heading { text-align: center; margin-bottom: 30px; }
.edition-title { display: flex; align-items: center; justify-content: center; gap: 15px; }
.edition-logo { display: flex; align-items: center; justify-content: center; flex: 0 0 40px; }
.edition-logo svg { display: block; width: 40px; height: 40px; }
.download-page .edition-heading h2 { margin: 0; font-size: clamp(36px, 4vw, 46px); line-height: 1.15; letter-spacing: -.035em; text-wrap: initial; }
.edition-heading > p { margin: 12px 0 0; color: #b3a791; font-size: 15px; line-height: 1.6; }
.edition-heading > p span { margin: 0 6px; color: #746650; }
.edition-bottom { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.2fr); gap: 28px; padding: 25px 28px; border: 1px solid #393124; border-radius: 16px; background: #110f0b; text-align: left; align-items: start; }
.mac-build-picker { min-width: 0; border: 0; padding: 0; margin: 0; }
.mac-build-picker legend, .edition-field-label { margin: 0 0 10px; padding: 0; color: #bcb09b; font-size: 14px; line-height: 1.5; font-weight: 400; }
.mac-build-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 4px; padding: 4px; border: 1px solid #51432e; border-radius: 10px; background: #1c1811; }
.mac-build-options label { position: relative; min-width: 0; cursor: pointer; }
.mac-build-options input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.mac-build-options span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 10px; border-radius: 6px; color: #c0b49e; font-size: 15px; line-height: 1.5; transition: background .18s, color .18s; }
.mac-build-options input:checked + span { background: #51452f; color: #fff4df; font-weight: 600; }
.mac-build-options input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }
.mac-build-picker > p { margin: 10px 0 0; color: #a79b85; font-size: 14px; line-height: 1.55; }
.download-build { min-width: 0; }
.edition-download { display: flex; align-items: center; justify-content: center; gap: 11px; width: 100%; min-height: 54px; padding: 13px 16px; border: 1px solid #e8dfcd; border-radius: 10px; background: #eee8da; color: #292217; font: inherit; font-size: 17px; font-weight: 650; line-height: 1.5; }
.edition-download:disabled { cursor: not-allowed; }
.edition-download svg { width: 22px; height: 22px; flex: 0 0 22px; }
.edition-availability { margin: 10px 0 0; color: #a79b85; font-size: 14px; line-height: 1.55; }
.windows-build-info .edition-field-label { display: block; }
.windows-build-info > p { margin: 0 0 4px; color: #e4dac8; font-size: 23px; font-weight: 500; line-height: 1.4; }
.windows-build-info > span:last-child { color: #b9ad96; font-size: 15px; line-height: 1.5; }
.edition-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 23px 0; color: #bfb29a; font-size: 14px; line-height: 1.6; }
.edition-footer a { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.edition-footer a span { margin-left: 5px; }
.edition-footer a:hover, .edition-requirements summary:hover { color: var(--ink); }
.edition-footer a:focus-visible, .edition-requirements summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.edition-requirements { max-width: 500px; }
.edition-requirements summary { cursor: pointer; list-style: none; }
.edition-requirements summary::-webkit-details-marker { display: none; }
.edition-requirements summary::after { content: '+'; display: inline-block; margin-left: 10px; color: var(--gold-soft); }
.edition-requirements[open] summary::after { content: '−'; }
.edition-requirements p { margin: 12px 0 0; color: #b0a38c; font-size: 15px; line-height: 1.7; }
#macos .mac-build-silicon { display: none; }
#macos:has(#mac-build-silicon:checked) .mac-build-intel { display: none; }
#macos:has(#mac-build-silicon:checked) .mac-build-silicon { display: block; }
@media (max-width: 800px) {
  .platform-toolbar { padding: 15px 20px; gap: 12px; }
  .download-product { gap: 9px; }
  .download-product img { width: 25px; height: 25px; }
  .platform-switch button { padding-inline: 13px; }
  .platform-edition { padding: 28px 24px 0; }
  .edition-heading { margin-bottom: 24px; }
  .edition-bottom { grid-template-columns: minmax(0,1fr); gap: 23px; padding: 24px; }
  .edition-footer { flex-wrap: wrap; gap: 12px 24px; }
}
@media (max-width: 480px) {
  .platform-toolbar { justify-content: center; }
  .download-product { display: none; }
  .platform-switch { width: 100%; }
  .platform-switch button { flex: 1; }
  .platform-edition { padding: 26px 18px 0; }
  .edition-heading { margin-bottom: 22px; }
  .edition-logo, .edition-logo svg { width: 34px; height: 34px; flex-basis: 34px; }
  .edition-title { gap: 12px; }
  .edition-bottom { padding: 20px 17px; }
  .edition-download { font-size: 16px; }
  .edition-footer { font-size: 14px; padding-block: 21px; }
}
.download-trial-note { margin-top: 25px; font-size: 14px; line-height: 1.7; color: var(--muted); text-align: center; }
.download-shortcuts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 30px; margin-top: 17px; }
.download-shortcuts a { min-height: 40px; display: flex; align-items: center; color: var(--gold-soft); font-size: 14px; }
.download-shortcuts a:hover { color: var(--ink); }
.download-page .download-requirements { padding-top: clamp(92px, 10vw, 140px); }
.install-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; align-items: start; }
.install-requirement { border-bottom: 1px solid #352e23; min-width: 0; }
.install-requirement summary { display: flex; align-items: center; gap: 16px; padding: 26px 0; list-style: none; cursor: pointer; font-size: 19px; font-weight: 600; }
.install-requirement summary::-webkit-details-marker, .download-updates summary::-webkit-details-marker { display: none; }
.requirement-number { color: var(--gold); font-size: 12px; font-weight: 400; flex: 0 0 19px; }
.requirement-toggle { margin-left: auto; flex-shrink: 0; width: 26px; text-align: center; color: var(--gold-soft); font-size: 22px; font-weight: 400; transition: transform .2s; }
.install-requirement[open] .requirement-toggle, .download-updates[open] .requirement-toggle { transform: rotate(45deg); }
.install-requirement > div { padding: 0 27px 26px 35px; color: var(--muted); font-size: 17px; line-height: 1.75; }
.install-requirement summary:hover, .download-updates summary:hover { color: var(--gold-soft); }
.installation-note { max-width: 720px; margin: 28px auto 0; color: var(--muted); text-align: center; font-size: 14px; line-height: 1.7; }
.download-page .download-compatibility { background: var(--bg-2); }
.download-page .download-matrix { border-color: #3c3327; border-radius: 18px; background: #19150f; }
.download-page .download-matrix thead { background: #211c14; }
.download-page .download-matrix .renderer-tag { padding: 5px 10px; background: #211c14; border: 1px solid #393024; border-radius: 7px; }
.download-page .download-matrix .matrix-dcc { font-size: 19px; gap: 16px; }
.download-page .download-matrix .matrix-dcc img { width: 31px; height: 31px; }
.download-page .download-matrix .native-file > span { border: 0; font-size: 16px; padding: 0; }
.compatibility-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 24px; text-align: center; color: var(--muted); font-size: 14px; line-height: 1.7; }
.ownership-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; }
.ownership-benefits article { min-width: 0; padding-top: 24px; border-top: 1px solid #4a3d2a; }
.ownership-label { display: block; color: var(--gold); font-size: 12px; letter-spacing: .08em; margin-bottom: 24px; }
.download-page .ownership-benefits h3 { font-size: clamp(27px, 2.5vw, 34px); line-height: 1.2; letter-spacing: -.035em; }
.ownership-benefits p { margin-top: 21px; font-size: 18px; line-height: 1.75; color: var(--muted); max-width: 530px; }
.ownership-trial { margin: 34px auto 0; max-width: 780px; color: var(--muted); font-size: 14px; line-height: 1.75; text-align: center; }
.download-updates { margin-top: 52px; border: 1px solid #3e3527; border-radius: 14px; padding: 0 25px; background: #19150f; }
.download-updates summary { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 22px 0; list-style: none; cursor: pointer; font-size: 18px; font-weight: 600; }
.download-updates summary > span:first-child { display: flex; align-items: center; gap: 15px; }
.updates-symbol { color: var(--gold); font-size: 26px; font-weight: 400; }
.download-updates > div { max-width: 980px; padding: 0 0 25px 41px; font-size: 17px; color: var(--muted); line-height: 1.75; }
.download-updates p + p { margin-top: 14px; }
.download-page main > .download-help { padding-top: 0; }
.download-help-inner { text-align: center; padding: 65px 30px; border-top: 1px solid #393025; }
.download-help-inner > p:not(.kicker) { margin: 24px 0 0; font-size: 18px; color: var(--muted); }
.download-help-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin-top: 30px; }
.download-help-links a { display: flex; align-items: center; justify-content: space-between; gap: 28px; border: 1px solid #4c402e; border-radius: 10px; padding: 14px 20px; font-size: 15px; color: var(--gold-soft); transition: background .2s; }
.download-help-links a:first-child { background: var(--ink); border-color: var(--ink); color: #292217; font-weight: 700; }
.download-help-links a:hover { background: #302719; }
.download-help-links a:first-child:hover { background: var(--gold-soft); }
@media (prefers-reduced-motion: no-preference) {
  .download-heading { animation: download-arrive .6s both; }
  .install-requirement[open] > div, .download-updates[open] > div { animation: download-arrive .3s both; }
}
@keyframes download-arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1050px) {
  .install-checklist { gap: 0 28px; }
  .ownership-benefits { gap: 36px; }
}
@media (max-width: 760px) {
  .download-page main > .download-hero { padding-top: 38px; }
  .download-brand-mark { width: 112px; margin-bottom: 24px; }
  .download-page .download-heading { margin-bottom: 34px; }
  .download-page .download-heading h1 { font-size: clamp(46px, 9vw, 66px); }
  .download-heading h1 em { display: inline; }
  .download-page .download-heading .lead { font-size: 18px; }
  .download-heading .lead br { display: none; }
  .download-shortcuts { column-gap: 19px; margin-top: 12px; }
  .download-shortcuts a { font-size: 13px; }
  .download-page .download-requirements { padding-top: 76px; }
  .install-checklist { grid-template-columns: 1fr; }
  .install-requirement summary { font-size: 18px; gap: 13px; padding-block: 23px; }
  .install-requirement > div { font-size: 17px; padding-left: 32px; }
  .compatibility-notes { grid-template-columns: 1fr; gap: 12px; }
  .ownership-benefits { grid-template-columns: 1fr; gap: 38px; }
  .ownership-benefits p { font-size: 17px; }
  .ownership-label { margin-bottom: 19px; }
  .ownership-trial { text-align: left; }
  .download-updates { padding-inline: 20px; margin-top: 30px; }
  .download-updates > div { padding-left: 0; }
  .download-help-inner { padding: 50px 0 0; }
  .download-help-links { gap: 12px; }
}
@media (max-width: 420px) {
  .download-brand-mark { width: 96px; margin-bottom: 22px; }
  .download-help-links { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .platform-switch button, .mac-build-options span, .requirement-toggle, .download-help-links a { transition: none; }
  .platform-switch button:hover, .platform-switch button:active { transform: none; }
}

/* Keep the primary download within reach on shorter laptop screens. */
@media (min-width: 761px) and (max-height: 900px) {
  .download-page main > .download-hero { padding-top: 34px; }
  .download-brand-mark { width: 104px; margin-bottom: 20px; }
  .download-page .download-heading h1 { font-size: clamp(54px, 5.8vw, 80px); }
  .download-page .download-heading { margin-bottom: 30px; }
}
