@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/plus-jakarta-sans-400.woff2") format("woff2")}@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/plus-jakarta-sans-600.woff2") format("woff2")}@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/plus-jakarta-sans-800.woff2") format("woff2")}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px}:root{--text-xs:clamp(0.75rem, 0.8rem, 0.875rem);--text-sm:clamp(0.875rem, 0.9rem, 1rem);--text-base:clamp(1rem, 1rem + 0.15vw, 1.125rem);--text-lg:clamp(1.125rem, 1.125rem + 0.3vw, 1.5rem);--text-xl:clamp(1.5rem, 1.5rem + 0.5vw, 2.25rem);--text-2xl:clamp(2rem, 2rem + 1vw, 3.25rem);--text-hero:clamp(2.5rem, 2.5rem + 2vw, 4.5rem);--lh-body:1.65;--lh-head:1.2;--font-body:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-headings:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}:root{--color-bg:#F6F2EB;--color-surface:#FFFFFF;--color-surface-2:#EDE8DE;--color-border:#111111;--color-text:#0A0A0A;--color-text-muted:#3E3A36;--color-text-faint:#6B6359;--color-text-inv:#FFFFFF;--color-muted:#3E3A36;--color-accent:#C63428;--color-accent-h:#A52820;--color-accent-ink:#FFFFFF;--color-secondary:#111111;--color-secondary-h:#000000;--color-gradient-end:#C63428}:root{--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--radius-full:9999px;--transition:180ms cubic-bezier(0.16, 1, 0.3, 1);--transition-slow:400ms cubic-bezier(0.16, 1, 0.3, 1);--content-wide:1200px;--content-narrow:720px}:root{--header-height:110px;--header-height-tablet:88px;--header-height-mobile:72px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-headings);line-height:var(--lh-head);margin:0 0 var(--space-4);font-weight:700}p{margin:0 0 var(--space-4);max-width:72ch}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent-h)}body.archetype-immersive{background:var(--color-bg)}body.archetype-immersive .hero-title{letter-spacing:-0.03em;font-size:clamp(3.25rem, 3rem + 2.6vw, 5.85rem)}.ambiance-body{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0.45;background:radial-gradient(60% 50% at 15% 20%,color-mix(in srgb, var(--color-accent) 45%, transparent),transparent 70%),radial-gradient(55% 45% at 85% 30%,color-mix(in srgb, var(--color-secondary) 35%, transparent),transparent 70%),radial-gradient(70% 60% at 50% 95%,color-mix(in srgb, var(--color-gradient-end) 35%, transparent),transparent 75%);filter:blur(60px) saturate(120%);animation:ambiance-drift 42s ease-in-out infinite alternate}@keyframes ambiance-drift{0%{background-position:0% 0%,100% 0%,50% 100%}50%{background-position:5% 3%,95% 5%,48% 97%}100%{background-position:0% 0%,100% 0%,50% 100%}}.deco-grain{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22200%22%20height%3D%22200%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.9%22%20numOctaves%3D%222%22%20stitchTiles%3D%22stitch%22/%3E%3CfeColorMatrix%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.6%200%22/%3E%3C/filter%3E%3Crect%20width%3D%22200%22%20height%3D%22200%22%20filter%3D%22url(%23n)%22/%3E%3C/svg%3E');background-size:200px 200px;opacity:0.04;mix-blend-mode:overlay}.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:0;z-index:100;padding:var(--space-3) var(--space-5);background:var(--color-accent);color:var(--color-accent-ink);font-weight:600;border-radius:0 0 var(--radius-md) 0}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;z-index:60;background:linear-gradient(90deg, var(--color-accent) 0%, var(--color-secondary) 50%, var(--color-gradient-end) 100%);transition:width 80ms linear;pointer-events:none}.container{width:100%;padding-left:16px;padding-right:16px;margin-inline:auto}@media (min-width: 768px){.container{padding-left:24px;padding-right:24px}}@media (min-width: 1024px){.container{max-width:960px;padding-left:0;padding-right:0}}@media (min-width: 1280px){.container{max-width:var(--content-wide)}}@media (min-width: 1920px){.container{max-width:1440px}}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--color-bg) 90%, transparent);border-bottom:1px solid transparent;height:var(--header-height-mobile);display:flex;align-items:center;transition:background var(--transition),box-shadow var(--transition),border-color var(--transition),backdrop-filter var(--transition)}@media (min-width: 768px){.site-header{height:var(--header-height-tablet)}}@media (min-width: 1024px){.site-header{height:var(--header-height)}}.site-header.scrolled{background:color-mix(in srgb, var(--color-bg) 78%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--color-border);box-shadow:0 8px 32px rgba(0, 0, 0, 0.4)}.site-header .container{display:flex;align-items:center;gap:var(--space-5);height:100%}.site-logo{flex:0 0 auto;padding-left:8px}.site-logo img{display:block;height:40px;width:auto}@media (min-width: 1024px){.site-logo img{height:56px}}.site-nav{margin-left:auto}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-5)}.site-nav a{color:var(--color-text);font-weight:500;padding:var(--space-2) 0;font-size:var(--text-sm)}.site-nav a:hover{color:var(--color-accent)}.site-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;text-decoration-color:var(--color-accent)}.lang-switch{margin-left:16px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);font-weight:600;font-size:var(--text-sm);transition:all var(--transition)}.lang-switch:hover{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.menu-toggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:22px;cursor:pointer;padding:var(--space-2) var(--space-3)}@media (max-width: 1023px){.site-nav{display:none}.menu-toggle{display:inline-block}.site-header .container{gap:var(--space-3)}}.site-nav.is-open{display:block;position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-5)}.site-nav.is-open ul{flex-direction:column;gap:var(--space-4)}.hero{position:relative;width:100%;height:var(--hero-height);min-height:560px;overflow:hidden;background:var(--color-bg);display:flex;align-items:center;justify-content:center;text-align:center}@media (max-width: 767px){.hero{height:var(--hero-height-mobile);min-height:480px}}.hero.hero--small{height:var(--header-height-mobile);min-height:320px;text-align:left}@media (min-width: 768px){.hero.hero--small{min-height:360px}}.hero-mesh{position:absolute;inset:0;background:radial-gradient(45% 40% at 20% 25%,color-mix(in srgb, var(--color-accent) 55%, transparent),transparent 70%),radial-gradient(40% 35% at 80% 20%,color-mix(in srgb, var(--color-secondary) 45%, transparent),transparent 70%),radial-gradient(50% 45% at 50% 85%,color-mix(in srgb, var(--color-gradient-end) 45%, transparent),transparent 75%),linear-gradient(180deg, rgba(11, 17, 32, 0.2) 0%, rgba(11, 17, 32, 0.7) 100%);filter:blur(30px) saturate(125%);opacity:0.9;pointer-events:none;animation:hero-mesh-drift 38s ease-in-out infinite alternate}@keyframes hero-mesh-drift{0%{transform:scale(1.02) translate(0, 0)}50%{transform:scale(1.06) translate(1.5%, 0.8%)}100%{transform:scale(1.02) translate(0, 0)}}.deco-blob{position:absolute;pointer-events:none;opacity:0.9;mix-blend-mode:screen}.deco-blob--0{top:-8%;left:-6%;width:38%;height:46%}.deco-blob--1{top:40%;right:-10%;width:40%;height:50%}.deco-blob--2{bottom:-10%;left:30%;width:42%;height:44%}.hero-pattern{position:absolute;inset:0;background-image:radial-gradient(800px 400px at 80% -10%, rgba(26, 175, 160, 0.14), transparent 60%),radial-gradient(700px 500px at -10% 100%, rgba(236, 72, 153, 0.10), transparent 65%);pointer-events:none}.hero-dotgrid{position:absolute;inset:0;background-image:radial-gradient(var(--color-border) 1px, transparent 1px);background-size:24px 24px;opacity:0.20;pointer-events:none;mask-image:radial-gradient(60% 60% at 50% 40%, #000 40%, transparent 100%);-webkit-mask-image:radial-gradient(60% 60% at 50% 40%, #000 40%, transparent 100%)}.hero-inner{position:relative;z-index:2;width:100%;max-width:var(--content-wide);margin:0 auto;padding:var(--space-7) var(--space-5);display:flex;flex-direction:column;gap:var(--space-5);align-items:center}.hero.hero--small .hero-inner{align-items:flex-start;gap:var(--space-4)}.hero-label{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-accent);padding:6px 14px;border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.hero-title{font-size:var(--text-hero);font-weight:700;max-width:22ch;margin:0;color:var(--color-text);text-shadow:0 4px 32px rgba(0, 0, 0, 0.55);line-height:1.02}.hero.hero--small .hero-title{font-size:var(--text-2xl);letter-spacing:-0.01em;text-shadow:none}.hero-sub{font-size:var(--text-lg);font-weight:400;color:var(--color-text-muted);max-width:52ch;margin:0}.hero-ctas{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-3);justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;font-size:var(--text-base);font-weight:600;border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer;transition:all var(--transition);text-decoration:none}.btn-primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-h);border-color:var(--color-accent-h);color:var(--color-accent-ink);transform:translateY(-1px);box-shadow:0 12px 40px color-mix(in srgb, var(--color-accent) 45%, transparent)}.btn-outline{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}.btn-outline:hover{background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent)}.btn-ghost{background:transparent;color:var(--color-text);border:1px solid color-mix(in srgb, var(--color-text) 55%, transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-ghost:hover{background:color-mix(in srgb, var(--color-text) 10%, transparent);border-color:var(--color-text);color:var(--color-text)}.hero-scroll-cue{position:absolute;bottom:var(--space-5);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:0.1em;text-transform:uppercase;opacity:0.85;animation:hero-cue-fade 2.4s ease-in-out infinite;z-index:2}.hero-scroll-cue svg{display:block}@keyframes hero-cue-fade{0%,100%{opacity:0.4;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(4px)}}.scrolly{padding:var(--space-9) 0}.scrolly-section{position:relative;display:grid;grid-template-columns:1fr;gap:var(--space-6);align-items:start;padding:var(--space-8) 0;border-top:1px solid color-mix(in srgb, var(--color-border) 60%, transparent)}.scrolly-section:first-child{border-top:0}@media (min-width: 900px){.scrolly-section{grid-template-columns:1fr 1.2fr;min-height:100vh;gap:var(--space-8);padding:var(--space-9) 0}.scrolly-section--reverse .scrolly-text{order:2}.scrolly-section--reverse .scrolly-media{order:1}.scrolly-text{position:sticky;top:calc(var(--header-height) + var(--space-6));align-self:start}}.scrolly-label{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4)}.scrolly-title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);margin:0 0 var(--space-4);max-width:22ch}.scrolly-para{font-size:var(--text-base);color:var(--color-text-muted);max-width:52ch}.scrolly-media img{width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 30px 60px rgba(0, 0, 0, 0.5)}.gallery-strip{padding:var(--space-8) 0;overflow:hidden}.gallery-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2, 1fr)}@media (min-width: 1024px){.gallery-grid{grid-template-columns:repeat(4, 1fr);gap:var(--space-3)}}.gallery-grid img{width:100%;height:42vh;min-height:240px;max-height:560px;object-fit:cover;border-radius:var(--radius-md);box-shadow:0 20px 40px rgba(0, 0, 0, 0.45)}@media (min-width: 1024px){.gallery-grid img{height:56vh;min-height:320px;max-height:640px}}.quote-moment{padding:var(--space-9) var(--space-5);min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative}.quote-moment__inner{max-width:40em;margin:0 auto}.quote-moment__quote{font-size:var(--text-2xl);font-weight:500;font-style:italic;color:var(--color-text);line-height:1.35;margin:0 0 var(--space-5)}.quote-moment__attr{font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:0.08em;text-transform:uppercase;margin:0}.home-body{padding:var(--space-8) 0 var(--space-9)}.home-body h2{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin:var(--space-7) 0 var(--space-3);max-width:28ch}.home-body p{font-size:var(--text-base);color:var(--color-text-muted);max-width:72ch}.content{padding:var(--space-8) 0}@media (min-width: 1024px){.content{padding:var(--space-9) 0}}.content h1{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-5)}.content h2{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:var(--space-6) 0 var(--space-3);max-width:32ch}.content-image{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:var(--space-5);border-radius:var(--radius-lg);border:0;box-shadow:0 20px 40px rgba(0, 0, 0, 0.4)}.content p{font-size:var(--text-base);max-width:72ch;color:var(--color-text-muted)}.layout-zigzag{padding:0}.layout-zigzag .zigzag-wrap{padding:var(--space-9) 0 var(--space-8)}.zigzag-row{display:grid;grid-template-columns:1fr;gap:var(--space-6);align-items:center;padding:var(--space-7) 0;border-top:1px solid color-mix(in srgb, var(--color-border) 70%, transparent)}.zigzag-row:first-of-type{border-top:0}@media (min-width: 768px){.zigzag-row{grid-template-columns:1.05fr 1fr;gap:var(--space-8)}.zigzag-row--reverse .zigzag-text{order:2}.zigzag-row--reverse .zigzag-visual{order:1}}.zigzag-num{font-size:var(--text-lg);font-weight:700;color:var(--color-text-faint);letter-spacing:0.1em;margin-bottom:var(--space-3)}.zigzag-text h2{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin:0 0 var(--space-4);max-width:28ch}.zigzag-text p{font-size:var(--text-base);color:var(--color-text-muted);max-width:52ch}.zigzag-visual img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 20px 40px rgba(0, 0, 0, 0.45)}.layout-timeline{padding:0}.layout-timeline .timeline-wrap{padding:var(--space-9) 0 var(--space-8)}.timeline-rail{list-style:none;padding:0;margin:0;position:relative}.timeline-rail::before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:var(--color-border)}@media (min-width: 768px){.timeline-rail::before{left:15px}}.timeline-milestone{position:relative;padding-left:48px;padding-bottom:var(--space-7)}@media (min-width: 768px){.timeline-milestone{padding-left:60px}}.timeline-milestone:last-child{padding-bottom:0}.timeline-badge{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--color-accent);color:var(--color-accent-ink);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:0.02em;box-shadow:0 0 0 4px var(--color-bg)}@media (min-width: 768px){.timeline-badge{width:32px;height:32px;font-size:13px}}.timeline-date{font-size:var(--text-xs);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--space-2)}.timeline-milestone h2{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3);max-width:32ch}.timeline-milestone p{font-size:var(--text-base);color:var(--color-text-muted);max-width:56ch}.layout-feature-grid{padding:0}.layout-feature-grid .feature-wrap{padding:var(--space-9) 0 var(--space-8)}.feature-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width: 768px){.feature-grid{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 1024px){.feature-grid{grid-template-columns:repeat(3, 1fr)}}.feature-card{padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-lg);border:0;box-shadow:0 20px 50px rgba(0, 0, 0, 0.25);transition:transform var(--transition),box-shadow var(--transition);display:flex;flex-direction:column}.feature-card:hover{transform:translateY(-3px);box-shadow:0 30px 60px rgba(0, 0, 0, 0.35)}.feature-card__picto{color:var(--color-accent);margin-bottom:var(--space-4)}.feature-card h2{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3);max-width:28ch}.feature-card p{font-size:var(--text-base);color:var(--color-text-muted);margin:0;max-width:42ch}.layout-long-form{padding:0}.layout-long-form .long-form-wrap{padding:var(--space-9) 0 var(--space-8);display:grid;grid-template-columns:1fr;gap:var(--space-7)}@media (min-width: 1024px){.layout-long-form .long-form-wrap{grid-template-columns:minmax(0, 65ch) 1fr;gap:var(--space-8);align-items:start}}.long-form-prose{max-width:65ch}.long-form-prose h2{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin:var(--space-7) 0 var(--space-3);max-width:36ch}.long-form-prose h2:first-of-type{margin-top:0}.long-form-prose p{font-size:var(--text-base);color:var(--color-text-muted);max-width:65ch;margin:0 0 var(--space-4)}.long-form-prose p:first-of-type::first-letter{font-size:3.5em;font-weight:800;color:var(--color-accent);float:left;line-height:0.9;padding-right:8px;padding-top:4px}.long-form-aside{position:static;padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 20px 40px rgba(0, 0, 0, 0.25)}@media (min-width: 1024px){.long-form-aside{position:sticky;top:calc(var(--header-height) + var(--space-5))}}.long-form-aside h3{font-size:var(--text-sm);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text);margin:0 0 var(--space-3)}.long-form-aside ol{list-style:decimal;padding-left:1.3em;margin:0 0 var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.8}.long-form-aside ol a{color:var(--color-text-muted)}.long-form-aside ol a:hover{color:var(--color-accent)}.long-form-aside .aside-cta{display:block;padding:var(--space-4);background:color-mix(in srgb, var(--color-accent) 12%, transparent);border-radius:var(--radius-md);color:var(--color-text);font-weight:600;text-align:center}.long-form-aside .aside-cta:hover{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}.cta-strip{padding:var(--space-8) 0;text-align:center}.cta-strip__title{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin:0 0 var(--space-4);max-width:32ch;margin-inline:auto}.cta-strip__sub{font-size:var(--text-base);color:var(--color-text-muted);max-width:48ch;margin:0 auto var(--space-5)}.cta-strip__hallmark{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:var(--space-4);color:var(--color-accent)}.contact-form{display:grid;gap:var(--space-4);max-width:640px;margin-bottom:var(--space-7)}.contact-form label{font-weight:600;font-size:var(--text-sm);display:block;margin-bottom:var(--space-2)}.contact-form input,.contact-form textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent)}.contact-form textarea{min-height:180px;resize:vertical}.contact-form button{justify-self:start;padding:var(--space-3) var(--space-6);background:var(--color-accent);color:var(--color-accent-ink);border:0;border-radius:var(--radius-full);font-weight:600;cursor:pointer;font-size:var(--text-base);transition:all var(--transition)}.contact-form button:hover{background:var(--color-accent-h)}.maps-embed{aspect-ratio:16/9;width:100%;margin-bottom:var(--space-5);background:var(--color-surface-2);border:1px dashed var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--text-sm)}.site-footer{background:color-mix(in srgb, var(--color-surface) 85%, transparent);border-top:1px solid var(--color-border);padding:var(--space-7) 0 var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm);position:relative;z-index:1}.footer-reduced{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}@media (min-width: 768px){.footer-reduced{align-items:center;text-align:center}}.footer-reduced img{height:42px;width:auto;margin-bottom:var(--space-2)}.footer-reduced .footer-tagline{color:var(--color-text-muted);max-width:42ch;font-size:var(--text-sm);margin:0}.footer-bottom{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb, var(--color-border) 60%, transparent);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.back-to-top{position:fixed;right:var(--space-5);bottom:var(--space-5);width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-accent-ink);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity var(--transition),transform var(--transition);z-index:55;box-shadow:0 10px 30px rgba(0, 0, 0, 0.4)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--color-accent-h)}.fade-up{opacity:0;transform:translateY(20px);transition:opacity var(--transition-slow),transform var(--transition-slow);will-change:opacity,transform}.fade-up.is-visible{opacity:1;transform:none}.animated-divider{display:block;width:100%;height:4px;max-width:var(--content-wide);margin:0 auto;padding:0 var(--space-5)}.animated-divider__line{stroke-dasharray:1200;stroke-dashoffset:1200}.animated-divider.is-visible .animated-divider__line{animation:deco-draw 1.4s ease-out forwards}@keyframes deco-draw{to{stroke-dashoffset:0}}.section-label{display:inline-block;font-size:var(--text-sm);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3)}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}.fade-up{opacity:1;transform:none}.hero-scroll-cue{animation:none;opacity:0.8}.ambiance-body,.hero-mesh{animation-play-state:paused}.animated-divider__line{stroke-dashoffset:0 !important;animation:none !important}}.footer-reach{padding:var(--space-6) 0;border-top:1px solid var(--color-border);margin-top:var(--space-6)}.footer-reach__heading{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0 0 var(--space-4)}.footer-reach__list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.footer-reach__list li{display:flex;align-items:baseline;gap:var(--space-3);color:var(--color-text)}.footer-reach__label{font-size:var(--text-xs);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.06em;min-width:70px}.footer-reach__link{color:var(--color-text);font-weight:600}.footer-reach__link:hover{color:var(--color-accent)}.contact-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin:0 0 var(--space-7)}.contact-card>h2{margin:0 0 var(--space-5);font-size:var(--text-xl);font-weight:800;color:var(--color-text);letter-spacing:-.01em}.contact-card__list{margin:0;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.contact-card__row{display:grid;grid-template-columns:120px 1fr;align-items:baseline;gap:var(--space-3);margin:0}.contact-card__row dt{margin:0;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint)}.contact-card__row dd{margin:0;color:var(--color-text);font-weight:500}.contact-card__row dd a{color:var(--color-accent);font-weight:600}.contact-card__row dd a:hover{color:var(--color-accent-h)}@media (max-width:600px){.contact-card__row{grid-template-columns:1fr}}
/* ---------- v2.3.0 Paint isolation ---------- */
.cv-auto{content-visibility:auto;contain-intrinsic-size:1px 800px}

