/* TecnoDry brand page (Rev11, refined in Rev12: official logo, owner photographs, Made in Italy, product families, airflow scene).
   Voice: Italian engineering, precise and calm. Deep graphite and soft black, metallic silver lines, warm ivory
   paper sections, one controlled champagne accent. No gold fills, no glow effects, no blur. */
.td-page{ --td-ink: #121417; --td-ink-2: #191c20; --td-line: rgb(201 206 212 / .16); --td-line-2: rgb(201 206 212 / .3);
  --td-text: #e9ebee; --td-text-2: #a9b0b8; --td-acc: #c8ae86; --td-acc-paper: #7d6440; background: var(--td-ink); }
.td-page .paper.td-paper{ background: var(--td-ivory); }
.td-page .paper .eyebrow{ color: var(--td-acc-paper); }
.td-page .eyebrow{ color: var(--td-acc); letter-spacing: .04em; }

/* ---------- hero ---------- */
.tdh{ position: relative; padding-block: clamp(112px, 9vw + 60px, 168px) 0; background: radial-gradient(90% 70% at 72% 30%, #1d2024 0%, var(--td-ink) 60%); overflow: hidden; }
.tdh-grid{ display: grid; grid-template-columns: 5fr 6fr; gap: clamp(32px, 5vw, 88px); align-items: center; }
.tdh-kicker{ margin-block-start: var(--s6); font: 600 .78rem/1 "Inter", var(--font); letter-spacing: .02em; color: var(--td-text-2); display: flex; align-items: center; gap: 12px; }
.tdh-kicker::before{ content: ""; inline-size: 34px; block-size: 1px; background: linear-gradient(90deg, var(--td-silver), transparent); }
[dir="rtl"] .tdh-kicker::before{ background: linear-gradient(-90deg, var(--td-silver), transparent); }
.tdh-brand{ display: flex; align-items: center; flex-wrap: wrap; gap: 14px 18px; margin-block: var(--s5) var(--s6); }
.tdh-h{ color: var(--td-text); letter-spacing: -.01em; }
.tdh-h .mask-line:last-child > span{ color: var(--td-silver); }
.tdh .lead{ margin-block: var(--s6) var(--s7); max-inline-size: 46ch; color: var(--td-text-2); }
.tdh .btn.tdh-go{ --bg: var(--td-silver); --fg: #121417; }
.tdh-media{ margin: 0; position: relative; aspect-ratio: 3 / 2; border-radius: 22px; overflow: hidden; background: #0d0e10; box-shadow: 0 0 0 1px var(--td-line), 0 60px 120px -60px rgb(0 0 0 / .8); }
.tdh-media img{ display: block; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 55% 50%; transform: scale(1.04); transition: transform 2400ms var(--ease); }
.js .tdh-grid.ready .tdh-media img{ transform: none; }
.tdh-media figcaption{ position: absolute; inset-block-end: 16px; inset-inline-start: 18px; font: 600 .72rem/1 "Inter", sans-serif; letter-spacing: .16em; color: rgb(233 235 238 / .75); direction: ltr; }
.tdh-mark{ --h: clamp(24px, 1.2vw + 14px, 34px); }
.tdh-strip{ display: grid; grid-template-columns: repeat(3, 1fr); margin-block-start: clamp(56px, 6vw, 96px); padding: 0; list-style: none; border-block-start: 1px solid var(--td-line); }
.tdh-strip li{ display: grid; gap: 6px; padding: 26px 0 30px; padding-inline-end: 24px; }
.tdh-strip li + li{ padding-inline-start: 28px; border-inline-start: 1px solid var(--td-line); }
.tdh-strip b{ font: 700 1.35rem/1.2 "Inter", var(--font); color: var(--td-text); }
.tdh-strip span{ font-size: .82rem; color: var(--td-text-2); }

/* ---------- intro ---------- */
.td-intro{ display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 110px); align-items: end; }
.td-intro .statement .q{ color: var(--on-paper-3); }
.td-intro-body p + p{ margin-block-start: var(--s4); }
.td-intro-body p{ color: var(--on-paper-2); }

/* ---------- Made in Italy (Rev12): the page's heritage moment ---------- */
.td-italy{ position: relative; background: radial-gradient(70% 90% at 15% 30%, #1b1e22 0%, #0e1012 70%); color: var(--td-text); overflow: hidden; }
.td-italy-grid{ display: grid; grid-template-columns: 7fr 5fr; gap: clamp(32px, 6vw, 100px); align-items: center; }
.td-italy-k{ display: flex; align-items: center; gap: 14px; font: 600 .76rem/1 "Inter", sans-serif; letter-spacing: .28em; color: var(--td-text-2); }
.td-italy-big{ margin-block: var(--s5) var(--s3); font: 800 clamp(2.9rem, 1.2rem + 6.4vw, 7.4rem)/.92 "Inter", sans-serif; letter-spacing: -.035em; text-align: start; background: linear-gradient(180deg, #f6f7f8 10%, #aeb5bd 92%); -webkit-background-clip: text; background-clip: text; color: transparent; }
[dir="rtl"] .td-italy-big{ text-align: right; }
.td-italy-since{ display: flex; gap: 16px; align-items: baseline; font-size: .9rem; color: var(--td-acc); }
.td-italy-since span + span{ font: 600 .76rem/1 "Inter", sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--td-text-2); }
.td-italy .h2{ margin-block: var(--s7) var(--s4); font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); color: var(--td-text); }
.td-italy .lead{ color: var(--td-text-2); max-inline-size: 52ch; }
.td-pillars{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 28px; margin-block-start: var(--s7); padding: 0; list-style: none; }
.td-pillars li{ display: grid; align-content: start; gap: 6px; padding-block: 20px 4px; border-block-start: 1px solid var(--td-line-2); }
.td-pillars .n{ font: 600 .74rem/1.9 "Inter", sans-serif; color: var(--td-acc); }
.td-pillars b{ color: var(--td-text); font-weight: 700; }
.td-pillars li > span:last-child{ font-size: .9rem; color: var(--td-text-2); }
.td-italy-fig{ margin: 0; display: grid; gap: 14px; }
.td-italy-fig img{ display: block; inline-size: 100%; block-size: auto; aspect-ratio: 820 / 740; object-fit: cover; border-radius: 20px; box-shadow: 0 0 0 1px var(--td-line), 0 50px 100px -50px rgb(0 0 0 / .9); }
.td-italy-fig figcaption{ font-size: .8rem; color: var(--td-text-2); }

/* ---------- signature scene: TECNODRY — AIRFLOW IN MOTION (driven by tecnodry.js through --p) ----------
   The real dryer photo and the lines share one SVG, so the lines always leave from the nozzle. Not mirrored in RTL. */
.tdx{ --p: 0; position: relative; block-size: 300vh; background: radial-gradient(80% 70% at 66% 55%, #1c1f23 0%, #0d0f11 72%); color: var(--td-text); }
.tdx-stage{ position: sticky; inset-block-start: 0; block-size: 100vh; block-size: 100svh; display: grid; grid-template-rows: auto 1fr auto auto; overflow: hidden; padding-block: 100px 22px; }
.tdx-k{ font: 600 .78rem/1 "Inter", sans-serif; letter-spacing: .22em; color: var(--td-text-2); direction: ltr; text-align: start; }
[dir="rtl"] .tdx-k{ text-align: right; }
.tdx-k b{ color: var(--td-text); font-weight: 750; }
.tdx-head .h2{ margin-block-start: var(--s3); color: var(--td-text); }
.tdx-fig{ position: relative; min-block-size: 0; overflow: hidden; }
.tdx-svg{ position: absolute; inset: 0; inline-size: 100%; block-size: 100%; }
.tdx-m{ display: none; }
.tdx-svg g *{ vector-effect: non-scaling-stroke; fill: none; }
.tdx-grid line{ stroke: rgb(201 206 212 / .045); stroke-width: 1; }
.tdx-halo{ opacity: calc(.35 + clamp(0, (var(--p) - .1) * 1.2, .65)); }
.tdx-dryer{ filter: drop-shadow(0 30px 40px rgb(0 0 0 / .55)); }
/* 1. AIR: lines leave the nozzle and open into a loose fan */
.tdx-fan path{ stroke-width: 1.4; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: calc(1 - clamp(0, (var(--p) - .02) * 3.4 - var(--i) * .02, 1)); opacity: calc(.9 - clamp(0, (var(--p) - .36) * 3.2, .9)); }
/* 2. DIRECTION: the ordered stream draws in while the fan fades */
.tdx-stream path{ stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: calc(1 - clamp(0, (var(--p) - .3) * 3 - var(--i) * .015, 1)); }
/* 3. CONTROL: guide marks, and a few light pulses that run three times and stop */
.tdx-guide *{ stroke: rgb(231 214 186 / .55); stroke-width: 1; }
.tdx-guide .g1, .tdx-guide .g2{ stroke-dasharray: 1; stroke-dashoffset: calc(1 - clamp(0, (var(--p) - .64) * 3.4, 1)); }
.tdx-guide .tk line{ opacity: clamp(0, calc((var(--p) - .7) * 4), 1); }
.tdx-pulse path{ stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: .05 .95; stroke-dashoffset: 0; opacity: 0; }
.tdx[data-phase="3"] .tdx-pulse path{ animation: tdx-run 2600ms cubic-bezier(.45, 0, .2, 1) calc(var(--k) * 380ms) 3 both; }
@keyframes tdx-run{ 0%{ stroke-dashoffset: 0; opacity: 0; } 10%, 80%{ opacity: .9; } 100%{ stroke-dashoffset: -.95; opacity: 0; } }
.tdx-steps{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 32px; padding: 0; list-style: none; }
.tdx-step{ display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 6px 14px; padding-block-start: 18px; border-block-start: 2px solid rgb(201 206 212 / .18); color: #9aa2ab; transition: color 500ms var(--ease), border-color 500ms var(--ease); }
.tdx-step .n{ font: 600 .82rem/1 "Inter", var(--font); color: #9aa2ab; }
.tdx-step b{ font-size: clamp(1.3rem, 1rem + .8vw, 1.75rem); font-weight: 750; color: #b8bfc6; transition: color 500ms var(--ease); }
.tdx-step .d{ grid-column: 1 / -1; font-size: 1rem; line-height: 1.7; color: #9aa2ab; transition: color 500ms var(--ease); }
.tdx-step.is-on{ border-color: var(--td-acc); }
.tdx-step.is-on b{ color: #fff; } .tdx-step.is-on .d{ color: #dfe3e7; } .tdx-step.is-on .n{ color: var(--td-acc); }
.tdx-step.is-past{ border-color: rgb(200 174 134 / .45); } .tdx-step.is-past b{ color: #e3e6ea; }
.tdx-note{ margin-block-start: 14px; font-size: .74rem; color: #8b939c; }
/* reduced motion or no script: the finished drawing, no sticky stage */
.tdx.is-static, html:not(.js) .tdx{ --p: 1; block-size: auto; }
.tdx.is-static .tdx-stage, html:not(.js) .tdx-stage{ position: relative; block-size: auto; min-block-size: 0; }
.tdx.is-static .tdx-fig, html:not(.js) .tdx-fig{ aspect-ratio: 16 / 9; }
.tdx.is-static .tdx-fan, html:not(.js) .tdx-fan{ display: none; }
.tdx.is-static .tdx-step b, .tdx.is-static .tdx-step .d, html:not(.js) .tdx-step b{ color: var(--td-text); }

/* ---------- technology ---------- */
.td-tech{ display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-block-start: var(--s8); }
.tdt{ grid-column: span 2; display: grid; align-content: start; gap: 10px; padding: 28px; border-radius: 18px; background: #fbfaf7; box-shadow: 0 0 0 1px rgb(20 23 29 / .06); transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease); }
.tdt:nth-child(4), .tdt:nth-child(5){ grid-column: span 3; }
@media (hover: hover) { .tdt:hover{ transform: translateY(-3px); box-shadow: 0 0 0 1px rgb(20 23 29 / .08), 0 28px 50px -30px rgb(20 23 29 / .35); } }
.tdt-ic{ inline-size: 44px; block-size: 44px; color: #2a2e34; margin-block-end: 6px; }
.tdt h3{ font-size: 1.12rem; font-weight: 750; color: var(--on-paper); }
.tdt p{ font-size: .92rem; color: var(--on-paper-2); }
.tdt .tdt-m{ margin-block-start: 6px; font: 600 .78rem/1.4 "Inter", sans-serif; color: var(--td-acc-paper); }
.td-spec{ display: grid; grid-template-columns: auto 1fr; gap: 24px 48px; align-items: center; margin-block-start: 14px; padding: 28px 32px; border-radius: 18px; background: var(--td-ink); color: var(--td-text); }
.td-spec-k{ display: grid; gap: 4px; }
.td-spec-k b{ font: 700 1.3rem/1.2 "Inter", sans-serif; }
.td-spec-k span{ font-size: .8rem; color: var(--td-text-2); }
.td-spec ul{ display: grid; grid-template-columns: repeat(4, 1fr); padding: 0; margin: 0; list-style: none; }
.td-spec li{ display: grid; gap: 4px; padding-inline: 20px; border-inline-start: 1px solid var(--td-line); }
.td-spec li b{ font-weight: 700; font-size: 1.02rem; }
.td-spec li span{ font-size: .8rem; color: var(--td-text-2); }

/* ---------- product families (Rev12): editorial line headers + studio product tiles ---------- */
.td-range{ background: var(--td-ink); }
.td-range .sec-head .h2{ color: var(--td-text); }
.td-range .lead{ color: var(--td-text-2); }
.tdf{ margin-block-start: clamp(64px, 7vw, 112px); }
.tdf-h{ display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px clamp(24px, 4vw, 56px); align-items: end; padding-block-end: 28px; border-block-end: 1px solid var(--td-line-2); }
.tdf-no{ font: 800 clamp(3.6rem, 2rem + 6vw, 8.5rem)/.8 "Inter", sans-serif; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1px rgb(201 206 212 / .55); direction: ltr; }
.tdf-k{ font: 600 .74rem/1 "Inter", sans-serif; letter-spacing: .24em; color: var(--td-acc); direction: ltr; text-align: start; }
[dir="rtl"] .tdf-k{ text-align: right; }
.tdf-t{ margin-block: 10px 10px; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem); font-weight: 750; color: var(--td-text); }
.tdf-p{ max-inline-size: 60ch; font-size: .95rem; color: var(--td-text-2); }
.tdp-list{ display: grid; gap: 18px; margin: 28px 0 0; padding: 0; list-style: none; }
.tdp-list.n3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tdp-list.n5{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
/* CR01: minmax(0, 1fr) and min-inline-size: 0 stop a card from growing past its column (WebKit gave the Boss 6000 card
   at 320 px a 322 px wide content box: the square figure's automatic minimum size). Same layout everywhere else. */
.tdp{ display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 14px; }
.tdp-fig{ position: relative; margin: 0; min-inline-size: 0; aspect-ratio: 1; border-radius: 18px; overflow: hidden; background: radial-gradient(85% 80% at 50% 38%, #fbfaf8 0%, #ebe8e2 72%, #dfdbd3 100%); isolation: isolate; }
.tdp-fig img{ position: absolute; inset: 7%; inline-size: 86%; block-size: 86%; object-fit: contain; mix-blend-mode: multiply; transition: transform 900ms var(--ease); }
@media (hover: hover) { .tdp:hover .tdp-fig img{ transform: scale(1.04); } }
.tdp-ph{ position: absolute; inset: 0; display: grid; place-items: center; padding: 12%; background: linear-gradient(135deg, rgb(255 255 255 / .5), transparent 60%); }
.tdp-ph b{ font: 750 clamp(1.1rem, .7rem + 1.2vw, 1.7rem)/1.05 "Inter", sans-serif; letter-spacing: -.02em; text-align: center; color: transparent; -webkit-text-stroke: 1px rgb(60 64 70 / .45); direction: ltr; }
.tdp-tx{ display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; align-items: baseline; }
.tdp-i{ font: 600 .74rem/1 "Inter", sans-serif; color: var(--td-acc); }
.tdp-n{ font: 650 clamp(1.05rem, .9rem + .5vw, 1.35rem)/1.2 "Inter", sans-serif; letter-spacing: -.01em; color: var(--td-text); direction: ltr; text-align: start; }
[dir="rtl"] .tdp-n{ text-align: right; }
.tdp-d, .tdp-np, .tdp-note{ grid-column: 1 / -1; font-size: .86rem; color: var(--td-text-2); }
.tdp-np{ font-size: .76rem; color: #8b939c; }
.tdp-note{ margin-block-start: 6px; padding-block-start: 10px; border-block-start: 1px solid var(--td-line); font-size: .78rem; color: #b6a68c; }
.tdf-rel{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 18px; align-items: center; margin-block-start: 26px; padding-block-start: 26px; border-block-start: 1px dashed var(--td-line-2); }
.tdf-rel-k{ font-size: .9rem; color: var(--td-text-2); }
.tdf-rel .tdp-list{ margin: 0; }
.tdf-rel .tdp{ grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: center; gap: 24px; }
.tdm-groups{ display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 28px; margin-block-start: 8px; }
.tdg{ padding-block: 22px; border-block-end: 1px solid var(--td-line); }
.tdg-h{ display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-block-end: 12px; }
.tdg-h b{ font: 700 .9rem/1.2 "Inter", sans-serif; letter-spacing: .06em; color: var(--td-acc); direction: ltr; }
.tdg-h span{ font-size: .78rem; color: var(--td-text-2); }
.tdg ul{ display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.tdg li{ display: grid; gap: 2px; }
.tdg li b{ font: 650 1.08rem/1.3 "Inter", sans-serif; color: var(--td-text); direction: ltr; text-align: start; }
[dir="rtl"] .tdg li b{ text-align: right; }
.tdg li span{ font-size: .85rem; color: var(--td-text-2); }

/* ---------- timeline ---------- */
.tl.tl-td{ --tl-ac: #5b5144; --tl-glow: rgb(91 81 68 / .14); --tl-line: rgb(20 23 29 / .2); --tl-sep: rgb(20 23 29 / .1); --tl-dot: var(--td-ivory); --tl-year: #65686e; --tl-text: var(--on-paper-2); }
.tl-td .tl-fill{ box-shadow: none; background: linear-gradient(180deg, #8e98a3, #5b5144); }
.tl-td .tl-item h3{ color: var(--on-paper); }
.tl-td .tl-year.tl-word{ font-size: clamp(1.05rem, .8rem + .8vw, 1.5rem); line-height: 1.3; }
.td-te{ margin: var(--s7) 0 0; display: grid; gap: 10px; max-inline-size: 420px; }
.td-te img{ display: block; inline-size: 100%; block-size: auto; mix-blend-mode: multiply; }
.td-te figcaption{ font-size: .8rem; color: var(--on-paper-2); }

/* ---------- professional use ---------- */
.td-pro{ background: var(--td-ink-2); }
.td-pro-grid{ display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 5vw, 80px); align-items: center; }
.td-pro-fig{ margin: 0 auto; inline-size: min(100%, 460px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 1px var(--td-line-2), 0 0 0 14px rgb(201 206 212 / .04), 0 60px 90px -50px rgb(0 0 0 / .9); }
.td-pro-fig img{ display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.td-pro-list{ margin-block-start: var(--s7) !important; }
.td-pro .h2{ margin-block-start: var(--s4); color: var(--td-text); }
.td-pro-list{ display: grid; grid-template-columns: 1fr; gap: 0 28px; padding: 0; margin: 0; list-style: none; }
.td-pro-list li{ display: grid; gap: 6px; padding-block: 18px; border-block-start: 1px solid var(--td-line-2); }
.td-pro-list b{ color: var(--td-text); font-size: 1.05rem; }
.td-pro-list span{ color: var(--td-text-2); font-size: .92rem; }

/* ---------- relationship + Iran website CTA ---------- */
.td-cta{ background: var(--td-ink); color: var(--td-text); grid-template-columns: 1fr 1fr; padding: 0; overflow: hidden; border-radius: 22px; }
.td-cta .in{ padding: clamp(32px, 5vw, 64px); }
.td-cta .eyebrow{ color: var(--td-acc); }
.td-page .td-cta .btn.ext.btn{ --bg: var(--td-silver); --fg: #121417; }
.td-cta p{ color: var(--td-text-2); opacity: 1; }
.td-cta .td-mfr{ margin-block-start: var(--s5); font-size: .82rem; }
.td-cta .td-mfr a{ color: var(--td-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--td-line-2); }
.td-cta figure{ margin: 0; position: relative; min-block-size: 360px; }
.td-cta-art{ position: absolute; inset: 0; }
.td-cta-logo{ position: absolute; inset-block-end: 12%; inset-inline-start: 50%; translate: -50% 0; inline-size: min(62%, 300px); block-size: auto; opacity: .95; }
[dir="rtl"] .td-cta-logo{ translate: 50% 0; }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .tdh-grid, .td-italy-grid, .td-pro-grid{ grid-template-columns: 1fr; }
  .td-italy-fig{ max-inline-size: 560px; }
  .td-pro-fig{ inline-size: min(78vw, 360px); }
  .td-tech{ grid-template-columns: 1fr 1fr; }
  .tdt, .tdt:nth-child(4), .tdt:nth-child(5){ grid-column: span 1; }
  .tdt:nth-child(5){ grid-column: span 2; }
  .td-spec{ grid-template-columns: 1fr; }
  .td-spec ul{ grid-template-columns: 1fr 1fr; gap: 16px 0; }
  .td-spec li:nth-child(odd){ padding-inline-start: 0; border-inline-start: 0; }
  .tdp-list.n5{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tdf-rel{ grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .tdh{ padding-block-start: 96px; }
  .tdh-media{ border-radius: 16px; }
  .tdh-strip{ grid-template-columns: 1fr; margin-block-start: 40px; }
  .tdh-strip li, .tdh-strip li + li{ padding: 16px 0; border-inline-start: 0; border-block-start: 1px solid var(--td-line); grid-template-columns: 1fr auto; align-items: baseline; }
  .tdh-strip li:first-child{ border-block-start: 0; }
  .tdh-strip b{ font-size: 1.1rem; }
  .td-intro{ grid-template-columns: 1fr; }
  .td-pillars{ grid-template-columns: 1fr; }
  .tdx{ block-size: 250vh; }
  .tdx-stage{ padding-block: 84px 16px; gap: 10px; }
  .tdx-fig{ margin-inline: -16px; }
  .tdx-d{ display: none; } .tdx-m{ display: block; }
  .tdx-steps{ grid-template-columns: 1fr; gap: 0; align-self: end; }
  .tdx-step{ grid-template-columns: 28px auto; padding-block: 10px; border-block-start-width: 1px; }
  .tdx-step b{ font-size: 1.2rem; }
  .tdx-step .d{ display: none; font-size: .92rem; }
  .tdx-step.is-on .d{ display: block; }
  .tdx-note{ font-size: .68rem; margin-block-start: 8px; }
  .td-tech{ grid-template-columns: 1fr; }
  .tdt, .tdt:nth-child(5){ grid-column: auto; padding: 22px; }
  .td-spec{ padding: 22px; }
  .tdf-h{ grid-template-columns: 1fr; }
  .tdf-no{ font-size: 3.4rem; }
  .tdp-list.n3, .tdp-list.n5{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
  .tdp-list.n3 .tdp:first-child{ grid-column: 1 / -1; }
  .tdp-list.n5 .tdp:first-child{ grid-column: 1 / -1; }
  .tdf-rel .tdp{ grid-template-columns: 1fr; }
  .td-cta{ grid-template-columns: 1fr; }
  .td-cta figure{ min-block-size: 220px; order: -1; }
}
@media (prefers-reduced-motion: reduce) {
  .tdh-media img{ transition: none; transform: none; }
  .tdx-pulse path{ animation: none !important; opacity: 0; }
  .tdp-fig img, .tdt{ transition: none; }
}
html[lang="en"] .td-italy-since span[lang="en"]{ display: none; }

/* Rev13: Supreme "alongside Line 9000". The label sits above the card as a kicker; the photo keeps the width of
   one Line 9000 card, so the four photos share one optical scale. */
.tdf-rel{ grid-template-columns: 1fr; gap: 16px; align-items: start; }
.tdf-rel-k{ display: flex; align-items: center; gap: 12px; margin: 0; font-size: .82rem; font-weight: 650; color: var(--td-text-2); }
.tdf-rel-k::before{ content: ""; inline-size: 28px; block-size: 1px; background: currentColor; opacity: .5; }
.tdf-rel .tdp{ grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 18px 32px; }
@media (max-width: 760px){ .tdf-rel .tdp{ grid-template-columns: 1fr; } }

/* ---------- Rev13 · contrast and minimum text size (Pass B) ---------- */
/* the CTA card is dark but sits in a paper section: keep its eyebrow on the light accent (was 3.3:1, now 8:1) */
.td-page .td-cta .eyebrow{ color: var(--td-acc); }
/* intro statement second line on the warmer TecnoDry paper (was 4.47:1, now 5.3:1) */
.td-page .td-intro .statement .q{ color: #5c6670; }
@media (max-width: 760px){ .tdx-note{ font-size: .75rem; } }
