/*
Theme Name: The Puffins
Theme URI: https://thepuffins.org/
Author: The Puffins S.r.l. Impresa Sociale
Description: Tema a blocchi per il sito di The Puffins, impresa sociale di Varese. Bianco, nero e arancione; su mobile le schede scorrono in orizzontale. All'attivazione crea le pagine Home, Chi siamo, Cosa facciamo, Progetti, Rete e Contatti.
Version: 1.0.2
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: thepuffins
*/

/* ------------------------------------------------------------------
   Token
   ------------------------------------------------------------------ */
:root {
	--tp-ink: #161514;
	--tp-ink-2: #3A3836;
	--tp-muted: #55524E;
	--tp-muted-dark: #B9B5AF;
	--tp-paper: #FFFFFF;
	--tp-mist: #F5F3F0;
	--tp-stone: #E6E2DC;
	--tp-accent: var(--wp--preset--color--accent, #E8551E);
	--tp-line: rgba(22, 21, 20, 0.16);
	--tp-line-dark: rgba(255, 255, 255, 0.25);
	--tp-sec: clamp(72px, 10vw, 160px);
}

body { -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
:where(a):focus-visible, :where(button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--tp-accent); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* Le sezioni a tutta larghezza si toccano senza spazi */
.wp-site-blocks > * { margin-block-start: 0; }
.entry-content > .alignfull, .wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* ------------------------------------------------------------------
   Sezioni
   ------------------------------------------------------------------ */
.tp-sec { padding-block: var(--tp-sec); }
.tp-sec-top { padding-top: clamp(56px, 9vw, 150px); padding-bottom: clamp(40px, 5vw, 88px); }
.tp-sec-bottom { padding-bottom: var(--tp-sec); }
.tp-mist { background: var(--tp-mist); }
.tp-dark { background: var(--tp-ink); color: #FFFFFF; }
.tp-dark :where(h1, h2, h3, a) { color: #FFFFFF; }
.tp-orange { background: var(--tp-accent); color: var(--tp-ink); }
.tp-orange :where(h1, h2, h3) { color: var(--tp-ink); }

/* ------------------------------------------------------------------
   Tipografia
   ------------------------------------------------------------------ */
.is-style-tp-label, .tp-label {
	display: flex; align-items: center; gap: 12px;
	font-size: 12px !important; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; line-height: 1.4;
}
.is-style-tp-label::before, .tp-label::before {
	content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--tp-accent); flex-shrink: 0;
}
:where(h1, h2, h3, p) em { font-style: italic; color: var(--tp-accent); }
.tp-dark p em { color: var(--tp-accent); }
.tp-h1 { font-size: clamp(44px, 6.4vw, 104px) !important; font-weight: 300; line-height: 1; letter-spacing: -0.035em; max-width: 15ch; }
.tp-hero-title { font-size: clamp(40px, 4.4vw, 68px) !important; font-weight: 300; line-height: 1.04; letter-spacing: -0.035em; }
.tp-display { font-size: clamp(64px, 11vw, 176px) !important; font-weight: 300; line-height: 0.9; letter-spacing: -0.05em; }
.tp-h2 { font-size: clamp(34px, 3.8vw, 56px) !important; font-weight: 300; line-height: 1.05; letter-spacing: -0.03em; max-width: 20ch; }
.tp-cta-title { font-size: clamp(38px, 4.6vw, 68px) !important; font-weight: 300; line-height: 1.05; letter-spacing: -0.03em; max-width: 16ch; }
.tp-big { font-size: clamp(26px, 3vw, 44px) !important; font-weight: 300; line-height: 1.25; letter-spacing: -0.02em; }
.tp-big-accent { color: var(--tp-accent); }
.tp-lead { font-size: clamp(18px, 1.5vw, 22px) !important; line-height: 1.6; color: var(--tp-ink-2); max-width: 54ch; }
.tp-dark .tp-lead, .tp-dark .tp-body { color: var(--tp-muted-dark); }
.tp-body { color: var(--tp-muted); }
.tp-small { font-size: 14px !important; color: var(--tp-muted); }
.tp-num { font-size: 13px !important; font-weight: 600; letter-spacing: 0.1em; }
.tp-num::after { content: " —"; color: var(--tp-accent); }
.tp-meta { font-size: 12px !important; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }
.tp-meta span, .tp-meta .tp-place { color: var(--tp-muted); }
.tp-ptitle { font-size: 30px !important; font-weight: 400 !important; line-height: 1.1 !important; letter-spacing: -0.02em !important; }
.tp-card-title { font-size: 28px !important; font-weight: 400 !important; line-height: 1.15 !important; letter-spacing: -0.02em !important; }
.tp-bignum { font-size: 44px !important; font-weight: 300; line-height: 1; color: var(--tp-accent); }
.tp-step-n { font-size: 12px !important; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--tp-muted-dark); }

/* ------------------------------------------------------------------
   Strutture
   ------------------------------------------------------------------ */
.tp-stack > * { margin-block: 0 !important; }
.tp-stack { display: flex; flex-direction: column; gap: 28px; }
.tp-headrow { display: flex; flex-wrap: wrap; gap: 24px 32px; justify-content: space-between; align-items: flex-end; margin-bottom: clamp(40px, 5vw, 72px) !important; }
.tp-headrow > * { margin: 0 !important; }
.tp-headrow > .wp-block-group { display: flex; flex-direction: column; gap: 22px; }
.tp-headrow > .wp-block-group > * { margin: 0 !important; }
.tp-ctarow { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-end; justify-content: space-between; }
.tp-ctarow > * { margin: 0 !important; }
.tp-ctarow > .wp-block-group { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.tp-ctarow > .wp-block-group > * { margin: 0 !important; }
.tp-rule { border-top: 1px solid var(--tp-line); padding-top: 28px; }
.tp-dark .tp-rule { border-top-color: var(--tp-line-dark); }

/* Colonne 1 : 3 (etichetta a sinistra, testo a destra) */
.wp-block-columns.tp-split { gap: 32px 48px; }
@media (min-width: 782px) {
	.wp-block-columns.tp-split > .wp-block-column:first-child { flex: 1 1 0 !important; }
	.wp-block-columns.tp-split > .wp-block-column:last-child { flex: 3 1 0 !important; }
}
.tp-split > .wp-block-column > * + * { margin-block-start: 32px; }

/* Hero */
.wp-block-columns.tp-hero { gap: clamp(40px, 6vw, 112px); align-items: center !important; }
.tp-hero .wp-block-column > * + * { margin-block-start: 30px; }
.tp-hero .tp-logo img { width: 100%; max-width: 620px; height: auto; }
.tp-keys { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 24px; border-top: 1px solid var(--tp-line); padding-top: 26px; margin-top: clamp(48px, 6vw, 96px) !important; }
.tp-keys > * { margin: 0 !important; font-size: 15px; letter-spacing: 0.03em; }
.tp-keys strong { color: var(--tp-accent); font-size: 13px; font-weight: 600; margin-right: 10px; }
@media (max-width: 781px) { .tp-keys { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.tp-where { font-size: clamp(30px, 3.6vw, 52px) !important; font-weight: 300; letter-spacing: -0.03em; line-height: 1.2; border-top: 1px solid var(--tp-line); padding-top: 40px; margin-top: 56px !important; }
.tp-partners { font-size: 18px !important; color: var(--tp-ink-2); line-height: 2; }

/* ------------------------------------------------------------------
   Schede: griglia su desktop, scorrimento orizzontale su mobile
   ------------------------------------------------------------------ */
.wp-block-columns.tp-rail { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; align-items: start !important; }
.wp-block-columns.tp-rail.tp-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wp-block-columns.tp-rail.tp-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wp-block-columns.tp-rail.tp-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px; }
.wp-block-columns.tp-rail.tp-tight { row-gap: 0; column-gap: 56px; }
.wp-block-columns.tp-rail.tp-loose { row-gap: 72px; }
.wp-block-columns.tp-rail > .wp-block-column { margin: 0 !important; min-width: 0; }
.tp-rail > .wp-block-column > * { margin-block: 0; }
.tp-rail > .wp-block-column > * + * { margin-block-start: 16px; }
.tp-rail > .wp-block-column[hidden] { display: none !important; }

@media (min-width: 782px) and (max-width: 1080px) {
	.wp-block-columns.tp-rail, .wp-block-columns.tp-rail.tp-cols-4, .wp-block-columns.tp-rail.tp-cols-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.wp-block-columns.tp-rail {
		display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory;
		gap: 16px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch;
		margin-inline: calc(var(--wp--style--root--padding-right, 16px) * -1) !important;
		padding-inline: var(--wp--style--root--padding-right, 16px) !important;
		scroll-padding-inline: var(--wp--style--root--padding-right, 16px);
	}
	.wp-block-columns.tp-rail::-webkit-scrollbar { display: none; }
	:root .wp-block-columns.tp-rail > .wp-block-column { flex: 0 0 84% !important; scroll-snap-align: start; }
	:root .wp-block-columns.tp-rail.tp-narrow > .wp-block-column { flex-basis: 72% !important; }
}
.tp-rail-ui { display: none; }
@media (max-width: 781px) {
	.tp-rail-ui { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; }
}
.tp-dots { display: flex; gap: 6px; align-items: center; }
.tp-dots i { width: 6px; height: 6px; border-radius: 999px; background: var(--tp-line); transition: width .25s, background-color .25s; }
.tp-dots i.on { width: 22px; background: var(--tp-ink); }
.tp-dark .tp-dots i { background: var(--tp-line-dark); }
.tp-dark .tp-dots i.on { background: var(--tp-accent); }
.tp-arrows { display: flex; gap: 8px; }
.tp-arrows button { width: 44px; height: 44px; border: 1px solid currentColor; background: transparent; color: inherit; font-size: 18px; cursor: pointer; }

/* Filtri progetti (creati dallo script) */
.tp-filters { display: flex; flex-wrap: wrap; gap: 4px 28px; border-bottom: 1px solid var(--tp-line); margin-bottom: 48px; }
.tp-filters button { font-family: inherit; font-size: 15px; min-height: 52px; padding: 0; background: transparent; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; color: var(--tp-ink); cursor: pointer; }
.tp-filters button[aria-pressed="true"] { font-weight: 600; border-bottom-color: var(--tp-accent); }
.tp-filters button span { color: var(--tp-muted); font-weight: 400; }
@media (max-width: 781px) {
	.tp-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.tp-filters button { white-space: nowrap; }
}

/* Schede */
.tp-svc { border-top: 1px solid var(--tp-line); padding-top: 28px; padding-bottom: 40px; }
.tp-svc-ink { border-top: 1px solid var(--tp-ink); padding-top: 28px; }
.tp-step::before { content: ""; display: block; height: 12px; margin-bottom: 18px; background: radial-gradient(circle at 6px 6px, var(--tp-accent) 6px, transparent 6.5px) no-repeat, linear-gradient(var(--tp-line-dark), var(--tp-line-dark)) 24px 50% / calc(100% - 24px) 1px no-repeat; }

/* Immagini e segnaposto */
.tp-ph { margin: 0; }
.tp-ph img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: var(--tp-stone); transition: opacity .35s; }
.tp-ph.tp-portrait img { aspect-ratio: 4 / 5; }
.tp-ph.tp-wide img { aspect-ratio: 21 / 9; }
a:hover .tp-ph img, .tp-ph a:hover img { opacity: .85; }

/* Rete */
.wp-block-columns.tp-group { border-top: 1px solid var(--tp-ink); padding-block: 44px 56px; gap: 24px 48px; margin: 0 !important; }
@media (min-width: 782px) {
	.wp-block-columns.tp-group > .wp-block-column:first-child { flex: 1 1 0 !important; }
	.wp-block-columns.tp-group > .wp-block-column:last-child { flex: 2.2 1 0 !important; }
}
.tp-group .tp-gn { font-size: 22px !important; font-weight: 300; color: var(--tp-accent); margin: 0 0 10px; }
.tp-entries { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); column-gap: 40px; }
.tp-entries > * { margin: 0 !important; }
.tp-entry { border-top: 1px solid var(--tp-line); padding-block: 20px; font-size: 15px !important; color: var(--tp-muted); }
.tp-entry strong { display: block; font-size: 20px; font-weight: 500; color: var(--tp-ink); margin-bottom: 4px; }

/* Beneficiari */
.tp-list { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); column-gap: 48px; }
.tp-list > * { margin: 0 !important; border-top: 1px solid var(--tp-line); padding-block: 18px; font-size: 20px !important; font-weight: 300; }

/* Dati */
.wp-block-columns.tp-facts { border-block: 1px solid var(--tp-ink); margin-top: 56px !important; gap: 0; }
.tp-facts > .wp-block-column { padding: 26px 20px 26px 0; }
.tp-facts > .wp-block-column > * { margin: 0 !important; }
.tp-facts .tp-fact-k { font-size: 12px !important; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--tp-muted); }
.tp-facts .tp-fact-v { font-size: 24px !important; font-weight: 300; margin-top: 6px !important; }
@media (max-width: 781px) {
	.wp-block-columns.tp-facts { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Riquadro scuro "rete di professionisti" */
.tp-netcard { background: var(--tp-ink); color: #FFFFFF; padding: 32px; aspect-ratio: 4 / 5; display: flex; flex-direction: column; justify-content: flex-end; gap: 12px; position: relative; }
.tp-netcard::before { content: ""; position: absolute; top: 32px; left: 32px; width: 40px; height: 1px; background: var(--tp-accent); }
.tp-netcard > * { margin: 0 !important; }
.tp-netcard h3 { color: #FFFFFF; font-weight: 300; font-size: 28px; line-height: 1.15; }
.tp-netcard p { color: var(--tp-muted-dark); font-size: 16px; }

/* Riquadro contatti */
.tp-aside { background: var(--tp-mist); padding: clamp(24px, 3vw, 40px); }
.tp-aside > * { margin-block: 0 0 24px !important; }
.wp-block-columns.tp-contact { gap: 56px; align-items: flex-start !important; }
@media (min-width: 782px) {
	.wp-block-columns.tp-contact > .wp-block-column:first-child { flex: 1.6 1 0 !important; }
	.wp-block-columns.tp-contact > .wp-block-column:last-child { flex: 1 1 0 !important; }
}

/* ------------------------------------------------------------------
   Pulsanti
   ------------------------------------------------------------------ */
.wp-block-button .wp-block-button__link { transition: background-color .25s, color .25s, border-color .25s; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--tp-ink); border: 1px solid var(--tp-ink); padding: 18px 28px; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--tp-ink); color: #FFFFFF; }
.wp-block-button.is-style-tp-light > .wp-block-button__link { background: #FFFFFF; color: var(--tp-ink); border-color: #FFFFFF; }
.wp-block-button.is-style-tp-light > .wp-block-button__link:hover { background: var(--tp-accent); border-color: var(--tp-accent); }
.tp-textlink a, a.tp-textlink { text-decoration: none; font-weight: 500; font-size: 15px; border-bottom: 1px solid var(--tp-accent); padding-bottom: 4px; }
.tp-textlink a:hover { border-bottom-width: 2px; }

/* ------------------------------------------------------------------
   Intestazione
   ------------------------------------------------------------------ */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.tp-header { background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(22, 21, 20, 0.12); padding-block: 12px; }
.tp-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.tp-header-inner > * { margin: 0 !important; }
.tp-header .wp-block-site-logo img { height: 46px; width: auto; }
.tp-header-nav { display: flex; align-items: center; gap: 16px; }
.tp-header-nav > * { margin: 0 !important; }
.tp-header .wp-block-navigation { font-size: 15px; gap: 8px 20px; }
.tp-header .wp-block-navigation-item__content { padding: 10px 2px; text-decoration: none; }
.tp-header .wp-block-navigation-item__content:hover,
.tp-header .current-menu-item > .wp-block-navigation-item__content { text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 1px; text-decoration-color: var(--tp-accent); }
.tp-header .tp-nav-contatti { display: none; }
.tp-header .wp-block-navigation__responsive-container.is-menu-open .tp-nav-contatti { display: flex; }
.tp-header .wp-block-button__link { padding: 13px 20px; }
.tp-header .wp-block-navigation__responsive-container.is-menu-open { padding: 24px clamp(16px, 4vw, 32px); }
.tp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; gap: 0; padding-top: 48px; }
.tp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; align-items: stretch; width: 100%; }
.tp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { border-bottom: 1px solid var(--tp-line); width: 100%; }
.tp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 34px; font-weight: 300; letter-spacing: -0.02em; padding: 14px 0; }
.tp-header .wp-block-navigation__responsive-container-open, .tp-header .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; align-items: center; justify-content: center; }
.tp-header .wp-block-navigation__responsive-container-open { border: 1px solid var(--tp-ink); }
@media (max-width: 599px) {
	.tp-header .wp-block-site-logo img { height: 40px; }
	.tp-header .tp-header-cta { display: none; }
}

