:root{--navy:#0b202d;--deep:#071820;--gold:#eeb658;--gold-light:#ffd28b;--paper:#f4f5f1;--ink:#102b3a;--muted:#5b6b72;--light-muted:#aebcc5;--line:#d6deda;--ease:cubic-bezier(.2,.7,.15,1);--wrap:1320px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--navy);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
::selection{background:var(--gold);color:var(--navy)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
a{color:inherit;text-decoration:none}
button{border:0}
button:disabled{cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
[hidden]{display:none!important}
svg{display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:22px;height:22px;flex-shrink:0}
.wrap{width:min(var(--wrap),calc(100% - 112px));margin-inline:auto;position:relative}
.section-pad{padding:115px 0}
.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:600;line-height:1.8;margin:0 0 25px;text-transform:uppercase}
.gold{color:var(--gold)}
.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--gold);color:var(--navy);padding:13px 20px}
.skip-link:focus{top:12px}
.scroll-progress{position:fixed;left:0;right:0;top:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;z-index:55}
.site-header{position:fixed;inset:0 0 auto;z-index:40;color:white;transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
.site-header.is-scrolled{background:rgba(11,32,45,.96);border-color:#ffffff13;box-shadow:0 10px 40px #00000012;backdrop-filter:blur(16px)}
.header-inner{width:min(var(--wrap),calc(100% - 112px));margin:auto;height:98px;display:flex;align-items:center;justify-content:space-between;gap:30px;transition:height .4s}
.is-scrolled .header-inner{height:78px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-mark{width:39px;height:43px;display:grid;place-items:center;font-size:32px;font-weight:700;color:var(--gold);border:1px solid #eeb65870;line-height:1;clip-path:polygon(0 0,100% 0,100% 85%,85% 100%,0 100%)}
.brand-text strong{font-size:20px;letter-spacing:.045em;line-height:1.3;display:block}
.brand-dot{color:var(--gold)}
.brand-text small{display:block;font-size:8px;letter-spacing:.16em;color:var(--light-muted);margin-top:4px}
.main-nav{display:flex;gap:34px;font-size:12px}
.main-nav a{position:relative;padding:9px 0;color:#d7e0e5;transition:color .25s}
.main-nav a:after{content:"";position:absolute;bottom:0;left:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.main-nav a:hover,.main-nav a.is-active{color:var(--gold)}
.main-nav a:hover:after,.main-nav a.is-active:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:17px}
.button{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 23px;font-size:12px;font-weight:600;background:var(--gold);color:var(--navy);position:relative;transition:background .3s,color .3s,box-shadow .3s,transform .35s var(--ease)}
.button:hover{background:var(--gold-light);box-shadow:0 8px 32px #eeb65818}
.button .icon{width:19px;height:19px;transition:transform .35s var(--ease)}
.button:hover .icon{transform:translate(2px,-2px)}
.button.header-cta{min-height:43px;padding:10px 15px;font-size:11px;gap:17px}
.button-outline{background:transparent;border:1px solid var(--line);color:var(--ink)}
.button-outline:hover{background:#e9eeeb;box-shadow:none}
.text-link{display:inline-flex;align-items:center;gap:13px;background:transparent;color:inherit;padding:10px 0;font-size:12px;text-decoration:none;font-weight:600;border-bottom:1px solid #ffffff30;transition:gap .3s,color .3s,border-color .3s}
.text-link:hover{gap:20px;color:var(--gold);border-color:var(--gold)}
.dark-link{border-color:#102b3a30}
.dark-link:hover{color:#885711;border-color:#885711}
.motion-toggle{background:transparent;border:1px solid #ffffff26;width:30px;height:30px;display:grid;place-items:center;color:#d7e0e5;border-radius:50%;transition:border-color .3s}
.motion-toggle:hover{border-color:var(--gold)}
.pause-symbol{width:8px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.motion-paused .pause-symbol{width:0;height:0;border:5px solid transparent;border-left:8px solid currentColor;border-right:0;transform:translateX(1px)}
.menu-toggle{display:none;background:none;width:36px;height:36px;padding:8px}
.menu-toggle span{display:block;background:white;height:1px;width:22px;margin:6px 0;transition:transform .3s}
.hero{min-height:860px;padding-top:130px;color:#fff;position:relative;overflow:hidden;background:var(--navy)}
.hero-gridlines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#ffffff04 calc(25% - 1px),#ffffff04 25%);pointer-events:none}
.hero-watermark{position:absolute;bottom:16px;left:-20px;font-size:clamp(145px,16vw,260px);font-weight:700;line-height:1;letter-spacing:-.07em;color:#ffffff02;white-space:nowrap;pointer-events:none}
.hero-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center;min-height:640px}
.hero-copy{padding:20px 0 30px;position:relative;z-index:3}
.hero-copy .eyebrow{color:var(--gold);display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.13em}
.status-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #eeb65812;animation:status-breathe 3s ease-in-out infinite}
h1{font-size:clamp(62px,6.5vw,99px);letter-spacing:-.065em;font-weight:400;line-height:1.035;margin:31px 0 30px}
h1 .line{display:block;overflow:hidden;padding-bottom:.05em;margin-bottom:-.02em}
h1 .line>span{display:block}
h1 em{font-style:normal;color:var(--gold)}
.hero-intro{font-size:16px;line-height:1.8;color:#b9c7cf;margin:0 0 29px;max-width:420px}
.hero-buttons{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.hero-signature{display:flex;align-items:center;gap:20px;color:#aebfc9;font-size:10px;line-height:1.65;margin-top:47px;letter-spacing:.02em}
.signature-line{width:47px;height:1px;background:var(--gold)}
.hero-visual{align-self:center;position:relative;height:583px;--parallax:0px;--visual-x:0deg;--visual-y:0deg;perspective:1200px;z-index:1}
.visual-image{position:absolute;inset:0;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 90%,90% 100%,0 100%)}
.visual-image img{width:100%;height:115%;object-fit:cover;object-position:51% center;filter:saturate(.65) brightness(.7);transform:translateY(calc(-5% + var(--parallax)));transition:filter .8s}
.hero-visual:hover .visual-image img{filter:saturate(.8) brightness(.8)}
.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,#07182070,transparent 40%,#071820cc),linear-gradient(90deg,#0b202d44,transparent)}
.scan-line{position:absolute;left:0;right:0;height:1px;top:10%;box-shadow:0 0 18px 3px #eeb65840;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:scan 7s var(--ease) infinite}
.scan-line:before{content:"";position:absolute;height:50px;bottom:0;left:0;right:0;background:linear-gradient(0deg,#eeb65813,transparent)}
.visual-topline,.visual-bottom{position:absolute;left:27px;right:27px;display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.12em;color:#e3e9ec;z-index:2}
.visual-topline{top:25px}
.visual-bottom{bottom:30px;justify-content:space-between}
.crosshair{width:12px;height:12px;position:relative}
.crosshair:before,.crosshair:after{content:"";position:absolute;background:var(--gold)}
.crosshair:before{left:6px;top:0;width:1px;height:12px}.crosshair:after{top:6px;width:12px;height:1px}
.live-dots{display:flex;gap:4px;margin-left:auto}
.live-dots i{width:3px;height:3px;background:var(--gold);animation:status-breathe 1.8s infinite}
.live-dots i:nth-child(2){animation-delay:.3s}.live-dots i:nth-child(3){animation-delay:.6s}
.visual-corner{position:absolute;width:26px;height:26px;z-index:3;pointer-events:none}
.top-left{top:-8px;left:-8px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}
.bottom-right{bottom:41px;right:-8px;border-bottom:1px solid var(--gold);border-right:1px solid var(--gold)}
.building-trace{position:absolute;inset:45px 15px 40px;opacity:.45;pointer-events:none}
.building-trace svg{width:100%;height:100%;stroke:var(--gold);stroke-width:.6;stroke-dasharray:1700;stroke-dashoffset:1700;animation:draw-trace 4s 1s var(--ease) forwards}
.hotspot{position:absolute;display:flex;align-items:center;gap:12px;background:transparent;color:white;z-index:3;min-height:44px;padding:4px}
.hotspot-amiante{top:25%;left:8%}.hotspot-energy{top:50%;right:5%}.hotspot-patrimoine{top:72%;left:18%}
.hotspot-point{display:block;width:10px;height:10px;border-radius:50%;border:1px solid var(--gold);background:var(--gold);position:relative;flex-shrink:0}
.hotspot-point:after{content:"";position:absolute;inset:-8px;border:1px solid #eeb65860;border-radius:50%;animation:hotspot-pulse 3s ease-out infinite}
.hotspot-energy .hotspot-point:after{animation-delay:1s}.hotspot-patrimoine .hotspot-point:after{animation-delay:2s}
.hotspot-label{padding:10px 13px;display:flex;align-items:center;gap:12px;background:#0b202ddb;backdrop-filter:blur(12px);border:1px solid #ffffff30;font-size:10px;transition:background .3s,border-color .3s,transform .4s var(--ease)}
.hotspot-label>span{font-size:8px;color:var(--gold);font-variant-numeric:tabular-nums}
.hotspot-label .icon{width:13px;height:13px;opacity:.7}
.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{border-color:var(--gold);background:var(--navy);transform:translateX(4px)}
.expertise-stamp{position:absolute;bottom:66px;left:-34px;display:flex;gap:20px;align-items:center;background:var(--gold);color:var(--navy);padding:21px 25px;width:300px;z-index:4;box-shadow:0 12px 30px #00000015;animation:stamp-float 6s ease-in-out infinite}
.stamp-number{font-size:55px;line-height:1;letter-spacing:-.07em;font-weight:400;font-variant-numeric:tabular-nums}
.expertise-stamp>span:nth-child(2){font-size:10px;line-height:1.65}
.expertise-stamp strong{font-weight:600}.expertise-stamp .icon{margin-left:auto;width:30px;height:30px}
.hero-bottom{min-height:90px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff14;font-size:9px;color:#9dadb8;gap:20px;margin-top:15px}
.scroll-cue{display:flex;align-items:center;gap:15px;letter-spacing:.12em;font-size:8px}
.scroll-cue-icon{height:34px;width:23px;border:1px solid #ffffff30;border-radius:20px;display:grid;place-items:center}
.scroll-cue .icon{width:12px;height:16px;animation:scroll-nudge 2s ease-in-out infinite}
.section-coordinate{letter-spacing:.1em}
.expertise-ribbon{background:var(--gold);color:var(--navy);overflow:hidden;padding:21px 0;border-top:1px solid var(--gold)}
.ribbon-track{width:max-content;display:flex;animation:marquee 36s linear infinite}
.ribbon-set{display:flex;align-items:center;gap:40px;padding-right:40px;white-space:nowrap}
.ribbon-set span{font-size:13px;font-weight:600;letter-spacing:.05em}.ribbon-set i{font-size:19px;font-style:normal;font-weight:400;line-height:1}
.expertise-ribbon:hover .ribbon-track{animation-play-state:paused}
.project-section,.approach-section{background:var(--paper)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:65px;margin-bottom:51px}
.section-label{color:var(--muted);font-size:9px;letter-spacing:.14em;margin-bottom:22px}
.section-label>span{color:#886333;margin-right:16px}
h2{font-size:clamp(37px,4vw,61px);line-height:1.09;font-weight:400;letter-spacing:-.055em;margin:0}
.section-intro{font-size:14px;max-width:330px;line-height:1.85;color:var(--muted);margin:0 0 4px}
.project-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.project-tabs button{display:flex;align-items:center;gap:17px;background:none;text-align:left;padding:24px 22px 24px 0;font-size:14px;position:relative;transition:color .3s}
.project-tabs button:after{content:"";position:absolute;bottom:-1px;left:0;right:22px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.project-tabs button[aria-selected=true]:after{transform:scaleX(1)}
.project-tabs button[aria-selected=true]{color:var(--ink)}
.project-tabs button[aria-selected=false]{color:#65767e}
.tab-index{font-size:10px;color:#7b8388}.project-tabs button .icon{width:18px;height:18px;margin-left:auto;transition:transform .4s}
.project-tabs button[aria-selected=true] .icon{transform:rotate(45deg);color:#8b6020}
.project-experience{display:grid;grid-template-columns:1fr 1.05fr;margin-top:34px;gap:65px;align-items:center}
.blueprint{height:425px;position:relative;background:#e9eeeb;overflow:hidden;--diagram-accent:#b68a40;--window-fill:#eeb65820}
.blueprint-grid{position:absolute;inset:0;background-image:linear-gradient(#102b3a06 1px,transparent 1px),linear-gradient(90deg,#102b3a06 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(90deg,transparent,black 30%,black 70%,transparent)}
.blueprint-label{position:absolute;top:28px;left:27px;display:flex;gap:12px;align-items:center;font-size:8px;letter-spacing:.12em;color:#5d7078}
.blueprint-building{position:absolute;width:95%;height:89%;left:2.5%;top:8%;stroke:#718b91;stroke-width:1;animation:building-float 7s ease-in-out infinite}
.blueprint-ground{stroke:#abbec1;stroke-dasharray:3 5}.blueprint-main{stroke:#5c7b86}
.blueprint-windows{fill:var(--window-fill);stroke:var(--diagram-accent);transition:fill .6s,stroke .6s}
.blueprint-roof{stroke:var(--diagram-accent);fill:#eeb65812;transition:transform .8s var(--ease);transform:translateY(-16px)}
.blueprint-orbit{stroke:#a8b9bc;opacity:.55}.blueprint-callouts{stroke:var(--diagram-accent);fill:var(--gold)}
.blueprint-tag{position:absolute;padding:6px 9px;border:1px solid #cbd5cf;background:var(--paper);font-size:7px;letter-spacing:.13em;color:var(--ink)}
.tag-a{top:39%;left:6%}.tag-b{bottom:21%;right:4%}
.blueprint-caption{position:absolute;bottom:19px;left:25px;font-size:7px;letter-spacing:.14em;color:#6b7d85}
.blueprint-plus{position:absolute;font-weight:300;font-size:15px;color:#769097}.plus-a{top:18px;right:21px}.plus-b{bottom:18px;right:21px}
[data-current=patrimoine] .blueprint{--diagram-accent:#557f79;--window-fill:#659e8b35}
[data-current=patrimoine] .blueprint-roof{transform:translateY(-5px)}
[data-current=vente] .blueprint{--diagram-accent:#647b97;--window-fill:#7c95b52b}
[data-current=vente] .blueprint-roof{transform:translateY(0)}
.project-content{padding:20px 0}
.project-content [role=tabpanel]{animation:panel-in .55s var(--ease)}
.panel-kicker{font-size:8px;letter-spacing:.14em;color:#8e6a2f;margin:0 0 22px}
.project-content h3{font-size:clamp(27px,2.5vw,37px);line-height:1.17;letter-spacing:-.035em;font-weight:400;margin:0 0 20px}
.project-content p:not(.panel-kicker){max-width:460px;color:var(--muted);font-size:13px;line-height:1.9;margin:0 0 23px}
.project-service-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 23px}
.project-service-links button{display:flex;align-items:center;gap:15px;font-size:10px;line-height:1.5;border:1px solid #cbd5cf;background:transparent;padding:10px 12px;transition:background .3s,border-color .3s}
.project-service-links button span{color:#87601f}
.project-service-links button:hover{background:white;border-color:#b58c47}
.audiences{margin-top:58px;display:flex;gap:50px;align-items:center;border-top:1px solid var(--line);padding-top:28px}
.audiences>.eyebrow{font-size:8px;max-width:145px;margin:0;color:var(--muted)}
.audiences>div{display:flex;justify-content:space-between;gap:25px;flex:1;flex-wrap:wrap;font-size:11px}
.expertises-section{color:#f7fafb;background:var(--navy);position:relative;overflow:hidden}
.section-glow{position:absolute;width:650px;height:650px;top:-250px;right:-400px;pointer-events:none;background:radial-gradient(circle,#8aa8bd0c,transparent 70%)}
.expertises-section .section-label{color:var(--light-muted)}.expertises-section .section-label>span{color:var(--gold)}
.expertises-section h2{font-size:clamp(38px,4vw,61px)}
.expertise-side{display:flex;align-items:center;gap:22px;padding-bottom:3px}
.outline-number{font-size:95px;line-height:1;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px #ffffff35}
.expertise-side p{font-size:11px;line-height:1.8;color:var(--light-muted)}
.expertise-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:30px}
.filter-list{display:flex;flex-wrap:wrap;gap:8px}
.filter-list button{color:#d6e0e6;border:1px solid #ffffff20;background:transparent;padding:10px 15px;font-size:10px;transition:background .3s,color .3s,border-color .3s}
.filter-list button span{font-size:8px;margin-left:10px;opacity:.65}
.filter-list button:hover{border-color:var(--gold)}
.filter-list .is-active{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.filter-count{color:#a9bdc8;font-size:9px;flex-shrink:0;letter-spacing:.04em}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.service-card{border:1px solid #ffffff1a;padding:24px 23px 19px;position:relative;background:#102938;text-align:left;display:flex;flex-direction:column;min-height:316px;overflow:hidden;--mouse-x:50%;--mouse-y:50%;transition:background .4s,border-color .4s,transform .5s var(--ease),box-shadow .5s}
.service-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(300px circle at var(--mouse-x) var(--mouse-y),#eeb6580e,transparent 80%);opacity:0;transition:opacity .5s}
.service-card:hover{border-color:#eeb65890;transform:translateY(-6px);background:#142f3e;box-shadow:0 18px 35px #00000020}
.service-card:hover:before{opacity:1}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#adc0cb;font-size:7px;letter-spacing:.09em;margin-bottom:34px}
.card-arrow{width:19px;height:19px;transition:transform .4s var(--ease),color .3s}
.service-card:hover .card-arrow{color:var(--gold);transform:rotate(45deg)}
.service-icon{height:30px;width:30px;color:var(--gold);stroke-width:1.1;margin-bottom:20px}
.service-card h3{font-size:23px;line-height:1.15;letter-spacing:-.035em;font-weight:400;margin:0 0 16px}
.service-card p{font-size:11px;color:#acbec9;line-height:1.75;margin:0 0 28px;max-width:235px}
.card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff12;padding-top:15px;font-size:7px;letter-spacing:.13em;margin-top:auto;color:#c7d2d9}
.card-foot>span{font-size:18px;font-weight:300;color:var(--gold);line-height:1}
.service-card.filter-enter{animation:card-in .5s var(--ease)}
.expertise-note{display:flex;align-items:center;gap:20px;margin-top:38px;padding-top:29px;border-top:1px solid #ffffff19}
.small-cross{font-size:24px;font-weight:300;color:var(--gold)}
.expertise-note p{color:var(--light-muted);font-size:11px;max-width:620px;margin:0}
.expertise-note .text-link{margin-left:auto;white-space:nowrap;font-size:11px}
.approach-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:100px;align-items:start}
.approach-intro>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.9;max-width:335px;margin-top:26px}
.approach-dial{width:180px;height:180px;margin-top:40px;position:relative}
.approach-dial svg{width:100%;height:100%;transform:rotate(-90deg);stroke-width:1}
.dial-track{stroke:#c8d2ce;stroke-dasharray:2 7}
.dial-progress{stroke:#ad843e;stroke-width:2;stroke-dasharray:465;stroke-dashoffset:310;transition:stroke-dashoffset 1s var(--ease)}
.approach-dial>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.approach-dial>div>span{font-size:52px;letter-spacing:-.06em;line-height:1.2;font-variant-numeric:tabular-nums}
.approach-dial small{font-size:8px;letter-spacing:.14em;color:var(--muted);margin-top:6px}
.dial-cross{position:absolute;top:79px;right:-5px;color:#a7803e;font-size:18px;background:var(--paper);line-height:1}
.approach-steps{padding-top:48px}
.approach-step{border-top:1px solid #cbd6d1;position:relative}
.approach-step:before{position:absolute;content:"";height:2px;top:-1px;left:0;right:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.approach-step.is-active:before{transform:scaleX(1)}
.step-trigger{padding:29px 0;display:flex;align-items:center;gap:30px;width:100%;background:none;text-align:left}
.step-number{font-size:11px;color:#7f9299;align-self:flex-start;margin-top:5px}
.is-active .step-number{color:#9a6c2a}
.step-trigger small{display:block;font-size:8px;letter-spacing:.13em;color:#6b7d85;margin-bottom:7px}
.step-trigger strong{display:block;font-size:23px;line-height:1.2;letter-spacing:-.035em;font-weight:400}
.step-plus{font-size:24px;font-weight:300;margin-left:auto;color:#9a6c2a}
.step-detail{padding:0 35px 30px 44px;animation:panel-in .5s var(--ease)}
.step-detail p{font-size:13px;color:var(--muted);margin:0 0 22px;line-height:1.9}
.step-tags{display:flex;flex-wrap:wrap;gap:9px}
.step-tags span{border:1px solid #cbd6d1;padding:5px 10px;font-size:8px;color:#64747b}
.approach-ending{border-top:1px solid #cbd6d1;padding:28px 0;display:flex;align-items:center;gap:20px}
.approach-rule{width:35px;height:1px;background:#ae8745}
.approach-ending p{font-size:11px;color:#5f737c;line-height:1.8;margin:0}
.approach-ending .icon{margin-left:auto;width:17px;height:17px;color:#89662d}
.closing-section{color:white;padding:108px 0 0;position:relative;overflow:hidden}
.closing-lines{position:absolute;inset:-50% -20% -100% 40%;transform:rotate(-30deg);background:repeating-linear-gradient(90deg,transparent 0,transparent 125px,#ffffff05 125px,#ffffff05 126px);pointer-events:none}
.closing-layout{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:45px}
.closing-section .section-label{color:var(--light-muted)}.closing-section .section-label>span{color:var(--gold)}
.closing-section h2{font-size:clamp(39px,4.7vw,72px);line-height:1.1}
.closing-outline{color:#99b2c1}
@supports(-webkit-text-stroke:1px white){.closing-outline{color:transparent;-webkit-text-stroke:1px #a5bbc9}}
.closing-action{display:flex;flex-direction:column;align-items:center}
.round-cta{border-radius:50%;width:154px;height:154px;display:flex;flex-direction:column;gap:17px;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);position:relative;transition:transform .5s var(--ease),background .3s;box-shadow:0 0 0 13px #eeb65807}
.round-cta:after{content:"";position:absolute;inset:-14px;border:1px solid #eeb65830;border-radius:50%;transition:inset .5s var(--ease),border-color .5s}
.round-cta:hover{transform:scale(1.04);background:var(--gold-light)}
.round-cta:hover:after{inset:-22px;border-color:#eeb65850}
.round-cta .icon{width:34px;height:34px}
.round-cta>span{font-size:9px;letter-spacing:.08em;line-height:1.55}
.closing-action>p{font-size:11px;color:var(--light-muted);text-align:center;max-width:200px;line-height:1.8;margin:35px 0 0}
.closing-foot{border-top:1px solid #ffffff16;margin-top:80px;padding:29px 0}
.closing-foot p{font-size:11px;color:#a3b5c1;margin:0;max-width:820px;line-height:1.85}
.site-footer{background:var(--deep);color:#fff;padding:43px 0 21px}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:38px}
.footer-main p{font-size:11px;color:#a6b9c4;line-height:1.8;margin:0}
.back-top{display:flex;align-items:center;gap:23px;font-size:8px;letter-spacing:.12em;color:#c0cbd1}
.back-top:hover{color:var(--gold)}
.back-top .icon{width:18px;height:18px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff12;padding-top:20px;font-size:8px;color:#93aab7;line-height:1.7}
.footer-bottom a{transition:color .3s}.footer-bottom a:hover{color:var(--gold)}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-height:calc(100dvh - 48px);width:min(700px,calc(100% - 36px));margin:auto;overflow:auto;box-shadow:0 40px 120px #00000060;overscroll-behavior:contain}
dialog::backdrop{background:#04131dd9;backdrop-filter:blur(10px);animation:backdrop-in .3s}
dialog[open]{animation:dialog-in .5s var(--ease)}
.dialog-inner{padding:47px 48px 35px;position:relative}
.dialog-close{position:absolute;right:21px;top:20px;background:transparent;border:1px solid #c4cfca;width:35px;height:35px;display:grid;place-items:center;transition:background .3s,transform .3s}
.dialog-close:hover{background:#e7ebe5;transform:rotate(90deg)}
.dialog-close .icon{width:18px;height:18px}
.dialog-inner>.eyebrow{color:#896229;font-size:9px;margin-bottom:26px}
.dialog-inner h2{font-size:43px;line-height:1.09;letter-spacing:-.05em;max-width:490px;margin-bottom:28px}
.service-dialog-symbol{height:52px}.service-dialog-symbol .service-icon{width:37px;height:37px;color:#9e7837}
.service-description p{color:#586c76;font-size:14px;line-height:1.9;margin:0 0 18px}
.service-deliverable{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:26px 0}
.service-deliverable .eyebrow{font-size:8px;color:#8c682d}
.service-deliverable p{font-size:14px;color:var(--ink);margin:10px 0 0}
.service-references{margin:0 0 25px;display:flex;flex-wrap:wrap;gap:15px}
.service-references a{font-size:10px;text-decoration:underline;text-underline-offset:4px;color:#536b76;line-height:1.8}
.service-references a:hover{color:#8b6125}
.dialog-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:20px}
.brief-dialog{width:min(770px,calc(100% - 36px))}
.brief-dialog .dialog-inner{padding-top:40px}
.brief-dialog .dialog-inner>.eyebrow{margin-bottom:18px}
.brief-dialog h2{font-size:37px;margin-bottom:27px}
.brief-progress{list-style:none;padding:0;margin:0 0 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.brief-progress li{padding:0 0 14px;display:flex;gap:11px;align-items:center;border-bottom:2px solid #d7dfda;color:#7c8b91;font-size:10px}
.brief-progress li span{font-size:8px}
.brief-progress .is-current{border-color:var(--gold);color:var(--ink)}
.brief-progress .is-done{border-color:#718d83}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-size:13px;font-weight:600;margin-bottom:17px}
.goal-options{display:grid;gap:9px}
.goal-options label{display:block;position:relative;cursor:pointer}
.goal-options input{position:absolute;top:21px;left:20px;width:1px;height:1px;opacity:0}
.goal-options label>span{display:flex;align-items:center;gap:20px;border:1px solid #cfd8d3;padding:15px 20px;transition:background .3s,border-color .3s}
.goal-options label:hover>span{border-color:#b79250;background:#fff}
.goal-options .icon{width:24px;height:24px;color:#9d7b3d}
.goal-options label>span>span{font-size:12px;line-height:1.6}
.goal-options small{display:block;font-size:10px;color:#61757e;margin-top:2px}
.goal-options i{width:15px;height:15px;border:1px solid #a7b7b0;border-radius:50%;margin-left:auto;flex-shrink:0;position:relative}
.goal-options input:checked+span{background:#eeb65810;border-color:#ba914b}
.goal-options input:checked+span i:after{position:absolute;content:"";inset:3px;background:#b48a40;border-radius:50%}
.goal-options input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}
.brief-step{animation:panel-in .4s var(--ease)}
.brief-step-intro{font-size:12px;color:var(--muted);margin:0 0 25px}
.form-field{margin-bottom:20px}
.form-field label{display:block;font-size:11px;margin-bottom:8px;font-weight:600}
.form-field label>span{color:#927136}
.form-field label small{font-weight:400;color:#6a7e86;font-size:9px;margin-left:6px}
.form-field input,.form-field textarea,.form-field select{width:100%;min-height:47px;background:#fff;border:1px solid #cdd7d2;padding:12px 13px;border-radius:0;color:var(--ink);font-size:12px}
.form-field textarea{resize:vertical;min-height:105px}
.form-field input::placeholder,.form-field textarea::placeholder{color:#7e8d94}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-help{font-size:10px;line-height:1.8;color:#61757e;margin:13px 0 0}
.brief-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}
.brief-navigation .button{margin-left:auto}
.brief-navigation .text-link{border-bottom:0}
.brief-error{color:#9e3226;font-size:11px;margin-top:12px;min-height:0}
.brief-ready{display:flex;gap:15px;background:#e2ebe4;padding:18px;margin-bottom:24px}
.brief-ready>.icon{color:#597f69;width:25px;height:25px}
.brief-ready strong{font-size:13px;font-weight:600}
.brief-ready p{font-size:11px;color:#537267;line-height:1.8;margin:5px 0 0}
.brief-services{display:grid;grid-template-columns:1fr 1fr;gap:9px 15px;margin-bottom:25px}
.brief-services label{display:flex;align-items:center;gap:9px;font-size:10px;line-height:1.5;cursor:pointer;min-height:29px}
.brief-services input{width:14px;height:14px;accent-color:#a7803e;flex-shrink:0;margin:0}
.summary-label{font-size:11px;font-weight:600;display:block;margin-bottom:10px}
.brief-summary{font-size:11px;line-height:1.8;background:#fff;width:100%;padding:16px;resize:vertical;border:1px solid #ccd7d0;color:#536873;min-height:170px}
.brief-export{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.brief-export .button{font-size:11px;min-height:45px;padding:13px 17px}
.copy-status{font-size:10px;color:#49735c;min-height:17px;margin:12px 0 0}
.brief-step[data-brief-step="3"]+.brief-error+.brief-navigation{margin-top:10px}
.noscript-note{background:var(--gold);color:var(--navy);padding:25px;font-size:14px}
.js.has-observer .reveal{opacity:0;transform:translateY(27px);transition:opacity .8s var(--ease),transform .9s var(--ease)}
.js.has-observer .reveal.is-visible{opacity:1;transform:translateY(0)}
.js .hero-enter{animation:hero-in 1s var(--ease) both;animation-delay:calc(var(--enter)*.12s)}
.js h1 .line>span{animation:line-in 1.2s var(--ease) both;animation-delay:calc(var(--enter)*.12s)}
.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
.motion-paused .reveal,.motion-paused .hero-enter,.motion-paused h1 .line>span{opacity:1!important;transform:none!important;animation:none!important}
.motion-paused .building-trace svg{stroke-dashoffset:0;animation:none!important}
.motion-paused dialog[open],.motion-paused .project-content [role=tabpanel],.motion-paused .step-detail,.motion-paused .brief-step,.motion-paused .service-card.filter-enter,.motion-paused .main-nav{animation:none!important;opacity:1;transform:none}
.js.has-observer .service-card.reveal.is-visible:hover{transform:translateY(-6px)}
.motion-paused .service-card:hover{transform:none!important}
@keyframes hero-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes line-in{from{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}
@keyframes panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes scan{0%{top:7%;opacity:0}10%{opacity:.7}85%{opacity:.5}100%{top:97%;opacity:0}}
@keyframes draw-trace{to{stroke-dashoffset:0}}
@keyframes status-breathe{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes hotspot-pulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.5);opacity:0}}
@keyframes stamp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes building-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes scroll-nudge{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(min-width:1600px){.hero{min-height:940px;padding-top:160px}.hero-layout{min-height:685px}.hero-visual{height:660px}.hero-copy h1{font-size:102px}.hero-layout{gap:90px}}
@media(max-width:1200px){.wrap,.header-inner{width:calc(100% - 72px)}.main-nav{gap:20px}.header-inner{gap:20px}.header-actions{gap:12px}.hero-layout{gap:40px}.hero-visual{height:535px}h1{font-size:clamp(63px,6.7vw,84px)}.hero{min-height:815px}.hero-layout{min-height:600px}.hero-copy .eyebrow{font-size:8px}.hero-buttons{gap:22px}.hero-buttons .button{padding:16px 18px;font-size:11px;gap:19px}.expertise-stamp{width:270px;padding:20px}.expertise-stamp .stamp-number{font-size:47px}.project-experience{gap:40px}.services-grid{gap:13px}.service-card{padding:23px 18px 18px}.service-card h3{font-size:21px}.section-heading{gap:40px}.expertise-side{gap:15px}.outline-number{font-size:80px}.approach-layout{gap:60px}}
@media(max-width:1020px){.header-cta{display:none!important}.header-inner{height:88px}.hero{padding-top:115px;min-height:790px}.hero-layout{gap:30px;grid-template-columns:1fr 1fr}.hero-visual{height:530px}.hero-copy{padding-top:0}h1{font-size:65px}.hero-copy .eyebrow{max-width:260px;letter-spacing:.09em;line-height:1.7}.hero-intro{font-size:14px}.hero-signature{margin-top:33px}.hero-buttons{gap:10px}.hero-buttons>.text-link{font-size:10px;padding:8px 0}.hotspot-label{gap:7px;padding:9px;font-size:9px}.hotspot{gap:9px}.hotspot-energy{right:3%}.hotspot-patrimoine{left:14%}.expertise-stamp{left:-20px;bottom:55px;width:245px;gap:15px}.expertise-stamp>span:nth-child(2){font-size:9px}.hero-bottom>span:nth-child(2){font-size:8px}.section-pad{padding:85px 0}.section-heading{gap:30px}.section-intro{max-width:275px;font-size:12px}.project-tabs button{font-size:12px;gap:10px}.project-experience{gap:35px}.blueprint{height:375px}.project-content h3{font-size:28px}.project-content p:not(.panel-kicker){font-size:12px}.audiences{gap:35px}.audiences>div{gap:13px 20px;font-size:10px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-card{min-height:300px;padding:25px}.service-card h3{font-size:27px}.card-top{font-size:8px}.service-card p{font-size:12px;max-width:310px}.card-foot{font-size:8px}.expertise-side{display:none}.expertise-note p{max-width:430px}.approach-layout{gap:40px;grid-template-columns:.9fr 1.1fr}.step-trigger{gap:20px}.step-trigger strong{font-size:21px}.step-detail{padding-left:35px}.closing-section{padding-top:85px}.closing-section h2{font-size:51px}.footer-main{gap:25px}.footer-main .brand-text strong{font-size:17px}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap,.header-inner{width:calc(100% - 40px)}.header-inner{height:80px;gap:15px}.is-scrolled .header-inner{height:70px}.brand-text strong{font-size:17px}.brand-text small{font-size:7px}.brand-mark{width:32px;height:36px;font-size:27px}.header-actions{gap:12px}.motion-toggle{width:28px;height:28px}.menu-toggle{display:block}.main-nav{position:absolute;top:100%;left:0;right:0;background:#0b202dfb;border-bottom:1px solid #ffffff22;padding:18px 25px 26px;display:none;flex-direction:column;gap:7px;font-size:15px;backdrop-filter:blur(20px)}.main-nav.is-open{display:flex;animation:panel-in .3s var(--ease)}.main-nav a{padding:13px 0}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{padding-top:109px;min-height:auto}.hero-layout{grid-template-columns:1fr;gap:36px;min-height:auto}.hero-copy{padding:15px 0 0}.hero-copy .eyebrow{max-width:none;font-size:8px;gap:10px;margin-bottom:20px}.hero-copy h1{font-size:clamp(63px,12.9vw,89px);max-width:560px;margin:22px 0 26px;line-height:1.03}.hero-intro{font-size:14px;margin-bottom:24px}.hero-buttons{gap:25px}.hero-buttons .button{font-size:11px;padding:16px 20px;min-height:51px}.hero-buttons>.text-link{font-size:11px}.hero-signature{margin-top:29px;font-size:9px}.hero-visual{height:440px;width:100%;max-width:540px;justify-self:center}.visual-image img{object-position:center 60%}.hotspot-amiante{top:23%;left:9%}.hotspot-energy{top:48%;right:7%}.hotspot-patrimoine{top:72%;left:36%}.hotspot-label{font-size:10px;gap:10px;padding:10px 12px}.expertise-stamp{width:240px;left:15px;bottom:38px;padding:17px 19px;gap:16px}.expertise-stamp .stamp-number{font-size:43px}.expertise-stamp .icon{width:25px;height:25px}.visual-bottom{bottom:18px;left:20px;right:20px;font-size:7px}.visual-topline{top:20px;left:20px;right:20px;font-size:7px}.bottom-right{bottom:28px;right:-4px}.hero-bottom{min-height:80px;margin-top:27px;font-size:7px}.hero-bottom>span:nth-child(2){max-width:190px;font-size:7px;text-align:right;line-height:1.8}.section-coordinate{display:none}.scroll-cue{font-size:7px;gap:11px}.hero-watermark{font-size:150px;bottom:2px}.expertise-ribbon{padding:18px 0}.ribbon-set{gap:28px;padding-right:28px}.ribbon-set span{font-size:11px}.section-pad{padding:64px 0}.section-heading{flex-direction:column;align-items:flex-start;gap:25px;margin-bottom:30px}h2,.expertises-section h2{font-size:clamp(34px,7.6vw,49px)}.section-label{font-size:8px;margin-bottom:18px}.section-intro{font-size:12px;max-width:420px}.section-intro br{display:none}.project-tabs{gap:10px}.project-tabs button{font-size:10px;line-height:1.5;display:grid;grid-template-columns:1fr auto;padding:17px 2px 18px 0;gap:10px 6px;align-content:start}.tab-index{font-size:8px;grid-column:1}.project-tabs button>span:nth-child(2){grid-row:2;grid-column:1 / 3;min-height:30px}.project-tabs button>.icon{grid-column:2;grid-row:1;width:14px;height:14px}.project-tabs button:after{right:0}.project-experience{grid-template-columns:1fr;gap:20px;margin-top:23px}.blueprint{height:330px;max-width:540px;width:100%;justify-self:center}.blueprint-building{width:100%;height:96%;top:3%;left:0}.blueprint-label{top:20px;left:20px;font-size:7px}.tag-a{top:36%;left:8%}.tag-b{bottom:21%;right:9%}.blueprint-caption{font-size:6px;left:20px;bottom:16px}.project-content{padding:12px 0 0}.panel-kicker{font-size:7px;margin-bottom:17px}.project-content h3{font-size:30px;margin-bottom:18px}.project-content p:not(.panel-kicker){font-size:12px;line-height:1.9;max-width:500px}.project-service-links{margin-bottom:19px}.project-service-links button{font-size:9px;padding:9px 10px}.audiences{flex-direction:column;align-items:flex-start;gap:18px;margin-top:36px;padding-top:24px}.audiences>.eyebrow{max-width:none;font-size:7px}.audiences>div{display:grid;grid-template-columns:1fr 1fr;width:100%;font-size:9px;gap:15px 20px}.expertise-toolbar{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:23px}.filter-list{gap:7px}.filter-list button{font-size:9px;padding:9px 11px}.filter-list button span{margin-left:6px;font-size:7px}.filter-count{font-size:8px}.services-grid{gap:11px}.service-card{min-height:310px;padding:20px 15px 16px}.card-top{font-size:6px;letter-spacing:.02em;margin-bottom:28px}.card-arrow{width:15px;height:15px}.service-card h3{font-size:21px}.service-card p{font-size:10px;line-height:1.8;margin-bottom:21px}.service-icon{width:26px;height:26px;margin-bottom:19px}.card-foot{font-size:6px;letter-spacing:.06em;padding-top:13px}.card-foot>span{font-size:16px}.expertise-note{display:grid;grid-template-columns:15px 1fr;gap:15px;margin-top:27px;padding-top:25px}.expertise-note p{font-size:10px}.expertise-note .text-link{grid-column:2;margin-left:0;justify-self:start;font-size:10px}.approach-layout{grid-template-columns:1fr;gap:22px}.approach-intro{position:relative;padding-right:90px}.approach-intro h2{font-size:40px}.approach-intro>p:not(.eyebrow){font-size:12px;max-width:410px;margin-top:20px}.approach-dial{position:absolute;top:52px;right:0;width:94px;height:94px;margin:0}.approach-dial>div>span{font-size:28px}.approach-dial small{font-size:6px;letter-spacing:.05em;margin-top:3px}.dial-cross{top:39px;font-size:14px;right:-3px}.approach-steps{padding-top:13px}.step-trigger{gap:18px;padding:25px 0}.step-trigger strong{font-size:22px}.step-trigger small{font-size:7px}.step-number{font-size:9px}.step-detail{padding-left:31px;padding-right:15px}.step-detail p{font-size:12px}.step-tags span{font-size:7px}.approach-ending p{font-size:10px}.closing-section{padding:66px 0 0}.closing-layout{grid-template-columns:1fr;gap:36px}.closing-section h2{font-size:clamp(34px,7.8vw,49px)}.closing-action{align-items:flex-start;flex-direction:row;gap:33px;align-items:center}.round-cta{width:110px;height:110px;gap:11px;flex-shrink:0;box-shadow:none}.round-cta:after{inset:-9px}.round-cta .icon{width:26px;height:26px}.round-cta>span{font-size:7px}.closing-action>p{text-align:left;margin:0;font-size:10px;max-width:200px}.closing-foot{margin-top:50px;padding:22px 0}.closing-foot p{font-size:9px}.site-footer{padding:32px 0 20px}.footer-main{display:grid;grid-template-columns:1fr auto;gap:22px;padding-bottom:28px}.footer-main .brand-text strong{font-size:16px}.footer-main .brand-mark{width:29px;height:33px;font-size:25px}.footer-main p{font-size:10px;grid-column:1}.back-top{font-size:6px;gap:10px;grid-column:2;grid-row:1 / 3;align-self:center}.back-top .icon{width:16px;height:16px}.footer-bottom{flex-direction:column;gap:9px;font-size:7px;padding-top:17px}dialog{width:calc(100% - 24px);max-height:calc(100dvh - 30px)}.dialog-inner{padding:44px 25px 25px}.dialog-close{top:14px;right:14px}.dialog-inner>.eyebrow{font-size:8px;margin-bottom:24px;padding-right:20px}.dialog-inner h2{font-size:34px;margin-bottom:23px}.service-description p{font-size:12px}.service-deliverable p{font-size:12px}.service-references a{font-size:9px}.dialog-note{font-size:9px}.brief-dialog{width:calc(100% - 24px)}.brief-dialog .dialog-inner{padding-top:37px}.brief-dialog h2{font-size:31px}.brief-progress{gap:11px;margin-bottom:25px}.brief-progress li{font-size:9px;gap:8px;padding-bottom:11px}.brief-progress li span{font-size:7px}.goal-options label>span{padding:13px 12px;gap:12px}.goal-options label>span>span{font-size:11px}.goal-options small{font-size:9px}.goal-options .icon{width:20px;height:20px}.form-row{grid-template-columns:1fr;gap:0}.form-field label{font-size:10px}.form-field input,.form-field textarea,.form-field select{font-size:12px}.brief-services{gap:8px 12px}.brief-services label{font-size:9px;align-items:flex-start;min-height:30px}.brief-services input{margin-top:1px}.brief-ready{padding:15px;gap:11px}.brief-ready strong{font-size:12px}.brief-ready p{font-size:10px}.brief-summary{font-size:10px}.brief-navigation .button{font-size:11px;min-height:48px;padding:13px 19px}.brief-export{gap:9px}.brief-export .button{font-size:10px;padding:12px 14px;gap:17px}}
@media(max-width:370px){.wrap,.header-inner{width:calc(100% - 32px)}.hero-copy h1{font-size:57px}.hero-copy .eyebrow{font-size:7px;letter-spacing:.075em}.hero-buttons{gap:16px}.hero-buttons .button{padding:15px;gap:13px;font-size:10px}.hero-visual{height:380px}.hotspot-label{font-size:9px;padding:9px;gap:8px}.hotspot-patrimoine{left:35%;top:67%}.expertise-stamp{width:210px;left:9px;padding:15px;bottom:33px}.expertise-stamp .stamp-number{font-size:37px}.services-grid{gap:9px}.service-card{padding:18px 12px 15px;min-height:306px}.service-card h3{font-size:19px}.service-card p{font-size:9px}.card-top{font-size:6px}.card-foot{font-size:5.5px;letter-spacing:.025em}.approach-intro{padding-right:75px}.approach-dial{width:75px;height:75px}.approach-intro h2{font-size:35px}.dial-cross{top:30px}.step-trigger strong{font-size:20px}.goal-options small{font-size:8px}.brief-export .button{gap:10px;font-size:9px}.brief-services{grid-template-columns:1fr}.brand-text strong{font-size:15px}.brand-text small{font-size:6px}}
@media(max-width:760px){.filter-list button{font-size:11px;min-height:40px}.filter-count{font-size:10px}.project-tabs button{font-size:12px}.project-service-links button{font-size:11px;min-height:40px}.project-content .text-link,.expertise-note .text-link{font-size:12px}.service-card{min-height:330px}.card-top{font-size:8px;line-height:1.5}.card-top>span{max-width:calc(100% - 25px)}.service-card p{font-size:12px;line-height:1.7}.card-foot{font-size:8px;letter-spacing:.025em}.goal-options small{font-size:10px}.brief-progress li{font-size:11px}.brief-services label{font-size:11px;line-height:1.6}.form-help,.dialog-note{font-size:11px}.brief-summary{font-size:12px}.copy-status{font-size:11px}.brief-export .button{font-size:11px}.motion-paused .service-card:hover{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js.has-observer .reveal{opacity:1;transform:none}.hero-visual{--parallax:0px!important}.building-trace svg{stroke-dashoffset:0;animation:none}.motion-toggle{display:none}.service-card:hover{transform:none!important}}
