/* ==========================================================================
   INKIT Paris — sections.css
   Blocs de sections (hero, techniques, étapes, réalisations, tarifs, FAQ,
   formulaires…). Chargé seulement sur les pages qui les utilisent.
   ========================================================================== */

/* ---------- En-tête de section ---------- */
.sec__head{max-width:760px;margin-bottom:var(--s-8)}
.sec__title{font-size:var(--fs-h2);font-stretch:112%;font-weight:900;text-transform:uppercase;line-height:.95}
.sec__title .line{display:block}
.sec__text{margin-top:var(--s-5);font-size:var(--fs-lead);color:var(--g-700);max-width:58ch}
.sec--dark .sec__text{color:var(--g-300)}
.sec__row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-5);flex-wrap:wrap;margin-bottom:var(--s-8)}
.sec__row .sec__head{margin-bottom:0}
.sec__row .btn-row{margin-top:0}
.sec--dark::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.07;pointer-events:none}
.sec--dark > .wrap{position:relative}
.editor-empty{padding:24px;border:1.5px dashed var(--g-300);border-radius:var(--r-md);color:var(--g-600);font:14px/1.5 var(--f-body);background:var(--white)}

/* Révélation au défilement : contenu visible sans JS ; masqué seulement si GSAP va l'animer. */
.m [data-reveal] .line__in,.m [data-hero-title] .line__in{display:inline-block}
.m:not(.m-ready) [data-hero-fade],.m:not(.m-ready) [data-hero-title] .line__in{opacity:0;animation:inkit-failsafe .01s 2.6s forwards}
@keyframes inkit-failsafe{to{opacity:1}}

/* ---------- Hero ---------- */
.sec--hero{min-height:max(560px,min(92vh,880px));display:grid;align-items:end;padding-block:calc(var(--header-h) + var(--s-8)) var(--s-9);overflow:hidden;background:var(--ink)}
.hero__media{position:absolute;inset:0;overflow:hidden}
.hero__photo{position:absolute;inset:0}
.hero__img,.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:calc(1 - var(--hero-shade,.45))}
.hero__photo picture{display:contents}
.hero__img,.hero__video{object-position:var(--hero-pos,50% 50%)}
@media (max-width:700px){.hero__img,.hero__video{object-position:var(--hero-pos-m,50% 50%)}}
@media (prefers-reduced-motion:reduce){.hero__video{display:none}}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,15,.15) 0%,rgba(13,13,15,.35) 50%,rgba(13,13,15,.92) 100%)}
.hero__tee{position:absolute;right:-4vw;top:50%;width:min(56vw,640px);transform:translateY(-46%);opacity:.95;color:#1F1F24;will-change:transform}
.hero__garment{width:100%;filter:drop-shadow(0 40px 80px rgba(0,0,0,.45))}
.hero__garment g{stroke:#34343A;stroke-width:2}
.hero__print{position:absolute;inset:0;width:100%;height:100%}
.hero__print text{font:900 64px var(--f-display);font-stretch:125%;fill:var(--paper)}
.hero__print rect{fill:var(--accent)}
.hero__print g{clip-path:inset(0 0 0 0)}
.m .hero__print g{clip-path:inset(0 100% 0 0)}
.hero__ink{position:absolute;left:0;right:0;top:58%;height:3px;z-index:3;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--cyan),var(--magenta) 45%,var(--yellow) 70%,var(--accent));pointer-events:none}
.hero__content{position:relative;z-index:2}
.hero__title{margin:0 0 var(--s-5)}
.hero__title .line{overflow:hidden;padding-bottom:.04em}
.hero__text{font-size:var(--fs-lead);color:var(--g-200);max-width:34ch;margin:0}
.hero__proof{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);list-style:none;margin:var(--s-6) 0 0;padding:0;color:var(--g-300);font-size:14px}
.hero__proof li{display:inline-flex;gap:8px;align-items:center}
.hero__proof .icon{color:var(--accent)}
.hero__scroll{position:absolute;right:var(--gutter);bottom:var(--s-6);margin:0;z-index:2}
@media (max-width:1279px){.hero__tee{width:70vw;right:-24vw;top:44%;opacity:.25}}
@media (max-width:767px){.hero__tee{width:110vw;right:-40vw;top:30%;opacity:.22}.hero__scroll{display:none}.sec--hero{min-height:max(560px,92svh)}}

