/* Software evaluation: consistent dark surfaces and unfiltered product previews. */
body.software-page { background:#070c16; }
.software-page main { color:#eef3ff; }
.sw-shell { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.sw-hero { position:relative; isolation:isolate; overflow:hidden; min-height:560px; background:#060914; color:#f5f7ff; }
.sw-hero::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#060914 8%,#060914f5 36%,#060914c9 48%,#06091430 74%,transparent); }
.sw-hero-art { position:absolute; z-index:0; right:0; top:0; width:auto; max-width:none; height:100%; object-fit:contain; object-position:right center; }
.sw-hero-copy { padding-block:64px; position:relative; z-index:2; }
.sw-hero-copy > * { max-width:540px; }
.sw-breadcrumb { display:inline-block; font-size:12px; color:#bfcdf3; margin-bottom:28px; }
.sw-eyebrow { font-size:11px; letter-spacing:.11em; text-transform:uppercase; font-weight:800; color:#acc5ff; margin-bottom:16px; }
.sw-hero h1 { font-size:clamp(40px,4.5vw,64px); line-height:1.08; color:#f5f7ff; }
.sw-intro { margin:24px 0; color:#c5d1e5; font-size:15px; line-height:1.8; }
.sw-hero small { display:block; margin-top:22px; font-size:11px; color:#a9b9d1; }
.sw-actions { display:flex; flex-wrap:wrap; gap:12px; }
.sw-link { display:inline-flex; align-items:center; justify-content:space-between; gap:15px; min-height:46px; padding:12px 18px; border:1px solid #6787bd; border-radius:8px; background:#142039; color:#e6efff; font-size:12px; font-weight:800; transition:box-shadow .18s,border-color .18s,transform .18s,background .18s; }
.sw-link-secondary { border-color:#615c83; background:#16182b; color:#d8d5f4; }
.sw-link:is(:hover,:focus-visible) { box-shadow:0 0 24px #487be82b; border-color:#93b7ff; background:#1a2b4b; transform:translateY(-2px); }
.sw-section { padding-block:64px; }
.sw-section + .sw-section { border-top:1px solid #24344d; }
.sw-heading { max-width:780px; margin-bottom:32px; }
.sw-heading h2,.sw-preview h2,.sw-evaluation h2,.sw-overview-close h2 { color:#f1f5ff; font-size:clamp(29px,3.4vw,44px); line-height:1.15; }
.sw-heading>p:last-child { margin-top:18px; color:#bfcde1; }
.sw-track-grid,.sw-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.sw-track { position:relative; padding:28px; border:1px solid #344768; border-radius:14px; background:radial-gradient(ellipse at 100% 0,#22376866,transparent 72%),#101827; display:flex; flex-direction:column; box-shadow:0 14px 36px #0003,inset 0 1px #cbdfff0a; transition:box-shadow .18s,transform .18s,border-color .18s; }
.sw-track:nth-child(2) { background:radial-gradient(ellipse at 100% 0,#55347444,transparent 72%),#111725; }
.sw-track:nth-child(3) { background:radial-gradient(ellipse at 100% 0,#17557844,transparent 72%),#101827; }
.sw-track:is(:hover,:focus-visible) { transform:translateY(-2px); border-color:#789ee0; box-shadow:0 20px 40px #0005,0 0 26px #427ad51f; }
.sw-track-number { display:flex; justify-content:space-between; color:#a8c3ff; font-size:12px; font-weight:800; }
.sw-track h3 { margin:28px 0 14px; color:#f1f5ff; font-size:24px; line-height:1.2; }
.sw-track p { color:#bdcbe0; font-size:13px; line-height:1.8; }
.sw-card-action { display:flex; justify-content:space-between; gap:14px; margin-top:auto; padding-top:26px; color:#b8ceff; font-size:12px; font-weight:800; }
.sw-steps { list-style:none; padding:0; margin:0; }
.sw-steps li { border-top:1px solid #6a80b0; padding:22px 20px 20px 0; min-width:0; }
.sw-steps li>span { font-size:12px; font-weight:800; color:#b4a7e8; }
.sw-steps h3 { margin:16px 0; font-size:23px; color:#eef3ff; }
.sw-steps p { color:#bdcbe0; font-size:14px; line-height:1.85; }
.sw-steps a { display:inline-flex; gap:10px; align-items:center; font-size:12px; font-weight:750; text-decoration:underline; text-underline-offset:4px; margin-top:20px; color:#accaff; min-height:44px; }
.sw-preview { padding:16px 0 64px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; align-items:center; }
.sw-preview>div { min-width:0; }
.sw-preview p { margin-top:20px; font-size:14px; color:#bdcbe0; }
.sw-reference-links { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:18px; }
.sw-reference-links a { font-size:12px; color:#accaff; text-decoration:underline; text-underline-offset:4px; display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.software-page .product-window { background:#111a2a; border-color:#5b729b; box-shadow:0 20px 46px #0006; }
.software-page .window-bar,.software-page .product-window figcaption { background:#10192a; border-color:#354863; color:#c1cfe4; }
.software-page .window-bar>span:nth-child(2),.software-page .window-bar>button,.software-page .product-window figcaption>span { color:#b9c9e1; }
.sw-preview .product-window { transform:none; }
.software-page .screenshot-button:hover img { transform:none; }
.sw-evaluation { padding-block:64px; border-block:1px solid #283552; background:radial-gradient(ellipse at 15% 90%,#35266c45,transparent 60%),#0c1322; color:#f5f6ff; }
.sw-evaluation>.sw-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; }
.sw-evaluation p { color:#c4cfe4; line-height:1.8; font-size:14px; margin-top:18px; }
.sw-evaluation .sw-actions { margin-top:26px; }
.sw-checklist details { border-bottom:1px solid #3b4b68; }
.sw-checklist summary { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:62px; padding:12px 0; cursor:pointer; font-size:15px; font-weight:750; list-style:none; color:#e8efff; }
.sw-checklist summary::-webkit-details-marker { display:none; }
.sw-checklist summary>span { font-size:22px; color:#a8c6ff; flex:none; }
.sw-checklist details[open] summary>span { transform:rotate(45deg); }
.sw-checklist details p { margin:0 0 25px; }
.sw-next { display:flex; align-items:center; flex-wrap:wrap; gap:15px; padding-block:40px; }
.sw-next>strong { width:100%; font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#a9bcd8; }
.sw-next>a:last-child { min-height:44px; display:inline-flex; align-items:center; gap:12px; font-size:12px; text-decoration:underline; color:#accaff; }
.sw-platform-section { padding-bottom:40px; }
.sw-platform-section h2 { font-size:28px; margin-bottom:25px; color:#f1f5ff; }
.sw-platforms { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.sw-platforms>div { display:grid; gap:6px; padding:16px 0; border-bottom:1px solid #344967; min-width:0; }
.sw-platforms img { width:38px; height:38px; object-fit:contain; margin-bottom:8px; }
/* Only the black Apple marks need a small neutral plate; brand pixels stay intact. */
.sw-platforms :is(.brand-macos,.brand-ios) { padding:5px; background:#dbe5f3; border-radius:6px; }
.sw-platforms strong { font-size:13px; color:#eef3ff; }
.sw-platforms span { font-size:11px; color:#b6c6de; }
.sw-overview-close { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:64px; }
.sw-overview-close p { margin-top:22px; color:#bdcbe0; font-size:14px; line-height:1.9; }
.sw-overview-close nav { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:14px; }
.software-page .product-tour { background:radial-gradient(ellipse at 70% 0,#47277833,transparent 60%),#0c1221; color:#eef3ff; padding-block:64px; overflow:clip; border-block:1px solid #293653; }
.software-page .product-tour .tour-caption { color:#edf0ff; }
.software-page .product-tour .tour-caption p { color:#d0d7e7; }
.software-page .closing-cta { margin-top:0; }
.software-page main :is(a,button,summary):focus-visible { outline:3px solid #a9c7ff; outline-offset:5px; }
@media(max-width:1000px) {
  .sw-hero-copy > * { max-width:500px; }
  .sw-hero h1 { font-size:48px; }
  .sw-track-grid,.sw-steps { gap:16px; }
  .sw-track { padding:22px; }
  .sw-preview { gap:32px; }
}
@media(max-width:900px) {
  .sw-shell { width:calc(100% - 48px); }
  .sw-hero { min-height:0; display:flex; flex-direction:column; }
  .sw-hero-art { position:relative; width:100%; max-width:100%; height:auto; order:0; }
  .sw-hero::after { display:none; }
  .sw-hero-copy { padding-block:32px 44px; order:1; }
  .sw-hero-copy > * { max-width:680px; }
  .sw-hero h1 { font-size:clamp(36px,6vw,52px); }
  .sw-preview { grid-template-columns:1fr; gap:28px; }
  .sw-preview>div:first-child { max-width:680px; }
  .sw-evaluation>.sw-shell { grid-template-columns:1fr; gap:32px; }
  .sw-overview-close { gap:35px; }
  .sw-platforms { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:680px) {
  .sw-shell { width:calc(100% - 40px); }
  .sw-breadcrumb { margin-bottom:22px; }
  .sw-intro { font-size:14px; }
  .sw-actions .sw-link { max-width:100%; white-space:normal; }
  .sw-section { padding-block:44px; }
  .sw-track-grid,.sw-steps { grid-template-columns:1fr; }
  .sw-track { padding:24px; }
  .sw-track h3 { margin-top:16px; }
  .sw-steps li { padding-right:0; }
  .sw-preview { padding-bottom:44px; }
  .sw-evaluation { padding-block:44px; }
  .sw-overview-close { grid-template-columns:1fr; }
  .sw-next { padding-block:28px; }
  .sw-platforms { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) {
  .sw-link,.sw-track { transition:none; }
  .sw-link:is(:hover,:focus-visible),.sw-track:is(:hover,:focus-visible) { transform:none; }
}
html[data-motion=paused] :is(.sw-link,.sw-track) { transition:none; transform:none; }
@media(forced-colors:active) {
  body.software-page,.sw-hero,.sw-evaluation,.software-page .product-tour,.sw-track,.software-page .product-window,.software-page .window-bar,.software-page .product-window figcaption { background:Canvas; color:CanvasText; box-shadow:none; }
  .sw-hero-art,.sw-hero::after { display:none; }
  .software-page :is(h1,h2,h3,p,small,.sw-eyebrow,.sw-track-number,.sw-platforms span,.sw-next>strong) { color:CanvasText; }
  .sw-link,.sw-track,.sw-checklist details,.software-page .product-window { border-color:ButtonText; color:LinkText; }
  .software-page :is(a,button,summary):focus-visible { outline-color:Highlight; }
}
