/* FilleReact product page — isolated Longevity styles */
:root { --fr-navy:#204675; --fr-blue:#a9cef3; --fr-pale:#eef7ff; --fr-yellow:#ffbf19; --fr-ink:#244574; }
.fillereact-page { color:var(--fr-ink); font-family:Lato,sans-serif; overflow-x:hidden; }
.fillereact-page .immersive-hero--fillereact .immersive-hero__image { left:0; right:0; width:100%; }
@media (max-width:767.98px) { .fillereact-page .immersive-hero--fillereact .immersive-hero__image img { object-position:18% center; } }
.fillereact-page * { box-sizing:border-box; }
.fillereact-page h1,.fillereact-page h2,.fillereact-page h3 { color:var(--fr-navy); font-family:Poppins,sans-serif; }
.fillereact-shell { max-width:1280px; margin:auto; padding-left:24px; padding-right:24px; }
.fillereact-hero { position:relative; background:linear-gradient(90deg,#eaf8ff 0%,#fff 51%); min-height:570px; overflow:hidden; }
.fillereact-hero__grid { min-height:570px; display:grid; grid-template-columns:47% 53%; align-items:stretch; }
.fillereact-hero__photo { position:relative; min-height:570px; overflow:hidden; }
.fillereact-hero__photo img { width:100%; height:100%; object-fit:cover; object-position:43% center; display:block; }
.fillereact-hero__photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 72%,#fff); }
.fillereact-hero__content { position:relative; z-index:1; padding:78px 7% 114px 3%; display:flex; flex-direction:column; justify-content:center; }
.fillereact-brand { display:inline-flex; align-items:center; gap:12px; margin-bottom:34px; font:500 32px/1 Poppins,sans-serif; letter-spacing:-.055em; color:var(--fr-navy); }
.fillereact-wordmark__react { color:#a9cef3; }
.fillereact-drop { width:34px; height:42px; flex:none; }
.fillereact-hero h1 { max-width:650px; margin:0 0 22px; color:var(--fr-blue); font-size:clamp(2rem,3.2vw,3.45rem); line-height:1.16; font-weight:700; letter-spacing:-.035em; }
.fillereact-hero__line { display:flex; gap:7px; margin:0 0 15px; }
.fillereact-hero__line i { display:block; width:31px; height:3px; border-radius:2px; background:var(--fr-blue); }.fillereact-hero__line i:nth-child(2){background:var(--fr-navy);width:46px}.fillereact-hero__line i:nth-child(3){background:var(--fr-yellow);width:20px}
.fillereact-hero__tagline { color:var(--fr-navy); font-size:1.05rem; font-weight:700; font-style:italic; margin:0 0 5px; }
.fillereact-hero__intro { margin:0; font-size:1.05rem; line-height:1.55; }.fillereact-hero__intro ul { margin:5px 0 0; padding-left:18px; }.fillereact-hero__intro li::marker { color:var(--fr-blue); }
.fillereact-hero__wave { display:none; }
.fillereact-section { position:relative; padding:96px 0; }.fillereact-section--pale { background:var(--fr-pale); }.fillereact-section--wave:after { display:none; }.fillereact-section > * { position:relative; z-index:1; }
.fillereact-section h2 { max-width:980px; margin:0 0 27px; color:var(--fr-blue); font-size:clamp(1.7rem,2.7vw,2.7rem); line-height:1.17; font-weight:700; letter-spacing:-.035em; text-transform:uppercase; }.fillereact-section p { max-width:1020px; margin:0 0 18px; font-size:1.08rem; line-height:1.62; }.fillereact-section strong { font-weight:700; }
.fillereact-factors { max-width:990px; margin:22px 0 23px; padding:0; list-style:none; columns:2; column-gap:44px; }.fillereact-factors li { position:relative; break-inside:avoid; padding:0 0 9px 24px; font-size:1.03rem; line-height:1.42; }.fillereact-factors li:before,.fillereact-value li:before { content:""; position:absolute; left:0; top:.45em; width:10px; height:10px; border:solid var(--fr-blue); border-width:0 3px 3px 0; transform:rotate(-45deg); }
.fillereact-science { margin-top:36px; padding:31px 34px 28px; border:2px solid var(--fr-blue); border-radius:29px; background:#fff; }.fillereact-science h3 { display:inline-block; margin:-51px 0 18px; padding:7px 17px; border-radius:14px; background:var(--fr-blue); color:white; font-size:1.1rem; }.fillereact-science p:last-child { margin-bottom:0; }
.fillereact-value { margin-top:37px; padding:38px 46px; border-radius:28px; background:#e7f2fe; }.fillereact-value h3 { margin:0 0 20px; font-size:1.25rem; }.fillereact-value ul { margin:0; padding:0; list-style:none; }.fillereact-value li { position:relative; padding:0 0 15px 29px; font-size:1.06rem; line-height:1.46; }.fillereact-value li:last-child{padding-bottom:0}.fillereact-value li:before { border-color:var(--fr-navy); }
.fillereact-indications { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin:45px 0 50px; }.fillereact-indication { text-align:center; }.fillereact-icon { width:104px; height:104px; margin:0 auto 18px; display:grid; place-items:center; }.fillereact-icon img { display:block; width:100%; height:100%; object-fit:contain; }.fillereact-indication p { margin:0 auto; max-width:260px; font-size:1.04rem; line-height:1.44; }.fillereact-note { max-width:100%; padding-top:20px; border-top:1px solid #d5e8fb; font-size:1.05rem!important; }
.fillereact-workflow { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:49px; }.fillereact-step { position:relative; text-align:center; }.fillereact-step:not(:last-child):after,.fillereact-step:not(:last-child):before { display:none; }.fillereact-step__number { position:relative; z-index:1; width:100px; height:100px; margin:0 auto 20px; display:grid; place-items:center; }.fillereact-step__number img { width:100%; height:100%; object-fit:contain; display:block; }.fillereact-step p { margin:auto; max-width:180px; font-size:.96rem; line-height:1.42; }
.fillereact-result { display:grid; grid-template-columns:100px 1fr; gap:0 27px; align-items:start; padding:0 0 46px; }.fillereact-result:last-child { padding-bottom:0; }.fillereact-result__symbol { width:86px; height:86px; border-radius:50%; display:grid; place-items:center; background:var(--fr-blue); color:#fff; font:300 5rem/.8 Lato,sans-serif; }.fillereact-result h3 { margin:4px 0 7px; font-size:1.35rem; text-transform:uppercase; }.fillereact-result p { max-width:none; }
.fillereact-journey { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:49px 0 47px; }.fillereact-journey__step { position:relative; text-align:center; }.fillereact-journey__step:not(:last-child):after { content:""; position:absolute; top:35px; right:-17px; border:8px solid transparent; border-left-color:var(--fr-yellow); }.fillereact-journey__icon { width:70px; height:70px; margin:auto; display:grid; place-items:center; }.fillereact-journey__icon img { width:100%; height:100%; object-fit:contain; display:block; }.fillereact-journey__step p { margin:13px auto 0; max-width:150px; font-size:.92rem; font-weight:700; line-height:1.32; }
.fillereact-turnaround { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; overflow:hidden; border-radius:30px; background:var(--fr-blue); color:#fff; text-align:center; }.fillereact-turnaround span { padding:14px; font:700 1.2rem/1.2 Poppins,sans-serif; }.fillereact-turnaround b { width:80px; height:80px; display:grid; place-items:center; border:2px solid var(--fr-navy); border-radius:50%; background:#fff; color:var(--fr-navy); }.fillereact-turnaround svg { width:40px; height:40px; fill:none; stroke:currentColor; stroke-width:1.6; }
.fillereact-cta { padding:62px 0; background:#a9cef3; color:#fff; text-align:center; }.fillereact-cta h2 { margin:0 0 12px; color:#fff; font-size:clamp(1.55rem,2.8vw,2.4rem); }.fillereact-cta p { margin:0 auto 24px; max-width:650px; font-size:1.08rem; line-height:1.5; }.fillereact-cta .button { margin:0; border-color:#fff; color:#fff; }.fillereact-cta .button:hover { background:#fff!important; color:var(--fr-navy)!important; }
.fillereact-page a:focus-visible { outline:3px solid var(--fr-yellow); outline-offset:4px; }.fillereact-page ::selection { background:var(--fr-navy); color:#fff; }
@media (max-width:991.98px) { .fillereact-hero__grid{grid-template-columns:42% 58%}.fillereact-hero__content{padding-left:5%;padding-right:5%}.fillereact-workflow{grid-template-columns:repeat(3,1fr);row-gap:36px}.fillereact-step:after,.fillereact-step:before{display:none}.fillereact-journey{grid-template-columns:repeat(3,1fr);row-gap:28px}.fillereact-journey__step:after{display:none} }
@media (max-width:767.98px) { .fillereact-shell{padding-left:20px;padding-right:20px}.fillereact-hero{background:#fff}.fillereact-hero__grid{display:flex;min-height:auto;flex-direction:column-reverse}.fillereact-hero__photo{min-height:350px;height:48vw}.fillereact-hero__photo:after{background:linear-gradient(90deg,transparent 70%,#fff)}.fillereact-hero__content{padding:54px 20px 68px}.fillereact-hero__wave{display:none}.fillereact-section{padding:69px 0}.fillereact-section--wave:after{bottom:-55px;height:100px}.fillereact-section h2{font-size:1.75rem}.fillereact-factors{columns:1}.fillereact-science{padding:28px 22px 22px;border-radius:22px}.fillereact-value{padding:28px 25px;border-radius:22px}.fillereact-indications{grid-template-columns:1fr;gap:37px}.fillereact-workflow,.fillereact-journey{grid-template-columns:1fr;gap:28px}.fillereact-step,.fillereact-journey__step{display:grid;grid-template-columns:76px 1fr;gap:16px;text-align:left;align-items:center}.fillereact-step__number{width:64px;height:64px;margin:0;font-size:1.1rem}.fillereact-step p,.fillereact-journey__step p{max-width:none;margin:0}.fillereact-journey__icon{width:64px;height:64px}.fillereact-result{grid-template-columns:70px 1fr;gap:0 17px}.fillereact-result__symbol{width:60px;height:60px;font-size:3.8rem}.fillereact-turnaround{grid-template-columns:1fr;gap:0;border-radius:20px}.fillereact-turnaround b{order:-1;margin:10px auto -3px;width:65px;height:65px}.fillereact-turnaround span{padding:13px 10px}.fillereact-cta{padding:54px 20px} }

/* Exact visual assets extracted from the official FilleReact brochure. */
.fillereact-result__symbol { font-size:0; background:transparent center/contain no-repeat; }
.fillereact-result:first-of-type .fillereact-result__symbol { background-image:url('../images/fillereact/icons/result-positive.png'); }
.fillereact-result:last-of-type .fillereact-result__symbol { background-image:url('../images/fillereact/icons/result-negative.png'); }
.fillereact-turnaround b { background:#fff center/contain no-repeat url('../images/fillereact/icons/turnaround-clock.png'); }
.fillereact-turnaround b svg { display:none; }

/* Requested alignment refinements. */
.fillereact-workflow,
.fillereact-journey { list-style:none; padding-left:0; }
.fillereact-cta,
.fillereact-cta h2,
.fillereact-cta p { text-align:center; }
.fillereact-cta .button:hover { text-shadow:none; }

@media (max-width:767.98px) {
  .fillereact-step,
  .fillereact-journey__step { display:block; text-align:center; }
  .fillereact-step__number,
  .fillereact-journey__icon { margin:0 auto 16px; }
  .fillereact-step p,
  .fillereact-journey__step p { margin:0 auto; text-align:center; }
}

/* FilleReact brochure dimensions and workflow connector assets. */
.fillereact-icon {
  width:150px;
  height:150px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
}
.fillereact-journey__step p {
  margin:13px auto 0;
  max-width:150px;
  font-size:.92rem;
  font-weight:700;
  line-height:1.32;
  text-align:center;
}
.fillereact-journey__icon {
  width:120px;
  height:120px;
  margin:auto;
  display:grid;
  place-items:center;
}
.fillereact-step__number {
  position:relative;
  z-index:1;
  width:150px;
  height:150px;
  margin:0 auto 20px;
  display:grid;
  place-items:center;
}
.fillereact-step__number img { position:relative; z-index:1; }
.fillereact-indication p,
.fillereact-step p,
.fillereact-journey__step p { text-align:center !important; }
.fillereact-journey__step:nth-child(3) p,
.fillereact-journey__step:nth-child(5) p { max-width:95px; }
.fillereact-step:nth-child(1) .fillereact-step__number::after,
.fillereact-step:nth-child(2) .fillereact-step__number::after,
.fillereact-step:nth-child(3) .fillereact-step__number::after,
.fillereact-step:nth-child(4) .fillereact-step__number::after {
  content:"";
  position:absolute;
  z-index:0;
  top:22px;
  left:128px;
  width:140px;
  height:113px;
  background:url('../images/fillereact/icons/line-orizz-workflow.png') center/contain no-repeat;
}
@media (max-width:767.98px) {
  .fillereact-step__number {
    width:150px;
    height:150px;
    margin:0 auto 20px;
  }
  .fillereact-journey__icon { width:120px; height:120px; margin:0 auto 16px; }
  .fillereact-step:nth-child(1) .fillereact-step__number,
  .fillereact-step:nth-child(2) .fillereact-step__number,
  .fillereact-step:nth-child(3) .fillereact-step__number,
  .fillereact-step:nth-child(4) .fillereact-step__number { margin-bottom:122px; }
  .fillereact-step:nth-child(1) .fillereact-step__number::after,
  .fillereact-step:nth-child(2) .fillereact-step__number::after,
  .fillereact-step:nth-child(3) .fillereact-step__number::after,
  .fillereact-step:nth-child(4) .fillereact-step__number::after {
    display:none;
  }
  .fillereact-step:nth-child(1)::after,
  .fillereact-step:nth-child(2)::after,
  .fillereact-step:nth-child(3)::after,
  .fillereact-step:nth-child(4)::after {
    content:"";
    display:block;
    width:160px;
    height:219px;
    margin:20px auto 0;
    background:url('../images/fillereact/icons/line-vert-workflow.png') center/contain no-repeat;
  }
  .fillereact-step:nth-child(1) .fillereact-step__number,
  .fillereact-step:nth-child(2) .fillereact-step__number,
  .fillereact-step:nth-child(3) .fillereact-step__number,
  .fillereact-step:nth-child(4) .fillereact-step__number { margin-bottom:20px; }
}

/* Connector alignment refinements. */
.fillereact-journey__step:not(:last-child)::after { top:55px; }
@media (max-width:767.98px) {
  .fillereact-step:nth-child(1)::after,
  .fillereact-step:nth-child(2)::after,
  .fillereact-step:nth-child(3)::after,
  .fillereact-step:nth-child(4)::after {
    width:150px;
    height:150px;
  }
  .fillereact-journey__step:not(:last-child)::after {
    content:"";
    position:static;
    display:block;
    width:0;
    height:0;
    margin:18px auto;
    border:8px solid transparent;
    border-top-color:var(--fr-yellow);
    border-left-color:transparent;
  }
}

/* Turnaround time bar: two official colour blocks with the clock centred above. */
.fillereact-turnaround {
  position:relative;
  grid-template-columns:1fr 1fr;
  overflow:visible;
  background:transparent;
}
.fillereact-turnaround span {
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fillereact-turnaround span:first-child {
  background:var(--fr-navy);
  border-radius:30px 0 0 30px;
}
.fillereact-turnaround span:last-child {
  background:#a9cef3;
  border-radius:0 30px 30px 0;
}
.fillereact-turnaround b {
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:118px;
  height:118px;
  margin:0;
  transform:translate(-50%,-50%);
}
@media (max-width:767.98px) {
  .fillereact-turnaround {
    display:grid;
    grid-template-columns:1fr;
    padding-top:0;
    margin-top:88px;
  }
  .fillereact-turnaround span:first-child {
    min-height:122px;
    padding-top:57px;
    border-radius:20px 20px 0 0;
  }
  .fillereact-turnaround span:last-child { border-radius:0 0 20px 20px; }
  .fillereact-turnaround b {
    top:0;
    width:104px;
    height:104px;
    transform:translate(-50%,-50%);
  }
}
