*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:var(--base-size);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}.site-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:min(calc(100% - 40px),var(--container));margin:0 auto}.content-narrow{width:min(100%,var(--content));margin-inline:auto}.header{position:sticky;top:0;z-index:50;height:var(--header-h);display:flex;align-items:center;background:color-mix(in srgb,var(--header-bg,var(--bg)) 88%,transparent);color:var(--header-text,var(--text));backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:950;letter-spacing:-.04em;font-size:21px}.brand img{max-height:var(--logo-h,42px);width:auto}.nav{display:flex;align-items:center;gap:8px}.nav-item{position:relative}.nav>a,.nav-item>a{display:inline-flex;align-items:center;gap:5px;padding:10px 12px;border-radius:999px;text-decoration:none;font-weight:750;font-size:var(--nav-size,14px)}.nav a:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}.dropdown{position:absolute;top:100%;left:0;min-width:230px;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:18px;padding:8px;box-shadow:0 24px 60px rgba(0,0,0,.16);opacity:0;pointer-events:none;transform:translateY(8px);transition:.18s}.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;pointer-events:auto;transform:none}.dropdown a{display:block;padding:10px 12px;border-radius:11px;text-decoration:none;font-size:13px;font-weight:750}.header-tools{display:flex;align-items:center;gap:8px}.language{position:relative}.language select{appearance:none;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);background:var(--surface);color:var(--text);border-radius:999px;padding:9px 28px 9px 12px;font-weight:750}.menu-btn{display:none;border:0;background:var(--text);color:var(--bg);width:42px;height:42px;border-radius:50%;font-size:20px}.mobile-nav{display:none}.section{position:relative;background:var(--s-bg,var(--bg));color:var(--s-text,var(--text));padding-top:var(--s-pt,90px);padding-bottom:var(--s-pb,90px);overflow:hidden}.section-inner{width:min(calc(100% - 40px),var(--s-max,var(--container)));margin:auto;text-align:var(--s-align,left);position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--s-accent,var(--accent));margin-bottom:16px}.section h1,.section h2,.page-hero h1{font-family:var(--font-heading),var(--font-body),sans-serif;color:var(--s-title,var(--text));font-weight:950;letter-spacing:-.055em;line-height:.98;margin:0}.section h1{font-size:clamp(46px,var(--s-title-size,80px),94px);max-width:1000px}.section h2{font-size:clamp(36px,var(--s-title-size,52px),70px)}.rich{font-size:var(--s-text-size,18px);color:inherit}.rich p:first-child{margin-top:0}.rich p:last-child{margin-bottom:0}.rich a{text-decoration-thickness:1px;text-underline-offset:3px}.rich img{border-radius:var(--s-radius,var(--radius));margin:20px 0}.ql-size-small{font-size:12px}.ql-size-large{font-size:24px}.ql-size-huge{font-size:36px}.hero{min-height:min(760px,calc(100vh - var(--header-h)));display:flex;align-items:center;background:#0b0b0d;color:white}.hero::before{content:"";position:absolute;width:560px;height:560px;right:-100px;top:-160px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 55%,transparent),transparent 68%);filter:blur(10px)}.hero::after{content:"";position:absolute;width:400px;height:400px;left:30%;bottom:-280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}.hero .section-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr);gap:70px;align-items:end}.hero-copy .rich{font-size:clamp(18px,2vw,22px);max-width:760px;color:rgba(255,255,255,.76);margin-top:28px}.hero-side{border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:24px;background:rgba(255,255,255,.06);backdrop-filter:blur(12px)}.hero-side strong{display:block;font-size:14px;margin-bottom:16px}.hero-tags{display:flex;gap:8px;flex-wrap:wrap}.hero-tag{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:800;color:rgba(255,255,255,.88)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 18px;border-radius:var(--button-radius);font-size:var(--button-size,13px);font-weight:900;text-decoration:none;transition:.18s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{border:1px solid color-mix(in srgb,currentColor 22%,transparent);background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--text)}.hero .btn-secondary,.cta-section .btn-secondary{color:white;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25)}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);gap:36px;align-items:end;margin-bottom:42px}.section-head .rich{color:color-mix(in srgb,currentColor 68%,transparent)}.cards{display:grid;grid-template-columns:repeat(var(--columns,3),minmax(0,1fr));gap:20px}.card{display:flex;flex-direction:column;background:var(--surface);color:var(--text);border-radius:var(--radius);overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 9%,transparent);text-decoration:none;box-shadow:0 12px 35px rgba(0,0,0,.045);transition:.2s}.card:hover{transform:translateY(-5px);box-shadow:0 24px 54px rgba(0,0,0,.10)}.card-media{aspect-ratio:4/3;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 70%,#0b0b0d),#111);overflow:hidden}.card-media img{width:100%;height:100%;object-fit:var(--s-fit,cover);object-position:var(--s-pos,center center);transition:.5s}.card:hover .card-media img{transform:scale(1.03)}.card-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}.card-type{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--accent)}.card h3{font-family:var(--font-heading),sans-serif;font-size:var(--card-title,28px);letter-spacing:-.04em;line-height:1.05;margin:0}.card p{color:var(--muted);margin:0;font-size:15px}.card-link{margin-top:auto;padding-top:8px;font-size:12px;font-weight:900}.showcase{display:flex;flex-direction:column;gap:32px}.project{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:0;background:var(--surface);color:var(--text);border-radius:calc(var(--radius) + 4px);overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 9%,transparent);box-shadow:0 20px 60px rgba(0,0,0,.07)}.project:nth-child(even){grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr)}.project:nth-child(even) .project-media{order:2}.project-media{min-height:430px;background:#111}.project-media img{width:100%;height:100%;object-fit:var(--s-fit,cover);object-position:var(--s-pos,center center)}.project-copy{padding:48px;display:flex;flex-direction:column;justify-content:center}.project-copy h3{font-family:var(--font-heading),sans-serif;font-size:clamp(34px,4vw,50px);letter-spacing:-.05em;line-height:1;margin:0 0 18px}.project-copy p{color:var(--muted);font-size:16px}.split-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;align-items:center}.split-panel{padding:32px;border-radius:var(--radius);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}.tool-cloud{display:flex;flex-wrap:wrap;gap:9px}.tool-chip{padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:12px;font-weight:850}.cta-section{text-align:center}.cta-section .section-inner{max-width:900px}.cta-section h2{font-size:clamp(44px,6vw,72px)}.cta-section .rich{max-width:720px;margin:22px auto 0}.cta-section .actions{justify-content:center}.page-hero{padding:var(--s-pt,96px) 0 var(--s-pb,72px);background:var(--s-bg,var(--bg));color:var(--s-text,var(--text))}.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.8fr);gap:56px;align-items:center}.page-hero h1{font-size:min(var(--s-title-size,64px),10vw);margin:0 0 24px}.page-hero .lead{font-size:20px;color:var(--muted)}.page-cover{border-radius:calc(var(--radius) + 4px);overflow:hidden;background:linear-gradient(135deg,var(--accent),#111);aspect-ratio:4/3}.page-cover img{width:100%;height:100%;object-fit:var(--s-fit,cover);object-position:var(--s-pos,center center)}.page-body{padding:20px 0 90px}.block{padding:var(--s-pt,70px) 0 var(--s-pb,70px);background:var(--s-bg,transparent);color:var(--s-text,inherit)}.block-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.block-media{border-radius:var(--s-radius,var(--radius));overflow:hidden;background:#eee;min-height:260px}.block-media img{width:100%;height:100%;object-fit:var(--s-fit,cover);object-position:var(--s-pos,center center)}.feature-grid,.stats-grid{display:grid;grid-template-columns:repeat(var(--columns,3),1fr);gap:14px}.feature,.stat{border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:var(--radius);padding:22px;background:color-mix(in srgb,var(--surface) 90%,transparent)}.feature strong,.stat strong{font-size:20px}.stat strong{display:block;font-size:42px;letter-spacing:-.04em}.gallery{display:grid;grid-template-columns:repeat(var(--columns,3),1fr);gap:14px}.gallery img{width:100%;aspect-ratio:var(--ratio,4/3);object-fit:cover;border-radius:var(--radius)}.footer{margin-top:auto;background:var(--footer-bg,#0d0d0f);color:var(--footer-text,#fff);font-size:var(--footer-size,13px);padding:54px 0 24px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}.footer-brand{font-size:28px;font-weight:950;letter-spacing:-.05em}.footer-links,.social{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.footer-links a,.social a{color:rgba(255,255,255,.72);text-decoration:none;font-size:13px}.footer-links a:hover,.social a:hover{color:#fff}.footer-bottom{margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;color:rgba(255,255,255,.5);font-size:12px}.empty-media{width:100%;height:100%;min-height:260px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 70% 30%,color-mix(in srgb,var(--accent) 60%,transparent),transparent 45%),linear-gradient(135deg,#171719,#080808);color:rgba(255,255,255,.5);font-weight:850;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.not-found{padding:120px 0;text-align:center}.not-found h1{font-size:clamp(56px,9vw,110px);margin:0;letter-spacing:-.07em}.not-found p{color:var(--muted)}
@media(max-width:980px){.nav{display:none}.menu-btn{display:block}.mobile-nav.open{display:block;position:fixed;inset:var(--header-h) 0 auto 0;background:var(--surface);border-bottom:1px solid #ddd;padding:16px 20px;z-index:49}.mobile-nav a{display:block;padding:12px 6px;text-decoration:none;font-weight:800}.hero .section-inner,.section-head,.split-wrap,.page-hero-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-side{max-width:500px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.project,.project:nth-child(even){grid-template-columns:1fr}.project:nth-child(even) .project-media{order:0}.project-media{min-height:320px}.footer-top{grid-template-columns:1fr}.footer-links,.social{justify-content:flex-start}}
@media(max-width:650px){.container,.section-inner{width:min(calc(100% - 28px),var(--container))}.header-tools .language{display:none}.cards,.feature-grid,.stats-grid,.gallery{grid-template-columns:1fr}.section{padding-top:var(--s-pt,70px);padding-bottom:var(--s-pb,70px)}.hero .section-inner{gap:38px}.section h1{font-size:48px}.section h2{font-size:40px}.project-copy{padding:28px}.page-hero{padding:var(--s-pt,70px) 0 var(--s-pb,48px)}.footer-bottom{flex-direction:column;gap:8px}}

/* V2 finishing */
body{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:50;min-height:var(--header-h);display:flex;align-items:center;background:color-mix(in srgb,var(--header-bg,var(--bg)) 88%,transparent);color:var(--header-text,var(--text));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent)}main{flex:1}.narrow{width:min(calc(100% - 40px),var(--content));margin-inline:auto}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.mobile-child{padding-left:22px!important;color:var(--muted)}.page-rich{font-size:var(--s-text-size,18px)}.page-rich h2,.block h2{font-family:var(--font-heading),sans-serif;font-size:var(--s-title-size,44px);letter-spacing:-.045em;line-height:1.03;margin:0 0 22px;color:var(--s-title,var(--text))}.block-subtitle{font-size:18px;color:color-mix(in srgb,currentColor 70%,transparent);margin:-8px 0 24px}.related{border-top:1px solid color-mix(in srgb,var(--text) 8%,transparent)}.portfolio-grid .card-media{aspect-ratio:16/10}.video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#111;margin-top:24px}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.newsletter{max-width:520px;margin-top:20px;color:rgba(255,255,255,.72)}.newsletter form{display:flex;gap:8px;margin-top:14px}.newsletter input{min-width:0;flex:1;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:white;border-radius:var(--button-radius);padding:12px 16px;font:inherit}.newsletter input::placeholder{color:rgba(255,255,255,.48)}.decorative-network{position:relative;min-height:330px;border-radius:calc(var(--radius) - 4px);background:radial-gradient(circle at 20% 30%,rgba(181,36,45,.7) 0 5px,transparent 6px),radial-gradient(circle at 70% 22%,rgba(255,255,255,.8) 0 4px,transparent 5px),radial-gradient(circle at 50% 60%,rgba(181,36,45,.8) 0 7px,transparent 8px),radial-gradient(circle at 82% 72%,rgba(255,255,255,.7) 0 5px,transparent 6px),linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));overflow:hidden}.decorative-network:before,.decorative-network:after{content:"";position:absolute;inset:18% 12%;border:1px solid rgba(255,255,255,.12);transform:skew(-18deg) rotate(-8deg);border-radius:40%}.decorative-network:after{inset:28% 20%;transform:skew(14deg) rotate(21deg);border-color:rgba(181,36,45,.4)}.decorative-network i{position:absolute;width:72px;height:72px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.03)}.decorative-network i:nth-child(1){left:7%;top:11%}.decorative-network i:nth-child(2){right:8%;top:8%}.decorative-network i:nth-child(3){left:38%;top:38%;width:100px;height:100px;border-color:rgba(181,36,45,.45)}.decorative-network i:nth-child(4){left:12%;bottom:8%}.decorative-network i:nth-child(5){right:12%;bottom:12%}.decorative-network i:nth-child(6){right:35%;top:9%;width:48px;height:48px}.block[style*="--s-align:center"] .rich,.block[style*="--s-align:center"] h2{max-width:var(--content);margin-left:auto;margin-right:auto}.brand img{max-width:180px}.section-cards .actions,.section-showcase .actions{margin-top:32px}
@media(max-width:650px){.newsletter form{flex-direction:column}.narrow{width:min(calc(100% - 28px),var(--content))}.page-cover{aspect-ratio:16/11}.site-header{min-height:68px}}

.page-hero-grid.no-cover{grid-template-columns:minmax(0,920px);justify-content:start}.page-hero-grid.no-cover .lead{max-width:760px}

.header-cta{white-space:nowrap;margin-left:auto}.header-tools{margin-left:12px}@media(max-width:1040px){.header-cta{display:none}}

/* 2026-08-11 · Correctif collections dynamiques */
.portfolio-home{grid-template-columns:repeat(var(--columns,3),minmax(0,1fr))}
.portfolio-home .card-media{aspect-ratio:16/10}
.portfolio-home .card-body{min-height:210px}
.portfolio-home .card h3{font-size:clamp(22px,2.2vw,30px)}
.portfolio-home .card-link{margin-top:auto}
@media(max-width:980px){.portfolio-home{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.portfolio-home{grid-template-columns:1fr}}

/* ========================================================================== 
   HOME 2026-08-11 · Services + carrousels dynamiques
   ========================================================================== */

/* Le Hero est toujours le premier bloc visuel du <main>. */
main > .hero:first-child{margin-top:0}

/* SERVICES — 3 cartes cliquables */
#services.section{background:var(--s-bg,var(--bg))}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--surface);color:var(--text);border:1px solid color-mix(in srgb,var(--text) 9%,transparent);border-radius:calc(var(--radius) + 2px);overflow:hidden;text-decoration:none;box-shadow:0 14px 42px rgba(0,0,0,.055);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.service-card:hover{transform:translateY(-7px);box-shadow:0 28px 70px rgba(0,0,0,.12);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}
.service-card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(145deg,#18181b,#080809)}
.service-card-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease}
.service-card:hover .service-card-media img{transform:scale(1.035)}
.service-card-media .empty-media{min-height:0;height:100%}
.service-card-arrow{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(10,10,12,.72);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);font-size:18px;transition:transform .2s ease,background .2s ease}
.service-card:hover .service-card-arrow{transform:translate(2px,-2px);background:var(--accent)}
.service-card-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:26px 27px 28px}
.service-card-body h3{font-family:var(--font-heading),sans-serif;font-size:clamp(27px,2.2vw,34px);line-height:1;letter-spacing:-.045em;margin:0}
.service-card-body p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}
.service-card-link{margin-top:auto;padding-top:8px;font-size:13px;font-weight:900;color:var(--accent)}

