:root{--ink:#111214;--paper:#fff;--night:#07080a;--bronze:#111214;--line:rgba(17,18,20,.16);--serif:"Marcellus",Georgia,serif;--sans:"Roboto",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;background:var(--night)}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;caret-color:transparent}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
button{font:inherit}
.eyebrow{margin:0;color:var(--bronze);font-size:.7rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase}

.expertise-header{position:absolute;z-index:30;top:0;left:0;width:100%;height:104px;padding:0 clamp(1.5rem,4.5vw,5.5rem);display:flex;align-items:center;justify-content:space-between;color:var(--ink)}
.expertise-brand{width:clamp(150px,13vw,220px)}
.expertise-brand img{height:auto;object-fit:contain;filter:brightness(0) invert(1)}
.expertise-header-actions{position:fixed;z-index:40;top:28px;right:clamp(1.3rem,3vw,3.6rem);display:flex;align-items:center;gap:1.25rem;padding:.42rem .48rem .42rem 1rem;border:1px solid rgba(255,255,255,.32);border-radius:99px;background:rgba(10,10,11,.28);color:#fff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.return-home{min-height:31px;padding:0 .9rem;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:rgba(255,255,255,.11);font-size:.61rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .25s ease,color .25s ease}
.return-home:hover,.return-home:focus-visible{background:#fff;color:#111;outline:0}
.expertise-language{position:relative;display:grid;grid-template-columns:1fr 1fr;width:72px;height:29px;padding:3px;border:1px solid rgba(255,255,255,.35);border-radius:99px}
.expertise-language span{position:absolute;top:3px;left:3px;width:31px;height:21px;border-radius:99px;background:rgba(255,255,255,.22);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.expertise-language.is-fr span{transform:translateX(34px)}
.expertise-language button{position:relative;z-index:1;border:0;background:none;color:#fff;padding:0;cursor:pointer;font-size:.53rem;font-weight:400}

.expertise-introduction{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;background:var(--night);color:#fff}
.expertise-introduction:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 76% 45%,rgba(255,255,255,.045),transparent 38%)}
.expertise-introduction-media{position:absolute;z-index:1;left:clamp(2rem,6vw,7rem);top:16svh;width:clamp(330px,34vw,610px);height:69svh;margin:0;overflow:hidden;background:#101114;box-shadow:0 35px 90px rgba(0,0,0,.38)}
.expertise-introduction-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 64%,rgba(4,5,7,.34));pointer-events:none}
.expertise-introduction-media img{object-position:center;filter:grayscale(.22) saturate(.72) contrast(1.04);transform:scale(1.01)}
.expertise-introduction-copy{position:relative;z-index:2;width:min(780px,43vw);padding:clamp(10rem,18vh,14rem) 0 clamp(5rem,10vh,8rem);margin-left:auto;margin-right:clamp(3rem,7vw,9rem);display:flex;flex-direction:column;justify-content:center}
.expertise-introduction-copy>.eyebrow{margin-bottom:clamp(1.6rem,3vh,2.6rem);color:rgba(255,255,255,.58)}
.expertise-introduction h1{position:relative;max-width:780px;margin:0;font:400 clamp(3rem,4.2vw,5.3rem)/.98 var(--serif);letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance}
.expertise-introduction-body{position:relative;max-width:720px;margin-top:clamp(2rem,4vh,3.2rem);color:rgba(255,255,255,.68);font-size:clamp(.9rem,.92vw,1.05rem);line-height:1.82}
.expertise-introduction-body p{margin:0}
.expertise-introduction-body p+p{margin-top:1.5rem}

.expertise-atlas{position:relative;display:grid;grid-template-columns:50% 50%;background:var(--night)}
.expertise-visual{position:sticky;top:0;height:100svh;overflow:hidden;background:#0d0e10}
.expertise-visual figure{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.05);transition:opacity .85s ease,transform 1.15s cubic-bezier(.2,.75,.2,1)}
.expertise-visual figure.is-active{opacity:1;transform:scale(1)}
.expertise-visual img{filter:grayscale(.82) saturate(.65) contrast(1.07)}
.expertise-visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,5,7,.05),rgba(4,5,7,.55)),linear-gradient(90deg,transparent 60%,rgba(4,5,7,.28))}
.expertise-progress{position:absolute;left:clamp(1.5rem,4vw,4rem);right:clamp(1.5rem,4vw,4rem);bottom:4.5rem;height:1px;background:rgba(255,255,255,.28)}
.expertise-progress span{display:block;width:20%;height:100%;background:#fff;transition:width .7s cubic-bezier(.2,.75,.2,1)}
.expertise-visual-label{position:absolute;left:clamp(1.5rem,4vw,4rem);bottom:6rem;margin:0;color:#fff;font:400 clamp(2.1rem,3.4vw,4.3rem)/1 var(--serif);text-transform:uppercase;transition:opacity .25s ease}
.expertise-chapters{background:var(--paper)}
.expertise-chapter{position:relative;min-height:100svh;padding:clamp(6rem,12vh,9rem) clamp(2rem,6.2vw,7rem);display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--line)}
.expertise-chapter-media{display:none}
.chapter-number{position:absolute;top:clamp(2rem,5vw,5rem);right:clamp(2rem,5vw,5rem);color:rgba(17,18,20,.3);font-size:.65rem;letter-spacing:.2em}
.expertise-chapter h3{max-width:720px;margin:0;font:400 clamp(3rem,4.6vw,5.8rem)/.95 var(--serif);letter-spacing:-.045em;text-transform:uppercase}
.chapter-copy{max-width:780px;margin-top:clamp(3rem,6vh,5rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4.5rem)}
.chapter-copy--stacked{grid-template-columns:1fr;gap:1.4rem}
.chapter-copy p{margin:0;color:rgba(17,18,20,.68);font-size:clamp(.9rem,1vw,1.08rem);line-height:1.78}

.expertise-explore{min-height:clamp(330px,37svh,440px)}
.expertise-explore{padding:clamp(3.4rem,5vw,5.5rem) clamp(2rem,7vw,8.5rem);display:grid;grid-template-columns:minmax(500px,1.35fr) minmax(220px,.65fr);gap:clamp(3rem,7vw,9rem);align-items:center;background:#3b3b39;color:#f6f2ea}
.expertise-explore>p{max-width:900px;margin:0;font:400 clamp(2.3rem,3.5vw,4.4rem)/1.04 var(--serif);letter-spacing:-.035em}
.expertise-explore nav{min-width:230px;display:flex;flex-direction:column;align-items:flex-start;justify-self:end;gap:1.15rem}
.expertise-explore a{padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.72);font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;transition:opacity .25s ease,border-color .25s ease}
.expertise-explore a:hover{opacity:.62;border-color:#fff}
.compact-contact-footer{padding:2.3rem clamp(2rem,5vw,6rem) 1.2rem;display:grid;grid-template-columns:minmax(170px,.35fr) minmax(520px,1fr);gap:1.5rem 4rem;background:#07090c;color:#f6f2ea;border-top:1px solid rgba(255,255,255,.13)}
.footer-space-mark{width:clamp(145px,13vw,210px);align-self:start}
.footer-space-mark img{height:auto;object-fit:contain;filter:brightness(0) invert(1)}
.footer-contact-line{display:grid;grid-template-columns:1.25fr .75fr .5fr;gap:3rem;align-items:start}
.footer-contact-item span{display:block;margin-bottom:.55rem;color:rgba(255,255,255,.42);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase}
.footer-contact-item p,.footer-contact-item a{margin:0;color:rgba(255,255,255,.77);font-size:.77rem;line-height:1.5;text-transform:uppercase}
.footer-contact-item a{display:inline-block;border-bottom:1px solid rgba(255,255,255,.28)}
.footer-contact-item a:hover{border-color:#fff}
.footer-base{grid-column:1/-1;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.35);font-size:.53rem;letter-spacing:.17em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.75,.2,1)}
.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1050px){
  .expertise-introduction-media{left:clamp(2rem,4vw,3rem);width:40vw}
  .expertise-introduction-copy{width:46vw;margin-right:clamp(2rem,4vw,3rem)}
  .expertise-atlas{grid-template-columns:45% 55%}
  .chapter-copy{grid-template-columns:1fr}
  .expertise-explore{grid-template-columns:1fr;gap:2.5rem}
  .expertise-explore nav{justify-self:start}
  .compact-contact-footer{grid-template-columns:1fr}
}
@media(max-width:760px){
  .expertise-header{height:82px;padding:0 1.25rem}
  .expertise-brand{width:136px}
  .expertise-header-actions{top:20px;right:1rem;padding-left:.65rem}
  .return-home{display:none}
  .expertise-introduction{min-height:0;padding-top:82px;display:flex;flex-direction:column;align-items:stretch}
  .expertise-introduction-media{position:relative;inset:auto;order:1;width:100%;height:56svh;margin:0;box-shadow:none}
  .expertise-introduction-copy{order:2;width:100%;margin:0;padding:4rem 1.25rem 5rem}
  .expertise-introduction h1{width:100%;max-width:100%;min-width:0;font-size:clamp(2.7rem,12vw,4.5rem);line-height:1;overflow-wrap:break-word}
  .expertise-introduction-body{width:100%;max-width:100%;min-width:0;font-size:.93rem;line-height:1.72;overflow-wrap:break-word}
  .expertise-atlas{display:block}
  .expertise-visual{display:none}
  .expertise-chapter{min-height:auto;padding:72svh 1.25rem 5rem;overflow:hidden;background:var(--paper)}
  .expertise-chapter:before{content:"";position:absolute;top:0;left:0;width:100%;height:64svh;background-image:linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%),var(--mobile-image);background-size:cover;background-position:center;filter:grayscale(.82) saturate(.65) contrast(1.05)}
  .chapter-number{top:calc(64svh + 2rem);right:1.25rem}
  .expertise-chapter h3{font-size:clamp(2.7rem,12vw,4.2rem)}
  .chapter-copy{margin-top:2.6rem}
  .expertise-explore{min-height:390px}
  .expertise-explore{padding:3.6rem 1.25rem;grid-template-columns:1fr;gap:2.5rem}
  .expertise-explore>p{font-size:clamp(2.15rem,10vw,3.2rem)}
  .expertise-explore nav{gap:.8rem}
  .expertise-explore a{padding:.45rem 0}
  .compact-contact-footer{padding:2.3rem 1.3rem 1.2rem;grid-template-columns:1fr;gap:1.6rem}
  .footer-contact-line{grid-template-columns:1fr;gap:1.5rem}
}
@media(max-width:520px){
  .expertise-header-actions{width:78px;padding:3px;border-color:rgba(255,255,255,.28);background:rgba(10,10,11,.18)}
  .expertise-language{width:70px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.expertise-visual figure{transition:none}}
