:root {
	--tk-i-materiaux: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 4h18v16H3zM3 9.3h18M3 14.6h18M9 4v5.3M15 9.3v5.3M9 14.6V20%22/%3E%3C/svg%3E");
	--tk-i-normes: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z%22/%3E%3Cpath d=%22M8.5 12l2.5 2.5 4.5-5%22/%3E%3C/svg%3E");
	--tk-i-equipe: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2.5 18h19M5 18v-3a7 7 0 0114 0v3M10 8.2V5.5h4v2.7%22/%3E%3C/svg%3E");
	--tk-i-delais: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3.5 2%22/%3E%3C/svg%3E");
	--tk-i-reactivite: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M13 2L4 14h7l-1 8 9-12h-7z%22/%3E%3C/svg%3E");
	--tk-i-garantie: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%229%22 r=%226%22/%3E%3Cpath d=%22M8.6 14L7 22l5-3 5 3-1.6-8%22/%3E%3C/svg%3E");
	--tk-i-entreprise: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%228%22 cy=%2215%22 r=%224.5%22/%3E%3Cpath d=%22M11.3 11.7L20 3M16.5 6.5l3 3M14 9l2 2%22/%3E%3C/svg%3E");
	--tk-i-etude: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 3h6v3H9zM7 4.5H5V21h14V4.5h-2M8 11h8M8 15h5%22/%3E%3C/svg%3E");
	--tk-i-optimisation: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1.5 14h5M9.5 8h5M17.5 16h5%22/%3E%3C/svg%3E");
	--tk-i-energie: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%224%22/%3E%3Cpath d=%22M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4%22/%3E%3C/svg%3E");
	--tk-i-nature: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 20c0-9 6-15 15-16-1 9-7 15-15 16zM5 20l8-8%22/%3E%3C/svg%3E");
	--tk-i-suivi: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14.7 6.3a4 4 0 00-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 005.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z%22/%3E%3C/svg%3E");
	--tk-i-phone: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 01-2.2 2 19.8 19.8 0 01-8.6-3.1 19.5 19.5 0 01-6-6A19.8 19.8 0 012.1 4.2 2 2 0 014.1 2h3a2 2 0 012 1.7c.1.9.4 1.8.7 2.7a2 2 0 01-.5 2.1L8 9.8a16 16 0 006 6l1.3-1.3a2 2 0 012.1-.4c.9.3 1.8.6 2.7.7a2 2 0 011.7 2z%22/%3E%3C/svg%3E");
	--tk-i-mail: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%221.5%22/%3E%3Cpath d=%22M3.5 6.5l8.5 6 8.5-6%22/%3E%3C/svg%3E");
	--tk-i-pin: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s-7-6.2-7-11.5a7 7 0 0114 0C19 14.8 12 21 12 21z%22/%3E%3Ccircle cx=%2212%22 cy=%229.5%22 r=%222.5%22/%3E%3C/svg%3E");
	--tk-i-arrow: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 12h16M14 6l6 6-6 6%22/%3E%3C/svg%3E");
	--tk-i-check: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 12.5l5 5L20 6.5%22/%3E%3C/svg%3E");
}

/* ==========================================================================
   Tarkocin — styles complémentaires (theme.json gère l'essentiel)
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) { html:focus-within { scroll-behavior: smooth; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
img { height: auto; }
[id] { scroll-margin-top: 120px; }
::selection { background: var(--wp--preset--color--accent); color: #fff; }

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: #fff; clip: auto !important; clip-path: none; color: #1B1E23; display: block; height: auto; left: 5px; padding: 15px 23px 14px; top: 5px; width: auto; z-index: 100000; }

/* Utilitaire icône (masque coloré par currentColor) */
.tk-mask { display: inline-block; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; flex: none; }

/* Sections ------------------------------------------------------------ */
.tk-section { padding-block: var(--wp--preset--spacing--70); }
.tk-section-head { margin-bottom: var(--wp--preset--spacing--60); gap: 1.5rem; }
.tk-section > .wp-block-group.alignwide + .alignwide,
.tk-section > .wp-block-group.alignwide + .wp-block-columns { margin-top: var(--wp--preset--spacing--60); }
.wp-block-post-content > .alignfull,
main > .alignfull + .alignfull,
main > .wp-block-query + .alignfull { margin-block-start: 0 !important; }

