:root{
  --fp-bg:#11151d;
  --fp-card:#121821;
  --fp-line:rgba(255,255,255,.08);
  --fp-line-2:rgba(255,255,255,.14);
  --fp-text:#f5f7fb;
  --fp-text-soft:rgba(245,247,251,.78);
  --fp-muted:rgba(245,247,251,.62);
  --fp-accent:#d0b072;
  --fp-accent-2:#efd19a;
  --fp-shadow:0 18px 50px rgba(0,0,0,.22);
}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:radial-gradient(circle at top, rgba(208,176,114,.10), transparent 30%), linear-gradient(180deg, #10141b 0%, #131922 100%);
  color:var(--fp-text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
.fp-top{
  position:sticky;
  top:0;
  z-index:80;
  backdrop-filter:blur(12px);
  background:rgba(10,14,20,.68);
  border-bottom:1px solid var(--fp-line);
}
.fp-navbox,.fp-wrap{
  width:min(1180px, calc(100% - 28px));
  margin:0 auto;
}
.fp-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:84px;
}
.fp-brand img{height:58px;width:auto;object-fit:contain}
.fp-menublock{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex:1;
  flex-wrap:wrap;
}
.fp-menublock a{color:var(--fp-text-soft);font-weight:500}
.fp-menublock a:hover,
.fp-menublock a.is-active{color:#fff}
.fp-cta-right{display:flex;align-items:center;gap:12px}
.fp-burger{
  display:none;
  appearance:none;
  border:1px solid var(--fp-line-2);
  background:transparent;
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  font:inherit;
  cursor:pointer;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(239,209,154,.34);
  background:linear-gradient(180deg, var(--fp-accent-2), var(--fp-accent));
  color:#12151c;
  font-weight:700;
  box-shadow:0 10px 24px rgba(208,176,114,.18);
  transition:transform .16s ease, box-shadow .16s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-ghost{
  background:transparent;
  color:var(--fp-text);
  border:1px solid var(--fp-line-2);
  box-shadow:none;
}
.btn-header{min-height:44px}
.fp-businesspage{padding:30px 0 58px}
.fp-hero{
  position:relative;
  overflow:hidden;
  min-height:clamp(360px, 50vw, 620px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:32px;
  background:linear-gradient(135deg, rgba(8,11,16,.76), rgba(8,11,16,.34)), var(--hero-bg) center center / cover no-repeat;
  box-shadow:var(--fp-shadow);
  display:flex;
  align-items:flex-end;
  margin-bottom:22px;
}
.fp-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.48) 100%);
}
.fp-hero-inner{
  position:relative;
  z-index:2;
  padding:42px;
  max-width:820px;
}
.fp-kicker{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(239,209,154,.24);
  background:rgba(208,176,114,.10);
  color:var(--fp-accent-2);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:16px;
}
h1{
  margin:0 0 14px;
  font-size:clamp(36px, 5vw, 62px);
  line-height:1.02;
  color:#fff;
  letter-spacing:-.03em;
}
h2{
  margin:0 0 12px;
  font-size:clamp(24px, 2.7vw, 36px);
  line-height:1.12;
  color:#fff;
  letter-spacing:-.02em;
}
h3{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.2;
  color:#fff;
}
.sub{
  margin:0;
  max-width:760px;
  font-size:clamp(17px, 2.1vw, 22px);
  line-height:1.55;
  color:rgba(255,255,255,.86);
}
.fp-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.card{
  margin:0 0 18px;
  padding:30px;
  border:1px solid var(--fp-line);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  box-shadow:var(--fp-shadow);
}
.card p{
  margin:0 0 12px;
  max-width:78ch;
  color:var(--fp-text-soft);
}
.card p:last-child{margin-bottom:0}
.fp-grid-2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}
.fp-grid-2 > div{
  border:1px solid rgba(255,255,255,.07);
  border-radius:22px;
  padding:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
}
.fp-form-shell{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);
  gap:18px;
}
.fp-form-panel{
  border:1px solid rgba(255,255,255,.07);
  border-radius:22px;
  padding:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
}
.fp-form{display:grid;gap:16px}
.fp-form-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.fp-form label{
  display:block;
  margin:0 0 8px;
  color:#fff;
  font-weight:600;
}
.fp-form input,
.fp-form textarea,
.fp-form select{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:#0f141c;
  color:#fff;
  padding:14px 15px;
  font:inherit;
  outline:none;
}
.fp-form textarea{min-height:180px;resize:vertical}
.fp-form input:focus,
.fp-form textarea:focus,
.fp-form select:focus{
  border-color:rgba(239,209,154,.42);
  box-shadow:0 0 0 3px rgba(208,176,114,.10);
}
.fp-list{margin:0;padding-left:18px}
.fp-list li{color:var(--fp-text-soft)}
.fp-list li + li{margin-top:8px}
.fp-hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.fp-footer{
  margin-top:28px;
  padding:24px 0 44px;
  border-top:1px solid var(--fp-line);
  background:rgba(10,14,20,.62);
}
.fp-footgrid{
  display:grid;
  grid-template-columns:1.3fr 1fr auto;
  gap:24px;
  align-items:center;
}
.fp-footbrand{font-weight:700;color:#fff;margin-bottom:8px}
.fp-footline a,
.fp-footlinks a{color:var(--fp-text-soft)}
.fp-footlinks{
  display:flex;
  flex-wrap:wrap;
  gap:14px 18px;
}
.fp-social{
  display:flex;
  align-items:center;
  gap:10px;
}
.fp-ico{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(239,209,154,.24);
  background:rgba(255,255,255,.03);
  color:var(--fp-accent-2);
}
.fp-ico svg{
  width:20px;
  height:20px;
  fill:currentColor;
}
@media (max-width:1080px){
  .fp-footgrid{grid-template-columns:1fr;align-items:flex-start}
}
@media (max-width:860px){
  .fp-nav{
    min-height:auto;
    padding:14px 0;
    display:grid;
    grid-template-columns:auto auto 1fr;
    align-items:center;
  }
  .fp-burger{display:inline-flex;justify-self:start}
  .fp-menublock{
    display:none;
    grid-column:1 / -1;
    padding:14px 0 4px;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .fp-menublock.is-open{display:flex}
  .fp-cta-right{justify-self:end}
  .fp-form-shell{grid-template-columns:1fr}
}
@media (max-width:720px){
  .fp-wrap{width:min(1180px, calc(100% - 20px))}
  .fp-hero{min-height:420px;border-radius:24px}
  .fp-hero-inner{padding:28px 20px}
  .card{padding:22px;border-radius:24px}
  .fp-grid-2,
  .fp-form-row{grid-template-columns:1fr}
  h1{font-size:38px}
  .sub{font-size:18px}
}

/* ===== FOURMILIERE-PROD HERO PER PAGE REFINEMENT ===== */
.fp-hero{
  position:relative;
  overflow:hidden;
  min-height:clamp(300px, 38vw, 500px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:
    linear-gradient(135deg, rgba(8,11,16,.58), rgba(8,11,16,.22)),
    var(--hero-bg) center center / cover no-repeat;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  display:flex;
  align-items:flex-end;
  margin-bottom:24px;
}

.fp-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.38) 100%);
}

