:root{
  --fa-parallax-x:0px;
  --fa-parallax-y:0px;
  --fa-text:#10221d;
  --fa-text-dim:rgba(16,34,29,0.64);
  --fa-accent:#0f4b3b;
  --fa-accent-strong:#0b3d31;
  --fa-accent-soft:#d9ebe4;
  --fa-white:rgba(255,255,255,0.92);
  --fa-glass:rgba(238,250,245,0.52);
  --fa-glass-strong:rgba(232,247,241,0.62);
  --fa-border:rgba(255,255,255,0.82);
  --fa-border-soft:rgba(255,255,255,0.66);
  --fa-shadow:0 14px 36px rgba(56,104,90,0.12);
  --fa-radius-xl:30px;
  --fa-radius-lg:22px;
  --fa-radius-md:14px;
  --fa-max:1200px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html,body{min-height:100%;}

body{
  position:relative;
  isolation:isolate;
  font-family:"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--fa-text);
  background:
    radial-gradient(900px 520px at 12% -8%, rgba(170,222,196,0.28), transparent 62%),
    radial-gradient(780px 460px at 86% -10%, rgba(154,208,196,0.24), transparent 60%),
    linear-gradient(180deg, #f3f8f6 0%, #edf4f1 48%, #e8f0ec 100%);
  background-attachment:fixed;
}

.fa-bg-layer{
  position:fixed;
  inset:-8%;
  pointer-events:none;
  z-index:-1;
  transform:translate3d(var(--fa-parallax-x), var(--fa-parallax-y), 0);
  transition:transform .12s linear;
  background:
    radial-gradient(320px 220px at 20% 24%, rgba(146,204,180,0.16), transparent 65%),
    radial-gradient(340px 230px at 76% 34%, rgba(153,196,188,0.13), transparent 66%);
  opacity:.62;
}

a{color:inherit;}

.fa-section{
  max-width:var(--fa-max);
  margin:0 auto;
  padding:92px 20px;
}

.fa-section-focus{padding:112px 20px;}

.fa-hero{
  text-align:center;
  padding:156px 20px 86px;
}

.fa-hero-inner{
  max-width:780px;
  margin:0 auto;
  border-radius:var(--fa-radius-xl);
  border:1px solid var(--fa-border);
  background:var(--fa-glass);
  backdrop-filter:blur(22px) saturate(130%);
  -webkit-backdrop-filter:blur(22px) saturate(130%);
  box-shadow:var(--fa-shadow), inset 0 1px 0 rgba(255,255,255,0.86);
  padding:36px;
}

.fa-hero h1{
  font-size:clamp(34px,5vw,58px);
  line-height:1.04;
  letter-spacing:-0.04em;
  color:var(--fa-accent-strong);
}

.fa-hero p{
  margin-top:14px;
  font-size:17px;
  line-height:1.68;
  color:var(--fa-text-dim);
}

/* SERVICE PAGES: HERO COMPACT FOR FIRST FRAME */
body[data-page="particuliers"] .fa-hero,
body[data-page="copropriete"] .fa-hero,
body[data-page="bureaux"] .fa-hero,
body[data-page="chantier"] .fa-hero,
body[data-page="sinistres"] .fa-hero{
  padding:122px 20px 42px;
}

body[data-page="particuliers"] .fa-hero-inner,
body[data-page="copropriete"] .fa-hero-inner,
body[data-page="bureaux"] .fa-hero-inner,
body[data-page="chantier"] .fa-hero-inner,
body[data-page="sinistres"] .fa-hero-inner{
  max-width:720px;
  padding:28px 26px 24px;
}

body[data-page="particuliers"] .fa-hero h1,
body[data-page="copropriete"] .fa-hero h1,
body[data-page="bureaux"] .fa-hero h1,
body[data-page="chantier"] .fa-hero h1,
body[data-page="sinistres"] .fa-hero h1{
  font-size:clamp(30px,4.1vw,44px);
}

body[data-page="particuliers"] .fa-hero p,
body[data-page="copropriete"] .fa-hero p,
body[data-page="bureaux"] .fa-hero p,
body[data-page="chantier"] .fa-hero p,
body[data-page="sinistres"] .fa-hero p{
  margin-top:12px;
  font-size:16px;
  line-height:1.56;
}

.fa-service-hero{
  padding:110px 20px 18px !important;
}

.fa-service-hero-shell{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap:18px;
  align-items:stretch;
}

.fa-service-hero-shell-duo{
  grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.fa-service-hero-copy{
  max-width:none !important;
  margin:0 !important;
  text-align:left;
  padding:24px 24px 22px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:318px;
  background:rgba(246,251,248,0.62) !important;
  border:1px solid rgba(255,255,255,0.88) !important;
  backdrop-filter:blur(22px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(135%) !important;
  box-shadow:
    0 18px 38px rgba(15,46,37,0.08),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

.fa-service-hero-mosaic{
  --fa-mosaic-progress:0;
  position:relative;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
  min-height:318px;
  opacity:calc(1 - (var(--fa-mosaic-progress) * 0.7));
  transform:translate3d(0, calc(var(--fa-mosaic-progress) * -10px), 0);
  transition:opacity .18s ease-out, transform .18s ease-out;
}

.fa-service-hero-mosaic::before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255,255,255,0.26), rgba(255,255,255,0.06));
  backdrop-filter:blur(calc(10px - (var(--fa-mosaic-progress) * 6px))) saturate(128%);
  -webkit-backdrop-filter:blur(calc(10px - (var(--fa-mosaic-progress) * 6px))) saturate(128%);
  border:1px solid rgba(255,255,255,0.42);
  z-index:0;
}

.fa-service-tile{
  position:relative;
  z-index:1;
  margin:0;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,0.82);
  background:rgba(255,255,255,0.22);
  box-shadow:
    0 18px 34px rgba(15,46,37,0.10),
    inset 0 1px 0 rgba(255,255,255,0.85);
}

.fa-service-tile::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(8,20,16,0.10));
  pointer-events:none;
}