/* ---------- En-tête de page ---------- */
.sec--page-hero{padding-block:var(--s-8) var(--s-9);overflow:hidden}
.page-hero__grid{display:grid;grid-template-columns:1fr;gap:var(--s-7);align-items:center}
.has-visual .page-hero__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.page-hero__title{margin-bottom:var(--s-5);font-size:var(--fs-display-md)}
.page-hero__title .line{display:block}
/* Stitch Text (design system, signature 08) : le mot apparaît en points de couture, puis se remplit. */
.stitch{display:block;width:100%;max-width:520px;height:auto;margin-top:var(--s-7);overflow:visible}
.stitch text{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:120px;text-transform:uppercase;fill:currentColor;stroke:currentColor;stroke-width:2;stroke-dasharray:7 5}
.m .stitch text{fill:transparent;stroke-dashoffset:240}
.m .stitch.is-sewn text{animation:inkit-sew 1100ms linear forwards,inkit-fillin 400ms ease 1000ms forwards}
.m:not(.m-ready) .stitch text{animation:inkit-fillin .01s 2.6s forwards}
@keyframes inkit-sew{from{stroke-dashoffset:240}to{stroke-dashoffset:0}}
@keyframes inkit-fillin{to{fill:currentColor}}
.page-hero__text{font-size:var(--fs-lead);color:var(--g-700);max-width:56ch}
.sec--dark .page-hero__text{color:var(--g-300)}
.page-hero__visual{margin:0;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;background:var(--g-900)}
.page-hero__visual img{width:100%;height:100%;object-fit:cover}
@media (max-width:899px){.has-visual .page-hero__grid{grid-template-columns:1fr}.page-hero__visual{aspect-ratio:16/10;max-height:360px}}

/* ---------- Types de textile ---------- */
.types{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3)}
@media (max-width:1023px){.types{grid-template-columns:repeat(2,minmax(0,1fr))}}
.type-card{position:relative;display:flex;flex-direction:column;height:100%;padding:var(--s-4);border-radius:var(--r-lg);background:var(--white);text-decoration:none;overflow:hidden;transition:box-shadow var(--d-2),transform var(--d-2) var(--ease-out)}
.type-card:hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
.type-card__media{aspect-ratio:1;display:grid;place-items:center;border-radius:var(--r-md);background:var(--g-100);overflow:hidden;margin-bottom:var(--s-4)}
.type-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--d-3) var(--ease-out)}
.type-card__garment{width:68%;color:var(--tone,var(--ink));filter:drop-shadow(0 14px 22px rgba(13,13,15,.18));transition:transform var(--d-3) var(--ease-out)}
.type-card:hover .type-card__garment{transform:rotate(-4deg) scale(1.05)}
.type-card:hover .type-card__media img{transform:scale(1.05)}
.type-card__body b{display:block;font:900 clamp(1.1rem,1rem + .6vw,1.5rem)/1 var(--f-display);font-stretch:118%;text-transform:uppercase}
.type-card__body small{display:block;color:var(--g-600);margin-top:6px;font-size:14px}
.type-card__go{position:absolute;top:var(--s-5);right:var(--s-5);width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--white);display:grid;place-items:center;opacity:0;transform:scale(.7);transition:opacity var(--d-2),transform var(--d-2) var(--ease-out)}
.type-card:hover .type-card__go,.type-card:focus-visible .type-card__go{opacity:1;transform:none}
.type-card__go .icon{width:16px;height:16px}
@media (max-width:480px){.type-card{padding:var(--s-3)}.type-card .type-card__body b{font-size:1.05rem;font-stretch:112%;overflow-wrap:anywhere}.type-card__body small{font-size:12.5px}}

