/* Forever Machinery design system (2026-11-01).
 * One grid for header, content and footer: 1320px max, 24px side gutter.
 * Brand teal #06313C, sand #F6F3F0, Roboto. Copper is the only accent. */
:root{--fm-teal:#06313C;--fm-teal-2:#0B4452;--fm-ink:#1D2B2F;--fm-text:#3A4A4E;--fm-muted:#66777B;--fm-sand:#F6F3F0;--fm-sand-2:#EDE7E0;--fm-line:#D9D2C9;--fm-tint:#E6EEF0;--fm-copper:#A65E24;--fm-white:#FFFFFF;--fm-wrap:1320px;--fm-gutter:24px;--fm-r:4px;--fm-font:'Roboto',Arial,sans-serif;--fm-cond:'Roboto Condensed','Roboto',Arial,sans-serif}

/* ---- One grid site-wide: header box and footer match the content width ---- */
.elementor-3610 .elementor-element-b004281>.e-con-inner{max-width:calc(var(--fm-wrap) + 2*var(--fm-gutter))!important;padding-left:var(--fm-gutter);padding-right:var(--fm-gutter)}

/* ---- Layout ---- */
.fm-ds{font-family:var(--fm-font);color:var(--fm-text);font-size:17px;line-height:1.65}
.fm-ds *,.fm-ds *:before,.fm-ds *:after{box-sizing:border-box}
.fm-ds-wrap{width:100%;max-width:calc(var(--fm-wrap) + 2*var(--fm-gutter));margin:0 auto;padding-left:var(--fm-gutter);padding-right:var(--fm-gutter)}
.fm-ds-sec{padding:88px 0;background:var(--fm-white)}
.fm-ds-sec.is-sand{background:var(--fm-sand)}
.fm-ds-sec.is-tight{padding:56px 0}
.fm-ds-sec+.fm-ds-sec.is-white-cont{padding-top:0}
.fm-ds-grid{display:grid;gap:32px}
.fm-ds-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fm-ds-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fm-ds-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fm-ds-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}

/* ---- Type ---- */
.fm-ds h1,.fm-ds h2,.fm-ds h3,.fm-ds h4{font-family:var(--fm-font);color:var(--fm-teal);margin:0;text-wrap:balance;letter-spacing:-.01em}
.fm-ds h1{font-size:52px;line-height:1.08;font-weight:700;color:var(--fm-white)}
.fm-ds h2{font-size:38px;line-height:1.15;font-weight:700;margin-bottom:18px}
.fm-ds h3{font-size:20px;line-height:1.3;font-weight:700;margin-bottom:8px;color:var(--fm-ink)}
.fm-ds p{margin:0 0 14px;color:var(--fm-text);font-size:17px;line-height:1.65}
.fm-ds p:last-child{margin-bottom:0}
.fm-ds a{color:var(--fm-teal);text-decoration:underline;text-decoration-color:var(--fm-copper);text-underline-offset:3px;font-weight:500}
.fm-ds a:hover{color:var(--fm-copper)}
.fm-ds-label{display:block;font-family:var(--fm-cond);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fm-copper);margin:0 0 12px}
.fm-ds-lead{font-size:19px;line-height:1.6;max-width:760px}
.fm-ds-head{max-width:820px;margin-bottom:40px}
.fm-ds ul.fm-ds-list{list-style:none;margin:0;padding:0}
.fm-ds ul.fm-ds-list li{position:relative;padding:10px 0 10px 22px;border-top:1px solid var(--fm-line);font-size:16px;line-height:1.55;color:var(--fm-text)}
.fm-ds ul.fm-ds-list li:last-child{border-bottom:1px solid var(--fm-line)}
.fm-ds ul.fm-ds-list li:before{content:'';position:absolute;left:0;top:19px;width:8px;height:8px;background:var(--fm-copper)}

