/* Lyon Prévoyance & Patrimoine — clear blue, personal advice, generous space. */
:root{--ink:#142d4e;--muted:#55667b;--paper:#fff;--accent:#163d9a;--line:#dce3ed;--blue:#00008f;--soft:#f2f5fa}
body{background:var(--paper)}
h1,h2,h3{letter-spacing:-.04em}em{color:var(--accent)}
.topbar{background:#142d4e;font-size:13px;padding:9px 5%}
header{padding:22px 5%;gap:28px;background:white}
.brand{gap:13px;line-height:1.2;flex-shrink:0}
.brand-city{font-family:Georgia,serif;font-size:43px;font-weight:400;letter-spacing:-2px}
.brand-dot{color:#ed2335}
.brand-specialties{border-left:1px solid #cad3e1;padding-left:13px;font-size:16px;line-height:1.4;font-weight:600;letter-spacing:-.025em}
.brand-specialties>span{font-weight:400}
nav{margin-left:auto;gap:24px;font-size:14px}
nav details div{top:32px;border:1px solid var(--line);box-shadow:0 14px 35px #142d4e12}
nav a:not(.button):hover,nav summary:hover{color:var(--accent)}
.axa-signature{display:flex;align-items:center;border-left:1px solid var(--line);padding-left:25px;flex-shrink:0}
.axa-signature img{width:52px;height:52px;object-fit:contain}
.button{background:var(--blue);border-color:var(--blue);border-radius:5px;font-size:15px;gap:18px;min-height:50px}
.button:hover{background:#1515a5;box-shadow:0 7px 18px #00008f14}
.button.small{font-size:14px;padding:13px 19px;white-space:nowrap}
.hero{grid-template-columns:1.16fr 1fr;padding:60px 5% 64px;gap:7%;align-items:center;max-width:1400px}
.eyebrow{font-size:12px;letter-spacing:.13em;line-height:1.6}
.hero h1{font-size:clamp(46px,4.8vw,69px);line-height:1.08;font-weight:500;margin:24px 0}
.hero h1 em{letter-spacing:-.04em;white-space:nowrap}
.hero-copy>p{font-size:18px;max-width:495px;line-height:1.75;margin-bottom:27px}
.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:15px}
.hero-contact{font-size:14px;border-bottom:1px solid #a4b2c7;padding-bottom:3px}
.hero-sign{font-size:15px;margin-top:33px;gap:13px}
.hero-sign small{font-size:13px;margin-top:3px;line-height:1.55}
.hero-sign .line{width:28px;background:#ed2335;height:2px;flex-shrink:0}
.hero-visual{margin:0;min-height:0;width:100%;aspect-ratio: .92;border-radius:8px;max-height:none;background:#e7ebf1;box-shadow:18px 18px 0 #f0f3f8}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hero-visual:after{background:linear-gradient(0deg,rgba(12,28,50,.9),rgba(12,28,50,.25) 22%,transparent 43%)}
.visual-label{left:29px;right:25px;bottom:26px}
.visual-label span{font-size:12px;letter-spacing:.13em;color:#e0e7f1}
.visual-label p{font-family:'Manrope',sans-serif;font-size:27px;line-height:1.3;margin:8px 0 4px}
.visual-label small{font-size:14px;color:#e0e7f1;line-height:1.4}
.audience{background:var(--soft);font-size:14px;padding:25px 5%;gap:24px}
.audience>span{font-size:13px;max-width:165px}
.section{max-width:1400px;padding:78px 5%}
.section-head>p{font-size:16px;max-width:355px}
.services{gap:20px}.service-card{border-radius:6px;padding:30px;background:#fff}
.service-card:hover{background:#f8faff;box-shadow:0 8px 25px #142d4e08}
.service-card h3{font-size:25px}.service-card p{font-size:16px;min-height:120px;line-height:1.65}
.card-num{font-size:14px;color:#5975a0;margin-bottom:27px}.more{font-size:14px}
.about{background:var(--soft);padding:75px 7%;gap:7%;grid-template-columns:1fr 1.1fr}
.about-mark{background:#142d4e;padding:42px;border-radius:7px;min-height:365px;gap:25px}
.about-mark>.eyebrow{font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.14em;color:#c4d4ed}
.about-mark blockquote{margin:0;font-family:Georgia,serif;font-size:clamp(25px,2.8vw,37px);line-height:1.35;letter-spacing:-.02em}
.about-mark blockquote em{color:#bcd0ff}
.advisor-signature{display:flex;align-items:center;gap:15px;border-top:1px solid #ffffff30;padding-top:24px}
.advisor-signature img{width:52px;height:52px;flex-shrink:0}
.advisor-signature p{font:600 15px/1.5 'DM Sans',sans-serif;color:#fff;margin:0}
.advisor-signature small{font-size:13px;color:#d1ddec;font-weight:400}
.about>div>p{font-size:16px}.steps p{font-size:16px}
.blog-home{max-width:none;background:#f8faff}
.article-art{background:#e7eef9;border-radius:5px}.art1{background:#e4e7f5}.art2{background:#e5eef0}
.article-art span{font-size:12px;letter-spacing:.11em}.article-art b{color:#23477c}
.contact-banner{background:#142d4e;padding:60px 7%}.contact-banner .eyebrow{color:#c7d9ff}
.white{background:white;color:#142d4e;border-color:white}.white:hover{background:#e8eefb;color:#142d4e}
footer{background:#f3f6fa;padding:55px 5% 25px}.footer-top{font-size:14px;grid-template-columns:1.4fr 1fr 1fr 1fr}
.footer-top .footer-brand{font:500 23px/1.4 'Manrope',sans-serif;letter-spacing:-.04em}
.footer-top .footer-advisor{font-weight:600;color:var(--ink);margin-bottom:8px}
.footer-bottom{font-size:12px;border-color:var(--line);gap:25px}
.page-hero,.discovery-intro{background:#f2f5fa}.page-hero h1{max-width:1000px}
.breadcrumb,.article-end{font-size:14px}.contact-box,.discovery-entry{background:#f2f5fa!important;border-radius:7px}
.contact-portrait{width:144px;height:144px;object-fit:cover;object-position:center 22%;border-radius:50%;margin-bottom:24px}
.contact-grid a{overflow-wrap:anywhere}.contact-box small{font-size:14px}
.discovery-advisor{display:flex;align-items:center;gap:13px;margin-bottom:32px}
.discovery-advisor img{border-radius:50%;width:64px;height:64px;object-fit:cover;object-position:center 25%;flex-shrink:0}
.discovery-advisor b{font-size:14px}.discovery-advisor span{display:block;font-size:13px;color:var(--muted);line-height:1.5}
.discovery-panel{border-radius:7px;box-shadow:0 8px 25px #142d4e05}
.need-card{border-radius:6px}.need-card:has(input:checked){background:#eef3ff}
.need-card>span:last-child{font-size:14px}.check-choice:has(input:checked),.email-note{background:#eef3ff}
.discovery-aside li.done>span{background:#e8efff;border-color:#e8efff}
.privacy-note,.discovery-notes,.progress-caption,.required-note,.question-group small,.discovery-footnote{font-size:14px}
.question-group input:not([type=checkbox]),.question-group select,.question-group textarea{background:#fff;border-color:#c1cbdc}
.secondary{background:white;color:var(--ink);border-color:var(--line)}.secondary:hover{background:#edf2fa}
.export-actions button{font-size:14px;border-radius:4px;border-color:var(--line)}
input:focus-visible{outline:3px solid #315de0;outline-offset:3px}
@media(max-width:1180px){header{gap:20px;padding:20px 4%}nav{gap:17px}.brand-city{font-size:38px}.brand-specialties{font-size:15px}.axa-signature{padding-left:18px}.axa-signature img{width:44px;height:44px}.hero{gap:5%;padding-top:45px}.hero h1{font-size:clamp(44px,4.9vw,60px)}}
@media(max-width:1050px){.menu{display:block;order:3;margin-left:auto;background:white;border:1px solid var(--line);border-radius:4px;padding:12px;font:14px 'DM Sans',sans-serif;color:var(--ink)}header{position:relative}.axa-signature{order:2;margin-left:auto;border-left:0;padding-left:0}.menu{margin-left:0}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;z-index:20;padding:25px 5%;font-size:16px;box-shadow:0 14px 25px #142d4e18}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}nav details div{position:static;box-shadow:none;background:transparent;padding:10px 15px;border:0}nav .button{align-self:flex-start}.hero-sign small{font-size:12px}.hero-copy>p{font-size:17px}.hero h1 em{white-space:normal}.service-card{padding:24px}.service-card p{min-height:150px}.audience{font-size:13px}.about-mark{padding:32px}}
@media(max-width:800px){.hero{grid-template-columns:1fr;padding:40px 6% 45px;gap:34px}.hero h1{font-size:clamp(43px,8.5vw,64px)}.hero-copy>p{max-width:560px}.hero-visual{max-width:540px;aspect-ratio:1;min-height:0;max-height:none;box-shadow:10px 10px 0 #f0f3f8;border-radius:7px}.hero-sign{margin-top:25px}.hero-sign small{font-size:13px}.hero h1 em{white-space:normal}.hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:18px}.audience{grid-template-columns:1fr 1fr;font-size:14px;padding:23px 6%}.section{padding:55px 6%}.services{grid-template-columns:1fr 1fr}.service-card p{min-height:0}.about{grid-template-columns:1fr;padding:50px 6%;gap:35px}.about-mark{min-height:320px;padding:32px}.about-mark>.eyebrow{font-size:12px}.about-mark blockquote{font-size:32px}.footer-top{grid-template-columns:1fr 1fr;font-size:14px}.contact-banner{padding:45px 6%}.footer-top .footer-brand{font-size:22px}.discovery-aside{display:block}.discovery-aside>ol,.discovery-aside>.eyebrow,.discovery-aside>.privacy-note,.discovery-aside>.discovery-phone{display:none}.discovery-advisor{margin:0}.discovery-layout{gap:22px}.discovery-panel{padding:28px 22px}}
@media(max-width:460px){header{gap:12px;padding:17px 5%}.brand{gap:8px}.brand-city{font-size:33px}.brand-specialties{font-size:13px;padding-left:8px}.axa-signature img{width:34px;height:34px}.menu{padding:9px;font-size:13px}.hero h1{font-size:43px;line-height:1.12}.hero-copy>p{font-size:17px}.hero-actions .button{font-size:14px;padding:17px 19px}.hero-contact{font-size:14px}.visual-label{left:23px;bottom:22px}.visual-label p{font-size:24px}.visual-label small{font-size:13px}.services{grid-template-columns:1fr}.eyebrow{font-size:12px}.audience{gap:19px}.audience b{font-size:13px}.footer-top{grid-template-columns:1fr;gap:24px}.footer-top b{margin-bottom:12px}.discovery-panel{padding:25px 17px}.need-card{padding:18px 13px;min-height:183px}.need-card:has(input:checked){padding:17px 12px}.need-card>span:last-child{font-size:14px}.need-card b{font-size:16px}.discovery-actions button{font-size:14px}.about-mark blockquote{font-size:29px}}
@media(max-width:360px){.brand-city{font-size:28px}.brand-specialties{font-size:12px}.axa-signature img{width:29px;height:29px}.hero h1{font-size:38px}.need-grid{grid-template-columns:1fr}.need-card{min-height:145px}}
