/* Prestige edition. Removing this stylesheet restores the previous styling. */
:root{--sec-pad-y:100px}
.hero{min-height:100svh;padding-top:158px;padding-bottom:100px}
.hero::before{content:"";position:absolute;inset:108px 24px 28px;border:1px solid rgba(224,165,120,.23);z-index:1;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background:#0B0B0D;z-index:4;pointer-events:none;transform:scaleY(0);transform-origin:top}
.hero-bg video,.hero-bg img{filter:brightness(.86) contrast(1.08) sepia(.12)}
.hero-bg::after{background:linear-gradient(90deg,rgba(11,11,13,.78),rgba(11,11,13,.32) 52%,rgba(11,11,13,.08)),linear-gradient(0deg,#0B0B0D,transparent 40%)}
.hero-name{font-size:clamp(60px,11.5vw,158px);line-height:1.04;letter-spacing:-.055em}
.hero-name span{background:linear-gradient(115deg,#fff 15%,#EDE7DF 52%,#C9885A);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-kick{font-size:11px;letter-spacing:.23em;margin-bottom:32px}
.hero-tag{font-weight:400;letter-spacing:.035em;font-size:clamp(18px,2.1vw,29px)}
.hero-actions{margin-top:36px}
.hero-actions .btn{padding:19px 32px}
.hero-values{background:rgba(11,11,13,.25);border-width:1px 0;max-width:710px;margin-top:42px}
.hero-value{padding:19px 24px}
.hero-stat-v{font-size:32px}
.hero-stats{gap:42px;margin-top:34px}
.hero-discover{left:auto;right:48px;bottom:62px;color:var(--cuivre-l)}
.hero-discover::before{content:"";width:1px;height:58px;background:linear-gradient(transparent,var(--cuivre))}
.refs{padding-top:64px;padding-bottom:76px}
.refs-head,.rea-head,.mhead{position:relative}
.rea-head::after,.mhead::after{content:"";display:block;flex-basis:100%;height:1px;margin-top:25px;background:linear-gradient(90deg,rgba(224,165,120,.65),rgba(201,136,90,.12) 70%,transparent);transform-origin:left}
.metiers .mhead{row-gap:0}
h2.big,h3.big{font-size:clamp(30px,4.3vw,58px);line-height:1.08}
.contact-h{font-size:clamp(28px,3vw,42px)!important}
.lot{font-size:11px;letter-spacing:.25em;margin-bottom:18px}
.realisations{background:radial-gradient(ellipse at 50% 35%,rgba(201,136,90,.065),transparent 65%)}
.cf{height:min(68vh,650px)}
.cf-media{border-radius:4px;box-shadow:0 35px 90px rgba(0,0,0,.65)}
.cf-info{padding:48px}
.cf-title{font-size:clamp(22px,2.6vw,35px)}
.cf-slide.is-active .cf-media{border-color:rgba(224,165,120,.4)}
.cf-media::after{background:linear-gradient(180deg,transparent 22%,rgba(11,11,13,.35) 48%,rgba(11,11,13,.96))}
.rea-adn{margin-top:64px;padding:44px;background:linear-gradient(125deg,rgba(201,136,90,.065),rgba(19,18,21,.7));border-color:rgba(201,136,90,.19)}
.metiers .cards{gap:24px}
.mrow{gap:24px}
.mcard{min-height:390px;flex-basis:calc(33.333% - 16px);border-color:rgba(201,136,90,.2)}
.mcard-bg img{filter:brightness(.48) saturate(.7)}
.mcard-bg::after{background:linear-gradient(180deg,rgba(11,11,13,.05),rgba(11,11,13,.85))}
.mcard-num{font-size:15px;letter-spacing:.12em}
.mcard-more{opacity:1;transform:none}
.mcard-ic{margin-top:40px}
.mcard-title{font-size:23px}
.mcard-toggle{padding:34px}
.mcard:hover .mcard-bg img{filter:brightness(.62) saturate(.9)}
.mp{margin-top:90px}
.mp>h3.big{margin-bottom:58px}
.contact{border-top:1px solid rgba(201,136,90,.2);background:radial-gradient(ellipse at 0 50%,rgba(201,136,90,.065),transparent 65%)}
.btn-primary,.cf-cta{box-shadow:inset 0 1px rgba(255,255,255,.22),0 8px 28px rgba(0,0,0,.16)}
@media(prefers-reduced-motion:no-preference){
 .hero::after{animation:prestige-curtain 1.35s cubic-bezier(.76,0,.24,1) both}
 .hero::before{animation:prestige-frame 2.1s ease both}
 @keyframes prestige-curtain{0%,12%{transform:scaleY(1)}100%{transform:scaleY(0)}}
 @keyframes prestige-frame{0%,45%{opacity:0;clip-path:inset(0 100% 0 0)}100%{opacity:1;clip-path:inset(0)}}
 .prestige-observed .rea-head::after,.prestige-observed .mhead::after{transform:scaleX(0);transition:transform 1.4s var(--motion-ease)}
 .prestige-observed .prestige-seen.rea-head::after,.prestige-observed .prestige-seen.mhead::after{transform:scaleX(1)}
}
@media(min-width:981px){
 .hero-inner{padding-left:64px;padding-right:64px}
 .hero-stats{padding-top:28px;border-top:1px solid rgba(237,231,223,.13);max-width:850px}
}
@media(max-width:980px){
 :root{--sec-pad-y:72px}
 .hero{padding:140px 0 64px}
 .hero::before{inset:102px 12px 20px}
 .hero-name{font-size:clamp(58px,12vw,112px)}
 .hero-kick{font-size:10px;letter-spacing:.1em}
 .hero-values{max-width:none}
 .hero-value{padding:15px 20px}
 .hero-stats{gap:26px 16px}
 .hero-stat-v{font-size:27px}
 .cf{height:min(65vh,580px)}
 .cf-info{padding:28px 24px}
 .cf-media{border-radius:4px}
 .mcard{min-height:330px;flex-basis:auto}
 .rea-adn{padding:30px 24px;margin-top:40px}
 .mp{margin-top:64px}
 .mp>h3.big{margin-bottom:36px}
}
@media(max-width:600px){
 .hero-name{font-size:clamp(48px,12vw,72px)}
 .hero-kick{max-width:30ch;line-height:1.8}
 .hero-actions{gap:12px}
 .hero-actions .btn{padding:16px 20px}
 .hero-stats{column-gap:12px}
 .hero-stat{gap:9px}
 .hero-stat-v{font-size:23px}
 .hero-stat-l{font-size:9px}
 .mcard-title{font-size:21px}
}

/* Requested refinements: aligned reading rail, generous map, transparent nav. */
.topnav.is-scrolled{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none}
.topnav::before{transition:opacity .4s ease}
.topnav.is-scrolled::before{opacity:0}
.topnav .logo{transition:opacity .35s ease,transform .45s var(--motion-ease),visibility .35s}
.topnav.is-scrolled .logo{opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none}
.topnav-num{transition:opacity .35s ease,width .35s ease}
.topnav.is-scrolled .topnav-num{display:none}
.topnav.is-scrolled .topnav-label{color:var(--creme);text-shadow:0 1px 10px rgba(0,0,0,.8)}
.thread-rail{left:auto;right:37px;width:34px}
.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"heading map" "details map";gap:32px 56px;align-items:start}
.contact-l{grid-area:heading;min-width:0}
.cinfo{grid-area:details;min-width:0}
.zone{grid-area:map;min-width:0;padding:32px}
.contact-h .sec-line{white-space:normal}
.cinfo-row .val{overflow-wrap:anywhere}
.idf-wrap{max-width:680px}
@media(max-width:1080px){
 .contact-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "details" "map";gap:36px}
 .zone{width:100%;max-width:760px;justify-self:center}
}
@media(max-width:600px){.zone{padding:24px 16px}}

/* Full-bleed hero and cartographic finish. */
.topnav::before{display:none}
.hero-bg{transform:none}
.hero-bg video,.hero-bg img{filter:brightness(.96) contrast(1.045) saturate(.94);object-position:center 25%}
.hero-bg::after{background:linear-gradient(90deg,rgba(11,11,13,.69),rgba(11,11,13,.23) 55%,rgba(11,11,13,.04)),linear-gradient(0deg,#0B0B0D,transparent 32%)}
.zone{position:relative;border:1px solid rgba(201,136,90,.28);border-radius:8px;background:radial-gradient(ellipse at 55% 35%,rgba(201,136,90,.085),transparent 65%),linear-gradient(145deg,#1b191b,#111113);box-shadow:0 24px 64px rgba(0,0,0,.23),inset 0 1px rgba(255,255,255,.035)}
.zone h3{font-size:12px;letter-spacing:.2em;margin-bottom:10px}
.zone-subtitle{text-align:center;color:var(--gris);font-size:12px;margin-bottom:24px}
.idf-wrap{border-radius:6px;background-image:linear-gradient(rgba(201,136,90,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(201,136,90,.035) 1px,transparent 1px);background-size:32px 32px;margin-bottom:16px}
.idf-map{display:block;filter:drop-shadow(0 12px 14px rgba(0,0,0,.3))}
.idf-dept{fill:#352923;stroke:rgba(224,165,120,.63);stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .35s ease,stroke .35s ease}
.idf-dept:nth-child(2n){fill:#2c2523}
.idf-dept[data-code="95"]{fill:#523a2b}
.idf-dept:hover{fill:#725039;stroke:#f0c49c;stroke-width:1.5}
.idf-num{fill:#e0c3ac;font-size:14px;paint-order:stroke;stroke:#241e1b;stroke-width:3px;stroke-linejoin:round}
.idf-dot{fill:#edaf78;stroke:#251b16;stroke-width:1.2}
.idf-siege-dot{fill:#fff0d8;stroke:#c9885a;stroke-width:1.5}
.idf-siege-ring{stroke:#fff0d8}
.idf-tooltip{border-radius:6px;padding:10px 14px;box-shadow:0 8px 24px rgba(0,0,0,.3);max-width:min(300px,85vw);white-space:normal}
.zone-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 24px;padding:18px 0;border-top:1px solid rgba(201,136,90,.17);color:#d3bda9;font-size:11px;letter-spacing:.025em}
.zone-legend span{display:inline-flex;align-items:center;gap:9px}
.zone-legend i{width:7px;height:7px;border-radius:50%;background:#edaf78;box-shadow:0 0 0 4px rgba(201,136,90,.1)}
.zone-legend .legend-siege{background:#fff0d8;box-shadow:0 0 0 3px rgba(255,240,216,.16)}
.zone-note{border-top:1px solid rgba(201,136,90,.1);padding-top:18px;margin-top:0;font-size:12px;line-height:1.7}

/* Refined scale and readable text. */
:root{--sec-pad-y:76px;--gris:#aaa39c}
body{font-size:15px;line-height:1.7}
.hero{padding-top:140px;padding-bottom:76px}
.hero-name{font-size:clamp(48px,8vw,110px);letter-spacing:-.045em;line-height:1.08}
.hero-tag{font-size:clamp(17px,1.75vw,24px);line-height:1.45}
.hero-kick{font-size:11px;letter-spacing:.13em;margin-bottom:22px}
.hero-actions{margin-top:28px}
.hero-actions .btn,.btn{padding:14px 24px;font-size:12px;letter-spacing:.045em}
.hero-values{margin-top:32px;max-width:660px}
.hero-value{padding:16px 20px}
.hero-value p{font-size:12px;line-height:1.55}
.hero-stats{gap:30px;margin-top:28px;padding-top:22px}
.hero-stat-v{font-size:25px}
.hero-stat-l{font-size:11px;letter-spacing:.045em;line-height:1.5}
.hero::after{display:none}
.hero::before{animation:none}
h2.big,h3.big{font-size:clamp(26px,3vw,40px);line-height:1.16;letter-spacing:-.025em;text-wrap:balance}
.contact-h{font-size:clamp(25px,2.5vw,34px)!important}
.refs-sub{font-size:clamp(21px,2.2vw,29px);line-height:1.2}
.lot{font-size:11px;letter-spacing:.16em;margin-bottom:12px}
.refs{padding-top:52px;padding-bottom:56px}
.refs-head{margin-bottom:30px}
.rea-head,.metiers .mhead{margin-bottom:36px}
.cf{height:clamp(440px,60vh,560px)}
.cf-title{font-size:clamp(20px,2vw,27px);line-height:1.2;max-width:28ch}
.cf-info{padding:32px 36px}
.cf-tags{margin-bottom:12px}
.cf-data{margin-bottom:20px}
.cf-cta{padding:13px 22px;font-size:12px}
.cf-progress{margin-top:28px}
.rea-adn{margin-top:40px;padding:32px;gap:32px}
.rea-adn-head h3{font-size:18px;line-height:1.3}
.rea-adn-head p{font-size:14px;line-height:1.75;max-width:48ch}
.rea-adn-item h4{font-size:13px;line-height:1.4}
.rea-adn-item p{font-size:13px;line-height:1.65}
.mcard{min-height:320px}
.mcard-toggle{padding:26px}
.mcard-title{font-size:19px;line-height:1.25;letter-spacing:-.01em}
.mcard-num{font-size:12px}
.mcard-ic,.mcard-ic svg{width:34px;height:34px}
.mcard-ic{margin:26px 0 14px}
.mcard-more{font-size:11px}
.mcard-desc{font-size:14px;line-height:1.7}
.mcard-detail{padding-left:26px;padding-right:26px}
.mcard-hook{font-size:15px;line-height:1.45}
.mp{margin-top:64px}
.mp>h3.big{margin-bottom:40px}
.mp-step h4{font-size:16px;line-height:1.35}
.mp-step p{font-size:14px;line-height:1.75}
.contact-l .txt{font-size:15px;line-height:1.75}
.cinfo-row .val{font-size:15px;line-height:1.6}
.zone-note{font-size:13px}
.topnav-label{font-size:12px;letter-spacing:.045em}
.topnav-menu{gap:26px}
#cta{font-size:12px;padding:14px 22px}
@media(max-width:980px){
 :root{--sec-pad-y:56px}
 .hero{padding:128px 0 60px}
 .hero-name{font-size:clamp(46px,9vw,78px)}
 .hero-stats{gap:22px 16px}
 .hero-stat-v{font-size:23px}
 .hero-stat-l{font-size:10px}
 .hero-values{max-width:none}
 .mcard{min-height:260px}
 .cf-info{padding:26px}
 .cf-title{font-size:21px!important}
 .cf-slide:not(.is-active) .cf-title{font-size:15px!important}
 .rea-adn{padding:26px}
 .mp{margin-top:48px}
}
@media(max-width:600px){
 .hero-name{font-size:clamp(42px,10.5vw,60px)}
 .hero-kick{font-size:10px;letter-spacing:.07em}
 .hero-value{padding:14px 18px}
 .hero-stat-v{font-size:21px}
 .hero-actions .btn{padding:13px 18px}
 .cf{height:480px}
 .cf-info{padding:24px 20px}
 .cf-line{font-size:13px}
 .mcard-title{font-size:18px}
 .mcard-toggle{padding:24px}
 .contact-grid{gap:28px}
 #cta{right:16px;bottom:16px;padding:12px 18px}
}