/* ---- Buttons ---- */
.fm-ds .fm-ds-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:var(--fm-r);background:var(--fm-teal);color:var(--fm-white);font-weight:700;font-size:15px;letter-spacing:.02em;text-decoration:none;border:1px solid var(--fm-teal)}
.fm-ds .fm-ds-btn:hover{background:var(--fm-teal-2);color:var(--fm-white)}
.fm-ds .fm-ds-btn.is-ghost{background:transparent;color:var(--fm-white);border-color:rgba(255,255,255,.55)}
.fm-ds .fm-ds-btn.is-ghost:hover{border-color:var(--fm-white);background:rgba(255,255,255,.08)}
.fm-ds .fm-ds-btn.is-light{background:var(--fm-white);color:var(--fm-teal);border-color:var(--fm-white)}
.fm-ds-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* ---- Hero ---- */
.fm-ds-hero{background:var(--fm-teal);padding:168px 0 72px;position:relative;overflow:hidden}
.fm-ds-hero .fm-ds-split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}
.fm-ds-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:rgba(255,255,255,.7);margin:0 0 22px;padding:0;list-style:none}
.fm-ds-crumbs li+li:before{content:'/';margin-right:8px;color:rgba(255,255,255,.4)}
.fm-ds .fm-ds-crumbs a{color:rgba(255,255,255,.85);text-decoration:none;font-weight:400}
.fm-ds .fm-ds-crumbs a:hover{color:var(--fm-white)}
.fm-ds-hero .fm-ds-label{color:#E2A36B}
.fm-ds-hero .fm-ds-sub{font-size:21px;line-height:1.45;color:rgba(255,255,255,.88);margin:18px 0 0;max-width:640px;font-weight:400}
.fm-ds-hero-img{border-radius:var(--fm-r);overflow:hidden;aspect-ratio:4/3;max-width:100%}
.fm-ds-hero-img img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- Facts strip (sits under the hero) ---- */
.fm-ds-facts{background:var(--fm-teal-2);border-top:1px solid rgba(255,255,255,.12)}
.fm-ds-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.fm-ds-facts dl>div{padding:24px 24px 24px 0;border-right:1px solid rgba(255,255,255,.14);margin-right:24px}
.fm-ds-facts dl>div:last-child{border-right:0;margin-right:0}
.fm-ds-facts dt{font-family:var(--fm-cond);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#E2A36B;margin:0 0 6px}
.fm-ds-facts dd{margin:0;color:var(--fm-white);font-size:16px;line-height:1.45;font-weight:500}

/* ---- Product navigation ---- */
.fm-ds-prodnav{border-bottom:1px solid var(--fm-line);background:var(--fm-white)}
.fm-ds-prodnav ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}
.fm-ds-prodnav li{border-right:1px solid var(--fm-line)}
.fm-ds-prodnav li:first-child{border-left:1px solid var(--fm-line)}
.fm-ds .fm-ds-prodnav a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 20px;color:var(--fm-ink);text-decoration:none;font-weight:600;font-size:16px;line-height:1.35}
.fm-ds .fm-ds-prodnav a:after{content:'\2192';color:var(--fm-copper);font-weight:400}
.fm-ds .fm-ds-prodnav a:hover{background:var(--fm-sand);color:var(--fm-teal)}

/* ---- Cards, tables, figures ---- */
.fm-ds-card{background:var(--fm-white);border:1px solid var(--fm-line);border-radius:var(--fm-r);padding:28px}
.fm-ds-sec.is-white .fm-ds-card,.fm-ds-sec:not(.is-sand) .fm-ds-card{background:var(--fm-sand)}
.fm-ds-card p{font-size:16px}
.fm-ds-table{overflow-x:auto;border:1px solid var(--fm-line);border-radius:var(--fm-r);background:var(--fm-white)}
.fm-ds table{width:100%;border-collapse:collapse;min-width:680px;margin:0;border:0}
.fm-ds th,.fm-ds td{padding:15px 20px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--fm-line);font-size:16px;line-height:1.55;color:var(--fm-text);background:transparent}
.fm-ds th{background:var(--fm-tint);color:var(--fm-teal);font-family:var(--fm-cond);font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.fm-ds td:first-child{color:var(--fm-ink);font-weight:600}
.fm-ds tr:last-child td{border-bottom:0}
.fm-ds-figure{margin:0;border-radius:var(--fm-r);overflow:hidden;aspect-ratio:4/3}
.fm-ds-figure img{width:100%;height:100%;object-fit:cover;display:block}
.fm-ds-figure figcaption{font-size:14px;color:var(--fm-muted);padding-top:10px}

/* ---- Service areas ---- */
.fm-ds-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--fm-line)}
.fm-ds-area{padding:22px 24px 22px 0;border-bottom:1px solid var(--fm-line)}
.fm-ds-area h3{font-size:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.fm-ds-tag{font-family:var(--fm-cond);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-copper);border:1px solid currentColor;border-radius:2px;padding:2px 6px;font-weight:600;line-height:1.4}
.fm-ds-area p{font-size:15px;line-height:1.6;color:var(--fm-muted);margin:0}
.fm-ds-region{margin-top:48px}
.fm-ds-region:first-child{margin-top:0}
.fm-ds-region-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.fm-ds-region-head h3{font-size:24px;color:var(--fm-teal);margin:0}

/* ---- Offices ---- */
.fm-ds-office{display:flex;flex-direction:column;gap:6px}
.fm-ds-office .fm-ds-label{margin-bottom:4px}
.fm-ds-office address{font-style:normal;font-size:15px;line-height:1.55;color:var(--fm-text)}
.fm-ds-map iframe{width:100%;height:320px;border:0;border-radius:var(--fm-r);display:block}

