:root {
      --deep: #086582;
      --signature: #68A8B0;
      --soft-blue: #8FAFB1;
      --expressive: #848484;
      --ink: #333333;
      --mist: #EEEEEE;
      --sand: #F5F2EB;
      --white: #FFFFFF;
      --max: 1240px;
    }

    * { box-sizing: border-box; }

    html { scroll-behavior: smooth; }

    body {
      margin: 0;
      background: var(--white);
      color: var(--ink);
      font-family: "Montserrat", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.72;
      text-rendering: optimizeLegibility;
    }

    img { display: block; width: 100%; }
    a { color: inherit; }

    .skip-link {
      position: fixed;
      left: 1rem;
      top: -5rem;
      z-index: 100;
      padding: .7rem 1rem;
      background: var(--deep);
      color: var(--white);
      text-decoration: none;
    }

    .skip-link:focus { top: 1rem; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 40;
      background: rgba(255,255,255,.96);
      border-bottom: 1px solid rgba(104,168,176,.32);
      backdrop-filter: blur(12px);
    }

    .header-inner {
      width: min(var(--max), calc(100% - 3rem));
      min-height: 94px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(240px, 430px) 1fr;
      align-items: center;
      gap: 2rem;
    }

    .brand { display: block; }
    .brand img { max-width: 410px; }

    .nav-toggle {
      display: none;
      justify-self: end;
      border: 1px solid var(--signature);
      background: var(--white);
      color: var(--deep);
      padding: .7rem .85rem;
      font: inherit;
      cursor: pointer;
    }

    .main-nav {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: clamp(1rem, 2vw, 2rem);
    }

    .main-nav a {
      text-decoration: none;
      color: var(--ink);
      font-size: .78rem;
      font-weight: 500;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .main-nav a:hover,
    .main-nav a:focus-visible { color: var(--deep); }

    .main-nav .private-link {
      padding: .65rem 1rem;
      border: 1px solid var(--signature);
      color: var(--deep);
    }

    main { overflow: hidden; }

    .section {
      width: min(var(--max), calc(100% - 3rem));
      margin: 0 auto;
      padding: clamp(5rem, 9vw, 9rem) 0;
    }

    .eyebrow {
      margin: 0 0 1rem;
      color: var(--soft-blue);
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    h1, h2, h3 {
      margin: 0;
      font-weight: 400;
    }

    h1, h2 {
      font-family: "Pompiere", "Arial Narrow", sans-serif;
      color: var(--deep);
      line-height: 1.08;
    }

    h1 { font-size: clamp(3.2rem, 6.6vw, 7rem); }
    h2 { font-size: clamp(2.65rem, 4.9vw, 5rem); }
    h3 { font-size: 1.2rem; color: var(--deep); }

    .lead {
      max-width: 760px;
      margin: 1.5rem 0 0;
      font-size: clamp(1.05rem, 1.4vw, 1.24rem);
      line-height: 1.75;
    }

    .intro {
      min-height: calc(100vh - 94px);
      display: grid;
      grid-template-columns: minmax(0, 1.04fr) minmax(350px, .96fr);
      align-items: stretch;
    }

    .intro-copy {
      padding: clamp(4.5rem, 8vw, 8rem) clamp(2rem, 6vw, 7rem);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .intro-copy h1 span {
      display: block;
      color: var(--expressive);
    }

    .intro-copy .lead { max-width: 660px; }

    .intro-image {
      position: relative;
      min-height: 650px;
      background: var(--mist);
    }

    .intro-image img {
      height: 100%;
      object-fit: cover;
      object-position: 52% center;
    }

    .intro-index {
      position: absolute;
      left: -1px;
      bottom: 0;
      padding: 1rem 2rem;
      background: var(--white);
      color: var(--deep);
      font-size: .74rem;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .definition {
      background: var(--mist);
    }

    .definition .section {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: clamp(3rem, 8vw, 9rem);
      align-items: start;
    }

    .definition h2 { max-width: 500px; }

    .definition-copy {
      padding-top: .6rem;
      font-size: 1.08rem;
    }

    .definition-copy p:first-child { margin-top: 0; }

    .principles {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      margin-top: 3rem;
      border-top: 1px solid var(--signature);
    }

    .principle {
      padding: 1.3rem 1.25rem 0 0;
      border-right: 1px solid rgba(104,168,176,.35);
      color: var(--deep);
      font-size: .85rem;
      font-weight: 500;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .principle:last-child { border-right: 0; padding-left: 1.25rem; }
    .principle + .principle { padding-left: 1.25rem; }

    .journeys-heading {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: end;
      gap: 3rem;
      margin-bottom: 4rem;
    }

    .journeys-heading p { margin: 0; max-width: 530px; justify-self: end; }

    .journey-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid var(--signature);
      border-bottom: 1px solid var(--signature);
    }

    .journey {
      display: grid;
      grid-template-rows: auto 380px 1fr;
      padding: 2rem;
      border-right: 1px solid var(--signature);
    }

    .journey:first-child { padding-left: 0; }
    .journey:last-child { border-right: 0; padding-right: 0; }

    .journey-number {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 1.2rem;
      color: var(--soft-blue);
      font-size: .75rem;
      letter-spacing: .14em;
    }

    .status {
      padding: .25rem .55rem;
      border: 1px solid var(--soft-blue);
      color: var(--deep);
      font-size: .68rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .status.available {
      background: var(--signature);
      border-color: var(--signature);
      color: var(--white);
    }

    .journey-image { overflow: hidden; background: var(--mist); }

    .journey-image img {
      height: 100%;
      object-fit: cover;
      transition: transform .7s ease;
    }

    .journey:nth-child(1) .journey-image img { object-position: 57% center; }
    .journey:nth-child(2) .journey-image img { object-position: center 38%; }
    .journey:nth-child(3) .journey-image img { object-position: 69% center; }
    .journey:hover .journey-image img { transform: scale(1.025); }

    .journey-body { padding-top: 1.75rem; }

    .journey-label {
      margin: 0 0 .55rem;
      color: var(--soft-blue);
      font-size: .74rem;
      font-weight: 600;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .journey h3 {
      min-height: 4.2rem;
      font-family: "Pompiere", "Arial Narrow", sans-serif;
      font-size: clamp(1.75rem, 2.2vw, 2.45rem);
      line-height: 1.15;
    }

    .journey p { margin: 1rem 0 0; font-size: .94rem; }

    .journey-quote {
      padding-top: 1rem;
      border-top: 1px solid rgba(104,168,176,.48);
      color: var(--deep);
      font-family: "Pompiere", "Arial Narrow", sans-serif;
      font-size: 1.35rem !important;
      line-height: 1.35;
    }

    .text-link {
      display: inline-block;
      margin-top: 1.3rem;
      padding-bottom: .2rem;
      border-bottom: 1px solid var(--signature);
      color: var(--deep);
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .09em;
      text-decoration: none;
      text-transform: uppercase;
    }

    .founding-program {
      background: var(--sand);
    }

    .program-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
      align-items: center;
      gap: clamp(2.5rem, 5vw, 5.5rem);
    }

    .program-mark {
      padding: 0;
      background: var(--white);
      border-top: 4px solid var(--signature);
      overflow: hidden;
    }

    .program-mark img {
      display: block;
      width: 100%;
      aspect-ratio: 7 / 5;
      object-fit: cover;
      object-position: center top;
    }

    .original-note {
      margin: 0 0 1.3rem;
      color: var(--deep);
      font-size: .8rem;
      font-weight: 600;
      letter-spacing: .15em;
      text-transform: uppercase;
    }

    .program-copy p { max-width: 650px; }

    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      margin-top: 1.5rem;
      padding: .8rem 1.35rem;
      border: 1px solid var(--signature);
      background: var(--signature);
      color: var(--white);
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .09em;
      text-decoration: none;
      text-transform: uppercase;
    }

    .button:hover,
    .button:focus-visible { background: var(--deep); border-color: var(--deep); }

    .experts-head {
      display: grid;
      grid-template-columns: .95fr 1.05fr;
      gap: 4rem;
      align-items: end;
      margin-bottom: 3.5rem;
    }

    .experts-head p { margin: 0; max-width: 600px; }

    .expert-list {
      border-top: 1px solid var(--signature);
    }

    .expert-row {
      min-height: 102px;
      display: grid;
      grid-template-columns: 90px 1fr auto;
      align-items: center;
      gap: 2rem;
      border-bottom: 1px solid rgba(104,168,176,.55);
    }

    .expert-row span:first-child {
      color: var(--soft-blue);
      font-size: .8rem;
      letter-spacing: .12em;
    }

    .expert-row h3 {
      font-family: "Pompiere", "Arial Narrow", sans-serif;
      font-size: clamp(1.65rem, 2.4vw, 2.4rem);
    }

    .expert-row .status { justify-self: end; }

    .founder {
      background: var(--deep);
      color: var(--white);
    }

    .founder .section {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: clamp(3rem, 8vw, 9rem);
      align-items: start;
    }

    .founder h2,
    .founder .eyebrow { color: var(--white); }

    .founder-portrait {
      width: min(100%, 390px);
      margin: 2.25rem 0 0;
      border-top: 3px solid var(--signature);
      background: var(--white);
      overflow: hidden;
    }

    .founder-portrait img {
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: center 28%;
      filter: none;
    }

    .founder-copy {
      padding-left: clamp(0rem, 4vw, 4rem);
      border-left: 1px solid rgba(255,255,255,.5);
      font-size: 1.08rem;
    }

    .founder-copy p:first-child { margin-top: 0; }

    .credentials {
      display: flex;
      flex-wrap: wrap;
      gap: .6rem 1.4rem;
      margin-top: 2rem;
      padding-top: 1.5rem;
      border-top: 1px solid rgba(255,255,255,.3);
      font-size: .75rem;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    footer {
      padding: 2.5rem 0;
      background: var(--white);
      color: var(--expressive);
    }

    .footer-inner {
      width: min(var(--max), calc(100% - 3rem));
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 2rem;
      font-size: .78rem;
    }

    .footer-inner a { color: var(--deep); text-decoration: none; }

    :focus-visible {
      outline: 3px solid rgba(104,168,176,.7);
      outline-offset: 4px;
    }

    @media (max-width: 1020px) {
      .header-inner { grid-template-columns: minmax(220px, 360px) auto; }
      .nav-toggle { display: block; }
      .main-nav {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: 94px;
        padding: 1.5rem;
        background: var(--white);
        border-bottom: 1px solid var(--signature);
        flex-direction: column;
        align-items: flex-start;
      }
      .main-nav.open { display: flex; }
      .intro { grid-template-columns: 1fr; }
      .intro-copy { min-height: 620px; }
      .intro-image { min-height: 620px; }
      .definition .section,
      .program-grid,
      .founder .section { grid-template-columns: 1fr; }
      .principles { grid-template-columns: repeat(2, 1fr); }
      .principle { padding-bottom: 1rem; }
      .journey-grid { grid-template-columns: 1fr; border-bottom: 0; }
      .journey,
      .journey:first-child,
      .journey:last-child {
        grid-template-columns: 120px minmax(240px, .82fr) 1fr;
        grid-template-rows: auto;
        gap: 1.5rem;
        padding: 2rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--signature);
      }
      .journey-number { display: block; }
      .journey-number .status { display: block; width: fit-content; margin-top: .75rem; }
      .journey-image { height: 300px; }
      .journey-body { padding-top: 0; }
      .journey h3 { min-height: 0; }
    }

    @media (max-width: 720px) {
      .header-inner,
      .section,
      .footer-inner { width: min(100% - 2rem, var(--max)); }
      .header-inner { min-height: 78px; grid-template-columns: 1fr auto; gap: 1rem; }
      .brand img { max-width: 270px; }
      .main-nav { top: 78px; }
      .intro-copy { min-height: auto; padding: 4.6rem 1.2rem 4rem; }
      .intro-image { min-height: 480px; }
      .intro-index { padding: .8rem 1rem; }
      .definition .section { gap: 2.2rem; }
      .principles { grid-template-columns: 1fr; }
      .principle,
      .principle + .principle,
      .principle:last-child { padding: 1rem 0; border-right: 0; border-bottom: 1px solid rgba(104,168,176,.35); }
      .journeys-heading,
      .experts-head { grid-template-columns: 1fr; gap: 1.5rem; }
      .journeys-heading p { justify-self: start; }
      .journey,
      .journey:first-child,
      .journey:last-child { display: block; }
      .journey-number { display: flex; }
      .journey-number .status { margin-top: 0; }
      .journey-image { height: 390px; }
      .journey-body { padding-top: 1.5rem; }
      .program-mark { padding: 0; }
      .expert-row { grid-template-columns: 46px 1fr; gap: 1rem; padding: 1.25rem 0; }
      .expert-row .status { grid-column: 2; justify-self: start; }
      .founder-copy { padding-left: 0; padding-top: 2rem; border-left: 0; border-top: 1px solid rgba(255,255,255,.5); }
      .footer-inner { flex-direction: column; align-items: flex-start; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .journey-image img { transition: none; }
    }

/* Pages intérieures et espace couple */
.inner-main{min-height:calc(100vh - 94px);background:var(--sand)}
.inner-hero{width:min(900px,calc(100% - 3rem));margin:0 auto;padding:clamp(5rem,9vw,8rem) 0 3rem}
.inner-hero h1{max-width:800px}.inner-hero .lead{max-width:740px}
.content-panel{width:min(900px,calc(100% - 3rem));margin:0 auto 6rem;padding:clamp(2rem,5vw,4rem);background:var(--white);border-top:4px solid var(--signature)}
.content-panel h2{font-size:clamp(2.2rem,4vw,3.7rem);margin-top:2.5rem}.content-panel h2:first-child{margin-top:0}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem}.choice-card{padding:2rem;border:1px solid var(--signature)}
.choice-card h2{margin:0;font-size:2.5rem}.choice-card p{min-height:4.5rem}.button.secondary{background:var(--white);color:var(--deep)}
.prototype-note{padding:1rem 1.2rem;background:var(--mist);border-left:4px solid var(--signature);font-size:.9rem}
.account-form{display:grid;gap:1.15rem;margin-top:2rem}.account-form label{display:grid;gap:.45rem;font-size:.85rem;font-weight:600}.account-form input{min-height:48px;padding:.7rem .8rem;border:1px solid var(--soft-blue);font:inherit}.account-form .check{display:flex;grid-template-columns:none;align-items:flex-start;gap:.7rem;font-weight:400}.account-form .check input{min-height:auto;margin-top:.35rem}.form-message{display:none;margin-top:1rem;color:var(--deep);font-weight:500}.form-message.visible{display:block}
.back-link{display:inline-block;margin-bottom:1.5rem;color:var(--deep);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
@media(max-width:720px){.inner-hero,.content-panel{width:min(100% - 2rem,900px)}.choice-grid{grid-template-columns:1fr}.choice-card p{min-height:auto}}

