/* Public login and capability catalog. Scoped separately from the CAD workspace. */
.product-page { --ink:#202b39; --muted:#5d6978; --purple:#75509b; --purple-dark:#5a367f; --line:#dedee5; --paper:#faf9f6; margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.product-page *, .product-page *::before, .product-page *::after { box-sizing:border-box; }
.product-page a { color:inherit; }
.product-page a, .product-page button, .product-page summary { -webkit-tap-highlight-color:transparent; }
.product-page :focus-visible { outline:3px solid #167c76; outline-offset:4px; }
.product-page h1, .product-page h2, .product-page h3, .product-page p { margin:0; }
.product-page h1, .product-page h2, .product-page h3 { line-height:1.16; letter-spacing:-.035em; }
.product-page h2 { font-size:clamp(25px,2.6vw,36px); }
.product-page h3 { font-size:20px; letter-spacing:-.02em; }
.product-page svg { flex-shrink:0; }
.product-container { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.product-header { display:flex; align-items:center; justify-content:space-between; min-height:100px; gap:24px; border-bottom:1px solid var(--line); }
.product-brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-size:27px; font-weight:800; letter-spacing:-1px; }
.product-brand svg { color:var(--purple); }
.product-header nav { display:flex; align-items:center; gap:28px; }
.product-header nav>a { text-decoration:none; font-size:14px; font-weight:600; }
.product-header nav>a[aria-current] { color:var(--purple-dark); text-decoration:underline; text-underline-offset:7px; }
.product-header .ck-language-switcher { margin:0; }
.product-header .ck-language-control { width:38px; height:38px; border-color:var(--line); background:#fff; }
.product-skip { position:absolute; top:-80px; left:20px; z-index:10; padding:12px; background:#fff; }
.product-skip:focus { top:10px; }
.product-flashes:empty { display:none; }
.product-flashes .ck-flash { margin-top:20px; padding:16px 20px; border:1px solid #d7a159; border-radius:10px; background:#fff3df; color:#583d13; }
.product-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:14px 22px; border:1px solid var(--purple); border-radius:9px; background:var(--purple); color:#fff!important; font:600 15px/1.4 system-ui,sans-serif; text-decoration:none; cursor:pointer; transition:background .15s; }
.product-button:hover { background:var(--purple-dark); }
.product-button-small { padding:10px 18px; }
.product-text-link { display:inline-flex; align-items:center; font-weight:650; font-size:15px; text-decoration:underline; text-underline-offset:5px; }
.product-hero { display:grid; grid-template-columns:minmax(0,1fr) 365px; gap:clamp(35px,7vw,100px); padding-block:65px 72px; align-items:start; }
.product-eyebrow { display:flex; align-items:center; gap:9px; color:var(--purple-dark); font-size:12px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.product-eyebrow>span { width:7px; height:7px; border-radius:50%; background:#248979; }
.product-intro h1 { margin:19px 0 24px; max-width:780px; font-size:clamp(38px,4.4vw,62px); font-weight:730; line-height:1.09; letter-spacing:-.045em; }
.product-lead { font-size:18px; color:var(--muted); line-height:1.75; max-width:740px; }
.product-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin:30px 0 20px; }
.product-intro-note { font-size:13px; line-height:1.75; max-width:610px; color:var(--muted); }
.product-workflow { margin-top:35px; border:1px solid var(--line); border-radius:12px; background:#fff; overflow:hidden; }
.product-workflow-top { padding:15px 20px; display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--line); }
.product-file-icon { color:var(--purple); display:flex; }
.product-workflow-top strong,.product-workflow-top small { display:block; }
.product-workflow-top strong { font-size:14px; }
.product-workflow-top small { font:10px/1.4 ui-monospace,monospace; color:var(--muted); }
.product-workflow-label { margin-left:auto; font-size:11px; color:var(--muted); }
.product-workflow-branches { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }
.product-workflow-branches>div { display:flex; align-items:center; flex-direction:column; justify-content:center; gap:9px; text-align:center; background:#f5f4f9; padding:18px 10px; font-size:11px; font-weight:650; }
.product-workflow-branches svg { color:#48766c; width:22px; }
.product-login { background:white; border:1px solid var(--line); border-radius:18px; padding:30px; box-shadow:0 16px 48px -35px #51476260; scroll-margin-top:25px; }
.product-login-icon { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; color:var(--purple); background:#f2eef7; margin-bottom:18px; }
.product-login h2 { font-size:25px; letter-spacing:-.03em; }
.product-login>p { font-size:14px; color:var(--muted); margin:10px 0 22px; }
.product-google { display:flex; align-items:center; justify-content:center; gap:11px; border:1px solid var(--line); border-radius:8px; padding:12px; font-weight:650; font-size:14px; text-decoration:none; }
.product-google:hover { background:#f5f4f8; }
.product-login .product-login-note { font-size:12px; line-height:1.6; margin:10px 0 0; }
.product-divider { display:flex; align-items:center; gap:10px; margin:22px 0; font-size:11px; color:var(--muted); }
.product-divider::before,.product-divider::after { content:""; flex:1; height:1px; background:var(--line); }
.product-login-form { display:flex; flex-direction:column; gap:8px; margin-top:20px; }
.product-login-form>label { font-size:13px; font-weight:650; }
.product-login-form>input { width:100%; min-width:0; border:1px solid #c7ccd5; border-radius:7px; background:#fff; padding:11px 12px; font-size:16px; line-height:1.5; font-family:inherit; color:var(--ink); margin-bottom:10px; min-height:45px; }
.product-login-form .product-remember { display:flex; align-items:center; gap:7px; font-weight:400; font-size:12px; margin:2px 0 14px; cursor:pointer; }
.product-remember input { width:16px; height:16px; accent-color:var(--purple); flex-shrink:0; }
.product-forgot { text-align:center; font-size:12px; margin-top:12px; text-underline-offset:3px; }
.product-tools { border-top:1px solid var(--line); padding-block:55px 60px; }
.product-section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:30px; }
.product-section-heading h2 { max-width:620px; }
.product-section-heading .product-eyebrow { margin-bottom:12px; }
.product-section-heading>p { color:var(--muted); font-size:15px; max-width:385px; }
.product-tools-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.product-tool { display:block; border:1px solid var(--line); border-radius:12px; padding:25px; background:white; position:relative; text-decoration:none; }
.product-tool:hover { border-color:var(--purple); }
.product-tool-icon { display:inline-flex; align-items:center; justify-content:center; background:#eeedf5; color:var(--purple); border-radius:10px; width:44px; height:44px; margin-bottom:17px; }
.product-tool h3 { padding-right:15px; }
.product-tool h3 small { display:block; color:var(--muted); font-size:11px; line-height:1.6; font-weight:500; letter-spacing:0; margin-top:5px; }
.product-tool p { color:var(--muted); font-size:14px; line-height:1.75; margin-top:12px; }
.product-tool-arrow { position:absolute; right:23px; top:27px; color:var(--purple); font-size:22px; }
.product-all-features { margin-top:25px; }
.product-how { padding-block:60px; background:#eeedf3; border-block:1px solid var(--line); }
.product-steps { list-style:none; padding:0; margin:40px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.product-steps li { border-top:1px solid #c9c4d3; padding-top:18px; }
.product-step-number { color:var(--purple); font:500 14px ui-monospace,monospace; }
.product-steps h3 { margin:18px 0 12px; }
.product-steps p { color:var(--muted); font-size:14px; }
.product-faq { display:grid; grid-template-columns:1fr 2fr; gap:50px; padding-block:60px; }
.product-faq details { padding-block:20px; border-bottom:1px solid var(--line); }
.product-faq details:first-child { padding-top:0; }
.product-faq summary { cursor:pointer; font-weight:600; }
.product-faq details p { color:var(--muted); margin-top:14px; font-size:14px; }
.product-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:25px; border-top:1px solid var(--line); padding-block:32px; font-size:12px; color:var(--muted); }
.product-footer strong { color:var(--ink); font-size:18px; }
.product-footer p { margin-top:4px; }
.product-feature-intro { padding:60px 0 30px; }
.product-feature-intro h1 { font-size:clamp(36px,4.6vw,62px); margin:18px 0 24px; max-width:850px; }
.product-feature-nav { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:26px; }
.product-feature-nav a { display:block; border:1px solid var(--line); border-radius:6px; padding:8px 12px; background:#fff; text-decoration:none; font-size:13px; }
.product-feature-nav a:hover { border-color:var(--purple); color:var(--purple-dark); }
.product-scope-note { color:var(--muted); font-size:13px; padding:0 0 30px; max-width:900px; }
.product-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.product-feature { scroll-margin-top:24px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:30px; display:flex; flex-direction:column; }
.product-feature:target { border-color:var(--purple); box-shadow:0 0 0 2px #75509b22; }
.product-feature-title { display:flex; align-items:center; gap:15px; }
.product-feature-title h2 { font-size:25px; }
.product-feature-title .product-tool-icon { margin:0; flex-shrink:0; }
.product-feature-description { color:var(--muted); margin:20px 0 0!important; font-size:15px; }
.product-feature ul { padding-left:19px; margin:20px 0 25px; font-size:14px; }
.product-feature li { margin-bottom:10px; padding-left:4px; }
.product-feature li::marker { color:var(--purple); }
.product-feature-location { padding-top:18px; border-top:1px solid var(--line); margin-top:auto; font-size:12px; }
.product-feature-location strong { color:var(--purple-dark); }
.product-feature-location p { margin-top:5px; color:var(--muted); }
.product-feature-limit { margin-top:18px; padding:12px 14px; background:#f6f4f0; border-radius:7px; font-size:12px; }
.product-feature-limit summary { font-weight:650; cursor:pointer; }
.product-feature-limit p { color:var(--muted); margin-top:8px; }
.product-cta { margin:45px 0; padding:36px; border-radius:14px; background:#eae5f1; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.product-cta h2 { font-size:28px; }
.product-cta p { margin-top:12px; color:var(--muted); font-size:14px; }
.product-cta .product-button { flex-shrink:0; }
@media (min-width:1600px) { .product-hero { padding-block:80px; } }
@media (max-width:1050px) { .product-container { width:calc(100% - 48px); } .product-hero { grid-template-columns:minmax(0,1fr) 325px; gap:32px; } .product-login { padding:24px; } .product-intro h1 { font-size:43px; } .product-section-heading { align-items:start; } .product-workflow-label { display:none; } }
@media (max-width:760px) { .product-header { min-height:80px; gap:15px; } .product-header nav { gap:14px; } .product-how-link { display:none; } .product-brand { font-size:23px; } .product-hero { grid-template-columns:1fr; padding-top:36px; gap:32px; } .product-intro h1 { max-width:650px; font-size:clamp(37px,7vw,48px); } .product-login { width:100%; max-width:510px; justify-self:center; } .product-tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .product-section-heading { display:block; } .product-section-heading>p { margin-top:18px; max-width:600px; } .product-steps { gap:22px; } .product-feature-grid { grid-template-columns:1fr; } .product-cta { flex-direction:column; align-items:start; } .product-faq { grid-template-columns:1fr; gap:28px; } }
@media (max-width:480px) { .product-container { width:calc(100% - 32px); } .product-header { flex-wrap:wrap; gap:12px; padding-block:16px; } .product-header nav { gap:12px; flex:1; justify-content:flex-end; } .product-header nav>a { font-size:12px; } .product-header .product-button-small { padding:8px 11px; } .product-header .ck-language-control { width:32px; height:32px; } .product-brand { font-size:20px; gap:6px; } .product-brand svg { width:23px; } .product-lead { font-size:16px; } .product-workflow-top { padding:14px; } .product-workflow-branches>div { padding:15px 5px; font-size:10px; } .product-tools-grid,.product-steps { grid-template-columns:1fr; } .product-tool { padding:22px; } .product-tools,.product-how,.product-faq { padding-block:40px; } .product-feature { padding:22px; } .product-feature-title h2 { font-size:23px; } .product-feature-intro { padding-top:35px; } .product-cta { padding:24px; } }
@media (prefers-reduced-motion:reduce) { .product-page * { transition:none!important; } }
