/* Généré par outils/css_theme.py depuis maquettes/assets/css/pages.css : ne pas modifier ici. */
/* Nethys — blocs des pages intérieures (service, pilier, ville, présentation, réalisations, contact, blog, article, légal).
   S'appuie sur les jetons et composants de site.css. */
/* ------------------------------------------------------------------ Héros des pages */
body.nethys .page-hero { position: relative; color: var(--white); padding-block: calc(var(--header-h) + clamp(56px, 8vw, 110px)) clamp(80px, 10vw, 140px); overflow: hidden; min-height: min(92vh, 900px); display: flex; align-items: center; }
body.nethys .page-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(14, 16, 12, .92) 0%, rgba(14, 16, 12, .55) 55%, rgba(14, 16, 12, .2) 100%); }
.no-webgl body.nethys .page-hero { background: var(--ink) url("../img/fond-reseau.webp") center / cover; }
body.nethys .page-hero--short { min-height: 0; }
body.nethys .page-hero__inner { width: 100%; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px clamp(28px, 4vw, 64px); align-items: center; }
body.nethys .page-hero__text { grid-column: 1 / span 7; display: grid; gap: 22px; align-content: start; }
body.nethys .page-hero__aside { grid-column: 8 / span 5; }
body.nethys .page-hero--center .page-hero__text { grid-column: 1 / -1; max-width: 980px; }
body.nethys .crumbs { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 13px; font-weight: 600; color: var(--muted-dark); }
body.nethys .crumbs a { color: var(--muted-dark); text-decoration: none; }
body.nethys .crumbs a:hover { color: var(--green); }
body.nethys .crumbs li + li::before { content: "/"; margin-right: 10px; opacity: .5; }
body.nethys .page-hero__title { font-size: clamp(44px, 6.4vw, 104px); font-stretch: 82%; line-height: .92; text-transform: uppercase; letter-spacing: -.01em; }
body.nethys .page-hero__title .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .06em; margin-bottom: -.06em; }
body.nethys .page-hero__title .w > span { display: inline-block; }
body.nethys .page-hero__title .accent { color: var(--green); }
body.nethys .page-hero__lead { font-size: clamp(17px, 1.5vw, 21px); color: var(--muted-dark); max-width: 60ch; }
body.nethys .page-hero__lead strong { color: var(--white); }
body.nethys .page-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
body.nethys .hero-shot { position: relative; border-radius: 22px; overflow: hidden; background: var(--paper); box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .9), 0 0 0 1px rgba(255, 255, 255, .06), 0 0 100px -30px var(--green-glow); transform: perspective(1200px) rotateY(-8deg) rotateX(4deg); }
body.nethys .hero-shot img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
/* Formulaire (héros, contact, ville) */
body.nethys .form-card { position: relative; padding: clamp(22px, 2.6vw, 34px); border-radius: 24px; background: rgba(23, 26, 20, .78); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border: 1px solid var(--line-dark); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .9); }
body.nethys .form-card--light { background: var(--white); border-color: var(--line); color: var(--ink); box-shadow: 0 40px 80px -50px rgba(14, 16, 12, .4); -webkit-backdrop-filter: none; backdrop-filter: none; }
body.nethys .form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
body.nethys .field { position: relative; grid-column: span 2; }
body.nethys .field--half { grid-column: span 1; }
body.nethys.nethys.nethys .field input, body.nethys.nethys.nethys .field textarea {
	width: 100%; padding: 22px 16px 8px; border-radius: 14px; border: 1px solid var(--line-dark); background: rgba(255, 255, 255, .04);
	color: var(--white); font: 500 16px/1.4 var(--font-body); transition: border-color .25s, background-color .25s, box-shadow .25s;
}
body.nethys.nethys.nethys .field textarea { min-height: 120px; resize: vertical; }
body.nethys .field label { position: absolute; left: 17px; top: 16px; color: var(--muted-dark); font-size: 15px; font-weight: 500; pointer-events: none; transform-origin: left top; transition: transform .25s var(--ease), color .25s; }
body.nethys.nethys.nethys .field input:focus, body.nethys.nethys.nethys .field textarea:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 4px rgba(113, 191, 68, .18); }
body.nethys.nethys.nethys .field input:focus + label, body.nethys.nethys.nethys .field input:not(:placeholder-shown) + label, body.nethys.nethys.nethys .field textarea:focus + label, body.nethys.nethys.nethys .field textarea:not(:placeholder-shown) + label { transform: translateY(-9px) scale(.78); color: var(--green); }
body.nethys.nethys.nethys .form-card--light .field input, body.nethys.nethys.nethys .form-card--light .field textarea { border-color: var(--line); background: var(--paper); color: var(--ink); }
body.nethys .form-card--light .field label { color: var(--muted); }
body.nethys.nethys.nethys .form-card--light .field input:focus + label, body.nethys.nethys.nethys .form-card--light .field input:not(:placeholder-shown) + label, body.nethys.nethys.nethys .form-card--light .field textarea:focus + label, body.nethys.nethys.nethys .form-card--light .field textarea:not(:placeholder-shown) + label { color: var(--green-deep); }
body.nethys.nethys.nethys .form-card--light .field input:focus, body.nethys.nethys.nethys .form-card--light .field textarea:focus { border-color: var(--green-deep); box-shadow: 0 0 0 4px rgba(54, 112, 27, .15); }
body.nethys .form .btn { grid-column: span 2; justify-self: start; }
/* Demande de devis : étapes, besoins en pastilles, listes, consentement */
body.nethys .form__step { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin: 14px 0 -2px; font: 700 19px/1.2 var(--font-display); }
body.nethys .form__step:first-of-type { margin-top: 0; }
body.nethys .form__step span { width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: var(--ink); font: 800 15px/1 var(--font-display); }
body.nethys .field--chips { margin: 0; padding: 0; border: 0; min-width: 0; }
body.nethys .field--chips legend { margin-bottom: 10px; padding: 0; color: var(--muted-dark); font-size: 14px; font-weight: 600; }
body.nethys .chips { display: flex; flex-wrap: wrap; gap: 8px; }
body.nethys .chip { position: relative; display: inline-flex; cursor: pointer; }
body.nethys.nethys.nethys .chip input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
body.nethys .chip span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 15px; border-radius: 999px; border: 1px solid var(--line-dark); background: rgba(255, 255, 255, .04); color: var(--white); font-size: 14px; font-weight: 600; transition: background-color .25s, border-color .25s, color .25s; }
body.nethys .chip:hover span { border-color: var(--green); }
body.nethys.nethys.nethys .chip input:checked + span { background: var(--green); border-color: var(--green); color: var(--ink); }
body.nethys.nethys.nethys .chip input:focus-visible + span { outline: 2px solid var(--green); outline-offset: 2px; }
body.nethys.nethys.nethys .field select { width: 100%; padding: 22px 42px 8px 16px; border-radius: 14px; border: 1px solid var(--line-dark); background: rgba(255, 255, 255, .04) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371bf44' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 18px; color: var(--white); font: 500 16px/1.4 var(--font-body); -webkit-appearance: none; appearance: none; cursor: pointer; transition: border-color .25s, box-shadow .25s; }
body.nethys.nethys.nethys .field select option { color: var(--ink); background: var(--white); }
body.nethys .field--select label { transform: translateY(-9px) scale(.78); }
body.nethys.nethys.nethys .field select:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 4px rgba(113, 191, 68, .18); }
body.nethys.nethys.nethys .field select:focus + label { color: var(--green); }
body.nethys .field--consent { display: flex; gap: 12px; align-items: flex-start; }
body.nethys.nethys.nethys .field--consent input { width: 20px; height: 20px; flex: none; margin: 2px 0 0; accent-color: var(--green); }
body.nethys .field--consent label { position: static; transform: none; color: var(--muted-dark); font-size: 14px; line-height: 1.5; pointer-events: auto; }
body.nethys .field--consent a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
body.nethys .form-card--light .field--chips legend, body.nethys .form-card--light .field--consent label { color: var(--muted); }
body.nethys .form-card--light .chip span { border-color: var(--line); background: var(--paper); color: var(--ink); }
body.nethys .form-card--light .chip:hover span { border-color: var(--green-deep); }
body.nethys.nethys.nethys .form-card--light .chip input:checked + span { background: var(--green); border-color: var(--green); color: var(--ink); }
body.nethys.nethys.nethys .form-card--light .field select { border-color: var(--line); background-color: var(--paper); color: var(--ink); }
body.nethys.nethys.nethys .form-card--light .field select:focus { border-color: var(--green-deep); box-shadow: 0 0 0 4px rgba(54, 112, 27, .15); }
body.nethys .form-card--light .field--select label, body.nethys.nethys.nethys .form-card--light .field select:focus + label { color: var(--muted); }
body.nethys.nethys.nethys .form-card--light .field--consent input { accent-color: var(--green-deep); }
/* Les pastilles et la case de consentement ne sont pas des libellés flottants. */
body.nethys .field.field--chips .chip { position: relative; left: auto; top: auto; transform: none; color: inherit; font-size: inherit; pointer-events: auto; }
body.nethys.nethys.nethys .field.field--consent input + label, body.nethys.nethys.nethys .form-card--light .field.field--consent input + label { transform: none; color: var(--muted-dark); }
body.nethys.nethys.nethys .form-card--light .field.field--consent input + label { color: var(--muted); }
body.nethys .form__status { grid-column: span 2; padding: 12px 16px; border-radius: 12px; background: rgba(113, 191, 68, .15); color: inherit; font-weight: 600; font-size: 15px; }
body.nethys .form-card h2, body.nethys .form-card h3 { font-size: clamp(24px, 2.2vw, 32px); margin-bottom: 8px; }
body.nethys .form-card > h3:first-child { margin-bottom: 20px; text-transform: uppercase; }
body.nethys .form-card:has(> .form-card__title) { container-type: inline-size; }
body.nethys .form-card .form-card__title { margin: 0 0 20px; font-family: var(--font-display); font-weight: 700; font-size: min(32px, 7.2cqi); white-space: nowrap; line-height: 1.04; letter-spacing: -.015em; text-transform: uppercase; color: var(--white); }
body.nethys .form-card .form-card__title em { font-style: normal; color: var(--green); }
body.nethys .form-card h2 em, body.nethys .form-card h3 em { font-style: normal; color: var(--green); }
body.nethys .form-card--light h2 em, body.nethys .form-card--light h3 em { color: var(--green-deep); }
body.nethys .form-card > p { color: var(--muted-dark); margin-bottom: 18px; }
body.nethys .form-card--light > p { color: var(--muted); }
/* ------------------------------------------------------------------ Têtes de section */
body.nethys .shead { display: grid; gap: 16px; max-width: 820px; margin-bottom: clamp(36px, 5vw, 64px); }
body.nethys .shead--center { margin-inline: auto; text-align: center; justify-items: center; }
body.nethys .shead h2 { font-size: clamp(36px, 4.4vw, 64px); }
body.nethys .shead .sub { font: 700 clamp(18px, 1.6vw, 22px)/1.35 var(--font-body); color: var(--green-deep); letter-spacing: 0; }
body.nethys .on-dark .shead .sub { color: var(--green); }
body.nethys .shead p { color: var(--muted); font-size: 18px; }
body.nethys .on-dark .shead p { color: var(--muted-dark); }
/* Section sombre générique (feuille noire) */
body.nethys .dark { position: relative; background: var(--ink); color: var(--white); border-radius: var(--sheet) var(--sheet) 0 0; margin-top: calc(var(--sheet) * -1); overflow: hidden; }
body.nethys .dark::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(800px 500px at 90% 0%, rgba(113, 191, 68, .14), transparent 70%), radial-gradient(600px 400px at 0% 100%, rgba(113, 191, 68, .08), transparent 70%); }
body.nethys .dark > .wrap { position: relative; }
/* ------------------------------------------------------------------ Grilles de cartes */
body.nethys .grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
body.nethys .grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
body.nethys .grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
body.nethys .feat { position: relative; display: grid; align-content: start; gap: 12px; padding: 30px; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); overflow: hidden; transition: transform .5s var(--ease), box-shadow .5s; }
body.nethys .feat:hover { transform: translateY(-4px); box-shadow: 0 34px 60px -34px rgba(14, 16, 12, .35); }
body.nethys .feat .ico { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; background: var(--ink); color: var(--green); margin-bottom: 6px; }
body.nethys .feat .ico svg { width: 28px; height: 28px; }
body.nethys .feat h3 { font: 700 21px/1.3 var(--font-body); letter-spacing: 0; }
body.nethys .feat p { color: var(--muted); }
body.nethys .on-dark .feat, body.nethys .feat--dark { background: rgba(255, 255, 255, .04); border-color: var(--line-dark); }
body.nethys .on-dark .feat p, body.nethys .feat--dark p { color: var(--muted-dark); }
body.nethys .feat .feat__lead { font-size: 19px; color: var(--ink); }
body.nethys .on-dark .feat .feat__lead, body.nethys .feat--dark .feat__lead { color: var(--white); }
body.nethys .on-dark .feat .ico { background: rgba(113, 191, 68, .12); }
body.nethys .spot { --x: 50%; --y: 50%; }
body.nethys .spot::before { content: ""; position: absolute; inset: 0; background: radial-gradient(380px circle at var(--x) var(--y), rgba(113, 191, 68, .16), transparent 60%); opacity: 0; transition: opacity .4s; pointer-events: none; }
body.nethys .spot:hover::before { opacity: 1; }
/* Texte + image */
body.nethys .split { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(28px, 4vw, 72px); align-items: center; }
body.nethys .split__text { grid-column: 1 / span 6; display: grid; gap: 20px; }
body.nethys .split__media { grid-column: 7 / span 6; }
body.nethys .split--rev .split__text { grid-column: 7 / span 6; grid-row: 1; }
body.nethys .split--rev .split__media { grid-column: 1 / span 6; grid-row: 1; }
body.nethys .split__text h2 { font-size: clamp(34px, 3.8vw, 56px); }
body.nethys .split__text p { color: var(--muted); font-size: 17.5px; }
body.nethys .on-dark .split__text p { color: var(--muted-dark); }
body.nethys .media { position: relative; border-radius: var(--radius); overflow: hidden; background: var(--paper); }
body.nethys .media img { width: 100%; height: 100%; object-fit: cover; }
body.nethys .parallax { aspect-ratio: 16 / 10; }
body.nethys .parallax img { height: 116%; }
/* Liens de zones */
body.nethys .pills, body.nethys .nx-cities ul { display: flex; flex-wrap: wrap; gap: 8px; }
body.nethys .pills a, body.nethys .nx-cities a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); font-size: 14px; font-weight: 600; text-decoration: none; transition: border-color .3s, color .3s, transform .3s var(--ease); }
body.nethys .pills a:hover, body.nethys .nx-cities a:hover { border-color: var(--green-deep); color: var(--green-deep); transform: translateY(-2px); }
body.nethys .on-dark .pills a, body.nethys .on-dark .nx-cities a { border-color: var(--line-dark); background: rgba(255, 255, 255, .03); color: var(--white); }
body.nethys .on-dark .pills a:hover, body.nethys .on-dark .nx-cities a:hover { border-color: var(--green); color: var(--green); }
body.nethys .zones-box { display: grid; gap: 16px; padding: 26px; border-radius: var(--radius); background: var(--paper); border: 1px solid var(--line); }
body.nethys .zones-box h3 { font: 700 13px/1.3 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
/* Pour qui : rangées éditoriales */
body.nethys .rows { display: grid; }
body.nethys .rows li { display: grid; grid-template-columns: minmax(180px, 1fr) 2fr; gap: 8px 40px; padding-block: 30px; border-top: 1px solid var(--line); align-items: baseline; transition: padding .4s var(--ease); }
body.nethys .rows li:last-child { border-bottom: 1px solid var(--line); }
body.nethys .rows li:hover { padding-left: 14px; }
body.nethys .rows b { font: 800 clamp(30px, 3.4vw, 52px)/1 var(--font-display); font-stretch: 82%; text-transform: uppercase; }
body.nethys .rows li:hover b { color: var(--green-deep); }
body.nethys .rows span { color: var(--muted); font-size: 18px; }
/* Prix */
body.nethys .price-box { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px); align-items: center; }
body.nethys .price-box__main { grid-column: 1 / span 6; display: grid; gap: 20px; }
body.nethys .price-box__main h2 { font-size: clamp(34px, 3.8vw, 56px); }
body.nethys .price-box__main .price-tag, body.nethys .price-tag { display: inline-flex; align-items: baseline; gap: 12px; font: 800 clamp(56px, 7vw, 110px)/.9 var(--font-display); font-stretch: 80%; color: var(--green); }
body.nethys .price-tag small { font: 600 18px/1 var(--font-body); color: var(--muted-dark); }
body.nethys .price-box__list { grid-column: 8 / span 5; display: grid; gap: 14px; }
body.nethys .tier { display: grid; gap: 4px; padding: 20px 22px; border-radius: 16px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line-dark); }
body.nethys .tier b { font-size: 18px; }
body.nethys .tier span { color: var(--muted-dark); }
body.nethys .price-box__main p { color: var(--muted-dark); }
/* Image qui s'agrandit au défilement */
body.nethys .expand { padding-block: clamp(40px, 6vw, 80px); }
body.nethys .expand__media { border-radius: 28px; overflow: hidden; max-width: 1400px; margin-inline: auto; will-change: clip-path, transform; background: var(--paper); }
body.nethys .expand__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
/* Étapes en défilement horizontal */
body.nethys .hsteps { position: relative; color: var(--white); background: var(--ink); overflow: hidden; border-radius: var(--sheet) var(--sheet) 0 0; margin-top: calc(var(--sheet) * -1); }
body.nethys .hsteps__inner { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; gap: clamp(32px, 4vw, 56px); padding-block: calc(var(--header-h) + 20px) 56px; }
body.nethys .hsteps__viewport { overflow: hidden; }
body.nethys .hsteps__track { display: flex; gap: 22px; width: max-content; padding-inline: var(--gutter) 30vw; will-change: transform; }
body.nethys .hstep { position: relative; flex: none; width: clamp(300px, 34vw, 460px); min-height: 340px; display: flex; flex-direction: column; gap: 14px; padding: 34px; border-radius: 26px; background: linear-gradient(160deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02)); border: 1px solid var(--line-dark); overflow: hidden; }
body.nethys .hstep__n { font: 800 120px/.8 var(--font-display); font-stretch: 75%; color: transparent; -webkit-text-stroke: 1.5px rgba(113, 191, 68, .7); margin-bottom: auto; }
body.nethys .hstep h3 { font: 700 24px/1.25 var(--font-body); letter-spacing: 0; }
body.nethys .hstep p { color: var(--muted-dark); }
body.nethys .hstep::after { content: ""; position: absolute; right: -60px; top: -60px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(113, 191, 68, .25), transparent 70%); }
body.nethys .hsteps__bar { height: 2px; margin-inline: var(--gutter); background: var(--line-dark); border-radius: 2px; overflow: hidden; max-width: calc(var(--wrap) - 2 * var(--gutter)); }
body.nethys .hsteps__bar span { display: block; height: 100%; background: var(--green); transform-origin: left; transform: scaleX(0); }
/* Onglets */
body.nethys .tabs { display: grid; grid-template-columns: minmax(240px, 4fr) 8fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
body.nethys .tabs__list { position: relative; display: grid; gap: 6px; }
body.nethys .tabs__list [role="tab"] { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; padding: 0 20px; border: 0; border-radius: 16px; background: none; color: var(--ink); font: 700 17px/1.2 var(--font-body); text-align: left; cursor: pointer; transition: color .3s; }
body.nethys .tabs__list [role="tab"]::after { content: "→"; opacity: 0; transform: translateX(-8px); transition: opacity .3s, transform .3s var(--ease); }
body.nethys .tabs__list [role="tab"][aria-selected="true"] { color: var(--white); }
body.nethys .tabs__list [role="tab"][aria-selected="true"]::after { opacity: 1; transform: none; color: var(--green); }
body.nethys .tabs__ink { position: absolute; z-index: 0; left: 0; top: 0; width: 100%; height: var(--h, 58px); transform: translateY(var(--y, 0)); border-radius: 16px; background: var(--ink); transition: transform .45s var(--ease), height .45s var(--ease); }
body.nethys .tabs__panel { padding: clamp(28px, 3.4vw, 48px); border-radius: 26px; background: var(--white); border: 1px solid var(--line); min-height: 100%; }
body.nethys .tabs__panel h3 { font-size: clamp(30px, 3vw, 44px); margin-bottom: 16px; }
body.nethys .tabs__panel p { color: var(--muted); font-size: 18px; max-width: 60ch; }
.js-motion body.nethys .tabs__panel:not([hidden]) { animation: panelIn .5s var(--ease); }
@keyframes panelIn { from { opacity: 0; transform: translateY(14px); } }
/* Galerie (réalisations) */
body.nethys .gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
body.nethys .work { position: relative; display: grid; gap: 14px; }
body.nethys .work__img { position: relative; border-radius: 20px; overflow: hidden; background: var(--paper); aspect-ratio: 1 / 1; border: 1px solid var(--line); }
body.nethys .work__img img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 1.2s var(--ease), object-position 3s ease; }
body.nethys .work:hover .work__img img { transform: scale(1.04); object-position: bottom; }
body.nethys .work h2, body.nethys .work h3 { font: 700 20px/1.25 var(--font-body); letter-spacing: 0; }
body.nethys .work p { color: var(--muted); font-size: 15.5px; }
body.nethys .on-dark .work p { color: var(--muted-dark); }
body.nethys .on-dark .work__img { border-color: var(--line-dark); }
body.nethys .work__img.placeholder { background: repeating-linear-gradient(135deg, var(--paper) 0 14px, #e9ede4 14px 28px); }
/* Filtres */
body.nethys .filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
body.nethys .filters button { min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); color: var(--ink); font: 600 15px/1 var(--font-body); cursor: pointer; transition: background-color .3s, color .3s, border-color .3s; }
body.nethys .filters button:hover { border-color: var(--ink); }
body.nethys .filters button[aria-pressed="true"] { background: var(--ink); color: var(--white); border-color: var(--ink); }
body.nethys .filters a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); font: 600 15px/1 var(--font-body); text-decoration: none; transition: background-color .3s, color .3s; }
body.nethys .filters a:hover { background: var(--ink); color: var(--white); }
body.nethys .on-dark .filters a { background: rgba(255, 255, 255, .04); border-color: var(--line-dark); color: var(--white); }
body.nethys .on-dark .filters a:hover { background: var(--green); border-color: var(--green); color: var(--ink); }
body.nethys .newsletter .form__status { grid-column: 1 / -1; }
/* Bandeau d'appel sombre */
body.nethys .cta-box { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 24px 40px; align-items: center; padding: clamp(36px, 5vw, 72px); border-radius: 32px; background: var(--ink); color: var(--white); overflow: hidden; isolation: isolate; }
body.nethys .cta-box::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/fond-reseau.webp") center / cover; opacity: .35; }
body.nethys .cta-box::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--ink) 20%, rgba(14, 16, 12, .4)); }
body.nethys .cta-box h2 { font-size: clamp(34px, 4.6vw, 72px); font-stretch: 82%; text-transform: uppercase; line-height: .95; max-width: 16ch; }
body.nethys .cta-box p { color: var(--muted-dark); font-size: 18px; max-width: 54ch; margin-top: 14px; }
/* FAQ */
body.nethys .faq { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px); align-items: start; }
body.nethys .faq__head { grid-column: 1 / span 4; position: sticky; top: calc(var(--header-h) + 40px); display: grid; gap: 16px; }
body.nethys .faq__head h2 { font-size: clamp(36px, 4vw, 58px); }
body.nethys .faq__head p.sub { font: 700 20px/1.35 var(--font-body); color: var(--green-deep); }
body.nethys .faq__list { grid-column: 6 / span 7; display: grid; gap: 10px; }
body.nethys .faq details { border-radius: 18px; background: var(--white); border: 1px solid var(--line); overflow: hidden; transition: border-color .3s, box-shadow .3s; }
body.nethys .faq details[open] { border-color: var(--ink); box-shadow: 0 24px 50px -36px rgba(14, 16, 12, .5); }
body.nethys .faq summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; cursor: pointer; list-style: none; font: 700 18px/1.35 var(--font-body); }
body.nethys .faq summary::-webkit-details-marker { display: none; }
body.nethys .faq summary::after { content: ""; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e100c' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 16px no-repeat; transition: transform .35s var(--ease), background-color .3s; }
body.nethys .faq details[open] summary::after { transform: rotate(45deg); background-color: var(--green); }
body.nethys .faq__a { padding: 0 24px 24px; color: var(--muted); font-size: 16.5px; }
body.nethys .faq__a p + p { margin-top: 10px; }
/* Cartes de prestations (pilier) */
body.nethys .svc { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 30px; border-radius: 22px; background: var(--white); border: 1px solid var(--line); overflow: hidden; transition: transform .5s var(--ease), box-shadow .5s, border-color .4s; }
body.nethys .svc:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -40px rgba(14, 16, 12, .45); border-color: var(--ink); }
body.nethys .svc h3 { font: 800 26px/1.1 var(--font-display); }
body.nethys .svc .amount { font: 800 30px/1 var(--font-display); font-stretch: 82%; color: var(--green-deep); }
body.nethys .svc p { color: var(--muted); }
body.nethys .svc a.more { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none; color: var(--ink); }
body.nethys .svc a.more::after { content: "→"; transition: transform .3s var(--ease); }
body.nethys .svc:hover a.more::after { transform: translateX(5px); }
body.nethys .svc a.more::before { content: ""; position: absolute; inset: 0; }
/* toute la carte est cliquable */
/* Points numérotés en liste (expert, méthode verticale) */
body.nethys .checks { display: grid; gap: 14px; }
body.nethys .checks li { display: grid; grid-template-columns: 40px 1fr; gap: 4px 16px; padding: 22px; border-radius: 18px; background: var(--white); border: 1px solid var(--line); }
body.nethys .checks li::before { content: ""; grid-row: span 2; width: 40px; height: 40px; border-radius: 12px; background: var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371bf44' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E") center / 20px no-repeat; }
body.nethys .checks b { font-size: 18px; }
body.nethys .checks span { color: var(--muted); }
/* Présentation : vision / promesse / approche */
body.nethys .manifesto { display: grid; }
body.nethys .manifesto li { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px clamp(24px, 4vw, 64px); padding-block: clamp(28px, 4vw, 52px); border-top: 1px solid var(--line-dark); }
body.nethys .manifesto li:last-child { border-bottom: 1px solid var(--line-dark); }
body.nethys .manifesto h2 { grid-column: 1 / span 5; font-size: clamp(40px, 5vw, 80px); font-stretch: 80%; text-transform: uppercase; line-height: .9; color: transparent; -webkit-text-stroke: 1.5px var(--white); transition: color .5s; }
body.nethys .manifesto li:hover h2 { color: var(--green); -webkit-text-stroke-color: var(--green); }
body.nethys .manifesto p { grid-column: 7 / span 6; color: var(--muted-dark); font-size: 19px; align-self: center; }
/* Compétences */
body.nethys .skills { display: grid; gap: 22px; }
body.nethys .skill { display: grid; gap: 10px; }
body.nethys .skill__top { display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; font-size: 17px; }
body.nethys .skill__top b { font: 800 28px/1 var(--font-display); font-variant-numeric: tabular-nums; }
body.nethys .skill__bar { height: 10px; border-radius: 10px; background: var(--paper); border: 1px solid var(--line); overflow: hidden; }
body.nethys .skill__fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--green-deep), var(--green)); transform-origin: left; transform: scaleX(var(--v)); }
/* Frise */
body.nethys .timeline { position: relative; display: grid; gap: 0; padding-left: 0; }
body.nethys .timeline__line { position: absolute; left: 140px; top: 10px; bottom: 10px; width: 2px; background: var(--line-dark); }
body.nethys .timeline__line span { display: block; width: 100%; height: 100%; background: var(--green); transform-origin: top; }
body.nethys .timeline__item { position: relative; display: grid; grid-template-columns: 140px 1fr; gap: 40px; padding-block: 22px; align-items: center; }
body.nethys .timeline__item time { font: 800 clamp(34px, 3.4vw, 52px)/1 var(--font-display); font-stretch: 80%; color: var(--muted-dark); transition: color .5s; }
body.nethys .timeline__item.is-on time, .js-static body.nethys .timeline__item time { color: var(--green); }
body.nethys .timeline__item::before { content: ""; position: absolute; left: 134px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; background: var(--ink); border: 2px solid var(--line-dark); transition: background-color .4s, border-color .4s, box-shadow .4s; }
body.nethys .timeline__item.is-on::before, .js-static body.nethys .timeline__item::before { background: var(--green); border-color: var(--green); box-shadow: 0 0 0 6px rgba(113, 191, 68, .2); }
body.nethys .timeline__item p { font: 700 clamp(20px, 2vw, 28px)/1.25 var(--font-body); padding-left: 10px; }
/* Offres (ville) */
body.nethys .offers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; perspective: 1000px; }
body.nethys .offer { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 22px; background: var(--white); border: 1px solid var(--line); transform-style: preserve-3d; }
body.nethys .offer h3 { font: 800 26px/1.05 var(--font-display); }
body.nethys .offer .for { color: var(--muted); font-weight: 600; }
body.nethys .offer .amount { font: 800 48px/1 var(--font-display); font-stretch: 80%; }
body.nethys .offer .amount small { font: 600 15px/1 var(--font-body); color: var(--muted); margin-left: 6px; }
body.nethys .offer ul { display: grid; gap: 8px; margin-block: 6px 8px; }
body.nethys .offer li { display: flex; gap: 10px; font-size: 15px; }
body.nethys .offer li::before { content: ""; flex: none; width: 18px; height: 18px; margin-top: 3px; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e100c' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E") center / 11px no-repeat; }
body.nethys .offer .btn { margin-top: auto; }
body.nethys .offer--hl { background: var(--ink); color: var(--white); border-color: transparent; isolation: isolate; }
body.nethys .offer--hl .for, body.nethys .offer--hl .amount small { color: var(--muted-dark); }
body.nethys .offer--hl::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; padding: 1.5px; background: conic-gradient(from var(--a, 0deg), transparent 0 70%, var(--green) 85%, transparent 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: beam 4s linear infinite; }
body.nethys .note-center { text-align: center; color: var(--muted); margin-top: 28px; font-weight: 600; }
/* Avis en colonnes qui défilent (21st « testimonials columns ») */
body.nethys .tcols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; height: 720px; overflow: hidden; -webkit-mask: linear-gradient(transparent, #000 12%, #000 88%, transparent); mask: linear-gradient(transparent, #000 12%, #000 88%, transparent); }
body.nethys .tcols__col { overflow: hidden; }
body.nethys .tcols__track { animation: tcol 46s linear infinite; }
body.nethys .tcols__list { display: grid; gap: 20px; padding-bottom: 20px; }
body.nethys .tcols__col:nth-child(2) .tcols__track { animation-duration: 58s; animation-direction: reverse; }
body.nethys .tcols__col:nth-child(3) .tcols__track { animation-duration: 52s; }
body.nethys .tcols:hover .tcols__track, body.nethys .tcols.is-paused .tcols__track, body.nethys .tcols:focus-within .tcols__track { animation-play-state: paused; }
@keyframes tcol { to { transform: translateY(-50%); } }
body.nethys .tcols .review { width: auto; }
/* Statistiques en tuiles (ville, présentation) */
body.nethys .statline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
body.nethys .statline > div { padding: 30px 24px; display: grid; gap: 6px; }
body.nethys .statline > div + div { border-left: 1px solid var(--line); }
body.nethys .statline b { font: 800 clamp(48px, 6vw, 88px)/.9 var(--font-display); font-stretch: 78%; font-variant-numeric: tabular-nums; }
body.nethys .statline b small { font-size: .55em; color: var(--green-deep); margin-left: 2px; }
body.nethys .statline span { color: var(--muted); font-weight: 600; }
body.nethys .on-dark .statline, body.nethys .on-dark .statline > div + div { border-color: var(--line-dark); }
body.nethys .on-dark .statline b small { color: var(--green); }
body.nethys .on-dark .statline span { color: var(--muted-dark); }
/* Coordonnées (contact) */
body.nethys .contact-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(24px, 4vw, 56px); align-items: start; }
body.nethys .contact-info { grid-column: 1 / span 5; display: grid; gap: 14px; }
body.nethys .contact-form { grid-column: 7 / span 6; }
body.nethys .info-card { display: grid; grid-template-columns: 52px 1fr; gap: 4px 16px; align-items: center; padding: 22px; border-radius: 18px; background: var(--white); border: 1px solid var(--line); text-decoration: none; transition: border-color .3s, transform .3s var(--ease); }
body.nethys :where(.nx, [class*="elementor-widget-nethys-"]) a.info-card:hover { border-color: var(--ink); transform: translateY(-3px); }
body.nethys .info-card .ico { grid-row: span 2; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; background: var(--ink); color: var(--green); }
body.nethys .info-card .ico svg { width: 26px; height: 26px; }
body.nethys .info-card small { color: var(--muted); font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
body.nethys .info-card b { font-size: 18px; }
/* Newsletter */
body.nethys .newsletter { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 48px; align-items: center; padding: clamp(28px, 4vw, 52px); border-radius: 28px; background: var(--green); color: var(--ink); }
body.nethys .newsletter p { font: 700 clamp(20px, 2vw, 26px)/1.3 var(--font-body); }
body.nethys .newsletter form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; }
body.nethys.nethys.nethys .newsletter input { min-height: 54px; padding: 0 18px; border-radius: 999px; border: 2px solid transparent; background: var(--white); font: 500 16px/1 var(--font-body); color: var(--ink); }
body.nethys.nethys.nethys .newsletter input:focus { outline: none; border-color: var(--ink); }
/* Blog */
body.nethys .posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 22px; }
body.nethys .post { position: relative; display: grid; gap: 14px; align-content: start; }
body.nethys .post__img { border-radius: 18px; overflow: hidden; aspect-ratio: 768 / 429; background: var(--paper); }
body.nethys .post__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
body.nethys .post:hover .post__img img { transform: scale(1.05); }
body.nethys .post .cat { justify-self: start; padding: 5px 12px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); font-size: 13px; font-weight: 700; color: var(--green-deep); }
body.nethys .post h3 { font: 700 20px/1.3 var(--font-body); letter-spacing: 0; }
body.nethys .post h3 a { text-decoration: none; }
body.nethys .post h3 a::before { content: ""; position: absolute; inset: 0; }
body.nethys .post:hover h3 a { color: var(--green-deep); }
body.nethys .post .more { font-weight: 700; color: var(--muted); font-size: 15px; }
body.nethys .post--featured { grid-column: 1 / -1; grid-template-columns: 1.3fr 1fr; gap: 20px 40px; align-items: center; }
body.nethys .post--featured h3 { font: 800 clamp(30px, 3.4vw, 48px)/1.05 var(--font-display); }
body.nethys .intro-text { max-width: 860px; color: var(--muted); font-size: 18px; }
body.nethys .intro-text h2 { font-size: clamp(28px, 3vw, 40px); color: var(--ink); margin-bottom: 14px; }
body.nethys .intro-text strong { color: var(--ink); }
/* Article */
body.nethys .post-cat { justify-self: start; display: inline-flex; padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(113, 191, 68, .5); color: var(--green); font-size: 13px; font-weight: 700; text-decoration: none; }
body.nethys .post-cat:hover { background: var(--green); color: var(--ink); }
body.nethys .prose .cta-box p { color: var(--white); }
body.nethys .read-progress { position: fixed; left: 0; right: 0; top: 0; z-index: 70; height: 3px; background: transparent; }
body.nethys .read-progress span { display: block; height: 100%; background: var(--green); transform-origin: left; transform: scaleX(0); }
body.nethys .article-hero__img { margin-top: clamp(28px, 4vw, 48px); border-radius: 26px; overflow: hidden; box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .8); }
body.nethys .article-hero__img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
body.nethys .article-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr) 300px; gap: clamp(24px, 3vw, 56px); align-items: start; }
body.nethys .toc { position: sticky; top: calc(var(--header-h) + 40px); display: grid; gap: 10px; }
body.nethys .toc p { font: 700 13px/1.3 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
body.nethys .toc ol { display: grid; gap: 2px; counter-reset: t; }
body.nethys .toc a { display: block; padding: 8px 12px; border-left: 2px solid var(--line); color: var(--muted); font-size: 14.5px; line-height: 1.4; text-decoration: none; transition: color .25s, border-color .25s, background-color .25s; }
body.nethys .toc a:hover { color: var(--ink); }
body.nethys .toc a.is-active { color: var(--ink); border-left-color: var(--green); background: var(--paper); font-weight: 600; }
body.nethys .prose { font-size: 18.5px; line-height: 1.75; color: #2a2e26; max-width: 72ch; }
body.nethys .prose > * + * { margin-top: 1.1em; }
body.nethys .prose h2 { font-size: clamp(28px, 2.8vw, 40px); color: var(--ink); margin-top: 1.8em; scroll-margin-top: calc(var(--header-h) + 30px); }
body.nethys .prose h3 { font-size: clamp(22px, 2vw, 28px); color: var(--ink); margin-top: 1.4em; }
body.nethys .prose a { color: var(--green-deep); text-decoration-thickness: 2px; text-underline-offset: 3px; }
body.nethys .prose strong { color: var(--ink); }
body.nethys .prose ul, body.nethys .prose ol { padding-left: 1.2em; list-style: disc; }
body.nethys .prose ol { list-style: decimal; }
body.nethys .prose li + li { margin-top: .5em; }
body.nethys .prose li::marker { color: var(--green-deep); }
body.nethys .prose img { border-radius: 18px; margin-block: 1.6em; }
body.nethys .prose .lead { font-size: 21px; color: var(--ink); }
body.nethys .aside { position: sticky; top: calc(var(--header-h) + 40px); display: grid; gap: 18px; }
body.nethys .aside__box { padding: 22px; border-radius: 18px; background: var(--paper); border: 1px solid var(--line); display: grid; gap: 12px; }
body.nethys .aside__box h3 { font: 700 13px/1.3 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
body.nethys .aside__box ul { display: grid; gap: 8px; }
body.nethys .aside__box a { text-decoration: none; font-weight: 600; font-size: 15px; }
body.nethys .aside__box a:hover { color: var(--green-deep); }
body.nethys .aside__box form { display: grid; gap: 8px; }
body.nethys.nethys.nethys .aside__box input { min-height: 46px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--line); background: var(--white); font: 500 15px/1 var(--font-body); }
body.nethys .mini-post { display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: center; }
body.nethys .mini-post img { width: 64px; height: 44px; object-fit: cover; border-radius: 8px; }
body.nethys .share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 24px; border-top: 1px solid var(--line); }
body.nethys .share p { font-weight: 700; }
body.nethys .share a { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--paper); border: 1px solid var(--line); transition: background-color .3s, color .3s; }
body.nethys .share a:hover { background: var(--ink); color: var(--green); }
body.nethys .share svg { width: 18px; height: 18px; }
/* Légal */
body.nethys .legal { max-width: 860px; }
body.nethys .legal h2 { font-size: clamp(26px, 2.4vw, 34px); margin-top: 1.6em; }
body.nethys .legal ul { list-style: none; padding: 0; }
body.nethys .legal li { padding: 12px 0; border-bottom: 1px solid var(--line); }
/* ------------------------------------------------------------------ Responsive */
@media (max-width: 1100px) {
body.nethys .article-layout { grid-template-columns: minmax(0, 1fr) 280px; }
body.nethys .toc { display: none; }
body.nethys .offers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
body.nethys .page-hero { min-height: 0; }
body.nethys .page-hero::before { background: linear-gradient(0deg, rgba(14, 16, 12, .92) 0%, rgba(14, 16, 12, .6) 60%, rgba(14, 16, 12, .35) 100%); }
body.nethys .page-hero__text, body.nethys .page-hero__aside, body.nethys .split__text, body.nethys .split__media, body.nethys .split--rev .split__text, body.nethys .split--rev .split__media, body.nethys .price-box__main, body.nethys .price-box__list, body.nethys .faq__head, body.nethys .faq__list, body.nethys .contact-info, body.nethys .contact-form { grid-column: 1 / -1; grid-row: auto; }
body.nethys .hero-shot { transform: none; }
body.nethys .faq__head { position: static; }
body.nethys .grid3, body.nethys .grid4, body.nethys .gallery, body.nethys .posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.nethys .tabs { grid-template-columns: 1fr; }
body.nethys .tabs__list { display: flex; overflow-x: auto; gap: 6px; padding-bottom: 6px; }
body.nethys .tabs__list [role="tab"] { flex: none; min-height: 48px; border: 1px solid var(--line); }
body.nethys .tabs__list [role="tab"]::after { display: none; }
body.nethys .tabs__list [role="tab"][aria-selected="true"] { background: var(--ink); border-color: var(--ink); }
body.nethys .tabs__ink { display: none; }
body.nethys .hsteps__inner { min-height: 0; padding-block: 80px; }
body.nethys .hsteps__viewport { overflow-x: auto; scroll-snap-type: x mandatory; }
body.nethys .hstep { scroll-snap-align: start; width: min(82vw, 380px); min-height: 300px; }
body.nethys .hsteps__track { padding-right: var(--gutter); }
body.nethys .hsteps__bar { display: none; }
body.nethys .rows li { grid-template-columns: 1fr; }
body.nethys .manifesto h2, body.nethys .manifesto p { grid-column: 1 / -1; }
body.nethys .tcols { grid-template-columns: 1fr 1fr; height: 640px; }
body.nethys .tcols__col:nth-child(3) { display: none; }
body.nethys .statline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.nethys .statline > div:nth-child(3) { border-left: 0; }
body.nethys .statline > div:nth-child(n/**/+3) { border-top: 1px solid var(--line); }
body.nethys .cta-box { grid-template-columns: 1fr; }
body.nethys .newsletter { grid-template-columns: 1fr; }
body.nethys .post--featured { grid-template-columns: 1fr; }
body.nethys .article-layout { grid-template-columns: 1fr; }
body.nethys .aside { position: static; }
}
@media (max-width: 640px) {
body.nethys .grid3, body.nethys .grid4, body.nethys .grid2, body.nethys .gallery, body.nethys .posts, body.nethys .offers { grid-template-columns: 1fr; }
body.nethys .form { grid-template-columns: 1fr; }
body.nethys .field, body.nethys .field--half, body.nethys .form .btn, body.nethys .form__status, body.nethys .form__step { grid-column: 1 / -1; }
body.nethys .form .btn { justify-self: stretch; }
body.nethys .newsletter form { grid-template-columns: 1fr; }
body.nethys .tcols { grid-template-columns: 1fr; }
body.nethys .tcols__col:nth-child(2) { display: none; }
body.nethys .timeline__line { left: 92px; }
body.nethys .timeline__item { grid-template-columns: 92px 1fr; gap: 24px; }
body.nethys .timeline__item::before { left: 86px; }
body.nethys .hstep__n { font-size: 90px; }
}
@media (prefers-reduced-motion: reduce) {
body.nethys .tcols { height: auto; -webkit-mask: none; mask: none; }
body.nethys .tcols__col { max-height: 640px; overflow-y: auto; }
body.nethys .hero-shot { transform: none; }
body.nethys .skill__fill { transform: scaleX(var(--v)); }
}
/* Mobile et tablette : les grilles de 12 colonnes passent à une seule colonne.
   Sinon leurs 11 espacements dépassent la largeur des petits écrans (320 px) et le texte touche le bord. */
