/* L15: isolated foreman landing. Shared navigation and lead runtime remain reusable. */
.pr15-page { --pr15-ink:#282438; --pr15-muted:#615b70; --pr15-purple:#6149bf; --pr15-line:#e1dce9; --pr15-soft:#f5f3fa; }
.pr15-page .pr15-main { color:var(--pr15-ink); background:#fff; font-size:16px; line-height:1.65; }
.pr15-page .pr15-container { width:min(1290px,100% - 48px); margin:auto; }
.pr15-page .pr15-main h1,.pr15-page .pr15-main h2,.pr15-page .pr15-main h3,.pr15-page .pr15-main h4,.pr15-page .pr15-main p,.pr15-page .pr15-main figure { margin:0; }
.pr15-page .pr15-main h1,.pr15-page .pr15-main h2 { font-weight:700; letter-spacing:-.045em; line-height:1.13; }
.pr15-page .pr15-main h2 { font-size:clamp(30px,3.2vw,46px); }
.pr15-page .pr15-main h3 { font-size:21px; font-weight:650; line-height:1.4; letter-spacing:-.025em; }
.pr15-page .pr15-main h4 { font-size:20px; font-weight:650; line-height:1.35; }
.pr15-page .pr15-main p+p { margin-top:16px; }
.pr15-page .pr15-main a { color:var(--pr15-purple); text-underline-offset:4px; }
.pr15-page .pr15-main a:focus-visible,.pr15-page .pr15-main button:focus-visible { outline:3px solid #886adb; outline-offset:5px; }
.pr15-page .pr15-crumb { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:var(--pr15-muted); padding:24px 0 32px; }
.pr15-page .pr15-crumb a { color:inherit; text-decoration:none; }
.pr15-page .pr15-hero { display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:56px; margin:0; padding:16px 0 48px; }
.pr15-page .pr15-kicker { font-size:12px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; color:var(--pr15-purple); margin-bottom:18px!important; }
.pr15-page .pr15-hero h1 { font-size:clamp(38px,4.2vw,60px); }
.pr15-page .pr15-hero h1 span { color:var(--pr15-purple); }
.pr15-page .pr15-lead { font-size:18px; line-height:1.6; margin-top:25px!important; }
.pr15-page .pr15-buyer { font-size:14px; color:var(--pr15-muted); max-width:590px; }
.pr15-page .pr15-actions { flex-direction:row; align-items:center; gap:22px; margin-top:24px; }
.pr15-page .pr15-main .commercial-button { color:white; border-radius:11px; font-size:15px; padding:17px 24px; font-weight:650; }
.pr15-page .pr15-main .commercial-button span { margin-left:18px; font-size:20px; }
.pr15-page .pr15-text-link { font-size:14px; font-weight:650; display:inline-flex; align-items:center; gap:14px; }
.pr15-page .pr15-proof-short { font-size:14px; line-height:1.7; color:var(--pr15-muted); border-top:1px solid var(--pr15-line); padding-top:19px; margin-top:25px!important; }
.pr15-page .pr15-hero-art { position:relative; border-radius:24px; overflow:hidden; background:#e6e1df; align-self:stretch; min-height:490px; }
.pr15-page .pr15-hero-art img { width:100%; height:100%; object-fit:cover; object-position:67% center; }
.pr15-page .pr15-art-label { position:absolute; bottom:39px; left:24px; background:rgba(255,255,255,.95); border-radius:13px; padding:17px 21px; box-shadow:0 12px 35px #322a341a; }
.pr15-page .pr15-art-label span { display:block; font-size:12px; letter-spacing:.11em; text-transform:uppercase; color:var(--pr15-purple); margin-bottom:6px; }
.pr15-page .pr15-art-label strong { font-size:22px; letter-spacing:-.02em; line-height:1.3; font-weight:650; }
.pr15-page .pr15-hero-art figcaption { position:absolute; bottom:0; width:100%; font-size:12px; padding:7px 15px; color:white; background:#282438d9; }
.pr15-page .pr15-section-nav { display:flex; flex-wrap:wrap; gap:12px 28px; padding:23px 0; border-top:1px solid var(--pr15-line); border-bottom:1px solid var(--pr15-line); }
.pr15-page .pr15-section-nav a { color:var(--pr15-muted); font-size:14px; font-weight:600; text-decoration:none; padding:4px 0; }
.pr15-page .pr15-section { padding:80px 0; scroll-margin-top:24px; }
.pr15-page .pr15-section-head { max-width:845px; margin-bottom:34px; }
.pr15-page .pr15-section-head>p:not(.pr15-kicker) { max-width:785px; color:var(--pr15-muted); margin-top:20px; }
.pr15-page .pr15-demo { border:1px solid var(--pr15-line); border-radius:22px; overflow:hidden; background:var(--pr15-soft); box-shadow:0 22px 65px #2e225b0a; }
.pr15-page .pr15-demo-header { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:25px 30px; background:#302840; color:#fff; }
.pr15-page .pr15-demo-label { display:block; font-size:12px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; margin-bottom:9px; }
.pr15-page .pr15-demo-header .pr15-demo-label { color:#d4c3ff; }
.pr15-page .pr15-chip { font-size:12px; line-height:1.3; padding:9px 12px; border-radius:20px; border:1px solid #ffffff55; flex-shrink:0; }
.pr15-page .pr15-demo-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:0; }
.pr15-page .pr15-timeline { background:#fff; padding:32px; }
.pr15-page .pr15-timeline ol { list-style:none; margin:24px 0 0; padding:0; }
.pr15-page .pr15-timeline li { display:grid; grid-template-columns:60px 1fr; gap:19px; position:relative; padding-bottom:25px; }
.pr15-page .pr15-timeline li:last-child { padding-bottom:0; }
.pr15-page .pr15-timeline li:before { content:''; position:absolute; width:1px; left:69px; top:7px; bottom:0; background:var(--pr15-line); }
.pr15-page .pr15-timeline li:after { content:''; position:absolute; left:65px; top:7px; width:9px; height:9px; border-radius:50%; background:#947acb; }
.pr15-page .pr15-timeline li:last-child:before { display:none; }
.pr15-page .pr15-timeline time { font-size:12px; color:var(--pr15-muted); padding-top:2px; }
.pr15-page .pr15-timeline strong { display:block; font-size:15px; font-weight:650; margin-bottom:5px; }
.pr15-page .pr15-timeline p { font-size:14px; color:var(--pr15-muted); }
.pr15-page .pr15-material { padding:32px; border-left:1px solid var(--pr15-line); }
.pr15-page .pr15-material>.pr15-demo-label { color:var(--pr15-purple); }
.pr15-page .pr15-material>p { font-size:14px; color:var(--pr15-muted); margin-top:8px; }
.pr15-page .pr15-material dl { margin:25px 0 17px; }
.pr15-page .pr15-material dl div { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--pr15-line); padding:10px 0; }
.pr15-page .pr15-material dt { font-size:12px; color:var(--pr15-muted); }
.pr15-page .pr15-material dd { font-size:14px; font-weight:650; margin:0; white-space:nowrap; }
.pr15-page .pr15-sync { border-radius:10px; padding:15px 17px; background:#eee5d4; color:#57432a; margin-top:20px; }
.pr15-page .pr15-sync strong { font-size:13px; font-weight:700; }
.pr15-page .pr15-sync p { font-size:14px; margin-top:4px; }
.pr15-page .pr15-sync[data-synced="true"] { color:#28563a; background:#deece1; }
.pr15-page .pr15-demo-button { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; margin-top:14px; border:1px solid #8873b8; color:var(--pr15-purple); border-radius:9px; background:white; padding:13px 15px; font:inherit; font-size:12px; font-weight:650; cursor:pointer; text-align:left; }
.pr15-page .pr15-material .pr15-demo-caption { font-size:12px; }
.pr15-page .pr15-section-note { font-size:14px; color:var(--pr15-muted); max-width:800px; margin-top:19px!important; }
.pr15-page .pr15-offline { background:var(--pr15-soft); border-radius:24px; padding:60px 42px; }
.pr15-page .pr15-offline-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; padding:0; margin:35px 0 0; list-style:none; }
.pr15-page .pr15-offline-steps>li { border-top:1px solid #c7bbde; padding-top:15px; }
.pr15-page .pr15-offline-steps span { font-size:12px; color:var(--pr15-purple); }
.pr15-page .pr15-offline-steps h3 { font-size:17px; margin:12px 0; }
.pr15-page .pr15-offline-steps p { font-size:14px; color:var(--pr15-muted); }
.pr15-page .pr15-offline-note { display:grid; grid-template-columns:220px 1fr; gap:30px; padding-top:27px; border-top:1px solid var(--pr15-line); margin-top:30px; font-size:12px; color:var(--pr15-muted); }
.pr15-page .pr15-offline-note strong { font-weight:650; color:var(--pr15-ink); font-size:14px; }
.pr15-page .pr15-scope-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:60px; }
.pr15-page .pr15-scope-list { list-style:none; margin:20px 0 0; padding:0; }
.pr15-page .pr15-scope-list li { border-bottom:1px solid var(--pr15-line); padding:16px 0; }
.pr15-page .pr15-scope-list strong { display:block; font-size:15px; font-weight:650; }
.pr15-page .pr15-scope-list span { display:block; font-size:13px; color:var(--pr15-muted); margin-top:4px; }
.pr15-page .pr15-scope-aside { padding:28px; border-radius:16px; background:#f6f5f7; }
.pr15-page .pr15-scope-aside p { font-size:14px; color:var(--pr15-muted); margin-top:18px; }
.pr15-page .pr15-scope-aside a { margin-top:24px; }
.pr15-page .pr15-acceptance { display:grid; grid-template-columns:1fr 2.1fr; gap:30px; background:#f5f1fe; padding:25px 30px; margin-top:30px; border-radius:14px; }
.pr15-page .pr15-acceptance p { font-size:14px; }
.pr15-page .pr15-experience { display:grid; grid-template-columns:1fr 1fr; gap:40px 55px; border-top:1px solid var(--pr15-line); }
.pr15-page .pr15-case-copy>p:not(.pr15-kicker) { font-size:14px; margin-top:20px; }
.pr15-page .pr15-case-copy .pr15-case-boundary { color:var(--pr15-muted); font-size:14px!important; border-left:2px solid #baacdf; padding-left:16px; }
.pr15-page .pr15-case-copy a { margin-top:22px; }
.pr15-page .pr15-case-image { align-self:center; }
.pr15-page .pr15-case-image img { width:100%; aspect-ratio:1.4; border-radius:14px; }
.pr15-page .pr15-case-image figcaption { font-size:12px; color:var(--pr15-muted); margin-top:12px; }
.pr15-page .pr15-frost { grid-column:1/-1; display:grid; grid-template-columns:240px 1fr; gap:30px; border-top:1px solid var(--pr15-line); padding-top:23px; font-size:13px; }
.pr15-page .pr15-frost strong { font-weight:650; }
.pr15-page .pr15-options { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.pr15-page .pr15-options article { border-top:2px solid #c0b2e0; padding-top:19px; }
.pr15-page .pr15-option-label { display:block; color:var(--pr15-purple); font-size:12px; margin-bottom:13px; font-weight:650; }
.pr15-page .pr15-options h3 { font-size:19px; max-width:18ch; line-height:1.45; }
.pr15-page .pr15-options p { color:var(--pr15-muted); font-size:14px; margin-top:14px; }
.pr15-page .pr15-estimate-grid { display:grid; grid-template-columns:1fr 1fr; gap:65px; margin-top:48px; padding-top:35px; border-top:1px solid var(--pr15-line); }
.pr15-page .pr15-estimate-grid p { font-size:14px; color:var(--pr15-muted); margin-top:16px; }
.pr15-page .pr15-inputs { padding-left:19px; margin-top:16px; font-size:14px; }
.pr15-page .pr15-inputs li { padding-left:3px; margin-bottom:8px; }
.pr15-page .pr15-faq { max-width:1000px; }
.pr15-page .pr15-related { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; padding:20px 0 60px; }
.pr15-page .pr15-related a { display:grid; grid-template-columns:1fr 20px; gap:12px; border-top:1px solid var(--pr15-line); padding:20px 0; text-decoration:none; }
.pr15-page .pr15-related span { grid-column:1/-1; color:var(--pr15-muted); font-size:14px; text-transform:uppercase; letter-spacing:.05em; }
.pr15-page .pr15-related strong { font-size:14px; font-weight:650; }
.pr15-page .pr15-final { margin:0 0 75px; padding:45px 42px; border-radius:22px; background:#382d58; display:grid; grid-template-columns:1.6fr 1fr; gap:40px; }
.pr15-page .pr15-final .pr15-kicker { color:#d2c0ff; }
.pr15-page .pr15-final h2 { color:#fff; font-size:clamp(28px,3vw,40px); }
.pr15-page .pr15-final p { margin-top:20px; color:#e6e0f0; font-size:14px; }
.pr15-page .pr15-final .pr15-geography { font-size:14px; color:#d2c4e5; }
.pr15-page .pr15-final .commercial-actions { justify-content:center; align-items:stretch; gap:14px; }
.pr15-page .pr15-final .commercial-button { color:#382d58; }
.pr15-page .pr15-final-contact { color:#e8dff8!important; text-align:center; font-size:12px; }
@media (max-width:1100px) {
 .pr15-page .pr15-hero { gap:30px; }
 .pr15-page .pr15-actions { flex-direction:column; align-items:flex-start; gap:15px; }
 .pr15-page .pr15-hero-art { min-height:530px; }
 .pr15-page .pr15-offline-steps { grid-template-columns:repeat(2,1fr); }
 .pr15-page .pr15-experience { gap:30px; }
}
@media (max-width:900px) {
 .pr15-page .pr15-hero { grid-template-columns:1fr; gap:32px; }
 .pr15-page .pr15-hero-copy { max-width:700px; }
 .pr15-page .pr15-hero h1 { font-size:46px; max-width:670px; }
 .pr15-page .pr15-actions { flex-direction:row; align-items:center; }
 .pr15-page .pr15-hero-art { min-height:0; height:370px; }
 .pr15-page .pr15-hero-art img { object-position:50% 35%; }
 .pr15-page .pr15-demo-grid,.pr15-page .pr15-scope-grid,.pr15-page .pr15-experience,.pr15-page .pr15-estimate-grid { grid-template-columns:1fr; gap:30px; }
 .pr15-page .pr15-material { border-left:0; border-top:1px solid var(--pr15-line); }
 .pr15-page .pr15-case-image { max-width:680px; }
 .pr15-page .pr15-case-image img { width:100%; }
 .pr15-page .pr15-options { gap:20px; }
 .pr15-page .pr15-final { grid-template-columns:1fr; gap:25px; }
 .pr15-page .pr15-final .commercial-actions { align-items:flex-start; }
}
@media (max-width:600px) {
 .pr15-page .pr15-container { width:calc(100% - 32px); }
 .pr15-page .pr15-crumb { padding:18px 0 24px; font-size:12px; }
 .pr15-page .pr15-hero { padding:10px 0 35px; }
 .pr15-page .pr15-hero h1 { font-size:clamp(34px,8.7vw,45px); }
 .pr15-page .pr15-kicker { font-size:12px; letter-spacing:.09em; margin-bottom:15px!important; }
 .pr15-page .pr15-lead { font-size:16px; margin-top:22px!important; }
 .pr15-page .pr15-buyer { font-size:14px; }
 .pr15-page .pr15-actions { flex-direction:column; align-items:stretch; gap:18px; }
 .pr15-page .pr15-actions .pr15-text-link { justify-content:center; font-size:14px; }
 .pr15-page .pr15-proof-short { font-size:14px; }
 .pr15-page .pr15-hero-art { height:340px; border-radius:16px; }
 .pr15-page .pr15-hero-art img { object-position:65% center; }
 .pr15-page .pr15-art-label { left:15px; bottom:37px; padding:12px 15px; }
 .pr15-page .pr15-art-label strong { font-size:18px; }
 .pr15-page .pr15-section-nav { gap:8px 16px; padding:18px 0; }
 .pr15-page .pr15-section-nav a { font-size:14px; min-height:35px; display:flex; align-items:center; }
 .pr15-page .pr15-section { padding:52px 0; }
 .pr15-page .pr15-main h2 { font-size:30px; }
 .pr15-page .pr15-main h3 { font-size:19px; }
 .pr15-page .pr15-section-head>p:not(.pr15-kicker) { font-size:14px; margin-top:19px; }
 .pr15-page .pr15-desktop { display:none; }
 .pr15-page .pr15-demo-header { flex-direction:column; align-items:flex-start; padding:23px 20px; }
 .pr15-page .pr15-demo-header h3 { font-size:18px; }
 .pr15-page .pr15-demo-label { font-size:12px; }
 .pr15-page .pr15-timeline,.pr15-page .pr15-material { padding:24px 20px; }
 .pr15-page .pr15-timeline li { grid-template-columns:39px 1fr; gap:17px; }
 .pr15-page .pr15-timeline li:before { left:46px; }
 .pr15-page .pr15-timeline li:after { left:42px; }
 .pr15-page .pr15-timeline time { font-size:12px; }
 .pr15-page .pr15-timeline p { font-size:14px; }
 .pr15-page .pr15-timeline strong { font-size:14px; }
 .pr15-page .pr15-material dl div { gap:9px; }
 .pr15-page .pr15-material dt { font-size:12px; }
 .pr15-page .pr15-material dd { font-size:12px; }
 .pr15-page .pr15-offline { padding:34px 22px; border-radius:16px; }
 .pr15-page .pr15-offline-steps { grid-template-columns:1fr; gap:23px; }
 .pr15-page .pr15-offline-note,.pr15-page .pr15-acceptance,.pr15-page .pr15-frost { grid-template-columns:1fr; gap:12px; }
 .pr15-page .pr15-scope-grid { gap:24px; }
 .pr15-page .pr15-scope-aside { padding:24px 20px; }
 .pr15-page .pr15-acceptance { padding:23px 20px; }
 .pr15-page .pr15-acceptance h3 { font-size:18px; }
 .pr15-page .pr15-options { grid-template-columns:1fr; gap:28px; }
 .pr15-page .pr15-estimate-grid { gap:28px; }
 .pr15-page .pr15-related { grid-template-columns:1fr; gap:4px; padding:0 0 35px; }
 .pr15-page .pr15-final { padding:30px 23px; margin-bottom:40px; }
 .pr15-page .pr15-final .commercial-actions { align-items:stretch; }
 .pr15-page .pr15-final-contact { min-height:35px; }
}
@media (prefers-reduced-motion:reduce) { .pr15-page .pr15-main * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Keep the lead button arrow beside its label at narrow dialog widths. */
.pr15-page .modal:has(.lead-contact) .action .form-btn { display:flex; align-items:center; justify-content:center; gap:14px; }
.pr15-page .modal:has(.lead-contact) .action .form-btn svg { flex:0 0 36px; margin:0; }
@media (max-width:600px) { .pr15-page .modal:has(.lead-contact) .action .form-btn { font-size:13px; padding:17px 18px; } }


/* 2026-10-03: shared 13FOX spacing and readable UI refinement. */
.pr15-page .pr15-container { box-sizing:border-box; width:100%; max-width:1320px; margin-inline:auto; padding-inline:15px; }
.commercial-page .pr15-crumb { gap:8px; font-size:16px; line-height:1.5; }
.commercial-page .pr15-faq > details { border:1px solid var(--commercial-border); border-radius:18px; background:#fff; padding:0; }
.commercial-page .pr15-faq > details > summary { font-size:17px; line-height:1.5; padding:20px 58px 20px 22px; }
.commercial-page .pr15-faq > details > :not(summary) { padding-left:22px; padding-right:22px; }
@media(max-width:600px) {
 .commercial-page .pr15-crumb { font-size:15px; }
 .commercial-page .pr15-faq > details > summary { font-size:16px; padding:18px 52px 18px 18px; }
 .commercial-page .pr15-faq > details > :not(summary) { padding-left:18px; padding-right:18px; }
}
.commercial-page.pr15-page main .commercial-button { border-radius:14px; }
.commercial-page.pr15-page .pr15-offline-note p,
.commercial-page.pr15-page .pr15-frost p { font-size:14px; }
