/* Homepage sections only. Header, hero and property rules remain untouched. */
.home-about{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(40px,6vw,100px);align-items:center;background:var(--white)}
.home-portrait img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;display:block}
.home-about-copy{min-width:0}.home-about h2{font-size:clamp(32px,2.952vw,47.56px);line-height:1.1;max-width:550px}.about-prose{font-size:16px;line-height:1.85;color:var(--navy-soft)}.about-prose p{margin-bottom:18px}
.professional-signature{margin:28px 0 18px}.professional-signature strong{display:block;font-size:23px;font-weight:700}.professional-signature span{display:block;font-size:13px;color:var(--navy-soft)}
.social-icons{display:flex;gap:15px;align-items:center;margin:18px 0}.social-icons a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--white)}.social-icons img{width:26px;height:26px;object-fit:contain}.social-icons a:hover{border-color:var(--royal)}
.contact-inline{display:flex;flex-wrap:wrap;gap:12px 22px;margin:20px 0 30px;font-size:14px}.contact-inline a,.contact-details a{display:flex;align-items:center;gap:10px;min-height:44px}.contact-icon{color:var(--royal);font-size:21px}.home-about .button{justify-content:center}
.home-guides{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,90px);align-items:center;background:var(--white);border-top:1px solid var(--line)}
.guides-copy{max-width:510px}.guides-copy h2{font-size:clamp(40px,4vw,64px)}.guides-copy p:not(.eyebrow){color:var(--navy-soft);line-height:1.85}.guides-copy .guides-intro{font-size:21px;color:var(--navy)}.guides-copy .guides-instruction{font-size:14px;color:var(--royal);margin-top:32px}
.guide-books{display:flex;align-items:center;justify-content:center;padding:45px 16px;isolation:isolate;min-width:0;perspective:1200px}.guide-book{display:block;position:relative;width:53%;max-width:310px;flex-shrink:0;border-radius:2px 5px 5px 2px;box-shadow:6px 6px 0 #d8dbe2,12px 18px 30px #0c0f2426;transition:transform .25s}.guide-book img{width:100%;height:auto;border-radius:inherit}.book-acheter{transform:rotate(-9deg) rotateY(8deg);z-index:1}.book-vendre{transform:translateY(24px) rotate(8deg) rotateY(-8deg);margin-left:-8%;z-index:2}.guide-book:focus-visible,.guide-book:hover{z-index:3;transform:translateY(-8px) rotate(0)}
.home-testimonials{background:var(--white);text-align:center;border-top:1px solid var(--line)}.reviews-heading{max-width:760px;margin:0 auto 48px}.reviews-heading h2{font-size:clamp(40px,4.8vw,70px);margin-bottom:18px}.reviews-heading>p{color:var(--navy-soft)}.demo-notice{font-size:11px;letter-spacing:.05em;border:1px dashed var(--royal-soft);padding:10px}
.reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:4px 2px 22px;text-align:left}.review-card{display:flex;flex-direction:column;min-width:0;scroll-snap-align:start;background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:30px;box-shadow:0 6px 18px #0c0f2408}.review-quote{font-family:Georgia,serif;font-size:58px;line-height:.8;color:var(--royal-soft)}.review-stars{color:var(--royal);font-size:21px;letter-spacing:3px;margin:22px 0 18px}.review-card blockquote{margin:0;font-size:17px;line-height:1.85}.review-copy p{margin-bottom:16px}.review-copy.is-collapsed{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.review-expand{align-self:flex-start;background:none;border:0;border-bottom:1px solid currentColor;color:var(--royal);padding:8px 0;font-size:14px;min-height:44px}.review-client{font-size:14px;font-weight:600;margin:auto 0 0;padding-top:24px}.review-demo{font-size:11px;color:var(--navy-soft);margin-bottom:24px}.reviews-controls{display:flex;justify-content:center;gap:24px;align-items:center;margin:18px 0}.reviews-controls button{background:var(--white);color:var(--navy);border:1px solid var(--line);width:44px;height:44px;border-radius:50%;font-size:23px}.reviews-controls button:disabled{opacity:.35;cursor:default}.reviews-position{font-size:12px;min-width:70px}.home-testimonials .reviews-more{justify-content:center;background:var(--white);color:var(--navy);border:1px solid var(--navy);margin-top:30px}.home-testimonials .reviews-more:hover{background:var(--navy);color:var(--white)}
.home-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);align-items:start;background:var(--white);border-top:1px solid var(--line)}.home-contact-copy h2{font-size:clamp(48px,3.4vw,50px);line-height:1.1}.home-contact-copy>p:not(.eyebrow){color:var(--navy-soft);line-height:1.85}.contact-details{display:grid;gap:25px;margin:38px 0}.contact-details small{display:block;font-size:12px;color:var(--navy-soft);margin-bottom:3px}.contact-details a{font-size:20px;overflow-wrap:anywhere}.contact-details .contact-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;flex-shrink:0}.home-contact-form{background:color-mix(in srgb,var(--royal) 4%,white);border:1px solid color-mix(in srgb,var(--royal) 15%,white);border-radius:16px;padding:clamp(24px,3vw,45px);min-width:0}.home-contact-form h3{font-size:25px;line-height:1.3;margin-bottom:12px}.home-contact-form>p{color:var(--navy-soft);font-size:14px;margin-bottom:28px}.home-contact-form .form-row{gap:18px}.home-contact-form .contact-form label{font-size:13px;letter-spacing:0}.home-contact-form .contact-form :is(input:not([type=checkbox]),textarea,select){display:block;width:100%;max-width:100%;margin:8px 0 22px;border:1px solid #c8ccd6;border-radius:6px;background:var(--white);color:var(--navy);padding:12px;font:inherit;min-height:46px}.home-contact-form .contact-form .button{width:100%;justify-content:center;font-size:12px;gap:0}.home-contact-form .contact-form .consent{font-size:11px;margin-top:8px}.home-contact-form .form-note{font-size:11px}
@media(max-width:1000px){.home-about,.home-guides,.home-contact{grid-template-columns:1fr;gap:40px}.home-portrait{max-width:440px;width:100%;margin:auto}.home-about-copy,.guides-copy{max-width:760px}.guide-books{max-width:680px;width:100%;margin:auto}.reviews-track{grid-auto-columns:calc((100% - 24px)/2)}.home-contact-form{max-width:760px;width:100%}}
@media(max-width:600px){.home-about,.home-guides,.home-testimonials,.home-contact{padding-top:65px;padding-bottom:65px}.guides-copy h2{font-size:39px}.home-about h2{font-size:32px}.home-contact-copy h2{font-size:34px}.about-prose{font-size:15px}.professional-signature span{font-size:12px}.contact-inline{gap:4px 16px;font-size:13px}.guide-books{padding:28px 8px 45px}.reviews-track{grid-auto-columns:100%;gap:16px}.review-card{padding:26px}.reviews-heading{margin-bottom:30px}.contact-details a{font-size:18px}.home-contact-form .form-row{grid-template-columns:1fr}.home-contact-form{padding:24px}.guide-book{box-shadow:4px 4px 0 #d8dbe2,7px 12px 20px #0c0f2426}}

.home-about .contact-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.home-about .contact-icon{display:inline-flex;align-items:center;flex-shrink:0}
/* Vertical rhythm: front page only; interior pages share some component classes. */
.home #contenu{--section-half-gap:40px}
.home #contenu>.section{padding-top:var(--section-half-gap);padding-bottom:var(--section-half-gap)}
.home #contenu>.hero+.section{padding-top:76px}
.home #contenu>.section:last-child{padding-bottom:56px}
/* Preserve room for the rotated corners and the seller book's 24px offset. */
.home .guide-books{padding-top:28px;padding-bottom:44px}
.home .guides-instruction:last-child{margin-bottom:0}
@media(max-width:1000px){
 .home #contenu{--section-half-gap:30px}
 .home #contenu>.hero+.section{padding-top:60px}
 .home #contenu>.section:last-child{padding-bottom:36px}
}
@media(max-width:600px){
 .home #contenu{--section-half-gap:22px}
 .home #contenu>.hero+.section{padding-top:44px}
 .home #contenu>.section:last-child{padding-bottom:22px}
 .home .guide-books{padding-top:24px;padding-bottom:40px}
}

#guides-immobiliers{scroll-margin-top:140px}

.home .home-about + .properties{border-top:1px solid var(--line)}
