/* ==========================================================================
   Teraya — styles du thème
   Couleurs et polices : voir theme.json (Apparence › Éditeur › Styles).
   ========================================================================== */

:root {
	--t-deep: var(--wp--preset--color--deep, #096A9F);
	--t-bright: var(--wp--preset--color--bright, #1887CF);
	--t-sky: var(--wp--preset--color--sky, #46ABEE);
	--t-ink: var(--wp--preset--color--ink, #0B1B2B);
	--t-navy: var(--wp--preset--color--navy, #06131F);
	--t-slate: var(--wp--preset--color--slate, #5B6875);
	--t-mist: var(--wp--preset--color--mist, #F3F7FB);
	--t-line: var(--wp--preset--color--line, #E3E9EF);
	--t-brand: linear-gradient(135deg, #2397E0 0%, #1786CC 45%, #0B6AA3 100%);
	--t-night: radial-gradient(1200px 700px at 25% 15%, #0F3150 0%, #08192A 55%, #040C15 100%);
	--t-radius: 24px;
	--t-ease: cubic-bezier(.2, .7, .2, 1);
	--t-header-h: 84px;
}

body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: var(--t-bright); color: #fff; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--t-header-h) + 24px); }
img { max-width: 100%; height: auto; }

/* Espacements entre grands blocs : les sections s'enchaînent sans blanc. */
.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }
.t-main { margin: 0 !important; }
.t-main .wp-block-post-content > .t-section,
.t-main > .t-section,
.t-main .wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* ---------------------------------------------------------------- en-tête */
.t-site-header { position: sticky; top: 0; z-index: 100; }
.admin-bar .t-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .t-site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .t-site-header { top: 0; } }

.t-header {
	position: relative; z-index: 0;
	border-bottom: 1px solid transparent;
	transition: box-shadow .3s var(--t-ease), border-color .3s var(--t-ease);
}
/* Le flou est porté par un pseudo-élément : sinon le menu mobile (position fixe) resterait coincé dans l'en-tête. */
.t-header::before {
	content: ''; position: absolute; inset: 0; z-index: -1;
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
}
.t-site-header.is-scrolled .t-header { border-bottom-color: var(--t-line); box-shadow: 0 10px 30px rgba(10, 40, 70, .07); }
.t-header__inner { min-height: var(--t-header-h); gap: 2rem; }
.t-logo img { display: block; width: 168px; height: auto; }
.t-logo-text a { font-weight: 800; font-size: 1.5rem; color: var(--t-ink); letter-spacing: -.02em; }
.t-header__right { gap: 2rem; }
.t-nav .wp-block-navigation__container { gap: 1.9rem; }
.t-nav .wp-block-navigation-item__content { color: var(--t-ink); position: relative; padding-block: .35rem; transition: color .2s; }
.t-nav .wp-block-navigation-item__content:hover { color: var(--t-bright); }
.t-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--t-bright); }
.t-nav .current-menu-item > .wp-block-navigation-item__content::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; border-radius: 2px; background: var(--t-bright);
}
.t-header__cta .wp-block-button__link { padding: .8rem 1.4rem; font-size: .95rem; box-shadow: 0 10px 24px rgba(24, 135, 207, .28); }

/* menu mobile */
.t-nav .wp-block-navigation__responsive-container-open svg,
.t-nav .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.t-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 6rem 2rem 2rem; background: #fff;
}
.t-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.t-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 1.1rem; }
.t-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; }
@media (max-width: 899px) {
	.wp-block-buttons.t-header__cta { display: none !important; }
	.t-logo img { width: 140px; }
	:root { --t-header-h: 72px; }
}

/* ---------------------------------------------------------------- sections */
.t-section { padding-block: var(--wp--preset--spacing--60, clamp(3.5rem, 8vw, 6.5rem)); position: relative; }
.t-soft { background: var(--t-mist); }
.t-dark { background: var(--t-night); color: rgba(255, 255, 255, .86); }
.t-dark h1, .t-dark h2, .t-dark h3, .t-dark h4 { color: #fff; }
.t-dark a:not(.wp-element-button) { color: var(--t-sky); }

.t-eyebrow {
	font-size: .78rem !important; font-weight: 800; letter-spacing: .28em; text-transform: uppercase;
	color: var(--t-bright); margin-bottom: .9rem !important;
}
.t-dark .t-eyebrow, .t-cta .t-eyebrow { color: var(--t-sky); }
.t-h1 { font-size: clamp(2.4rem, 5.6vw, 4.4rem) !important; line-height: 1.04 !important; letter-spacing: -.035em !important; margin-block: 0 1.2rem !important; }
.t-hl { color: var(--t-sky); }
.t-nw { white-space: nowrap; }
.t-hero .t-h1 { font-size: clamp(2.4rem, 4.7vw, 3.75rem) !important; }
.t-lead { font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.6; color: var(--t-slate); }
.t-dark .t-lead, .t-cta .t-lead { color: rgba(255, 255, 255, .78); }
.t-note { font-size: .9rem; color: rgba(255, 255, 255, .62); margin-top: 1.6rem !important; }
.t-note strong { color: #fff; }
.t-center { text-align: center; }

.t-head { text-align: center; max-width: 760px; margin: 0 auto clamp(2.5rem, 5vw, 3.75rem) !important; }
.t-head h2 { margin: 0; }
.t-head .t-lead { margin-top: 1rem; }
.t-head--left { text-align: left; max-width: none; }
.t-head--left > * { max-width: 860px; }

/* Colonnes */
.wp-block-columns.t-cols { gap: 1.5rem; margin-bottom: 0; }
.wp-block-columns.t-cols--tight { gap: 1.25rem; margin-block: 0 1.25rem; }
.wp-block-columns.t-split { gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.t-illus img { display: block; width: 100%; height: auto; }
.t-split .t-illus img { width: auto; max-width: 100%; max-height: 560px; margin-inline: auto; }

/* Boutons */
.wp-block-button__link { transition: transform .25s var(--t-ease), box-shadow .25s var(--t-ease), background-color .25s; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button:not(.is-style-outline):not(.t-btn-white) .wp-block-button__link { background-image: var(--t-brand); box-shadow: 0 14px 30px rgba(24, 135, 207, .3); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border: 2px solid currentColor; color: var(--t-bright); padding: calc(.95rem - 2px) calc(1.9rem - 2px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--t-bright); color: #fff; border-color: var(--t-bright); }
.t-dark .wp-block-button.is-style-outline .wp-block-button__link,
.t-cta .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .55); }
.t-dark .wp-block-button.is-style-outline .wp-block-button__link:hover,
.t-cta .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--t-deep); border-color: #fff; }
.t-btn-white .wp-block-button__link { background: #fff !important; color: var(--t-deep) !important; box-shadow: 0 14px 30px rgba(0, 0, 0, .18); }
.t-btn-phone .wp-block-button__link::before {
	content: ''; display: inline-block; width: 1.15em; height: 1.15em; margin-right: .6em; vertical-align: -.2em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.t-center-btns { justify-content: center; }

/* Lien fléché */
.t-arrow a { font-weight: 700; }
.t-arrow a::after { content: '→'; display: inline-block; margin-left: .45rem; transition: transform .25s var(--t-ease); }
.t-arrow a:hover::after { transform: translateX(4px); }
.t-arrow.t-center { margin-top: 2.5rem !important; }

/* ---------------------------------------------------------------- héros */
.t-hero { padding-block: clamp(4rem, 9vw, 7.5rem) clamp(4.5rem, 9vw, 7rem); overflow: hidden; }
.t-hero__cols { align-items: center; gap: clamp(2rem, 4vw, 4rem) !important; }
.t-hero .wp-block-buttons { margin-top: 2rem; }
.t-hero__img { margin: 0; }
.t-hero__img img { animation: t-bob 7s ease-in-out infinite; filter: drop-shadow(0 30px 50px rgba(0, 0, 0, .35)); }
@media (min-width: 1100px) { .t-hero__img img { scale: 1.1; transform-origin: left center; } }
@keyframes t-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

.t-pagehero { padding-block: clamp(3.5rem, 8vw, 6rem) clamp(3rem, 7vw, 5rem); overflow: hidden; }
.t-pagehero__inner > * { max-width: 820px; }
.t-pagehero .t-lead { margin: 0; }
.t-404 { min-height: 60vh; display: flex; flex-direction: column; justify-content: center; }

/* ---------------------------------------------------------------- cartes */
.t-card {
	background: #fff; border: 1px solid var(--t-line); border-radius: var(--t-radius);
	padding: clamp(1.6rem, 2.6vw, 2.25rem); height: 100%;
	transition: transform .35s var(--t-ease), box-shadow .35s var(--t-ease), border-color .35s;
}
.t-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px rgba(10, 50, 90, .1); border-color: transparent; }
.t-card > * { margin-block: 0; }
.t-card > * + * { margin-top: .8rem !important; }
.t-card h3 { font-size: 1.45rem; }

.t-num { font-size: 3.2rem !important; font-weight: 300; line-height: 1; letter-spacing: -.04em; color: var(--t-bright); }
.t-tag { font-size: .74rem !important; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--t-slate); }
.t-card--service .t-num { margin-bottom: 1.2rem !important; }
.t-card--service .t-arrow { margin-top: 1.4rem !important; }

/* Bénéfices */
.t-benefit { text-align: center; }
.t-benefit .t-illus { margin: 0 auto 1.5rem; max-width: 420px; }
.t-benefit h3 { margin: 0 0 .6rem; }
.t-benefit p { color: var(--t-slate); margin: 0 auto; max-width: 340px; }

/* Pourquoi Teraya (fond sombre) */
.t-split h2 { margin-block: 0 1rem; }
.t-why {
	background: rgba(255, 255, 255, .045); border: 1px solid rgba(255, 255, 255, .1); border-radius: 20px;
	padding: 1.75rem; height: 100%; position: relative;
}
.t-why::before {
	content: ''; display: block; width: 26px; height: 26px; border-radius: 5px; background: var(--t-bright);
	box-shadow: 12px 12px 0 -2px rgba(70, 171, 238, .45); margin-bottom: 1.6rem;
}
.t-why h3 { font-size: 1.2rem; margin: 0 0 .5rem; }
.t-why p { margin: 0; font-size: .97rem; color: rgba(255, 255, 255, .72); }

/* Étapes */
.t-step { position: relative; padding-top: .5rem; }
.t-step__num {
	width: 64px; height: 64px; border-radius: 18px; display: flex; align-items: center; justify-content: center;
	background: var(--t-brand); color: #fff !important; font-weight: 800; font-size: 1.15rem !important;
	box-shadow: 0 14px 30px rgba(24, 135, 207, .3); margin-bottom: 1.4rem !important;
}
.t-step h3 { margin: 0 0 .5rem; font-size: 1.3rem; }
.t-step p { margin: 0; color: var(--t-slate); }
.t-dark .t-step p { color: rgba(255, 255, 255, .72); }
@media (min-width: 782px) {
	.t-steps .wp-block-column { position: relative; }
	.t-steps .wp-block-column:not(:last-child)::after {
		content: ''; position: absolute; top: 2.5rem; left: 84px; right: -.75rem; height: 2px;
		background: repeating-linear-gradient(90deg, var(--t-line) 0 8px, transparent 8px 16px);
	}
	.t-dark .t-steps .wp-block-column:not(:last-child)::after { background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .18) 0 8px, transparent 8px 16px); }
}

/* ---------------------------------------------------------------- tarifs */
.t-prices { align-items: stretch !important; }
.t-price {
	position: relative; height: 100%; border-radius: 28px; padding: clamp(1.75rem, 2.8vw, 2.4rem);
	background: #fff; border: 1px solid var(--t-line); display: flex; flex-direction: column;
	transition: transform .35s var(--t-ease), box-shadow .35s var(--t-ease);
}
.t-price:hover { transform: translateY(-6px); box-shadow: 0 30px 60px rgba(10, 50, 90, .12); }
.t-price > * { margin-block: 0; }
.t-price h3 { font-size: 1.6rem; }
.t-price__desc { margin-top: .35rem !important; color: var(--t-slate); font-size: .97rem; }
.t-amount { margin: 1.4rem 0 1.4rem !important; font-weight: 700; color: var(--t-slate); white-space: nowrap; }
.t-amount strong { font-size: clamp(2.1rem, 3.4vw, 2.7rem); font-weight: 900; letter-spacing: -.04em; color: var(--t-ink); margin-right: .2rem; }
.t-amount em { font-style: normal; font-weight: 700; }
.t-price .t-check { flex: 1; }
.t-delay { margin-top: 1.5rem !important; padding-top: 1rem; border-top: 1px solid var(--t-line); font-size: .88rem; font-weight: 600; color: var(--t-slate); }
.t-badge {
	position: absolute; top: -14px; right: 26px; background: #fff; color: var(--t-deep);
	font-size: .72rem !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
	padding: .45rem .95rem; border-radius: 999px; box-shadow: 0 10px 24px rgba(10, 40, 70, .18);
}
.t-price.is-hot { background: var(--t-brand); border-color: transparent; color: #fff; box-shadow: 0 30px 70px rgba(24, 135, 207, .35); }
.t-price.is-hot h3, .t-price.is-hot .t-amount strong { color: #fff; }
.t-price.is-hot .t-price__desc, .t-price.is-hot .t-amount { color: rgba(255, 255, 255, .85); }
.t-price.is-hot .t-delay { border-top-color: rgba(255, 255, 255, .25); color: rgba(255, 255, 255, .85); }
.t-price.is-hot .t-check li::before { background-color: rgba(255, 255, 255, .22); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline points='5,10.5 8.5,14 15,6.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.t-dark .t-price:not(.is-hot) { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .85); }
.t-dark .t-price:not(.is-hot) .t-amount strong { color: #fff; }
.t-dark .t-price:not(.is-hot) .t-price__desc, .t-dark .t-price:not(.is-hot) .t-amount, .t-dark .t-price:not(.is-hot) .t-delay { color: rgba(255, 255, 255, .65); }
.t-dark .t-price:not(.is-hot) .t-delay { border-top-color: rgba(255, 255, 255, .12); }
.t-dark .t-price:not(.is-hot) .t-check li::before { background-color: rgba(70, 171, 238, .16); }
@media (min-width: 782px) { .t-prices .wp-block-column:nth-child(2) .t-price.is-hot { transform: translateY(-14px); } .t-prices .wp-block-column:nth-child(2) .t-price.is-hot:hover { transform: translateY(-20px); } }

/* Liste à coches */
.t-check { list-style: none; padding: 0; margin: 0; }
.t-check li { position: relative; padding-left: 2rem; margin: 0 0 .7rem; line-height: 1.5; }
.t-check li::before {
	content: ''; position: absolute; left: 0; top: .1em; width: 1.3rem; height: 1.3rem; border-radius: 50%;
	background: #E2F0FA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline points='5,10.5 8.5,14 15,6.5' fill='none' stroke='%231887CF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat;
}
.t-dark .t-check li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline points='5,10.5 8.5,14 15,6.5' fill='none' stroke='%2346ABEE' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.t-split .t-check { margin: 1.6rem 0 2rem; }

/* FAQ */
.t-faq .wp-block-details { border-bottom: 1px solid var(--t-line); padding: 1.25rem 0; margin: 0; }
.t-faq .wp-block-details:first-child { border-top: 1px solid var(--t-line); }
.t-faq summary { cursor: pointer; font-weight: 800; font-size: 1.1rem; color: var(--t-ink); list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.t-faq summary::-webkit-details-marker { display: none; }
.t-faq summary::after { content: '+'; font-size: 1.6rem; line-height: 1; color: var(--t-bright); transition: transform .3s var(--t-ease); }
.t-faq details[open] summary::after { transform: rotate(45deg); }
.t-faq details p { color: var(--t-slate); margin: .8rem 0 0; }

/* ---------------------------------------------------------------- services */
.t-service .t-split h2 { font-size: clamp(2.1rem, 4vw, 3rem); }
.t-anchor { scroll-margin-top: calc(var(--t-header-h) + 24px); }
.t-split.is-reverse { flex-direction: row; }
@media (max-width: 781px) { .t-split.is-reverse { flex-direction: column-reverse; } }

/* Réalisations */
.t-work { height: 100%; }
.t-work__img { margin: 0 0 1.4rem; border-radius: 20px; overflow: hidden; box-shadow: 0 24px 50px rgba(10, 50, 90, .14); }
.t-work__img img { display: block; width: 100%; transition: transform .6s var(--t-ease); }
.t-work:hover .t-work__img img { transform: scale(1.04); }
.t-work h3 { margin: .5rem 0 .5rem; }
.t-work p:last-child { color: var(--t-slate); margin: 0; }

/* ---------------------------------------------------------------- bandeau CTA */
.t-cta { background: var(--t-brand); color: #fff; overflow: hidden; text-align: center; }
.t-cta h2 { color: #fff; margin: 0 auto; max-width: 760px; }
.t-cta .t-lead { margin: 1rem auto 2.2rem; max-width: 620px; }
.t-cta__inner { max-width: 900px; margin-inline: auto; }

/* ---------------------------------------------------------------- contact */
.t-contact { align-items: flex-start !important; }
.t-contact__info > * + * { margin-top: 1rem !important; }
.t-info { height: auto; }
.t-info__big { font-size: 1.35rem !important; font-weight: 800; color: var(--t-ink); letter-spacing: -.01em; }
.t-info__big a { color: var(--t-ink); }
.t-info p:last-child:not(.t-info__big) { color: var(--t-slate); font-size: .95rem; }
.t-info .wp-block-buttons { margin-top: 1.2rem !important; }
.t-form-card { padding: clamp(1.75rem, 3.5vw, 3rem); box-shadow: 0 30px 70px rgba(10, 50, 90, .1); border-color: transparent; }
.t-form-card:hover { transform: none; }
.t-form-card h2 { font-size: clamp(1.7rem, 3vw, 2.2rem); }
.t-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 640px) { .t-form__row { grid-template-columns: 1fr; } }
.t-field { margin: 0 0 1.1rem; }
.t-field label { display: block; font-size: .88rem; font-weight: 700; color: var(--t-ink); margin-bottom: .45rem; }
.t-field input, .t-field select, .t-field textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--t-ink);
	background: var(--t-mist); border: 1.5px solid transparent; border-radius: 14px; padding: .9rem 1rem;
	transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.t-field textarea { resize: vertical; min-height: 140px; }
.t-field input:focus, .t-field select:focus, .t-field textarea:focus {
	outline: none; background: #fff; border-color: var(--t-bright); box-shadow: 0 0 0 4px rgba(24, 135, 207, .15);
}
.t-form__submit { margin: .5rem 0 0; }
.t-form__submit button { width: 100%; border: 0; cursor: pointer; background-image: var(--t-brand); font-size: 1.05rem; padding-block: 1.1rem; box-shadow: 0 14px 30px rgba(24, 135, 207, .3); }
.t-form__legal { font-size: .82rem; color: var(--t-slate); margin: 1rem 0 0; text-align: center; }
.t-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.t-alert { border-radius: 14px; padding: 1rem 1.2rem; margin-bottom: 1.4rem; font-size: .97rem; }
.t-alert--ok { background: #E3F7EC; color: #11643A; }
.t-alert--err { background: #FDECEC; color: #A2282D; }

/* ---------------------------------------------------------------- pages simples / articles */
.t-prose { font-size: 1.08rem; }
.t-prose h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin-top: 2.5rem; }
.t-posts .t-card > * + * { margin-top: .6rem !important; }

/* ---------------------------------------------------------------- pied de page */
.t-footer { background: var(--t-navy); color: rgba(255, 255, 255, .66); padding-block: clamp(3.5rem, 7vw, 5.5rem) 2rem; font-size: .97rem; }
.t-footer__cols { gap: clamp(2rem, 5vw, 4rem); }
.t-footer h4 { color: #fff; font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; margin: .4rem 0 1.2rem; }
.t-footer__logo { margin: 0 0 1.4rem; }
.t-footer__logo img { width: 190px; height: auto; }
.t-footer__about { max-width: 360px; line-height: 1.7; }
.t-footer__links { list-style: none; padding: 0; margin: 0; }
.t-footer__links li { margin: 0 0 .7rem; }
.t-footer a:not(.wp-element-button) { color: rgba(255, 255, 255, .82); transition: color .2s; }
.t-footer a:not(.wp-element-button):hover { color: var(--t-sky); }
.t-footer__phone { font-size: 1.2rem; font-weight: 800; }
.t-footer__phone a { color: #fff !important; }
.t-footer .wp-block-buttons { margin-top: 1.2rem; }
.t-footer .t-btn-white .wp-block-button__link { padding: .75rem 1.3rem; font-size: .92rem; }
.t-footer__bottom { margin-top: clamp(2.5rem, 5vw, 4rem) !important; padding-top: 1.6rem; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .85rem; gap: .5rem 2rem; }
.t-footer__bottom p { margin: 0; }

/* ---------------------------------------------------------------- carrés flottants (motif du logo) */
.t-has-sq { position: relative; isolation: isolate; }
.t-has-sq > :not(.t-sqwrap) { position: relative; z-index: 1; }
.t-sqwrap { position: absolute !important; inset: 0; overflow: hidden; pointer-events: none; z-index: 0 !important; margin: 0 !important; max-width: none !important; }
.t-sq { position: absolute; bottom: -180px; border-radius: 6px; animation: t-float var(--d, 30s) linear infinite; animation-delay: var(--dl, 0s); will-change: transform; }
@keyframes t-float {
	from { transform: translate3d(0, 0, 0) rotate(var(--r0, 0deg)); }
	to { transform: translate3d(var(--dx, 0px), calc(-100vh - 600px), 0) rotate(var(--r1, 60deg)); }
}

/* ---------------------------------------------------------------- apparition au défilement */
.js .t-rv { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--t-ease), transform .9s var(--t-ease); transition-delay: var(--rv-delay, 0s); }
.js .t-rv.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.t-sq, .t-hero__img img { animation: none !important; }
	.js .t-rv { opacity: 1; transform: none; transition: none; }
	.t-card:hover, .t-price:hover, .wp-block-button__link:hover { transform: none; }
}

/* ---------------------------------------------------------------- mobile */
@media (max-width: 781px) {
	.t-hero { padding-top: 3rem; }
	.t-hero__cols .wp-block-column { flex-basis: 100% !important; }
	.t-split .wp-block-column { flex-basis: 100% !important; }
	.t-steps .wp-block-column { flex-basis: 100% !important; }
	.t-price.is-hot { margin-top: .5rem; }
}