/* ------------------------------------------------------------------
   Piè di pagina
   ------------------------------------------------------------------ */
.tp-footer { background: var(--tp-mist); border-top: 1px solid rgba(22, 21, 20, 0.12); padding-block: 80px 32px; font-size: 15px; }
.tp-footer .wp-block-columns { gap: 40px 64px; }
.tp-footer .wp-block-site-logo img { width: 220px; height: auto; }
.tp-footer p { margin: 0 0 10px; }
.tp-footer .tp-fhead { font-size: 12px !important; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 14px; }
.tp-footer a { text-decoration: none; }
.tp-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.tp-footer .tp-legal { border-top: 1px solid var(--tp-line); margin-top: 56px !important; padding-top: 22px; font-size: 13px !important; color: var(--tp-muted); }

/* ------------------------------------------------------------------
   Modulo contatti
   ------------------------------------------------------------------ */
.tp-form { display: flex; flex-direction: column; gap: 34px; border-top: 1px solid var(--tp-line); padding-top: 40px; }
.tp-form p { margin: 0; }
.tp-fgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 34px 40px; }
.tp-field { display: flex; flex-direction: column; gap: 6px; }
.tp-field label, .tp-fieldset legend { font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--tp-muted); }
.tp-fi { font-family: inherit; font-size: 18px; min-height: 52px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--tp-ink); background: transparent; color: var(--tp-ink); width: 100%; border-radius: 0; }
.tp-fi:focus { outline: none; border-bottom: 2px solid var(--tp-accent); }
textarea.tp-fi { resize: vertical; }
.tp-fieldset { border: 0; padding: 0; margin: 0; }
.tp-checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 2px 32px; margin-top: 16px; }
.tp-checks label { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; }
.tp-form input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--tp-ink); flex-shrink: 0; }
.tp-privacy { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: var(--tp-muted); }
.tp-notice { border-left: 3px solid var(--tp-accent); background: var(--tp-mist); padding: 16px 20px !important; font-size: 15px; }
.tp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ------------------------------------------------------------------
   Articoli (se in futuro aggiungete news)
   ------------------------------------------------------------------ */
