/* Habiter : liaison editoriale transparente vers les appartements du Vallon. */
.housing-home,.housing-section,.housing-nearby{padding-top:clamp(40px,6vw,85px);padding-bottom:clamp(40px,6vw,85px)}
.housing-home{border-top:1px solid #c8d6c8}
.housing-home-head,.housing-intro,.housing-town-head,.housing-village-head{display:flex;justify-content:space-between;align-items:end;gap:24px 50px}
.housing-home-head{margin-bottom:28px}
.housing-home-head h2,.housing-intro h2{font:400 clamp(34px,4.6vw,55px)/1.12 var(--serif);letter-spacing:-.045em;margin:11px 0 12px}
.housing-home-head h2 em,.housing-intro h2 em{font-weight:400}
.housing-home-head p,.housing-intro p{color:#526a5b;line-height:1.75;max-width:610px;margin:0}
.housing-home-head .text-arrow{white-space:nowrap}
.housing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.housing-card{min-width:0;border:1px solid #d5dfd5;background:#fffdf8;overflow:hidden;display:flex;flex-direction:column}
.housing-card-image{display:block;aspect-ratio:1.5;overflow:hidden;background:#e8ece5;text-decoration:none}
.housing-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.housing-card-image:hover img{transform:scale(1.025)}
.housing-card-image span{padding:20px;display:block;color:#476553}
.housing-card-body{padding:21px 21px 23px;display:flex;flex-direction:column;gap:8px;flex:1}
.housing-card-town{font-size:11px;color:#597262;letter-spacing:.065em;text-transform:uppercase;margin:0}
.housing-card h4{font:400 clamp(23px,2.2vw,30px)/1.16 var(--serif);margin:0;color:var(--ink)}
.housing-card-facts{font-size:13px;line-height:1.5;color:#577160;margin:0}
.housing-card-price{font-size:20px;letter-spacing:-.02em;font-weight:650;color:var(--forest);margin:8px 0 0}
.housing-card-price small{font-size:11px;line-height:1.5;letter-spacing:0;font-weight:400;color:#667568}
.housing-card-action{border-top:1px solid #d9e1d7;padding-top:13px;margin-top:auto;font-size:13px;font-weight:650;color:var(--forest);text-underline-offset:4px;line-height:1.6}
.housing-card-action span{white-space:nowrap}
.housing-attribution,.housing-disclosure{font-size:12px;line-height:1.75;color:#5c7362}
.housing-attribution{margin-top:17px}
.housing-section{padding-top:65px}
.housing-intro{padding-bottom:26px;border-bottom:1px solid #ced9d0;align-items:start}
.housing-intro>div{flex:1.1}
.housing-intro>p{flex:1;max-width:480px;font-size:14px}
.housing-count{font-size:13px;color:#536d5d;margin:20px 0 10px}
.housing-town{padding:40px 0 22px;scroll-margin-top:90px}
.housing-town-head{border-bottom:1px solid #d0ddd0;margin-bottom:22px;padding-bottom:16px}
.housing-town-head h3{font:400 clamp(30px,3.3vw,43px)/1.1 var(--serif);margin:0}
.housing-town-head a,.housing-nearby-links a,.housing-village-head>a{font-weight:650;color:var(--forest);font-size:13px;text-underline-offset:4px}
.housing-disclosure{border-top:1px solid #d1dcd1;margin-top:25px;padding:19px 0}
.housing-nearby{border-top:1px solid #d1dcd1;display:grid;grid-template-columns:1fr 1fr;gap:30px 60px}
.housing-nearby h2{font:400 clamp(29px,3vw,41px)/1.13 var(--serif);margin:12px 0}
.housing-nearby p{color:#526f5f;max-width:530px}
.housing-nearby-links{display:grid;align-content:center;gap:15px}
.housing-nearby-links a{display:block;border-bottom:1px solid #d6dfd4;padding:12px 0}
.housing-village{padding:60px 0;background:#f6f7f0;border-top:1px solid #d3ded1;border-bottom:1px solid #d3ded1}
.housing-village-head{margin-bottom:26px}
.housing-village-head h2{font:400 clamp(30px,3.5vw,43px)/1.12 var(--serif);margin:10px 0}
.housing-village-head p{margin:0;color:#577060;font-size:14px;line-height:1.7}
.housing-cards-village{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.housing-cards-village .housing-card-body{padding:16px}
.housing-cards-village .housing-card h4{font-size:24px}
.housing-cards-village .housing-card-price{font-size:17px}
@media(max-width:950px){.housing-cards,.housing-cards-village{grid-template-columns:repeat(2,minmax(0,1fr))}.housing-intro{display:block}.housing-intro>p{margin-top:15px;max-width:720px}}
@media(max-width:650px){.housing-home-head,.housing-town-head,.housing-village-head{display:block}.housing-home-head .text-arrow,.housing-village-head>a,.housing-town-head>a{display:inline-block;margin-top:16px}.housing-cards,.housing-cards-village{grid-template-columns:1fr;gap:16px}.housing-card-image{aspect-ratio:1.8}.housing-nearby{grid-template-columns:1fr}.housing-town-head{margin-top:8px}.housing-village{padding:38px 0}}
@media(prefers-reduced-motion:reduce){.housing-card-image img{transition:none}}