/* Sur-titre ---------------------------------------------------------- */
.is-style-eyebrow, .tk-eyebrow {
	font-family: var(--wp--preset--font-family--heading);
	font-size: .78rem !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	display: flex; align-items: center; gap: .75rem; margin-bottom: 0;
}
.is-style-eyebrow::before { content: ""; width: 32px; height: 2px; background: currentColor; flex: none; }
.tk-eyebrow a { color: inherit; text-decoration: none; }
h2.wp-block-heading { text-wrap: balance; }

/* Liens fléchés ------------------------------------------------------- */
.tk-link-arrow a, .tk-more a {
	display: inline-flex; align-items: center; gap: .55rem;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: .95rem;
	color: var(--wp--preset--color--contrast); text-decoration: none;
}
.tk-link-arrow a::after, .tk-more a::after {
	content: ""; width: 1.1em; height: 1.1em; background: var(--wp--preset--color--accent);
	-webkit-mask: var(--tk-i-arrow) center / contain no-repeat; mask: var(--tk-i-arrow) center / contain no-repeat;
	transition: transform .25s;
}
.tk-link-arrow a:hover::after, .tk-more a:hover::after { transform: translateX(4px); }
.tk-link-arrow a:hover, .tk-more a:hover { color: var(--wp--preset--color--accent-dark); }

/* Boutons -------------------------------------------------------------- */
.wp-element-button, .wp-block-button__link { transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s; }
.wp-block-button:not(.is-style-outline):not(.is-style-ghost) .wp-block-button__link:hover { box-shadow: 0 10px 24px -10px rgba(201,119,46,.7); }
.tk-btn-arrow .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; }
.tk-btn-arrow .wp-block-button__link::after {
	content: ""; width: 1.1em; height: 1.1em; background: currentColor;
	-webkit-mask: var(--tk-i-arrow) center / contain no-repeat; mask: var(--tk-i-arrow) center / contain no-repeat;
	transition: transform .25s;
}
.tk-btn-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--contrast);
	border: 1.5px solid var(--wp--preset--color--contrast); padding: calc(.9rem - 1.5px) calc(1.6rem - 1.5px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--contrast); color: #fff; }
.wp-block-button.is-style-ghost > .wp-block-button__link {
	background: rgba(255,255,255,.04); color: #fff; border: 1.5px solid rgba(255,255,255,.45);
	padding: calc(.9rem - 1.5px) calc(1.6rem - 1.5px); backdrop-filter: blur(4px);
}
.wp-block-button.is-style-ghost > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--contrast); border-color: #fff; }

/* ==========================================================================
   En-tête
   ========================================================================== */
.tk-topbar p { margin: 0; color: #B9BDC4; }
.tk-topbar a { color: inherit; text-decoration: none; }
.tk-topbar a:hover { color: #fff; }
.tk-topbar__item { display: inline-flex; align-items: center; gap: .5rem; font-size: .82rem; letter-spacing: .01em; }
.tk-topbar__item::before { content: ""; width: 14px; height: 14px; background: var(--wp--preset--color--accent); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.tk-ico-pin { --i: var(--tk-i-pin); }
.tk-ico-phone { --i: var(--tk-i-phone); }
.tk-ico-mail { --i: var(--tk-i-mail); }

.wp-site-blocks > header { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header { top: 0; } }
@media (max-width: 1023px) { .tk-topbar { display: none; } }

.tk-header { border-bottom: 1px solid var(--wp--preset--color--line); padding-block: .9rem; box-shadow: 0 6px 24px -18px rgba(18,20,23,.35); }
.tk-header__bar { min-height: 52px; }
.tk-brand { min-width: 0; }
.tk-brand .wp-block-site-title { margin: 0; white-space: nowrap; }
.wp-block-site-logo img { display: block; }

/* Bouton d'appel (mobile/tablette) */
.tk-callbtn { margin: 0; display: none; }
.tk-callbtn a {
	display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--wp--custom--radius);
	background: var(--wp--preset--color--accent); color: #fff;
}
.tk-callbtn a::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--tk-i-phone) center / contain no-repeat; mask: var(--tk-i-phone) center / contain no-repeat; }

