/* HAI product-led homepage. Shared story and privacy styles stay in styles.css. */
.home-page { background:#03070d; }
.home-page button, .home-page input { font:inherit; }
.home-page :focus-visible { outline:3px solid #74bbff; outline-offset:4px; }
.home-page [hidden] { display:none !important; }
.home-page .shell { --shell:1240px; }
.home-page .site-header { background:rgba(3,7,13,.86); backdrop-filter:blur(18px); }
.home-page .header-inner { min-height:88px; gap:24px; }
.home-page .brand img { width:214px; }
.home-page .site-nav { gap:22px; font-size:.875rem; }
.home-page section[id] { scroll-margin-top:104px; }
.home-page .hero { min-height:auto; padding:158px 0 80px; overflow:visible; }
.home-page .hero::before { background:radial-gradient(ellipse at 83% 42%,rgba(15,73,169,.3),transparent 49%),linear-gradient(130deg,#03070d,#07101e); }
.home-page .hero::after { display:none; }
.home-page .hero-grid { grid-template-columns:1.05fr 1fr; gap:70px; align-items:center; }
.home-page .eyebrow { font-size:.875rem; letter-spacing:.12em; }
.home-page h1 { font-size:clamp(3.6rem,5.5vw,5.35rem); line-height:1.04; letter-spacing:-.045em; }
.home-page h1 span { color:#d7bd88; text-shadow:none; }
.home-page .hero-intro { margin-top:27px; font-size:1.125rem; line-height:1.75; max-width:500px; color:#b9c3d2; }
.home-page .hero-actions { margin-top:29px; gap:12px; }
.home-page .button { padding:13px 20px; border-radius:8px; font-size:.9375rem; letter-spacing:0; }
.home-page .button-primary { background:#d7bd88; color:#10151b; border-color:#d7bd88; box-shadow:none; }
.home-page .button-primary:hover { background:#ecd5a6; }
.hero-note { font-size:.875rem; color:#8997aa; margin:18px 0 29px; }
.hero-story { display:flex; align-items:center; gap:12px; padding-top:24px; border-top:1px solid #233044; max-width:440px; }
.hero-story img { width:46px; height:46px; object-fit:cover; border-radius:50%; object-position:center 25%; }
.hero-story strong,.hero-story a { display:block; font-size:.875rem; }
.hero-story strong { color:#e7eaf0; }
.hero-story a { color:#9caabc; text-decoration:underline; text-underline-offset:4px; }
.demo-stage { min-width:0; position:relative; max-width:510px; width:100%; justify-self:end; }
.demo-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 4px 14px; font-size:.8125rem; color:#aebdce; }
.motion-button { border:1px solid #334660; color:#d8e4f2; padding:7px 12px; border-radius:20px; font-size:.75rem !important; background:#122038; cursor:pointer; }
.demo-app { background:#111d30; border:1px solid #3b526e; border-radius:20px; box-shadow:0 30px 90px #0006,0 0 90px #073f9e22; overflow:hidden; }
.demo-app-header { display:flex; justify-content:space-between; align-items:center; padding:24px 25px 22px; gap:12px; }
.demo-wordmark { font-size:1.2rem; letter-spacing:.02em; }
.demo-wordmark>span { color:#8b9cb3; font-weight:400; font-size:.875rem; }
.demo-data { padding:4px 8px; border:1px solid #40506a; border-radius:5px; color:#bac7d9; font-size:.75rem; white-space:nowrap; }
.demo-tabs { display:flex; padding:0 24px; border-bottom:1px solid #2a3a50; gap:23px; }
.demo-tabs button { position:relative; padding:5px 0 15px; border:0; background:none; color:#92a3ba; cursor:pointer; font-size:.875rem; }
.demo-tabs button[aria-selected=true] { color:#efdebc; }
.demo-tabs button[aria-selected=true]::after { content:""; position:absolute; bottom:-1px; inset-inline:0; height:2px; background:#d7bd88; }
.demo-panels { min-height:359px; }
.demo-scene { padding:23px 25px 20px; animation:scene-in .45s ease both; }
.demo-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:15px; }
.demo-state { color:#f1c791; font-size:.8125rem; }
.demo-state::before { content:""; display:inline-block; margin-inline-end:7px; width:6px; height:6px; border-radius:50%; background:currentColor; vertical-align:middle; }
.demo-state.neutral { color:#adc6e8; }
.demo-count { font-size:.75rem; color:#7f92ad; }
.demo-scene h2 { font:500 1.55rem/1.2 Georgia,serif; margin:0 0 8px; color:#f5eee2; }
.demo-product { margin:0; font-size:.875rem; color:#9fadc0; }
.coverage-value { display:flex; align-items:baseline; gap:13px; margin:19px 0 7px; }
.coverage-value strong { color:#f1e5cf; font-size:3rem; line-height:1.1; font-weight:450; letter-spacing:-.06em; }
.coverage-value span { color:#a5b5ca; font-size:.875rem; }
.coverage-track { height:6px; position:relative; margin-top:18px; border-radius:4px; background:#2a3850; }
.coverage-track>div { height:100%; width:69%; background:linear-gradient(90deg,#347dc5,#d7bd88); border-radius:4px; transform-origin:left; animation:coverage-in 1.1s ease; }
.coverage-track i { position:absolute; height:16px; width:1px; right:19%; background:#dbe2ed; top:-5px; }
.coverage-labels { display:flex; justify-content:space-between; margin-top:7px; color:#8fa0b7; font-size:.75rem; }
.demo-advice { display:flex; align-items:flex-start; gap:12px; margin:18px 0 13px; padding:13px; background:#1c2a3c; border:1px solid #35465a; border-radius:8px; }
.advice-index { display:grid; place-items:center; border:1px solid #d7bd8860; width:21px; height:21px; border-radius:50%; color:#d7bd88; font-size:.75rem; flex-shrink:0; }
.demo-advice p { margin:0; color:#d6dce6; line-height:1.5; font-size:.875rem; }
.demo-link { color:#a2caff; font-size:.875rem; text-decoration:underline; text-underline-offset:4px; }
.demo-bottom { padding:14px 25px 0; font-size:.75rem; color:#879ab5; border-top:1px solid #293a51; }
.demo-progress { height:2px; background:#263650; margin:13px -25px 0; }
.demo-progress span { display:block; height:100%; width:0; background:#d7bd88; }
.demo-progress.playing span { animation:demo-timer 8s linear infinite; }
.demo-caption { display:flex; align-items:center; gap:12px; justify-content:center; margin-top:20px; color:#8b9eb8; font-size:.8125rem; }
.caption-line { height:1px; width:24px; background:#778bab; }
.waste-stepper { display:flex; justify-content:space-between; align-items:center; margin:28px 0 24px; }
.waste-stepper button { width:44px; height:44px; border:1px solid #425872; background:#23334b; border-radius:9px; color:#e9eff8; font-size:1.4rem; cursor:pointer; }
.waste-stepper output { font-size:2.75rem; line-height:1; color:#f2e3c8; }
.demo-cost,.draft-line { display:flex; justify-content:space-between; align-items:baseline; gap:15px; font-size:.875rem; color:#9fb0c8; }
.demo-cost { margin:0 0 19px; }
.demo-cost strong { font-size:1.5rem; color:#f0e5d2; }
.demo-primary { width:100%; min-height:43px; border:1px solid #3775c6; border-radius:8px; color:#fff; background:#1854a5; font-size:.875rem !important; cursor:pointer; transition:background .15s; }
.demo-primary:hover { background:#2367c1; }
.demo-primary:disabled { color:#bbcbe1; cursor:default; background:#2a3a50; border-color:#43566e; }
.demo-feedback { min-height:20px; font-size:.8125rem; color:#a8d3be; margin:11px 0 0; }
.draft-line { padding:17px 0; border-bottom:1px solid #2c3d53; }
.draft-line strong { font-size:1.25rem; color:#f2e3c8; }
.approval-rule { font-size:.8125rem; color:#9aacc4; margin:17px 0; }
.home-page .principles { background:#0c1420; border-block:1px solid #253247; color:#dddcd6; }
.home-page .principle-grid>div { border-color:#253247; padding:27px 24px; }
.home-page .principle-grid span { color:#d7bd88; }
.home-page .principle-grid small { color:#8e9eb4; font-size:.8125rem; }
.home-page .section { padding:96px 0; }
.home-page .section-heading h2,.home-page .product-copy h2,.home-page .pilot-copy h2,.founder-copy h2 { font-size:clamp(2.4rem,4vw,3.6rem); line-height:1.1; letter-spacing:-.03em; }
.home-page .section#oplossing { background:#03070d; }
.home-page .pillar-grid { gap:0 45px; }
.home-page .pillar { padding:28px 0 !important; min-height:245px; border-right:0; }
.home-page .pillar h3 { margin:12px 0; font-size:1.7rem; }
.home-page .pillar p { max-width:480px; color:#9eacbd; }
.home-page .pillar em { font-size:.875rem; border-radius:4px; }
.home-page .product-section { background:#0d1624; color:#f6f4f0; border-block:1px solid #243045; }
.home-page .product-copy>.eyebrow { color:#d7bd88; }
.home-page .product-copy>p:not(.eyebrow) { color:#b9c3d2; }
.home-page .product-grid { grid-template-columns:1fr 1fr; gap:100px; }
.demo-assumptions { border-top:1px solid #354056; padding-top:22px; margin-top:26px; }
.demo-assumptions strong { color:#c8b589; font-size:.8125rem; }
.demo-assumptions p { font-size:.875rem; color:#8e9cb0; line-height:1.8; }
.text-link { display:inline-block; font-size:.9375rem; color:#a4cfff; text-decoration:underline; text-underline-offset:5px; margin-top:16px; }
.stock-calculator { background:#f2f4f7; color:#152439; border:1px solid #fff; border-radius:16px; padding:28px 30px; box-shadow:0 20px 60px #0004; min-width:0; }
.calculator-head { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:.875rem; color:#576577; }
.stock-calculator .demo-data { color:#4a596e; border-color:#c7cdd6; }
.stock-calculator h3 { font-family:inherit; font-weight:600; font-size:1.4rem; margin:23px 0; }
.stock-calculator label { display:flex; justify-content:space-between; gap:12px; font-size:.875rem; }
.stock-calculator output { font-weight:750; }
.stock-calculator input { width:100%; margin:22px 0 0; accent-color:#1757b3; cursor:pointer; height:24px; }
.range-ends { display:flex; justify-content:space-between; color:#68768b; font-size:.75rem; margin-bottom:22px; }
.calc-metrics { display:grid; grid-template-columns:1fr 1fr; gap:15px; border-top:1px solid #d0d7e0; padding-top:18px; }
.calc-metrics>div>span { display:block; font-size:.875rem; color:#55657b; }
.calc-metrics strong { display:block; margin-top:4px; font-size:2rem; line-height:1.3; font-weight:500; }
.calc-metrics small { font-size:.875rem; font-weight:450; }
.calc-risk { padding:13px 15px; background:#f1e7d8; border:1px solid #dfcdb1; border-radius:8px; color:#634313; font-size:.875rem; line-height:1.5; margin:22px 0 18px; }
.calc-risk.safe { background:#e2ebe8; color:#234d41; border-color:#c2d6d0; }
.calc-total { display:flex; justify-content:space-between; gap:16px; align-items:baseline; border-bottom:1px solid #d0d7e0; padding-bottom:18px; font-size:.875rem; }
.calc-total strong { font-size:1.55rem; font-weight:600; }
.calc-explanation { margin-top:17px; font-size:.875rem; color:#4a5b72; }
.calc-explanation summary { cursor:pointer; padding:4px 0; }
.calc-explanation p { margin-bottom:0; line-height:1.6; }
.home-page .control-section { background:#03070d; }
.home-page .control-flow { border-color:#293446; }
.home-page .guardrail { background:#101b2b; border-color:#31415a; box-shadow:none; }
.connections-section { background:#080f1b; border-top:1px solid #243147; }
.connection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.connection-card { padding:25px; border:1px solid #2e3c51; border-radius:10px; background:#101b2b; }
.connection-status { display:inline-block; font-size:.75rem; color:#a7b8d0; border:1px solid #3b4d67; padding:3px 8px; border-radius:4px; }
.connection-status.ready { color:#cfbc93; border-color:#746343; }
.connection-number { display:block; margin:27px 0 13px; color:#788ca7; font-size:.8125rem; }
.connection-card h3 { font-size:1.6rem; margin:0 0 15px; }
.connection-card p { font-size:1rem; color:#a1b0c5; line-height:1.65; margin:0; }
.connection-footnote { color:#8495ae; font-size:.875rem; margin:23px 0 0; }
.founder-section { display:grid; grid-template-columns:1.1fr 1fr; background:#d8c6a6; color:#161a20; }
.founder-image { min-height:460px; }
.founder-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.founder-copy { padding:65px clamp(30px,5vw,80px); align-self:center; }
.founder-copy .eyebrow { color:#575044; }
.founder-copy h2 { margin:0 0 24px; }
.founder-copy p { color:#43403b; }
.founder-copy>strong { display:block; font-size:.875rem; margin-top:24px; }
.founder-copy .text-link { color:#143963; }
.home-page .pilot { background:#0a2f69; }
.home-page .pilot::before { display:none; }
.home-page .pilot-card { background:#e8ded0; box-shadow:none; border:0; border-radius:12px; }
.home-page .pilot-card .button { background:#103d7b; }
@keyframes scene-in { from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)} }
@keyframes coverage-in { from {transform:scaleX(0)} to {transform:scaleX(1)} }
@keyframes demo-timer { to {width:100%} }
@media(min-width:1450px) { .home-page .hero { padding-top:170px; padding-bottom:96px; } }
@media(max-width:1150px) { .home-page .hero-grid { gap:35px; }.home-page .site-nav{gap:13px}.home-page .brand img{width:185px}.home-page .product-grid{gap:50px}.home-page h1{font-size:4.3rem}.home-page .hero-actions .button{padding:12px 15px}.home-page .hero{padding-top:140px} }
@media(max-width:950px) { .home-page .menu-button{display:block}.home-page .site-nav{display:none;position:absolute;top:88px;inset-inline:20px;flex-direction:column;align-items:stretch;background:#0c1625;border:1px solid #34435a;padding:22px;border-radius:10px;gap:18px}.home-page .site-nav.open{display:flex}.home-page .hero-grid{grid-template-columns:1fr 1fr;gap:26px}.home-page h1{font-size:3.4rem}.home-page .hero-intro{font-size:1rem}.demo-app-header{padding:20px 18px}.demo-scene{padding:20px 18px}.demo-tabs{padding-inline:18px}.demo-panels{min-height:383px}.demo-scene h2{font-size:1.4rem}.demo-data{font-size:.75rem}.demo-app-header{flex-wrap:wrap}.home-page .product-grid{gap:32px}.stock-calculator{padding:24px}.connection-grid{gap:12px}.connection-card{padding:20px}.founder-section{grid-template-columns:1fr 1fr}.founder-copy{padding:48px 28px}.home-page .pilot-grid{gap:38px} }
@media(max-width:720px) { .home-page .shell{width:calc(100% - 36px)}.home-page .hero{padding:128px 0 48px}.home-page .hero-grid{grid-template-columns:1fr;gap:45px}.home-page h1{font-size:clamp(2.85rem,9vw,4rem)}.home-page .hero-intro{font-size:1.0625rem}.home-page .hero-actions{gap:12px}.hero-story{margin-top:25px}.demo-stage{justify-self:center;max-width:480px}.demo-panels{min-height:359px}.demo-app-header{flex-wrap:nowrap;padding:23px}.demo-scene{padding:23px}.demo-tabs{padding-inline:23px}.demo-scene h2{font-size:1.55rem}.demo-app{border-radius:15px}.home-page .principle-grid{grid-template-columns:1fr}.home-page .principle-grid>div{border-inline:0;border-bottom:1px solid #253247;padding:20px 0}.home-page .principle-grid>div:last-child{border-bottom:0}.home-page .section{padding:65px 0}.home-page .section-heading{margin-bottom:35px}.home-page .pillar-grid{grid-template-columns:1fr;gap:0}.home-page .pillar{min-height:auto;padding:25px 0 !important}.home-page .product-grid,.home-page .pilot-grid{grid-template-columns:1fr;gap:36px}.home-page .section-heading h2,.home-page .product-copy h2,.home-page .pilot-copy h2,.founder-copy h2{font-size:2.55rem}.connection-grid{grid-template-columns:1fr;gap:16px}.connection-card{padding:24px}.connection-number{margin-top:20px}.founder-section{grid-template-columns:1fr}.founder-image{min-height:0;aspect-ratio:16/10}.founder-copy{padding:45px 24px}.home-page .pilot{padding:65px 0}.home-page .pilot-card{padding:28px}.home-page .footer-grid{gap:28px}.home-page .demo-topline{font-size:.75rem} }
@media(max-width:380px) { .demo-app-header{padding:19px 16px}.demo-tabs{padding-inline:16px}.demo-scene{padding:20px 16px}.demo-wordmark>span{font-size:.8125rem}.stock-calculator{padding:20px}.calc-metrics{gap:10px}.home-page .hero-actions{flex-direction:column}.home-page h1{font-size:2.8rem}.demo-panels{min-height:385px} }
@media(prefers-reduced-motion:reduce) { .home-page *,.home-page *::before,.home-page *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.motion-button{display:none}.demo-progress{display:none} }

/* Pilot terms and example picker share the established type scale and colours. */
.pilot-terms { margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.pilot-terms h3 { font-size:1.25rem; margin:0 0 18px; }
.pilot-terms dl { margin:0; display:grid; grid-template-columns:minmax(120px,.6fr) 1.5fr; gap:12px 20px; }
.pilot-terms dt { font-weight:650; color:#f1e4d2; }
.pilot-terms dd { margin:0; color:#bcc6d5; }
.pilot-data-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; color:#b9c3d2; }
.pilot-data-grid p { margin:0 0 16px; }
.pilot-evidence { background:#09111d; }
.scenario-picker { display:grid !important; gap:8px; margin:18px 0 !important; font-size:.875rem; }
.scenario-picker select { width:100%; min-height:46px; background:#14233a; color:#f1e4d2; border:1px solid #566a86; border-radius:8px; padding:10px 12px; font:inherit; }
.home-page .pilot-data a { text-decoration:underline; text-underline-offset:4px; }
[dir=rtl] .pilot-terms, [dir=rtl] .pilot-data-grid, [dir=rtl] .scenario-picker { text-align:start; }
[dir=rtl] .contact-lines a, [dir=rtl] .calc-total strong, [dir=rtl] #stock-value { unicode-bidi:isolate; }
@media(max-width:650px) { .pilot-data-grid { grid-template-columns:1fr; gap:12px; } .pilot-terms dl { grid-template-columns:1fr; gap:5px; } .pilot-terms dd { margin-bottom:13px; } }
