/* Homepage (moved from index.php inline <style>) */
.home-stage{position:relative;overflow:hidden;background:linear-gradient(180deg,#fbfbfc 0,#f5f6f8 100%)}
.home-stage:before,.home-stage:after{content:"";position:absolute;pointer-events:none;z-index:0;width:620px;height:620px;opacity:.56;background-image:linear-gradient(90deg,rgba(216,0,12,.22) 1px,transparent 1px),linear-gradient(rgba(216,0,12,.22) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,#000 0,transparent 68%)}
.home-stage:before{left:-250px;top:-160px;transform:rotate(45deg)}
.home-stage:after{right:-240px;bottom:-250px;transform:rotate(45deg)}
.home-hero{position:relative;z-index:1;display:grid;align-items:stretch}
.hero-copy{display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3}
.eyebrow{display:inline-flex;align-items:center;gap:10px;width:max-content;padding:8px 13px;border:1px solid #f0cfd1;border-radius:999px;color:#c6000b;background:rgba(255,255,255,.82);font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:23px;font-size:var(--fs-eyebrow)}
.eyebrow:before{content:"✦";display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff0f1;color:var(--hf-red);font-size:13px}
.hero-copy h1{color:#0a0e15;font-weight:800}
.hero-copy h1 span{color:var(--hf-red)}
.hero-copy>p{color:#474d58;font-size:var(--fs-lead);line-height:var(--lh-body)}
.hero-actions{display:flex;flex-wrap:wrap}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:16px 22px;border:1px solid #d7000c;color:#bc0009;background:#fff;text-decoration:none;border-radius:6px;font-weight:800;box-shadow:0 8px 18px rgba(38,42,50,.05)}
.btn-secondary:hover{background:#fff6f6}
.hero-visual{position:relative;overflow:hidden}
.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-visual:before{content:"";position:absolute;z-index:2;inset:0}
.hero-visual:after{content:"";position:absolute;z-index:3;height:4px;background:linear-gradient(90deg,transparent,var(--hf-red) 12%,#ff3942 72%,transparent);box-shadow:0 0 16px rgba(216,0,12,.95),0 8px 22px rgba(216,0,12,.35);transform:skewX(-35deg)}
.tech-node{position:absolute;z-index:4;width:8px;height:8px;border:2px solid var(--hf-red);border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(216,0,12,.08)}
.n1{left:24%;top:24%}
.n2{right:18%;top:42%}
.n3{left:50%;bottom:19%}
.stats-rail{position:relative;z-index:5;margin:-29px auto 0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid #e3e6ea;border-radius:14px;box-shadow:0 14px 38px rgba(29,34,42,.14);overflow:hidden}
.stat-unit{display:grid;align-items:center;position:relative}
.stat-unit:not(:last-child):after{content:"";position:absolute;right:0;top:23%;height:54%;width:1px;background:#dfe2e6}
.stat-icon{display:grid;place-items:center;border:1px solid #f1d1d3;color:var(--hf-red);font-size:23px;background:#fff7f7}
.stat-unit strong{display:block;color:#11161d}
.stat-unit small{display:block;color:#636a76;font-size:var(--fs-small)}
.feature-zone{position:relative;z-index:2;padding:var(--sec-y) 4.3%}
.feature-grid{display:grid;margin:0 auto}
.feature-card{background:rgba(255,255,255,.9);border:1px solid #dde1e6;border-radius:11px;box-shadow:0 13px 28px rgba(24,30,40,.09);position:relative;overflow:hidden}
.feature-card:before{content:"";position:absolute;left:12px;right:12px;top:10px;height:1px;background:linear-gradient(90deg,var(--hf-red),transparent 40%,transparent 60%,var(--hf-red));opacity:.6}
.feature-card:after{content:"";position:absolute;right:-1px;bottom:-1px;width:28px;height:28px;border-right:2px solid var(--hf-red);border-bottom:2px solid var(--hf-red);border-radius:0 0 9px 0}
.feature-icon{width:54px;height:54px;display:grid;place-items:center;color:var(--hf-red);font-size:27px;border:1px solid #efd2d4;border-radius:12px;background:#fff}
.feature-card p{color:#5c6470}
.feature-card a{position:absolute;color:#bd000a;text-decoration:none;font-weight:800}
.home-survey{max-width:980px;margin:0 auto 55px;padding:0 4.3%}
.home-survey .hf-card{text-align:center;padding:28px}
@media(max-width:1120px){
.home-hero{grid-template-columns:1fr 1fr}
.stats-rail{grid-template-columns:repeat(2,1fr);margin-top:20px}
.stat-unit:nth-child(2):after{display:none}
}
@media(max-width:800px){
.stats-rail{width:calc(100% - 32px)}
.feature-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
.stats-rail{grid-template-columns:1fr}
.stat-unit:after{display:none!important}
.hero-actions a{width:100%}
.hero-visual{min-height:300px}
}
html[data-theme="dark"] .home-stage{background:#070a13}
html[data-theme="dark"] .hero-visual:before{background:linear-gradient(90deg,#070a13 0,rgba(7,10,19,.5) 10%,transparent 29%)}
html[data-theme="dark"] .stats-rail{background:#10182a;border-color:#293550}
html[data-theme="dark"] .stat-unit strong{color:#f5f7fb}
html[data-theme="dark"] .stat-unit small{color:#bdc7d8}
html[data-theme="dark"] .stat-unit:after{background:#34415c}
html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .eyebrow:before,html[data-theme="dark"] .stat-icon,html[data-theme="dark"] .feature-icon{background:#181c2c;color:#ff7b85;border-color:#65404a}
html[data-theme="dark"] .hero-copy h1 span{color:#ff6370}
html[data-theme="dark"] .btn-secondary{background:#111a2b;color:#ff8791;border-color:#ff6370}
html[data-theme="dark"] .feature-card a{color:#ff8791}
html[data-theme="dark"] .development-strip{background:#21131c;color:#ffb5bc;border-color:#58313a}
html[data-theme="dark"] .mobile-nav-toggle{background:#111a2b!important;color:#f5f7fb!important;border-color:#34415c!important}
/* Type scale v9 (2026-09-26): SaaS-standard sizes */
.hero-actions a,.btn-secondary{font-size:15.5px;text-transform:none;letter-spacing:0}
.stat-icon svg,.feature-icon svg{display:block}
.feature-grid{grid-template-columns:repeat(3,1fr);gap:20px}
.feature-card{min-height:0;padding:28px 26px 60px;text-align:left}
.feature-icon{margin:0 0 16px}
.feature-card h3{font-size:18px;margin-bottom:8px}
.feature-card p{font-size:15.5px;line-height:1.6}
.feature-card a{left:26px;right:auto;bottom:22px;font-size:14px}
@media(max-width:1120px){
.feature-grid{grid-template-columns:repeat(2,1fr)}
}
.hero-visual img{object-position:30% center;filter:none}
.hero-visual{border-radius:22px;border:1px solid #e3e6ea;box-shadow:0 30px 70px -30px rgba(16,24,40,.35)}
.hero-visual:before{background:linear-gradient(0deg,rgba(216,0,12,.06),transparent 35%)}
.hero-visual:after{left:6%;right:6%;bottom:22px}
.home-hero{max-width:1360px;margin:0 auto;padding:0 28px;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
.hero-copy{padding:56px 0 44px}
.stats-rail{width:min(calc(100% - 56px),1304px)}
.feature-grid{max-width:1304px}
@media(max-width:1120px){
.home-hero{gap:28px}
.hero-copy{padding-left:0}
}
@media(max-width:800px){
.home-hero{grid-template-columns:1fr;padding:0}
.hero-visual{min-height:320px;border-radius:18px}
}
@media(max-width:520px){
.feature-grid{grid-template-columns:1fr}
}
/* Two services (2026-09-26) */
.svc-head{max-width:720px;margin:0 auto 28px;text-align:center;margin-bottom:var(--gap-head)}
.svc-head h2{margin:0 0 8px}
.svc-head p{margin:0;color:#5c6470!important}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1304px;margin:0 auto}
.svc{display:flex;flex-direction:column;background:#fff;border:1px solid #e3e6ea;border-radius:20px;box-shadow:0 20px 50px -30px rgba(16,24,40,.3)}
.svc-tag{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:6px 12px;border-radius:999px;background:#fff1f1;color:#c6000b;font-size:var(--fs-label);font-weight:700}
.svc h3{letter-spacing:-.02em}
.svc ul{padding:0;list-style:none;display:grid}
.svc li{position:relative;padding-left:24px;color:#303946;line-height:var(--lh-card)}
.svc li:before{content:"✓";position:absolute;left:0;color:#d8000c;font-weight:800}
.svc-actions{margin-top:auto}
.svc-actions a{min-width:0}
.svc-note{margin:22px auto 0;text-align:center;font-size:var(--fs-body)}
.svc-note a{color:#b9000a;font-weight:700;text-decoration:none}
@media(max-width:860px){
.svc-grid{grid-template-columns:1fr}
.svc{padding:24px}
}
/* Problem + video (2026-09-26) */
.why-zone{max-width:1360px;margin:0 auto;padding:var(--sec-y) 28px}
.why-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
.why-copy .eyebrow{margin-bottom:0}
.why-copy>p{color:#4b5563!important;line-height:var(--lh-body)}
.why-list{list-style:none;margin:0;padding:0;display:grid}
.why-list li{display:flex;gap:12px;align-items:flex-start}
.why-list .wi{flex:none;width:38px;height:38px;border-radius:11px;background:#fff1f1;color:#d8000c;display:flex;align-items:center;justify-content:center}
.why-list b{display:block;color:#0b1018;font-size:var(--fs-card)}
.why-list small{display:block;color:#5c6470;font-size:var(--fs-small);line-height:var(--lh-small)}
.why-tag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:var(--fs-eyebrow);font-weight:700;vertical-align:1px;background:#fff1f1;color:#c6000b}
.why-tag.rent{background:#e8efff;color:#1d4ed8}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#0b1018;box-shadow:0 30px 60px -30px rgba(16,24,40,.45)}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#0b1018}
.video-soon{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;color:#fff;padding:24px}
.video-soon img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;filter:saturate(.8)}
.video-soon:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,16,24,.35),rgba(216,0,12,.35))}
.video-soon>*{position:relative;z-index:1}
.video-play{width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.95);color:#d8000c;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.video-soon b{font-size:19px}
.video-soon small{font-size:var(--fs-small);opacity:.9;max-width:340px}
.video-play{flex:none}
@media(max-width:520px){
.video-soon{gap:10px}
.video-play{width:56px;height:56px}
.video-play svg{width:24px;height:24px}
.video-soon b{font-size:17px}
.video-soon small{font-size:var(--fs-small)}
}
@media(max-width:900px){
.why-grid{grid-template-columns:1fr;gap:28px}
.video-frame{border-radius:16px}
}
/* Hero AI result card (2026-09-27) */
.home-hero>*{min-width:0}
.hero-copy .eyebrow{white-space:normal;max-width:100%;line-height:1.45;font-size:var(--fs-eyebrow)}
.hero-ai{position:absolute;z-index:6;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border:1px solid #eceef2;box-shadow:0 18px 40px -18px rgba(16,24,40,.45)}
.hero-ai-h{display:flex;justify-content:space-between;align-items:center}
.hero-ai-h b{display:inline-flex;align-items:center;color:#0b1018}
.hero-ai-h b svg{color:#d8000c}
.hero-ai-h span{font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5f6670}
.hero-ai-r{display:flex;justify-content:space-between;color:#374151}
.hero-ai-r em{font-style:normal;font-weight:700;color:#6b7280}
.hero-ai-r em.hit{color:#d8000c}
.hero-ai .bar{display:block;border-radius:9px;background:#f1f2f4;overflow:hidden}
.hero-ai .bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#ff5a62,#d8000c)}
.hero-ai .bar.low i{background:#c7ccd4}
@media(max-width:520px){
.hero-ai{left:12px}
.hero-ai-r{font-size:11.5px}
}
/* Innovation: Property Memory + Defect DNA (2026-09-27, light style) */
.inno{max-width:1360px;margin:0 auto;padding:var(--sec-y) 28px}
.inno-panel{position:relative;overflow:hidden;border-radius:28px;background:radial-gradient(900px 320px at 100% 0%,rgba(216,0,12,.07),transparent 65%),linear-gradient(180deg,#fff 0%,#fff8f8 100%);border:1px solid #f3dadc;box-shadow:0 30px 70px -45px rgba(16,24,40,.35)}
.inno-top{max-width:780px}
.inno-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #f3cfd2;font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#c6000b}
.inno-pill i{width:7px;height:7px;border-radius:50%;background:#d8000c;box-shadow:0 0 0 4px rgba(216,0,12,.15)}
.inno h2{color:#0b1018;margin:10px 0 8px}
.inno h2 span{color:#d8000c}
.inno-lead{margin:0;color:#4b5563!important;max-width:700px}
.inno-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:var(--gap-head)}
.inno-card{background:#fff;border:1px solid #e8eaee;border-radius:20px;display:flex;flex-direction:column;box-shadow:0 18px 40px -32px rgba(16,24,40,.35)}
.inno-card .tm{font-size:var(--fs-eyebrow);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#c6000b}
.inno-card h3{margin:0;letter-spacing:-.02em;color:#0b1018}
.inno-card p{margin:0;color:#4b5563!important}
.inno-demo{margin-top:auto;background:#f8f9fb;border:1px solid #eef0f3;border-radius:14px;padding:16px}
.inno-demo small{display:block;font-size:var(--fs-eyebrow);color:#5f6670;margin-bottom:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.inno-line{list-style:none;margin:0;padding:0 0 0 16px;border-left:2px solid #f1d3d5;display:grid;gap:10px}
.inno-line li{position:relative;font-size:var(--fs-small);color:#1f2937}
.inno-line li:before{content:"";position:absolute;left:-22px;top:5px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #d8000c}
.inno-line li span{color:#5f6670;font-size:var(--fs-label);margin-right:6px}
.inno-id{display:inline-flex;align-items:center;gap:8px;font:700 15px ui-monospace,SFMono-Regular,Menlo,monospace;color:#b9000a;padding:6px 10px;border-radius:9px;background:#fff1f1;border:1px solid #f7c9cc}
.inno-states{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.inno-states b{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:#eef2ff;color:#1e40af}
.inno-states b.w{background:#fee2e2;color:#991b1b}
.inno-states b.g{background:#dcfce7;color:#166534}
.inno-states em{color:#9aa1ad;font-style:normal;align-self:center}
.inno-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.inno-foot .tag{font-size:var(--fs-card);font-weight:800;letter-spacing:.02em;color:#0b1018}
.inno-foot .tag span{color:#d8000c}
.inno-btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;background:#d8000c;color:#fff;font-weight:800;text-decoration:none;box-shadow:0 12px 26px -12px rgba(216,0,12,.6)}
.inno-btn:hover{background:#b9000a}
.inno-note{margin:18px 0 0;font-size:var(--fs-small);color:#6b7280!important}
@media(max-width:900px){
.inno-panel{border-radius:22px}
.inno-grid{grid-template-columns:1fr}
}
/* Rhythm v2 (2026-09-27): tighter section spacing and line heights */
.why-copy h2{margin:10px 0 8px}
.why-copy>p{margin:0 0 16px}
.why-list{gap:10px}
.inno-panel{padding:34px 38px}
.inno-lead{line-height:1.55}
.inno-grid{gap:16px}
.inno-grid.one{grid-template-columns:1fr}
.inno-grid.one .inno-card{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.inno-grid.one .inno-txt{display:flex;flex-direction:column;gap:10px}
@media(max-width:900px){
.inno-grid.one .inno-card{grid-template-columns:1fr;gap:16px}
}
.inno-card{padding:22px;gap:10px}
.inno-card p{line-height:1.55}
.inno-foot{margin-top:20px}
.inno-note{margin-top:12px}
.svc-head p{line-height:1.55}
.svc{padding:24px}
.svc h3{margin:12px 0 6px}
.svc>p{line-height:var(--lh-card);margin:0 0 12px}
.svc ul{gap:6px;margin:0 0 18px}
.svc-note{margin-top:16px}
.btn-primary,.btn-secondary{text-transform:none;letter-spacing:0}
@media(max-width:900px){
.why-zone{padding:var(--sec-y) 20px}
.inno{padding:var(--sec-y) 20px}
.inno-panel{padding:24px 18px}
}
/* Smaller example AI card on the hero photo (2026-09-27) */
.hero-ai{width:min(236px,calc(100% - 36px));left:18px;bottom:40px;padding:10px 12px;border-radius:13px}
.hero-ai-h{margin-bottom:6px}
.hero-ai-h b{font-size:12px;gap:5px}
.hero-ai-h b svg{width:13px;height:13px}
.hero-ai-h span{font-size:9.5px}
.hero-ai-r{font-size:11px;margin-top:4px}
.hero-ai .bar{height:4px;margin-top:3px}
@media(max-width:520px){
.hero-ai{width:190px;padding:8px 10px;bottom:28px}
}
/* Compact hero (2026-09-27): standard SaaS sizes. Keep this block last so it wins over older rules. */
.home-hero{min-height:0;gap:44px}
.hero-copy{padding-top:34px;padding-bottom:26px}
.hero-copy .eyebrow{padding:5px 11px;gap:7px;letter-spacing:.06em}
.hero-copy .eyebrow:before{width:18px;height:18px;font-size:10px}
.hero-copy h1{font-size:clamp(2.1rem,3.3vw,3.1rem);line-height:1.1;letter-spacing:-.03em;margin:14px 0;max-width:560px}
.hero-copy>p{max-width:520px;margin:0 0 22px}
.hero-actions{gap:12px}
.hero-actions a{min-width:0;font-size:15px!important;border-radius:9px!important}
.hero-visual{min-height:0;margin:26px 0 36px;aspect-ratio:16/11;max-height:420px;align-self:center}
.stats-rail{margin-top:-8px}
.stat-unit{padding:12px 16px;grid-template-columns:36px 1fr;gap:10px}
.stat-icon{width:36px;height:36px;border-radius:9px!important}
.stat-icon svg{width:18px;height:18px}
.stat-unit strong{font-size:15px;line-height:1.2}
.stat-unit small{margin-top:2px}
@media(max-width:800px){
.home-hero{gap:0!important}
.hero-copy{padding:30px 20px 20px!important}
.hero-copy h1{font-size:2.05rem!important}
.hero-visual{aspect-ratio:4/3;max-height:none;margin:0 20px 20px!important}
}
/* Compact section headings on the homepage, matching the rest of the site (2026-09-27) */
.why-copy h2,.svc-head h2,.inno h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:-.02em}
.svc h3,.inno-card h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}
.why-copy>p,.svc-head p,.inno-lead{font-size:var(--fs-lead)}
.svc>p,.inno-card p,.svc li{font-size:var(--fs-card)}
.svc-actions a,.inno-btn{padding:11px 18px;font-size:15px!important}
.hero-actions a{padding:11px 18px;line-height:1.3}