/* ---- Stats ---- */
.fm-ds-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--fm-teal)}
.fm-ds-stats>div{padding:26px 24px 0 0}
.fm-ds-stats b{display:block;font-family:var(--fm-cond);font-size:48px;line-height:1;color:var(--fm-teal);font-weight:600;font-variant-numeric:tabular-nums}
.fm-ds-stats span{display:block;margin-top:8px;font-size:15px;color:var(--fm-muted)}

/* ---- FAQ ---- */
.fm-ds details{border-top:1px solid var(--fm-line);padding:0}
.fm-ds details:last-of-type{border-bottom:1px solid var(--fm-line)}
.fm-ds summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-weight:600;font-size:18px;line-height:1.4;color:var(--fm-ink)}
.fm-ds summary::-webkit-details-marker{display:none}
.fm-ds summary:after{content:'+';color:var(--fm-copper);font-size:24px;line-height:1;font-weight:400}
.fm-ds details[open] summary:after{content:'\2212'}
.fm-ds details>p{padding:0 0 20px;max-width:760px}
.fm-ds summary:focus-visible,.fm-ds a:focus-visible{outline:2px solid var(--fm-copper);outline-offset:3px}

/* ---- Region switcher and CTA band ---- */
.fm-ds-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.fm-ds .fm-ds-chips a{display:inline-block;padding:10px 16px;border:1px solid var(--fm-line);border-radius:var(--fm-r);background:var(--fm-white);color:var(--fm-ink);text-decoration:none;font-size:15px;font-weight:500}
.fm-ds .fm-ds-chips a:hover,.fm-ds .fm-ds-chips a[aria-current]{border-color:var(--fm-teal);color:var(--fm-teal)}
.fm-ds .fm-ds-chips a[aria-current]{background:var(--fm-tint)}
.fm-ds-cta{background:var(--fm-teal);padding:64px 0}
.fm-ds-cta .fm-ds-wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.fm-ds-cta h2{color:var(--fm-white);margin:0 0 8px;font-size:32px}
.fm-ds-cta p{color:rgba(255,255,255,.82);margin:0}
.fm-ds-cta .fm-ds-actions{margin-top:0}

/* ---- Elementor resets inside design-system sections ---- */
.e-con.fm-ds-shell,.e-con.fm-ds-shell>.e-con-inner{padding:0!important;max-width:none!important;gap:0!important}
.e-con.fm-ds-shell .elementor-widget-html{width:100%}