/* Navigation — bureau */
.tk-nav a { text-decoration: none; }
.tk-nav .wp-block-navigation-item__content { position: relative; padding-block: .4rem; color: var(--wp--preset--color--contrast); }
.tk-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.tk-nav-cta):not(.tk-nav-phone) > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--wp--preset--color--accent);
	transform: scaleX(0); transform-origin: left; transition: transform .25s;
}
.tk-nav .wp-block-navigation-item__content:hover::after,
.tk-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1) !important; }
.tk-nav .tk-nav-phone { display: none !important; }
.tk-nav .tk-nav-cta > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--accent); color: #fff !important;
	padding: .8rem 1.35rem !important; border-radius: var(--wp--custom--radius); margin-left: .5rem;
	transition: background-color .2s, box-shadow .2s;
}
.tk-nav .tk-nav-cta > .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--accent-dark); box-shadow: 0 10px 24px -10px rgba(201,119,46,.7); }

/* Bouton menu (hamburger) */
.tk-nav .wp-block-navigation__responsive-container-open {
	width: 44px; height: 44px; align-items: center; justify-content: center;
	border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); color: var(--wp--preset--color--contrast);
}
.tk-nav .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }

/* Navigation repliée jusqu'à 1023 px */
@media (max-width: 1023px) {
	.tk-callbtn { display: block; }
	.tk-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.tk-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.tk-nav .wp-block-navigation__responsive-container:not(.hidden-by-default) .wp-block-navigation__responsive-container-close { display: flex !important; }
	.tk-header { padding-block: .7rem; }
	.tk-brand .wp-block-site-title { font-size: 1.25rem !important; }
}