.tp-postlist .wp-block-post { border-top: 1px solid var(--tp-line); padding-block: 32px; }
.tp-postlist .wp-block-post-title a { text-decoration: none; }

/* ------------------------------------------------------------------
   Aggiunte: hero, righe servizi, contatti, pagine semplici
   ------------------------------------------------------------------ */
.tp-hero-sec { padding-top: clamp(40px, 7vw, 112px); padding-bottom: clamp(48px, 5vw, 80px); }
.tp-acc { color: var(--tp-accent); }
.tp-sec-top > .tp-stack + * , .tp-sec-top > * + .tp-ph { margin-top: 36px !important; }
.wp-block-columns.tp-srow { border-top: 1px solid rgba(22, 21, 20, 0.2); padding-block: 40px; gap: 20px 48px; margin: 0 !important; }
.wp-block-columns.tp-srow > .wp-block-column > * { margin-block: 0 0 14px; }
@media (min-width: 782px) {
	.wp-block-columns.tp-srow > .wp-block-column:nth-child(1) { flex: 0 0 56px !important; }
	.wp-block-columns.tp-srow > .wp-block-column:nth-child(2) { flex: 1 1 0 !important; }
	.wp-block-columns.tp-srow > .wp-block-column:nth-child(3) { flex: 1.5 1 0 !important; }
}
.tp-srow-n { font-size: 22px !important; font-weight: 300; color: var(--tp-accent); }
.tp-srow-d { font-size: 18px !important; color: var(--tp-ink-2); }
.tp-srow-ex { font-size: 15px !important; color: var(--tp-ink-2); }
.tp-srow-ex strong { font-weight: 600; }
.tp-k { font-size: 12px !important; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--tp-muted); margin-bottom: 4px !important; }
.tp-v { font-size: 20px !important; font-weight: 300; line-height: 1.35; }
.tp-page { padding-block: clamp(56px, 8vw, 120px); }
.tp-page > .wp-block-post-title { margin-bottom: 40px; }
