/* Public marketing page only. App styles are deliberately independent. */
.marketing { --forest:#0d473e; --green:#08745d; --gold:#efbc53; --ink:#132f40; --muted:#566b78; --line:#dce5e9; --paper:#f8fafc; margin:0; background:var(--paper); color:var(--ink); font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
.marketing *, .marketing *::before, .marketing *::after { box-sizing:border-box; }
.marketing h1,.marketing h2,.marketing h3,.marketing p,.marketing figure,.marketing blockquote { margin:0; }
.marketing a { color:inherit; text-decoration:none; }
.marketing a:hover { text-decoration:underline; text-underline-offset:5px; }
.marketing a:focus-visible,.marketing button:focus-visible,.marketing input:focus-visible,.marketing textarea:focus-visible { outline:3px solid #a87910; outline-offset:5px; }
.marketing .container { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.marketing .site-header { background:var(--paper); border-bottom:1px solid var(--line); }
.marketing .nav-wrap { min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.marketing .brand { display:inline-flex; align-items:center; gap:9px; font-size:22px; font-weight:750; letter-spacing:-.8px; white-space:nowrap; }
.marketing .brand img { object-fit:contain; }
.marketing .brand-buddy { color:#967020; }
.marketing .desktop-nav,.marketing .nav-actions { display:flex; align-items:center; gap:26px; font-size:14px; font-weight:600; }
.marketing .nav-actions { gap:22px; }
.marketing .mobile-nav { display:none; }
.marketing .button { display:inline-flex; align-items:center; justify-content:center; gap:26px; min-height:54px; padding:14px 25px; border:1px solid var(--forest); border-radius:6px; color:white; background:var(--forest); font:600 15px/1.5 Inter,"Segoe UI",Arial,sans-serif; cursor:pointer; transition:background .15s; }
.marketing .button:hover { background:#285b43; text-decoration:none; }
.marketing .button.small { min-height:43px; padding:10px 19px; font-size:14px; }
.marketing .button.outline { color:var(--forest); background:transparent; }
.marketing .button.outline:hover { background:#edf1e8; }
.marketing .hero { display:grid; grid-template-columns:1.02fr 1fr; gap:58px; align-items:center; padding-block:83px 85px; }
.marketing .eyebrow { font-size:11px; line-height:1.6; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; color:var(--green); }
.marketing .tiny-square { display:inline-block; width:7px; height:7px; margin-right:7px; background:var(--gold); }
.marketing h1 { font-size:clamp(45px,4.6vw,66px); line-height:1.075; font-weight:520; letter-spacing:-2.8px; margin-top:23px; }
.marketing h1 em { font-family:Georgia,"Times New Roman",serif; font-weight:400; color:var(--green); }
.marketing .intro { color:var(--muted); font-size:17px; line-height:1.8; margin-top:25px; max-width:520px; }
.marketing .button-row { display:flex; align-items:center; gap:28px; margin-top:30px; }
.marketing .text-link { font-size:14px; font-weight:650; }
.marketing .text-link span { margin-left:10px; }
.marketing .hero-footnote { font-size:13px; color:var(--muted); margin-top:27px; }
.marketing .hero-visual { padding:22px 20px 15px; background:#e9eee4; border:1px solid #e0e5d9; border-radius:12px; position:relative; }
.marketing .visual-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:17px; }
.marketing .visual-topline .eyebrow { font-size:9px; letter-spacing:1px; }
.marketing .example { font-size:11px; font-weight:400; letter-spacing:0; color:#647164; white-space:nowrap; }
.marketing .abstract-window { background:white; border:1px solid #d4ded0; border-radius:9px; overflow:hidden; box-shadow:0 18px 35px -20px #20412855; }
.marketing .window-bar { background:var(--forest); color:white; display:flex; align-items:center; justify-content:space-between; padding:12px 17px; }
.marketing .mini-brand { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:650; }
.marketing .window-dots { letter-spacing:3px; color:#b3c8b9; }
.marketing .abstract-heading { padding:23px 19px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.marketing .micro-label { display:block; font-size:10px; font-weight:700; letter-spacing:1.1px; color:var(--green); line-height:1.6; }
.marketing .abstract-heading h3 { font-size:21px; letter-spacing:-.6px; margin-block:3px; }
.marketing .abstract-heading p { font-size:10px; color:var(--muted); }
.marketing .document-icon { font-size:28px; color:#76927e; }
.marketing .sample-row { display:grid; grid-template-columns:1fr 1.1fr .85fr; gap:8px; padding:12px 17px; border-top:1px solid #e8eee6; font-size:11px; align-items:center; }
.marketing .sample-row strong { font-weight:600; }
.marketing .sample-row-label { background:#f5f7f1; color:var(--muted); font-size:10px; }
.marketing .selected { background:#edf4eb; border-left:3px solid var(--green); padding-left:14px; }
.marketing .reviewed,.marketing .pending { display:inline-block; font-size:10px; padding:3px 7px; border-radius:4px; width:max-content; }
.marketing .reviewed { color:#25603a; background:#e9f3e7; }
.marketing .pending { color:#785419; background:#fbf1d5; }
.marketing .hero-evidence { margin:17px; padding:15px; background:#f7f8f2; border:1px solid #dee7d7; border-radius:5px; }
.marketing .evidence-heading { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.marketing .confidence { font-size:10px; font-weight:650; color:#245536; padding:3px 7px; background:#e5efdc; border-radius:3px; }
.marketing .source-reference { font-size:11px; color:var(--green); font-weight:600; margin-top:9px; }
.marketing .hero-evidence blockquote { font-family:Georgia,serif; font-size:14px; line-height:1.7; margin-top:8px; }
.marketing .evidence-bottom { border-top:1px solid var(--line); padding-top:9px; margin-top:13px; font-size:10px; color:var(--muted); }
.marketing .source-dot { display:inline-block; width:5px; height:5px; background:var(--green); border-radius:50%; margin-right:5px; }
.marketing .hero-visual figcaption { font-size:11px; text-align:center; margin-top:16px; color:var(--muted); }
.marketing .principles-strip { border-block:1px solid var(--line); }
.marketing .principles-strip .container { display:flex; justify-content:space-between; padding-block:22px; gap:15px; font-size:10px; font-weight:650; letter-spacing:1.6px; color:#526756; }
.marketing .section { padding-block:88px; }
.marketing h2 { font-size:clamp(32px,3.3vw,44px); line-height:1.16; font-weight:500; letter-spacing:-1.4px; margin-top:17px; }
.marketing h3 { font-size:19px; line-height:1.4; font-weight:600; }
.marketing .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-top:42px; }
.marketing .step-number { display:block; color:#8b762e; font-family:Georgia,serif; font-size:23px; border-top:1px solid #bfcbbd; padding-top:16px; margin-bottom:12px; }
.marketing .steps p { color:var(--muted); font-size:15px; margin-top:12px; }
.marketing .workflow-preview { border:1px solid var(--line); border-radius:8px; background:white; padding:25px 30px 12px; margin-top:43px; }
.marketing .preview-heading { display:flex; justify-content:space-between; gap:15px; align-items:center; }
.marketing .preview-heading h3 { font-size:18px; margin-top:3px; }
.marketing .progress-label { display:flex; justify-content:space-between; font-size:11px; margin-top:23px; }
.marketing .progress-label strong { font-weight:500; color:var(--green); }
.marketing .progress-track { height:5px; border-radius:3px; background:#eaf0e5; margin-top:7px; }
.marketing .progress-track span { display:block; height:100%; width:50%; background:#578760; border-radius:3px; }
.marketing table { width:100%; border-collapse:collapse; font-size:13px; margin-top:17px; text-align:left; }
.marketing th,.marketing td { padding:13px 10px; border-top:1px solid #e6ece3; }
.marketing thead th { font-size:10px; letter-spacing:.8px; text-transform:uppercase; color:var(--muted); font-weight:600; }
.marketing tbody th { font-weight:500; }
.marketing .evidence-section { background:#edf2e9; border-block:1px solid #e2e9dc; }
.marketing .feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:105px; align-items:center; }
.marketing .feature-copy>p:not(.eyebrow) { color:var(--muted); margin-top:22px; font-size:16px; }
.marketing .feature-copy .emphasis { color:var(--forest)!important; font-weight:600; }
.marketing .review-panel { background:white; border:1px solid #d6dfd1; border-radius:9px; padding:26px; box-shadow:0 15px 35px -24px #163e3040; }
.marketing .panel-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.marketing .review-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-block:20px; }
.marketing .review-title h3 { font-size:22px; }
.marketing .review-title>div { text-align:right; }
.marketing .score { display:inline-block; background:#e9f3df; color:#2d6136; font-size:20px; line-height:1.3; padding:5px 12px; border-radius:5px; margin-top:5px; }
.marketing .explanation { padding:16px; background:#fbf5e4; border-left:2px solid #c6a64a; }
.marketing .explanation .micro-label { color:#806721; }
.marketing .explanation p { font-size:13px; color:#635c41; margin-top:7px; }
.marketing .source-block { padding:16px; margin-top:14px; background:#f0f6ef; border-left:2px solid #59895a; }
.marketing .source-block blockquote { font-size:15px; font-family:Georgia,serif; margin-top:9px; }
.marketing .extracted { margin-top:19px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.marketing .extracted .micro-label { width:100%; }
.marketing .extracted strong { flex:1; font-size:16px; }
.marketing .review-panel figcaption { font-size:11px; color:var(--muted); margin-top:17px; line-height:1.5; }
.marketing .questions-section .feature-copy { order:2; }
.marketing .questions-section .chat-panel { order:1; }
.marketing .question-list { list-style:none; padding:0; margin:25px 0 0; font-size:14px; }
.marketing .question-list li { padding:11px 0; border-bottom:1px solid var(--line); }
.marketing .question-list li::before { content:'↗'; color:#967020; margin-right:12px; }
.marketing .chat-panel { border:1px solid #cddbc9; border-radius:9px; overflow:hidden; background:white; }
.marketing .chat-bar { display:flex; justify-content:space-between; align-items:center; background:var(--forest); color:white; padding:19px; gap:12px; }
.marketing .chat-bar .example { color:#d0decf; font-size:10px; }
.marketing .chat-content { padding:30px 23px 23px; }
.marketing .chat-question { margin-left:35px; padding:13px 18px; background:#e9efe2; border-radius:9px 9px 0 9px; font-size:14px; width:fit-content; justify-self:end; }
.marketing .chat-answer { margin-top:27px; padding:19px; background:#f8faf6; border:1px solid #e6eae1; border-radius:0 9px 9px 9px; }
.marketing .chat-answer p { font-size:15px; margin-top:12px; }
.marketing .citation { display:inline-block; font-size:11px; color:var(--green); border-bottom:1px solid #91af8c; margin-top:15px; }
.marketing .chat-note { font-size:11px; color:var(--muted); text-align:center; margin-top:25px; }
.marketing .settings-section { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; padding:40px 0 90px; }
.marketing .settings-section h2 { font-size:32px; }
.marketing .settings-section p:not(.eyebrow) { color:var(--muted); margin-top:18px; max-width:480px; }
.marketing .settings-preview { padding:25px; border:1px solid var(--line); background:#f4f6ef; border-radius:8px; }
.marketing .settings-preview .panel-top { margin-bottom:12px; font-size:14px; }
.marketing .setting-row { display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); padding:13px 0; font-size:14px; }
.marketing .setting-row>span:last-child { margin-left:auto; font-size:11px; color:var(--muted); }
.marketing .check-mark { width:19px; height:19px; border-radius:4px; display:inline-flex; align-items:center; justify-content:center; background:var(--green); color:white; font-size:12px; }
.marketing .settings-preview figcaption { color:var(--muted); font-size:11px; padding-top:8px; }
.marketing .story-section { background:var(--forest); color:#f7f8ec; padding-block:84px; }
.marketing .story-grid { display:grid; grid-template-columns:1fr 1fr; gap:110px; align-items:center; }
.marketing .story-section .eyebrow { color:#d0ba70; }
.marketing .story-section h2 { font-size:37px; }
.marketing .story-section p:not(.eyebrow) { font-size:15px; color:#c9d7cc; margin-top:23px; }
.marketing .customer-result { display:flex; align-items:center; gap:22px; border-top:1px solid #496456; margin-top:27px; padding-top:23px; }
.marketing .customer-result>strong { color:#e4c873; font-family:Georgia,serif; font-size:44px; font-weight:400; line-height:1; white-space:nowrap; }
.marketing .customer-result>span { font-size:13px; line-height:1.6; }
.marketing .customer-result small { font-size:10px; color:#bfcec2; }
.marketing .quote-mark { display:block; color:#d7be70; font:90px/.7 Georgia,serif; }
.marketing .quote blockquote { font:italic 35px/1.4 Georgia,serif; letter-spacing:-.4px; }
.marketing .quote figcaption { display:flex; align-items:center; gap:17px; font-size:13px; margin-top:30px; }
.marketing .quote figcaption strong,.marketing .quote figcaption span:not(.quote-rule) { display:block; }
.marketing .quote figcaption span:not(.quote-rule) { color:#bfd0c2; font-size:12px; margin-top:3px; }
.marketing .quote-rule { width:28px; height:1px; background:#bdab69; }
.marketing .pricing-section { display:flex; gap:70px; align-items:center; justify-content:space-between; padding-block:70px; }
.marketing .pricing-section h2 { font-size:36px; }
.marketing .pricing-section p:not(.eyebrow) { max-width:650px; color:var(--muted); margin-top:15px; }
.marketing .pricing-section .button { flex-shrink:0; }
.marketing .contact-section { background:#eef1e8; border-block:1px solid #dfe4d7; padding-block:78px; }
.marketing .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.marketing .contact-grid h2 { font-size:39px; }
.marketing .contact-grid>div>p:not(.eyebrow) { color:var(--muted); margin-top:23px; max-width:380px; }
.marketing .contact-brand { display:flex; gap:14px; align-items:center; margin-top:40px; font-size:13px; color:var(--muted); }
.marketing .contact-brand strong { color:var(--forest); font-weight:500; }
.marketing .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.marketing .full-width { grid-column:1/-1; }
.marketing .form-field label { display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.marketing .optional { color:var(--muted); font-weight:400; }
.marketing input,.marketing textarea { font:inherit; font-size:15px; padding:12px; width:100%; border:1px solid #c4cfbf; border-radius:5px; color:var(--ink); background:#fcfdf9; min-height:47px; }
.marketing textarea { resize:vertical; }
.marketing form .button { margin-top:20px; }
.marketing .form-errors,.marketing .form-success { padding:16px; border:1px solid #b18677; border-radius:5px; font-size:14px; margin-bottom:20px; background:#fff3ef; color:#7c3020; }
.marketing .form-success { background:#e2f0dd; border-color:#88a380; color:#254d2b; }
.marketing .errorlist { color:#873826; font-size:13px; padding-left:18px; }
.marketing input[aria-invalid="true"],.marketing textarea[aria-invalid="true"] { border-color:#a84732; }
.marketing .footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:30px; }
.marketing .footer .brand { font-size:18px; }
.marketing .footer p { color:var(--muted); font-size:12px; }
.marketing .footer>div { display:flex; gap:25px; font-size:12px; }
.marketing .sr-only,.marketing .honeypot { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.marketing .skip-link { position:absolute; top:-100px; left:12px; background:var(--forest); color:white; padding:12px; z-index:10; }
.marketing .skip-link:focus { top:12px; }
.marketing section[id] { scroll-margin-top:25px; }
@media(min-width:1500px) { .marketing .hero { padding-block:105px; } }
@media(max-width:1100px) {
 .marketing .container { width:calc(100% - 64px); }
 .marketing .desktop-nav { gap:16px; font-size:12px; }
 .marketing .nav-actions { gap:15px; }
 .marketing .brand { font-size:20px; }
 .marketing .hero { gap:30px; padding-block:65px; }
 .marketing h1 { font-size:50px; }
 .marketing .hero-visual { padding:15px 12px; }
 .marketing .visual-topline .eyebrow { max-width:135px; }
 .marketing .feature-grid,.marketing .story-grid,.marketing .contact-grid { gap:55px; }
 .marketing .settings-section { gap:50px; }
}
@media(max-width:850px) {
 .marketing .desktop-nav { display:none; }
 .marketing .mobile-nav { display:flex; gap:25px; font-size:12px; padding-bottom:14px; }
 .marketing .nav-wrap { min-height:80px; }
 .marketing .hero { grid-template-columns:1fr; gap:40px; padding-block:50px; }
 .marketing .hero-copy { max-width:620px; }
 .marketing h1 { font-size:58px; max-width:620px; }
 .marketing .intro { max-width:610px; }
 .marketing .hero-visual { max-width:610px; width:100%; padding:25px; }
 .marketing .visual-topline .eyebrow { max-width:none; }
 .marketing .sample-row { font-size:13px; }
 .marketing .abstract-heading p { font-size:12px; }
 .marketing .principles-strip .container { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
 .marketing .steps { gap:25px; }
 .marketing .steps h3 { font-size:17px; }
 .marketing .section { padding-block:60px; }
 .marketing .feature-grid,.marketing .settings-section,.marketing .story-grid,.marketing .contact-grid { grid-template-columns:1fr; gap:35px; }
 .marketing .feature-copy { max-width:600px; }
 .marketing .review-panel,.marketing .chat-panel { width:100%; max-width:610px; }
 .marketing .questions-section .feature-copy { order:0; }
 .marketing .settings-section { padding:10px 0 65px; }
 .marketing .story-section { padding-block:60px; }
 .marketing .quote { max-width:550px; margin-top:15px; }
 .marketing .pricing-section { gap:30px; }
 .marketing .contact-grid>div>p:not(.eyebrow) { max-width:550px; }
 .marketing .contact-brand { margin-top:25px; }
 .marketing .footer { flex-wrap:wrap; }
}
@media(max-width:540px) {
 .marketing .container { width:calc(100% - 40px); }
 .marketing .nav-wrap { gap:10px; min-height:76px; }
 .marketing .brand { font-size:18px; gap:5px; }
 .marketing .brand img { width:29px; height:29px; }
 .marketing .nav-actions { gap:12px; font-size:12px; }
 .marketing .nav-actions .button { padding:8px 11px; font-size:12px; min-height:38px; }
 .marketing .sign-in .action-arrow { display:none; }
 .marketing .mobile-nav { gap:0; justify-content:space-between; font-size:11px; }
 .marketing .hero { padding-top:38px; }
 .marketing .hero .eyebrow { font-size:9px; letter-spacing:1px; }
 .marketing h1 { font-size:44px; letter-spacing:-1.8px; margin-top:20px; }
 .marketing .intro { font-size:16px; margin-top:21px; }
 .marketing .button-row { gap:20px; }
 .marketing .button { padding:13px 20px; gap:20px; }
 .marketing .hero-footnote { font-size:11px; }
 .marketing .hero-visual { padding:14px 10px; }
 .marketing .visual-topline { gap:6px; }
 .marketing .visual-topline .eyebrow { font-size:8px; max-width:140px; }
 .marketing .example { font-size:10px; }
 .marketing .abstract-heading { padding:17px 12px; }
 .marketing .abstract-heading h3 { font-size:20px; }
 .marketing .abstract-heading p { font-size:10px; }
 .marketing .sample-row { padding:11px 10px; font-size:10px; gap:5px; grid-template-columns:1fr 1.12fr; }
 .marketing .sample-row>span:last-child { display:none; }
 .marketing .sample-row-label>span:last-child { display:none; }
 .marketing .sample-row-label>span:nth-child(2) { display:block; }
 .marketing .hero-evidence { margin:12px 10px; padding:11px; }
 .marketing .hero-evidence blockquote { font-size:14px; }
 .marketing .evidence-heading .micro-label { font-size:9px; }
 .marketing .confidence { font-size:9px; padding:3px 5px; }
 .marketing .principles-strip .container { font-size:8px; letter-spacing:1px; }
 .marketing h2 { font-size:34px; }
 .marketing .steps { grid-template-columns:1fr; gap:23px; margin-top:30px; }
 .marketing .steps h3 { font-size:19px; }
 .marketing .step-number { padding-top:12px; margin-bottom:8px; }
 .marketing .workflow-preview { padding:20px 14px 10px; margin-top:30px; }
 .marketing .preview-heading { align-items:start; }
 .marketing .preview-heading h3 { font-size:16px; }
 .marketing .preview-heading .example { white-space:normal; text-align:right; }
 .marketing .preview-table-wrap { overflow-x:auto; }
 .marketing table { min-width:460px; font-size:11px; }
 .marketing th,.marketing td { padding:12px 7px; }
 .marketing .review-panel { padding:18px; }
 .marketing .review-title h3 { font-size:19px; }
 .marketing .review-title .micro-label { font-size:8px; }
 .marketing .chat-bar { padding:16px 13px; gap:5px; }
 .marketing .chat-bar .mini-brand { font-size:11px; }
 .marketing .chat-bar .example { font-size:9px; }
 .marketing .chat-content { padding:23px 16px; }
 .marketing .chat-question { margin-left:10px; }
 .marketing .settings-preview { padding:19px; }
 .marketing .settings-preview .panel-top { font-size:12px; }
 .marketing .setting-row { font-size:12px; }
 .marketing .story-section h2,.marketing .contact-grid h2 { font-size:33px; }
 .marketing .quote blockquote { font-size:29px; }
 .marketing .customer-result { gap:18px; }
 .marketing .customer-result>strong { font-size:40px; }
 .marketing .pricing-section { display:block; padding-block:50px; }
 .marketing .pricing-section h2 { font-size:33px; }
 .marketing .pricing-section .button { margin-top:24px; }
 .marketing .contact-section { padding-block:55px; }
 .marketing .form-grid { grid-template-columns:1fr; }
 .marketing .footer { gap:16px; }
 .marketing .footer p { order:3; width:100%; }
 .marketing .footer>div { gap:20px; }
}
@media(prefers-reduced-motion:reduce) { .marketing * { transition:none!important; scroll-behavior:auto!important; } }

/* Enterprise direction: architectural imagery, luminous accents, grounded UI. */
.marketing .site-header { position:sticky; top:0; z-index:20; background:rgba(7,29,43,.97); color:#e7eef3; border-color:#ffffff18; backdrop-filter:blur(16px); }
.marketing .nav-wrap { min-height:82px; }
.marketing .site-header .brand-buddy { color:#f1c469; }
.marketing .desktop-nav { font-weight:500; gap:25px; }
.marketing .desktop-nav a { transition:color .2s; }
.marketing .desktop-nav a:hover { color:#7fe5bf; }
.marketing .site-header .button { background:#f0c367; border-color:#f0c367; color:#122f34; }
.marketing .site-header .button:hover { background:#ffdb91; }
.marketing .button { border-radius:8px; box-shadow:0 6px 18px #093f2f13; transition:background .18s,transform .18s,box-shadow .18s; }
.marketing .button:hover { transform:translateY(-2px); box-shadow:0 10px 26px #082f3128; }
.marketing .hero-stage { position:relative; overflow:hidden; isolation:isolate; background:#071d2b; color:white; }
.marketing .hero-property-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% 42%; z-index:-3; }
.marketing .hero-stage::before { content:''; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,#071d2b 0%,#071d2bf2 27%,#071d2bd4 42%,#071d2b38 72%,#071d2b10 100%),linear-gradient(0deg,#07252b 0%,transparent 55%); }
.marketing .hero-stage::after { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 12% 105%,#007b6360,transparent 55%); pointer-events:none; }
.marketing .hero-grid-lines { position:absolute; inset:0; z-index:-1; opacity:.12; background-image:linear-gradient(#90d8d720 1px,transparent 1px),linear-gradient(90deg,#90d8d720 1px,transparent 1px); background-size:85px 85px; mask-image:linear-gradient(90deg,#000,transparent 80%); }
.marketing .hero { min-height:735px; padding-block:65px 56px; grid-template-columns:1.25fr 1fr; gap:60px; }
.marketing .hero-copy { position:relative; z-index:1; }
.marketing .hero .eyebrow { font-size:10px; letter-spacing:1.65px; color:#a0e6ce; }
.marketing .hero-copy>.eyebrow { display:inline-block; padding:8px 12px; border:1px solid #63bdad42; border-radius:5px; background:#0d403d70; }
.marketing .tiny-square { border-radius:50%; background:#72e8bc; box-shadow:0 0 12px #66ffd27a; }
.marketing h1 { font-size:clamp(50px,4.7vw,70px); font-weight:730; line-height:1.065; letter-spacing:-3px; margin-top:25px; }
.marketing h1 em { font-family:inherit; font-style:normal; font-weight:730; color:#8bf3c1; background:linear-gradient(110deg,#80e6bd 10%,#9aedce 40%,#efd487 95%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.marketing .hero .intro { max-width:545px; color:#d0dce1; font-size:17px; line-height:1.8; margin-top:24px; }
.marketing .hero .button-row { gap:24px; margin-top:31px; flex-wrap:wrap; }
.marketing .hero .button { background:linear-gradient(115deg,#f3ce78,#e8b34e); color:#132f36; border-color:#f5ce78; font-size:14px; padding-inline:22px; gap:16px; box-shadow:0 8px 35px #dca53527; }
.marketing .hero .button:hover { background:#ffe09c; box-shadow:0 10px 36px #dca53545; }
.marketing .hero .text-link { font-size:13px; display:inline-flex; gap:8px; align-items:center; }
.marketing .play-icon { display:inline-flex; align-items:center; justify-content:center; border:1px solid #86a7a9; width:27px; height:27px; border-radius:50%; margin:0; }
.marketing .hero-footnote { color:#b7ced0; display:flex; align-items:center; gap:9px; font-size:11px; margin-top:25px; }
.marketing .hero-footnote span { color:#7ce0b7; }
.marketing .hero-footnote span:nth-child(2) { margin-left:10px; }
.marketing .hero-visual { margin-top:162px; background:#0b293dbf; border:1px solid #bbf3e740; border-radius:14px; backdrop-filter:blur(18px); padding:16px; box-shadow:0 24px 80px #00141c60,0 0 35px #34ceaa12; transform:perspective(1800px) rotateY(-5deg); }
.marketing .hero .visual-topline .eyebrow { font-size:9px; letter-spacing:1px; }
.marketing .hero .visual-topline .example { color:#bad2d7; font-size:10px; }
.marketing .status-dot { width:6px; height:6px; background:#7de4b4; border-radius:50%; display:inline-block; margin-right:5px; box-shadow:0 0 9px #7de4b438; }
.marketing .abstract-window { color:var(--ink); border:1px solid #cce3df; border-radius:8px; }
.marketing .window-bar { background:#f1f6f7; color:#164333; border-bottom:1px solid #e0e9e6; padding:10px 15px; }
.marketing .abstract-heading { padding:17px; }
.marketing .abstract-heading h3 { font-size:21px; }
.marketing .abstract-heading p { font-size:11px; }
.marketing .hero .sample-row { font-size:11px; padding-block:12px; }
.marketing .hero-evidence { margin:13px; padding:13px; background:linear-gradient(130deg,#f0f8f2,#f9fcf8); }
.marketing .hero-evidence blockquote { font-family:inherit; font-size:13px; }
.marketing .hero-evidence .source-reference { font-size:11px; }
.marketing .hero-visual figcaption { color:#c8dcdf; font-size:10px; margin-top:13px; }
.marketing .hero-visual figcaption span { color:#7de4b4; margin-right:4px; }
.marketing .hero-bottom { border-top:1px solid #bbd4d226; padding-block:22px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.marketing .hero-bottom>span { font-size:10px; letter-spacing:1.5px; color:#a8c4c8; }
.marketing .hero-bottom>div { display:flex; gap:35px; font-size:12px; color:#dce8e9; }
.marketing .principles-strip { background:#fff; border-color:#dde7eb; }
.marketing .principles-strip .container { font-size:12px; text-transform:none; letter-spacing:.2px; color:#355162; padding-block:26px; }
.marketing .principles-strip b { font-size:10px; color:#08745d; padding:5px 7px; background:#e9f7f1; border-radius:4px; margin-right:9px; }
.marketing h2 { font-weight:680; letter-spacing:-1.7px; }
.marketing .section { padding-block:92px; }
.marketing .section-heading { display:flex; align-items:end; justify-content:space-between; gap:70px; }
.marketing .section-intro { max-width:410px; color:var(--muted); font-size:16px; }
.marketing .section-heading h2 { font-size:45px; }
.marketing .eyebrow { font-size:11px; letter-spacing:1.5px; }
.marketing .steps { gap:22px; margin-top:38px; }
.marketing .steps article { background:white; padding:25px; border:1px solid #dee8eb; border-radius:12px; box-shadow:0 8px 30px #18344205; transition:transform .2s,box-shadow .2s,border-color .2s; }
.marketing .steps article:hover { transform:translateY(-5px); border-color:#9bc9b8; box-shadow:0 14px 35px #123d3110; }
.marketing .step-number { font:700 14px/1.5 Inter,"Segoe UI",Arial,sans-serif; display:inline-block; padding:8px 11px; border:1px solid #c5e7d9; border-radius:7px; margin-bottom:22px; background:linear-gradient(135deg,#edf9f3,#dcf2e8); color:#116950; }
.marketing .steps h3 { font-size:18px; letter-spacing:-.3px; }
.marketing .steps p { font-size:15px; }
.marketing .workflow-preview { border-radius:12px; border-color:#cbdce3; box-shadow:0 18px 60px #122e4110; padding:28px 30px 16px; position:relative; overflow:hidden; }
.marketing .workflow-preview::before { content:''; display:block; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#0b394d,#109c7c,#ecd082); }
.marketing .progress-track span { background:linear-gradient(90deg,#0a705b,#4cbb96); }
.marketing .evidence-section { background:radial-gradient(ellipse at 80% 60%,#c5eee480,transparent 65%),linear-gradient(125deg,#edf4f8,#f6fafc); border-color:#e1ebef; }
.marketing .review-panel { border:1px solid #bbd9d4; border-radius:14px; box-shadow:0 24px 55px #12394317; padding:28px; }
.marketing .explanation { border-radius:6px; background:#fbf5e5; }
.marketing .source-block { border-radius:6px; background:#eaf6f1; }
.marketing .source-block blockquote { font-family:inherit; font-size:14px; }
.marketing .review-title h3 { font-weight:650; }
.marketing .score { color:#0a7553; background:#dcf5e8; }
.marketing .feature-cta { display:inline-block; margin-top:25px; color:#08694f; font-size:14px; }
.marketing .emphasis span { background:#daf0e7; color:#08694f; padding:3px 6px; border-radius:50%; margin-right:8px; }
.marketing .chat-panel { border-color:#c9dbe5; border-radius:14px; box-shadow:0 18px 65px #153a4d15; }
.marketing .chat-bar { background:linear-gradient(120deg,#0b293e,#0b5d50); padding:20px; }
.marketing .chat-bar .mini-brand { font-size:14px; }
.marketing .chat-context { display:flex; align-items:center; gap:5px; background:#edf5f7; padding:12px 20px; color:#2f5260; font-size:11px; border-bottom:1px solid #e0ebed; }
.marketing .chat-context>span:last-child { margin-left:auto; font-size:10px; color:#577c80; }
.marketing .chat-question { background:linear-gradient(115deg,#114d47,#176953); color:white; }
.marketing .chat-answer { background:#f6f9fc; }
.marketing .chat-answer .micro-label { color:#107055; }
.marketing .citation { border:1px solid #b8d9ce; background:#edf8f1; padding:5px 8px; border-radius:4px; color:#145c48; }
.marketing .feature-copy .demo-instruction { color:#0c775a!important; font-size:13px!important; font-weight:600; margin-top:22px!important; }
.marketing .question-list { margin-top:13px; display:grid; gap:9px; }
.marketing .question-list button { appearance:none; display:flex; align-items:center; justify-content:space-between; gap:15px; text-align:left; width:100%; border:1px solid #d5e2e6; border-radius:7px; padding:13px 15px; background:white; font:500 13px/1.5 Inter,"Segoe UI",Arial,sans-serif; color:#244655; cursor:pointer; transition:background .2s,border-color .2s,transform .2s; }
.marketing .question-list button:hover { background:#f0f8f4; border-color:#6baf98; transform:translateX(3px); }
.marketing .question-list button[aria-pressed="true"] { background:#e5f4ed; border-color:#59a48b; color:#0d6149; box-shadow:inset 3px 0 #147658; }
.marketing .question-list button .action-arrow { color:#268766; }
.marketing .settings-section { border-top:1px solid #e0e8ec; padding-top:60px; }
.marketing .settings-preview { background:white; border:1px solid #d3e2e7; box-shadow:0 15px 40px #203d4710; border-radius:12px; }
.marketing .story-section { background:radial-gradient(ellipse at 90% 0%,#15947560,transparent 55%),linear-gradient(120deg,#0b283d,#07563f); position:relative; overflow:hidden; padding-block:84px; }
.marketing .story-section::after { content:''; width:430px; height:430px; position:absolute; right:-170px; top:-100px; border:1px solid #a7e5c31a; border-radius:50%; box-shadow:0 0 0 70px #a7e5c306,0 0 0 140px #a7e5c305; pointer-events:none; }
.marketing .story-grid { position:relative; z-index:1; }
.marketing .story-section .eyebrow { color:#a4e4c7; }
.marketing .customer-result { border-top-color:#ffffff26; }
.marketing .customer-result>strong { font-family:inherit; font-weight:650; letter-spacing:-2px; font-size:52px; color:#f3d28d; }
.marketing .quote blockquote { font-family:inherit; font-style:normal; font-size:33px; line-height:1.45; font-weight:500; letter-spacing:-.6px; }
.marketing .pricing-section { padding-block:72px; }
.marketing .pricing-section .button { background:white; }
.marketing .contact-section { background:radial-gradient(ellipse at 5% 100%,#0b64566b,transparent 60%),linear-gradient(120deg,#071d2e,#102d40); color:#eef5f7; border:0; }
.marketing .contact-grid { align-items:center; gap:90px; }
.marketing .contact-grid h2 { font-size:44px; }
.marketing .contact-section .eyebrow { color:#8bddba; }
.marketing .contact-grid>div>p:not(.eyebrow) { color:#b9ced8; font-size:17px; }
.marketing .contact-brand { color:#bfd3da; }
.marketing .contact-brand strong { color:#e1f2f5; }
.marketing .contact-form-wrap { color:var(--ink); padding:32px; background:white; border:1px solid #c6dee5; border-radius:14px; box-shadow:0 24px 55px #00000024; }
.marketing .contact-form-wrap h3 { font-size:21px; margin-bottom:4px; }
.marketing .contact-grid .contact-form-wrap .form-intro { color:var(--muted); font-size:13px; margin:0 0 23px; }
.marketing input,.marketing textarea { background:#f8fbfc; border-color:#c7d7de; }
.marketing form .button { width:100%; background:linear-gradient(115deg,#0b4d43,#087757); }
.marketing .footer { padding-block:30px; }
.marketing section[id] { scroll-margin-top:105px; }
.marketing .entered { animation:enterprise-enter .65s ease-out both; }
@keyframes enterprise-enter { from { transform:translateY(18px); } to { transform:translateY(0); } }
@media(min-width:1500px) { .marketing .hero { padding-block:75px 65px; min-height:760px; } }
@media(max-width:1100px) {
 .marketing .hero { gap:30px; grid-template-columns:1.15fr 1fr; }
 .marketing h1 { font-size:58px; }
 .marketing .hero .intro { font-size:16px; }
 .marketing .hero .button-row { gap:20px; }
 .marketing .hero-visual { padding:12px; }
 .marketing .hero .visual-topline .eyebrow { font-size:8px; }
 .marketing .hero .visual-topline .example { font-size:9px; }
 .marketing .hero-bottom>div { gap:20px; }
 .marketing .section-heading { gap:40px; }
 .marketing .section-intro { max-width:350px; }
 .marketing .steps article { padding:21px; }
 .marketing .contact-grid { gap:45px; }
 .marketing .contact-form-wrap { padding:25px; }
}
@media(max-width:850px) {
 .marketing .hero { grid-template-columns:1fr; min-height:auto; padding-block:52px 40px; gap:35px; }
 .marketing .hero-property-image { height:850px; object-position:65% top; }
 .marketing .hero-stage::before { background:linear-gradient(90deg,#071d2bec,#071d2b9e),linear-gradient(0deg,#07252b 5%,transparent 85%); }
 .marketing .hero-copy { max-width:620px; }
 .marketing h1 { font-size:66px; }
 .marketing .hero-visual { margin:0 0 0 auto; width:70%; max-width:500px; transform:none; padding:17px; }
 .marketing .hero .intro { max-width:550px; }
 .marketing .hero-bottom { align-items:start; flex-direction:column; gap:12px; }
 .marketing .hero-bottom>div { flex-wrap:wrap; gap:12px 25px; }
 .marketing .section-heading { display:block; }
 .marketing .section-intro { max-width:600px; margin-top:22px; }
 .marketing .principles-strip .container { font-size:12px; }
 .marketing .section { padding-block:65px; }
 .marketing .contact-grid { gap:35px; }
 .marketing .steps { gap:15px; }
 .marketing .steps article { padding:20px 17px; }
 .marketing .steps h3 { font-size:17px; }
 .marketing .steps p { font-size:14px; }
 .marketing .contact-form-wrap { padding:30px; }
 .marketing section[id] { scroll-margin-top:130px; }
}
@media(max-width:540px) {
 .marketing .nav-wrap { min-height:70px; }
 .marketing .hero { padding-block:34px; }
 .marketing .hero-copy>.eyebrow { font-size:8px; letter-spacing:.9px; padding:7px 9px; }
 .marketing h1 { font-size:clamp(40px,11.7vw,59px); line-height:1.08; letter-spacing:-2px; margin-top:25px; }
 .marketing .hero-property-image { height:800px; object-position:64% top; }
 .marketing .hero-stage::before { background:linear-gradient(90deg,#071d2bea,#071d2b82),linear-gradient(0deg,#07252b 18%,transparent 90%); }
 .marketing .hero .intro { font-size:16px; line-height:1.75; }
 .marketing .hero .button-row { gap:20px; flex-direction:column; align-items:stretch; }
 .marketing .hero .button { min-height:55px; font-size:14px; justify-content:space-between; }
 .marketing .hero .text-link { justify-content:center; }
 .marketing .hero-footnote { gap:6px; flex-wrap:wrap; font-size:10px; }
 .marketing .hero-footnote span:nth-child(2) { margin-left:5px; }
 .marketing .hero-visual { width:100%; padding:12px; margin-top:6px; }
 .marketing .hero .visual-topline .eyebrow { font-size:8px; max-width:none; }
 .marketing .hero .visual-topline .example { font-size:9px; }
 .marketing .hero .abstract-heading { padding:15px; }
 .marketing .hero .abstract-heading h3 { font-size:20px; }
 .marketing .hero .abstract-heading p { font-size:10px; }
 .marketing .hero .sample-row { font-size:11px; }
 .marketing .hero-visual figcaption { font-size:9px; }
 .marketing .hero-bottom { padding-block:19px 25px; }
 .marketing .hero-bottom>span { font-size:8px; letter-spacing:1.2px; }
 .marketing .hero-bottom>div { font-size:10px; gap:10px 17px; }
 .marketing .principles-strip .container { font-size:10px; gap:16px 12px; padding-block:23px; letter-spacing:0; }
 .marketing .principles-strip b { font-size:9px; margin-right:5px; padding:4px 5px; }
 .marketing .section-heading h2,.marketing .contact-grid h2 { font-size:35px; }
 .marketing .section-heading .eyebrow { font-size:9px; }
 .marketing .steps article { padding:24px; }
 .marketing .steps h3 { font-size:19px; }
 .marketing .steps p { font-size:15px; }
 .marketing .step-number { margin-bottom:17px; }
 .marketing .workflow-preview { padding:23px 15px 12px; }
 .marketing .review-panel { padding:20px; }
 .marketing .chat-bar { padding:18px 15px; }
 .marketing .chat-bar .mini-brand { font-size:12px; }
 .marketing .chat-context { padding:11px 14px; font-size:10px; }
 .marketing .chat-context>span:last-child { font-size:9px; }
 .marketing .chat-note { font-size:10px; }
 .marketing .settings-section { padding-top:40px; }
 .marketing .story-section { padding-block:60px; }
 .marketing .quote blockquote { font-size:29px; }
 .marketing .customer-result>strong { font-size:43px; }
 .marketing .contact-form-wrap { padding:23px 19px; }
 .marketing .contact-form-wrap h3 { font-size:19px; }
 .marketing .contact-grid>div>p:not(.eyebrow) { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .marketing .entered { animation:none; } .marketing .button:hover,.marketing .steps article:hover,.marketing .question-list button:hover { transform:none; } }

/* Compact phone/tablet navigation; desktop retains its existing layout. */
.marketing .mobile-menu { display:none; }
@media(max-width:850px) {
 .marketing .site-header { padding-top:env(safe-area-inset-top); }
 .marketing .nav-wrap { min-height:68px; gap:12px; }
 .marketing .desktop-nav,.marketing .nav-actions { display:none; }
 .marketing .sign-in { min-height:44px; display:inline-flex; align-items:center; white-space:nowrap; }
 .marketing .mobile-menu { display:block; margin-left:auto; }
 .marketing .mobile-menu summary { list-style:none; display:flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:8px 12px; border:1px solid #ffffff40; border-radius:8px; cursor:pointer; font-size:13px; font-weight:600; }
 .marketing .mobile-menu summary::-webkit-details-marker { display:none; }
 .marketing .mobile-menu summary:focus-visible { outline:3px solid #f1c469; outline-offset:3px; }
 .marketing .mobile-menu[open] summary { background:#ffffff15; }
 .marketing .mobile-menu__links { position:absolute; top:100%; left:0; right:0; display:grid; gap:6px; padding:12px 20px 20px; background:#0b2838; border-bottom:1px solid #ffffff30; box-shadow:0 16px 28px #00141c40; max-height:calc(100dvh - 80px); overflow-y:auto; overscroll-behavior:contain; }
 .marketing .mobile-menu__links>a { display:flex; align-items:center; min-height:48px; padding:10px 14px; border-radius:8px; font-size:15px; }
 .marketing .mobile-menu__links>a:hover { background:#ffffff10; }
 .marketing .mobile-menu__links .button { justify-content:space-between; margin-top:6px; }
 .marketing section[id] { scroll-margin-top:88px; }
 .marketing input,.marketing textarea { font-size:16px; }
 .marketing .feature-grid>*,.marketing .contact-grid>*,.marketing .hero>* { min-width:0; }
 .marketing .preview-table-wrap { overflow-x:auto; overscroll-behavior-x:contain; }
 .marketing .preview-table-wrap table { min-width:560px; }
 .marketing .question-list button { min-height:48px; }
 .marketing .footer a { min-height:44px; display:inline-flex; align-items:center; }
}
@media(max-width:540px) {
 .marketing .container { width:calc(100% - 32px); }
 .marketing .brand { font-size:17px; }
 .marketing .nav-wrap { gap:8px; }
 .marketing .mobile-menu summary { padding:8px 10px; }
 .marketing .hero .intro { line-height:1.65; }
 .marketing .hero-copy>.eyebrow { font-size:10px; line-height:1.6; letter-spacing:.6px; }
 .marketing .contact-form-wrap { padding:24px 18px; }
 .marketing .contact-form-wrap .button { width:100%; justify-content:space-between; }
 .marketing .footer { padding-bottom:calc(24px + env(safe-area-inset-bottom)); }
}
@media(max-width:360px) {
 .marketing .mobile-menu summary>span:last-child { display:none; }
 .marketing .mobile-menu summary { min-width:44px; }
 .marketing .hero .button { gap:8px; padding-inline:16px; font-size:13px; }
}
