/* Home only. A real repair interrupts exposition; cooperation remains the goal. */
.f-hm-hero { display:grid; gap:30px; padding-top:32px; }
.f-hm-intro h1 { font-size:clamp(42px,6.2vw,78px); line-height:1.02; letter-spacing:-.052em; }
.f-hm-intro h1 span { color:var(--blue); }
.f-hm-intro .f-lead { margin-top:22px; max-width:490px; font-size:17px; line-height:1.55; }
.f-hm-intro>.f-button { margin-top:24px; }
.f-hm-small { font-size:12px; line-height:1.6; margin-top:16px; color:var(--muted); }
.f-hm-intro>.f-hm-small { max-width:355px; }
.f-hm-workshop { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:20px; min-width:0; }
.f-hm-workshop>img { width:100%; height:auto; border-radius:6px; }
.f-hm-workshop figcaption { display:grid; gap:18px; min-width:0; }
.f-hm-capacity { display:flex; flex-direction:column; gap:7px; }
.f-hm-capacity strong { font-size:76px; line-height:.9; letter-spacing:-.075em; font-weight:650; }
.f-hm-capacity>span { font-size:14px; line-height:1.35; font-weight:600; }
.f-hm-proof { display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.4; }
.f-hm-proof .f-icon { width:18px; height:18px; color:var(--green-dark); }
.f-hm-next { display:flex; justify-content:space-between; align-items:center; gap:22px; min-height:68px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:13px; line-height:1.5; font-weight:600; }
.f-hm-next>span:last-child { font-size:24px; color:var(--green-dark); }
.f-hm-evidence { padding-block:52px; scroll-margin-top:95px; }
.f-hm-heading { display:grid; gap:18px; margin-bottom:27px; }
.f-hm-heading h2 { font-size:clamp(32px,4.3vw,50px); line-height:1.09; }
.f-hm-heading>p { max-width:340px; font-size:16px; }
.f-hm-heading>.f-text-link { align-self:end; }
.f-hm-story { border:1px solid #d5dfe7; border-radius:8px; overflow:hidden; background:#f2f5f8; }
.f-hm-story-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:white; border-bottom:1px solid #d5dfe7; }
.f-hm-story-tabs button { display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding:14px 12px; background:white; color:#496073; border:0; border-bottom:3px solid transparent; font-size:12px; font-weight:600; line-height:1.4; text-align:left; }
.f-hm-story-tabs button+button { border-left:1px solid #d5dfe7; }
.f-hm-story-tabs button span { font-variant-numeric:tabular-nums; color:var(--blue); font-size:12px; }
.f-hm-story-tabs button[aria-current] { color:var(--ink); background:#edf6f0; border-bottom-color:var(--green-dark); }
.f-home-story-rail { display:flex; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#95abbc #e2e9ef; position:relative; }
.f-home-story-page { flex:0 0 100%; min-width:0; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:18px; padding:20px 16px; scroll-snap-align:start; scroll-snap-stop:always; }
.f-hm-story-photo { min-width:0; }
.f-hm-story-photo img { width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; background:#142c42; border-radius:4px; }
.f-hm-story-photo figcaption { font-size:10px; line-height:1.4; color:var(--muted); margin-top:8px; }
.f-hm-story-copy { min-width:0; }
.f-hm-story-copy .f-eyebrow { font-size:10px; letter-spacing:.06em; margin-bottom:13px; }
.f-hm-story-copy h3 { font-size:23px; line-height:1.15; text-wrap:initial; }
.f-hm-story-copy h3 br { display:none; }
.f-hm-story-copy>p:not(.f-eyebrow) { font-size:13px; line-height:1.6; margin-top:15px; }
.f-hm-takeaway { grid-column:1/-1; display:flex; gap:8px; border-top:1px solid #cbd7e0; padding-top:15px; font-size:12px; line-height:1.5; font-weight:550; }
.f-hm-video-stage { position:relative; aspect-ratio:9/16; width:100%; }
.f-hm-video-stage>a { position:absolute; left:8px; right:8px; bottom:14px; display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; border:1px solid #ffffff80; background:#10283fee; color:white; font-weight:600; font-size:12px; border-radius:4px; }
.f-hm-video-stage>a span { font-size:17px; }.f-hm-video-stage>iframe { width:100%; height:100%; border:0; position:absolute; inset:0; }
.f-hm-video-stage .f-video-stop { top:8px; left:8px; right:8px; bottom:auto; width:calc(100% - 16px); min-height:44px; font-size:12px; }
.f-hm-takeaway .f-icon { width:17px; height:17px; color:var(--green-dark); }
.f-hm-story-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; background:white; padding:14px 16px; border-top:1px solid #d5dfe7; }
.f-hm-story-bottom .f-text-link { font-size:13px; text-decoration:none; }
.f-hm-story-controls { display:flex; align-items:center; gap:8px; width:100%; justify-content:flex-end; }
.f-hm-story-controls>span { margin-right:auto; color:var(--muted); font-size:11px; }
.f-hm-story-controls>button { width:44px; height:44px; border:1px solid #c4d2dd; background:white; border-radius:4px; color:var(--ink); font-size:20px; }
.f-hm-story-controls>button:hover:not(:disabled) { background:#eaf3ee; }
.f-hm-story :focus-visible { outline-offset:-4px; }
.f-hm-approval-note { display:flex; gap:12px; align-items:flex-start; margin-top:22px; }
.f-hm-approval-note>.f-icon { color:var(--green-dark); width:23px; }
.f-hm-approval-note p { color:var(--ink); font-size:14px; line-height:1.55; }
.f-hm-approval-note strong { font-weight:600; }
.f-hm-approval-note a { display:flex; align-items:center; gap:8px; min-height:38px; color:var(--blue); font-size:13px; }
.f-hm-approval-note a .f-icon { width:16px; height:16px; }
.f-hm-cooperation { background:var(--ink); padding-block:48px; color:white; }
.f-hm-cooperation-inner { display:grid; gap:38px; }
.f-hm-cooperation-copy .f-eyebrow { color:#81dda7; }
.f-hm-cooperation-copy h2 { font-size:clamp(33px,4.2vw,50px); line-height:1.08; }
.f-hm-cooperation-copy>p:not(.f-eyebrow) { color:#c5d6e2; font-size:16px; line-height:1.6; margin-top:22px; max-width:465px; }
.f-hm-cooperation-copy .f-button { margin-top:25px; }
.f-hm-contact-flow { min-width:0; }
.f-hm-flow-node { display:grid; grid-template-columns:48px minmax(0,1fr); gap:17px; position:relative; padding-bottom:28px; }
.f-hm-flow-node:not(:nth-of-type(3)):after { content:''; position:absolute; left:23px; top:55px; bottom:7px; width:1px; background:#608394; }
.f-hm-flow-icon { display:grid; place-items:center; width:48px; height:48px; border:1px solid #6a8497; border-radius:5px; }
.f-hm-flow-node--service .f-hm-flow-icon { background:#24c66a; color:#10283f; border-color:#24c66a; }
.f-hm-flow-node h3 { font-size:23px; line-height:1.2; }
.f-hm-flow-node p { color:#c5d6e2; font-size:14px; margin-top:6px; }
.f-hm-flow-node a { color:#8fe7b3; display:inline-block; padding-block:8px; font-size:12px; }
.f-hm-flow-more { display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid #496073; padding-top:17px; min-height:48px; font-size:14px; }
.f-hm-services { padding-block:54px; }
.f-hm-service-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
.f-hm-service-links>a { display:grid; grid-template-columns:1fr 16px; align-items:center; gap:11px 6px; border-top:1px solid #ccd8e1; padding-block:20px; font-size:16px; line-height:1.3; font-weight:600; }
.f-hm-service-links>a>.f-icon:first-child { grid-column:1/-1; width:28px; height:28px; color:var(--blue); }
.f-hm-service-links>a>.f-icon:last-child { width:16px; height:16px; color:var(--green-dark); }
.f-hm-service-links>a:hover { color:var(--blue); text-decoration:none; }
.f-hm-cases { background:#f2f5f8; padding-block:48px; }
.f-hm-case-stories { display:grid; gap:25px; }
.f-hm-case-story { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:20px; align-items:center; }
.f-hm-case-story+.f-hm-case-story { padding-top:24px; border-top:1px solid #ccd8e1; }
.f-hm-case-image { align-self:stretch; display:flex; align-items:center; background:#e2e9ef; overflow:hidden; border-radius:5px; }
.f-hm-case-image img { width:100%; height:auto; max-height:260px; object-fit:contain; }
.f-hm-case-story h3 { font-size:27px; }
.f-hm-case-story .f-eyebrow { font-size:10px; margin-bottom:12px; }
.f-hm-case-story p:not(.f-eyebrow) { font-size:14px; line-height:1.5; margin-top:12px; }
.f-hm-case-arrow { width:44px; height:44px; display:grid; place-items:center; border:1px solid #bccedb; border-radius:4px; margin-top:16px; }
.f-hm-case-arrow:hover { background:white; }
.f-hm-cases .f-hm-small { max-width:570px; margin-top:23px; }
.f-hm-start { display:grid; gap:42px; padding-block:54px 65px; }
.f-hm-start-main h2 { font-size:clamp(35px,4.5vw,55px); }
.f-hm-start-main>p:not(.f-eyebrow) { margin-top:20px; max-width:425px; }
.f-hm-start-main .f-actions { margin-top:25px; }
.f-hm-cost-link { display:block; color:var(--muted); font-size:12px; margin-top:17px; padding-block:6px; max-width:420px; }
.f-hm-area { border-top:1px solid var(--line); padding-top:32px; }
.f-hm-area h3 { font-size:27px; }.f-hm-area>p:not(.f-eyebrow) { font-size:14px; margin-top:12px; }
.f-hm-city-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; margin-block:23px 15px; }
.f-hm-city-links>a { display:flex; align-items:center; justify-content:space-between; gap:6px; padding-block:13px; border-top:1px solid var(--line); font-size:15px; font-weight:550; }
.f-hm-city-links>a>span { color:var(--green-dark); }
.f-hm-area .f-text-link { font-size:13px; }
@media(min-width:600px) {
 .f-hm-hero { gap:36px; }
 .f-hm-workshop { max-width:640px; grid-template-columns:1.2fr 1fr; gap:35px; }
 .f-hm-workshop figcaption { gap:24px; }.f-hm-capacity strong { font-size:94px; }.f-hm-capacity>span { font-size:18px; }
 .f-hm-proof { font-size:15px; }.f-hm-proof .f-icon { width:23px; height:23px; }
 .f-home-story-page { padding:32px; gap:35px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
 .f-hm-story-photo { max-width:270px; }.f-hm-story-copy h3 { font-size:36px; }.f-hm-story-copy>p:not(.f-eyebrow) { font-size:16px; }.f-hm-story-copy .f-eyebrow { font-size:11px; }
 .f-hm-takeaway { font-size:14px; padding-top:22px; }.f-hm-takeaway .f-icon { width:22px; height:22px; }
 .f-hm-story-tabs button { flex-direction:row; gap:10px; padding:19px 23px; font-size:14px; }.f-hm-story-tabs button span { font-size:14px; }
 .f-hm-story-bottom { padding:18px 27px; }.f-hm-story-controls { width:auto; }
 .f-hm-service-links>a { grid-template-columns:30px minmax(0,1fr) 18px; gap:15px; font-size:20px; padding-block:28px; }.f-hm-service-links>a>.f-icon:first-child { grid-column:auto; }
 .f-hm-case-stories { gap:30px; }.f-hm-case-story { gap:30px; }.f-hm-case-story h3 { font-size:36px; }.f-hm-case-story p:not(.f-eyebrow) { font-size:18px; }
}
@media(min-width:1024px) {
 .f-hm-hero { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:30px 65px; align-items:center; padding-top:46px; }
 .f-hm-intro .f-lead { font-size:19px; margin-top:28px; }.f-hm-intro>.f-button { margin-top:27px; }
 .f-hm-workshop { display:block; position:relative; width:100%; max-width:475px; justify-self:end; padding-right:65px; padding-bottom:24px; }
 .f-hm-workshop figcaption { position:absolute; right:0; bottom:0; width:194px; gap:15px; background:white; padding:23px; border:1px solid #dce4e9; border-radius:5px; box-shadow:0 8px 26px #10283f0b; }
 .f-hm-capacity { flex-direction:row; align-items:flex-end; gap:12px; }.f-hm-capacity strong { font-size:66px; }.f-hm-capacity>span { font-size:13px; }
 .f-hm-proof { font-size:12px; }.f-hm-proof .f-icon { width:18px; height:18px; }
 .f-hm-next { grid-column:1/-1; margin-top:15px; font-size:14px; }
 .f-hm-evidence { padding-block:72px; }.f-hm-heading { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); align-items:end; gap:70px; margin-bottom:35px; }
 .f-hm-heading>.f-text-link { justify-self:end; }.f-hm-heading>p { justify-self:end; }
 .f-home-story-page { grid-template-columns:300px minmax(0,1fr); grid-template-rows:1fr auto 1fr; gap:0 64px; padding:35px 70px; }.f-hm-story-photo { grid-column:1; grid-row:1/4; max-width:256px; margin:auto; }.f-hm-story-copy { grid-column:2; grid-row:1/3; align-self:end; }.f-hm-story-photo img { max-height:455px; width:auto; max-width:100%; margin:auto; }.f-hm-story-photo figcaption { text-align:center; font-size:12px; }
 .f-hm-story-copy h3 { font-size:43px; }.f-hm-story-copy h3 br { display:initial; }.f-hm-story-copy>p:not(.f-eyebrow) { font-size:18px; max-width:490px; line-height:1.6; margin-top:22px; }
 .f-hm-story-copy .f-eyebrow { font-size:12px; }.f-hm-takeaway { grid-column:2; grid-row:3; align-self:start; max-width:430px; margin-top:32px; padding-top:24px; font-size:15px; }
 .f-hm-story-tabs button { gap:14px; padding:21px 35px; font-size:16px; }.f-hm-story-bottom { padding-inline:35px; }.f-hm-story-bottom .f-text-link { font-size:15px; }
 .f-hm-story-controls>span { font-size:12px; margin-right:15px; }
 .f-hm-approval-note { align-items:center; }.f-hm-approval-note p { display:flex; align-items:center; gap:25px; font-size:16px; }
 .f-hm-cooperation { padding-block:65px; }.f-hm-cooperation-inner { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:90px; align-items:center; }
 .f-hm-flow-node { grid-template-columns:55px minmax(0,1fr); gap:24px; padding-bottom:31px; }.f-hm-flow-icon { width:55px; height:55px; }.f-hm-flow-node:not(:nth-of-type(3)):after { left:27px; top:62px; }.f-hm-flow-node h3 { font-size:27px; }.f-hm-flow-node p { font-size:16px; }
 .f-hm-services { padding-block:72px; }.f-hm-service-links { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:35px; }.f-hm-service-links>a { font-size:20px; min-height:100px; }
 .f-hm-cases { padding-block:65px; }.f-hm-case-stories { grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px; }.f-hm-case-story { gap:26px; }.f-hm-case-story+.f-hm-case-story { padding:0; border:0; }.f-hm-case-story h3 { font-size:31px; }.f-hm-case-story p:not(.f-eyebrow) { font-size:16px; }
 .f-hm-start { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:85px; padding-block:75px 90px; align-items:start; }.f-hm-area { border-top:0; border-left:1px solid var(--line); padding-top:0; padding-left:50px; }.f-hm-start-main>.f-eyebrow { margin-bottom:20px; }
}
@media(max-width:359px) {
 .f-hm-intro h1 { font-size:37px; }.f-hm-workshop { gap:15px; }.f-hm-capacity strong { font-size:65px; }.f-hm-proof { font-size:11px; }.f-hm-intro>.f-button { padding-inline:15px; gap:10px; font-size:14px; }
 .f-home-story-page { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); padding:18px 12px; gap:13px; }.f-hm-story-copy h3 { font-size:20px; }.f-hm-story-copy>p:not(.f-eyebrow) { font-size:12px; }.f-hm-takeaway { font-size:11px; gap:5px; }.f-hm-story-tabs button { padding-inline:9px; font-size:11px; }
 .f-hm-cooperation-copy h2 { font-size:30px; }.f-hm-service-links { column-gap:15px; }.f-hm-service-links>a { font-size:15px; }.f-hm-case-story { gap:15px; }.f-hm-case-story h3 { font-size:23px; }
}
