    :root {
      --bleu-nuit: #071f3a;
      --bleu-profond: #0b3652;
      --bleu-clair: #7cc7df;
      --sable: #eadcc6;
      --sable-clair: #f5eddc;
      --blanc: #ffffff;
      --texte: #0b1f3a;
      --trait: rgba(11, 31, 58, 0.25);
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: "Century Gothic", "Avenir Next", Avenir, sans-serif;
      color: var(--texte);
      background: var(--sable-clair);
    }

    .page {
  min-height: 100vh;
  overflow: hidden;
  background: url("../img/fond-inscription.webp") center/cover no-repeat;
  position: relative;
}



    .page::before {
		  content: "";
		  position: absolute;
		  inset: 0;
		  background: linear-gradient(to bottom, rgba(7,31,58,0.4), transparent 40%);
		  pointer-events: none;<br>
			border: 1px solid rgba(255,255,255,0.45);
      border-radius: 48% 52% 44% 56%;
		}

    .page::after {
      width: 520px;
      height: 360px;
      right: -210px;
      bottom: 80px;
      border-color: rgba(11,31,58,0.2);
    }

    .container {
      width: min(980px, calc(100% - 40px));
      margin: 0 auto;
      position: relative;
      z-index: 1;
      text-align: center;
      padding: 54px 0 46px;
    }

    .logo {
      color: var(--blanc);
      letter-spacing: 0.16em;
      text-transform: uppercase;
      font-size: 0.8rem;
      margin-bottom: 68px;
    }
	  .baseline{
	padding-top:15px;
	display:block;
	font-size: 1rem;
	  }
    .logo-mark {
      width: 52px;
      height: 52px;
      margin: 0 auto 12px;
      border: 2px solid rgba(255,255,255,0.85);
      border-radius: 50%;
      display: grid;
      place-items: center;
      font-size: 1.3rem;
      letter-spacing: 0;
    }

    .logo strong {
      display: block;
      font-size: clamp(1.35rem, 3vw, 2.1rem);
      font-weight: 400;
      letter-spacing: 0.06em;
      margin-top: 5px;
    }

    .kicker {
      color: rgba(255,255,255,0.88);
      letter-spacing: 0.42em;
      text-transform: uppercase;
      font-size: 1.5rem;
      margin-bottom: 26px;
    }

    .separator {
      width: 58px;
      height: 1px;
      background: rgba(255,255,255,0.6);
      margin: 0 auto 36px;
    }

    h1 {
      color: var(--bleu-clair);
      font-weight: 300;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      font-size: clamp(2.25rem, 7vw, 5rem);
      line-height: 1.08;
      margin: 0 0 30px;
    }
