@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#14243c;--blue:#245cda;--muted:#68778c;--line:#e3eaf4;--bg:#f6f9fe}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}.topline{background:#10223e;color:#dce8fb;font-size:11px;letter-spacing:.1em}.topline .container{min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topline a:hover{color:#fff}.status{display:inline-block;background:#56d9a2;width:7px;height:7px;border-radius:50%;margin-right:8px}.header{height:106px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;font-family:Outfit,Arial,sans-serif;font-size:31px;font-weight:800;letter-spacing:-1.6px;line-height:1}.brandmark{display:grid;place-items:center;position:relative;background:#163b87;color:#fff;border-radius:13px;width:52px;height:52px;font-size:35px}.brandmark span{position:absolute;font-size:14px;top:7px;right:6px;color:#8de6e5}.brand small{display:block;letter-spacing:.16em;font-size:9px;margin-top:7px;color:#8a99ac;font-family:'DM Sans',sans-serif}.accent,.dot{color:var(--blue)}.back{border:1px solid var(--line);border-radius:30px;padding:12px 18px;font-weight:700;font-size:12px;transition:.2s}.back:hover{border-color:var(--blue);color:var(--blue)}.hero{min-height:550px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;padding:50px 0 100px}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:#2364d8}.sparkle{font-size:19px;vertical-align:middle}.hero h1{font-family:Outfit,Arial,sans-serif;font-size:clamp(43px,5vw,70px);letter-spacing:-.055em;line-height:1.06;margin:23px 0}.hero h1 em,.approach h2 em{font-style:normal;color:var(--blue)}.hero-copy>p{font-size:16px;line-height:1.9;color:var(--muted);max-width:500px}.primary{display:inline-flex;align-items:center;gap:40px;background:var(--blue);color:white;border-radius:9px;padding:17px 22px;margin-top:20px;font-weight:700;font-size:13px;box-shadow:0 12px 25px #245cda26}.primary:hover{background:#1746b2}.hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:36px;color:#7c899d;font-size:11px;font-weight:700}.hero-art{height:405px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse,#e5efff 0%,#f5f9ff 62%,transparent 72%);overflow:hidden}.orbit{position:absolute;border:1px solid #cfdef9;border-radius:50%;width:410px;height:410px}.orbit2{width:320px;height:320px}.window{position:relative;z-index:1;width:88%;max-width:455px;background:white;box-shadow:0 25px 70px #1a3e7833;border:1px solid #d9e5f8;border-radius:12px;overflow:hidden;transform:rotate(-3deg)}.window-top,.fake-bar{height:33px;background:#f6f9ff;display:flex;align-items:center;justify-content:space-between;padding:0 13px;font-size:11px;color:#9aa7bc}.lights{color:#f8a78b;letter-spacing:2px}.url{background:#eaf0fa;padding:5px 45px;border-radius:4px}.window-body{padding:18px 24px;background:#fff}.mock-nav{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8b9ab2}.mock-nav b{font-size:20px;color:#17375b}.mock-content{background:linear-gradient(125deg,#152c59,#3279da);color:white;border-radius:6px;padding:36px 25px;margin-top:16px}.mock-content>span{font-size:8px;letter-spacing:.2em}.mock-content strong{display:block;font:800 36px/1.1 Outfit;margin:14px 0}.mock-button{background:#fff;color:#245cda;display:inline-block;padding:10px 15px;border-radius:4px;font-size:9px;font-weight:800}.mock-panels{display:flex;gap:9px;margin-top:14px}.mock-panels i{height:38px;flex:1;background:#eaf1fa;border-radius:4px}.float-note{position:absolute;right:5px;bottom:29px;background:white;box-shadow:0 9px 30px #173b7026;padding:14px 19px;border-radius:7px;font-size:10px;letter-spacing:.09em;font-weight:800;z-index:2}.work-section{background:var(--bg);padding:92px 0 100px;border-top:1px solid #eef2f8}.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-top h2,.approach h2,.closing h2{font:800 clamp(35px,4vw,51px)/1.1 Outfit;letter-spacing:-.045em;margin:13px 0}.section-top p{color:var(--muted);margin:0}.count{font-size:10px;letter-spacing:.12em;font-weight:800;color:#8595aa}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.project{background:white;border:1px solid #e5edf6;border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}.project:hover{transform:translateY(-4px);box-shadow:0 16px 35px #193d7120}.preview{height:270px;display:flex;align-items:center;justify-content:center;padding:30px;overflow:hidden}.preview-one{background:linear-gradient(135deg,#d8eaff,#b1d4f9)}.preview-two{background:linear-gradient(135deg,#e9dffb,#cfc0f4)}.preview-three{background:linear-gradient(135deg,#ffecd9,#f9d3b6)}.preview-four{background:linear-gradient(135deg,#d5f1e9,#a5dfd1)}.fake-site{width:min(100%,390px);height:210px;border-radius:7px;overflow:hidden;background:#fff;box-shadow:0 16px 35px #1e325933;transform:rotate(-2deg)}.fake-bar{height:26px;font-size:8px;justify-content:flex-start;gap:65px;color:#e99b90}.fake-bar span{color:#8a99b2}.fake-content{height:184px;background:linear-gradient(110deg,#193b72,#4296d7);padding:30px;color:white}.fake-content span,.minimal-center span{font-size:9px;letter-spacing:.14em}.fake-content strong{display:block;font:800 28px/1.08 Outfit;margin:14px 0}.fake-content i{font-size:9px;font-style:normal;background:white;color:#275aa5;padding:8px 12px;border-radius:3px}.shop{background:#fff9ff;transform:rotate(2deg)}.shop-title{font:800 21px Outfit;padding:17px 22px 12px;display:flex;justify-content:space-between}.shop-title span{color:#b38adf}.shop-products{display:flex;gap:11px;padding:0 22px}.shop-products i{height:91px;flex:1;border-radius:5px;background:linear-gradient(145deg,#e8d9f3,#ae8dcf)}.shop-products i:nth-child(2){background:linear-gradient(145deg,#f9e7d7,#d5a3a9)}.shop-products i:nth-child(3){background:linear-gradient(145deg,#e0e7f8,#8dadd6)}.shop-caption{text-align:center;font-size:8px;letter-spacing:.15em;margin-top:10px;color:#9d8aa8}.editorial{background:#fff9f3}.editorial-head{font:900 23px Outfit;border-bottom:2px solid #1c2633;padding:10px 17px;display:flex;justify-content:space-between}.editorial-head span{font:700 8px 'DM Sans';align-self:center}.editorial-layout{display:grid;grid-template-columns:1fr 1fr;padding:13px 17px;gap:15px}.editorial-layout strong{font:800 21px/1.1 Outfit}.editorial-layout i{display:block;background:#e8d9ca;height:8px;margin-top:13px}.editorial-pic{height:110px;background:#e8ad83;display:grid;place-items:center;font-size:70px;color:#fff1df}.minimal{background:#1d514e;color:white;transform:rotate(2deg)}.minimal .fake-bar{background:#174743}.minimal-center{padding:19px 30px}.minimal-center strong{display:block;font:800 32px/1.03 Outfit;margin:9px 0}.minimal-center i{font:700 8px 'DM Sans';letter-spacing:.13em}.project-info{padding:25px 26px;display:flex;justify-content:space-between;align-items:center}.type{font-size:10px;letter-spacing:.12em;color:var(--blue);font-weight:800}.project-info h3{font:800 23px Outfit;margin:9px 0}.project-info p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.project-arrow{font-size:25px;color:#94a5ba}.editing-note{color:#8594a9;font-size:12px;margin-top:24px}.approach{padding:100px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.approach p{color:var(--muted);font-size:17px;line-height:1.9}.closing{background:linear-gradient(110deg,#142d5a,#245fd4);color:#fff;border-radius:17px;padding:55px 65px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:65px}.closing .eyebrow{color:#a9cfff}.closing h2{margin-bottom:0}.light-button{background:white;color:#204eaa;padding:17px 21px;border-radius:8px;white-space:nowrap;font-weight:800;font-size:13px}.light-button span{margin-left:20px}.footer{border-top:1px solid var(--line);padding:30px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#8794a7;font-size:12px}.footer-brand{font:800 22px Outfit;color:var(--ink)}.footer-brand span{color:var(--blue)}.footer-brand small{display:block;font:500 10px 'DM Sans';color:#8794a7}.footer a:hover{color:var(--blue)}@media(max-width:850px){.hero{grid-template-columns:1fr;padding-top:35px;gap:10px}.hero-art{height:370px}.approach{gap:30px}.closing{padding:40px}}@media(max-width:620px){.container{width:min(100% - 32px,1180px)}.topline .container{font-size:9px}.topline .container span{max-width:190px}.header{height:83px}.brand{font-size:26px}.brandmark{width:45px;height:45px}.back{font-size:10px;padding:10px}.hero{padding:30px 0 65px}.hero h1{font-size:45px}.hero-art{height:290px}.window{width:93%}.mock-content{padding:20px}.mock-content strong{font-size:28px}.float-note{bottom:7px}.hero-meta{gap:12px}.work-section{padding:60px 0}.section-top{align-items:start;flex-direction:column}.project-grid{grid-template-columns:1fr;gap:20px}.preview{height:240px}.approach{grid-template-columns:1fr;padding:70px 0}.closing{flex-direction:column;align-items:start;margin-bottom:35px}.footer{flex-wrap:wrap}.count{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project{transition:none}}

