:root { --carbon:#111315; --graphite:#1B1F23; --red:#D72638; --signal:#FF3B45; --ice:#F4F6F8; --gray:#A8B0B8; --green:#35C46A; --line:#30353b; --heading:'Space Grotesk',sans-serif; --body:'Inter',sans-serif; --mono:'JetBrains Mono',monospace; }
[hidden] { display:none!important; }
.gpu-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px; margin-top:24px; }
.gpu-card { overflow:hidden; min-width:0; background:var(--graphite); border:1px solid var(--line); border-radius:5px; }
.gpu-photo { display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; background:#20252a; color:var(--gray); font:14px var(--mono); }
.gpu-photo img { width:100%; height:100%; object-fit:contain; }
.gpu-card-body { padding:24px; overflow-wrap:anywhere; }
.gpu-card h3 { margin-top:12px; font-size:23px; }
.gpu-price { color:var(--ice); font:500 28px var(--heading); margin-block:16px; }
.gpu-description { color:var(--gray); white-space:pre-wrap; margin-bottom:24px; }
.gpu-card .button { margin:0 8px 10px 0; }
.shop-admin { margin-top:48px; max-width:760px; }
.shop-admin summary { cursor:pointer; font:500 20px var(--heading); padding-block:4px; }
.shop-admin h2 { margin-top:26px; }
.listing-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
select { display:block; width:100%; margin-top:7px; padding:11px 12px; border:1px solid #49515a; border-radius:4px; background:var(--carbon); color:var(--ice); font:inherit; }
select:focus-visible,summary:focus-visible { outline:2px solid var(--signal); outline-offset:5px; }
.shop-admin .is-error,.is-error { color:#ff949b; }
@media(max-width:400px) { .listing-fields { grid-template-columns:1fr; gap:0; } }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:100px; }
    body { margin:0; background:var(--carbon); color:var(--ice); font:400 15px/1.7 var(--body); }
    button,input,textarea { font:inherit; }
    button,a { -webkit-tap-highlight-color:transparent; }
    a { color:inherit; text-decoration:none; }
    button { cursor:pointer; }
    button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:2px solid var(--signal); outline-offset:5px; }
    ::selection { background:var(--red); color:var(--ice); }
    .wrap { width:min(1200px,calc(100% - 80px)); margin-inline:auto; }
    .skip { position:fixed; top:-100px; left:20px; background:var(--red); padding:10px 20px; z-index:10; }
    .skip:focus { top:12px; }
    header { border-bottom:1px solid var(--line); }
    .nav { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
    .brand { display:inline-flex; align-items:center; gap:11px; font:700 27px/1 var(--heading); letter-spacing:-1px; }
    .brand svg { width:32px; height:35px; color:var(--signal); }
    .brand span span { color:var(--signal); }
    nav { display:flex; align-items:center; gap:32px; }
    nav a { color:var(--gray); font-size:13px; transition:color .2s; }
    nav a:hover { color:var(--ice); }
    .button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:50px; padding:13px 23px; border:1px solid var(--red); border-radius:4px; background:var(--red); color:var(--ice); font-weight:600; font-size:13px; line-height:1.4; transition:background .2s,border-color .2s,transform .2s; }
    .button:hover { background:#bb2131; border-color:var(--signal); transform:translateY(-2px); }
    .button.secondary { border-color:#49515a; background:transparent; }
    .button.secondary:hover { background:var(--graphite); border-color:var(--gray); }
    .button .arrow { font-size:20px; font-weight:400; }
    .nav .button { min-height:42px; padding:10px 17px; }
    .hero { position:relative; overflow:hidden; }
    .hero-inner { display:grid; grid-template-columns:1.08fr 1fr; gap:25px; align-items:center; padding-block:86px 74px; }
    .eyebrow { display:flex; align-items:center; gap:10px; color:var(--gray); font:400 10px/1.7 var(--mono); letter-spacing:1.8px; text-transform:uppercase; }
    .eyebrow::before { content:''; width:18px; height:2px; background:var(--signal); flex-shrink:0; }
    h1,h2,h3,p { margin:0; }
    h1,h2,h3 { font-family:var(--heading); }
    h1 { margin-top:24px; font-size:clamp(44px,5.1vw,70px); line-height:1.06; letter-spacing:-3px; font-weight:600; }
    h1 span { color:var(--signal); }
    .hero-copy > p { max-width:465px; margin-top:25px; color:var(--gray); font-size:16px; line-height:1.85; }
    .actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
    .hero-note { margin-top:24px; color:var(--gray); font:10px/1.7 var(--mono); display:flex; align-items:center; gap:8px; }
    .dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--green); flex-shrink:0; }
    .visual { position:relative; min-width:0; padding:45px 0; }
    .visual::before { content:''; position:absolute; inset:-40px -80px; background:radial-gradient(ellipse at center, #d7263812, transparent 65%); pointer-events:none; }
    .hero-gpu-photo { position:relative; display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:6px; }
    .visual-label { position:absolute; top:12px; left:20px; font:9px var(--mono); color:var(--gray); letter-spacing:1px; }
    .visual-label::before { content:'+'; color:var(--signal); margin-right:12px; }
    .visual-foot { position:absolute; bottom:15px; inset-inline:20px; display:flex; justify-content:space-between; font:9px var(--mono); color:var(--gray); letter-spacing:1px; }
    .visual-foot span:last-child { color:var(--green); display:flex; align-items:center; gap:7px; }
    .credibility { border-block:1px solid var(--line); background:#16191c; }
    .proofs { display:grid; grid-template-columns:repeat(4,1fr); padding-block:24px; }
    .proof { display:flex; align-items:center; justify-content:center; gap:12px; border-right:1px solid var(--line); font-size:12px; font-weight:500; }
    .proof:last-child { border:0; }
    .proof svg { width:21px; height:21px; color:var(--green); fill:none; stroke:currentColor; stroke-width:1.5; }
    .services { padding-block:75px 80px; }
    .section-top { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:30px; }
    h2 { margin-top:13px; font-size:36px; line-height:1.2; letter-spacing:-1.4px; font-weight:500; }
    .section-top > p { max-width:300px; color:var(--gray); font-size:13px; }
    .cards { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
    .card { background:var(--graphite); border:1px solid var(--line); border-radius:5px; padding:25px 23px 24px; position:relative; transition:border-color .2s,transform .2s; }
    .card:hover { border-color:#744048; transform:translateY(-4px); }
    .card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:32px; }
    .card-icon { width:34px; height:34px; fill:none; stroke:var(--signal); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
    .number { color:#757f89; font:10px var(--mono); }
    h3 { font-size:19px; font-weight:500; letter-spacing:-.5px; }
    .card p { color:var(--gray); font-size:12px; line-height:1.9; margin-top:12px; min-height:92px; }
    .tag { border-top:1px solid var(--line); margin-top:23px; padding-top:16px; color:var(--gray); font:9px/1.7 var(--mono); letter-spacing:.65px; text-transform:uppercase; }
    .tag.green { color:var(--green); }
    .approach { border-top:1px solid var(--line); padding-block:56px; display:grid; grid-template-columns:1fr 1.4fr; gap:60px; }
    .approach h2 { font-size:29px; }
    .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
    .step > span { color:var(--signal); font:11px var(--mono); }
    .step h3 { font-size:16px; margin-top:14px; }
    .step p { color:var(--gray); font-size:12px; margin-top:8px; }
    footer { border-top:1px solid var(--line); }
    .footer-inner { min-height:92px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
    footer .brand { font-size:20px; }
    footer .brand svg { width:24px; height:26px; }
    footer p { font:10px/1.8 var(--mono); color:var(--gray); }
    .footer-note { color:var(--gray); font-size:11px; }
    label { display:block; margin-top:20px; font-size:12px; font-weight:600; }
    input,textarea { display:block; width:100%; margin-top:7px; padding:11px 12px; border:1px solid #49515a; border-radius:4px; background:var(--carbon); color:var(--ice); font-size:13px; }
    textarea { resize:vertical; min-height:100px; }
    input::placeholder,textarea::placeholder { color:var(--gray); }
    .status { margin-top:15px; font-size:12px; color:var(--green); }
    .empty-state { margin-top:25px; padding:24px; border:1px dashed #49515a; border-radius:4px; }
    .empty-state strong { display:block; margin-bottom:7px; font-family:var(--heading); font-weight:500; }
    @media(min-width:1500px) { .hero-inner { padding-block:110px 100px; } }
    @media(max-width:1000px) { .wrap { width:calc(100% - 48px); } nav { gap:22px; } h1 { font-size:52px; } .cards { grid-template-columns:repeat(2,1fr); } .card p { min-height:46px; } .proof { font-size:10px; gap:8px; } .approach { gap:30px; } }
    @media(max-width:700px) { .wrap { width:calc(100% - 40px); } .nav { min-height:76px; gap:15px; } .brand { font-size:24px; }  .nav .button { font-size:11px; padding:10px 12px; } .hero-inner { grid-template-columns:1fr; padding-block:48px 30px; gap:30px; } h1 { font-size:clamp(43px,9vw,62px); letter-spacing:-2px; } .hero-copy > p { font-size:14px; max-width:440px; } .visual { width:min(100%,480px); margin-inline:auto; padding:32px 0; } .visual-label { top:0; } .visual-foot { bottom:0; } .proofs { grid-template-columns:1fr 1fr; gap:24px 0; } .proof { justify-content:flex-start; font-size:10px; } .proof:nth-child(even) { border:0; padding-left:16px; } .proof svg { width:18px; flex-shrink:0; } .services { padding-block:48px; } .section-top { display:block; } h2 { font-size:30px; } .section-top > p { margin-top:16px; max-width:100%; } .cards { gap:12px; } .card { padding:20px 16px; } .card-top { margin-bottom:24px; } h3 { font-size:17px; } .card p { min-height:115px; } .tag { font-size:8px; letter-spacing:0; } .approach { grid-template-columns:1fr; padding-block:38px; } .steps { gap:18px; } .step h3 { font-size:14px; } .footer-inner { padding-block:25px; flex-wrap:wrap; gap:16px; } .footer-note { width:100%; } }
    @media(max-width:380px) { .cards { grid-template-columns:1fr; } .card p { min-height:0; } .proof { font-size:9px; gap:5px; } .proof:nth-child(even) { padding-left:10px; } .steps { grid-template-columns:1fr; } }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
/* Shared page layouts. */
body { min-height:100vh; display:flex; flex-direction:column; }
main { flex:1; }
nav a[aria-current="page"]:not(.button) { color:var(--ice); text-decoration:underline; text-decoration-color:var(--signal); text-underline-offset:8px; }
nav .button[aria-current="page"] { border-color:var(--ice); }
.breadcrumb { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:12px; color:var(--gray); font:11px/1.7 var(--mono); margin-bottom:30px; }
.breadcrumb a:hover { color:var(--ice); }
.page-intro { padding-block:55px 42px; }
.page-intro h1 { max-width:850px; font-size:clamp(40px,5vw,62px); }
.page-intro > p { max-width:620px; margin-top:22px; color:var(--gray); font-size:16px; }
.page-content { padding-bottom:72px; }
.page-services { padding-top:18px; }
.page-approach { border:0; padding-top:12px; }
.page-approach .step { padding:25px; border:1px solid var(--line); border-radius:5px; background:var(--graphite); }
.page-approach .step h3 { font-size:20px; }
.page-approach .step p { font-size:14px; }
.page-approach .steps { grid-template-columns:1fr; }
.page-approach .step > span { font-size:12px; }
.callout { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:30px; background:var(--graphite); border:1px solid var(--line); border-radius:5px; }
.callout h2 { margin-top:0; font-size:25px; }
.callout p { color:var(--gray); margin-top:9px; font-size:13px; }
.callout .button { flex-shrink:0; }
.explore { padding-block:56px; }
.explore .cards { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:25px; }
.explore .card { display:flex; flex-direction:column; align-items:flex-start; }
.explore .card p { min-height:0; flex:1; }
.text-link { display:inline-block; margin-top:22px; color:var(--ice); font-size:13px; text-decoration:underline; text-decoration-color:var(--signal); text-underline-offset:6px; }
.text-link:hover { color:var(--signal); }
.shop-empty { max-width:760px; padding:38px; margin-top:0; background:var(--graphite); }
.shop-empty p { color:var(--gray); margin-top:15px; }
.repair-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:32px; align-items:start; }
.repair-panel { padding:30px; border:1px solid var(--line); border-radius:5px; background:var(--graphite); }
.repair-panel h2 { font-size:25px; margin:0 0 15px; }
.repair-panel p,.repair-panel li { font-size:13px; color:var(--gray); }
.repair-panel li + li { margin-top:10px; }
.repair-panel ul { padding-left:20px; }
.repair-panel .button { margin-top:22px; }
.repair-panel .status { color:var(--green); }
.button:disabled { opacity:.5; cursor:not-allowed; transform:none; }
@media(max-width:850px) {
  .nav { flex-wrap:wrap; justify-content:center; padding-block:20px; gap:20px; }
  nav { width:100%; justify-content:center; flex-wrap:wrap; gap:18px 24px; }
  nav a { padding-block:8px; }
  .repair-layout { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  .page-intro { padding-block:32px; }
  .page-intro h1 { font-size:42px; }
  .page-intro > p { font-size:14px; }
  .page-content { padding-bottom:44px; }
  .explore .cards { grid-template-columns:1fr; }
  .explore .card p { min-height:0; }
  .callout { flex-direction:column; align-items:flex-start; padding:24px; }
  .repair-panel,.shop-empty { padding:24px; }
  nav { gap:10px 18px; }
  nav a { font-size:12px; }
}
@media(max-width:400px) {
  .visual-foot { inset-inline:0; font-size:8px; letter-spacing:0; }
  .eyebrow { font-size:9px; letter-spacing:1px; }
}
