/* Shared typography and action sizing for the local design review. */
main h2,.footer-newsletter h2{font-size:25px!important;line-height:1.3!important;font-weight:400}
.pill,.header-cta,.btn-black,.waitlist-link,.btn-primary,.btn-secondary,button[type="submit"],input[type="submit"],#payBtn,#validateCodeBtn,#codeToggleBtn,#addSecondBtn,#joinBtn{font:400 12px/1.4 Lora,Georgia,serif!important;letter-spacing:.04em!important;padding:10px 22px!important;border-radius:999px!important;min-height:0;white-space:normal}
.planning .slot-actions .btn-black,.planning .slot-actions .waitlist-link{padding:8px 15px!important;white-space:nowrap}
.private-product-card .pill{white-space:nowrap;justify-self:end}
.private-card-copy p,.private-triptych .private-card-copy p,.detail-section p{font-size:14px!important;line-height:1.7!important}
.detail-section h2{margin:0 0 16px!important}
.detail-section p{margin:0 0 12px}
#votre-groupe .detail-columns{display:block}
#votre-groupe h2 br{display:none}
#votre-groupe h2 br::after{content:' '}
#votre-groupe h2{max-width:none}
#organisation .inline-link{display:inline;margin:0;padding:0;text-transform:none;letter-spacing:normal;font:inherit;border-bottom:1px solid currentColor}
#organisation>.pill{margin-top:8px}
@media(max-width:800px){.private-product-card .pill{justify-self:start}}
#votre-groupe,#deroulement,#organisation{padding-top:38px;padding-bottom:38px}#votre-groupe p,#deroulement p,#organisation p{margin-top:0;margin-bottom:7px}#votre-groupe h2,#deroulement h2,#organisation h2{margin-bottom:12px!important}#votre-groupe p:last-child{margin-bottom:0}

#professionnels{padding-top:38px;padding-bottom:38px}#professionnels h2{margin-bottom:12px!important}#professionnels p{margin:0;font-size:14px;line-height:1.7}