h2 {
      color: var(--blanc);
      font-weight: 300;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      font-size: clamp(1rem, 3vw, 3rem);
      line-height: 1.08;
      margin: 0 0 30px;
    }
    h2 span {
      display: block;
      color: var(--bleu-clair);
    }

    .intro {
      max-width: 650px;
      margin: 0 auto 76px;
      color: rgba(255,255,255,0.94);
      font-size: clamp(1rem, 2vw, 1.2rem);
      line-height: 1.75;
    }

    .card-zone {
      margin-top: 20px;
      color: var(--texte);
    }

    .section-title {
      text-transform: uppercase;
      letter-spacing: 0.34em;
      font-size: 1.2rem;
      margin: 0 0 18px;
      color: var(--bleu-clair);
    }
	.section-title.fonce{
		color:var(--bleu-nuit);

	}
	.section-line {
      width: 58px;
      height: 1px;
      background: var(--texte);
      opacity: 0.45;
      margin: 0 auto 26px;
    }

    .infos {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      margin: 0 auto 34px;
      max-width: 860px;
    }

    .info {
      padding: 0 22px;
      border-right: 1px solid var(--trait);
    }

    .info:last-child {
      border-right: 0;
    }

   .infos .icon {
	  width: 50px;
	  height: 50px;
	  border-radius: 50%;
	  background: rgba(255,255,255,0.65);
	  margin: 0 auto 14px;

	  display: flex;
	  align-items: center;
	  justify-content: center;

	  opacity: 0.9;
	}

	.infos .icon img {
	  width: 50px;
	  height: 50px;
	  display: block;
		
	}
    .info strong {
      display: block;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      font-size: 0.78rem;
      margin-bottom: 8px;

    }

    .info span {
	  font-size: 0.9rem;
	  opacity: 0.85;
	}

    .cta {
      display: inline-flex;
      align-items: center;
      gap: 18px;
      margin: 10px auto 16px;
      padding: 18px 42px;
      border: none;
      border-radius: 9px;
      background: var(--bleu-nuit);
      color: var(--blanc);
      text-transform: uppercase;
      letter-spacing: 0.22em;
      font-weight: 700;
      cursor: pointer;
      box-shadow: 0 14px 30px rgba(7,31,58,0.22);
		text-decoration:none;
		transition:500ms ease;
    }
	  .cta:hover{
	background-color:var(--sable-clair);
		color: var(--bleu-nuit);  
	  }
    .deadline {
      color: var(--bleu-nuit);  
      font-size: 0.95rem;
      margin: 0 0 42px;
    }
	.deadline .bold{
		;font-weight:bold;
    }
    form {
      max-width: 760px;
      margin: 0 auto;
      text-align: left;
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }

    label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.field-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
textarea::placeholder {
  color: var(--texte);
  opacity: 0.9;
  letter-spacing: 0.1em;
	color:rgba(0, 0, 0, 0.52);
}

    input,
    select,
    textarea {
      width: 100%;
      border: 1px solid rgba(11,31,58,0.35);
      border-radius: 7px;
      padding: 15px 16px;
      background: rgba(255,255,255,0.52);
      font: inherit;
      color: var(--texte);
      outline: none;
    }

    textarea {
      min-height: 116px;
      resize: vertical;
    }

    .full {
      grid-column: 1 / -1;
    }

    .visit-box {
  grid-column: 1 / -1;
  margin: 20px 0 10px;
  padding: 0 30px;
  border: none;
  background: none;
}

.check-row {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  display: flex;
}

.check-row input {
  width: auto;
  margin-top: 3px;
  accent-color: var(--bleu-nuit);
}

.hint {
  margin: 8px 0 0 30px;
  font-size: 0.86rem;
  color: rgba(11,31,58,0.72);
}

.submit-wrap {
  text-align: center;
  margin-top: 24px;
}

.submit {
  padding: 15px 40px;
  border: 1px solid var(--bleu-nuit);
  border-radius: 8px;
background: var(--bleu-nuit);
  /*background: rgba(255,255,255,0.3);*/
  /*color: var(--bleu-nuit);*/
	color: var(--blanc);
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-weight: 700;
  cursor: pointer;
}

.rgpd {
  max-width: 820px;
  margin: 22px auto 0;
  font-size: 0.76rem;
  color: rgba(11,31,58,0.72);
  text-align: center;
}

.experiences {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  max-width: 700px;
  margin: 0 auto 60px;
  text-align: center;
}

.exp {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.experiences .exp img {
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  display: block;
}

.experiences .exp {
  padding: 10px 0;
}
.exp span {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.75rem;
}

.complet{
    max-width:700px;
    margin:80px auto;
    padding:50px 40px;
    text-align:center;
    background:rgba(255,255,255,0.75);
    border-radius:24px;
    backdrop-filter:blur(10px);
    color:var(--bleu-nuit);
}

.complet h2{
    font-size:2rem;
    font-weight:300;
    letter-spacing:0.08em;
    margin-bottom:20px;
}
.complet h2 strong{
    font-weight:bold;
	padding:15px 0;
	display:block;
	font-size:3rem;
}
.complet p{
    opacity:0.75;
    line-height:1.8;
}