/* ============================================================
   6Claude — v2.3.0 brutalist override block
   Applied as the LAST CSS layer; cascades over the immersive base.
   Scope: body.archetype-brutalist (set by build_6claude on every page)
============================================================ */
@font-face{font-family:"Archivo Black";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/archivo-black-400.woff2") format("woff2")}
body.archetype-brutalist{--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-full:0;--font-headings:"Archivo Black","Plus Jakarta Sans",-apple-system,sans-serif}
body.archetype-brutalist h1,body.archetype-brutalist h2,body.archetype-brutalist h3,body.archetype-brutalist h4,body.archetype-brutalist .scrolly-title,body.archetype-brutalist .stat-num,body.archetype-brutalist .manifesto-q{font-family:var(--font-headings);font-weight:400;letter-spacing:0.01em;text-transform:uppercase;line-height:0.96}
body.archetype-brutalist .ambiance-body,body.archetype-brutalist .hero-mesh,body.archetype-brutalist .hero-pattern,body.archetype-brutalist .hero-dotgrid,body.archetype-brutalist .deco-blob,body.archetype-brutalist .hero-blob,body.archetype-brutalist .animated-divider,body.archetype-brutalist .scrolly,body.archetype-brutalist .gallery-strip,body.archetype-brutalist .quote-moment,body.archetype-brutalist .home-body{display:none !important}
body.archetype-brutalist .stats-band,body.archetype-brutalist .manifesto,body.archetype-brutalist .services-stacked{display:block}
body.archetype-brutalist *{border-radius:0 !important}
body.archetype-brutalist .btn,body.archetype-brutalist .button,body.archetype-brutalist a.btn,body.archetype-brutalist a.cta,body.archetype-brutalist .btn-ghost{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-body);font-weight:700;font-size:var(--text-sm);line-height:1;text-transform:uppercase;letter-spacing:0.08em;border:var(--border-w) solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:none;border-radius:0;text-decoration:none;transition:background var(--transition), color var(--transition)}
body.archetype-brutalist .btn:hover,body.archetype-brutalist .btn-ghost:hover{background:var(--color-text);color:var(--color-text-inv)}
body.archetype-brutalist .btn--accent,body.archetype-brutalist .btn-primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-border)}
body.archetype-brutalist .btn--accent:hover,body.archetype-brutalist .btn-primary:hover{background:var(--color-accent-h);color:var(--color-accent-ink)}
body.archetype-brutalist .card,body.archetype-brutalist .service-tile,body.archetype-brutalist .feature-grid__item,body.archetype-brutalist .feature-card,body.archetype-brutalist .contact-card,body.archetype-brutalist .footer-reach{border:var(--border-w) solid var(--color-border);border-radius:0;box-shadow:none;background:var(--color-surface)}
body.archetype-brutalist .hero{position:relative;background:var(--color-bg);border-bottom:var(--border-w-strong) solid var(--color-border);overflow:hidden}
body.archetype-brutalist .hero-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(to right, rgba(17, 17, 17, 0.07) 1px, transparent 1px),linear-gradient(to bottom, rgba(17, 17, 17, 0.07) 1px, transparent 1px);background-size:56px 56px;pointer-events:none;z-index:0}
body.archetype-brutalist .hero-inner{position:relative;z-index:2}
body.archetype-brutalist .hero-title{font-size:clamp(3rem, 3rem + 4vw, 7.5rem);line-height:0.92;letter-spacing:0.01em;color:var(--color-text);font-weight:400;margin:0 0 var(--space-5)}
body.archetype-brutalist .hero-label{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:var(--border-w) solid var(--color-border);background:var(--color-bg);font-size:var(--text-sm);font-weight:700;color:var(--color-text);text-transform:uppercase;letter-spacing:0.08em;border-radius:0}
body.archetype-brutalist .hero-sub{color:var(--color-text-muted);font-size:var(--text-lg);max-width:680px;margin:0 0 var(--space-6)}
body.archetype-brutalist .hero-scroll-cue{position:absolute;left:50%;bottom:var(--space-5);transform:translateX(-50%);display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.08em;z-index:2}
/* --- Stats band: 4 bordered tiles --- */
body.archetype-brutalist .stats-band{padding:var(--space-9) 0;border-bottom:var(--border-w-strong) solid var(--color-border);background:var(--color-bg)}
body.archetype-brutalist .stats-band__grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:0;border:var(--border-w) solid var(--color-border)}
body.archetype-brutalist .stats-band__cell{padding:var(--space-7) var(--space-5);border-right:var(--border-w) solid var(--color-border);background:var(--color-surface)}
body.archetype-brutalist .stats-band__cell:last-child{border-right:0}
body.archetype-brutalist .stat-num{font-family:var(--font-headings);font-size:clamp(2.5rem, 2rem + 3vw, 4.5rem);font-weight:400;line-height:1;color:var(--color-text);text-transform:uppercase;letter-spacing:0.01em;margin:0 0 var(--space-3)}
body.archetype-brutalist .stat-label{font-size:var(--text-sm);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.08em}
@media (max-width:880px){body.archetype-brutalist .stats-band__grid{grid-template-columns:repeat(2, 1fr)}body.archetype-brutalist .stats-band__cell:nth-child(odd){border-right:var(--border-w) solid var(--color-border)}body.archetype-brutalist .stats-band__cell:nth-child(even){border-right:0}body.archetype-brutalist .stats-band__cell:nth-child(-n+2){border-bottom:var(--border-w) solid var(--color-border)}}
@media (max-width:520px){body.archetype-brutalist .stats-band__grid{grid-template-columns:1fr}body.archetype-brutalist .stats-band__cell{border-right:0;border-bottom:var(--border-w) solid var(--color-border)}body.archetype-brutalist .stats-band__cell:last-child{border-bottom:0}}
/* --- Manifesto block: prose + pull quote with thick rule --- */
body.archetype-brutalist .manifesto{padding:var(--space-9) 0;border-bottom:var(--border-w-strong) solid var(--color-border);background:var(--color-surface-2)}
body.archetype-brutalist .manifesto__inner{max-width:880px;margin:0 auto;padding:0 var(--space-5)}
body.archetype-brutalist .manifesto__label{font-size:var(--text-sm);font-weight:700;color:var(--color-accent);text-transform:uppercase;letter-spacing:0.08em;display:block;margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:var(--border-w) solid var(--color-border)}
body.archetype-brutalist .manifesto-q{font-family:var(--font-headings);font-size:clamp(1.75rem, 1.5rem + 1.5vw, 2.75rem);line-height:1.05;font-weight:400;letter-spacing:0.01em;text-transform:uppercase;color:var(--color-text);margin:0 0 var(--space-6)}
body.archetype-brutalist .manifesto__para{font-size:var(--text-lg);line-height:1.55;color:var(--color-text-muted);margin:0 0 var(--space-5)}
body.archetype-brutalist .manifesto__para:last-child{margin-bottom:0}
body.archetype-brutalist .manifesto__rule{height:var(--border-w-strong);background:var(--color-border);width:96px;margin:var(--space-7) 0 0}
/* --- Services stacked: rows separated by thick rules --- */
body.archetype-brutalist .services-stacked{padding:var(--space-9) 0;border-bottom:var(--border-w-strong) solid var(--color-border);background:var(--color-bg)}
body.archetype-brutalist .services-stacked__inner{max-width:var(--content-wide);margin:0 auto;padding:0 var(--space-5)}
body.archetype-brutalist .services-stacked__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-5);padding-bottom:var(--space-5);margin-bottom:var(--space-7);border-bottom:var(--border-w-strong) solid var(--color-border)}
body.archetype-brutalist .services-stacked__head h2{font-family:var(--font-headings);font-size:clamp(1.75rem, 1.5rem + 1vw, 2.5rem);margin:0;letter-spacing:0.01em;text-transform:uppercase;font-weight:400;color:var(--color-text)}
body.archetype-brutalist .services-stacked__head p{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.08em;margin:0}
body.archetype-brutalist .services-stacked__row{display:grid;grid-template-columns:80px 1fr 2fr;gap:var(--space-6);align-items:start;padding:var(--space-7) 0;border-bottom:var(--border-w) solid var(--color-border)}
body.archetype-brutalist .services-stacked__row:last-child{border-bottom:0}
body.archetype-brutalist .services-stacked__num{font-family:var(--font-headings);font-size:clamp(1.5rem, 1.25rem + 0.5vw, 2rem);font-weight:400;color:var(--color-accent);text-transform:uppercase;letter-spacing:0.01em;line-height:1}
body.archetype-brutalist .services-stacked__title{font-family:var(--font-headings);font-size:clamp(1.25rem, 1.125rem + 0.5vw, 1.75rem);font-weight:400;line-height:1.05;letter-spacing:0.01em;text-transform:uppercase;color:var(--color-text);margin:0}
body.archetype-brutalist .services-stacked__body{font-size:var(--text-base);line-height:1.6;color:var(--color-text-muted);margin:0}
@media (max-width:720px){body.archetype-brutalist .services-stacked__row{grid-template-columns:60px 1fr;gap:var(--space-4)}body.archetype-brutalist .services-stacked__body{grid-column:1 / -1}}
/* --- CTA strip --- */
body.archetype-brutalist .cta-strip,body.archetype-brutalist .cta-strip__inner{background:var(--color-text);color:var(--color-text-inv);border-bottom:var(--border-w-strong) solid var(--color-border);padding:var(--space-8) 0}
body.archetype-brutalist .cta-strip h2,body.archetype-brutalist .cta-strip__head{font-family:var(--font-headings);color:var(--color-text-inv);text-transform:uppercase;letter-spacing:0.01em;font-weight:400}
body.archetype-brutalist .cta-strip a.btn,body.archetype-brutalist .cta-strip .btn{background:var(--color-bg);color:var(--color-text);border-color:var(--color-bg)}
body.archetype-brutalist .cta-strip a.btn:hover,body.archetype-brutalist .cta-strip .btn:hover{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}
/* --- Footer brutalist grid --- */
body.archetype-brutalist .site-footer{background:var(--color-bg);color:var(--color-text);border-top:var(--border-w-strong) solid var(--color-border);padding:var(--space-8) 0 var(--space-5)}
body.archetype-brutalist .site-footer .container{display:block}
body.archetype-brutalist .footer-reach{display:grid;grid-template-columns:repeat(3, 1fr);gap:0;border:var(--border-w) solid var(--color-border);background:var(--color-surface);margin-bottom:var(--space-6)}
body.archetype-brutalist .footer-reach > *{padding:var(--space-5);border-right:var(--border-w) solid var(--color-border)}
body.archetype-brutalist .footer-reach > *:last-child{border-right:0}
body.archetype-brutalist .footer-reach__label{display:block;font-size:var(--text-sm);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--space-2)}
body.archetype-brutalist .footer-reach__value,body.archetype-brutalist .footer-reach a{color:var(--color-text);font-weight:600;font-size:var(--text-base);text-decoration:none}
body.archetype-brutalist .footer-reach a:hover{color:var(--color-accent)}
body.archetype-brutalist .footer-reduced{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-5) 0;border-top:var(--border-w) solid var(--color-border);border-bottom:var(--border-w) solid var(--color-border);margin-bottom:var(--space-5)}
body.archetype-brutalist .footer-tagline{margin:0;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-muted)}
body.archetype-brutalist .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.06em}
@media (max-width:720px){body.archetype-brutalist .footer-reach{grid-template-columns:1fr}body.archetype-brutalist .footer-reach > *{border-right:0;border-bottom:var(--border-w) solid var(--color-border)}body.archetype-brutalist .footer-reach > *:last-child{border-bottom:0}body.archetype-brutalist .footer-reduced,body.archetype-brutalist .footer-bottom{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}
/* --- Inner-page chrome: layouts already there from base, just brutalist tighten --- */
body.archetype-brutalist .layout-zigzag .zigzag-row,body.archetype-brutalist .layout-feature-grid .feature-grid__item,body.archetype-brutalist .layout-timeline .milestone,body.archetype-brutalist .layout-long-form .lf-aside{border:var(--border-w) solid var(--color-border);border-radius:0;box-shadow:none;background:var(--color-surface)}
body.archetype-brutalist .layout-zigzag .zigzag-row{padding:var(--space-6);margin-bottom:var(--space-5)}
body.archetype-brutalist .layout-feature-grid .feature-grid__item{padding:var(--space-6)}
body.archetype-brutalist .layout-timeline .milestone{padding:var(--space-5) var(--space-6);border-left:var(--border-w-strong) solid var(--color-accent)}
body.archetype-brutalist .layout-long-form .lf-aside{padding:var(--space-5)}
body.archetype-brutalist h2,body.archetype-brutalist h3{color:var(--color-text)}
body.archetype-brutalist h2{font-size:clamp(1.75rem, 1.5rem + 1vw, 2.5rem);margin:0 0 var(--space-5)}
body.archetype-brutalist h3{font-size:clamp(1.25rem, 1.125rem + 0.5vw, 1.5rem);margin:0 0 var(--space-3)}
/* --- Contact card brutalist refinement --- */
body.archetype-brutalist .contact-card{padding:var(--space-6);background:var(--color-surface);border:var(--border-w-strong) solid var(--color-border);margin-bottom:var(--space-7)}
body.archetype-brutalist .contact-card h2{font-family:var(--font-headings);font-size:clamp(1.5rem, 1.25rem + 0.75vw, 2rem);text-transform:uppercase;letter-spacing:0.01em;font-weight:400;margin:0 0 var(--space-5);padding-bottom:var(--space-3);border-bottom:var(--border-w) solid var(--color-border)}
body.archetype-brutalist .contact-card dl{margin:0;display:grid;gap:var(--space-3)}
body.archetype-brutalist .contact-card dt{font-size:var(--text-sm);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.06em;margin:0}
body.archetype-brutalist .contact-card dd{margin:0 0 var(--space-3) 0;color:var(--color-text);font-weight:600}
body.archetype-brutalist .contact-card dd:last-child{margin-bottom:0}
body.archetype-brutalist .contact-card a{color:var(--color-accent)}
body.archetype-brutalist .contact-card a:hover{color:var(--color-accent-h)}


/* ============================================================================
   v0.2.10 — RL Normalisation espacements (mobile/tablette/desktop)
   Pattern récurrent gabarits 6Claude : valeurs de section padding incohérentes
   entre main.css et CSS interne d'index.html.
   Système unifié — desktop ≥1024 / tablette 768-1023 / mobile <768
   ============================================================================ */

/* Sections de contenu — padding vertical normalisé */
main > section,
.layout-zigzag > section,
.layout-timeline > section,
.layout-features > section,
.layout-longform > section,
.layout-contact > section,
.section-portrait,
.section-about,
.section-mission,
.section-services,
.section-pourquoi,
.section-faq,
.section-villes,
.zigzag-wrap,
.timeline-wrap,
.feature-wrap,
.long-form-section,
.content {
  padding-top: var(--space-9) !important;
  padding-bottom: var(--space-9) !important;
}

@media (max-width: 1023px) {
  main > section,
  .layout-zigzag > section,
  .layout-timeline > section,
  .layout-features > section,
  .layout-longform > section,
  .layout-contact > section,
  .section-portrait,
  .section-about,
  .section-mission,
  .section-services,
  .section-pourquoi,
  .section-faq,
  .section-villes,
  .zigzag-wrap,
  .timeline-wrap,
  .feature-wrap,
  .long-form-section,
  .content {
    padding-top: var(--space-8) !important;
    padding-bottom: var(--space-8) !important;
  }
}

@media (max-width: 768px) {
  main > section,
  .layout-zigzag > section,
  .layout-timeline > section,
  .layout-features > section,
  .layout-longform > section,
  .layout-contact > section,
  .section-portrait,
  .section-about,
  .section-mission,
  .section-services,
  .section-pourquoi,
  .section-faq,
  .section-villes,
  .zigzag-wrap,
  .timeline-wrap,
  .feature-wrap,
  .long-form-section,
  .content {
    padding-top: var(--space-7) !important;
    padding-bottom: var(--space-7) !important;
  }
}

/* Hero secondaire (pages 2-7) — démarre sous header + breathing room */
.hero--small {
  height: auto !important;
  min-height: auto !important;
  padding: var(--space-9) 0 var(--space-8) !important;
  text-align: left !important;
}
@media (max-width: 1023px) {
  .hero--small { padding: var(--space-8) 0 var(--space-7) !important; }
}
@media (max-width: 768px) {
  .hero--small { padding: var(--space-7) 0 var(--space-6) !important; }
}

/* Footer — espacement haut/bas normalisé */
.site-footer {
  padding: var(--space-8) 0 var(--space-6) !important;
}
@media (max-width: 768px) {
  .site-footer { padding: var(--space-7) 0 var(--space-5) !important; }
}

/* CTA strip — bande accent avant footer, breathing room cohérent */
.cta-strip,
.section-cta-strip {
  padding: var(--space-8) 0 !important;
}
@media (max-width: 768px) {
  .cta-strip,
  .section-cta-strip { padding: var(--space-7) 0 !important; }
}

/* Titres section — espacement uniforme avant titre + après titre */
section h2,
.section-portrait h2,
.section-about h2,
.section-mission h2,
.section-services h2,
.section-pourquoi h2,
.section-faq h2,
.section-villes h2,
.cta-strip h2,
.cta-strip__title {
  margin-top: 0 !important;
  margin-bottom: var(--space-5) !important;
}

/* Section-label (kicker au-dessus du h2) */
.section-label {
  margin-bottom: var(--space-3) !important;
  margin-top: 0 !important;
}

/* Paragraphes dans sections — espacement vertical entre paragraphes */
section p,
.section-portrait p,
.section-about p,
.section-mission p,
.long-form-prose p {
  margin-top: 0 !important;
  margin-bottom: var(--space-4) !important;
}

/* Dernier paragraphe d'une section — pas de margin-bottom */
section p:last-child,
.section-portrait p:last-child,
.section-about p:last-child,
.long-form-prose p:last-child {
  margin-bottom: 0 !important;
}

/* Cards et grilles — espacement intérieur cohérent */
.feature-grid,
.pourquoi-grid,
.services-list {
  margin-top: var(--space-7) !important;
}
@media (max-width: 768px) {
  .feature-grid,
  .pourquoi-grid,
  .services-list { margin-top: var(--space-5) !important; }
}

/* Sticky header offset — assure le breathing sous le header sticky pour pages 2-7 */
/* (sur index.html le header est fixed transparent → géré par .hero overflow) */


/* ============================================================================
   v0.2.11 — Menu mobile lisible (override final, surcharge tous les contextes)
   Pattern : .site-nav.is-open background blanc + .site-nav a color blanc
   forcé !important par CSS interne d'index = liens invisibles sur certains contextes.
   Solution : forcer un schéma stable noir/blanc (uniforme sur toutes les pages).
   ============================================================================ */

@media (max-width: 1023px) {
  /* Menu mobile déployé — background noir solide, contraste maximal */
  .site-nav.is-open {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    background: #0A0A0A !important;
    border-top: 2px solid #FFFFFF !important;
    border-bottom: 2px solid #FFFFFF !important;
    padding: var(--space-5) !important;
    z-index: 49 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
  }
  .site-nav.is-open ul {
    flex-direction: column !important;
    gap: var(--space-4) !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .site-nav.is-open a,
  .site-nav.is-open li a {
    color: #FFFFFF !important;
    background: transparent !important;
    text-shadow: none !important;
    font-size: var(--text-base) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    display: block !important;
    padding: var(--space-2) 0 !important;
    text-decoration: none !important;
  }
  .site-nav.is-open a[aria-current=page],
  .site-nav.is-open li a[aria-current=page] {
    color: var(--color-accent, #C63428) !important;
  }
  .site-nav.is-open a:hover {
    color: var(--color-accent, #C63428) !important;
  }

  /* Hamburger toggle — toujours visible (contraste auto-adaptatif) */
  .menu-toggle {
    display: inline-block !important;
    cursor: pointer !important;
  }
}


/* ============================================================================
   v0.3.3 — Tailles logos modérées + hamburger uniforme
   (1) Hamburger menu lisible peu importe scroll state (uniforme noir/blanc)
   (2) Logo header agrandi modérément (mobile + desktop)
   (3) Logo footer agrandi modérément (override main.css height:42px)
   ============================================================================ */

/* (1) Hamburger menu — schéma uniforme contrasté indépendant du scroll state */
.menu-toggle {
  display: none;
  background: rgba(0, 0, 0, 0.55) !important;
  border: 2px solid #FFFFFF !important;
  border-radius: 0 !important;
  color: #FFFFFF !important;
  font-size: 1.5rem !important;
  cursor: pointer !important;
  padding: 6px 14px !important;
  line-height: 1 !important;
  transition: background 220ms ease, border-color 220ms ease, color 220ms ease !important;
}
.site-header.scrolled .menu-toggle {
  background: rgba(0, 0, 0, 0.85) !important;
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
}
.menu-toggle:hover {
  background: rgba(0, 0, 0, 0.95) !important;
  color: #FFFFFF !important;
}
@media (max-width: 1023px) {
  .menu-toggle { display: inline-block !important; }
}

/* (2) Logo header — tailles modérées */
.site-logo img {
  height: auto !important;
  max-height: 80px !important;
  width: auto !important;
}
@media (max-width: 1023px) {
  .site-logo img { max-height: 64px !important; }
}
@media (max-width: 768px) {
  .site-logo img { max-height: 56px !important; }
}

/* (3) Logo footer — tailles modérées (override main.css height:42px) */
.footer-reduced img {
  height: auto !important;
  max-height: 88px !important;
  max-width: 320px !important;
  width: auto !important;
  margin-bottom: var(--space-3) !important;
}
@media (max-width: 1023px) {
  .footer-reduced img { max-height: 76px !important; max-width: 270px !important; }
}
@media (max-width: 768px) {
  .footer-reduced img { max-height: 64px !important; max-width: 230px !important; }
}


/* ============================================================================
   v0.3.5 — Texte lisible sur fonds sombres + masquer Accueil mobile
   ============================================================================ */

/* (1) Textes lisibles sur sections à fond sombre */
.section-mission,
.section-mission p,
.section-mission .section-label,
.section-mission .mission-quote {
  color: #FFFFFF !important;
}
.section-mission .section-label {
  color: var(--color-accent) !important;
}
.section-mission p {
  color: #E5E5E5 !important;
}

/* CTA strip = fond rouge — texte blanc */
.cta-strip,
.section-cta-strip,
.cta-strip p,
.cta-strip h2,
.cta-strip__title,
.cta-strip__sub,
.section-cta-strip p,
.section-cta-strip h2 {
  color: #FFFFFF !important;
}

/* Footer si fond sombre — pas le cas pour RL mais sécurité */
.site-footer .footer-tagline {
  color: var(--color-text-muted) !important;
}

/* (2) Masquer Accueil dans le menu mobile (logo header sert de lien) */
@media (max-width: 1023px) {
  .nav-item-home {
    display: none !important;
  }
}


/* ====== v0.3.8 — Centrage hero--small + cta-strip ====== */
.hero--small{text-align:center !important}
body.archetype-brutalist .hero--small,.hero.hero--small{text-align:center !important}
body.archetype-brutalist .hero--small .hero-inner,.hero.hero--small .hero-inner{align-items:center !important;text-align:center !important}
body.archetype-brutalist .hero--small .hero-title,body.archetype-brutalist .hero--small .hero-sub,body.archetype-brutalist .hero--small .hero-label,.hero.hero--small .hero-title,.hero.hero--small .hero-sub,.hero.hero--small .hero-label{margin-left:auto !important;margin-right:auto !important}

/* cta-strip centrage forcé + sub gris pâle */
.cta-strip,.cta-strip h2,.cta-strip p,.cta-strip__title,.cta-strip__sub,
body.archetype-brutalist .cta-strip,body.archetype-brutalist .cta-strip h2,body.archetype-brutalist .cta-strip p,body.archetype-brutalist .cta-strip__title,body.archetype-brutalist .cta-strip__sub{text-align:center !important}
.cta-strip__title,.cta-strip h2{margin-left:auto !important;margin-right:auto !important}
.cta-strip__sub,.cta-strip p,body.archetype-brutalist .cta-strip__sub,body.archetype-brutalist .cta-strip p{color:#D5D5D5 !important}
.cta-strip__title,.cta-strip h2,body.archetype-brutalist .cta-strip__title,body.archetype-brutalist .cta-strip h2{color:#FFFFFF !important}
