/* Retraites.org — finition signature / référence v3.5 */
:root{--navy:#041124;--ink:#071326;--cyan:#00a9bd;--acid:#c9f31d;--ice:#f1f6fa;--line:#d7e1e9;--muted:#526174;--shadow:0 28px 70px rgba(4,17,36,.11)}
body{font-size:17px;line-height:1.62;text-rendering:optimizeLegibility}
.shell{width:min(1600px,calc(100% - 96px))}
.site-header{border:0;box-shadow:0 1px 0 rgba(7,19,38,.12)}
.header-inner{min-height:88px}.brand{min-width:205px;font-size:1.32rem}.brand i{height:4px}.header-inner nav{gap:40px}.header-inner nav a{position:relative;font-size:.92rem}.header-inner nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--cyan);transition:.2s}.header-inner nav a:hover:after{right:0}
.button{min-height:52px;padding:13px 24px;border-radius:5px;letter-spacing:-.01em;transition:transform .18s,box-shadow .18s}.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(4,17,36,.16)}
.desktop-cta{margin-left:auto;padding-inline:28px}

.hero-reference,.hero-reference .hero-content{min-height:620px}
.hero-reference>img{object-position:67% 42%;filter:saturate(.82) contrast(1.05)}
.hero-reference .hero-overlay{background:linear-gradient(90deg,rgba(1,7,18,.99) 0%,rgba(1,7,18,.94) 35%,rgba(1,7,18,.47) 60%,rgba(1,7,18,.08) 100%)}
.hero-reference .hero-content{padding-block:62px}
.hero-reference .hero-copy{max-width:820px}
.hero-reference .hero-copy h1{max-width:820px;font-size:clamp(4.6rem,5.2vw,6.25rem);letter-spacing:-.06em;line-height:.92}
.hero-reference .hero-copy h1 span{max-width:750px;margin-top:13px}
.hero-reference .hero-copy .lead{max-width:730px;font-size:1.22rem;line-height:1.55;color:#eef4f9}
.hero-reference .hero-note{color:#c3d0dc;font-size:.78rem}
.hero-reference .hero-dashboard{right:0;bottom:50px;width:700px;padding:8px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(3,17,37,.92);box-shadow:0 28px 80px rgba(0,0,0,.38)}
.hero-reference .dashboard-grid{border:0;background:transparent}
.hero-reference .dashboard-grid a{min-height:102px;padding:18px 22px;border-right:1px solid rgba(255,255,255,.14);background:transparent}
.hero-reference .dashboard-grid a:last-child{border:0}
.hero-reference .dashboard-grid strong{font-size:2.25rem}
.trust{border:0;background:#07172c}.trust-grid>div{min-height:98px;padding:25px 30px}.trust-grid b{font-size:.92rem}.trust-grid span{margin-top:4px;font-size:.82rem}

.section{padding-block:125px}.eyebrow{margin-bottom:17px;font-size:.72rem;letter-spacing:.19em}.section-head{margin-bottom:56px;align-items:end}.section-head h2,.tools-title h2,.proof-copy>h2,.final-cta h2{font-size:clamp(3.15rem,4vw,5rem);letter-spacing:-.055em;line-height:.98}.section-head>p{font-size:1.1rem;line-height:1.65}
.portal-intro{padding-top:138px;padding-bottom:130px}.portal-intro:before,.featured-section:before,.directory-section:before{right:.02em;top:-.04em;color:rgba(4,17,36,.028)}
.journey-grid{gap:0;border-top:1px solid #aab8c4;border-bottom:1px solid #aab8c4}
.journey-card{min-height:270px;padding:36px;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none}.journey-card:last-child{border-right:0}.journey-card:hover{z-index:2;transform:translateY(-8px);box-shadow:0 24px 55px rgba(4,17,36,.13)}
.journey-card>span{border-radius:0;background:transparent;border:1px solid var(--line);font-size:.8rem}.journey-card b{font-size:1.42rem}.journey-card p{font-size:.93rem}.journey-card--cyan,.journey-card--blue,.journey-card--acid,.journey-card--navy{border-top:4px solid}.journey-card--cyan{border-top-color:var(--cyan)}.journey-card--blue{border-top-color:#3975dd}.journey-card--acid{border-top-color:var(--acid)}.journey-card--navy{border-top-color:var(--navy)}

.featured-section{padding-block:132px;background:#eef4f8}.reference-grid{gap:14px}.reference-card{border-radius:4px;box-shadow:none}.reference-card:first-child{background:linear-gradient(135deg,#041124,#0b2a49)}.reference-card:nth-child(7){background:#dff6f8}.reference-card:nth-child(8){background:#e9eefc}.reference-card h3{letter-spacing:-.04em}.reference-card p{font-size:.94rem;line-height:1.6}.reference-card ul{font-size:.86rem}.reference-card>a{font-size:.9rem}

.situation-section{padding-block:135px;background:radial-gradient(circle at 86% 18%,#123a61 0,transparent 30%),#041124}.situation-layout{grid-template-columns:.72fr 1.28fr;gap:150px}.situation-copy h2{font-size:clamp(3.6rem,4.7vw,5.5rem);letter-spacing:-.06em;line-height:.91}.situation-copy>p:not(.eyebrow){font-size:1.08rem;line-height:1.7}.situation-links{border-top-color:rgba(255,255,255,.25)}.situation-links a{padding:25px 20px;font-size:1rem;border-bottom-color:rgba(255,255,255,.2)}

.profile-section{padding-block:125px}.profile-editorial{gap:32px}.profile-visual{min-height:700px;border-radius:4px}.profile-visual__copy{padding:58px}.profile-visual__copy h2{font-size:clamp(3.5rem,4.4vw,5.3rem);line-height:.93;letter-spacing:-.06em}.profile-grid{gap:16px}.profile-grid>a{min-height:342px;padding:36px;border-radius:4px;box-shadow:none}.profile-grid>a:hover{box-shadow:0 22px 55px rgba(4,17,36,.1)}.profile-grid h3{font-size:1.6rem}.profile-grid p{font-size:.96rem}.profile-icon{width:46px;height:46px;border-radius:3px}

.tools-showcase{padding-block:135px}.tools-title{max-width:940px;margin-bottom:55px}.tools-title p:not(.eyebrow){max-width:760px;font-size:1.1rem}.tool-grid{gap:16px}.tool-card{border-radius:4px}.tool-card--primary{min-height:620px;padding:60px}.tool-card--primary h3{font-size:clamp(3.3rem,4vw,5rem);line-height:.95;letter-spacing:-.055em}.tool-card:not(.tool-card--primary){padding:38px}.tool-card span{font-size:.9rem}

.method-proof{padding-block:145px}.proof-grid{grid-template-columns:.92fr 1.08fr;gap:135px}.proof-photo img{min-height:640px;border-radius:4px}.proof-badge{right:-30px;bottom:42px;width:215px;padding:25px}.proof-copy{padding-left:25px}.proof-copy>h2{font-size:clamp(3.4rem,4.3vw,5.1rem)}.proof-copy>.large{font-size:1.12rem}.proof-list>div{grid-template-columns:58px 1fr;padding:18px 0}

.directory-section{padding-block:130px;background:#eef4f8}.directory-grid{gap:16px}.directory-column{padding:32px;border-radius:0;box-shadow:none}.directory-heading{border-bottom-width:2px}.directory-column>a{padding:13px 0;font-size:.91rem}.directory-column:hover{box-shadow:0 24px 60px rgba(4,17,36,.1)}
.final-cta{padding-block:105px;background:linear-gradient(120deg,#041124,#081b35)}.final-cta-inner>div{max-width:880px}.final-cta h2{max-width:760px}.final-cta p:not(.eyebrow){max-width:780px}
.footer{padding-top:85px}.footer-grid{gap:100px}.footer-bottom{margin-top:70px}

@media(max-width:1580px){.shell{width:min(1420px,calc(100% - 64px))}.hero-reference .hero-copy{max-width:720px}.hero-reference .hero-copy h1{max-width:720px;font-size:4.9rem}.hero-reference .hero-dashboard{width:610px}.situation-layout{gap:100px}.proof-grid{gap:90px}}
@media(max-width:1250px){.shell{width:min(1160px,calc(100% - 48px))}.section{padding-block:100px}.hero-reference .hero-copy h1{font-size:4.2rem}.hero-reference .hero-dashboard{width:520px}.profile-editorial{grid-template-columns:1fr}.profile-visual{min-height:620px}.profile-grid>a{min-height:290px}.proof-grid{gap:65px}}
@media(max-width:1050px){.header-inner{min-height:78px}.shell{width:min(100% - 42px,980px)}.hero-reference,.hero-reference .hero-content{min-height:600px}.hero-reference .hero-copy h1{font-size:4rem}.situation-layout{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr 1fr}.tool-card--primary{min-height:460px}.proof-grid{grid-template-columns:1fr}.proof-photo img{min-height:520px}}
@media(max-width:700px){body{font-size:16px}.shell{width:min(100% - 30px,660px)}.section{padding-block:72px}.hero-reference,.hero-reference .hero-content{min-height:620px}.hero-reference .hero-copy h1{font-size:3.25rem}.hero-reference .hero-copy .lead{font-size:1rem}.trust-grid>div{min-height:auto}.section-head h2,.tools-title h2,.proof-copy>h2,.final-cta h2{font-size:2.65rem}.journey-grid{border-bottom:0}.journey-card{min-height:190px;border-right:0;border-bottom:1px solid var(--line)}.situation-copy h2{font-size:3.1rem}.profile-visual{min-height:570px}.profile-visual__copy{padding:28px}.profile-visual__copy h2{font-size:2.8rem}.profile-grid{grid-template-columns:1fr}.profile-grid>a{min-height:250px}.tool-card--primary{min-height:460px;padding:34px}.tool-card--primary h3{font-size:2.8rem}.proof-photo img{min-height:400px}.proof-badge{right:10px;width:175px}.footer{padding-top:65px}}