.fp-hero-inner{
  position:relative;
  z-index:2;
  padding:34px;
  max-width:760px;
}

.fp-kicker{
  margin-bottom:14px;
}

.fp-hero h1{
  margin:0 0 12px;
  font-size:clamp(32px, 4.4vw, 54px);
  line-height:1.04;
  letter-spacing:-.03em;
}

.fp-hero .sub{
  max-width:700px;
  font-size:clamp(16px, 1.7vw, 20px);
  line-height:1.5;
  color:rgba(255,255,255,.84);
}

.fp-hero-actions{
  margin-top:20px;
  gap:10px;
}

.card{
  padding:28px;
}

.card p{
  max-width:74ch;
}

@media (max-width: 720px){
  .fp-hero{
    min-height:320px;
    border-radius:22px;
  }

  .fp-hero-inner{
    padding:22px 18px;
  }

  .fp-hero h1{
    font-size:36px;
  }

  .fp-hero .sub{
    font-size:17px;
  }
}
/* ===== END FOURMILIERE-PROD HERO PER PAGE REFINEMENT ===== */

/* ===== FOURMILIERE-PROD FINAL VISUAL TUNING ===== */
.fp-hero{
  min-height:clamp(280px, 34vw, 460px) !important;
  border-radius:24px !important;
  box-shadow:0 14px 32px rgba(0,0,0,.16) !important;
  margin-bottom:20px !important;
  background:
    linear-gradient(135deg, rgba(8,11,16,.50), rgba(8,11,16,.16)),
    var(--hero-bg) center center / cover no-repeat !important;
}