/* ---------- Techniques ---------- */
.techs{display:grid;gap:var(--s-4);grid-template-columns:repeat(3,1fr)}
.techs--4{grid-template-columns:repeat(4,1fr)}
.techs--2{grid-template-columns:repeat(2,1fr)}
.techs--1{grid-template-columns:1fr}
@media (max-width:1100px){.techs--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:899px){.techs,.techs--2,.techs--4{grid-template-columns:1fr}}
.tech-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:440px;padding:var(--s-6);border-radius:var(--r-xl);background:var(--ink);color:var(--paper);overflow:hidden;isolation:isolate}
.tech-card__img{position:absolute;inset:0;z-index:-2}
.tech-card__img img{width:100%;height:100%;object-fit:cover;opacity:.42;transform:scale(1.02);transition:transform 1.2s var(--ease-out),opacity var(--d-3)}
.tech-card__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,15,.5),rgba(13,13,15,.15) 40%,rgba(13,13,15,.92))}
.tech-card:hover .tech-card__img img{transform:scale(1.08);opacity:.55}
.tech-card__macro{position:absolute;right:-40px;top:-40px;width:200px;height:200px;z-index:-1;opacity:.9;pointer-events:none}
.tech-card--dtf .tech-card__macro{background:radial-gradient(circle,var(--cyan) 22%,transparent 24%) 0 0/14px 14px,radial-gradient(circle,var(--magenta) 22%,transparent 24%) 7px 7px/14px 14px;-webkit-mask:radial-gradient(circle,#000 28%,transparent 68%);mask:radial-gradient(circle,#000 28%,transparent 68%);animation:inkit-drift 9s linear infinite}
.tech-card--broderie .tech-card__macro{background:repeating-linear-gradient(55deg,var(--yellow) 0 3px,#B89600 3px 4px,transparent 4px 7px);-webkit-mask:radial-gradient(circle,#000 30%,transparent 66%);mask:radial-gradient(circle,#000 30%,transparent 66%)}
.tech-card--vinyle .tech-card__macro{border-radius:50%;background:var(--accent);box-shadow:8px 8px 0 #8D2208;transform:scale(.5) rotate(-12deg)}
.tech-card.has-img .tech-card__macro{opacity:.55}
@keyframes inkit-drift{to{background-position:14px 14px,21px 21px}}
.tech-card__name{font-size:clamp(2.1rem,1.4rem + 1.6vw,3.1rem);font-weight:900;font-stretch:108%;overflow-wrap:anywhere;text-transform:uppercase;margin:var(--s-2) 0 var(--s-3)}
.tech-card__text{color:var(--g-200);max-width:30ch;margin:0}
.tech-card__foot{display:flex;justify-content:space-between;align-items:end;gap:var(--s-4);border-top:1px solid rgba(246,245,242,.18);padding-top:var(--s-4);margin-top:var(--s-6)}
.tech-card__price .price__v{font-size:1.9rem}
.tech-card__link{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--paper);color:var(--ink);flex:none;transition:background var(--d-2),transform var(--d-2) var(--ease-out)}
.tech-card:hover .tech-card__link{background:var(--accent);color:var(--white);transform:rotate(45deg)}

/* ---------- Avant / après ---------- */
.ba-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s-7);align-items:center}
@media (max-width:899px){.ba-wrap{grid-template-columns:1fr}}
.ba{position:relative;aspect-ratio:5/4;border-radius:var(--r-xl);overflow:hidden;background:var(--g-100);user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:ew-resize}
.ba__layer{position:absolute;inset:0;display:grid;place-items:center}
.ba__layer img{width:100%;height:100%;object-fit:cover}
.ba__garment{height:86%;width:auto;color:#24242A}
.ba__after{clip-path:inset(0 0 0 var(--pos,50%));background:var(--g-200)}
.ba__print{position:absolute;inset:0;height:86%;margin:auto}
.ba__print .t1{font:900 46px var(--f-display);font-stretch:125%;fill:var(--paper)}
.ba__print .t2{font:600 15px var(--f-mono);letter-spacing:.1em;fill:var(--accent)}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:var(--ink);transform:translateX(-1px);z-index:2}
.ba__knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;border:0;background:var(--ink);color:var(--white);font:600 16px var(--f-mono);cursor:ew-resize;box-shadow:var(--sh-2)}
.ba__tag{position:absolute;bottom:16px;z-index:2;padding:8px 12px;border-radius:var(--r-pill);background:var(--white);font:600 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.ba__tag--l{left:16px}.ba__tag--r{right:16px}

/* ---------- Étapes + fil ---------- */
.steps-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s-8)}
.steps-wrap__head{position:sticky;top:calc(var(--header-h) + var(--s-6));align-self:start}
@media (max-width:899px){.steps-wrap{grid-template-columns:1fr;gap:var(--s-6)}.steps-wrap__head{position:static}}
.steps{position:relative;padding-left:76px}
.steps__thread{position:absolute;left:23px;top:24px;bottom:24px;width:4px;height:calc(100% - 48px);overflow:visible}
.steps__track,.steps__fill{stroke-width:2;vector-effect:non-scaling-stroke}
.steps__track{stroke:var(--g-200)}
.steps__fill{stroke:var(--ink);stroke-dasharray:100;stroke-dashoffset:var(--thread-off,0)}
.m .steps__fill{--thread-off:100}
.steps__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-8)}
.step{position:relative}
.step__n{position:absolute;left:-76px;top:-4px;width:48px;height:48px;border-radius:50%;background:var(--paper);border:1.5px solid var(--g-300);display:grid;place-items:center;font:600 13px var(--f-mono);transition:background var(--d-2),color var(--d-2),border-color var(--d-2)}
.step.is-on .step__n,.no-js .step__n{background:var(--ink);color:var(--white);border-color:var(--ink)}
.step__title{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.4rem);font-stretch:112%;text-transform:uppercase;font-weight:900;margin-bottom:var(--s-3)}
.step__text{color:var(--g-700);max-width:46ch;margin:0}
.sec--dark .step__n{background:var(--ink)}
.sec--dark .step__text{color:var(--g-300)}

