:root{--navy:#082f49;--deep:#051f31;--blue:#0c6681;--sage:#78917b;--gold:#b99a5e;--cream:#f1ede3;--paper:#fbfaf6;--ink:#102d3c;--muted:#64747c;--white:#fff;--line:rgba(16,45,60,.15);--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.skip-link{position:fixed;left:12px;top:-80px;background:#fff;padding:12px 18px;z-index:100;box-shadow:0 4px 20px #0002}.skip-link:focus{top:12px}.site-header{height:88px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;color:#fff;border-bottom:1px solid #fff4}.brand{display:flex;align-items:center;background:#fff;padding:6px 10px;align-self:stretch}.brand img{width:76px;height:76px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px);font-size:12px;font-weight:500}.site-header nav>a{position:relative}.site-header nav>a:not(.nav-contact):after{content:"";position:absolute;bottom:-7px;left:0;width:0;height:1px;background:#fff;transition:.25s}.site-header nav>a:hover:after,.site-header nav>a:focus-visible:after{width:100%}.nav-contact{border:1px solid #fff8;padding:10px 15px}.nav-contact span{margin-left:12px}.menu-toggle{display:none;border:0;background:transparent;color:inherit;width:42px;height:42px;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:6px auto;transition:.25s}
.hero{height:min(920px,100svh);min-height:720px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-img{object-position:center}.hero-shade{background:linear-gradient(90deg,#031d2dda 0%,#031d2d9e 38%,#00000012 74%),linear-gradient(0deg,#02131f80,transparent 55%)}.hero-content{position:relative;z-index:2;margin-left:clamp(24px,9vw,150px);margin-top:70px;width:min(720px,75vw)}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--sage);margin:0 0 24px}.eyebrow.light{color:#e0c98e}.hero h1,.section h2,.visual-break h2{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.03em;margin:0}.hero h1{font-size:clamp(66px,8vw,128px)}em{font-weight:400;color:var(--gold)}.hero-lead{max-width:590px;font-size:18px;color:#ffffffe0;margin:30px 0 38px}.hero-actions{display:flex;gap:34px;align-items:center}.btn{display:inline-flex;gap:12px;justify-content:center;align-items:center;padding:14px 21px;text-transform:uppercase;font-size:10px;letter-spacing:.15em;font-weight:600;transition:.25s;border:1px solid}.btn-light{background:#fff;color:var(--navy);border-color:#fff}.btn-light:hover,.btn-light:focus-visible{background:transparent;color:#fff}.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--blue);border-color:var(--blue)}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:600;border-bottom:1px solid var(--navy);padding-bottom:6px}.text-link.light{border-color:#fff8}.hero-proof{position:absolute;z-index:2;right:clamp(24px,5vw,80px);bottom:42px;display:flex;gap:18px;align-items:center}.hero-proof strong{font:400 27px var(--serif);color:#e0c98e}.hero-proof span{border-left:1px solid #fff6;padding-left:18px;font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em}
.section{padding:120px clamp(24px,8vw,140px);position:relative}.section-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border-top:1px solid var(--line);padding-top:14px;margin-bottom:66px}.section h2{font-size:clamp(43px,5.1vw,76px)}.intro-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);gap:clamp(45px,8vw,130px);align-items:end}.intro-text p{color:var(--muted);margin:0 0 20px}.intro-text .text-link{margin-top:14px}.numbers{margin-top:95px;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.numbers div{padding:33px 22px;border-right:1px solid var(--line)}.numbers div:first-child{padding-left:0}.numbers div:last-child{border:0}.numbers strong{display:block;font:400 54px var(--serif);color:var(--navy);line-height:1.1}.numbers span{text-transform:uppercase;font-size:9px;letter-spacing:.14em;color:#748188}.dark{background:var(--deep);color:#fff}.dark .section-label{border-color:#fff3}.section-head,.values-intro,.contact-top{display:grid;grid-template-columns:2fr 1fr;gap:70px;align-items:end}.section-head>p,.values-intro>p,.contact-top>p{color:var(--muted);margin:0 0 5px}.dark .section-head>p{color:#ffffffa3}.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:76px;border-top:1px solid #fff4}.expertise-grid article{padding:34px 24px 15px 0;border-right:1px solid #fff3;margin-right:24px}.expertise-grid article:last-child{border:0}.expertise-grid span{color:#e0c98e;font-size:10px}.expertise-grid h3{font:400 35px var(--serif);margin:48px 0 18px}.expertise-grid p{font-size:13px;color:#ffffff99}.hotel-list{margin-top:72px;border-top:1px solid var(--line)}.hotel-list article{display:grid;grid-template-columns:50px 1fr 125px 120px;gap:24px;align-items:center;padding:27px 14px 27px 0;border-bottom:1px solid var(--line);transition:.25s}.hotel-list article:hover{padding-left:14px;background:#fff}.hotel-num{font-size:10px;color:var(--gold)}.hotel-list small{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--sage)}.hotel-list h3{font:400 25px var(--serif);margin:3px 0}.hotel-list b{font-weight:500;font-size:11px;color:#738087}.hotel-list a{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0}.hotel-list a span{font-size:16px}.values{background:var(--cream)}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:70px}.values-grid article{background:var(--paper);padding:34px 26px;min-height:225px}.values-grid span{display:block;font-size:10px;color:var(--gold);margin-bottom:38px}.values-grid strong{font:400 28px var(--serif);color:var(--navy)}.values-grid p{font-size:13px;color:var(--muted);margin-top:24px}.projects{background:var(--paper)}.project-card{background:var(--navy);color:#fff;padding:clamp(40px,6vw,88px);display:grid;grid-template-columns:1.35fr 1fr;gap:90px}.project-card h2{font-size:clamp(41px,5vw,67px)}.project-card p:not(.eyebrow){color:#ffffffa8;max-width:600px;margin:30px 0}.project-lines{display:flex;flex-direction:column;justify-content:center}.project-lines span{padding:19px 0;border-bottom:1px solid #fff3;font:400 20px var(--serif)}
.visual-break{height:620px;position:relative;overflow:hidden;color:#fff}.visual-break>img{width:100%;height:100%;object-fit:cover}.visual-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#031d2dbd,transparent 70%)}.visual-break>div{position:absolute;z-index:1;left:clamp(24px,8vw,140px);top:50%;transform:translateY(-50%)}.visual-break h2{font-size:clamp(56px,7vw,100px)}.careers{background:var(--deep);color:#fff;padding-block:95px}.careers-inner{max-width:900px;margin:auto;text-align:center}.careers h2{font-size:clamp(44px,5vw,70px)}.careers p:not(.eyebrow){max-width:650px;margin:30px auto;color:#ffffffad}.contact-top{margin-bottom:65px}.contact-grid{display:grid;grid-template-columns:1.7fr .8fr;gap:70px;align-items:center}.contact-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-gallery figure{margin:0;overflow:hidden;aspect-ratio:1.15/1}.contact-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.contact-gallery figure:hover img{transform:scale(1.025)}.contact-details{border-left:1px solid var(--line);padding-left:48px}.contact-details div{margin-bottom:28px}.contact-details small{text-transform:uppercase;letter-spacing:.15em;color:var(--gold);font-size:9px}.contact-details p,.contact-details a{font-size:14px}.contact-details div a{border-bottom:1px solid}.contact-details .btn{margin-top:18px}footer{padding:32px clamp(24px,8vw,140px);background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:85px 1fr auto;align-items:center;gap:34px}footer img{width:70px}footer div{display:flex;flex-direction:column;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#78858d}footer>a:last-child{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.site-header nav{display:none;position:fixed;top:0;inset-inline:0;height:100svh;background:var(--deep);padding:130px 35px 50px;flex-direction:column;align-items:flex-start;gap:24px;font-size:20px}.site-header nav.open{display:flex}.site-header nav>a:not(.nav-contact):after{display:none}.nav-contact{margin-top:10px}.menu-toggle{display:block;z-index:2}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.section{padding:90px 35px}.intro-layout,.section-head,.values-intro,.contact-top{grid-template-columns:1fr}.expertise-grid,.values-grid{grid-template-columns:1fr 1fr}.project-card{grid-template-columns:1fr;gap:55px}.hero-proof{display:none}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-details{border:0;border-top:1px solid var(--line);padding:35px 0 0}}
@media(max-width:650px){html{scroll-padding-top:72px}.site-header{height:74px;padding:0 18px}.brand img{width:61px;height:61px}.hero{height:760px;min-height:0}.hero-img{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#031d2de8 0%,#031d2d9c 70%,#0002),linear-gradient(0deg,#02131f90,transparent 60%)}.hero-content{width:auto;margin:60px 22px 0}.hero h1{font-size:56px}.hero-lead{font-size:15px;line-height:1.7}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.section{padding:72px 22px}.section-label{margin-bottom:44px}.section h2{font-size:41px}.intro-layout{gap:35px}.numbers{grid-template-columns:1fr 1fr;margin-top:62px}.numbers div:nth-child(2){border-right:0}.numbers div:nth-child(-n+2){border-bottom:1px solid var(--line)}.numbers strong{font-size:43px}.expertise-grid,.values-grid{grid-template-columns:1fr}.expertise-grid article{margin:0;border-right:0;border-bottom:1px solid #fff3;padding-right:0}.hotel-list article{grid-template-columns:30px 1fr;gap:10px;padding:23px 0}.hotel-list article:hover{padding-left:0}.hotel-list b{display:none}.hotel-list h3{font-size:21px;line-height:1.2}.hotel-list a{grid-column:2;width:max-content;gap:15px}.project-card{padding:38px 25px}.visual-break{height:500px}.visual-break>img{object-position:62% center}.careers{padding-block:75px}.contact-gallery{grid-template-columns:1fr}.contact-gallery figure{aspect-ratio:1.45/1}footer{grid-template-columns:68px 1fr;padding-inline:22px}footer>a:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.contact-gallery img{transition:none}}

/* Identité A&J et pages légales */
.brand{padding:4px 10px}.brand img{width:105px;height:80px;object-fit:contain}
.footer-brand img{width:125px;height:125px;object-fit:contain}.legal-links{margin-top:7px;color:var(--gold);letter-spacing:.08em}.legal-links a{text-decoration:underline;text-underline-offset:3px}
.legal-page{padding:150px clamp(24px,12vw,220px) 100px;max-width:1200px;margin:auto}.legal-page h1{font:400 clamp(48px,7vw,86px)/1 var(--serif);margin:0 0 60px}.legal-page h2{font:400 30px/1.2 var(--serif);margin:45px 0 14px;color:var(--navy)}.legal-page p,.legal-page li{color:var(--muted)}.legal-page a{text-decoration:underline;text-underline-offset:3px}.legal-header{position:relative;background:#fff;color:var(--navy);border-bottom:1px solid var(--line)}.legal-header .brand{background:#fff}.legal-back{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.legal-date{font-size:12px;color:var(--gold);margin-bottom:20px}
@media(max-width:650px){.brand img{width:82px;height:66px}.footer-brand img{width:95px;height:95px}.legal-page{padding:115px 22px 70px}.legal-page h1{font-size:46px}}