.fp-hero-overlay{
  background:linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.28) 100%) !important;
}

.fp-hero-inner{
  padding:28px !important;
  max-width:700px !important;
}

.fp-hero h1{
  font-size:clamp(30px, 4vw, 48px) !important;
  margin:0 0 10px !important;
}

.fp-hero .sub{
  font-size:clamp(15px, 1.5vw, 18px) !important;
  line-height:1.45 !important;
  max-width:640px !important;
}

.fp-hero-actions{
  margin-top:16px !important;
  gap:10px !important;
}

.card{
  padding:24px !important;
  border-radius:24px !important;
  margin:0 0 16px !important;
}

.card p{
  max-width:72ch !important;
}

.fp-grid-2{
  gap:14px !important;
}

.fp-grid-2 > div{
  padding:18px !important;
  border-radius:18px !important;
}

.fp-footgrid{
  grid-template-columns:1.2fr 1fr auto !important;
}

.fp-social{
  justify-content:flex-end;
}

@media (max-width: 860px){
  .fp-hero{
    min-height:300px !important;
  }

  .fp-hero-inner{
    padding:22px 18px !important;
  }
}

@media (max-width: 720px){
  .fp-hero{
    min-height:300px !important;
    border-radius:20px !important;
  }

  .fp-hero h1{
    font-size:34px !important;
  }

  .fp-hero .sub{
    font-size:16px !important;
  }

  .card{
    padding:20px !important;
    border-radius:20px !important;
  }

  .fp-social{
    justify-content:flex-start;
  }
}
/* ===== END FOURMILIERE-PROD FINAL VISUAL TUNING ===== */

/* ===== FOURMILIERE-PROD FINAL DENSITY CONTROL ===== */
.fp-hero{
  min-height:clamp(260px, 32vw, 420px) !important;
  border-radius:22px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.14) !important;
  margin-bottom:18px !important;
}

.fp-hero-inner{
  padding:24px !important;
  max-width:640px !important;
}

.fp-hero h1{
  font-size:clamp(28px, 3.8vw, 44px) !important;
  margin:0 0 8px !important;
}

.fp-hero .sub{
  font-size:clamp(15px, 1.4vw, 17px) !important;
  line-height:1.42 !important;
  max-width:600px !important;
}

.fp-hero-actions{
  margin-top:14px !important;
}

.card{
  padding:22px !important;
  margin:0 0 14px !important;
  border-radius:22px !important;
}

.fp-grid-2{
  gap:12px !important;
}

.fp-grid-2 > div{
  padding:16px !important;
  border-radius:16px !important;
}

.card p{
  max-width:68ch !important;
}

@media (max-width: 720px){
  .fp-hero{
    min-height:280px !important;
  }

  .fp-hero-inner{
    padding:20px 16px !important;
  }

  .fp-hero h1{
    font-size:32px !important;
  }

  .fp-hero .sub{
    font-size:16px !important;
  }

  .card{
    padding:18px !important;
    border-radius:18px !important;
  }
}
/* ===== END FOURMILIERE-PROD FINAL DENSITY CONTROL ===== */

/* ===== FOURMILIERE-PROD UNIQUE HERO BALANCE ===== */
.fp-hero{
  position:relative;
  overflow:hidden;
  min-height:clamp(280px, 34vw, 460px) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:24px !important;
  background:
    linear-gradient(135deg, rgba(8,11,16,.46), rgba(8,11,16,.14)),
    var(--hero-bg) center center / cover no-repeat !important;
  box-shadow:0 14px 32px rgba(0,0,0,.16) !important;
  display:flex;
  align-items:flex-end;
  margin-bottom:20px !important;
}

.fp-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.26) 100%) !important;
}

.fp-hero-inner{
  position:relative;
  z-index:2;
  padding:28px !important;
  max-width:700px !important;
}

.fp-kicker{
  margin-bottom:14px !important;
}

.fp-hero h1{
  margin:0 0 10px !important;
  font-size:clamp(30px, 4vw, 48px) !important;
  line-height:1.04 !important;
  letter-spacing:-.03em !important;
}

.fp-hero .sub{
  max-width:640px !important;
  font-size:clamp(15px, 1.5vw, 18px) !important;
  line-height:1.45 !important;
  color:rgba(255,255,255,.84) !important;
}

.fp-hero-actions{
  margin-top:16px !important;
  gap:10px !important;
}