/* ---------- Fil conducteur de l'accueil (rail latéral, grands écrans) ---------- */
.thread-rail{display:none}
@media (min-width:1680px){
	.thread-rail.is-ready{display:block;position:fixed;left:22px;top:50%;transform:translateY(-50%);z-index:20;height:300px;pointer-events:none;mix-blend-mode:difference;color:#fff}
	.thread-rail__line{position:absolute;left:4px;top:0;bottom:0;width:1.5px;background:rgba(255,255,255,.25)}
	.thread-rail__line i{position:absolute;left:0;top:0;width:100%;height:var(--p,0%);background:#fff}
	.thread-rail__steps{list-style:none;margin:0;padding:0;height:100%;display:flex;flex-direction:column;justify-content:space-between}
	.thread-rail__steps li{display:flex;align-items:center;gap:10px;font:600 10px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.4;transition:opacity var(--d-2)}
	.thread-rail__steps li::before{content:"";width:10px;height:10px;border-radius:50%;border:1.5px solid currentColor;background:#000}
	.thread-rail__steps li.is-on{opacity:1}
	.thread-rail__steps li.is-on::before{background:#fff}
}

/* ---------- Repères ---------- */
.sec--reperes{padding-block:var(--s-8);border-block:1px solid var(--g-200)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);margin:0}
@media (max-width:899px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat dt{font:900 clamp(2.4rem,1.8rem + 2.4vw,4rem)/1 var(--f-display);font-stretch:125%}
.stat dd{margin:var(--s-2) 0 0;color:var(--g-600);max-width:22ch}

/* ---------- Réalisations ---------- */
.real-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6) var(--s-4)}
@media (max-width:1023px){.real-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.real-grid{grid-template-columns:1fr}}
.real-card[hidden]{display:none}
.real-card__link{display:block;text-decoration:none}
.real-card__media{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--g-100)}
.real-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out),opacity var(--d-3)}
.real-card__alt{opacity:0}
.real-card__link:hover .real-card__media img{transform:scale(1.05)}
.real-card__link:hover .real-card__alt{opacity:1}
.real-card__media .badge{position:absolute;left:12px;top:12px;z-index:1}
.real-card__garment{width:60%;margin:20% auto;color:var(--g-300)}
.real-card__meta{display:grid;gap:4px;padding-top:var(--s-3)}
.real-card__meta .kicker{margin:0}
.real-card__title{font:800 clamp(1.1rem,1rem + .5vw,1.4rem)/1.15 var(--f-display)}

