/*
Theme Name: CRLF — Centre Ressource Lipœdème France
Theme URI: https://crlf.fr
Author: Centre Ressource Lipœdème France
Version: 1.0.0
WPVibe: yes
*/
:root{--paper:#FAFAF8;--indigo:#1C1468;--night:#130D4F;--coral:#FF9373;--ink:#130D4F;--muted:#5a5478;--line:#e6e4ee;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;--max:1440px;--pad:clamp(28px,5.5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--night)}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.7 var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 2*var(--pad)));margin:auto}.eyebrow{margin:0;color:var(--indigo);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.lede{max-width:68ch;color:var(--muted);font-size:21px;line-height:1.6}.serif,h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.02em}h1{font-size:clamp(52px,7vw,92px);margin:18px 0 28px}h2{font-size:clamp(44px,5vw,74px);margin:0 0 24px}h3{font-size:32px;color:var(--indigo);margin:0 0 16px}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(250,250,248,.95);backdrop-filter:blur(12px)}.header-inner{min-height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand img{width:205px;height:auto;max-height:72px;object-fit:contain;border-radius:0}.brand strong{font-size:13px;letter-spacing:.16em;color:var(--indigo)}.nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:600}.nav a:hover,.nav a.current{color:var(--indigo)}.nav a.current{color:var(--indigo);text-decoration:none;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.86);box-shadow:0 7px 20px rgba(19,13,79,.12),inset 0 1px rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:9px 14px;border-radius:999px}.header-why.current{background:rgba(255,255,255,.62);border-color:rgba(28,20,104,.35);box-shadow:0 7px 20px rgba(19,13,79,.12),inset 0 1px rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-cta.current{box-shadow:inset 0 -4px var(--indigo)}.mobile-why{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;border:1px solid var(--indigo);font-size:14px;font-weight:700;transition:.2s}.btn-primary{background:var(--indigo);color:#fff}.btn-primary:hover{background:var(--night)}.btn-ghost{color:var(--indigo)}.btn-ghost:hover{background:var(--indigo);color:#fff}.menu-toggle{display:none;border:0;background:none;color:var(--indigo);font-size:24px}.hero{display:grid;grid-template-columns:1fr 1.05fr;min-height:660px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:80px var(--pad);max-width:720px;margin-left:auto}.hero-copy p:not(.eyebrow){max-width:48ch;color:var(--muted);font-size:17px;margin:0 0 34px}.hero-visual{min-height:660px;background:var(--paper);position:relative;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover}.actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:140px 0}.section.alt{background:#f1f0f6}.section-head{max-width:920px;margin-bottom:48px}.section-head h2 + .lede{margin-top:0}.lipoedema-stages .section-head{margin-bottom:40px}.lipoedema-stages .split{align-items:start;gap:48px}.lipoedema-visuals{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;background:transparent}.stage-figure{margin:0;min-width:0}.stage-figure img{width:100%;height:360px;min-height:0;object-fit:cover;object-position:center;border-radius:24px;background:transparent;border:0}.stage-figure figcaption{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.stage-figure figcaption a{text-decoration:underline;color:var(--indigo)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards.four{grid-template-columns:repeat(4,1fr)}.card{padding:42px 36px;background:var(--paper);border:1px solid var(--line)}.card .num{display:block;color:var(--indigo);font:32px var(--serif);margin-bottom:16px}.card p{color:var(--muted);font-size:17px;line-height:1.65}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px}.split-media{min-height:430px;background:linear-gradient(145deg,#d9d7e6,var(--coral));position:relative}.split-media img{width:100%;height:100%;min-height:430px;object-fit:cover}.points{list-style:none;padding:0;margin:28px 0 34px}.points li{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid var(--line);color:var(--indigo);font-weight:700}.points span{color:var(--muted);font-weight:400;font-size:14px;text-align:right}.media-section{padding:112px 0;background:var(--indigo);color:#fff}.media-section h2,.media-section .eyebrow{color:#fff}.media-section .lede{color:rgba(255,255,255,.9)}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}.media-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16)}.media-card-link{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.media-card-link:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.55);box-shadow:0 16px 32px rgba(19,13,79,.22)}.media-card img{width:100%;height:210px;object-fit:cover}.media-card .body{padding:24px}.media-card h3{color:#fff}.media-card p{color:rgba(255,255,255,.88);font-size:14px}.card-link-label{display:inline-block;margin-top:18px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em}.cta{padding:88px 0;background:#fff0eb;text-align:center}.adhesion-cta{background:#fff}.cta .lede{margin:0 auto 28px}.site-footer{padding:72px 0 28px;background:var(--night);color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.14)}.site-footer p,.site-footer a{color:rgba(255,255,255,.86);font-size:14px}.site-footer h4{font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.site-footer .brand img{width:220px;max-height:84px}.social-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.social-card{display:grid;gap:10px;padding:34px;background:var(--paper);border:1px solid var(--line);color:var(--indigo);transition:.2s}.social-card:hover{transform:translateY(-3px);border-color:var(--coral)}.social-card strong{font:32px var(--serif)}.social-card span:last-child{color:var(--muted);font-size:14px}.social-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.social-card-dark{background:var(--indigo);color:#fff;border-color:var(--indigo)}.social-card-dark span:last-child{color:rgba(255,255,255,.72)}.instagram-profile{display:flex;align-items:center;gap:14px}.instagram-profile img{width:62px;height:62px;border-radius:50%;object-fit:cover}.instagram-profile div{display:grid;gap:4px}.instagram-profile strong{font:28px var(--serif)}.instagram-profile span{font-size:14px;color:var(--muted)}.instagram-card p{color:var(--muted);margin:0}.legal{display:flex;justify-content:space-between;padding-top:22px;color:rgba(255,255,255,.72);font-size:12px}.page-hero{padding:88px 0 60px;background:#f1f0f6;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(48px,6vw,76px)}.form{display:grid;gap:16px}.form label{display:grid;gap:7px;color:var(--indigo);font-size:13px;font-weight:700}.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);padding:13px 15px;background:#fff;color:var(--ink)}.form textarea{min-height:150px}.notice{padding:42px;border:1px dashed var(--line);color:var(--muted);background:#fff}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price{padding:34px 30px;border:1px solid var(--line);background:var(--paper)}.price.featured{background:var(--indigo);color:#fff;border-color:var(--indigo)}.price h3{color:var(--indigo)}.price.featured h3,.price.featured .amount{color:#fff}.amount{font:clamp(48px,5vw,66px) var(--serif);line-height:.95;font-weight:600;color:var(--indigo);margin:16px 0}.price ul{padding:0;margin:22px 0 28px;list-style:none;color:var(--muted);font-size:14px}.price.featured ul{color:rgba(255,255,255,.78)}.price li{padding:8px 0;border-top:1px solid var(--line)}.price .btn{width:100%;margin-top:8px}.price.featured li{border-color:rgba(255,255,255,.16)}.lipoedema-visuals{min-height:0;display:grid;gap:16px;background:transparent}.lipoedema-visuals img{width:100%;height:300px;min-height:0;object-fit:contain;background:#fff;border:1px solid var(--line)}.lipoedema-visuals .caption{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.lipoedema-visuals .caption a{text-decoration:underline;color:var(--indigo)}.steps-section .steps-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.steps-section .steps-grid .card{grid-column:span 2}.steps-section .steps-grid .card:nth-child(4){grid-column:2 / span 2}.steps-section .steps-grid .card:nth-child(5){grid-column:4 / span 2}.lipoedema-stages .stages-grid{grid-template-columns:repeat(2,1fr);gap:16px}.lipoedema-stages .lipoedema-visuals{grid-template-columns:repeat(2,minmax(0,1fr))}.lipoedema-stages .stages-grid .card{padding:26px 22px}.adhesion-page .section-head{max-width:820px}.adhesion-page .impact-grid{margin-top:40px}.content-break{height:22px}.header-why{white-space:nowrap}.adhesion-offers .cards{grid-template-columns:repeat(3,1fr);gap:28px}.adhesion-offers .card{min-height:500px;padding:52px 48px;display:flex;flex-direction:column;align-items:flex-start}.adhesion-offers .card h3{font-size:38px;margin-bottom:34px}.adhesion-offers .card .amount{font-size:clamp(64px,6vw,88px);margin:0 0 42px}.adhesion-offers .card p:not(.amount){font-size:20px;line-height:1.55}.adhesion-offers .card .btn{margin-top:auto}main{background:var(--paper);animation:none}@keyframes page-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}body.is-leaving main{opacity:0;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease}.split-media{border-radius:24px;overflow:hidden}.split-media img{border-radius:0}.hero-visual{border-radius:24px;overflow:hidden}.hero-visual img{border-radius:0}.visual-feature .split-media{min-height:360px}.visual-feature .split-media img{min-height:360px}.lipoedema-visuals{border-radius:0;overflow:visible}.lipoedema-visuals img{border-radius:24px}.btn{border-radius:999px;box-shadow:0 7px 20px rgba(19,13,79,.12),inset 0 1px rgba(255,255,255,.2);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 11px 26px rgba(19,13,79,.16),inset 0 1px rgba(255,255,255,.3)}.card,.price,.notice,.social-card,.media-card{border-radius:24px;box-shadow:0 8px 24px rgba(19,13,79,.08)}.card,.price,.notice,.social-card,.media-card{overflow:hidden}main img{border-radius:24px}.brand img,.site-footer .brand img{border-radius:0}.instagram-profile img{border-radius:50%}.media-card img{border-radius:0}.header-why.current{border-radius:999px}@media(max-width:900px){.steps-section .steps-grid{grid-template-columns:1fr}.steps-section .steps-grid .card,.steps-section .steps-grid .card:nth-child(4),.steps-section .steps-grid .card:nth-child(5){grid-column:auto}.lipoedema-stages .stages-grid{grid-template-columns:1fr}.lipoedema-stages .lipoedema-visuals{grid-template-columns:1fr}.brand img{width:150px}.site-footer .brand img{width:190px}.social-grid{grid-template-columns:1fr}.nav{display:none;position:absolute;left:0;right:0;top:82px;padding:18px var(--pad);background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-toggle{display:block}.header-cta,.header-why{display:none}.mobile-why{display:block}.hero{grid-template-columns:1fr}.hero-visual{min-height:420px}.hero-copy{min-height:560px}.cards,.cards.four,.media-grid,.price-grid,.split,.footer-grid,.adhesion-offers .cards{grid-template-columns:1fr}.section{padding:78px 0}.split{gap:36px}.legal{display:block}.legal span{display:block;margin-top:6px}}
/* Consistent spacing between supporting text and calls to action */
.card p + .btn,.notice p + .btn,.split p + .btn,.cta p + .btn{margin-top:28px}

/* Hero image framing */
.hero-visual{min-height:560px;height:560px;align-self:center;border-radius:24px 0 0 24px;overflow:hidden}.hero-visual img{height:100%;object-fit:cover;object-position:center}
@media(max-width:900px){.hero-visual{min-height:420px;height:420px;border-radius:24px 0 0 24px}}

/* Show full hero statue */
.hero-visual{background:#697477}.hero-visual img{object-fit:contain;object-position:center}

/* Full-screen desktop hero */
@media(min-width:901px){.hero{min-height:calc(100vh - 82px);height:calc(100vh - 82px)}.hero-copy,.hero-visual{min-height:0;height:100%}.hero-visual img{object-fit:cover;object-position:center}}
@media(max-width:900px){.hero{height:auto;min-height:0}.hero-visual{height:420px;min-height:420px}.hero-visual img{object-fit:cover;object-position:center}}

/* 16:9 hero framing */
@media(min-width:901px){.hero-visual{height:auto;min-height:0;aspect-ratio:16/9;align-self:center}.hero-visual img{height:100%;object-fit:cover;object-position:center}}
@media(max-width:900px){.hero-visual{height:auto;min-height:0;aspect-ratio:16/9}.hero-visual img{height:100%;object-fit:cover;object-position:center}}

/* Hero copy alignment */
@media(min-width:901px){.hero-copy{transform:translate(-60px,-36px)}}

/* Hero image proportion */
@media(min-width:901px){.hero{grid-template-columns:.92fr 1.08fr}.hero-visual{width:100%;aspect-ratio:16/9;align-self:center}}

/* Hero image follows layout guides */
@media(min-width:901px){.hero{grid-template-columns:44% 56%}.hero-visual{width:100%;height:60vh;min-height:0;aspect-ratio:auto;align-self:center}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-visual{height:420px;min-height:420px;aspect-ratio:auto}}

/* Footer logo spacing */
.site-footer .brand{margin-bottom:18px}
.social-preview{min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:18px;background:rgba(28,20,104,.06);border:1px solid var(--line);border-radius:18px;color:var(--muted);text-align:center}.social-card-dark .social-preview{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.82)}.social-preview p{margin:0;font-size:14px}.social-preview img{width:58px;height:58px;object-fit:contain;border-radius:50%;margin:0}.social-preview strong{font-family:var(--serif);font-size:22px;color:var(--indigo)}.social-card-dark .social-preview strong{color:#fff}.social-preview span{font-size:13px;text-align:center}.social-card-dark .social-preview span{color:rgba(255,255,255,.78)}.social-preview .btn{margin-top:0}.social-preview-tiktok blockquote{margin:0;width:100%;min-height:150px}.social-preview-youtube{min-height:112px}.youtube-subscribe{min-height:28px;display:flex;align-items:center}.youtube-preview-message{font-size:14px;color:var(--muted)}.social-grid .social-card{min-height:420px;display:flex;flex-direction:column;gap:18px}.social-grid .social-card .btn{margin-top:auto}

/* Pictogrammes et repères visuels */
.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow::before{content:"✦";color:var(--coral);font-size:14px;line-height:1}.btn::after{content:"↗";font-size:15px;margin-left:10px;line-height:1;transition:transform .2s ease}.btn:hover::after{transform:translate(2px,-2px)}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:7px;border:1px solid currentColor;border-radius:50%;font-size:12px;line-height:1;vertical-align:-2px}.social-icon-youtube{background:#ff0033;color:#fff;border-color:#ff0033;font-size:10px}.social-icon-instagram{font-size:16px}.social-icon-tiktok{font-size:14px}.site-footer li a{display:inline-flex;align-items:center;transition:color .2s ease,transform .2s ease}.site-footer li a:hover{transform:translateX(3px);color:#fff}.social-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.social-grid .social-card{min-height:420px;display:flex;flex-direction:column;gap:18px}.social-grid .social-card .btn{margin-top:auto}.social-grid .social-card .notice{margin:0}.social-card-youtube{background:#fff;color:var(--indigo)}.social-card-youtube{background:#fff;color:var(--indigo)}.social-card-youtube .social-label{color:var(--indigo)}.social-card-youtube strong{color:var(--indigo)}.social-card-youtube p{color:var(--muted)}@media(max-width:900px){.social-grid{grid-template-columns:1fr}}

/* Hero copy moves right */
@media(min-width:901px){.hero-copy{transform:translate(120px,-36px)}}

/* Safe hero copy alignment */
@media(min-width:901px){.hero-copy{transform:translate(0,-36px);max-width:720px;overflow:visible}}

/* Lift hero content slightly */
@media(min-width:901px){.hero-copy{transform:translate(0,-52px)}.hero-visual{transform:translateY(-24px)}}

/* More air above the hero headline */
.hero-copy > .eyebrow{position:relative;top:10px;margin-bottom:10px}
