/* MELLIER WEB — Identité premium 2026. Polices : Poppins. */
:root { --navy:#091525; --navy-2:#11253b; --ink:#17233a; --muted:#65738a; --blue:#318cf2; --sky:#63b8fb; --line:#e4ebf4; --pale:#f6f9fe; --white:#fff; --radius:18px; --shadow:0 14px 45px rgba(25,64,117,.09); }
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font-family:'Poppins',sans-serif;color:var(--ink);background:var(--white);font-size:14px;-webkit-font-smoothing:antialiased}
body.mw-menu-locked{overflow:hidden}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}
button{cursor:pointer}img,svg{max-width:100%}img{height:auto;vertical-align:middle}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
::selection{background:#9bd0ff;color:#081726}
.mw-shell{max-width:1360px;margin:0 auto;padding:0 48px}.mw-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mw-skip{position:fixed;top:-80px;left:12px;z-index:999;background:#fff;color:#071421;padding:12px}.mw-skip:focus{top:12px}
/* Header: clair sur pages intérieures, verre teinté au défilement */
.mw-header{position:absolute;top:0;left:0;right:0;z-index:90;color:#fff;transition:background .25s,box-shadow .25s}
.mw-header.mw-header-innerpage{position:sticky;background:var(--navy)}
.mw-header.mw-scrolled{position:fixed;background:rgba(8,21,38,.96);box-shadow:0 12px 45px rgba(0,0,0,.14);backdrop-filter:blur(18px)}
.mw-header-row{height:102px;display:flex;align-items:center;gap:38px}
.mw-brand{font-size:25px;line-height:1.2;letter-spacing:-1px;font-weight:800;white-space:nowrap}.mw-brand span{color:#68bdff}
.mw-nav{display:flex;gap:30px;align-items:center;margin-left:auto}
.mw-nav a{position:relative;white-space:nowrap;font-size:12px;font-weight:500;color:#f0f5fc;transition:color .2s}
.mw-nav a:hover,.mw-nav a[aria-current="page"]{color:#79c3ff}
.mw-nav a::after{content:'';position:absolute;bottom:-9px;left:0;right:100%;height:2px;background:#69c0ff;transition:right .2s}.mw-nav a:hover::after,.mw-nav a[aria-current="page"]::after{right:0}
.mw-header-contact{margin-left:14px;padding:14px 21px;background:#55b1f9;border-radius:99px;color:#07182b;font-size:11px;white-space:nowrap;font-weight:600;transition:transform .2s,background .2s}
.mw-header-contact:hover{transform:translateY(-2px);background:#89ceff}
.mw-menu-button{display:none;width:45px;height:45px;padding:10px;border:1px solid #fff6;border-radius:10px;background:transparent;color:#fff;align-items:center;flex-direction:column;justify-content:center;gap:5px}
.mw-menu-button span{width:21px;height:2px;background:currentColor;display:block;border-radius:2px;transition:transform .2s,opacity .2s}
.mw-menu-button[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.mw-menu-button[aria-expanded="true"] span:nth-child(2){opacity:0}.mw-menu-button[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
/* Hero */
.mw-hero{position:relative;isolation:isolate;min-height:775px;overflow:hidden;background:radial-gradient(ellipse 59% 63% at 87% 49%,#24466b 0%,transparent 78%),linear-gradient(120deg,#071220 10%,#11243d 76%,#172f4b);color:#fff;padding:166px 0 85px}
.mw-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 15% 3%,rgba(80,161,229,.11),transparent 50%),linear-gradient(180deg,transparent 75%,#0a1928 100%)}
.mw-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center}
.mw-hero-copy{z-index:2;padding-bottom:8px}
.mw-eyebrow,.mw-kicker{display:inline-flex;align-items:center;gap:11px;color:#67baff;letter-spacing:2.25px;font-size:11px;font-weight:600}
.mw-status-dot{height:7px;width:7px;background:#79e6c3;box-shadow:0 0 0 5px #79e6c318;border-radius:50%}
.mw-hero h1{font-size:clamp(39px,4.3vw,64px);line-height:1.22;letter-spacing:-2.75px;font-weight:700;margin:29px -45px 22px 0}
.mw-hero h1 span,.mw-section h2 em,.mw-cta h2 em,.mw-page-hero h1 em{font-style:normal;color:#65b7fa}
.mw-hero-copy>p{max-width:520px;line-height:1.9;font-size:14px;color:#d2dce9;margin:0}
.mw-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin:30px 0 0}
.mw-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:999px;font-size:12px;font-weight:600;min-height:52px;padding:15px 25px;transition:transform .2s,background .2s,box-shadow .2s}
.mw-button:hover{transform:translateY(-2px)}.mw-button-primary{color:#082138;background:linear-gradient(120deg,#83d2ff,#54adf7);box-shadow:0 13px 30px rgba(24,117,222,.17)}.mw-button-primary:hover{background:#a4dbff;box-shadow:0 13px 30px rgba(24,117,222,.3)}.mw-button-ghost{color:#fff;border:1px solid #6d859f;background:#ffffff08}.mw-button-ghost:hover{background:#ffffff15}
.mw-metrics{display:flex;gap:24px;margin-top:75px}.mw-metrics>div{min-width:0;flex:1;border-right:1px solid #8294aa5e;padding-right:18px}.mw-metrics>div:last-child{border-right:0}.mw-metrics strong{display:block;color:#76c6ff;font-size:19px;font-weight:600;white-space:nowrap}.mw-metrics span{display:block;color:#cad6e3;font-size:10px;margin-top:7px}
/* Hero devices are hand-built HTML/CSS, not screenshot placeholders */
.mw-hero-art{height:500px;position:relative;min-width:0;perspective:1100px}.mw-art-glow{position:absolute;top:0;left:8%;width:90%;height:90%;border-radius:50%;filter:blur(45px);background:#488ac120}
.mw-device-laptop{position:absolute;top:45px;left:0;width:95%;max-width:670px;transform:rotate(-3deg);filter:drop-shadow(0 25px 33px #0009)}
.mw-device-screen{border:9px solid #0f171e;border-bottom-width:13px;border-radius:15px 15px 6px 6px;background:#173544;overflow:hidden;aspect-ratio:1.72;box-shadow:inset 0 0 0 1px #73828b,0 0 0 1px #72839188}
.mw-mock-nav{height:44px;background:#073042;color:#f7fcff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:8px}.mw-mock-nav>b{font-size:13px;letter-spacing:-.5px}.mw-mock-nav b span{color:#8ce1a0}.mw-mock-nav small{font-size:8px;opacity:.8}.mw-mock-nav i{font-size:8px;border-radius:8px;background:#519e5d;padding:5px 8px;font-style:normal}
.mw-mock-golf{position:relative;height:calc(100% - 44px);background:linear-gradient(100deg,#061c24cb 0%,#0a20224a 62%,transparent),url('../img/golf-landscape.svg') center/cover}
.mw-mock-content{padding:30px 33px;color:#fff}.mw-mock-content>span{font-size:8px;letter-spacing:1.7px;color:#cde7dc}.mw-mock-content h2{font-size:clamp(20px,2.5vw,35px);margin:11px 0 10px;line-height:1.25;font-weight:600;letter-spacing:-1px}.mw-mock-content p{font-size:9px;color:#f0f3f4}.mw-mock-search{display:flex;justify-content:space-between;align-items:center;width:70%;min-width:190px;max-width:365px;padding:9px 9px 9px 15px;margin-top:20px;border-radius:5px;color:#718090;background:white;font-size:9px}.mw-mock-search b{background:#388d5f;color:#fff;padding:6px 11px;border-radius:4px}
.mw-device-keyboard{height:18px;margin:0 -6% 0;background:linear-gradient(#a9b5c2,#596674 60%,#384759);border-radius:2px 2px 50% 50%;box-shadow:0 12px 20px #0009;position:relative}.mw-device-keyboard::before{content:'';position:absolute;top:0;left:42%;width:16%;height:4px;background:#4c5865;border-radius:0 0 4px 4px}
.mw-device-phone{position:absolute;right:-1%;top:175px;width:154px;height:304px;border:6px solid #141b22;border-radius:29px;background:#f6fafc;color:#122c35;transform:rotate(5deg);padding:9px 8px;box-shadow:0 22px 42px #000c,0 0 0 1px #62778a;overflow:hidden}.mw-phone-notch{position:absolute;left:37%;top:4px;height:10px;width:27%;background:#101820;border-radius:0 0 8px 8px}.mw-phone-top{font-size:11px;font-weight:700;padding:13px 1px 8px;color:#133632}.mw-phone-picture{height:72px;margin:0 -8px;background:url('../img/golf-landscape.svg') center/cover}.mw-phone-title{font-size:13px;line-height:1.3;font-weight:700;margin:9px 0 12px}.mw-phone-option{font-size:8px;background:#fff;border:1px solid #e3edf0;border-radius:6px;padding:7px 6px;margin:5px 0;font-weight:500}.mw-phone-option span{float:right;color:#638384}.mw-phone-cta{text-align:center;color:white;background:#42985f;border-radius:6px;padding:7px;margin-top:8px;font-size:9px;font-weight:600}.mw-art-caption{position:absolute;top:15px;right:-1%;width:160px;transform:rotate(-7deg);font-size:12px;color:#b6d1eb;font-style:italic;letter-spacing:.3px}
.mw-scroll-indicator{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;color:#aac4db;letter-spacing:2px;font-size:9px}.mw-scroll-indicator span{font-size:17px}
/* Sections */
.mw-section{padding:96px 0 105px}.mw-projects{background:linear-gradient(180deg,#fff 0%,#fdfefe 100%)}.mw-expertise{background:#f7faff}
.mw-section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}.mw-section h2{font-size:clamp(30px,3vw,44px);line-height:1.29;letter-spacing:-1.5px;font-weight:700;margin:17px 0 0}.mw-section-intro{max-width:450px;padding-bottom:5px}.mw-section-intro p{font-size:13px;line-height:1.85;color:var(--muted);margin:0 0 18px}.mw-section-intro p:last-child{margin-bottom:0}.mw-link{font-weight:600;font-size:12px;color:#227de3;display:inline-flex;gap:15px;align-items:center}.mw-link:hover{text-decoration:underline}
.mw-project-grid,.mw-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.mw-project-card{overflow:hidden;background:#fff;border:1px solid #ecf1f8;border-radius:13px;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;min-width:0}.mw-project-card:hover{transform:translateY(-7px);box-shadow:0 18px 50px #184c8226}
.mw-project-photo{display:flex;align-items:end;justify-content:center;height:245px;overflow:hidden;padding:22px 15px 0}.mw-photo-golf{background:linear-gradient(135deg,#c5e1d3,#6fa580)}.mw-photo-tennis{background:linear-gradient(135deg,#c7dfe9,#f5bf8b)}.mw-photo-nature{background:linear-gradient(135deg,#d2e0ce,#789f82)}.mw-photo-cabin{background:linear-gradient(135deg,#edddc6,#a7bf99)}
.mw-mini-browser{display:block;width:100%;height:204px;border:6px solid #1c2a32;border-bottom:0;border-radius:12px 12px 0 0;box-shadow:0 12px 20px #0005;overflow:hidden;background:#183341;transform:translateY(8px);transition:transform .35s}.mw-project-card:hover .mw-mini-browser{transform:translateY(0)}.mw-mini-bar{height:23px;background:#eaf1f6;padding:4px 9px;color:#c6ced3;display:flex;justify-content:space-between;align-items:center}.mw-mini-bar b{font-size:8px;letter-spacing:2px}.mw-mini-bar small{font-size:8px;color:#7a8590}.mw-mini-page{display:flex;flex-direction:column;align-items:flex-start;padding:16px 16px;height:calc(100% - 23px);color:#fff;background-position:center;background-size:cover}.mw-mini-golf{background-image:linear-gradient(100deg,#062d30df,#153b3b22),url('../img/golf-landscape.svg')}.mw-mini-tennis{background-image:linear-gradient(100deg,#052c47e6,#20567c32),url('../img/tennis-landscape.svg')}.mw-mini-nature{background-image:linear-gradient(100deg,#15352de6,#22554621),url('../img/nature-landscape.svg')}.mw-mini-cabin{background-image:linear-gradient(100deg,#302c20d6,#70553017),url('../img/cabin-landscape.svg')}.mw-mini-page>b{font-size:10px;font-weight:700}.mw-mini-page strong{font-size:18px;letter-spacing:-.4px;line-height:1.25;margin:15px 0 5px}.mw-mini-page small{font-size:7px;line-height:1.4}.mw-mini-page i{font-size:8px;font-style:normal;background:#fff;color:#27463e;padding:6px 13px;border-radius:4px;margin-top:15px}
.mw-project-info{position:relative;padding:21px 20px 25px;min-height:222px}.mw-chip{display:inline-block;background:#e6f2ff;color:#287ed7;border-radius:99px;padding:5px 10px;font-size:9px;font-weight:600;letter-spacing:.25px}.mw-chip-green{background:#e4f5e8;color:#418456}.mw-project-info h3{font-size:18px;letter-spacing:-.55px;margin:12px 0 6px}.mw-project-info p{font-size:11px;line-height:1.8;color:#66748a;margin:0 14px 30px 0}.mw-circle-link{height:31px;width:31px;display:grid;place-items:center;border:1px solid #7fc0f9;border-radius:50%;font-size:17px;color:#2288f3;transition:background .2s,color .2s,transform .2s}.mw-project-info>.mw-circle-link,.mw-service>.mw-circle-link{position:absolute;right:19px;bottom:18px}.mw-circle-link:hover,.mw-service:hover .mw-circle-link{background:var(--blue);color:#fff;transform:rotate(45deg)}
.mw-service{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:261px;background:#fff;border:1px solid #e6eef9;border-radius:13px;padding:30px 28px 45px;transition:transform .25s,box-shadow .25s,border-color .25s}.mw-service:hover{transform:translateY(-5px);border-color:#9ad2ff;box-shadow:0 15px 40px #3d75b01a}.mw-service-symbol{display:grid;place-items:center;height:44px;width:44px;color:#278bf2;margin-bottom:18px}.mw-service-symbol svg{height:42px;width:42px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mw-service h3{font-size:17px;letter-spacing:-.5px;margin:0 0 10px}.mw-service p{margin:0;color:#68788c;font-size:11px;line-height:1.8}.mw-service .mw-circle-link{height:28px;width:28px;font-size:14px}
/* CTA / footer */
.mw-cta{position:relative;isolation:isolate;background:linear-gradient(100deg,#071625f0,#0e2943b3),url('../img/bordeaux-skyline.svg') center/cover;color:#fff;padding:94px 0 91px}.mw-cta-layout{display:flex;align-items:end;justify-content:space-between;gap:40px}.mw-cta h2{font-size:clamp(31px,3.5vw,50px);letter-spacing:-1.7px;line-height:1.24;margin:16px 0 11px}.mw-cta p{font-size:13px;line-height:1.85;color:#d1dce8;max-width:530px;margin-bottom:27px}.mw-cta-location{display:flex;gap:14px;align-items:start;min-width:290px;margin-bottom:12px}.mw-location-pin{font-size:38px;color:#75c5fa;line-height:1}.mw-cta-location strong{font-size:12px;display:block}.mw-cta-location span:last-child{display:block;color:#cfdae6;font-size:11px;margin-top:5px}
.mw-footer{background:#071321;color:#aebfd1}.mw-footer-grid{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:45px;padding-top:38px;padding-bottom:38px}.mw-footer .mw-brand{display:block;color:#fff;font-size:19px}.mw-footer p{font-size:10px;line-height:1.8;margin:10px 0 0}.mw-footer-links{display:flex;flex-wrap:wrap;gap:23px;align-items:center}.mw-footer a:not(.mw-brand){font-size:11px;color:#bdcce0}.mw-footer a:hover{color:#80c8ff}.mw-footer-copy{text-align:right;white-space:nowrap;font-size:10px}
/* Pages secondaires */
.mw-page-hero{background:radial-gradient(circle at 88% 20%,#2d507e88,transparent 40%),linear-gradient(120deg,#071523,#142f4a);padding:83px 0 79px;color:#fff}.mw-breadcrumb{font-size:11px;color:#c2d0e1;margin-bottom:25px}.mw-breadcrumb a:hover{color:#83caff}.mw-breadcrumb span{opacity:.5;margin:0 10px}.mw-page-hero h1{font-size:clamp(34px,4vw,57px);line-height:1.22;letter-spacing:-2px;margin:0 0 18px}.mw-page-hero p{font-size:13px;line-height:1.9;color:#d6e1ec;max-width:660px;margin:0}.mw-content-section{padding:80px 0 100px;min-height:40vh}.mw-content-section.mw-muted{background:var(--pale)}
.mw-filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.mw-filter{border:1px solid #d9e7f5;background:#fff;color:#42566e;padding:11px 20px;font-size:12px;border-radius:99px;transition:all .2s}.mw-filter:hover,.mw-filter[aria-pressed="true"]{color:#fff;background:#257fe6;border-color:#257fe6}.mw-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.mw-reference-card{position:relative;background:#fff;border:1px solid #e8eef6;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s}.mw-reference-card:hover{transform:translateY(-4px)}.mw-reference-card[hidden]{display:none!important}.mw-reference-image{height:220px;background:linear-gradient(145deg,#b0cbdf,#d3e7f0);display:grid;place-items:center;overflow:hidden}.mw-reference-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s}.mw-reference-card:hover img{transform:scale(1.04)}.mw-reference-no-image{font-size:38px;color:#3f85bd;font-weight:700}.mw-reference-description{position:relative;padding:20px 60px 22px 20px;min-height:120px}.mw-reference-description h2{font-size:18px;margin:13px 0 0;line-height:1.4}.mw-reference-description .mw-circle-link{position:absolute;right:20px;bottom:23px}.mw-empty-message{background:#f2f7fe;padding:30px;border-radius:12px;color:#61758b}
.mw-training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mw-training-card{background:#fff;border:1px solid #e6ecf6;border-radius:16px;padding:30px;min-height:230px;position:relative;box-shadow:var(--shadow);transition:transform .25s,border-color .25s}.mw-training-card:hover{transform:translateY(-5px);border-color:#80c5f9}.mw-training-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:13px;background:#e7f2fe;color:#2a8ce9;font-size:22px;margin-bottom:25px}.mw-training-label{font-size:11px;letter-spacing:1.3px;font-weight:600;color:#348fe6}.mw-training-card h2{font-size:19px;margin:8px 0 28px}.mw-training-card>.mw-circle-link{position:absolute;right:26px;bottom:22px}.mw-certification{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:50px;border:1px solid #dce9f7;background:#eef7ff;padding:30px 35px;border-radius:16px}.mw-certification b{font-size:16px}.mw-certification p{color:var(--muted);font-size:12px;margin:8px 0 0;line-height:1.7}.mw-certification .mw-button{flex-shrink:0}.mw-certification .mw-button-primary{background:#2f90e9;color:#fff}
.mw-content-narrow{max-width:890px;margin:auto}.mw-detail-list{display:grid;gap:14px}.mw-detail{border:1px solid var(--line);border-radius:14px;background:#fff;padding:28px}.mw-detail h2{font-size:15px;margin:0 0 14px;letter-spacing:.2px}.mw-detail-body{font-size:13px;line-height:1.85;color:#4f6177;overflow-wrap:anywhere}.mw-detail-body p:first-child{margin-top:0}.mw-detail-body p:last-child{margin-bottom:0}.mw-detail-body ul{padding-left:22px}
.mw-contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}.mw-contact-aside h2{font-size:29px;line-height:1.4;letter-spacing:-.7px;margin:0 0 17px}.mw-contact-aside p{font-size:13px;line-height:1.85;color:var(--muted)}.mw-contact-location{display:flex;align-items:start;gap:14px;margin-top:30px}.mw-contact-location strong{font-size:13px}.mw-contact-location small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.mw-contact-card{border:1px solid #e5edf6;border-radius:18px;padding:35px;box-shadow:var(--shadow)}.mw-contact-card h2{font-size:23px;margin:0 0 22px}.mw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mw-field{margin-bottom:20px}.mw-field label{display:block;font-size:12px;font-weight:600;color:#40536b;margin-bottom:8px}.mw-field input,.mw-field textarea{width:100%;min-width:0;padding:13px 15px;border:1px solid #d9e4f0;border-radius:9px;background:#fbfdff;outline:none;font-size:13px;color:var(--ink);transition:border-color .2s,box-shadow .2s}.mw-field input:focus,.mw-field textarea:focus{border-color:#479df1;box-shadow:0 0 0 4px #489ef120}.mw-field textarea{resize:vertical;min-height:150px}.mw-field input::placeholder,.mw-field textarea::placeholder{color:#9aa8ba}.mw-form-note{font-size:10px;color:#7d8a9c;margin-top:15px}.mw-message{padding:17px 19px;border-radius:10px;margin-bottom:22px;font-size:13px}.mw-message-ok{background:#e6f8ef;border:1px solid #bae2ca;color:#146c3b}.mw-message-error{background:#fff1f0;border:1px solid #ecc9c7;color:#a43d33}.mw-map-frame{width:100%;height:250px;border:0;border-radius:14px;margin-top:25px;filter:saturate(.85)}
/* Progressive enhancement: if JS is blocked, keep all content visible. */
.mw-js .mw-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.mw-js .mw-reveal.mw-visible{opacity:1;transform:none}
@media(max-width:1190px){.mw-shell{padding:0 32px}.mw-header-row{gap:21px}.mw-nav{gap:17px}.mw-header-contact{display:none}.mw-hero h1{font-size:clamp(36px,4vw,54px)}.mw-hero-art{height:430px}.mw-device-phone{right:-3%;top:165px;width:130px;height:272px}.mw-mock-content{padding:22px}.mw-metrics{gap:12px}.mw-metrics strong{font-size:16px}.mw-project-grid,.mw-services{grid-template-columns:repeat(2,minmax(0,1fr))}.mw-project-photo{height:270px}.mw-mini-browser{height:220px}.mw-project-info{min-height:185px}.mw-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:830px){.mw-shell{padding:0 23px}.mw-header-row{height:77px}.mw-brand{font-size:22px}.mw-menu-button{display:flex;margin-left:auto}.mw-nav{display:none;position:absolute;top:77px;left:0;right:0;background:#0c1c2f;padding:18px 23px 28px;box-shadow:0 22px 35px #0004;flex-direction:column;align-items:stretch;gap:0}.mw-nav.mw-open{display:flex}.mw-nav a{padding:14px 4px;border-bottom:1px solid #ffffff18;font-size:13px}.mw-nav a::after{display:none}.mw-hero{min-height:0;padding:125px 0 68px}.mw-hero-layout{grid-template-columns:1fr}.mw-hero h1{font-size:clamp(37px,7vw,60px);margin-right:0}.mw-hero-copy>p{max-width:570px}.mw-hero-art{max-width:650px;height:430px;width:100%;margin:20px auto 0}.mw-device-laptop{left:5%;width:85%}.mw-device-phone{right:5%;top:185px}.mw-metrics{margin-top:45px;max-width:620px}.mw-scroll-indicator{display:none}.mw-section{padding:75px 0}.mw-section-heading{align-items:start;gap:24px;flex-direction:column}.mw-section-intro{max-width:630px}.mw-contact-layout{grid-template-columns:1fr;gap:40px}.mw-contact-aside{max-width:560px}.mw-cta-layout{align-items:start;flex-direction:column}.mw-footer-grid{grid-template-columns:1fr auto;gap:24px}.mw-footer-copy{text-align:left;grid-column:1/-1}.mw-training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.mw-hero{padding-top:116px}.mw-eyebrow{font-size:9px;letter-spacing:1.25px}.mw-hero h1{font-size:37px;letter-spacing:-1.75px}.mw-hero-copy>p{font-size:12px}.mw-hero-actions{align-items:stretch;flex-direction:column;max-width:360px}.mw-button{font-size:11px}.mw-metrics{gap:0}.mw-metrics>div{padding:0 10px}.mw-metrics>div:first-child{padding-left:0}.mw-metrics strong{font-size:12px;white-space:normal}.mw-metrics span{font-size:9px}.mw-hero-art{height:260px;margin:25px auto 0}.mw-device-laptop{top:20px;width:89%}.mw-device-screen{border-width:5px;aspect-ratio:1.6}.mw-mock-nav{height:25px;padding:0 7px}.mw-mock-nav>b{font-size:8px}.mw-mock-nav small{font-size:5px}.mw-mock-nav i{display:none}.mw-mock-golf{height:calc(100% - 25px)}.mw-mock-content{padding:9px 13px}.mw-mock-content>span{font-size:5px}.mw-mock-content h2{font-size:18px;line-height:1.18;margin:7px 0}.mw-mock-content p{font-size:6px}.mw-mock-search{min-width:0;width:70%;margin-top:8px;font-size:5px;padding:5px}.mw-mock-search b{padding:5px}.mw-device-keyboard{height:10px}.mw-device-phone{width:80px;height:166px;border-width:3px;border-radius:16px;top:97px;right:0;padding:5px}.mw-phone-notch{height:4px}.mw-phone-top{font-size:6px;padding:8px 0 4px}.mw-phone-picture{height:39px;margin:0 -5px}.mw-phone-title{font-size:7px;margin:4px 0 5px}.mw-phone-option{font-size:5px;padding:4px 3px;margin:3px 0}.mw-phone-cta{font-size:5px;padding:4px}.mw-art-caption{display:none}.mw-section{padding:64px 0}.mw-section h2{font-size:31px}.mw-project-grid,.mw-services,.mw-portfolio-grid,.mw-training-grid{grid-template-columns:1fr}.mw-project-photo{height:245px}.mw-mini-browser{height:205px}.mw-project-info{min-height:186px}.mw-service{min-height:220px}.mw-cta{padding:65px 0}.mw-cta h2{font-size:36px}.mw-cta-location{min-width:0}.mw-footer-grid{display:flex;flex-direction:column;align-items:start}.mw-page-hero{padding:60px 0}.mw-page-hero h1{font-size:37px}.mw-content-section{padding:55px 0 70px}.mw-contact-card{padding:22px}.mw-form-grid{grid-template-columns:1fr;gap:0}.mw-certification{flex-direction:column;align-items:start;padding:25px}.mw-filter{font-size:10px;padding:9px 12px}.mw-reference-image{height:200px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}.mw-js .mw-reveal{opacity:1;transform:none}}

/* ==========================================================================\n   TYPOGRAPHIE PLUS CONFORTABLE — v2\n   Agrandissement des textes de lecture sans alourdir les titres principaux.\n   ========================================================================== */
body{font-size:16px}

.mw-nav a{font-size:14px}
.mw-header-contact{font-size:13px}
.mw-eyebrow,.mw-kicker{font-size:12.5px}
.mw-hero-copy>p{font-size:16px;line-height:1.82;max-width:565px}
.mw-button{font-size:14px}
.mw-metrics strong{font-size:21px}
.mw-metrics span{font-size:12px;line-height:1.45}

.mw-section-intro{max-width:510px}
.mw-section-intro p{font-size:15px;line-height:1.8}
.mw-link{font-size:14px}

.mw-chip{font-size:11px}
.mw-project-info h3{font-size:20px}
.mw-project-info p{font-size:13.5px;line-height:1.75}
.mw-service h3{font-size:19px}
.mw-service p{font-size:13.5px;line-height:1.75}

.mw-cta p{font-size:15px;line-height:1.8}
.mw-cta-location strong{font-size:14px}
.mw-cta-location span:last-child{font-size:13px}

.mw-footer p{font-size:12px}
.mw-footer a:not(.mw-brand){font-size:12.5px}
.mw-footer-copy{font-size:11px}

.mw-breadcrumb{font-size:12.5px}
.mw-page-hero p{font-size:15px;line-height:1.8}
.mw-filter{font-size:13px}
.mw-reference-description h2{font-size:20px}
.mw-training-label{font-size:12px}
.mw-training-card h2{font-size:21px}
.mw-certification b{font-size:18px}
.mw-certification p{font-size:14px}
.mw-detail h2{font-size:17px}
.mw-detail-body{font-size:15px;line-height:1.8}

.mw-contact-aside p{font-size:15px;line-height:1.8}
.mw-contact-location strong{font-size:14px}
.mw-contact-location small{font-size:12.5px}
.mw-contact-card h2{font-size:25px}
.mw-field label{font-size:13px}
.mw-field input,.mw-field textarea{font-size:15px;padding:14px 16px}
.mw-form-note{font-size:12px;line-height:1.6}
.mw-message{font-size:14px}

@media(max-width:830px){
  .mw-nav a{font-size:15px}
  .mw-hero-copy>p{font-size:15.5px}
  .mw-button{font-size:14px}
  .mw-section-intro p{font-size:15px}
}

@media(max-width:580px){
  body{font-size:15px}
  .mw-eyebrow,.mw-kicker{font-size:11px}
  .mw-hero-copy>p{font-size:15px;line-height:1.75}
  .mw-button{font-size:14px}
  .mw-metrics strong{font-size:15px}
  .mw-metrics span{font-size:11px}
  .mw-section h2{font-size:33px}
  .mw-section-intro p{font-size:14.5px}
  .mw-project-info p,.mw-service p{font-size:14px}
  .mw-footer p{font-size:12px}
  .mw-footer a:not(.mw-brand){font-size:13px}
  .mw-filter{font-size:12px}
  .mw-page-hero p,.mw-detail-body,.mw-contact-aside p{font-size:14.5px}
  .mw-field input,.mw-field textarea{font-size:16px}
}

/* ==========================================================================\n   RÉFÉRENCES — cards mieux délimitées\n   ========================================================================== */
.mw-reference-card{
  border:1px solid #d8e3ef;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(17,42,74,.11),0 2px 8px rgba(17,42,74,.05);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.mw-reference-card:hover{
  transform:translateY(-6px);
  border-color:#9dcdf7;
  box-shadow:0 20px 46px rgba(17,42,74,.16),0 5px 14px rgba(17,42,74,.07);
}

.mw-reference-image{
  border-bottom:1px solid #e3ebf4;
}

@media(max-width:580px){
  .mw-reference-card{
    box-shadow:0 8px 24px rgba(17,42,74,.10),0 2px 6px rgba(17,42,74,.05);
  }
}

/* ==========================================================================
   NAVIGATION — un seul soulignement au hover
   Bootstrap peut ajouter text-decoration: underline sur a:hover : on le neutralise
   pour conserver uniquement la barre animée ::after du menu Mellier Web.
   ========================================================================== */
.mw-nav a:hover,
.mw-nav a:focus,
.mw-nav a:focus-visible,
.mw-nav a[aria-current="page"]{
  text-decoration:none !important;
}

/* ==========================================================================
   RÉFÉRENCES — descriptions des réalisations
   ========================================================================== */
.mw-reference-description{
  min-height:190px;
}

.mw-reference-description h2{
  margin:11px 0 8px;
}

.mw-reference-text{
  margin:0 4px 36px 0;
  color:#66748a;
  font-size:14px;
  line-height:1.7;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}

@media(max-width:580px){
  .mw-reference-description{
    min-height:0;
  }
  .mw-reference-text{
    font-size:14px;
    -webkit-line-clamp:4;
  }
}

/* ==========================================================================
   RÉFÉRENCES — image aérée dans la card
   ========================================================================== */
.mw-reference-image{
  height:240px;
  padding:12px;
  background:#fff;
  border-bottom:0;
  box-sizing:border-box;
}

.mw-reference-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top;
  border-radius:11px;
  border:1px solid #e6edf5;
}

@media(max-width:580px){
  .mw-reference-image{
    height:220px;
    padding:10px;
  }

  .mw-reference-image img{
    border-radius:9px;
  }
}

/* ==========================================================================
   THÈME DÉFINITIF — STUDIO CLAIR
   Ancien fichier mw-theme-studio-clair.css intégré ici.
   ========================================================================== */

/* ============================================================
   MELLIER WEB — THÈME C : STUDIO CLAIR
   La proposition la plus lumineuse et "agence design".
   ============================================================ */

:root{
  --navy:#10283f;
  --navy-2:#1b4568;
  --ink:#10283f;
  --muted:#637487;
  --blue:#258be6;
  --sky:#57b7f5;
  --pale:#f5f8fb;
  --line:#dfe7ee;
  --white:#fff;
}

body{
  background:#fff;
  color:#10283f;
}

.mw-header{
  color:#10283f;
}
.mw-header.mw-header-innerpage,
.mw-header.mw-scrolled{
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 30px rgba(24,53,80,.10);
  backdrop-filter:blur(18px);
}
.mw-nav a{color:#17354f}
.mw-nav a:hover,
.mw-nav a[aria-current="page"]{color:#1986e1}
.mw-nav a::after{background:#2996eb}
.mw-header-contact{
  background:#278fe6;
  color:#fff;
}
.mw-header-contact:hover{background:#167bce}
.mw-menu-button{
  color:#17354f;
  border-color:#b9c8d4;
}

.mw-hero{
  color:#10283f;
  background:
    radial-gradient(ellipse 58% 65% at 87% 47%,rgba(126,194,239,.28) 0%,transparent 72%),
    linear-gradient(125deg,#ffffff 0%,#f6fbff 55%,#e9f5fc 100%);
}
.mw-hero::before{
  background:
    radial-gradient(ellipse at 12% 5%,rgba(65,153,221,.08),transparent 50%),
    linear-gradient(180deg,transparent 78%,rgba(213,231,243,.42) 100%);
}
.mw-eyebrow,.mw-kicker{color:#227fca}
.mw-status-dot{
  background:#38bc8c;
  box-shadow:0 0 0 5px rgba(56,188,140,.12);
}
.mw-hero h1{color:#10283f}
.mw-hero h1 span,
.mw-section h2 em,
.mw-cta h2 em,
.mw-page-hero h1 em{color:#258be6}
.mw-hero-copy>p{color:#52697d}
.mw-button-primary{
  background:#258be6;
  color:#fff;
  box-shadow:0 12px 26px rgba(37,139,230,.20);
}
.mw-button-primary:hover{background:#1679ca;color:#FFF;}
.mw-button-ghost{
  color:#16354f;
  border-color:#9eb4c6;
  background:rgba(255,255,255,.56);
}
.mw-button-ghost:hover{background:#fff}

.mw-metrics>div{border-color:#c9d8e4}
.mw-metrics strong{color:#167fda}
.mw-metrics span{color:#61778a}
.mw-art-caption{color:#567a98}
.mw-scroll-indicator{color:#6d879d}

.mw-projects{background:#fff}
.mw-expertise{background:#f2f7fa}
.mw-project-card,
.mw-service,
.mw-reference-card,
.mw-training-card,
.mw-contact-card{
  border-color:#dce7ef;
  box-shadow:0 12px 34px rgba(23,66,102,.08);
}
.mw-project-card:hover,
.mw-reference-card:hover{
  box-shadow:0 20px 45px rgba(23,66,102,.13);
}

.mw-cta{
  background:
    linear-gradient(100deg,rgba(18,49,75,.88),rgba(33,92,130,.64)),
    url('../../img/bordeaux-skyline.svg') center/cover;
}
.mw-footer{
  background:#eef4f8;
  color:#5c7183;
  border-top:1px solid #dbe6ee;
}
.mw-footer .mw-brand{color:#10283f}
.mw-footer a:not(.mw-brand){color:#4f687b}
.mw-footer a:hover{color:#1b82d6}

.mw-page-hero{
  color:#10283f;
  background:
    radial-gradient(circle at 88% 20%,rgba(94,177,232,.20),transparent 42%),
    linear-gradient(120deg,#f9fcfe,#eaf5fb);
  border-bottom:1px solid #dce8f0;
}
.mw-breadcrumb{color:#6d8294}
.mw-page-hero p{color:#5a7184}
.mw-content-section.mw-muted{background:#f4f8fa}

.mw-certification{
  background:#edf7fd;
  border-color:#d3e8f5;
}

@media(max-width:830px){
  .mw-nav{
    background:#fff;
    box-shadow:0 20px 35px rgba(22,55,82,.12);
  }
  .mw-nav a{
    color:#17354f;
    border-bottom-color:#dfe8ef;
  }
}

/* ==========================================================================
   LOGO HEADER — taille définitive
   ========================================================================== */
.mw-brand-image{
  display:flex;
  align-items:center;
  flex-shrink:0;
}

.mw-brand-image img{
  display:block;
  width:280px !important;
  max-width:280px !important;
  height:auto !important;
  max-height:72px;
  object-fit:contain;
}

@media(max-width:1190px){
  .mw-brand-image img{
    width:235px !important;
    max-width:235px !important;
    max-height:60px;
  }
}

@media(max-width:830px){
  .mw-brand-image img{
    width:205px !important;
    max-width:205px !important;
    max-height:52px;
  }
}

@media(max-width:580px){
  .mw-brand-image img{
    width:185px !important;
    max-width:185px !important;
    max-height:48px;
  }
}

.mw-button.mw-button-primary {
    border: none;
    box-shadow: none;
    background: #59b7f6;
}