.fa-service-tile img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.02) contrast(1.02) brightness(0.96);
}

.fa-service-tile-primary{
  grid-column:1 / 2;
  grid-row:1 / 3;
}

.fa-service-tile-secondary{
  grid-column:2 / 3;
  grid-row:1 / 2;
}

.fa-service-tile-tertiary{
  grid-column:2 / 3;
  grid-row:2 / 3;
}

.fa-service-hero-mosaic-duo .fa-service-tile-primary{
  grid-column:1 / 2;
  grid-row:1 / 3;
}

.fa-service-hero-mosaic-duo .fa-service-tile-secondary{
  grid-column:2 / 3;
  grid-row:1 / 3;
}

body[data-page="bureaux"] .fa-service-tile-primary img{object-position:center 42%;}
body[data-page="bureaux"] .fa-service-tile-secondary img,
body[data-page="bureaux"] .fa-service-tile-tertiary img{object-position:center 54%;}
body[data-page="copropriete"] .fa-service-tile-primary img{object-position:center 58%;}
body[data-page="copropriete"] .fa-service-tile-secondary img{object-position:center 42%;}
body[data-page="copropriete"] .fa-service-tile-tertiary img{object-position:center 52%;}
body[data-page="particuliers"] .fa-service-tile-primary img{object-position:center 40%;}
body[data-page="particuliers"] .fa-service-tile-secondary img{object-position:center 30%;}

.fa-firstfold-module{
  padding-top:20px !important;
}


.fa-home{min-height:100vh;}

/* PREMIUM MODERN THEME (KEEP NAV GLASS) */
body:not([data-page="home"]) .fa-hero-inner,
body:not([data-page="home"]) .fa-pricing-card,
body:not([data-page="home"]) .fa-features-card,
body:not([data-page="home"]) .fa-sim-left,
body:not([data-page="home"]) .fa-sim-right,
body:not([data-page="home"]) .fa-story-card{
  background:#f8fcfa !important;
  border:1px solid #dbe8e2 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:
    0 14px 32px rgba(15,46,37,0.08),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

body:not([data-page="home"]) .fa-hero-inner{
  background:linear-gradient(180deg,#f9fcfb 0%,#f4faf7 100%) !important;
  border-color:#d4e3dc !important;
}

body:not([data-page="home"]) .fa-footer{
  background:#f5faf7 !important;
  border-top:1px solid #dce7e1 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.fa-home-video-hero{
  position:relative;
  min-height:100dvh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}

.fa-home-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.02) contrast(1.03) brightness(0.88);
}