/* ---------- Logos ---------- */
.sec--logos{padding-block:var(--s-8)}
.logos__title{justify-content:center}
.marquee{display:flex;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee__track{display:flex;gap:var(--s-9);align-items:center;list-style:none;margin:0;padding:0 var(--s-9) 0 0;flex:none;animation:inkit-marquee calc(var(--n,6) * 7s) linear infinite}
.marquee__track img{height:44px;width:auto;max-width:160px;object-fit:contain;filter:grayscale(1);opacity:.65;transition:opacity var(--d-2),filter var(--d-2)}
.marquee__track img:hover{filter:none;opacity:1}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes inkit-marquee{to{transform:translateX(-100%)}}

/* ---------- Avis ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4)}
@media (max-width:1023px){.reviews{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.reviews{grid-template-columns:1fr}}
.review{margin:0;padding:var(--s-6);border-radius:var(--r-lg);background:var(--white);display:flex;flex-direction:column;gap:var(--s-4)}
.review__stars{display:flex;gap:2px;color:var(--accent)}
.review__stars .icon{width:18px;height:18px}
.review__text{margin:0;font-size:var(--fs-lead);line-height:1.5;flex:1}
.review__text p{margin:0}
.review__who{display:grid;font-size:14px}
.review__who span{color:var(--g-600)}

/* ---------- Texte + image ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-8);align-items:center}
.is-reverse .split__media{order:-1}
.no-img .split{grid-template-columns:1fr}
@media (max-width:899px){.split{grid-template-columns:1fr;gap:var(--s-6)}.is-reverse .split__media{order:0}}
.split .sec__head{margin-bottom:var(--s-5)}
.split__media{margin:0;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;background:var(--g-100)}
.split__media img{width:100%;height:100%;object-fit:cover}
.ticks{list-style:none;margin:var(--s-5) 0 0;padding:0;display:grid;gap:10px}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks .icon{color:var(--accent);margin-top:3px}

/* ---------- Cartes ---------- */
.cards{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-4)}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--3{grid-template-columns:repeat(3,1fr)}
.cards--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1023px){.cards--4,.cards--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.cards--2,.cards--3,.cards--4{grid-template-columns:1fr}}
.card{position:relative;padding:var(--s-6);border-radius:var(--r-lg);background:var(--white);display:flex;flex-direction:column;gap:var(--s-3);transition:box-shadow var(--d-2),transform var(--d-2) var(--ease-out)}
.sec--dark .card{background:var(--g-900);color:var(--paper)}
.card--link:hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
.card__title{font:800 clamp(1.15rem,1rem + .6vw,1.5rem)/1.15 var(--f-display)}
.card__title a{text-decoration:none}
.card__text{margin:0;color:var(--g-700)}
.sec--dark .card__text{color:var(--g-300)}
.card__n{font:600 13px var(--f-mono);color:var(--accent)}
.card__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%}
.card__icon--check{background:#DDEFE4;color:var(--ok)}
.card__icon--minus{background:var(--g-100);color:var(--g-700)}
.card__icon .icon{width:18px;height:18px}
.card__go{margin-top:auto;color:var(--accent);transition:transform var(--d-2) var(--ease-out)}
.card--link:hover .card__go{transform:translateX(4px)}

/* ---------- Tarifs ---------- */
.tax-toggle{display:inline-flex;padding:4px;border-radius:var(--r-pill);background:var(--g-100)}
.tax-toggle button{border:0;background:none;padding:8px 16px;border-radius:var(--r-pill);font:600 13px var(--f-mono);cursor:pointer}
[data-tax="ttc"] .tax-toggle [data-tax-set="ttc"],[data-tax="ht"] .tax-toggle [data-tax-set="ht"]{background:var(--ink);color:var(--white)}
.price-grid{display:grid;gap:var(--s-4);grid-template-columns:repeat(3,1fr)}
.price-grid--4{grid-template-columns:repeat(4,1fr)}
.price-grid--2{grid-template-columns:repeat(2,1fr)}
.price-grid--1{grid-template-columns:minmax(0,560px)}
@media (max-width:1100px){.price-grid--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:899px){.price-grid,.price-grid--2,.price-grid--4{grid-template-columns:1fr}}
.price-card{padding:var(--s-6);border-radius:var(--r-lg);background:var(--white);display:flex;flex-direction:column;gap:var(--s-4)}
.price-card__name{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.3rem);font-weight:900;font-stretch:125%;text-transform:uppercase}
.price-card__sum{color:var(--g-700);margin:0}
.price-card__table{width:100%;border-collapse:collapse}
.price-card__table th{text-align:left;font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--g-600);padding:0 0 8px}
.price-card__table th:last-child,.price-card__table td:last-child{text-align:right}
.price-card__table td{padding:12px 0;border-top:1px solid var(--g-100)}
.price-card__quote{font:800 1.4rem var(--f-display);margin:0}
.price-card__facts{list-style:none;margin:auto 0 0;padding:var(--s-4) 0 0;border-top:1px solid var(--g-100);display:grid;gap:6px;font-size:14px;color:var(--g-700)}
.tiers{margin-top:var(--s-7);padding:var(--s-6);border-radius:var(--r-lg);background:var(--ink);color:var(--paper)}
.tiers__title{font-size:var(--fs-h3);margin-bottom:var(--s-5)}
.tiers__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--s-2)}
.tier{padding:var(--s-4);border-radius:var(--r-md);background:var(--g-900);display:grid;gap:6px}
.tier__qty{font:600 13px var(--f-mono);color:var(--g-300)}
.tier__val{font:900 1.6rem/1 var(--f-display);font-stretch:118%}
.tier--quote{background:var(--accent)}
.tier--quote .tier__qty{color:var(--white)}
.tier--quote .tier__val{font-size:1.05rem;line-height:1.2}
.tiers__note{margin:var(--s-4) 0 0;color:var(--g-300);font-size:14px}
.min-note{display:flex;gap:10px;align-items:center;margin-top:var(--s-5);font-weight:500}
.min-note .icon{color:var(--accent)}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s-8);align-items:start}
.faq__side{position:sticky;top:calc(var(--header-h) + var(--s-6))}
@media (max-width:899px){.faq{grid-template-columns:1fr;gap:var(--s-5)}.faq__side{position:static}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips--bar{margin-bottom:var(--s-7)}
.chip{border:1.5px solid var(--g-300);background:transparent;border-radius:var(--r-pill);padding:9px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background var(--d-1),color var(--d-1),border-color var(--d-1)}
.chip:hover{border-color:var(--ink)}
.chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--white)}
.qa{border-bottom:1px solid var(--g-200)}
.qa[hidden]{display:none}
.qa__q{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-5) 0;cursor:pointer;list-style:none;font:700 clamp(1.05rem,1rem + .3vw,1.2rem)/1.3 var(--f-body)}
.qa__q::-webkit-details-marker{display:none}
.qa__q .icon{flex:none;width:22px;height:22px;transition:transform var(--d-2) var(--ease-out)}
.qa[open] .qa__q .icon{transform:rotate(45deg);color:var(--accent)}
.qa__a{padding:0 0 var(--s-5);color:var(--g-700);max-width:62ch}

