@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/cormorant-garamond-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/jost-latin-300-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/jost-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/jost-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/jost-latin-600-normal.woff2') format('woff2');}
:root{--gold-text:#7F6528;
  --cream:#F3F1EA;
  --cream-deep:#E9E6DD;
  --navy:#15277E;
  --navy-deep:#0B1655;
  --gold:#B4924D;
  --gold-soft:#D9C398;
  --ink:#211F1C;
  --muted:#6E6A62;
  --white:#FBFBF9;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--ink);font-family:'Jost', sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden;}
h1,h2,h3{font-family:'Cormorant Garamond', serif;font-weight:700;color:var(--navy);letter-spacing:0.01em;}
.eyebrow{font-family:'Jost', sans-serif;text-transform:uppercase;letter-spacing:0.28em;font-size:0.72rem;font-weight:500;color:var(--gold-text);}
a{color:inherit;text-decoration:none;}
.rule{width:56px;height:1px;background:var(--gold);margin:18px 0;}
.rule.center{margin-left:auto;margin-right:auto;}

header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px 6vw;background:var(--cream);border-bottom:1px solid rgba(19,32,56,0.08);transition:padding 0.3s ease;}
.wordmark{font-family:'Cormorant Garamond', serif;font-size:1.35rem;letter-spacing:0;color:var(--navy);font-weight:700;text-transform:lowercase;position:relative;padding-bottom:8px;display:inline-block;}
.wordmark::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);}
.wordmark .wm-dot{color:var(--gold);}
.wordmark span{color:var(--gold);}
.lang-switch{display:flex;gap:14px;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;}
.lang-btn{background:none;border:none;font-family:'Jost', sans-serif;color:var(--muted);cursor:pointer;padding:4px 2px;position:relative;letter-spacing:0.14em;font-size:0.72rem;}
.lang-btn::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform 0.3s ease;}
.lang-btn.active{color:var(--navy);}
.lang-btn.active::after{transform:scaleX(1);}

.hero{display:grid;grid-template-columns:1.05fr 0.95fr;align-items:center;min-height:100vh;padding:140px 6vw 80px;gap:5vw;}
.hero-text .eyebrow{margin-bottom:20px;}
.hero-text h1{font-size:clamp(2.6rem, 5vw, 4.2rem);line-height:1.05;margin-bottom:6px;}
.hero-subtitle{font-family:'Cormorant Garamond', serif;font-style:italic;font-size:1.25rem;color:var(--gold-text);margin-bottom:26px;}
.bio p{color:var(--muted);font-size:0.98rem;margin-bottom:14px;max-width:46ch;}
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;}
.portrait-frame{position:relative;width:min(100%, 380px);aspect-ratio:4/5;overflow:hidden;border:1px solid rgba(180,146,77,0.5);outline:1px solid var(--navy);outline-offset:10px;}
.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(0.92) contrast(1.02);}
.hero-visual{display:flex;flex-direction:column;align-items:center}
.credit{width:min(100%, 380px);margin:26px 0 0;text-align:right;font-size:0.78rem;letter-spacing:0.06em;color:var(--ink);opacity:.8}
.seal{position:absolute;top:-24px;left:-24px;width:78px;height:78px;border-radius:50%;background:var(--navy-deep);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(12,22,38,0.25);}
.seal span{font-family:'Cormorant Garamond', serif;color:var(--gold-soft);font-size:1.15rem;letter-spacing:0.08em;}

section{padding:92px 6vw;max-width:1180px;margin:0 auto;}
.section-head{text-align:center;margin-bottom:52px;}
.section-head h2{font-size:clamp(2rem,3.4vw,2.6rem);margin-top:10px;}

.services{background:var(--white);border-top:1px solid rgba(19,32,56,0.08);border-bottom:1px solid rgba(19,32,56,0.08);}
.services-inner{max-width:1180px;margin:0 auto;padding:50px 6vw 70px;}
.service-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:0;border-top:1px solid rgba(19,32,56,0.12);border-left:1px solid rgba(19,32,56,0.12);}
.service-card{padding:38px 30px;border-right:1px solid rgba(19,32,56,0.12);border-bottom:1px solid rgba(19,32,56,0.12);transition:background 0.3s ease;}
.service-card:hover{background:var(--cream);}
.service-card{text-align:center}
.service-card h3::after{content:'';display:block;width:28px;height:1px;background:var(--gold);margin:14px auto 0;}
.service-card h3{font-size:1.28rem;margin-bottom:14px;}
.service-card p{color:var(--muted);font-size:0.92rem;}

.testimonials{background:var(--navy-deep);color:var(--cream);}
.testimonials .eyebrow{color:var(--gold-soft);}
.testimonials h2{color:var(--white);}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.quote-grid.qn-1{grid-template-columns:minmax(0,640px);justify-content:center;}
.quote-grid.qn-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.quote-card{padding:32px 26px;border:1px solid rgba(217,195,152,0.25);position:relative;}
.quote-mark{font-family:'Cormorant Garamond', serif;font-size:2.6rem;color:var(--gold);line-height:1;display:block;margin-bottom:12px;}
.quote-card p.quote-text{font-family:'Cormorant Garamond', serif;font-style:italic;font-size:1.08rem;color:var(--cream-deep);margin-bottom:20px;}
.quote-attr{font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-soft);}