/* Menu mobile ouvert */
.tk-nav .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed; inset: 0; z-index: 100000;
	background: var(--wp--preset--color--night) !important; color: #fff !important;
	padding: 1.1rem clamp(1.25rem, 5vw, 2.5rem) 2rem !important;
	animation: tk-menu-in .28s ease both;
}
@keyframes tk-menu-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.tk-nav .is-menu-open .wp-block-navigation__responsive-dialog { position: relative; min-height: 100%; }
.tk-nav .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "TARKOCIN"; position: absolute; top: .55rem; left: 0;
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; letter-spacing: .12em; font-size: 1.25rem; color: #fff;
}
.tk-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 0 !important; right: 0 !important; width: 44px; height: 44px; align-items: center; justify-content: center;
	border: 1px solid rgba(255,255,255,.2); border-radius: var(--wp--custom--radius); color: #fff;
}
.tk-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 26px; height: 26px; }
.tk-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 5rem !important; align-items: stretch !important; }
.tk-nav .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
.tk-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(255,255,255,.1); align-items: stretch !important; }
.tk-nav .is-menu-open .wp-block-navigation-item__content {
	display: flex !important; justify-content: space-between; align-items: center; width: 100%; box-sizing: border-box;
	padding: 1.05rem 0 !important; color: #fff !important;
	font-family: var(--wp--preset--font-family--heading); font-size: 1.55rem !important; font-weight: 700; letter-spacing: -.01em;
}
.tk-nav .is-menu-open .wp-block-navigation-item__content::after {
	content: "" !important; position: static !important; transform: none !important; width: 22px !important; height: 22px !important; flex: none; opacity: 1 !important; background: var(--wp--preset--color--accent) !important;
	-webkit-mask: var(--tk-i-arrow) center / contain no-repeat; mask: var(--tk-i-arrow) center / contain no-repeat;
}
.tk-nav .is-menu-open .tk-nav-phone { display: block !important; border: 0; margin-top: 1.75rem; }
.tk-nav .is-menu-open .tk-nav-phone .wp-block-navigation-item__content { justify-content: flex-start; gap: .7rem; font-size: 1.15rem !important; color: #C9CCD1 !important; padding: .5rem 0 !important; }
.tk-nav .is-menu-open .tk-nav-phone .wp-block-navigation-item__content::before { content: ""; width: 20px; height: 20px; background: var(--wp--preset--color--accent); -webkit-mask: var(--tk-i-phone) center / contain no-repeat; mask: var(--tk-i-phone) center / contain no-repeat; }
.tk-nav .is-menu-open .tk-nav-phone .wp-block-navigation-item__content::after { display: none; }
.tk-nav .is-menu-open .tk-nav-cta { border: 0; margin-top: 1rem; }
.tk-nav .is-menu-open .tk-nav-cta .wp-block-navigation-item__content {
	justify-content: center; gap: .6rem; margin: 0 !important; padding: 1.05rem 1rem !important;
	font-size: 1.05rem !important; background: var(--wp--preset--color--accent); border-radius: var(--wp--custom--radius);
}
.tk-nav .is-menu-open .tk-nav-cta .wp-block-navigation-item__content::after { background: #fff !important; width: 18px; height: 18px; }

/* ==========================================================================
   Bannière d'accueil
   ========================================================================== */
.tk-hero { padding-block: var(--wp--preset--spacing--70) calc(var(--wp--preset--spacing--70) + 70px) !important; }
.tk-hero .wp-block-cover__background {
	background: linear-gradient(95deg, rgba(18,20,23,.94) 0%, rgba(18,20,23,.78) 42%, rgba(18,20,23,.25) 100%) !important; opacity: 1 !important;
}
.tk-hero h1 { margin-top: 1.1rem; max-width: 15ch; text-wrap: balance; }
.tk-hero__lead { max-width: 56ch; margin-top: 1.25rem; }
.tk-hero__actions { margin-top: var(--wp--preset--spacing--50) !important; gap: .85rem; }
.tk-hero__trust { list-style: none; padding: 0; margin: var(--wp--preset--spacing--50) 0 0; display: flex; flex-wrap: wrap; gap: .6rem 1.75rem; color: #D7D9DD; font-size: .92rem; }
.tk-hero__trust li { display: inline-flex; align-items: center; gap: .5rem; }
.tk-hero__trust li::before { content: ""; width: 16px; height: 16px; background: var(--wp--preset--color--accent); -webkit-mask: var(--tk-i-check) center / contain no-repeat; mask: var(--tk-i-check) center / contain no-repeat; }
@media (max-width: 600px) { .tk-hero__actions .wp-block-button { width: 100%; } .tk-hero__actions .wp-block-button__link { width: 100%; } }

/* En-têtes de pages intérieures */
.tk-pagehead { padding-block: var(--wp--preset--spacing--70) calc(var(--wp--preset--spacing--70) + 40px) !important; }
.tk-pagehead h1 { margin-top: .9rem; }
.tk-pagehead .wp-block-cover__background { background: linear-gradient(95deg, rgba(18,20,23,.94) 0%, rgba(18,20,23,.8) 50%, rgba(18,20,23,.5) 100%) !important; opacity: 1 !important; }
.tk-pagehead--simple { padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--60) !important; }
.tk-pagehead--simple h1 { margin-top: 0; }

/* Chiffres clés (carte qui chevauche) --------------------------------- */
.wp-block-post-content > .tk-stats, .tk-stats { position: relative; z-index: 2; margin-top: -88px !important; }
.tk-stats__card {
	background: #fff; border-radius: 6px; padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 3vw, 2.5rem);
	box-shadow: 0 30px 60px -30px rgba(18,20,23,.35), 0 0 0 1px rgba(18,20,23,.04);
	gap: 1.5rem !important;
}
.tk-stat { padding-left: 1.25rem; border-left: 2px solid var(--wp--preset--color--accent); }
.tk-stat__value { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.9rem, 3.5vw, 2.6rem); font-weight: 800; line-height: 1; margin: 0; letter-spacing: -.02em; color: var(--wp--preset--color--contrast); }
.tk-stat__label { margin: .5rem 0 0; color: var(--wp--preset--color--muted); font-size: .92rem; line-height: 1.4; }
.tk-stats__card { grid-template-columns: repeat(4, 1fr) !important; }
@media (max-width: 1023px) { .tk-stats__card { grid-template-columns: 1fr 1fr !important; } }

/* Photos ------------------------------------------------------------------ */
.tk-photo img { width: 100%; border-radius: 6px; }
.tk-photo--badge { position: relative; }
.tk-photo--badge::after {
	content: "Depuis 2013"; position: absolute; right: -14px; bottom: 28px;
	background: var(--wp--preset--color--accent); color: #fff; padding: .8rem 1.2rem; border-radius: 4px;
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; letter-spacing: .02em;
	box-shadow: 0 16px 30px -14px rgba(18,20,23,.5);
}
@media (max-width: 781px) { .tk-photo--badge::after { right: 12px; } }

/* Services — cartes avec photo ------------------------------------------- */
.tk-grid { gap: 1.5rem !important; }
.tk-svc {
	position: relative; background: #fff; border-radius: 6px; overflow: hidden;
	box-shadow: 0 0 0 1px rgba(18,20,23,.06); transition: transform .3s, box-shadow .3s;
	display: flex; flex-direction: column;
}
.tk-svc:hover { transform: translateY(-6px); box-shadow: 0 30px 50px -28px rgba(18,20,23,.45); }
.tk-svc__img { margin: 0 !important; overflow: hidden; }
.tk-svc__img img { border-radius: 0 !important; transition: transform .6s ease; display: block; width: 100%; }
.tk-svc:hover .tk-svc__img img { transform: scale(1.05); }
.tk-svc__body { padding: 1.75rem 1.75rem 2rem; display: flex; flex-direction: column; flex: 1; }
.tk-svc__body h3 { margin: .5rem 0 .75rem; }
.tk-svc__body p { margin-top: 0; }
.tk-svc .tk-more { margin-top: auto; padding-top: .5rem; }
.tk-svc .tk-more a::before { content: ""; position: absolute; inset: 0; }
.tk-num { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: .9rem; letter-spacing: .1em; color: var(--wp--preset--color--accent); margin: 0; }

/* Icônes en pastille ----------------------------------------------------- */
.tk-icon { position: relative; padding-top: 72px; }
.tk-icon::before { content: ""; position: absolute; top: 0; left: 0; width: 54px; height: 54px; border-radius: 10px; background: rgba(201,119,46,.12); }
.tk-icon::after {
	content: ""; position: absolute; top: 14px; left: 14px; width: 26px; height: 26px; background: var(--wp--preset--color--accent);
	-webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat;
}
.tk-icon--materiaux { --i: var(--tk-i-materiaux); } .tk-icon--normes { --i: var(--tk-i-normes); }
.tk-icon--equipe { --i: var(--tk-i-equipe); } .tk-icon--delais { --i: var(--tk-i-delais); }
.tk-icon--reactivite { --i: var(--tk-i-reactivite); } .tk-icon--garantie { --i: var(--tk-i-garantie); }
.tk-icon--entreprise { --i: var(--tk-i-entreprise); } .tk-icon--etude { --i: var(--tk-i-etude); }
.tk-icon--optimisation { --i: var(--tk-i-optimisation); } .tk-icon--energie { --i: var(--tk-i-energie); }
.tk-icon--nature { --i: var(--tk-i-nature); } .tk-icon--suivi { --i: var(--tk-i-suivi); }

/* Prestations (fond sombre) */
.tk-offer { padding: 1.75rem; padding-top: calc(1.75rem + 72px); border: 1px solid rgba(255,255,255,.1); border-radius: 6px; background: rgba(255,255,255,.02); transition: background-color .25s, border-color .25s; }
.tk-offer:hover { background: rgba(255,255,255,.05); border-color: rgba(201,119,46,.5); }
.tk-offer::before { top: 1.75rem; left: 1.75rem; background: rgba(201,119,46,.16); }
.tk-offer::after { top: calc(1.75rem + 14px); left: calc(1.75rem + 14px); }
.tk-offer h3 { margin: 0 0 .5rem; }
.tk-offer p { margin: 0; }
@media (min-width: 900px) { .tk-offers { grid-template-columns: repeat(3, 1fr) !important; } }

/* Pourquoi nous */
.tk-why { gap: 2.5rem 2.25rem !important; }
.tk-why__item h3 { margin: 0 0 .4rem; }
.tk-why__item p { margin: 0; }
.tk-why__intro .tk-photo { margin-top: var(--wp--preset--spacing--50); }
@media (min-width: 782px) { .tk-why__intro { position: sticky; top: 120px; align-self: flex-start; } }

/* Démarche */
.tk-steps { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)) !important; }
.tk-step { background: var(--wp--preset--color--base); border-radius: 6px; padding: 1.75rem; position: relative; box-shadow: 0 0 0 1px rgba(18,20,23,.05); }
.tk-step__num {
	width: 2.75rem; height: 2.75rem; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--accent); color: #fff; margin: 0 0 1.1rem;
	font-family: var(--wp--preset--font-family--heading); font-weight: 800;
}
.tk-step h3 { margin: 0 0 .4rem; }
.tk-step p { margin: 0; }

