/* Index design system. Shared page templates keep their existing presentation. */
.homepage-preview {
  --ff-head: "Google Sans Flex", Arial, sans-serif;
  --ff-body: "Google Sans Flex", Arial, sans-serif;
  --odx-bg: #fafaf8; --odx-surface: #fff; --odx-surface-raised: #fff;
  --odx-soft: #f0f0ec; --odx-ink: #151618; --odx-muted: #505158;
  --odx-subtle: #606168; --odx-border: #d8d8d2; --odx-brand: #ff652b;
  --odx-accent: #b5370a; --odx-accent-hover: #9b2d07; --odx-on-accent: #fff;
  --odx-accent-soft: #ffe7dc; --odx-success: #116d43; --odx-control-border: #777871;
  --odx-focus: #6633c7; --odx-header: rgba(250,250,248,.96);
  --odx-shadow: 0 22px 60px #1915120b;
  --hero-ground-light: #f4ecdf; --hero-ground: #e3dacb; --hero-ground-side: #c6b39d;
  --hero-roof-light: #4b5058; --hero-roof: #22262d; --hero-paper: #fff;
  --hero-paper-shade: #f1f0ec; --hero-line: #c6c7c1; --hero-detail: #464a51;
  background: var(--odx-bg); color: var(--odx-ink); font-family: var(--ff-body);
}
[data-theme="dark"] .homepage-preview {
  --odx-bg: #07080a; --odx-surface: #0e1013; --odx-surface-raised: #181b20;
  --odx-soft: #101216; --odx-ink: #f7f6f2; --odx-muted: #bbb9c0;
  --odx-subtle: #aaa8b1; --odx-border: #303238; --odx-accent: #ff8a55;
  --odx-accent-hover: #ffab86; --odx-on-accent: #180b04; --odx-accent-soft: #2a1710;
  --odx-success: #6bdaa1; --odx-control-border: #787981; --odx-focus: #d3b4ff;
  --odx-header: rgba(7,8,10,.96); --odx-shadow: 0 22px 60px #0004;
  --hero-ground-light: #373025; --hero-ground: #22241f; --hero-ground-side: #463322;
  --hero-roof-light: #a2a5ac; --hero-roof: #505660; --hero-paper: #272b31;
  --hero-paper-shade: #171a1e; --hero-line: #4e525c; --hero-detail: #c6c8cf;
}
.homepage-preview .wrap { width: min(calc(100% - 96px),1320px); max-width:1320px; }
.homepage-preview main { padding-top:84px; }
.homepage-preview .nav-inner { min-height:84px; }
.homepage-preview .nav-brand img { width:187px; }
.homepage-preview .nav-link { font-size:.84rem; font-weight:600; }
.homepage-preview .btn,.homepage-preview .nav-trial { border-radius:999px; font-weight:700; }
.homepage-preview .btn-yellow,.homepage-preview .nav-trial { background:var(--odx-brand); border-color:var(--odx-brand); color:#180b04; }
.homepage-preview .btn-yellow:hover,.homepage-preview .nav-trial:hover { background:#ff814e; border-color:#ff814e; color:#180b04; filter:none; }
.homepage-preview .btn-lg { min-height:54px; padding:15px 27px; }
.homepage-preview h1,.homepage-preview h2,.homepage-preview h3 { font-family:var(--ff-head); font-weight:720; }
.homepage-preview .section-block { padding-block:110px; }
.homepage-preview .section-title { font-size:clamp(34px,3.65vw,51px); font-weight:730; line-height:1.1; letter-spacing:-.035em; }
.homepage-preview .section-sub { font-size:17px; line-height:1.8; }
.homepage-preview .eyebrow { letter-spacing:.055em; font-size:12px; font-weight:700; text-transform:none; }
.home-hero { padding:66px 0 35px; background:transparent; }
.home-hero__copy { max-width:1120px; }
.home-hero h1 { font-size:clamp(48px,5.55vw,78px); font-weight:800; line-height:1.06; letter-spacing:-.045em; margin-bottom:28px; }
.home-hero h1>span { color:var(--odx-accent); }
.home-kicker { font-size:12px; letter-spacing:.035em; margin-bottom:25px; }
.home-hero__intro { max-width:815px; font-size:17px; line-height:1.8; }
.home-hero__actions { margin:29px 0 57px; }
.home-engine { margin:0; }
.home-engine__intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:22px; border-top:1px solid var(--odx-border); }
.home-engine__intro h2 { font-size:20px; letter-spacing:-.02em; font-weight:650; }
.home-engine__intro>span { color:var(--odx-muted); font-size:13px; white-space:nowrap; }
.home-engine__intro b { color:var(--odx-accent); margin-inline:10px; font-weight:400; }
.home-engine__scenes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.home-engine__scene { min-width:0; position:relative; }
.home-engine__scene:not(:last-child)::after { content:'→'; position:absolute; top:40%; right:-24px; color:var(--odx-accent); font-size:27px; }
.home-engine__scene svg { width:100%; height:auto; display:block; overflow:visible; }
.home-engine__meaning { padding:0 20px 27px; }
.home-engine__meaning>span { display:block; font-size:12px; color:var(--odx-accent); margin-bottom:9px; font-weight:600; }
.home-engine__meaning strong { display:block; color:var(--odx-ink); font-size:23px; font-weight:700; line-height:1.25; letter-spacing:-.025em; }
.home-engine__meaning p { font-size:14px; color:var(--odx-muted); line-height:1.7; margin-top:9px; }
.home-engine figcaption { display:flex; justify-content:space-between; align-items:center; gap:25px; border-top:1px solid var(--odx-border); padding:22px 0 0; color:var(--odx-muted); font-size:11px; line-height:1.7; }
.home-engine__record { font-size:14px; color:var(--odx-ink); font-weight:600; }.home-engine__record>span { color:var(--odx-accent); margin-right:10px; }
.home-engine__controls { display:none; }
.engine-shadow { fill:#14110c; opacity:.08; }[data-theme=dark] .engine-shadow { fill:#000; opacity:.3; }
.engine-ground-side { fill:var(--hero-ground-side); }.engine-service-ground { fill:var(--odx-brand); fill-opacity:.15; stroke:var(--odx-accent); stroke-width:1.2; }
.engine-paving { fill:color-mix(in srgb,var(--odx-surface) 50%,var(--hero-line)); }.engine-building-shadow { fill:#000; opacity:.12; }
.engine-wall-front { fill:#ece8de; }.engine-wall-side { fill:#c6c7c1; }.engine-roof-back { fill:var(--hero-roof-light); }.engine-roof-side { fill:var(--hero-roof); }
.engine-window { fill:#576272; }.engine-door { fill:#3b414b; }.engine-measure-lines { stroke:var(--odx-accent); stroke-width:1.3; fill:none; }.engine-corner-mark { fill:none; stroke:var(--hero-line); stroke-width:1.2; }
.engine-paper-back { fill:color-mix(in srgb,var(--hero-line) 65%,var(--odx-bg)); }.engine-paper-edge { fill:color-mix(in srgb,var(--hero-paper) 65%,var(--hero-line)); stroke:var(--hero-line); }
.engine-paper-fold { fill:var(--hero-line); }.engine-document-label { font:600 11px var(--ff-body); fill:var(--hero-detail); letter-spacing:1px; }
.engine-price { font:750 49px var(--ff-body); fill:var(--odx-ink); letter-spacing:-2px; }.engine-price-unit { font-size:17px; letter-spacing:0; font-weight:500; }
.engine-document-rule { fill:none; stroke:var(--hero-line); }.engine-document-note { font:500 13px var(--ff-body); fill:var(--odx-muted); }.engine-signature { fill:none; stroke:var(--odx-accent); stroke-width:2.5; stroke-linecap:round; }
.engine-street-context { stroke:var(--hero-line); stroke-width:1.1; fill:none; }.engine-route-under { stroke:var(--hero-line); stroke-width:14; stroke-linecap:round; fill:none; opacity:.4; }
.engine-stop circle { fill:var(--hero-paper); stroke:var(--odx-accent); stroke-width:2.5; }.engine-stop text { font:700 16px var(--ff-body); fill:var(--odx-ink); text-anchor:middle; }
.engine-clock { fill:var(--hero-paper); stroke:var(--hero-line); stroke-width:2; }.engine-clock-hands { fill:none; stroke:var(--odx-accent); stroke-width:2.5; stroke-linecap:round; }
.engine-kit-top { fill:#ffb780; }.engine-kit-front { fill:#e76b31; }.engine-kit-side { fill:#aa3e16; }.engine-kit-tape { fill:none; stroke:#733717; stroke-width:5; }
.home-hero__assurances { gap:38px; font-size:12px; padding-top:38px; }
.homepage-preview .stats-band { padding-block:38px; background:var(--odx-soft); border-block:1px solid var(--odx-border); }
.homepage-preview .stat-num { font:750 46px/1.1 var(--ff-head); letter-spacing:-.04em; color:var(--odx-ink); }.homepage-preview .stat-num em { color:var(--odx-accent); }
.homepage-preview .stat-label { font-size:13px; font-weight:650; }.homepage-preview .stat-sub { font-size:12px; }
.homepage-preview .feature-strips { padding-top:108px; }.homepage-preview .feature-strips>.wrap>.section-hdr { margin-bottom:66px; max-width:960px; }
.homepage-preview .fstrip { padding-block:82px; gap:80px; }.homepage-preview .fstrip__copy h2 { font-size:clamp(30px,2.85vw,40px); font-weight:750; letter-spacing:-.035em; line-height:1.12; }
.homepage-preview .fstrip__copy>p { font-size:16px; line-height:1.8; }.homepage-preview .check-list li { font-size:14px; line-height:1.6; }.homepage-preview .inline-explore { font-size:14px; }
.homepage-preview .architecture-band,.homepage-preview .home-lifecycle-section { background:var(--odx-soft); }
.homepage-preview .architecture-band .section-title,.homepage-preview .truth-card h3 { color:var(--odx-ink); }.homepage-preview .architecture-band .section-sub,.homepage-preview .truth-card p { color:var(--odx-muted); }
.homepage-preview .depth-group>summary { font-size:19px; padding-block:27px; }.homepage-preview .depth-group__content h3 { font-size:16px; }.homepage-preview .depth-group__content p { font-size:14px; line-height:1.75; }
.homepage-preview .truth-grid { gap:40px 32px; }.homepage-preview .truth-card p { font-size:14px; line-height:1.75; }.homepage-preview .truth-card h3 { font-size:21px; }
.homepage-preview .integration-lead h2 { font-size:clamp(34px,3.5vw,48px); }.homepage-preview .integration-lead>p { font-size:16px; line-height:1.8; }
.homepage-preview .integration-item h3 { font-size:16px; }.homepage-preview .integration-item p { font-size:13px; }.homepage-preview .integration-item { padding-block:25px; }
.homepage-preview .integration-foot { padding:30px; background:var(--odx-soft); border-radius:0; border-left:3px solid var(--odx-brand); }.homepage-preview .integration-foot p { color:var(--odx-muted); font-size:14px; }
.homepage-preview .lifecycle-step h3 { font-size:20px; }.homepage-preview .lifecycle-step p { font-size:14px; line-height:1.7; }
.homepage-preview .scale-grid { background:transparent; border:0; border-top:1px solid var(--odx-border); border-radius:0; padding:35px 0 0; }.homepage-preview .scale-card__num { font-size:52px; color:var(--odx-accent); }.homepage-preview .scale-card h3 { font-size:20px; }.homepage-preview .scale-card p { font-size:14px; line-height:1.8; }
.homepage-preview .industry-cloud__grid { gap:0 28px; }.homepage-preview .ind-pill { justify-content:flex-start; padding:23px 0; border:0; border-bottom:1px solid var(--odx-border); background:transparent; border-radius:0; font-size:15px; box-shadow:none; }.homepage-preview .ind-pill:hover { color:var(--odx-accent); background:transparent; }
.homepage-preview .faq-question { font-size:17px; padding-block:24px; }.homepage-preview .faq-answer__inner { font-size:15px; line-height:1.8; }
.homepage-preview .promo-band { background:var(--odx-soft); color:var(--odx-ink); }.homepage-preview .promo-band__text h2 { color:var(--odx-ink); font-size:clamp(36px,3.9vw,54px); line-height:1.08; }.homepage-preview .promo-band__text .eyebrow { color:var(--odx-accent); }.homepage-preview .promo-band__text p { color:var(--odx-muted); font-size:16px; line-height:1.8; }.homepage-preview .promo-band .btn { background:var(--odx-brand); color:#180b04; }
.homepage-preview .site-footer { background:#07080a; }.homepage-preview .footer-heading { font-weight:700; }.homepage-preview .footer-link { color:#bbb9c0; }
@media(max-width:1100px){.homepage-preview .wrap{width:calc(100% - 64px)}.homepage-preview .fstrip{gap:42px}.home-engine__meaning{padding-inline:6px}.home-engine__meaning strong{font-size:20px}.home-engine__scenes{gap:20px}.home-engine__scene:not(:last-child)::after{right:-17px}.home-hero h1{font-size:60px}}
@media(max-width:800px){.homepage-preview .wrap{width:calc(100% - 40px)}.homepage-preview .section-block{padding-block:75px}.home-hero{padding-top:40px}.home-hero h1{font-size:48px}.home-hero__intro{font-size:16px}.homepage-preview .fstrip{gap:30px;padding-block:55px}.homepage-preview .fstrip__copy h2{font-size:34px}.homepage-preview .feature-strips{padding-top:75px}.home-engine__intro{align-items:flex-start}.home-engine__intro h2{font-size:18px}.home-engine__intro>span{font-size:11px}.home-engine figcaption{align-items:flex-start;flex-direction:column;gap:7px}.home-hero__assurances{gap:18px 24px}.homepage-preview .stat-num{font-size:37px}.homepage-preview .scale-card{padding-inline:22px}}
@media(max-width:700px){.home-engine__scenes{grid-template-columns:1fr;gap:24px}.home-engine__scene{max-width:440px;width:100%;margin:auto}.home-engine__scene::after{display:none}.home-engine--enhanced .home-engine__scene:not(.is-active){display:none}.home-engine__meaning{padding:0 10px 22px}.home-engine__meaning strong{font-size:24px}.home-engine__meaning p{font-size:14px}.home-engine__controls{display:grid;grid-template-columns:repeat(3,1fr);margin:4px 0 22px;border-block:1px solid var(--odx-border)}.home-engine__controls button{padding:14px 3px;min-height:50px;background:none;border:0;color:var(--odx-muted);font:600 12px var(--ff-body);cursor:pointer}.home-engine__controls button span{margin-left:4px}.home-engine__controls button[aria-pressed=true]{color:var(--odx-accent);box-shadow:inset 0 -2px var(--odx-accent)}.home-engine__intro>span{display:none}.home-engine figcaption{padding-top:0;border:0}.home-hero__actions{margin-bottom:35px}.home-hero__assurances{font-size:11px}.homepage-preview .section-title{font-size:34px}.homepage-preview .section-sub{font-size:16px}}
@media(max-width:480px){.homepage-preview .wrap{width:calc(100% - 36px)}.homepage-preview main{padding-top:78px}.homepage-preview .nav-inner{min-height:78px}.home-hero{padding-top:32px}.home-hero h1{font-size:40px;line-height:1.07;letter-spacing:-.04em}.home-hero__intro{font-size:15px;line-height:1.75}.home-kicker{max-width:300px;font-size:11px}.home-hero__actions{gap:19px}.home-hero__actions .btn-lg{padding:14px 22px;font-size:14px}.home-text-link{font-size:13px}.home-engine__intro h2{font-size:18px}.home-engine__record{font-size:13px}.home-hero__assurances>span{font-size:11px}.homepage-preview .stats-band{padding-block:30px}.homepage-preview .stat-num{font-size:35px}.homepage-preview .fstrip__copy h2{font-size:31px}.homepage-preview .fstrip__copy>p{font-size:15px}.homepage-preview .check-list li{font-size:13px}.homepage-preview .scale-card{padding:28px 0}.homepage-preview .ind-pill{font-size:13px;padding-block:20px}.homepage-preview .faq-question{font-size:16px}.homepage-preview .section-title{font-size:32px}}
@media(max-width:360px){.homepage-preview .nav-brand img{width:160px}}
@media(prefers-reduced-motion:reduce){.home-engine *{animation:none!important;transition:none!important}}
