/* Vitali’Van — les photos du terrain, une lecture plus rythmée. */
.vitali-site{--paper:#fffefa;--cream:#e8f2ef;--ink:#123c2c;--muted:#455c50;--terrain-blue:#79cde3;--terrain-lime:#dcf66b;--terrain-deep:#073f30;--terrain-orange:#ff8528}
.vitali-site .section{padding-block:72px}
.vitali-site .eyebrow{font-size:11px;letter-spacing:1.2px}
.vitali-site .small-note{font-size:12px;line-height:1.75}
.vitali-site .energy-hero{background:var(--terrain-deep);color:#fffefa;overflow:hidden}
.energy-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:58px;align-items:center;padding-block:46px 52px}
.vitali-site .energy-hero .eyebrow{color:inherit;margin-bottom:22px}
.vitali-site .energy-hero .eyebrow::before{background:currentColor}
.vitali-site .energy-hero h1{font-size:clamp(42px,4.5vw,67px);line-height:1.04;letter-spacing:-.045em;color:inherit}
.vitali-site .energy-hero h1 em{color:var(--terrain-lime)}
.vitali-site .energy-hero .lead{color:inherit;max-width:530px;font-size:17px;line-height:1.8;margin-top:24px}
.vitali-site .energy-hero .hero-actions{gap:20px;flex-wrap:wrap;margin-top:25px}
.vitali-site .energy-hero .text-link{color:inherit;font-size:13px}
.vitali-site .energy-subscription .text-link .icon{filter:invert(1)}
.energy-hero-photo{position:relative;margin:0;min-width:0;border-radius:24px 24px 5px 24px;isolation:isolate}
.energy-hero-photo::before{content:'';position:absolute;inset:12px -12px -12px 12px;background:var(--terrain-orange);border-radius:inherit;z-index:-1}
.energy-hero-photo>img{width:100%;height:310px;object-fit:cover;display:block;border-radius:inherit}
.energy-hero-photo figcaption{position:absolute;bottom:16px;left:16px;right:16px;background:#fffef9f5;color:#123c2c;padding:14px 16px;border-radius:8px}
.energy-hero-photo figcaption span{display:block;letter-spacing:1.5px;font-size:9px;font-weight:800}
.energy-hero-photo figcaption strong{display:block;font-size:16px;line-height:1.35;margin-top:4px}
.vitali-site .energy-contact{background:var(--terrain-blue);color:#103e2d}
.vitali-site .energy-contact h1 em,.vitali-site .energy-booking h1 em{color:inherit}
.energy-contact .energy-hero-photo>img{object-position:50% 78%}
.energy-contact .energy-hero-photo::before{background:#073f30}
.vitali-site .energy-booking{background:#ffbd83;color:#123c2c}
.energy-booking .energy-hero-photo::before{background:#073f30}
.vitali-site .energy-booking .button{background:#073f30;color:#fff;border-color:#073f30}
.vitali-site .energy-booking .button>.icon{filter:invert(1)}
.vitali-site .energy-booking .button.outline{background:transparent;color:#123c2c;border-color:#123c2c}
.vitali-site .energy-booking .button.outline>.icon{filter:none}
.vitali-site .energy-formulas{background:#fffefa;scroll-margin-top:110px}
.energy-formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.energy-formula{background:#e6f2f4;border:1px solid #a9cbd0;border-radius:22px;padding:30px;color:#123c2c}
.energy-formula-plus{background:#e5f29f;border-color:#bed166}
.energy-formula-tag{font-size:10px;font-weight:800;letter-spacing:1px}
.vitali-site .energy-formula h3{font-size:36px;letter-spacing:-1.2px;line-height:1.1;margin-top:18px}
.energy-formula h3>span{font-size:17px;font-weight:500;letter-spacing:-.3px}
.energy-formula dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-block:25px 18px}
.energy-formula dl>div+div{border-left:1px solid #123c2c30;padding-left:22px}
.energy-formula dt{font-size:12px;font-weight:600}
.energy-formula dd{font-size:clamp(38px,4vw,54px);font-weight:800;letter-spacing:-2px;margin:8px 0 0;line-height:1.1}
.energy-formula dd>span{font-size:26px;letter-spacing:0}
.energy-formula>p{font-size:13px;line-height:1.7;max-width:43ch}
.vitali-site .energy-formula>.text-link{margin-top:20px;border-top:1px solid #123c2c30;padding-top:18px;display:flex;justify-content:space-between;font-size:13px}
.energy-other-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px;border-block:1px solid #d0dccf;padding-block:22px}
.energy-other-options strong,.energy-other-options span{display:block}
.energy-other-options strong{font-size:15px;margin-bottom:5px}
.energy-other-options span{font-size:12px;line-height:1.65;color:#455c50}
.energy-formulas .small-note{max-width:90ch;margin-top:18px}
.vitali-site .subscription-section{background:#dceef1}
.vitali-site .subscription-widget{border:1px solid #9fc4c9;border-radius:24px;overflow:hidden;box-shadow:0 16px 0 #bcd7d960}
.vitali-site .subscription-options{background:#fffefa;padding:34px}
.vitali-site .subscription-options .field input,.vitali-site .subscription-options .field select{background:#fff;border-color:#91aaa0;min-height:50px;font-size:16px}
.vitali-site .subscription-options .field label{font-size:13px;font-weight:700}
.vitali-site .subscription-result{background:#073f30;padding:34px}
.vitali-site .subscription-result .calc-amount{color:#dcf66b}
.vitali-site .subscription-result>p{color:#eff7e9;font-size:13px}
.vitali-site .subscription-result .calc-disclaimer{color:#dbe9db;font-size:11px}
.vitali-site .subscription-result .category{font-size:11px;letter-spacing:1px;color:#dcf66b}
.vitali-site .calc-assumption{color:#455c50;font-size:11px;line-height:1.8}
.vitali-site .contact-section{background:#edf3ec}
.vitali-site .contact-form{background:#fffefa;border:1px solid #bdcdbd;border-radius:24px;box-shadow:0 14px 0 #d5e1cf60;padding:30px}
.vitali-site .contact-form input,.vitali-site .contact-form select,.vitali-site .contact-form textarea{background:#fff;border-color:#91aaa0;font-size:16px}
.vitali-site .contact-block{padding:23px;background:#d3edf3;border-radius:18px;border:1px solid #adced6}
.vitali-site .contact-block h2{font-size:20px;margin-block:13px 10px}
.vitali-site .contact-block p{font-size:13px;line-height:1.75}
.vitali-site .contact-block:first-child{background:#073f30;color:#fffefa;border-color:#073f30}
.vitali-site .contact-block:first-child h2,.vitali-site .contact-block:first-child p,.vitali-site .contact-block:first-child .text-link{color:#fffefa}
.vitali-site .contact-block:first-child .contact-phone{color:#dcf66b;font-size:27px}
.vitali-site .contact-block:first-child .icon{filter:invert(1)}
.vitali-site .contact-block:nth-child(3){background:#ffdfc3;border-color:#e0bc9e}
.vitali-site .vivid-coach-section{background:#073f30;color:#fffefa}
.vitali-site .vivid-coach-section .story-copy h2,.vitali-site .vivid-coach-section .story-copy p{color:#fffefa}
.vitali-site .vivid-coach-section .story-copy h2 em{color:#dcf66b}
.vitali-site .vivid-coach-section .eyebrow{color:#dcf66b}
.vitali-site .vivid-coach-section .button.outline{background:#dcf66b;border-color:#dcf66b;color:#123c2c}
.vitali-site .matcher-answer{background:#073f30;color:#fffefa;border-color:#073f30}
.vitali-site .matcher-answer h3,.vitali-site .matcher-answer p{color:#fffefa}
.vitali-site .matcher-answer .category,.vitali-site .matcher-answer .matcher-facts{color:#dcf66b}
.vitali-site .matcher-answer .button.outline{background:#dcf66b;color:#123c2c;border-color:#dcf66b}
.vitali-site #programmes{background:#dceaf0}
.vitali-site .vivid-programs{background:#e8f1cf}
.vitali-site .vivid-programs .program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.vitali-site .vivid-programs .program-card{--card-accent:#177e49;--card-wash:#dcecc7;display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid #ccd9b6;border-top:0;border-radius:20px;margin:0;min-width:0}
.vitali-site .vivid-programs .program-card-renfort{--card-accent:#a54c13;--card-wash:#ffe3c7}
.vitali-site .vivid-programs .program-card-training{--card-accent:#9b460a;--card-wash:#ffdc9b}
.vitali-site .vivid-programs .program-card-coaching{--card-accent:#a72a5e;--card-wash:#f8dce7}
.vitali-site .vivid-programs .program-image{height:100%;min-height:300px;display:block;overflow:hidden;position:relative;border-radius:0;background:#dbe4cb}
.vitali-site .vivid-programs .program-card:nth-child(even){margin-top:0}
.vitali-site .vivid-programs .program-image>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center}
.vitali-site .vivid-programs .program-image>.coach-photo{object-position:48% 85%}
.vitali-site .vivid-programs .program-body{padding:25px 22px;display:flex;flex-direction:column;border-top:7px solid var(--card-accent);min-width:0}
.vitali-site .vivid-programs .program-body .number{color:var(--card-accent);font-size:9px;font-weight:800;letter-spacing:.7px;line-height:1.6}
.vitali-site .vivid-programs .program-body h3{font-family:var(--sans);font-size:clamp(23px,2vw,30px);line-height:1.15;margin-block:12px;letter-spacing:-1px}
.vitali-site .vivid-programs .program-body p{font-size:13px;line-height:1.75;margin-bottom:20px}
.program-card-facts{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:5px}
.vitali-site .program-card-facts .program-duration{margin:0;font-size:10px}
.program-card-facts>strong{font-size:11px;padding:5px 8px;background:var(--card-wash);border-radius:5px;color:#163e2c}
.program-card-more{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #dae2ce;margin-top:20px;padding-top:15px;font-size:11px;font-weight:800;color:var(--card-accent)}
.program-card-more .icon{width:17px;height:17px}
.vitali-site .terrain-document{margin-top:14px;border:0;padding:8px 0;background:transparent;font:inherit;font-size:12px;color:#075636;cursor:pointer}
.terrain-coach-portrait{position:relative;margin:0 12px 0 auto;max-width:420px;width:100%;border-radius:30px 30px 6px 30px;isolation:isolate}
.terrain-coach-portrait::before{content:'';position:absolute;inset:15px -15px -15px 15px;background:#d7f35d;border-radius:inherit;z-index:-1}
.terrain-coach-portrait>.coach-photo{display:block;width:100%;height:480px;object-fit:cover;object-position:center 86%;border-radius:inherit}
.terrain-coach-portrait figcaption{position:absolute;bottom:22px;left:22px;right:22px;padding:15px 18px;border-radius:10px;background:#fffef5f5;color:#123f2b;box-shadow:0 5px 22px #123f2b20}
.terrain-coach-portrait figcaption strong{display:block;font-size:19px;letter-spacing:-.5px}
.terrain-coach-portrait figcaption span{display:block;font-size:11px;margin-top:4px}
.vitali-site .page-hero{gap:48px;padding-block:56px 48px}
.vitali-site .page-hero h1{font-size:clamp(44px,4.9vw,76px);line-height:1.03;letter-spacing:-.045em}
.vitali-site .page-visual{position:relative;margin:0;align-self:center}
.vitali-site .page-visual>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:30px 30px 6px 30px;box-shadow:18px 18px 0 #d7f35d}
.vitali-site .page-visual figcaption{margin-top:28px;max-width:52ch;font-size:11px;line-height:1.65}
.vitali-site .subnav{position:sticky;top:88px;z-index:15;box-shadow:0 7px 20px #123f2b12}
.vitali-site .subnav a{padding-block:20px;font-weight:700}
.vitali-site #programmes{background:#f3f6e9}
.vitali-site .program-details{gap:30px}
.vitali-site .program-detail{--programme:#117b46;--programme-wash:#e1efcc;gap:38px;padding:24px;background:#fffef8;border:1px solid #d7e1cb;border-radius:24px;align-items:center;overflow:hidden}
.vitali-site .program-detail>figure{margin:0;align-self:center;min-width:0}
.vitali-site .program-detail>figure>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:15px}
.vitali-site .program-detail>figure>.coach-photo{object-position:50% 85%}
.vitali-site .program-detail figcaption{font-size:10px;line-height:1.55;margin:10px 3px 0}
.vitali-site .program-detail>div{padding:12px 20px 12px 0}
.vitali-site .program-detail:nth-child(even)>div{padding:12px 0 12px 20px}
.vitali-site .program-detail .category{display:inline-flex;background:var(--programme-wash);color:#123f2b;padding:8px 12px;border-radius:5px;font-weight:800;font-size:10px;letter-spacing:1px}
.vitali-site .program-detail h3{font-family:var(--sans);font-size:clamp(30px,3.3vw,46px);letter-spacing:-1.8px;margin:18px 0 14px;line-height:1.06}
.vitali-site .program-detail .detail-meta{display:flex;flex-wrap:wrap;gap:12px;margin-block:20px}
.vitali-site .program-detail .detail-meta>span{display:flex;align-items:center;gap:7px;background:#f0f3e7;border-radius:30px;padding:7px 11px;font-size:11px}
.vitali-site .program-detail .detail-price{font-size:24px;font-weight:800;color:var(--programme);margin-top:18px}
.vitali-site .program-detail .small-note{font-size:12px;line-height:1.7;margin-block:12px 20px}
.vitali-site .program-detail .button{border-color:var(--programme);border-width:1.5px}
.vitali-site .program-renfort{--programme:#a7460e;--programme-wash:#ffe4cc}
.vitali-site .program-training{--programme:#a7460e;--programme-wash:#ffda9c}
.vitali-site .program-coaching{--programme:#a52b60;--programme-wash:#f8dbe7}
.vitali-site .session-room{margin-top:32px;overflow:hidden;border-radius:22px;background:#e6edda;border:1px solid #d5dfc7}
.vitali-site .session-room>img{display:block;width:100%;height:auto;max-height:500px;aspect-ratio:16/8;object-fit:cover;object-position:center 45%}
.vitali-site .session-room figcaption{padding:17px 20px;font-size:12px;line-height:1.6}
.vitali-site .about-hero{padding-block:56px 50px;max-width:1000px}
.vitali-site .about-hero h1{font-size:clamp(42px,5vw,70px);line-height:1.08}
.vitali-site .about-hero .lead{max-width:660px;margin-inline:auto}
.vitali-site .story-image:has(.coach-photo){height:520px;max-width:440px;margin-inline:auto;width:100%}
.vitali-site .story-image>.coach-photo{object-position:50% 88%;border-radius:28px 28px 6px 28px;box-shadow:-16px 16px 0 #d7f35d}
.vitali-site .story-caption{font-weight:700;line-height:1.6}
.vitali-site .journal-card img{object-position:center}
.vitali-site .ribbon-group>span:first-child::before{content:'';display:inline-block;width:6px;height:6px;margin-right:25px;vertical-align:middle;border-radius:50%;background:currentColor}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .vitali-site .page-visual>img{animation:terrain-arrive .85s cubic-bezier(.2,.7,.3,1) both}
 .vitali-site .program-detail>figure img{transition:transform .5s cubic-bezier(.2,.7,.3,1)}
 .vitali-site .program-detail:hover>figure img{transform:scale(1.018)}
}
@keyframes terrain-arrive{from{opacity:0;transform:translateY(20px) rotate(1.5deg)}to{opacity:1;transform:none}}
@media(max-width:1000px){
 .energy-hero-grid{gap:32px;grid-template-columns:1.1fr .9fr}
 .energy-hero-photo>img{height:320px}
 .vitali-site .energy-hero h1{font-size:47px}
 .vitali-site .energy-hero .lead{font-size:15px}
 .energy-formula{padding:25px}
 .energy-formula dl>div+div{padding-left:14px}
 .vitali-site .vivid-programs .program-card{grid-template-columns:1fr}
 .vitali-site .vivid-programs .program-image{height:240px;min-height:0}
 .vitali-site .vivid-programs .program-image>.coach-photo{object-position:center 78%}
 .vitali-site .program-detail{gap:24px;padding:20px}
 .vitali-site .program-detail>div,.vitali-site .program-detail:nth-child(even)>div{padding:4px}
 .vitali-site .subnav{top:78px}
}
@media(max-width:700px){
 .vitali-site .section{padding-block:45px}
 .energy-hero-grid{grid-template-columns:1fr;gap:30px;padding-block:34px 40px}
 .vitali-site .energy-hero h1{font-size:clamp(37px,10.7vw,48px)}
 .vitali-site .energy-hero .eyebrow{font-size:10px;margin-bottom:20px}
 .vitali-site .energy-hero .lead{font-size:15px;margin-top:21px;line-height:1.75}
 .vitali-site .energy-hero .hero-actions{gap:15px}
 .vitali-site .energy-hero .hero-actions>.button{justify-content:space-between;width:100%;font-size:13px}
 .energy-hero-photo{width:calc(100% - 10px)}
 .energy-hero-photo>img{height:230px;aspect-ratio:auto}
 .energy-contact .energy-hero-photo>img{height:300px;object-position:50% 83%}
 .energy-formula-grid{grid-template-columns:1fr;gap:20px}
 .energy-formula{padding:25px 22px}
 .vitali-site .energy-formula h3{font-size:34px}
 .energy-formula dd{font-size:46px}
 .energy-other-options{grid-template-columns:1fr;gap:16px}
 .energy-other-options>p+p{border-top:1px solid #d0dccf;padding-top:15px}
 .vitali-site .subscription-options,.vitali-site .subscription-result{padding:25px 21px}
 .vitali-site .contact-form{padding:25px 20px}
 .vitali-site .subscription-result .category{font-size:10px}
 .vitali-site .contact-block:first-child .contact-phone{font-size:25px}
 .vitali-site .vivid-programs .program-grid{grid-template-columns:1fr;gap:22px}
 .vitali-site .vivid-programs .program-card{margin:0}
 .vitali-site .vivid-programs .program-image{height:auto;aspect-ratio:4/3}
 .vitali-site .vivid-programs .program-image>img{position:absolute;inset:0}
 .vitali-site .vivid-programs .program-body{padding:22px}
 .vitali-site .vivid-programs .program-body h3{font-size:30px}
 .terrain-coach-portrait{margin:0 auto 15px;max-width:340px;width:calc(100% - 15px)}
 .terrain-coach-portrait>.coach-photo{height:420px}
 .vitali-site .page-hero{grid-template-columns:1fr;gap:30px;padding-block:34px 36px}
 .vitali-site .page-visual>img{box-shadow:9px 9px 0 #d7f35d;border-radius:20px 20px 5px 20px;aspect-ratio:16/10}
 .vitali-site .page-visual figcaption{margin-top:20px}
 .vitali-site .subnav{position:relative;top:auto;box-shadow:none}
 .vitali-site .subnav>.container{gap:20px;overflow:auto;flex-wrap:nowrap;scrollbar-width:thin}
 .vitali-site .subnav a{white-space:nowrap;padding-block:16px;font-size:12px}
 .vitali-site .program-detail{grid-template-columns:1fr;gap:14px;padding:15px;border-radius:20px}
 .vitali-site .program-detail:nth-child(even)>figure{order:0}
 .vitali-site .program-detail>figure>img{aspect-ratio:4/3;max-height:330px}
 .vitali-site .program-detail>div,.vitali-site .program-detail:nth-child(even)>div{padding:8px 7px 12px}
 .vitali-site .program-detail h3{font-size:34px}
 .vitali-site .program-detail .button{width:100%;justify-content:space-between}
 .vitali-site .session-room>img{aspect-ratio:16/10}
 .vitali-site .session-room figcaption{padding:14px;font-size:11px}
 .vitali-site .about-hero{padding-block:35px 38px}
 .vitali-site .story-image:has(.coach-photo){height:460px;max-width:340px}
}
@media(prefers-reduced-motion:reduce){.vitali-site .page-visual>img{animation:none}.vitali-site .program-detail:hover>figure img{transform:none}}