/* Cartes génériques */
.is-style-card { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); border-radius: 6px; padding: clamp(1.5rem, 3vw, 2.25rem); }
.tk-cards { gap: 1.5rem !important; }

/* Liste à coches ------------------------------------------------------------ */
.is-style-checks { list-style: none; padding-left: 0; }
.is-style-checks li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
.is-style-checks li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 1.2rem; height: 1.2rem; border-radius: 50%;
	background: var(--wp--preset--color--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.4' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center/70% no-repeat;
}

/* Services détaillés */
.tk-feature + .tk-feature { margin-top: var(--wp--preset--spacing--70); }
@media (min-width: 782px) { .tk-feature--reverse { flex-direction: row-reverse; } }

/* Projets ----------------------------------------------------------------- */
.tk-project-card .wp-block-post-featured-image { overflow: hidden; border-radius: 6px; margin: 0; width: 100%; }
.tk-project-card .wp-block-post-featured-image img { transition: transform .6s ease; }
.tk-project-card:hover .wp-block-post-featured-image img { transform: scale(1.05); }
.tk-project-card .wp-block-post-title a:hover { color: var(--wp--preset--color--accent-dark); }
.tk-lieu:empty { display: none; }
.tk-lieu { margin: 0; color: var(--wp--preset--color--muted); font-size: .95rem; display: inline-flex; gap: .4rem; align-items: center; }
.tk-lieu::before { content: ""; width: 15px; height: 15px; background: var(--wp--preset--color--accent); -webkit-mask: var(--tk-i-pin) center / contain no-repeat; mask: var(--tk-i-pin) center / contain no-repeat; }
.tk-back a { text-decoration: none; color: #C9CCD1; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--60); }
.single-projet main > .wp-block-post-content { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); }