/* Cocon: photo rectangulaire et informations typographiques */
.cocon-hero .cocon-description{font-size:14px;line-height:1.7}
.cocon-hero>img{height:auto;max-height:none;border-radius:0;object-fit:contain}
.cocon-facts{display:flex;flex-wrap:wrap;gap:18px 36px;margin:24px 0 28px;padding-top:18px;border-top:1px solid #655e52;width:fit-content}
.cocon-facts dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#b7aa91;margin-bottom:5px}
.cocon-facts dd{font-size:14px;line-height:1.5;margin:0;color:#e9e1d3}

.cocon-facts{border-top:0;padding-top:0}
.cocon-experience .detail-columns{display:block}
.cocon-experience,#pratique{padding-top:38px;padding-bottom:38px}
.cocon-experience p,#pratique p{margin-bottom:7px}
#pratique .inline-link{display:inline;margin:0;padding:0;font:inherit;letter-spacing:normal;text-transform:none;border:0;text-decoration:underline;text-underline-offset:3px}

/* Portrait aligné sur la hauteur du texte Cocon */
.cocon-hero{align-items:stretch}
.cocon-hero>div>p:first-child,.cocon-hero>div>:first-child{margin-top:0}
.cocon-portrait{position:relative;margin:0;min-width:0;min-height:0;width:100%;max-width:420px;justify-self:center}
.cocon-portrait img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:62% center;border-radius:18px;display:block}
@media(max-width:780px){.cocon-portrait{aspect-ratio:3/4;max-width:420px}.cocon-portrait img{height:100%;border-radius:18px}}

/* FAQ Cocon: typographie et espaces resserrés */
.cocon-questions{padding-top:28px;padding-bottom:32px}
.cocon-questions .detail-faq summary{font-size:14px;line-height:1.5}
.cocon-questions .detail-faq details{padding:14px 0}

/* Lunaire: mêmes réglages validés que Cocon */
.lunaire-page .detail-columns{display:block}
.lunaire-page .detail-section{padding-top:38px;padding-bottom:38px}
.lunaire-page .detail-section p{margin-bottom:7px}
.lunaire-page .cocon-questions{padding-top:28px;padding-bottom:32px}
.lunaire-page #rendez-vous h3{font-size:20px;font-weight:400;line-height:1.4;margin:18px 0 10px}

.lunaire-page #rendez-vous .lunar-booking-note{font-size:12px!important;line-height:1.6!important;color:#77716a;margin-top:28px;margin-bottom:10px}

.lunaire-hero .cocon-portrait img{object-position:center center}

.protocol-inline-link{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Protocole: harmonisation des pages expériences */
.protocol-page .detail-columns{display:block}
.protocol-page .detail-section{padding-top:38px;padding-bottom:38px}
.protocol-page .detail-section p{font-size:14px!important;line-height:1.7!important;margin-bottom:7px}
.protocol-page .detail-step h3{font-size:20px;line-height:1.4;font-weight:400;margin:12px 0}
.protocol-page .detail-steps{margin-top:22px;gap:24px}
.protocol-page .detail-faq summary{font-size:14px;line-height:1.5}
.protocol-page .detail-faq details{padding:14px 0}
.protocol-page #questions{padding-top:28px;padding-bottom:32px}

.protocol-page .protocol-pillars{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}
@media(max-width:780px){.protocol-page .protocol-pillars{grid-template-columns:1fr}}

/* Carnet de recherches du protocole */
.protocol-hero .cocon-portrait img{object-fit:contain;object-position:center;background:#1d1c19}

/* Navigation commune : ordinateur visible, mobile menu gauche et logo droite. */
@media(min-width:781px){
body .header{display:flex!important;align-items:center;height:90px!important;gap:24px;padding:8px max(24px,calc((100vw - 1100px)/2))!important}
body .header .brand-logo{flex:0 0 auto;margin:0!important;order:0}
body .header .logo{width:74px!important;height:74px!important}
body .header .mobile-menu-button{display:none!important}
body .header .universe-nav,body .header .universe-nav.is-open{display:flex!important;position:static!important;flex-direction:row!important;align-items:center!important;gap:clamp(16px,2vw,30px)!important;margin-left:auto!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;white-space:nowrap!important;font-size:10px}
body .header .universe-nav>a,body .header .nav-group summary{padding:20px 0!important;border:0!important}
body .header .header-cta{display:block!important;flex:0 0 auto}
body .header .mobile-reserve{display:none!important}
body .header .nav-submenu{position:absolute!important;top:100%;right:0;min-width:230px;padding:5px 0!important;box-shadow:0 15px 30px #0008!important;border:1px solid #655e52!important}
}
@media(max-width:780px){
body .header{display:flex!important;align-items:center;justify-content:space-between;height:82px!important;padding:5px 20px!important}
body .header .mobile-menu-button{display:block!important;order:0!important;margin:0!important;padding:8px;flex:0 0 auto}
body .header .brand-logo{order:1!important;margin:0 0 0 auto!important;justify-self:end!important}
body .header .logo{width:65px!important;height:65px!important}
body .header .header-cta{display:none!important}
body .header .universe-nav{display:none!important;position:absolute!important;top:82px;left:0;right:0}
body .header .universe-nav.is-open{display:flex!important;flex-direction:column!important;align-items:stretch!important}
body .header .nav-submenu{position:static!important}
body .header .mobile-reserve{display:block!important}
}

/* Header proportions for the final review. */
@media(min-width:781px){
 body .header{height:106px!important;padding-top:2px!important;padding-bottom:2px!important}
 body .header .logo{width:102px!important;height:102px!important;display:block}
 body .header+main#top .hero{margin-top:-16px}
 body .header .universe-nav,body .header .universe-nav.is-open{font-size:11px!important}
 body .header .universe-nav>a,body .header .nav-group summary{font-size:11px!important}
}
@media(max-width:780px){
 body .header{height:94px!important;padding-top:2px!important;padding-bottom:2px!important}
 body .header .logo{width:90px!important;height:90px!important;display:block}
 body .header .universe-nav{top:94px}
 body .header+main#top .hero{margin-top:-12px}
 body .header .universe-nav>a,body .header .nav-group summary{font-size:14px!important}
}

/* Mobile review: a complete first screen and compact sections. */
@media(max-width:780px){
 body .header+main#top .hero{margin-top:0;height:calc(100svh - 193px)!important;min-height:0;max-height:none;padding:0!important;align-items:stretch!important;background-position:center 50%!important}
 body main#top .hero-inner{width:calc(100% - 40px);height:100%;margin:0 auto!important;padding:45px 0 16px!important;display:block}
 body main#top .hero-copy{display:flex;flex-direction:column;height:100%}
 body main#top .hero h1{font-size:30px;line-height:1.18;margin:0 0 16px}
 body main#top .hero .lead{font-size:14px!important;line-height:1.6;margin:0}
 body main#top .hero-signature{font-size:14px!important;line-height:1.4;margin:14px 0 18px}
 body main#top .hero-links{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:13px;flex-wrap:nowrap}
 body main#top .hero-links .hero-detail{flex:0 0 auto;width:100%;max-width:100%;font-size:10px;letter-spacing:.06em;line-height:1.55;padding:0}
 body #reserver,body #experiences{padding-top:26px!important;padding-bottom:32px!important}
 body #reserver>.intro-text{font-size:13px!important;line-height:1.65;margin-bottom:16px}
 body #reserver .sonam-planning{margin-top:0;padding-top:0}
 body #reserver .planning-inner{padding-top:0}
 body #reserver .calendar-header{margin-top:0;padding-top:0}
 body #experiences .experiences-head p{font-size:13px;line-height:1.65;margin-bottom:22px}
 body #experiences .experience{padding:20px!important;gap:10px 12px!important}
 body #experiences .experience h3{font-size:20px!important;line-height:1.3;margin:0}
 body #experiences .experience p{font-size:13px!important;line-height:1.65;margin:0}
 body #experiences .experience .arrow{font-size:12px}
 body .content-hero>p{font-size:14px;line-height:1.7}
}

@media(max-width:780px){body #reserver>h2,body #experiences .experiences-head>h2{margin-top:0!important;margin-bottom:16px!important}}

/* Keep the original wordmark shapes; improve gold contrast at header size. */
body .header .logo{filter:brightness(1.24) contrast(1.08)}

/* Mobile-only photo contrast; preserve the original asset and desktop image. */
@media(max-width:780px){
 body main#top .hero::after{content:'';position:absolute;inset:0;background:inherit;filter:brightness(1.28) contrast(.92);z-index:0;pointer-events:none}
 body main#top .hero::before{z-index:1;background:linear-gradient(90deg,#0009 0%,#0005 62%,#0003),linear-gradient(0deg,#0008,transparent 45%);pointer-events:none}
 body main#top .hero-inner{z-index:2}
}

/* Discreet mobile navigation typography, with comfortable tap targets. */
@media(max-width:780px){
 body .header .universe-nav{font-size:11px!important;gap:0!important;padding:12px 24px!important;letter-spacing:.08em}
 body .header .universe-nav>a,body .header .nav-group summary{font-size:11px!important;line-height:1.5!important;padding:12px 0!important;margin:0!important}
 body .header .nav-submenu{padding:0 0 6px 12px!important}
 body .header .nav-submenu a{font-size:11px!important;line-height:1.5!important;letter-spacing:.025em;padding:10px 0!important;margin:0!important}
}

/* Mobile hero type: a little larger, lower, with a restrained shadow. */
@media(max-width:780px){
 body main#top .hero-inner{padding-top:59px!important}
 body main#top .hero h1{font-size:32px;line-height:1.18;text-shadow:0 1px 2px #0009,0 3px 12px #0007}
 body main#top .hero .lead{font-size:15px!important;line-height:1.6;text-shadow:0 1px 2px #000b,0 2px 8px #0006}
 body main#top .hero-signature{font-size:15px!important;text-shadow:0 1px 2px #000a,0 2px 8px #0006}
}

/* Slight desktop zoom-out; dark edge fill keeps the original portrait ratio. */
@media(min-width:781px){body main#top .hero{background-size:min(92%,1200px) auto!important;background-repeat:no-repeat!important;background-color:#191814}}

/* Desktop reference: preserve the approved header, with a 3px logo margin. */
@media(min-width:781px){body .header{height:108px!important;padding-top:3px!important;padding-bottom:3px!important}}

/* Home hierarchy: title, actions, introduction, signature, protocol. */
body main#top .hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0 24px}
body main#top .hero-actions .pill{margin:0!important}
body main#top .hero-actions .hero-experiences{background:#363636!important;border-color:#5b5752!important;color:#f2eee6!important}
body main#top .hero-links{margin-top:22px;display:block}
@media(max-width:780px){
 body .header+main#top .hero{height:auto!important;min-height:calc(100svh - 94px)!important;background-size:cover!important}
 body main#top .hero-inner{height:auto;padding:45px 0 28px!important;align-self:center}
 body main#top .hero-copy{height:auto;align-items:center;text-align:center}
 body main#top .hero h1{margin:0 0 4px!important}
 body main#top .hero-actions{justify-content:center;gap:10px;margin:20px 0 24px;width:100%}
 body main#top .hero-actions .pill{padding:12px 18px;font-size:10px;letter-spacing:.08em}
 body main#top .hero .lead{margin:0!important}
 body main#top .hero-signature{margin:20px 0 0!important}
 body main#top .hero-links{margin-top:24px!important;width:100%;text-align:center}
 body main#top .hero-links .hero-detail{font-size:10px;line-height:1.65}
}

/* Final mobile placement: fixed action height and a protocol link at the foot of the image. */
@media(max-width:780px){
 body .header+main#top .hero{height:calc(100svh - 94px)!important;min-height:560px!important}
 body main#top .hero-inner{height:100%;padding:0!important;align-self:stretch}
 body main#top .hero-copy{position:relative;height:100%;width:100%;display:block}
 body main#top .hero h1{position:absolute;top:19.585%;transform:translateY(-50%);left:0;width:100%;font-size:34px!important}
 body main#top .hero-actions{position:absolute;top:39.17%;left:0;margin:0!important;width:100%;gap:12px}
 body main#top .hero-actions .pill{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:112px;height:38px;padding:8px 6px!important;font-size:10px!important;line-height:1.2!important;letter-spacing:.03em!important;white-space:nowrap}
 body main#top .hero-story{position:absolute;top:55%;left:0;width:100%}
 body main#top .hero-story .hero-signature{margin-top:32px!important}
 body main#top .hero-links{position:absolute;bottom:22px;left:0;margin:0!important;width:100%}
}

/* Compact experience cards with a discreet benefit line. */
body #experiences{padding-top:32px!important}
body #experiences .experiences-head p{margin-bottom:22px;line-height:1.5}
body #experiences .experience{padding:16px 20px 18px!important;gap:7px 12px!important}
body #experiences .experience p{line-height:1.45!important}
body #experiences .experience .experience-benefit{grid-column:1/-1;grid-row:3;font-size:12px!important;line-height:1.45!important;margin:2px 0 0;color:#ded5c6}
body #experiences .experience-benefit em{font-style:italic;font-weight:400}
@media(max-width:780px){
 body #experiences{padding-top:22px!important}
 body #experiences .experiences-head h2{margin-top:0!important}
 body #experiences .experience .experience-benefit{font-size:11.5px!important}
}

@media(max-width:780px){
 body #experiences .experience-actions .line-link{font-size:clamp(9px,2.7vw,10.5px)!important;letter-spacing:.035em!important;white-space:nowrap;max-width:100%;width:max-content;line-height:1.5}
}

/* Desktop: align the title with the face in the capped portrait image. */
@media(min-width:781px){
 body main#top .hero-inner{position:static}
 body main#top .hero-copy{position:absolute;top:calc(58% - min(21vw,274px) - 8px);left:max(5%,calc((100% - 1100px)/2));max-width:min(790px,90%)}
 body main#top .hero h1{margin-top:0}
}

/* Desktop final spacing: raise only the title; keep actions fixed and balance the space below. */
@media(min-width:781px){
 body main#top .hero h1{transform:translateY(-32px)}
 body main#top .hero-actions{margin-bottom:56px}
}

/* Formula overview: both offers and their actions within one desktop screen. */
@media(min-width:781px){
 body .formula-page .page-hero{min-height:0;padding-top:25px;padding-bottom:25px}
 body .formula-page .page-hero h1{font-size:40px;line-height:1.15;margin-bottom:12px}
 body .formula-page .page-hero p{font-size:14px;line-height:1.5;max-width:850px}
 body .formula-page .formula-stage{padding-top:22px;padding-bottom:24px}
 body .formula-page .formula-card-stack{gap:14px}
 body .formula-page .formula-product-card{min-height:0;padding:20px 26px;gap:24px}
 body .formula-page .formula-card-copy h2{margin:0 0 8px;line-height:1.2!important}
 body .formula-page .formula-card-copy p{font-size:13px;line-height:1.5;max-width:610px}
 body .formula-page .formula-card-copy p.formula-session-detail{margin-top:7px;font-size:11px!important;line-height:1.4}
 body .formula-page .formula-card-action{gap:12px}
 body .formula-page .formula-card-action strong{font-size:22px}
 body .formula-page .formula-notes{margin-top:14px}
 body .formula-page .formula-notes p{font-size:11px;line-height:1.45;margin:4px 0}
}

/* Formula mobile overview: expose the start of both offers. */
@media(max-width:780px){
 body .formula-page .page-hero{min-height:0;padding:20px 24px 22px}
 body .formula-page .page-hero h1{font-size:32px;line-height:1.15;margin:0 0 10px}
 body .formula-page .page-hero p{font-size:13px;line-height:1.5}
 body .formula-page .formula-stage{padding:18px 20px 28px}
 body .formula-page .formula-card-stack{gap:14px}
 body .formula-page .formula-product-card{padding:20px;gap:14px}
 body .formula-page .formula-card-copy h2{margin-bottom:10px;font-size:24px!important}
 body .formula-page .formula-card-copy p{font-size:13px;line-height:1.5}
 body .formula-page .formula-card-copy p.formula-session-detail{font-size:11px!important;line-height:1.4;margin-top:8px}
 body .formula-page .formula-card-action{gap:10px}
 body .formula-page .formula-card-action strong{font-size:21px}
 body .formula-page .formula-notes{margin-top:16px}
}

@media(min-width:781px){body .formula-page{min-height:calc(100svh - 108px);background:#f2eee6}}

/* Consistent mobile editorial rhythm across gifts and experience pages. */
body .experience-need{font-size:13px!important;line-height:1.6!important;color:#ded5c6;margin:14px 0 0}
@media(max-width:780px){
 body .mobile-editorial-page .page-hero{min-height:0;padding:20px 24px 22px}
 body .mobile-editorial-page .page-hero h1,body .mobile-editorial-page .detail-hero h1{font-size:32px;line-height:1.15;margin:0 0 12px}
 body .mobile-editorial-page .page-hero p,body .mobile-editorial-page .detail-hero p{font-size:13px!important;line-height:1.5!important;margin:0 0 10px}
 body .mobile-editorial-page .detail-hero{padding:24px 24px 28px;gap:24px}
 body .mobile-editorial-page .detail-kicker{display:block;font-size:10px;line-height:1.4;margin-bottom:12px}
 body .mobile-editorial-page .experience-need{font-size:12px!important;margin:12px 0 0!important}
 body .mobile-editorial-page .cocon-facts{margin:20px 0;gap:12px 28px}
 body .mobile-editorial-page .cocon-facts dt{font-size:10px;margin-bottom:4px}
 body .mobile-editorial-page .cocon-facts dd{font-size:13px}
 body .mobile-editorial-page .cocon-portrait{aspect-ratio:4/3;max-width:360px}
 body .lunaire-page .cocon-portrait img{object-fit:contain;background:#1d1c19}
 body .mobile-editorial-page .page-panel,body .mobile-editorial-page .detail-section{padding:26px 24px 28px}
 body .mobile-editorial-page h2{font-size:22px!important;line-height:1.3!important;margin-bottom:14px!important}
 body .mobile-editorial-page .detail-section p,body .mobile-editorial-page .page-panel p,body .mobile-editorial-page .page-panel li{font-size:13px!important;line-height:1.55!important}
 body .mobile-editorial-page .detail-section p{margin:0 0 10px}
 body .mobile-editorial-page .detail-subnav{padding:14px 24px;gap:10px 18px;font-size:11px;line-height:1.5}
 body .mobile-editorial-page .detail-faq summary{font-size:14px;line-height:1.5}
 body .mobile-editorial-page .detail-faq details{padding:13px 0}
 body .mobile-editorial-page .detail-related{gap:12px}
 body .mobile-editorial-page .detail-related a{padding:18px;font-size:19px}
 body .mobile-editorial-page .detail-related a span{font-size:11px;margin-bottom:7px}
 body .gift-page .gift-top-cta{margin:0 0 22px}
 body .gift-page .gift-row{padding:22px 0;gap:10px}
 body .gift-page .gift-row h2{font-size:22px!important;line-height:1.3!important;margin:0!important}
 body .gift-page .gift-row ul{margin-bottom:14px}
 body .gift-page .gift-row li{margin-bottom:8px}
 body .gift-page .gift-steps{margin-bottom:0}
 body .private-page .private-product-card{padding:20px;min-height:0;gap:16px}
 body .private-page .private-card-copy h2{margin-bottom:10px!important}
 body .private-page .private-product-card p{font-size:13px!important;line-height:1.55!important}
}

/* Desktop formulas: distribute the viewport through the offers, without a blank filler below. */
@media(min-width:781px){
 body .formula-page{height:calc(100svh - 108px);min-height:630px;display:flex;flex-direction:column}
 body .formula-page .page-hero{flex:0 0 auto;padding-top:clamp(24px,4svh,44px);padding-bottom:clamp(24px,4svh,44px)}
 body .formula-page .page-hero h1{font-size:clamp(40px,3.4vw,50px);margin-bottom:16px}
 body .formula-page .page-hero p{font-size:15px;line-height:1.6;max-width:900px}
 body .formula-page .formula-stage{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:clamp(20px,3svh,32px);padding-bottom:24px}
 body .formula-page .formula-card-stack{flex:1;grid-template-rows:repeat(2,minmax(min-content,1fr));gap:clamp(16px,2.4svh,26px);margin:0;width:100%;max-width:none}
 body .formula-page .formula-product-card{padding:22px 30px;align-items:center}
 body .formula-page .formula-card-copy h2{font-size:28px!important;margin-bottom:12px}
 body .formula-page .formula-card-copy p{font-size:14px;line-height:1.6;max-width:620px}
 body .formula-page .formula-card-copy p.formula-session-detail{font-size:12px!important;line-height:1.5;margin-top:12px}
 body .formula-page .formula-card-action{gap:18px}
 body .formula-page .formula-card-action strong{font-size:24px}
 body .formula-page .formula-notes{flex:0 0 auto;width:100%;max-width:none;margin:18px 0 0}
 body .formula-page .formula-notes p{font-size:12px;line-height:1.5}
}
