/* BORVO — direction éditoriale : ivoire, violet Borvo et touches émeraude. */
:root[data-theme="light"] {
  --emerald:#28735f;
  --paper:#f5f1e8; --paper-raised:#fcfaf5; --ink:#2e233c; --ink-deep:#261837; --ink-deeper:#1d132a;
  --background:#f5f1e8; --foreground:#2e233c; --muted-foreground:#66616b; --rule:#d5d0dc; --rule-strong:#b1abb9;
  --primary:#573d85; --violet:#573d85; --violet-strong:#402962; --violet-soft:#c5b9d3; --violet-wash:#e2dce9; --violet-foreground:#fffdf7;
  --card:#fcfaf5; --border:#d5d0dc; --shell:1392px; --gutter:clamp(1.3rem,5vw,5rem);
}
body {font-size:17px; line-height:1.65;}
.pillars-strip svg,.approach-tags span:first-child {color:var(--emerald);}
h1,h2,h3 {font-weight:300;}
h2 {font-size:clamp(2.2rem,4.2vw,3.8rem); line-height:1.08;}
em {font-weight:300;}
.t-eyebrow {font-family:var(--font-sans); font-size:11px; font-weight:400; letter-spacing:.22em;}
.t-meta {font-family:var(--font-sans);}
.section {padding-block:clamp(4rem,8vw,7rem);}
.btn {font-size:14px; padding:14px 23px; gap:30px; line-height:1.4;}
.btn--light {--btn-bg:#f7f3e9; --btn-fg:#2e233c;}
.btn--light:hover {background:#d6cfdf; color:#291a3b; border-color:#d6cfdf;}
.text-link {display:inline-flex; gap:22px; align-items:center; padding-block:9px; border-bottom:1px solid #a099a9; font-size:14px; line-height:1.5;}
.text-link:hover {color:#65507f; border-color:currentColor;}
.skip-link {position:fixed; top:-100px; left:20px; z-index:100; padding:12px 20px; color:white; background:#291a3b;}
.skip-link:focus {top:10px;}
.site-header,.site-header[data-scrolled="true"] {background:#f5f1e8f5; border-bottom:1px solid #d4cedc; backdrop-filter:blur(16px);}
.site-header__inner {height:88px; gap:24px;}
.wordmark {align-items:center; gap:9px; flex-shrink:0;}
.brand-symbol {width:39px; height:43px;}
.brand-type {font-size:28px; line-height:1.1; letter-spacing:.18em;}
.brand-type small {display:block; font:8px/2.5 var(--font-sans); letter-spacing:.2em;}
.nav {gap:24px;}
.nav__link {font-size:14px; white-space:nowrap;}
.nav__cta {font-size:12px; gap:18px; border-color:#8e8797; padding:10px 18px;}
.mobile-nav {top:88px;}
.site-footer {color:#dfd9e6; background:#1e142b;}
.site-footer .wordmark {color:#f5f1e8;}
.site-footer .footer-grid {grid-template-columns:2fr 1fr 1fr; gap:40px;}
.footer-invitation {text-align:center; padding:30px 0 80px; margin-bottom:65px; border-bottom:1px solid #ffffff26;}
.footer-invitation .t-eyebrow {color:#b5a8c4;}
.footer-invitation h2 {color:#f4f1e5; margin:25px 0 32px;}
.site-footer a:hover {color:#c6bbd4;}
.site-footer .btn--light {color:#2e233c;}
.site-footer .btn--light:hover {color:#291a3b;}
.site-footer .footer-col p {margin:12px 0;}
.footer-base {font-family:var(--font-sans); font-size:11px;}
.landscape-hero {position:relative; margin-top:88px; min-height:710px; height:calc(100svh - 88px); max-height:900px; color:#fffaf0; background:#31263f; isolation:isolate;}
.landscape-hero__image {position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 54%; z-index:-2;}
.landscape-hero::after {content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#160e20c2 0%,#1e132b6b 38%,#150e1e00 73%),linear-gradient(0deg,#1a112580,transparent 35%);}
.landscape-hero__inner {height:100%; min-height:inherit; display:flex; flex-direction:column; justify-content:center; position:relative; padding-block:70px 115px;}
.landscape-hero__copy {max-width:650px;}
.landscape-hero .t-eyebrow {color:#f0ecdd; margin-bottom:28px;}
.landscape-hero h1 {font-size:clamp(3.8rem,6.9vw,6.6rem); letter-spacing:-.035em; line-height:.98;}
.landscape-hero h1 em {color:#e6d8b4;}
.hero-intro {font-size:17px; max-width:42ch; line-height:1.65; margin:28px 0 30px; color:#ece8f0;}
.hero-bottom {position:absolute; bottom:32px; left:var(--gutter); right:var(--gutter); display:flex; justify-content:space-between; align-items:end; font-size:11px; letter-spacing:.07em; color:#ded9e5;}
.hero-bottom a {display:flex; gap:28px; align-items:center;}
.hero-bottom a span {font-size:23px;}
.pillars-strip {background:#eee9dd; border-bottom:1px solid #d8d5c6;}
.pillars-strip__inner {display:grid; grid-template-columns:repeat(5,1fr); padding-block:30px;}
.pillars-strip__inner>div {text-align:center; padding:0 10px; border-right:1px solid #c5bfcd;}
.pillars-strip__inner>div:last-child {border:0;}
.pillars-strip svg {width:37px; height:37px; margin:0 auto 10px;}
.pillars-strip h2 {font-size:14px; text-transform:uppercase; letter-spacing:.12em;}
.pillars-strip p {font-size:12px; margin:8px 0 0; color:#66616b;}
.editorial-heading {display:grid; grid-template-columns:1.35fr 1fr; gap:80px; align-items:end; margin-bottom:42px;}
.editorial-heading h2 {margin-top:17px;}
.editorial-heading>p,.editorial-heading>div>p:not(.t-eyebrow) {max-width:43ch; color:var(--muted-foreground); margin:0 0 15px;}
.journey-grid {display:grid; grid-template-columns:repeat(4,1fr); gap:15px;}
.journey-card {height:355px; color:#fffaf0; position:relative; overflow:hidden; display:flex; align-items:end; padding:26px; isolation:isolate; background:#281a39;}
.journey-card:after {content:""; position:absolute; inset:0; background:linear-gradient(0deg,#120b1ad9,transparent 85%); z-index:-1;}
.journey-card img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .8s;}
.journey-card:hover img {transform:scale(1.05);}
.journey-number {position:absolute; top:23px; left:26px; font-size:11px; letter-spacing:.15em;}
.journey-card h3 {font-size:30px;}
.journey-card p {font-size:14px; line-height:1.5; margin:13px 0 0; max-width:22ch; color:#e3dfe9;}
.journey-arrow {position:absolute; right:22px; top:18px; font-size:22px;}
.programs-section {background:#e9e4ee;}
.program-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px;}
.program-card {min-width:0; background:var(--paper-raised); border:1px solid #d5cedd; display:flex; flex-direction:column;}
.program-card__visual {height:265px; overflow:hidden; display:block; position:relative; background:#3a284f;}
.program-card__visual:after {content:""; position:absolute; inset:0; background:linear-gradient(180deg,#170f2052,transparent 50%); pointer-events:none;}
.program-card__visual img {width:100%; height:100%; object-fit:cover; transition:transform .7s;}
.program-card:hover .program-card__visual img {transform:scale(1.04);}
.program-card__label {position:absolute; top:20px; left:20px; z-index:1; font-size:10px; text-transform:uppercase; letter-spacing:.12em; background:#f6f4e9ec; padding:6px 12px; border-radius:20px;}
.round-arrow {position:absolute; bottom:18px; right:18px; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:#faf9ede8;}
.program-card__body {padding:28px; display:flex; flex-direction:column; flex:1;}
.program-card__body .t-eyebrow {font-size:9px; letter-spacing:.12em;}
.program-card h3 {font-size:34px; margin:14px 0 0;}
.program-card__body>p:not(.t-eyebrow) {font-size:15px; color:var(--muted-foreground); margin:17px 0 25px;}
.program-card .text-link {margin-top:auto; align-self:start;}
.discovery-note {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px 30px; margin-top:35px; font-size:14px;}
.quote-section {text-align:center; padding:90px 0; border-bottom:1px solid var(--rule);}
.quote-section blockquote {font:300 clamp(2rem,3.4vw,3.1rem)/1.25 var(--font-serif); max-width:850px; margin:27px auto;}
.quote-signature {font-size:12px; letter-spacing:.18em; text-transform:uppercase;}
.about-grid {display:grid; grid-template-columns:.9fr 1fr; gap:clamp(40px,8vw,120px); align-items:center;}
.about-portrait {margin:0; position:relative;}
.about-portrait img {width:100%; height:580px; object-fit:cover;}
.about-portrait figcaption {font-size:11px; margin-top:15px; letter-spacing:.06em; color:var(--muted-foreground);}
.about-copy h2 {margin-top:22px;}
.about-copy>p:not(.t-eyebrow) {color:var(--muted-foreground);}
.approach-tags {display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 22px;}
.approach-tags span {font-size:11px; border:1px solid #b7aec1; padding:6px 13px; border-radius:20px;}
.encounter-section {background:#291b3b; color:#f6f3e8;}
.encounter-grid {display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
.encounter-section .t-eyebrow {color:#c3b8d0;}
.encounter-section h2 {margin-top:24px;}
.encounter-section p:not(.t-eyebrow) {color:#d6d1dd; max-width:43ch; margin-block:28px;}
.encounter-section .encounter-caption {font-size:11px; letter-spacing:.12em;}
.encounter-image {height:440px; position:relative; display:block;}
.encounter-image img {height:100%; width:100%; object-fit:cover;}
.encounter-image span {position:absolute; bottom:0; left:0; right:0; padding:24px; background:linear-gradient(transparent,#160e20ef); font-size:14px; display:flex; justify-content:space-between;}
.passage-band {text-align:center;}
.passage-band h2 {margin:24px 0;}
.passage-band>p:not(.t-eyebrow) {max-width:62ch; margin:0 auto 30px; color:var(--muted-foreground);}
.hero {padding-top:150px; padding-bottom:65px;}
.hero__inner {align-items:center; gap:70px;}
.hero .t-display {font-size:clamp(3rem,5vw,5rem);}
.hero .media--portrait {aspect-ratio:1.2; border-radius:0;}
.hero .media--portrait img {object-position:center;}
.media {border-radius:0; background:#443458;}
.media::before {display:none;}
.panel-deep {background:#261837;}
.panel-deep::before {background:radial-gradient(ellipse at 10% 0%,#5c4a7135,transparent 70%);}
.panel-deep .prose .q {color:#ccc2d9;}
.threshold {height:55px;}
.academy-page .hero .media--portrait {aspect-ratio:.85;}
.academy-page .section-head {max-width:900px;}
.academy-page .pillar {border-radius:0;}
.academy-page .t-display {font-size:clamp(3rem,5vw,4.8rem);}
.atlas-intro {text-align:center; margin-bottom:50px;}
.atlas-intro h2 {margin:18px 0;}
.atlas-intro p:not(.t-eyebrow) {color:#cbc4d3; font-size:15px;}
.rotation-toggle {background:transparent; border:1px solid #aa9dba70; border-radius:30px; padding:9px 16px; color:#e0d9e8; font:12px var(--font-sans); cursor:pointer;}
.rotation-toggle:hover {background:#ffffff12;}
.atlas-detail-link {font-size:13px; color:#cdc3d9; text-decoration:underline; text-underline-offset:4px;}
.chip {min-height:38px; font:11px var(--font-sans); letter-spacing:.05em;}
.chip[data-active="true"] {background:#c5b9d3; border-color:#c5b9d3; color:#261937;}
.event-card {border-radius:0; padding:19px;}
.event-card:hover,.event-card[data-active="true"] {border-color:#9583ac; background:#8f78ab20;}
.event-card__date {color:#c5b9d3; font-family:var(--font-sans);}
.event-card__title {font-size:23px; line-height:1.2;}
.event-card__meta,.status {font-family:var(--font-sans);}
.status--soon {color:#c5b9d3;}
.globe-hotspot:hover,.globe-hotspot[data-active="true"] {background:#544468e6; border-color:#c1b5d0;}
.globe-hotspot__count {background:#c1b5d0;}
.globe-hint {color:#bdb4c8;}
.globe-stage:focus-within .globe-hotspot {transition:none;}
.event-detail .media {position:sticky; top:115px;}
.training-hero {margin-top:88px; padding:90px 0 80px; background:#e5e0eb; overflow:hidden; position:relative; isolation:isolate;}
.training-hero h1 {font-size:clamp(3.5rem,6vw,6rem); margin:25px 0;}
.training-hero p:not(.t-eyebrow) {color:#605869; max-width:50ch;}
.orbital-art {position:absolute; right:-3%; top:-50px; width:570px; height:570px; border:1px solid #87779b55; border-radius:50%; z-index:-1;}
.orbital-art:before,.orbital-art:after {content:""; position:absolute; inset:60px; border:1px solid #87779b66; border-radius:50%;}
.orbital-art:after {inset:120px; background:radial-gradient(circle at 65% 30%,#e9e0bb,#b3a8c080 50%,#75668840); border:0;}
.catalogue-head {display:flex; justify-content:space-between; align-items:end; gap:20px;}
.catalogue-head h2 {font-size:clamp(2rem,3.5vw,3rem); margin-top:17px;}
.catalogue-head>p {font-size:13px; color:#675e71; white-space:nowrap;}
.training-filters {display:flex; flex-wrap:wrap; gap:10px; margin:34px 0;}
.training-filters button {font:14px var(--font-sans); color:#413352; background:transparent; border:1px solid #b9afc5; border-radius:30px; padding:11px 20px; cursor:pointer;}
.training-filters button[aria-pressed="true"] {background:#36244c; color:white; border-color:#36244c;}
.training-filters button:hover {border-color:#36244c;}
.catalogue-grid {row-gap:35px;}
.training-details {background:#e6e1ec;}
.training-detail {display:grid; grid-template-columns:1fr 1.15fr; gap:90px; padding:50px 0; border-top:1px solid #c4bccd; scroll-margin-top:110px;}
.detail-number {float:right; font:300 40px var(--font-serif); color:#8c809a;}
.training-detail h3 {font-size:38px; margin-top:15px;}
.detail-line {font:italic 24px var(--font-serif); color:#6c5f7b;}
.training-price {font-size:20px; margin:25px 0 0;}
.price-note {font-size:11px; color:#63596f; display:block; max-width:35ch;}
.training-detail>div>p:first-child {margin-top:0;}
.training-detail ul {list-style:none; padding:0; margin:25px 0;}
.training-detail li {padding:8px 0; border-bottom:1px solid #cbc3d4; font-size:15px;}
.training-detail li:before {content:"↗"; margin-right:15px; color:#645279;}
.guidance-grid {display:grid; grid-template-columns:1fr 1.2fr; gap:80px;}
.guidance-grid h2 {margin-top:20px;}
.training-faq details {padding:22px 0; border-bottom:1px solid #cac2d3;}
.training-faq summary {cursor:pointer; padding-right:20px; font-size:18px;}
.training-faq details p {font-size:15px; color:#61586d; padding-left:17px;}
@media(min-width:1600px){.landscape-hero__image{object-position:center 58%;}}
@media(max-width:1150px){.nav{gap:16px}.nav__cta--desktop{display:none}.site-header__inner{gap:18px}.journey-card{padding:20px}.program-card__body{padding:23px}.program-grid{gap:20px}.orbital-art{right:-22%;opacity:.6}}
@media(max-width:900px){.site-header__inner{height:76px}.mobile-nav{top:76px}.landscape-hero,.training-hero{margin-top:76px}.landscape-hero{min-height:680px;height:calc(100svh - 76px)}.landscape-hero__image{object-position:62% center}.landscape-hero h1{font-size:clamp(3.6rem,9vw,5.6rem)}.landscape-hero::after{background:linear-gradient(90deg,#160e20d9,#1e132b70 65%,#150e1e15),linear-gradient(0deg,#1a112580,transparent)}.editorial-heading{gap:35px}.journey-grid{grid-template-columns:repeat(2,1fr)}.journey-card{height:330px}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .program-grid .program-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.home-page .program-grid .program-card:last-child .program-card__visual{height:100%;min-height:270px}.about-grid,.encounter-grid{gap:35px}.about-portrait img{height:500px}.hero__inner{gap:35px}.hero{padding-top:120px}.hero__inner{grid-template-columns:1fr 1fr}.hero .t-display,.academy-page .t-display{font-size:3.3rem}.hero__copy{gap:20px}.hero .t-meta{font-size:10px}.training-detail{gap:40px}.guidance-grid{gap:35px}.event-detail .media{position:static}}
@media(max-width:600px){body{font-size:16px}.brand-type{font-size:25px}.brand-type small{font-size:7px}.brand-symbol{width:33px}.site-header__inner{height:72px}.mobile-nav{top:72px}.landscape-hero,.training-hero{margin-top:72px}.landscape-hero{min-height:700px;max-height:none;height:calc(100svh - 72px)}.landscape-hero__inner{padding-top:50px;padding-bottom:100px}.landscape-hero__image{object-position:66% center}.landscape-hero h1{font-size:clamp(3.4rem,13vw,4.6rem)}.landscape-hero .t-eyebrow{font-size:9px;margin-bottom:25px}.hero-intro{font-size:16px;max-width:32ch;margin-block:25px}.hero-bottom{font-size:9px;gap:15px;bottom:25px}.hero-bottom a{gap:10px;max-width:120px}.pillars-strip__inner{grid-template-columns:repeat(3,1fr);gap:22px 0;padding-block:25px}.pillars-strip__inner>div:nth-child(3){border:0}.pillars-strip__inner>div:nth-child(4){grid-column:1/3}.pillars-strip h2{font-size:11px}.pillars-strip p{font-size:10px}.pillars-strip svg{width:30px;height:30px}.editorial-heading{grid-template-columns:1fr;gap:23px;margin-bottom:30px}.editorial-heading h2{font-size:2.6rem}.journey-grid{gap:10px}.journey-card{height:290px;padding:18px}.journey-card h3{font-size:26px}.journey-card p{font-size:12px}.journey-number{left:18px}.program-grid{grid-template-columns:1fr}.home-page .program-grid .program-card:last-child{display:flex;grid-column:auto}.program-card__visual,.home-page .program-grid .program-card:last-child .program-card__visual{height:280px;min-height:0}.program-card__body{padding:25px}.discovery-note{text-align:center;gap:5px}.quote-section{padding:60px 0}.quote-section blockquote{font-size:2rem}.about-grid,.encounter-grid,.guidance-grid{grid-template-columns:1fr;gap:38px}.about-portrait img{height:420px}.about-copy h2{font-size:2.5rem}.encounter-image{height:350px}.footer-invitation{padding:0 0 50px;margin-bottom:40px}.site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>.footer-col:first-child{grid-column:1/-1}.footer-invitation .t-eyebrow{font-size:9px}.footer-invitation h2{font-size:2.6rem}.hero__inner{grid-template-columns:1fr}.hero{padding-top:115px;padding-bottom:40px}.hero .t-display,.academy-page .t-display{font-size:3.4rem}.hero .media--portrait,.academy-page .hero .media--portrait{aspect-ratio:1.4}.hero__actions{align-items:stretch}.hero__actions .btn{justify-content:space-between}.atlas-intro h2{font-size:2.5rem}.atlas-intro{margin-bottom:20px}.event-card__top{align-items:start;flex-wrap:wrap;gap:8px}.event-card__date{font-size:10px}.globe-hint{font-size:8px}.training-hero{padding:60px 0}.training-hero h1{font-size:3.4rem}.training-hero br{display:none}.training-hero h1 br{display:block}.orbital-art{width:350px;height:350px;right:-220px;top:20px;opacity:.4}.catalogue-head{display:block}.catalogue-head>p{margin-bottom:0}.training-filters{gap:8px}.training-filters button{font-size:12px;padding:10px 14px}.training-detail{grid-template-columns:1fr;gap:25px;padding-block:35px}.training-detail h3{font-size:34px}.training-detail .training-price{margin-top:15px}.detail-line{margin-block:12px}.guidance-grid{gap:20px}.atlas{gap:45px}.passage-band h2 br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey-card img,.program-card__visual img{transition:none}}

/* Navigation enrichie : espace suffisant pour Le Coffre Prana. */
@media (min-width:901px) and (max-width:1350px){.nav__cta--desktop{display:none}.nav{gap:16px}}
@media (min-width:901px) and (max-width:1050px){.nav{display:none}.burger{display:inline-flex}}