@media (max-width: 980px) {
body.nethys .about, body.nethys .xp, body.nethys .why__head, body.nethys .edge__head, body.nethys .quote__grid, body.nethys .page-hero__inner, body.nethys .split, body.nethys .price-box, body.nethys .faq, body.nethys .manifesto li, body.nethys .contact-grid { grid-template-columns: minmax(0, 1fr); }
body.nethys .about > *, body.nethys .why__head > *, body.nethys .edge__head > *, body.nethys .quote__grid > *, body.nethys .page-hero__inner > *, body.nethys .split > *, body.nethys .price-box > *, body.nethys .faq > *, body.nethys .manifesto li > *, body.nethys .contact-grid > * { grid-column: 1 / -1 !important; min-width: 0; }
}
/* Très petits écrans (320 px) : le titre du héros réduit un peu pour que les mots longs (« Référencement ») tiennent. */
body.nethys .page-hero__text { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 380px) {
body.nethys .page-hero__title { font-size: clamp(34px, 12.5vw, 44px); }
}
/* ------------------------------------------------------------------ Étapes numérotées (section texte + image) */
body.nethys .nx-steps { display: grid; margin-top: 6px; }
body.nethys .nx-step { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 0 20px; padding-bottom: 30px; }
body.nethys .nx-step:last-child { padding-bottom: 0; }
body.nethys .nx-step::before, body.nethys .nx-step::after { content: ""; position: absolute; left: 23px; top: 56px; bottom: 6px; width: 2px; border-radius: 2px; background: var(--line); }
body.nethys .nx-step::after { background: var(--green); transform: scaleY(0); transform-origin: top; transition: transform .7s var(--ease); }
body.nethys .nx-step:last-child::before, body.nethys .nx-step:last-child::after { display: none; }
body.nethys .nx-step__n { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; border: 2px solid var(--line); color: var(--muted); font: 800 21px/1 var(--font-display); font-variant-numeric: tabular-nums; transition: background-color .4s, border-color .4s, color .4s, transform .4s var(--ease); }
body.nethys .nx-step__t { margin: 11px 0 6px; font-size: clamp(19px, 1.6vw, 22px); }
body.nethys .nx-step p { margin: 0; color: var(--muted); }
body.nethys .nx-step.is-past::after, body.nethys .nx-steps:not([data-ready]) .nx-step::after { transform: scaleY(1); }
body.nethys .nx-step.is-past .nx-step__n, body.nethys .nx-step.is-on .nx-step__n, body.nethys .nx-steps:not([data-ready]) .nx-step__n { background: var(--green); border-color: var(--green); color: var(--ink); }
body.nethys .nx-step.is-on .nx-step__n { transform: scale(1.08); box-shadow: 0 0 0 6px rgba(113, 191, 68, .16); }
body.nethys .on-dark .nx-step::before { background: var(--line-dark); }
body.nethys .on-dark .nx-step__n { border-color: var(--line-dark); color: var(--muted-dark); }
body.nethys .on-dark .nx-step p { color: var(--muted-dark); }
@media (min-width: 981px) {
body.nethys .split--steps { align-items: start; }
body.nethys .split--steps .split__media { position: sticky; top: calc(var(--header-h) + 40px); }
}
@media (prefers-reduced-motion: reduce) {
body.nethys .nx-step::after, body.nethys .nx-step__n { transition: none; }
}
