/*
Theme Name: La Petite Tomette
Theme URI: https://www.lapetitetomette.fr
Author: Studio Web — pour La Petite Tomette
Description: Thème WordPress premium pour La Petite Tomette — investissement immobilier ancien & patrimoine (Denormandie, Déficit Foncier, Malraux, LMNP) à Montereau-Fault-Yonne. Police de marque Garet, vrai logo et photographie, hero compact, sliders tactiles, animations élégantes, sections Elementor indépendantes, SEO et conversion.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: la-petite-tomette
Tags: real-estate, business, elementor, custom-logo, custom-menu, featured-images, translation-ready
*/

@font-face{font-family:'Garet';src:url('assets/fonts/garet.woff2') format('woff2');font-weight:300 800;font-style:normal;font-display:swap}
:root{
  --bordeaux:#783f37;--bordeaux-d:#5d2f29;--taupe:#74675f;--beige:#c1a68d;--beige-l:#ddc2a7;
  --ink:#241c18;--ink-2:#5d544d;--paper:#f7f2eb;--paper-2:#efe6da;--line:#e3d9cd;--line-2:#d4c7b6;--white:#fff;--dark:#211610;
  --f-head:'Garet','Inter',-apple-system,sans-serif;--f-body:'Inter',-apple-system,'Segoe UI',sans-serif;
  --wrap:1240px;--pad:clamp(48px,6vw,96px);--r:7px;--sh:0 14px 38px rgba(36,24,19,.12);--sh-s:0 4px 16px rgba(36,24,19,.08);--ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--f-body);color:var(--ink);background:var(--white);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--f-head);line-height:1.08;margin:0;color:var(--ink);letter-spacing:-.01em}
