/* ============================= */
/* STATUTORY - GRHTLD */
/* Section WordPress : .builder.statutory */
/* Background géré en PHP avec data-color="#1F3565" */
/* ============================= */

:root {
  --bg: #F4F1EA;
  --bg-2: #ECE8DD;
  --surface: #FFFFFF;
  --ink: #14110D;
  --ink-2: #3B362D;
  --ink-3: #71695C;
  --line: #DDD6C6;

  --navy: #1F3565;
  --navy-dk: #152545;
  --gold: #D9A536;

  --serif: "Source Serif 4", "Times New Roman", serif;
  --sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;

  --radius-l: 4px;
  --ease: cubic-bezier(.22, .8, .28, 1);
}

/* ============================= */
/* SECTION */
/* ============================= */

.builder.statutory {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  color: var(--surface);
  background: #1F3565 !important;
}

.builder.statutory::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 360px;
    height: 360px;
    background: repeating-linear-gradient(135deg, transparent 0 18px, rgba(217,165,54,.10) 18px 22px);
    pointer-events: none;
}

.builder.statutory .wrap {
  position: relative;
  z-index: 1;

  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

/* ============================= */
/* LABEL */
/* ============================= */

.builder.statutory .label {
    color: var(--gold);
    display: inline-block;
    margin-bottom: 32px;
    font-size: 12px;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}

/* ============================= */
/* QUOTE */
/* ============================= */
.builder.statutory blockquote::before {
    content: "«";
    position: absolute;
    left: 0px;
    top: -16px;
    font-size: 88px;
    color: var(--gold);
    font-family: var(--serif);
    line-height: 1;
}
.builder.statutory blockquote {
    border-left: 0px solid transparent !important;
    max-width: 920px;
    position: relative;
    
}

.builder.statutory blockquote p {
    margin: 0;
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(28px, 3.4vw, 48px);
    line-height: 1.2;
    letter-spacing: -.015em;
    color: var(--bg);
    max-width: 920px;
    position: relative;
    padding-left: 60px;
}

.builder.statutory blockquote em,
.builder.statutory blockquote i {
  font-style: italic;
  font-weight: 300;
  color: var(--gold);
}


/* ============================= */
/* SOURCE */
/* ============================= */

.builder.statutory .source {
    margin-top: 36px;
    font-family: var(--sans);
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--gold-soft);
    font-weight: 600;
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media (max-width: 1100px) {
  .builder.statutory {
    padding: 96px 0;
  }

  .builder.statutory blockquote {
    max-width: 920px;
  }
}

@media (max-width: 760px) {
  .builder.statutory {
    padding: 76px 0;
  }

  .builder.statutory .wrap {
    padding: 0 20px;
  }

  .builder.statutory::before {
    width: 160px;
    height: 160px;
  }

  .builder.statutory .label {
    margin-bottom: 22px;
  }

  .builder.statutory blockquote {
    font-size: clamp(30px, 9.5vw, 48px);
    line-height: 1.12;
  }

  .builder.statutory .source {
    margin-top: 28px;
  }
}

@media (max-width: 420px) {
  .builder.statutory .wrap {
    padding: 0 16px;
  }
}

@media (max-width: 760px) {
  .builder.statutory {
    min-height: auto !important;
    padding: 86px 0 !important;
  }

  .builder.statutory .statutory__inner,
  .builder.statutory .statutory__content {
    min-height: auto !important;
  }

  .builder.statutory .statutory__quote,
  .builder.statutory .statutory__title,
  .builder.statutory blockquote {
    max-width: 100% !important;

    font-size: clamp(38px, 10.5vw, 58px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
  }

  .builder.statutory .statutory__text,
  .builder.statutory .statutory__intro,
  .builder.statutory p {
    max-width: 100% !important;

    font-size: 17px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 430px) {
  .builder.statutory .statutory__quote,
  .builder.statutory .statutory__title,
  .builder.statutory blockquote {
    font-size: clamp(34px, 9.5vw, 48px) !important;
    line-height: 1.08 !important;
  }
}