/* ---- Responsive ---- */
@media (max-width:1024px){.fm-ds-split,.fm-ds-hero .fm-ds-split{grid-template-columns:1fr;gap:40px}.fm-ds-g3,.fm-ds-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-ds-areas{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-ds-facts dl,.fm-ds-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-ds-facts dl>div:nth-child(2n){border-right:0;margin-right:0}.fm-ds-prodnav ul{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-ds-prodnav li{border-bottom:1px solid var(--fm-line)}.fm-ds h1{font-size:42px}.fm-ds-hero{padding-top:190px}.fm-ds-stats>div{padding-bottom:20px}}
@media (max-width:767px){:root{--fm-gutter:20px}.fm-ds-sec{padding:60px 0}.fm-ds-g2,.fm-ds-g3,.fm-ds-g4,.fm-ds-areas{grid-template-columns:1fr}.fm-ds-facts dl{grid-template-columns:1fr}.fm-ds-facts dl>div{border-right:0;margin-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:18px 0}.fm-ds-facts dl>div:last-child{border-bottom:0}.fm-ds-prodnav ul{grid-template-columns:1fr}.fm-ds-prodnav li{border-left:1px solid var(--fm-line)}.fm-ds h1{font-size:34px}.fm-ds h2{font-size:29px}.fm-ds-hero{padding:165px 0 48px}.fm-ds-hero .fm-ds-sub{font-size:18px}.fm-ds-stats b{font-size:38px}.fm-ds-cta h2{font-size:26px}.fm-ds-area{padding-right:0}}
@media (prefers-reduced-motion:reduce){.fm-ds *{transition:none!important}}

/* ---- Large screens (2026-11-02): scale the whole site up so it fills 2560px+ displays.
 * Steps also need enough height, because the homepage hero content needs about 960px after scaling.
 * zoom also multiplies vh units, so screen-height rules are divided by --fm-zoom. ---- */
@media (min-width:2560px) and (min-height:1200px){:root{--fm-zoom:1.25;zoom:1.25}}
@media (min-width:3200px) and (min-height:1440px){:root{--fm-zoom:1.5;zoom:1.5}}
@media (min-width:3840px) and (min-height:1920px){:root{--fm-zoom:2;zoom:2}}
@media (min-width:2560px){
.elementor-79 .elementor-element.elementor-element-6bd1df5{--min-height:calc(100vh / var(--fm-zoom,1))!important}
.cookieadmin_cookie_modal{max-height:calc(80vh / var(--fm-zoom,1))!important}
}

/* ---- Product page components ---- */
.fm-ds-sub.is-body{font-size:18px;line-height:1.6}
.fm-ds-hero .fm-ds-strong{color:#fff;font-weight:700;font-size:18px;margin:18px 0 0}
.fm-ds-facts.is-stats dl>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:6px}
.fm-ds-facts.is-stats dd{font-family:var(--fm-cond);font-size:32px;line-height:1.05;font-weight:600}
.fm-ds-facts.is-stats dt{margin:0}
.fm-ds .fm-ds-prodnav li[aria-current] a{background:var(--fm-tint);color:var(--fm-teal)}
.fm-ds-split.is-even{grid-template-columns:repeat(2,minmax(0,1fr))}
.fm-ds-subhead{font-size:24px!important;color:var(--fm-teal)!important;margin:48px 0 20px!important}
.fm-ds-subhead:first-child{margin-top:0!important}
.fm-ds-note{background:var(--fm-tint);padding:20px 24px;border-radius:var(--fm-r);margin-top:32px}
.fm-ds-note p{font-size:16px}
.fm-ds-foot{font-size:15px!important;color:var(--fm-muted)!important;margin-top:16px!important}
.fm-ds-imgs{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.fm-ds-imgs.is-one{grid-template-columns:1fr}
.fm-ds-imgs.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.fm-ds-shot{margin:0;min-width:0}
.fm-ds .fm-ds-zoom{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--fm-r);background:var(--fm-sand-2);cursor:zoom-in}
.fm-ds-zoom img{width:100%;height:100%;object-fit:cover;display:block}
.fm-ds-shot.is-contain .fm-ds-zoom{background:var(--fm-white);border:1px solid var(--fm-line)}
.fm-ds-shot.is-contain .fm-ds-zoom img{object-fit:contain;padding:8px}
.fm-ds-shot figcaption{padding-top:12px}
.fm-ds-shot figcaption h3{font-size:18px;margin-bottom:2px}
.fm-ds-shot figcaption p{font-size:15px;color:var(--fm-muted);margin:0}
.fm-ds ol.fm-ds-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:fmstep}
.fm-ds-steps li{counter-increment:fmstep;min-width:0}
.fm-ds-steps .fm-ds-zoom{margin-bottom:12px}
.fm-ds-steps h4{font-size:16px;line-height:1.35;color:var(--fm-ink);font-weight:700;display:flex;gap:10px;margin:0}
.fm-ds-steps h4:before{content:counter(fmstep);font-family:var(--fm-cond);color:var(--fm-copper);font-weight:600}
.fm-ds-row{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:56px;padding:48px 0;border-top:1px solid var(--fm-line);align-items:start}
.fm-ds-row:first-of-type{border-top:0;padding-top:0}
.fm-ds-row:last-child{padding-bottom:0}
.fm-ds-row.is-text{grid-template-columns:minmax(0,1fr)}
.fm-ds-row.is-text>div{max-width:860px}
.fm-ds-row h3{font-size:24px;color:var(--fm-teal);margin-bottom:12px}
.fm-ds-row .fm-ds-list{margin-top:18px}
.fm-ds-row .fm-ds-sublabel{font-weight:600;color:var(--fm-ink);margin-bottom:12px}
.fm-ds-mini h3{font-size:18px;margin-bottom:4px}
.fm-ds-card .fm-ds-sublabel{font-size:15px}
.fm-ds-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(3,31,39,.92);display:flex;align-items:center;justify-content:center;padding:24px;margin:0;border:0;width:100%;height:100%;max-width:none;max-height:none}
.fm-ds-lightbox img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.fm-ds-lightbox button{position:absolute;top:16px;right:16px;background:#fff;color:#06313C;border:0;border-radius:4px;padding:10px 16px;font:700 15px Roboto,Arial,sans-serif;cursor:pointer}
.fm-ds-other{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
@media (max-width:1024px){.fm-ds ol.fm-ds-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.fm-ds-row{grid-template-columns:1fr;gap:28px}.fm-ds-split.is-even,.fm-ds-other{grid-template-columns:1fr;gap:40px}}
@media (max-width:767px){.fm-ds ol.fm-ds-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fm-ds-imgs.is-three{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-ds-facts.is-stats dl{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-ds-facts.is-stats dl>div{border-bottom:0;padding:16px 12px 16px 0}.fm-ds-facts.is-stats dd{font-size:26px}}