@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--navy:#102338;--navy2:#1c3a55;--gold:#caa86d;--goldlight:#e6cb98;--ivory:#f7f4ef;--paper:#fff;--ink:#12243a;--muted:#647080;--border:#e8e5de;--shadow:0 18px 50px rgba(15,30,49,.09);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif;background:#fff}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.17;letter-spacing:-.025em;margin:0}h1{font-size:clamp(2.65rem,5.4vw,5.2rem)}h2{font-size:clamp(2.05rem,3.6vw,3.35rem)}h3{font-size:1.45rem}p{margin:0 0 1em}.wrap{width:min(1170px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:8px;top:-90px;z-index:9999;background:white;padding:14px}.skip:focus{top:8px}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:#aa8547;margin-bottom:13px}.muted{color:var(--muted)}.text-center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:9px;padding:14px 23px;font-size:.93rem;font-weight:700;transition:transform .18s,background .18s,border .18s;min-height:48px;text-align:center;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn.gold{background:var(--gold);color:var(--navy)}.btn.gold:hover{background:#e3bf81}.btn.navy{background:var(--navy);color:#fff}.btn.outline{border-color:var(--navy);background:transparent;color:var(--navy)}.btn.ghost{border-color:#ffffff99;color:#fff;background:#ffffff0c}.btn.small{padding:9px 14px;min-height:39px;font-size:.82rem}.btn.full{width:100%}.btn.back{padding:9px 2px;color:var(--ink);background:none;border:0}.site-header{height:77px;background:#fff;position:sticky;top:0;z-index:70;border-bottom:1px solid #ede9e2}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:14px}.logo{display:flex;align-items:center;gap:10px;min-width:205px}.brand-mark{color:var(--gold);font-size:1.8rem;line-height:1}.logo strong{font:700 1.06rem/1.15 Georgia,serif;letter-spacing:.045em;white-space:nowrap}.logo small{display:block;letter-spacing:.22em;font-size:.53rem;margin-top:4px}.nav{display:flex;align-items:center;gap:18px}.nav a{font-size:.78rem;font-weight:600;white-space:nowrap;color:#263950}.nav a.active{color:#a47e40}.nav a:hover{color:#9f793b}.header-actions{display:flex;align-items:center;gap:9px}.header-phone{color:#715427;border:1px solid #d8c19d;border-radius:8px;padding:9px 11px;font-size:.83rem;font-weight:700;white-space:nowrap}.menu-toggle{display:none;min-width:42px;min-height:42px;border:1px solid var(--border);background:#fff;border-radius:9px;font-size:1.3rem}.mobile-nav{display:none}.demo-ribbon{background:#f3e8d6;color:#6f5632;padding:9px 20px;text-align:center;font-size:.73rem;line-height:1.4}.site-footer{background:var(--navy);color:#fff;padding:64px 0 22px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:48px}.site-footer h3{font-size:1.15rem}.site-footer p,.site-footer a{color:#c8d4e0;font-size:.88rem}.site-footer a:hover{color:var(--goldlight)}.footer-links{display:grid;gap:10px}.footer-bottom{margin-top:46px;border-top:1px solid #ffffff24;padding-top:19px;font-size:.73rem;color:#c6d2df}.section{padding:92px 0}.section.soft{background:var(--ivory)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:34px}.section-head p{max-width:570px;color:var(--muted)}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden}.card-content{padding:27px}.card .icon{font-size:2rem;color:#aa874b;margin-bottom:12px}.card h3{margin-bottom:11px}.card p{color:var(--muted);font-size:.95rem}.card-link{font-weight:700;color:#8b672b;font-size:.9rem}.card-media{height:178px;background:linear-gradient(130deg,#d7d3ca,#f7f1e5);display:flex;align-items:center;justify-content:center;overflow:hidden}.card-media img{height:100%;width:100%;object-fit:cover}.placeholder{background:linear-gradient(135deg,#e8e4db,#f4f0e8);border:1px dashed #c7b79f;border-radius:17px;padding:34px;text-align:center;color:#86755c}.placeholder .symbol{font-size:2.7rem;line-height:1;margin-bottom:15px}.placeholder p{margin:0}.pale-chip{background:#f5eee1;color:#83653d;display:inline-block;padding:5px 10px;font-size:.73rem;font-weight:700;border-radius:99px;margin-bottom:13px}.page-hero{background:linear-gradient(120deg,#102338,#1c3d5b);color:#fff;padding:85px 0 78px}.page-hero .eyebrow{color:var(--goldlight)}.page-hero p{max-width:680px;color:#e2e8ef;margin:18px 0 0;font-size:1.04rem}.page-hero h1{font-size:clamp(2.5rem,5vw,4.5rem)}.hero{background:var(--navy);color:#fff}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:620px;align-items:stretch}.hero-copy{padding:105px 40px 95px max(32px,calc((100vw - 1170px)/2));display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(2.65rem,4.5vw,4.75rem)}.hero-copy h1 em{font-style:normal;color:var(--goldlight)}.hero-copy p{max-width:540px;color:#dce3eb;font-size:1.04rem;margin:27px 0}.hero-photo{background:linear-gradient(90deg,#1023384d,#10233806),url('maison-entree.jpg') center center/cover no-repeat;position:relative}.hero-photo:after{content:'Visuel illustratif';position:absolute;bottom:13px;right:17px;font-size:.7rem;color:#fff;background:#1023389e;border-radius:6px;padding:4px 8px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.credibility{background:#fff;border-bottom:1px solid var(--border)}.credibility-inner{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;gap:26px}.cred-item{display:flex;align-items:center;gap:15px}.cred-item strong{font:600 1.55rem Georgia,serif;color:var(--navy);white-space:nowrap}.cred-item p{margin:0;font-size:.86rem;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:58px;align-items:center}.portrait{min-height:380px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:linear-gradient(160deg,#e7decf,#f7f4ee);border-radius:22px;color:#706b63}.portrait .big{font-size:4.5rem}.portrait span{font-size:.87rem}.inline-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.dark-band{background:var(--navy);padding:72px 0;color:#fff}.dark-band h2{max-width:680px}.dark-band p{color:#dce6ec;margin-top:15px;max-width:610px}.topic-tag{display:inline-block;padding:5px 10px;background:#f4ead9;border-radius:6px;color:#806138;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:700;margin:15px 0 9px}.article-card{display:flex;flex-direction:column;height:100%}.article-card .card-content{flex:1}.article-card h3{font-size:1.25rem}.article-card .readmore{display:inline-block;margin-top:12px;color:#8d6a39;font-weight:700;font-size:.87rem}.check-row{display:flex;gap:15px;padding:14px 0;border-bottom:1px solid var(--border)}.check-row .check{color:#ad884d;font-weight:700;font-size:1.2rem}.faqs{max-width:860px;margin:auto}.faqs details{border-bottom:1px solid var(--border);padding:19px 0}.faqs summary{cursor:pointer;font-weight:700}.faqs p{margin:10px 0 0;color:var(--muted)}.cta-strip{background:#e8d2a8;padding:65px 0}.cta-strip .inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-strip h2{font-size:clamp(1.9rem,3.4vw,2.9rem);max-width:740px}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:38px;align-items:start}.form-card{padding:33px;background:#fff;border-radius:22px;box-shadow:var(--shadow);border:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:7px;margin:0 0 19px}.field label,.field>span{font-size:.84rem;font-weight:700}.field input,.field select,.field textarea{min-height:48px;width:100%;border:1px solid #c9d0d6;border-radius:9px;padding:12px 14px;background:#fff;color:var(--ink)}.field textarea{min-height:96px;resize:vertical}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.smallnote{font-size:.77rem;color:#6a7481;line-height:1.5}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:20px}.choice-grid label{cursor:pointer}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:8px;text-align:center;border:1px solid #cdd2d7;border-radius:9px;font-weight:700;font-size:.86rem}.choice-grid input:checked+span{background:#f7eddb;border-color:#b18b4f;color:#6f5128}.form-notice{border:1px solid #e8dabc;border-radius:10px;background:#fff8ec;padding:16px;color:#685236;font-size:.83rem}.consent{display:flex;align-items:start;gap:10px;font-size:.83rem;line-height:1.5;margin:15px 0}.consent input{margin-top:4px;min-width:16px;min-height:16px}.form-error{color:#9b2929;font-size:.84rem;min-height:1.2em}.success-card{border:1px solid #bad5c0;background:#eef8f0;border-radius:13px;padding:23px;display:none}.success-card.show{display:block}.text-content{max-width:860px}.text-content h2{font-size:2.1rem;margin:32px 0 15px}.text-content h3{margin:24px 0 12px}.text-content p,.text-content li{line-height:1.9;color:#485565}.text-content ul{padding-left:22px}.breadcrumb{display:flex;gap:9px;font-size:.8rem;color:#d7e1e7;margin-bottom:23px}.breadcrumb a{text-decoration:underline}.local-pill-list{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.local-pill-list a,.local-pill-list span{padding:10px 17px;border:1px solid #d5ccbd;background:#fff;border-radius:80px;font-size:.89rem}.notice{border-left:3px solid var(--gold);background:#fbf6eb;padding:16px 18px;color:#67573a;font-size:.86rem}.quote{padding:24px;background:#f5f1ea;border-left:3px solid var(--gold);font:italic 1.25rem Georgia,serif;margin:25px 0}.go-top{scroll-margin-top:85px}
/* Dedicated entry sequence, with the generated photographic façade, matching cropped wooden door and independent hinge transform. */
.entry-page{height:100dvh;overflow:hidden;background:#101f2b;color:#fff}.entry-head{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:24px max(24px,calc((100vw - 1200px)/2));background:linear-gradient(#071523c4,transparent)}.entry-head .logo{color:#fff}.entry-head .logo small{color:#d8e1e7}.entry-head-actions{display:flex;align-items:center;gap:14px}.entry-head-actions a{font-weight:700;font-size:.87rem}.entry-stage{position:absolute;inset:0;overflow:hidden;background:#18324a}.entry-photo{position:absolute;left:50%;top:50%;width:max(100vw,177.67dvh);aspect-ratio:1672/941;transform:translate(-50%,-50%) scale(1);transform-origin:50% 52%;will-change:transform;perspective:1200px}.entry-photo>.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.entry-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(#081b3099 0%,#07172b0a 30%,#0a1a2980 100%);pointer-events:none;z-index:3}.entry-aperture{position:absolute;left:44.0%;top:31.9%;width:12.45%;height:41.5%;background:radial-gradient(ellipse at 55% 35%,#8b6638,#110c0b 57%);box-shadow:inset 0 0 25px #020204;z-index:1}.entry-door{position:absolute;left:44%;top:31.8%;width:12.45%;height:42%;transform-origin:0% 50%;object-fit:fill;z-index:2;backface-visibility:visible;filter:drop-shadow(2px 1px 2px #0007);will-change:transform}.entry-door img{height:100%;width:100%;display:block;object-fit:fill}.entry-content{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;text-align:center;padding:100px 24px 32px;pointer-events:none}.entry-content>*{pointer-events:auto}.entry-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.5rem,5vw,4.6rem);text-shadow:0 3px 28px #071c2dce;max-width:920px;line-height:1.1}.entry-content p{font-size:1rem;text-shadow:0 2px 14px #0019;margin:0}.entry-cta{background:var(--gold);border:0;color:#101f2b;padding:19px 32px;border-radius:9px;font-size:1.12rem;font-weight:800;box-shadow:0 12px 40px #001c;cursor:pointer;transition:transform .15s}.entry-cta:hover{transform:translateY(-3px)}.entry-cta:disabled{opacity:.6}.entry-skip{color:#fff;font-weight:700;text-decoration:underline;background:none;border:0}.entry-powered{position:absolute;bottom:20px;left:0;right:0;z-index:9;text-align:center;color:#fff;font-size:.7rem;text-shadow:0 3px 10px #000d}.entry-stage.entering .entry-photo{animation:entryZoom 2.25s cubic-bezier(.32,.02,.78,.3) forwards}.entry-stage.entering .entry-door{animation:doorOpen 1.52s .42s cubic-bezier(.45,.03,.7,.52) forwards}.entry-stage.entering .entry-content{animation:entryFade .28s forwards}.entry-stage.entering .entry-powered{animation:entryFade .28s forwards}.entry-stage.entering:after{animation:entryDark 2.2s forwards}@keyframes entryZoom{0%{transform:translate(-50%,-50%) scale(1)}55%{transform:translate(-50%,-50%) scale(1.8)}100%{transform:translate(-50%,-50%) scale(8.5)}}@keyframes doorOpen{0%,10%{transform:rotateY(0)}100%{transform:rotateY(-106deg)}}@keyframes entryFade{to{opacity:0;visibility:hidden}}@keyframes entryDark{0%{background:linear-gradient(#081b3099,#0a1a293d,#0a1a2980)}65%{background:#09172924}100%{background:#0b182a}}.lead-screen{position:absolute;inset:0;background:linear-gradient(135deg,#102338,#254761);overflow:auto;z-index:30;display:none;padding:98px 24px 35px}.lead-screen.active{display:flex;align-items:flex-start;justify-content:center}.lead-panel{width:min(670px,100%);margin:auto}.lead-panel .eyebrow{color:var(--goldlight)}.lead-panel h1{font-size:clamp(2.1rem,4vw,3.4rem);margin-bottom:9px}.lead-panel>p{color:#d8e2e8;margin-bottom:20px}.lead-panel .form-card{color:var(--ink)}.lead-progress{height:5px;background:#d9dde2;border-radius:5px;overflow:hidden;margin-bottom:20px}.lead-progress>div{height:100%;background:var(--gold);width:50%;transition:width .2s}.form-step{display:none}.form-step.active{display:block}.lead-close{position:absolute;top:27px;right:24px;color:#fff;z-index:35;display:inline-flex;gap:8px;align-items:center;font-size:.83rem}.contact-direct{min-height:65vh;background:var(--ivory);padding:76px 0}
@media(max-width:1180px){.nav{gap:11px}.nav a{font-size:.7rem}.logo{min-width:174px}.logo strong{font-size:.96rem}.header-phone{display:none}}@media(max-width:940px){.site-header{height:69px}.header-inner{flex-wrap:wrap}.nav{display:none}.menu-toggle{display:block}.header-actions .btn{display:none}.mobile-nav.open{display:flex;flex-direction:column;position:absolute;top:69px;left:0;right:0;background:#fff;padding:20px 24px 27px;gap:17px;box-shadow:0 16px 30px #112c3d27}.mobile-nav a{font-weight:700;font-size:.94rem}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:75px 24px 62px}.hero-photo{min-height:390px}.grid3{grid-template-columns:repeat(2,1fr)}.intro-grid{gap:30px}.footer-grid{grid-template-columns:1.3fr 1fr}.footer-grid>div:last-child{grid-column:span 2}.contact-layout{grid-template-columns:1fr}.entry-head{padding:18px 21px}}@media(max-width:620px){.wrap{width:calc(100% - 36px)}.section{padding:60px 0}.section-head{display:block}.section-head>.btn{margin-top:18px}.hero-copy{padding:64px 21px 45px}.hero-photo{min-height:295px}.hero-copy p{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.credibility-inner{grid-template-columns:1fr;gap:15px;padding:22px 0}.cred-item strong{width:115px}.intro-grid,.grid2,.grid3{grid-template-columns:1fr}.portrait{min-height:265px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-grid>div:last-child{grid-column:auto}.cta-strip .inner{display:block}.cta-strip .btn{margin-top:23px}.field-grid{grid-template-columns:1fr;gap:0}.form-card{padding:24px 19px}.choice-grid{grid-template-columns:1fr 1fr}.entry-head-actions .tel-label{display:none}.entry-head .logo strong{font-size:.88rem}.entry-head .logo{min-width:0}.entry-head{padding:16px 18px}.entry-content{padding:100px 18px 32px}.entry-title{font-size:clamp(2.25rem,10vw,3.3rem)}.entry-cta{padding:18px 24px;font-size:.97rem}.lead-screen{padding:80px 14px 24px}.lead-panel h1{font-size:2rem}.lead-panel>p{font-size:.88rem}.page-hero{padding:66px 0 58px}.contact-direct{padding:52px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* V3 — parcours projet (vente, acquisition, double projet, estimation ou autre). */
.articles-two-cols{row-gap:22px}
.lead-branch[hidden]{display:none!important}
.lead-branch{border-left:3px solid var(--gold);padding:10px 0 2px 17px;margin-bottom:18px;background:#fcfaf6}
.lead-branch-head{display:flex;flex-direction:column;gap:2px;margin-bottom:15px}
.lead-branch-head strong{color:var(--ink);font-size:.95rem}
.lead-branch-head span{color:var(--muted);font-size:.82rem}
.lead-step-title{margin-bottom:18px}
.project-choice{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-choice span{min-height:65px;line-height:1.2}
.choice-grid input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}
.optional{font-size:.8em;color:#647080;font-weight:400}
.buyer-aside{margin-top:25px;padding:23px;border:1px solid #e2d2b9;background:#fff;border-radius:16px}
.buyer-aside h3{font-size:1.55rem;margin-bottom:10px}
.buyer-aside p{color:var(--muted);margin-bottom:17px}
@media(max-width:620px){.project-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-branch{padding:12px 9px}.lead-branch-head{margin-bottom:11px}}

/* Alertes immobilières, V4 */
@media(max-width:1130px){.nav{display:none}.menu-toggle{display:block}.site-header{height:69px}.mobile-nav.open{display:flex;flex-direction:column;position:absolute;top:69px;left:0;right:0;background:white;padding:20px 24px 27px;gap:17px;box-shadow:0 16px 30px #112c3d27}.mobile-nav a{font-weight:700;font-size:.94rem}}
.alert-hero{background:linear-gradient(135deg,#102338,#254561)}
.alert-layout{display:grid;grid-template-columns:0.88fr 1.12fr;gap:52px;align-items:start}
.alert-aside{padding:35px 8px}
.alert-aside h2{max-width:410px}
.alert-process{margin:32px 0;display:grid;gap:26px}
.alert-process>div{display:flex;gap:16px;align-items:flex-start}
.alert-process b{display:grid;place-items:center;min-width:54px;height:54px;border:1px solid #d6bc8c;background:#f6eddc;color:#8f6c32;border-radius:14px;font-size:1.15rem}
.alert-process span{display:grid;gap:4px;padding-top:5px}
.alert-process small{font-size:.89rem;color:var(--muted)}
.alert-tip{background:#f5ecdf;padding:23px;border-radius:14px;margin-top:24px}
.alert-tip p{margin:9px 0;color:#5d6874;font-size:.9rem}
.alert-tip a{font-weight:700;color:#7d5a26}
.alert-form-card h2{font-size:2.1rem;margin-bottom:10px}
.alert-form-card>p{margin-bottom:24px}
.alert-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
.alert-choices span{font-size:.82rem;min-height:58px}
.alert-message{border-radius:10px;padding:13px 17px;margin:14px 0 0!important;font-size:.91rem}
.alert-message.success{background:#e4f4ea;color:#20513d}
.alert-message.error{background:#fce9e9;color:#722929}
.alert-message.info{background:#fff4dd;color:#76501c}
.alert-promo{display:flex;align-items:center;justify-content:space-between;gap:30px}
.alert-promo h2{max-width:720px;font-size:clamp(1.85rem,3.1vw,2.7rem)}
.alert-promo p{margin-top:14px;color:var(--muted);max-width:690px}
.alert-promo .btn{white-space:normal;max-width:100%;min-width:0;text-align:center;overflow-wrap:anywhere;justify-content:center;line-height:1.4}
.alert-branch-note{margin:8px 14px 0}
.alert-branch-note a{text-decoration:underline;color:#88622d}
.status-wrap{max-width:660px}
.status-card{padding:45px}
.status-card h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:18px}
.status-card p{color:var(--muted)}
@media(max-width:850px){.alert-layout{grid-template-columns:1fr;gap:24px}.alert-aside{padding:0}.alert-promo{display:block}.alert-promo .btn{margin-top:15px}}
@media(max-width:620px){.alert-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.status-card{padding:24px}.alert-form-card h2{font-size:1.75rem}}

.alert-card-link{display:block;text-align:center;font-size:.87rem;font-weight:700;color:#8b672b;margin-top:14px}
.alert-card-link:hover{text-decoration:underline}

/* V5 — alertes intégrées au tunnel d'achat / double-projet */
.lead-alert-option[hidden]{display:none!important}
.lead-alert-option{background:#f6efe2;border:1px solid #dec699;padding:19px 18px;margin:14px 0 20px;border-radius:12px}
.lead-alert-title{font-weight:800;color:#102338;margin-bottom:12px}
.lead-alert-consent{display:flex;align-items:flex-start;gap:12px}
.lead-alert-consent small{display:block;color:#596372;font-size:.83rem;line-height:1.45;margin-top:5px}
.lead-alert-option a{text-decoration:underline}
.buyer-alert-criteria{margin-bottom:3px}

.catalogue-controls{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:25px}.catalogue-controls label{display:grid;gap:5px;min-width:220px;font-weight:700;font-size:.88rem}.catalogue-controls input,.catalogue-controls select{border:1px solid #c9d0d6;border-radius:9px;padding:11px 13px;background:#fff;color:var(--ink)}.card-media .symbol{font-size:3rem;color:#b1a18a}.catalogue-controls+#catalogue-statut{margin-bottom:20px}.article-card .card-content p{margin:8px 0}

.article-date{font-size:.8rem;color:#657487;margin:10px 0 18px}.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-card{background:white;padding:26px;border-radius:13px;border:1px solid #dce3e8}.review-stars{color:#b38b45;font-size:1.25rem;letter-spacing:.06em}.review-card blockquote{margin:18px 0;font-style:normal;line-height:1.7}.review-card .review-name{font-weight:700}.market-result{padding:16px;border:1px solid #d6e0e6;background:#f8fafc;border-radius:12px;margin:14px 0}.market-result strong{font-size:1.5rem}.market-result p{margin:8px 0}@media(max-width:700px){.review-list{grid-template-columns:1fr}}

/* V12 — suggestions accessibles de localisation */
.location-wrap{position:relative;min-width:0;width:100%}
.location-list{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:80;max-height:245px;overflow-y:auto;background:#fff;color:#172c3d;border:1px solid #cdd7df;border-radius:10px;box-shadow:0 14px 35px rgba(10,35,56,.18)}
.location-list[hidden]{display:none!important}
.location-option{display:block;width:100%;border:0;border-bottom:1px solid #edf0f2;text-align:left;background:white;padding:11px 13px;color:#173047;cursor:pointer;font:inherit}
.location-option:last-child{border:0}
.location-option:hover,.location-option.is-highlighted{background:#f4f0e9}
.location-option small{display:block;color:#6a7985;font-size:.73em;margin-top:2px}
.location-status{font-size:.76rem;color:#5a6874;margin-top:6px}

/* V15 — Pourquoi demander une estimation personnalisée */
.estimation-personnalisee{margin-top:25px;padding:26px 25px;background:#fff;border:1px solid #d9dfdf;border-left:4px solid #c5a36a;border-radius:12px;box-shadow:0 6px 18px #1023380a}
.estimation-personnalisee h3{font-size:clamp(1.3rem,2.2vw,1.85rem);margin:10px 0}
.estimation-personnalisee>p{margin:10px 0;color:#455564;line-height:1.65}
.analyse-points,.estimation-differences ul{list-style:disc;padding-left:20px;margin:15px 0 20px}
.analyse-points li,.estimation-differences li{padding:4px 0;line-height:1.55;color:#334858}
.analyse-points strong{color:#102338}
.estimation-differences{background:#f3efe8;border-radius:11px;padding:18px 20px;margin:18px 0}
.estimation-differences h4{font-size:1.13rem;margin:0 0 9px;color:#102338}
.estimation-differences p{margin:10px 0 0;color:#455564}
@media(max-width:620px){.estimation-personnalisee{padding:19px 17px}.estimation-differences{padding:16px}}

/* V22 — Bandeaux harmonisés pour Mon parcours, Mes annonces, Avis clients,
   Conseils & Actualités. La page Estimation en ligne conserve son design A validé. */
.page-hero.page-hero-compact{
  background:linear-gradient(117deg,#102338 5%,#1b3852);
  padding:36px 0 35px;
  min-height:206px;
  display:flex;
  align-items:center;
}
.page-hero.page-hero-compact .wrap{width:min(1170px,calc(100% - 48px))}
.page-hero.page-hero-compact .eyebrow{
  color:#e6cb98;
  font-size:.69rem;
  margin:0 0 10px;
}
.page-hero.page-hero-compact h1{
  font-size:clamp(2rem,3.3vw,3.12rem);
  max-width:860px;
  line-height:1.13;
  letter-spacing:-.035em;
}
.page-hero.page-hero-compact p{
  margin:12px 0 0;
  max-width:720px;
  font-size:.96rem;
  line-height:1.5;
  color:#d9e5ef;
}
.page-hero.page-hero-compact + .section{padding-top:38px}
@media(max-width:800px){
 .page-hero.page-hero-compact{padding:30px 0 28px;min-height:0}
 .page-hero.page-hero-compact h1{font-size:clamp(1.88rem,5vw,2.7rem)}
}
@media(max-width:620px){
 .page-hero.page-hero-compact{padding:25px 0;min-height:0}
 .page-hero.page-hero-compact .wrap{width:calc(100% - 36px)}
 .page-hero.page-hero-compact h1{font-size:clamp(1.87rem,7vw,2.33rem)}
 .page-hero.page-hero-compact p{font-size:.85rem;line-height:1.5}
 .page-hero.page-hero-compact + .section{padding-top:25px}
}

/* V23 — Avis clients : lecture confortable, moyenne et pagination */
.reviews-page{padding-top:30px;padding-bottom:64px}
.reviews-summary{background:#fff;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px;align-items:center;border:1px solid #e6e8ea;border-radius:17px;padding:29px 34px;box-shadow:0 12px 30px #10233809;max-width:1100px;margin:0 auto 36px}
.reviews-summary-main,.reviews-breakdown{min-width:0}
.reviews-summary-main .eyebrow{font-size:.72rem;color:#9a7437;letter-spacing:.13em;margin:0 0 8px}
.reviews-average{font-family:Georgia,serif;color:#102338;font-size:clamp(3rem,5vw,4.7rem);font-weight:700;line-height:1.08}
.reviews-average span{font:600 1.2rem/1.2 Manrope,Arial,sans-serif;color:#637487}
.reviews-summary-stars{font-size:1.38rem;letter-spacing:4px;color:#b58a46;margin:7px 0}
.reviews-total{font-weight:700;color:#24384a;font-size:.95rem}
.reviews-summary-note{margin-top:10px;max-width:440px;font-size:.78rem;color:#667384;line-height:1.5}
.reviews-breakdown{display:grid;gap:10px}
.reviews-breakdown-row{display:grid;grid-template-columns:45px 1fr 28px;align-items:center;gap:12px;color:#455568;font-size:.8rem;font-weight:700}
.reviews-breakdown-row>span:last-child{text-align:right}
.reviews-breakdown-track{height:9px;border-radius:40px;background:#eceff0;overflow:hidden}
.reviews-breakdown-fill{height:100%;background:#c5a36a;border-radius:40px}
.reviews-list-header{max-width:1100px;display:flex;justify-content:space-between;align-items:end;gap:14px;margin:10px auto 21px}
.reviews-list-header .eyebrow{font-size:.7rem;color:#997641;letter-spacing:.13em;margin-bottom:4px}
.reviews-list-header h2{font-size:clamp(1.6rem,2.5vw,2.2rem);color:#102338}
.reviews-list-header p:not(.eyebrow){color:#657487;font-size:.9rem}
.reviews-list-header .review-back-link{font-weight:700;color:#324b64;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.reviews-page .review-list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1100px;margin:0 auto;align-items:start;gap:16px}
.reviews-page .review-card{min-width:0;max-width:100%;display:flex;flex-direction:column;padding:22px 22px 20px;border-radius:12px;overflow-wrap:anywhere;word-break:break-word;overflow:hidden;box-shadow:0 7px 22px #10233807}
.reviews-page .review-card blockquote{min-width:0;max-width:100%;margin:13px 0 17px;color:#263b4d;font-size:.92rem;line-height:1.6;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.reviews-page .review-stars{font-size:1.2rem;line-height:1.2}
.reviews-page .review-foot{display:flex;flex-direction:column;gap:3px;margin-top:auto;padding-top:5px}
.reviews-page .review-name{font-size:.85rem;font-weight:800;color:#102338}
.reviews-page .review-date{font-size:.75rem;color:#718093}
.reviews-page .review-source,.reviews-page .review-more{margin-top:9px;color:#795a2b;font-size:.79rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.reviews-all-action{text-align:center;margin:28px 0 0}
.reviews-empty-summary{background:#fff;border:1px solid #e7e9ea;border-radius:12px;padding:25px;margin-bottom:14px}
.reviews-empty-summary h2{font-size:1.35rem}
.reviews-filters{max-width:1100px;margin:0 auto 22px;display:flex;gap:9px;flex-wrap:wrap}
.reviews-filter{border:1px solid #d8dfe3;color:#33495f;background:white;border-radius:50px;padding:8px 13px;font-weight:700;font-size:.8rem}
.reviews-filter.current{background:#102338;border-color:#102338;color:white}
.reviews-pagination{max-width:1100px;margin:28px auto 0;display:flex;justify-content:center;align-items:center;gap:22px;font-size:.89rem}
.reviews-pagination a{color:#102338;text-decoration:underline;text-underline-offset:4px;font-weight:800}
@media(max-width:920px){.reviews-page .review-list{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-summary{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.reviews-page{padding-top:22px}.reviews-summary{grid-template-columns:1fr;padding:24px;gap:18px}.reviews-page .review-list{grid-template-columns:1fr}.reviews-list-header{align-items:start;flex-direction:column}.reviews-page .review-card{padding:20px}.reviews-average{font-size:3.5rem}}

/* V23 : pas de hauteur artificielle pour les avis très longs. */
.reviews-page .review-expand{min-width:0;max-width:100%;margin:13px 0 17px}
.reviews-page .review-expand summary{list-style:none;cursor:pointer;color:#263b4d;line-height:1.6;font-size:.92rem;overflow-wrap:anywhere;word-break:break-word}
.reviews-page .review-expand summary::-webkit-details-marker{display:none}
.reviews-page .review-expand summary:focus-visible{outline:3px solid #c5a36a;outline-offset:4px}
.reviews-page .review-expand .review-excerpt{display:block;overflow-wrap:anywhere;word-break:break-word}
.reviews-page .review-expand .review-toggle{display:block;color:#795a2b;font-size:.82rem;font-weight:800;margin-top:10px;text-decoration:underline;text-underline-offset:3px}
.reviews-page .review-expand[open] blockquote{border-left:3px solid #ead9bd;padding-left:13px;margin-top:14px;overflow-wrap:anywhere;word-break:break-word}

/* V24 — portrait fourni par Stéphane Hodet (aucun montage d'identité). */
.hero-photo{background:#e5d8ca;position:relative;overflow:hidden;isolation:isolate}
.hero-photo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(16,35,56,.18),transparent 35%)}
.hero-photo::after{content:none!important}
.hero-photo .hero-portrait-img{display:block;width:100%;height:100%;min-height:620px;object-fit:cover;object-position:center 34%}
.portrait{min-height:0;aspect-ratio:4/5;display:block;padding:0;overflow:hidden;background:#eee4db}
.portrait .about-portrait-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 28%}
@media(max-width:940px){.hero-photo .hero-portrait-img{height:390px;min-height:390px;object-position:center 30%}}
@media(max-width:620px){.hero-photo .hero-portrait-img{height:330px;min-height:330px;object-position:center 25%}.portrait{aspect-ratio:1/1}}

/* V25 : aide discrète pour le contact direct (sans projet prédéfini). */
.lead-direct-note{background:#eff3f7;color:#284057;border-left:3px solid #c5a36a;padding:10px 14px;border-radius:5px;font-size:.9rem;line-height:1.5;margin-bottom:17px}.contact-message{margin-top:14px}

/* V27 — pages de confirmations et de réservation */
.v27-static{width:min(760px,calc(100% - 32px));margin:clamp(56px,8vh,110px) auto;padding:clamp(24px,5vw,56px);background:#fff;border:1px solid #e9e3d7;border-radius:22px;box-shadow:0 16px 40px rgba(16,35,56,.08);color:#102338}
.v27-static h1{font-size:clamp(1.85rem,4.5vw,3.1rem);line-height:1.12;margin:18px 0}.v27-static p{line-height:1.65;margin:16px 0}.v27-static .btn{display:inline-flex;margin:14px 0}

/* V47 — préserver l’aspect du titre secondaire du tunnel */
.lead-panel .lead-form-title{font-family:Georgia,serif;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.18;color:var(--navy);margin:0 0 12px}
:focus-visible{outline:3px solid #bb8b3c;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