.fa-home-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(58% 45% at 50% 88%, rgba(174,225,209,0.18), transparent 72%),
    linear-gradient(to top, rgba(11,22,19,0.42) 0%, rgba(11,22,19,0.18) 44%, rgba(11,22,19,0.08) 100%);
}

.fa-home-content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:820px;
  margin:0 auto;
  padding:0 24px 64px;
  text-align:center;
}

.fa-home-content h1{
  color:#ffffff;
  font-size:clamp(34px,5.1vw,66px);
  line-height:1.03;
  letter-spacing:-0.04em;
  text-shadow:0 10px 28px rgba(0,0,0,0.32);
}

.fa-home-actions{margin-top:28px;display:flex;justify-content:center;}

.fa-home-actions a{
  min-width:240px;
  border-radius:999px;
  padding:14px 24px;
  text-decoration:none;
  font-size:16px;
  font-weight:700;
  color:#143229;
  background:rgba(255,255,255,0.9);
  border:1px solid rgba(255,255,255,0.96);
  box-shadow:0 10px 22px rgba(0,0,0,0.12);
}

body[data-page="home"] .fa-footer{margin-top:0;}

@media (max-width:900px){
  .fa-section{padding:72px 16px;}
  .fa-section-focus{padding:84px 16px;}
  .fa-hero{padding:130px 16px 64px;}
  .fa-hero-inner{padding:26px 18px;border-radius:22px;}
  body[data-page="particuliers"] .fa-hero,
  body[data-page="copropriete"] .fa-hero,
  body[data-page="bureaux"] .fa-hero,
  body[data-page="chantier"] .fa-hero,
  body[data-page="sinistres"] .fa-hero{
    padding:108px 16px 24px;
  }
  body[data-page="particuliers"] .fa-hero-inner,
  body[data-page="copropriete"] .fa-hero-inner,
  body[data-page="bureaux"] .fa-hero-inner,
  body[data-page="chantier"] .fa-hero-inner,
  body[data-page="sinistres"] .fa-hero-inner{
    padding:18px 16px;
  }
  .fa-service-hero{
    padding:100px 16px 8px !important;
  }
  .fa-service-hero-shell,
  .fa-service-hero-shell-duo{
    grid-template-columns:1fr;
    gap:12px;
  }
  .fa-service-hero-copy{
    min-height:auto;
    padding:18px 16px !important;
    border-radius:20px !important;
  }
  .fa-service-hero-mosaic,
  .fa-service-hero-mosaic-duo{
    grid-template-columns:1.24fr .76fr;
    grid-template-rows:1fr 1fr;
    gap:10px;
    min-height:auto;
    transform:none;
    opacity:1;
  }
  .fa-service-hero-mosaic::before{
    inset:-5px;
    border-radius:24px;
    backdrop-filter:blur(8px) saturate(122%);
    -webkit-backdrop-filter:blur(8px) saturate(122%);
  }
  .fa-service-tile{
    border-radius:18px;
  }
  .fa-service-tile-primary{
    grid-column:1 / 2;
    grid-row:1 / 3;
  }
  .fa-service-tile-secondary{
    grid-column:2 / 3;
    grid-row:1 / 2;
  }
  .fa-service-tile-tertiary{
    display:none;
  }
  .fa-service-hero-mosaic-duo .fa-service-tile-secondary{
    grid-column:2 / 3;
    grid-row:1 / 2;
  }
  .fa-service-tile img{
    min-height:142px;
  }
  .fa-firstfold-module{
    padding-top:14px !important;
  }
  .fa-home-video{object-position:58% center;}
  .fa-home-content{padding:0 16px 34px;}
  .fa-home-content h1{font-size:clamp(30px,9vw,48px);}
  .fa-home-actions a{width:min(320px,100%);} 
}
