/* Scan2openBIM 3.0 · Cobalto como única identidad. */
html[data-theme=blue]{--paper:#f2f5ff;--ink:#14294f;--body:#53627f;--muted:#687594;--line:#d8e1f5;--accent:#2459dd;--mint:#a3c9ff;--dark:#091730;--surface:#fff;--soft:#eef3ff;--border:#d3ddf3}
html[data-theme=blue] .site-header{background:#0a1630;color:#edf4ff;border-color:#273653}html[data-theme=blue] .site-header .button-dark{background:#3168f2;color:white}html[data-theme=blue] .brand-two{color:#80b9ff}html[data-theme=blue] .hero{background:#0a1630;color:#edf4ff;position:relative}html[data-theme=blue] .hero-grid{grid-template-columns:1.03fr 1.05fr;gap:52px;padding-top:68px;padding-bottom:48px}html[data-theme=blue] .hero h1{font-size:clamp(58px,5.6vw,84px);font-weight:570;letter-spacing:-4px}html[data-theme=blue] .hero h1 span{color:#87b7ff}html[data-theme=blue] .hero-description{color:#b5c4df}html[data-theme=blue] .hero .eyebrow{color:#9bc3ff}html[data-theme=blue] .hero .button-dark{background:#3974ff;color:#fff;border-radius:35px;padding-inline:25px}html[data-theme=blue] .hero .hero-scope p,html[data-theme=blue] .hero .hero-scope strong{color:#bccde7}html[data-theme=blue] .hero .scope-icon{border-color:#364969;color:#9ec6ff}html[data-theme=blue] .hero-quote-link{color:#bbd3fc}html[data-theme=blue] .hero-quote-link>span{border-color:#364969}html[data-theme=blue] .hero-visual{height:520px;transform:perspective(1800px) rotateY(-5deg);border:1px solid #416393;border-radius:22px;background:#122950;box-shadow:0 30px 70px #0007}html[data-theme=blue] .capability-strip{border-color:#314365;color:#d3e3ff}html[data-theme=blue] .capability-strip>span{color:#94abc9}html[data-theme=blue] .hero-viewer-bottom{background:#0f2445}html[data-theme=blue] .hero-viewer-top{color:#abc9ef}html[data-theme=blue] .hero-coordinate{color:#96b3d7}html[data-theme=blue] .float-tag{background:#132f58;border-color:#466895}html[data-theme=blue] .service-card{border-radius:18px;box-shadow:0 10px 35px #16284605}html[data-theme=blue] .service-card h3{font-weight:600}html[data-theme=blue] .calc-layout{grid-template-columns:minmax(300px,1fr) minmax(0,1.7fr)}html[data-theme=blue] .calc-layout>div:first-child{grid-column:2}html[data-theme=blue] .calc-summary{grid-column:1;grid-row:1;background:linear-gradient(155deg,#164fcb,#091a44);border-color:#2459dd}html[data-theme=blue] .calc-card{border-radius:20px}html[data-theme=blue] .calc-summary p{color:#c5d9ff}html[data-theme=blue] .summary-eyebrow,html[data-theme=blue] .estimate-row dt{color:#c5d9ff}html[data-theme=blue] .button{border-radius:24px}html[data-theme=blue] .theme-aside{display:block;padding:10px 18px;position:absolute;right:15px;top:57px;border:1px solid #446595;border-radius:25px;color:#d3e5ff;font:9px var(--mono)}html[data-theme=blue] .hero-coordinate{top:70px}html[data-theme=blue] .process-step{border-radius:14px}

/* Arquitectura multipágina; información secundaria bajo demanda. */
:root { --max:1280px; --sans:Inter,"Aptos","Segoe UI",Arial,sans-serif; --soft:#edf3ff; --body:#465a79; --radius:18px; }
html { scroll-padding-top:100px; }
body { font-size:17px; line-height:1.65; background:#f5f7fc; }
button, input, select, textarea { font:inherit; }
p { text-wrap:pretty; }
h1,h2,h3 { text-wrap:balance; }
button:focus-visible, a:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline:3px solid #78a9ff; outline-offset:4px; }
:where(p,li,dd,dt,small,span,h1,h2,h3,h4) { overflow-wrap:break-word; }
:where(.calc-layout,.hero-grid,.application-panel,.contact-grid,.inventory-layout)>* { min-width:0; }
.icon { flex-shrink:0; }
.button { min-height:48px; font-size:16px; line-height:1.4; padding:13px 23px; gap:10px; border-radius:999px; text-align:center; }
.button-small { font-size:15px; min-height:46px; }
.text-button,.card-link { font-size:16px; line-height:1.5; min-height:44px; }
.eyebrow { font-size:12px; letter-spacing:1.35px; line-height:1.6; }
.stage-label { font-size:12px; line-height:1.6; padding:7px 11px; letter-spacing:.5px; }
.wrap,.nav-shell { width:min(var(--max),calc(100% - 96px)); }
.site-header { position:sticky; top:0; z-index:80; }
.nav-shell { min-height:82px; padding-block:14px; }
.brand-word { font-size:24px; letter-spacing:-1px; white-space:nowrap; }
.brand-mark { width:34px; height:36px; }
.main-nav { gap:25px; }
.main-nav>a { font-size:14px; line-height:1.5; white-space:nowrap; min-height:44px; display:inline-flex; align-items:center; }
.main-nav>a:not(.button) { color:#d0ddf5; border-bottom:2px solid transparent; padding:10px 0; }
.main-nav>a[aria-current="page"]:not(.button),.main-nav>a:hover:not(.button) { color:#fff; border-color:#80afff; }
.main-nav .nav-cta { margin-left:8px; font-size:14px; padding:12px 18px; }
.main-nav .nav-cta .icon { width:17px; height:17px; }
.menu-toggle { color:#fff; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:12px; padding-block:24px 0; font-size:13px; color:#687a95; }
.breadcrumb a { color:#235ad8; }
.breadcrumb+a { display:none; }
.section-nav { background:white; border-bottom:1px solid #dce5f7; }
.section-nav .wrap { display:flex; gap:30px; }
.section-nav a { padding:17px 0 14px; font-size:14px; color:#596c8c; border-bottom:3px solid transparent; }
.section-nav a[aria-current] { color:#2459dd; border-bottom-color:#2459dd; font-weight:600; }
.section { padding:72px 0; }
.section-heading { gap:56px; margin-bottom:38px; align-items:end; }
.section-heading h1 { font-size:clamp(36px,3.6vw,52px); line-height:1.12; font-weight:580; letter-spacing:-1.9px; margin-top:17px; }
.section-heading h2,h2 { font-size:clamp(30px,2.8vw,40px); line-height:1.2; font-weight:550; letter-spacing:-1.1px; }
.section-heading p:not(.eyebrow),.heading-aside p,.section-intro { font-size:17px; line-height:1.8; max-width:540px; }
.section-heading .eyebrow { max-width:none; }
html[data-theme=blue] .hero-grid { grid-template-columns:1.02fr 1fr; gap:55px; padding-top:56px; padding-bottom:52px; }
html[data-theme=blue] .hero h1 { font-size:clamp(56px,5.2vw,76px); line-height:1.08; letter-spacing:-3px; font-weight:550; margin:22px 0; }
html[data-theme=blue] .hero h1 span { color:#85b6ff; }
html[data-theme=blue] .hero .hero-description { font-size:18px; line-height:1.78; max-width:560px; }
.hero-actions { margin-top:27px; gap:24px; }
.hero .text-button { color:#e2edff; }
.hero-quote-link { margin-top:16px; display:flex; flex-wrap:wrap; gap:6px 12px; font-size:13px; }
.hero-quote-link>span { font-size:11px; letter-spacing:.2px; }
.hero-scope { margin-top:27px; }
.hero-scope p { font-size:14px; line-height:1.7; }
html[data-theme=blue] .hero-visual { height:462px; transform:none; border-radius:20px; border:1px solid #385984; background:radial-gradient(ellipse at 45% 45%,#153869,#0c2043); box-shadow:0 24px 60px #0004; }
.hero-visual canvas { width:100%; height:100%; }
.hero-viewer-top { font-size:10px; letter-spacing:.5px; top:23px; left:22px; right:22px; }
html[data-theme=blue] .hero-coordinate { top:68px; font-size:11px; left:23px; }
.float-tag { right:20px; bottom:78px; padding:12px 15px; }
.float-tag>div { font-size:14px; }
.float-tag>div>span { font-size:12px; color:#bbd1f0; line-height:1.5; margin-top:2px; }
.hero-viewer-bottom { font-size:11px; line-height:1.6; gap:12px; }
.hero .eyebrow { font-size:12px; }
.overview-v3 { background:#fff; padding-top:68px; }
.intro-row { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:end; margin-bottom:33px; }
.intro-row h2 { margin-top:14px; }
.intro-row>p { font-size:17px; line-height:1.85; }
.path-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.path-card { display:flex; flex-direction:column; border:1px solid #dce4f5; padding:29px; border-radius:17px; transition:border-color .2s,transform .2s; background:linear-gradient(135deg,#fff,#f8faff); }
.path-card:hover { border-color:#77a4fd; transform:translateY(-3px); }
.path-index { font-size:11px; color:#4874c7; font-family:var(--mono); letter-spacing:.7px; }
.path-card h3 { font-size:24px; letter-spacing:-.7px; line-height:1.25; margin:24px 0 14px; }
.path-card>p { font-size:16px; line-height:1.75; margin-bottom:25px; }
.path-link { color:#2259d8; display:flex; justify-content:space-between; gap:10px; font-size:14px; font-weight:550; align-items:center; margin-top:auto; }
.home-connection { padding:74px 0 86px; background:#edf2fc; }
.connection-grid { display:grid; grid-template-columns:.93fr 1.07fr; gap:80px; align-items:center; }
.connection-grid h2 { margin:16px 0 22px; }
.connection-grid>div>p:not(.eyebrow) { font-size:17px; line-height:1.85; }
.connection-grid .text-button { margin-top:18px; color:#2459dd; }
.connection-map { padding:28px; background:#fff; border:1px solid #d3dff5; border-radius:22px; box-shadow:0 18px 40px #173f7410; }
.connection-core { padding:23px; text-align:center; background:#0e2451; border-radius:12px; color:#e0ecff; display:flex; flex-direction:column; gap:7px; }
.connection-core strong { font-size:25px; letter-spacing:-.5px; }
.connection-core>span:last-child { color:#b9ceee; font-size:14px; }
.tiny-label { font:11px/1.65 var(--mono); letter-spacing:.6px; }
.connection-core .tiny-label { color:#9bbffc; }
.connection-branches { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding-top:25px; position:relative; }
.connection-branches>div { border:1px solid #dce5f6; background:#f7faff; padding:13px 10px; text-align:center; border-radius:10px; position:relative; }
.connection-branches>div:before { content:""; height:26px; width:1px; position:absolute; top:-26px; left:50%; background:#b1c8ed; }
.connection-branches strong { display:block; font-size:15px; }
.connection-branches>div>span { display:block; font:11px var(--mono); color:#4c77c7; margin-bottom:8px; }
.connection-branches p { font-size:12px; line-height:1.7; margin-top:8px; }
.connection-map .connection-disclaimer { font-size:12px; text-align:center; margin-top:17px; color:#627796; }
/* Existing content, cleaner cards and more generous text. */
.service-card { padding:28px; }
.service-card h3 { font-size:25px; line-height:1.3; letter-spacing:-.7px; }
.service-card>p { font-size:16px; line-height:1.8; }
.card-number { font-size:14px; }
.card-number span { font-size:12px; }
.feature-visual { height:180px; margin:20px 0; }
.mini-label,.mini-window-bar span,.mini-window-bottom { font-size:11px; }
.mini-property { font-size:14px; }
.mini-property.secondary { font-size:12px; }
.offer-card p { font-size:16px; line-height:1.8; }
.offer-card h3 { font-size:26px; }
.offer-card .offer-unit { font-size:14px; }
.offer-note,.process-note { font-size:14px; line-height:1.8; }
.capability-strip { margin-bottom:30px; padding-block:22px; gap:22px; flex-wrap:wrap; color:#273e66; border-color:#cddbf1; }
.capability-strip>span { font-size:11px; color:#576d91; }
.capability-strip>div { font-size:14px; }
.experience-section { padding-block:55px 52px; }
.experience-section h1,.experience-section h2 { color:#edf4ff; }
.demo-shell { border-radius:18px; }
.demo-stage { height:520px; }
.demo-topbar { padding:18px 23px; }
.demo-topbar>div { font-size:15px; }
.demo-topbar small { font-size:11px; }
.view-switch button { font-size:14px; min-height:44px; padding-inline:17px; }
.demo-label { font-size:12px; }
.demo-properties { background:#122c51ec; width:235px; padding:20px; }
.demo-properties>p { font-size:10px; }
.demo-properties h4 { font-size:18px; }
.demo-properties dl { font-size:13px; }
.demo-properties>span { font-size:11px; }
.demo-tools button { width:44px; height:44px; }
.compare-legend { font-size:11px; }
.demo-status { font-size:12px; line-height:1.65; }
.experience-features>div { font-size:14px; }
.duo-info { display:grid; grid-template-columns:1.1fr .9fr; gap:60px; }
.duo-info h2 { margin:14px 0 20px; }
.duo-info p { font-size:17px; line-height:1.85; }
.soft-note { background:#eaf1ff; padding:30px; border-radius:15px; }
.soft-note h3 { font-size:23px; margin-bottom:15px; }
.soft-note .card-link { display:flex; margin-top:18px; }
.compact-section { padding-block:58px; }
.application-tabs button { font-size:17px; min-height:60px; }
.application-panel { gap:70px; padding:40px 0 58px; }
.app-copy>p { font-size:17px; line-height:1.85; }
.app-copy h3 { font-size:34px; }
.app-deliverables { font-size:15px; gap:10px; }
.art-caption { font-size:11px; }
.openbim-grid { gap:65px; }
.openbim-copy h1 { font-size:clamp(36px,3.7vw,52px); line-height:1.16; letter-spacing:-1.8px; margin:20px 0 24px; }
.openbim-copy>p:not(.eyebrow) { font-size:17px; line-height:1.85; }
.openbim-benefits h3 { font-size:18px; }
.openbim-benefits p { font-size:15px; }
.req-top { font-size:12px; }
.req-row { font-size:15px; gap:20px; }
.req-footer p { font-size:14px; }
.req-footer strong { font-size:19px; }
.format-chips span { font-size:14px; }
.req-caption,.openbim-note { font-size:14px; line-height:1.8; }
.process-grid { margin-top:38px; }
.process-grid h3 { font-size:23px; }
.process-grid p { font-size:16px; line-height:1.85; }
.step-number { font-size:14px; width:44px; height:44px; }
.step-output { font-size:12px; line-height:1.7; }
.calc-audit { margin-block:30px 32px; }
.calc-audit h3 { font-size:20px; }
.calc-audit p { font-size:16px; line-height:1.85; }
.faq-list summary { font-size:18px; line-height:1.6; padding-block:23px; gap:16px; }
.faq-list details p { font-size:16px; line-height:1.85; }
.next-section { background:#fff; padding:42px 0 64px; }
.next-card { display:flex; justify-content:space-between; align-items:center; gap:40px; background:#edf3ff; padding:34px 38px; border-radius:20px; border:1px solid #dce6fb; }
.next-card>div { max-width:760px; }
.next-card h2 { font-size:29px; margin:11px 0; }
.next-card p:not(.eyebrow) { font-size:16px; }
.next-card>.button { flex-shrink:0; }
/* New data and inventory experience. */
.data-intro { padding:46px 0 55px; background:#f5f7fc; }
.data-lead { display:grid; grid-template-columns:1.03fr .97fr; gap:72px; align-items:center; margin-top:18px; }
.data-lead h1 { font-size:clamp(38px,4vw,58px); line-height:1.12; letter-spacing:-2px; font-weight:550; }
.data-lead .lead { font-size:18px; line-height:1.85; }
.data-lead .stage-label { margin-top:17px; font-size:11px; }
.data-pillars { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d5e0f2; margin-top:39px; padding-top:24px; gap:35px; }
.data-pillars>article { position:relative; padding-left:42px; }
.data-pillars>article>span { position:absolute; left:0; top:1px; color:#3165d3; font:13px var(--mono); padding:4px 0; }
.data-pillars h2 { font-size:19px; line-height:1.4; letter-spacing:-.3px; margin-bottom:9px; }
.data-pillars p { font-size:15px; line-height:1.85; }
.inventory-section { background:#0a1832; color:#e7efff; padding:46px 0 54px; }
.inventory-topline { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:26px; }
.inventory-topline h2 { font-size:32px; margin-top:10px; }
.inventory-topline .eyebrow { color:#8fbbff; }
.demo-chip { display:inline-block; color:#abc4ec; font-size:12px; background:#14294b; padding:9px 13px; border:1px solid #294365; border-radius:99px; }
.inventory-workspace { border:1px solid #34496b; border-radius:19px; overflow:hidden; background:#fff; box-shadow:0 25px 70px #0002; }
.inventory-toolbar { display:flex; justify-content:space-between; gap:20px; align-items:center; background:#122a4b; padding:16px 23px; }
.inventory-toolbar>div { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.inventory-toolbar strong { font-size:15px; font-weight:550; }
.workspace-sub { color:#9fbae0; font-size:13px; }
.workspace-dot { width:8px; height:8px; background:#86b4ff; border-radius:100%; display:block; }
.inventory-toolbar .button { color:#e1ecff; border:1px solid #4a648a; font-size:13px; min-height:40px; }
.inventory-layout { display:grid; grid-template-columns:282px minmax(0,1fr); color:#172f56; }
.inventory-list { background:#f2f6fe; padding:24px 15px; border-right:1px solid #dfe7f6; }
.panel-label { color:#587098; font:11px/1.7 var(--mono); letter-spacing:.5px; }
.inventory-list>.panel-label { padding:0 10px; margin-bottom:16px; }
.asset-select { display:flex; align-items:center; gap:11px; width:100%; background:none; border:1px solid transparent; border-radius:11px; padding:14px 10px; text-align:left; color:#19365f; min-height:83px; margin-bottom:5px; }
.asset-select>span:nth-child(2) { min-width:0; flex:1; }
.asset-select>span:last-child { color:#316fe0; font-size:18px; }
.asset-select.is-selected { background:white; border-color:#93b4f4; box-shadow:0 4px 12px #12459808; }
.asset-select:hover { background:#e8effe; }
.asset-select strong { font-size:14px; line-height:1.5; font-weight:550; display:block; }
.asset-select small { font:11px/1.65 var(--mono); color:#7183a0; display:block; margin-top:4px; }
.asset-type-icon { width:33px; height:35px; background:#e6efff; border:1px solid #cbdbf8; border-radius:8px; display:grid; place-items:center; font:12px var(--mono); flex-shrink:0; color:#467ace; }
.inventory-list-note { border-top:1px solid #dce5f4; margin:22px 9px 0; padding-top:21px; }
.inventory-list-note .tiny-label { color:#536e98; font-size:10px; }
.inventory-list-note p { font-size:13px; line-height:1.9; color:#637b9e; margin-top:9px; }
.asset-workarea { padding:26px 30px; min-width:0; }
.asset-record-heading { display:flex; gap:20px; justify-content:space-between; align-items:center; margin-bottom:22px; }
.asset-record-heading h3 { margin-top:7px; font-size:27px; line-height:1.25; letter-spacing:-.7px; }
.record-badge { background:#e9f0ff; padding:5px 10px; border:1px solid #d7e4fd; border-radius:6px; color:#375fa2; font-size:11px; white-space:nowrap; }
.data-tabs { display:flex; gap:25px; border-bottom:1px solid #dce5f4; margin-bottom:24px; }
.data-tabs button { font-size:14px; color:#687c9c; background:none; border:0; border-bottom:2px solid transparent; padding:11px 0 13px; min-height:45px; }
.data-tabs button[aria-selected="true"] { color:#2459dd; border-bottom-color:#2459dd; font-weight:600; }
.inventory-detail-grid { display:grid; grid-template-columns:1.13fr .87fr; gap:28px; }
.visual-reference { background:#f4f7fc; border:1px solid #dce6f7; border-radius:12px; padding:17px; }
.reference-heading { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; align-items:center; }
.reference-heading .tiny-label { font-size:10px; color:#5a75a0; }
.reference-heading>span:last-child { font-size:11px; color:#7285a2; }
.asset-plan { height:174px; margin:15px 0; position:relative; border-radius:6px; background-image:linear-gradient(#ccdaef75 1px,transparent 1px),linear-gradient(90deg,#ccdaef75 1px,transparent 1px); background-size:17px 17px; display:grid; place-items:center; }
.plan-building { position:relative; height:115px; width:80%; border:3px solid #7899c8; background:#eaf0fa80; }
.plan-wall { position:absolute; background:#9eb5d6; display:block; }
.wall-one { left:32%; top:0; width:2px; height:70%; }.wall-two { left:65%; top:35%; width:2px; height:65%; }.wall-three { left:0; top:69%; width:32%; height:2px; }.wall-four { left:32%; top:34%; width:68%; height:2px; }
.plan-label { position:absolute; color:#7890b1; font:9px var(--mono); }.plan-a { left:7%; top:26%; }.plan-b { right:8%; bottom:21%; }
.plan-door { bottom:-3px; left:42%; width:22%; height:4px; background:#c9d7ec; position:absolute; }
.plan-equipment { position:absolute; width:23px; height:17px; border:2px solid #8fa9d0; top:10%; right:12%; }
.plan-pin { width:31px; height:31px; background:#316ef0; box-shadow:0 0 0 5px #3674ff24; border:2px solid white; border-radius:99px; position:absolute; top:-17px; left:25%; color:#fff; font:11px var(--mono); display:grid; place-items:center; transition:left .2s,top .2s; }
.plan-highlight { position:absolute; height:5px; background:#316ef0; top:-4px; left:0; width:100%; }
.plan-caption { position:absolute; bottom:0; left:0; right:0; text-align:center; background:#f0f5fd; padding:3px; color:#5a779e; font-size:10px; }
.visual-reference>p { font-size:12px; line-height:1.85; color:#687e9d; }
.asset-fields { margin:0; }
.asset-fields>div { padding:10px 0; border-bottom:1px solid #e0e8f6; }
.asset-fields>div:first-child { padding-top:0; }
.asset-fields dt { color:#7788a2; font-size:11px; }
.asset-fields dd { margin:3px 0 0; color:#234467; font-size:14px; line-height:1.6; }
.data-caveat { margin-top:19px; font-size:12px; line-height:1.85; color:#647996; background:#f3f6fc; border-left:3px solid #c5d8fa; padding:11px 15px; }
.inventory-status { display:flex; justify-content:space-between; gap:16px; padding:13px 22px; background:#edf3ff; color:#6480a6; font:11px/1.65 var(--mono); border-top:1px solid #dce5f4; }
.context-description h4 { color:#193c67; font-size:23px; margin:10px 0; letter-spacing:-.5px; }
.context-description p { font-size:15px; line-height:1.8; }
.context-icon { font:10px var(--mono); display:inline-block; padding:4px 8px; color:#386dd0; background:#ebf2ff; border-radius:4px; }
.context-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 26px; margin:17px 0 0; }
.context-fields>div { border-top:1px solid #e0e7f4; padding:12px 0; }
.context-fields dt { font-size:12px; color:#7689a6; }
.context-fields dd { font-size:15px; line-height:1.7; color:#21436d; margin:4px 0 0; }
.method-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.method-grid>article { padding:30px 32px; border:1px solid #d8e2f5; background:#fff; border-radius:17px; }
.method-number { font:11px var(--mono); letter-spacing:.5px; color:#477ad5; }
.method-grid h3 { font-size:26px; margin:22px 0 16px; line-height:1.3; letter-spacing:-.6px; }
.method-grid p { font-size:16px; line-height:1.85; }
.method-grid details { border-top:1px solid #dde6f6; margin-top:23px; padding-top:9px; }
.method-grid summary,.data-implementation summary { cursor:pointer; font-size:15px; min-height:46px; display:flex; gap:16px; align-items:center; justify-content:space-between; color:#275dc5; }
.method-grid summary::-webkit-details-marker,.data-implementation summary::-webkit-details-marker { display:none; }
.method-grid details p { padding-block:14px 4px; }
.data-implementation { margin-top:25px; border:1px solid #d5e1f6; background:#eaf1ff; border-radius:15px; padding:28px 32px; }
.data-implementation h3 { font-size:23px; line-height:1.4; letter-spacing:-.4px; margin-bottom:13px; }
.data-implementation>p { font-size:16px; line-height:1.85; }
.data-implementation details { margin-top:15px; }
.implementation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; padding-top:20px; }
.implementation-grid h4 { font-size:18px; margin-bottom:12px; }
.implementation-grid p { font-size:15px; line-height:1.85; }
/* Calculator: its own screen, compact context and folded secondary details. */
.calculator-section { padding:42px 0 66px; background:#f5f7fc; }
.calculator-section .section-heading h1 { font-size:42px; line-height:1.15; margin-top:13px; }
.calculator-section .section-heading { margin-bottom:28px; }
.calculator-intro { font-size:16px!important; line-height:1.85; }
.demo-warning { padding:16px 22px; margin-bottom:25px; background:#eef3ff; border-color:#cadbfb; border-radius:13px; }
.demo-warning strong { font-size:15px; }.demo-warning p { font-size:14px; line-height:1.75; }
html[data-theme=blue] .calc-layout { grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr); gap:27px; align-items:start; }
html[data-theme=blue] .calc-layout>div:first-child { grid-column:1; }
html[data-theme=blue] .calc-summary { grid-column:2; grid-row:1; background:linear-gradient(150deg,#154da9,#0c254f); padding:27px; position:sticky; top:103px; border:1px solid #315ba6; border-radius:19px; }
.calc-stepper { padding:19px 14px; gap:6px; }
.calc-stepper button { font-size:12px; gap:6px; line-height:1.45; min-height:45px; }
.calc-stepper button span { width:28px; height:28px; font-size:12px; }
.calc-step { padding:28px; }
.calc-step legend { font-size:27px; line-height:1.3; letter-spacing:-.7px; }
.calc-step>p { font-size:16px; line-height:1.85; }
.calc-choice { padding:20px 17px; gap:12px; border-radius:12px; }
.calc-choice:has(input:checked) { padding:19px 16px; }
.calc-choice strong { font-size:17px; line-height:1.45; }
.calc-choice small { font-size:14px; line-height:1.8; }
.calc-choice b { font-size:10px; letter-spacing:.5px; }
.calc-field label { font-size:15px; line-height:1.6; margin-bottom:7px; }
.calc-field small,.calc-inline-note,.calc-help { font-size:14px; line-height:1.85; }
.calc-field input,.calc-field select,.calc-field textarea { font-size:16px; min-height:50px; padding:12px 13px; }
.calc-checks { font-size:15px; }
.calc-checks label { padding-block:5px; min-height:44px; }
.calc-nav { padding:18px 28px; }
.calc-summary .summary-price { font-size:36px; line-height:1.3; letter-spacing:-1.3px; overflow-wrap:anywhere; }
.summary-eyebrow { font-size:11px; }
.scope-tags span { font-size:12px; padding:5px 9px; }
.summary-tax,.summary-note { font-size:13px; line-height:1.85; }
.summary-status { font-size:14px; line-height:1.8; margin-top:20px; }
.summary-actions { margin-top:19px; }
.summary-actions button { font-size:13px; min-height:44px; }
.estimate-breakdown { margin:20px 0; border-block:1px solid #6a8eb65c; }
.estimate-breakdown summary { cursor:pointer; font-size:14px; min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding-block:9px; color:#e8f2ff; }
.estimate-breakdown summary::-webkit-details-marker { display:none; }
.breakdown-content { padding-bottom:14px; }
.estimate-row,.estimate-row.total { font-size:13px; line-height:1.8; }
.estimate-row dd { font-size:14px; }
.save-project { margin-top:15px; border:1px solid #d9e3f7; padding:10px 20px; border-radius:12px; background:white; }
.save-project summary { display:flex; justify-content:space-between; align-items:center; gap:18px; cursor:pointer; font-size:14px; min-height:42px; color:#536d99; }
.save-project summary::-webkit-details-marker { display:none; }
.calc-storage-tools { gap:18px; }
.calc-storage-tools button { font-size:13px; min-height:44px; }
.calc-storage-note { font-size:13px; line-height:1.8; padding-bottom:15px; }
.calculator-footer-link { font-size:14px; line-height:1.8; margin-top:25px; text-align:center; }
.calculator-footer-link a { color:#2459dd; display:inline; }
.calculator-footer-link .icon { display:inline; width:15px; height:15px; vertical-align:middle; }
.calc-review h3 { font-size:22px; }
.review-list li { font-size:15px; line-height:1.8; }
.calc-contact h4 { font-size:20px; }
.calc-request-status { font-size:15px; line-height:1.8; }
.calc-result-actions { flex-wrap:wrap; gap:12px; }
.calc-result-actions .button { font-size:14px; }
.calc-errors { font-size:15px; }
.dialog-inner p { font-size:17px; line-height:1.8; }
/* Contact and footer. */
.contact-section { padding:48px 0 75px; }
.contact-copy h1 { font-size:clamp(38px,4vw,55px); line-height:1.15; margin:20px 0 23px; letter-spacing:-1.8px; font-weight:550; }
.contact-copy h1 span { color:#275fe1; }
.contact-copy>p:not(.eyebrow),.contact-status p { font-size:17px; line-height:1.85; }
.field label { font-size:15px; }
.field input,.field textarea,.field select { font-size:16px; min-height:50px; }
.field-help,.form-note,.privacy-check { font-size:14px; line-height:1.85; }
.need-options span { font-size:14px; min-height:46px; }
.site-footer { background:#0a1630; color:#c5d7f3; border-top:0; padding:46px 0 26px; }
.footer-main { display:grid; grid-template-columns:1.45fr 1fr 1fr 1fr; gap:35px; margin-bottom:32px; }
.footer-brand .brand { color:#e1ecff; }
.footer-brand>p { margin-top:17px; color:#96afcf; font-size:15px; }
.footer-contact { display:flex; align-items:center; gap:10px; font-size:15px; color:#a7c9ff; margin-top:19px; min-height:44px; }
.footer-main nav { display:flex; flex-direction:column; align-items:start; gap:8px; font-size:14px; }
.footer-main nav a { min-height:32px; display:flex; align-items:center; }
.footer-main nav a:hover { color:white; text-decoration:underline; text-underline-offset:5px; }
.footer-heading { font:11px/1.5 var(--mono); letter-spacing:.7px; color:#7e9bc1; margin-bottom:8px; }
.footer-bottom { padding-block:20px; border-color:#2a3b59; gap:25px; }
.footer-bottom p { color:#88a2c5; font-size:13px; }
.footer-bottom nav { font-size:13px; gap:20px; }
.footer-disclaimer { color:#859ebf; font-size:12px; line-height:1.9; margin:0; max-width:1050px; }
.legal-main { padding-top:45px; padding-bottom:60px; }
.legal-main h1 { font-size:42px; line-height:1.25; }
.legal-main p,.legal-main li { font-size:16px; line-height:1.9; }
.preview-switch-note { font-size:13px; padding:10px 20px; text-align:center; background:#e9f1ff; color:#436593; }
.standalone-pages>section.page-view { min-height:300px; }
/* Intermediate desktop: keep the nav readable rather than shrink it. */
@media(max-width:1160px){
 .wrap,.nav-shell { width:calc(100% - 64px); }
 .main-nav { gap:16px; }
 .main-nav>a { font-size:13px; }
 .brand-word { font-size:22px; }
 .main-nav .nav-cta { font-size:13px; padding-inline:14px; margin-left:0; }
 .connection-grid { gap:40px; }
 .hero-grid { gap:35px!important; }
 .inventory-layout { grid-template-columns:250px minmax(0,1fr); }
 .asset-workarea { padding:25px 22px; }
 .inventory-detail-grid { gap:20px; }
 .calc-stepper button { flex-direction:column; padding-block:4px; }
 .calc-stepper { padding-block:13px; }
 html[data-theme=blue] .calc-summary { padding:23px; }
 .calc-summary .summary-price { font-size:31px; }
}
@media(max-width:1000px){
 .menu-toggle { display:flex; width:46px; height:46px; }
 .main-nav { position:absolute; top:100%; left:0; right:0; padding:24px 32px; background:#0d2144; color:white; border-bottom:1px solid #35527b; flex-direction:column; align-items:stretch; gap:8px; display:none; max-height:calc(100dvh - 80px); overflow:auto; }
 .main-nav.is-open { display:flex; }
 .main-nav>a,.main-nav .nav-cta { font-size:17px; min-height:48px; justify-content:flex-start; }
 .main-nav .nav-cta { justify-content:center; margin-top:10px; }
 .hero-grid { grid-template-columns:1fr 1fr!important; }
 html[data-theme=blue] .hero h1 { font-size:58px; }
 html[data-theme=blue] .hero .hero-description { font-size:17px; }
 .hero-actions { align-items:start; flex-direction:column; gap:12px; }
 .hero-viewer-top { flex-direction:column; align-items:start; gap:5px; }
 html[data-theme=blue] .hero-coordinate { top:90px; }
 .hero-viewer-bottom { flex-direction:column; align-items:start; }
 .path-grid { gap:16px; }.path-card { padding:24px; }.path-card h3 { font-size:23px; }
 .intro-row { gap:40px; }
 .inventory-layout { grid-template-columns:220px minmax(0,1fr); }
 .inventory-detail-grid { grid-template-columns:1fr; }
 .asset-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
 .asset-fields>div:first-child { padding-top:10px; }
 .inventory-status { flex-wrap:wrap; }
 .data-tabs { gap:19px; }
 .data-tabs button { font-size:13px; }
 .footer-main { grid-template-columns:1.3fr 1fr 1fr; }
 .footer-main>nav:last-child { grid-column:2 / 4; display:grid; grid-template-columns:1fr 1fr; }
 .footer-main>nav:last-child .footer-heading { grid-column:1 / -1; }
}
/* Phone/tablet: retain the 2.1 readability improvements across all new pages. */
@media(max-width:850px){
 body { font-size:17px; }
 .wrap,.nav-shell { width:calc(100% - 40px); }
 .nav-shell { min-height:76px; padding-block:12px; }
 .brand-word { font-size:23px; }
 .brand-mark { width:32px; }
 .eyebrow,.stage-label { font-size:13px; letter-spacing:.5px; }
 .breadcrumb { font-size:14px; padding-top:20px; }
 .section { padding:44px 0; }
 .section-nav .wrap { gap:20px; flex-wrap:wrap; }
 .section-nav a { font-size:14px; padding-block:13px 10px; }
 .section-heading { display:block; margin-bottom:27px; }
 .section-heading h1,.openbim-copy h1 { font-size:38px; line-height:1.17; letter-spacing:-1.2px; margin-top:15px; }
 .section-heading>p,.heading-aside { margin-top:23px; }
 .section-heading p:not(.eyebrow) { font-size:17px; }
 h2,.section-heading h2 { font-size:31px; letter-spacing:-.8px; }
 html[data-theme=blue] .hero-grid { grid-template-columns:1fr!important; padding-block:33px 37px; gap:32px!important; }
 html[data-theme=blue] .hero h1 { font-size:58px; line-height:1.06; letter-spacing:-2.3px; margin-block:22px; }
 html[data-theme=blue] .hero .hero-description { font-size:18px; line-height:1.75; }
 .hero-actions { flex-direction:row; align-items:center; flex-wrap:wrap; gap:13px 23px; margin-top:25px; }
 .hero-actions .button { font-size:17px; }
 .hero-quote-link { font-size:14px; margin-top:15px; gap:8px; }
 .hero-quote-link>span { font-size:12px; }
 .hero-scope { margin-top:23px; }.hero-scope p { font-size:15px; }
 html[data-theme=blue] .hero-visual { height:auto; display:flex; flex-direction:column; position:relative; overflow:hidden; }
 .hero-viewer-top { position:static; flex-direction:row; padding:17px 17px 0; font-size:12px; line-height:1.6; flex-wrap:wrap; }
 html[data-theme=blue] .hero-coordinate { position:static; padding:14px 17px 0; font-size:13px; }
 .hero-visual canvas { height:290px; width:100%; position:static; order:2; }
 .hero-coordinate { order:1; }.hero-viewer-top { order:0; }
 .float-tag { position:static; margin:0 17px 16px; padding:13px 15px; order:3; }
 .float-tag>div { font-size:16px; }.float-tag>div>span { font-size:14px; }
 .hero-viewer-bottom { position:static; order:4; padding:15px 17px; font-size:13px; flex-direction:column; align-items:flex-start; gap:6px; }
 .overview-v3 { padding-block:43px; }
 .intro-row,.connection-grid,.data-lead,.duo-info { grid-template-columns:1fr; gap:23px; }
 .intro-row { margin-bottom:25px; }
 .intro-row>p { font-size:17px; }
 .path-grid { grid-template-columns:1fr; gap:15px; }
 .path-card { padding:23px; }
 .path-card h3 { font-size:26px; margin-top:17px; }
 .path-card>p { font-size:17px; margin-bottom:18px; }
 .path-index { font-size:13px; }
 .path-link { font-size:16px; }
 .home-connection { padding:43px 0 48px; }
 .connection-grid h2 { font-size:33px; }
 .connection-grid>div>p:not(.eyebrow) { font-size:17px; }
 .connection-map { padding:20px; }
 .connection-core { padding:20px 16px; }
 .connection-core strong { font-size:25px; }
 .connection-core .tiny-label { font-size:12px; }
 .connection-core>span:last-child { font-size:15px; }
 .connection-branches>div { padding:12px 8px; }
 .connection-branches>div>span { font-size:13px; }
 .connection-branches strong { font-size:15px; }
 .connection-branches p { font-size:14px; }
 .connection-map .connection-disclaimer { font-size:14px; line-height:1.85; }
 .service-grid { grid-template-columns:1fr; gap:18px; }
 .service-card { padding:25px; }
 .service-card h3 { font-size:27px; }
 .service-card>p { font-size:17px; }
 .feature-visual { height:205px; }
 .card-number { font-size:16px; }.card-number span { font-size:14px; }
 .mini-label,.mini-window-bar span,.mini-window-bottom { font-size:13px; }
 .mini-property { font-size:15px; }.mini-property.secondary { font-size:13px; }
 .offer-grid { grid-template-columns:1fr; }
 .offer-card p { font-size:17px; }
 .offer-note,.process-note { font-size:15px; }
 .offer-card .offer-unit { font-size:15px; }
 .capability-strip { padding:22px 0; gap:13px; }
 .capability-strip>span { font-size:13px; }
 .capability-strip>div { font-size:15px; line-height:1.9; }
 .experience-section { padding-block:40px; }
 .demo-stage { height:auto; }
 .demo-stage canvas { position:relative; height:350px; width:100%; }
 .demo-topbar { padding:17px; }
 .demo-topbar>div { font-size:16px; }
 .demo-topbar small { font-size:13px; }
 .view-switch { display:grid; grid-template-columns:1fr 1fr 1.3fr .8fr; gap:3px; }
 .view-switch button { font-size:15px; padding:9px 10px; }
 .demo-properties { position:static; width:auto; margin:0 16px 18px; padding:20px; }
 .demo-properties>p { font-size:13px; }.demo-properties h4 { font-size:21px; }
 .demo-properties dl { font-size:16px; }.demo-properties>span { font-size:14px; }
 .demo-label { font-size:13px; top:14px; left:17px; max-width:calc(100% - 85px); }
 .demo-status { font-size:14px; padding:15px 17px; }
 .compare-legend { font-size:12px; left:17px; right:70px; top:51px; gap:12px; }
 .demo-compass { bottom:auto; top:268px; }
 .experience-features { grid-template-columns:1fr 1fr; gap:18px; }
 .experience-features>div { font-size:15px; align-items:start; }
 .soft-note { padding:25px; }
 .soft-note p { font-size:17px; }
 .application-panel { grid-template-columns:1fr; gap:26px; }
 .application-tabs { gap:20px; }
 .application-tabs button { font-size:16px; }
 .app-copy h3 { font-size:32px; }.app-copy>p { font-size:17px; }
 .app-deliverables { font-size:16px; }.art-caption { font-size:13px; }
 .openbim-grid { grid-template-columns:1fr; gap:32px; }
 .openbim-benefits p,.req-row { font-size:16px; }
 .req-top,.req-footer p { font-size:14px; }.req-footer strong { font-size:21px; }
 .format-chips span { font-size:15px; }.req-caption,.openbim-note { font-size:15px; }
 .requirements-card { transform:none; }
 .process-grid { grid-template-columns:1fr 1fr; gap:28px; margin-top:30px; }
 .process-grid h3 { font-size:24px; }.process-grid p { font-size:17px; }
 .step-output { font-size:14px; }
 .calc-audit { grid-template-columns:1fr; gap:20px; }
 .calc-audit p { font-size:17px; }
 .faq-grid { grid-template-columns:1fr; gap:28px; }
 .faq-list summary { font-size:18px; }.faq-list details p { font-size:17px; }
 .next-section { padding:30px 0 44px; }
 .next-card { display:flex; flex-direction:column; align-items:start; padding:26px; gap:25px; }
 .next-card h2 { font-size:28px; }.next-card p:not(.eyebrow) { font-size:17px; }
 .next-card>.button { width:100%; }
 .data-intro { padding-top:29px; }
 .data-lead { gap:23px; margin-top:15px; }
 .data-lead h1 { font-size:43px; letter-spacing:-1.5px; line-height:1.13; }
 .data-lead .lead { font-size:18px; line-height:1.8; }
 .data-lead .stage-label { font-size:12px; line-height:1.8; }
 .data-pillars { grid-template-columns:1fr; gap:23px; margin-top:28px; padding-top:27px; }
 .data-pillars h2 { font-size:21px; }.data-pillars p { font-size:17px; }
 .data-pillars>article>span { font-size:15px; }
 .inventory-section { padding-block:36px 42px; }
 .inventory-topline { display:block; }
 .inventory-topline h2 { font-size:32px; }.demo-chip { font-size:13px; margin-top:17px; line-height:1.7; }
 .inventory-layout { grid-template-columns:1fr; }
 .inventory-toolbar { padding:18px; flex-wrap:wrap; }
 .inventory-toolbar strong { font-size:16px; }.workspace-sub { font-size:14px; }
 .inventory-toolbar .button { font-size:14px; min-height:44px; width:100%; }
 .inventory-list { padding:18px; border-right:0; border-bottom:1px solid #dce5f6; }
 .panel-label { font-size:13px; }
 .inventory-list>.panel-label { padding:0; }
 .asset-select { min-height:80px; padding:12px; margin-bottom:7px; }
 .asset-select strong { font-size:17px; line-height:1.5; }
 .asset-select small { font-size:14px; line-height:1.7; }
 .asset-type-icon { width:38px; height:41px; font-size:14px; }
 .inventory-list-note { margin:18px 0 0; padding-top:15px; }
 .inventory-list-note .tiny-label { font-size:12px; }.inventory-list-note p { font-size:15px; margin-top:7px; }
 .asset-workarea { padding:25px 19px; }
 .asset-record-heading { align-items:start; flex-direction:column; gap:12px; margin-bottom:20px; }
 .asset-record-heading h3 { font-size:27px; line-height:1.3; }
 .record-badge { font-size:13px; }
 .data-tabs { gap:0; display:grid; grid-template-columns:1fr .8fr 1.45fr; }
 .data-tabs button { font-size:15px; line-height:1.5; min-height:55px; padding:9px 6px; }
 .inventory-detail-grid { grid-template-columns:1fr; gap:23px; }
 .asset-fields { grid-template-columns:1fr; }
 .asset-fields>div { display:grid; grid-template-columns:.8fr 1.2fr; gap:14px; align-items:start; padding:12px 0; }
 .asset-fields dt { font-size:14px; }.asset-fields dd { font-size:16px; margin:0; }
 .reference-heading .tiny-label { font-size:12px; }.reference-heading>span:last-child { font-size:13px; }
 .visual-reference { padding:17px; }.visual-reference>p { font-size:15px; line-height:1.8; }
 .asset-plan { height:210px; }.plan-building { height:128px; width:89%; }
 .plan-label { font-size:12px; }.plan-pin { font-size:13px; width:34px; height:34px; }
 .plan-caption { font-size:13px; }
 .data-caveat { font-size:15px; line-height:1.8; padding:14px; margin-top:21px; }
 .context-description h4 { font-size:25px; }.context-description p { font-size:17px; }
 .context-icon { font-size:12px; padding:6px 10px; }
 .context-fields { grid-template-columns:1fr; }
 .context-fields dt { font-size:14px; }.context-fields dd { font-size:17px; }
 .inventory-status { font-size:13px; padding:16px 18px; gap:8px; }
 .method-grid { grid-template-columns:1fr; gap:18px; }
 .method-grid>article { padding:26px; }.method-number { font-size:13px; }
 .method-grid h3 { font-size:27px; }.method-grid p { font-size:17px; }
 .method-grid summary,.data-implementation summary { font-size:16px; line-height:1.7; padding-block:10px; }
 .data-implementation { padding:25px; }.data-implementation h3 { font-size:24px; }.data-implementation>p { font-size:17px; }
 .implementation-grid { grid-template-columns:1fr; gap:24px; }.implementation-grid p { font-size:17px; }
 .calculator-section { padding:28px 0 50px; }
 .calculator-section .section-heading h1 { font-size:36px; letter-spacing:-1px; line-height:1.18; }
 .calculator-intro { font-size:17px!important; }
 .demo-warning { padding:17px; gap:12px; }.demo-warning strong { font-size:16px; }.demo-warning p { font-size:15px; }
 html[data-theme=blue] .calc-layout { grid-template-columns:minmax(0,1fr); gap:25px; }
 html[data-theme=blue] .calc-layout>div:first-child { grid-column:1; grid-row:1; }
 html[data-theme=blue] .calc-summary { grid-column:1; grid-row:2; position:static; padding:24px; }
 .calc-stepper button { font-size:14px; gap:7px; min-height:62px; }
 .calc-stepper button span { font-size:14px; width:29px; height:29px; }
 .calc-step { padding:25px 21px; }.calc-step legend { font-size:27px; }.calc-step>p { font-size:17px; }
 .calc-choice { padding:18px 16px; }.calc-choice:has(input:checked) { padding:17px 15px; }
 .calc-choice strong { font-size:18px; }.calc-choice small { font-size:16px; line-height:1.75; }.calc-choice b { font-size:12px; }
 .calc-fields { grid-template-columns:1fr; }.calc-field.full { grid-column:auto; }
 .calc-field label { font-size:16px; }.calc-field small,.calc-inline-note,.calc-help { font-size:15px; }
 .calc-field input,.calc-field select,.calc-field textarea { font-size:17px; min-height:51px; }
 .calc-checks { font-size:16px; }
 .calc-nav { padding:18px; }.calc-nav .button { font-size:16px; min-height:48px; }
 .calc-summary .summary-price { font-size:33px; }.summary-eyebrow { font-size:13px; }
 .scope-tags span { font-size:13px; }.summary-tax,.summary-note { font-size:15px; }
 .summary-status { font-size:15px; }.summary-actions button { font-size:15px; min-height:46px; }
 .estimate-breakdown summary { font-size:16px; min-height:52px; }
 .estimate-row,.estimate-row.total { font-size:15px; }.estimate-row dd { font-size:16px; }
 .save-project { padding:12px 18px; }.save-project summary { font-size:15px; line-height:1.7; min-height:46px; }
 .calc-storage-tools button { font-size:15px; }.calc-storage-note { font-size:14px; }
 .calculator-footer-link { font-size:16px; }
 .review-list li { font-size:16px; }.calc-result-actions .button { font-size:16px; }
 .contact-section { padding:28px 0 50px; }.contact-grid { grid-template-columns:1fr; }
 .contact-copy h1 { font-size:40px; }.contact-copy>p:not(.eyebrow),.contact-status p { font-size:17px; }
 .field label { font-size:16px; }.field-help,.form-note,.privacy-check { font-size:15px; }
 .field input,.field textarea,.field select { font-size:17px; }.need-options span { font-size:16px; }
 .site-footer { padding:37px 0 25px; }
 .footer-main { grid-template-columns:1fr 1fr; gap:28px; }
 .footer-main>div:first-child { grid-column:1 / -1; }
 .footer-main>nav:last-child { grid-column:1 / -1; }
 .footer-main nav { font-size:16px; gap:7px; }.footer-main nav a { min-height:44px; }
 .footer-heading { font-size:13px; }.footer-brand>p { font-size:16px; }.footer-contact { font-size:17px; }
 .footer-bottom { align-items:start; flex-direction:column; }.footer-bottom p { font-size:14px; line-height:1.8; }
 .footer-bottom nav { font-size:15px; gap:7px 22px; flex-wrap:wrap; }.footer-bottom nav a { min-height:44px; }
 .footer-disclaimer { font-size:14px; line-height:1.85; }
 .legal-main h1 { font-size:35px; }.legal-main p,.legal-main li { font-size:17px; }
}
@media(max-width:600px){
 .hero-actions { flex-direction:column; align-items:stretch; }.hero-actions>a { justify-content:center; }
 .hero-actions>.text-button { font-size:17px; }
 .connection-branches { grid-template-columns:1fr; gap:15px; padding-top:20px; }
 .connection-branches>div { display:grid; grid-template-columns:30px 1fr; align-items:start; gap:4px 12px; text-align:left; padding:15px; }
 .connection-branches>div:before { height:16px; top:-16px; left:29px; }
 .connection-branches>div>span { grid-row:1 / 3; margin:2px 0 0; }
 .connection-branches strong { font-size:18px; }.connection-branches p { margin:0; font-size:15px; }
 .process-grid { grid-template-columns:1fr; gap:0; }.process-grid article,.process-grid article:not(:first-child){ padding:23px 0; border-left:0; border-top:1px solid #d5e0f4; }.process-grid article:first-child{border-top:0;}
 .application-tabs { display:grid; grid-template-columns:1fr; gap:0; }.application-tabs button { gap:14px; font-size:17px; padding:17px 0; }
 .calc-stepper { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px 5px; padding:14px 10px; }.calc-stepper li { grid-column:span 2; }.calc-stepper li:nth-child(4) { grid-column:2 / span 2; }.calc-stepper li:nth-child(5) { grid-column:4 / span 2; }
 .experience-features { grid-template-columns:1fr; }
 .req-row { flex-direction:column; gap:5px; }.req-row strong { text-align:left; }
 .section-nav .wrap { gap:15px; }.section-nav a { font-size:13px; }
}
@media(max-width:380px){
 .wrap,.nav-shell { width:calc(100% - 32px); }
 .brand-word { font-size:20px; }.brand-mark { width:29px; }.brand { gap:8px; }
 html[data-theme=blue] .hero h1 { font-size:49px; letter-spacing:-1.8px; }
 .section-heading h1,.openbim-copy h1,.calculator-section .section-heading h1 { font-size:33px; }
 .data-lead h1 { font-size:37px; }.connection-grid h2 { font-size:30px; }
 .calc-step { padding:23px 16px; }.calc-step legend { font-size:25px; }
 .calc-stepper { padding-inline:6px; gap:8px 2px; }.calc-stepper button { font-size:13px; }
 .calc-summary .summary-price { font-size:30px; }
 .asset-workarea { padding:24px 16px; }.inventory-list { padding:16px; }.asset-select { padding:12px 8px; gap:9px; }.asset-select strong { font-size:16px; }.asset-select small { font-size:13px; }
 .data-tabs button { font-size:14px; }.record-badge { font-size:13px; }.plan-label { font-size:11px; }.plan-caption { font-size:12px; }
 .connection-map { padding:16px; }.next-card { padding:23px; }
 .section-nav .wrap { gap:6px 15px; flex-wrap:wrap; }
 .view-switch button { font-size:14px; padding-inline:6px; }
}
@media(prefers-reduced-motion:reduce){
 html { scroll-behavior:auto; }
 *,*::before,*::after { transition:none!important; animation:none!important; }
}
@media print{
 .site-header,.site-footer,.breadcrumb,.section-nav,.next-section { display:none!important; }
 .inventory-section { background:white;color:black; }.inventory-workspace { box-shadow:none; }
}
/* The schematic changes with the selected fictitious element. */
.inventory-workspace[data-selected="PUE-014"] .plan-pin { left:46%; top:90%; }
.inventory-workspace[data-selected="PUE-014"] .plan-highlight { left:42%; top:auto; bottom:-4px; width:22%; }
.inventory-workspace[data-selected="EQ-003"] .plan-pin { left:77%; top:10%; }
.inventory-workspace[data-selected="EQ-003"] .plan-highlight { left:auto; right:12%; top:10%; width:23px; height:17px; background:#316ef038; border:2px solid #316ef0; }
/* Consistent contrast on the dark masthead and legal navigation. */
html[data-theme=blue] .site-header .brand { color:#e8f1ff; }
.footer-bottom nav a,.site-footer .back-top { color:#adc3e5; }
.footer-bottom nav a:hover { color:#fff; }
html[data-theme=blue] .site-header .menu-toggle span { background:#d7e6ff; }
.calculator-explainer { border:1px solid #d8e3f6; padding:12px 19px; background:white; border-radius:12px; max-width:520px; }
.calculator-explainer summary { font-size:15px; min-height:38px; display:flex; align-items:center; cursor:pointer; color:#355f9e; }
.calculator-explainer>strong { font-size:17px; display:block; padding-top:15px; }
.calculator-explainer p { padding-block:10px 5px; }
.data-demo-jump { display:flex; margin-top:15px; color:#2459dd; }
@media(max-width:850px){
 .calculator-explainer { margin-top:20px; padding:10px 17px; }
 .calculator-explainer summary { font-size:16px; min-height:43px; }
 .mobile-estimate-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:16px; gap:12px; }
 .mobile-estimate-bar>div { min-width:0; }
 .mobile-estimate-bar strong { font-size:24px; }
 .mobile-estimate-bar button { font-size:14px; padding:10px; min-height:46px; }
}
@media(max-width:380px){
 .mobile-estimate-bar { grid-template-columns:1fr; }
 .mobile-estimate-bar button { justify-self:start; }
}
