/* CAD file preparation: shared chrome, software-specific export instructions. */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body.cad-prep-page { margin:0; background:#fff; color:#16191d; --xeon-title-size:clamp(40px,5.1vw,72px); --cp-line:#d6dbe0; --cp-muted:#59616b; --cp-blue:#245cd6; font-family:Inter,Arial,sans-serif; line-height:1.6; }
.cad-prep-page #main-nav { position:sticky; top:0; }
.cad-prep-page main { overflow:clip; }
.cp-wrap { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.cad-prep-page main :is(h1,h2,h3,h4,p,figure) { margin:0; }
.cad-prep-page main a { color:inherit; text-underline-offset:4px; }
.cad-prep-page main :is(button,a,input,summary):focus-visible { outline:2px solid var(--cp-blue); outline-offset:5px; }
.cad-prep-page [hidden] { display:none !important; }
.cp-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.cp-skip { position:fixed; top:8px; left:12px; z-index:3000; padding:12px 18px; background:#fff; color:#111; transform:translateY(-180%); }
.cp-skip:focus { transform:translateY(0); }
.cp-mono,.cp-eyebrow { font-family:'Share Tech Mono',monospace; font-weight:400; font-size:11px; letter-spacing:.09em; line-height:1.5; text-transform:uppercase; }
.cp-eyebrow { color:var(--cp-muted); display:block; }
.cp-hero { padding-top:30px; }
.cp-hero-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:26px; border-bottom:1px solid var(--cp-line); }
.cp-hero-top a { font-size:12px; text-decoration:none; }
.cp-hero-top > span { color:var(--cp-muted); }
.cp-hero-grid { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:55px; padding:52px 0 50px; }
.cp-hero-copy .cp-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:21px; }
.cp-status-dot { width:6px; height:6px; background:var(--cp-blue); border-radius:50%; }
.cp-dek { max-width:530px; margin-top:24px !important; color:var(--cp-muted); font-size:16px; line-height:1.75; }
.cp-button { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-height:49px; margin-top:26px; padding:13px 19px; background:#17191c; color:#fff !important; font-size:13px; text-decoration:none; border:1px solid #17191c; transition:background .15s; }
.cp-button:hover { background:#30353c; }
.cp-button > span { font-size:18px; line-height:1; }
.cp-hero-photo { min-width:0; }
.cp-hero-photo img { display:block; width:100%; height:auto; }
.cp-page-index { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--cp-line); }
.cp-page-index a { display:flex; align-items:center; gap:18px; min-height:62px; padding:14px 22px; border-right:1px solid var(--cp-line); font-size:13px; text-decoration:none; }
.cp-page-index a:first-child { padding-left:0; }
.cp-page-index a:last-child { border-right:0; }
.cp-page-index a > span:first-child { font:12px 'Share Tech Mono',monospace; color:#6b7480; }
.cp-page-index a > span:last-child { margin-left:auto; }
.cp-page-index a:hover { color:var(--cp-blue); }
.cp-guide { padding-block:66px 62px; }
.cp-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:32px; }
.cad-prep-page h2 { font-size:clamp(30px,3.2vw,44px); }
.cp-section-heading h2 { margin-top:13px !important; }
.cp-section-heading > p { font-size:14px; color:var(--cp-muted); max-width:360px; }
.cp-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #bbc2ca; }
.cp-tabs button { position:relative; display:flex; align-items:center; gap:14px; min-height:68px; padding:18px 22px; background:#fff; border:0; border-right:1px solid #bbc2ca; border-radius:0; color:#4a515a; font-size:15px; cursor:pointer; }
.cp-tabs button:last-child { border-right:0; }
.cp-tab-logo { display:block; width:32px; height:32px; flex:0 0 32px; object-fit:contain; }
.cp-tab-label { white-space:nowrap; }
.cp-tab-indicator { margin-left:auto; opacity:0; }
.cp-tabs button[aria-selected="true"] { color:#fff; background:#17191c; }
.cp-tabs button[aria-selected="true"] .cp-tab-indicator { opacity:1; }
.cp-tabs button:hover:not([aria-selected="true"]) { background:#f1f4f7; color:#111; }
.cp-tabs button:focus-visible { z-index:1; outline-offset:-4px !important; }
.cp-formats { border:0; padding:0; margin:28px 0 0; min-width:0; }
.cp-formats legend { padding:0; margin-bottom:12px; font-size:12px; color:#4d5660; }
.cp-format-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.cp-format { position:relative; display:flex; align-items:center; gap:14px; min-height:88px; padding:17px 19px; border:1px solid var(--cp-line); cursor:pointer; }
.cp-format > input,.cp-check > input { position:absolute; opacity:0; width:1px; height:1px; }
.cp-format:has(input:checked) { border-color:#17191c; background:#f5f7f9; box-shadow:inset 0 0 0 1px #17191c; }
.cp-format:has(input:focus-visible),.cp-check:has(input:focus-visible) { outline:2px solid var(--cp-blue); outline-offset:4px; }
.cp-format > svg { width:25px; height:31px; flex-shrink:0; color:#738091; }
.cp-format strong { display:block; font-size:14px; font-weight:500; line-height:1.4; }
.cp-format small { display:block; color:var(--cp-muted); font-size:11px; line-height:1.5; margin-top:3px; }
.cp-radio-mark { width:13px; height:13px; flex-shrink:0; margin-left:auto; border-radius:50%; border:1px solid #a4adb8; }
.cp-format:has(input:checked) .cp-radio-mark { border:4px solid #17191c; background:#fff; }
.cp-software-note { color:var(--cp-muted); font-size:12px; padding:19px 0 23px; }
.cp-workflow { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.65fr); gap:64px; padding:34px 0 5px; border-top:1px solid var(--cp-line); align-items:start; }
.cp-instructions > .cp-eyebrow { color:var(--cp-blue); }
.cp-instructions > .cp-eyebrow span { margin:0 6px; color:#9aa5b2; }
.cp-instructions > h3 { margin-top:12px !important; font-size:28px; }
.cp-intro { margin-top:12px !important; font-size:14px; color:var(--cp-muted); max-width:590px; }
.cp-steps { list-style:none; padding:0; margin:28px 0 0; }
.cp-steps li { display:grid; grid-template-columns:33px minmax(0,1fr); gap:16px; padding:20px 0; border-top:1px solid #e0e4e8; }
.cp-step-num { font:11px 'Share Tech Mono',monospace; display:flex; align-items:center; justify-content:center; width:31px; height:31px; border:1px solid #cad2da; color:#546476; }
.cp-steps h4 { font-size:16px; margin:3px 0 7px !important; }
.cp-steps p { color:#555e68; font-size:13px; line-height:1.8; }
.cp-export-sheet { position:relative; border:1px solid #aeb8c3; background:#f7f9fb; padding:0 22px; }
.cp-sheet-head { display:flex; justify-content:space-between; gap:12px; font:9px 'Share Tech Mono',monospace; letter-spacing:.05em; border-bottom:1px solid #c7d0da; margin-inline:-22px; padding:11px 14px; color:#657181; }
.cp-file-heading { position:relative; display:flex; align-items:center; gap:18px; padding:23px 0 21px; }
.cp-file-heading > svg { width:33px; height:42px; color:#536779; }
.cp-file-heading strong { font-size:29px; line-height:1; font-weight:500; letter-spacing:-.04em; }
.cp-file-heading div > span { display:block; margin-top:6px; color:#647182; font:11px 'Share Tech Mono',monospace; }
.cp-sheet-cross { margin-left:auto; align-self:flex-start; color:#748697; font:22px 'Share Tech Mono',monospace; }
.cp-export-sheet dl { margin:0; border-top:1px solid #c7d0da; }
.cp-export-sheet dl > div { display:grid; grid-template-columns:1fr 1.2fr; gap:15px; padding:13px 0; border-bottom:1px solid #dbe1e7; font-size:11px; }
.cp-export-sheet dt { color:#667180; }
.cp-export-sheet dd { margin:0; text-align:right; color:#202b36; }
.cp-note { padding:20px 0; border-bottom:1px solid #c7d0da; }
.cp-note .cp-eyebrow,.cp-sources .cp-eyebrow { font-size:10px; }
.cp-note p { margin-top:8px !important; font-size:12px; line-height:1.75; color:#535f6e; }
.cp-sources { padding:18px 0; }
.cp-sources a { display:flex; justify-content:space-between; align-items:baseline; gap:15px; padding-top:8px; font-size:11px; color:#314d7f !important; text-decoration:none; }
.cp-sources a:hover { text-decoration:underline; }
.cp-upload-link { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:15px 22px; margin-inline:-22px; border-top:1px solid #aeb8c3; font-size:12px; text-decoration:none; background:#fff; }
.cp-upload-link:hover { background:#e9eef7; }
.cp-version-note { margin-top:24px !important; border-top:1px solid var(--cp-line); padding-top:18px; font-size:11px; color:var(--cp-muted); }
.cp-fallback { display:flex; gap:20px; flex-wrap:wrap; }
.cp-fallback-title { margin-top:24px !important; }
.cp-enhanced .cp-fallback,.cp-enhanced .cp-fallback-title { display:none; }
.cp-software-panel:focus-visible { outline:2px solid var(--cp-blue); outline-offset:8px; }
.cp-preflight { padding:65px 0; background:#f3f5f7; border-block:1px solid var(--cp-line); }
.cp-check-grid { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:90px; }
.cp-check-grid h2 { margin-top:15px !important; }
.cp-check-grid > div > p:not(.cp-eyebrow):not(.cp-upload-formats) { margin-top:22px; font-size:13px; color:var(--cp-muted); max-width:350px; }
.cp-progress { margin-top:26px; max-width:310px; }
.cp-progress > div { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:8px; }
.cp-progress span { font:12px 'Share Tech Mono',monospace; color:#536174; }
.cp-progress button { padding:3px; border:0; background:none; color:#596470; font-size:11px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.cp-progress progress { display:block; width:100%; height:3px; border:0; border-radius:0; background:#d9dfe5; accent-color:#17191c; }
.cp-progress progress::-webkit-progress-bar { background:#d9dfe5; }
.cp-progress progress::-webkit-progress-value { background:#17191c; }
.cp-progress progress::-moz-progress-bar { background:#17191c; }
.cp-upload-formats { margin-top:13px !important; font-size:10px; color:var(--cp-muted); line-height:1.9; }
.cp-checklist { border-top:1px solid #bac3cd; }
.cp-check { position:relative; display:flex; gap:16px; align-items:flex-start; padding:21px 0; border-bottom:1px solid #cbd3dc; cursor:pointer; }
.cp-check-box { display:block; width:18px; height:18px; flex-shrink:0; margin-top:2px; border:1px solid #94a0af; background:#fff; }
.cp-check input:checked + .cp-check-box { background:#17191c; border-color:#17191c; }
.cp-check input:checked + .cp-check-box::after { content:''; display:block; width:8px; height:4px; margin:4px 3px; border:solid #fff; border-width:0 0 1.5px 1.5px; transform:rotate(-45deg); }
.cp-check strong { display:block; font-size:14px; font-weight:500; line-height:1.5; }
.cp-check small { display:block; margin-top:5px; color:var(--cp-muted); font-size:12px; line-height:1.65; }
.cp-check-num { font:10px 'Share Tech Mono',monospace; margin-left:auto; padding-top:5px; color:#7c8795; }
.cp-questions { padding-block:66px; }
.cp-faq-list { border-top:1px solid #bfc8d1; }
.cp-faq-list details { border-bottom:1px solid var(--cp-line); }
.cp-faq-list summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:25px; padding:23px 0; font-size:16px; cursor:pointer; }
.cp-faq-list summary::-webkit-details-marker { display:none; }
.cp-faq-list summary > span { font:21px 'Share Tech Mono',monospace; color:#737f8c; }
.cp-faq-list details[open] summary > span { transform:rotate(45deg); }
.cp-faq-list details > div { max-width:790px; padding-bottom:24px; font-size:14px; color:var(--cp-muted); }
.cp-faq-list details > div a { display:inline-flex; gap:20px; margin-top:13px; color:#243e71; font-size:12px; }
.cp-next-guides { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:54px; }
.cp-next-guides > a { position:relative; border-top:1px solid #939eaa; padding-top:17px; padding-right:25px; text-decoration:none; }
.cp-next-guides .cp-eyebrow { font-size:10px; }
.cp-next-guides strong { display:block; font-size:15px; font-weight:500; margin-top:12px; line-height:1.5; }
.cp-next-guides > a > span:last-child { position:absolute; right:0; top:17px; }
.cp-next-guides > a:hover { color:var(--cp-blue); border-color:var(--cp-blue); }
@media(min-width:1600px) { .cp-hero-grid { gap:90px; } }
@media(max-width:1100px) {
  .cp-wrap { width:calc(100% - 64px); }
  .cp-hero-grid { gap:30px; }
  .cp-tabs button { padding:17px 16px; gap:10px; font-size:14px; }
  .cp-tab-logo { width:28px; height:28px; flex-basis:28px; }
  .cp-format { padding:15px; gap:10px; }
  .cp-format > svg { width:21px; }
  .cp-format small { font-size:10px; }
  .cp-workflow { grid-template-columns:minmax(0,1fr) 310px; gap:35px; }
  .cp-check-grid { gap:50px; }
}
@media(max-width:760px) {
  html { scroll-padding-top:95px; }
  body.cad-prep-page { --xeon-title-size:clamp(38px,7.4vw,56px); }
  .cp-wrap { width:calc(100% - 40px); }
  .cp-hero { padding-top:21px; }
  .cp-hero-top { padding-bottom:18px; }
  .cp-hero-top > span { font-size:8px; text-align:right; max-width:130px; }
  .cp-hero-grid { grid-template-columns:1fr; gap:32px; padding:35px 0; }
  .cp-hero-copy .cp-eyebrow { margin-bottom:16px; }
  .cp-dek { font-size:14px; margin-top:20px !important; }
  .cp-hero-photo { max-width:500px; width:100%; }
  .cp-page-index a { flex-wrap:wrap; justify-content:space-between; gap:6px; padding:13px 12px; font-size:11px; align-content:center; }
  .cp-page-index a > span:first-child { width:100%; font-size:10px; }
  .cp-page-index a > span:last-child { display:none; }
  .cp-guide,.cp-questions { padding-block:42px; }
  .cp-section-heading { flex-direction:column; align-items:flex-start; gap:19px; margin-bottom:25px; }
  .cp-section-heading > p { font-size:13px; }
  .cp-section-heading > p br { display:none; }
  .cp-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cp-tabs button { font-size:13px; min-height:62px; padding:14px 12px; gap:9px; }
  .cp-tabs button:nth-child(2) { border-right:0; }
  .cp-tabs button:nth-child(-n+2) { border-bottom:1px solid #bbc2ca; }
  .cp-tab-indicator { display:none; }
  .cp-format-grid { gap:7px; }
  .cp-format { flex-direction:column; align-items:flex-start; padding:13px 10px; gap:8px; min-height:120px; }
  .cp-format > svg { width:19px; height:22px; }
  .cp-format small { font-size:10px; line-height:1.4; }
  .cp-radio-mark { position:absolute; top:13px; right:10px; width:11px; height:11px; }
  .cp-format strong { font-size:13px; }
  .cp-formats { margin-top:23px; }
  .cp-software-note { font-size:11px; padding:17px 0 21px; }
  .cp-workflow { grid-template-columns:1fr; gap:25px; padding-top:25px; }
  .cp-instructions > h3 { font-size:25px; }
  .cp-intro { font-size:13px; }
  .cp-steps { margin-top:22px; }
  .cp-steps li { gap:12px; padding:18px 0; }
  .cp-steps h4 { font-size:15px; }
  .cp-export-sheet { padding:0 20px; }
  .cp-sheet-head,.cp-upload-link { margin-inline:-20px; }
  .cp-export-sheet dl > div { font-size:12px; }
  .cp-note p { font-size:13px; }
  .cp-sources a { font-size:12px; }
  .cp-version-note { font-size:10px; }
  .cp-preflight { padding-block:42px; }
  .cp-check-grid { grid-template-columns:1fr; gap:32px; }
  .cp-check-grid > div > p:not(.cp-eyebrow):not(.cp-upload-formats) { max-width:470px; }
  .cp-progress { max-width:100%; }
  .cp-check { gap:12px; }
  .cp-check strong { font-size:13px; }
  .cp-check small { font-size:11px; }
  .cp-faq-list summary { font-size:14px; padding:20px 0; }
  .cp-faq-list details > div { font-size:13px; }
  .cp-next-guides { grid-template-columns:1fr; gap:25px; margin-top:38px; }
  .cp-next-guides strong { font-size:15px; margin-top:7px; }
}
@media(max-width:380px) {
  .cp-tabs button { font-size:12px; padding-inline:9px; gap:7px; }
  .cp-tab-logo { width:24px; height:24px; flex-basis:24px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .cp-button { transition:none; } }
@media print {
  .cad-prep-page #main-nav,.site-footer,.cp-page-index,.cp-skip,.cp-button,.cp-upload-link,.cp-next-guides,.cp-faq-list,.cp-controls { display:none !important; }
  .cp-wrap { width:100%; }
  .cp-hero { padding:0; }
  .cp-hero-grid { padding:20px 0; grid-template-columns:1fr; }
  .cp-hero-photo { display:none; }
  .cp-guide,.cp-preflight,.cp-questions { padding-block:20px; }
  .cp-workflow { grid-template-columns:1fr; gap:20px; }
  .cp-check-grid { grid-template-columns:1fr; gap:20px; }
  .cp-steps li,.cp-export-sheet,.cp-check { break-inside:avoid; }
  .cp-questions { display:none; }
}
