.fire-stage-page { --fire-green:#007b67; --fire-green-dark:#00584e; --fire-navy:#08234d; --fire-text:#314663; --fire-muted:#67768a; --fire-line:#dce7e5; overflow:hidden; background:#fff; color:var(--fire-text); font-family:Poppins,sans-serif; }
.fire-stage-page *, .fire-stage-page *::before, .fire-stage-page *::after { box-sizing:border-box; }
.fire-stage-container { width:min(1380px,calc(100% - 64px)); margin:0 auto; }
.fire-stage-page svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.fire-stage-page h1, .fire-stage-page h2, .fire-stage-page h3 { color:var(--fire-navy); font-family:'Work Sans',Poppins,sans-serif; }
.fire-stage-eyebrow { margin:0 0 .85rem; color:var(--fire-green); font-size:.7rem; font-weight:800; letter-spacing:.11em; line-height:1.3; text-transform:uppercase; }
.fire-stage-hero { padding:8rem 0 2.5rem; background:#fff; }
.fire-stage-hero-grid { display:grid; grid-template-columns:minmax(27rem,.82fr) minmax(0,1.18fr); gap:clamp(2rem,4vw,4.5rem); align-items:start; }
.fire-stage-hero h1 { max-width:43rem; margin:0; font-size:clamp(3rem,4.5vw,5rem); font-weight:700; letter-spacing:-.064em; line-height:1.02; }
.fire-stage-hero h1 span, .fire-stage-heading h2 span { color:var(--fire-green-dark); }
.fire-stage-lead, .fire-stage-supporting { max-width:42rem; margin:1.25rem 0 0; font-size:clamp(.94rem,1.05vw,1.06rem); line-height:1.72; }
.fire-stage-supporting { font-weight:550; }
.fire-stage-actions, .fire-stage-final-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.7rem; }
.fire-stage-button, .fire-stage-button:visited { display:inline-flex; min-height:3rem; gap:.6rem; align-items:center; justify-content:center; padding:.68rem 1.05rem; border:1px solid var(--fire-green); border-radius:.48rem; background:var(--fire-green); color:#fff; font-size:.76rem; font-weight:700; line-height:1.2; text-decoration:none; transition:box-shadow 180ms ease,transform 180ms ease; }
.fire-stage-button:hover, .fire-stage-button:focus { box-shadow:0 .9rem 1.8rem rgba(0,80,72,.18); color:#fff; transform:translateY(-2px); }
.fire-stage-button svg { width:1rem; height:1rem; }
.fire-stage-hero-visual { position:relative; min-width:0; width:100%; aspect-ratio:auto; margin:calc(1.76rem + clamp(1.53rem,2.295vw,2.55rem)) 0 0; overflow:visible; }
.fire-stage-hero-visual > img { display:block; width:100%; height:auto; }
.fire-stage-screen { position:absolute; display:block; overflow:hidden; border:1px solid var(--fire-line); border-radius:.8rem; background:#fff; box-shadow:0 1.1rem 2.7rem rgba(8,35,77,.12); }
.fire-stage-screen img { position:absolute; top:0; left:0; display:block; max-width:none; height:auto; border-radius:0; }
.fire-stage-screen.is-planning { z-index:1; top:0; right:0; width:72%; aspect-ratio:1.78; }
.fire-stage-screen.is-planning img { width:175%; transform:translate(-32%,-6.7%); }
.fire-stage-screen.is-route { z-index:3; top:26%; left:0; display:flex; align-items:center; justify-content:center; width:58%; aspect-ratio:1.25; }
/* Fit the complete mapping panel (140,431 to 1194,1266) with breathing room. */
.fire-stage-route-viewport { position:relative; display:block; width:calc(100% - 16px); aspect-ratio:1054/835; overflow:hidden; border-radius:.4rem; }
.fire-stage-screen.is-route img { width:182.163188%; left:-13.282732%; top:-51.616766%; transform:none; }
.fire-stage-screen.is-remedials { z-index:2; right:2%; bottom:0; width:76%; aspect-ratio:2; }
.fire-stage-screen.is-remedials img { width:138.6%; transform:translate(-6.77%,-41.1%); }
.fire-stage-signal-section { padding:1rem 0 2rem; }
.fire-stage-signals { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); overflow:hidden; border:1px solid var(--fire-line); border-radius:.85rem; background:#fff; box-shadow:0 .8rem 2rem rgba(8,35,77,.05); }
.fire-stage-signals>div { display:flex; gap:.75rem; align-items:center; min-width:0; min-height:5.5rem; padding:.8rem clamp(.75rem,1.5vw,1.35rem); border-right:1px solid var(--fire-line); }
.fire-stage-signals>div:last-child { border-right:0; }
.fire-stage-signals span, .fire-stage-icon { display:grid; flex:0 0 auto; width:3.1rem; height:3.1rem; padding:.72rem; border:1px solid var(--fire-line); border-radius:.65rem; background:#eff9f6; color:var(--fire-green-dark); place-items:center; }
.fire-stage-signals strong { color:var(--fire-navy); font-size:.7rem; line-height:1.4; }
.fire-stage-features, .fire-stage-workflow, .fire-stage-integrations, .fire-stage-more, .fire-stage-ai, .fire-stage-outcomes { padding:2.5rem 0; border-top:1px solid #edf1f2; }
.fire-stage-heading.is-centred { max-width:69rem; margin:0 auto 2rem; text-align:center; }
.fire-stage-heading h2 { margin:0; font-size:clamp(2.15rem,3.3vw,3.55rem); font-weight:700; letter-spacing:-.055em; line-height:1.04; }
.fire-stage-heading p { margin:.75rem auto 0; color:var(--fire-muted); font-size:.86rem; line-height:1.65; }
.fire-stage-feature-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
.fire-stage-feature-grid article { display:flex; min-width:0; min-height:15rem; flex-direction:column; padding:1.25rem; overflow:hidden; border:1px solid var(--fire-line); border-radius:.8rem; background:#fff; box-shadow:0 .8rem 2rem rgba(8,35,77,.04); transition:box-shadow 180ms ease,transform 180ms ease; }
.fire-stage-feature-grid article:hover, .fire-stage-more-grid article:hover, .fire-stage-outcome-grid article:hover { box-shadow:0 1rem 2.2rem rgba(8,35,77,.09); transform:translateY(-4px); }
.fire-stage-feature-grid h3 { margin:1rem 0 0; font-size:.9rem; line-height:1.4; }
.fire-stage-feature-grid p { margin:.7rem 0 0; color:var(--fire-muted); font-size:.69rem; line-height:1.62; }
.fire-stage-workflow-grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin:0; padding:0; list-style:none; }
.fire-stage-workflow-grid::before { position:absolute; top:2.05rem; right:8%; left:8%; border-top:2px dashed rgba(0,123,103,.45); content:''; }
.fire-stage-workflow-grid li { position:relative; z-index:1; min-width:0; padding:0 1rem; text-align:center; }
.fire-stage-workflow-icon { display:grid; width:4.2rem; height:4.2rem; margin:0 auto 1.15rem; padding:1rem; border:.4rem solid #fff; border-radius:50%; background:var(--fire-green-dark); color:#fff; box-shadow:0 .8rem 2rem rgba(8,35,77,.1); place-items:center; }
.fire-stage-workflow-grid strong { display:block; color:var(--fire-navy); font-size:.84rem; line-height:1.4; }
.fire-stage-workflow-grid p { max-width:17rem; margin:.65rem auto 0; color:var(--fire-muted); font-size:.7rem; line-height:1.62; }
.fire-stage-integration-wheel { max-width:52rem; margin:0 auto; overflow:hidden; border-radius:1rem; background:linear-gradient(120deg,#f7fcfb,#eef8f5); }
.fire-stage-integration-track { display:flex; width:max-content; padding:.8rem 0; animation:fire-integration-scroll 20s linear infinite; }
.fire-stage-integration-wheel:hover .fire-stage-integration-track { animation-play-state:paused; }
.fire-stage-integration-set { display:flex; gap:1rem; padding-right:1rem; }
.fire-stage-integration-set>div { display:grid; flex:0 0 10rem; height:5.5rem; overflow:hidden; padding:.35rem; border:1px solid var(--fire-line); border-radius:.8rem; background:#fff; box-shadow:0 .6rem 1.5rem rgba(8,35,77,.07); place-items:center; }
.fire-stage-integration-set img { display:block; width:100%; height:100%; border-radius:.5rem; object-fit:contain; }
@keyframes fire-integration-scroll { to { transform:translateX(-50%); } }
.fire-stage-more-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.fire-stage-more-grid article, .fire-stage-outcome-grid article { display:grid; grid-template-columns:3.2rem minmax(0,1fr); gap:1rem; min-height:10rem; padding:1.25rem; border:1px solid var(--fire-line); border-radius:.8rem; background:#fff; box-shadow:0 .8rem 2rem rgba(8,35,77,.04); transition:box-shadow 180ms ease,transform 180ms ease; }
.fire-stage-more-grid h3, .fire-stage-outcome-grid h3 { margin:0; font-size:.84rem; line-height:1.4; }
.fire-stage-more-grid p, .fire-stage-outcome-grid p { margin:.55rem 0 0; color:var(--fire-muted); font-size:.69rem; line-height:1.62; }
.fire-stage-outcome-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.fire-stage-outcome-grid article { min-height:13rem; }
.fire-stage-ai { background:#f8fbfa; }
.fire-stage-ai-panel { display:grid; grid-template-columns:minmax(22rem,.78fr) minmax(0,1.22fr); gap:clamp(2rem,4vw,4rem); align-items:center; padding:clamp(1.5rem,3vw,2.5rem); border:1px solid var(--fire-line); border-radius:1rem; background:#fff; box-shadow:0 1rem 2.8rem rgba(8,35,77,.07); }
.fire-stage-ai-copy h2 { margin:0; color:var(--fire-navy); font-size:clamp(2rem,3vw,3.2rem); font-weight:700; letter-spacing:-.055em; line-height:1.04; }
.fire-stage-ai-copy>p:not(.fire-stage-eyebrow) { margin:1rem 0 0; color:var(--fire-muted); font-size:.82rem; line-height:1.7; }
.fire-stage-ai-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1.4rem; }
.fire-stage-ai-points span { display:flex; gap:.65rem; align-items:center; min-width:0; color:var(--fire-navy); font-size:.68rem; line-height:1.4; }
.fire-stage-ai-points svg { flex:0 0 auto; width:1.45rem; height:1.45rem; padding:.25rem; border-radius:50%; background:#eff9f6; color:var(--fire-green-dark); }
.fire-stage-ai-copy>.fire-stage-button { margin-top:1.4rem; }
.fire-stage-ai-copy>.fire-stage-button svg { padding:0; border-radius:0; background:transparent; color:inherit; }
.fire-stage-ai-visual { min-width:0; margin:0; overflow:hidden; padding:.55rem; border:1px solid var(--fire-line); border-radius:.9rem; background:#f7faf9; }
.fire-stage-ai-visual img { display:block; width:100%; height:auto; border-radius:.6rem; }
.fire-stage-final-cta.reference-closing { padding:3.4rem 0 3rem; background:linear-gradient(115deg,#007b67,#00584e); }
.fire-stage-final-grid.staging-closing-panel { grid-template-columns:minmax(0,1fr) auto; max-width:none; border:0; background:transparent; box-shadow:none; }
.fire-stage-final-grid .staging-closing-title, .fire-stage-final-grid .staging-closing-copy, .fire-stage-final-grid .staging-closing-signals { color:#fff; }
.fire-stage-final-grid .staging-closing-signals { border-top-color:rgba(255,255,255,.2); }
@media (max-width:1180px) { .fire-stage-hero-grid{grid-template-columns:minmax(24rem,.9fr) minmax(0,1.1fr);gap:2.5rem}.fire-stage-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fire-stage-feature-grid article{min-height:14rem}.fire-stage-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}.fire-stage-workflow-grid::before{display:none} }
@media (max-width:960px) { .fire-stage-hero-grid,.fire-stage-ai-panel,.fire-stage-final-grid.staging-closing-panel{grid-template-columns:1fr}.fire-stage-hero-copy{max-width:54rem}.fire-stage-hero-visual{width:min(100%,54rem);margin:0 auto}.fire-stage-signals{grid-template-columns:repeat(3,minmax(0,1fr))}.fire-stage-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fire-stage-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fire-stage-final-actions{justify-content:flex-start} }
@media (max-width:720px) { .fire-stage-container{width:calc(100% - 32px)}.fire-stage-hero{padding:7rem 0 2rem}.fire-stage-hero h1{font-size:clamp(2.55rem,11vw,3.4rem)}.fire-stage-actions,.fire-stage-final-actions{display:grid;grid-template-columns:1fr}.fire-stage-button{width:100%}.fire-stage-hero-visual{display:grid;gap:.75rem;aspect-ratio:auto}.fire-stage-screen{position:relative;inset:auto;width:100% !important}.fire-stage-signals,.fire-stage-feature-grid,.fire-stage-workflow-grid,.fire-stage-more-grid,.fire-stage-outcome-grid,.fire-stage-ai-points{grid-template-columns:1fr}.fire-stage-signals>div{border-right:0;border-bottom:1px solid var(--fire-line)}.fire-stage-signals>div:last-child{border-bottom:0}.fire-stage-feature-grid article{min-height:0}.fire-stage-more-grid article,.fire-stage-outcome-grid article{min-height:0} }
@media (prefers-reduced-motion:reduce) { .fire-stage-button,.fire-stage-feature-grid article,.fire-stage-more-grid article,.fire-stage-outcome-grid article{transition:none} }