.contact{text-align:center;}
.contact .section-head{margin-bottom:40px;}
.contact-email{font-family:'Cormorant Garamond', serif;font-size:clamp(1.6rem,3vw,2.3rem);color:var(--navy);display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:6px;margin-bottom:38px;}
.contact-email:hover{color:var(--gold);}
.contact-meta{color:var(--muted);font-size:0.92rem;font-style:normal;max-width:40ch;margin:0 auto;}
.contact-meta .placeholder{color:var(--gold-text);font-style:italic;}

footer{background:var(--navy-deep);color:rgba(246,241,231,0.78);padding:60px 6vw 34px;font-size:0.8rem;}
.footer-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;}
footer h3{line-height:1.4;font-family:'Jost', sans-serif;text-transform:uppercase;letter-spacing:0.16em;font-size:0.72rem;color:var(--gold-soft);margin-bottom:14px;font-weight:500;}
footer p{margin-bottom:4px;line-height:1.8;}
footer p a:hover{color:var(--gold-soft);}
.footer-bottom{max-width:1180px;margin:40px auto 0;padding-top:24px;border-top:1px solid rgba(246,241,231,0.12);font-size:0.72rem;letter-spacing:0.04em;color:rgba(246,241,231,0.68);}
.placeholder{color:var(--gold-soft);font-style:italic;}

.reveal{opacity:0;transform:translateY(22px);transition:opacity 0.8s ease, transform 0.8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

@media (max-width: 900px){
  .hero{grid-template-columns:1fr;padding-top:120px;text-align:left;}
  .hero-visual{order:-1;margin-bottom:20px;}
  .portrait-frame{width:min(70vw,300px);margin:0 auto;}
  .credit{width:min(70vw,300px);}
  .service-grid{grid-template-columns:1fr;}
  .quote-grid,.quote-grid.qn-1,.quote-grid.qn-2{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;}
  header{padding:16px 5vw;}
}

.faq{max-width:860px}
.faq-list{margin:0}
.faq-item{padding:22px 0;border-bottom:1px solid rgba(19,32,56,0.12)}
.faq-item:first-child{border-top:1px solid rgba(19,32,56,0.12)}
.faq-item dt{font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--navy);font-size:1.28rem;margin-bottom:6px}
.faq-item dd{margin:0;color:var(--muted)}
.legal{max-width:760px;padding-top:150px}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:28px}
.legal h2{font-size:1.4rem;margin:30px 0 8px}
.legal p{color:var(--muted)}
.legal-back{margin-top:40px}
.legal-back a{color:inherit;border-bottom:1px solid var(--gold);text-decoration:none}
.footer-bottom a{color:inherit;border-bottom:0;text-decoration:none}
.faq-page .eyebrow{margin-bottom:10px}.faq-page .faq-list{margin-top:10px}
.legal .eyebrow{color:var(--gold-text)}
.li-link{display:inline-flex;align-items:center;gap:8px}.li-icon{width:15px;height:15px}
.footer-inner h4.brand-h{text-transform:none;font-size:1.05rem;letter-spacing:0.02em}
footer .footer-logo{color:var(--cream);display:inline-block;margin-bottom:18px}footer .footer-logo .wm-dot{color:var(--gold-soft)}
footer .footer-logo::after{background:var(--gold-soft)}
footer .footer-logo{line-height:1;position:relative;top:-5px}

.services-intro{max-width:760px;margin:-10px auto 54px;text-align:center}
.services-intro p{color:var(--muted);font-size:1.02rem;line-height:1.75}
.services-intro p.note{margin-top:14px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;line-height:1.5;color:var(--navy)}
.quote-card{display:flex;flex-direction:column}
.quote-card .quote-attr{margin-top:auto}
.service-card p{hyphens:manual;-webkit-hyphens:manual}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy-deep);color:var(--cream);padding:10px 16px;z-index:300;font-size:.85rem}
.skip-link:focus{left:12px;top:12px}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Contact : boutons */
.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 30px;font-family:'Jost',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--navy);transition:background .25s ease,color .25s ease,border-color .25s ease}
.btn-primary{background:var(--navy);color:var(--cream)}
.btn-primary:hover{background:var(--navy-deep);border-color:var(--navy-deep)}
.btn-ghost{background:transparent;color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:var(--cream)}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn .li-icon{width:16px;height:16px}
@media (max-width:480px){.contact-actions{flex-direction:column;align-items:stretch}.btn{width:100%}}
/* Bandes pleine largeur */
.services{max-width:none;padding:0}
.services-inner{padding:142px 6vw 162px}
.testimonials{max-width:none;padding-inline:max(6vw,calc((100% - 1180px)/2 + 6vw))}