/* Emplacements supplémentaires : portfolio moderne et vintage */
.placeholder-preview{display:flex;align-items:center;justify-content:center;padding:30px;background:linear-gradient(135deg,#dceeff,#b8d4f2)}
.retro-preview{background:linear-gradient(135deg,#f3e9d3,#b8c7df)}
.placeholder-window{width:min(100%,360px);height:205px;background:#fff;border-radius:11px;overflow:hidden;box-shadow:0 15px 35px #132d4a25;transform:rotate(-2deg)}
.retro-preview .placeholder-window{border:3px solid #536d9c;border-radius:3px;transform:rotate(2deg)}
.placeholder-bar{height:30px;background:#edf2f8;display:flex;justify-content:space-between;align-items:center;padding:0 12px;font-size:10px;color:#61758a}
.retro-preview .placeholder-bar{background:#345b99;color:white}
.placeholder-inner{height:175px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px;padding:16px;color:#1e3f65}
.placeholder-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:#547baf}
.placeholder-inner strong{font-size:24px;line-height:1.15}
.placeholder-hint{font-size:11px;color:#70849a}
@media(max-width:520px){.placeholder-window{height:185px}.placeholder-inner{height:155px}}

/* Images réelles modifiables */
.hero-art{overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-image{display:block;width:100%;height:auto;object-fit:contain;border-radius:24px}.preview{overflow:hidden}.project-image{display:block;width:100%;height:100%;min-height:240px;object-fit:cover;transition:transform .35s ease}.project:hover .project-image{transform:scale(1.035)}

/* Cartes de réalisations entièrement cliquables */
.project-link { display:block; color:inherit; text-decoration:none; min-width:0; border-radius:20px; }
.project-link .project { height:100%; }
.project-link:focus-visible { outline:3px solid #3477dc; outline-offset:5px; }
.project-link:hover .project-arrow, .project-link:focus-visible .project-arrow { transform:translate(3px,-3px); }
.project-arrow { transition:transform .2s ease; }

/* Numéro de téléphone cliquable dans l’en-tête */
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.phone-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:750;color:#fff;background:#2458ac;padding:11px 16px;border-radius:12px;white-space:nowrap;transition:background .2s,transform .2s}
.phone-link:hover,.phone-link:focus-visible{background:#173b78;transform:translateY(-1px)}
@media(max-width:650px){.header-actions{gap:10px}.phone-link{font-size:14px;padding:10px 12px}}

/* Pied de page et page de mentions légales */
.footer-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:18px}
.cookie-settings-link{border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer}.cookie-settings-link:hover{color:var(--blue)}
.legal-page{max-width:900px;padding-top:75px;padding-bottom:100px}.legal-page h1{font:800 clamp(38px,5vw,62px)/1.1 Outfit,sans-serif;letter-spacing:-.045em;margin:15px 0 20px}.legal-intro{font-size:17px;color:var(--muted);line-height:1.8;margin-bottom:44px}.legal-page section{border-top:1px solid var(--line);padding:25px 0}.legal-page section h2{font:800 23px Outfit,sans-serif;margin:0 0 15px}.legal-page section p{line-height:1.9;color:var(--muted)}.legal-page section a{color:var(--blue)}.legal-note{background:#eff5ff;padding:20px;border-radius:10px;color:#34516f;line-height:1.7}.legal-cookie-button{border:1px solid #cbdaf0;background:white;color:#2458ac;border-radius:8px;padding:12px 16px;font-weight:700;cursor:pointer}
/* Bandeau d'information sur les cookies */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#fff;box-shadow:0 -8px 35px #142d5a22;border-top:1px solid #dbe5f2;padding:20px 24px}.cookie-banner[hidden]{display:none}.cookie-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}.cookie-copy{max-width:800px;color:#1b3556}.cookie-copy strong{font-size:16px}.cookie-copy p{font-size:13px;line-height:1.6;margin:7px 0 0;color:#62758b}.cookie-copy a{color:#2458ac;text-decoration:underline}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions button{padding:12px 20px;border-radius:8px;font-weight:700;cursor:pointer;font-size:13px}.cookie-reject{background:#fff;border:1px solid #b8c7d8;color:#254567}.cookie-accept{background:#2458ac;border:1px solid #2458ac;color:#fff}
@media(max-width:720px){.cookie-inner{align-items:stretch;flex-direction:column;gap:16px}.cookie-actions button{flex:1}.footer-links{justify-content:flex-start}.legal-page{padding-top:45px}}
