/* GPUwerk shared page system: typography, surfaces, forms and content layouts. */
:root { --bg:#0a0b0c; --bg-soft:#101214; --card:#121416; --card-hover:#1b1e21; --border:#282c30; --border-hi:#3b4248; --text:#f1f3f4; --text-dim:#a4abb1; --radius:8px; }
body { background:var(--bg); color:var(--text); }
.land-main { max-width:1200px; padding:0 32px 80px; }
.hero,.page-hero { padding:72px 0 40px; }
.hero::before { display:none; }
.hero h1,.page-hero h1 { font-size:clamp(36px,4.2vw,58px); font-weight:600; letter-spacing:-.04em; line-height:1.12; max-width:960px; margin-left:auto; margin-right:auto; text-wrap:balance; }
.hero h1 span,.page-hero h1 span { color:inherit !important; }
.hero p,.page-hero p { font-size:17px; line-height:1.7; max-width:740px; color:var(--text-dim); }
.land-section { margin-top:64px; }
.land-h2 { font-size:30px; line-height:1.2; font-weight:600; letter-spacing:-.025em; }
.land-sub { font-size:15px; line-height:1.7; max-width:780px; }
.btn { min-height:44px; border-radius:6px; font-weight:600; }
.price-card,.info-card,.guide-card,.fit-card,.step,.rental-choice,.spec-panel,.resource-directory { background:transparent; border-color:var(--border); border-radius:8px; box-shadow:none; }
.price-grid,.cards3,.guide-grid,.fits-grid { gap:20px; }
.price-card { padding:28px; }
.price-card h3 { color:var(--text); font-size:17px; letter-spacing:-.015em; }
.price-card .amount { font-size:34px; font-weight:600; margin:14px 0 22px; }
.price-card .spec-row { padding:12px 0; }
.spec-row dt { white-space:normal; }
.spec-row dd { min-width:0; }
.guide-card { padding:26px; transition:background .15s,border-color .15s; }
.guide-card:hover { background:var(--bg-soft); border-color:var(--border-hi); }
.guide-card .g-tag,.article .a-tag { text-transform:none; letter-spacing:0; color:var(--text-dim); font-size:12px; font-weight:500; }
.guide-card h3 { font-size:18px; line-height:1.4; font-weight:600; margin:10px 0; }
.guide-card p,.info-card p,.step p { font-size:14px; line-height:1.7; }
.guide-card .g-meta { font-family:inherit; font-size:12px; padding-top:24px; }
.info-card { padding:26px; }
.info-card h3 { font-size:18px; font-weight:600; }
.trust-strip { gap:0; border:1px solid var(--border); border-radius:8px; background:transparent; }
.trust-item { padding:20px; font-size:14px; }
.trust-item small { font-size:12px; line-height:1.6; }
.step::before { color:var(--text); background:var(--bg-soft); border:1px solid var(--border); }
.bench-table,.compare-table { border-radius:8px; border-color:var(--border); }
.bench-table th,.compare-table th { text-transform:none; letter-spacing:0; font-weight:500; }
.bench-table th,.bench-table td,.compare-table th,.compare-table td { padding:16px; }
.callout { border-left:1px solid var(--border-hi); border-radius:8px; padding:20px 24px; }
.callout.warn { border-color:var(--border-hi); }
.article { max-width:820px; padding:64px 32px 48px; }
.article h1 { font-size:clamp(32px,3.4vw,46px); font-weight:600; line-height:1.18; letter-spacing:-.035em; margin-top:18px; }
.article .a-meta { margin:20px 0 40px; font-size:13px; }
.article h2 { font-size:27px; font-weight:600; line-height:1.3; margin:48px 0 18px; }
.article h3 { font-size:20px; line-height:1.4; }
.article p,.article ul,.article ol { font-size:16px; line-height:1.85; }
.article .lead { font-size:18px; line-height:1.75; }
.article-cta { max-width:820px; }
.code-block { border-radius:8px; background:#101214; font-size:13px; }
.faq details { background:transparent; border-color:var(--border); border-radius:8px; }
.faq summary { padding:20px; font-weight:500; }
.cta-band { background:transparent; border:1px solid var(--border); border-radius:10px; padding:48px 32px; }
.cta-band h2 { font-weight:600; letter-spacing:-.025em; }
footer.site { border-top:1px solid var(--border); background:var(--bg-soft); padding-top:48px; }
.land-footer-grid { max-width:1136px; gap:40px; }
.foot-col .h { text-transform:none; letter-spacing:0; font-size:13px; color:var(--text); }
.foot-col a { line-height:1.7; }
.land-form { border-radius:8px; background:transparent; }
.land-form input,.land-form select,.land-form textarea,.field input,.field select,.field textarea { background:var(--bg-soft); border:1px solid var(--border-hi); border-radius:6px; min-height:44px; font-size:15px; }
.land-form input:focus-visible,.land-form select:focus-visible,.land-form textarea:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.reserve-configurator { border:1px solid var(--border-hi); border-radius:10px; background:transparent; padding:28px; gap:32px; }
.option-card { background:transparent; border-radius:6px; box-shadow:none; min-height:90px; }
.option-card-input:checked + .option-card { background:var(--card-hover); border-color:var(--text-dim); box-shadow:none; }
.option-card-input:focus-visible + .option-card { outline:2px solid var(--accent); outline-offset:3px; }
.option-card .badge { background:var(--bg-soft); color:var(--text); }
.reserve-summary { background:var(--bg-soft); border:1px solid var(--border); border-radius:8px; }
[data-reserved-term-cards] { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border:1px solid var(--border); border-radius:8px; overflow:hidden; }
[data-reserved-term-cards] .price-card { border:0; border-right:1px solid var(--border); border-radius:0; padding:22px; }
[data-reserved-term-cards] .price-card:last-child { border-right:0; }
[data-reserved-term-cards] .spec-row { display:block; }
[data-reserved-term-cards] dd { text-align:left; margin-top:5px; font-weight:500; line-height:1.6; }
[data-reserved-term-cards] .amount { font-size:30px; }
[data-reserved-term-cards] .amount small { display:block; margin-top:4px; }
/* Console views reuse the same surface and form treatment. */
#console .panel,#console .card { border-color:var(--border); border-radius:8px; box-shadow:none; }
#console .sidebar { background:var(--bg-soft); }
#console .side-nav button { min-height:44px; border-radius:6px; }
#console .topbar { border-bottom-color:var(--border); }
@media(max-width:1000px) {
 [data-reserved-term-cards] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 [data-reserved-term-cards] .price-card { border-bottom:1px solid var(--border); }
 [data-reserved-term-cards] .price-card:nth-child(2) { border-right:0; }
 [data-reserved-term-cards] .price-card:nth-child(n+3) { border-bottom:0; }
}
@media(max-width:680px) {
 .land-main { padding:0 20px 48px; }
 .hero,.page-hero { padding:44px 0 20px; }
 .hero p,.page-hero p { font-size:16px; }
 .land-section { margin-top:40px; }
 .land-h2 { font-size:26px; }
 .price-grid,.cards3,.guide-grid,.fits-grid { grid-template-columns:1fr; gap:14px; }
 .price-card,.info-card,.guide-card { padding:22px; }
 .article { padding:40px 20px; }
 .article h2 { font-size:24px; }
 .article p,.article ul,.article ol { font-size:15px; }
 .cta-band { padding:32px 22px; }
 .reserve-configurator { padding:18px; gap:24px; }
 [data-reserved-term-cards] { grid-template-columns:1fr; gap:0; }
 [data-reserved-term-cards] .price-card { border-right:0; border-bottom:1px solid var(--border); }
 [data-reserved-term-cards] .price-card:nth-child(3) { border-bottom:1px solid var(--border); }
 .land-footer-grid { gap:28px; }
}
@media(prefers-reduced-motion:reduce) { .guide-card { transition:none; } }

/* Reservation comparison shares repeated terms beneath the price grid. */
.reserved-shared-terms { border-bottom:1px solid var(--border); padding:24px 0; }
.reserved-shared-terms h3 { font-size:16px; margin-bottom:16px; }
.reserved-shared-terms dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 32px; }
.reserved-shared-terms .spec-row { display:block; border:0; font-size:14px; }
.reserved-shared-terms dd { text-align:left; margin-top:8px; color:var(--text-dim); font-weight:400; }
.reserve-configurator .term-pills { grid-template-columns:repeat(2,minmax(0,1fr)); }
.reserve-configurator [hidden] { display:none !important; }
@media(max-width:680px) { .reserved-shared-terms dl { grid-template-columns:1fr; } }
/* Audited shared interaction components: selected, focused, disabled and browsing states. */
[hidden] { display:none !important; }
.option-card,.option-cards .option-card { border:1px solid var(--border-hi); border-radius:6px; background:transparent; }
.option-card.selected,.option-card[aria-pressed="true"],.option-card-input:checked + .option-card { border-color:var(--text-dim); background:var(--card-hover); box-shadow:none; }
.option-card:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.option-card .badge,.option-card .tag { color:var(--text); background:var(--bg-soft); }
.option-card .title { font-size:16px; font-weight:600; }
.option-card .desc { line-height:1.6; }
.option-card.disabled { opacity:.65; }
#console .reserve-terms,.term-pills { grid-template-columns:repeat(2,minmax(0,1fr)); }
.unavailable-options { grid-column:1/-1; width:100%; }
.unavailable-options summary,.supporting-details summary,.optional-details summary,.article-toc summary { cursor:pointer; padding:16px 0; min-height:44px; font-weight:600; }
.unavailable-options p { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; }
.supporting-details { margin-top:24px; border-bottom:1px solid var(--border); }
.supporting-details details[open] { padding-bottom:24px; }
.supporting-details summary { font-size:20px; }
.optional-details { border-top:1px solid var(--border); }
.optional-details label { display:block; margin:16px 0; }
.hardware-fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin:28px 0; }
.hardware-fit-grid > div { border-top:1px solid var(--border); padding-top:20px; }
.hardware-fit-grid h3 { font-size:18px; margin-bottom:10px; }
.hardware-fit-grid p { color:var(--text-dim); font-size:14px; line-height:1.7; }
.browse-controls { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin:24px 0; scroll-margin-top:90px; }
.browse-controls label { display:flex; flex-direction:column; gap:8px; flex:1; min-width:200px; font-size:14px; }
.browse-controls input,.browse-controls select { padding:12px; min-height:44px; border:1px solid var(--border-hi); border-radius:6px; background:var(--bg-soft); color:var(--text); font:inherit; }
.browse-controls p { width:100%; font-size:13px; color:var(--text-dim); }
.browse-page .doc-cat { margin:28px 0; }
.browse-page .doc-cat .guide-grid { display:block; }
.browse-page .doc-cat .guide-card { display:grid; grid-template-columns:minmax(220px,1fr) 1.3fr auto; align-items:center; gap:16px; padding:18px 0; border:0; border-bottom:1px solid var(--border); border-radius:0; }
.browse-page .guide-card .g-tag { display:none; }
.browse-page .guide-card h3 { font-size:16px; margin:0; }
.browse-page .guide-card p { margin:0; }
.browse-page .guide-card .g-meta { padding:0; }
.browse-pager { display:flex; justify-content:center; align-items:center; gap:14px; flex-wrap:wrap; margin:32px 0; }
.browse-pager button:disabled { opacity:.45; cursor:default; }
.article-toc { border:1px solid var(--border); border-radius:8px; padding:0 20px; margin:24px 0; }
.article-toc ol { margin-bottom:20px; }
.article-toc a { display:inline-block; padding:6px 0; }
.table-scroll-hint { color:var(--text-dim); font-size:13px; margin:12px 0 8px; }
.bench-table:focus-visible,.compare-table:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.link-btn,.copy-btn,.code-copy,.docs-copy,button[data-copy] { min-width:44px; min-height:44px; }
.gpw-btn { min-height:44px; }
body:has(.gpw-consent) { padding-bottom:var(--gpw-consent-h,220px); }
body:has(.gpw-consent) :focus { scroll-margin-bottom:var(--gpw-consent-h,240px); }
.home-offer,.home-promo { background:transparent !important; border-color:var(--border) !important; }
@media(max-width:900px) {
 body[data-signed-in="true"] #console .sidebar { padding:10px 18px; }
 body[data-signed-in="true"] #console .sidebar > .logo { display:none; }
 body[data-signed-in="true"] #side-username { display:none; }
 body[data-signed-in="true"] #console .side-user { display:flex; align-items:center; gap:16px; width:100%; justify-content:space-between; }
 body[data-signed-in="true"] #console .topbar { min-height:42px; padding:6px 18px; justify-content:flex-end; }
 body[data-signed-in="true"] #console .topbar .crumbs { display:none; }
 #console .mobile-console-nav { margin-top:6px; }
 #console .option-cards { grid-template-columns:1fr 1fr; }
 #console #opt-type { grid-template-columns:1fr; }
}
@media(max-width:680px) {
 .hardware-fit-grid { grid-template-columns:1fr; }
 .browse-page .doc-cat .guide-card { grid-template-columns:1fr; gap:8px; padding:16px 0; }
 .browse-page .guide-card .g-meta { font-size:12px; }
 .browse-controls { align-items:stretch; }
 .browse-controls label { min-width:0; flex-basis:100%; }
 .browse-pager { gap:8px; }
 .supporting-details summary { font-size:18px; }
 body:has(.gpw-consent) { padding-bottom:var(--gpw-consent-h,260px); }
 body:has(.gpw-consent) :focus { scroll-margin-bottom:var(--gpw-consent-h,280px); }
}
.first-topup-offer { background:transparent; border-color:var(--border); border-radius:8px; padding:16px 20px; }
.first-topup-offer h2 { font-size:20px; }
.first-topup-offer .eyebrow { color:var(--text-dim); }
#console #opt-reserve-term { grid-template-columns:repeat(2,minmax(0,1fr)); }
#console .overview-grid[hidden],#console .panel[hidden] { display:none !important; }
#console .ov-card .v { font-size:clamp(16px,2vw,26px); }
@media(max-width:900px) {
 #console #opt-reserve-size { grid-template-columns:1fr; }
 #console .topbar .top-actions { margin-left:auto; }
}
.copy-status { display:block; font:13px/1.5 Inter,system-ui,sans-serif; color:var(--text-dim); margin:8px 0; }
#lead-status.err,#cf-status.err { color:var(--amber); }
#lead-status.ok,#cf-status.ok { color:var(--text); }
.first-topup-offer summary { min-height:44px; display:list-item; cursor:pointer; font-size:14px; font-weight:500; padding:10px 0; }
.first-topup-offer:not([open]) { padding:4px 16px; }
.first-topup-offer[open] summary { margin-bottom:16px; }

.instance-name-link { font: inherit; color: inherit; background: none; border: 0; padding: 8px 0; cursor: pointer; text-align: left; min-height: 44px; }
.instance-name-link:hover { text-decoration: underline; }
.instance-name-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* Related links follow the article as a sibling, outside its content container. */
.article + .land-section { max-width:820px; margin:0 auto; padding:0 32px 24px; }
.article + .land-section ul { padding-left:22px; margin:16px 0 0; font-size:16px; line-height:1.85; }
.article + .land-section li { margin:8px 0; overflow-wrap:anywhere; }
@media(max-width:680px) {
 .article + .land-section { padding:0 20px 24px; }
 .article + .land-section ul { font-size:15px; }
}
