/* GEN-TRA Voyage Immo — refonte après validation graphique SARRONE, 25 oct. 2026 */
:root{--ink:#172026;--brown:#2d231b;--accent:#ab771e;--gold:#c49a4b;--paper:#fff;--muted:#6a6c70;--line:#ebebe8;--serif:Georgia,'Times New Roman',serif}
html{scroll-padding-top:100px;background:#fff}
body{background:#fff;overflow-x:clip;color:var(--ink)}
.site-frame{max-width:none;margin:0;border-radius:0;box-shadow:none;width:100%;overflow:visible;background:white;position:relative}
main{overflow:clip}
.section-pad{padding:88px max(5.5%,calc((100% - 1480px)/2));}
.site-header{height:108px;padding:12px 4.5%;max-width:none;gap:30px;background:white}
body[data-page="accueil"] .site-header{position:absolute;top:0;left:0;right:0;z-index:50;background:transparent;}
.brand{flex:0 0 154px;width:154px;align-self:center;height:94px;justify-content:flex-start;}
.brand img{height:98px;width:116px;object-fit:contain;object-position:center;filter:drop-shadow(0 2px 8px rgba(255,255,255,.23))}
.main-nav{gap:30px;}
.main-nav a{color:#1f2021;font-size:13px;font-weight:600;letter-spacing:-.005em}
.main-nav a::after{height:2px}
.nav-cta{border:1px solid rgba(137,97,42,.42);background:rgba(255,255,255,.9);color:#5b3c15;padding:12px 21px}
.btn{border-radius:28px;box-shadow:none;font-size:13px;min-height:46px;letter-spacing:.005em;}
.btn-gold{background:linear-gradient(105deg,#906018,#b88730);color:#fff}
.btn-dark{background:#29211a;color:#fff}
h1,h2{letter-spacing:-.035em}
h2{font-size:clamp(36px,3.8vw,64px)}
.eyebrow{font-size:11px;color:#a77b2d;letter-spacing:.1em}
.eyebrow::after{width:31px;height:1.5px}
/* Immersive hero without the surrounding colored mockup frame. */
.hero{margin:0;border-radius:0;min-height:785px;color:#172026;overflow:hidden;background:#bdd4e5;}
.hero::before{background:url('../images/hero-architecture.webp') 54% 47%/cover no-repeat;}
.hero::after{background:linear-gradient(90deg,rgba(202,222,238,.20) 0%,rgba(202,222,238,.09) 35%,transparent 62%);}
.hero-inner{padding:201px 5.5% 160px;}
.hero-text{max-width:650px}
.hero-kicker{display:block;letter-spacing:.21em;text-transform:uppercase;font-size:11px;font-weight:700;margin-bottom:20px;color:#65481f}
.hero h1{font-family:var(--serif);font-size:clamp(52px,5.8vw,91px);font-weight:400;line-height:.985;letter-spacing:-.052em;margin:0 0 24px;color:#0b1b2a;text-shadow:none}
.hero h1 em{display:block;font-style:italic;font-weight:400;color:#463019;white-space:normal;font-size:.88em;line-height:1.08;margin:2px 0 9px}
.hero h1 span{font-family:Arial,'Helvetica Neue',sans-serif;font-weight:400;display:block;letter-spacing:-.035em;font-size:clamp(22px,2.3vw,37px);line-height:1.1;}
.hero p{font-size:15px;line-height:1.65;color:#203340;max-width:392px;margin-bottom:26px;text-shadow:0 1px 14px rgba(240,246,250,.25)}
.search-form{bottom:28px;left:4%;right:4%;min-height:87px;border-radius:30px;box-shadow:0 12px 42px rgba(24,37,43,.18);padding:11px 12px;}
.search-field{padding:11px 17px;gap:12px}
.search-field>.icon{color:#815e23;width:22px;height:22px}
.search-field small{font-size:11px;color:#888e8b}
.search-field select{font-size:12px;color:#2c3237}
.search-form .btn{min-height:48px;padding:12px 23px;background:#2c241d}
.discreet-note{padding:13px 18px 0;font-size:11px;color:#777}
/* Editorial about: small left rubric, oversized statement and typographic data structure. */
.about-home{padding-top:112px;padding-bottom:46px}
.editorial-about{display:grid;grid-template-columns:23% 1fr;gap:38px}
.about-side{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding-top:7px}
.about-side .eyebrow{color:#6b604f;letter-spacing:.04em}
.about-side >span:last-child{font-size:13px;color:#8a8985;line-height:1.6;margin-top:7px}
.about-body h2{font-family:var(--serif);font-size:clamp(32px,3.25vw,51px);font-weight:400;line-height:1.23;letter-spacing:-.04em;max-width:1140px;margin:0 0 19px}
.about-body h2 em{color:#a7792b;font-weight:400}
.about-body h2 i{font-weight:400}
.about-body>p{color:#697070;max-width:800px;font-size:14px;line-height:1.7}
.signature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:57px;gap:0}
.signature-grid>div{padding:0 18px 0 26px;border-left:1px solid #e7e5e0;min-width:0}
.signature-grid>div:first-child{border-left:0;padding-left:0}
.signature-grid strong{display:block;font-family:var(--serif);font-style:italic;font-size:clamp(37px,3.9vw,59px);font-weight:400;letter-spacing:-.07em;line-height:1;color:#715027;margin-bottom:12px}
.signature-grid span{display:block;font-weight:700;color:#1c2225;font-size:13px;margin-bottom:7px}
.signature-grid small{display:block;font-size:11px;color:#828580;line-height:1.55}
/* Four staggered architectural cards, closely matched to the supplied reference. */
.properties-preview{padding-top:60px;padding-bottom:76px}
.properties-preview .section-heading{margin-bottom:28px}
.properties-preview h2{font-size:clamp(34px,3.2vw,47px)}
.home-property-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;align-items:start;padding-bottom:47px}
.home-property-grid .property-card{aspect-ratio:.74;overflow:hidden;border-radius:17px;box-shadow:none;}
.home-property-grid .property-card:nth-child(2){margin-top:24px}
.home-property-grid .property-card:nth-child(3){margin-top:46px}
.home-property-grid .property-card:nth-child(4){margin-top:7px}
.property-card img{filter:none;image-rendering:auto}
.property-card::after{background:linear-gradient(to bottom,transparent 42%,rgba(11,16,17,.78) 100%)}
.property-overlay{bottom:17px;left:17px}
.property-overlay b{font-family:Arial,'Helvetica Neue',sans-serif;font-size:16px;letter-spacing:-.02em;font-weight:700}
.property-overlay small{color:#eee;font-size:12px}
.property-badge{background:rgba(255,255,255,.87);border-radius:10px;font-size:10px}
.section-note{color:#858580;font-size:11px;line-height:1.6;margin-top:11px}
/* Property management photo stays in full resolution, with readable left panel. */
.management{margin:0 5.5%;border-radius:17px;min-height:505px;background:#332519;}
.management>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;}
.management::before{z-index:1;background:linear-gradient(90deg,rgba(37,23,12,.95) 0%,rgba(52,33,18,.81) 26%,rgba(52,33,18,.25) 60%,transparent 80%)}
.management-text{position:relative;z-index:2;padding:70px 6%;max-width:520px}
.management h2{font-size:clamp(41px,4.6vw,69px);line-height:1.04;margin-bottom:19px;font-family:var(--serif);letter-spacing:-.045em}
.management h2 em{color:#f7e3c3}
.management p{font-size:14px;line-height:1.7;max-width:390px;color:#f0e8df;margin-bottom:25px}
.management .btn-light{padding:12px 25px}
/* Social networks and three areas stay integrated in the layout. */
.social-section{padding-top:96px;padding-bottom:80px;max-width:1600px;margin:auto}
.social-copy h2{font-size:clamp(33px,3.25vw,53px);letter-spacing:-.035em}
.social-copy p{max-width:540px;color:#7a7d7e;font-size:13px}
.social-links{align-items:center}
.social-link{transition:transform .2s}
.social-link:hover{transform:translateY(-3px)}
.social-unconfirmed:hover{transform:none}
.expertise-section{max-width:1660px;margin:auto;border-top:1px solid #ebe8e3;padding-top:52px}
.expertise-title h2{font-size:clamp(32px,3.2vw,48px)}
.expertise-card{background:#faf9f7}
.contact-band{background:#3b2b1b;color:#fff;margin:0 5.5% 45px;border-radius:18px}
.footer{background:#26221e;color:#f5f4ef;padding-top:56px}
.footer a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.17)}
/* Inner pages are full width, never presented as inset mockups. */
body:not([data-page="accueil"]) .site-header{position:relative;background:white;border-bottom:1px solid #f0eeea}
.page-banner{margin:0;border-radius:0;min-height:450px}
.page-banner>img{object-fit:cover;filter:none}
.catalog-area .catalog-search{box-shadow:0 9px 32px rgba(41,36,29,.1)}
.catalog-grid{gap:20px}
.catalog-grid .property-card{aspect-ratio:.86}
.lightbox{overflow:hidden}
/* Accessibility and real layout adaptation. */
@media (min-width:1750px){.hero{min-height:850px}.hero-inner{padding-top:230px}.hero h1{font-size:92px}.search-form{left:5%;right:5%}}
@media (max-width:1150px){.site-header{gap:14px}.main-nav{gap:15px}.nav-cta{padding:10px 13px}.hero h1{font-size:clamp(45px,6.25vw,71px)}.hero{min-height:735px}.hero-inner{padding-top:194px}.editorial-about{grid-template-columns:20% 1fr;gap:20px}.signature-grid>div{padding:0 12px 0 17px}.home-property-grid{gap:13px}.management{min-height:435px}}
@media (max-width:820px){
 .site-header{height:91px;padding:8px 5%}.brand{width:110px;flex-basis:110px;height:80px}.brand img{height:84px;width:95px}
 .main-nav{top:89px;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(15px);padding:18px 7%;box-shadow:0 20px 36px rgba(0,0,0,.09)}.main-nav a{color:#252522;font-size:15px}
 .hero{min-height:785px}.hero::before{background-position:55% center}.hero::after{background:linear-gradient(90deg,rgba(214,232,244,.36),transparent 85%)}
 .hero-inner{padding:170px 6.5% 255px}.hero h1{font-size:clamp(46px,6.7vw,62px)}.hero h1 span{font-size:25px}
 .search-form{left:4%;right:4%;bottom:19px;border-radius:20px}
 .search-field{padding:10px}.search-form .btn{min-height:49px}
 .about-home{padding-top:80px}
 .editorial-about{grid-template-columns:1fr;gap:12px}.about-side>span:last-child{display:none}.about-body h2{font-size:clamp(32px,4.9vw,48px)}
 .signature-grid{margin-top:40px}.signature-grid strong{font-size:40px}
 .home-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding-bottom:10px}
 .home-property-grid .property-card:nth-child(2){margin-top:18px}
 .home-property-grid .property-card:nth-child(3){margin-top:0}
 .home-property-grid .property-card:nth-child(4){margin-top:18px}
 .management{min-height:430px;margin:0 5%}.management-text{padding:55px 6%;max-width:480px}.management>img{object-position:67%}
 .social-section{padding-top:70px}
 .contact-band{margin:0 5% 40px}
}
@media (max-width:570px){
 .site-header{height:82px;padding:6px 4%}.brand{width:91px;flex-basis:91px;height:71px}.brand img{height:76px;width:86px}.nav-cta{height:38px;width:38px;padding:8px;}
 .main-nav{top:80px}
 .hero{min-height:755px;margin:0;border-radius:0}.hero::before{background-position:57% center;}.hero::after{background:linear-gradient(to bottom,rgba(217,234,245,.84) 0%,rgba(223,235,241,.55) 38%,rgba(9,20,23,.13) 72%,rgba(16,23,24,.11) 100%)}
 .hero-inner{padding:120px 5.5% 327px}.hero-kicker{font-size:9px;margin-bottom:14px}
 .hero h1{font-size:clamp(42px,11vw,59px);letter-spacing:-.056em;margin-bottom:18px}
 .hero h1 em{font-size:.9em;line-height:1.08;margin:3px 0 5px}
 .hero h1 span{font-size:23px;line-height:1.22;max-width:340px}
 .hero p{font-size:12.5px;line-height:1.5;max-width:290px;margin-bottom:17px;color:#20313b}
 .hero-inner .btn{min-height:39px;padding:11px 19px;font-size:12px}
 .search-form{left:4%;right:4%;bottom:14px;border-radius:18px;box-shadow:0 9px 30px rgba(22,30,37,.22);padding:8px}
 .search-field{padding:9px 7px;min-height:69px}.search-field select{font-size:11px}.search-field small{font-size:10px}
 .search-field>.icon{width:16px;height:16px;flex-basis:16px}
 .search-form .btn{margin-top:6px}
 .discreet-note{padding:10px 5% 0;line-height:1.5}
 .section-pad{padding-left:6%;padding-right:6%}
 .about-home{padding-top:70px;padding-bottom:20px}.editorial-about{gap:6px}
 .about-body h2{font-size:clamp(32px,8.5vw,45px);line-height:1.18}
 .about-body>p{font-size:12.5px}
 .signature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0;margin-top:32px}
 .signature-grid>div:nth-child(3){border-left:0;padding-left:0}
 .signature-grid strong{font-size:40px}
 .signature-grid span{font-size:12px}.signature-grid small{font-size:10px}
 .properties-preview{padding-top:53px;padding-bottom:42px}.properties-preview h2{font-size:34px}.properties-preview .section-heading{margin-bottom:16px}
 .home-property-grid{gap:10px}.home-property-grid .property-card{aspect-ratio:.71;border-radius:13px}
 .home-property-grid .property-card:nth-child(2),.home-property-grid .property-card:nth-child(4){margin-top:14px}
 .property-overlay b{font-size:13px;line-height:1.25}.property-overlay small{font-size:10px}.property-overlay{left:10px;bottom:10px}
 .property-badge{font-size:9px;top:8px;left:8px}
 .management{margin:0 4%;min-height:462px;border-radius:15px}.management>img{object-position:70% center}
 .management::before{background:linear-gradient(90deg,rgba(43,29,16,.88),rgba(43,29,16,.54) 85%)}
 .management-text{padding:44px 7%;max-width:390px}.management h2{font-size:clamp(40px,10vw,56px)}.management p{font-size:12.5px;max-width:290px}
 .social-section{padding-top:68px;padding-bottom:48px}.social-copy h2{font-size:33px}
 .social-links{gap:5px}.social-icon{width:40px;height:40px}.social-link{font-size:10px}.social-copy p{font-size:12px}
 .expertise-section{padding-top:45px}.expertise-title h2{font-size:33px}
 .contact-band{margin:0 4% 20px}
 .page-banner{margin:0;border-radius:0}
 .page-banner>div{padding:45px 7%}
 .footer{padding:45px 6% 20px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:0s!important}}
@media(min-width:821px){.hero::after{background:linear-gradient(90deg,rgba(207,228,241,.37) 0%,rgba(219,232,243,.34) 23%,rgba(221,230,235,.23) 37%,transparent 57%)}}
