/*
Theme Name: Les Cles en Soi
Version: 1.2.0
*/

:root{--navy:#193449;--ink:#1d3548;--gold:#c99c43;--cream:#f7f3eb;--sand:#ece3d4;--soft:#f9f6f0;--white:#fff;--line:#e4dacb;--shadow:0 10px 28px rgba(32,48,59,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:var(--soft);line-height:1.65}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;margin:0 0 18px}h1{font-size:clamp(2.55rem,5vw,4.75rem)}h2{font-size:clamp(2rem,3.5vw,3.2rem)}h3{font-size:1.45rem}p{margin:0 0 16px}.container{width:min(1120px,calc(100% - 40px));margin:auto}.eyebrow{letter-spacing:.24em;text-transform:uppercase;font-size:.69rem;color:var(--gold);font-weight:700;margin-bottom:18px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 21px;border:1px solid var(--navy);font-size:.83rem;text-decoration:none;transition:.2s;background:transparent;color:var(--navy)}.btn.primary{background:var(--navy);color:#fff}.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(25,52,73,.15)}
header{position:sticky;top:0;z-index:50;background:rgba(247,243,235,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(25,52,73,.08)}.nav{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;margin-right:auto;text-decoration:none;color:var(--ink);height:68px}.brand-logo{display:block;width:132px;height:64px;object-fit:contain;object-position:left center}.navlinks{display:flex;align-items:center;gap:20px}.navlinks a{color:var(--ink);text-decoration:none;font-size:.75rem}.menu{display:none;background:none;border:0;font-size:1.5rem;color:var(--ink)}
.hero{background:linear-gradient(180deg,#f7f3eb 0%,#edf4f4 100%);padding:70px 0 72px}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:70px;align-items:center}.hero p{max-width:700px}.hero-sub{font-family:Georgia,serif;font-size:1.13rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-photo{width:100%;max-width:430px;aspect-ratio:4/5;object-fit:cover;border-radius:48% 48% 18px 18px;box-shadow:var(--shadow);justify-self:end}
section{padding:84px 0}.center{text-align:center}.recognize{background:var(--soft)}.recognize h2{max-width:780px;margin-left:auto;margin-right:auto}.signals{display:grid;grid-template-columns:1fr 1fr;gap:15px 50px;margin:40px auto 30px;max-width:970px;text-align:left}.signal{position:relative;padding-left:25px}.signal:before{content:'✦';position:absolute;left:0;color:var(--gold);font-size:.9rem}.closing{max-width:860px;margin:30px auto 0;text-align:center}
.approach{background:var(--sand)}.intro{max-width:760px;margin:0 auto 38px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border-radius:17px;padding:28px;box-shadow:var(--shadow)}.num{color:var(--gold);font-family:Georgia,serif;font-size:1.25rem;margin-bottom:15px}.approach .actions,.offers .actions{justify-content:center}
.offers{background:var(--soft)}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}.offer{display:flex;flex-direction:column;min-height:430px}.offer.featured{background:var(--navy);color:#fff}.tag{display:inline-block;align-self:flex-start;border:1px solid var(--gold);border-radius:999px;color:var(--gold);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;margin-bottom:15px}.price{font-family:Georgia,serif;font-size:1.55rem;margin-top:auto}.offer-steps{font-size:.9rem}.offer-steps strong{color:var(--gold)}.quote{max-width:850px;margin:34px auto 0;font-family:Georgia,serif;font-size:1.1rem;text-align:center}
.about{background:var(--sand)}.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.about-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}.stats{display:grid;gap:12px;margin:22px 0}.stats b{color:var(--gold)}
.locations{background:var(--soft)}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.location-grid .card{min-height:190px}
.faq{background:var(--sand)}.faq-list{max-width:850px;margin:38px auto 0}.faq details{background:#fff;border-radius:10px;margin:10px 0;padding:0 18px}.faq summary{cursor:pointer;list-style:none;padding:16px 0;display:flex;justify-content:space-between}.faq summary:after{content:'+';color:var(--gold);font-size:1.3rem}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 0 16px;margin:0;color:#51616c}
.cta{background:var(--navy);color:#fff;text-align:center;padding:72px 0}.cta p{color:#d4dee5}.cta .actions{justify-content:center}.cta .btn{border-color:#7890a0;color:#fff}
footer{background:#142b3d;color:#d5dfe5;padding:52px 0 24px;font-size:.78rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-title{font:400 1.05rem Georgia,serif;color:#fff;margin-bottom:12px}footer a{color:#d5dfe5;text-decoration:none;display:block;margin:5px 0}.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:20px;font-size:.68rem}
@media(max-width:900px){.navlinks{display:none}.menu{display:block}.hero-grid,.about-grid{grid-template-columns:1fr}.hero-photo{justify-self:center;max-width:390px}.steps,.offer-grid,.location-grid{grid-template-columns:1fr}.signals{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.about-photo{max-width:390px;margin:auto}.hero{padding-top:45px}}@media(max-width:560px){.container{width:min(100% - 28px,1120px)}section{padding:62px 0}.nav{height:66px}.brand{height:58px}.brand-logo{width:112px;height:54px}.hero h1{font-size:2.65rem}.actions .btn{width:100%}.card{padding:23px}}

.legal a{display:inline;color:#d5dfe5;text-decoration:underline;text-underline-offset:3px}
.legal-page{padding:80px 0;background:#f9f6f0}.legal-page .container{max-width:900px}.legal-page h1{font-size:2.8rem}.legal-page h2{font-size:1.55rem;margin-top:34px}.legal-page p,.legal-page li{font-size:.95rem}

.phone-contact{text-align:center;background:var(--soft);padding:0 20px 45px;margin-top:-35px}.phone-contact p{margin:6px 0}.phone-contact a{color:var(--navy);font-family:Georgia,serif;font-size:1.35rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}.phone-contact a:hover{color:var(--gold)}