/* Demande de devis (CTA) ------------------------------------------------- */
.tk-cta { padding-block: var(--wp--preset--spacing--70) !important; }
.tk-cta .wp-block-cover__background { background: linear-gradient(100deg, rgba(18,20,23,.95) 0%, rgba(18,20,23,.85) 55%, rgba(27,30,35,.7) 100%) !important; opacity: 1 !important; }
.tk-cta h2 { margin: 1rem 0 1rem; }
.tk-cta__list { color: #E4E0D9; margin-top: 1.5rem; }
.tk-cta__card { background: #fff; color: var(--wp--preset--color--contrast); border-radius: 6px; padding: clamp(1.75rem, 3vw, 2.5rem) !important; box-shadow: 0 30px 60px -25px rgba(0,0,0,.6); }
.tk-cta__label { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.tk-cta__phone { margin: .35rem 0 1.25rem; }
.tk-cta__phone a { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.6rem, 3vw, 2rem); font-weight: 800; letter-spacing: -.01em; color: var(--wp--preset--color--contrast); text-decoration: none; }
.tk-cta__phone a:hover, .tk-cta__mail a:hover { color: var(--wp--preset--color--accent-dark); }
.tk-cta__mail { margin: .35rem 0 0; padding-bottom: 1.5rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.tk-cta__mail a { font-weight: 600; font-size: 1.1rem; color: var(--wp--preset--color--contrast); text-decoration: none; }
.tk-cta__btn { margin-top: 1.5rem !important; }

/* Contact ---------------------------------------------------------------- */
.tk-contact-list { margin-top: var(--wp--preset--spacing--50); }
.tk-contact-item { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1rem; margin: 0 0 1rem; }
.tk-contact-item strong { font-family: var(--wp--preset--font-family--heading); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.tk-contact-item a { color: var(--wp--preset--color--contrast); text-decoration: none; font-weight: 600; }
.tk-contact-item a:hover { color: var(--wp--preset--color--accent-dark); }
.tk-form-card { background: var(--wp--preset--color--stone); border: 0; }
.tk-form-card h3 { margin-top: 0; }

/* Formulaire -------------------------------------------------------------- */
.tk-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 640px) { .tk-form__grid { grid-template-columns: 1fr; } }
.tk-field { margin: 0 0 1.1rem; display: flex; flex-direction: column; gap: .4rem; }
.tk-field--full { grid-column: 1 / -1; }
.tk-field label { font-weight: 600; font-size: .9rem; }
.tk-field label span { color: var(--wp--preset--color--accent-dark); }
.tk-field input[type=text], .tk-field input[type=email], .tk-field input[type=tel], .tk-field select, .tk-field textarea {
	font: inherit; width: 100%; box-sizing: border-box;
	padding: .85rem 1rem; border: 1px solid #CFC9BF; border-radius: var(--wp--custom--radius);
	background: #fff; color: var(--wp--preset--color--contrast); transition: border-color .2s, box-shadow .2s;
}
.tk-field input:focus, .tk-field select:focus, .tk-field textarea:focus { outline: none; border-color: var(--wp--preset--color--accent); box-shadow: 0 0 0 3px rgba(201,119,46,.18); }
.tk-field--check { flex-direction: row; align-items: flex-start; gap: .7rem; font-size: .9rem; }
.tk-field--check input { margin-top: .3rem; accent-color: var(--wp--preset--color--accent); width: 1.05rem; height: 1.05rem; flex: none; }
.tk-field--check label { font-weight: 400; }
.tk-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tk-form button { cursor: pointer; border: 0; }
.tk-form__notice { padding: .9rem 1.1rem; border-radius: var(--wp--custom--radius); margin: 0 0 1.25rem; font-weight: 500; }
.tk-form__notice--success { background: #E6F2E8; color: #1E5B2C; }
.tk-form__notice--error { background: #FBEAEA; color: #8A1F1F; }
@media (max-width: 640px) { .tk-form .wp-block-button, .tk-form .wp-block-button__link { width: 100%; } }

/* Pages légales / contenu texte -------------------------------------------- */
.tk-prose h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.75rem; margin-bottom: .75rem; }
.tk-prose h3 { font-size: var(--wp--preset--font-size--large); margin-top: 1.75rem; margin-bottom: .5rem; }
.tk-prose > h2:first-child { margin-top: 0; }
.tk-prose ul { padding-left: 1.25rem; }
.tk-prose li { margin-bottom: .35rem; }

/* Pied de page ------------------------------------------------------------- */
.tk-footer a { color: #fff; text-decoration: none; }
.tk-footer a:hover { color: var(--wp--preset--color--accent); }
.tk-footer-brand { font-family: var(--wp--preset--font-family--heading); font-weight: 800; letter-spacing: .12em; font-size: 1.4rem; margin: 0; }
.tk-footer-brand span { font-size: .8rem; letter-spacing: .04em; font-weight: 600; color: #9EA3AB; margin-left: .4rem; }
.tk-footer-title { font-size: .78rem !important; letter-spacing: .16em; text-transform: uppercase; color: #9EA3AB !important; margin: 0 0 1rem; }
.tk-footer-list { list-style: none; padding: 0; margin: 0; }
.tk-footer-list li { margin-bottom: .55rem; }
.tk-footer-contact { line-height: 1.8; color: #C9CCD1; }
.tk-footer-sep { border-color: rgba(255,255,255,.12) !important; margin-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) !important; }
.tk-footer .wp-block-social-links { margin-top: 1.5rem; }
.tk-footer p { margin-block: 0; }
.tk-footer .wp-block-column > p + p { margin-top: 1rem; }
.tk-footer-legal a { color: #C9CCD1; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media (min-width: 900px) { .tk-svc-grid { grid-template-columns: repeat(3, 1fr) !important; } }
.tk-footer .has-line-color a { color: #C9CCD1; }
.tk-credit a { color: #9EA3AB !important; font-size: .85rem; letter-spacing: .01em; }
.tk-credit a strong { color: #fff; font-weight: 700; transition: color .2s; }
.tk-credit a:hover strong { color: var(--wp--preset--color--accent); }