/* ---------- Formulaires ---------- */
.sec--form{padding-top:calc(var(--s-8));background:var(--paper)}
.form-layout{display:grid;grid-template-columns:1fr;gap:var(--s-8)}
.form-layout.has-aside{grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr)}
@media (max-width:1023px){.form-layout.has-aside{grid-template-columns:1fr}}
.form-head .sec__title{font-size:var(--fs-display-md);font-stretch:125%}
.form-head{margin-bottom:var(--s-7)}
.iform{background:var(--white);border-radius:var(--r-xl);padding:clamp(20px,3vw,44px);box-shadow:var(--sh-1)}
.iform__progress{display:grid;grid-template-columns:auto 1fr;gap:6px var(--s-4);align-items:center;margin-bottom:var(--s-6)}
.iform__count{font:600 13px var(--f-mono)}
.iform__bar{height:3px;border-radius:3px;background:var(--g-100);overflow:hidden}
.iform__bar i{display:block;height:100%;background:var(--accent);transition:width var(--d-3) var(--ease-out)}
.iform__name{grid-column:1/-1;font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--g-600)}
.iform__step{border:0;margin:0 0 var(--s-7);padding:0;min-width:0}
.js .iform--steps .iform__step{display:none;margin:0}
.js .iform--steps .iform__step.is-current{display:block;animation:inkit-step-in var(--d-3) var(--ease-out)}
@keyframes inkit-step-in{from{opacity:0;transform:translateX(16px)}}
.iform__legend{display:block;width:100%;font:900 clamp(1.5rem,1.2rem + 1.2vw,2.2rem)/1.05 var(--f-display);font-stretch:112%;text-transform:uppercase;margin-bottom:var(--s-5);padding:0}
.iform__legend .kicker{margin-bottom:var(--s-2)}
.js .iform--steps .iform__progress + .iform__step .iform__legend .kicker,.js .iform--steps .iform__legend .kicker{display:none}
.iform__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5) var(--s-4)}
.field--full,.field--file,.field--radio,.field--checkboxes,.field--consent,.field--textarea{grid-column:1/-1}
@media (max-width:640px){.iform__grid{grid-template-columns:1fr}}
.field{display:grid;gap:8px;min-width:0}
.field fieldset{border:0;margin:0;padding:0;min-width:0}
.field__label{font-weight:600;font-size:15px}
.req{color:var(--accent)}
.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field textarea{width:100%;min-height:52px;padding:14px 16px;border-radius:var(--r-md);border:1.5px solid var(--g-200);background:var(--paper);font:inherit;color:var(--ink);transition:border-color var(--d-1),background var(--d-1)}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink);background:var(--white)}
.field__help{color:var(--g-600);font-size:13px}
.field__err{color:var(--err);font-size:13px;font-weight:600}
.has-error input,.has-error textarea{border-color:var(--err)!important}
.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.choice{position:relative;display:inline-flex;cursor:pointer}
.choice input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.choice span{display:inline-flex;align-items:center;min-height:46px;padding:10px 18px;border-radius:var(--r-pill);border:1.5px solid var(--g-200);background:var(--paper);font-weight:500;transition:all var(--d-1)}
.choice input:checked + span{background:var(--ink);border-color:var(--ink);color:var(--white)}
.choice input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.choice--consent span{border:0;background:none;padding:0 0 0 34px;min-height:24px;font-size:14px;color:var(--g-700);align-items:flex-start}
.choice--consent span::before{content:"";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--g-300);background:var(--white)}
.choice--consent input:checked + span{background:none;color:var(--g-700)}
.choice--consent input:checked + span::before{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4.5 4.5L19 7' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--ink)}
.drop{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-6);border-radius:var(--r-lg);border:1.5px dashed var(--g-300);background:var(--paper);cursor:pointer;transition:border-color var(--d-1),background var(--d-1);position:relative}
.drop:hover,.drop.is-over{border-color:var(--ink);background:var(--white)}
.drop .icon{width:30px;height:30px;color:var(--accent)}
.drop__text b{display:block}
.drop__text small{color:var(--g-600)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop__list{list-style:none;margin:var(--s-2) 0 0;padding:0;display:grid;gap:6px;font-size:14px}
.drop__list li{display:flex;justify-content:space-between;gap:var(--s-3);padding:8px 12px;border-radius:var(--r-sm);background:var(--g-100)}
.drop__list li.is-bad{background:#FBE4E4;color:var(--err)}
.iform__nav{display:flex;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-6)}
.iform__nav [data-next],.iform__nav [data-submit]{margin-left:auto}
.iform__promise{display:flex;gap:8px;align-items:center;justify-content:center;margin:var(--s-5) 0 0;font-size:13px;color:var(--g-600);text-align:center}
.iform__promise .icon{color:var(--ok)}
.form-errors{margin-bottom:var(--s-5);padding:var(--s-5);border-radius:var(--r-md);background:#FBE4E4;color:#8E1B1B}
.form-errors ul{margin:8px 0 0;padding-left:1.2em}
.form-done{padding:var(--s-8) var(--s-6);border-radius:var(--r-xl);background:var(--white);text-align:center;display:grid;justify-items:center;gap:var(--s-3)}
.form-done__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent);color:var(--white)}
.form-done__icon .icon{width:30px;height:30px}
.form-done h2{font-size:var(--fs-h2);font-stretch:125%;text-transform:uppercase}
.inkit-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.notice-box{padding:var(--s-5);border-radius:var(--r-md);background:var(--white)}
.aside-card{position:sticky;top:calc(var(--header-h) + var(--s-6));padding:var(--s-6);border-radius:var(--r-xl);background:var(--ink);color:var(--paper)}
.aside-card .kicker{color:var(--g-300)}
.aside-card__title{font:800 1.5rem/1.15 var(--f-display);margin-bottom:var(--s-5)}
.aside-card__list,.aside-card__promises{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}
.aside-card__list a{display:flex;gap:var(--s-3);align-items:center;padding:var(--s-3);border-radius:var(--r-md);background:var(--g-900);text-decoration:none}
.aside-card__list a:hover{background:#333}
.aside-card__list small{display:block;color:var(--g-300);font-size:12px}
.aside-card__promises{margin-top:var(--s-5);color:var(--g-300);font-size:14px}
.aside-card__promises li{display:flex;gap:8px}
.aside-card__promises .icon{color:var(--accent)}

/* ---------- Coordonnées ---------- */
.place{display:grid;gap:var(--s-5)}
.place__row{display:flex;gap:var(--s-4);align-items:flex-start}
.place__row > .icon{color:var(--accent);margin-top:4px;width:22px;height:22px}
.place__row p{margin:0}
.place .kicker{margin-bottom:6px}
.place .btn-row{margin-top:var(--s-2)}

/* ---------- Appel final ---------- */
.sec--cta-final{text-align:center;padding-block:clamp(96px,8rem + 6vw,200px)}
.cta-final{display:grid;justify-items:center}
.cta-final .kicker{justify-content:center}
.cta-final__title{font-size:clamp(2.6rem,1rem + 7vw,7.5rem);margin:0}
.cta-final__title .line{display:block}
.cta-final__text{color:var(--g-300);max-width:48ch;margin:var(--s-5) auto 0}
.cta-final .btn-row{justify-content:center;margin-top:var(--s-7)}

/* ---------- Réalisation : fiche projet ---------- */
.project__head{padding-top:var(--s-8)}
.project__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:var(--s-7);align-items:end}
@media (max-width:899px){.project__grid{grid-template-columns:1fr}}
.facts{margin:0;display:grid;gap:0;border-top:1px solid var(--g-200)}
.facts div{display:flex;justify-content:space-between;gap:var(--s-4);padding:12px 0;border-bottom:1px solid var(--g-200)}
.facts dt{font:600 12px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--g-600)}
.facts dd{margin:0;text-align:right;font-weight:600}
.gallery{display:grid;gap:var(--s-3);margin-bottom:var(--s-8)}
.gallery--2{grid-template-columns:2fr 1fr}
.gallery--3{grid-template-columns:2fr 1fr 1fr}
@media (max-width:767px){.gallery--2,.gallery--3{grid-template-columns:1fr 1fr}.gallery__item:first-child{grid-column:1/-1}}
.gallery__item{margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--g-100)}
.gallery__item img{width:100%;height:100%;object-fit:cover}
.case{display:grid;gap:0;max-width:var(--c-md)}
.case__row{display:grid;grid-template-columns:220px 1fr;gap:var(--s-6);padding-block:var(--s-6);border-top:1px solid var(--g-200)}
@media (max-width:767px){.case__row{grid-template-columns:1fr;gap:var(--s-2)}}

