/* Public overview. Shared colours and controls come from the OE account theme. */
.landing{font-size:15px}
.landing .site-header{background:var(--oe-bg)}
.landing nav{display:flex;gap:26px;align-items:center;font-size:13px}
.landing nav a{color:var(--oe-muted);text-decoration:none}
.landing nav a:hover{color:var(--oe-text)}
.landing nav .nav-sign-in{color:var(--oe-text);border:1px solid var(--oe-border-strong);border-radius:5px;padding:9px 16px;min-height:40px}
.landing nav .nav-sign-in:hover{background:var(--oe-surface-raised)}
.nav-sign-in span{margin-left:12px;color:var(--oe-accent)}
.landing main{padding-top:0;padding-bottom:0}
.landing [id]{scroll-margin-top:28px}
.landing h1{font-size:clamp(40px,4.4vw,60px);font-weight:650;line-height:1.1;letter-spacing:-2px;margin:0 0 24px}
.hero-copy h1 span{color:var(--oe-accent)}
.landing h2{font-size:28px;font-weight:550;line-height:1.3;letter-spacing:-.7px;margin:0 0 18px}
.landing p{color:var(--oe-muted)}
.landing .eyebrow{color:var(--oe-accent);font-size:10px;letter-spacing:.12em;margin-bottom:24px}
.landing .button{font-size:13px;display:inline-flex;gap:24px;align-items:center;justify-content:center;min-height:46px;margin:8px 0 0}
.pitch-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;align-items:center;padding:64px 0}
.hero-description{font-size:16px;line-height:1.8;max-width:43ch;margin-bottom:24px}
.hero-description strong{color:var(--oe-text);font-weight:550}
.landing .pilot-note{font-size:11px;margin:14px 0 0}
.estimate-visual{margin:0;background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:10px;box-shadow:0 20px 48px #0002;overflow:hidden}
.estimate-visual figcaption{font-size:12px;font-weight:550;padding:18px 24px;border-bottom:1px solid var(--oe-border)}
.estimate-flow{list-style:none;padding:24px;margin:0}
.estimate-flow li{display:flex;gap:18px;position:relative;padding-bottom:26px}
.estimate-flow li:not(:last-child):before{content:"";position:absolute;top:30px;bottom:0;left:14px;border-left:1px solid var(--oe-border-strong)}
.estimate-flow li:last-child{padding-bottom:0}
.step-number{display:flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;background:var(--oe-bg);border:1px solid var(--oe-border-strong);border-radius:50%;color:var(--oe-accent);font-size:10px;z-index:1}
.estimate-flow li>div{flex:1;min-width:0;padding-top:3px}
.estimate-flow h2{font-size:17px;line-height:1.4;margin:0 0 6px;letter-spacing:-.2px}
.estimate-flow p{font-size:12px;line-height:1.7;margin:0}
.file-label{display:flex;gap:10px;align-items:center;padding:14px;margin-top:14px;background:var(--oe-bg);border:1px solid var(--oe-border);border-radius:5px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--oe-text)}
.file-label svg{width:20px;height:24px;fill:none;stroke:var(--oe-accent);stroke-width:1.2}
.engine-step h2{color:var(--oe-accent)}
.result-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px}
.result-trio span{text-align:center;font-size:11px;background:var(--oe-accent-soft);border:1px solid #765c4b;border-radius:4px;padding:10px 4px;color:var(--oe-accent)}
.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;border-top:1px solid var(--oe-border);padding:40px 0 48px}
.principle-icon{width:30px;height:30px;fill:none;stroke:var(--oe-accent);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.principle h2 span{color:var(--oe-accent)}
.principle p{font-size:14px;line-height:1.8;max-width:49ch;margin:0 0 18px}
.file-benefits{display:flex;gap:10px;flex-wrap:wrap}
.file-benefits span{font-size:11px;padding:6px 11px;border:1px solid var(--oe-border);border-radius:4px;background:var(--oe-surface);color:var(--oe-text)}
.landing .account-note{font-size:11px;margin:18px 0 0}
.repeat-proof{display:flex;align-items:center;gap:16px;font-size:11px;margin-top:20px}
.repeat-proof>span:not(:nth-child(2)){padding:10px 14px;border:1px solid var(--oe-border);border-radius:5px;background:var(--oe-surface);color:var(--oe-muted)}
.repeat-proof strong{display:block;font-size:12px;color:var(--oe-accent);font-weight:500;margin-top:4px}
.repeat-proof>span:nth-child(2){font-size:22px;color:var(--oe-muted)}
.landing footer{align-items:center;font-size:11px}
.landing .footer-brand{font-size:12px;gap:12px;color:var(--oe-muted)}
.footer-brand .brand-mark{font-size:21px}
.landing footer>a:last-child{color:var(--oe-muted);text-decoration:none}
.landing footer>a:last-child:hover{color:var(--oe-accent)}
@media(max-width:1000px){.pitch-hero{gap:36px}.principles{gap:40px}.landing h2{font-size:25px}.estimate-flow h2{font-size:16px}.estimate-flow{padding:20px}.estimate-flow li{gap:14px}}
@media(max-width:800px){.landing nav{gap:18px}.pitch-hero{grid-template-columns:1fr;padding:44px 0;gap:32px}.hero-copy{max-width:600px}.landing h1{font-size:52px}.hero-description{max-width:52ch}.estimate-visual{max-width:560px;width:100%}.principles{gap:32px}.principle h2{font-size:24px}.principle p{font-size:13px}.landing footer{flex-wrap:wrap;gap:16px}}
@media(max-width:560px){.landing nav .section-link{display:none}.landing nav .nav-sign-in{padding:8px 12px;font-size:12px}.nav-sign-in span{margin-left:4px}.landing .brand{gap:10px}.landing .brand-name{padding-left:10px}.pitch-hero{padding:36px 0;gap:28px}.landing h1{font-size:clamp(32px,8.8vw,46px);letter-spacing:-1.2px}.landing .eyebrow{font-size:9px;letter-spacing:.08em;line-height:1.7;margin-bottom:18px}.hero-description{font-size:14px;margin-bottom:18px}.landing .pilot-note{font-size:10px}.estimate-visual figcaption{font-size:11px;padding:16px 18px}.estimate-flow{padding:20px 18px}.estimate-flow li{gap:12px;padding-bottom:24px}.estimate-flow h2{font-size:16px}.estimate-flow p{font-size:11px}.file-label{padding:11px;font-size:11px}.result-trio{gap:5px}.result-trio span{font-size:10px;padding:9px 3px}.principles{grid-template-columns:1fr;padding:32px 0;gap:32px}.principle h2{font-size:26px}.principle p{font-size:14px}.principle+.principle{padding-top:28px;border-top:1px solid var(--oe-border)}.principle-icon{margin-bottom:14px}.landing .account-note{font-size:10px}.landing footer{font-size:10px;gap:16px 24px}.landing footer>span{order:3;width:100%}}
@media(prefers-reduced-motion:no-preference){html:has(.landing){scroll-behavior:smooth}}