@media (max-width: 720px){
  .fp-hero{
    min-height:300px !important;
    border-radius:20px !important;
  }

  .fp-hero-inner{
    padding:22px 18px !important;
  }

  .fp-hero h1{
    font-size:34px !important;
  }

  .fp-hero .sub{
    font-size:16px !important;
  }
}
/* ===== END FOURMILIERE-PROD UNIQUE HERO BALANCE ===== */

/* ===== FOURMILIERE-PROD CONTACT ADDRESS MAP ===== */
.fp-contact-location-grid{
  display:grid;
  grid-template-columns:minmax(320px, .9fr) minmax(0, 1.4fr);
  gap:16px;
}

.fp-contact-location-card,
.fp-contact-map-card{
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
}

.fp-contact-location-card p,
.fp-contact-map-card p{
  margin:0 0 10px;
}

.fp-map-wrap{
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:#0f141c;
}

.fp-map-wrap iframe{
  display:block;
  width:100%;
  height:360px;
  border:0;
}

@media (max-width: 860px){
  .fp-contact-location-grid{
    grid-template-columns:1fr;
  }

  .fp-map-wrap iframe{
    height:300px;
  }
}
/* ===== END FOURMILIERE-PROD CONTACT ADDRESS MAP ===== */

/* ===== FOURMILIERE-PROD SECURITY + CONTACT FALLBACK ===== */
.fp-map-fallback{
  margin-top:12px;
  font-size:14px;
  color:rgba(245,247,251,.74);
}

.fp-map-fallback a{
  color:#efd19a;
}

.fp-map-wrap{
  min-height:360px;
}

.fp-map-wrap iframe{
  background:#0f141c;
}
/* ===== END FOURMILIERE-PROD SECURITY + CONTACT FALLBACK ===== */

/* ===== FOURMILIERE-PROD CONTACT HERO MASTER ===== */
body.fp-contact-page .fp-hero{
  position:relative;
  overflow:hidden;
  min-height:clamp(380px, 46vw, 640px) !important;
  background-position:center 34% !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  border-radius:24px !important;
}

body.fp-contact-page .fp-hero-overlay{
  background:
    linear-gradient(90deg, rgba(8,11,16,.34) 0%, rgba(8,11,16,.18) 36%, rgba(8,11,16,.10) 60%, rgba(8,11,16,.20) 100%),
    linear-gradient(180deg, rgba(0,0,0,.03) 0%, rgba(0,0,0,.18) 100%) !important;
}

body.fp-contact-page .fp-contact-hero-inner{
  max-width:560px !important;
  padding:34px 30px 32px !important;
  margin-left:0 !important;
}

body.fp-contact-page .fp-hero h1{
  font-size:clamp(30px, 4vw, 46px) !important;
  margin:0 0 10px !important;
}

body.fp-contact-page .fp-hero .sub{
  max-width:52ch !important;
  font-size:clamp(15px, 1.45vw, 18px) !important;
  line-height:1.48 !important;
  color:rgba(255,255,255,.88) !important;
}

body.fp-contact-page .fp-hero-actions{
  margin-top:16px !important;
}

body.fp-contact-page .fp-hero-actions .btn{
  min-height:44px !important;
}

@media (max-width: 980px){
  body.fp-contact-page .fp-hero{
    min-height:440px !important;
    background-position:center 27% !important;
  }

  body.fp-contact-page .fp-contact-hero-inner{
    max-width:520px !important;
    padding:26px 22px 24px !important;
  }
}

@media (max-width: 720px){
  body.fp-contact-page .fp-hero{
    min-height:520px !important;
    background-position:center 20% !important;
    border-radius:20px !important;
  }

  body.fp-contact-page .fp-hero-overlay{
    background:
      linear-gradient(180deg, rgba(8,11,16,.14) 0%, rgba(8,11,16,.18) 42%, rgba(8,11,16,.38) 100%) !important;
  }

  body.fp-contact-page .fp-contact-hero-inner{
    max-width:none !important;
    padding:20px 16px 20px !important;
  }

  body.fp-contact-page .fp-hero h1{
    font-size:32px !important;
  }

  body.fp-contact-page .fp-hero .sub{
    font-size:16px !important;
    max-width:100% !important;
  }
}

@media (max-width: 430px){
  body.fp-contact-page .fp-hero{
    min-height:560px !important;
    background-position:center 16% !important;
  }
}
/* ===== END FOURMILIERE-PROD CONTACT HERO MASTER ===== */