/* CARROUSELS — réalisations et univers */
#realisations.section,#universes.section{overflow:hidden}
.carousel-shell{position:relative}
.carousel-controls{display:flex;justify-content:flex-end;gap:9px;margin:-18px 0 18px}
.carousel-button{width:46px;height:46px;border-radius:50%;border:1px solid color-mix(in srgb,var(--text) 13%,transparent);background:var(--surface);color:var(--text);display:grid;place-items:center;font:900 18px/1 var(--font-body),sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.045);transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease}
.carousel-button:hover:not(:disabled){transform:translateY(-2px);background:var(--text);color:var(--bg);border-color:var(--text)}
.carousel-button:disabled{opacity:.28;cursor:default}
.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,calc((100% - 40px)/3));gap:20px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scroll-behavior:smooth;padding:4px 2px 22px;scrollbar-width:none;-ms-overflow-style:none}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-card{scroll-snap-align:start;min-width:0;height:100%}
.carousel-card-link{display:flex;height:100%;flex-direction:column;overflow:hidden;border-radius:calc(var(--radius) + 2px);background:var(--surface);color:var(--text);border:1px solid color-mix(in srgb,var(--text) 9%,transparent);box-shadow:0 14px 42px rgba(0,0,0,.055);text-decoration:none;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.carousel-card-link:hover{transform:translateY(-6px);box-shadow:0 26px 64px rgba(0,0,0,.11);border-color:color-mix(in srgb,var(--accent) 26%,transparent)}
.carousel-card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 46%,#151517),#080809)}
.carousel-card-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease}
.carousel-card-link:hover .carousel-card-media img{transform:scale(1.035)}
.carousel-card-media .empty-media{height:100%;min-height:0;background:radial-gradient(circle at 78% 26%,color-mix(in srgb,var(--accent) 52%,transparent),transparent 35%),linear-gradient(145deg,#19191c,#080809)}
.carousel-card-badge{position:absolute;left:16px;top:16px;max-width:calc(100% - 32px);padding:7px 10px;border-radius:999px;background:rgba(11,11,13,.74);color:#fff;border:1px solid rgba(255,255,255,.2);font-size:10px;line-height:1;letter-spacing:.11em;text-transform:uppercase;font-weight:900;backdrop-filter:blur(10px)}
.carousel-card-body{display:flex;flex:1;flex-direction:column;gap:11px;padding:24px 24px 25px;min-height:205px}
.carousel-card-body h3{font-family:var(--font-heading),sans-serif;font-size:clamp(25px,2vw,31px);line-height:1.03;letter-spacing:-.045em;margin:0}
.carousel-card-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.carousel-card-cta{margin-top:auto;padding-top:8px;font-size:12px;font-weight:900;color:var(--accent)}
.carousel-progress{height:3px;background:color-mix(in srgb,var(--text) 9%,transparent);border-radius:999px;overflow:hidden;margin-top:1px}
.carousel-progress span{display:block;height:100%;width:0;background:var(--accent);border-radius:inherit;transition:width .18s ease}
.carousel-empty{padding:36px;border:1px dashed color-mix(in srgb,var(--text) 18%,transparent);border-radius:var(--radius);color:var(--muted);text-align:center}

@media(max-width:1050px){
  .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .service-card-body{padding:22px}
  .carousel-track{grid-auto-columns:minmax(300px,calc((100% - 20px)/2))}
}
@media(max-width:820px){
  .service-grid{grid-template-columns:1fr}
  .service-card{display:grid;grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr)}
  .service-card-media{aspect-ratio:auto;min-height:260px}
  .carousel-controls{margin-top:0}
  .carousel-track{grid-auto-columns:minmax(285px,72vw)}
}
@media(max-width:650px){
  .service-card{display:flex}
  .service-card-media{aspect-ratio:16/10;min-height:0}
  .service-card-body{padding:22px 21px 24px}
  .carousel-controls{justify-content:flex-start;margin:0 0 14px}
  .carousel-button{width:42px;height:42px}
  .carousel-track{grid-auto-columns:86vw;gap:14px;margin-right:-14px;padding-right:14px}
  .carousel-card-body{min-height:190px;padding:21px}
}

@media(prefers-reduced-motion:reduce){
  .carousel-track{scroll-behavior:auto}
  .service-card,.service-card-media img,.carousel-card-link,.carousel-card-media img,.carousel-button{transition:none}
}

/* LB APPAREL · restauration des sigles/icônes V1 — pilotés par la médiathèque Hub */
.service-brand-icon,.card-icon,.page-brand-icon,.feature-icon,.carousel-brand-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:#fff;border:1px solid color-mix(in srgb,var(--text) 9%,transparent);box-shadow:0 9px 26px rgba(0,0,0,.07)}
.service-brand-icon{width:68px;height:68px;padding:8px;border-radius:20px;margin-top:-58px;position:relative;z-index:2;margin-bottom:4px}
.service-brand-icon img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;transform:none!important}
.card-icon{width:58px;height:58px;padding:7px;border-radius:17px;margin-top:-48px;position:relative;z-index:2;margin-bottom:2px}
.card-icon img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;transform:none!important}
.carousel-brand-icon{position:absolute;left:18px;bottom:18px;width:64px;height:64px;padding:7px;border-radius:18px;z-index:3;background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.75);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.carousel-brand-icon img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important}
.carousel-card-link:hover .carousel-brand-icon img{transform:none!important}
.page-brand-icon{width:92px;height:92px;padding:10px;border-radius:25px;margin-bottom:24px}
.page-brand-icon img{width:100%;height:100%;object-fit:contain}
.feature{display:flex;gap:16px;align-items:flex-start}
.feature-icon{width:var(--s-icon-size,64px);height:var(--s-icon-size,64px);padding:8px;border-radius:18px;margin:0;box-shadow:none;background:color-mix(in srgb,#fff 94%,var(--s-bg,transparent))}
.feature-icon img{width:100%;height:100%;object-fit:contain}
.feature-copy{min-width:0;flex:1}
.feature-copy strong{display:block;line-height:1.15;margin:2px 0 8px}
.feature-copy p{margin:0;color:color-mix(in srgb,currentColor 68%,transparent);font-size:15px;line-height:1.55}
@media(max-width:650px){.service-brand-icon{width:60px;height:60px;border-radius:17px;margin-top:-52px}.carousel-brand-icon{width:56px;height:56px;border-radius:16px;left:14px;bottom:14px}.page-brand-icon{width:76px;height:76px;border-radius:21px}.feature-icon{width:58px;height:58px;border-radius:16px}}

/* ============================================================
   LB AI — premium private AI offer
   Content remains DB-driven; this file only defines presentation.
   ============================================================ */
.page-template-service_ai{background:#f5f5f3;color:#121214}
.page-template-service_ai .page-hero{position:relative;overflow:hidden;background:#070709;color:#fff;padding:var(--s-pt,clamp(88px,10vw,138px)) 0 var(--s-pb,clamp(74px,8vw,112px))}
.page-template-service_ai .page-hero::before{content:"";position:absolute;inset:-30% -15% auto 42%;height:780px;background:radial-gradient(circle at 50% 50%,rgba(194,34,45,.42),rgba(194,34,45,.12) 35%,transparent 70%);filter:blur(4px);pointer-events:none}
.page-template-service_ai .page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent)}
.page-template-service_ai .page-hero .container{position:relative;z-index:1}
.page-template-service_ai .page-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(420px,.75fr);gap:70px}
.page-template-service_ai .page-hero-grid.no-cover{grid-template-columns:minmax(0,1040px)}
.page-template-service_ai .page-hero .eyebrow{display:inline-flex;align-items:center;gap:10px;width:max-content;padding:8px 12px;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:rgba(255,255,255,.82);background:rgba(255,255,255,.055);backdrop-filter:blur(12px);letter-spacing:.12em}
.page-template-service_ai .page-hero .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:#ef3b47;box-shadow:0 0 18px rgba(239,59,71,.9)}
.page-template-service_ai .page-hero h1{font-size:clamp(58px,7.2vw,104px);line-height:.92;letter-spacing:-.066em;max-width:980px;color:#fff;margin-top:22px}
.page-template-service_ai .page-hero .lead{max-width:820px;font-size:clamp(19px,2vw,25px);line-height:1.5;color:rgba(255,255,255,.7);margin-top:30px}
.page-template-service_ai .page-hero .lead strong{color:#fff}
.page-template-service_ai .page-hero .actions{margin-top:36px;gap:12px}
.page-template-service_ai .page-hero .btn{min-height:52px;padding:14px 22px;font-size:14px}
.page-template-service_ai .page-hero .btn-primary{background:#d42631;box-shadow:0 12px 38px rgba(212,38,49,.26)}
.page-template-service_ai .page-hero .btn-secondary{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.2)}
.page-template-service_ai .page-cover{position:relative;border-radius:34px;background:linear-gradient(145deg,#161619,#08080a);border:1px solid rgba(255,255,255,.13);box-shadow:0 40px 120px rgba(0,0,0,.48);aspect-ratio:5/4}
.page-template-service_ai .page-body{padding:0;background:#0e0e11;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.page-template-service_ai .page-body .narrow{width:min(calc(100% - 40px),1180px);padding:34px 0 38px}
.page-template-service_ai .page-body .page-rich{font-size:clamp(18px,2vw,22px);line-height:1.55;color:rgba(255,255,255,.78);max-width:980px}
.page-template-service_ai .page-body .page-rich strong{color:#fff}
.page-template-service_ai .block{padding:var(--s-pt,clamp(76px,9vw,118px)) 0 var(--s-pb,clamp(76px,9vw,118px))}
.page-template-service_ai .block h2{font-size:clamp(40px,5.2vw,72px);max-width:960px;letter-spacing:-.055em}
.page-template-service_ai .block-subtitle{max-width:760px;font-size:18px;color:color-mix(in srgb,currentColor 64%,transparent);margin:22px 0 0}
.page-template-service_ai .block-intro{max-width:820px;margin:22px 0 40px;color:color-mix(in srgb,currentColor 70%,transparent)}
.page-template-service_ai .block-stats{background:#0e0e11;color:#fff;padding-top:58px;padding-bottom:58px}
.page-template-service_ai .block-stats .stats-grid{gap:1px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.1);border-radius:28px;overflow:hidden}
.page-template-service_ai .block-stats .stat{border:0;border-radius:0;background:#121216;padding:28px 30px;min-height:150px}
.page-template-service_ai .block-stats .stat strong{font-size:clamp(34px,4vw,52px);color:#fff;line-height:1;letter-spacing:-.055em}
.page-template-service_ai .block-stats .stat p{margin:12px 0 0;color:rgba(255,255,255,.56);font-size:14px}
.page-template-service_ai .block-features .feature-grid{margin-top:44px;gap:18px}
.page-template-service_ai .block-features .feature{position:relative;min-height:210px;padding:30px;border-radius:26px;background:rgba(255,255,255,.82);border:1px solid rgba(20,20,22,.08);box-shadow:0 20px 60px rgba(15,15,18,.055);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.page-template-service_ai .block-features .feature:hover{transform:translateY(-5px);box-shadow:0 30px 72px rgba(15,15,18,.10);border-color:rgba(212,38,49,.24)}
.page-template-service_ai .block-features .feature::before{content:"";position:absolute;top:28px;right:28px;width:8px;height:8px;border-radius:50%;background:#d42631;box-shadow:0 0 0 7px rgba(212,38,49,.08)}
.page-template-service_ai .block-features .feature-copy strong{font-size:22px;letter-spacing:-.025em;max-width:80%}
.page-template-service_ai .block-features .feature-copy p{font-size:15px;line-height:1.65;margin-top:13px;color:#67676d}
.page-template-service_ai .block-features[style*="--s-bg:#0"] .feature,.page-template-service_ai .block-features[style*="--s-bg: #0"] .feature{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12);box-shadow:none}
.page-template-service_ai .block-features[style*="--s-bg:#0"] .feature-copy p,.page-template-service_ai .block-features[style*="--s-bg: #0"] .feature-copy p{color:rgba(255,255,255,.58)}
.page-template-service_ai .block-pricing{position:relative;background:#08080a;color:#fff;overflow:hidden}
.page-template-service_ai .block-pricing::before{content:"";position:absolute;width:760px;height:760px;left:50%;top:-470px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(212,38,49,.24),transparent 67%);pointer-events:none}
.page-template-service_ai .block-pricing .section-inner{position:relative}
.page-template-service_ai .block-pricing .eyebrow{color:#ef5962}
.page-template-service_ai .block-pricing .block-subtitle{color:rgba(255,255,255,.58)}
.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:48px;align-items:stretch}
.price-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.13);box-shadow:0 18px 60px rgba(0,0,0,.22);overflow:hidden}
.price-card.featured{border-color:rgba(239,59,71,.62);background:linear-gradient(180deg,rgba(212,38,49,.16),rgba(255,255,255,.045));box-shadow:0 28px 90px rgba(212,38,49,.15)}
.price-card.featured::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,#ef3b47,transparent)}
.price-badge{position:absolute;right:18px;top:18px;padding:7px 9px;border-radius:999px;background:#d42631;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.price-card-top{min-height:72px;padding-right:12px}
.price-plan{font-size:22px;font-weight:950;letter-spacing:-.035em;color:#fff}
.price-meta{margin-top:7px;font-size:12px;color:rgba(255,255,255,.52);font-weight:750}
.price-line{display:flex;align-items:flex-end;gap:8px;margin:26px 0 20px}
.price-line strong{font-size:clamp(36px,3.2vw,52px);line-height:.9;letter-spacing:-.06em;color:#fff}
.price-line span{font-size:12px;color:rgba(255,255,255,.5);padding-bottom:5px}
.price-copy{min-height:76px;margin:0 0 24px;color:rgba(255,255,255,.64);font-size:14px;line-height:1.6}
.price-details{display:grid;gap:0;margin-top:auto;border-top:1px solid rgba(255,255,255,.12)}
.price-details>div{display:grid;gap:4px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.price-details strong{font-size:13px;color:rgba(255,255,255,.88)}
.price-cta{width:100%;margin-top:22px}
.price-card:not(.featured) .price-cta{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.18)}
.pricing-notes{max-width:980px;margin:36px auto 0;text-align:center;color:rgba(255,255,255,.47);font-size:13px;line-height:1.65}
.pricing-notes strong{color:rgba(255,255,255,.75)}
.block-comparison{background:#f3f3f1}
.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px}
.comparison-card{position:relative;padding:38px;border-radius:30px;background:#fff;border:1px solid rgba(15,15,18,.08);box-shadow:0 20px 60px rgba(15,15,18,.05)}
.comparison-card.primary{background:#111114;color:#fff;border-color:#111114;box-shadow:0 30px 80px rgba(0,0,0,.14)}
.comparison-card h3{font-size:clamp(28px,3.2vw,42px);line-height:1;letter-spacing:-.045em;margin:0 0 20px}
.comparison-card p{font-size:16px;line-height:1.7;color:#68686d;margin:0;max-width:650px}
.comparison-card.primary p{color:rgba(255,255,255,.64)}
.block-steps{background:#fff}
.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:48px;counter-reset:step}
.step-card{position:relative;min-height:270px;padding:28px;border-radius:28px;background:#f5f5f3;border:1px solid rgba(15,15,18,.075)}
.step-number{font-size:12px;letter-spacing:.12em;font-weight:900;color:#d42631;margin-bottom:56px}
.step-card h3{font-size:24px;line-height:1.05;letter-spacing:-.04em;margin:0 0 16px}
.step-card p{font-size:14px;line-height:1.65;color:#69696e;margin:0}
.step-card::after{content:"";position:absolute;left:28px;right:28px;top:63px;height:1px;background:linear-gradient(90deg,rgba(212,38,49,.5),rgba(20,20,22,.08))}
.page-template-service_ai .block-cta{background:#09090b;color:#fff;padding-top:110px;padding-bottom:110px}
.page-template-service_ai .block-cta .cta-section{position:relative;max-width:1050px;margin:auto;padding:64px 52px;border:1px solid rgba(255,255,255,.12);border-radius:36px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));overflow:hidden}
.page-template-service_ai .block-cta .cta-section::before{content:"";position:absolute;width:460px;height:460px;right:-180px;top:-250px;border-radius:50%;background:radial-gradient(circle,rgba(212,38,49,.48),transparent 67%)}
.page-template-service_ai .block-cta h2{position:relative;color:#fff;max-width:900px;margin:auto;font-size:clamp(46px,6.4vw,82px)}
.page-template-service_ai .block-cta .rich{position:relative;color:rgba(255,255,255,.64)}
.page-template-service_ai .block-cta .actions{position:relative}
.page-template-service_ai .block-cta .btn-primary{background:#d42631;box-shadow:0 16px 42px rgba(212,38,49,.23)}

@media(max-width:1180px){
  .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-template-service_ai .page-hero-grid{grid-template-columns:1fr}
  .page-template-service_ai .page-cover{max-width:760px}
}
@media(max-width:720px){
  .page-template-service_ai .page-hero{padding-top:var(--s-pt,72px)}
  .page-template-service_ai .page-hero h1{font-size:clamp(48px,15vw,72px)}
  .page-template-service_ai .page-hero .lead{font-size:18px}
  .page-template-service_ai .block{padding:var(--s-pt,72px) 0 var(--s-pb,72px)}
  .pricing-grid,.comparison-grid,.steps-grid{grid-template-columns:1fr}
  .price-card{padding:24px}
  .price-copy{min-height:0}
  .step-card{min-height:0}
  .page-template-service_ai .block-cta .cta-section{padding:44px 24px;border-radius:28px}
}

/* ================================================================
   LB APPAREL — NORMALISATION DES ESPACEMENTS QUILL / RICH TEXT
   Evite les grands blancs entre deux paragraphes simples.
   ================================================================ */
.rich{
  line-height:1.62;
}
.rich p{
  margin:0 0 .78em !important;
  padding:0;
}
.rich p + p{
  margin-top:0 !important;
}
.rich p:last-child{
  margin-bottom:0 !important;
}
/* Quill peut générer <p><br></p> pour une ligne vide : on la garde
   perceptible sans lui donner la hauteur de plusieurs paragraphes. */
.rich p:empty,
.rich p:has(> br:only-child){
  min-height:.34em;
  line-height:.34;
  margin:0 0 .34em !important;
}
.rich h1,
.rich h2,
.rich h3,
.rich h4,
.rich h5,
.rich h6{
  margin:1.15em 0 .48em;
  line-height:1.12;
}
.rich > h1:first-child,
.rich > h2:first-child,
.rich > h3:first-child,
.rich > h4:first-child,
.rich > h5:first-child,
.rich > h6:first-child{
  margin-top:0;
}
.rich ul,
.rich ol{
  margin:.55em 0 .9em;
  padding-left:1.45em;
}
.rich li{
  margin:.18em 0;
}
.rich blockquote{
  margin:.9em 0;
  padding:.15em 0 .15em 1em;
  border-left:3px solid var(--s-accent,var(--accent));
}
.rich pre{
  margin:.9em 0;
}
/* Le corps des pages Réalisations / Services / Univers garde une lecture
   éditoriale compacte et régulière sur desktop comme sur mobile. */
.page-rich{
  line-height:1.62;
}
@media (max-width:760px){
  .rich{line-height:1.58}
  .rich p{margin-bottom:.72em !important}
  .rich p:empty,
  .rich p:has(> br:only-child){margin-bottom:.28em !important;min-height:.28em}
}

/* ================================================================
   LB APPAREL — AUDIT COMPLET RENDERER DES BLOCS
   2026-08-12
   Tous les types actifs du builder ont un rendu explicite.
   ================================================================ */
.block .block-intro{margin-top:18px;margin-bottom:28px}
.block .block-caption{margin-top:16px}

/* Layouts réellement pilotés par le champ Layout du Hub. */
.block-layout-wide .section-inner{width:min(calc(100% - 40px),max(var(--s-max,1200px),1500px))}
.block-layout-centered .section-inner{width:min(calc(100% - 40px),min(var(--s-max,1200px),920px));text-align:center}
.block-layout-centered .actions{justify-content:center}
.block-layout-centered .block-intro,.block-layout-centered .rich{margin-left:auto;margin-right:auto}
.block-layout-full_bleed .section-inner{width:100%;max-width:none;padding-left:0;padding-right:0}
.block-layout-full_bleed .eyebrow,.block-layout-full_bleed> .section-inner>h2,.block-layout-full_bleed .block-intro,.block-layout-full_bleed .block-copy{padding-left:clamp(20px,4vw,64px);padding-right:clamp(20px,4vw,64px)}
.block-layout-split .section-inner{width:min(calc(100% - 40px),max(var(--s-max,1200px),1320px))}

/* Image seule */
.block-image-only{margin:0;width:100%;height:var(--media-h,520px);overflow:hidden;border-radius:var(--media-radius,var(--s-radius,var(--radius)));background:#eee}
.block-image-only img{display:block;width:100%;height:100%;object-fit:var(--media-fit,var(--s-fit,cover));object-position:var(--media-pos,var(--s-pos,center center))}

/* Image + texte / Texte + image */
.block-grid{gap:clamp(28px,4vw,56px)}
.block-media{height:var(--media-h,420px);min-height:var(--media-h,420px);border-radius:var(--s-radius,var(--radius))}
.block-media img{display:block;width:100%;height:100%;object-fit:var(--s-fit,cover);object-position:var(--s-pos,center center)}
.block-copy .rich{margin-top:18px}

/* Galerie : respecte ratio, crop/contain, position et arrondi admin. */
.gallery.block-gallery-grid{display:grid;grid-template-columns:repeat(var(--columns,3),minmax(0,1fr));gap:14px}
.gallery-item{margin:0;overflow:hidden;border-radius:var(--s-radius,var(--radius));background:color-mix(in srgb,var(--surface) 92%,#ddd);aspect-ratio:var(--ratio,4/3)}
.gallery-item img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:var(--s-fit,cover);object-position:var(--s-pos,center center);border-radius:0}
.gallery-link{display:block;text-decoration:none;border-radius:var(--s-radius,var(--radius));overflow:hidden}

/* Logos : jamais recadrés. */
.logo-grid{display:grid;grid-template-columns:repeat(var(--columns,4),minmax(0,1fr));gap:14px;margin-top:24px}
.logo-tile{min-height:150px;padding:24px;border-radius:var(--s-radius,var(--radius));border:1px solid color-mix(in srgb,currentColor 10%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);display:flex;align-items:center;justify-content:center}
.logo-tile img{display:block;width:100%;height:100%;max-width:190px;max-height:100px;object-fit:contain!important;object-position:center!important}
.logo-link{display:block;color:inherit;text-decoration:none}
.logo-link .logo-tile{transition:transform .18s ease,box-shadow .18s ease}
.logo-link:hover .logo-tile{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.08)}

/* Fonctionnalités / chiffres */
.feature-grid,.stats-grid{grid-template-columns:repeat(var(--columns,3),minmax(0,1fr))}
.feature-copy p,.stat p{margin:8px 0 0;color:color-mix(in srgb,currentColor 68%,transparent)}
.stat strong{line-height:1}

/* Tarifs / étapes / comparaison : le nombre de colonnes vient du Hub. */
.pricing-grid{grid-template-columns:repeat(var(--columns,4),minmax(0,1fr))}
.steps-grid{grid-template-columns:repeat(var(--columns,4),minmax(0,1fr))}
.comparison-grid{grid-template-columns:repeat(var(--columns,2),minmax(0,1fr))}

/* Vidéo */
.video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.video-native{background:#000}

/* Espacement */
.block-spacer{display:block;width:100%;background:var(--s-bg,transparent)}

@media(max-width:980px){
  .block-layout-wide .section-inner,.block-layout-split .section-inner{width:min(calc(100% - 40px),var(--s-max,var(--container)))}
  .pricing-grid,.steps-grid,.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .block-grid{grid-template-columns:1fr;gap:24px}
  .block-grid-left .block-media,.block-grid-right .block-media{order:0}
  .block-grid-left .block-copy,.block-grid-right .block-copy{order:1}
  .block-media{height:min(var(--media-h,420px),68vw);min-height:min(var(--media-h,420px),68vw)}
  .block-image-only{height:min(var(--media-h,520px),75vw)}
  .pricing-grid,.steps-grid,.comparison-grid,.logo-grid,.gallery.block-gallery-grid{grid-template-columns:1fr}
  .logo-tile{min-height:120px}
  .block-layout-full_bleed .eyebrow,.block-layout-full_bleed> .section-inner>h2,.block-layout-full_bleed .block-intro,.block-layout-full_bleed .block-copy{padding-left:20px;padding-right:20px}
}

/* Blocks réutilisables sur n'importe quelle page, pas uniquement LB AI. */
.feature,.stat{background:color-mix(in srgb,var(--s-bg,var(--surface)) 92%,var(--surface));color:var(--s-text,var(--text));border-color:color-mix(in srgb,currentColor 12%,transparent)}
.logo-tile{background:color-mix(in srgb,var(--s-bg,var(--surface)) 94%,var(--surface));color:var(--s-text,var(--text))}

.block-pricing .price-card{color:var(--s-text,var(--text));background:color-mix(in srgb,var(--s-bg,var(--surface)) 92%,var(--surface));border-color:color-mix(in srgb,currentColor 13%,transparent);box-shadow:0 18px 60px rgba(0,0,0,.08)}
.block-pricing .price-card.featured{border-color:var(--s-accent,var(--accent));background:color-mix(in srgb,var(--s-accent,var(--accent)) 10%,var(--s-bg,var(--surface)));box-shadow:0 28px 80px color-mix(in srgb,var(--s-accent,var(--accent)) 14%,transparent)}
.block-pricing .price-plan,.block-pricing .price-line strong{color:var(--s-title,var(--s-text,var(--text)))}
.block-pricing .price-meta,.block-pricing .price-line span,.block-pricing .price-copy,.block-pricing .pricing-notes{color:color-mix(in srgb,currentColor 62%,transparent)}
.block-pricing .price-details{border-top-color:color-mix(in srgb,currentColor 12%,transparent)}
.block-pricing .price-details>div{border-bottom-color:color-mix(in srgb,currentColor 9%,transparent)}
.block-pricing .price-details strong{color:color-mix(in srgb,currentColor 88%,transparent)}
.block-pricing .price-card:not(.featured) .price-cta{background:color-mix(in srgb,var(--s-bg,var(--surface)) 86%,currentColor 8%);color:var(--s-text,var(--text));border-color:color-mix(in srgb,currentColor 18%,transparent)}

.block-cta .btn-secondary{color:var(--s-text,var(--text));background:color-mix(in srgb,var(--s-bg,var(--surface)) 88%,currentColor 7%);border-color:color-mix(in srgb,currentColor 22%,transparent)}
.page-template-service_ai .block-cta .btn-secondary{color:#fff;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25)}

/* ========================================================================== 
   LB APPAREL — RESPONSIVE SYSTEM V2
   2026-08-13
   Mobile-first safeguards for every public template and every CMS block.
   Desktop values from the Hub remain authoritative; on small screens they are
   capped when necessary to prevent overflow and unusable layouts.
   ========================================================================== */
html,body{max-width:100%;overflow-x:clip}
body{min-width:0}
main,.section,.section-inner,.container,.narrow,.content-narrow,.block,.page-hero,.page-body{min-width:0}
img,video,iframe,svg,canvas{max-width:100%}
.rich,.page-rich,.card-body,.service-card-body,.carousel-card-body,.project-copy,.block-copy,.feature-copy{overflow-wrap:anywhere;word-break:normal}
.rich table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.rich pre{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.rich iframe{max-width:100%}
button,a,select,input,textarea{-webkit-tap-highlight-color:transparent}

@media(max-width:1100px){
  .header-inner{gap:16px}
  .brand img{max-width:155px}
  .nav>a,.nav-item>a{padding-inline:9px}
  .page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);gap:40px}
  .split-wrap{gap:48px}
  .project-copy{padding:38px}
}

@media(max-width:980px){
  .site-header{height:72px;min-height:72px}
  .header-inner{height:72px;gap:10px}
  .brand{min-width:0;flex:0 1 auto}
  .brand img{max-height:min(var(--logo-h,42px),40px);max-width:145px}
  .nav{display:none!important}
  .menu-btn{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;cursor:pointer}
  .header-tools{margin-left:auto;gap:8px}
  .mobile-nav.open{display:block;position:fixed;z-index:49;left:0;right:0;top:72px;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding:12px 18px calc(22px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--header-bg,var(--bg)) 97%,transparent);color:var(--header-text,var(--text));border-bottom:1px solid color-mix(in srgb,var(--header-text,var(--text)) 12%,transparent);box-shadow:0 24px 50px rgba(0,0,0,.14);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
  .mobile-nav a{display:flex;align-items:center;min-height:48px;padding:12px 6px;border-bottom:1px solid color-mix(in srgb,currentColor 8%,transparent);font-size:15px;font-weight:850;text-decoration:none}
  .mobile-nav .mobile-child{min-height:42px;padding-left:24px!important;font-size:13px;color:color-mix(in srgb,currentColor 62%,transparent)}
  .mobile-language{padding:12px 0 8px;margin-bottom:4px;border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent)}
  .mobile-language .language{display:block!important}
  .mobile-language select{width:100%;min-height:46px;border-radius:14px;background:var(--surface);color:var(--text);font-size:16px}
  body.mobile-nav-open{overflow:hidden;touch-action:none}

  .hero .section-inner,.section-head,.split-wrap,.page-hero-grid{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero .section-inner{gap:34px;align-items:start}
  .hero-side{width:100%;max-width:none}
  .section-head{gap:14px;margin-bottom:32px;align-items:start}
  .section-head .rich{max-width:760px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project,.project:nth-child(even){grid-template-columns:1fr}
  .project:nth-child(even) .project-media{order:0}
  .project-media{min-height:0;aspect-ratio:16/9}
  .footer-top{grid-template-columns:1fr;gap:34px}
  .footer-links,.social{justify-content:flex-start;flex-wrap:wrap}

  .feature-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery.block-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pricing-grid,.steps-grid,.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  :root{--mobile-gutter:16px}
  .container,.section-inner,.narrow,.content-narrow{width:min(calc(100% - (var(--mobile-gutter) * 2)),var(--container));max-width:100%}
  .narrow,.content-narrow{width:min(calc(100% - (var(--mobile-gutter) * 2)),var(--content))}
  .site-header,.header-inner{height:68px;min-height:68px}
  .mobile-nav.open{top:68px;max-height:calc(100dvh - 68px)}
  .brand img{max-height:min(var(--logo-h,42px),36px);max-width:132px}
  .header-cta{display:none!important}
  .header-tools>.language{display:none}
  .menu-btn{width:42px;height:42px;flex-basis:42px}

  .section{padding-top:min(var(--s-pt,70px),60px);padding-bottom:min(var(--s-pb,70px),60px)}
  .section h1{font-size:clamp(38px,11.5vw,56px);line-height:.98;letter-spacing:-.045em}
  .section h2,.page-rich h2,.block h2{font-size:clamp(30px,9vw,44px);line-height:1.02;letter-spacing:-.04em}
  .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:12px}
  .rich,.page-rich{font-size:min(var(--s-text-size,18px),17px);line-height:1.58}

  .hero{padding-top:min(var(--s-pt,70px),54px);padding-bottom:min(var(--s-pb,70px),54px)}
  .hero::before{width:360px;height:360px;right:-180px;top:-80px;opacity:.8}
  .hero::after{width:260px;height:260px;left:10%;bottom:-190px}
  .hero .section-inner{gap:28px}
  .hero-copy .rich{font-size:clamp(16px,4.5vw,19px);line-height:1.55;margin-top:20px}
  .hero-side{padding:18px;border-radius:min(var(--radius),22px)}
  .hero-side strong{margin-bottom:12px}
  .hero-tags{gap:7px}
  .hero-tag{padding:7px 9px;font-size:11px}
  .actions{gap:9px;margin-top:22px}
  .btn{min-height:46px;padding:11px 16px}

  .section-head{margin-bottom:26px}
  .service-grid{grid-template-columns:1fr;gap:16px}
  .service-card{display:flex!important;grid-template-columns:none}
  .service-card-media{aspect-ratio:16/10;min-height:0}
  .service-card-body{padding:20px 20px 22px;gap:10px}
  .service-card-body h3{font-size:clamp(26px,8vw,32px)}
  .service-card-body p{font-size:14px;line-height:1.55}
  .service-card-arrow{right:14px;top:14px;width:38px;height:38px}
  .service-brand-icon{width:58px;height:58px;margin-top:-48px;border-radius:16px}

  .carousel-controls{justify-content:flex-start;margin:0 0 12px}
  .carousel-button{width:42px;height:42px;touch-action:manipulation}
  .carousel-track{grid-auto-columns:min(86vw,360px);gap:14px;margin-right:calc(var(--mobile-gutter) * -1);padding:3px var(--mobile-gutter) 18px 1px;scroll-padding-left:1px;touch-action:pan-x}
  .carousel-card-body{min-height:178px;padding:19px}
  .carousel-card-body h3{font-size:clamp(24px,7vw,29px)}
  .carousel-card-body p{font-size:13.5px;line-height:1.55}
  .carousel-brand-icon{width:54px;height:54px;left:13px;bottom:13px;border-radius:15px}
  .carousel-card-badge{left:13px;top:13px;max-width:calc(100% - 26px);font-size:9px}

  .page-hero{padding:min(var(--s-pt,72px),56px) 0 min(var(--s-pb,48px),44px)}
  .page-hero-grid{gap:28px}
  .page-hero h1{font-size:clamp(38px,11.5vw,56px);margin-bottom:18px;line-height:.98}
  .page-hero .lead{font-size:17px;line-height:1.55}
  .page-cover{aspect-ratio:16/10;border-radius:min(calc(var(--radius) + 4px),24px)}
  .page-brand-icon{width:72px;height:72px;border-radius:20px;margin-bottom:18px}
  .page-body{padding:0 0 56px}

  .block{padding-top:min(var(--s-pt,56px),56px);padding-bottom:min(var(--s-pb,56px),56px)}
  .block .block-intro{margin-top:14px;margin-bottom:20px}
  .block-subtitle{font-size:16px;margin:-5px 0 18px}
  .block-grid{grid-template-columns:1fr;gap:22px}
  /* Preserve the semantic order of the two canonical split blocks on mobile. */
  .block-grid-left .block-media{order:0}.block-grid-left .block-copy{order:1}
  .block-grid-right .block-copy{order:0}.block-grid-right .block-media{order:1}
  .block-media{height:min(var(--media-h,420px),72vw);min-height:220px;border-radius:min(var(--s-radius,var(--radius)),24px)}
  .block-image-only{height:min(var(--media-h,520px),76vw);min-height:220px;border-radius:min(var(--media-radius,var(--s-radius,var(--radius))),24px)}
  .feature-grid,.stats-grid{grid-template-columns:1fr;gap:12px}
  .feature,.stat{padding:18px;border-radius:min(var(--radius),22px)}
  .feature{gap:13px}
  .feature-icon{width:min(var(--s-icon-size,58px),58px);height:min(var(--s-icon-size,58px),58px);border-radius:15px}
  .stat strong{font-size:36px}
  .gallery.block-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .logo-tile{min-height:105px;padding:18px}
  .pricing-grid,.steps-grid,.comparison-grid{grid-template-columns:1fr;gap:14px}
  .price-card,.step-card,.comparison-card{min-width:0}
  .video-frame{margin-top:18px;border-radius:min(var(--radius),22px)}
  .block-layout-full_bleed .section-inner{width:100%}
  .block-layout-full_bleed .eyebrow,.block-layout-full_bleed> .section-inner>h2,.block-layout-full_bleed .block-intro,.block-layout-full_bleed .block-copy{padding-left:var(--mobile-gutter);padding-right:var(--mobile-gutter)}

  .project-copy{padding:24px 20px 26px}
  .project-copy h3{font-size:clamp(30px,9vw,42px)}
  .project-copy p{font-size:15px;line-height:1.55}

  .footer{padding-top:48px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .footer-top{gap:28px}
  .footer-links,.social{gap:8px 14px}
  .footer-links a,.social a{display:inline-flex;min-height:36px;align-items:center}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
  .newsletter form{flex-direction:column}
  .newsletter .btn{width:100%}
  .newsletter input{min-height:48px;font-size:16px}
}

@media(max-width:480px){
  :root{--mobile-gutter:12px}
  .brand img{max-width:118px;max-height:34px}
  .menu-btn{width:40px;height:40px;flex-basis:40px}
  .section{padding-top:min(var(--s-pt,52px),52px);padding-bottom:min(var(--s-pb,52px),52px)}
  .section h1,.page-hero h1{font-size:clamp(36px,11.2vw,48px)}
  .section h2,.page-rich h2,.block h2{font-size:clamp(28px,8.7vw,38px)}
  .actions{flex-direction:column;align-items:stretch}
  .actions .btn{width:100%}
  .hero-side{padding:16px}
  .carousel-track{grid-auto-columns:min(88vw,340px);gap:12px}
  .carousel-card-body{min-height:166px;padding:18px}
  .gallery.block-gallery-grid{grid-template-columns:1fr}
  .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .block-media{height:min(var(--media-h,420px),78vw);min-height:200px}
  .block-image-only{height:min(var(--media-h,520px),82vw);min-height:200px}
  .service-card-body{padding:18px 18px 20px}
  .page-cover{aspect-ratio:4/3}
  .ql-size-large{font-size:20px}.ql-size-huge{font-size:28px}
}

@media(max-width:360px){
  .brand img{max-width:106px}
  .carousel-track{grid-auto-columns:90vw}
  .hero-tag{font-size:10px}
  .logo-grid{grid-template-columns:1fr}
}