/* ---------- 404 ---------- */
.nf{min-height:80svh;display:grid;align-items:center;padding-top:calc(var(--header-h) + var(--s-8))}
.nf__code{font:900 clamp(6rem,4rem + 12vw,16rem)/.8 var(--f-display);font-stretch:125%;margin:0 0 var(--s-5);color:transparent;-webkit-text-stroke:1.5px var(--g-700)}
.nf__code span{color:var(--accent);-webkit-text-stroke:0}
.nf__title{font-size:var(--fs-display-md);max-width:16ch;margin-bottom:var(--s-5)}
.nf__text{color:var(--g-300);max-width:46ch;font-size:var(--fs-lead)}
.nf__search{margin-top:var(--s-7)}
.nf .search-form input{background:var(--g-900);border-color:var(--g-700);color:var(--paper)}

/* ---------- Titres longs dans les colonnes étroites ---------- */
.display,.sec__title,.page-hero__title{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
/* Ne jamais couper un mot court (« ATE-LIER », « TEX-TILE ») : seule la césure des mots d'au moins 11 lettres reste permise, pour les très longs mots sur petit écran. */
.display,.sec__title,.page-hero__title{hyphenate-limit-chars:11 5 5;-webkit-hyphenate-limit-before:5;-webkit-hyphenate-limit-after:5}
.hero__title{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal}
.hero__title .line,.sec--hero .kicker{text-wrap:balance}
.hero__text{text-wrap:pretty}
@media (min-width:900px){.has-visual .page-hero__title{font-size:clamp(2.2rem,1rem + 3.4vw,4.4rem)}}
.faq__side .sec__title,.steps-wrap__head .sec__title{font-size:clamp(1.9rem,1.1rem + 2.2vw,3.2rem)}
@media (max-width:560px){
	.nf__title{font-size:clamp(2rem,1rem + 6vw,2.6rem)}
	.nf .btn-row .btn{flex:1 1 100%}
}

/* ---------- Direction noir et blanc, luxe (voir main.css) ---------- */
.sec--hero,.tech-card,.tiers,.aside-card{--accent:#FFFFFF;--accent-ink:#FFFFFF;--accent-fg:var(--ink)}
/* Ligne d'encre de l'intro : un trait blanc qui se dessine. */
.hero__ink{background:linear-gradient(90deg,rgba(255,255,255,0),#FFFFFF 35%,#FFFFFF)}
.hero__print rect{fill:var(--paper)}
.hero__proof .icon{color:var(--g-300)}
/* Cartes techniques : matières en niveaux de gris. */
.tech-card--dtf .tech-card__macro{background:radial-gradient(circle,#FFFFFF 22%,transparent 24%) 0 0/14px 14px,radial-gradient(circle,#8A8A88 22%,transparent 24%) 7px 7px/14px 14px}
.tech-card--broderie .tech-card__macro{background:repeating-linear-gradient(55deg,#FFFFFF 0 3px,#8A8A88 3px 4px,transparent 4px 7px)}
.tech-card--vinyle .tech-card__macro{background:#FFFFFF;box-shadow:8px 8px 0 #4A4A48}
.tech-card:hover .tech-card__link{background:var(--white);color:var(--ink)}
.ba__print .t2{fill:var(--paper)}
/* Paliers : « sur devis » en blanc sur la carte noire. */
.tier--quote{background:var(--white);color:var(--ink)}
.tier--quote .tier__qty{color:var(--g-600)}
.form-done__icon{background:var(--ink);color:var(--white)}
/* Photos des cartes en noir et blanc ; la couleur réelle du marquage revient au survol. */
.tech-card__img img,.real-card img{filter:grayscale(1) contrast(1.05);transition:filter .6s var(--ease-out),transform 1.2s var(--ease-out),opacity var(--d-3)}
.tech-card:hover .tech-card__img img,.real-card:hover img,.real-card:focus-within img{filter:none}
@media (hover:none){.real-card img{filter:none}}

/* ---------- Galerie de l'atelier [inkit_galerie] (INKIT › Médias) ---------- */
.ink-gallery{list-style:none;margin:var(--s-6) 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
@media (min-width:900px){.ink-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}}
.ink-gallery__item{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-md);background:var(--g-100)}
.ink-gallery__item img,.ink-gallery__item video{width:100%;height:100%;object-fit:cover;display:block}