h1{font-weight:700}h2,h3,h4{font-weight:600}p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}
.pad{padding:var(--pad) 0}.pad-s{padding:clamp(34px,4.5vw,64px) 0}
.bg-paper{background:var(--paper)}.bg-paper2{background:var(--paper-2)}
.bg-dark{background:var(--dark);color:#e9ddd0}.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4{color:#fff}
.kicker{display:inline-flex;align-items:center;gap:11px;font-family:var(--f-head);font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bordeaux);margin:0 0 16px}
.kicker::before{content:"";width:28px;height:2px;background:var(--bordeaux)}
.bg-dark .kicker{color:var(--beige-l)}.bg-dark .kicker::before{background:var(--beige-l)}
.title{font-size:clamp(1.7rem,3.3vw,2.55rem)}.lead{font-size:1.1rem;color:var(--ink-2);max-width:60ch}.bg-dark .lead{color:#cdbcab}
.muted{color:var(--ink-2)}.note{font-size:.82rem;color:var(--ink-2)}
.quote{font-family:var(--f-head);font-weight:500;font-size:1.22rem;color:var(--bordeaux);border-left:3px solid var(--beige);padding-left:18px;margin-top:22px;line-height:1.4}
.sec-head{max-width:680px}.sec-head.center{margin:0 auto 44px;text-align:center}.sec-head.center .kicker{justify-content:center}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-head);font-weight:600;font-size:.95rem;padding:14px 26px;border:1.5px solid transparent;cursor:pointer;border-radius:4px;transition:.2s var(--ease)}
.btn .ar{transition:transform .2s var(--ease)}.btn:hover .ar{transform:translateX(4px)}
.btn-primary{background:var(--bordeaux);color:#fff;box-shadow:var(--sh-s)}.btn-primary:hover{background:var(--bordeaux-d);box-shadow:var(--sh);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--bordeaux);border-color:var(--bordeaux)}.btn-outline:hover{background:var(--bordeaux);color:#fff}
.btn-light{background:#fff;color:var(--ink);border-color:#fff}.btn-light:hover{background:var(--beige-l);border-color:var(--beige-l)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.btn-row{display:flex;flex-wrap:wrap;gap:13px}
.topbar{background:var(--ink);color:#cdbcab;font-size:.82rem}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar a{color:#cdbcab}.topbar a:hover{color:#fff}.topbar .tb-r{display:flex;align-items:center;gap:20px}.topbar .tb-soc{display:flex;gap:13px}.topbar .tb-soc svg{width:16px;height:16px}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 6px 24px rgba(36,24,19,.08)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:12px}.brand img.mark{height:44px;width:auto}.brand img.word{height:28px;width:auto}.brand .custom-logo{height:48px;width:auto}
.nav-links{display:flex;gap:32px;list-style:none;margin:0;padding:0}
.nav-links a{font-family:var(--f-head);font-weight:500;font-size:1rem;padding:6px 0;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--bordeaux);transition:width .25s var(--ease)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:13px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:25px;height:2px;background:var(--ink);display:block;transition:.25s}
.mobile-menu{display:none;position:fixed;inset:78px 0 0;background:#fff;z-index:49;padding:26px;border-top:1px solid var(--line)}
.mobile-menu ul{list-style:none;margin:0 0 22px;padding:0}.mobile-menu li{border-bottom:1px solid var(--line)}
.mobile-menu a{display:block;padding:15px 0;font-family:var(--f-head);font-size:1.16rem}
body.menu-open{overflow:hidden}
/* ---- Hero fullscreen immersif ---- */
.hero{position:relative;height:95vh;min-height:580px;max-height:940px;overflow:hidden;display:flex;align-items:flex-end;border-bottom:none}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 55%;transition:transform 9s var(--ease)}
.hero:hover .hero-bg{transform:scale(1.04)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(33,22,16,.96) 0%,rgba(33,22,16,.86) 32%,rgba(33,22,16,.45) 54%,rgba(33,22,16,.08) 75%,rgba(33,22,16,0) 100%)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:flex-end;padding-top:0;padding-bottom:clamp(56px,8vh,100px);gap:0}
.hero-body{max-width:480px;grid-column:1}
.hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3.3rem);margin-bottom:18px}
.hero .lead{color:rgba(255,255,255,.82);margin-bottom:28px;font-size:1.12rem;max-width:56ch}
.kicker-light{display:inline-flex;align-items:center;gap:11px;font-family:var(--f-head);font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--beige-l);margin:0 0 16px}
.kicker-light::before{content:"";width:28px;height:2px;background:var(--beige-l);display:inline-block}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.stats .s{padding:32px 24px;border-right:1px solid var(--line)}.stats .s:last-child{border-right:0}
.stats .n{font-family:var(--f-head);font-weight:700;font-size:clamp(2rem,3.6vw,2.7rem);color:var(--bordeaux);line-height:1}
.stats .n small{font-size:.5em;font-weight:600}.stats .l{font-size:.9rem;color:var(--ink-2);margin-top:8px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,3.5vw,60px);align-items:center}
.split.rev .col-media{order:-1}.split.wide-img{grid-template-columns:1fr 1.12fr}
.col-media img{width:100%;height:clamp(300px,38vw,480px);object-fit:cover;border-radius:var(--r);box-shadow:var(--sh-s)}
.arglist{list-style:none;margin:20px 0 26px;padding:0}
.arglist li{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.arglist li:last-child{border-bottom:1px solid var(--line)}
.arglist .ic{flex:0 0 20px;color:var(--bordeaux);margin-top:3px}.arglist .ic svg{width:20px;height:20px}.arglist b{font-family:var(--f-head);font-weight:600}
.carte-zone{min-height:360px;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.slider{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 4px 18px;margin:0 -4px}
.slider>*{scroll-snap-align:start}.slider::-webkit-scrollbar{height:6px}.slider::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}
.prog{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh-s);transition:.25s var(--ease)}
.prog:hover{box-shadow:var(--sh);transform:translateY(-4px)}
.prog .ph{position:relative;aspect-ratio:4/3;overflow:hidden}
.prog .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.prog:hover .ph img{transform:scale(1.05)}
.prog .badge-f{position:absolute;top:12px;left:12px;background:var(--bordeaux);color:#fff;font-family:var(--f-head);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 11px;border-radius:4px}
.prog .bd{padding:22px;display:flex;flex-direction:column;flex:1}.prog h3{font-size:1.28rem;margin-bottom:4px}.prog .loc{font-size:.9rem;color:var(--ink-2);margin-bottom:16px}
.specs{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid var(--line)}
.specs li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.specs li span{color:var(--ink-2)}.specs li b{font-family:var(--f-head);font-weight:600}.prog .btn{margin-top:auto;justify-content:center}
.cmp{width:100%;border-collapse:collapse;font-size:.95rem;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.cmp th,.cmp td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
.cmp thead th{background:var(--ink);color:#fff;font-family:var(--f-head);font-weight:600;font-size:.86rem}
.cmp tbody th{font-family:var(--f-head);font-weight:600}.cmp tbody tr:nth-child(even){background:var(--paper)}.cmp td b{color:var(--bordeaux)}
.exp{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--sh-s);transition:.25s var(--ease)}
.exp:hover{border-color:var(--beige);box-shadow:var(--sh);transform:translateY(-4px)}
.exp .ic{width:40px;height:40px;color:var(--bordeaux);margin-bottom:16px}.exp .ic svg{width:40px;height:40px}
.exp h3{font-size:1.16rem;margin-bottom:8px}.exp p{font-size:.95rem;color:var(--ink-2);margin:0 0 12px}
.exp .more{font-family:var(--f-head);font-weight:600;font-size:.9rem;color:var(--bordeaux);display:inline-flex;gap:6px;transition:.2s}.exp:hover .more{gap:10px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.steps .st{padding:30px 24px;border-right:1px solid var(--line)}.steps .st:last-child{border-right:0}
.steps .num{font-family:var(--f-head);font-weight:700;font-size:1.9rem;color:var(--beige);line-height:1;margin-bottom:14px}
.steps h3{font-size:1.18rem;margin-bottom:9px}.steps p{font-size:.93rem;color:var(--ink-2);margin:0}
.chain{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.chain .lk{background:#fff;padding:22px 20px}.chain .lk b{font-family:var(--f-head);color:var(--bordeaux);font-size:.9rem;display:block;margin-bottom:6px}.chain .lk span{font-family:var(--f-head);font-weight:600;font-size:1rem}
.feats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.1);border-radius:var(--r);overflow:hidden}
.feat{padding:20px;background:var(--dark);display:flex;gap:14px}.feat .fi{flex:0 0 28px;color:var(--beige-l)}.feat .fi svg{width:28px;height:28px}
.feat h3{font-size:1.1rem;margin-bottom:6px}.feat p{font-size:.93rem;margin:0;color:#cdbcab}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.val{background:#fff;padding:28px}.val .vn{font-family:var(--f-head);font-weight:700;color:var(--beige);font-size:1.4rem;margin-bottom:12px}
.val h3{font-size:1.12rem;margin-bottom:8px}.val p{font-size:.94rem;color:var(--ink-2);margin:0}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.member .ph{aspect-ratio:3/4;background:var(--paper-2);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s)}.member .ph img{width:100%;height:100%;object-fit:cover}
.member h3{font-size:1.1rem;margin:15px 0 2px}.member .role{font-size:.85rem;color:var(--bordeaux);font-family:var(--f-head);font-weight:600}.member p{font-size:.9rem;color:var(--ink-2);margin:8px 0 0}
.svc-block .idx{font-family:var(--f-head);font-weight:700;font-size:.82rem;letter-spacing:.1em;color:var(--beige);margin-bottom:12px}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:28px}.panel h3{font-size:1.1rem;margin-bottom:13px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px}
.chip{font-family:var(--f-head);font-size:.8rem;border:1px solid var(--line-2);color:var(--taupe);padding:6px 12px;background:#fff;border-radius:4px}
.anchors{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.anchors a{font-family:var(--f-head);font-size:.86rem;border:1px solid var(--line);padding:9px 14px;background:#fff;border-radius:4px;transition:.18s}.anchors a:hover{border-color:var(--bordeaux);color:var(--bordeaux)}
.plugin{border:1.5px dashed var(--line-2);background:var(--paper);border-radius:var(--r);padding:32px;text-align:center;color:var(--ink-2)}
.plugin .pp{display:inline-block;font-family:var(--f-head);font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bordeaux);border:1px solid var(--bordeaux);padding:5px 11px;margin-bottom:13px;border-radius:3px}
.plugin h3{font-size:1.1rem;color:var(--ink);margin-bottom:8px}
.plugin code{font-family:ui-monospace,monospace;font-size:.92rem;color:var(--bordeaux);background:#fff;border:1px solid var(--line);padding:8px 14px;border-radius:4px;display:inline-block;margin-top:6px}
.plugin.tall{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bg-dark .plugin{background:rgba(255,255,255,.04);border-color:rgba(221,194,167,.45);color:#cdbcab}.bg-dark .plugin h3{color:#fff}.bg-dark .plugin .pp{color:var(--beige-l);border-color:var(--beige-l)}
.ig-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.ig-grid .cell{aspect-ratio:1;background:var(--paper-2);border-radius:5px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--taupe)}.ig-grid .cell svg{width:30px;height:30px;opacity:.5}
.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;position:relative;font-family:var(--f-head);font-weight:600;font-size:1.06rem}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:6px;top:16px;font-size:1.5rem;color:var(--bordeaux);font-weight:300}
.faq details[open] summary::after{content:"–"}.faq .ans{padding:0 0 22px;color:var(--ink-2);max-width:80ch}
.info{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.info .row{display:flex;gap:15px;padding:18px 22px;border-bottom:1px solid var(--line)}.info .row:last-child{border-bottom:0}
.info .ii{flex:0 0 24px;color:var(--bordeaux)}.info .ii svg{width:24px;height:24px}.info b{font-family:var(--f-head);display:block;font-size:.95rem}.info span{font-size:.95rem;color:var(--ink-2)}
.cta{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;align-items:center;background:var(--bordeaux);color:#fff;padding:clamp(34px,4.5vw,56px);border-radius:var(--r)}
.cta h2{color:#fff;font-size:clamp(1.5rem,2.8vw,2.1rem)}.cta p{color:#eed8cd;margin:10px 0 0}.cta .btn-row{justify-content:flex-end}
/* CTA section premium full-bleed */
.cta-section{position:relative;overflow:hidden;padding:clamp(64px,9vw,130px) 0;text-align:center;color:#fff}
.cta-bg-img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);transition:transform 8s var(--ease)}
.cta-section:hover .cta-bg-img{transform:scale(1)}
.cta-overlay{position:absolute;inset:0;background:linear-gradient(150deg,rgba(120,63,55,.9) 0%,rgba(33,22,16,.85) 100%)}
.cta-section .cta-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;padding:0 24px}
.cta-section .kicker{color:var(--beige-l)}.cta-section .kicker::before{background:var(--beige-l)}
.cta-section h2{color:#fff;font-size:clamp(1.9rem,4vw,2.9rem);margin:14px 0 16px}
.cta-section p{color:#e8d4c8;font-size:1.06rem;margin:0 0 28px;max-width:52ch;margin-left:auto;margin-right:auto}
.cta-trust{display:flex;justify-content:center;gap:18px;margin-top:20px;flex-wrap:wrap}
.cta-trust span{font-family:var(--f-head);font-weight:500;font-size:.84rem;color:rgba(221,194,167,.85)}
/* Avis stars */
.avis-premium{text-align:center}
.avis-stars{font-size:2rem;color:var(--bordeaux);letter-spacing:4px;line-height:1;margin-bottom:6px}
.avis-note{font-family:var(--f-head);font-weight:600;font-size:.92rem;color:var(--ink-2);margin-bottom:20px}
.page-hero{border-bottom:1px solid var(--line)}
.page-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;padding-top:clamp(34px,3.5vw,58px);padding-bottom:clamp(34px,3.5vw,58px)}
.page-hero .crumb{font-size:.85rem;color:var(--ink-2);margin-bottom:16px}.page-hero .crumb a{color:var(--bordeaux)}
.page-hero h1{font-size:clamp(2rem,3.8vw,2.9rem);margin-bottom:16px}
.page-hero img{width:100%;height:clamp(250px,28vw,360px);object-fit:cover;border-radius:var(--r);box-shadow:var(--sh-s)}
.seo-band{background:var(--paper);border-top:1px solid var(--line);padding:40px 0}
.seo-band h2{font-size:1.05rem;margin-bottom:12px}.seo-band p{font-size:.9rem;color:var(--ink-2);max-width:none;margin:0 0 .6em}
.seo-band .seo-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.seo-band .seo-links a{font-family:var(--f-head);font-size:.84rem;border:1px solid var(--line);padding:7px 13px;border-radius:4px;background:#fff}.seo-band .seo-links a:hover{border-color:var(--bordeaux);color:var(--bordeaux)}
.site-footer{background:var(--dark);color:#bdab9c;padding:64px 0 28px;font-size:.94rem}
.site-footer .grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:38px}
.site-footer img.fword{height:30px;margin-bottom:16px}
.site-footer h4{color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:9px}.site-footer a:hover{color:#fff}
.foot-soc{display:flex;gap:12px;margin-top:16px}
.foot-soc a{width:36px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:5px;display:flex;align-items:center;justify-content:center;transition:.2s}
.foot-soc a:hover{border-color:var(--beige-l);background:rgba(255,255,255,.06)}.foot-soc svg{width:18px;height:18px}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:.84rem;color:#8d7e72}
.foot-legal{font-size:.78rem;color:#7a6c61;margin-top:16px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}.reveal[data-d="2"]{transition-delay:.16s}.reveal[data-d="3"]{transition-delay:.24s}.reveal[data-d="4"]{transition-delay:.32s}
.elementor-editor-active .reveal{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.elementor-widget-html{width:100%}
@media(max-width:980px){
  .nav-links,.nav-cta .btn{display:none}.burger{display:flex}.mobile-menu.open{display:block}
  .hero{height:68vh;min-height:360px;max-height:520px;align-items:flex-start}
  .hero-overlay{background:linear-gradient(to bottom,rgba(33,22,16,.72) 0%,rgba(33,22,16,.55) 45%,rgba(33,22,16,.26) 75%,rgba(33,22,16,.10) 100%)}
  .hero .wrap{grid-template-columns:1fr;padding-top:clamp(36px,6vh,60px);padding-bottom:clamp(22px,4vh,40px)}
  .hero h1{font-size:clamp(2rem,7vw,2.9rem);margin-bottom:14px}
  .hero .lead{font-size:1rem;margin-bottom:22px}
  .page-hero .wrap,.split,.cta{grid-template-columns:1fr}
  .split.wide-img,.split.rev{grid-template-columns:1fr}
  .split.rev .col-media{order:0}
  .col-media img{height:clamp(220px,60vw,360px)}
  .steps,.chain,.team,.vals{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}.stats .s:nth-child(2){border-right:0}.stats .s{border-bottom:1px solid var(--line)}
  .feats{grid-template-columns:1fr}.cta .btn-row{justify-content:flex-start}.ig-grid{grid-template-columns:repeat(3,1fr)}
  .slider{grid-auto-columns:78%}
}
@media(max-width:600px){
  body{font-size:16px}:root{--pad:clamp(28px,7vw,48px)}
  .pad-s{padding:clamp(18px,4.5vw,32px) 0}
  .hero{min-height:320px;max-height:480px;align-items:flex-start}
  .hero .wrap{grid-template-columns:1fr;padding-top:clamp(30px,5vh,50px);padding-bottom:clamp(18px,3vh,34px)}
  .hero h1{font-size:clamp(1.9rem,7.5vw,2.6rem);margin-bottom:12px}
  .hero .lead{font-size:.98rem;margin-bottom:18px}
  .kicker-light{font-size:.7rem;margin-bottom:12px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps .st{padding:16px 14px}.steps .num{font-size:1.3rem;margin-bottom:8px}.steps h3{font-size:1rem}.steps p{font-size:.88rem}
  .chain,.team,.vals{grid-template-columns:1fr}.stats .s{border-right:0}
  .stats{grid-template-columns:repeat(2,1fr)}.stats .s:nth-child(2n){border-right:0}
  .topbar{display:none}.cmp{display:block;overflow-x:auto}
  .slider{grid-auto-columns:86%}
  .col-media img{height:clamp(200px,58vw,310px)}
  .sec-head.center{margin-bottom:24px}
  .feat{padding:16px;gap:12px}.feat h3{font-size:.98rem}.feat p{font-size:.86rem}
  .stats .s{padding:20px 14px}
  .arglist li{padding:11px 0}
  .arglist .ic{flex:0 0 18px}.arglist .ic svg{width:18px;height:18px}
  .cta-section{padding:clamp(44px,7vh,72px) 0}
  .cta-section h2{font-size:clamp(1.7rem,6vw,2.3rem)}
}
@media(min-width:981px){
  .slider{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;overflow:visible;scroll-snap-type:none;margin:0;padding:0}
  .slider.cols-2{grid-template-columns:repeat(2,1fr)}
}
html,body{overflow-x:hidden}

/* ---- Timeline méthode ---- */
.timeline{max-width:720px;margin:0 auto}
.tl-step{display:grid;grid-template-columns:48px 1fr;gap:0 24px;position:relative;align-items:flex-start}
.tl-step:not(:last-child)::before{content:'';position:absolute;left:23px;top:52px;bottom:-8px;width:2px;background:var(--line);z-index:0}
.tl-num{width:48px;height:48px;border-radius:50%;border:2px solid var(--bordeaux);display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:700;color:var(--bordeaux);font-size:.88rem;background:#fff;z-index:1;flex-shrink:0}
.tl-body{padding-bottom:clamp(28px,4vw,44px)}
.tl-body h3{font-size:1.18rem;margin:10px 0 7px;font-family:var(--f-head);font-weight:600}
.tl-body p{font-size:.96rem;color:var(--ink-2);margin:0}

/* ---- Accordion dispositifs ---- */
.disp-list{border-top:1px solid var(--line)}
.disp-item{border-bottom:1px solid var(--line)}
.disp-item summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;display:flex;align-items:center;gap:18px}
.disp-item summary::-webkit-details-marker{display:none}
.disp-item summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--bordeaux);font-weight:300;line-height:1}
.disp-item[open] summary::after{content:"–"}
.disp-num{font-family:var(--f-head);font-weight:700;font-size:.82rem;color:var(--beige);flex-shrink:0;width:26px}
.disp-title{font-family:var(--f-head);font-weight:600;font-size:1.14rem;flex:1}
.disp-tag{font-family:var(--f-head);font-size:.8rem;background:var(--paper-2);color:var(--bordeaux);padding:5px 11px;border-radius:4px;white-space:nowrap;flex-shrink:0}
.disp-body{padding:0 0 28px 44px}
.disp-split{display:grid;grid-template-columns:1fr .8fr;gap:clamp(24px,3vw,44px);align-items:start}
.disp-split img{width:100%;height:clamp(180px,24vw,280px);object-fit:cover;border-radius:var(--r);box-shadow:var(--sh-s)}
.disp-split .disp-txt p{font-size:.96rem;color:var(--ink-2);margin-bottom:16px}
.disp-split .disp-txt p:first-child{font-size:1.04rem;color:var(--ink);font-weight:400}

/* ---- Savoir-faire éditorial ---- */
.sf-list{list-style:none;margin:20px 0 26px;padding:0;display:flex;flex-direction:column;gap:14px}
.sf-list li{display:flex;gap:14px;font-size:.96rem}
.sf-list li::before{content:"→";font-family:var(--f-head);font-weight:700;color:var(--beige-l);flex-shrink:0;margin-top:1px}

@media(max-width:980px){
  .disp-split{grid-template-columns:1fr}
  .disp-split img{display:none}
  .disp-tag{display:none}
  .disp-body{padding:0 0 22px 36px}
}
@media(max-width:600px){
  .disp-item summary{padding:18px 36px 18px 0}
  .disp-body{padding:0 0 18px 0}
  .tl-step{grid-template-columns:38px 1fr;gap:0 18px}
  .tl-num{width:38px;height:38px;font-size:.78rem}
  .tl-step:not(:last-child)::before{left:18px}
}

/* ---- Valeurs éditorial ---- */
.vals-editorial{max-width:820px;margin:0 auto}
.vals-editorial p{font-size:1.06rem;color:var(--ink-2);margin-bottom:1.4em;line-height:1.78}
.vals-editorial p strong{color:var(--ink);font-weight:600}
.vals-editorial p:first-child{font-size:1.16rem;color:var(--ink)}

/* ---- Services : image pleine côté droit ---- */
.svc-img{width:100%;height:clamp(320px,38vw,500px);object-fit:cover;border-radius:var(--r);box-shadow:var(--sh-s)}
.svc-quote{border-left:3px solid var(--bordeaux);padding:18px 22px;background:var(--paper-2);border-radius:0 var(--r) var(--r) 0;font-family:var(--f-head);font-size:1.08rem;line-height:1.5;color:var(--ink)}
.svc-quote span{display:block;font-size:.84rem;color:var(--ink-2);margin-top:10px;font-family:var(--f-body);font-weight:400}
.svc-mini{font-size:.9rem;color:var(--ink-2);line-height:1.6;padding:18px 0 8px;border-top:1px solid var(--line)}
.svc-mini strong{color:var(--ink);font-weight:600}
@media(max-width:980px){.svc-img{height:clamp(200px,56vw,320px)}}

/* Grid utilitaires */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:980px){.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid-3{grid-template-columns:1fr}}

/* ---- Maillage interne : liens visibles ---- */
.seo-band a{color:var(--bordeaux);text-decoration:underline;text-decoration-color:rgba(120,63,55,.35);text-underline-offset:3px;transition:text-decoration-color .2s}
.seo-band a:hover{text-decoration-color:var(--bordeaux)}
.ans a,.vals-editorial a,.disp-txt a:not(.btn),.sf-list a,.tl-body a{color:var(--bordeaux);text-decoration:underline;text-decoration-color:rgba(120,63,55,.4);text-underline-offset:2px}
.ans a:hover,.vals-editorial a:hover{text-decoration-color:var(--bordeaux)}
.foot-legal a{color:#bdab9c}.foot-legal a:hover{color:#fff}

/* ---- CF7 formulaire : mise en valeur ---- */
.wpcf7{width:100%}
.wpcf7 p{margin-bottom:16px}
.wpcf7 .wpcf7-form-control-wrap{display:block;width:100%}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea,.wpcf7 select{
  width:100%;padding:13px 16px;border:1.5px solid var(--line-2);background:#fff;font-family:var(--f-body);font-size:.96rem;color:var(--ink);border-radius:var(--r);transition:.18s;outline:none}
.wpcf7 input[type=text]:focus,.wpcf7 input[type=email]:focus,.wpcf7 input[type=tel]:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{border-color:var(--bordeaux);box-shadow:0 0 0 3px rgba(120,63,55,.12)}
.wpcf7 textarea{min-height:140px;resize:vertical}
.wpcf7 input[type=submit]{background:var(--bordeaux);color:#fff;border:none;padding:15px 32px;font-family:var(--f-head);font-weight:600;font-size:1rem;cursor:pointer;border-radius:4px;transition:.2s;width:100%}
.wpcf7 input[type=submit]:hover{background:var(--bordeaux-d);transform:translateY(-2px);box-shadow:0 6px 20px rgba(120,63,55,.3)}
.wpcf7 .wpcf7-response-output{padding:12px 16px;border-radius:var(--r);font-size:.9rem;margin-top:12px}
#formulaire .wrap.split{grid-template-columns:1.35fr 1fr}

/* ---- Contact info block ---- */
.contact-info-block{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,36px)}
.contact-info-block h3{font-size:1.28rem;margin-bottom:20px}
.cib-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.cib-item:last-child{border-bottom:0}
.cib-ic{flex:0 0 22px;color:var(--bordeaux);margin-top:2px}.cib-ic svg{width:22px;height:22px}
.cib-txt b{display:block;font-family:var(--f-head);font-weight:600;font-size:.92rem;margin-bottom:2px}
.cib-txt span,.cib-txt a{font-size:.92rem;color:var(--ink-2)}
.cib-txt a:hover{color:var(--bordeaux)}
.cib-reassurance{margin-top:20px;padding:16px;background:#fff;border-radius:var(--r);border:1px solid var(--line)}
.cib-reassurance p{font-size:.88rem;color:var(--ink-2);margin:0;line-height:1.6}
.cib-reassurance p+p{margin-top:6px}

/* ---- Services : variété visuelle ---- */
.svc-block.featured{position:relative;overflow:hidden}
.svc-block.featured .wrap.split{grid-template-columns:.9fr 1.1fr}
.svc-block.featured .svc-img{height:clamp(360px,42vw,520px)}
@media(max-width:600px){#formulaire .wrap.split{grid-template-columns:1fr}}

/* ---- Groupe éditorial ---- */
.groupe-editorial{border-top:1px solid var(--line)}
.ge-item{display:grid;grid-template-columns:1fr 2fr;gap:clamp(22px,4vw,56px);padding:clamp(22px,3vw,38px) 0;border-bottom:1px solid var(--line);align-items:start}
.ge-num{font-family:var(--f-head);font-weight:700;font-size:.82rem;letter-spacing:.12em;color:var(--beige);display:block;margin-bottom:10px}
.ge-left h3{font-size:1.52rem;margin:0 0 12px}
.ge-right p{font-size:1rem;color:var(--ink-2);line-height:1.78;margin:0 0 14px}
.ge-right p:last-child{margin:0}
@media(max-width:600px){.ge-item{grid-template-columns:1fr}.ge-left{margin-bottom:8px}}

/* ---- Team slider mobile ---- */
.ph-pending{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ink-2);font-size:.84rem;line-height:1.6;font-family:var(--f-head)}
@media(max-width:600px){
  .team.team-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:18px;padding:4px 4px 20px;margin:0 -4px;grid-template-columns:none}
  .team.team-slider .member{flex:0 0 84%;scroll-snap-align:start}
}

/* ---- Services : proportions variées ---- */
.svc-wide{grid-template-columns:.85fr 1.15fr !important}
.svc-wide.rev{grid-template-columns:1.15fr .85fr !important}
.svc-img-featured{height:clamp(380px,46vw,540px) !important}
@media(max-width:980px){.svc-wide,.svc-wide.rev{grid-template-columns:1fr !important}}
