/* FIBERME site design ("faceplate"), layered over site.css.
   One bold element — the model number set wide, like the silkscreen on a
   device — and everything around it quiet: navy, white, a cool panel grey
   and one amber for actions (a network port's activity light). */

@font-face{font-family:"FM Archivo";src:url("../fonts/archivo-var.woff") format("woff");font-weight:500 800;font-stretch:100% 125%;font-display:swap}
@font-face{font-family:"FM Plex";src:url("../fonts/plex-sans-var.woff") format("woff");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"FM Plex";src:url("../fonts/plex-sans-italic-var.woff") format("woff");font-weight:400 600;font-style:italic;font-display:swap}

:root{
  --fm-font:"FM Plex",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans Arabic",sans-serif;
  --fm-display:"FM Archivo","FM Plex",system-ui,sans-serif;
  --fm-panel:#F3F6FA;--fm-line:#DCE3EE;--fm-ink:#1F2A44;--fm-soft-ink:#46536E;
  --fm-text:var(--fm-ink);--fm-muted:#5B6782;--fm-border:var(--fm-line);--fm-bg-soft:var(--fm-panel);
  --fm-radius:16px;--fm-radius-sm:10px;--fm-radius-lg:22px;
  --fm-shadow:none;--fm-shadow-lg:0 12px 32px rgba(11,37,89,.10);
  --fm-ease:cubic-bezier(.2,.7,.25,1);--fm-ease-out:cubic-bezier(.16,1,.3,1)
}
body{font-size:17px;line-height:1.62;font-feature-settings:"ss02"}
h1,h2,h3,h4{font-family:var(--fm-display);font-weight:700;letter-spacing:-.015em;font-stretch:100%}
h1{letter-spacing:-.025em}
h5,h6{font-family:var(--fm-font);font-weight:600}
.fm-title--display{font-size:clamp(2.5rem,5.2vw,4.1rem);line-height:1.04}
.fm-title--xl{font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.08}
.fm-title--lg{font-size:clamp(1.65rem,2.8vw,2.3rem)}
.fm-title--md{font-size:1.3rem;line-height:1.25}
.fm-subtitle{color:var(--fm-soft-ink)}
.fm-prose{max-width:72ch}
.fm-align-center .fm-prose,.fm-align-center.fm-prose{margin-left:auto;margin-right:auto}
.fm-prose a{text-decoration:underline;text-underline-offset:.18em;text-decoration-color:color-mix(in srgb,var(--fm-secondary) 45%,transparent)}
.fm-prose h3{font-size:1.2rem;margin-top:1.4em}
.fm-prose strong{color:var(--fm-primary);font-weight:600}
.fm-section{padding:56px 0}
.fm-flow + .fm-flow{padding-top:8px}
@media (max-width:767px){.fm-section{padding:40px 0}.fm-flow + .fm-flow{padding-top:0}body{font-size:16px}}
.fm-bg-panel{background:var(--fm-panel)}
.fm-bg-navy{background:var(--fm-primary);color:#dbe4f3}
.fm-bg-navy h2,.fm-bg-navy h3{color:#fff}

/* Buttons: squared like hardware keys; amber is reserved for the main action */
.fm-btn{border-radius:10px;font-weight:600;letter-spacing:.005em;padding:13px 22px}
.fm-btn--lg{padding:16px 26px;font-size:1.04rem}
.fm-btn--accent{background:var(--fm-accent);color:var(--fm-primary)}
.fm-btn--accent:hover{filter:none;background:color-mix(in srgb,var(--fm-accent) 86%,#fff)}
.fm-btn--outline{border:1.5px solid color-mix(in srgb,var(--fm-primary) 35%,transparent);color:var(--fm-primary)}
.fm-btn--outline:hover{background:var(--fm-primary);border-color:var(--fm-primary);color:#fff}
.fm-btn--primary{background:var(--fm-primary)}

/* Header */
.fm-header{background:rgba(255,255,255,.97)}
.fm-nav__item>a,.fm-nav__label{font-weight:500;color:var(--fm-ink)}
/* Nine top links and the sales button share one line down to the tablet menu. */
.fm-nav__item>a,.fm-nav__label{white-space:nowrap}
@media (min-width:1025px) and (max-width:1380px){.fm-header__inner{gap:14px}.fm-nav__list{gap:0}.fm-nav__item>a,.fm-nav__label{padding:10px 8px;font-size:.9rem}.fm-header__cta .fm-btn{padding-left:16px;padding-right:16px}}
@media (min-width:1025px) and (max-width:1160px){.fm-nav__item>a,.fm-nav__label{padding:10px 6px;font-size:.86rem}.fm-logo img{max-height:36px}}
/* The phone menu hangs from the header. (As position:fixed it took the header's height: the header's blur makes it the menu's frame.) */
@media (max-width:1024px){.fm-nav{position:absolute;inset:auto 0 auto 0;top:100%;height:calc(100vh - var(--fm-header-h));height:calc(100dvh - var(--fm-header-h));border-top:1px solid var(--fm-line)}body:has(#fm-nav.is-open) .fm-chat{visibility:hidden}}
.fm-nav__item>a:hover{background:var(--fm-panel)}
.fm-header__cta .fm-btn{background:var(--fm-accent);color:var(--fm-primary);border-color:transparent}

/* ---------------------------------------------------------------- heroes */
.fm-hero{padding:56px 0 48px}
.fm-hero-lead .fm-prose{font-size:1.14rem;color:var(--fm-soft-ink)}
.fm-hero .fm-buttons{margin-top:6px}
.fm-hero-media img{border-radius:var(--fm-radius-lg);background:var(--fm-panel);width:100%;max-height:640px;object-fit:contain}
.fm-hero-media .fm-image{position:relative;border-radius:var(--fm-radius-lg)}
/* Pictures beside text keep their own shape: wide ones fill the column, tall ones stand narrower instead of sitting in grey bars */
.fm-split-media .fm-image{display:flex;justify-content:center}
.fm-split-media img{display:block;width:auto;height:auto;max-width:100%;max-height:560px;border-radius:var(--fm-radius-lg)}
@media (max-width:767px){.fm-split-media img{max-height:420px}.fm-split--flip > .fm-container > .fm-row > .fm-col:first-child{order:2}}
.fm-hero-title{padding:56px 0 4px}
.fm-hero-title + .fm-section{padding-top:28px}
@media (max-width:767px){.fm-hero{padding:32px 0}.fm-hero-title{padding:36px 0 0}}

/* Product hero: the model number is the hero */
.fm-hero-product .fm-col-inner{container-type:inline-size}
.fm-model .fm-title{font-stretch:125%;font-weight:800;font-size:clamp(3rem,6.6vw,6.4rem);font-size:min(7rem,15.5cqi);line-height:.9;letter-spacing:-.03em;color:var(--fm-primary);white-space:nowrap}
.fm-model--pair .fm-title{white-space:normal;font-size:min(5.2rem,11.5cqi);line-height:.95}
.fm-model .fm-subtitle{font-family:var(--fm-font);font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:500;color:var(--fm-soft-ink);margin-top:.55em}
.fm-hero-product{padding-bottom:40px}
.fm-overview{padding-top:40px}
.fm-overview .fm-prose{color:var(--fm-soft-ink)}

/* Key figures as readouts: hairline-separated, left aligned */
.fm-readouts .fm-counters{display:flex;flex-wrap:wrap;gap:0;text-align:left;padding-top:4px;position:relative}
.fm-readouts .fm-counters::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--fm-line);transform-origin:0 50%}
.fm-readouts .fm-counter{padding:14px 32px 2px 0;margin-right:32px;border-right:1px solid var(--fm-line)}
.fm-readouts .fm-counter:last-child{border-right:0;margin-right:0}
.fm-readouts .fm-counter__value{font-family:var(--fm-display);font-stretch:112%;font-weight:700;font-size:clamp(1.9rem,3vw,2.5rem);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fm-readouts .fm-counter__label{margin-top:2px;font-size:.92rem;color:var(--fm-muted)}
.fm-split .fm-readouts .fm-counters::before{display:none}

/* Home hero */
.fm-hero-home{padding-top:64px}
.fm-hero-home .fm-title--display{max-width:15ch;font-size:clamp(2.4rem,4.4vw,3.6rem)}
.fm-hero-slides .fm-carousel__track,.fm-carousel--single .fm-carousel__track{grid-auto-columns:100%}
.fm-hero-slides .fm-carousel__item img{border-radius:var(--fm-radius-lg);aspect-ratio:auto;height:auto;width:100%;object-fit:cover;background:var(--fm-panel)}
.fm-hero-slides .fm-carousel__nav{justify-content:flex-start}

/* Category / page heroes */
.fm-hero-split .fm-title{max-width:16ch}

/* ---------------------------------------------------------------- page links */
.fm-section:has(.fm-pagenav--sticky){position:sticky;top:var(--fm-header-h);z-index:40;padding:0;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.3) blur(6px);border-bottom:1px solid var(--fm-line)}
.fm-pagenav__inner{display:flex;align-items:center;gap:24px;max-width:var(--fm-container);margin:0 auto;padding:0 20px;min-height:52px}
.fm-pagenav__title{font-family:var(--fm-display);font-stretch:118%;font-weight:800;color:var(--fm-primary);font-size:1.05rem;letter-spacing:-.01em}
.fm-pagenav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;position:relative}
.fm-pagenav ul::-webkit-scrollbar{display:none}
.fm-pagenav a{display:block;position:relative;z-index:1;padding:7px 13px;border-radius:8px;color:var(--fm-muted);font-weight:600;font-size:.95rem;white-space:nowrap;text-decoration:none;transition:color .3s}
.fm-pagenav a:hover{color:var(--fm-primary);text-decoration:none}
.fm-pagenav a[aria-current="true"]{color:var(--fm-primary);background:var(--fm-panel)}
/* With script: one marker slides to the part being read, and a thin amber line shows how far down the page you are */
.fm-pagenav__thumb{position:absolute;left:0;top:0;width:0;height:0;border-radius:8px;background:var(--fm-panel);opacity:0;transition:transform .5s var(--fm-ease-out),width .5s var(--fm-ease-out),opacity .3s;pointer-events:none}
.fm-pagenav.has-thumb a[aria-current="true"]{background:transparent}
.fm-pagenav-section::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--fm-accent);transform:scaleX(var(--fm-progress,0));transform-origin:0 50%}
.fm-pagenav__btn{margin-left:auto}
[id]{scroll-margin-top:calc(var(--fm-header-h) + 64px)}
@media (max-width:767px){.fm-pagenav__title,.fm-pagenav__btn{display:none}.fm-pagenav__inner{padding:0 8px}}

/* ---------------------------------------------------------------- highlights (photo-led, borderless) */
.fm-highlights .fm-grid{gap:32px 28px}
.fm-highlights .fm-card{border:0;background:transparent;border-radius:0;overflow:visible}
.fm-highlights .fm-card:hover{box-shadow:none;transform:none}
.fm-highlights .fm-card__media{border-radius:var(--fm-radius-lg);aspect-ratio:4/3;background:var(--fm-panel)}
.fm-highlights .fm-card__media img{transition:transform .8s var(--fm-ease-out)}
@media (hover:hover){.fm-highlights .fm-card:hover .fm-card__media img{transform:scale(1.045)}}
.fm-highlights .fm-card__body{padding:16px 2px 0;gap:6px}
.fm-highlights .fm-card__title{font-size:1.32rem;letter-spacing:-.01em}
.fm-highlights .fm-card__text{font-size:1rem;color:var(--fm-soft-ink)}
.fm-highlights--compact .fm-grid{gap:28px 20px}
.fm-highlights--compact .fm-card__title{font-size:1.15rem}
.fm-highlights--compact .fm-card__text{font-size:.95rem}

/* ---------------------------------------------------------------- feature tabs & tiles */
.fm-ftabs__list{display:inline-flex;gap:4px;padding:4px;max-width:100%;overflow-x:auto;scrollbar-width:none;background:#fff;border:1px solid var(--fm-line);border-radius:12px;margin:4px 0 20px;position:relative}
.fm-ftabs__list::-webkit-scrollbar{display:none}
.fm-ftabs__list button{flex:none;white-space:nowrap;position:relative;z-index:1;border:0;margin:0;border-radius:9px;padding:9px 16px;background:transparent;color:var(--fm-soft-ink);font-weight:600;transition:color .3s}
.fm-ftabs__list button[aria-selected="true"]{background:var(--fm-primary);color:#fff}
.fm-ftabs__thumb{position:absolute;left:0;top:0;width:0;height:0;border-radius:9px;background:var(--fm-primary);transition:transform .5s var(--fm-ease-out),width .5s var(--fm-ease-out),height .5s var(--fm-ease-out);pointer-events:none}
.fm-ftabs__list.has-thumb button[aria-selected="true"]{background:transparent}
.fm-ftabs__count{font-weight:500;opacity:.6;font-size:.85em;margin-left:2px;font-variant-numeric:tabular-nums}
.fm-ftabs__intro{max-width:72ch;color:var(--fm-soft-ink);margin:0 0 16px}
.fm-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tile,168px),1fr));gap:12px}
.fm-tile{background:#fff;border-radius:var(--fm-radius);padding:10px 10px 14px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;transition:transform .45s var(--fm-ease-out),background-color .3s}
.fm-tile__media img{transition:transform .7s var(--fm-ease-out)}
@media (hover:hover){.fm-tile:hover{transform:translateY(-4px)}.fm-tile:hover .fm-tile__media img{transform:scale(1.06)}}
.fm-bg-panel .fm-tile{background:#fff}
.fm-section:not(.fm-bg-panel) .fm-tile{background:var(--fm-panel)}
.fm-tile__media{display:block;width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden}
.fm-tile__media img,.fm-tile__img{width:100%;height:100%;object-fit:cover;border-radius:0}
.fm-tile__label{font-weight:600;color:var(--fm-primary);font-size:.95rem;line-height:1.3}
.fm-tile__text{font-size:.85rem;color:var(--fm-muted)}
@media (max-width:560px){.fm-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
/* Features on the dark band: the light product renders sit on glassy tiles */
.fm-section.fm-bg-navy .fm-tile{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
@media (hover:hover){.fm-section.fm-bg-navy .fm-tile:hover{background:rgba(255,255,255,.11)}}
.fm-bg-navy .fm-tile__label{color:#fff}
.fm-bg-navy .fm-tile__text,.fm-bg-navy .fm-ftabs__intro{color:#b9c6df}
.fm-bg-navy .fm-ftabs__list{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.fm-bg-navy .fm-ftabs__list button{color:#c3cfe6}
.fm-bg-navy .fm-ftabs__list button:hover{color:#fff}
.fm-bg-navy .fm-ftabs__list button[aria-selected="true"]{background:#fff;color:var(--fm-primary)}
.fm-bg-navy .fm-ftabs__list.has-thumb button[aria-selected="true"]{background:transparent}
.fm-bg-navy .fm-ftabs__thumb{background:#fff}
.fm-features .fm-tile__media{background:#eaf1fb}

/* ---------------------------------------------------------------- key facts in the product hero */
.fm-keyfacts .fm-iconlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 28px}
.fm-keyfacts li{font-weight:500;color:var(--fm-ink);line-height:1.35}
.fm-keyfacts .fm-icon{color:var(--fm-accent);width:18px;height:18px;flex:none;margin-top:.1em}
@media (max-width:560px){.fm-keyfacts .fm-iconlist{grid-template-columns:1fr}}

/* ---------------------------------------------------------------- text + picture rows */
.fm-checks .fm-iconlist{gap:12px}
.fm-checks .fm-icon{color:var(--fm-accent)}
.fm-checks li{font-weight:500}
.fm-split .fm-title--lg{max-width:18ch}
.fm-checks--cols .fm-iconlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px 28px}
/* Headed points stacked beside a picture: a hairline with a short amber mark over each */
.fm-pointlist .fm-col-inner{gap:6px}
.fm-pointlist .fm-pointlist__title{position:relative;margin-top:12px;padding-top:14px;border-top:1px solid var(--fm-line)}
.fm-pointlist .fm-pointlist__title::before{content:"";position:absolute;top:-1px;left:0;width:32px;height:2px;background:var(--fm-accent)}
.fm-pointlist .fm-w-heading:first-child + .fm-pointlist__title{margin-top:10px}
.fm-pointlist__text .fm-prose{color:var(--fm-soft-ink)}

/* ---------------------------------------------------------------- specifications */
.fm-specs{margin:8px 0 0;border-top:2px solid var(--fm-primary)}
.fm-specs__row{display:grid;grid-template-columns:minmax(180px,32%) 1fr;gap:24px;padding:11px 0;border-bottom:1px solid var(--fm-line);position:relative}
.fm-specs dt{font-weight:600;color:var(--fm-primary)}
.fm-specs dd{margin:0;font-variant-numeric:tabular-nums;color:var(--fm-ink)}
.fm-specs__group{font-size:1rem;margin:20px 0 0;padding-bottom:6px}
.fm-specs--two{column-count:2;column-gap:48px}
.fm-specs--two .fm-specs__row{break-inside:avoid}
@media (max-width:767px){.fm-specs__row{grid-template-columns:1fr;gap:4px}.fm-specs--two{column-count:1}}

/* ---------------------------------------------------------------- documents */
.fm-download{border-radius:var(--fm-radius);border-color:var(--fm-line)}
.fm-docs-long .fm-downloads--list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px 14px}
.fm-docs-long .fm-download{padding:10px 12px 10px 14px;gap:12px}
.fm-docs-long .fm-download__icon{width:24px;height:24px}
.fm-docs-long .fm-download__body strong{font-weight:600;font-size:.96rem;line-height:1.3}
.fm-docs-long .fm-download .fm-btn{background:transparent;color:var(--fm-primary);border:1px solid var(--fm-line);padding:7px 14px}
.fm-docs-long .fm-download .fm-btn:hover{background:var(--fm-primary);border-color:var(--fm-primary);color:#fff}
/* Feature badges (round or square pictures with their own text) */
.fm-badges .fm-gallery{gap:14px}
.fm-badges img{border-radius:var(--fm-radius);background:transparent}
.fm-bg-panel .fm-download{border-color:transparent}
.fm-download__icon{color:var(--fm-primary)}

/* ---------------------------------------------------------------- product grids */
.fm-product-grid .fm-card{border:1px solid var(--fm-line);border-radius:var(--fm-radius)}
.fm-product-grid .fm-card:hover{transform:none;box-shadow:none;border-color:color-mix(in srgb,var(--fm-primary) 45%,var(--fm-line))}
.fm-product-grid .fm-card__media{aspect-ratio:1;background:var(--fm-panel)}
.fm-product-grid .fm-card__media img{object-fit:contain;padding:8%;transition:transform .7s var(--fm-ease-out)}
@media (hover:hover){.fm-product-grid .fm-card:hover .fm-card__media img{transform:scale(1.05)}}
.fm-product-grid .fm-card__title{font-family:var(--fm-display);font-stretch:112%;font-weight:700;font-size:1.08rem;letter-spacing:-.005em}
.fm-product-grid .fm-card__text{font-size:.92rem}
.fm-bg-panel .fm-product-grid .fm-card{border-color:transparent}
.fm-product-grid--compact .fm-card__media img{padding:0;object-fit:cover}

/* ---------------------------------------------------------------- "why" points: a short amber signal line on top */
.fm-points .fm-point{border-top:1px solid var(--fm-line);padding-top:22px;position:relative}
.fm-points .fm-point::before{content:"";position:absolute;top:-1px;left:0;width:44px;height:2px;background:var(--fm-accent)}
.fm-points .fm-col-inner{gap:10px}
.fm-points .fm-prose{color:var(--fm-soft-ink)}
.fm-section-intro{padding-bottom:12px}
.fm-section-intro + .fm-section{padding-top:12px}

/* ---------------------------------------------------------------- forms */
.fm-form-section{background:var(--fm-panel)}
.fm-bg-panel + .fm-form-section{background:#fff}
.fm-bg-panel + .fm-form-section .fm-form-card > .fm-col-inner{background:var(--fm-panel)}
.fm-form-card > .fm-col-inner{background:#fff;border-radius:var(--fm-radius-lg);padding:32px}
@media (max-width:767px){.fm-form-card > .fm-col-inner{padding:22px}}

/* ---------------------------------------------------------------- legal reading */
.fm-legal .fm-prose{font-size:1rem}
.fm-legal + .fm-legal{padding-top:8px}

/* ---------------------------------------------------------------- closing call to action */
.fm-cta{border-radius:var(--fm-radius-lg);padding:36px 40px}
.fm-cta--navy{background:var(--fm-primary)}
.fm-cta--navy .fm-btn--primary,.fm-cta .fm-btn--accent{background:var(--fm-accent);color:var(--fm-primary)}
.fm-cta__title{font-size:clamp(1.6rem,2.6vw,2.1rem)}

/* Footer */
.fm-footer{background:#081c45}
.fm-footer__title{font-family:var(--fm-display);font-weight:700}

/* ---------------------------------------------------------------- products overview: system map */
.fm-hero-eco .fm-col-inner{gap:22px;container-type:inline-size}
.fm-eco-title .fm-title{font-stretch:125%;font-weight:800;font-size:clamp(2.6rem,5vw,4.6rem);font-size:min(4.6rem,13.6cqi);line-height:.94;letter-spacing:-.03em;color:var(--fm-primary)}
.fm-eco{margin:0;background:var(--fm-panel);border-radius:var(--fm-radius-lg);padding:14px;position:relative}
.fm-eco__map{display:block;width:100%;height:auto;overflow:visible}
.fm-eco__map--narrow{display:none}
@media (max-width:640px){.fm-eco{padding:10px}.fm-eco__map--wide{display:none}.fm-eco__map--narrow{display:block}}
.fm-eco__dot{fill:#c6d1e2}
.fm-eco__line{fill:none;stroke:#9aabc6;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--fm-ease-out) var(--d,0ms)}
.fm-eco__box{fill:#fff;stroke:var(--fm-line);stroke-width:1;transition:stroke .25s,fill .25s}
.fm-eco__box--center{fill:var(--fm-primary);stroke:var(--fm-primary)}
.fm-eco__label{font-family:var(--fm-display);font-weight:700;fill:var(--fm-primary)}
.fm-eco__label--center{font-stretch:125%;font-weight:800;fill:#fff;letter-spacing:-.02em}
.fm-eco__sub{font-family:var(--fm-font);font-weight:500;fill:var(--fm-muted)}
.fm-eco__sub--center{fill:#b9c6df}
.fm-eco__led{fill:var(--fm-accent)}
.fm-eco__node{outline:none;transform-box:fill-box;transform-origin:center;transition:opacity .6s var(--fm-ease) var(--d,0ms),transform .8s var(--fm-ease-out) var(--d,0ms)}
a.fm-eco__node{cursor:pointer}
@media (hover:hover){a.fm-eco__node:hover .fm-eco__box{stroke:var(--fm-primary);stroke-width:1.5}a.fm-eco__node:hover .fm-eco__box--center{fill:#13306d}}
a.fm-eco__node:focus-visible .fm-eco__box{stroke:var(--fm-accent);stroke-width:3}
.fm-eco__pulse{display:none;fill:var(--fm-accent)}

/* ---------------------------------------------------------------- products overview: families */
.fm-families-section .fm-col-inner{gap:14px}
.fm-families-intro .fm-prose{color:var(--fm-soft-ink)}
.fm-families{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:10px}
.fm-family{background:#fff;border-radius:var(--fm-radius-lg);overflow:hidden;display:flex;flex-direction:column}
.fm-family--wide{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.fm-family__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--fm-panel)}
.fm-family--wide .fm-family__media{aspect-ratio:auto;height:100%;min-height:300px}
.fm-family__img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .9s var(--fm-ease-out)}
@media (hover:hover){.fm-family:hover .fm-family__img{transform:scale(1.045)}}
.fm-family__body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:9px}
.fm-family--wide .fm-family__body{padding:30px 32px;justify-content:center;gap:12px}
.fm-family__title{font-family:var(--fm-display);font-stretch:118%;font-weight:800;font-size:1.4rem;line-height:1.1;letter-spacing:-.01em;margin:0}
.fm-family--wide .fm-family__title{font-size:clamp(1.8rem,2.6vw,2.4rem)}
.fm-family__title a{color:var(--fm-primary);text-decoration:none}
.fm-family__title a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.16em;text-decoration-color:var(--fm-accent)}
.fm-family__text{margin:0;color:var(--fm-soft-ink);font-size:.97rem;line-height:1.55}
.fm-family__models{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.fm-family__models a,.fm-family__models span{display:inline-block;font-family:var(--fm-display);font-stretch:112%;font-weight:700;font-size:.8rem;letter-spacing:.01em;line-height:1;padding:7px 10px;border-radius:8px;border:1px solid var(--fm-line);color:var(--fm-primary);text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.fm-family__models a:hover,.fm-family__models a:focus-visible{background:var(--fm-primary);border-color:var(--fm-primary);color:#fff}
@media (max-width:1023px){.fm-families{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-family--wide:last-child{grid-column:auto;display:flex}.fm-family--wide:last-child .fm-family__media{aspect-ratio:4/3;height:auto;min-height:0}.fm-family--wide:last-child .fm-family__body{padding:18px 22px 22px}}
@media (max-width:640px){.fm-families{grid-template-columns:1fr;gap:14px}.fm-family--wide{grid-column:auto;display:flex}.fm-family--wide .fm-family__media{aspect-ratio:4/3;height:auto;min-height:0}.fm-family--wide .fm-family__body{padding:18px 20px 22px}}

/* ================================================================ motion
   One language throughout: type rises through a mask, photos wipe open from
   the side of their text, lines draw from the left, and groups arrive in
   quick order. The hero plays once on load; everything else plays as it
   scrolls into view. Hidden start states only apply while <html> has
   .fm-motion — set in the page head unless the visitor asked for reduced
   motion, and taken off again if the site script never arrives. */

/* Text split into words (or letters for a model number), each inside a mask */
.fm-wd{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .05em .14em;margin:-.1em -.05em -.14em}
.fm-wd > span{display:inline-block}
.fm-split-text .fm-wd > span{transition:transform .95s var(--fm-ease-out);transition-delay:calc(var(--d,0ms) + var(--w,0) * var(--step,55ms))}
.fm-motion .fm-split-text:not(.is-in) .fm-wd > span{transform:translateY(110%)}
.fm-nosplit{transition:opacity .8s var(--fm-ease),transform 1s var(--fm-ease-out)}
.fm-motion .fm-nosplit:not(.is-in){opacity:0;transform:translateY(20px)}
.fm-motion .fm-hero h1.fm-title:not(.fm-split-text){visibility:hidden}

/* Hero: the model number rises letter by letter, then the rest follows in order */
.fm-hero .fm-subtitle,.fm-hero .fm-col-inner > .fm-el{transition:opacity .8s var(--fm-ease),transform 1s var(--fm-ease-out);transition-delay:var(--d,0ms)}
.fm-motion .fm-hero:not(.is-in) .fm-subtitle,
.fm-motion .fm-hero:not(.is-in) .fm-col-inner > .fm-el:not(.fm-w-heading):not(.fm-hero-media):not(.fm-hero-eco__map):not(.fm-w-solution_tour){opacity:0;transform:translateY(16px)}
/* System map: parts appear along each chain, the cables draw in, then signals run */
.fm-motion .fm-hero:not(.is-in) .fm-eco__node{opacity:0;transform:scale(.9)}
.fm-motion .fm-hero:not(.is-in) .fm-eco__line{stroke-dashoffset:1}
.fm-motion .fm-eco__pulse{display:inline}
.fm-motion .fm-eco__led{animation:fm-led 2.4s ease-in-out infinite}
@keyframes fm-led{0%,100%{opacity:1}50%{opacity:.3}}
.fm-hero .fm-subtitle{--d:360ms}
.fm-model .fm-title{--step:40ms}
.fm-hero .fm-col-inner > .fm-el:nth-child(2){--d:440ms}
.fm-hero .fm-col-inner > .fm-el:nth-child(3){--d:540ms}
.fm-hero .fm-col-inner > .fm-el:nth-child(4){--d:640ms}
.fm-hero .fm-col-inner > .fm-el:nth-child(n+5){--d:740ms}
.fm-hero .fm-col + .fm-col .fm-col-inner > .fm-el{--d:120ms}
.fm-readouts .fm-counters::before{transition:transform 1.2s var(--fm-ease-out) calc(var(--d,0ms) + 120ms)}
.fm-motion .fm-hero:not(.is-in) .fm-readouts .fm-counters::before,
.fm-motion .fm-readouts.fm-rv:not(.is-in) .fm-counters::before{transform:scaleX(0)}
.fm-hero-media img{clip-path:inset(0 round var(--fm-radius-lg));transition:clip-path 1.3s var(--fm-ease-out) .12s,transform 1.6s var(--fm-ease-out) .12s,opacity .7s var(--fm-ease) .12s}
.fm-motion .fm-hero:not(.is-in) .fm-hero-media img{opacity:0;transform:scale(1.05);clip-path:inset(8% 8% 8% 8% round var(--fm-radius-lg))}
/* The product photo leans slightly toward the pointer, with a soft glare */
.fm-hero-media .fm-image{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .7s var(--fm-ease-out)}
.fm-hero-media .fm-image::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 65%);opacity:0;transition:opacity .45s;pointer-events:none}
.fm-hero-media .fm-image.is-tilting::after{opacity:1}

/* Scroll reveals (the script adds .fm-rv and a kind to each piece and staggers what arrives together) */
.fm-rv{transition:opacity .8s var(--fm-ease) var(--d,0ms),transform 1s var(--fm-ease-out) var(--d,0ms)}
.fm-motion .fm-rv:not(.is-in){opacity:0;transform:translateY(22px)}
.fm-motion .fm-rv--card:not(.is-in){transform:translateY(30px)}
.fm-motion .fm-rv--tile:not(.is-in){transform:translateY(14px) scale(.96)}
.fm-motion .fm-rv--row:not(.is-in){transform:translateY(8px)}
.fm-motion .fm-rv--cta:not(.is-in){transform:translateY(24px) scale(.985)}
.fm-motion .fm-rv--text:not(.is-in),.fm-motion .fm-rv--wipe:not(.is-in){opacity:1;transform:none}
.fm-rv--card .fm-card__media img{transition:transform 1.4s var(--fm-ease-out) var(--d,0ms)}
.fm-motion .fm-rv--card:not(.is-in) .fm-card__media img,.fm-motion .fm-rv--card:not(.is-in) .fm-family__img{transform:scale(1.1)}
.fm-rv--card .fm-family__img{transition:transform 1.4s var(--fm-ease-out) var(--d,0ms)}
/* Pictures beside text open from the side facing the text */
.fm-split-media img{clip-path:inset(0 0 0 0 round var(--fm-radius-lg));transition:clip-path 1.25s var(--fm-ease-out) var(--d,0ms),transform 1.6s var(--fm-ease-out) var(--d,0ms)}
.fm-motion .fm-rv--wipe:not(.is-in) img{clip-path:inset(0 100% 0 0 round var(--fm-radius-lg));transform:scale(1.05)}
.fm-motion .fm-split--flip .fm-rv--wipe:not(.is-in) img{clip-path:inset(0 0 0 100% round var(--fm-radius-lg))}
@media (max-width:767px){.fm-motion .fm-split--flip .fm-rv--wipe:not(.is-in) img{clip-path:inset(0 100% 0 0 round var(--fm-radius-lg))}}
/* The amber line over each point and the rules under each specification draw in */
.fm-points .fm-point::before{transition:width .9s var(--fm-ease-out) calc(var(--d,0ms) + 220ms)}
.fm-motion .fm-point.fm-rv:not(.is-in)::before{width:0}
.fm-motion .fm-specs__row.fm-rv{border-bottom-color:transparent}
.fm-motion .fm-specs__row.fm-rv::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--fm-line);transform-origin:0 50%;transition:transform 1.1s var(--fm-ease-out) var(--d,0ms)}
.fm-motion .fm-specs__row.fm-rv:not(.is-in)::after{transform:scaleX(0)}

/* ================================================================ home page
   One moment carries the page: the hero screen of a FIBERME IP-PBX routing
   an example call step by step. Everything after it uses the site's quiet
   reveal language. Green is used only for "connected", like a line LED. */
:root{--fm-live:#3DDC97}
.fm-hero-calls{padding:64px 0 76px;overflow:hidden}
.fm-hero-calls .fm-col-inner{container-type:inline-size}
.fm-hero-calls .fm-home-title .fm-title{font-stretch:118%;font-weight:800;font-size:clamp(2.4rem,4.4vw,3.7rem);font-size:min(3.75rem,10.4cqi);line-height:1;letter-spacing:-.03em;max-width:none;text-wrap:balance}
.fm-hero-calls .fm-hero-lead .fm-prose{max-width:50ch}
.fm-hero-calls .fm-hero-calls__demo{--d:260ms}
.fm-motion .fm-hero-calls:not(.is-in) .fm-hero-calls__demo{transform:translateY(30px) scale(.985)}
@media (max-width:767px){.fm-hero-calls{padding:32px 0 40px}.fm-hero-calls .fm-home-title .fm-title{font-size:min(3rem,10cqi)}}

/* The call screen */
.fm-callflow{position:relative;margin:0 0 0 auto;max-width:590px}
.fm-callflow__rings{position:absolute;left:50%;top:46%;width:0;height:0;pointer-events:none}
.fm-callflow__rings i{position:absolute;left:-300px;top:-300px;width:600px;height:600px;border-radius:50%;border:1.5px solid #c9d6ea}
.fm-callflow__rings i:nth-child(1){transform:scale(.78);opacity:.9}
.fm-callflow__rings i:nth-child(2){transform:scale(1.04);opacity:.6}
.fm-callflow__rings i:nth-child(3){transform:scale(1.3);opacity:.3}
.fm-callflow__box{position:relative;background:var(--fm-primary);color:#dbe4f3;border-radius:24px;padding:16px 16px 14px;box-shadow:0 34px 70px -28px rgba(11,37,89,.55),inset 0 1px 0 rgba(255,255,255,.07)}
.fm-callflow__head{display:flex;align-items:center;gap:10px;padding:2px 4px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.fm-callflow__led{flex:none;width:9px;height:9px;border-radius:50%;background:var(--fm-live);box-shadow:0 0 0 4px rgba(61,220,151,.16)}
.fm-callflow__label{font-weight:600;color:#fff;font-size:.95rem;white-space:nowrap}
.fm-callflow__device{margin-left:auto;font-family:var(--fm-display);font-stretch:112%;font-weight:700;font-size:.74rem;letter-spacing:.03em;color:#9fb0d0;border:1px solid rgba(255,255,255,.16);border-radius:7px;padding:5px 8px;white-space:nowrap}
.fm-callflow__timer{font-variant-numeric:tabular-nums;font-weight:600;font-size:.95rem;color:#fff;min-width:3.1em;text-align:right}
.fm-callflow__pause{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;cursor:pointer}
.fm-callflow__pause:hover{background:rgba(255,255,255,.1)}
.fm-callflow__pause[hidden],.fm-callflow__timer[hidden],.fm-callflow:not(.is-js) .fm-callflow__timer{display:none}
.fm-callflow__pause .fm-icon{width:14px;height:14px}
.fm-callflow__pause .fm-callflow__i-play,.fm-callflow__pause[aria-pressed="true"] .fm-callflow__i-pause{display:none}
.fm-callflow__pause[aria-pressed="true"] .fm-callflow__i-play{display:block}
.fm-callflow__screens{padding:16px 2px 0}
.fm-callflow__screen[hidden]{display:none}
.fm-callflow__route{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:10px}
.fm-callflow__route::before{content:"";position:absolute;left:15px;top:30px;bottom:30px;width:2px;border-radius:2px;background:rgba(255,255,255,.14)}
.fm-callflow__step{position:relative;display:flex;align-items:center;gap:14px;min-height:66px;padding:11px 12px 11px 44px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);transition:background-color .5s,border-color .5s,opacity .5s}
.fm-callflow__node{position:absolute;left:8px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:#fff;border:2px solid #fff;transition:background-color .4s,border-color .4s,box-shadow .4s}
.fm-callflow__step--end .fm-callflow__node{background:var(--fm-live);border-color:var(--fm-live);box-shadow:0 0 0 5px rgba(61,220,151,.18)}
.fm-callflow__step--end{border-color:rgba(61,220,151,.4);background:rgba(61,220,151,.07)}
.fm-callflow__text{display:flex;flex-direction:column;min-width:0}
.fm-callflow__name{color:#fff;font-weight:600;font-size:1rem;line-height:1.3}
.fm-callflow__detail{color:#aebcd8;font-size:.9rem;line-height:1.35}
.fm-callflow__thumb{margin-left:auto;flex:none;width:50px;height:50px;border-radius:12px;overflow:hidden;background:#e9eff8}
.fm-callflow__thumb picture,.fm-callflow__img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.fm-callflow__signal{position:absolute;left:11px;top:0;width:10px;height:10px;border-radius:50%;background:var(--fm-accent);box-shadow:0 0 0 5px rgba(245,158,11,.2),0 0 18px rgba(245,158,11,.65);z-index:2;opacity:0;pointer-events:none}
.fm-callflow__note{display:flex;align-items:center;gap:8px;margin:12px 4px 0;min-height:1.6em;color:#c9d4ea;font-size:.92rem;transition:opacity .5s,transform .6s var(--fm-ease-out)}
.fm-callflow__check{width:18px;height:18px;flex:none;color:var(--fm-live)}
.fm-callflow__tabs{display:flex;gap:4px;margin-top:14px;padding:4px;background:rgba(255,255,255,.06);border-radius:12px;overflow-x:auto;scrollbar-width:none}
.fm-callflow__tabs::-webkit-scrollbar{display:none}
.fm-callflow__tabs button{flex:1 0 auto;position:relative;overflow:hidden;border:0;margin:0;border-radius:9px;padding:9px 12px;background:transparent;color:#aebcd8;font:600 .86rem var(--fm-font);white-space:nowrap;cursor:pointer;transition:background-color .3s,color .3s}
.fm-callflow__tabs button:hover{color:#fff}
.fm-callflow__tabs button[aria-selected="true"]{background:#fff;color:var(--fm-primary)}
.fm-callflow__bar{position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:var(--fm-accent);transform:scaleX(0);transform-origin:0 50%}
/* While the script plays a call: steps wait dimmed, the current one glows amber */
.fm-callflow.is-js .fm-callflow__step:not(.is-on){background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.06);opacity:.5}
.fm-callflow.is-js .fm-callflow__step:not(.is-on) .fm-callflow__node{background:var(--fm-primary);border-color:#6f84ad;box-shadow:none}
.fm-callflow.is-js .fm-callflow__step.is-live:not(.fm-callflow__step--end){border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.09)}
.fm-callflow.is-js .fm-callflow__step.is-live:not(.fm-callflow__step--end) .fm-callflow__node{background:var(--fm-accent);border-color:var(--fm-accent);box-shadow:0 0 0 6px rgba(245,158,11,.2)}
.fm-callflow.is-js .fm-callflow__step--end:not(.is-on) .fm-callflow__thumb{opacity:.4}
.fm-callflow.is-js .fm-callflow__screen:not(.is-done) .fm-callflow__note{opacity:0;transform:translateY(6px)}
.fm-callflow__thumb{transition:opacity .5s}
.fm-callflow__bar{transition:transform .12s linear}
.fm-callflow:not(.is-auto) .fm-callflow__bar{display:none}
.fm-motion .fm-callflow__signal{transition:transform var(--move,700ms) var(--fm-ease),opacity .35s}
.fm-motion .fm-callflow__rings i{opacity:0}
.fm-motion .fm-callflow.is-ringing .fm-callflow__rings i{animation:fm-ring 2.4s var(--fm-ease-out) both}
.fm-motion .fm-callflow.is-ringing .fm-callflow__rings i:nth-child(2){animation-delay:.28s}
.fm-motion .fm-callflow.is-ringing .fm-callflow__rings i:nth-child(3){animation-delay:.56s}
@keyframes fm-ring{0%{transform:scale(.7);opacity:0}20%{opacity:1}100%{transform:scale(1.6);opacity:0}}
.fm-motion .fm-callflow__led{animation:fm-led 2.4s ease-in-out infinite}
@media (max-width:767px){
  .fm-callflow{margin:8px auto 0}
  .fm-callflow__box{padding:12px 12px 10px;border-radius:20px}
  .fm-callflow__device{display:none}
  .fm-callflow__step{min-height:58px;padding:9px 10px 9px 40px}
  .fm-callflow__node{left:7px}
  .fm-callflow__route::before{left:14px}
  .fm-callflow__signal{left:10px}
  .fm-callflow__name{font-size:.95rem}.fm-callflow__detail{font-size:.84rem}
  .fm-callflow__thumb{width:42px;height:42px;border-radius:10px}
  .fm-callflow__rings i{left:-220px;top:-220px;width:440px;height:440px}
}
@media (max-width:480px){.fm-callflow__tabs{display:grid;grid-template-columns:1fr 1fr}.fm-callflow__tabs button{padding:8px 6px}}

/* What your business gets: the zero, and what it covers */
.fm-benefits{padding:76px 0 30px}
.fm-zero .fm-title{font-family:var(--fm-display);font-stretch:125%;font-weight:800;font-size:clamp(5.5rem,12vw,9.5rem);line-height:.84;letter-spacing:-.055em;color:var(--fm-primary);margin:22px 0 0;font-variant-numeric:tabular-nums}
.fm-zero .fm-subtitle{font-size:clamp(1.15rem,1.7vw,1.35rem);font-weight:600;color:var(--fm-ink);margin-top:.6em;max-width:21ch;line-height:1.3}
.fm-zero-text .fm-prose{color:var(--fm-soft-ink);max-width:44ch}
.fm-ledger{background:#fff;border-radius:var(--fm-radius-lg);padding:28px 32px 24px}
.fm-ledger__title{font-size:1.15rem;margin:0 0 8px}
.fm-ledger__rows{list-style:none;margin:0;padding:0}
.fm-ledger__row{display:flex;align-items:baseline;gap:12px;padding:11px 0}
.fm-ledger__item{color:var(--fm-ink);font-weight:500;line-height:1.35}
.fm-ledger__dots{flex:1;min-width:24px;border-bottom:2px dotted #c5d0e0;transform:translateY(-5px)}
.fm-ledger__cost{font-family:var(--fm-display);font-stretch:112%;font-weight:700;color:var(--fm-primary);font-variant-numeric:tabular-nums;white-space:nowrap}
.fm-ledger__total{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 0;padding:16px 20px;border-radius:14px;background:var(--fm-primary);color:#fff;font-weight:600}
.fm-ledger__total strong{font-family:var(--fm-display);font-stretch:125%;font-weight:800;font-size:2rem;line-height:1;color:var(--fm-accent);font-variant-numeric:tabular-nums}
.fm-ledger__note{margin:12px 2px 0;font-size:.9rem;color:var(--fm-muted)}
.fm-benefits + .fm-benefit-points{padding-top:44px}
.fm-benefit-points{padding:14px 0}
.fm-benefit-points + .fm-benefit-points{padding-top:18px}
.fm-benefit-points:not(:has(+ .fm-benefit-points)){padding-bottom:76px}
.fm-benefit-points .fm-title--md{font-size:1.2rem}
.fm-motion .fm-ledger__row.fm-rv .fm-ledger__dots{transform-origin:0 50%;transition:transform 1s var(--fm-ease-out) calc(var(--d,0ms) + 150ms)}
.fm-motion .fm-ledger__row.fm-rv:not(.is-in) .fm-ledger__dots{transform:translateY(-5px) scaleX(0)}
@media (max-width:767px){.fm-benefits{padding:44px 0 16px}.fm-ledger{padding:22px 20px 18px}.fm-ledger__total strong{font-size:1.7rem}.fm-benefit-points:not(:has(+ .fm-benefit-points)){padding-bottom:44px}}

/* Solutions in tabs */
.fm-home-intro .fm-prose{color:var(--fm-soft-ink);max-width:60ch}
.fm-home-solutions{padding:80px 0 76px}
.fm-sol{margin-top:6px}
.fm-sol__panel{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:52px;align-items:center}
.fm-sol__panel[hidden]{display:none}
.fm-sol__panel:focus-visible{outline-offset:6px}
.fm-sol__panel--text{grid-template-columns:1fr}
.fm-sol__media{position:relative;border-radius:var(--fm-radius-lg);overflow:hidden;aspect-ratio:4/3;background:var(--fm-panel)}
.fm-sol__media picture{display:block;height:100%}
.fm-sol__img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.fm-sol__callouts{list-style:none;margin:0;padding:0;position:absolute;inset:0;pointer-events:none}
.fm-sol__callout{position:absolute;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 14px 30px rgba(11,37,89,.16);font-size:.88rem;line-height:1.2;color:var(--fm-soft-ink);white-space:nowrap}
.fm-sol__callout strong{color:var(--fm-primary);font-weight:700}
.fm-sol__callout--1{top:7%;right:6%}
.fm-sol__callout--2{top:46%;left:5%}
.fm-sol__callout--3{bottom:7%;right:10%}
.fm-sol__led{flex:none;width:8px;height:8px;border-radius:50%;background:var(--fm-live);box-shadow:0 0 0 3px rgba(61,220,151,.2)}
.fm-sol__callout--2 .fm-sol__led{background:var(--fm-accent);box-shadow:0 0 0 3px rgba(245,158,11,.22)}
.fm-sol__title{font-size:clamp(1.5rem,2.3vw,1.95rem);margin:0 0 10px}
.fm-sol__text{color:var(--fm-soft-ink);font-size:1.05rem;margin:0 0 18px;max-width:52ch}
.fm-sol__features{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.fm-sol__features li{display:flex;gap:10px;align-items:flex-start;font-weight:500;line-height:1.42}
.fm-sol__features .fm-icon{flex:none;width:20px;height:20px;margin-top:.06em;color:var(--fm-accent)}
.fm-sol__products{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.fm-sol__plabel{font-size:.9rem;font-weight:500;color:var(--fm-muted)}
.fm-sol__products .fm-family__models{margin:0}
.fm-sol__more{margin:0}
.fm-motion .fm-sol__media.fm-rv img{transition:clip-path 1.2s var(--fm-ease-out) var(--d,0ms),transform 1.5s var(--fm-ease-out) var(--d,0ms)}
@media (max-width:900px){.fm-sol__panel{grid-template-columns:1fr;gap:26px}}
@media (max-width:767px){.fm-home-solutions{padding:44px 0}.fm-sol__callout{font-size:.76rem;padding:7px 10px;gap:6px}.fm-sol__callout--2{top:42%;left:4%}}

/* The range: the IP-PBX large, the rest around it */
.fm-home-range{padding:80px 0}
.fm-home-range .fm-col-inner{gap:14px}
.fm-families--bento{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fm-families--bento .fm-family--big{grid-column:span 2;grid-row:span 2}
.fm-families--bento .fm-family--big .fm-family__media,.fm-families--bento .fm-family--wide:not(.fm-family--big) .fm-family__media{position:relative;aspect-ratio:auto;flex:1 1 0;min-height:260px;height:auto}
.fm-families--bento .fm-family--big .fm-family__media picture,.fm-families--bento .fm-family--big .fm-family__img,
.fm-families--bento .fm-family--wide .fm-family__media picture,.fm-families--bento .fm-family--wide .fm-family__img{position:absolute;inset:0;width:100%;height:100%}
.fm-families--bento .fm-family--big .fm-family__body{padding:24px 28px 28px;gap:12px}
.fm-families--bento .fm-family--big .fm-family__title{font-size:clamp(1.9rem,2.8vw,2.5rem)}
.fm-families--bento .fm-family:not(.fm-family--big) .fm-family__media{aspect-ratio:16/11}
.fm-families--bento .fm-family:not(.fm-family--big) .fm-family__title{font-size:1.18rem}
.fm-families--bento .fm-family:not(.fm-family--big) .fm-family__body{padding:16px 18px 20px;gap:6px}
.fm-families--bento .fm-family:not(.fm-family--big) .fm-family__text{font-size:.92rem;line-height:1.5}
.fm-families--bento .fm-family--wide{grid-column:span 2;grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}
.fm-families--bento .fm-family--wide:not(.fm-family--big) .fm-family__media{aspect-ratio:auto;min-width:0;min-height:200px}
.fm-families--bento .fm-family--wide:not(.fm-family--big) .fm-family__body{padding:22px 26px;justify-content:center}
.fm-home-more{margin-top:10px}
@media (max-width:1023px){
  .fm-families--bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-families--bento .fm-family--big{grid-row:auto}
  .fm-families--bento .fm-family--big .fm-family__media{aspect-ratio:16/9;min-height:0;flex:none}
  .fm-families--bento .fm-family--wide,.fm-families--bento .fm-family--wide:last-child{grid-column:auto;display:flex}
  .fm-families--bento .fm-family--wide:not(.fm-family--big) .fm-family__media{aspect-ratio:16/11;flex:none;min-height:0}
  .fm-families--bento .fm-family--wide:not(.fm-family--big) .fm-family__body{padding:16px 18px 20px;justify-content:flex-start}
}
@media (max-width:640px){
  .fm-home-range{padding:44px 0}
  .fm-families--bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .fm-families--bento .fm-family--big{grid-column:span 2}
  .fm-families--bento .fm-family--big .fm-family__body{padding:18px 20px 22px}
  .fm-families--bento .fm-family:not(.fm-family--big) .fm-family__body{padding:12px 13px 15px}
  .fm-families--bento .fm-family:not(.fm-family--big) .fm-family__title{font-size:1rem}
  .fm-families--bento .fm-family:not(.fm-family--big) .fm-family__text{font-size:.82rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}

/* The company, and the partner programme beside it */
.fm-home-company-row{padding:80px 0}
.fm-home-company .fm-prose{color:var(--fm-soft-ink)}
.fm-partner-card > .fm-col-inner{background:var(--fm-panel);border-radius:var(--fm-radius-lg);padding:36px 36px 34px}
.fm-partner-card .fm-prose{color:var(--fm-soft-ink)}
.fm-partner-types .fm-iconlist{display:flex;flex-wrap:wrap;gap:8px}
.fm-partner-types li{display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 11px;border-radius:8px;background:#fff;border:1px solid var(--fm-line);font-weight:600;font-size:.9rem;color:var(--fm-primary)}
.fm-partner-types .fm-icon{width:15px;height:15px;color:var(--fm-accent)}
@media (max-width:767px){.fm-home-company-row{padding:44px 0}.fm-partner-card > .fm-col-inner{padding:26px 22px}}

/* ================================================================ solutions page
   The tour: each solution in turn beside a map of the whole system (navy,
   like the network view of a device) that stays in view and lights the
   parts that solution uses. The amber dashes run along the cables in use. */
.fm-hero-tour{padding:52px 0 8px}
.fm-tour{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);column-gap:56px;align-items:start}
.fm-tour__intro{grid-column:1;grid-row:1;padding:10px 0 44px;container-type:inline-size}
.fm-tour__chapters{grid-column:1;grid-row:2}
.fm-tour__aside{grid-column:2;grid-row:1 / span 2;align-self:stretch}
.fm-tour__h1{font-stretch:118%;font-weight:800;font-size:clamp(2.4rem,4.4vw,3.7rem);font-size:min(3.75rem,10.6cqi);line-height:1;letter-spacing:-.03em;text-wrap:balance;margin:0 0 .45em}
.fm-tour__lead{font-size:1.14rem;line-height:1.6;color:var(--fm-soft-ink);max-width:52ch;margin:0 0 24px}
.fm-tour__buttons{margin:0}
.fm-tour__index ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:28px 0 0}
.fm-tour__index a{display:inline-block;padding:8px 13px;border-radius:10px;border:1px solid var(--fm-line);background:#fff;color:var(--fm-primary);font-weight:600;font-size:.92rem;line-height:1.2;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.fm-tour__index a:hover,.fm-tour__index a:focus-visible{background:var(--fm-primary);border-color:var(--fm-primary);color:#fff}
.fm-tour__map{position:sticky;top:calc(var(--fm-header-h) + 20px);background:var(--fm-primary);border-radius:24px;padding:14px 14px 8px;box-shadow:0 34px 70px -30px rgba(11,37,89,.55),inset 0 1px 0 rgba(255,255,255,.07)}
.fm-tour__now{display:flex;align-items:center;gap:9px;margin:2px 6px 4px;color:#fff;font-weight:600;font-size:.95rem;min-height:1.5em}
.fm-tour__led{flex:none;width:9px;height:9px;border-radius:50%;background:var(--fm-live);box-shadow:0 0 0 4px rgba(61,220,151,.16)}
.fm-tour__svg{display:block;width:100%;height:auto;max-height:calc(100vh - var(--fm-header-h) - 96px)}
.fm-tour__dot{fill:rgba(255,255,255,.07)}
.fm-tour__box{fill:rgba(255,255,255,.055);stroke:rgba(255,255,255,.16);stroke-width:1;transition:stroke .5s,fill .5s}
.fm-tour__ibox{fill:rgba(255,255,255,.1)}
.fm-tour__icon{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fm-tour__label{fill:#fff;font-family:var(--fm-font);font-weight:600}
.fm-tour__sub{fill:#9fb0d0;font-family:var(--fm-font);font-weight:500}
.fm-tour__node--center .fm-tour__box{fill:#fff;stroke:#fff}
.fm-tour__node--center .fm-tour__ibox{fill:var(--fm-primary)}
.fm-tour__node--center .fm-tour__label{fill:var(--fm-primary);font-family:var(--fm-display);font-weight:800;font-stretch:112%}
.fm-tour__node--center .fm-tour__sub{fill:var(--fm-soft-ink)}
.fm-tour__node{transform-box:fill-box;transform-origin:50% 50%;transition:opacity .5s var(--fm-ease),transform .7s var(--fm-ease-out)}
.fm-tour__link{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke .5s,stroke-dashoffset 1.2s var(--fm-ease-out)}
.fm-tour__flow{fill:none;stroke:var(--fm-accent);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:3 9;opacity:0;transition:opacity .5s}
.fm-tour__link.is-on{stroke:rgba(245,158,11,.45)}
.fm-tour__flow.is-on{opacity:1}
.fm-tour.has-step .fm-tour__node:not(.is-on){opacity:.26}
.fm-tour.has-step .fm-tour__node.is-on:not(.fm-tour__node--center) .fm-tour__box{stroke:rgba(245,158,11,.75);fill:rgba(245,158,11,.08)}
.fm-tour:not(.has-step) .fm-tour__link.is-on{stroke:rgba(255,255,255,.3)}
.fm-tour:not(.has-step) .fm-tour__flow.is-on{opacity:.55}
.fm-motion .fm-tour__flow.is-on{animation:fm-tour-flow 1s linear infinite}
@keyframes fm-tour-flow{to{stroke-dashoffset:-24}}
.fm-motion .fm-tour__led{animation:fm-led 2.4s ease-in-out infinite}
/* Hero: the title rises, the map comes in, its parts appear and the cables draw */
.fm-tour__lead,.fm-tour__buttons,.fm-tour__index,.fm-tour__map{transition:opacity .8s var(--fm-ease),transform 1s var(--fm-ease-out)}
.fm-tour__lead{transition-delay:420ms}.fm-tour__buttons{transition-delay:520ms}.fm-tour__index{transition-delay:620ms}.fm-tour__map{transition-delay:180ms}
.fm-motion .fm-hero:not(.is-in) .fm-tour__lead,.fm-motion .fm-hero:not(.is-in) .fm-tour__buttons,.fm-motion .fm-hero:not(.is-in) .fm-tour__index{opacity:0;transform:translateY(16px)}
.fm-motion .fm-hero:not(.is-in) .fm-tour__map{opacity:0;transform:translateY(26px) scale(.985)}
.fm-motion .fm-hero:not(.is-in) .fm-tour__node{opacity:0;transform:scale(.9)}
.fm-motion .fm-hero:not(.is-in) .fm-tour__link{stroke-dashoffset:1}
.fm-tour.is-intro .fm-tour__node{transition-delay:calc(var(--i) * 55ms + 420ms)}
.fm-tour.is-intro .fm-tour__link{transition-delay:900ms}
/* Chapters */
.fm-tour__chapter{min-height:68vh;display:flex;flex-direction:column;justify-content:center;padding:56px 0;border-top:1px solid var(--fm-line);transition:opacity .5s var(--fm-ease)}
.fm-motion .fm-tour.has-step .fm-tour__chapter:not(.is-current){opacity:.5}
.fm-tour__chain{display:none}
.fm-tour__title{font-size:clamp(1.7rem,2.8vw,2.35rem);line-height:1.1;margin:0 0 12px}
.fm-tour__text{color:var(--fm-soft-ink);font-size:1.07rem;line-height:1.6;max-width:56ch;margin:0 0 20px}
.fm-tour__features{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
.fm-tour__features li{display:flex;gap:10px;align-items:flex-start;font-weight:500;line-height:1.42}
.fm-tour__features .fm-icon{flex:none;width:20px;height:20px;margin-top:.06em;color:var(--fm-accent)}
.fm-tour__products{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 22px}
.fm-tour__products .fm-family__models{margin:0}
.fm-tour__more{margin:0}
.fm-tour__more.fm-buttons{display:flex;flex-wrap:wrap;gap:10px}
/* A highlighted solution (NEXUSAGE): a light card with the product logo */
.fm-tour__card{position:relative;background:var(--fm-panel);border:1px solid var(--fm-line);border-radius:var(--fm-radius-lg);padding:30px 32px 30px}
.fm-tour__brand{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.fm-tour__logo{display:block;height:46px;width:auto;max-width:100%;border-radius:0}
.fm-tour__brand picture{display:block;line-height:0}
.fm-tour__badge{flex:none;font-family:var(--fm-display);font-stretch:112%;font-weight:700;font-size:.78rem;letter-spacing:.02em;line-height:1;padding:7px 10px;border-radius:8px;background:var(--fm-primary);color:#fff}
.fm-tour__chapter--featured .fm-tour__text{color:var(--fm-ink)}
@media (max-width:767px){.fm-tour__card{padding:22px 18px 22px}.fm-tour__logo{height:34px}}
@media (max-width:900px){
  .fm-hero-tour{padding:32px 0 0}
  .fm-tour{grid-template-columns:minmax(0,1fr)}
  .fm-tour__intro{padding-bottom:28px}
  .fm-tour__aside{grid-column:1;grid-row:2}
  .fm-tour__chapters{grid-row:3}
  .fm-tour__map{position:relative;top:auto;border-radius:20px;padding:10px 10px 4px}
  .fm-tour__svg{max-height:none}
  .fm-tour__chapter{min-height:0;padding:40px 0}
  .fm-tour__chapter:first-child{border-top:0}
  .fm-motion .fm-tour.has-step .fm-tour__chapter:not(.is-current){opacity:1}
  .fm-tour__chain{display:flex;flex-wrap:nowrap;align-items:center;gap:22px;list-style:none;padding:0 0 2px;margin:0 0 16px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .fm-tour__chain::-webkit-scrollbar{display:none}
  .fm-tour__chain li{flex:none;white-space:nowrap}
  /* The map on a phone: bigger names, no icons or short lines */
  .fm-tour__ibox,.fm-tour__icon,.fm-tour__sub{display:none}
  .fm-tour__label{font-size:17px;transform:translate(-42px,6px)}
  .fm-tour__node--center .fm-tour__label{font-size:21px;transform:translate(-30px,6px)}
  .fm-tour__chain li{position:relative;padding:5px 10px;border-radius:8px;background:var(--fm-primary);color:#fff;font-weight:600;font-size:.82rem;line-height:1.3}
  .fm-tour__chain li + li::before{content:"";position:absolute;left:-18px;top:50%;width:14px;height:2px;margin-top:-1px;background:var(--fm-accent);border-radius:2px}
}
@media (max-width:767px){.fm-tour__h1{font-size:min(3rem,10.6cqi)}.fm-tour__lead{font-size:1.04rem}}

/* Before and after */
.fm-compare-section{padding:80px 0}
.fm-compare-section .fm-col-inner{gap:12px}
.fm-compare{margin-top:10px;background:#fff;border-radius:var(--fm-radius-lg);overflow:hidden}
.fm-compare__row{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1fr) minmax(0,1.2fr);border-top:1px solid var(--fm-line)}
.fm-compare__row > div{display:flex;gap:10px;align-items:flex-start;padding:18px 22px;line-height:1.45}
.fm-compare__row--head{border-top:0}
.fm-compare__row--head > div{font-family:var(--fm-display);font-weight:700;font-size:1.02rem;color:var(--fm-primary);padding:18px 22px 14px}
.fm-compare__row--head .fm-compare__after{background:var(--fm-primary);color:#fff;font-stretch:112%}
.fm-compare__topic{font-weight:600;color:var(--fm-primary)}
.fm-compare__before{color:var(--fm-muted)}
.fm-compare__before .fm-icon{flex:none;width:20px;height:20px;color:#aab6cb;margin-top:.05em}
.fm-compare__after{background:#f7f9fc;color:var(--fm-ink);font-weight:500}
.fm-compare__after .fm-icon{flex:none;width:20px;height:20px;color:var(--fm-accent);margin-top:.05em}
.fm-compare__row:not(.fm-compare__row--head) .fm-compare__after{box-shadow:inset 3px 0 0 var(--fm-accent)}
.fm-compare__after{transition:opacity .7s var(--fm-ease) calc(var(--d,0ms) + 160ms),transform .9s var(--fm-ease-out) calc(var(--d,0ms) + 160ms)}
.fm-motion .fm-compare__row.fm-rv:not(.is-in) .fm-compare__after{opacity:0;transform:translateX(18px)}
@media (max-width:767px){
  .fm-compare-section{padding:44px 0}
  .fm-compare__row{grid-template-columns:1fr}
  .fm-compare__row--head{display:none}
  .fm-compare__row > div{padding:10px 18px}
  .fm-compare__topic{padding-top:18px!important;font-size:1.02rem}
  .fm-compare__before::after,.fm-compare__after::after{content:none}
  .fm-compare__after{margin:0 12px 14px;border-radius:12px;padding:12px 14px!important}
  .fm-compare__before span::before{content:attr(data-label) ": ";font-weight:600}
  .fm-compare__after span::before{content:attr(data-label) ": ";font-weight:700;color:var(--fm-primary)}
}
.fm-solutions-features{padding:80px 0}
@media (max-width:767px){.fm-solutions-features{padding:44px 0}}

/* ================================================================ IP-PBX range page
   The model finder: a navy control strip (users slider, needs) that stays in
   view over the models; every model shows users and calls on one scale, and
   an amber line marks the chosen number of users across all of them. */
.fm-hero-range .fm-model .fm-title{font-size:clamp(3rem,6vw,5.6rem);font-size:min(5.6rem,12.6cqi)}
.fm-hero-range .fm-readouts .fm-counter{padding-right:24px;margin-right:24px}
@media (max-width:560px){.fm-hero-range .fm-readouts .fm-counter{padding-right:16px;margin-right:16px}.fm-hero-range .fm-readouts .fm-counter__value{font-size:1.7rem}}
.fm-finder-section{padding:72px 0 80px}
.fm-finder-section .fm-col-inner{gap:12px}
.fm-finder{margin-top:12px}
.fm-finder__controls{position:sticky;top:calc(var(--fm-header-h) + 12px);z-index:6;display:grid;grid-template-columns:minmax(220px,auto) minmax(0,1fr);gap:14px 32px;align-items:center;padding:20px 24px;margin:0 0 18px;background:var(--fm-primary);color:#dbe4f3;border-radius:20px;box-shadow:0 22px 46px -26px rgba(11,37,89,.6)}
.fm-finder__controls[hidden]{display:none}
.fm-finder__slider{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"q q" "v r";align-items:center;gap:4px 18px;grid-column:1 / -1}
.fm-finder__q{grid-area:q;font-weight:600;color:#fff;font-size:.95rem}
.fm-finder__value{grid-area:v;font-family:var(--fm-display);font-stretch:118%;font-weight:800;font-size:2.4rem;line-height:1;color:#fff;font-variant-numeric:tabular-nums;min-width:3.4ch}
.fm-finder__slider input{grid-area:r;width:100%;margin:0;height:28px;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;--p:0%}
.fm-finder__slider input::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--fm-accent) var(--p),rgba(255,255,255,.18) var(--p))}
.fm-finder__slider input::-moz-range-track{height:6px;border-radius:3px;background:rgba(255,255,255,.18)}
.fm-finder__slider input::-moz-range-progress{height:6px;border-radius:3px;background:var(--fm-accent)}
.fm-finder__slider input::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 6px rgba(245,158,11,.25)}
.fm-finder__slider input::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 6px rgba(245,158,11,.25)}
.fm-finder__slider input:focus-visible{outline:none}
.fm-finder__slider input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #fff,0 0 0 7px var(--fm-secondary)}
.fm-finder__needs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;grid-column:1 / -1}
.fm-finder__need{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#dbe4f3;font:600 .88rem var(--fm-font);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.fm-finder__need .fm-icon{flex:none;width:0;height:15px;margin-right:-7px;opacity:0;transform:scale(.6);transition:width .25s var(--fm-ease-out),margin .25s var(--fm-ease-out),opacity .2s,transform .3s var(--fm-ease-out)}
.fm-finder__need:hover{border-color:rgba(255,255,255,.5);color:#fff}
.fm-finder__need[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--fm-primary)}
.fm-finder__need[aria-pressed="true"] .fm-icon{width:15px;opacity:1;transform:none;margin-right:0;color:var(--fm-accent)}
.fm-finder__result{grid-column:1 / -1;margin:0;display:flex;align-items:center;gap:9px;font-weight:600;color:#fff;min-height:1.5em}
.fm-finder__result::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--fm-live);box-shadow:0 0 0 4px rgba(61,220,151,.16)}
.fm-finder__result.is-none::before{background:var(--fm-accent);box-shadow:0 0 0 4px rgba(245,158,11,.2)}
.fm-finder__list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.fm-finder__model{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:22px;align-items:center;padding:18px 22px 18px 18px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-radius-lg);transition:opacity .45s var(--fm-ease),border-color .35s,box-shadow .35s,transform .9s var(--fm-ease-out)}
.fm-finder__media{display:block;width:132px;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--fm-panel)}
.fm-finder__img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;transition:filter .45s}
.fm-finder__media picture{display:block;height:100%}
.fm-finder__head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.fm-finder__name{font-family:var(--fm-display);font-stretch:118%;font-weight:800;font-size:1.55rem;line-height:1;letter-spacing:-.01em;margin:0}
.fm-finder__name a{color:var(--fm-primary);text-decoration:none}
.fm-finder__name a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.16em;text-decoration-color:var(--fm-accent)}
.fm-finder__flag{display:none;font-family:var(--fm-display);font-stretch:112%;font-weight:700;font-size:.74rem;letter-spacing:.02em;line-height:1;padding:6px 9px;border-radius:7px;background:var(--fm-accent);color:var(--fm-primary)}
.fm-finder__text{margin:8px 0 12px;color:var(--fm-soft-ink);font-size:.97rem;line-height:1.5;max-width:62ch}
.fm-finder__bars{display:grid;gap:8px;margin:0 0 12px}
.fm-finder__bar{display:grid;grid-template-columns:118px minmax(0,1fr) 150px;align-items:center;gap:12px;font-size:.88rem}
.fm-finder__bl{color:var(--fm-muted);font-weight:500}
.fm-finder__bv{font-weight:600;color:var(--fm-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.fm-finder__track{position:relative;height:10px;border-radius:5px;background:var(--fm-panel)}
.fm-finder__fill{position:absolute;left:0;top:0;bottom:0;width:max(6px,calc(var(--v) * 100%));border-radius:5px;background:var(--fm-primary);transform-origin:0 50%;transition:transform 1.2s var(--fm-ease-out) calc(var(--d,0ms) + 200ms)}
.fm-finder__up{position:absolute;left:0;top:-2px;bottom:-2px;width:calc(var(--u) * 100%);border:1.5px dashed rgba(11,37,89,.45);border-radius:6px}
.fm-finder__mark{position:absolute;top:-7px;bottom:-7px;left:calc(var(--m,0) * 100%);width:2px;margin-left:-1px;border-radius:1px;background:var(--fm-accent);transition:left .25s var(--fm-ease-out)}
.fm-finder__chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.fm-finder__chips li{font-size:.8rem;font-weight:600;line-height:1;padding:6px 9px;border-radius:7px;background:var(--fm-panel);color:var(--fm-soft-ink)}
.fm-finder__go{white-space:nowrap}
.fm-finder:not(.is-live) .fm-finder__mark{display:none}
.fm-finder.is-live .fm-finder__model.is-out{opacity:.42}
.fm-finder.is-live .fm-finder__model.is-out .fm-finder__img{filter:grayscale(1)}
.fm-finder.is-live .fm-finder__model.is-best{border-color:var(--fm-accent);box-shadow:0 0 0 1px var(--fm-accent),0 18px 40px -24px rgba(11,37,89,.35)}
.fm-finder.is-live .fm-finder__model.is-best .fm-finder__flag{display:inline-block}
.fm-motion .fm-finder__model.fm-rv:not(.is-in) .fm-finder__fill{transform:scaleX(0)}
@media (max-width:900px){
  .fm-finder__model{grid-template-columns:112px minmax(0,1fr);gap:14px 20px;padding:18px;align-items:start}
  .fm-finder__media{width:112px}
  .fm-finder__go{grid-column:2;justify-self:start}
  .fm-finder__bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l v" "t t";gap:5px 10px}
  .fm-finder__bl{grid-area:l}
  .fm-finder__bv{grid-area:v}
  .fm-finder__track{grid-area:t}
}
@media (max-width:767px){
  .fm-finder-section{padding:44px 0}
  .fm-finder__controls{position:relative;top:auto;padding:16px;gap:12px;border-radius:16px}
  .fm-finder__value{font-size:1.9rem}
  .fm-finder__needs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .fm-finder__need{padding:9px 6px;font-size:.82rem;text-align:center;min-height:40px}
  .fm-finder__model{position:relative;grid-template-columns:minmax(0,1fr);gap:14px}
  .fm-finder__media{position:absolute;top:14px;right:14px;width:64px;border-radius:12px}
  .fm-finder__head{min-height:64px;padding-right:74px;align-content:center}
  .fm-finder__name{font-size:1.3rem}
  .fm-finder__text{margin-top:6px}
  .fm-finder__go{grid-column:1}
}
@media (max-width:560px){
  .fm-hero-range .fm-readouts .fm-counters{display:grid;grid-template-columns:1fr 1fr}
  .fm-hero-range .fm-readouts .fm-counter{margin-right:0;padding-right:12px}
  .fm-hero-range .fm-readouts .fm-counter:nth-child(2n){border-right:0;padding-left:18px}
  .fm-hero-range .fm-readouts .fm-counter:nth-child(n+3){border-top:1px solid var(--fm-line);margin-top:12px}
}
/* Features in every model */
.fm-every{padding:76px 0}
.fm-every-sub{margin-top:18px}
.fm-every-selected .fm-icon{color:var(--fm-secondary)}
.fm-every-list .fm-iconlist{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.fm-range-more{padding:76px 0}
@media (max-width:767px){.fm-every,.fm-range-more{padding:44px 0}
  .fm-range-more .fm-grid{gap:12px}
  .fm-range-more .fm-card--product{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:stretch}
  .fm-range-more .fm-card--product .fm-card__media{position:relative;width:96px;height:auto;min-height:96px;aspect-ratio:auto;overflow:hidden}
  .fm-range-more .fm-card--product .fm-card__media picture,.fm-range-more .fm-card--product .fm-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
  .fm-range-more .fm-card--product .fm-card__body{padding:14px 16px;align-self:center}
  .fm-range-more .fm-card__text{margin-top:4px;font-size:.92rem}
}

/* ---- Gateways page */
.fm-hero-gateways .fm-model .fm-title{font-size:clamp(2.6rem,5vw,4.8rem);font-size:min(4.8rem,10.2cqi)}
.fm-line-strip{margin-top:4px}
.fm-line-strip .fm-iconlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;border-top:1px solid var(--fm-line)}
.fm-line-strip li{margin:0;padding:12px 0;border-bottom:1px solid var(--fm-line);display:flex;align-items:center;gap:10px}
.fm-line-strip .fm-icon{flex:none;width:18px;height:18px;color:var(--fm-accent);transition:transform .3s var(--fm-ease-out)}
.fm-line-strip a{color:var(--fm-ink);font-weight:600;text-decoration:none}
.fm-line-strip li:hover .fm-icon{transform:translate(2px,2px)}
.fm-line-strip a:hover{text-decoration:underline;text-decoration-color:var(--fm-accent);text-decoration-thickness:2px;text-underline-offset:.2em}
@media (max-width:480px){.fm-line-strip .fm-iconlist{grid-template-columns:1fr}}

.fm-lc-section{padding:80px 0}
.fm-lc-section .fm-col-inner{gap:12px}
.fm-lc{margin-top:14px}
.fm-lc__tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 16px}
.fm-lc__tab{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"i n" "i s";align-items:center;column-gap:14px;row-gap:1px;padding:14px 16px;text-align:left;background:#fff;border:1px solid var(--fm-line);border-radius:16px;color:var(--fm-ink);font:inherit;cursor:pointer;scroll-margin-top:calc(var(--fm-header-h) + 120px);transition:border-color .25s,background-color .3s,color .3s,box-shadow .3s}
.fm-lc__tab .fm-icon{grid-area:i;width:44px;height:44px;padding:11px;border-radius:12px;background:var(--fm-panel);color:var(--fm-primary);transition:background-color .3s,color .3s}
.fm-lc__tabname{grid-area:n;font-weight:700;line-height:1.25}
.fm-lc__tabsub{grid-area:s;font-size:.84rem;color:var(--fm-muted);transition:color .3s}
.fm-lc__tab:hover{border-color:var(--fm-primary)}
.fm-lc__tab[aria-selected="true"]{background:var(--fm-primary);border-color:var(--fm-primary);color:#fff;box-shadow:0 18px 34px -22px rgba(11,37,89,.7)}
.fm-lc__tab[aria-selected="true"] .fm-icon{background:rgba(255,255,255,.12);color:var(--fm-accent)}
.fm-lc__tab[aria-selected="true"] .fm-lc__tabsub{color:#b9c6de}
.fm-lc__tab:focus-visible{outline:3px solid var(--fm-secondary);outline-offset:2px}
/* Five or more kinds: the icon sits above the name */
.fm-lc__tabs--many .fm-lc__tab{grid-template-columns:1fr;grid-template-areas:"i" "n" "s";row-gap:3px;align-content:start;padding:14px}
.fm-lc__tabs--many .fm-lc__tab .fm-icon{width:40px;height:40px;padding:10px;margin-bottom:6px}

/* The drawing: line → gateway → phone system, on a navy board */
.fm-lc__diagram{position:relative;margin:0;display:grid;grid-template-columns:minmax(110px,1fr) minmax(48px,1fr) auto minmax(48px,1fr) minmax(110px,1fr);align-items:center;padding:44px 36px 40px;border-radius:24px;color:#dbe4f3;
  background:radial-gradient(120% 90% at 50% 0%,rgba(31,111,235,.22),transparent 60%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,var(--fm-primary);overflow:hidden}
.fm-lc__node{display:grid;justify-items:center;text-align:center;gap:3px;min-width:0}
.fm-lc__node .fm-icon{width:56px;height:56px;padding:14px;margin-bottom:8px;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff}
.fm-lc__node--pbx .fm-icon{background:rgba(31,111,235,.35);border-color:rgba(110,168,255,.5)}
.fm-lc__node b{color:#fff;font-weight:700;font-size:.98rem;line-height:1.25}
.fm-lc__node span{font-size:.82rem;color:#a8b7d1;line-height:1.35}
.fm-lc__wire{position:relative;height:2px;margin:0 10px;background:rgba(255,255,255,.22);border-radius:1px}
.fm-lc__wire--in{background:linear-gradient(90deg,rgba(245,158,11,.25),rgba(245,158,11,.7))}
.fm-lc__wire--out{background:linear-gradient(90deg,rgba(110,168,255,.7),rgba(110,168,255,.25))}
/* Phone lines arrive as a bundle, a digital trunk as one thick cable, mobile calls over the air */
.fm-lc__diagram[data-kind="rj11"] .fm-lc__wire--in{box-shadow:0 -7px 0 -0.5px rgba(245,158,11,.32),0 7px 0 -0.5px rgba(245,158,11,.32)}
.fm-lc__diagram[data-kind="e1"] .fm-lc__wire--in{height:4px;margin-top:-1px}
.fm-lc__wire--in[data-air]{background:repeating-linear-gradient(90deg,rgba(245,158,11,.7) 0 6px,transparent 6px 12px);box-shadow:none}
.fm-lc__wire--out[data-air]{background:repeating-linear-gradient(90deg,rgba(110,168,255,.75) 0 6px,transparent 6px 12px)}
.fm-lc__wire span{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);white-space:nowrap;font-size:.74rem;font-weight:600;color:#c9d5ea;padding:3px 8px;border-radius:7px;border:1px solid rgba(255,255,255,.16);background:#0f2c66}
.fm-lc__wire i{position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:var(--fm-accent);box-shadow:0 0 0 4px rgba(245,158,11,.18),0 0 14px rgba(245,158,11,.8);opacity:0}
.fm-lc__wire--out i{background:#6ea8ff;box-shadow:0 0 0 4px rgba(110,168,255,.18),0 0 14px rgba(110,168,255,.8)}
.fm-lc__box{position:relative;justify-self:center;min-width:300px;padding:14px 18px 14px;border-radius:14px;background:linear-gradient(180deg,#26324b,#1a243a);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 28px 44px -24px rgba(0,0,0,.6)}
.fm-lc__boxhead{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.fm-lc__brand{font-family:var(--fm-display);font-stretch:118%;font-weight:700;font-size:.66rem;letter-spacing:.16em;color:#8d9bb6}
.fm-lc__model{font-family:var(--fm-display);font-stretch:118%;font-weight:800;font-size:1.2rem;color:#fff;letter-spacing:-.01em}
.fm-lc__face{margin:12px 0 9px;padding:16px 12px 12px;border-radius:9px;background:#0d1628;box-shadow:inset 0 2px 6px rgba(0,0,0,.5)}
.fm-lc__ports{display:grid;grid-template-columns:repeat(var(--cols),22px);gap:14px 6px;justify-content:center}
.fm-lc__ports[hidden]{display:none}
.fm-lc__ports i{position:relative;display:block;width:22px;height:17px;border-radius:3px 3px 4px 4px;background:#03070f;border:1px solid #33445f}
.fm-lc__ports i::before{content:"";position:absolute;left:50%;bottom:-1px;width:8px;height:4px;margin-left:-4px;background:#33445f;border-radius:1px 1px 0 0}
.fm-lc__ports i::after{content:"";position:absolute;left:50%;top:-8px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--fm-live);box-shadow:0 0 6px rgba(61,220,151,.85)}
.fm-lc__ports--e1 i{width:40px;height:24px}
.fm-lc__ports--e1{grid-template-columns:40px}
.fm-lc__ports--sim{grid-template-columns:repeat(var(--cols),26px)}
.fm-lc__ports--sim i{width:26px;height:9px;border-radius:2px}
.fm-lc__ports--sim i::before{display:none}
/* An IP phone: a screen beside its account keys */
.fm-lc__face--keys{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 16px}
.fm-lc__screen{flex:none;position:relative;width:96px;height:64px;border-radius:6px;background:linear-gradient(155deg,#3a7be0,#163b7c 70%);box-shadow:inset 0 0 0 2px #050b18,0 0 18px rgba(58,123,224,.25)}
.fm-lc__screen::before{content:"";position:absolute;left:10px;right:22px;top:12px;height:28px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.55) 0 3px,transparent 3px 9px);border-radius:1px}
.fm-lc__screen::after{content:"";position:absolute;left:10px;bottom:9px;width:34px;height:4px;border-radius:2px;background:var(--fm-accent)}
.fm-lc__ports--keys{grid-template-columns:repeat(var(--cols),18px);gap:14px 6px;justify-content:start}
.fm-lc__ports--buttons{grid-template-columns:repeat(var(--cols),26px);gap:14px 10px}
.fm-lc__ports--keys i{width:18px;height:9px;border-radius:3px}
.fm-lc__ports--buttons i{width:26px;height:12px;border-radius:4px}
.fm-lc__ports--keys i::before,.fm-lc__ports--buttons i::before{display:none}
/* A headset: its microphones */
.fm-lc__ports--mic{grid-template-columns:repeat(var(--cols),34px);gap:14px 16px}
.fm-lc__ports--mic i{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,#3a4b69 1px,transparent 1.6px) 0 0/5px 5px,#03070f}
.fm-lc__ports--mic i::before{display:none}
.fm-lc__ports--mic i::after{top:-11px;width:6px;height:6px;margin-left:-3px}
.fm-lc__count{display:block;text-align:center;font-size:.82rem;color:#a8b7d1}
.fm-lc__switch{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:330px;margin:12px auto 0}
.fm-lc__pick{padding:6px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#dbe4f3;font:600 .82rem var(--fm-font);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.fm-lc__pick:hover{border-color:rgba(255,255,255,.5);color:#fff}
.fm-lc__pick[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--fm-primary)}
.fm-lc__pick:focus-visible{outline:3px solid #6ea8ff;outline-offset:2px}
html:not(.fm-js) .fm-lc__switch{visibility:hidden}

/* Motion: the ports light one after another, then a signal runs along both cables */
.fm-motion .fm-lc__ports i::after{background:#33445f;box-shadow:none}
.fm-motion .fm-lc__diagram.is-live .fm-lc__ports i::after{animation:fm-lc-led .32s calc(var(--i) * 45ms + 250ms) both}
.fm-motion .fm-lc__diagram.is-live .fm-lc__wire i{animation:fm-lc-flow 2.8s cubic-bezier(.45,0,.55,1) .9s infinite}
.fm-motion .fm-lc__diagram.is-live .fm-lc__wire--out i{animation-delay:2.3s}
@keyframes fm-lc-led{from{background:#33445f;box-shadow:none}to{background:var(--fm-live);box-shadow:0 0 6px rgba(61,220,151,.85)}}
@keyframes fm-lc-flow{0%{left:0;opacity:0}10%{opacity:1}50%{left:calc(100% - 10px);opacity:1}58%,100%{left:calc(100% - 10px);opacity:0}}

/* Below the drawing: what it does and the models */
.fm-lc__body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px 48px;margin-top:30px;align-items:start}
.fm-lc__title{font-family:var(--fm-display);font-stretch:112%;font-weight:800;font-size:1.65rem;line-height:1.15;color:var(--fm-primary);margin:0 0 10px;letter-spacing:-.01em}
.fm-lc__lead{margin:0 0 16px;color:var(--fm-soft-ink);font-size:1.02rem;line-height:1.6;max-width:62ch}
.fm-lc__features{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fm-lc__features li{display:flex;gap:10px;align-items:flex-start;font-weight:500;line-height:1.45}
.fm-lc__features .fm-icon{flex:none;width:20px;height:20px;margin-top:1px;color:var(--fm-accent)}
.fm-lc__cards{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.fm-lc__card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;padding:14px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-radius-lg);cursor:pointer;transition:border-color .3s,box-shadow .3s}
.fm-lc__cards > .fm-lc__card:only-child{cursor:default}
.fm-lc__card.is-on{border-color:var(--fm-accent);box-shadow:0 0 0 1px var(--fm-accent),0 18px 36px -26px rgba(11,37,89,.4)}
.fm-lc__media{display:block;width:120px;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--fm-panel)}
.fm-lc__media picture{display:block;height:100%}
.fm-lc__img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.fm-lc__name{font-family:var(--fm-display);font-stretch:118%;font-weight:800;font-size:1.35rem;line-height:1;color:var(--fm-primary);margin:0}
.fm-lc__detail{margin:6px 0 0;color:var(--fm-muted);font-size:.93rem}
.fm-lc__go{margin-top:12px;padding:8px 14px;font-size:.88rem}
/* Four to six models: two columns of smaller cards */
.fm-lc__cards--grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.fm-lc__cards--grid .fm-lc__card{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px}
.fm-lc__cards--grid .fm-lc__media{width:76px;border-radius:11px}
.fm-lc__cards--grid .fm-lc__name{font-size:1.1rem}
.fm-lc__cards--grid .fm-lc__detail{font-size:.84rem}
.fm-lc__cards--grid .fm-lc__go{margin-top:8px;padding:6px 11px;font-size:.82rem}
[data-fm-lc]{scroll-margin-top:calc(var(--fm-header-h) + 24px)}

@media (max-width:1080px){.fm-lc__tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .fm-lc__diagram{grid-template-columns:1fr;justify-items:center;padding:28px 18px}
  .fm-lc__wire{width:2px;height:54px;margin:8px 0}
  .fm-lc__wire--in{background:linear-gradient(180deg,rgba(245,158,11,.25),rgba(245,158,11,.7))}
  .fm-lc__wire--out{background:linear-gradient(180deg,rgba(110,168,255,.7),rgba(110,168,255,.25))}
  .fm-lc__diagram[data-kind="rj11"] .fm-lc__wire--in{box-shadow:-7px 0 0 -0.5px rgba(245,158,11,.32),7px 0 0 -0.5px rgba(245,158,11,.32)}
  .fm-lc__diagram[data-kind="e1"] .fm-lc__wire--in{width:4px;height:54px;margin-top:8px}
  .fm-lc__wire--in[data-air]{background:repeating-linear-gradient(180deg,rgba(245,158,11,.7) 0 6px,transparent 6px 12px);box-shadow:none}
  .fm-lc__wire--out[data-air]{background:repeating-linear-gradient(180deg,rgba(110,168,255,.75) 0 6px,transparent 6px 12px)}
  .fm-lc__wire span{left:18px;bottom:auto;top:50%;transform:translateY(-50%)}
  .fm-lc__wire i{top:0;left:-4px}
  .fm-motion .fm-lc__diagram.is-live .fm-lc__wire i{animation-name:fm-lc-flow-v}
  .fm-lc__node{grid-template-columns:auto auto;align-items:center;justify-content:center;justify-items:start;text-align:left;column-gap:12px;row-gap:1px}
  .fm-lc__node .fm-icon{grid-row:1 / span 2;width:46px;height:46px;padding:11px;margin:0}
  .fm-lc__box{min-width:0;width:100%;max-width:380px}
  .fm-lc__body{grid-template-columns:1fr;margin-top:22px}
}
@keyframes fm-lc-flow-v{0%{top:0;opacity:0}10%{opacity:1}50%{top:calc(100% - 10px);opacity:1}58%,100%{top:calc(100% - 10px);opacity:0}}
@media (max-width:560px){
  .fm-lc-section{padding:48px 0}
  .fm-lc__tabs{gap:8px}
  .fm-lc__tab{grid-template-columns:1fr;grid-template-areas:"i" "n" "s";row-gap:4px;padding:12px}
  .fm-lc__tab .fm-icon{width:38px;height:38px;padding:9px;margin-bottom:4px}
  .fm-lc__ports{grid-template-columns:repeat(var(--cols),17px);gap:12px 4px}
  .fm-lc__ports i{width:17px;height:14px}
  .fm-lc__ports--sim{grid-template-columns:repeat(var(--cols),22px)}
  .fm-lc__ports--sim i{width:22px;height:8px}
  .fm-lc__ports--e1 i{width:36px;height:22px}
  .fm-lc__face--keys{gap:12px;padding:12px}
  .fm-lc__screen{width:66px;height:48px}
  .fm-lc__screen::before{left:8px;right:14px;top:9px;height:20px}
  .fm-lc__screen::after{left:8px;bottom:7px;width:24px}
  .fm-lc__ports--keys{grid-template-columns:repeat(var(--cols),14px);gap:12px 4px}
  .fm-lc__ports--keys i{width:14px;height:8px}
  .fm-lc__ports--buttons{grid-template-columns:repeat(var(--cols),22px);gap:12px 8px}
  .fm-lc__ports--buttons i{width:22px;height:11px}
  .fm-lc__ports--mic{grid-template-columns:repeat(var(--cols),30px);gap:12px}
  .fm-lc__ports--mic i{width:30px;height:30px}
  .fm-lc__cards--grid{grid-template-columns:1fr}
  .fm-lc__card{grid-template-columns:84px minmax(0,1fr);gap:14px;padding:12px}
  .fm-lc__media{width:84px;border-radius:12px}
  .fm-lc__name{font-size:1.15rem}
}

.fm-gw-sip{padding:80px 0}
.fm-gw-pbxs .fm-iconlist{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.fm-gw-remote-card > .fm-col-inner{padding:32px;border-radius:var(--fm-radius-lg);background:var(--fm-panel);border:1px solid var(--fm-line)}
.fm-gw-remote .fm-iconlist{gap:10px 22px}
.fm-gw-logo{margin-bottom:-4px}
.fm-gw-logo img{display:block;width:118px;height:auto;border-radius:0}
@media (max-width:767px){.fm-gw-sip{padding:48px 0}.fm-gw-remote-card > .fm-col-inner{padding:22px}}
/* ---- FRC page */
.fm-hero-frc .fm-model .fm-title{font-size:clamp(2.2rem,3.4vw,3.3rem);font-size:min(4.4rem,8.4cqi);white-space:normal}
.fm-line-strip--3 .fm-iconlist{grid-template-columns:repeat(3,minmax(0,1fr))}
.fm-frc-no li{font-weight:600;color:var(--fm-ink)}
@media (max-width:560px){.fm-line-strip--3 .fm-iconlist{grid-template-columns:1fr}}
.fm-gw-logo--wide img{width:170px}
.fm-frc-videos{padding:76px 0}
.fm-frc-videos .fm-row--inner{margin-top:8px}
@media (max-width:767px){.fm-frc-videos{padding:44px 0}}

/* Plan picker: call lanes that light up for the chosen plan, the price beside them */
.fm-plans-section{padding:80px 0}
.fm-plans-section .fm-col-inner{gap:12px}
.fm-plans{margin-top:14px}
.fm-plans__board{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:36px;align-items:center;padding:40px;border-radius:24px;color:#dbe4f3;
  background:radial-gradient(120% 90% at 30% 0%,rgba(31,111,235,.22),transparent 60%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,var(--fm-primary)}
.fm-plans__meter{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center}
.fm-plans__readout{margin:0;display:grid;gap:4px;min-width:150px}
.fm-plans__readout b{font-family:var(--fm-display);font-stretch:118%;font-weight:800;font-size:clamp(3.4rem,6vw,5.2rem);line-height:.9;color:#fff;font-variant-numeric:tabular-nums}
.fm-plans__readout span{font-size:.95rem;color:#a8b7d1;max-width:12ch}
.fm-plans__lanes{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:7px;max-width:420px}
.fm-plans__lanes i{display:block;aspect-ratio:1.6;border-radius:5px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:background-color .35s,box-shadow .35s}
.fm-plans__lanes i.is-on{background:rgba(61,220,151,.22);box-shadow:inset 0 0 0 1px rgba(61,220,151,.7),0 0 10px rgba(61,220,151,.25)}
.fm-plans__side{display:grid;gap:18px}
.fm-plans__controls[hidden]{display:none}
.fm-plans__controls{display:grid;gap:14px}
.fm-plans__periods{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.08)}
.fm-plans__period{padding:8px 6px;border:0;border-radius:9px;background:transparent;color:#dbe4f3;font:600 .84rem var(--fm-font);cursor:pointer;transition:background-color .2s,color .2s}
.fm-plans__period[aria-pressed="true"]{background:#fff;color:var(--fm-primary)}
.fm-plans__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fm-plans__plan{display:grid;gap:2px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font:inherit;cursor:pointer;transition:border-color .2s,background-color .2s}
.fm-plans__plan:hover{border-color:rgba(255,255,255,.5)}
.fm-plans__plan[aria-pressed="true"]{border-color:var(--fm-accent);background:rgba(245,158,11,.14);box-shadow:inset 0 0 0 1px var(--fm-accent)}
.fm-plans__pname{font-weight:700;font-size:.95rem}
.fm-plans__pcalls{font-size:.8rem;color:#a8b7d1}
.fm-plans__period:focus-visible,.fm-plans__plan:focus-visible{outline:3px solid #6ea8ff;outline-offset:2px}
.fm-plans__price{display:grid;gap:4px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}
.fm-plans__price p{margin:0}
.fm-plans__name{font-weight:700;color:var(--fm-accent);font-size:.95rem}
.fm-plans__amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.fm-plans__amount b{font-family:var(--fm-display);font-stretch:118%;font-weight:800;font-size:2.9rem;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.fm-plans__amount span{color:#a8b7d1;font-size:.95rem}
.fm-plans__month{color:#dbe4f3;font-weight:600}
.fm-plans__save{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:.9rem}
.fm-plans__save::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--fm-live);box-shadow:0 0 0 4px rgba(61,220,151,.16)}
.fm-plans__save[hidden],.fm-plans__month[hidden]{display:none}
.fm-plans__go{justify-self:start}
.fm-plans__included{margin-top:28px}
.fm-plans__title{font-family:var(--fm-display);font-stretch:112%;font-weight:800;font-size:1.35rem;color:var(--fm-primary);margin:0 0 12px}
.fm-plans__features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 28px}
.fm-plans__features li{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.fm-plans__features .fm-icon{flex:none;width:20px;height:20px;color:var(--fm-accent)}
.fm-plans__table{margin-top:24px;border-top:1px solid var(--fm-line);padding-top:14px}
.fm-plans__table summary{cursor:pointer;font-weight:700;color:var(--fm-primary);width:max-content;max-width:100%}
.fm-plans__scroll{overflow-x:auto;margin-top:14px;border:1px solid var(--fm-line);border-radius:14px;background:#fff}
.fm-plans__table table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:620px}
.fm-plans__table th,.fm-plans__table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--fm-line);vertical-align:top}
.fm-plans__table thead th{background:var(--fm-panel);color:var(--fm-primary);font-weight:700}
.fm-plans__table tbody tr:last-child th,.fm-plans__table tbody tr:last-child td{border-bottom:0}
.fm-plans__table td b{font-weight:700;color:var(--fm-ink);font-variant-numeric:tabular-nums}
.fm-plans__table td small{display:block;margin-top:2px;color:var(--fm-muted);font-size:.8rem;font-variant-numeric:tabular-nums}
.fm-plans__table tbody th{color:var(--fm-primary)}
.fm-plans__table td:nth-child(2){font-weight:700;color:var(--fm-primary)}
@media (max-width:720px){
  .fm-plans__table table{min-width:0;font-size:.88rem}
  .fm-plans__table th,.fm-plans__table td{padding:10px 12px}
  .fm-plans__table td{white-space:nowrap}
  .fm-plans__table thead th:nth-child(2){min-width:5.5em}
  .fm-plans__table tbody th,.fm-plans__table thead th:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--fm-line)}
  .fm-plans__table thead th:first-child{background:var(--fm-panel)}
}
.fm-motion .fm-plans__lanes i.is-on{animation:fm-plan-lane .4s calc(var(--i) * 9ms) both}
@keyframes fm-plan-lane{from{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}}
@media (max-width:1080px){.fm-plans__board{grid-template-columns:1fr}.fm-plans__lanes{max-width:460px}}
@media (max-width:560px){
  .fm-plans-section{padding:48px 0}
  .fm-plans__board{padding:22px 16px;gap:24px;border-radius:18px}
  .fm-plans__meter{grid-template-columns:1fr;gap:16px}
  .fm-plans__readout{grid-template-columns:auto 1fr;align-items:end;gap:10px}
  .fm-plans__lanes{gap:5px}
  .fm-plans__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-plans__periods{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fm-plans__period{padding:8px 2px;font-size:.78rem}
  .fm-plans__amount b{font-size:2.4rem}
}
/* ---- SWING Lite page ---------------------------------------------------- */
.fm-hero-swing .fm-model .fm-title{font-size:clamp(2.1rem,3.1vw,3rem);font-size:min(4.2rem,7.3cqi);white-space:normal}
/* App download buttons */
.fm-get{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:10px;max-width:560px}
.fm-get__item{display:grid;gap:12px;align-content:start;min-width:0}
.fm-get__btn{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 16px;border:1px solid var(--fm-line);border-radius:14px;background:#fff;color:var(--fm-primary);text-decoration:none;transition:border-color .2s,box-shadow .25s,transform .25s var(--fm-ease-out)}
.fm-get__btn:hover{border-color:var(--fm-primary);box-shadow:0 8px 22px rgba(11,37,89,.10);transform:translateY(-1px);text-decoration:none}
.fm-get__btn:focus-visible{outline:3px solid var(--fm-accent);outline-offset:2px}
.fm-get__btn .fm-icon{width:26px;height:26px;flex:none}
.fm-get__text{display:grid;gap:1px;line-height:1.25;min-width:0}
.fm-get__text b{font-weight:700;font-size:1rem}
.fm-get__text span{font-size:.84rem;color:var(--fm-muted)}
.fm-get__qr{display:flex;align-items:center;gap:12px;font-size:.84rem;color:var(--fm-muted);line-height:1.35}
.fm-get__qr img,.fm-get__qr-img{width:92px;height:92px;flex:none;padding:6px;background:#fff;border:1px solid var(--fm-line);border-radius:10px;image-rendering:pixelated;object-fit:contain}
.fm-get__qr > span{max-width:9ch}
.fm-bg-panel .fm-get__btn{background:#fff}
.fm-swing-guide{margin-top:4px;font-size:.95rem}
.fm-swing-guide a{font-weight:600;color:var(--fm-primary);text-underline-offset:3px}
@media (max-width:899px){.fm-get__qr{display:none}}
@media (max-width:560px){.fm-get{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-get__btn{padding:10px 12px;gap:10px;min-height:58px}.fm-get__btn .fm-icon{width:22px;height:22px}.fm-get__text span{font-size:.78rem}}

/* Sign-in demo (signature): the app's sign-in card beside the route to the FCM */
.fm-signin{--fm-swing:#4D7DB5;margin-top:14px}
.fm-signin__stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,370px);gap:44px;align-items:center;padding:40px 44px;border-radius:24px;color:#dbe4f3;
  background:radial-gradient(120% 90% at 30% 0%,rgba(31,111,235,.22),transparent 60%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,var(--fm-primary)}
.fm-signin__side{display:grid;gap:22px;min-width:0}
.fm-signin__route-box{position:relative;width:100%;aspect-ratio:560/290}
.fm-signin__map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fm-signin__office{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.3);stroke-width:1.5;stroke-dasharray:5 6}
.fm-signin__cloud{fill:#11306B;stroke:rgba(255,255,255,.22);stroke-width:1.5;transition:fill .5s,stroke .5s}
.fm-signin[data-mode="1"] .fm-signin__cloud{fill:#1A4DA6;stroke:#9cc0ff}
.fm-signin__track{fill:none;stroke:rgba(255,255,255,.13);stroke-width:3;stroke-linecap:round}
.fm-signin__route{fill:none;stroke:var(--fm-live);stroke-width:3;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1}
.fm-signin.is-linked .fm-signin__route{stroke-dashoffset:0;transition:stroke-dashoffset .85s var(--fm-ease-out)}
.fm-signin__packet{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-dasharray:.03 .97;stroke-dashoffset:1;opacity:0}
.fm-signin.is-live .fm-signin__packet{animation:fm-signin-packet 1.7s linear 3}
@keyframes fm-signin-packet{0%{stroke-dashoffset:1;opacity:0}8%{opacity:1}88%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
/* What changes with the connection type */
.fm-signin[data-mode="0"] :not(.fm-signin__cap)[data-m="1"],.fm-signin[data-mode="1"] :not(.fm-signin__cap)[data-m="0"]{display:none}
.fm-signin.is-js[data-mode="0"] .fm-signin__cap[data-m="1"],.fm-signin.is-js[data-mode="1"] .fm-signin__cap[data-m="0"]{display:none}
.fm-signin__tag{position:absolute;transform:translate(-50%,-50%);font-size:.8rem;font-weight:600;line-height:1.2;color:#c9d5ea;white-space:nowrap;transition:left .6s var(--fm-ease-out),top .6s var(--fm-ease-out)}
.fm-signin__tag--office{left:9.5%;top:40.7%;padding:0 8px;background:var(--fm-primary);border-radius:6px;color:#e6edf8}
.fm-signin[data-mode="1"] .fm-signin__tag--office{left:77.5%}
.fm-signin__tag--cloud{left:50%;top:24.5%;font-family:var(--fm-display);font-weight:800;font-size:1.05rem;letter-spacing:.02em;color:rgba(255,255,255,.55);transition:color .5s}
.fm-signin[data-mode="1"] .fm-signin__tag--cloud{color:#fff}
.fm-signin__tag--path{left:50%;top:55%}
.fm-signin[data-mode="1"] .fm-signin__tag--path{left:35%;top:45%}
.fm-signin__node{position:absolute;top:62.8%;display:flex;flex-direction:column;align-items:center;transform:translateX(-50%)}
.fm-signin__node--device{left:14.3%}
.fm-signin__node--pbx{left:85.7%}
.fm-signin__node .fm-icon{box-sizing:content-box;width:26px;height:26px;padding:13px;margin-top:-26px;border-radius:50%;color:#fff;background:#173571;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.fm-signin.is-linked .fm-signin__node .fm-icon{box-shadow:inset 0 0 0 1.5px var(--fm-live);transition:box-shadow .4s .6s}
.fm-signin__node-name{margin-top:8px;width:max-content;max-width:13ch;text-align:center;font-size:.82rem;font-weight:600;line-height:1.25;color:#e6edf8}
.fm-signin__caps{min-height:3.2em}
.fm-signin__cap{margin:0;max-width:56ch;color:#c9d5ea;font-size:1rem;line-height:1.55}
.fm-signin__cap + .fm-signin__cap{margin-top:8px}
.fm-signin__cap b{color:#fff;font-weight:700}
/* The card, as in the app */
.fm-signin__app{justify-self:end;width:100%;max-width:370px;background:#fff;color:var(--fm-ink);border-radius:14px;overflow:hidden;box-shadow:0 26px 60px rgba(2,10,30,.45),0 0 0 1px rgba(255,255,255,.06)}
.fm-signin__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;background:#1E3A66;color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.03em}
.fm-signin__win{display:flex;align-items:center;gap:14px}
.fm-signin__win i{display:block;width:9px;height:9px;position:relative}
.fm-signin__win i:nth-child(1){height:0;border-top:1.5px solid rgba(255,255,255,.7)}
.fm-signin__win i:nth-child(2){border:1.5px solid rgba(255,255,255,.7);border-radius:1px}
.fm-signin__win i:nth-child(3)::before,.fm-signin__win i:nth-child(3)::after{content:"";position:absolute;left:-1px;top:3.5px;width:11px;height:1.5px;background:rgba(255,255,255,.7);transform:rotate(45deg)}
.fm-signin__win i:nth-child(3)::after{transform:rotate(-45deg)}
.fm-signin__body{padding:22px 22px 18px}
.fm-signin__title{margin:0 0 16px;text-align:center;font-weight:600;font-size:1.05rem;color:var(--fm-ink)}
.fm-signin__label,.fm-signin__flabel{display:flex;justify-content:space-between;gap:8px;margin:0 0 6px;font-size:.8rem;font-weight:500;color:var(--fm-soft-ink)}
.fm-signin__flabel em{font-style:normal;font-size:.74rem;color:var(--fm-swing);font-weight:600}
.fm-signin__types{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.fm-signin__type{display:grid;grid-template-columns:auto 1fr;align-items:center;align-content:start;column-gap:7px;row-gap:3px;padding:10px 11px;text-align:left;font:inherit;color:var(--fm-ink);background:#fff;border:1px solid #D9E0EA;border-radius:10px;cursor:pointer;transition:border-color .25s,background-color .25s,box-shadow .25s}
.fm-signin__type .fm-icon{width:16px;height:16px;color:var(--fm-swing)}
.fm-signin__type b{font-size:.92rem;font-weight:700}
.fm-signin__type span{grid-column:1 / -1;font-size:.72rem;line-height:1.35;color:var(--fm-muted)}
.fm-signin__type:hover{border-color:var(--fm-swing)}
.fm-signin__type[aria-pressed="true"]{background:#EEF4FB;border-color:var(--fm-swing);box-shadow:0 0 0 1px var(--fm-swing)}
.fm-signin__type:focus-visible{outline:3px solid var(--fm-accent);outline-offset:2px}
.fm-signin__field{margin-bottom:12px}
.fm-signin__value{display:flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid #D9E0EA;border-radius:9px;background:#F6F8FB;font-size:.92rem;color:var(--fm-ink);overflow:hidden;white-space:nowrap}
.fm-signin__caret{display:none;width:1.5px;height:1.15em;margin-left:1px;background:var(--fm-ink)}
.fm-signin.is-typing .fm-signin__caret{display:inline-block;animation:fm-led .9s steps(1) infinite}
.fm-signin__go{display:block;width:100%;margin-top:4px;padding:10px;border:0;border-radius:9px;background:var(--fm-swing);color:#fff;font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;transition:filter .2s}
.fm-signin__go[hidden]{display:none}
.fm-signin__go:hover{filter:brightness(1.08)}
.fm-signin__go:focus-visible{outline:3px solid var(--fm-accent);outline-offset:2px}
.fm-signin__status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:1.6em;margin:12px 0 0;font-size:.85rem;font-weight:500;color:var(--fm-muted)}
.fm-signin__status i{position:relative;width:8px;height:8px;border-radius:50%;background:#C3CCD9}
.fm-signin__status.is-wait i{background:var(--fm-accent);animation:fm-led .8s infinite}
.fm-signin__status.is-on{color:#17734A}
.fm-signin__status.is-on i{background:var(--fm-live)}
.fm-signin.is-live .fm-signin__status.is-on i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--fm-live);animation:fm-ring 1.1s var(--fm-ease-out) 2}
@media (max-width:1080px){.fm-signin__stage{grid-template-columns:minmax(0,1fr) 320px;gap:28px;padding:32px}}
@media (max-width:899px){
  .fm-signin__stage{grid-template-columns:1fr;gap:28px;padding:32px}
  .fm-signin__app{justify-self:center;order:-1}
  .fm-signin__route-box{max-width:620px;margin-inline:auto}
  .fm-signin__caps{max-width:620px;margin-inline:auto;width:100%}
}
@media (max-width:560px){
  .fm-signin__stage{padding:18px 14px 22px;border-radius:18px;gap:22px}
  .fm-signin__body{padding:18px 16px 16px}
  .fm-signin__tag{font-size:.7rem}
  .fm-signin__tag--cloud{font-size:.85rem}
  .fm-signin__node .fm-icon{width:20px;height:20px;padding:10px;margin-top:-20px}
  .fm-signin__node-name{font-size:.72rem;margin-top:5px;max-width:11ch}
  .fm-signin__cap{font-size:.95rem}
}
@media (prefers-reduced-motion:reduce){.fm-signin *{transition:none!important;animation:none!important}}

/* Mobile, Windows and web browser */
.fm-swing-mobile,.fm-swing-windows,.fm-swing-browser{padding:88px 0}
.fm-swing-phones img{display:block;width:auto;max-width:100%;max-height:620px;margin-inline:auto;border-radius:22px}
.fm-swing-mobile .fm-get{margin-top:26px}
.fm-swing-features{padding:0 0 88px}
.fm-swing-features .fm-tile{align-items:stretch;text-align:left;padding:10px 10px 16px}
.fm-swing-features .fm-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
.fm-swing-features .fm-tile__media{aspect-ratio:16/9}
@media (max-width:899px){.fm-swing-features .fm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fm-swing-features .fm-tile__label,.fm-swing-features .fm-tile__text{padding:0 6px}
.fm-swing-features .fm-tile__text{line-height:1.45}
.fm-swing-window img{border-radius:14px;box-shadow:0 18px 44px rgba(11,37,89,.16),0 0 0 1px var(--fm-line)}
.fm-swing-windows .fm-checks--cols .fm-iconlist{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 24px}
.fm-gw-pbxs a{color:var(--fm-primary);text-decoration:underline;text-decoration-color:rgba(11,37,89,.25);text-underline-offset:4px}
.fm-gw-pbxs a:hover{text-decoration-color:currentColor}
.fm-swing-windows .fm-btn-group,.fm-swing-windows .fm-buttons{margin-top:8px}
.fm-swing-shots > .fm-col-inner{position:relative;padding-bottom:12%}
.fm-swing-shot img{border-radius:12px;box-shadow:0 18px 44px rgba(11,37,89,.14),0 0 0 1px var(--fm-line)}
.fm-swing-shots .fm-el + .fm-el{position:absolute;right:-2%;bottom:0;width:34%;margin:0}
@media (max-width:767px){
  .fm-swing-mobile,.fm-swing-windows,.fm-swing-browser{padding:52px 0}
  .fm-swing-features{padding:0 0 52px}
  .fm-swing-phones img{max-height:360px}
  .fm-swing-mobile .fm-row > .fm-col:first-child,.fm-swing-browser .fm-row > .fm-col:first-child{order:2}
  .fm-swing-shots > .fm-col-inner{padding-bottom:18%}
  .fm-swing-shots .fm-el + .fm-el{width:38%;right:0}
}
/* ---- NEXUSAGE page ------------------------------------------------------- */
.fm-hero-link{margin-top:6px;font-size:.95rem}
.fm-hero-link a{font-weight:600;color:var(--fm-primary);text-underline-offset:3px}
/* Untangle (signature): the workarounds before, one route through the hub after */
.fm-untangle{margin-top:14px}
.fm-untangle__board{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:44px;align-items:center;padding:40px 44px;border-radius:24px;color:#dbe4f3;
  background:radial-gradient(120% 90% at 70% 0%,rgba(31,111,235,.22),transparent 60%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,var(--fm-primary)}
.fm-untangle__side{display:grid;gap:22px;align-content:start;min-width:0}
.fm-untangle__switch{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;width:max-content;max-width:100%;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}
.fm-untangle__switch[hidden]{display:none}
.fm-untangle__switch button{margin:0;padding:9px 14px;border:0;border-radius:9px;background:transparent;color:#c3cfe6;font:inherit;font-size:.9rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .3s,color .3s}
.fm-untangle__switch button:hover{color:#fff}
.fm-untangle__switch button[aria-pressed="true"]{background:#fff;color:var(--fm-primary)}
.fm-untangle__switch button:focus-visible{outline:3px solid var(--fm-accent);outline-offset:2px}
.fm-untangle__cap{margin:0;max-width:52ch;color:#c9d5ea;font-size:1rem;line-height:1.6}
.fm-untangle__cap b{color:#fff;font-weight:700}
.fm-untangle__cap + .fm-untangle__cap{margin-top:10px}
.fm-untangle.is-js[data-state="before"] .fm-untangle__cap[data-s="after"],.fm-untangle.is-js[data-state="after"] .fm-untangle__cap[data-s="before"]{display:none}
.fm-untangle__stat{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:2px;align-items:center;margin:0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.fm-untangle__stat b{grid-row:span 2;font-family:var(--fm-display);font-stretch:118%;font-weight:800;font-size:3.6rem;line-height:.9;color:#fff}
.fm-untangle__stat span{align-self:end;color:#fff;font-weight:600;line-height:1.3}
.fm-untangle__stat small{align-self:start;color:#a8b7d1;font-size:.88rem}
.fm-untangle__stage{position:relative;width:100%;aspect-ratio:600/400;min-width:0}
.fm-untangle__map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fm-untangle__knot{fill:none;stroke:var(--fm-accent);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:0;opacity:.85;transition:stroke-dashoffset .55s var(--fm-ease) calc(var(--i) * 60ms),opacity .45s calc(var(--i) * 60ms + .1s)}
.fm-untangle[data-state="after"] .fm-untangle__knot{stroke-dashoffset:1;opacity:0}
.fm-untangle[data-state="before"] .fm-untangle__knot{transition-duration:.9s,.3s;transition-delay:calc(.35s + var(--i) * 90ms),calc(.35s + var(--i) * 90ms)}
.fm-untangle__problem{position:absolute;transform:translate(-50%,-50%);padding:3px 10px;border-radius:999px;background:#2A2A3F;box-shadow:inset 0 0 0 1px rgba(245,158,11,.55);color:#FCD38A;font-size:.76rem;font-weight:600;line-height:1.4;white-space:nowrap;transition:opacity .3s,transform .3s}
.fm-untangle[data-state="after"] .fm-untangle__problem{opacity:0;transform:translate(-50%,-50%) scale(.85);pointer-events:none}
.fm-untangle[data-state="before"] .fm-untangle__problem{transition-delay:calc(.8s + var(--i) * 90ms)}
.fm-untangle__trunk,.fm-untangle__fan{fill:none;stroke:var(--fm-live);stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset .25s}
.fm-untangle__trunk{stroke-width:3}
.fm-untangle__fan{stroke-width:2.5}
.fm-untangle[data-state="before"] .fm-untangle__trunk,.fm-untangle[data-state="before"] .fm-untangle__fan{opacity:0;transition:stroke-dashoffset .25s,opacity 0s .25s}
.fm-untangle[data-state="after"] .fm-untangle__trunk{stroke-dashoffset:0;transition:stroke-dashoffset .75s var(--fm-ease-out) .5s}
.fm-untangle[data-state="after"] .fm-untangle__fan{stroke-dashoffset:0;transition:stroke-dashoffset .55s var(--fm-ease-out) calc(1.1s + var(--i) * .1s)}
.fm-untangle__packet{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-dasharray:.022 .978;stroke-dashoffset:1;opacity:0}
.fm-untangle.is-live .fm-untangle__packet{animation:fm-untangle-packet 2.4s linear calc(var(--i) * .2s) 2}
@keyframes fm-untangle-packet{0%{stroke-dashoffset:1;opacity:0}6%{opacity:1}90%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.fm-untangle__hub,.fm-untangle__cloud{fill:#1A4DA6;stroke:#9cc0ff;stroke-width:1.5;opacity:0;transition:opacity .25s}
.fm-untangle__hub{fill:#fff;stroke:rgba(156,192,255,.9);stroke-width:2}
.fm-untangle__hub-mark,.fm-untangle__tag--hub,.fm-untangle__tag--cloud{opacity:0;transition:opacity .25s}
.fm-untangle[data-state="after"] .fm-untangle__hub,.fm-untangle[data-state="after"] .fm-untangle__hub-mark,.fm-untangle[data-state="after"] .fm-untangle__tag--hub{opacity:1;transition:opacity .45s .55s}
.fm-untangle[data-state="after"] .fm-untangle__cloud,.fm-untangle[data-state="after"] .fm-untangle__tag--cloud{opacity:1;transition:opacity .45s .85s}
.fm-untangle__hub-mark{position:absolute;top:50%;width:14.5%;transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center}
.fm-untangle__hub-mark img,.fm-untangle__logo{display:block;width:100%;height:auto}
.fm-untangle__hub-mark b{font-family:var(--fm-display);font-weight:800;color:#fff;font-size:.9rem}
.fm-untangle__tag{position:absolute;transform:translate(-50%,-50%);color:#c9d5ea;font-size:.78rem;font-weight:600;line-height:1.2;white-space:nowrap}
.fm-untangle__tag--hub{top:60.5%}
.fm-untangle__tag--cloud{top:50.8%;color:#fff;font-family:var(--fm-display);font-weight:800;font-size:1rem;letter-spacing:.02em}
.fm-untangle__node{position:absolute;top:50%;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-26px)}
.fm-untangle__node .fm-icon{box-sizing:content-box;width:26px;height:26px;padding:13px;border-radius:50%;color:#fff;background:#173571;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.fm-untangle__name{display:grid;justify-items:center;margin-top:8px;width:max-content;max-width:12ch;text-align:center;line-height:1.25}
.fm-untangle__name b{color:#fff;font-size:.84rem;font-weight:600}
.fm-untangle__name span{color:#a8b7d1;font-size:.74rem}
.fm-untangle__ends{list-style:none;margin:0;padding:0}
.fm-untangle__end{position:absolute;left:calc(75.33% - 20px);right:-8px;display:flex;align-items:center;gap:10px;transform:translateY(-50%);transition:opacity .4s}
.fm-untangle__end .fm-icon{flex:none;box-sizing:content-box;width:20px;height:20px;padding:10px;border-radius:50%;color:#fff;background:#173571;box-shadow:inset 0 0 0 1.5px rgba(245,158,11,.75);transition:box-shadow .4s}
.fm-untangle[data-state="before"] .fm-untangle__end{opacity:.72}
.fm-untangle[data-state="after"] .fm-untangle__end .fm-icon{box-shadow:inset 0 0 0 1.5px var(--fm-live),0 0 12px rgba(61,220,151,.25);transition-delay:calc(1.4s + var(--i) * .1s)}
.fm-untangle__end-text{display:grid;gap:1px;min-width:0;line-height:1.2}
.fm-untangle__end-text b{color:#fff;font-size:.86rem;font-weight:600}
.fm-untangle__end-text span{color:#a8b7d1;font-size:.74rem}
.fm-untangle.is-instant *{transition:none!important}
@media (max-width:1080px){
  .fm-untangle__board{grid-template-columns:1fr;gap:24px;padding:32px}
  .fm-untangle__side{display:contents}
  .fm-untangle__switch{order:1}
  .fm-untangle__stage{order:2;max-width:760px;justify-self:center}
  .fm-untangle__caps{order:3;max-width:640px}
  .fm-untangle__stat{order:4;max-width:640px}
}
@media (max-width:560px){
  .fm-untangle__board{padding:20px 12px 22px;border-radius:18px}
  .fm-untangle__switch button{padding:8px 10px;font-size:.84rem}
  .fm-untangle__node .fm-icon{width:18px;height:18px;padding:9px}
  .fm-untangle__node{transform:translate(-50%,-18px)}
  .fm-untangle__name{margin-top:4px}
  .fm-untangle__name b,.fm-untangle__end-text b{font-size:.68rem}
  .fm-untangle__name span,.fm-untangle__end-text span{display:none}
  .fm-untangle__end{left:calc(75.33% - 15px);gap:5px}
  .fm-untangle__end .fm-icon{width:14px;height:14px;padding:8px}
  .fm-untangle__tag{font-size:.62rem}
  .fm-untangle__tag--hub{display:none}
  .fm-untangle__tag--cloud{font-size:.72rem}
  .fm-untangle__problem{font-size:.6rem;padding:2px 6px}
  .fm-untangle__stat b{font-size:2.8rem}
}
@media (prefers-reduced-motion:reduce){.fm-untangle *{transition:none!important;animation:none!important}}
/* The rest of the page */
.fm-nx-why .fm-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
.fm-nx-why .fm-tile{align-items:flex-start;text-align:left;padding:18px 18px 20px}
.fm-nx-why .fm-tile__media{width:84px;aspect-ratio:1;border-radius:0;background:transparent}
.fm-nx-why .fm-tile__media img{object-fit:contain;mix-blend-mode:multiply}
.fm-nx-why .fm-tile__label{font-size:1.02rem}
.fm-nx-why .fm-tile__text{line-height:1.5}
.fm-nx-steps .fm-row--inner{counter-reset:fm-step}
.fm-nx-step-img img{border-radius:16px;aspect-ratio:16/10;object-fit:cover}
.fm-nx-step-title .fm-title{display:flex;align-items:baseline;gap:10px}
.fm-nx-step-title .fm-title::before{counter-increment:fm-step;content:counter(fm-step);flex:none;display:inline-grid;place-items:center;width:1.7em;height:1.7em;border-radius:50%;background:var(--fm-primary);color:#fff;font-size:.8em;font-weight:800;transform:translateY(-.1em)}
.fm-nx-guides .fm-iconlist{gap:6px}
.fm-nx-guides a{color:var(--fm-primary);font-weight:600;text-underline-offset:3px}
.fm-nx-video{padding:80px 0}
.fm-nx-feature{padding:80px 0}
.fm-nx-feature-img img{border-radius:18px}
.fm-nx-feature + .fm-nx-feature{padding-top:0}
.fm-nx-free{padding:80px 0}
.fm-nx-free-card > .fm-col-inner{height:100%;padding:20px 20px 26px;border-radius:20px;background:#fff;border:1px solid var(--fm-line)}
.fm-nx-free-img img{border-radius:14px;aspect-ratio:16/8;object-fit:cover}
.fm-nx-download{padding:80px 0 40px}
.fm-nx-download .fm-download:first-child{border-color:var(--fm-accent);box-shadow:0 0 0 1px var(--fm-accent)}
.fm-nx-download .fm-download:first-child .fm-btn{background:var(--fm-accent);border-color:var(--fm-accent);color:var(--fm-primary)}
@media (max-width:899px){.fm-nx-why .fm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
  .fm-nx-video,.fm-nx-feature,.fm-nx-free{padding:52px 0}
  .fm-nx-feature + .fm-nx-feature{padding-top:0}
  .fm-nx-feature .fm-row > .fm-col:has(.fm-nx-feature-img){order:2}
  .fm-nx-why .fm-tile{padding:14px}
  .fm-nx-why .fm-tile__media{width:64px}
}
/* ---- Downloads page: firmware finder (signature) ------------------------- */
.fm-dl-hero{padding:56px 0 8px}
.fm-dl-hero .fm-model .fm-title{font-size:clamp(2.6rem,11vw,6.5rem)}
.fm-dl-firmware{padding:40px 0 88px}
.fm-fw{margin-top:18px}
.fm-fw__bar{position:sticky;top:calc(var(--fm-header-h) + 12px);z-index:6;display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr) auto;gap:14px 24px;align-items:end;padding:18px 22px;margin:0 0 22px;border-radius:20px;color:#dbe4f3;background:var(--fm-primary);box-shadow:0 22px 46px -26px rgba(11,37,89,.6)}
.fm-fw__bar[hidden]{display:none}
.fm-fw__search{position:relative;display:grid;gap:6px}
.fm-fw__search-label{font-size:.82rem;font-weight:600;color:#c9d5ea}
.fm-fw__search .fm-icon{position:absolute;left:14px;bottom:15px;width:20px;height:20px;color:var(--fm-primary);pointer-events:none}
.fm-fw__search input{width:100%;height:50px;padding:0 14px 0 44px;border:0;border-radius:12px;background:#fff;color:var(--fm-ink);font:inherit;font-size:1.02rem;font-weight:500}
.fm-fw__search input::placeholder{color:#7b879f;font-weight:400}
.fm-fw__search input:focus-visible{outline:3px solid var(--fm-accent);outline-offset:2px}
.fm-fw__chips{display:flex;flex-wrap:wrap;gap:4px;padding:4px;width:max-content;max-width:100%;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}
.fm-fw__chips button{margin:0;padding:9px 14px;border:0;border-radius:9px;background:transparent;color:#c3cfe6;font:inherit;font-size:.9rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .25s,color .25s}
.fm-fw__chips button:hover{color:#fff}
.fm-fw__chips button[aria-pressed="true"]{background:#fff;color:var(--fm-primary)}
.fm-fw__chips button:focus-visible{outline:3px solid var(--fm-accent);outline-offset:2px}
.fm-fw__count{margin:0 0 12px;font-size:.88rem;color:#a8b7d1;white-space:nowrap;font-variant-numeric:tabular-nums}
.fm-fw__group + .fm-fw__group{margin-top:34px}
.fm-fw__group[hidden]{display:none}
.fm-fw__title{display:flex;align-items:baseline;gap:10px;margin:0 0 8px;font-size:1.2rem;color:var(--fm-primary)}
.fm-fw__title span{font-size:.85rem;font-weight:600;color:var(--fm-muted);font-variant-numeric:tabular-nums}
.fm-fw__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--fm-line)}
.fm-fw__row{display:grid;grid-template-rows:1fr;border-bottom:1px solid var(--fm-line);transition:grid-template-rows .35s var(--fm-ease-out),opacity .25s,border-color .35s}
.fm-fw__row.is-out{grid-template-rows:0fr;opacity:0;border-bottom-color:transparent}
.fm-fw__inner{min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(160px,1.1fr) minmax(210px,1fr) minmax(0,380px);gap:8px 24px;align-items:center;padding:14px 12px;border-radius:12px;transition:background-color .3s,padding .35s var(--fm-ease-out)}
.fm-fw__row.is-out .fm-fw__inner{padding-top:0;padding-bottom:0}
.fm-fw__row:not(.is-out):hover .fm-fw__inner{background:var(--fm-panel)}
.fm-fw__model{display:grid;gap:2px;min-width:0}
.fm-fw__name{font-family:var(--fm-display);font-weight:800;font-size:1.12rem;letter-spacing:.01em;color:var(--fm-primary);text-decoration:none}
a.fm-fw__name:hover{text-decoration:underline;text-underline-offset:4px}
.fm-fw__name mark,.fm-fw__also mark{background:rgba(245,158,11,.32);color:inherit;border-radius:3px;padding:0 1px}
.fm-fw__also{font-size:.82rem;color:var(--fm-muted)}
.fm-fw__ver{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0}
.fm-fw__ver > span{font-size:.82rem;color:var(--fm-muted)}
.fm-fw__ver b{font-size:1.02rem;font-weight:700;color:var(--fm-ink);font-variant-numeric:tabular-nums;transition:font-size .35s var(--fm-ease-out)}
.fm-fw__note{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:#FEF3C7;color:#8A4B06;font-style:normal;font-size:.76rem;font-weight:700;line-height:1.5}
.fm-fw__note .fm-icon{width:14px;height:14px}
.fm-fw__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 16px}
.fm-fw__dl{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.fm-fw__dl .fm-icon{width:18px;height:18px}
.fm-fw__link{font-size:.9rem;font-weight:600;color:var(--fm-primary);text-underline-offset:3px;white-space:nowrap}
.fm-fw__row.is-only .fm-fw__inner{padding:22px 20px;background:var(--fm-panel);box-shadow:inset 0 0 0 1.5px var(--fm-primary)}
.fm-fw__row.is-only .fm-fw__ver b{font-size:1.5rem}
.fm-fw__row.is-only .fm-fw__dl{background:var(--fm-accent);border-color:var(--fm-accent);color:var(--fm-primary)}
.fm-fw__empty{margin:8px 0 0;padding:22px;border-radius:14px;background:var(--fm-panel);color:var(--fm-soft-ink)}
.fm-fw__empty[hidden]{display:none}
@media (max-width:1080px){.fm-fw__bar{grid-template-columns:minmax(0,1fr) auto}.fm-fw__chips{grid-column:1 / -1;grid-row:2}.fm-fw__count{grid-column:2;grid-row:1}}
@media (max-width:767px){
  .fm-dl-hero{padding:36px 0 0}
  .fm-dl-firmware{padding:28px 0 56px}
  .fm-fw__bar{position:static;grid-template-columns:1fr;padding:16px;border-radius:16px}
  .fm-fw__count{grid-column:auto;grid-row:auto;margin:0}
  .fm-fw__chips{grid-row:auto;width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .fm-fw__inner{grid-template-columns:1fr auto;gap:6px 14px;padding:14px 4px}
  .fm-fw__ver{grid-column:1;grid-row:2}
  .fm-fw__actions{grid-column:2;grid-row:1 / span 2;flex-direction:column;align-items:flex-end;gap:8px}
}
@media (prefers-reduced-motion:reduce){.fm-fw__row,.fm-fw__inner,.fm-fw__ver b{transition:none}}
.fm-dl-apps-section{padding:80px 0}
.fm-dl-apps .fm-card__media{aspect-ratio:16/9}
.fm-dl-apps .fm-card__media picture,.fm-dl-apps .fm-card__img{width:100%;height:100%;object-fit:cover}
.fm-dl-help{padding:72px 0 40px}
.fm-dl-help-actions .fm-buttons,.fm-dl-help-actions .fm-btn-group{justify-content:flex-end}
@media (max-width:767px){.fm-dl-apps-section{padding:52px 0}.fm-dl-help{padding:48px 0 24px}.fm-dl-help-actions .fm-buttons,.fm-dl-help-actions .fm-btn-group{justify-content:flex-start}}
/* ---- Warranty policy: coverage timeline (signature) ---------------------- */
.fm-cover{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:18px 0 28px}
.fm-cover--note{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:center;gap:28px}
.fm-cover__chart{position:relative;padding:22px 24px 26px;border-radius:20px;background:#fff;border:1px solid var(--fm-line)}
.fm-cover__axis{position:relative;height:22px;margin:0 0 12px;border-bottom:1px solid var(--fm-line)}
.fm-cover__tick{position:absolute;top:0;transform:translateX(-50%);font-size:.78rem;font-weight:600;color:var(--fm-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.fm-cover__tick:first-child{transform:none}
.fm-cover__tick:last-child{transform:translateX(-100%)}
.fm-cover__tick::after{content:"";position:absolute;left:50%;top:22px;width:1px;height:calc(var(--rows,3) * 74px);background:linear-gradient(var(--fm-line),transparent)}
.fm-cover__tick:first-child::after{left:0}
.fm-cover__tick:last-child::after{left:100%}
.fm-cover__rows{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:14px}
.fm-cover__row{position:relative;display:grid;gap:6px}
.fm-cover__label{margin-left:var(--from);padding-left:2px;display:grid;gap:1px;max-width:min(100%,520px)}
.fm-cover__label b{font-size:.95rem;color:var(--fm-primary)}
.fm-cover__label span{font-size:.86rem;line-height:1.45;color:var(--fm-soft-ink)}
.fm-cover__track{position:relative;height:16px;border-radius:999px;background:var(--fm-panel)}
.fm-cover__bar{position:absolute;top:0;bottom:0;left:var(--from);width:calc(var(--to) - var(--from));border-radius:999px;transform-origin:left center;transition:transform 1s var(--fm-ease-out) calc(var(--i) * .3s + .25s)}
.fm-cover__bar--solid{background:linear-gradient(90deg,var(--fm-primary),#1F4E9E)}
.fm-cover__bar--extended{background:repeating-linear-gradient(-45deg,rgba(31,111,235,.85) 0 8px,rgba(31,111,235,.55) 8px 16px);box-shadow:inset 0 0 0 1.5px rgba(31,111,235,.9)}
.fm-motion .fm-cover:not(.is-grown) .fm-cover__bar{transform:scaleX(0)}
.fm-cover__note{display:flex;gap:12px;padding:18px 18px 20px;border-radius:18px;background:var(--fm-primary);color:#dbe4f3}
.fm-cover__note .fm-icon{flex:none;width:24px;height:24px;color:var(--fm-accent)}
.fm-cover__note b{display:block;margin-bottom:4px;color:#fff;font-size:.95rem}
.fm-cover__note p{margin:0;font-size:.9rem;line-height:1.5}
@media (max-width:899px){.fm-cover--note{grid-template-columns:1fr}}
@media (max-width:560px){
  .fm-cover__chart{padding:16px 14px 18px}
  .fm-cover__tick{font-size:.7rem}
  .fm-cover__label{margin-left:0;max-width:100%}
}
@media (prefers-reduced-motion:reduce){.fm-cover__bar{transition:none}}
/* The rest of the page */
.fm-wr-hero{padding:56px 0 20px}
.fm-wr-glance{padding:56px 0 64px}
.fm-wr-who > .fm-col-inner{height:100%;padding:22px 22px 24px;border-radius:20px;background:#fff;border:1px solid var(--fm-line)}
.fm-wr-who .fm-checks .fm-iconlist{gap:8px}
.fm-wr-note{margin-top:18px;font-size:.9rem;color:var(--fm-muted)}
.fm-wr-glance .fm-row--inner{align-items:stretch}
.fm-legal.fm-wr-part{padding:40px 0 0}
.fm-legal.fm-wr-part#coverage,.fm-wr-glance + .fm-wr-part{padding-top:64px}
.fm-wr-part .fm-prose{max-width:760px}
.fm-wr-part .fm-prose ul{padding-left:1.1em}
.fm-wr-part .fm-prose li + li{margin-top:10px}
.fm-wr-disclaimer .fm-prose{padding:18px 22px;border-radius:16px;background:var(--fm-panel);border-left:4px solid var(--fm-primary);font-size:.92rem;line-height:1.6;letter-spacing:.01em}
.fm-wr-disclaimer .fm-prose p:last-child{margin-bottom:0}
.fm-wr-help{margin-top:64px;padding:56px 0 64px}
@media (max-width:767px){.fm-wr-hero{padding:36px 0 8px}.fm-wr-glance{padding:40px 0 44px}.fm-legal.fm-wr-part{padding:28px 0 0}.fm-wr-help{margin-top:40px}.fm-wr-disclaimer .fm-prose{padding:14px 16px}}
/* ---- Company page: office map (signature) ------------------------------- */
.fm-omap{margin-top:18px}
.fm-omap__board{position:relative;padding:34px 36px 0;border-radius:24px;color:#dbe4f3;overflow:hidden;
  background:radial-gradient(90% 70% at 50% 0%,rgba(31,111,235,.20),transparent 70%),linear-gradient(180deg,#0B2559 0%,#0A2150 100%)}
.fm-omap__map{position:relative;width:100%;aspect-ratio:360/138}
.fm-omap__map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fm-omap__land{fill:none;stroke:rgba(122,152,204,.26);stroke-width:1.12;stroke-linecap:round}
.fm-omap__land--day{stroke:#B9D2F6}
.fm-omap:not(.is-live) .fm-omap__land{stroke:rgba(150,182,232,.6)}
.fm-omap:not(.is-live) .fm-omap__land--day{display:none}
.fm-omap__route{fill:none;stroke:var(--fm-accent);stroke-width:.55;stroke-linecap:round;opacity:.9;stroke-dasharray:1;stroke-dashoffset:0;
  transition:stroke-dashoffset 1.15s var(--fm-ease-out) calc(var(--i) * .38s + .15s),opacity .25s}
.fm-omap__packet{fill:none;stroke:#fff;stroke-width:1.3;stroke-linecap:round;stroke-dasharray:0 1;opacity:0}
.fm-motion .fm-omap:not(.is-drawn) .fm-omap__route{stroke-dashoffset:1}
.fm-omap.is-drawn .fm-omap__packet{animation:fm-omap-packet 1.5s var(--fm-ease) calc(var(--i) * .38s + 1.1s) 1 both}
@keyframes fm-omap-packet{0%{stroke-dasharray:.001 1;stroke-dashoffset:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{stroke-dasharray:.001 1;stroke-dashoffset:-.999;opacity:0}}
.fm-omap__pin{position:absolute;width:0;height:0;z-index:1}
.fm-omap__pin i{position:absolute;left:0;top:0;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--fm-accent);box-shadow:0 0 0 3px #0B2559,0 0 0 4px rgba(245,158,11,.55),0 0 18px 4px rgba(245,158,11,.45);transition:transform .35s var(--fm-ease-out)}
.fm-omap__pin.is-hq i{width:15px;height:15px;margin:-7.5px 0 0 -7.5px;background:#fff;box-shadow:0 0 0 3px #0B2559,0 0 0 5px var(--fm-accent),0 0 22px 6px rgba(245,158,11,.45)}
.fm-omap__tag{position:absolute;top:0;left:14px;transform:translateY(-50%);display:grid;gap:0;padding:4px 9px 5px;border-radius:9px;background:rgba(8,26,64,.78);box-shadow:0 0 0 1px rgba(255,255,255,.08);white-space:nowrap;line-height:1.2;transition:opacity .3s}
.fm-omap__pin--right.is-hq .fm-omap__tag{left:16px}
.fm-omap__pin--left .fm-omap__tag{left:auto;right:14px}
.fm-omap__pin--left.is-hq .fm-omap__tag{right:16px}
.fm-omap__pin--above .fm-omap__tag{left:0;top:-14px;transform:translate(-50%,-100%)}
.fm-omap__pin--below .fm-omap__tag{left:0;top:14px;transform:translate(-50%,0)}
.fm-omap__tag b{font-size:.8rem;font-weight:600;color:#fff}
.fm-omap__tag time{font-size:.74rem;color:#9fb6da;font-variant-numeric:tabular-nums}
.fm-omap__tag time:empty{display:none}
.fm-motion .fm-omap .fm-omap__pin{opacity:0;transform:scale(.4);transition:opacity .4s,transform .5s var(--fm-ease-out)}
.fm-motion .fm-omap .fm-omap__pin.is-hq{transition-delay:.05s}
.fm-motion .fm-omap .fm-omap__pin:not(.is-hq){transition-delay:calc((var(--i) - 1) * .38s + 1.1s)}
.fm-motion .fm-omap.is-drawn .fm-omap__pin{opacity:1;transform:none}
.fm-omap.has-focus .fm-omap__pin:not(.is-focus) .fm-omap__tag,.fm-omap.has-focus .fm-omap__route:not(.is-focus){opacity:.3}
.fm-omap__pin.is-focus i{transform:scale(1.35)}
.fm-omap__offices{list-style:none;margin:26px -36px 0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));border-top:1px solid rgba(255,255,255,.1)}
.fm-omap__office{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 24px 26px;min-width:0;transition:background .25s}
.fm-omap__office + .fm-omap__office{border-left:1px solid rgba(255,255,255,.1)}
.fm-omap__office.is-focus{background:rgba(255,255,255,.04)}
.fm-omap__office.is-hq::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:2px;background:var(--fm-accent)}
.fm-omap__city{margin:0;font-size:1.02rem;line-height:1.3;color:#fff}
.fm-omap__role{margin:0;font-size:.86rem;line-height:1.45;color:#a9bad6}
.fm-omap__time{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:center;margin:8px 0 2px}
.fm-omap__sky{grid-row:1 / span 2;display:none;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:rgba(255,255,255,.07)}
.fm-omap.is-live .fm-omap__sky{display:inline-flex}
.fm-omap__sky .fm-icon{width:18px;height:18px}
.fm-omap__sun{color:var(--fm-accent)}
.fm-omap__moon{color:#c7d6ee;display:none}
.fm-omap__office.is-night .fm-omap__sun{display:none}
.fm-omap__office.is-night .fm-omap__moon{display:block}
.fm-omap__clock{font-family:var(--fm-display);font-size:1.55rem;font-weight:600;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.fm-omap__clock:empty{display:none}
.fm-omap__time small{display:flex;flex-wrap:wrap;gap:0 6px;font-size:.78rem;line-height:1.4;color:#93a8cb}
.fm-omap__contact{display:grid;gap:4px;margin:6px 0 0;font-size:.88rem}
.fm-omap__contact a,.fm-omap__contact span{display:inline-flex;align-items:center;gap:7px;color:#dbe4f3;overflow-wrap:anywhere}
.fm-omap__contact a:hover{color:#fff}
.fm-omap__contact .fm-icon{width:16px;height:16px;color:#7f9cc9}
.fm-omap__more{margin:16px 0 0;font-weight:600}
.fm-omap__more a{display:inline-flex;align-items:center;gap:6px}
.fm-omap__more .fm-icon{width:18px;height:18px}
@media (min-width:1081px){.fm-omap__role{min-height:2.9em}}
@media (max-width:1080px){
  .fm-omap__offices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-omap__office:nth-child(odd){border-left:0}
  .fm-omap__office:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
}
@media (max-width:760px){
  .fm-omap__board{padding:20px 14px 0;border-radius:18px}
  /* Phones: the part of the world between the offices, larger */
  .fm-omap__map{width:138.5%;margin:-3.9% 0 -10.8% -26.9%}
  .fm-omap__offices{position:relative;margin:18px -14px 0;grid-template-columns:1fr;background:#0A2251}
  .fm-omap__office{padding:18px 18px 20px;border-left:0!important}
  .fm-omap__office + .fm-omap__office{border-top:1px solid rgba(255,255,255,.1)}
  .fm-omap__office.is-hq::before{left:18px;right:18px}
  .fm-omap__tag{display:none}
  .fm-omap__route{stroke-width:.8}
  .fm-omap__packet{stroke-width:2}
  .fm-omap__pin i{width:8px;height:8px;margin:-4px 0 0 -4px;box-shadow:0 0 0 2px #0B2559,0 0 10px 2px rgba(245,158,11,.5)}
  .fm-omap__pin.is-hq i{width:11px;height:11px;margin:-5.5px 0 0 -5.5px;box-shadow:0 0 0 2px #0B2559,0 0 0 4px var(--fm-accent)}
}
@media (prefers-reduced-motion:reduce){.fm-omap__route{transition:none}.fm-omap__packet{display:none}.fm-motion .fm-omap .fm-omap__pin{opacity:1;transform:none;transition:none}}
/* The rest of the page */
.fm-hero-about .fm-model .fm-title{font-size:clamp(2.2rem,3.4vw,3.2rem);font-size:min(4.4rem,8cqi);white-space:normal}
.fm-co-mission-section{padding:72px 0 64px}
.fm-co-mission p{margin:0;max-width:30em;font-family:var(--fm-display);font-size:clamp(1.45rem,2.7vw,2.25rem);line-height:1.3;font-weight:500;letter-spacing:-.012em;color:var(--fm-primary)}
.fm-co-offices{padding-top:8px}
.fm-co-make .fm-co-make-text .fm-prose{max-width:34em;color:var(--fm-soft-ink)}
.fm-co-lines .fm-grid{gap:0}
.fm-co-lines .fm-card{position:relative;border:0;border-radius:0;background:none;box-shadow:none;border-top:1px solid var(--fm-line)}
.fm-co-lines .fm-card:last-child{border-bottom:1px solid var(--fm-line)}
.fm-co-lines .fm-card__body{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) 20px;gap:4px 20px;align-items:baseline;padding:17px 4px}
.fm-co-lines .fm-card__title{margin:0;font-size:1.02rem}
.fm-co-lines .fm-card__title a{color:var(--fm-primary)}
.fm-co-lines .fm-card__title a::after{content:"";position:absolute;inset:0}
.fm-co-lines .fm-card__text{margin:0;font-size:.93rem;color:var(--fm-soft-ink)}
.fm-co-lines .fm-card__body::after{content:"";align-self:center;width:18px;height:18px;background:currentColor;color:var(--fm-muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M13.5 4.5 21 12l-7.5 7.5M21 12H3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M13.5 4.5 21 12l-7.5 7.5M21 12H3'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s var(--fm-ease-out),color .25s}
.fm-co-lines .fm-card:hover .fm-card__body::after,.fm-co-lines .fm-card:focus-within .fm-card__body::after{transform:translateX(4px);color:var(--fm-secondary)}
.fm-co-lines .fm-card:hover .fm-card__title a{color:var(--fm-secondary);text-decoration:none}
.fm-co-step > .fm-col-inner{gap:10px;padding:0 22px 0 0}
.fm-co-step .fm-co-step-icon{position:relative}
.fm-co-step .fm-co-step-icon::after{content:"";position:absolute;left:66px;right:-2px;top:28px;height:2px;background:repeating-linear-gradient(90deg,rgba(11,37,89,.28) 0 6px,transparent 6px 11px)}
.fm-co-step:last-child .fm-co-step-icon::after{display:none}
.fm-co-step .fm-iconbox__icon--circle{background:var(--fm-primary);color:#fff;--icon-color:#fff}
.fm-co-step .fm-iconbox__icon .fm-icon{width:24px;height:24px}
.fm-co-step .fm-iconbox__icon--circle{padding:16px}
.fm-co-step h3{margin:6px 0 0}
.fm-co-step .fm-prose p{margin:0;color:var(--fm-soft-ink);font-size:.95rem}
.fm-co-step .fm-co-step-link a{font-weight:600}
.fm-co-partners .fm-row--inner{margin:22px 0 8px}
.fm-co-partner-actions{margin-top:18px}
@media (max-width:899px){
  .fm-co-lines .fm-card__body{grid-template-columns:minmax(0,1fr) 20px}
  .fm-co-lines .fm-card__text{grid-column:1}
  .fm-co-lines .fm-card__body::after{grid-row:1 / span 2;grid-column:2}
  .fm-co-step > .fm-col-inner{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;row-gap:4px;padding:0 0 22px}
  .fm-co-step .fm-co-step-icon{grid-row:1 / span 3}
  .fm-co-step .fm-co-step-icon::after{left:27px;right:auto;top:62px;width:2px;height:calc(100% - 52px);background:repeating-linear-gradient(180deg,rgba(11,37,89,.28) 0 6px,transparent 6px 11px)}
  .fm-co-step h3{margin:4px 0 0}
}
@media (max-width:767px){.fm-co-mission-section{padding:48px 0 40px}}
/* ---- Documentation ------------------------------------------------------- */
.fm-fb__more[hidden],.fm-doc__tools[hidden],.fm-dsearch__results[hidden],.fm-doc-copy[hidden]{display:none!important}
.fm-doc-table td p,.fm-doc-table th p{margin:0}
/* Article, category, tag and search pages: side menu | article | "On this page" */
.fm-docs-shell{display:grid;grid-template-columns:250px minmax(0,1fr) 210px;gap:48px;align-items:start;padding-top:36px;padding-bottom:72px}
.fm-docs-shell--wide{grid-template-columns:250px minmax(0,1fr)}
.fm-dnav{position:sticky;top:calc(var(--fm-header-h) + 20px);max-height:calc(100vh - var(--fm-header-h) - 40px);overflow:auto;padding:2px 6px 24px 2px;font-size:.9rem;scrollbar-width:thin}
.fm-dnav__toggle > summary{display:none}
.fm-dnav__search{position:relative;margin:0 0 14px}
.fm-dnav__search input{width:100%;padding:9px 12px 9px 34px;border:1px solid var(--fm-line);border-radius:10px;font:inherit;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6782' stroke-width='1.8'%3E%3Cpath stroke-linecap='round' d='m21 21-4.35-4.35M17 10.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0Z'/%3E%3C/svg%3E") 10px 50%/16px no-repeat}
.fm-dnav__search input:focus{outline:2px solid var(--fm-secondary);outline-offset:1px;border-color:transparent}
.fm-dnav__home{margin:0 0 8px;font-weight:600}
.fm-dnav__home a{color:var(--fm-primary)}
.fm-dnav__tree,.fm-dnav__tree ul{list-style:none;margin:0;padding:0}
.fm-dnav__cat > details > summary{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:7px 8px;border-radius:8px;cursor:pointer;list-style:none;font-weight:600;color:var(--fm-primary)}
.fm-dnav__cat > details > summary::-webkit-details-marker{display:none}
.fm-dnav__cat > details > summary::before{content:"";flex:none;width:7px;height:7px;margin-right:2px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg);transition:transform .2s;opacity:.6}
.fm-dnav__cat > details[open] > summary::before{transform:rotate(45deg)}
.fm-dnav__cat > details > summary span{flex:1}
.fm-dnav__cat > details > summary small{font-weight:500;color:var(--fm-muted);font-variant-numeric:tabular-nums}
.fm-dnav__cat > details > summary:hover{background:var(--fm-panel)}
.fm-dnav__cat ul{padding-left:14px;margin:2px 0 8px;border-left:1px solid var(--fm-line);margin-left:11px}
.fm-dnav__cat ul a{display:block;padding:5px 8px;border-radius:6px;color:var(--fm-soft-ink);line-height:1.35}
.fm-dnav__cat ul a:hover{color:var(--fm-primary);background:var(--fm-panel);text-decoration:none}
.fm-dnav__cat ul a.is-current{color:var(--fm-primary);font-weight:600;background:color-mix(in srgb,var(--fm-accent) 16%,#fff);box-shadow:inset 3px 0 0 var(--fm-accent)}
.fm-dnav__all a{font-size:.82rem;color:var(--fm-secondary)!important}

/* Breadcrumb */
.fm-dcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;margin:0 0 14px;padding:0;font-size:.85rem;color:var(--fm-muted)}
.fm-dcrumbs li + li::before{content:"/";margin:0 8px;opacity:.5}
.fm-dcrumbs a{color:var(--fm-muted)}
.fm-dcrumbs a:hover{color:var(--fm-primary)}

/* Article */
.fm-doc{min-width:0;max-width:780px}
.fm-doc__title{font-family:var(--fm-display);font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.15;letter-spacing:-.015em;margin:0 0 12px;text-wrap:balance}
.fm-doc__lead{font-size:1.15rem;line-height:1.55;color:var(--fm-soft-ink);margin:0 0 16px;max-width:62ch}
.fm-doc__facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 14px;font-size:.86rem;color:var(--fm-muted)}
.fm-doc__facts span{display:inline-flex;align-items:center;gap:6px}
.fm-doc__facts .fm-icon{width:16px;height:16px}
.fm-doc__members{color:#92400E}
.fm-doc__tags,.fm-dwith ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0}
.fm-dtag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.3;border:1px solid var(--fm-line);color:var(--fm-primary);background:#fff}
.fm-dtag--product{background:color-mix(in srgb,var(--fm-accent) 14%,#fff);border-color:color-mix(in srgb,var(--fm-accent) 40%,#fff)}
.fm-dtag:hover{border-color:var(--fm-primary);text-decoration:none}
.fm-doc__tools{display:flex;gap:8px;margin:0 0 6px}
.fm-doc__tool{font:600 .82rem/1 var(--fm-font);padding:8px 12px;border-radius:8px;border:1px solid var(--fm-line);background:#fff;color:var(--fm-soft-ink);cursor:pointer}
.fm-doc__tool:hover{color:var(--fm-primary);border-color:var(--fm-primary)}
.fm-doc__head{padding-bottom:22px;margin-bottom:28px;border-bottom:1px solid var(--fm-line)}
.fm-doc__toc-inline{display:none;margin:0 0 24px;border:1px solid var(--fm-line);border-radius:12px;padding:12px 16px;background:var(--fm-panel)}
.fm-doc__toc-inline summary{cursor:pointer;font-weight:600;color:var(--fm-primary)}
.fm-doc__toc-inline ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;font-size:.92rem}
/* The article text */
.fm-doc__body{max-width:none;font-size:1.0625rem;line-height:1.75;color:var(--fm-ink);counter-reset:fm-step}
.fm-doc__body > * + h2{margin-top:2.2em}
.fm-doc__body h2{font-family:var(--fm-display);font-size:1.55rem;line-height:1.25;letter-spacing:-.01em;margin:1.8em 0 .6em}
.fm-doc__body h3{font-size:1.18rem;margin:1.7em 0 .5em}
.fm-doc__body h4{font-size:1rem;margin:1.4em 0 .4em;color:var(--fm-primary)}
.fm-doc__body > :first-child{margin-top:0}
.fm-doc__body p{margin:0 0 1.05em}
.fm-doc__body li > p{margin:0}
.fm-doc__body ol,.fm-doc__body ul{padding-left:1.35em}
.fm-doc__body li{margin-bottom:.45em}
.fm-doc__body li::marker{color:var(--fm-muted);font-weight:600}
.fm-doc__body hr{border:0;border-top:1px solid var(--fm-line);margin:2em 0}
.fm-doc__body mark{background:color-mix(in srgb,var(--fm-accent) 32%,#fff);color:inherit;padding:0 2px;border-radius:3px}
.fm-doc__body small{font-size:.85em;color:var(--fm-muted)}
.fm-doc__body [data-color="blue"]{color:#1F6FEB}.fm-doc__body [data-color="navy"]{color:#0B2559}.fm-doc__body [data-color="amber"]{color:#B45309}.fm-doc__body [data-color="red"]{color:#B91C1C}.fm-doc__body [data-color="green"]{color:#047857}.fm-doc__body [data-color="gray"]{color:#5B6782}
.fm-ta-center{text-align:center}.fm-ta-right{text-align:right}.fm-ta-justify{text-align:justify}
.fm-doc-anchor{margin-left:.35em;color:var(--fm-line);font-weight:400;text-decoration:none!important;opacity:0;transition:opacity .15s}
.fm-doc__body :is(h2,h3):hover .fm-doc-anchor,.fm-doc-anchor:focus-visible{opacity:1;color:var(--fm-secondary)}
/* Numbered steps */
.fm-doc-step{position:relative;counter-increment:fm-step;margin:2em 0 .8em;padding-left:52px}
.fm-doc-step::before{content:counter(fm-step);position:absolute;left:0;top:-2px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--fm-primary);color:#fff;font:700 1rem/1 var(--fm-display);font-variant-numeric:tabular-nums}
.fm-doc-step .fm-doc-step__title{margin:0;font-size:1.18rem;line-height:1.35}
.fm-doc-step__text{margin:.35em 0 0!important;color:var(--fm-soft-ink)}
/* Screenshots: framed, open full size */
.fm-doc-figure{margin:1.4em 0 1.6em}
.fm-doc-zoom{display:block;width:fit-content;max-width:100%;margin:0 auto;border-radius:12px;border:1px solid var(--fm-line);box-shadow:0 1px 2px rgba(11,37,89,.06),0 14px 34px -18px rgba(11,37,89,.35);overflow:hidden;cursor:zoom-in;background:#fff}
.fm-doc-zoom img,.fm-doc-zoom picture{display:block;max-width:100%;height:auto;border-radius:0}
p .fm-doc-zoom{display:inline-block;vertical-align:middle;margin:.3em 0}
.fm-doc-figure figcaption{margin-top:8px;text-align:center;font-size:.85rem;color:var(--fm-muted)}
.fm-zoom{max-width:min(96vw,1600px);max-height:94vh;padding:0;border:0;border-radius:12px;background:#0b1630;overflow:visible}
.fm-zoom::backdrop{background:rgba(6,14,32,.82)}
.fm-zoom img{display:block;max-width:min(96vw,1600px);max-height:94vh;object-fit:contain;border-radius:12px}
.fm-zoom__close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:0;background:#fff;color:var(--fm-primary);font-size:22px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}
/* Tables, code */
.fm-doc-table{overflow-x:auto;margin:1.2em 0 1.6em;border:1px solid var(--fm-line);border-radius:12px}
.fm-doc-table table{margin:0;border:0;font-size:.94rem;min-width:100%}
.fm-doc-table th,.fm-doc-table td{border:0;border-bottom:1px solid var(--fm-line);padding:10px 14px;vertical-align:top}
.fm-doc-table tr:last-child > *{border-bottom:0}
.fm-doc-table th{background:var(--fm-panel);color:var(--fm-primary);font-weight:600}
.fm-doc-table td + td,.fm-doc-table th + th{border-left:1px solid var(--fm-line)}
.fm-doc__body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--fm-panel);border:1px solid var(--fm-line);padding:1px 6px;border-radius:5px}
.fm-doc-code{position:relative;margin:1.2em 0 1.6em}
.fm-doc-code pre{margin:0;background:#0B1B3F;color:#dbe6f7;padding:18px 20px;border-radius:12px;overflow:auto;font-size:.9rem;line-height:1.6}
.fm-doc-code pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}
.fm-doc-copy{position:absolute;top:10px;right:10px;font:600 .75rem/1 var(--fm-font);padding:7px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#dbe6f7;cursor:pointer}
.fm-doc-copy:hover{background:rgba(255,255,255,.16)}
.fm-doc__body blockquote{margin:1.2em 0;padding:4px 0 4px 18px;border-left:3px solid var(--fm-line);background:none;color:var(--fm-soft-ink);border-radius:0}
.fm-doc__body details{margin:1.2em 0;border:1px solid var(--fm-line);border-radius:12px;padding:12px 16px}
.fm-doc__body details > summary{cursor:pointer;font-weight:600;color:var(--fm-primary)}
.fm-doc__body .grid-layout{display:grid;grid-template-columns:var(--cols,1fr);gap:20px;margin:1.2em 0}
.fm-doc__body .grid-layout-col{grid-column:var(--col-span,auto);min-width:0}
/* Notes, tips, warnings */
.fm-doc-note{position:relative;margin:1.4em 0;padding:14px 18px 14px 50px;border-radius:12px;border:1px solid;--c:#1F6FEB;border-color:color-mix(in srgb,var(--c) 30%,#fff);background:color-mix(in srgb,var(--c) 7%,#fff)}
.fm-doc-note::before{content:"";position:absolute;left:16px;top:16px;width:22px;height:22px;background:var(--c);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.fm-doc-note--note{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z'/%3E%3C/svg%3E")}
.fm-doc-note--tip{--c:#047857;--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 18v-5.25m0 0a6.01 6.01 0 0 0 1.5-.189m-1.5.189a6.01 6.01 0 0 1-1.5-.189m3.75 7.478a12.06 12.06 0 0 1-4.5 0m3.75 2.383a14.406 14.406 0 0 1-3 0M14.25 18v-.192c0-.983.658-1.823 1.508-2.316a7.5 7.5 0 1 0-7.517 0c.85.493 1.509 1.333 1.509 2.316V18'/%3E%3C/svg%3E")}
.fm-doc-note--warning{--c:#B45309;--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z'/%3E%3C/svg%3E")}
.fm-doc-note--important{--c:#B91C1C;--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 9v3.75m0-10.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.75c0 5.592 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.57-.598-3.75h-.152c-3.196 0-6.1-1.25-8.25-3.286Zm0 13.036h.008v.008H12v-.008Z'/%3E%3C/svg%3E")}
.fm-doc-note__title{margin:0 0 2px!important;font-weight:700;color:color-mix(in srgb,var(--c) 75%,#0B2559)}
.fm-doc-note__body p:last-child{margin-bottom:0}
/* Downloads and videos inside an article */
.fm-doc-download{display:flex;align-items:center;gap:14px;margin:1.2em 0;padding:14px 16px 14px 56px;position:relative;border:1px solid var(--fm-line);border-radius:12px;background:#fff}
.fm-doc-download::before{content:"";position:absolute;left:16px;top:50%;width:26px;height:26px;margin-top:-13px;background:var(--fm-primary);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12 3 3m0 0 3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12 3 3m0 0 3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z'/%3E%3C/svg%3E") center/contain no-repeat}
.fm-doc-download__body{flex:1;min-width:0;display:grid;line-height:1.35}
.fm-doc-download__body b{color:var(--fm-primary)}
.fm-doc-download__body span{font-size:.85rem;color:var(--fm-muted)}
.fm-doc-download .fm-btn{text-decoration:none!important}
.fm-doc-video{margin:1.4em 0}
.fm-doc-video__link{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#0B1B3F}
.fm-doc-video__link img{width:100%;height:100%;object-fit:cover;opacity:.85;border-radius:0}
.fm-doc-video__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:10px;padding:12px 18px 12px 46px;border-radius:999px;background:var(--fm-accent);color:var(--fm-primary);font-weight:700;font-size:.95rem}
.fm-doc-video__play::before{content:"";position:absolute;left:18px;top:50%;margin-top:-8px;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent currentColor}
.fm-doc-video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px;display:block}
.fm-doc-video figcaption{margin-top:8px;font-size:.88rem;color:var(--fm-muted)}
/* "Was this helpful?" */
.fm-doc__feedback{margin:44px 0 28px;padding:22px 24px;border-radius:16px;background:var(--fm-panel)}
.fm-fb__title{margin:0 0 12px;font-size:1.1rem}
.fm-fb__answers{display:flex;gap:10px}
.fm-fb__btn{min-width:96px;padding:10px 18px;border-radius:10px;border:1.5px solid color-mix(in srgb,var(--fm-primary) 25%,transparent);background:#fff;color:var(--fm-primary);font:600 .95rem/1 var(--fm-font);cursor:pointer}
.fm-fb__btn:hover,.fm-fb__btn[aria-pressed="true"]{border-color:var(--fm-primary);background:var(--fm-primary);color:#fff}
.fm-fb__more{margin-top:16px;display:grid;gap:8px;max-width:560px}
.fm-fb__more label{font-weight:600;font-size:.92rem}
.fm-fb__more textarea{font:inherit;padding:10px 12px;border:1px solid var(--fm-line);border-radius:10px;resize:vertical}
.fm-fb__more .fm-btn{justify-self:start}
.fm-fb__hp{position:absolute!important;left:-9999px}
.fm-fb__status:empty{display:none}
.fm-fb__status,.fm-fb__thanks{margin:12px 0 0;font-weight:600;color:#047857}
/* Previous / next, related */
.fm-doc__pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 36px}
.fm-doc__pagelink{display:grid;gap:4px;padding:16px 18px;border:1px solid var(--fm-line);border-radius:14px;color:var(--fm-primary);transition:border-color .2s}
.fm-doc__pagelink:hover{border-color:var(--fm-primary);text-decoration:none}
.fm-doc__pagelink small{font-size:.8rem;color:var(--fm-muted)}
.fm-doc__pagelink span{font-weight:600;line-height:1.35}
.fm-doc__pagelink--next{grid-column:2;text-align:right}
.fm-doc__related h2{font-size:1.2rem;margin:0 0 10px}
/* The guide list used on category, tag, search and related */
.fm-dlist{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid var(--fm-line)}
.fm-dlist li{border-bottom:1px solid var(--fm-line)}
.fm-dlist a{display:grid;gap:3px;padding:14px 34px 14px 4px;position:relative;color:var(--fm-ink)}
.fm-dlist a::after{content:"";position:absolute;right:8px;top:50%;width:8px;height:8px;margin-top:-4px;border-top:1.6px solid var(--fm-muted);border-right:1.6px solid var(--fm-muted);transform:rotate(45deg);transition:transform .2s}
.fm-dlist a:hover{text-decoration:none}
.fm-dlist a:hover b{color:var(--fm-secondary)}
.fm-dlist a:hover::after{transform:translateX(3px) rotate(45deg)}
.fm-dlist b{color:var(--fm-primary);font-weight:600;line-height:1.35}
.fm-dlist span{font-size:.92rem;color:var(--fm-soft-ink);line-height:1.5}
.fm-dlist small{font-size:.8rem;color:var(--fm-muted)}
.fm-dlist__members{color:#92400E!important}
/* "On this page" */
.fm-doc__toc{position:sticky;top:calc(var(--fm-header-h) + 20px);font-size:.86rem;padding-left:14px;border-left:1px solid var(--fm-line);max-height:calc(100vh - var(--fm-header-h) - 40px);overflow:auto}
.fm-doc__toc-title{margin:0 0 10px;font-weight:700;color:var(--fm-primary)}
.fm-doc__toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.fm-doc__toc a,.fm-doc__toc-inline a{display:block;padding:4px 0;color:var(--fm-muted);line-height:1.4}
.fm-toc--3 a{padding-left:12px!important}
.fm-doc__toc a:hover{color:var(--fm-primary);text-decoration:none}
.fm-doc__toc a.is-active{color:var(--fm-primary);font-weight:600;box-shadow:-15px 0 0 -13px var(--fm-accent)}
/* Help band at the end */
.fm-dhelp{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;margin:20px 0 0;padding:22px 24px;border-radius:16px;color:#dbe4f3;background:var(--fm-primary)}
.fm-dhelp h2{margin:0 0 4px;font-size:1.15rem;color:#fff}
.fm-dhelp p{margin:0;font-size:.95rem;max-width:52ch}
.fm-dhelp__actions{display:flex;flex-wrap:wrap;gap:10px}
.fm-dhelp .fm-btn--outline{color:#fff;border-color:rgba(255,255,255,.35)}
/* Category, tag and search pages */
.fm-dpage{min-width:0;max-width:880px}
.fm-dpage__head{margin-bottom:24px}
.fm-dpage__head h1{font-family:var(--fm-display);font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;margin:0 0 10px;letter-spacing:-.015em}
.fm-dpage__title{display:flex;align-items:center;gap:14px}
.fm-dpage__title h1{margin:0}
.fm-dpage__lead{font-size:1.08rem;color:var(--fm-soft-ink);margin:12px 0 6px;max-width:62ch}
.fm-dpage__count{margin:8px 0 0;font-size:.88rem;color:var(--fm-muted)}
.fm-dwith{margin:0 0 22px}
.fm-dwith p{margin:0 0 8px;font-size:.9rem;color:var(--fm-muted)}
.fm-dempty{padding:18px 20px;border-radius:12px;background:var(--fm-panel);color:var(--fm-soft-ink)}
.fm-dsearch--page{display:flex;gap:10px;margin-top:14px}
.fm-dsearch--page input{flex:1;min-width:0;font:inherit;font-size:1.05rem;padding:12px 16px;border:1.5px solid var(--fm-line);border-radius:12px}

/* Docs home: search */
.fm-dsearch{position:relative;max-width:760px}
.fm-dsearch__label{display:block;margin:0 0 10px;font-weight:600;color:inherit}
.fm-dsearch__field{position:relative;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 48px;border-radius:16px;background:#fff;box-shadow:0 1px 0 rgba(11,37,89,.06),0 18px 40px -22px rgba(11,37,89,.6)}
.fm-dsearch__field > .fm-icon{position:absolute;left:16px;top:50%;width:22px;height:22px;margin-top:-11px;color:var(--fm-muted)}
.fm-dsearch__field input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:1.1rem;padding:12px 4px;background:transparent;color:var(--fm-ink)}
.fm-dsearch__field:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-accent) 60%,transparent),0 18px 40px -22px rgba(11,37,89,.6)}
.fm-dsearch__field .fm-btn{flex:none}
.fm-dsearch__results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--fm-line);border-radius:14px;box-shadow:0 22px 48px -20px rgba(11,37,89,.45);padding:6px;max-height:min(70vh,520px);overflow:auto;color:var(--fm-ink);text-align:left}
.fm-dsearch__results ul{list-style:none;margin:0;padding:0}
.fm-dsearch__results a{display:grid;gap:2px;padding:10px 12px;border-radius:10px;color:var(--fm-ink)}
.fm-dsearch__results a:hover,.fm-dsearch__results a[aria-selected="true"]{background:var(--fm-panel);text-decoration:none}
.fm-dsearch__results b{color:var(--fm-primary);font-weight:600}
.fm-dsearch__results span{font-size:.88rem;color:var(--fm-soft-ink)}
.fm-dsearch__results small{font-size:.76rem;color:var(--fm-muted)}
.fm-dsearch__results mark{background:color-mix(in srgb,var(--fm-accent) 35%,#fff);color:inherit;border-radius:2px}
.fm-dsearch__results p{margin:0;padding:12px;color:var(--fm-muted);font-size:.92rem}
.fm-dsearch__all{border-top:1px solid var(--fm-line);margin-top:4px}
.fm-dsearch__suggest{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:.88rem}
.fm-dsearch__suggest ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.fm-dsearch__suggest a{display:inline-block;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:inherit}
.fm-dsearch__suggest a:hover{background:rgba(255,255,255,.2);text-decoration:none}
.fm-dnav .fm-dsearch__results{top:calc(100% + 4px)}

/* Docs home: "Connect two systems" (signature) */
.fm-dfind{margin-top:16px}
.fm-dfind__board{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,1fr) minmax(0,1fr);align-items:end;gap:0;padding:30px 32px;border-radius:22px;color:#dbe4f3;
  background:radial-gradient(110% 120% at 50% 0%,rgba(31,111,235,.24),transparent 62%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,var(--fm-primary)}
.fm-dfind__slot label{display:block;margin:0 0 8px;font-size:.86rem;font-weight:600;color:#a9bad6}
.fm-dfind__select{position:relative}
.fm-dfind__select::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--fm-primary);border-bottom:2px solid var(--fm-primary);transform:rotate(45deg);pointer-events:none}
.fm-dfind select{width:100%;appearance:none;-webkit-appearance:none;font:600 1.08rem/1.2 var(--fm-font);padding:15px 42px 15px 16px;border-radius:14px;border:2px solid transparent;background:#fff;color:var(--fm-primary);cursor:pointer}
.fm-dfind select:focus-visible{outline:none;border-color:var(--fm-accent);box-shadow:0 0 0 4px rgba(245,158,11,.25)}
.fm-dfind__slot.is-set select{border-color:var(--fm-accent)}
.fm-dfind__cable{position:relative;height:54px;align-self:end;display:flex;align-items:center}
.fm-dfind__cable svg{position:absolute;left:0;right:0;top:50%;width:100%;height:40px;margin-top:-20px;overflow:visible}
.fm-dfind__wire{fill:none;stroke:rgba(169,186,214,.45);stroke-width:2;stroke-dasharray:5 7;vector-effect:non-scaling-stroke}
.fm-dfind__live{fill:none;stroke:var(--fm-accent);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .7s var(--fm-ease-out)}
.fm-dfind.is-linked .fm-dfind__live{stroke-dashoffset:0}
.fm-dfind__pulse{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-dasharray:0 1;opacity:0}
.fm-dfind.is-pulse .fm-dfind__pulse{animation:fm-dfind-pulse 1.1s var(--fm-ease) .5s 1 both}
@keyframes fm-dfind-pulse{0%{stroke-dasharray:.04 1;stroke-dashoffset:.04;opacity:0}15%{opacity:1}85%{opacity:1}100%{stroke-dasharray:.04 1;stroke-dashoffset:-1;opacity:0}}
.fm-dfind__count{position:relative;z-index:1;margin:0 auto;padding:5px 12px;border-radius:999px;background:#0A2150;border:1px solid rgba(255,255,255,.14);font-size:.84rem;font-weight:600;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}
.fm-dfind__count:empty{display:none}
.fm-dfind.is-linked .fm-dfind__count{background:var(--fm-accent);border-color:var(--fm-accent);color:var(--fm-primary)}
.fm-dfind__slot--b.is-dim{opacity:.55}
.fm-dfind noscript .fm-btn{grid-column:1 / -1;margin-top:16px;justify-self:start}
.fm-dfind__results{margin-top:18px}
.fm-dfind__results .fm-dlist{margin-bottom:10px}
.fm-dfind__start{margin:0;padding:16px 4px;color:var(--fm-muted)}
.fm-dfind__more{margin:6px 0 0;font-weight:600}
@media (prefers-reduced-motion:reduce){.fm-dfind__live{transition:none}.fm-dfind__pulse{display:none}}

/* Docs home: categories */
.fm-dcats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:18px}
.fm-dcat{display:flex;flex-direction:column;gap:10px;padding:22px 22px 18px;border:1px solid var(--fm-line);border-radius:18px;background:#fff;transition:border-color .2s,box-shadow .2s}
.fm-dcat:hover{border-color:color-mix(in srgb,var(--fm-primary) 30%,var(--fm-line));box-shadow:0 18px 36px -26px rgba(11,37,89,.45)}
.fm-dcat__head{display:flex;align-items:center;gap:12px}
.fm-dcat__icon{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--fm-primary);color:#fff}
.fm-dcat__icon .fm-icon{width:22px;height:22px}
.fm-dcat__name{margin:0;font-size:1.12rem;line-height:1.3}
.fm-dcat__name a{color:var(--fm-primary)}
.fm-dcat__text{margin:0;font-size:.92rem;color:var(--fm-soft-ink);line-height:1.5}
.fm-dcat__docs{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:6px;font-size:.92rem}
.fm-dcat__docs a{display:block;color:var(--fm-ink);line-height:1.4;padding-left:14px;position:relative}
.fm-dcat__docs a::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--fm-accent)}
.fm-dcat__docs a:hover{color:var(--fm-secondary);text-decoration:none}
.fm-dcat__all{margin-top:auto;padding-top:8px;font-weight:600;font-size:.9rem}
.fm-dcats--sub{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0 0 24px}
.fm-dcats--sub a{display:grid;padding:14px 16px;border:1px solid var(--fm-line);border-radius:12px;color:var(--fm-primary)}
.fm-dcats--sub a:hover{border-color:var(--fm-primary);text-decoration:none}
.fm-dcats--sub small{color:var(--fm-muted)}
/* Docs home: FAQ */
.fm-dfaq{border-top:1px solid var(--fm-line);max-width:860px}
.fm-dfaq__item{border-bottom:1px solid var(--fm-line)}
.fm-dfaq__item > summary{display:flex;justify-content:space-between;gap:18px;padding:18px 4px;cursor:pointer;font-weight:600;font-size:1.05rem;color:var(--fm-primary);list-style:none}
.fm-dfaq__item > summary::-webkit-details-marker{display:none}
.fm-dfaq__item > summary::after{content:"";flex:none;width:10px;height:10px;margin-top:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.fm-dfaq__item[open] > summary::after{transform:rotate(-135deg)}
.fm-dfaq__answer{padding:0 4px 18px;color:var(--fm-soft-ink);max-width:72ch}
/* The rest of the docs home */
.fm-docs-hero{padding:56px 0 64px;color:#dbe4f3;background:radial-gradient(80% 120% at 85% 0%,rgba(31,111,235,.28),transparent 60%),var(--fm-primary)}
.fm-docs-hero .fm-title,.fm-docs-hero h1{color:#fff}
.fm-docs-hero .fm-heading__sub,.fm-docs-hero .fm-subtitle{color:#c3d1e8}
.fm-docs-hero .fm-dsearch__label{color:#c3d1e8}
.fm-docs-connect{padding-top:64px}

@media (max-width:1180px){
  .fm-docs-shell{grid-template-columns:230px minmax(0,1fr);gap:36px}
  .fm-doc__toc{display:none}
  .fm-doc__toc-inline{display:block}
}
@media (max-width:900px){
  .fm-docs-shell,.fm-docs-shell--wide{display:block;padding-top:16px}
  .fm-dnav{position:static;max-height:none;overflow:visible;padding:0;margin:0 0 20px}
  .fm-dnav__toggle{border:1px solid var(--fm-line);border-radius:12px;background:#fff}
  .fm-dnav__toggle > summary{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-weight:600;color:var(--fm-primary);cursor:pointer;list-style:none}
  .fm-dnav__toggle > summary::-webkit-details-marker{display:none}
  .fm-dnav__toggle > summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}
  .fm-dnav__toggle:not([open]) > .fm-dnav__inner{display:none}
  .fm-dnav__inner{padding:4px 12px 14px;max-height:70vh;overflow:auto}
  .fm-dcats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-dfind__board{grid-template-columns:1fr;padding:22px 18px}
  .fm-dfind__cable{height:56px;justify-content:center}
  .fm-dfind__cable svg{display:none}
  .fm-dfind__cable::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px dashed rgba(169,186,214,.45)}
  .fm-dfind.is-linked .fm-dfind__cable::before{border-left:3px solid var(--fm-accent);margin-left:-1px}
}
@media (max-width:600px){
  .fm-dcats{grid-template-columns:1fr}
  .fm-doc__pager{grid-template-columns:1fr}
  .fm-doc__pagelink--next{grid-column:1;text-align:left}
  .fm-doc-step{padding-left:44px}
  .fm-doc-step::before{width:32px;height:32px;font-size:.92rem}
  .fm-dsearch__field{padding-left:42px}
  .fm-dsearch__field .fm-btn{display:none}
  .fm-doc__body{font-size:1rem}
  .fm-doc-download{flex-wrap:wrap}
}
/* ---------------------------------------------------------------- contact page
   The auto attendant: the greeting and menu on a screen above a keypad where
   only the menu's keys light; the chosen key's LED glows amber and the form
   beside it is addressed to that team. Offices below with full addresses. */
.fm-contact-hero{padding-bottom:64px}
.fm-contact-hero .fm-hero-lead .fm-prose{max-width:60ch}
.fm-attend{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:32px;align-items:start;margin-top:30px}
.fm-attend__console{background:var(--fm-primary);color:#c9d6ec;border-radius:var(--fm-radius-lg);padding:22px;display:grid;gap:18px;position:sticky;top:96px}
.fm-attend__screen{background:#081b44;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px 22px 22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),inset 0 -18px 40px rgba(0,0,0,.18)}
.fm-attend__greeting{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-family:var(--fm-display);font-weight:600;font-size:1.12rem;color:#fff;letter-spacing:-.01em}
.fm-attend__voice{display:inline-flex;align-items:center;gap:3px;height:16px;flex:none}
.fm-attend__voice i{display:block;width:3px;height:6px;border-radius:2px;background:var(--fm-accent);opacity:.85}
.fm-attend__voice i:nth-child(2){height:11px}
.fm-attend__menu{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.fm-attend__line{display:flex;align-items:center;gap:12px;padding:6px 8px;margin:0 -8px;border-radius:8px;font-size:.98rem;color:#b3c3df;transition:background-color .2s,color .2s}
.fm-attend__digit{display:inline-grid;place-items:center;width:26px;height:26px;flex:none;border-radius:7px;border:1px solid rgba(255,255,255,.22);font-family:var(--fm-display);font-weight:600;font-size:.9rem;color:#fff;font-variant-numeric:tabular-nums}
.fm-attend__line.is-on{background:rgba(255,255,255,.06);color:#fff}
.fm-attend__line.is-on .fm-attend__digit{background:var(--fm-accent);border-color:var(--fm-accent);color:var(--fm-primary)}
.fm-attend__home{display:flex;flex-direction:column}
.fm-attend__hint{margin:auto 0 0;padding-top:14px;font-size:.9rem;color:#8ea2c4;display:none}
.fm-attend__routes{display:grid;gap:22px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.fm-attend__title{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:1.3rem;color:#fff}
.fm-attend__title .fm-attend__digit{background:var(--fm-accent);border-color:var(--fm-accent);color:var(--fm-primary)}
.fm-attend__text{margin:0 0 14px;color:#c9d6ec;font-size:.98rem;line-height:1.55;max-width:52ch}
.fm-attend__contacts{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fm-attend__contacts li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.fm-attend__contacts a{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:500;text-decoration:none}
.fm-attend__contacts a:hover{text-decoration:underline;text-underline-offset:.2em}
.fm-attend__contacts .fm-icon{width:18px;height:18px;color:#8fb4ff;flex:none}
.fm-attend__contacts small{color:#8ea2c4;font-size:.85rem}
.fm-attend__buttons{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.fm-attend__buttons .fm-btn{padding:11px 18px}
.fm-attend__buttons .fm-btn--outline{color:#fff;border-color:rgba(255,255,255,.35)}
.fm-attend__buttons .fm-btn--outline:hover{background:#fff;border-color:#fff;color:var(--fm-primary)}
.fm-attend__write{display:none;margin:16px 0 0}
.fm-attend__write a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600}
.fm-attend__write .fm-icon{width:18px;height:18px}
.fm-attend__back{display:none;margin:auto 0 0;padding-top:16px;font-size:.9rem;color:#8ea2c4}
/* Keypad: twelve keys like a desk phone; the menu's keys light. */
.fm-attend__pad{display:none;grid-template-columns:repeat(3,1fr);gap:10px}
.fm-key{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:62px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.26);font:inherit;line-height:1.1;user-select:none}
.fm-key b{font-family:var(--fm-display);font-weight:600;font-size:1.45rem;font-variant-numeric:tabular-nums}
.fm-key span{font-size:.66rem;letter-spacing:.08em;min-height:.8em}
.fm-key.is-live{background:#fff;border-color:#fff;color:var(--fm-primary);cursor:pointer;box-shadow:0 3px 0 rgba(0,0,0,.28);transition:transform .12s var(--fm-ease),box-shadow .12s var(--fm-ease),background-color .2s}
.fm-key.is-live span{font-size:.78rem;letter-spacing:.01em;font-weight:600;color:var(--fm-soft-ink)}
.fm-key.is-live:hover{background:#eef3fb}
.fm-key.is-live:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.28)}
.fm-key.is-live:focus-visible{outline:3px solid #8fb4ff;outline-offset:3px}
.fm-key__led{position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:#c3ccda;transition:background-color .2s,box-shadow .2s}
.fm-key[aria-pressed="true"]{box-shadow:0 1px 0 rgba(0,0,0,.28),0 0 0 3px var(--fm-accent);transform:translateY(2px)}
.fm-key[aria-pressed="true"] .fm-key__led,.fm-key.is-blink .fm-key__led{background:var(--fm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-accent) 30%,transparent),0 0 10px var(--fm-accent)}
/* With the script: the keypad shows, one choice at a time. */
.fm-attend.is-live .fm-attend__pad{display:grid}
.fm-attend.is-live .fm-attend__hint{display:block}
/* The chosen team takes the menu's place; the screen keeps the height of its
   tallest page, so the keypad below never moves. */
.fm-attend.is-live .fm-attend__deck{display:grid}
.fm-attend.is-live .fm-attend__routes{display:contents}
.fm-attend.is-live .fm-attend__home,.fm-attend.is-live .fm-attend__route,.fm-attend.is-live .fm-attend__route[hidden]{grid-area:1/1;min-width:0;display:flex;flex-direction:column}
.fm-attend.is-live .fm-attend__route[hidden],.fm-attend.has-choice .fm-attend__home{visibility:hidden}
.fm-attend.is-live .fm-attend__back{display:block}
/* *: back to the menu, live once a team is chosen. */
.fm-key--menu{cursor:default}
.fm-key--menu:not(:disabled){background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff;cursor:pointer;transition:background-color .2s}
.fm-key--menu:not(:disabled) span{font-size:.78rem;letter-spacing:.01em;font-weight:600;color:#c9d6ec}
.fm-key--menu:not(:disabled):hover{background:rgba(255,255,255,.2)}
.fm-key--menu:focus-visible{outline:3px solid #8fb4ff;outline-offset:3px}
.fm-attend__route.is-connecting > *{opacity:0}
.fm-attend__route.is-connecting{position:relative;min-height:120px}
.fm-attend__route.is-connecting::before{content:"";position:absolute;left:0;top:6px;width:44px;height:10px;background:radial-gradient(circle,var(--fm-accent) 3px,transparent 3.5px) 0 50%/14px 10px repeat-x;animation:fm-attend-ring .45s steps(4) infinite}
@keyframes fm-attend-ring{from{width:0}to{width:44px}}
.fm-attend__route:not(.is-connecting) > *{transition:opacity .25s var(--fm-ease-out)}
/* The form, addressed to the team chosen. */
.fm-attend__form{background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-radius-lg);padding:32px;box-shadow:var(--fm-shadow-lg);scroll-margin-top:96px}
.fm-attend__form-title{margin:0;font-size:clamp(1.5rem,2.4vw,1.9rem);color:var(--fm-primary);display:inline-block;background:linear-gradient(var(--fm-accent),var(--fm-accent)) 0 100%/0 3px no-repeat}
.fm-attend__form-title.is-new{animation:fm-attend-title .7s var(--fm-ease-out)}
@keyframes fm-attend-title{0%{background-size:0 3px}60%{background-size:100% 3px}100%{background-size:100% 3px;background-position:100% 100%}}
.fm-attend__form-note{margin:6px 0 22px;color:var(--fm-muted);font-size:.92rem}
.fm-attend__form fieldset.fm-field{border:0;padding:0;margin:0;min-width:0}
.fm-attend__form fieldset.fm-field > legend{padding:0;margin-bottom:8px}
.fm-attend__form .fm-field--radio .fm-field__options{gap:8px}
.fm-attend__form .fm-field--radio .fm-check{position:relative;align-items:center;padding:9px 14px;border:1.5px solid var(--fm-line);border-radius:10px;font-weight:500;color:var(--fm-ink);transition:border-color .15s,background-color .15s,color .15s}
.fm-attend__form .fm-field--radio .fm-check input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.fm-attend__form .fm-field--radio .fm-check:hover{border-color:color-mix(in srgb,var(--fm-primary) 40%,transparent)}
.fm-attend__form .fm-field--radio .fm-check:has(input:checked){background:var(--fm-primary);border-color:var(--fm-primary);color:#fff}
.fm-attend__form .fm-field--radio .fm-check:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--fm-secondary) 45%,transparent);outline-offset:2px}
.fm-attend__form .fm-form__actions .fm-btn{background:var(--fm-accent);color:var(--fm-primary);padding:15px 28px;font-size:1.02rem}
/* Without the script's :has() support, the radios keep their circles. */
@supports not selector(:has(*)){.fm-attend__form .fm-field--radio .fm-check input{position:static;opacity:1;width:18px;height:18px}}
/* First view: the attendant reads the menu, each key lighting as it is named. */
.fm-motion .fm-attend.is-live:not(.is-heard) .fm-attend__line{opacity:0;transform:translateY(6px)}
.fm-motion .fm-attend.is-intro .fm-attend__line{animation:fm-attend-line .5s var(--fm-ease-out) both;animation-delay:calc(var(--i) * 420ms + 450ms)}
.fm-motion .fm-attend.is-intro .fm-attend__voice i{animation:fm-attend-voice .5s ease-in-out infinite alternate}
.fm-motion .fm-attend.is-intro .fm-attend__voice i:nth-child(2){animation-delay:.17s}
.fm-motion .fm-attend.is-intro .fm-attend__voice i:nth-child(3){animation-delay:.34s}
@keyframes fm-attend-line{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes fm-attend-voice{from{transform:scaleY(.5)}to{transform:scaleY(1.6)}}
/* Offices with full addresses */
.fm-offices{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:16px}
.fm-office{background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-radius);padding:22px 22px 18px;display:flex;flex-direction:column}
.fm-office__name{margin:0;font-size:1.35rem;color:var(--fm-primary)}
.fm-office__role{margin:2px 0 0;color:var(--fm-muted);font-size:.93rem;line-height:1.45}
.fm-office__address{margin-top:16px}
.fm-office__address + .fm-office__address{padding-top:14px;border-top:1px dashed var(--fm-line)}
.fm-office address{font-style:normal;line-height:1.55;color:var(--fm-ink)}
.fm-office__maps{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:.9rem;font-weight:500;color:var(--fm-secondary)}
.fm-office__maps .fm-icon{width:16px;height:16px}
.fm-office__contact{display:grid;gap:6px;margin:16px 0 0}
.fm-office__contact a{display:inline-flex;align-items:center;gap:9px;color:var(--fm-primary);font-weight:500;text-decoration:none;overflow-wrap:anywhere}
.fm-office__contact a:hover{text-decoration:underline;text-underline-offset:.2em}
.fm-office__contact .fm-icon,.fm-office__time .fm-icon{width:17px;height:17px;color:var(--fm-muted);flex:none}
.fm-office__time{display:flex;align-items:center;gap:9px;margin:auto 0 0;padding-top:14px;border-top:1px solid var(--fm-line);font-size:.9rem;color:var(--fm-muted);font-variant-numeric:tabular-nums}
.fm-office > :has(+ .fm-office__time){margin-bottom:16px}
@media (max-width:1080px){
  .fm-attend{grid-template-columns:1fr}
  .fm-attend__console{position:static;grid-template-columns:minmax(0,1fr) 250px;align-items:start}
  .fm-attend__write{display:block}
  .fm-offices{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .fm-attend{margin-top:20px;gap:20px}
  .fm-attend__console{grid-template-columns:1fr;padding:14px;gap:14px}
  .fm-attend__screen{padding:16px 16px 18px}
  .fm-attend__pad{grid-template-columns:repeat(auto-fit,minmax(52px,1fr))}
  .fm-key:not(.is-live){display:none}
  .fm-attend.has-choice .fm-key--menu{display:flex}
  /* Phones: the chosen team replaces the menu without keeping the tallest height (no empty screen). */
  .fm-attend.is-live .fm-attend__deck{display:block}
  .fm-attend.is-live .fm-attend__route[hidden],.fm-attend.has-choice .fm-attend__home{display:none}
  .fm-key{min-height:58px}
  .fm-attend__line{font-size:.94rem}
  .fm-attend__form{padding:22px 18px}
  .fm-offices{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.fm-attend__route.is-connecting > *{opacity:1}.fm-attend__route.is-connecting::before{display:none}.fm-key.is-live{transition:none}}
/* ---------------------------------------------------------------- privacy policy
   At a glance (data is not sold, what is collected, how long it is kept),
   "use your rights" (signature: pick a right and the request email is
   written, ready to send from your own email), then the policy in numbered
   sections beside contents that follow the reading. */
.fm-pp-hero .fm-pp-meta p{margin:0;color:var(--fm-soft-ink);font-size:1.05rem}
.fm-pp-hero .fm-pp-meta p + p{margin-top:2px}
.fm-pp-hero .fm-pp-meta strong{color:var(--fm-primary)}
.fm-pp-statement{margin:4px 0 36px}
.fm-pp-notsold{margin:0;max-width:24ch;padding-left:22px;border-left:4px solid var(--fm-accent);font-family:var(--fm-display);font-weight:600;font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.15;letter-spacing:-.015em;color:var(--fm-primary)}
.fm-pp-ref{margin:10px 0 0;font-size:.9rem}
.fm-pp-statement .fm-pp-ref{padding-left:26px}
.fm-pp-ref a{color:var(--fm-secondary);font-weight:500}
.fm-prose .fm-pp-collect{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.fm-prose .fm-pp-collect li{margin:0;line-height:1.55;color:var(--fm-ink)}
.fm-pp-collect strong{display:block;color:var(--fm-primary)}
.fm-prose .fm-pp-keep{list-style:none;margin:0;padding:0;border-top:1px solid var(--fm-line)}
.fm-prose .fm-pp-keep li{margin:0;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--fm-line)}
.fm-pp-keep span{color:var(--fm-ink)}
.fm-pp-keep b{color:var(--fm-primary);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.fm-pp-cookie-row{margin-top:32px}
.fm-pp-cookie-row .fm-prose{max-width:none}
.fm-pp-cookies{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin:0;padding:16px 20px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-radius)}
.fm-pp-cookies span{color:var(--fm-soft-ink)}
.fm-pp-cookies .fm-btn{padding:10px 18px}
/* Use your rights: the rights beside the request email. */
.fm-pp-rights{background:var(--fm-primary);color:#c9d6ec}
.fm-pp-rights h2{color:#fff}
.fm-pp-rights .fm-home-intro .fm-prose,.fm-pp-rights .fm-home-intro p{color:#b3c3df}
.fm-rights{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:start;margin-top:28px}
.fm-rights__list{border:0;margin:0;padding:0;min-width:0;display:grid;gap:2px}
.fm-right{position:relative}
.fm-right__input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.fm-right__label{display:grid;gap:3px;padding:12px 16px 12px 18px;border-left:3px solid transparent;border-radius:0 10px 10px 0;cursor:pointer;transition:background-color .15s,border-color .15s}
.fm-right__name{color:#fff;font-weight:600;line-height:1.3}
.fm-right__text{color:#9fb1d1;font-size:.9rem;line-height:1.45}
.fm-right__label:hover{background:rgba(255,255,255,.05)}
.fm-right__input:checked + .fm-right__label{background:rgba(255,255,255,.08);border-left-color:var(--fm-accent)}
.fm-right__input:checked + .fm-right__label .fm-right__text{color:#c9d6ec}
.fm-right__input:focus-visible + .fm-right__label{outline:3px solid #8fb4ff;outline-offset:2px}
.fm-right__mail{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px 21px;font-size:.88rem;color:#ffd38a;font-weight:500}
.fm-right__mail .fm-icon{width:16px;height:16px}
.fm-rights.is-live .fm-right__mail{display:none}
.fm-letter{position:sticky;top:calc(var(--fm-header-h) + 76px);background:#fff;color:var(--fm-ink);border-radius:var(--fm-radius-lg);box-shadow:0 24px 60px rgba(4,14,40,.35);overflow:hidden}
.fm-letter__head{padding:6px 26px;background:var(--fm-panel);border-bottom:1px solid var(--fm-line)}
.fm-letter__row{display:flex;gap:14px;align-items:baseline;margin:0;padding:10px 0;font-size:.95rem}
.fm-letter__row + .fm-letter__row{border-top:1px solid var(--fm-line)}
.fm-letter__label{flex:none;width:58px;color:var(--fm-muted);font-size:.85rem}
.fm-letter__row a{color:var(--fm-primary);font-weight:600}
.fm-letter__row b{color:var(--fm-primary);font-weight:600}
.fm-letter__body{padding:22px 26px 6px;font-size:1.02rem;line-height:1.65}
.fm-letter__body p{margin:0 0 14px}
.fm-letter__line span{background:linear-gradient(color-mix(in srgb,var(--fm-accent) 26%,transparent),color-mix(in srgb,var(--fm-accent) 26%,transparent)) 0 88%/0 38% no-repeat}
.fm-letter__line span.is-new{animation:fm-letter-line .9s var(--fm-ease-out) both}
@keyframes fm-letter-line{0%{background-size:0 38%}55%{background-size:100% 38%}100%{background-size:100% 38%;background-position:100% 88%}}
.fm-letter__blank{padding:0 3px;border-radius:4px;background:#fff4dc;color:#7a4d00;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.fm-letter__details{color:var(--fm-soft-ink)}
.fm-letter__actions{display:flex;flex-wrap:wrap;gap:10px;padding:8px 26px 20px}
.fm-letter__actions .fm-btn{display:inline-flex;align-items:center;gap:8px}
.fm-letter__actions .fm-icon{width:18px;height:18px}
.fm-letter__note{margin:0;padding:14px 26px 18px;border-top:1px solid var(--fm-line);font-size:.88rem;line-height:1.55;color:var(--fm-muted)}
/* The policy beside its contents. */
.fm-policy{display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;align-items:start;margin-top:28px}
.fm-policy__toc{position:sticky;top:calc(var(--fm-header-h) + 80px);max-height:calc(100vh - var(--fm-header-h) - 100px);overflow:auto;font-size:.9rem}
.fm-policy__toc-title{margin:0 0 10px;font-weight:700;color:var(--fm-primary)}
.fm-policy__toc ol,.fm-policy__toc-inline ol{list-style:none;margin:0;padding:0;display:grid;gap:1px}
.fm-policy__toc a,.fm-policy__toc-inline a{display:flex;gap:10px;padding:5px 0 5px 12px;border-left:2px solid var(--fm-line);color:var(--fm-muted);line-height:1.35;text-decoration:none}
.fm-policy__toc a:hover{color:var(--fm-primary)}
.fm-policy__toc a.is-active{color:var(--fm-primary);font-weight:600;border-left-color:var(--fm-accent)}
.fm-policy__n{flex:none;min-width:1.4em;font-variant-numeric:tabular-nums;color:inherit;opacity:.8}
.fm-policy__toc-inline{display:none;margin:0 0 8px;border:1px solid var(--fm-line);border-radius:12px;padding:12px 16px;background:var(--fm-panel)}
.fm-policy__toc-inline summary{cursor:pointer;font-weight:600;color:var(--fm-primary)}
.fm-policy__toc-inline ol{margin-top:10px}
.fm-policy__part{scroll-margin-top:calc(var(--fm-header-h) + 80px);padding-top:8px}
.fm-policy__part + .fm-policy__part{margin-top:36px;padding-top:36px;border-top:1px solid var(--fm-line)}
.fm-policy__title{position:relative;margin:0 0 16px;font-size:clamp(1.3rem,2vw,1.55rem);color:var(--fm-primary)}
.fm-policy__title .fm-policy__n{color:var(--fm-muted);font-weight:500;opacity:1;margin-right:.15em}
.fm-policy__self{margin-left:10px;color:var(--fm-line);text-decoration:none;font-weight:400;opacity:0;transition:opacity .15s}
.fm-policy__title:hover .fm-policy__self,.fm-policy__self:focus-visible{opacity:1;color:var(--fm-muted)}
.fm-policy__body{max-width:72ch}
.fm-policy__body h3{margin:26px 0 8px;font-size:1.08rem;color:var(--fm-primary)}
.fm-policy__body p{margin:0 0 12px;line-height:1.7}
.fm-policy__body ul{margin:0 0 14px;padding-left:1.2em}
.fm-policy__body li{margin:0 0 6px;line-height:1.6}
.fm-policy__body strong{color:var(--fm-primary)}
.fm-policy__end{margin:44px 0 0;padding-top:20px;border-top:1px solid var(--fm-line);font-size:.85rem;letter-spacing:.04em;color:var(--fm-muted)}
@media (max-width:1080px){
  .fm-rights{grid-template-columns:1fr}
  .fm-letter{position:static}
  /* One column: only the chosen right shows its description, so the email stays close. */
  .fm-rights.is-live .fm-right__input:not(:checked) + .fm-right__label .fm-right__text{display:none}
  .fm-rights.is-live .fm-right__label{padding-top:10px;padding-bottom:10px}
}
@media (max-width:900px){
  .fm-policy{grid-template-columns:1fr;gap:16px}
  .fm-policy__toc{display:none}
  .fm-policy__toc-inline{display:block}
}
@media (max-width:700px){
  .fm-prose .fm-pp-keep li{flex-direction:column;align-items:flex-start;gap:2px}
  .fm-pp-keep b{text-align:left}
  .fm-letter__head,.fm-letter__body,.fm-letter__actions,.fm-letter__note{padding-left:18px;padding-right:18px}
  .fm-letter__label{width:auto;min-width:52px}
}
@media (prefers-reduced-motion:reduce){.fm-letter__line span.is-new{animation:none;background-size:100% 38%}}
/* ---------------------------------------------------------------- terms page
   Three documents, newest first, each beside its contents; "search the terms"
   (signature) marks a word in all of them and lists where it is used. */
.fm-tc-hero .fm-hero-lead .fm-prose{max-width:62ch}
.fm-find{display:grid;gap:22px;margin-top:22px}
.fm-find__form{display:grid;gap:12px}
.fm-find__label{font-weight:600;color:var(--fm-primary)}
.fm-find__field{position:relative;display:flex;align-items:center;max-width:760px;background:#fff;border:2px solid var(--fm-primary);border-radius:14px;box-shadow:0 10px 30px rgba(11,31,77,.08);transition:box-shadow .2s}
.fm-find__field:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--fm-accent) 45%,transparent),0 10px 30px rgba(11,31,77,.08)}
.fm-find__field .fm-icon{position:absolute;left:18px;width:22px;height:22px;color:var(--fm-primary);pointer-events:none}
.fm-find__field input{flex:1;min-width:0;border:0;background:none;padding:17px 18px 17px 52px;font:inherit;font-size:1.15rem;color:var(--fm-ink);outline:none}
.fm-find__field input::-webkit-search-cancel-button{display:none}
.fm-find__clear{margin-right:8px;padding:8px 14px;border:0;border-radius:9px;background:var(--fm-panel);color:var(--fm-primary);font:inherit;font-weight:600;cursor:pointer}
.fm-find__clear:hover{background:#e6ecf5}
.fm-find__try{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 0;color:var(--fm-muted);font-size:.92rem}
.fm-find__try-word{padding:6px 12px;border:1px solid var(--fm-line);border-radius:999px;background:#fff;color:var(--fm-primary);font:inherit;font-weight:500;cursor:pointer;transition:border-color .15s,background-color .15s}
.fm-find__try-word:hover,.fm-find__try-word[aria-pressed="true"]{border-color:var(--fm-primary);background:var(--fm-primary);color:#fff}
.fm-find__list-title{margin:0 0 10px;font-weight:700;color:var(--fm-primary)}
.fm-find__docs ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fm-find__doc{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:20px 22px 22px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-radius);color:var(--fm-ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
a.fm-find__doc:hover{border-color:var(--fm-primary);box-shadow:0 8px 24px rgba(11,31,77,.08);text-decoration:none}
.fm-find__doc-name{font-family:var(--fm-display);font-size:1.12rem;line-height:1.25;color:var(--fm-primary);padding-right:24px}
.fm-find__doc-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.88rem;color:var(--fm-muted);font-variant-numeric:tabular-nums}
.fm-find__doc-text{font-size:.93rem;line-height:1.5;color:var(--fm-soft-ink)}
.fm-find__doc .fm-icon{position:absolute;top:20px;right:18px;width:18px;height:18px;color:var(--fm-muted)}
.fm-find__summary{margin:0 0 12px;font-weight:600;color:var(--fm-primary)}
.fm-find__none{margin:0;padding:16px 20px;background:#fff;border:1px dashed var(--fm-line);border-radius:var(--fm-radius);color:var(--fm-soft-ink)}
.fm-find__group{background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-radius);padding:16px 20px 12px}
.fm-find__group + .fm-find__group{margin-top:12px}
.fm-find__group h3{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:0 0 6px;font-size:1.02rem;color:var(--fm-primary)}
.fm-find__group h3 span{font-family:var(--fm-font);font-weight:500;font-size:.88rem;color:var(--fm-muted);white-space:nowrap}
.fm-find__group ol{list-style:none;margin:0;padding:0;display:grid}
.fm-find__group a{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid var(--fm-line);color:var(--fm-ink);text-decoration:none}
.fm-find__group li:first-child a{border-top:0}
.fm-find__group a:hover{color:var(--fm-primary)}
.fm-find__group a:hover span:first-child{text-decoration:underline;text-underline-offset:.2em}
.fm-find__n{flex:none;min-width:2.2em;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--fm-accent) 28%,#fff);color:#6b4300;font-weight:600;font-size:.85rem;text-align:center;font-variant-numeric:tabular-nums}
mark.fm-find-hit{background:color-mix(in srgb,var(--fm-accent) 45%,transparent);color:inherit;border-radius:3px;padding:0 1px}
.fm-policy__part.is-found .fm-policy__title{color:var(--fm-primary)}
.fm-policy__part:target .fm-policy__title{text-decoration:underline;text-decoration-color:var(--fm-accent);text-decoration-thickness:3px;text-underline-offset:6px}
.fm-tc-doc{padding-top:72px;padding-bottom:40px}
.fm-tc-doc + .fm-tc-doc{border-top:6px solid var(--fm-panel)}
.fm-tc-meta p{margin:0;color:var(--fm-soft-ink)}
.fm-tc-meta strong{color:var(--fm-primary)}
.fm-tc-intro .fm-prose{max-width:72ch}
.fm-tc-intro p{margin:12px 0 0;line-height:1.7}
.fm-tc-doc .fm-policy{margin-top:36px}
.fm-tc-doc .fm-policy__title{font-size:clamp(1.2rem,1.8vw,1.4rem)}
.fm-tc-doc .fm-policy__body h4{margin:24px 0 8px;font-size:1.04rem;color:var(--fm-primary)}
@media (max-width:1080px){.fm-find__docs ol{grid-template-columns:1fr}}
@media (max-width:700px){.fm-find__field input{font-size:1.05rem;padding:15px 12px 15px 46px}.fm-find__field .fm-icon{left:14px}.fm-tc-doc{padding-top:48px}}
/* ---- Support: ticket form (/submit-support-ticket/) -------------------- */
.fm-tf{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.fm-tf.is-done{grid-template-columns:minmax(0,1fr)}
@media (max-width:1023px){.fm-tf{grid-template-columns:1fr;gap:28px}.fm-tf__aside{order:-1}}
.fm-tf__form{display:flex;flex-direction:column;gap:36px;max-width:760px}
.fm-tf [hidden],.fm-portal [hidden],.fm-chat [hidden]{display:none!important}
.fm-tf__group{border:0;padding:0;margin:0;min-width:0}
.fm-tf__legend{font-family:var(--fm-display);font-weight:700;font-size:1.25rem;color:var(--fm-primary);padding:0 0 14px;margin:0;letter-spacing:-.01em;width:100%;border-bottom:1px solid var(--fm-line);margin-bottom:22px}
.fm-tf .fm-form__grid{gap:20px 18px;grid-template-columns:1fr 1fr}
@media (max-width:767px){.fm-tf .fm-form__grid{grid-template-columns:1fr}}
.fm-tf .fm-field--wide{grid-column:1/-1}
.fm-tf fieldset.fm-field{border:0;padding:0;margin:0;min-width:0}
.fm-tf fieldset.fm-field > legend{padding:0;margin-bottom:8px;float:left;width:100%}
.fm-tf fieldset.fm-field > legend + *{clear:both}
.fm-tf__segs{display:flex;gap:0;border:1.5px solid var(--fm-line);border-radius:10px;padding:3px;background:#fff;width:max-content;max-width:100%;flex-wrap:wrap}
.fm-tf__seg{position:relative;cursor:pointer}
.fm-tf__seg input{position:absolute;opacity:0;width:1px;height:1px}
.fm-tf__seg span{display:block;padding:8px 16px;border-radius:7px;font-weight:600;font-size:.95rem;color:var(--fm-soft-ink);transition:background-color .15s,color .15s}
.fm-tf__seg:hover span{color:var(--fm-primary)}
.fm-tf__seg input:checked + span{background:var(--fm-primary);color:#fff}
.fm-tf__seg input:focus-visible + span{outline:2px solid var(--fm-secondary);outline-offset:2px}
.fm-tf.fm-tf .fm-tf__issue > legend{margin-bottom:8px}
.fm-tf__form.is-live .fm-tf__serial{display:none}
.fm-tf__form.is-live.is-hardware .fm-tf__serial{display:flex}
.fm-tf__impact-list{display:grid;gap:8px}
.fm-tf__impact{position:relative;display:flex;align-items:center;gap:14px;padding:12px 16px;border:1.5px solid var(--fm-line);border-radius:10px;cursor:pointer;background:#fff;transition:border-color .15s,background-color .15s}
.fm-tf__impact input{position:absolute;opacity:0;width:1px;height:1px}
.fm-tf__impact:hover{border-color:color-mix(in srgb,var(--fm-primary) 35%,transparent)}
.fm-tf__impact:has(input:checked){border-color:var(--fm-primary);background:var(--fm-panel)}
.fm-tf__impact:has(input:focus-visible){outline:2px solid var(--fm-secondary);outline-offset:2px}
.fm-tf__impact-text{font-weight:500;color:var(--fm-ink)}
.fm-tf__leds{display:inline-flex;gap:3px;flex:none}
.fm-tf__leds i{display:block;width:7px;height:14px;border-radius:2px;background:var(--fm-line)}
.fm-tf__impact[data-level="1"] .is-on,.fm-tf__impact[data-level="2"] .is-on{background:#22A55A}
.fm-tf__impact[data-level="3"] .is-on{background:var(--fm-accent)}
.fm-tf__impact[data-level="4"] .is-on{background:#DC3B2F}
.fm-tf__impact:not(:has(input:checked)) .is-on{opacity:.45}
.fm-tf__drop{position:relative;display:flex;align-items:center;justify-content:center;min-height:84px;border:1.5px dashed #b8c4d6;border-radius:10px;background:var(--fm-panel);text-align:center;padding:14px;transition:border-color .15s,background-color .15s}
.fm-tf__drop:hover,.fm-tf__drop:focus-within{border-color:var(--fm-primary);background:#fff}
.fm-tf__drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.fm-tf__drop-text{font-weight:600;color:var(--fm-primary);pointer-events:none}
.fm-tf__drop:focus-within{outline:2px solid var(--fm-secondary);outline-offset:2px}
.fm-tf__files{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.fm-tf__files li{display:inline-flex;gap:8px;align-items:baseline;padding:5px 10px;border-radius:8px;background:var(--fm-panel);font-size:.875rem;max-width:100%}
.fm-tf__files li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:28ch}
.fm-tf__files li small{color:var(--fm-muted)}
.fm-tf__files li.is-bad{background:#fef2f2;color:#991b1b}
.fm-tf__files .fm-tf__files-note{background:none;color:#991b1b;padding-left:0}
.fm-tf__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.fm-tf__note{margin:0;font-size:.9rem;color:var(--fm-muted)}
.fm-tf__note a{color:inherit;text-decoration:underline;text-underline-offset:.18em}
.fm-tf__aside{position:sticky;top:96px}
@media (max-width:1023px){.fm-tf__aside{position:static}}
.fm-tf__aside-inner{background:var(--fm-panel);border-radius:var(--fm-radius);padding:24px}
.fm-tf__aside-title{font-family:var(--fm-display);font-weight:700;font-size:1.05rem;color:var(--fm-primary);margin:0 0 10px}
.fm-tf__aside-text p{margin:0 0 10px;font-size:.95rem;color:var(--fm-soft-ink)}
.fm-tf__aside-links{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--fm-line);display:grid;gap:8px}
.fm-tf__aside-links a{font-weight:600;color:var(--fm-primary);text-decoration:none}
.fm-tf__aside-links a:hover{text-decoration:underline}
.fm-tf__suggest{margin:-24px -24px 22px;padding:22px 24px;border-radius:var(--fm-radius) var(--fm-radius) 0 0;background:var(--fm-primary);color:#dbe4f3}
.fm-tf__suggest .fm-tf__aside-title{color:#fff;display:flex;align-items:center;gap:10px}
.fm-tf__suggest .fm-tf__aside-title::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--fm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-accent) 30%,transparent)}
.fm-tf__guides{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.fm-tf__guides a{display:grid;gap:2px;padding:10px 12px;margin:0 -12px;border-radius:10px;color:#fff;text-decoration:none}
.fm-tf__guides a:hover,.fm-tf__guides a:focus-visible{background:rgba(255,255,255,.08)}
.fm-tf__guide-title{font-weight:600;line-height:1.35}
.fm-tf__guide-cat{font-size:.8rem;color:var(--fm-accent);font-weight:600}
.fm-tf__guide-text{font-size:.85rem;color:#b9c6dd;line-height:1.45}
@media (prefers-reduced-motion:no-preference){.fm-tf__suggest:not([hidden]){animation:fm-tf-in .35s var(--fm-ease-out)}}
@keyframes fm-tf-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.fm-tf__done{max-width:720px;padding:36px 40px 32px;border:1.5px solid var(--fm-line);border-radius:var(--fm-radius-lg);background:linear-gradient(var(--fm-panel),var(--fm-panel)) padding-box;outline:0}
.fm-tf__done-label{margin:0;font-weight:600;color:var(--fm-muted);font-size:.9rem}
.fm-tf__done-number{margin:0 0 14px;font-family:var(--fm-display);font-weight:700;font-stretch:125%;letter-spacing:.03em;font-size:clamp(3rem,8vw,5.25rem);line-height:1;color:var(--fm-primary)}
.fm-tf__done-title{font-family:var(--fm-display);font-weight:700;font-size:1.35rem;color:var(--fm-ink);margin:0 0 6px}
.fm-tf__done-text{margin:0 0 6px;color:var(--fm-soft-ink)}
.fm-tf__done-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
@media (max-width:767px){.fm-tf__done{padding:26px 22px}.fm-tf__actions .fm-btn{width:100%}}

/* ---- Support: ticket portal (/support-tickets/) ---------------------- */
.fm-portal{max-width:1040px}
.fm-portal__flash{padding:12px 16px;border-radius:var(--fm-radius-sm);font-weight:500;margin:0 0 22px}
.fm-portal__flash--ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.fm-portal__flash--err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.fm-portal__signin{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:899px){.fm-portal__signin{grid-template-columns:1fr;gap:24px}}
.fm-portal__card{border:1.5px solid var(--fm-line);border-radius:var(--fm-radius);padding:30px 32px;background:#fff}
@media (max-width:767px){.fm-portal__card{padding:22px 18px}}
.fm-portal__title{font-size:1.5rem;margin:0 0 6px;color:var(--fm-primary)}
.fm-portal__lead{color:var(--fm-soft-ink);margin:0 0 20px}
.fm-portal__form{display:flex;flex-direction:column;gap:8px}
.fm-portal__inline{display:flex;gap:10px;flex-wrap:wrap}
.fm-portal__actions{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 12px}
.fm-portal__inline input{flex:1 1 220px;min-width:0;font:inherit;padding:12px 14px;border:1px solid #cbd5e1;border-radius:var(--fm-radius-sm);background:#fff;color:var(--fm-text)}
.fm-portal__inline input:focus{outline:0;border-color:var(--fm-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-secondary) 20%,transparent)}
.fm-portal__inline .fm-btn{flex:none}
.fm-portal .fm-portal__code{flex:0 1 11ch;font-family:var(--fm-display);font-weight:700;font-stretch:125%;font-size:1.6rem;letter-spacing:.3em;text-align:center;padding:8px 10px;color:var(--fm-primary)}
.fm-portal__again{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:16px}
.fm-portal__again form{margin:0}
.fm-portal__link{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--fm-secondary);cursor:pointer;text-decoration:underline;text-underline-offset:.18em}
.fm-portal__side{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:6px;color:var(--fm-soft-ink)}
.fm-portal__side p{margin:0}
.fm-portal__help{font-size:.95rem;padding-top:12px;border-top:1px solid var(--fm-line);width:100%}
.fm-portal__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-bottom:18px}
.fm-portal__bar form{margin:0}
.fm-portal__who{margin:0;color:var(--fm-soft-ink)}
.fm-portal__bar .fm-btn{margin-left:auto}
@media (max-width:767px){.fm-portal__bar .fm-btn{margin-left:0;width:100%}}
.fm-portal__tabs{display:flex;gap:4px;border-bottom:1px solid var(--fm-line);margin-bottom:6px;overflow-x:auto}
.fm-portal__tabs a{padding:10px 14px;font-weight:600;color:var(--fm-soft-ink);text-decoration:none;border-bottom:2.5px solid transparent;margin-bottom:-1px;white-space:nowrap}
.fm-portal__tabs a span{display:inline-block;min-width:1.6em;padding:1px 6px;margin-left:4px;border-radius:999px;background:var(--fm-panel);font-size:.8rem;text-align:center}
.fm-portal__tabs a[aria-current]{color:var(--fm-primary);border-bottom-color:var(--fm-primary)}
.fm-portal__list{list-style:none;margin:0;padding:0}
.fm-portal__row{display:grid;grid-template-columns:7.5em minmax(0,1fr) auto 9.5em;gap:6px 18px;align-items:center;padding:16px 12px;margin:0 -12px;border-bottom:1px solid var(--fm-line);color:inherit;text-decoration:none;border-radius:10px}
.fm-portal__row:hover,.fm-portal__row:focus-visible{background:var(--fm-panel)}
.fm-portal__num{font-family:var(--fm-display);font-weight:700;font-stretch:125%;letter-spacing:.02em;color:var(--fm-primary);font-size:1.05rem;margin:0}
.fm-portal__subj{display:flex;flex-direction:column;min-width:0}
.fm-portal__subj > span{font-weight:600;color:var(--fm-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-portal__subj small{color:var(--fm-muted);font-size:.85rem}
.fm-portal__when{font-size:.85rem;color:var(--fm-muted);text-align:right}
@media (max-width:767px){.fm-portal__row{grid-template-columns:auto 1fr;grid-template-areas:"num status" "subj subj" "when when"}.fm-portal__num{grid-area:num}.fm-portal__subj{grid-area:subj}.fm-portal__subj > span{white-space:normal}.fm-portal__status{grid-area:status;justify-self:end}.fm-portal__when{grid-area:when;text-align:left}}
.fm-portal__status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:600;white-space:nowrap;background:var(--fm-panel);color:var(--fm-soft-ink)}
.fm-portal__status::before{content:"";width:6px;height:6px;border-radius:2px;background:currentColor;opacity:.8}
.fm-portal__status--answered{background:#FEF3C7;color:#8A4B06}
.fm-portal__status--open{background:#E6EEFB;color:#1D3F8A}
.fm-portal__status--resolved{background:#DCFCE7;color:#166534}
.fm-portal__status--closed{background:#EEF1F5;color:#5B6782}
.fm-portal__empty{padding:36px 0;color:var(--fm-soft-ink)}
.fm-portal__empty p{margin:0 0 14px}
.fm-portal__back{margin:0 0 18px;font-weight:600}
.fm-portal__back a{color:var(--fm-secondary)}
.fm-portal__head{padding-bottom:20px;border-bottom:1px solid var(--fm-line);margin-bottom:26px}
.fm-portal__num--lg{font-size:clamp(2rem,4.5vw,2.8rem);line-height:1.05}
.fm-portal__subject{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:6px 0 12px;color:var(--fm-ink)}
.fm-portal__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0;color:var(--fm-muted);font-size:.92rem}
.fm-portal__thread{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.fm-msg{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px}
.fm-msg__who{grid-column:1/-1;display:grid;grid-template-columns:44px auto auto 1fr;column-gap:14px;align-items:center;margin-bottom:6px}
.fm-msg__avatar{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:var(--fm-panel);color:var(--fm-primary);border:1.5px solid var(--fm-line)}
.fm-msg--team .fm-msg__avatar{background:var(--fm-primary);color:#fff;border-color:var(--fm-primary);font-family:var(--fm-display);font-stretch:125%;letter-spacing:.04em}
.fm-msg__name{font-weight:700;color:var(--fm-ink)}
.fm-msg__role{font-size:.85rem;color:var(--fm-muted)}
.fm-msg__who time{font-size:.85rem;color:var(--fm-muted);text-align:right}
.fm-msg__body,.fm-msg__files{grid-column:2}
.fm-msg__body{padding:16px 18px;border-radius:12px;background:var(--fm-panel);overflow-wrap:anywhere;max-width:none}
.fm-msg--team .fm-msg__body{background:#fff;border:1.5px solid var(--fm-line);border-left:3px solid var(--fm-primary)}
.fm-msg__body > :first-child{margin-top:0}.fm-msg__body > :last-child{margin-bottom:0}
.fm-msg__files{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.fm-msg__files a{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--fm-line);border-radius:8px;font-size:.875rem;color:var(--fm-primary);text-decoration:none;background:#fff}
.fm-msg__files a:hover{border-color:var(--fm-primary)}
.fm-msg__files .fm-icon{width:16px;height:16px}
.fm-msg__files small{color:var(--fm-muted)}
@media (max-width:599px){.fm-msg{grid-template-columns:1fr}.fm-msg__who{grid-template-columns:36px auto 1fr;column-gap:10px}.fm-msg__role{display:none}.fm-msg__avatar{width:34px;height:34px}.fm-msg__body,.fm-msg__files{grid-column:1}}
.fm-portal__reply{margin-top:30px;padding-top:24px;border-top:1px solid var(--fm-line);display:flex;flex-direction:column;gap:8px}
.fm-portal__reply textarea{width:100%;font:inherit;padding:12px 14px;border:1px solid #cbd5e1;border-radius:var(--fm-radius-sm);min-height:130px;resize:vertical}
.fm-portal__reply textarea:focus{outline:0;border-color:var(--fm-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-secondary) 20%,transparent)}
.fm-portal__reply-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fm-portal__reply-row .fm-btn{margin-left:auto}
.fm-portal__reply-row .fm-tf__files{margin:0}
.fm-portal__attach{position:relative;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--fm-primary);cursor:pointer;padding:8px 12px;border:1.5px dashed #b8c4d6;border-radius:10px}
.fm-portal__attach:hover,.fm-portal__attach:focus-within{border-color:var(--fm-primary)}
.fm-portal__attach input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.fm-portal__attach .fm-icon{width:18px;height:18px}
.fm-portal__solved{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 18px;border-radius:12px;background:var(--fm-panel)}
.fm-portal__solved p{margin:0;font-weight:600;color:var(--fm-soft-ink)}
.fm-portal__solved .fm-btn{margin-left:auto}
.fm-portal__closed{margin-top:28px;padding:20px 22px;border-radius:12px;background:var(--fm-panel);display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.fm-portal__closed p{margin:0;flex:1 1 300px}
.fm-portal__rate{margin:0 0 26px;padding:20px 22px;border-radius:12px;border:1.5px solid var(--fm-accent);background:color-mix(in srgb,var(--fm-accent) 7%,#fff)}
.fm-portal__rate fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.fm-portal__rate legend{font-family:var(--fm-display);font-weight:700;font-size:1.1rem;color:var(--fm-primary);margin-bottom:6px}
.fm-portal__rate-choices{display:flex;gap:8px;flex-wrap:wrap}
.fm-portal__rate-choices label{position:relative;cursor:pointer}
.fm-portal__rate-choices input{position:absolute;opacity:0}
.fm-portal__rate-choices span{display:block;padding:9px 16px;border:1.5px solid var(--fm-line);border-radius:10px;font-weight:600;background:#fff}
.fm-portal__rate-choices input:checked + span{background:var(--fm-primary);border-color:var(--fm-primary);color:#fff}
.fm-portal__rate-choices input:focus-visible + span{outline:2px solid var(--fm-secondary);outline-offset:2px}
.fm-portal__rate textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #cbd5e1;border-radius:var(--fm-radius-sm)}
.fm-portal__rated{margin:0 0 22px;color:var(--fm-soft-ink)}
.fm-support-portal{padding-top:36px}

/* ---- Live chat: the button on every page and its panel ---------------- */
.fm-chat{position:fixed;bottom:20px;right:20px;z-index:140;font-family:var(--fm-font);font-size:15px;line-height:1.45}
.fm-chat--left{right:auto;left:20px}
.fm-chat__launcher{position:relative;display:inline-flex;align-items:center;gap:9px;height:52px;padding:0 20px 0 16px;border-radius:14px;background:var(--fm-primary);color:#fff;text-decoration:none;font-weight:600;box-shadow:0 10px 28px rgba(11,37,89,.28),0 2px 6px rgba(11,37,89,.18);border:0;cursor:pointer;transition:transform .15s var(--fm-ease),box-shadow .15s}
.fm-chat__launcher:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(11,37,89,.32)}
.fm-chat__launcher:focus-visible{outline:3px solid var(--fm-accent);outline-offset:3px}
.fm-chat__icon{width:24px;height:24px}
.fm-chat__led{position:absolute;top:9px;left:31px;width:9px;height:9px;border-radius:3px;background:#8A97AE;box-shadow:0 0 0 2px var(--fm-primary)}
.fm-chat__led.is-on{background:#2BD07A}
.fm-chat.is-open .fm-chat__launcher{background:var(--fm-navy-ink,#081a40)}
.fm-chat__badge[hidden]{display:none}
.fm-chat__launcher,.fm-chat__launcher:hover,.fm-chat__launcher:focus{text-decoration:none!important;color:#fff}
.fm-chat__badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--fm-accent);color:var(--fm-primary);font-size:.75rem;font-weight:700;display:grid;place-items:center}
.fm-chat__panel{position:absolute;bottom:64px;right:0;width:380px;height:min(600px,calc(100vh - 120px));max-height:calc(100vh - 120px);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(11,37,89,.28),0 4px 12px rgba(11,37,89,.12);overflow:hidden;color:var(--fm-ink)}
.fm-chat--left .fm-chat__panel{right:auto;left:0}
.fm-chat__panel[hidden]{display:none}
.fm-chat__panel[data-view=home],.fm-chat__panel[data-view=done]{height:auto}
@media (prefers-reduced-motion:no-preference){.fm-chat__panel:not([hidden]){animation:fm-chat-in .22s var(--fm-ease-out)}}
@keyframes fm-chat-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.fm-chat__head{display:flex;align-items:flex-start;gap:12px;padding:18px 18px 16px 20px;background:var(--fm-primary);color:#fff;flex:none}
.fm-chat__head > div{flex:1;min-width:0}
.fm-chat__title{margin:0;font-family:var(--fm-display);font-weight:700;font-size:1.12rem;letter-spacing:-.01em;color:#fff}
.fm-chat__sub{margin:3px 0 0;font-size:.85rem;color:#c3cfe4}
.fm-chat__sub .fm-chat__back{background:none;border:0;padding:0;color:#fff;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.fm-chat__close{flex:none;width:34px;height:34px;border-radius:9px;border:0;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer}
.fm-chat__close:hover{background:rgba(255,255,255,.18)}
.fm-chat__close svg{width:18px;height:18px}
.fm-chat__body{flex:1;overflow-y:auto;padding:18px 20px;min-height:0}
.fm-chat__ask{margin:0 0 12px;font-weight:600;color:var(--fm-primary)}
.fm-chat__teams{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fm-chat__team{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 14px 14px 16px;border:1.5px solid var(--fm-line);border-radius:12px;background:#fff;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,background-color .15s}
.fm-chat__team:hover,.fm-chat__team:focus-visible{border-color:var(--fm-primary);background:var(--fm-panel);outline:0}
.fm-chat__team-led{flex:none;align-self:flex-start;margin-top:6px;width:9px;height:9px;border-radius:3px;background:#B6C0D0}
.fm-chat__team-led.is-on{background:#22A55A;box-shadow:0 0 0 3px rgba(34,165,90,.18)}
.fm-chat__team-body{flex:1;display:grid;gap:1px;min-width:0}
.fm-chat__team-name{font-weight:700;color:var(--fm-primary);font-size:1rem}
.fm-chat__team-desc{font-size:.85rem;color:var(--fm-soft-ink)}
.fm-chat__team-line{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:.8rem;margin-top:3px}
.fm-chat__state{font-weight:600;color:var(--fm-muted)}
.fm-chat__state.is-on{color:#178046}
.fm-chat__where{color:var(--fm-muted)}
.fm-chat__chev{flex:none;width:18px;height:18px;color:var(--fm-muted)}
.fm-chat__form{display:flex;flex-direction:column;gap:12px}
.fm-chat__note{margin:0;color:var(--fm-soft-ink);font-size:.9rem}
.fm-chat__error{margin:0;padding:8px 10px;border-radius:8px;background:#fef2f2;color:#991b1b;font-size:.85rem}
.fm-chat__field{display:grid;gap:4px}
.fm-chat__field label{font-weight:600;font-size:.85rem;color:var(--fm-primary)}
.fm-chat__field label span{font-weight:400;color:var(--fm-muted)}
.fm-chat__field input,.fm-chat__field textarea{width:100%;font:inherit;font-size:.95rem;padding:9px 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:var(--fm-ink)}
.fm-chat__field textarea{resize:vertical;min-height:72px}
.fm-chat__field input:focus,.fm-chat__field textarea:focus{outline:0;border-color:var(--fm-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-secondary) 20%,transparent)}
.fm-chat__field [aria-invalid]{border-color:#dc2626}
.fm-chat__primary{align-self:stretch;padding:12px 16px;border-radius:10px;border:0;background:var(--fm-accent);color:var(--fm-primary);font:inherit;font-weight:700;cursor:pointer}
.fm-chat__primary:hover{background:color-mix(in srgb,var(--fm-accent) 86%,#fff)}
.fm-chat__primary:disabled{opacity:.6;cursor:wait}
.fm-chat__secondary{padding:10px 14px;border-radius:10px;border:1.5px solid var(--fm-line);background:#fff;font:inherit;font-weight:600;color:var(--fm-primary);cursor:pointer}
.fm-chat__secondary:hover{border-color:var(--fm-primary)}
.fm-chat__link{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--fm-secondary);text-decoration:underline;text-underline-offset:.18em;cursor:pointer;text-align:left}
.fm-chat__fine{margin:0;font-size:.78rem;color:var(--fm-muted)}
.fm-chat__fine a{color:inherit}
.fm-chat__log-wrap{display:flex;flex-direction:column;background:var(--fm-panel)}
.fm-chat__log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fm-chat__msg{display:flex;flex-direction:column;max-width:84%}
.fm-chat__msg.is-me{align-self:flex-end;align-items:flex-end}
.fm-chat__msg.is-them{align-self:flex-start}
.fm-chat__msg.is-pending{opacity:.6}
.fm-chat__who{font-size:.75rem;font-weight:600;color:var(--fm-muted);margin:0 0 3px 4px}
.fm-chat__bubble{padding:9px 13px;border-radius:14px;overflow-wrap:anywhere}
.fm-chat__bubble p{margin:0}
.fm-chat__bubble a{color:inherit;text-decoration:underline}
.fm-chat__msg.is-them .fm-chat__bubble{background:#fff;border:1px solid var(--fm-line);border-top-left-radius:4px}
.fm-chat__msg.is-me .fm-chat__bubble{background:var(--fm-primary);color:#fff;border-top-right-radius:4px}
.fm-chat__msg time{font-size:.7rem;color:var(--fm-muted);margin:2px 6px 0}
.fm-chat__img img{display:block;max-width:220px;max-height:200px;border-radius:8px;margin-top:4px}
.fm-chat__file{display:inline-flex;gap:6px;align-items:baseline;font-weight:600}
.fm-chat__file small{font-weight:400;opacity:.75}
.fm-chat__sys{align-self:center;max-width:90%;text-align:center;font-size:.8rem;color:var(--fm-muted);padding:2px 8px}
.fm-chat__typing{display:flex;align-items:center;gap:4px;margin:10px 0 0 4px;font-size:.78rem;color:var(--fm-muted)}
.fm-chat__typing[hidden]{display:none}
.fm-chat__typing span{width:6px;height:10px;border-radius:2px;background:#B6C0D0}
@media (prefers-reduced-motion:no-preference){.fm-chat__typing span{animation:fm-chat-port 1.2s infinite}.fm-chat__typing span:nth-child(2){animation-delay:.2s}.fm-chat__typing span:nth-child(3){animation-delay:.4s}}
@keyframes fm-chat-port{0%,60%,100%{background:#B6C0D0}30%{background:var(--fm-accent)}}
.fm-chat__typing span:last-of-type{margin-right:4px}
.fm-chat__after{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--fm-line)}
.fm-chat__rate p{margin:0 0 6px;font-weight:600;color:var(--fm-primary)}
.fm-chat__rate div{display:flex;gap:8px}
.fm-chat__rate button{padding:8px 14px;border-radius:9px;border:1.5px solid var(--fm-line);background:#fff;font:inherit;font-weight:600;cursor:pointer;color:var(--fm-ink)}
.fm-chat__rate button:hover{border-color:var(--fm-primary)}
.fm-chat__bar{flex:none;border-top:1px solid var(--fm-line);background:#fff;padding:10px 12px 8px}
.fm-chat__compose{display:flex;align-items:flex-end;gap:6px}
.fm-chat__compose textarea{flex:1;min-width:0;font:inherit;font-size:.95rem;line-height:1.4;padding:9px 10px;border:1px solid #cbd5e1;border-radius:10px;resize:none;max-height:120px}
.fm-chat__compose textarea:focus{outline:0;border-color:var(--fm-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-secondary) 18%,transparent)}
.fm-chat__attach{position:relative;flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--fm-soft-ink);cursor:pointer}
.fm-chat__attach:hover,.fm-chat__attach:focus-within{background:var(--fm-panel);color:var(--fm-primary)}
.fm-chat__attach input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.fm-chat__attach svg,.fm-chat__send svg{width:20px;height:20px}
.fm-chat__send{flex:none;width:40px;height:38px;border-radius:10px;border:0;background:var(--fm-primary);color:#fff;display:grid;place-items:center;cursor:pointer}
.fm-chat__send:hover{background:var(--fm-navy-ink,#081a40)}
.fm-chat__end{display:block;margin:6px 0 0 auto;background:none;border:0;padding:2px 4px;font:inherit;font-size:.78rem;color:var(--fm-muted);cursor:pointer;text-decoration:underline}
.fm-chat__done{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.fm-chat__done-title{font-family:var(--fm-display);font-weight:700;font-size:1.2rem;color:var(--fm-primary);margin:0}
.fm-chat__done p{margin:0}
.fm-chat__sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:600px){
  .fm-chat{bottom:14px;right:14px}.fm-chat--left{left:14px}
  .fm-chat__launcher{height:48px;padding:0 14px}
  .fm-chat__label{display:none}
  .fm-chat__led{left:29px;top:8px}
  .fm-chat.is-open .fm-chat__launcher{display:none}
  .fm-chat__panel,.fm-chat__panel[data-view]{position:fixed;inset:0;width:auto;height:100%;max-height:none;border-radius:0;bottom:0}
}
@media print{.fm-chat{display:none}}

@media print{.fm-find,.fm-tc-find{display:none}}
@media print{.fm-portal__reply,.fm-portal__solved,.fm-portal__bar,.fm-tf__aside{display:none}}
@media print{.fm-pp-rights{background:none;color:inherit}.fm-pp-rights h2,.fm-right__name{color:#000}.fm-rights,.fm-pp-cookie-row,.fm-policy__toc,.fm-policy__toc-inline{display:none}.fm-policy{display:block}}
@media print{
  .fm-header,.fm-footer,.fm-dnav,.fm-doc__toc,.fm-doc__toc-inline,.fm-doc__tools,.fm-doc__feedback,.fm-doc__pager,.fm-doc__related,.fm-dhelp,.fm-adminbar,.fm-staging-ribbon,.fm-cookie,.fm-doc-copy,.fm-doc-anchor,.fm-zoom{display:none!important}
  .fm-docs-shell{display:block;padding:0}
  .fm-doc{max-width:none}
  .fm-doc-zoom{box-shadow:none}
  .fm-doc-code pre{white-space:pre-wrap;background:#f3f6fa;color:#0b2559}
  .fm-doc__body a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em;color:#5b6782}
}
@media print{.fm-lc__wire i{display:none}.fm-tour__chapter,.fm-tour__node{opacity:1!important}.fm-tour__map{position:static!important}.fm-callflow.is-js .fm-callflow__step,.fm-callflow.is-js .fm-callflow__note{opacity:1!important}.fm-motion .fm-rv,.fm-motion .fm-hero *,.fm-motion .fm-wd > span{opacity:1!important;transform:none!important;clip-path:none!important;visibility:visible!important}}

/* Header sign-in area (in place of the header button): an amber button that opens a small panel.
   Visitors: where to sign in. Signed in: their initials and first name, then their account links. */
.fm-acct{position:relative;flex:none}
.fm-acct__btn{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px 8px 12px;border-radius:10px;background:var(--fm-accent);color:var(--fm-primary);font-weight:600;font-size:.95rem;line-height:1.2;cursor:pointer;list-style:none;user-select:none;transition:background .15s}
.fm-acct__btn::-webkit-details-marker{display:none}
a.fm-acct__btn,a.fm-acct__btn:hover{text-decoration:none;color:var(--fm-primary)}
.fm-acct__btn:hover{background:color-mix(in srgb,var(--fm-accent) 86%,#fff)}
.fm-acct__btn:focus-visible{outline:2px solid var(--fm-primary);outline-offset:2px}
.fm-acct__icon{width:22px;height:22px}
.fm-acct__avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--fm-primary);color:#fff;font:700 .74rem/1 var(--fm-display);letter-spacing:.02em}
.fm-acct__avatar--lg{width:42px;height:42px;font-size:.95rem;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--fm-accent)}
.fm-acct__chev{width:7px;height:7px;margin:0 2px 3px 2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.fm-acct[open] .fm-acct__chev{transform:translateY(3px) rotate(-135deg)}
.fm-acct__panel{position:absolute;right:0;top:calc(100% + 10px);z-index:60;width:340px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-radius);box-shadow:0 18px 44px -12px rgba(11,37,89,.28);padding:10px}
.fm-acct[open] .fm-acct__panel{animation:fm-acct-in .16s var(--fm-ease-out)}
@keyframes fm-acct-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fm-acct[open] .fm-acct__panel{animation:none}}
.fm-acct__title{margin:4px 10px 6px;font-size:.85rem;font-weight:600;color:var(--fm-muted)}
.fm-acct__me{display:flex;align-items:center;gap:12px;padding:10px 10px 14px;margin-bottom:6px;border-bottom:1px solid var(--fm-line)}
.fm-acct__me strong{display:block;color:var(--fm-primary);font-family:var(--fm-display);font-size:1rem;line-height:1.25}
.fm-acct__me small{display:block;color:var(--fm-muted);font-size:.84rem;overflow-wrap:anywhere}
.fm-acct__list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.fm-acct__list a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;color:var(--fm-ink);text-decoration:none}
.fm-acct__list a:hover,.fm-acct__list a:focus-visible{background:var(--fm-panel);text-decoration:none}
.fm-acct__list a:focus-visible{outline:2px solid var(--fm-primary);outline-offset:-2px}
.fm-acct__ico{flex:none;width:38px;height:38px;padding:9px;border-radius:10px;background:var(--fm-panel);color:var(--fm-primary)}
.fm-acct__list a:hover .fm-acct__ico{background:#fff;box-shadow:inset 0 0 0 1px var(--fm-line)}
.fm-acct__list b{display:block;color:var(--fm-primary);font-weight:600;font-size:.95rem;line-height:1.3}
.fm-acct__list small{display:block;color:var(--fm-muted);font-size:.83rem;line-height:1.35;overflow-wrap:anywhere}
.fm-acct__new{margin:8px 0 0;padding:12px 10px 4px;border-top:1px solid var(--fm-line);font-size:.88rem;color:var(--fm-muted)}
.fm-acct__new a{font-weight:600;color:var(--fm-primary);text-decoration:underline;text-underline-offset:2px}
.fm-acct__out{margin:8px 0 0;padding:10px 0 2px;border-top:1px solid var(--fm-line)}
.fm-acct__out .fm-btn{width:100%;padding:10px 16px}
@media (min-width:1025px) and (max-width:1380px){.fm-acct__btn{padding-left:10px;padding-right:12px}}
/* Phones and tablets: a round button beside the menu button; the panel hangs under the header. */
@media (max-width:1024px){
  .fm-acct{order:2;margin-left:auto}
  .fm-header .fm-nav-toggle{order:3;margin-left:8px}
  .fm-acct__btn{min-height:42px;padding:6px 10px;gap:6px}
  .fm-acct__label,.fm-acct__chev{display:none}
  .fm-acct.is-in .fm-acct__btn{padding:6px}
  .fm-acct__panel{position:fixed;left:12px;right:12px;top:calc(var(--fm-header-h) + 6px);width:auto;max-width:none}
}

/* FRC Plans (0.3.4): the plan marked "Most popular", its own line and features, the partner line */
.fm-plans__pcalls em{display:block;margin-top:3px;font-style:normal;font-weight:700;font-size:.72rem;color:var(--fm-accent)}
.fm-plans__note{color:#dbe4f3;font-size:.92rem}
.fm-plans__note[hidden],.fm-plans__pfeat[hidden],.fm-plans__go[hidden]{display:none}
.fm-plans__pfeat{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px;font-size:.9rem;color:#dbe4f3}
.fm-plans__pfeat li{position:relative;padding-left:18px}
.fm-plans__pfeat li::before{content:"";position:absolute;left:2px;top:.5em;width:8px;height:5px;border-left:2px solid var(--fm-live);border-bottom:2px solid var(--fm-live);transform:rotate(-45deg)}
.fm-plans__partner{margin:0;font-size:.86rem;color:#a8b7d1;max-width:38ch}
/* FRC plans: features by plan (0.3.5) */
.fm-plans__compare{margin-top:14px}
.fm-plans__compare table{min-width:520px}
.fm-plans__compare th[scope="col"]:not(:first-child),.fm-plans__compare td{text-align:center}
.fm-plans__compare td.is-yes .fm-icon{width:18px;height:18px;color:#15803D;vertical-align:-3px}
.fm-plans__compare td.is-no{color:#9aa6bb}
.fm-plans__compare td:nth-child(2){font-weight:400}
.fm-plans__compare td:nth-child(2):not(.is-no){color:inherit}

/* Account menu: FRC subscriptions ending soon (0.3.16) */
.fm-acct__avatar{position:relative}
.fm-acct__alert{position:absolute;top:-5px;right:-7px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#DC2626;color:#fff;font:700 10px/1 var(--fm-font);font-style:normal;box-shadow:0 0 0 2px #fff}
.fm-acct__warn{display:flex;align-items:center;gap:12px;margin:0 0 6px;padding:10px;border-radius:10px;background:#FFF7E6;border:1px solid #F5C66A;color:#5A3A07;text-decoration:none}
.fm-acct__warn:hover,.fm-acct__warn:focus-visible{background:#FFEFCC;text-decoration:none}
.fm-acct__warn b{display:block;font-size:.9rem}
.fm-acct__warn small{display:block;font-size:.8rem;color:#8A5A12}
.fm-acct__warn .fm-acct__ico{flex:none;color:#D97706}

/* Partner types in the channel (/partners/, 0.3.21): the chain from FIBERME to the end user with
   the chosen partner's place lit, beside what it does and gets. */
.fm-pw{display:grid;gap:18px}
.fm-pw__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.fm-pw__label{font-weight:600;color:var(--fm-soft-ink)}
.fm-pw__tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:var(--fm-panel);border:1px solid var(--fm-line)}
.fm-pw__tabs button{min-height:40px;padding:8px 16px;border:0;border-radius:9px;background:none;font:inherit;font-weight:650;color:var(--fm-soft-ink);cursor:pointer}
.fm-pw__tabs button:hover{color:var(--fm-ink)}
.fm-pw__tabs button[aria-selected=true]{background:var(--fm-primary);color:#fff;box-shadow:0 4px 12px rgba(11,37,89,.18)}
.fm-pw__tabs button:focus-visible{outline:2px solid var(--fm-accent);outline-offset:2px}
.fm-pw:not(.is-tabbed) .fm-pw__tabs{display:none}
.fm-pw:not(.is-tabbed) .fm-pw__label{display:none}
.fm-pw__panel{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;align-items:start;padding:30px;border:1px solid var(--fm-line);border-radius:var(--fm-radius-lg,20px);background:#fff}
.fm-pw__panel[hidden]{display:none}
.fm-pw__chain{position:relative;margin:0;padding:0;list-style:none;display:grid;gap:14px}
.fm-pw__chain::before{content:"";position:absolute;left:13px;top:16px;bottom:16px;width:2px;background:repeating-linear-gradient(180deg,#C9D3E3 0 6px,transparent 6px 11px)}
.fm-pw__node{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 14px 8px 0}
.fm-pw__dot{position:relative;z-index:1;flex:none;width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid #C9D3E3}
.fm-pw__node.is-above .fm-pw__name{color:var(--fm-muted)}
.fm-pw__node.is-above .fm-pw__dot{border-color:#AEBBD0;background:#EEF2F7}
.fm-pw__node.is-below .fm-pw__dot{border-color:var(--fm-primary)}
.fm-pw__node.is-below .fm-pw__name{color:var(--fm-ink)}
.fm-pw__node.is-you{padding:12px 16px 12px 0}
.fm-pw__node.is-you .fm-pw__dot{border:0;background:var(--fm-primary);box-shadow:0 0 0 6px rgba(11,37,89,.12)}
.fm-pw__node.is-you .fm-pw__dot::after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--fm-accent)}
.fm-pw__node.is-you .fm-pw__name{font:700 1.15rem/1.2 var(--fm-display);color:var(--fm-ink)}
.fm-pw__you{margin-left:auto;padding:2px 9px;border-radius:999px;background:var(--fm-accent);color:#1A1200;font-size:.74rem;font-weight:800}
.fm-pw__name{font-weight:600;line-height:1.3}
.fm-pw__title{margin:0;font-family:var(--fm-display);font-size:1.6rem;line-height:1.15;color:var(--fm-ink)}
.fm-pw__under{margin:6px 0 14px;font-size:.92rem;font-weight:600;color:var(--fm-secondary)}
.fm-pw__text{margin:0 0 16px;color:var(--fm-soft-ink);max-width:56ch}
.fm-pw__points{display:grid;gap:9px;margin:0 0 22px;padding:0;list-style:none}
.fm-pw__points li{display:flex;gap:10px;align-items:flex-start;color:var(--fm-ink)}
.fm-pw__points .fm-icon{flex:none;width:20px;height:20px;margin-top:2px;color:#16A34A}
@media (max-width:860px){.fm-pw__panel{grid-template-columns:1fr;gap:26px;padding:20px}}
.fm-pt-hero{background:linear-gradient(180deg,var(--fm-panel),#fff)}
/* Page titles of the partner and NEXUSAGE pages: one line from tablet width up (client 2026-10-09 22:04). */
.fm-pt-title .fm-heading,.fm-pt-title h1{max-width:none;text-wrap:balance}
@media (min-width:720px){.fm-pt-title h1{white-space:nowrap;font-size:clamp(1.6rem,3.5vw,3.1rem)}}
@media (max-width:719px){.fm-pt-hero .fm-pt-title h1{white-space:nowrap;font-size:min(2.1rem,7.3vw)}}
.fm-pt-benefits .fm-card__title{font-size:1.02rem}
.fm-pt-signin-h{margin-top:22px}
.fm-nx-dl{padding-bottom:72px}
.fm-nx-dl-logo img{max-width:240px;height:auto}
.fm-nx-dl .fm-form-card{padding:24px;border-radius:var(--fm-radius-lg,20px);background:var(--fm-panel);border:1px solid var(--fm-line)}
/* FGX4504 page (0.3.23) */
.fm-fgx-built-card{padding:26px 28px;border-radius:var(--fm-radius-lg,20px);background:var(--fm-panel);border:1px solid var(--fm-line)}
.fm-fgx-built .fm-icon{color:var(--fm-secondary)}
.fm-fgx-built-note p{margin:0;color:var(--fm-muted);font-size:.95rem}
.fm-fgx-group{margin-top:6px}
.fm-fgx-group .fm-title{font-size:1.08rem}
.fm-fgx-points{margin-bottom:18px}
.fm-fgx-model{padding:26px 28px;border-radius:var(--fm-radius-lg,20px);border:1px solid var(--fm-line);background:#fff;position:relative;overflow:hidden}
.fm-fgx-model::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--fm-accent)}
.fm-fgx-model + .fm-fgx-model::before{background:var(--fm-secondary)}
.fm-fgx-model-name .fm-title{font-size:1.5rem;letter-spacing:-.01em}
.fm-fgx-model-name .fm-subtitle{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:999px;background:var(--fm-panel);border:1px solid var(--fm-line);font-size:.85rem;font-weight:600;color:var(--fm-primary)}
.fm-fgx-model-points .fm-icon{color:var(--fm-secondary)}
.fm-fgx-views .fm-gallery__item img{object-fit:contain}
.fm-fgx-views figcaption{color:#b9c6df;text-align:center}
.fm-fgx-views .fm-gallery{gap:28px}
.fm-fgx-hero-media img{padding:28px 22px 10px;box-sizing:border-box}
