/* =========================================================
   FIMMO — feuille de style du site
   Reprise à l'identique du site actuel (Manrope + Libre Caslon Display)
   ========================================================= */

/* --- Base (équivalent du reset de l'original) --- */
*,::before,::after{box-sizing:border-box;border:0 solid #e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;scroll-behavior:smooth}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
p,ol,ul,figure,fieldset,blockquote{margin:0}
ol,ul{list-style:none;padding:0}
small{font-size:80%}
img,svg,video{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
button,input,select,textarea{color:inherit;line-height:inherit;letter-spacing:inherit;margin:0}
button{background:transparent;background-image:none;text-transform:none}
textarea{resize:vertical}
[hidden]{display:none!important}

/* --- Couleurs et variables --- */
:root{--border:35 14% 86%;--navy:#17283c;--gold:#c8ad7f;--stone:#f6f5f2;--ink:#17283c;--gray:#68717b}
body{color:var(--ink);background:#fff;margin:0;font-family:Manrope,sans-serif;overflow-x:clip}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.6}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
h1,h2,h3,p{margin:0}
em{font-family:"Libre Caslon Display",serif;font-weight:400}

/* --- En-tête --- */
.site-header{z-index:20;border-bottom:1px solid hsl(var(--border));background:#fff;justify-content:space-between;align-items:center;height:94px;padding:0 5%;display:flex;position:relative}
.wordmark{letter-spacing:3px;font-size:30px;font-weight:800}
.wordmark span{color:var(--gold)}
.desktop-nav{gap:32px;font-size:12px;font-weight:600;display:flex}
.desktop-nav a{padding:14px 0}
.desktop-nav a:hover,.desktop-nav .active{color:#957741}
.header-actions{align-items:center;gap:18px;display:flex}
.button{background:var(--navy);color:#fff;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:18px 25px;font-size:12px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}
.button:hover{background:#2b415b}
.button:active{transform:scale(.98)}
.button.small{padding:14px 20px;font-size:11px}
.button.gold{background:var(--gold);color:var(--navy)}
.button.gold:hover{background:#d8c29e}
.menu-button{background:0 0;border:0;padding:10px;display:none}
.mobile-nav{background:#fff;flex-direction:column;gap:20px;padding:24px;display:flex;position:absolute;top:94px;left:0;right:0;box-shadow:0 10px 20px #17283c12}

/* --- Bandeau d'accueil --- */
.hero{color:#fff;background:var(--navy);align-items:center;min-height:calc(100dvh - 94px);padding:76px 7% 110px;display:flex;position:relative}
.hero-image,.hero-shade{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}
.hero-image{object-position:center 58%}
.hero-shade{background:linear-gradient(90deg,#0c1b2bdb,#0c1b2b8f 48%,#0c1b2b1f),linear-gradient(#0000 65%,#0c1b2b8c)}
.hero-content{max-width:800px;position:relative}
.eyebrow{letter-spacing:2.3px;color:#947b52;font-size:10px;font-weight:700;line-height:1.7}
.hero .eyebrow{color:#eee4d1;align-items:center;gap:12px;display:flex}
.hero .eyebrow span{background:var(--gold);width:23px;height:1px}
h1{letter-spacing:-2.7px;font-size:clamp(42px,5.1vw,76px);font-weight:500;line-height:1.16}
.hero h1{margin:28px 0}
.hero h1 em{color:#eadac0;font-size:1.08em}
.hero-description{color:#e5e8eb;max-width:475px;font-size:14px;line-height:1.9}
.hero-buttons{align-items:center;gap:32px;margin:33px 0 21px;display:flex}
.text-link{border-bottom:1px solid #ffffff60;align-items:center;gap:12px;padding:10px 0;font-size:12px;display:inline-flex}
.hero-proof{color:#e4e4e2;align-items:center;gap:9px;font-size:10px;display:flex}
.hero-proof svg{color:var(--gold)}
.hero-bottom{letter-spacing:.8px;border-top:1px solid #fff3;justify-content:space-between;align-items:center;padding-top:20px;font-size:9px;display:flex;position:absolute;bottom:24px;left:7%;right:7%}
.hero-bottom span{align-items:center;gap:8px;display:flex}
.hero-bottom a{border:1px solid #fff6;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}

/* --- Sections --- */
.section{padding:90px 7%;scroll-margin-top:20px}
h2{letter-spacing:-1.6px;font-size:clamp(31px,3.15vw,47px);font-weight:500;line-height:1.2}
h2 em{color:#8d7857}
.section-heading{justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:50px;display:flex}
.section-heading h2{margin-top:15px}
.section-heading>p{color:var(--gray);max-width:320px;font-size:12px;line-height:1.9}

/* Services */
.services-grid{border:1px solid hsl(var(--border));grid-template-columns:repeat(4,1fr);display:grid}
.services-grid article{border-right:1px solid hsl(var(--border));min-height:310px;padding:30px 25px;position:relative}
.services-grid article:last-child{border-right:0}
.service-top{justify-content:space-between;align-items:center;margin-bottom:35px;display:flex}
.service-top svg{color:#a78c61}
.service-top span{color:#969696;font-size:10px}
.micro-label{letter-spacing:1.4px;color:#8e7752;font-size:8px}
.services-grid h3{margin:12px 0;font-size:17px;font-weight:500}
.services-grid article>p:not(.micro-label){color:var(--gray);font-size:11px;line-height:1.9}
.services-grid article>a{color:#a48a5f;justify-content:flex-end;margin-top:22px;display:flex}

/* Processus */
.process-section{background:var(--stone);grid-template-columns:1.25fr 1fr;gap:90px;display:grid}
.process-copy h2{margin:18px 0 32px}
.steps{margin:0;padding:0;list-style:none}
.steps li{border-top:1px solid hsl(var(--border));gap:20px;padding:22px 0;display:flex}
.steps li>span{color:#a48a5f;padding-top:4px;font-size:11px}
.steps h3{margin-bottom:8px;font-size:14px;font-weight:600}
.steps p{color:var(--gray);max-width:410px;font-size:11px;line-height:1.8}
.price-panel{background:var(--navy);color:#fff;align-self:center;padding:45px 40px;box-shadow:10px 10px #ddd6c9}
.price-panel h3{margin:20px 0;font-size:30px;font-weight:500;line-height:1.3}
.price-panel .eyebrow{color:var(--gold)}
.price{border-top:1px solid #fff2;border-bottom:1px solid #fff2;align-items:center;gap:20px;margin-bottom:23px;padding:18px 0;display:flex}
.price>span{color:var(--gold);font-family:"Libre Caslon Display",serif;font-size:86px;line-height:1}
.price>div{font-size:23px}
.price small{color:#c6cbd1;margin-top:8px;font-size:9px;display:block}
.price-panel>p:not(.eyebrow){color:#c6cbd1;font-size:12px;line-height:1.8}
.price-check{align-items:center;gap:10px;margin:18px 0 28px;font-size:10px;display:flex}
.price-check svg{color:var(--gold)}
.price-panel .button{width:100%}

/* Profils */
.profiles-section h2{margin:17px 0 45px}
.profile-list article{border-top:1px solid hsl(var(--border));grid-template-columns:40px 1fr 1fr 44px;align-items:center;gap:30px;padding:30px 0;display:grid}
.profile-list article:last-child{border-bottom:1px solid hsl(var(--border))}
.profile-number{color:#a48a5f;font-size:11px}
.profile-list h3{font-size:20px;font-weight:500}
.profile-list small{color:#968061;margin-top:9px;font-size:9px;display:block}
.profile-list p{color:var(--gray);font-size:12px;line-height:1.9}
.profile-list a{border:1px solid hsl(var(--border));border-radius:50%;place-items:center;width:44px;height:44px;display:grid}

/* Appel à l'action */
.project-cta{background:var(--stone);text-align:center;padding:70px 7%}
.project-cta h2{margin:17px 0 28px}
.project-cta .text-link{color:var(--gray);justify-content:center;margin-top:15px;display:flex}

/* --- Pied de page --- */
.site-footer{background:var(--navy);color:#fff;padding:55px 7% 23px}
.footer-top{grid-template-columns:1fr .6fr 1fr;gap:40px;display:grid}
.footer-top p{color:#aeb9c4;margin-top:16px;font-size:11px;line-height:1.9}
.footer-top nav{color:#c7ced5;flex-direction:column;gap:14px;font-size:11px;display:flex}
.footer-cta{gap:18px;font-size:14px;line-height:1.8;display:flex}
.call-link{color:var(--gold);align-items:center;gap:9px;margin-top:20px;font-size:11px;display:flex}
.footer-bottom{color:#aeb9c4;border-top:1px solid #fff2;gap:24px;margin-top:45px;padding-top:20px;font-size:9px;display:flex}
.footer-bottom span{margin-right:auto}
.footer-bottom button{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}

/* --- Pages intérieures --- */
.page-intro{background:var(--stone);padding:65px 7%}
.page-intro h1{letter-spacing:-2px;max-width:900px;margin:20px 0;font-size:clamp(36px,4.2vw,58px)}
.page-intro>p:last-child{max-width:650px;color:var(--gray);font-size:13px;line-height:1.9}

/* Formulaires */
.form-section{grid-template-columns:.85fr 1.4fr;gap:85px;display:grid}
.form-section aside h2{margin:18px 0 25px}
.form-section aside>p:not(.eyebrow){color:var(--gray);font-size:13px;line-height:1.9}
.form-note{border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));color:#8d7857;gap:15px;margin:25px 0;padding:25px 0;display:flex}
.form-note svg{flex-shrink:0}
.form-note p{font-size:11px;line-height:1.8}
.form-section aside>small{color:var(--gray);font-size:11px;line-height:2}
.enquiry-form{background:var(--stone);padding:35px}
.enquiry-form h3{margin-bottom:30px;font-size:20px;font-weight:500}
.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid;margin-bottom:20px}
.enquiry-form label{flex-direction:column;gap:9px;margin-bottom:18px;font-size:11px;display:flex}
.form-grid label{margin-bottom:0}
.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;color:var(--ink);background:#fff;border:1px solid #dadbdc;border-radius:2px;min-width:0;padding:13px;font-size:12px}
.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#7e858b}
.full{grid-column:1/-1}
.enquiry-form .consent{flex-direction:row;align-items:flex-start;font-size:10px;line-height:1.8}
.consent input{width:15px;accent-color:var(--navy);margin-top:3px}
.consent a{text-decoration:underline}
.enquiry-form>small{color:var(--gray);margin-top:13px;font-size:9px;display:block}
.form-error{color:#b43333;margin-bottom:18px;font-size:12px}
.success-box{background:var(--stone);padding:45px}
.success-box svg{color:#8d7857}
.success-box h3{margin:22px 0;font-size:24px}
.success-box p{margin-bottom:25px;font-size:13px;line-height:1.8}

/* Confidentialité */
.privacy-content{max-width:950px;margin:auto}
.privacy-content h2{margin-bottom:25px}
.privacy-content h3{margin:30px 0 12px;font-size:20px}
.privacy-content p{color:var(--gray);font-size:14px;line-height:1.9}

/* Bandeau cookies */
.cookie-banner{z-index:50;width:400px;max-width:calc(100vw - 40px);color:var(--ink);background:#fff;border:1px solid #dedbd5;padding:22px;position:fixed;bottom:20px;left:20px;box-shadow:0 8px 35px #17283c25}
.cookie-banner strong{font-size:13px}
.cookie-banner p{color:var(--gray);margin:8px 0 15px;font-size:10px;line-height:1.7}
.cookie-actions{gap:8px;display:flex}
.cookie-actions button{border:1px solid var(--navy);color:var(--navy);background:#fff;flex:1;min-height:40px;padding:12px 5px;font-size:9px}
.cookie-actions button:last-child{background:var(--navy);color:#fff}
.cookie-banner fieldset{border:0;margin:15px 0;padding:0}
.cookie-banner legend{margin-bottom:12px;font-size:12px}
.cookie-banner label{gap:9px;margin:12px 0;font-size:11px;display:flex}
.cookie-banner label small{color:var(--gray);font-size:9px;line-height:1.7;display:block}
.cookie-banner input{accent-color:var(--navy)}

/* --- Responsive --- */
@media (min-width:1600px){.section{padding-left:calc(50vw - 685px);padding-right:calc(50vw - 685px)}}
@media (max-width:1000px){.desktop-nav{gap:18px}.header-actions .small{padding:12px;font-size:10px}.services-grid{grid-template-columns:1fr 1fr}.services-grid article:nth-child(2){border-right:0}.services-grid article:nth-child(-n+2){border-bottom:1px solid hsl(var(--border))}.process-section{gap:40px}.form-section{gap:35px}.section{padding:65px 6%}}
@media (max-width:760px){.site-header{height:76px;padding:0 5%}.wordmark{font-size:25px}.desktop-nav{display:none}.menu-button{display:block}.header-actions{gap:7px}.header-actions .small{gap:7px;min-height:40px;padding:10px;font-size:9px}.mobile-nav{top:76px}.hero{min-height:calc(100dvh - 76px);padding:65px 6% 115px}.hero-shade{background:linear-gradient(90deg,#0c1b2be0,#0c1b2b70)}.hero h1{letter-spacing:-1.7px;font-size:43px}.hero .eyebrow{letter-spacing:1.5px;font-size:8px}.hero-description{max-width:350px;font-size:12px}.hero-buttons{flex-direction:column;align-items:flex-start;gap:13px;margin:26px 0 18px}.hero-bottom{font-size:8px;left:6%;right:6%}.hero-bottom>span:last-child{display:none}.hero-proof{font-size:9px}.section-heading{flex-direction:column;align-items:flex-start;gap:23px;margin-bottom:30px}.section-heading>p{max-width:100%}.section{padding:55px 6%}h2{font-size:34px}.services-grid article{min-height:315px;padding:23px 18px}.services-grid h3{font-size:16px}.service-top{margin-bottom:25px}.services-grid article>p:not(.micro-label){font-size:10px}.micro-label{font-size:7px}.process-section{grid-template-columns:1fr;gap:25px}.price-panel{padding:35px 27px;box-shadow:6px 6px #ddd6c9}.profile-list article{grid-template-columns:25px 1fr 44px;gap:15px;padding:25px 0}.profile-list p{grid-area:2/2/auto/4;font-size:11px}.profile-list h3{font-size:18px}.profile-list a{grid-area:1/3}.profile-list small{font-size:8px}.project-cta{padding:55px 6%}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:17px;font-size:8px}.footer-bottom span{flex-basis:100%}.page-intro{padding:45px 6%}.page-intro h1{letter-spacing:-1.5px;font-size:39px}.form-section{grid-template-columns:1fr;gap:35px}.enquiry-form{padding:25px 18px}.form-grid{grid-template-columns:1fr;gap:17px}.full{grid-column:auto}.enquiry-form .button{width:100%;font-size:11px}.form-note{margin:18px 0}.cookie-banner{max-width:calc(100vw - 24px);bottom:12px;left:12px}.hero-bottom a{min-width:44px;min-height:44px}.call-link{min-height:44px}.footer-bottom button,.footer-bottom>a{min-height:30px}.cookie-actions button{min-height:44px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* --- Coordonnées (ajout SEO local) --- */
.footer-top p.footer-contact{color:#c7ced5}
.footer-contact a:hover{color:var(--gold)}
.contact-direct{flex-direction:column;gap:12px;margin:0 0 25px;font-size:13px;font-weight:600;display:flex}
.contact-direct a{align-items:center;gap:10px;display:inline-flex}
.contact-direct svg{color:var(--gold)}
.contact-direct a:hover{color:#957741}
.privacy-content a{text-decoration:underline}

/* --- FAQ --- */
.faq-list{max-width:950px;margin:auto}
.faq-list details{border-top:1px solid hsl(var(--border))}
.faq-list details:last-child{border-bottom:1px solid hsl(var(--border))}
.faq-list summary{cursor:pointer;list-style:none;align-items:baseline;gap:20px;padding:26px 44px 26px 0;display:flex;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{color:#a48a5f;flex-shrink:0;font-size:11px}
.faq-list summary h2{letter-spacing:-.3px;font-size:20px;line-height:1.4}
.faq-list summary::after{content:"+";color:#a48a5f;font-size:24px;font-weight:300;line-height:1;position:absolute;top:26px;right:6px}
.faq-list details[open] summary::after{content:"–"}
.faq-list summary:hover h2{color:#2b415b}
.faq-answer{color:var(--gray);max-width:760px;padding:0 0 28px 38px;font-size:14px;line-height:1.9}
.faq-answer p+p,.faq-answer p+ul,.faq-answer ul+p{margin-top:12px}
.faq-answer ul{padding-left:20px;list-style:disc}
.faq-answer strong{color:var(--ink);font-weight:600}
@media (max-width:760px){.faq-list summary{gap:14px;padding:22px 36px 22px 0}.faq-list summary h2{font-size:17px}.faq-answer{padding:0 0 24px 0;font-size:13px}}

/* --- Honoraires location + achat --- */
.price-duo{border-top:1px solid #fff2;border-bottom:1px solid #fff2;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:23px;display:grid}
.price-duo .price{border:0;align-items:center;gap:14px;margin:0;padding:18px 0}
.price-duo .price+.price{border-left:1px solid #fff2;padding-left:24px}
.price-duo .price>span{font-size:72px}
.price-duo .price>span i{font-size:.5em;font-style:normal;margin-left:2px}
.price-duo .price>div{font-size:17px;line-height:1.3}
.price-duo .price b{font-weight:400}
@media (max-width:1100px){.price-duo{grid-template-columns:1fr;gap:0}.price-duo .price+.price{border-left:0;border-top:1px solid #fff2;padding-left:0}}
.faq-eyebrow{max-width:950px;margin:0 auto 20px}
.faq-answer a{color:var(--ink);text-decoration:underline}
.price>span i.pct{font-size:.5em;font-style:normal;margin-left:2px}

/* --- À propos --- */
.about-section{grid-template-columns:1fr 1fr;gap:90px;align-items:start;display:grid}
.about-copy h2{margin:18px 0 28px}
.about-copy>p:not(.eyebrow){color:var(--gray);max-width:480px;font-size:13px;line-height:1.9}
.about-copy>p+p{margin-top:16px}
.about-section .steps{margin-top:6px}
.about-values{background:var(--stone)}
.about-values .services-grid{background:#fff}
.about-values .services-grid article{min-height:250px}
@media (max-width:1000px){.about-section{gap:40px}}
@media (max-width:760px){.about-section{grid-template-columns:1fr;gap:25px}}
.about-cta{background:#fff}

/* --- Sélecteur de langue --- */
.lang-switch{align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex}
.lang-switch a{color:var(--gray);padding:6px 5px;letter-spacing:.5px}
.lang-switch a:hover{color:var(--ink)}
.lang-switch a.active{color:#957741}
.mobile-nav .lang-switch{border-top:1px solid hsl(var(--border));gap:6px;padding-top:16px;font-size:13px}
@media (max-width:760px){.header-actions>.lang-switch{display:none}}
