:root{--bg:#111618;--ink:#141b1e;--light:#f1efe9;--soft:#ebe8e1;--muted:#aab1b3;--orange:#db9652;--gold:#e7b272;--rule:#313a3b;--font:Manrope,'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--light);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #e8a25b;outline-offset:3px}.wrap{width:min(1220px,calc(100% - 72px));margin:auto}.skip{position:absolute;left:16px;top:-65px;padding:12px;background:white;z-index:999}.skip:focus{top:12px}.topbar{position:sticky;top:0;z-index:80;background:#111618f7;color:#f2f3ef;border-bottom:1px solid #374043;backdrop-filter:blur(15px)}.navwrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brandmark{width:41px;height:41px;border:2px solid #cc8d4b;transform:skewX(-13deg);display:grid;place-items:center}.brandmark span{color:var(--orange);font-size:25px;font-weight:800;transform:skewX(13deg);line-height:1}.brandtext{font-weight:800;font-size:22px;letter-spacing:3px;line-height:1.1}.brandtext small{display:block;margin-top:4px;font-weight:600;font-size:8px;letter-spacing:2.1px;color:#c5bdaf}.nav{display:flex;align-items:center;gap:29px}.nav a{font-size:12px;font-weight:650;color:#cbd0cf;transition:.2s}.nav a:hover{color:var(--gold)}.nav .navbtn{padding:13px 17px;border:1px solid #bb824d;color:white!important;display:flex;gap:24px}.navbtn span{color:var(--gold)}.mobile-toggle{display:none;background:transparent;border:0;width:43px;padding:10px}.mobile-toggle span{height:2px;background:#e9e1d5;display:block;margin:5px}.hero{background:#121819;color:#f3f0e9;position:relative;overflow:hidden}.hero-gridlines{position:absolute;inset:0;pointer-events:none;opacity:.42;background:linear-gradient(90deg,transparent 15%,#2930343d 15.05%,transparent 15.1%,transparent 50%,#2930343d 50.05%,transparent 50.1%,transparent 85%,#2930343d 85.05%,transparent 85.1%),linear-gradient(0deg,transparent 33%,#2930343a 33.04%,transparent 33.1%,transparent 66%,#2930343a 66.04%,transparent 66.1%)}.hero::before{content:"";position:absolute;width:700px;height:650px;border-radius:50%;background:radial-gradient(circle,#a65b272d,transparent 70%);right:-190px;top:-150px}.hero-inner{position:relative;display:grid;grid-template-columns:1fr .88fr;align-items:center;min-height:648px;gap:34px}.hero-content{padding:82px 0 93px;z-index:1}.eyebrow,.micro{font-size:11px;letter-spacing:2.1px;font-weight:800}.eyebrow{display:flex;gap:12px;align-items:center;color:#d8a26b}.orangeline{display:inline-block;width:28px;height:2px;background:#d2945b}.hero h1{font-size:clamp(42px,4.6vw,71px);letter-spacing:-3px;line-height:1.13;margin:28px 0;font-weight:800;max-width:680px}.hero h1 em{font-style:normal;color:var(--gold)}.hero-lead{max-width:536px;font-size:16px;color:#b8bdbc;line-height:1.85}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:35px 0 55px}.btn{border:0;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 22px;min-height:52px;font-size:12px;font-weight:800;letter-spacing:.1px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:#d89a5e;color:#1c1814}.btn-primary:hover{background:#efb779}.btn-outline{border:1px solid #636361;color:white;background:transparent}.btn-outline:hover{background:#283031}.hero-foot{display:flex;gap:11px;flex-wrap:wrap;align-items:center;color:#c3c4bd;font-size:10px;font-weight:700;line-height:1.6}.hero-foot b{color:#776f67}.mini-gold{color:var(--gold)}.pipe{width:1px;height:13px;background:#5b6060;margin:0 6px}.hero-art{height:415px;position:relative;align-self:center;background:linear-gradient(151deg,#293034 0%,#151b1c 55%,#24292b 100%);border:1px solid #485054;box-shadow:24px 27px 0 #1f2425,0 30px 80px #0005;overflow:hidden}.hero-art::before{content:"";position:absolute;inset:-50%;background:repeating-linear-gradient(120deg,transparent 0 55px,#a8734430 56px,transparent 57px);transform:rotate(-5deg)}.hero-art-top{position:absolute;top:30px;left:28px;font-size:10px;letter-spacing:2px;line-height:1.7;color:#b8ad9d}.hero-art-top b{font-size:16px;color:#e8c29a;letter-spacing:1px}.carline{position:absolute;width:117%;left:-6%;bottom:8px;filter:drop-shadow(0 12px 20px #000a)}.art-bottom{position:absolute;bottom:20px;left:28px;right:28px;display:flex;justify-content:space-between;letter-spacing:2px;color:#b4a397;font-size:9px}.herostripe{height:5px;background:linear-gradient(90deg,#744220,#da985b,#f7bd73,#7e4b2a)}.section-compact{padding:64px 0}.manifesto{background:#d6a46f;color:#24211e}.manifesto-grid{display:grid;grid-template-columns:160px 1.45fr 1fr;gap:42px;align-items:start}.manifesto .micro{margin:9px 0;color:#6b4226}.manifesto h2{font-size:clamp(24px,2.35vw,37px);letter-spacing:-1.3px;line-height:1.4;margin:0;font-weight:800}.manifesto h2 span{color:#70523a}.manifesto p:last-child{line-height:1.85;font-size:13px;margin:5px 0}.section{padding:108px 0}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.section-head h2,.territories h2,.about h2,.quote h2{font-size:clamp(34px,3.65vw,56px);font-weight:800;line-height:1.16;letter-spacing:-2.4px;margin:19px 0 0}.section-head h2 span,.territories h2 span,.about h2 span{color:#a96b39}.section-head>.wrap{max-width:400px}.section-head>p{font-size:14px;line-height:1.8;color:#596064;max-width:365px;margin:0}.micro{color:#a57244;margin:0}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.service-card{border:1px solid #d7d3cb;background:#f9f8f4;min-height:510px;padding:25px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s}.service-card:hover{transform:translateY(-7px);border-color:#c28c54;box-shadow:0 18px 38px #2d251518}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-number{color:#866d57;font-size:9px;letter-spacing:1px;font-weight:800}.card-symbol{font-size:19px;color:#bd7c41}.card-icon{height:91px;display:flex;align-items:center;color:#b17645;font-size:53px;font-weight:400}.service-card h3{font-size:25px;line-height:1.2;margin:0;font-weight:800;letter-spacing:-1px}.service-card h3 em{font-style:normal;color:#a56b3d}.service-card h3 small{display:block;font-size:10px;letter-spacing:2px;margin:8px 0 0;font-weight:800;color:#826347}.service-card>p{font-size:12px;line-height:1.8;color:#606666;min-height:80px;margin:20px 0 0}.service-card ul{list-style:none;margin:12px 0 27px;padding:0;flex:1}.service-card li{font-size:11px;line-height:1.6;border-top:1px solid #e5e3dd;padding:8px 0;color:#394143}.service-card li::before{content:"+";color:#ab703e;margin-right:8px;font-weight:800}.card-link{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;color:#9e6433;border-top:1px solid #cdbca8;padding-top:17px}.card-link span{font-size:19px}.approach{background:#141c1e;color:#f6f3ec}.approach .section-head>p{color:#a7b1b1}.approach .section-head h2 span{color:#dca46b}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:64px}.step{padding-top:27px;border-top:1px solid #596268}.step>span{font-size:45px;font-weight:800;color:#b17847;letter-spacing:-4px}.step h3{font-size:21px;margin:24px 0 12px}.step p{font-size:13px;line-height:1.9;color:#a6b1b3;max-width:235px}.territories{background:#eeeae2}.territories-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.territories h2{margin-bottom:24px}.territories p:not(.micro){line-height:1.9;font-size:14px;color:#586164;max-width:520px}.territory-chips{display:flex;flex-wrap:wrap;gap:8px;margin:33px 0}.territory-chips span{border:1px solid #b8aa98;padding:12px 15px;font-weight:800;color:#7c562e;font-size:10px;letter-spacing:1px}.territories .note-area{font-size:11px!important;border-left:3px solid #ca8c4e;padding-left:15px;line-height:1.8!important}.territory-art{height:390px;position:relative;background:#192124;overflow:hidden;box-shadow:16px 18px 0 #ddd4c8}.territory-art:before{content:"";inset:0;position:absolute;background:repeating-linear-gradient(0deg,transparent 0 44px,#545e5c29 45px),repeating-linear-gradient(90deg,transparent 0 44px,#545e5c29 45px)}.radar{position:absolute;border:1px solid #c0874650;border-radius:50%;width:300px;height:300px;top:43px;left:calc(50% - 150px)}.ring2{transform:scale(.65)}.ring3{transform:scale(.28)}.island-point{position:absolute;color:#e4c39b;font-size:10px;letter-spacing:1px;font-weight:800;display:flex;align-items:center;gap:9px}.island-point i{display:block;width:9px;height:9px;background:#da9954;border:2px solid #eac191;border-radius:50%;box-shadow:0 0 0 7px #da99542a}.point-1{left:27%;top:26%}.point-2{right:13%;top:43%}.point-3{left:36%;bottom:24%}.maplabel{position:absolute;bottom:22px;right:25px;font-size:12px;color:#fff;letter-spacing:1.4px;text-align:right;font-weight:800}.maplabel small{font-size:8px;letter-spacing:1.5px;color:#b59676}.about{background:#f8f6f2}.about-grid{display:grid;grid-template-columns:.9fr 1fr;gap:100px;align-items:center}.about-mark{height:440px;background:#1a2225;display:flex;flex-direction:column;justify-content:center;align-items:center;border:15px solid #253034;outline:1px solid #a57647;outline-offset:-41px;gap:24px;color:#d9bb90;box-shadow:22px 22px 0 #e2dfd8}.about-mark strong{font-size:clamp(80px,12vw,155px);line-height:1;color:#e5a866;letter-spacing:-10px;font-weight:800}.about-mark span{font-size:9px;letter-spacing:2px;font-weight:800}.about-grid p:not(.micro){font-size:14px;color:#596163;line-height:1.95}.about h2{margin-bottom:30px}.text-link{display:inline-flex;gap:40px;border-bottom:1px solid #aa7949;color:#96603b;padding:17px 0;font-size:12px;font-weight:800;margin-top:15px}.appointment{background:#e7e1d7}.appointment-shell{display:grid;grid-template-columns:1fr 1.4fr;background:#fff;border:1px solid #ded6ca;box-shadow:0 20px 38px #27201916}.appointment-intro{padding:45px;background:#1c2527;color:#fff}.appointment-icon{font-size:45px;color:#db9a56}.appointment-intro h3{font-size:26px;letter-spacing:-1px}.appointment-intro p{font-size:13px;line-height:1.9;color:#b7bdbb}.appointment-fact{font-size:12px;color:#e2c19e;margin:16px 0;font-weight:700}.appointment-intro small{display:block;margin-top:55px;color:#adb4b4;font-size:10px;line-height:1.8}.appointment-form{padding:48px}.appointment-form>label{display:block;font-size:12px;font-weight:800;margin:0 0 12px}.appointment-form select,.quote-panel select,.quote-panel input:not([type=checkbox]),.quote-panel textarea,.booking-confirm input:not([type=checkbox]){width:100%;padding:15px 14px;background:white;border:1px solid #d2d3d0;border-radius:0;outline-offset:0;color:#273032;font-size:12px;min-height:50px}.appointment-form select:focus,.quote-panel input:focus,.quote-panel textarea:focus,.booking-confirm input:focus{border-color:#bc8349;outline:1px solid #bc8349}.appointment-form>.btn{margin-top:18px}.feedback{font-size:12px;line-height:1.6;margin-top:16px;color:#5d625b}.feedback.error{color:#a42f25}.feedback.ok{color:#247d58}.slots{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.slot-option{background:#f7f4ed;border:1px solid #bcaa95;padding:9px 11px;color:#654e39;font-size:11px;font-weight:700}.slot-option.active{background:#d89a5e;color:#20180f;border-color:#d89a5e}.booking-confirm{margin:22px 0 0;padding-top:20px;border-top:1px solid #e0d9d0}.booking-confirm h4{margin:0 0 16px}.booking-confirm .field{margin-bottom:14px}.booking-confirm .field label{font-size:11px;display:block;margin-bottom:6px;font-weight:800}.booking-confirm>.btn{margin-top:17px}.appointment-fallback{color:#5b5f5d;font-size:12px;margin:25px 0 0}.appointment-fallback a{color:#b57439;font-weight:800}.consent-inline{display:flex;align-items:start;gap:10px;font-size:11px;line-height:1.5}.quote{background:#11191b;color:#fff}.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:105px;align-items:start}.quote h2{font-size:clamp(39px,4.1vw,63px);margin:22px 0}.quote h2 span{color:#dca66d}.quote-left>p:not(.micro){line-height:1.95;font-size:14px;color:#b1b9b8;max-width:490px}.quote-points{margin-top:58px;display:grid;gap:17px}.quote-points span{font-size:11px;color:#c4c7c0;display:flex;align-items:center;gap:15px}.quote-points i{font-style:normal;color:#cb8f4f;letter-spacing:1.3px}.quote-panel{background:#f4f2ed;color:#172022;padding:38px}.quote-header h3{font-size:24px;letter-spacing:-1px;margin:0}.quote-header p{font-size:11px;color:#65706d;margin-bottom:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.full{grid-column:1/-1}.form-field label{font-size:11px;font-weight:800;color:#39413e}.quote-panel textarea{resize:vertical;min-height:110px}.quote-panel .btn{margin-top:22px;width:100%}.quote-panel .check{display:flex;gap:9px;align-items:flex-start;grid-column:1/-1;font-size:11px;color:#555c5b;line-height:1.6}.quote-panel .check input{margin-top:3px}.quote-panel .loading-field{color:#737a76;font-size:12px}.footer{background:#101618;color:#f3f1eb}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;padding:65px 0;border-bottom:1px solid #384144}.footer-logotype{font-size:44px;font-weight:800;letter-spacing:-3px;color:#e3a366}.footer-logotype span{font-size:13px;vertical-align:top;letter-spacing:0}.footer-brand p{font-size:12px;color:#b7bbba;line-height:1.8}.footer-col{display:flex;flex-direction:column;gap:12px}.footer-col strong{color:#d6a36a;font-size:10px;letter-spacing:2px;margin:8px 0 16px}.footer-col a,.footer-col span{color:#bcc3c1;font-size:11px}.footer-col a:hover{color:#e4ac6e}.footer-col small{color:#8f9695;font-size:10px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:23px 0;color:#8d9998;font-size:10px;line-height:1.6}.footer-bottom a{color:#cb9257}@media(max-width:1140px){.nav{gap:17px}.nav a{font-size:11px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:440px}.manifesto-grid{grid-template-columns:1fr 2fr}.manifesto-grid>p:last-child{grid-column:2}.hero-inner{grid-template-columns:1fr .78fr}.hero h1{font-size:52px}.quote-grid{gap:50px}}@media(max-width:800px){.wrap{width:min(100% - 36px,1220px)}.navwrap{height:72px}.mobile-toggle{display:block}.nav{position:absolute;left:0;right:0;top:72px;background:#172022;display:none;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #394445;padding:14px 18px 24px;box-shadow:0 15px 22px #0004}.nav.open{display:flex}.nav a{padding:14px;font-size:13px}.nav .navbtn{margin-top:10px;justify-content:space-between}.hero-inner{display:block;min-height:0}.hero-content{padding:68px 0 30px}.hero h1{font-size:clamp(39px,8vw,60px);letter-spacing:-2px}.hero-art{max-width:580px;height:290px;margin:0 20px 65px 0}.carline{bottom:-39px}.hero-foot{margin-bottom:4px}.section{padding:76px 0}.section-head{display:block}.section-head>p{margin-top:24px}.manifesto-grid{display:block}.manifesto-grid h2{margin:13px 0}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:1fr 1fr}.territories-grid,.about-grid,.quote-grid{grid-template-columns:1fr;gap:45px}.about-mark{max-width:550px}.appointment-shell{grid-template-columns:1fr}.appointment-intro small{margin-top:30px}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/-1}}@media(max-width:560px){.wrap{width:calc(100% - 32px)}.brandtext{font-size:20px}.hero h1{font-size:43px}.hero-lead{font-size:14px}.hero-actions{display:grid;max-width:350px;gap:10px;margin-bottom:34px}.hero-foot{font-size:9px}.hero-art{height:210px;margin-right:8px}.carline{bottom:-50px}.hero-art-top{top:17px;left:19px;font-size:8px}.hero-art-top b{font-size:12px}.art-bottom{left:17px;right:17px}.services-grid{grid-template-columns:1fr}.service-card{min-height:0}.section-head h2,.territories h2,.about h2,.quote h2{font-size:37px;letter-spacing:-1.7px}.manifesto h2{font-size:25px}.steps{grid-template-columns:1fr 1fr;gap:25px}.step>span{font-size:35px}.step h3{font-size:18px}.step p{font-size:11px}.territory-art{height:300px}.about-mark{height:290px}.about-mark strong{font-size:75px}.about-mark span{font-size:8px}.appointment-intro,.appointment-form{padding:28px}.quote-panel{padding:23px}.form-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-col a,.footer-col span{font-size:10px}.footer-bottom{font-size:9px}}


/* CAVA Premium — identité officielle noir profond et or, version 2 */
:root {
  --bg:#050505;
  --ink:#f7f2e7;
  --light:#050505;
  --soft:#101011;
  --muted:#c4bdb0;
  --orange:#e0b765;
  --gold:#e0b765;
  --rule:#3a3327;
}
body { background:#050505; color:#eee9df; }
::selection { background:#e0b765; color:#080808; }
.skip { background:#e0b765; color:#070707; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible { outline-color:#e0b765; }
.topbar { background:rgba(5,5,6,.96); border-bottom:1px solid #3b3022; }
.nav a { color:#ddd6c9; }
.nav a:hover { color:#e0b765; }
.nav .navbtn { border-color:#9a7d44; color:#e0b765 !important; }
.navbtn span { color:#e0b765; }
.brand { gap:11px; }
.brandmark { width:52px; height:52px; border:none; transform:none; display:flex; overflow:hidden; background:#000; border-radius:2px; }
.brandmark img { display:block; width:100%; height:100%; object-fit:cover; }
.brandtext { color:#e0b765; font-size:21px; letter-spacing:2.3px; }
.brandtext small { color:#c5aa71; font-size:8px; letter-spacing:2.7px; }
.hero { background:radial-gradient(ellipse at 73% 52%, #221c10 0%, #0b0b0b 49%, #050505 80%); }
.hero:before { background:radial-gradient(circle,#b8944225,transparent 72%); }
.hero-gridlines { opacity:.23; }
.eyebrow,.micro { color:#e0b765; }
.orangeline { background:#e0b765; }
.hero h1 em, .quote h2 span { color:#e0b765; }
.hero-lead,.hero-foot { color:#ccc4b6; }
.btn-primary { background:#e0b765; color:#13100a; }
.btn-primary:hover { background:#f2d597; }
.btn-outline { border-color:#89774c; color:#efe6d7; }
.btn-outline:hover { background:#222018; }
.hero-art { background:linear-gradient(155deg,#252016,#090a0a 55%,#1b1812); border-color:#755f36; box-shadow:20px 22px 0 #0f0f0f,0 30px 80px #0009; }
.hero-art::before { background:repeating-linear-gradient(120deg,transparent 0 55px,#c29b4320 56px,transparent 57px); }
.hero-art-top b { color:#e9c67b; }
.herostripe { background:linear-gradient(90deg,#4f3b1e,#bf974c,#edcd86,#604923); height:3px; }
.manifesto { background:linear-gradient(115deg,#15130f,#0c0c0d); color:#f0ebe1; border-bottom:1px solid #332d22; }
.manifesto .micro { color:#e0b765; }
.manifesto h2 span { color:#e0b765; }
.manifesto p:last-child { color:#c8c0b2; }
.section-head h2,.territories h2,.about h2,.quote h2 { color:#f5f0e6; }
.section-head h2 span,.territories h2 span,.about h2 span { color:#e0b765; }
.section-head>p { color:#bcb4a9; }
.section#expertises { background:#080808; }
.service-card { background:#101011; border:1px solid #3e372b; }
.service-card:hover { border-color:#e0b765; box-shadow:0 18px 38px #0009; }
.card-number { color:#b8a179; }
.card-symbol, .card-icon { color:#e0b765; }
.service-card h3 { color:#f7f2e9; }
.service-card h3 em { color:#e0b765; }
.service-card h3 small { color:#c9a76c; }
.service-card>p { color:#c5bdb0; }
.service-card li { color:#ddd6cb; border-color:#302d27; }
.service-card li::before { color:#e0b765; }
.card-link { color:#e0b765; border-color:#675639; }
.approach { background:#11100e; }
.approach .section-head h2 span { color:#e0b765; }
.approach .section-head>p,.step p { color:#bcb2a6; }
.step { border-color:#514634; }
.step>span { color:#e0b765; }
.territories { background:#080808; border-top:1px solid #2b261e; }
.territories p:not(.micro) { color:#bfb8ad; }
.territory-chips span { border-color:#675637; color:#e0b765; }
.territories .note-area { border-color:#d3ad68; }
.territory-art { background:#10110f; box-shadow:16px 18px 0 #161411; border:1px solid #4f422c; }
.radar { border-color:#c69b485a; }
.island-point { color:#ebd5a4; }
.island-point i { background:#e0b765; border-color:#f2d99e; box-shadow:0 0 0 7px #cfab5324; }
.about { background:#101011; border-top:1px solid #282319; }
.about-grid p:not(.micro) { color:#c8c0b4; }
.about-mark { background:#000; border:1px solid #695631; outline:1px solid #8b713e; outline-offset:-24px; box-shadow:20px 22px 0 #161513; color:#e0b765; gap:8px; padding:28px; }
.about-mark img { width:min(75%,285px); height:280px; object-fit:contain; }
.about-mark span { text-align:center; color:#dfc38b; }
.text-link { color:#e0b765; border-color:#e0b765; }
.appointment { background:#090909; border-top:1px solid #322b1f; }
.appointment-shell { background:#131313; border-color:#55482c; box-shadow:0 20px 38px #0007; }
.appointment-intro { background:#060607; color:#f3ede1; }
.appointment-icon,.appointment-fact { color:#e0b765; }
.appointment-intro p,.appointment-intro small { color:#bcb5a9; }
.appointment-form { color:#eee9df; }
.appointment-form>label,.booking-confirm .field label,.booking-confirm h4 { color:#eee9df; }
.appointment-form select,.quote-panel select,.quote-panel input:not([type=checkbox]),.quote-panel textarea,.booking-confirm input:not([type=checkbox]) {
  background:#080809; color:#f3eee4; border:1px solid #675737;
}
.appointment-form select:focus,.quote-panel input:focus,.quote-panel textarea:focus,.booking-confirm input:focus { border-color:#e0b765; outline-color:#e0b765; }
select option { background:#0d0d0e; color:#f3eee4; }
input::placeholder,textarea::placeholder { color:#928b7e; }
.feedback { color:#c5bdaf; }
.feedback.error { color:#ff9d93; }
.feedback.ok { color:#a8dbac; }
.slot-option { background:#171611; border-color:#705b3a; color:#e0b765; }
.slot-option.active { background:#e0b765; color:#121008; border-color:#e0b765; }
.booking-confirm { border-color:#4c412e; }
.appointment-fallback { color:#c5bdb0; }
.appointment-fallback a { color:#e0b765; }
.consent-inline { color:#d5cab9; }
.quote { background:linear-gradient(110deg,#050505,#10100e); border-top:1px solid #2e281b; }
.quote-panel { background:#141415; border:1px solid #51432a; color:#f1ebdf; }
.quote-header h3 { color:#f5eddf; }
.quote-header p { color:#bcb4a7; }
.form-field label, .quote-panel .check { color:#d8d0c3; }
.quote-panel .loading-field { color:#c1b8a9; }
.quote-points span { color:#cfc5b4; }
.quote-points i { color:#e0b765; }
.footer { background:#030303; border-top:1px solid #534127; }
.footer-main { border-bottom-color:#3c3427; }
.footer-col strong { color:#e0b765; }
.footer-col a,.footer-col span,.footer-brand p { color:#c4bbad; }
.footer-bottom { color:#ada497; }
.footer-bottom a,.footer-col a:hover { color:#e0b765; }
.footer-brand-lockup { display:flex; gap:14px; align-items:center; }
.footer-brand-lockup img { width:70px; height:70px; object-fit:cover; background:#000; }
.footer-brand-lockup strong { display:block; font-size:26px; font-weight:800; letter-spacing:2px; color:#e0b765; }
.footer-brand-lockup small { display:block; color:#b69b65; font-size:10px; letter-spacing:3px; font-weight:700; }
.mobile-toggle span { background:#e0b765; }
@media(max-width:800px) {
  .nav { background:#0c0c0d; border-top-color:#4a3b24; }
  .brandmark { width:44px;height:44px; }
  .about-mark { box-shadow:12px 14px 0 #191714; }
  .about-mark img { height:220px; }
}
@media(max-width:560px) {
  .brandtext { font-size:19px; }
  .brandtext small { font-size:7px; }
  .footer-brand-lockup img { width:56px;height:56px; }
  .footer-brand-lockup strong { font-size:22px; }
  .about-mark { min-height:280px; }
  .about-mark img { height:190px; }
  .quote-panel { padding:23px; }
}

/* CAVA CONSULTING — contact & conformité */
:root{--font:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.cava-contact{background:#0d0d0d;border-top:1px solid #3d331e}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.cava-contact h2{font-size:clamp(34px,4vw,55px);color:#f3ebda;line-height:1.16;letter-spacing:-2px}
.cava-contact h2 span{color:#e0b765}
.cava-contact p:not(.micro){color:#c9bdae;line-height:1.9;font-size:14px}
.contact-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.contact-badges span{font-size:10px;font-weight:700;padding:8px 10px;border:1px solid #5c4a31;color:#e2c88a}
.contact-panel{border:1px solid #6a5432;background:#151413;padding:37px;display:grid;gap:28px}
.contact-panel>div{border-bottom:1px solid #3e362b;padding-bottom:22px}
.contact-panel>div:last-child{padding-bottom:0;border:0}
.contact-panel small{display:block;color:#bfa168;font-size:10px;letter-spacing:1.4px;font-weight:700;margin-bottom:10px}
.contact-panel a,.contact-panel strong{display:block;color:#f3ecdf;font-size:clamp(18px,2vw,24px);word-break:break-word}
.contact-panel a:hover{color:#e0b765}
.contact-panel p{font-size:11px!important;margin-bottom:0}
.footer-legal{display:flex;gap:14px;flex-wrap:wrap}
.privacy-short{font-size:11px;line-height:1.7;color:#d4cab6;margin-top:20px}
.privacy-short a,.footer-legal a{color:#e0b765;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr;gap:28px}}
@media(max-width:560px){.contact-panel{padding:23px}}
/* Pages juridiques */
.legal-page{background:#070707;min-height:100vh;color:#efe8dd;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
.legal-nav{border-bottom:1px solid #544126;background:#050505;padding:22px 0}
.legal-nav-inner{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}
.legal-nav a{color:#e0b765;font-weight:700;font-size:13px}
.legal-content{max-width:890px;padding:65px 0 90px}
.legal-content h1{font-size:clamp(32px,5vw,52px);color:#e0b765;letter-spacing:-1px;margin:12px 0}
.legal-content h2{font-size:21px;margin:35px 0 12px;color:#ebc982}
.legal-content p,.legal-content li{font-size:14px;color:#d7cfc2;line-height:1.9}
.legal-content a{color:#e0b765;text-decoration:underline}
.legal-status{padding:14px 18px;border-left:3px solid #e0b765;background:#171410;color:#f3deb3!important}
.legal-content ul{padding-left:20px}
.legal-content .pending{color:#ffd090;font-weight:650}
.legal-footer{border-top:1px solid #433524;padding:26px 0 40px;color:#aaa08f;font-size:12px}


/* CAVA v4 — affinage visuel voiture + carte + mentions légales */
.hero-art{
  height:440px;
  border-radius:10px;
}
.carline-premium{
  position:absolute;
  width:118%;
  left:-8%;
  bottom:-6px;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.45));
}
.art-bottom{
  z-index:2;
}
.territory-art{
  height:auto;
  min-height:0;
  border-radius:12px;
  overflow:hidden;
}
.territory-art::before,
.radar,
.island-point,
.maplabel{
  display:none !important;
}
.territory-map-svg{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:760/470;
}
.territories-grid{
  align-items:center;
}
.legal-status{
  padding:14px 16px;
  border:1px solid #6c5a39;
  background:#151310;
  color:#e9ddc7;
}
.pending{color:#d7b67a;font-style:italic;}
@media(max-width:800px){
  .hero-art{height:330px;margin:0 8px 56px 0;}
  .carline-premium{width:128%;left:-14%;bottom:-18px;}
  .territory-map-svg{aspect-ratio:760/520;}
}
@media(max-width:560px){
  .hero-art{height:250px;margin-right:0;}
  .hero-art-top{max-width:160px;}
  .carline-premium{width:142%;left:-21%;bottom:-32px;}
  .art-bottom{font-size:8px;letter-spacing:1.2px;bottom:16px;left:18px;right:18px;}
  .territory-art{border-radius:8px;}
  .territory-map-svg{aspect-ratio:760/560;}
}

/* CAVA Consulting V5: photographically realistic hero, accurate two-region cartography */
.hero-art.hero-art-photo {
  height:420px; position:relative; border-radius:12px; overflow:hidden;
  background:#0b1114; border:1px solid #977845;
  box-shadow:0 24px 74px rgba(0,0,0,.55), 12px 13px 0 rgba(31,26,16,.8);
  isolation:isolate;
}
.hero-art.hero-art-photo:before {display:none;}
.hero-art-photo > img {width:100%;height:100%;display:block;object-fit:cover;object-position:55% 51%; filter:saturate(.96) contrast(1.07);}
.hero-art-photo::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,0) 65%,rgba(0,0,0,.66) 100%);pointer-events:none;z-index:1;}
.hero-art-photo .hero-art-top {z-index:3;top:29px;left:30px;color:#e8dcc5;font-size:11px;letter-spacing:2.0px;text-shadow:0 2px 10px #000;}
.hero-art-photo .hero-art-top span{color:#d6b676;}
.hero-art-photo .hero-art-top b {font-size:16px;letter-spacing:1.25px;color:#f2d393;}
.hero-art-photo .art-bottom {z-index:3;bottom:24px;left:25px;right:25px;color:#efdbad;text-shadow:0 1px 5px #000;font-weight:750;letter-spacing:1.45px;}
.hero-asset-shine{position:absolute;left:-20%;top:0;bottom:0;width:12%;background:linear-gradient(90deg,transparent,rgba(242,207,135,.14),transparent);transform:skewX(-24deg);z-index:2;animation:cavaShine 11s ease-in-out infinite;pointer-events:none;}
@keyframes cavaShine {0%,75%{left:-25%}100%{left:145%}}
@media(prefers-reduced-motion:reduce){.hero-asset-shine{animation:none;display:none;}}
.territories-grid {grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:44px;}
.coverage-geographies {display:grid;grid-template-columns:1fr;gap:15px;min-width:0;}
.geo-panel {overflow:hidden;border:1px solid #594727;border-radius:12px;background:#0a1013;box-shadow:0 12px 36px #0007;}
.geo-panel img{display:block;width:100%;height:auto;aspect-ratio:760/460;object-fit:contain;background:#0a1519;}
.geo-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;background:#111411;border-top:1px solid #433822;}
.geo-caption strong{color:#e2bc72;font-size:10px;letter-spacing:1.35px;}
.geo-caption span{color:#bdb8ad;font-size:10px;text-align:right;}
@media(max-width:800px) {
  .hero-art.hero-art-photo {height:365px;margin:0 6px 55px 0;}
  .territories-grid {grid-template-columns:1fr;gap:30px;}
  .coverage-geographies{grid-template-columns:1fr 1fr;gap:12px;}
  .geo-caption{display:block;}
  .geo-caption span{display:block;text-align:left;margin-top:6px;}
}
@media(max-width:560px) {
  .hero-art.hero-art-photo{height:310px;margin:0 0 48px;border-radius:9px;}
  .hero-art-photo > img{object-position:53% center;}
  .hero-art-photo .hero-art-top{top:15px;left:17px;font-size:9px;}
  .hero-art-photo .hero-art-top b{font-size:12px;}
  .hero-art-photo .art-bottom{font-size:8px;left:14px;right:14px;bottom:13px;letter-spacing:.45px;}
  .coverage-geographies{grid-template-columns:1fr;gap:15px;}
  .geo-caption{padding:13px 16px;}
  .geo-caption strong{font-size:11px;}
  .geo-panel img{aspect-ratio:760/460;}
}

/* CAVA CONSULTING — documents contractuels V6 */
.legal-nav-inner a:first-child{display:flex;align-items:center;gap:12px}
.legal-nav .mini-mark{width:35px;height:35px;flex:0 0 auto;overflow:hidden;display:flex;align-items:center;justify-content:center}
.legal-nav .mini-mark img{height:100%;width:100%;object-fit:cover}
.legal-page .legal-content{max-width:890px;line-height:1.75}
.legal-page .legal-content>h1{letter-spacing:-1.9px;line-height:1.13}
.legal-page .legal-content>.legal-lead{font-size:16px;color:#d5c9b7;line-height:1.7;margin-top:4px}
.legal-page .legal-content section{border-top:1px solid #3d3324;margin-top:33px;padding-top:16px}
.legal-page .legal-content section h2{font-size:clamp(19px,2.5vw,24px);color:#edcb89;letter-spacing:-.6px;margin:14px 0}
.legal-page .legal-content p,.legal-page .legal-content li{line-height:1.85}
.legal-page .legal-content p{margin:13px 0}
.legal-page .legal-content li{margin-bottom:8px}
.legal-page .legal-content a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#8c734d}
.legal-page .legal-content a:hover{color:#f3d69f}
.legal-status{padding:19px 22px!important;margin:28px 0 35px!important;background:#15120d!important;border:1px solid #937444!important;color:#e8dac4!important;border-radius:8px}
.legal-status strong{color:#f3d49a;display:block;margin-bottom:7px}
.legal-status p{font-size:13px;margin:0!important}
.legal-sublinks{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 36px}
.legal-sublinks a{border:1px solid #655339;padding:11px 15px;color:#d6c5a6;text-decoration:none!important;font-size:12px;font-weight:750}
.legal-sublinks a.on{background:#e0b765;color:#131009;border-color:#e0b765}
.legal-page .legal-content .withdraw-model{border:1px solid #77613f;padding:25px;border-radius:8px;background:#110e0b}
.legal-action{display:inline-block;background:#e0b765;color:#17130b!important;padding:13px 16px;font-weight:800;text-decoration:none!important;border-radius:4px}
.legal-footnote{font-size:12px;color:#baad98}
.legal-page .legal-content .legal-sources{font-size:13px}
.legal-version{padding:30px 0 10px;font-size:11px;color:#b1a48f}
.footer-legal{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:560px){.legal-page .legal-content{font-size:13px}.legal-page .legal-content>h1{font-size:32px}.legal-page .legal-content .withdraw-model{padding:15px}.legal-nav-inner{gap:8px}.legal-sublinks a{padding:10px;font-size:11px}}

/* CAVA v9: monogramme épuré et un parcours de contact unique en champagne doré */
.about-mark{background:#070707!important;border:1px solid #685432!important;outline:1px solid #9f7f43!important;outline-offset:-15px!important;box-shadow:16px 18px 0 #1d1913!important;padding:26px!important;min-height:350px;display:flex;align-items:center;justify-content:center;}
.about-mark img{display:block;object-fit:contain!important;max-width:84%!important;max-height:315px!important;width:310px!important;height:auto!important;}
.contact-hub{background:linear-gradient(140deg,#f4e7ca 0%,#e4c992 48%,#eee0c0 100%);color:#211c15;border-top:2px solid #a4834e;padding:90px 0 84px;}
.contact-hub .micro{color:#70522a;}
.contact-hub-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:35px;}
.contact-hub-head h2{font-size:clamp(36px,4.3vw,61px);line-height:1.1;letter-spacing:-2.5px;margin:17px 0 0;color:#171510;}
.contact-hub-head h2 span{color:#896225;}
.contact-hub-head>p{max-width:420px;line-height:1.75;color:#534937;font-size:14px;margin:0;}
.contact-hub-shell{background:#fff9eb;border:1px solid #ae8d54;box-shadow:0 24px 60px #51401f27;}
.contact-hub-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #bb9b66;}
.contact-hub-tab{background:#f7edda;border:0;text-align:left;padding:22px 28px;color:#453924;font-weight:800;font-size:15px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;transition:.15s;min-height:93px;}
.contact-hub-tab+button{border-left:1px solid #c3ab85;}
.contact-hub-tab span{color:#8f672d;font-size:25px;line-height:1;}
.contact-hub-tab small{margin-left:auto;font-size:10px;font-weight:700;color:#705d3e;}
.contact-hub-tab.active{background:#0c0c0c;color:#e2bc72;box-shadow:inset 0 4px 0 #d5ae64;}
.contact-hub-tab.active small{color:#d1bb94;}
.contact-hub-tab.active span{color:#e2bc72;}
.contact-hub .hub-pane[hidden]{display:none!important;}
.contact-hub .appointment-shell{display:grid;grid-template-columns:.75fr 1.25fr;border:0;box-shadow:none;background:#fff9eb;}
.contact-hub .appointment-intro{background:#161510!important;border-right:1px solid #8e764a;color:#f5ebd8;padding:37px;}
.contact-hub .appointment-intro h3{font-size:27px;color:#fff4df;margin:15px 0;}
.contact-hub .appointment-intro p{color:#d5c7ac;}
.contact-hub .appointment-intro small{display:block;margin-top:24px;}
.contact-hub .appointment-form{padding:35px 36px;color:#242018;background:#fff9eb;}
.contact-hub .appointment-form>label,.contact-hub .booking-confirm .field label,.contact-hub .booking-confirm h4{color:#241d11;font-weight:800;}
.contact-hub .appointment-form select,.contact-hub .booking-confirm input:not([type=checkbox]),.contact-hub .booking-confirm textarea{width:100%;max-width:100%;background:#fffefd;color:#241d12;border:1px solid #ad9266;padding:13px 14px;border-radius:0;}
.contact-hub .appointment-form select:focus,.contact-hub .booking-confirm input:focus,.contact-hub .booking-confirm textarea:focus{border-color:#7d561c;outline-color:#a87c35;}
.contact-hub .appointment-form .btn-primary,.contact-hub .quote-panel .btn-primary,.contact-hub .booking-confirm .btn-primary{background:#1a1814;color:#f4d596;border:1px solid #1a1814;}
.contact-hub .appointment-form .btn-primary:hover,.contact-hub .quote-panel .btn-primary:hover{background:#4a3821;color:white;}
.contact-hub .slot-option{color:#523a16;border:1px solid #c0a26e;background:#fffdf5;}
.contact-hub .slot-option.active{background:#1c1a16;color:#ebc378;border-color:#1c1a16;}
.contact-hub .feedback{color:#4f483a;}
.contact-hub .feedback.error{color:#9d2525;}
.contact-hub .feedback.ok{color:#21643b;}
.contact-hub .booking-confirm{border-color:#cbb68c;margin-top:24px;}
.booking-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.booking-confirm .field textarea{resize:vertical;min-height:72px;}
.more-slots-wrap{margin:10px 0 0;}
.more-slots{border:1px solid #ac8a50;background:transparent;color:#6d4b22;padding:10px 13px;font-size:12px;font-weight:800;}
.more-slots[hidden]{display:none!important;}
.contact-hub .privacy-short{color:#574d3c;font-size:11px;}
.contact-hub .privacy-short a,.contact-hub .appointment-fallback a{color:#82571e;text-decoration:underline;text-underline-offset:2px;}
.contact-hub .consent-inline{color:#514738;}
.contact-hub .quote-grid{grid-template-columns:.75fr 1.25fr;gap:40px;padding:39px;align-items:start;}
.contact-hub .quote-left{padding-top:20px;}
.contact-hub .quote-left h3{font-size:clamp(26px,3.1vw,40px);line-height:1.18;letter-spacing:-1.6px;color:#1a1813;margin:8px 0 21px;}
.contact-hub .quote-left h3 span{color:#8a632a;}
.contact-hub .quote-left p{color:#62513b;line-height:1.9;font-size:13px;}
.contact-hub .quote-points{margin-top:28px;gap:15px;}
.contact-hub .quote-points span{color:#594a31;font-size:12px;}
.contact-hub .quote-points i{color:#86622b;}
.contact-hub .quote-panel{border:1px solid #b69a6e;background:#fffdfa;color:#231d14;padding:28px 30px;}
.contact-hub .quote-header h3{color:#271f13;}
.contact-hub .quote-header p{color:#73664f;}
.contact-hub .form-field label,.contact-hub .quote-panel .check{color:#3b3120;}
.contact-hub .quote-panel select,.contact-hub .quote-panel input:not([type=checkbox]),.contact-hub .quote-panel textarea{color:#2b2318;background:#fff;border:1px solid #bba37d;}
.contact-hub .quote-panel input::placeholder,.contact-hub .quote-panel textarea::placeholder{color:#77716b;}
.contact-hub .quote-panel .loading-field{color:#605849;}
.contact-hub-direct{display:flex;gap:28px;justify-content:space-between;align-items:center;padding:30px 1px 0;}
.contact-hub-direct strong,.contact-hub-direct span{display:block;}
.contact-hub-direct strong{font-size:17px;color:#251c0f;margin-bottom:7px;}
.contact-hub-direct span{font-size:12px;color:#59492f;}
.contact-hub-coords{display:flex;gap:18px 32px;flex-wrap:wrap;}
.contact-hub-coords a{font-size:16px;font-weight:800;color:#402c0e;border-bottom:1px solid #86632b;padding-bottom:6px;}
.contact-hub-coords a:hover{color:#97702d;}
@media(max-width:950px){
 .contact-hub-head{display:block;}
 .contact-hub-head>p{margin-top:22px;}
 .contact-hub .quote-grid{grid-template-columns:1fr;gap:23px;}
 .contact-hub .appointment-shell{grid-template-columns:1fr;}
 .contact-hub-direct{display:block;}
 .contact-hub-coords{margin-top:24px;}
}
@media(max-width:560px){
 .about-mark{min-height:260px;height:260px!important;padding:16px!important;}
 .about-mark img{max-height:215px!important;max-width:80%!important;}
 .contact-hub{padding:70px 0;}
 .contact-hub-head h2{font-size:38px;letter-spacing:-1.4px;}
 .contact-hub-tab{min-height:94px;gap:5px;padding:14px 13px;font-size:12px;line-height:1.3;}
 .contact-hub-tab small{margin-left:0;flex-basis:100%;font-size:9px;}
 .contact-hub-tab span{font-size:19px;margin-right:4px;}
 .contact-hub .appointment-intro,.contact-hub .appointment-form{padding:27px 20px;}
 .booking-name-grid{grid-template-columns:1fr;gap:0;}
 .contact-hub .quote-grid{padding:22px 16px;}
 .contact-hub .quote-panel{padding:22px 15px;}
 .contact-hub-coords{display:grid;gap:15px;}
 .contact-hub-coords a{font-size:15px;word-break:break-all;width:fit-content;}
}


/* CAVA V10 — coordonnées et horaires une seule fois, pied de page allégé */
.footer-main { grid-template-columns: minmax(250px, 1.5fr) minmax(130px, 1fr) minmax(155px, 1fr); column-gap:clamp(28px,5vw,86px); row-gap:35px; padding: 58px 0 52px; }
.footer-col .footer-hub-link { color:#e0b765; font-weight:700; border-bottom:1px solid #78603a; padding:10px 0 7px; margin-top:6px; display:inline-flex; align-items:center; align-self:flex-start; gap:20px; font-size:11px; }
.footer-col .footer-hub-link span { font-size:15px; color:#e0b765; }
.footer-bottom { padding:20px 0 25px; }
.appointment-intro .appointment-fact { margin-bottom:17px; }
@media (max-width:800px) {
  .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap:38px 30px; }
  .footer-brand { grid-column:1/-1; }
}
@media (max-width:560px) {
  .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px; padding:42px 0 34px; }
  .footer-brand { grid-column:1/-1; }
  .footer-brand p { margin:10px 0 0; }
  .footer-col { gap:11px; }
  .footer-col strong { margin:8px 0 10px; font-size:9px; }
  .footer-col a,.footer-col span,.footer-col small {font-size:10px; line-height:1.65;}
  .footer-col .footer-hub-link { font-size:10px; margin-top:8px; }
  .footer-bottom { row-gap:16px; padding-bottom:28px; }
}


/* CAVA V11 – L'esprit CAVA : signature horizontale epuree, monogramme + nom */
.about-mark.about-brand-lockup-container {
  background:#060606!important;
  border:1px solid #907447!important;
  outline:none!important;
  padding:clamp(18px,2.8vw,36px)!important;
  min-height:350px;
  box-shadow:16px 18px 0 #181512!important;
}
.about-brand-lockup {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(15px,2vw,28px);
  width:100%;
  max-width:460px;
}
.about-mark.about-brand-lockup-container .about-brand-lockup img {
  display:block;
  width:clamp(112px,34%,170px)!important;
  max-width:40%!important;
  max-height:190px!important;
  height:auto!important;
  object-fit:contain!important;
  flex-shrink:0;
}
.about-brand-wordmark {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  min-width:0;
  color:#e0b765;
}
.about-mark .about-brand-wordmark strong {
  display:block;
  font-size:clamp(31px,3.6vw,56px)!important;
  line-height:1.04!important;
  letter-spacing:.085em!important;
  color:#e0b765!important;
  font-weight:760!important;
  white-space:nowrap;
}
.about-mark .about-brand-wordmark span {
  display:block;
  margin-top:11px;
  font-size:clamp(10px,1.14vw,14px)!important;
  line-height:1.3;
  letter-spacing:.31em!important;
  font-weight:700;
  color:#dfc58e;
  white-space:nowrap;
}
@media(max-width:800px){
  .about-mark.about-brand-lockup-container {max-width:550px;min-height:300px;}
  .about-mark .about-brand-wordmark strong {font-size:clamp(37px,6vw,52px)!important;}
}
@media(max-width:560px){
  .about-mark.about-brand-lockup-container{height:260px!important;min-height:260px!important;padding:16px!important;box-shadow:10px 12px 0 #191714!important;}
  .about-brand-lockup {gap:12px;}
  .about-mark.about-brand-lockup-container .about-brand-lockup img {width:112px!important;max-width:38%!important;max-height:130px!important;}
  .about-mark .about-brand-wordmark strong {font-size:clamp(29px,8.5vw,39px)!important;letter-spacing:.065em!important;}
  .about-mark .about-brand-wordmark span {font-size:10px!important;letter-spacing:.205em!important;margin-top:6px;}
}


/* V13 – L'esprit CAVA : typographie centrée, retrait du liseré parasite du fichier logo */
.about-mark.about-brand-lockup-container .about-brand-wordmark {
  align-items:center;
  text-align:center;
  width:max-content;
  max-width:100%;
  flex:0 1 auto;
}
.about-mark.about-brand-lockup-container .about-brand-wordmark strong,
.about-mark.about-brand-lockup-container .about-brand-wordmark span {
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.about-mark.about-brand-lockup-container .about-brand-wordmark span {
  align-self:stretch;
  width:100%;
  letter-spacing:.34em!important;
  margin-top:8px;
  padding-left:.34em;
  box-sizing:border-box;
}
.about-mark.about-brand-lockup-container .about-brand-lockup img {
  border:0!important;
  box-shadow:none!important;
}
@media(max-width:560px){
  .about-mark.about-brand-lockup-container .about-brand-wordmark span {
    letter-spacing:.22em!important;
    padding-left:.22em;
    margin-top:6px;
  }
}


/* V14 — CAVA offres : carrousel horizontal sur smartphone */
.services-swipe-hint,.services-carousel-nav,.services-mobile-cta {display:none}
@media(max-width:600px) {
  #expertises .section-head {margin-bottom:22px}
  .services-swipe-hint {
    display:flex;align-items:center;justify-content:center;gap:8px;
    color:#d6b878;font-size:11px;font-weight:700;line-height:1.5;
    letter-spacing:.03em;margin:0 0 15px;text-align:center
  }
  .services-swipe-hint span {color:#e0b765;font-size:16px}
  #servicesCarousel {
    display:grid;grid-auto-flow:column;grid-template-columns:none;
    grid-auto-columns:calc(100% - 28px);gap:12px;
    overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;scroll-padding-inline:2px;
    overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;padding:3px 2px 12px
  }
  #servicesCarousel::-webkit-scrollbar {display:none}
  #servicesCarousel .service-card {
    width:100%;min-width:0;min-height:0;height:100%;
    padding:22px;scroll-snap-align:start;scroll-snap-stop:always;
    transform:none
  }
  #servicesCarousel .service-card:hover {transform:none}
  #servicesCarousel .card-icon {height:66px;font-size:43px}
  #servicesCarousel .service-card>p {min-height:0;margin-top:14px}
  #servicesCarousel .service-card ul {margin:10px 0 22px}
  #servicesCarousel .service-card li {padding:7px 0}
  .services-carousel-nav {
    display:flex;align-items:center;justify-content:center;gap:14px;
    margin-top:11px;min-height:40px
  }
  .services-carousel-arrow {
    display:grid;place-items:center;flex:0 0 36px;height:36px;
    border:1px solid #947748;border-radius:50%;
    background:#161310;color:#e0b765;font-size:20px
  }
  .services-carousel-arrow:disabled {opacity:.35;cursor:default}
  .services-carousel-dots {display:flex;align-items:center;justify-content:center;gap:9px}
  .services-carousel-dot {
    width:9px;height:9px;border:0;border-radius:20px;
    background:#786a50;padding:0;transition:width .18s,background .18s
  }
  .services-carousel-dot.active {width:24px;background:#e0b765}
  .services-carousel-count {color:#cdbb97;font-size:11px;white-space:nowrap;font-weight:750}
  .services-mobile-cta {
    display:flex;justify-content:space-between;align-items:center;
    min-height:50px;margin:18px 0 0;padding:13px 17px;
    background:#e0b765;color:#18130b;font-size:12px;font-weight:800
  }
}
@media(prefers-reduced-motion:reduce) {
  #servicesCarousel {scroll-behavior:auto}
  .services-carousel-dot {transition:none}
}


/* CAVA CARTE OFFICIELLE — VERSION 16 : charte des cartes de visite */
:root { --cava-card-gold: #caad70; }
.brand { gap: 10px; }
.brandmark { width:50px; height:50px; flex:0 0 50px; transform:none; background:transparent; border:0; overflow:visible; }
.brandmark img { display:block; width:100%; height:100%; object-fit:contain; }
.brandtext { display:flex; flex-direction:column; align-items:center; color:var(--cava-card-gold); font-size:20px; font-weight:650; letter-spacing:.075em; line-height:1; white-space:nowrap; }
.brandtext small { display:block; margin-top:6px; font-size:8px; letter-spacing:.32em; color:var(--cava-card-gold); font-weight:650; line-height:1.2; }
.about-mark.about-brand-lockup-container { overflow:hidden; padding:clamp(18px,2vw,30px)!important; background:#1f1e1e!important; }
.about-mark.about-brand-lockup-container img.official-about-logo { display:block!important; width:min(95%,440px)!important; max-width:95%!important; max-height:330px!important; height:auto!important; margin:auto!important; object-fit:contain!important; border:0!important; box-shadow:none!important; }
.footer-brand-lockup { align-items:center; gap:15px; }
.footer-brand-lockup img { width:75px; height:75px; object-fit:contain; background:transparent; }
.footer-brand-lockup strong { color:var(--cava-card-gold); font-size:26px; font-weight:650; letter-spacing:.08em; line-height:1.05; }
.footer-brand-lockup small { color:var(--cava-card-gold); font-size:10px; letter-spacing:.36em; margin-top:6px; }
.footer-brand-subtitle { display:block; font-style:normal; color:#e1dbd1; font-size:10px; letter-spacing:0; margin-top:8px; white-space:normal; }
@media (max-width:800px) { .brandmark { width:43px; height:43px; flex-basis:43px; } .brandtext { font-size:18px; } }
@media (max-width:560px) { .brand { gap:7px; } .brandmark { width:37px; height:37px; flex-basis:37px; } .brandtext { font-size:16px; letter-spacing:.035em; } .brandtext small { font-size:7px; letter-spacing:.24em; margin-top:4px; } .about-mark.about-brand-lockup-container { height:280px!important; min-height:280px!important; padding:14px!important; } .about-mark.about-brand-lockup-container img.official-about-logo { max-height:240px!important; width:95%!important; } .footer-brand-lockup img {width:58px; height:58px;} .footer-brand-lockup strong { font-size:21px; } .footer-brand-lockup small { font-size:8px; letter-spacing:.27em; } .footer-brand-subtitle { font-size:9px; } }

/* V17 — L'esprit CAVA : masquer uniquement la baseline des cartes de visite */
/* L'image officielle reste intacte ; seule sa dernière ligne est masquée à l'affichage dans cette section. */
.about-mark.about-brand-lockup-container img.official-about-logo { clip-path: inset(0 0 9% 0)!important; }


/* V18 — L'esprit CAVA : cadre net sans faux reflet ni décalage */
#apropos .about-mark.about-brand-lockup-container {
  box-shadow:none!important;
  outline:none!important;
  filter:none!important;
  transform:none!important;
  border:1px solid #907447!important;
  margin-inline:auto;
}
#apropos .about-mark.about-brand-lockup-container::before,
#apropos .about-mark.about-brand-lockup-container::after {
  box-shadow:none!important;
}


/* V19 — Aligner CONSULTING sous C.A.V.A dans l'en-tête mobile */
@media (max-width:800px) {
  .topbar .brandtext {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    width:max-content;
  }
  .topbar .brandtext small {
    display:block;
    align-self:stretch;
    width:100%;
    text-align:center;
    box-sizing:border-box;
    margin-left:0;
    margin-right:0;
    padding-left:.32em;
    padding-right:0;
  }
}
@media (max-width:560px) {
  .topbar .brandtext small {padding-left:.24em;}
}


/* V20 — Alignement gauche exact du sous-titre CONSULTING avec C.A.V.A sur mobile */
@media (max-width: 800px) {
  .topbar a.brand .brandtext {
    display: flex;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: center;
    text-align: left !important;
    width: max-content;
  }
  .topbar a.brand .brandtext small {
    display: block;
    align-self: flex-start !important;
    width: auto !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (max-width: 560px) {
  .topbar a.brand .brandtext small {
    letter-spacing: .19em !important;
  }
}


/* V21 — L'esprit CAVA : doré rehaussé et noir légèrement laqué */
/* Dégradé discret, sans ombre portée ni deuxième cadre. */
#apropos .about-mark.about-brand-lockup-container {
  background: linear-gradient(124deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,0) 34%, rgba(255,255,255,.028) 56%, rgba(255,255,255,0) 77%), linear-gradient(145deg, #050505 0%, #141416 37%, #080809 65%, #101012 85%, #040404 100%) !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Rehausse seulement les lettres et le monogramme de l'image transparente. */
#apropos .about-mark.about-brand-lockup-container img.official-about-logo {
  filter: brightness(1.12) saturate(1.12) !important;
  box-shadow: none !important;
}


/* CAVA V22 — contact direct illustré : téléphone et e-mail */
.contact-hub-direct .contact-hub-coords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,550px);flex:0 1 550px;margin-left:auto;}
.contact-hub-direct .contact-hub-coords a.coord-tile{display:flex;align-items:center;gap:13px;min-width:0;min-height:81px;padding:15px 16px;background:linear-gradient(125deg,#101114 0%,#26211a 60%,#101112 100%);color:#f8f1e5;border:1px solid #8d6c36;border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.10);text-decoration:none;transition:border-color .2s,transform .2s,background .2s;word-break:normal;}
.contact-hub-direct .contact-hub-coords a.coord-tile:hover{color:#fff9ed;border-color:#e9bc72;transform:translateY(-2px);}
.contact-hub-direct .contact-hub-coords .coord-icon{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:50%;border:1px solid #ba9559;background:linear-gradient(140deg,#372b18,#191a1a);color:#eac17f;}
.contact-hub-direct .contact-hub-coords .coord-icon svg{display:block;width:19px;height:19px;}
.contact-hub-direct .contact-hub-coords .coord-copy{display:flex;flex-direction:column;gap:4px;min-width:0;}
.contact-hub-direct .contact-hub-coords .coord-label{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#d4af70;}
.contact-hub-direct .contact-hub-coords .coord-value{display:block;font-size:13px;line-height:1.3;font-weight:800;letter-spacing:0;color:#fff8ec;overflow-wrap:anywhere;}
@media(max-width:950px){.contact-hub-direct{display:block;}.contact-hub-direct .contact-hub-coords{margin:22px 0 0;width:100%;max-width:550px;}}
@media(max-width:560px){.contact-hub-direct .contact-hub-coords{grid-template-columns:1fr;gap:10px;}.contact-hub-direct .contact-hub-coords a.coord-tile{width:100%;min-height:70px;padding:13px 15px;}.contact-hub-direct .contact-hub-coords .coord-value{font-size:14px;}}
