/* ---- brand.css ---- */
.nav{gap:22px}.brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}.brand-logo{display:block;width:190px;height:54px;object-fit:contain;mix-blend-mode:multiply}.footer .brand-logo{width:215px;height:64px}.language-switch{display:flex;align-items:center;gap:3px;flex-shrink:0;order:3;border:1px solid #d4daf1;border-radius:30px;padding:3px;background:var(--blanc)}.language-switch a{font:600 12px 'DM Sans',sans-serif;color:#58617a;padding:6px 8px;border-radius:20px;line-height:1.3}.language-switch a[aria-current=true]{background:var(--marque-bleu);color:var(--blanc)}.language-switch a:hover{background:#e7ecff;color:#202b72}.language-switch a[aria-current=true]:hover{background:#2535bc;color:var(--blanc)}body>.language-switch{position:relative;float:right;margin:12px 20px}.navlinks{gap:20px}.navlinks>.btn{padding:12px 18px;font-size:14px}.nav .menu{order:4}html[lang=es] .agency-hero h1{font-size:clamp(3rem,5.4vw,5.1rem)}html[lang=es] .hero-copy .eyebrow{letter-spacing:.04em}html[lang=es] .offer-card h3{font-size:28px}html[lang=es] .pricebox .price{font-size:clamp(1.6rem,3vw,2.5rem)}html[lang=es] .navlinks{font-size:13px;gap:17px}html[lang=es] .agency-ribbon .wrap{font-size:12px}html[lang=es] .product-note .textlink{white-space:normal;max-width:230px;flex-shrink:0}html[lang=es] .hero-note{line-height:1.6}
@media(max-width:1100px){.nav{gap:12px}.brand-logo{width:153px}.navlinks{gap:13px;font-size:13px}.navlinks>.btn{font-size:12px;padding:10px 13px}.language-switch a{padding:6px}.wrap{width:calc(100% - 40px)}}
@media(min-width:721px) and (max-width:1000px){.nav{position:relative}.nav .menu{display:block}.navlinks,.navlinks.open{position:absolute;left:0;right:0;top:90px;background:var(--blanc);z-index:20;padding:24px;border:1px solid #dce0ef;border-radius:12px;flex-direction:column;align-items:stretch;box-shadow:0 18px 35px #171a3710}.navlinks{display:none}.navlinks.open{display:flex}.nav .language-switch{margin-left:auto}.navlinks a{padding:8px}.navlinks>.btn{font-size:15px}.brand-logo{width:185px}}
@media(max-width:720px){.nav{gap:10px}.brand-logo{width:150px;height:44px}.nav .language-switch{margin-left:auto}.language-switch a{padding:6px;font-size:12px}.nav .menu{font-size:13px;padding:8px 10px}.navlinks{z-index:20}.navlinks>.btn{font-size:15px}html[lang=es] .navlinks{font-size:15px}html[lang=es] .agency-hero h1{font-size:clamp(2.7rem,9vw,4rem)}.footer .brand-logo{width:200px}.wrap{width:calc(100% - 36px)}}
@media(max-width:360px){.brand-logo{width:123px}.nav{gap:6px}.nav .menu{padding:8px}.language-switch a{padding:5px}}
/* Keep the decorative tilted ribbon inside the viewport on small screens. */
main{overflow-x:clip}

.booking-contact{margin:0 0 1.5rem}.booking-contact .small{margin-top:.75rem}.booking-link{display:block;margin:.55rem 0}
/* ---- alice-v2.css ---- */
#alice-v2-root{font-family:'DM Sans',sans-serif;color:#172137;--alice-ink:#172137;--alice-purple:#5946dc;--alice-border:#d9d9e5;font-size:14px}
#alice-v2-root [hidden]{display:none!important}.alice-launch{position:fixed;right:24px;bottom:22px;z-index:80;display:flex;align-items:center;gap:9px;min-height:56px;border:1px solid #d4d4df;border-radius:30px;padding:7px 20px 7px 8px;background:var(--blanc);color:#172137;box-shadow:0 5px 22px #17213722;font:600 15px 'DM Sans',sans-serif;cursor:pointer}.alice-launch img{object-fit:cover;border-radius:50%}.alice-launch[aria-expanded=true]{visibility:hidden}.alice-panel{position:fixed;inset:auto 22px 22px auto;margin:0;width:448px;max-width:calc(100vw - 32px);height:min(640px,calc(100dvh - 44px));max-height:none;padding:0;overflow:hidden;border:1px solid #dddce6;border-radius:20px;background:var(--blanc);box-shadow:0 8px 28px #18243a24;color:#172137;z-index:100}.alice-panel[open]{display:flex;flex-direction:column}.alice-panel::backdrop{background:#17213724}.alice-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#172137;flex-shrink:0}.alice-identity{display:flex;align-items:center;gap:10px}.alice-avatar{border-radius:50%;object-fit:cover}.alice-heading h2{font:600 20px 'DM Sans',sans-serif;letter-spacing:-.03em;margin:0;color:var(--blanc)}.alice-heading p{font-size:12px;line-height:1.4;margin:2px 0 0;color:#f1f0ff}.alice-header-actions{display:flex;gap:3px}.alice-header-actions button{width:36px;height:36px;border:1px solid #596174;border-radius:9px;background:transparent;display:grid;place-items:center;cursor:pointer}.alice-header-actions img,.alice-form button img{filter:invert(1)}.alice-notice{margin:0;padding:7px 16px;border-bottom:1px solid #eeeef4;background:#faf9fd;color:#646478;font-size:11px;line-height:1.45}.alice-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 17px;scrollbar-width:thin}.alice-log{display:flex;flex-direction:column;gap:20px}.alice-message{display:flex;align-items:flex-start;gap:10px;max-width:100%;margin:0}.alice-message img{border-radius:50%;object-fit:cover;flex-shrink:0;margin-top:2px}.alice-message p{margin:0;white-space:pre-wrap;font:400 14px/1.55 'DM Sans',sans-serif;color:#26314b;overflow-wrap:anywhere}.alice-message.user{align-self:flex-end;max-width:84%;border-radius:10px 10px 2px 10px;background:#eeebff;padding:10px 13px}.alice-message.user p{color:#4435aa}.alice-starters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 8px}.alice-starters button,.alice-secondary button,.alice-proposal-actions button{font:500 12px/1.4 'DM Sans',sans-serif;min-height:44px;padding:9px 12px;border:1px solid #ceccdf;background:var(--blanc);color:#26314b;border-radius:10px;cursor:pointer;text-align:left}.alice-starters button:hover,.alice-secondary button:hover{background:#f0edff;border-color:#8273df}.alice-secondary{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.alice-secondary:empty{display:none}.alice-proposal{padding:14px 15px;background:#f7f6fb;border:1px solid #e7e5f0;border-radius:13px;margin-top:18px}.alice-proposal-heading{display:flex;gap:10px;align-items:center}.alice-proposal-heading h3{margin:0;font:600 14px 'DM Sans',sans-serif;letter-spacing:-.02em}.alice-proposal-heading img{padding:7px;background:#e8e1ff;box-sizing:content-box;border-radius:8px}.alice-proposal>p{font-size:12px;line-height:1.5;margin:8px 0 12px;color:#57607a}.alice-proposal-actions{display:flex;gap:8px}.alice-proposal-actions button{flex:1;text-align:center;font-size:12px}.alice-proposal-actions button:first-child{background:#172137;color:var(--blanc);border-color:#172137}.alice-text-button{background:none;border:0;padding:10px 0 0;color:#5143bd;font:500 12px 'DM Sans',sans-serif;text-decoration:underline;cursor:pointer}.alice-status{margin:0;flex-shrink:0;font-size:12px;color:#5745c0;padding:0 17px}.alice-status:not(:empty){padding-block:8px}.alice-form{flex-shrink:0;border-top:1px solid #e6e4ed;padding:14px 17px 17px;margin:0}.alice-form>div{display:flex;gap:10px;align-items:flex-end}.alice-form textarea{box-sizing:border-box;resize:none;min-height:53px;max-height:120px;width:100%;border:1px solid #bfc0d5;border-radius:12px;padding:15px 13px;font:400 14px/1.5 'DM Sans',sans-serif;color:#172137;background:var(--blanc)}.alice-form button{flex-shrink:0;width:46px;height:46px;min-width:46px;border:0;border-radius:50%;display:grid;place-items:center;background:#5946dc;cursor:pointer;margin-bottom:3px}.alice-form textarea:focus{border-color:#5946dc;outline:2px solid #c1b7ff;outline-offset:2px}.alice-panel button:focus-visible{outline:3px solid #ad9dff;outline-offset:2px}.alice-panel button:disabled{opacity:.55;cursor:wait}.alice-contact,.alice-confirmation,.alice-human-options{padding:14px;margin-top:15px;border:1px solid #d8d5e6;border-radius:12px;background:#faf9fe}.alice-contact label{display:block;margin-bottom:7px;font-size:13px}.alice-contact input{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #bbb7d3;padding:10px;border-radius:8px;font:inherit}.alice-contact button,.alice-confirmation button,.alice-human-options button,.alice-demo button{min-height:44px;margin:8px 5px 0 0;border:1px solid #c5c2d8;border-radius:9px;padding:8px 11px;background:var(--blanc);color:#172137;font:inherit;cursor:pointer}.alice-confirmation h3{font-size:15px;margin:0 0 10px}.alice-confirmation p,.alice-human-options p{white-space:pre-wrap;font-size:12px;line-height:1.5;color:#3a4258}.alice-confirmation label{display:flex;gap:10px;align-items:flex-start;margin:13px 0;font-size:12px}.alice-confirmation input{width:18px;height:18px;flex-shrink:0}.alice-demo{background:#fff4da;color:#75551f;margin:0;padding:10px 16px;font-size:12px}.alice-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.alice-launch{right:14px;bottom:14px;font-size:13px;min-height:52px}.alice-panel{inset:8px;width:calc(100vw - 16px);max-width:none;height:calc(100dvh - 16px);border-radius:17px}.alice-body{padding:16px 13px}.alice-heading{padding:12px 13px}.alice-form{padding:12px 13px 15px}.alice-message p{font-size:14px}.alice-launch img{width:34px;height:34px}}

.alice-message details{margin-top:7px;color:#5745bc;font-size:12px}.alice-message summary{cursor:pointer;padding:4px 0}.alice-message details[open] p{margin-top:10px}
.alice-human-options a.alice-whatsapp{display:inline-flex;align-items:center;min-height:44px;margin:8px 5px 0 0;border:1px solid #1d8f4e;border-radius:9px;padding:8px 11px;background:#e9f8ef;color:#0f5c31;font:inherit;text-decoration:none}.alice-human-options a.alice-whatsapp[hidden]{display:none}.alice-panel a.alice-whatsapp:focus-visible{outline:3px solid #ad9dff;outline-offset:2px}

/* v0.4.8 — étape contact dans le fil ; 16 px pour éviter le zoom automatique de Safari iPhone */
.alice-ask{display:flex;flex-direction:column;gap:10px;margin-top:14px}.alice-ask[hidden]{display:none}
.alice-ask-choices{display:flex;flex-wrap:wrap;gap:8px;padding-left:44px}
.alice-ask-choices button,.alice-ask-choices a{display:inline-flex;align-items:center;min-height:44px;border:1px solid #c5c2d8;border-radius:9px;padding:8px 13px;background:var(--blanc);color:#172137;font:500 14px/1.3 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}
.alice-ask-choices a.alice-whatsapp{border-color:#1d8f4e;background:#e9f8ef;color:#0f5c31}
.alice-ask-choices :focus-visible{outline:3px solid #ad9dff;outline-offset:2px}
#alice-panel .alice-form textarea,#alice-panel .alice-contact input{font-size:16px}
/* Audit 2026-10-07 : bouton WhatsApp dans une réponse d’Alicia */
.alice-message a.alice-inline-whatsapp{display:inline-flex;align-items:center;min-height:44px;margin:8px 0 0;border:1px solid #1d8f4e;border-radius:9px;padding:8px 12px;background:#e9f8ef;color:#0f5c31;font-weight:600;text-decoration:none}.alice-message a.alice-inline-whatsapp:focus-visible{outline:3px solid #ad9dff;outline-offset:2px}

/* FR : bouton rendez-vous dans Alicia */
.alice-whatsapp.alice-rdv{background:var(--accent-peche);border-color:var(--accent-peche);color:var(--nuit-fond)}
/* ---- altiplano.css ---- */
:root{--night:#101828;--surface:#18243a;--salt:#f4f1ea;--sun:#f28c45;--altiplano:#7b68c8;--ink:#101828;--paper:#fdfcf9;--blue:#5143a3;--lime:#f28c45;--muted:#475467;--line:#d5d5db}body{background:var(--paper);color:var(--ink)}p{color:#475467}.nav,.footer{background:var(--paper)}.navlinks{color:var(--ink)}.nav .btn,.btn{color:var(--night);background:var(--sun);border-color:var(--sun);border-radius:100px}.btn:hover{color:var(--night);background:#ffab6d;border-color:#ffab6d;transform:translateY(-2px)}.btn.outline{background:transparent;color:var(--ink);border-color:#87909e}.btn.outline:hover{background:#edeaf5}.brand-logo{mix-blend-mode:multiply}.language-switch a[aria-current=true]{background:#5143a3;color:white}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5143a3;outline-offset:4px}.agency-hero{background:radial-gradient(ellipse at 83% 22%,#7b68c82b,transparent 44%),var(--night);color:#f8fafc;border-radius:0;padding-top:56px;padding-bottom:56px;position:relative;isolation:isolate}.agency-hero:before{content:'';position:absolute;inset:0 calc((1280px - 100vw)/2);min-width:100%;background:var(--night);z-index:-1}.agency-hero h1 em{color:var(--sun)}.agency-hero .lead,.agency-hero .hero-note,.agency-hero .eyebrow{color:#e1e6ef}.agency-hero strong{color:#f8fafc}.agency-hero .btn.outline{color:#f8fafc;border-color:#a0aec0}.agency-hero .btn.outline:hover{background:#25354d}.hero-art{background:transparent;padding:0;min-height:0;overflow:visible;gap:16px}.mascot-presentation{margin:0;background:#18243a;border:1px solid #394761;border-radius:24px;overflow:hidden}.mascot-presentation img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center}.mascot-presentation figcaption{padding:16px 20px;color:#f8fafc;font-size:14px;line-height:1.5}.mascot-presentation p{margin:7px 0 0;color:#d0d9e7;font-size:13px}.mascot-presentation .media-state{color:#f9b884;font-size:12px}.mascot-presentation video{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block;background:#101827}.mascot-presentation details{font-size:13px;color:#e1e6ef}.mascot-presentation summary{cursor:pointer;min-height:44px;line-height:44px}.art-services{margin:0;background:#18243a;border:1px solid #394761;border-radius:14px;color:#f8fafc;width:100%}.art-services a{border-color:#394761}.art-services a:hover{background:#23344c}.art-services span{color:#f9b884}.agency-ribbon{transform:none;background:var(--salt);color:var(--ink);border-bottom:1px solid #ddd9d1}.agency-ribbon b{color:#5143a3}.accent,.cases-section .accent{color:#5143a3}.offer-card,.expertise-card{border-radius:16px}.offer-card:nth-child(1),.expertise-card:nth-child(1){background:#f0eff8;border-color:#dedcec}.offer-card:nth-child(2),.expertise-card:nth-child(2){background:#fff1e8;border-color:#efddcf}.offer-card:nth-child(3),.expertise-card:nth-child(3){background:#f0f2e5;border-color:#dfe4cf}.cases-section{background:var(--salt)}.process-section{background:var(--surface);color:#f8fafc}.process-section p,.process-section .eyebrow{color:#e1e6ef}.process-grid article>span{color:#f9b884}.cta{background:radial-gradient(ellipse at 95% 0,#7b68c83b,transparent 55%),var(--night);color:#f8fafc;border-radius:20px}.cta p,.cta .eyebrow{color:#e1e6ef}.cta .btn{background:var(--sun);border-color:var(--sun);color:var(--night)}.reading{max-width:780px}.reading p,.reading li{color:#475467;line-height:1.8}.reading a{color:#5143a3}.pagehero .accent{color:#5143a3}.article-feature{background:#eeebf5;border-color:#d4cde4}.article-card{border-color:#ddd9d1}.pricebox,.contact-form,.aside-note,.product-note{background:#f4f1ea;border-color:#ddd9d1}.contact-form input,.contact-form select,.contact-form textarea{color:#101828;background:white;font-size:16px}.filter{min-height:44px}.filter[aria-pressed=true]{background:#5143a3;color:white;border-color:#5143a3}.project-card .meta,.article-card .meta{color:#5143a3}.menu{min-height:44px}.foot-grid p,.foot-grid .eyebrow{color:#475467}
.commercial-section{background:var(--salt);border-block:1px solid #ddd9d1}.commercial-section .section-head h2{max-width:850px}.demo-disclaimer{color:#475467;font-size:13px;line-height:1.6}.demo-scenarios,.demo-views{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.commercial-section button,.commercial-section select{font:inherit;color:#101828;background:var(--blanc);border:1px solid #9a9fa9;border-radius:12px;padding:12px 16px;min-height:44px;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.commercial-section button[aria-pressed=true]{border-color:#5143a3;background:#eeebf5;font-weight:700}.commercial-section button:disabled{opacity:.6;cursor:default}.demo-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.demo-conversation,.demo-crm{background:white;border:1px solid #d3cfdc;border-radius:18px;padding:24px;min-width:0}.demo-conversation{max-height:580px;overflow:auto}.demo-message{margin:0 0 13px;font-size:14px;line-height:1.7;padding:12px 15px;border-radius:14px;background:#f4f1ea;white-space:pre-wrap;overflow-wrap:anywhere;color:#101828}.demo-message.assistant{background:#eeebf5}.demo-message.system{background:#eaf2eb;border-left:3px solid #347048}.demo-crm h3{margin:0 0 18px}.demo-crm dl{display:grid;grid-template-columns:1fr 1.5fr;margin:0;gap:0 18px}.demo-crm dt,.demo-crm dd{margin:0;border-bottom:1px solid #e4e1e8;padding:9px 0;font-size:13px;overflow-wrap:anywhere;line-height:1.5}.demo-crm dt{color:#475467}.demo-crm dd{color:#101828}.demo-proof{font-size:12px;overflow-wrap:anywhere}.demo-funnel{display:flex;list-style:none;padding:0;gap:8px;margin:24px 0;flex-wrap:wrap;counter-reset:steps}.demo-funnel li{counter-increment:steps;color:#475467;border:1px solid #b2aeb9;border-radius:10px;padding:9px 12px;font-size:13px}.demo-funnel li:before{content:counter(steps)'. '}.demo-funnel .complete{background:#eeebf5;color:#101828}.demo-funnel [aria-current]{border:2px solid #5143a3}.demo-controls{display:flex;flex-wrap:wrap;gap:10px}.demo-controls button:nth-child(2){background:#f28c45;color:#101828;border-color:#f28c45;font-weight:700}.demo-status{font-size:13px;min-height:24px;overflow-wrap:anywhere}.demo-variants{margin-top:18px;font-size:13px}.demo-variants summary{min-height:44px;line-height:44px;cursor:pointer}.demo-views{display:none}.pilot-note{background:#eeebf5;border-left:3px solid #5143a3;padding:20px;margin-bottom:24px}.pilot-note p{margin:0;line-height:1.6}
@media(max-width:1280px){.agency-hero:before{inset:0 -44px}}@media(max-width:1000px){.agency-hero:before{inset:0 -24px}.agency-hero{gap:28px}.demo-layout{grid-template-columns:1fr 1fr}.demo-conversation,.demo-crm{padding:18px}}
@media(max-width:720px){.agency-hero{padding-top:35px;grid-template-columns:1fr}.agency-hero:before{inset:0 -18px}.hero-art{padding:0;margin:0;min-height:0;order:2}.mascot-presentation img{aspect-ratio:1;object-position:center}.agency-hero .actions{display:flex;flex-direction:column;align-items:stretch}.agency-hero h1{font-size:clamp(2.5rem,10vw,4rem)}.agency-ribbon .wrap{flex-wrap:wrap;justify-content:center}.navlinks{background:var(--paper)}.demo-views{display:flex}.demo-layout{display:block}.demo-crm{display:none}#commercial-demo[data-view=crm] .demo-crm{display:block}#commercial-demo[data-view=crm] .demo-conversation{display:none}.demo-controls{display:grid;grid-template-columns:1fr 1fr}.demo-controls button:nth-child(2){grid-column:1/-1;grid-row:1}.demo-scenarios button{flex:1}.demo-conversation{max-height:550px}.demo-crm dl{grid-template-columns:1fr 1.4fr;gap:0 12px}.demo-funnel{gap:6px}.section{padding-block:58px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.btn,.offer-card,.expertise-card{transition:none!important;transform:none!important}.hero-sculpture{animation:none!important}}
.agency-hero{overflow:visible}

/* Alicia: native playback, square poster/player and reversible loading. */
.mascot-presentation img[hidden],.mascot-presentation video[hidden]{display:none}
.mascot-presentation .mascot-media-button{margin-top:12px;min-height:44px;font:inherit;cursor:pointer}
.mascot-presentation .mascot-media-button:disabled{cursor:wait;opacity:.75}
.mascot-presentation video:focus-visible{outline:3px solid #9c8bfa;outline-offset:-3px}

/* Alicia: first in DOM on mobile, right-hand panel on desktop. */
.alicia-hero-layout{grid-template-areas:"copy media" "copy services";row-gap:16px}
.alicia-hero-layout .hero-copy{grid-area:copy}
.alicia-hero-layout .mascot-presentation{grid-area:media}
.alicia-hero-layout .art-services{grid-area:services}
.mascot-media-frame{position:relative;width:100%;aspect-ratio:1;background:#101827;overflow:hidden}
.mascot-media-frame>img,.mascot-media-frame>video{width:100%;height:100%;aspect-ratio:1;object-fit:contain}
.mascot-project-cta{position:absolute;left:5%;right:5%;bottom:60px;z-index:2;display:block;min-height:48px;padding:14px 18px;border:2px solid #f29245;border-radius:16px;background:#101827f2;color:var(--blanc);font:inherit;font-weight:600;font-size:clamp(16px,1.4vw,21px);line-height:1.35;text-align:center;cursor:pointer;box-shadow:0 8px 24px #0006}
.mascot-project-cta[hidden]{display:none}
@media(max-width:720px){.alicia-hero-layout{grid-template-areas:"media" "copy" "services";padding-top:18px;row-gap:28px}.mascot-project-cta{bottom:52px}}

/* The approved montage already draws its CTA: the real HTML button is a focusable hit target. */
.mascot-project-cta{top:77%;bottom:auto;height:10%;min-height:44px;padding:0;border:2px solid transparent;background:transparent;box-shadow:none}
.mascot-project-cta>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mascot-project-cta:hover{border-color:#f29245;background:#10182722}
.mascot-project-cta:focus-visible{outline:3px solid #9c8bfa;outline-offset:2px}
@media(max-width:720px){.mascot-project-cta{top:72%;bottom:auto;height:13%;min-height:44px}}
/* ---- atelier.css ---- */
:root{--ink:#111b30;--blue:#5946cf;--lime:#ff9145;--paper:#fffefa;--muted:#555e72;--line:#e5e2eb}body{background:#fffefa;color:#111b30}h1,h2,h3{color:#111b30}p{color:#555e72}.wrap{width:min(1376px,calc(100% - 80px))}.nav{height:88px;border:0;gap:24px}.brand-logo{width:156px;height:52px}.navlinks{margin-left:auto;gap:29px;font-size:14px}.btn,.cta .btn{background:#ff9145;color:#111b30;border-color:#ff9145;border-radius:30px;font:600 14px 'DM Sans',sans-serif;min-height:52px;gap:18px;padding:15px 24px}.btn:hover,.cta .btn:hover{background:#ffad71;border-color:#ffad71;transform:none}.btn img{vertical-align:middle}.btn.outline{background:#fffefa;color:#111b30;border-color:#bbb7ce}.navlinks a[aria-current=page]{text-decoration:underline;text-decoration-color:#5946cf;text-underline-offset:12px;text-decoration-thickness:3px}.eyebrow{color:#4b4488;font-size:11px;letter-spacing:.14em}.eyebrow:before{background:#5946cf}.atelier-hero{position:relative;min-height:585px;overflow:hidden;background:#f9f4ea}.atelier-hero-photo{position:absolute;inset:0 0 0 auto;width:100%;height:100%;object-fit:cover;object-position:center top}.atelier-hero-inner{position:relative;min-height:585px;display:flex;align-items:center}.atelier-hero-copy{width:470px;max-width:45%;padding:34px 0}.atelier-hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(68px,6.6vw,103px);font-weight:700;line-height:.97;letter-spacing:-.065em;margin:27px 0 22px}.atelier-hero h1 span{color:#5946cf}.atelier-hero-copy>p{font-size:22px;line-height:1.3;max-width:350px;color:#26314b;margin-bottom:28px}.atelier-hero .atelier-signature{font-size:17px;font-style:italic;color:#5946cf;margin:25px 0 0;max-width:290px}.atelier-tiles{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:22px;padding-bottom:15px}.atelier-tile{position:relative;height:274px;overflow:hidden;border-radius:15px;background:#152133}.atelier-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.atelier-tile:hover img{transform:scale(1.025)}.atelier-tile h2{position:absolute;left:20px;bottom:16px;max-width:340px;margin:0;font:600 24px/1.12 'DM Sans',sans-serif;letter-spacing:-.025em;color:var(--blanc);text-shadow:0 1px 5px #000;background:#172137d9;padding:10px 12px;border-radius:9px}.section{padding:74px 0}.pagehero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:55px 0 42px}.pagehero:not(:has(.atelier-page-photo)){display:block}.atelier-page-photo{width:100%;height:360px;object-fit:cover;border-radius:22px}.atelier-page-copy{min-width:0}.pagehero h1{font-size:clamp(42px,4.8vw,70px);line-height:1.03}.pagehero p{font-size:19px}.section-head h2{font-size:clamp(34px,4vw,55px)}.expertise-card,.offer-card,.article-card,.project-card{background:var(--blanc);border-color:#e5e2eb;border-radius:20px;box-shadow:none}.expertise-card:nth-child(2),.offer-card:nth-child(2){background:#fff5eb;border-color:#f0e1d4}.expertise-card:nth-child(3),.offer-card:nth-child(3){background:#f5f2fe;border-color:#e9e3f8}.expertise-card h3,.offer-card h3{font-size:29px}.expertise-card p,.case-copy p,.project-card p{color:#555e72}.expertise-card .card-link,.textlink,.reading a{color:#4e3fa7}.cases-section{background:#f7f4ec}.process-section{background:#172137;color:var(--blanc)}.process-section h2,.process-section h3{color:var(--blanc)}.process-grid article>span{color:#ff9145}.cta{background:#f1edf9;border:1px solid #e4dcf2;border-radius:24px;color:#111b30}.cta h2{font-size:clamp(32px,3.8vw,54px)}.footer{border-color:#e5e2eb;margin-top:25px;padding-bottom:55px}.foot-grid{padding-top:35px}.foot-grid p{font-size:14px}.social-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:24px 0 18px;border-top:1px solid #e5e2eb}.social-links>span{font-size:13px;margin-right:auto;color:#555e72}.social-link{display:flex;gap:8px;align-items:center;font-size:13px;min-height:40px}.social-link img{object-fit:contain}.locale-attribution{font-size:10px;color:#747184;margin-bottom:15px}.locale-attribution a{text-decoration:underline}.foot-bottom{font-size:12px}.reading{max-width:840px}.founder-portrait{border-radius:20px}.founder-portrait>div{background:#172137e8;padding:20px}.founder-portrait strong{color:var(--blanc)}.founder-portrait span{color:#f2f0f8}.menu{color:#111b30;border-color:#b6afc8}.pricebox,.contact-form{background:#f6f3fc}.accent{color:#5946cf}.article-feature{background:#f1edf9;border-color:#e4dcf2}.article-feature h2{color:#111b30}html[lang=es] .atelier-hero h1{font-size:clamp(60px,6vw,91px)}html[lang=es] .atelier-hero-copy{width:500px;max-width:44%}html[lang=es] .navlinks{font-size:14px;gap:25px}.atelier-tile:focus-visible{outline:3px solid #5946cf;outline-offset:4px}button:focus-visible,a:focus-visible{outline-color:#5946cf}
@media(min-width:721px) and (max-width:1050px){.nav .menu{display:block;margin-left:auto}.navlinks{display:none}.navlinks.open{display:flex;position:absolute;left:0;right:0;top:87px;flex-direction:column;align-items:stretch;background:#fffefa;padding:24px;border:1px solid #e5e2eb;border-radius:12px;z-index:30}.atelier-hero-copy{max-width:49%;width:440px}.atelier-hero h1{font-size:75px}.atelier-hero-copy>p{font-size:20px}.atelier-hero-inner,.atelier-hero{min-height:560px}.atelier-page-photo{height:290px}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.nav{height:76px}.brand-logo{width:142px}.nav .menu{margin-left:auto}.navlinks{background:#fffefa}.navlinks.open{z-index:30}.atelier-hero{min-height:0}.atelier-hero-inner{min-height:0;display:block}.atelier-hero-photo{position:relative;width:100%;height:auto;aspect-ratio:1.45;object-position:60% center;display:block}.atelier-hero-inner{background:#fffefa}.atelier-hero-copy,html[lang=es] .atelier-hero-copy{max-width:none;width:100%;padding:28px 0 30px}.atelier-hero h1,html[lang=es] .atelier-hero h1{font-size:clamp(48px,12.5vw,73px);margin:20px 0}.atelier-hero-copy>p{font-size:20px;max-width:370px}.atelier-hero .atelier-signature{font-size:15px;margin-top:18px}.atelier-tiles{grid-template-columns:1fr;padding-top:8px;gap:16px}.atelier-tile{height:240px}.atelier-tile h2{font-size:22px}.pagehero{grid-template-columns:1fr;padding-top:35px;gap:22px}.atelier-page-photo{height:230px}.pagehero h1{font-size:clamp(39px,10vw,55px)}.section{padding:50px 0}.social-links{gap:15px}.social-links>span{width:100%}.social-link{font-size:12px}.footer{padding-bottom:92px}.cta{padding:25px}.atelier-hero-copy .eyebrow{font-size:10px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.atelier-tile img{transition:none}.atelier-tile:hover img{transform:none}}

@media(min-width:1100px){body.alice-chat-open .atelier-tiles{width:calc(100% - 560px);max-width:936px;margin-left:max(40px,calc((100% - 1376px)/2));margin-right:auto;grid-template-columns:1.15fr 1fr}body.alice-chat-open .atelier-tile h2{font-size:21px;max-width:290px}}

@media(min-width:721px){.atelier-hero-inner{align-items:flex-start;min-height:574px}.atelier-hero{min-height:574px}.atelier-hero-copy{padding-top:20px;padding-bottom:20px}.atelier-hero-copy>.eyebrow{display:none}.atelier-hero h1{margin-top:9px}}
.atelier-header-badge{font:600 9px/1.4 'DM Sans',sans-serif;letter-spacing:.13em;color:#4b4488;max-width:360px;white-space:nowrap;margin-left:25px}.atelier-header-badge:before{content:none}@media(max-width:1150px){.atelier-header-badge{display:none}}

/* The light CTA surface overrides Altiplano; its small heading needs dark ink. */
.cta .eyebrow { color:#4b4488; }
/* Offer titles are H2s below the page H1, with their existing visual size. */
.offer-card h2 { font-size:29px; font-weight:600; margin:18px 0; }

.expertise-card h2 { font-size:29px; font-weight:600; line-height:1.12; letter-spacing:-.04em; margin:18px 0; }
.legal-ui > small { color:#665d73; }
.legal-item span { color:#69508f; }
/* ---- realisations.css ---- */
/* Gallery only: preserve the existing home, detail pages, Alice and navigation. */
body.page-realisations{--ink:#111b30;--paper:#fffefa;--orange:#ff8940;background:var(--paper);color:var(--ink)}
body.page-realisations .wrap{width:min(1376px,calc(100% - 72px))}
body.page-realisations .nav{height:96px;gap:24px}
body.page-realisations .brand-logo{width:190px;height:64px}
body.page-realisations .atelier-header-badge{display:none}
body.page-realisations .navlinks{gap:28px;font-size:14px}
body.page-realisations .navlinks a[aria-current=page]{text-decoration-color:#f97829;text-underline-offset:10px}
body.page-realisations .btn{background:var(--orange);border-color:var(--orange);color:#111b30}
.page-realisations .gallery-intro{display:grid;grid-template-columns:1.75fr 1fr;align-items:center;gap:38px;padding:32px 0 24px}
.page-realisations .gallery-intro h1{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.055em;font-size:clamp(38px,4.7vw,65px);line-height:1.05;margin:0;color:var(--ink)}
.page-realisations .gallery-intro p{border-left:1px solid #dcdde3;padding-left:34px;font-size:17px;line-height:1.55;max-width:420px;margin:0;color:#555e72}
.page-realisations .filters{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dedee4;padding:10px 0 13px;margin:0 0 25px;flex-wrap:wrap}
.page-realisations .filter{background:transparent;border:0;border-radius:28px;color:#172137;padding:13px 20px;font:500 15px/1.3 'DM Sans',sans-serif;min-height:46px;cursor:pointer}
.page-realisations .filter[aria-pressed=true]{background:var(--orange);color:#111b30}
.page-realisations .filter:hover{background:#fff0e3;color:#111b30}
.page-realisations .filter[aria-pressed=true]:hover{background:#ffa666}
.page-realisations .gallery-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 22px;margin-bottom:34px}
.page-realisations .gallery-featured{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:3px}
.page-realisations .gallery-row:not(:has(.realisation-card:not([hidden]))){display:none}
.page-realisations .realisation-card{min-width:0;background:none;border:0;box-shadow:none;border-radius:0;display:flex;flex-direction:column;align-items:flex-start}
.page-realisations .realisation-card[hidden]{display:none!important}
.page-realisations .realisation-cover{position:relative;display:block;width:100%;aspect-ratio:16/17;overflow:hidden;border-radius:5px;background:#f7f3ec}
.page-realisations .realisation-cover>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.page-realisations .realisation-cover:hover>img{transform:scale(1.025)}
.page-realisations .realisation-badge{position:absolute;bottom:12px;left:12px;max-width:calc(100% - 24px);padding:5px 10px;border-radius:20px;background:#172137df;border:1px solid #ffffff70;color:var(--blanc);font:400 12px/1.4 'DM Sans',sans-serif}
.page-realisations .realisation-title{font:700 28px/1.14 'Space Grotesk',sans-serif;letter-spacing:-.045em;color:#111b30;margin:18px 0 7px}
.page-realisations .realisation-title a{color:inherit;text-decoration:none}
.page-realisations .realisation-title a:hover{text-decoration:underline;text-underline-offset:4px}
.page-realisations .realisation-meta{font:500 15px/1.4 'DM Sans',sans-serif;color:#4b4488;margin:0 0 7px}
.page-realisations .realisation-description{font:400 14px/1.55 'DM Sans',sans-serif;color:#555e72;margin:0 0 13px;max-width:60ch}
.page-realisations .realisation-link{display:inline-flex;align-items:center;gap:9px;border:0;border-bottom:1px solid #b74413;background:none;color:#a83e11;font:600 16px/1.5 'DM Sans',sans-serif;padding:0 0 1px;cursor:pointer;margin-top:auto;text-decoration:none}
.page-realisations .realisation-link:hover{color:#722506;border-bottom-color:#722506}
.page-realisations .realisation-link img{width:17px;height:17px}
.page-realisations .realisation-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:auto}
.page-realisations .realisation-secondary{font-size:13px;color:#555e72;text-decoration:underline;text-underline-offset:3px;min-height:30px;display:inline-flex;align-items:center}
.page-realisations .realisation-wide .realisation-cover{aspect-ratio:1.75}
.page-realisations .gallery-other .realisation-cover{aspect-ratio:1.5}
.page-realisations .gallery-other{padding-top:32px;border-top:1px solid #e5e2eb;row-gap:38px}
.page-realisations .gallery-other .realisation-title{font-size:25px}
.page-realisations .alice-preview{width:100%;min-height:0;aspect-ratio:1.75;background:#f8f5f0;border-radius:5px;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.page-realisations .alice-preview-heading{display:flex;gap:24px;align-items:center}
.page-realisations .alice-preview-heading>img{width:103px;height:103px;border-radius:50%;object-fit:cover;object-position:center 20%;background:#e9e8fa}
.page-realisations .alice-preview-heading h2{font:700 32px/1.08 'Space Grotesk',sans-serif;letter-spacing:-.035em;margin:0;color:#111b30}
.page-realisations .alice-preview-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.page-realisations .alice-preview-choices a{border:1px solid #d9d8e2;border-radius:12px;min-height:43px;padding:9px 12px;display:flex;align-items:center;font:500 12px/1.3 'DM Sans',sans-serif;color:#172137;background:#fffefa;text-decoration:none}
.page-realisations .alice-preview-choices a:hover{border-color:#6b59b4;background:#f0ecfa}
.page-realisations .alice-preview-start{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;border:1px solid #d9d8e2;border-radius:20px;padding:9px 14px;background:#fffefa;color:#172137;font:500 14px/1.3 'DM Sans',sans-serif;cursor:pointer}
.page-realisations .alice-preview-start:hover{background:#fff0e3;border-color:#b75824}
.page-realisations .alice-preview-start img{width:17px;height:17px}
.page-realisations .section{padding:46px 0 50px}
.page-realisations .cta{background:#f8f2ea;color:#111b30}
.page-realisations a:focus-visible,.page-realisations button:focus-visible{outline:3px solid #5946cf;outline-offset:4px}
@media(min-width:1081px){body.page-realisations .nav .menu{display:none}body.page-realisations .navlinks{display:flex}}
@media(max-width:1080px){body.page-realisations .nav .menu{display:block;margin-left:auto}body.page-realisations .navlinks{display:none}body.page-realisations .navlinks.open{display:flex;position:absolute;left:0;right:0;top:95px;flex-direction:column;align-items:stretch;background:#fffefa;padding:24px;border:1px solid #e5e2eb;border-radius:12px;z-index:30}.page-realisations .gallery-intro{gap:25px;grid-template-columns:1.5fr 1fr}.page-realisations .gallery-intro p{font-size:16px;padding-left:25px}.page-realisations .filters{gap:8px}.page-realisations .filter{font-size:14px;padding:12px 15px}.page-realisations .realisation-title{font-size:25px}.page-realisations .alice-preview{padding:18px;gap:13px;aspect-ratio:auto;min-height:290px}.page-realisations .alice-preview-heading>img{width:80px;height:80px}.page-realisations .alice-preview-heading h2{font-size:28px}}
@media(max-width:760px){body.page-realisations .wrap{width:calc(100% - 36px)}body.page-realisations .nav{height:76px}body.page-realisations .brand-logo{width:160px;height:52px}body.page-realisations .navlinks.open{top:75px}.page-realisations .gallery-intro{grid-template-columns:1fr;gap:18px;padding:26px 0 19px}.page-realisations .gallery-intro h1{font-size:clamp(36px,7vw,52px);max-width:670px}.page-realisations .gallery-intro p{border:0;padding:0;font-size:16px;max-width:46ch}.page-realisations .filters{justify-content:flex-start;gap:6px;margin-bottom:20px}.page-realisations .filter{font-size:13px;padding:10px 13px;min-height:43px}.page-realisations .gallery-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.page-realisations .gallery-featured{grid-template-columns:1fr 1fr}.page-realisations .realisation-title{font-size:24px}.page-realisations .realisation-description{font-size:14px}.page-realisations .alice-preview-heading{gap:14px}.page-realisations .alice-preview-heading>img{width:65px;height:65px}.page-realisations .alice-preview-heading h2{font-size:24px}.page-realisations .alice-preview-choices{grid-template-columns:1fr}.page-realisations .alice-preview{min-height:385px}.page-realisations .realisation-wide .realisation-cover{aspect-ratio:auto;height:385px}.page-realisations .realisation-wide .realisation-cover>img{object-fit:contain}.page-realisations .realisation-badge{font-size:11px;bottom:9px;left:9px;max-width:calc(100% - 18px)}}
@media(max-width:560px){.page-realisations .gallery-row,.page-realisations .gallery-featured{grid-template-columns:1fr;row-gap:34px}.page-realisations .gallery-intro h1{font-size:42px}.page-realisations .realisation-cover{aspect-ratio:1.12}.page-realisations .realisation-cover>img{object-fit:contain}.page-realisations .gallery-other .realisation-cover{aspect-ratio:1.5}.page-realisations .gallery-other .realisation-cover>img{object-fit:cover}.page-realisations .realisation-wide .realisation-cover{height:auto;aspect-ratio:1.75}.page-realisations .realisation-title{font-size:28px}.page-realisations .realisation-meta{font-size:15px}.page-realisations .realisation-description{font-size:15px}.page-realisations .alice-preview{min-height:0;aspect-ratio:auto;padding:23px;gap:19px}.page-realisations .alice-preview-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.page-realisations .alice-preview-heading>img{width:85px;height:85px}.page-realisations .alice-preview-heading h2{font-size:28px}.page-realisations .realisation-link{min-height:35px}.page-realisations .section{padding:18px 0 40px}}
@media(prefers-reduced-motion:reduce){.page-realisations .realisation-cover>img{transition:none}.page-realisations .realisation-cover:hover>img{transform:none}}
@media(max-width:560px){.page-realisations #alice-open{width:56px;height:56px;min-width:0;padding:6px;gap:0}.page-realisations #alice-open-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
/* Keep the shared language choice inside the narrowest gallery header. */
@media(max-width:650px) {
 body.page-realisations .nav { gap:10px; }
 body.page-realisations .nav .brand-logo { width:128px; height:44px; }
 body.page-realisations .nav .menu { margin-left:0; }
}
/* ---- language-selector.css ---- */
/* One visible language choice on every route; retains the approved FR/ES control. */
.nav > .home-languages { display:flex; gap:2px; align-items:center; flex-shrink:0; }
.nav > .home-languages a { display:grid; place-items:center; width:38px; min-height:44px; font:600 12px 'DM Sans',sans-serif; color:#555e72; border-radius:5px; }
.nav > .home-languages a[aria-current=page] { color:#4e3fa7; text-decoration:underline; text-underline-offset:7px; }
.home-refinement .nav > .home-languages a,.agency-refinement .nav > .home-languages a { color:var(--texte-clair-2); }
.home-refinement .nav > .home-languages a[aria-current=page],.agency-refinement .nav > .home-languages a[aria-current=page] { color:var(--accent-peche); }
.nav > .home-languages a:focus-visible { outline:3px solid currentColor; outline-offset:2px; }
@media(max-width:1400px) { .nav .atelier-header-badge { display:none; } }
@media(max-width:1050px) {
 .nav { position:relative; }
 .nav > .home-languages { margin-left:auto; }
 .nav .menu,.agency-refinement .nav .menu { display:block; order:4; margin-left:0; flex-shrink:0; }
 .navlinks { display:none; }
 .navlinks.open { display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; z-index:90; }
}
@media(max-width:650px) {
 .nav,.home-header .nav,.agency-refinement .nav { gap:10px; }
 .nav .brand-logo { width:128px; height:44px; }
 .nav > .home-languages a { width:32px; }
 .nav .menu { padding-inline:10px; }
}
/* ---- services-navigation.css ---- */
/* Shared navigation: the established Studio nocturne palette, isolated to the header. */
body > header.service-navigation.service-navigation { --nav-bg:var(--nuit-fond); --nav-panel:var(--nuit-fond-2); --nav-text:var(--texte-clair); --nav-muted:var(--texte-clair-2); --nav-accent:var(--accent-peche); width:100%; max-width:none; margin:0; padding:0; background:var(--nav-bg); color:var(--nav-text); border-bottom:1px solid var(--nuit-gris-3); position:relative; z-index:100; }
body > header.service-navigation.service-navigation .nav { position:relative; width:min(1240px,calc(100% - 80px)); height:86px; margin:0 auto; padding:0; display:flex; align-items:center; gap:24px; background:transparent; border:0; }
body > header.service-navigation.service-navigation .brand { flex-shrink:0; margin:0; }
body > header.service-navigation.service-navigation .brand-logo { display:block; width:144px; height:48px; object-fit:contain; border-radius:6px; mix-blend-mode:normal; }
body > header.service-navigation.service-navigation .atelier-header-badge { display:none; }
body > header.service-navigation.service-navigation .navlinks { display:flex; position:static; align-items:center; margin:0 0 0 auto; padding:0; gap:22px; color:var(--nav-text); background:transparent; border:0; }
body > header.service-navigation.service-navigation .navlinks > a:not(.btn),body > header.service-navigation.service-navigation .services-menu > summary { display:flex; align-items:center; min-height:46px; padding:0; color:var(--nav-text); font:500 14px/1.5 'DM Sans',sans-serif; white-space:nowrap; text-decoration:none; }
body > header.service-navigation.service-navigation .navlinks > a[aria-current=page] { text-decoration:underline; text-underline-offset:7px; text-decoration-color:var(--nav-accent); }
body > header.service-navigation.service-navigation .navlinks > a:hover,body > header.service-navigation.service-navigation summary:hover { color:var(--nav-accent); }
body > header.service-navigation.service-navigation .navlinks > .btn { display:flex; align-items:center; justify-content:center; gap:12px; min-height:46px; margin:0; padding:11px 17px; border:1px solid var(--nav-accent); border-radius:8px; color:var(--nav-bg); background:var(--nav-accent); font:700 14px/1.5 'DM Sans',sans-serif; white-space:nowrap; transform:none; }
body > header.service-navigation.service-navigation .navlinks > .btn:hover { background:var(--accent-peche-clair); border-color:var(--accent-peche-clair); }
body > header.service-navigation.service-navigation .home-languages { display:flex; align-items:center; flex-shrink:0; gap:0; margin:0; }
body > header.service-navigation.service-navigation .home-languages a { display:grid; place-items:center; width:32px; min-height:44px; padding:0; color:var(--nav-muted); font:600 12px/1.5 'DM Sans',sans-serif; }
body > header.service-navigation.service-navigation .home-languages a[aria-current=page] { color:var(--nav-accent); text-decoration:underline; text-underline-offset:7px; }
body > header.service-navigation.service-navigation .menu { display:none; }
body > header.service-navigation.service-navigation .services-menu { margin:0; padding:0; border:0; position:static; }
body > header.service-navigation.service-navigation .services-menu > summary { list-style:none; cursor:pointer; gap:7px; border:0; }
body > header.service-navigation.service-navigation summary::-webkit-details-marker { display:none; }
body > header.service-navigation.service-navigation summary .services-chevron { width:13px; height:13px; transition:transform .18s; }
body > header.service-navigation.service-navigation .services-menu[open] > summary { color:var(--nav-accent); }
body > header.service-navigation.service-navigation .services-menu[open] .services-chevron { transform:rotate(180deg); }
body > header.service-navigation.service-navigation .services-panel { position:absolute; top:calc(100% + 10px); left:0; right:0; padding:28px 30px 0; color:var(--nav-text); background:var(--nav-panel); border:1px solid var(--nuit-gris-1); border-radius:16px; box-shadow:0 24px 48px #0005; }
body > header.service-navigation.service-navigation .services-panel-title { margin:0 0 24px; color:var(--nav-muted); font:500 12px/1.5 'DM Sans',sans-serif; letter-spacing:.09em; text-transform:uppercase; }
body > header.service-navigation.service-navigation .services-links { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; margin:0; }
body > header.service-navigation.service-navigation .services-links > li { margin:0; padding:0 24px; border-left:1px solid var(--nuit-gris-1); }
body > header.service-navigation.service-navigation .services-links > li:first-child { padding-left:0; border-left:0; }
body > header.service-navigation.service-navigation .services-links > li:last-child { padding-right:0; }
body > header.service-navigation.service-navigation .service-choice { display:flex; flex-direction:column; position:relative; height:100%; min-height:190px; padding:8px 12px; margin:-8px -12px; border-radius:9px; text-decoration:none; color:var(--nav-text); }
body > header.service-navigation.service-navigation .service-choice:hover { background:var(--nuit-surface); }
body > header.service-navigation.service-navigation .service-choice > svg { width:28px; height:28px; margin:0 0 20px; color:var(--nav-accent); }
body > header.service-navigation.service-navigation .service-choice strong { font:600 20px/1.35 'Manrope',sans-serif; letter-spacing:-.03em; color:var(--nav-text); margin-bottom:9px; }
body > header.service-navigation.service-navigation .service-choice .service-description { color:var(--nav-muted); font:400 15px/1.55 'DM Sans',sans-serif; max-width:31ch; }
body > header.service-navigation.service-navigation .service-choice .service-action { display:flex; align-items:center; gap:10px; margin-top:auto; padding-top:20px; color:var(--nav-accent); font:600 13px/1.5 'DM Sans',sans-serif; }
body > header.service-navigation.service-navigation .service-choice[aria-current=page] { background:var(--nuit-surface); box-shadow:inset 3px 0 var(--nav-accent); }
body > header.service-navigation.service-navigation .services-panel-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:28px; padding:17px 0; border-top:1px solid var(--nuit-gris-1); }
body > header.service-navigation.service-navigation .services-panel-footer a { display:inline-flex; align-items:center; gap:12px; min-height:44px; font:600 14px/1.5 'DM Sans',sans-serif; color:var(--nav-text); text-decoration:none; }
body > header.service-navigation.service-navigation .services-panel-footer a:last-child { color:var(--nav-muted); font-weight:400; }
body > header.service-navigation.service-navigation .services-panel-footer a:hover { color:var(--nav-accent); text-decoration:underline; text-underline-offset:5px; }
body > header.service-navigation.service-navigation :is(a,button,summary):focus-visible { outline:3px solid var(--nav-accent); outline-offset:4px; }
body > header.service-navigation.service-navigation .navlinks > .btn:focus-visible { outline-color:white; }
.services-overview .services-overview-intro { width:min(1240px,calc(100% - 96px)); margin:auto; padding:72px 0 50px; }
.services-overview-intro .eyebrow { color:var(--accent-peche); margin:0 0 24px; }
.services-overview-intro h1 { color:var(--texte-clair); font:650 clamp(38px,4.5vw,64px)/1.12 'Manrope',sans-serif; letter-spacing:-.045em; max-width:820px; margin:0 0 24px; }
.services-overview-intro .lead { color:var(--texte-clair-2); font:400 19px/1.65 'DM Sans',sans-serif; max-width:740px; }
@media(max-width:1120px) {
 body > header.service-navigation.service-navigation .nav { width:calc(100% - 48px); gap:16px; }
 body > header.service-navigation.service-navigation .menu { display:block; order:4; min-width:56px; min-height:44px; padding:9px 12px; margin:0; color:var(--nav-text); border:1px solid #718096; border-radius:7px; background:transparent; font:500 14px/1.5 'DM Sans',sans-serif; }
 body > header.service-navigation.service-navigation .home-languages { margin-left:auto; }
 body > header.service-navigation.service-navigation .navlinks { display:none; }
 body > header.service-navigation.service-navigation .navlinks.open { display:flex; position:absolute; top:calc(100% + 8px); left:0; right:0; flex-direction:column; align-items:stretch; gap:0; max-height:calc(100vh - 110px); max-height:calc(100dvh - 110px); overflow-y:auto; overscroll-behavior:contain; margin:0; padding:12px 20px 16px; background:var(--nav-panel); border:1px solid var(--nuit-gris-1); border-radius:14px; box-shadow:0 18px 42px #0005; }
 body > header.service-navigation.service-navigation .navlinks > a:not(.btn),body > header.service-navigation.service-navigation .services-menu > summary { min-height:52px; font-size:16px; }
 body > header.service-navigation.service-navigation .services-menu > summary { justify-content:space-between; }
 body > header.service-navigation.service-navigation .navlinks > .btn { position:sticky; bottom:0; margin:12px 0 0; min-height:48px; flex-shrink:0; box-shadow:0 0 0 6px var(--nav-panel); }
 body > header.service-navigation.service-navigation .services-panel { position:static; padding:4px 0 10px; border:0; border-bottom:1px solid var(--nuit-gris-1); border-radius:0; box-shadow:none; background:transparent; }
 body > header.service-navigation.service-navigation .services-panel-title { display:none; }
 body > header.service-navigation.service-navigation .services-links { display:block; }
 body > header.service-navigation.service-navigation .services-links > li,body > header.service-navigation.service-navigation .services-links > li:first-child,body > header.service-navigation.service-navigation .services-links > li:last-child { border:0; padding:0; }
 body > header.service-navigation.service-navigation .service-choice { display:grid; grid-template-columns:22px 1fr; gap:3px 12px; height:auto; min-height:0; margin:0 -8px; padding:13px 8px; }
 body > header.service-navigation.service-navigation .service-choice > svg { grid-column:1; grid-row:1/3; width:21px; height:21px; margin:2px 0 0; }
 body > header.service-navigation.service-navigation .service-choice strong { grid-column:2; font-size:16px; margin:0; }
 body > header.service-navigation.service-navigation .service-description { grid-column:2; font-size:13px!important; max-width:none!important; }
 body > header.service-navigation.service-navigation .service-action { display:none!important; }
 body > header.service-navigation.service-navigation .services-panel-footer { display:flex; flex-direction:column; align-items:flex-start; gap:0; margin:8px 0 0; padding:7px 0 0; }
 .services-overview .services-overview-intro { width:calc(100% - 48px); padding-top:44px; }
}
@media(max-width:650px) {
 body > header.service-navigation.service-navigation .nav { width:calc(100% - 40px); height:78px; gap:8px; }
 body > header.service-navigation.service-navigation .brand-logo { width:128px; height:44px; }
 body > header.service-navigation.service-navigation .navlinks.open { left:-4px; right:-4px; padding-inline:16px; }
 .services-overview .services-overview-intro { width:calc(100% - 40px); padding:38px 0 30px; }
 .services-overview-intro .lead { font-size:17px; }
}
@media(max-width:360px) {
 body > header.service-navigation.service-navigation .nav { width:calc(100% - 28px); gap:5px; }
 body > header.service-navigation.service-navigation .brand-logo { width:112px; }
 body > header.service-navigation.service-navigation .home-languages a { width:30px; }
}
@media(prefers-reduced-motion:reduce) { body > header.service-navigation.service-navigation summary .services-chevron { transition:none; } }
/* The overview goes directly from its introduction to the three services. */
.services-overview .services-overview-intro { padding-top:48px; padding-bottom:20px; }
.services-overview-intro .eyebrow::before { display:none; }
.services-overview .home-services { padding-top:28px; }
.services-overview .home-service h2 { color:var(--texte-clair); font:600 27px/1.3 'Manrope',sans-serif; letter-spacing:-.035em; min-height:71px; margin:0 0 18px; max-width:300px; }
@media(max-width:650px) { .services-overview .home-service h2 { min-height:0; font-size:25px; } }

/* Detailed service choices, grouped by the three established areas. */
body > header.service-navigation.service-navigation .service-choice { height:auto; min-height:145px; }
body > header.service-navigation.service-navigation .service-choice > svg { margin-bottom:12px; }
body > header.service-navigation.service-navigation .service-details { display:flex; flex-direction:column; list-style:none; margin:18px 0 0; padding:12px 0 0; border-top:1px solid var(--nuit-gris-1); gap:2px; }
body > header.service-navigation.service-navigation .service-details > li { margin:0; padding:0; border:0; }
body > header.service-navigation.service-navigation .service-details a { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:46px; padding:8px 10px; margin:0 -10px; border-radius:6px; color:var(--nav-text); text-decoration:none; font:500 15px/1.4 'DM Sans',sans-serif; }
body > header.service-navigation.service-navigation .service-details a > span:last-child { color:var(--nav-accent); flex-shrink:0; }
body > header.service-navigation.service-navigation .service-details a:hover { color:var(--nav-accent); background:var(--nuit-surface); }
body > header.service-navigation.service-navigation .service-details a[aria-current=location] { background:var(--nuit-surface); box-shadow:inset 3px 0 var(--nav-accent); }
body > header.service-navigation.service-navigation .services-panel { max-height:calc(100dvh - 110px); overflow-y:auto; overscroll-behavior:contain; }
.service-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding-block:28px 48px; }
.service-detail-grid article { padding-top:24px; border-top:1px solid var(--nuit-gris-1); scroll-margin-top:28px; }
.service-detail-grid .number { color:#4b4488; font:500 13px/1.5 'DM Sans',sans-serif; }
.service-detail-grid h2 { font:600 25px/1.3 'Manrope',sans-serif; letter-spacing:-.035em; color:#111b30; margin:14px 0; }
.service-detail-grid p { color:#555e72; font:400 16px/1.65 'DM Sans',sans-serif; margin:0; }
.expertise-card[id] { scroll-margin-top:28px; }
@media(max-width:1120px) {
 body > header.service-navigation.service-navigation .service-choice { min-height:0; padding:12px 8px 6px; }
 body > header.service-navigation.service-navigation .service-choice > svg { margin:2px 0 0; }
 body > header.service-navigation.service-navigation .service-choice .service-description { display:none; }
 body > header.service-navigation.service-navigation .service-details { margin:0 0 12px 33px; padding:0; border:0; gap:0; }
 body > header.service-navigation.service-navigation .service-details a { font-size:14px; min-height:44px; }
 body > header.service-navigation.service-navigation .services-panel { max-height:none; overflow:visible; }
 body > header.service-navigation.service-navigation .navlinks.open { scroll-padding-block:12px 76px; }
}
@media(max-width:700px) { .service-detail-grid { grid-template-columns:1fr; gap:24px; } }

/* r10 — Menu Servicios à 4 offres avec prix de départ (CDC du 06/10/2026). */
html[lang=fr] .solo-es,html[lang=es] .solo-fr{display:none!important}
body > header.service-navigation.service-navigation .services-offers { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
body > header.service-navigation.service-navigation .services-offers > li,body > header.service-navigation.service-navigation .services-offers > li:first-child,body > header.service-navigation.service-navigation .services-offers > li:last-child { padding:0; border:0; }
body > header.service-navigation.service-navigation .services-offers .service-choice { margin:0; min-height:250px; padding:20px 18px 18px; border:1px solid #2f3c51; border-radius:12px; background:#151f2d; }
body > header.service-navigation.service-navigation .services-offers .service-choice:hover { background:#1f2b3d; border-color:var(--nuit-gris-1); }
body > header.service-navigation.service-navigation .services-offers .service-choice[aria-current=page] { background:var(--nuit-surface); border-color:var(--nav-accent); box-shadow:none; }
body > header.service-navigation.service-navigation .services-offers .service-choice strong { font-size:19px; padding-right:64px; }
body > header.service-navigation.service-navigation .services-offers .service-description { font-size:14.5px; }
body > header.service-navigation.service-navigation .service-price { display:block; margin-top:auto; padding-top:14px; border-top:1px solid #2f3c51; color:var(--nav-text); font:600 15px/1.45 'DM Sans',sans-serif; font-variant-numeric:tabular-nums; }
body > header.service-navigation.service-navigation .services-offers .service-action { margin-top:6px; padding-top:0; }
body > header.service-navigation.service-navigation .service-badge { position:absolute; top:16px; right:14px; padding:3px 9px; border-radius:999px; background:var(--nav-accent); color:var(--nav-bg); font:700 11px/1.4 'DM Sans',sans-serif; letter-spacing:.03em; }
body > header.service-navigation.service-navigation .services-panel-footer a:last-child { color:var(--nav-accent); font-weight:600; }
@media(max-width:1120px) {
 body > header.service-navigation.service-navigation .services-offers { display:block; }
 body > header.service-navigation.service-navigation .services-offers .service-choice { display:grid; grid-template-columns:22px minmax(0,1fr); gap:2px 12px; min-height:0; margin:0 -8px; padding:12px 8px; border:0; border-radius:9px; background:transparent; }
 body > header.service-navigation.service-navigation .services-offers .service-choice[aria-current=page] { background:var(--nuit-surface); box-shadow:inset 3px 0 var(--nav-accent); }
 body > header.service-navigation.service-navigation .services-offers .service-choice strong { padding-right:0; font-size:16px; }
 body > header.service-navigation.service-navigation .service-price { grid-column:2; margin:0; padding:0; border:0; color:var(--nav-muted); font:400 13.5px/1.45 'DM Sans',sans-serif; }
 body > header.service-navigation.service-navigation .service-badge { display:none; }
}

/* r10 — page Tous nos services : 4 offres. */
.services-overview .home-services-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:1120px) { .services-overview .home-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .services-overview .home-services-grid { grid-template-columns:minmax(0,1fr); } }
/* ---- home-continuation.css ---- */
/* Step 6: scoped to the homepage's method, journal, contact and footer. */
.home-refinement { background:var(--home-bg); }
.home-continuation-inner { width:min(1240px,calc(100% - 96px)); margin:auto; }
.home-method,.home-journal { color:var(--home-text); padding:76px 0; background:var(--home-bg); scroll-margin-top:28px; }
.home-continuation-heading { display:grid; grid-template-columns:1.25fr 1fr; gap:80px; align-items:end; margin-bottom:42px; }
.home-method .home-continuation-eyebrow,.home-journal .home-continuation-eyebrow,.home-contact .home-continuation-eyebrow { color:var(--home-accent); font:600 12px/1.5 'DM Sans',sans-serif; letter-spacing:.1em; margin:0 0 20px; }
.home-method h2,.home-journal h2,.home-contact h2 { color:var(--home-text); font:650 clamp(32px,3.5vw,46px)/1.18 'Manrope',sans-serif; letter-spacing:-.045em; margin:0; }
.home-method h2 span,.home-journal h2 span,.home-contact h2 span { color:var(--home-accent); }
.home-continuation-heading > p { color:var(--home-muted); font:400 17px/1.7 'DM Sans',sans-serif; max-width:440px; margin:0 0 4px; }
.home-method-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; margin:0; list-style:none; border-top:1px solid var(--nuit-gris-2); }
.home-method-grid > li { display:flex; flex-direction:column; min-width:0; margin:0; padding:28px 25px 0; border-left:1px solid var(--nuit-gris-2); }
.home-method-grid > li:first-child { padding-left:0; border-left:0; }
.home-method-grid > li:last-child { padding-right:0; }
.home-method-number { color:var(--home-accent); font:500 13px/1.5 'DM Sans',sans-serif; margin-bottom:24px; }
.home-method h3 { color:var(--home-text); font:600 23px/1.35 'Manrope',sans-serif; letter-spacing:-.035em; margin:0 0 18px; min-height:62px; }
.home-method-grid p { color:var(--home-muted); font:400 15px/1.75 'DM Sans',sans-serif; margin:0 0 28px; }
.home-method-result { border-top:1px solid var(--nuit-gris-2); padding-top:20px; margin-top:auto; }
.home-method-result span { display:block; color:var(--home-accent); font:500 12px/1.5 'DM Sans',sans-serif; margin-bottom:9px; }
.home-method-result strong { display:block; color:var(--home-text); font:500 14px/1.65 'DM Sans',sans-serif; }
.home-journal { background:var(--home-panel); }
.home-journal .section-head { align-items:flex-end; margin-bottom:36px; }
.home-journal .grid3 { gap:34px; }
.home-journal .article-card { min-width:0; background:transparent; border:0; border-top:1px solid #465369; border-radius:0; box-shadow:none; padding:26px 0 0; }
.home-journal .meta { color:#b8c3d3; font:500 11px/1.6 'DM Sans',sans-serif; letter-spacing:.06em; }
.home-journal .article-card h3 { color:var(--home-text); font:600 23px/1.4 'Manrope',sans-serif; letter-spacing:-.03em; margin:18px 0 16px; }
.home-journal .article-card h3 a { color:inherit; }
.home-journal .article-card h3 a:hover { color:var(--home-accent); }
.home-journal .article-card p { color:var(--home-muted); font:400 15px/1.75 'DM Sans',sans-serif; margin:0 0 18px; }
.home-journal .textlink { color:var(--home-accent); font:500 14px/1.5 'DM Sans',sans-serif; min-height:48px; display:inline-flex; align-items:center; }
.home-journal .textlink:hover { text-decoration:underline; text-underline-offset:5px; }
.home-contact { background:var(--home-bg); color:var(--home-text); padding:76px 0; scroll-margin-top:28px; }
.home-contact .home-continuation-inner { display:grid; grid-template-columns:1fr auto; align-items:center; gap:80px; }
.home-contact h2 { margin-bottom:24px; }
.home-contact p:not(.home-continuation-eyebrow) { color:var(--home-muted); font:400 17px/1.75 'DM Sans',sans-serif; margin:0; max-width:600px; }
.home-contact-actions { display:flex; flex-direction:column; align-items:stretch; gap:14px; }
.home-contact-primary { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:54px; padding:14px 24px; border:1px solid var(--home-accent); border-radius:7px; background:var(--home-accent); color:var(--home-bg); font:600 15px/1.5 'DM Sans',sans-serif; }
.home-contact-primary:hover { background:var(--accent-peche-clair); }
.home-contact-secondary { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:48px; color:var(--home-text); font:500 14px/1.5 'DM Sans',sans-serif; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#637083; }
.home-contact-secondary:hover { color:var(--home-accent); }
.home-refinement .home-footer { width:min(1240px,calc(100% - 96px)); margin:0 auto; padding:46px 0 95px; color:var(--home-text); background:transparent; border-top:1px solid var(--nuit-gris-2); }
.home-footer .foot-grid { padding:0 0 30px; }
.home-footer .brand-logo { width:156px; height:52px; mix-blend-mode:normal; }
.home-footer .foot-grid p,.home-footer .social-links > span,.home-footer .locale-attribution,.home-footer .foot-bottom { color:var(--home-muted); }
.home-footer .foot-grid p { font-size:14px; line-height:1.75; }
.home-footer a { color:var(--home-text); }
.home-footer a:hover { color:var(--home-accent); }
.home-footer .eyebrow { color:var(--home-accent); }
.home-footer .eyebrow::before { display:none; }
.home-footer .social-links,.home-footer .foot-bottom { border-color:var(--nuit-gris-2); }
.home-footer .social-link img { filter:brightness(0) invert(1); }
.home-footer .foot-grid a:not(.brand) { min-height:34px; }
.home-footer .locale-attribution { font-size:11px; }
.home-journal a:focus-visible,.home-contact a:focus-visible,.home-footer a:focus-visible { outline:3px solid var(--home-accent); outline-offset:5px; }
.home-contact-primary:focus-visible { outline-color:var(--blanc); }
@media(max-width:1100px) {
 .home-continuation-inner,.home-refinement .home-footer { width:calc(100% - 64px); }
 .home-continuation-heading,.home-contact .home-continuation-inner { gap:36px; }
 .home-method-grid > li { padding-inline:18px; }
 .home-method h3 { font-size:21px; }
 .home-journal .grid3 { gap:24px; }
}
@media(max-width:900px) {
 .home-method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 0; }
 .home-method-grid > li:nth-child(3) { padding-left:0; border-left:0; border-top:1px solid var(--nuit-gris-2); }
 .home-method-grid > li:nth-child(4) { border-top:1px solid var(--nuit-gris-2); }
 .home-method-grid > li:nth-child(2) { padding-right:0; }
 .home-method h3 { min-height:0; }
 .home-method,.home-journal,.home-contact { padding-block:55px; }
 .home-journal .grid3 { grid-template-columns:1fr; gap:30px; }
 .home-journal .article-card { display:grid; grid-template-columns:1fr 1fr; column-gap:32px; }
 .home-journal .article-card .meta { grid-column:1; }
 .home-journal .article-card h3 { grid-column:1; grid-row:2/4; margin-bottom:0; }
 .home-journal .article-card p { grid-column:2; grid-row:2; margin-top:18px; }
 .home-journal .article-card .textlink { grid-column:2; }
}
@media(max-width:700px) {
 .home-continuation-heading { grid-template-columns:1fr; gap:22px; margin-bottom:30px; }
 .home-contact .home-continuation-inner { grid-template-columns:1fr; gap:28px; }
 .home-journal .section-head { flex-direction:column; align-items:flex-start; gap:14px; }
 .home-contact-actions { align-items:flex-start; }
}
@media(max-width:600px) {
 .home-continuation-inner,.home-refinement .home-footer { width:calc(100% - 40px); }
 .home-method,.home-journal,.home-contact { padding-block:44px; }
 .home-method h2,.home-journal h2,.home-contact h2 { font-size:32px; }
 .home-continuation-heading > p,.home-contact p:not(.home-continuation-eyebrow) { font-size:16px; }
 .home-method-grid { grid-template-columns:1fr; gap:0; border:0; }
 .home-method-grid > li,.home-method-grid > li:first-child,.home-method-grid > li:last-child { display:grid; grid-template-columns:28px 1fr; gap:0 14px; padding:25px 0; border-left:0; border-top:1px solid var(--nuit-gris-2); }
 .home-method-grid > li:last-child { padding-bottom:0; }
 .home-method-number { grid-column:1; grid-row:1; padding-top:4px; margin:0; }
 .home-method h3 { grid-column:2; margin-bottom:14px; font-size:23px; }
 .home-method-grid p { grid-column:2; margin-bottom:20px; }
 .home-method-result { grid-column:2; padding-top:16px; }
 .home-journal .article-card { display:flex; }
 .home-journal .article-card h3 { margin-bottom:16px; }
 .home-journal .article-card p { margin-top:0; }
 .home-contact-actions { align-items:stretch; }
 .home-contact-secondary { font-size:13px; }
 .home-footer .foot-grid { gap:24px; }
 .home-footer .foot-grid > div { min-width:0; }
 .home-footer .foot-grid > div:last-child { grid-column:1/-1; }
 .home-refinement .home-footer { padding-top:36px; padding-bottom:100px; }
}
/* The homepage does not load the agency stylesheet: define its social row here. */
.home-footer .social-links { display:flex; align-items:center; flex-wrap:wrap; gap:22px; padding:24px 0 18px; border-top:1px solid var(--nuit-gris-2); }
.home-footer .social-links > span { font:400 13px/1.6 'DM Sans',sans-serif; margin-right:auto; }
.home-footer .social-link { display:inline-flex; gap:8px; align-items:center; min-height:44px; font:400 13px/1.5 'DM Sans',sans-serif; }
.home-footer .social-link img { object-fit:contain; }
.home-footer .locale-attribution { margin-bottom:15px; line-height:1.6; }
.home-footer .locale-attribution a { text-decoration:underline; }
.home-method-result { min-height:96px; }
@media(max-width:600px) {
 .home-footer .social-links { gap:12px 20px; }
 .home-footer .social-links > span { width:100%; }
 .home-method-result { min-height:0; }
}
/* ---- service-refinement.css ---- */
/* Service pages: continuation of the approved Studio nocturne design.
   All visual rules are scoped; widget, navigation and project illustrations retain their own styles. */
body.service-refinement { --home-bg:var(--nuit-fond); --home-panel:var(--nuit-fond-2); --home-text:var(--texte-clair); --home-muted:var(--texte-clair-2); --home-accent:var(--accent-peche); background:var(--home-bg); color:var(--home-text); }
.service-refinement main > .wrap,.service-refinement main > section > .wrap,.service-refinement .home-footer { width:min(1240px,calc(100% - 80px)); margin-inline:auto; }
.service-refinement main > section { scroll-margin-top:28px; }
.service-refinement main p { color:var(--home-muted); }
.service-refinement main :is(h1,h2,h3) { color:var(--home-text); font-family:'Manrope',sans-serif; }
.service-refinement main .eyebrow { color:var(--home-accent); font:500 12px/1.6 'DM Sans',sans-serif; letter-spacing:.1em; }
.service-refinement main .eyebrow::before { display:none; }
.service-refinement main .accent { color:var(--home-accent); }
.service-refinement main .textlink { display:inline-flex; align-items:center; gap:14px; min-height:48px; padding-block:10px; color:var(--home-accent); font:500 15px/1.6 'DM Sans',sans-serif; border:0; text-decoration:underline; text-underline-offset:5px; }
.service-refinement main .btn { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:54px; padding:14px 24px; border:1px solid var(--home-accent); border-radius:7px; background:var(--home-accent); color:var(--home-bg); font:600 15px/1.5 'DM Sans',sans-serif; transform:none; }
.service-refinement main .btn:hover { background:var(--accent-peche-clair); }
.service-refinement main a:focus-visible { outline:3px solid var(--home-accent); outline-offset:5px; }
.service-refinement main .btn:focus-visible { outline-color:var(--blanc); }
.service-refinement .service-page-hero { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr); gap:72px; align-items:center; padding-block:40px 64px; }
.service-back { display:flex; gap:12px; align-items:center; width:fit-content; min-height:44px; margin-bottom:26px; color:var(--texte-clair-2); font:400 13px/1.5 'DM Sans',sans-serif; }
.service-back:hover { color:var(--accent-peche); }
.service-page-copy > .eyebrow { margin:0 0 20px; }
.service-refinement .service-page-copy h1 { font:650 clamp(38px,4.1vw,60px)/1.12 'Manrope',sans-serif; letter-spacing:-.05em; margin:20px 0 24px; }
.service-page-copy h1 em { color:var(--accent-peche); font-style:normal; }
.service-refinement .service-page-copy .lead { font:400 18px/1.75 'DM Sans',sans-serif; max-width:620px; margin:0; }
.service-page-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 26px; margin-top:28px; }
.service-page-index { background:var(--nuit-fond-2); border:1px solid var(--nuit-gris-1); border-radius:14px; padding:28px; margin-top:62px; }
.service-refinement .service-page-index > p { color:var(--accent-peche); font:500 12px/1.7 'DM Sans',sans-serif; letter-spacing:.06em; margin:0 0 20px; text-transform:uppercase; }
.service-page-index ol { list-style:none; margin:0; padding:0; }
.service-page-index li { border-top:1px solid var(--nuit-gris-1); }
.service-page-index li a { display:grid; grid-template-columns:20px 1fr 14px; align-items:center; gap:14px; min-height:70px; padding:16px 0; color:var(--texte-clair); }
.service-page-index li a span { color:var(--accent-peche); font-size:12px; }
.service-page-index strong { font:500 16px/1.5 'DM Sans',sans-serif; }
.service-page-index li a:hover strong { color:var(--accent-peche); }
.service-index-all { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--nuit-gris-1); padding-top:18px; margin-top:8px; min-height:48px; color:var(--texte-clair-2); font:400 13px/1.5 'DM Sans',sans-serif; }
.service-refinement .service-detail-grid,.service-refinement .service-types .grid3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding-block:32px 60px; border-top:1px solid var(--nuit-gris-1); }
.service-refinement .service-detail-grid article,.service-refinement .expertise-card { min-width:0; padding:0 28px; border:0; border-left:1px solid var(--nuit-gris-1); background:transparent; border-radius:0; box-shadow:none; transform:none; }
.service-refinement :is(.service-detail-grid,.service-types .grid3) > article:first-child { border-left:0; padding-left:0; }
.service-refinement :is(.service-detail-grid,.service-types .grid3) > article:last-child { padding-right:0; }
.service-refinement :is(.service-detail-grid,.expertise-card,.service) .number { color:var(--accent-peche); font:500 12px/1.5 'DM Sans',sans-serif; letter-spacing:.08em; }
.service-refinement .service-detail-grid h2,.service-refinement .expertise-card h2 { font:600 25px/1.3 'Manrope',sans-serif; letter-spacing:-.035em; margin:18px 0; min-height:66px; }
.service-refinement .service-detail-grid p,.service-refinement .expertise-card p { color:var(--texte-clair-2); font:400 16px/1.75 'DM Sans',sans-serif; margin:0; }
.service-refinement .split { display:grid; grid-template-columns:1.15fr 1fr; gap:90px; padding-block:64px; border-top:1px solid var(--nuit-gris-1); align-items:start; }
.service-refinement .split h2,.service-refinement .section-head h2 { font:600 clamp(30px,3vw,43px)/1.18 'Manrope',sans-serif; letter-spacing:-.04em; margin:18px 0 26px; }
.service-refinement .checklist { margin:0; padding:0; }
.service-refinement .checklist li { color:var(--texte-clair-2); font:400 16px/1.6 'DM Sans',sans-serif; padding:12px 0 12px 27px; border-color:var(--nuit-gris-3); }
.service-refinement .checklist li::before { color:var(--accent-peche); }
.service-refinement .pricebox { padding:32px; background:var(--nuit-fond-2); border:1px solid var(--nuit-gris-1); border-radius:14px; }
.service-refinement .pricebox h3 { font:600 26px/1.3 'Manrope',sans-serif; letter-spacing:-.035em; margin:18px 0; }
.service-refinement .pricebox .price { color:var(--accent-peche); font:600 32px/1.3 'Manrope',sans-serif; margin:0 0 20px; }
.service-refinement .pricebox .eyebrow { color:var(--accent-peche); }
.service-refinement .pricebox > p { font-size:16px; line-height:1.7; }
.service-refinement .pricebox .checklist li { font-size:14px; }
.service-refinement .pricebox .btn { margin-top:24px; }
.service-refinement .pricebox > .small { font-size:12px; line-height:1.7; }
.service-refinement .section { padding-block:60px; }
.service-refinement .section-head { align-items:end; gap:40px; margin-bottom:30px; }
.service-refinement .section-head > p { color:var(--texte-clair-2); font:400 16px/1.7 'DM Sans',sans-serif; }
.service-refinement .service { border-color:var(--nuit-gris-1); border-radius:0; padding:24px 0 0; background:transparent; }
.service-refinement .service h3 { font:600 25px/1.3 'Manrope',sans-serif; margin-block:20px 14px; }
.service-refinement .service p { font:400 16px/1.75 'DM Sans',sans-serif; }
.service-refinement #budget { border-block:1px solid var(--nuit-gris-1); }
.service-refinement .budget-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.service-refinement .budget-grid article { background:transparent; border:0; border-top:1px solid var(--nuit-gris-1); border-radius:0; padding:24px 0 0; }
.service-refinement .budget-grid h3 { font:600 23px/1.35 'Manrope',sans-serif; margin:18px 0; }
.service-refinement .budget-grid p { font:400 15px/1.75 'DM Sans',sans-serif; }
.service-refinement .cases-section { background:var(--nuit-fond-2); }
.service-refinement .cases-section .case-copy h3 { color:var(--texte-clair); font-family:'Manrope',sans-serif; }
.service-refinement .cases-section .case-copy :is(p,.eyebrow) { color:var(--texte-clair-2); }
.service-refinement .case-arrow { color:var(--accent-peche); border-color:#6c7a90; }
.service-refinement .feature-case:hover .case-arrow { color:var(--nuit-fond); background:var(--accent-peche); }
.service-refinement .case-art :is(h3,p) { color:inherit; }
.service-refinement .case-art .elevan-ui h3 { color:var(--blanc); }
.service-refinement .case-art .legal-ui h3 { color:#302843; }
.service-refinement .project-card { display:block; border:1px solid var(--nuit-gris-1); background:var(--nuit-fond-2); border-radius:14px; overflow:hidden; padding:24px; }
.service-refinement .project-card h3 { color:var(--texte-clair); }
.service-refinement .project-card .meta { color:var(--accent-peche); }
.service-refinement .project-card p { color:var(--texte-clair-2); }
.service-refinement .project-card:hover { border-color:var(--accent-peche); transform:none; }
.service-refinement .home-footer { margin-top:0; padding:46px 0 95px; border-top:1px solid var(--nuit-gris-1); background:transparent; color:var(--texte-clair); }
.service-refinement .home-footer .brand-logo { width:156px; height:52px; }
@media(max-width:1050px) { .service-refinement .service-page-hero { gap:36px; grid-template-columns:1.35fr 1fr; } .service-page-index { padding:22px; } .service-refinement .split { gap:40px; } }
@media(max-width:800px) {
 .service-refinement main > .wrap,.service-refinement main > section > .wrap,.service-refinement .home-footer { width:calc(100% - 48px); }
 .service-refinement .service-page-hero { grid-template-columns:1fr; padding-block:24px 40px; gap:32px; }
 .service-page-index { margin:0; }
 .service-refinement .split { grid-template-columns:1fr; gap:30px; padding-block:40px; }
 .service-refinement .service-detail-grid,.service-refinement .service-types .grid3,.service-refinement .budget-grid { grid-template-columns:1fr; gap:0; padding-bottom:30px; }
 .service-refinement :is(.service-detail-grid,.service-types .grid3) > article { border-left:0; border-top:1px solid var(--nuit-gris-1); padding:24px 0; }
 .service-refinement :is(.service-detail-grid,.service-types .grid3) > article:first-child { border-top:0; padding-top:0; }
 .service-refinement .service-detail-grid h2,.service-refinement .expertise-card h2 { min-height:0; font-size:25px; }
 .service-refinement .budget-grid article { padding:24px 0; }
 .service-refinement .section { padding-block:40px; }
 .service-refinement .section-head { flex-direction:column; align-items:start; gap:12px; }
 .service-refinement .section-head h2 { margin-bottom:10px; }
 .service-refinement .pricebox { padding:26px; }
}
@media(max-width:480px) {
 .service-refinement main > .wrap,.service-refinement main > section > .wrap,.service-refinement .home-footer { width:calc(100% - 40px); }
 .service-refinement .service-page-copy h1 { font-size:38px; }
 .service-refinement .service-page-copy .lead { font-size:17px; }
 .service-page-actions { align-items:flex-start; flex-direction:column; gap:8px; }
 .service-page-index { padding:20px; }
 .service-refinement .pricebox { padding:22px; }
}
/* Readable status caption inside the preserved legal-product illustration. */
.service-refinement .case-art .legal-ui .mock-label { color:#635b73; font-size:12px; }

/* Reuse the existing inline-entry observer to avoid two competing Alicia buttons. */
.service-refinement .service-page-copy.hero-copy { animation:none; }
.service-refinement.home-inline-alicia-visible .alice-launch:not([aria-expanded=true]) { display:none; }
/* ---- home-projects.css ---- */
/* Step 2: project presentation. Scoped separately from the original media/widget. */
.home-projects { color:var(--home-text); background:var(--home-panel); padding:80px 0 55px; scroll-margin-top:30px; }
.home-projects-inner { width:min(1240px,calc(100% - 96px)); margin:auto; }
.home-projects-heading { display:grid; grid-template-columns:1.25fr 1fr; gap:80px; align-items:end; margin-bottom:40px; }
.home-projects .project-eyebrow { margin:0 0 18px; font:600 12px/1.5 'DM Sans',sans-serif; letter-spacing:.12em; color:var(--home-accent); }
.home-projects h2 { font:650 clamp(32px,3.5vw,48px)/1.15 'Manrope',sans-serif; color:var(--home-text); letter-spacing:-.045em; margin:0; }
.home-projects-heading > p { max-width:450px; margin:0 0 5px; font:400 17px/1.65 'DM Sans',sans-serif; color:var(--home-muted); }
.home-projects-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 28px; }
.home-project-card { min-width:0; background:var(--home-bg); border:1px solid var(--nuit-gris-2); border-radius:12px; overflow:hidden; }
.home-project-card details { margin:0; padding:0; border:0; background:transparent; }
.home-project-card summary { display:block; cursor:pointer; padding:0; list-style:none; }
.home-project-card summary::-webkit-details-marker { display:none; }
.home-project-card summary::after { display:none; }
.home-project-card summary:focus-visible { outline:3px solid var(--home-accent); outline-offset:-4px; border-radius:12px; }
.home-project-visual { display:block; position:relative; overflow:hidden; aspect-ratio:1.9; background:#202c3b; }
.home-project-visual > img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 30%; transition:transform .25s ease; }
.home-project-visual.agua { padding:22px 22px 0; background:#314b50; }
.home-project-visual.agua > img { border-radius:6px 6px 0 0; object-fit:cover; object-position:top; }
.home-project-visual.verdad > img { object-position:top; }
.project-image-note { position:absolute; bottom:12px; left:16px; max-width:calc(100% - 32px); padding:6px 10px; background:#101722ef; color:var(--texte-clair); border:1px solid #69788b; border-radius:5px; font:400 11px/1.4 'DM Sans',sans-serif; }
.project-copy { display:flex; flex-direction:column; padding:26px 28px 22px; }
.project-type { display:block; color:var(--accent-peche); font:500 11px/1.6 'DM Sans',sans-serif; letter-spacing:.065em; text-transform:uppercase; }
.project-name { display:block; color:var(--texte-clair); font:650 28px/1.3 'Manrope',sans-serif; letter-spacing:-.035em; margin:10px 0; }
.project-description { display:block; color:var(--texte-clair-2); font:400 16px/1.6 'DM Sans',sans-serif; min-height:51px; }
.project-open-label { display:flex; justify-content:space-between; align-items:center; margin-top:22px; padding-top:18px; border-top:1px solid var(--nuit-gris-3); color:var(--accent-peche); font:500 14px/1.5 'DM Sans',sans-serif; }
.project-open-label > span { font-size:24px; line-height:1; }
@media(hover:hover) { .home-project-card:has(summary:hover) { border-color:#b28c70; } .home-project-card summary:hover .home-project-visual > img { transform:scale(1.025); } }
.project-section-end { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:34px; color:var(--home-muted); font:400 16px/1.5 'DM Sans',sans-serif; }
.project-section-end p { margin:0; color:var(--home-muted); }
.project-section-end a { display:inline-flex; gap:30px; min-height:48px; align-items:center; color:var(--home-accent); font-weight:600; }
.project-section-end a:hover,.project-full-link:hover { text-decoration:underline; text-underline-offset:5px; }
.project-section-end a:focus-visible { outline:3px solid var(--accent-peche); outline-offset:5px; }
.project-dialog { box-sizing:border-box; width:min(900px,calc(100% - 48px)); max-width:none; max-height:calc(100dvh - 48px); margin:auto; padding:0; border:1px solid #58677c; border-radius:16px; background:var(--nuit-fond-2); color:var(--texte-clair); box-shadow:0 30px 100px #0007; overscroll-behavior:contain; }
.project-dialog::backdrop { background:#060c15c9; backdrop-filter:blur(6px); }
html.project-modal-open { overflow:hidden; }
.project-detail { padding:30px 38px 38px; font:400 16px/1.7 'DM Sans',sans-serif; color:var(--texte-clair-2); }
.project-dialog-top { display:flex; align-items:center; justify-content:space-between; gap:24px; position:sticky; top:-30px; z-index:2; background:var(--nuit-fond-2); padding:8px 0; }
.project-close { display:grid; place-items:center; flex-shrink:0; width:46px; height:46px; min-height:46px; padding:0; border:1px solid #718096; border-radius:8px; background:#243145; color:var(--texte-clair); font:300 30px/1 'DM Sans',sans-serif; cursor:pointer; }
.project-close[hidden] { display:none; }
.project-close:hover { background:#35445b; }
.project-dialog :is(a,button):focus-visible { outline:3px solid var(--accent-peche); outline-offset:3px; }
.project-detail h2 { color:var(--texte-clair); font:650 34px/1.2 'Manrope',sans-serif; letter-spacing:-.035em; margin:12px 0; }
.project-detail .project-dialog-lead { font-size:18px; line-height:1.5; margin:0 0 24px; }
.project-detail figure { margin:0 0 28px; }
.project-detail figure img { width:100%; height:auto; max-height:410px; object-fit:contain; background:var(--nuit-fond); border:1px solid #465369; border-radius:7px; display:block; }
.project-detail figcaption { font-size:12px; color:var(--texte-clair-2); margin-top:8px; }
.project-story { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.project-detail h3 { color:var(--texte-clair); font:600 18px/1.4 'Manrope',sans-serif; margin:0 0 10px; }
.project-detail p { color:var(--texte-clair-2); margin:0 0 26px; }
.project-detail ul { padding-left:22px; margin:0 0 26px; }
.project-detail li { margin:6px 0; }
.project-detail li::marker { color:var(--accent-peche); }
.project-detail .project-detail-note { border-top:1px solid #455268; padding-top:20px; font-size:13px; line-height:1.65; margin-bottom:16px; }
.project-full-link { display:inline-flex; align-items:center; min-height:44px; color:var(--accent-peche); font-weight:600; }
@media(max-width:1100px) { .home-projects-inner { width:calc(100% - 64px); } .home-projects-heading { gap:32px; } }
@media(max-width:700px) { .home-projects { padding:48px 0 34px; } .home-projects-inner { width:calc(100% - 40px); } .home-projects-heading { display:block; margin-bottom:28px; } .home-projects-heading > p { margin-top:20px; font-size:16px; } .home-projects-grid { grid-template-columns:1fr; gap:24px; } .project-copy { padding:22px; } .project-description { min-height:0; } .project-name { font-size:26px; } .project-section-end { display:block; font-size:15px; } .project-section-end a { margin-top:12px; } .project-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); border-radius:12px; } .project-detail { padding:12px 20px 24px; font-size:15px; } .project-dialog-top { top:-12px; gap:12px; } .project-detail h2 { font-size:28px; } .project-detail .project-dialog-lead { font-size:16px; } .project-story { grid-template-columns:1fr; gap:0; } .project-detail figure img { max-height:none; } }
@media(prefers-reduced-motion:reduce) { .home-project-visual > img { transition:none; } }
/* ---- portfolio-refinement.css ---- */
/* Portfolio continuation: approved dark palette, original project evidence and filters. */
body.page-realisations.portfolio-refinement { background:var(--nuit-fond); color:var(--texte-clair); }
body.portfolio-refinement main > .wrap,body.portfolio-refinement .home-footer { width:min(1240px,calc(100% - 80px)); }
.portfolio-refinement .portfolio-hero { display:grid; grid-template-columns:1.45fr 1fr; gap:90px; align-items:end; padding:64px 0 54px; }
.portfolio-refinement .portfolio-hero .hero-copy { animation:none; }
.portfolio-refinement .portfolio-hero h1 { font:650 clamp(38px,4.4vw,64px)/1.12 'Manrope',sans-serif; letter-spacing:-.045em; margin:20px 0 24px; }
.portfolio-refinement .portfolio-hero h1 em { color:var(--accent-peche); font-style:normal; }
.portfolio-refinement .portfolio-hero .lead { color:var(--texte-clair-2); font:400 18px/1.75 'DM Sans',sans-serif; margin:0; }
.portfolio-refinement .portfolio-intro-note { margin-bottom:8px; padding:24px 0 24px 32px; border-left:1px solid var(--nuit-gris-1); }
.portfolio-refinement .portfolio-intro-note > p { color:var(--texte-clair); font:600 23px/1.4 'Manrope',sans-serif; margin:0 0 16px; }
.portfolio-refinement .portfolio-intro-note > span { display:block; color:var(--texte-clair-2); font:400 16px/1.7 'DM Sans',sans-serif; }
.portfolio-refinement .portfolio-intro-note > a { display:inline-flex; align-items:center; gap:18px; min-height:44px; margin-top:14px; color:var(--accent-peche); font:500 14px/1.5 'DM Sans',sans-serif; }
.portfolio-refinement .filters { justify-content:flex-start; gap:8px; padding:20px 0; border-block:1px solid var(--nuit-gris-1); margin-bottom:40px; }
.portfolio-refinement .filter { border:1px solid #59697f; border-radius:7px; color:var(--texte-clair-2); background:transparent; font:500 14px/1.4 'DM Sans',sans-serif; min-height:46px; padding:12px 18px; }
.portfolio-refinement .filter:hover { color:var(--texte-clair); background:var(--nuit-surface); }
.portfolio-refinement .filter[aria-pressed=true],.portfolio-refinement .filter[aria-pressed=true]:hover { color:var(--nuit-fond); background:var(--accent-peche); border-color:var(--accent-peche); }
.portfolio-refinement :is(button,a,summary):focus-visible { outline:3px solid var(--accent-peche); outline-offset:4px; }
.portfolio-refinement .portfolio-group-heading { display:flex; justify-content:space-between; gap:32px; align-items:baseline; margin-bottom:28px; }
.portfolio-refinement .portfolio-group-heading h2 { font:600 30px/1.3 'Manrope',sans-serif; letter-spacing:-.035em; margin:0; }
.portfolio-refinement .portfolio-group-heading p { color:var(--texte-clair-2); font:400 15px/1.65 'DM Sans',sans-serif; max-width:440px; margin:0; }
.portfolio-refinement .gallery-group { scroll-margin-top:28px; }
.portfolio-refinement .gallery-group:not(:has(.realisation-card:not([hidden]))) { display:none; }
.portfolio-refinement .gallery-row { grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 28px; margin-bottom:0; }
.portfolio-refinement .realisation-card { align-items:stretch; min-width:0; background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; }
.portfolio-refinement .realisation-cover,.portfolio-refinement .home-project-visual { aspect-ratio:1.6; background:var(--nuit-fond-2); border:1px solid var(--nuit-gris-1); border-radius:10px; }
.portfolio-refinement .realisation-cover > img { object-fit:cover; }
.portfolio-refinement .realisation-title,.portfolio-refinement .project-name { font:600 26px/1.3 'Manrope',sans-serif; letter-spacing:-.035em; color:var(--texte-clair); margin:20px 0 10px; }
.portfolio-refinement .realisation-meta,.portfolio-refinement .project-type { font:500 11px/1.7 'DM Sans',sans-serif; letter-spacing:.045em; text-transform:uppercase; color:var(--accent-peche); margin:0 0 12px; }
.portfolio-refinement .realisation-description,.portfolio-refinement .project-description { font:400 15px/1.75 'DM Sans',sans-serif; color:var(--texte-clair-2); margin:0 0 16px; min-height:0; }
.portfolio-refinement .realisation-link { display:inline-flex; width:fit-content; min-height:44px; color:var(--accent-peche); font:500 14px/1.6 'DM Sans',sans-serif; border:0; padding:10px 0; }
.portfolio-refinement .realisation-link:hover,.portfolio-refinement .realisation-secondary:hover { color:var(--accent-peche-clair); text-decoration:underline; text-underline-offset:5px; }
.portfolio-refinement .realisation-link img,.portfolio-refinement .alice-preview-start img { filter:brightness(0) invert(1); }
.portfolio-refinement .realisation-secondary { color:var(--texte-clair-2); min-height:44px; font-size:13px; }
.portfolio-refinement .realisation-actions { gap:14px; }
.portfolio-refinement .realisation-badge { background:#101722ed; border-color:#69788b; border-radius:5px; font-size:11px; }
.portfolio-refinement .portfolio-demos { padding-top:42px; margin-top:50px; border-top:1px solid var(--nuit-gris-1); }
.portfolio-refinement .home-project-card summary { border-radius:10px; }
.portfolio-refinement .home-project-card summary:focus-visible { outline-offset:4px; }
.portfolio-refinement .project-copy { padding:0; }
.portfolio-refinement .project-type { order:2; }
.portfolio-refinement .project-name { order:1; }
.portfolio-refinement .project-description { order:3; }
.portfolio-refinement .project-open-label { order:4; margin-top:0; min-height:44px; padding:10px 0; border:0; justify-content:flex-start; gap:12px; }
.portfolio-refinement .home-project-visual.agua { padding:16px 16px 0; background:#263e43; }
.portfolio-refinement .project-image-note { font-size:11px; padding:5px 10px; bottom:12px; left:12px; max-width:calc(100% - 24px); }
.portfolio-refinement .alice-preview { aspect-ratio:1.6; min-height:0; border:1px solid var(--nuit-gris-1); border-radius:10px; background:var(--nuit-fond-2); padding:20px; gap:14px; justify-content:center; }
.portfolio-refinement .alice-preview-heading { gap:16px; }
.portfolio-refinement .alice-preview-heading > img { width:66px; height:66px; background:#26344c; }
.portfolio-refinement .alice-preview-heading > p { color:var(--texte-clair); font:600 23px/1.2 'Manrope',sans-serif; letter-spacing:-.035em; margin:0; }
.portfolio-refinement .alice-preview-choices { display:grid; }
.portfolio-refinement .alice-preview-start { min-height:46px; background:transparent; border:1px solid #718096; border-radius:7px; color:var(--accent-peche); padding:10px 14px; }
.portfolio-refinement .alice-preview-start:hover { background:var(--nuit-surface); border-color:var(--accent-peche); }
.portfolio-refinement .home-footer { border-color:var(--nuit-gris-1); }
@media(max-width:1100px) { .portfolio-refinement .portfolio-hero { gap:48px; } .portfolio-refinement .gallery-row { gap:36px 22px; } .portfolio-refinement .alice-preview { padding:15px; } .portfolio-refinement .alice-preview-heading > p { font-size:20px; } .portfolio-refinement .alice-preview-heading > img { width:50px; height:50px; } }
@media(max-width:900px) { .portfolio-refinement .gallery-row { grid-template-columns:repeat(2,minmax(0,1fr)); } .portfolio-refinement .portfolio-hero { grid-template-columns:1fr; gap:28px; padding-block:38px; } .portfolio-refinement .portfolio-intro-note { margin:0; padding:20px 0 0; border-left:0; border-top:1px solid var(--nuit-gris-1); } .portfolio-refinement .portfolio-group-heading { flex-direction:column; gap:12px; } }
@media(max-width:650px) { body.portfolio-refinement main > .wrap,body.portfolio-refinement .home-footer { width:calc(100% - 40px); } .portfolio-refinement .gallery-row { grid-template-columns:1fr; gap:34px; } .portfolio-refinement .portfolio-hero h1 { font-size:40px; } .portfolio-refinement .portfolio-hero .lead { font-size:17px; } .portfolio-refinement .filters { gap:8px; margin-bottom:30px; } .portfolio-refinement .filter { font-size:13px; padding:10px 13px; min-height:44px; } .portfolio-refinement .alice-preview-heading > p { font-size:25px; } .portfolio-refinement .alice-preview-heading > img { width:70px; height:70px; } .portfolio-refinement .alice-preview { padding:24px; } .portfolio-refinement .portfolio-group-heading h2 { font-size:28px; } }

.portfolio-refinement .portfolio-alicia-uses { margin-top:10px; border-top:1px solid var(--nuit-gris-1); }
.portfolio-refinement .portfolio-alicia-uses summary { cursor:pointer; color:var(--texte-clair-2); font:400 13px/1.5 'DM Sans',sans-serif; padding:12px 0; min-height:44px; }
.portfolio-refinement .portfolio-alicia-uses .alice-preview-choices { margin:8px 0; }
.portfolio-refinement .portfolio-alicia-uses .alice-preview-choices a { min-height:44px; color:var(--texte-clair); background:var(--nuit-fond-2); border-color:#59697f; border-radius:6px; }
.portfolio-refinement .portfolio-alicia-uses .alice-preview-choices a:hover { background:var(--nuit-surface); border-color:var(--accent-peche); }

/* A gallery should show its projects early, especially on a phone. */
.portfolio-refinement .portfolio-hero { align-items:center; grid-template-columns:1.2fr 1fr; gap:64px; padding-block:46px 38px; }
.portfolio-refinement .portfolio-hero h1 { font-size:clamp(36px,4vw,58px); margin-bottom:0; }
.portfolio-refinement .portfolio-intro-note { padding:8px 0 8px 32px; margin:0; }
.portfolio-refinement .portfolio-intro-note > p { font:400 18px/1.65 'DM Sans',sans-serif; margin-bottom:12px; }
.portfolio-refinement .portfolio-intro-note > span { font-size:14px; }
.portfolio-intro-actions { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:16px; }
.portfolio-intro-actions a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--accent-peche); font:500 14px/1.5 'DM Sans',sans-serif; }
@media(max-width:900px) { .portfolio-refinement .portfolio-hero { grid-template-columns:1fr; gap:20px; padding-block:30px; } .portfolio-refinement .portfolio-intro-note { border:0; padding:0; } }
@media(max-width:650px) { .portfolio-refinement .portfolio-hero h1 { font-size:36px; line-height:1.12; margin-top:14px; } .portfolio-refinement .portfolio-intro-note > p { font-size:16px; } .portfolio-refinement .portfolio-intro-note > span { font-size:13px; } .portfolio-intro-actions { gap:0 20px; margin-top:12px; } .portfolio-intro-actions a { font-size:13px; } .portfolio-refinement .portfolio-group-heading h2 { font-size:25px; } .portfolio-refinement .filters { margin-bottom:28px; } }
