:root {
  --red: #c40024;
  --red-dark: #870019;
  --ink: #191817;
  --charcoal: #211f1d;
  --ivory: #f3ede3;
  --paper: #fffdf8;
  --taupe: #b9aa99;
  --muted: #6e6860;
  --line: rgba(25, 24, 23, .14);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --shadow: 0 24px 65px rgba(39, 29, 22, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--ivory); font-family: var(--sans); line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { margin-bottom: 26px; font-family: var(--serif); font-weight: 500; letter-spacing: -.05em; line-height: .98; }
h1 em, h2 em { color: var(--red); font-weight: 500; }
h2 { font-size: clamp(3rem, 5.5vw, 6.4rem); }
:focus-visible { outline: 3px solid rgba(196, 0, 36, .38); outline-offset: 4px; }
.shell { position: relative; z-index: 2; width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { position: relative; padding: 130px 0; overflow: hidden; }
.section:not(.hero):not(.conversion-section), .site-footer { content-visibility: auto; contain-intrinsic-size: 900px; }
.section-dark { color: #fff; background: var(--charcoal); }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 14px; color: #fff; background: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.reading-progress { position: fixed; z-index: 700; top: 0; left: 0; width: 100%; height: 3px; pointer-events: none; }
.reading-progress span { display: block; width: 0; height: 100%; background: var(--red); }
.eyebrow { margin: 0 0 18px; color: var(--red); font-size: .65rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow.light { color: #eda0ad; }
.large-copy { color: #3f3b37; font-family: var(--serif); font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.4; }
.button { position: relative; isolation: isolate; display: inline-flex; min-height: 56px; align-items: center; justify-content: center; gap: 18px; padding: 14px 24px; overflow: hidden; border: 1px solid var(--red); border-radius: 100px; color: #fff; background: var(--red); cursor: pointer; font-size: .78rem; font-weight: 700; transition: transform .25s, box-shadow .25s, background .25s; }
.button::before { position: absolute; z-index: -1; inset: 0; background: var(--red-dark); content: ""; transform: translateX(-102%); transition: transform .32s; }
.button:hover { transform: translateY(-3px); box-shadow: 0 15px 32px rgba(89, 0, 17, .25); }
.button:hover::before { transform: none; }
.button-small { min-height: 44px; padding: 10px 18px; }
.button-ghost { border-color: rgba(255,255,255,.34); color: #fff; background: rgba(255,255,255,.06); }
.button-ghost::before { background: rgba(255,255,255,.12); }
.text-link { display: inline-flex; gap: 12px; align-items: center; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: .76rem; font-weight: 700; }
.text-link span { color: var(--red); transition: transform .25s; }
.text-link:hover span { transform: translate(3px,-3px); }
.text-link.light { color: #fff; }
.key-cta::after { position: absolute; top: 50%; left: -35%; width: 30%; height: 1px; background: linear-gradient(90deg, transparent, #fff, transparent); content: ""; opacity: 0; }
.key-cta:hover::after, .key-cta.key-turn::after { animation: keySweep .6s ease; }

.site-header { position: fixed; z-index: 600; top: 0; right: 0; left: 0; display: flex; min-height: 82px; align-items: center; justify-content: space-between; padding: 0 clamp(24px, 4vw, 64px); border-bottom: 1px solid rgba(255,255,255,.12); color: #fff; background: rgba(22,21,19,.82); backdrop-filter: blur(8px); transition: min-height .25s, background .25s; }
.site-header.scrolled { min-height: 70px; background: rgba(22,21,19,.95); }
.brand { width: 168px; line-height: 0; }
.brand img { width: 100%; height: auto; object-fit: contain; }
.main-nav { display: flex; gap: 28px; align-items: center; }
.main-nav > a:not(.button) { color: rgba(255,255,255,.72); font-size: .72rem; font-weight: 600; }
.main-nav > a:not(.button):hover { color: #fff; }
.menu-toggle { display: none; width: 44px; height: 44px; place-items: center; padding: 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: transparent; }
.menu-toggle span { display: block; width: 19px; height: 1px; margin: 3px auto; background: currentColor; transition: transform .25s, opacity .25s; }

.hero { position: relative; display: flex; min-height: 100svh; align-items: center; overflow: hidden; padding: 145px 0 110px; background: radial-gradient(circle at 84% 20%, rgba(196,0,36,.2), transparent 28%), linear-gradient(135deg, #171513 0%, #231f1b 48%, #131210 100%); isolation: isolate; }
.hero::before { position: absolute; z-index: 0; inset: 0; background: radial-gradient(circle at 20% 18%, rgba(255,246,231,.12), transparent 28%), linear-gradient(115deg, transparent 0 46%, rgba(255,255,255,.06) 52%, transparent 60%); content: ""; opacity: calc(.78 - var(--hero-progress, 0) * .18); pointer-events: none; }
.hero::after { position: absolute; z-index: 1; right: -12%; bottom: -28%; width: 58vw; height: 58vw; border-radius: 50%; background: radial-gradient(circle, rgba(196,0,36,.26), transparent 62%); content: ""; opacity: .74; pointer-events: none; transform: translate3d(calc(var(--hero-progress, 0) * -4vw), calc(var(--hero-progress, 0) * 4vh), 0); animation: warmGlow 10s ease-in-out infinite alternate; }
.hero-red-desk, .hero-editorial, .hero-overlay { position: absolute; inset: 0; }
.hero-red-desk { z-index: 1; overflow: hidden; pointer-events: none; }
.hero-red-desk img { position: absolute; top: 0; right: -4%; width: min(86vw, 1320px); height: 100%; object-fit: cover; object-position: center right; opacity: .62; filter: saturate(.94) contrast(1.06) brightness(.82); mix-blend-mode: normal; transform: translate3d(calc(var(--hero-progress, 0) * -2.2vw), calc(var(--hero-progress, 0) * 1.4vh), 0) scale(calc(1.02 + var(--hero-progress, 0) * .035)); transform-origin: center; -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 18%, rgba(0,0,0,.42) 36%, #000 58%, #000 100%), radial-gradient(circle at 62% 50%, rgba(0,0,0,.64), #000 58%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, transparent 18%, rgba(0,0,0,.42) 36%, #000 58%, #000 100%), radial-gradient(circle at 62% 50%, rgba(0,0,0,.64), #000 58%, transparent 100%); }
.hero-editorial { z-index: 2; pointer-events: none; opacity: .78; }
.hero-editorial::before { position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.1) 1px, transparent 1px); background-size: 22px 22px; content: ""; opacity: .08; }
.editorial-seal { position: absolute; right: 17%; bottom: 29%; width: 94px; height: 94px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: radial-gradient(circle, var(--red), var(--red-dark)); box-shadow: 0 20px 48px rgba(70,0,13,.34); transform: translate3d(calc(var(--hero-progress, 0) * -14px), calc(var(--hero-progress, 0) * 12px), 0); animation: sealFloat 6s ease-in-out infinite alternate; }
.editorial-seal::before { position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; content: ""; }
.editorial-line { position: absolute; right: 7%; top: 61%; width: min(35vw, 470px); height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.36), rgba(196,0,36,.8), transparent); box-shadow: 0 0 22px rgba(196,0,36,.22); transform: rotate(-13deg); animation: paperLine 7s ease-in-out infinite alternate; }
.hero-overlay { z-index: 3; background: linear-gradient(90deg, rgba(18,17,15,.86) 0%, rgba(18,17,15,.78) 37%, rgba(18,17,15,.38) 66%, rgba(18,17,15,.46)), radial-gradient(circle at 74% 48%, rgba(196,0,36,.09), transparent 38%), linear-gradient(0deg, rgba(18,17,15,.56), transparent 58%); pointer-events: none; }
.hero-layout { position: relative; z-index: 5; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: 72px; align-items: end; }
.hero-copy { max-width: 780px; }
.hero h1 { max-width: 820px; font-size: clamp(4rem, 7.2vw, 7.8rem); }
.hero .eyebrow { font-size: .78rem; letter-spacing: .2em; }
.hero-lead { max-width: 760px; margin-bottom: 34px; color: rgba(255,255,255,.78); font-size: clamp(1.12rem, 1.75vw, 1.42rem); line-height: 1.62; text-shadow: 0 18px 44px rgba(0,0,0,.38); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 34px; }
.hero-actions .button { min-height: 62px; padding-inline: 28px; font-size: .9rem; }
.proof-line { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; border: 0; }
.proof-line span { position: relative; overflow: hidden; padding: 12px 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 100px; color: rgba(255,255,255,.72); background: rgba(255,255,255,.08); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); font-size: .82rem; backdrop-filter: blur(5px); }
.proof-line span::after { position: absolute; inset: 0; background: linear-gradient(110deg, transparent 0 38%, rgba(255,255,255,.2) 50%, transparent 62%); content: ""; transform: translateX(-120%); animation: proofShine 4.8s ease-in-out infinite; }
.proof-line span:nth-child(2)::after { animation-delay: .7s; }
.proof-line span:nth-child(3)::after { animation-delay: 1.4s; }
.proof-line strong { color: #fff; }
.hero-assurance { margin: 18px 0 0; color: rgba(255,255,255,.62); font-size: .82rem; font-weight: 600; }
.analysis-card { position: relative; align-self: end; overflow: hidden; padding: 28px; border: 1px solid rgba(255,255,255,.24); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(20,19,17,.72)); box-shadow: 0 26px 58px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.16); backdrop-filter: blur(8px); transform: translateY(calc(var(--hero-progress, 0) * -12px)); }
.analysis-card::before { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(130deg, transparent 0 30%, rgba(255,255,255,.16) 45%, transparent 60%); content: ""; pointer-events: none; transform: translateX(-115%); animation: cardSweep 5.5s ease-in-out infinite; }
.analysis-card::after { position: absolute; inset: -1px; border-radius: inherit; background: linear-gradient(135deg, rgba(196,0,36,.75), rgba(255,255,255,.18), rgba(196,0,36,.15)); content: ""; opacity: .28; pointer-events: none; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); padding: 1px; -webkit-mask-composite: xor; mask-composite: exclude; }
.analysis-card-head { display: flex; gap: 13px; align-items: center; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.14); }
.analysis-card-head img { width: 40px; height: 34px; object-fit: contain; }
.analysis-card-head small, .analysis-card-head strong { display: block; }
.analysis-card-head small { color: #ee9bab; font-size: .66rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.analysis-card-head strong { font-family: var(--serif); font-size: 1.66rem; font-weight: 500; }
.analysis-card ul { margin: 18px 0; padding: 0; list-style: none; }
.analysis-card li { display: flex; align-items: center; justify-content: space-between; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 1rem; }
.analysis-card li i { width: 10px; height: 10px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px rgba(196,0,36,.15), 0 0 26px rgba(196,0,36,.72); animation: pulseDot 2.6s ease-in-out infinite; }
.analysis-card li:nth-child(2) i { animation-delay: .35s; }
.analysis-card li:nth-child(3) i { animation-delay: .7s; }
.analysis-card li:nth-child(4) i { animation-delay: 1.05s; }
.analysis-card > p { margin: 0; color: rgba(255,255,255,.68); font-size: .9rem; line-height: 1.5; }
.scroll-cue { position: absolute; z-index: 2; bottom: 28px; left: max(24px, calc((100% - 1180px) / 2)); display: flex; gap: 12px; align-items: center; color: rgba(255,255,255,.52); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.scroll-cue span { position: relative; width: 42px; height: 1px; overflow: hidden; background: rgba(255,255,255,.22); }
.scroll-cue span::after { display: block; width: 16px; height: 1px; background: var(--red); content: ""; animation: scrollLine 2s infinite; }
.hero-enter { opacity: 0; transform: translateY(30px) scale(.985); animation: heroEnter .8s cubic-bezier(.16,1,.3,1) forwards; }
.hero-enter:nth-child(2) { animation-delay: .1s; }
.hero-enter:nth-child(3) { animation-delay: .2s; }
.hero-enter:nth-child(4) { animation-delay: .3s; }
.hero-enter:nth-child(5) { animation-delay: .4s; }
.analysis-card.hero-enter { animation-delay: .45s; }

.problem-section { padding-top: 145px; }
.problem-beam { position: absolute; top: 0; bottom: 0; left: calc(var(--problem-progress, 0) * 100%); width: 1px; background: linear-gradient(transparent, var(--red), transparent); box-shadow: 0 0 45px 9px rgba(196,0,36,.12); }
.section-heading-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; align-items: end; margin-bottom: 65px; }
.section-heading-split h2 { max-width: 750px; margin-bottom: 0; }
.heading-copy { max-width: 510px; color: rgba(255,255,255,.58); font-size: .9rem; }
.heading-copy p:last-child { margin-bottom: 0; }
.problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.14); }
.problem-card { display: flex; min-height: 330px; flex-direction: column; justify-content: space-between; padding: 30px; background: var(--charcoal); transition: background .25s, transform .25s; }
.problem-card:hover { z-index: 1; background: #2b2825; transform: translateY(-4px); }
.problem-card > span { color: #eb8b9b; font-size: .65rem; }
.problem-card > div { min-height: 116px; }
.problem-card h3 { margin: 0 0 10px; font-family: var(--serif); font-size: clamp(1.62rem, 2.15vw, 2.35rem); font-weight: 500; white-space: nowrap; }
.problem-card p { max-width: 260px; margin: 0; color: rgba(255,255,255,.52); font-size: .82rem; }
.section-cta { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 32px; }
.section-cta p { margin: 0; color: rgba(255,255,255,.5); font-family: var(--serif); font-size: 1rem; }

.audience-section { background: var(--paper); }
.audience-section .eyebrow { font-size: .74rem; }
.section-heading.compact { max-width: 800px; margin-bottom: 55px; }
.section-heading.compact > p:last-child { max-width: 650px; color: var(--muted); }
.audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.audience-item { display: grid; min-height: 175px; grid-template-columns: 38px 1fr; gap: 15px; align-content: center; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.5); transition: background .25s; }
.audience-item:hover { background: #fff; }
.audience-item b { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: var(--red); font-size: .55rem; }
.audience-item p { margin: 2px 0 0; font-family: var(--serif); font-size: 1.14rem; line-height: 1.35; }
.audience-note { max-width: 720px; margin: 34px 0 0; color: var(--muted); font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.38; }

.deliverables-section { background: var(--ivory); }
.section-mark { position: absolute; top: 50%; right: 4%; width: min(44vw, 610px); height: auto; aspect-ratio: 1716 / 1295; object-fit: contain; opacity: .055; pointer-events: none; transform: translateY(-50%); }
.deliverables-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.deliverables-copy { position: sticky; top: 120px; align-self: start; }
.deliverables-copy h2 { font-size: clamp(3rem, 5vw, 5.7rem); }
.deliverables-note { margin-top: 40px; padding: 23px; border-left: 3px solid var(--red); background: rgba(255,255,255,.5); }
.deliverables-note strong { color: var(--red); font-size: .65rem; letter-spacing: .13em; text-transform: uppercase; }
.deliverables-note p { margin: 8px 0 0; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.deliverables-list { border-top: 1px solid var(--line); }
.deliverable { display: grid; grid-template-columns: 45px 1fr; gap: 20px; padding: 26px 4px; border-bottom: 1px solid var(--line); }
.deliverable > span { color: var(--red); font-size: .62rem; }
.deliverable h3 { margin: 0 0 7px; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.deliverable p { max-width: 610px; margin: 0; color: var(--muted); font-size: .8rem; }

.value-section { padding-bottom: 155px; background: var(--paper); }
.section-heading.wide { max-width: 1020px; margin-bottom: 80px; }
.section-heading.wide h2 { margin-bottom: 0; }
.section-heading.wide h2 span { white-space: nowrap; }
.section-heading.wide h2 em { white-space: nowrap; }
.value-key-path { position: absolute; z-index: 4; top: 49%; right: 7vw; left: 7vw; height: 1px; pointer-events: none; }
.value-key-path span { display: block; width: calc(var(--value-progress, 0) * 100%); height: 1px; background: linear-gradient(90deg, transparent, var(--red)); }
.value-key-path img { position: absolute; top: -23px; left: calc(var(--value-progress, 0) * (100% - 24px)); width: 23px; height: 48px; object-fit: contain; transform: rotate(calc(-15deg + var(--value-progress, 0) * 30deg)); filter: drop-shadow(0 7px 11px rgba(196,0,36,.2)); }
.value-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.value-card { min-height: 285px; padding: 27px; border: 1px solid var(--line); border-radius: 20px; background: rgba(243,237,227,.62); transition: color .28s, background .28s, transform .28s; }
.value-card:hover, .value-card.unlocked { color: #fff; background: var(--red); transform: translateY(-5px); }
.value-card > span { color: var(--red); font-size: .62rem; }
.value-card h3 { margin: 92px 0 10px; font-family: var(--serif); font-size: 1.9rem; font-weight: 500; }
.value-card p { margin: 0; color: var(--muted); font-size: .78rem; }
.value-card:hover > span, .value-card.unlocked > span { color: #fff; }
.value-card:hover p, .value-card.unlocked p { color: rgba(255,255,255,.76); }

.method-section { min-height: 900px; }
.method-media, .method-overlay { position: absolute; inset: 0; }
.method-media { opacity: .28; }
.method-media img { width: 100%; height: 110%; object-fit: cover; transform: translateY(calc(var(--method-progress, 0) * -4%)) scale(1.04); }
.method-overlay { background: linear-gradient(90deg, rgba(18,17,15,.98), rgba(18,17,15,.83)); }
.method-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 110px; }
.method-copy { position: sticky; top: 130px; align-self: start; }
.method-copy h2 { font-size: clamp(3.5rem, 5.7vw, 6.4rem); }
.method-copy h2 em { color: #fff; }
.method-copy blockquote { position: relative; margin: 44px 0 0; padding: 24px 26px 26px 30px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-left: 4px solid var(--red); border-radius: 20px; color: rgba(255,255,255,.86); background: linear-gradient(135deg, rgba(196,0,36,.2), rgba(255,255,255,.055)); box-shadow: 0 24px 70px rgba(0,0,0,.18); font-family: var(--serif); font-size: clamp(1.22rem, 1.75vw, 1.55rem); line-height: 1.42; }
.method-copy blockquote::before { position: absolute; right: 18px; bottom: -34px; color: rgba(255,255,255,.08); content: "“"; font-family: var(--serif); font-size: 9rem; line-height: 1; pointer-events: none; }
.method-copy blockquote span { position: relative; z-index: 1; display: block; }
.method-copy blockquote span + span { margin-top: 22px; color: #fff; }
.method-timeline { position: relative; margin: 0; padding: 0 0 0 35px; list-style: none; }
.method-timeline::before, .method-timeline::after { position: absolute; top: 22px; left: 4px; width: 1px; content: ""; }
.method-timeline::before { bottom: 40px; background: rgba(255,255,255,.18); }
.method-timeline::after { height: var(--timeline-progress, 0%); max-height: calc(100% - 62px); background: var(--red); }
.method-step { position: relative; display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 22px 0 45px; border-top: 1px solid rgba(255,255,255,.14); opacity: .38; transform: translateX(22px); transition: opacity .4s, transform .4s; }
.method-step.active { opacity: 1; transform: none; }
.method-step::before { position: absolute; z-index: 1; top: 18px; left: -35px; width: 9px; height: 9px; border: 4px solid #211f1d; border-radius: 50%; background: #68625d; content: ""; }
.method-step.active::before { background: var(--red); transform: scale(1.25); }
.method-step > span { color: #ec8c9c; font-size: .62rem; }
.method-step h3 { margin: 0 0 8px; font-family: var(--serif); font-size: 1.55rem; font-weight: 500; }
.method-step p { margin: 0; color: rgba(255,255,255,.5); font-size: .78rem; }

.local-section { background: var(--paper); }
.davide-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 90px; align-items: center; padding-bottom: 120px; border-bottom: 1px solid var(--line); }
.team-portraits { display: grid; grid-template-columns: minmax(0, 1fr) minmax(145px, .62fr); gap: 14px; align-items: stretch; }
.team-card { position: relative; min-height: 158px; margin: 0; overflow: hidden; border: 1px solid rgba(25,24,23,.1); border-radius: 22px; background: #d7cec3; box-shadow: 0 24px 55px rgba(39,29,22,.12); }
.team-card::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,246,231,.08), transparent 45%, rgba(18,17,15,.66)); content: ""; pointer-events: none; }
.team-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.02) brightness(1.04); }
.team-card-main { min-height: 520px; border-radius: 30px; }
.team-card-main img { object-position: center 32%; }
.team-mini-grid { display: grid; gap: 14px; }
.team-mini-grid .team-card img { object-position: center 34%; }
.team-mini-grid .team-card:nth-child(2) img { object-position: center 31%; }
.team-mini-grid .team-card:nth-child(3) img { object-position: center 35%; }
.team-card figcaption { position: absolute; z-index: 2; right: 12px; bottom: 12px; left: auto; min-width: 92px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #fff; background: rgba(25,24,23,.68); text-align: center; backdrop-filter: blur(12px); }
.team-card figcaption strong, .team-card figcaption span { display: block; }
.team-card figcaption strong { font-family: var(--serif); font-size: .98rem; font-weight: 500; line-height: 1.05; }
.team-card figcaption span { margin-top: 2px; color: rgba(255,255,255,.66); font-size: .5rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.team-card-main figcaption { right: 18px; bottom: 18px; padding: 9px 14px; }
.team-card-main figcaption strong { font-size: 1.18rem; }
.davide-copy h2 { max-width: 820px; font-size: clamp(3rem, 4.65vw, 5.45rem); }
.davide-copy > p:not(.eyebrow) { max-width: 680px; color: var(--muted); }
.davide-copy .large-copy { color: var(--ink); }
.davide-signoff { display: flex; gap: 13px; align-items: center; margin-top: 34px; }
.davide-signoff::before { width: 42px; height: 1px; background: var(--red); content: ""; }
.davide-signoff strong, .davide-signoff span { display: block; }
.davide-signoff strong { font-family: var(--serif); font-size: 1.25rem; font-style: italic; font-weight: 500; }
.davide-signoff span { color: var(--muted); font-size: .65rem; }
.territory-block { padding-top: 115px; }
.territory-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: end; }
.territory-heading h2 { margin-bottom: 0; }
.territory-heading > p { max-width: 500px; margin-bottom: 8px; color: var(--muted); }
.town-list { display: flex; flex-wrap: wrap; gap: 9px; margin: 45px 0; }
.town-list span { padding: 10px 16px; border: 1px solid var(--line); border-radius: 100px; background: var(--ivory); font-size: .68rem; font-weight: 700; }
.town-list span::before { display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: var(--red); content: ""; }
.market-panel { padding: 34px; border-radius: 24px; color: #fff; background: var(--charcoal); }
.market-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 30px; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.14); }
.market-panel-head small { color: #e994a3; font-size: .59rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.market-panel-head h3 { margin: 6px 0 0; font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 2.7rem); font-weight: 500; }
.market-panel-head > span { color: rgba(255,255,255,.45); font-size: .61rem; white-space: nowrap; }
.market-panel > p { max-width: 680px; margin: 24px 0; color: rgba(255,255,255,.55); font-size: .78rem; }
.market-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.13); }
.market-grid article { padding: 23px; background: var(--charcoal); }
.market-grid span, .market-grid strong, .market-grid small { display: block; }
.market-grid span { margin-bottom: 45px; color: #ed8d9d; font-size: .59rem; }
.market-grid strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 500; }
.market-grid small { margin-top: 10px; color: rgba(255,255,255,.58); font-size: .82rem; line-height: 1.5; }

.reviews-section { background: #1b1a18; }
.reviews-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: center; }
.reviews-heading > p:not(.eyebrow) { max-width: 500px; color: rgba(255,255,255,.54); }
.reviews-heading .text-link { margin-top: 25px; }
.review { display: none; min-height: 430px; margin: 0; padding: 38px; border: 1px solid rgba(255,255,255,.16); border-radius: 26px; background: rgba(255,255,255,.05); }
.review.active { display: flex; flex-direction: column; animation: reviewIn .4s ease; }
.stars { margin-bottom: 42px; color: #ed8c9c; letter-spacing: .16em; }
.review > p { flex: 1; font-family: var(--serif); font-size: clamp(1.45rem, 2.5vw, 2.25rem); line-height: 1.3; }
.review footer { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); font-size: .7rem; }
.review footer span { color: rgba(255,255,255,.42); }
.review-controls { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; }
.review-controls button { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: #fff; background: transparent; cursor: pointer; }
.review-controls span { color: rgba(255,255,255,.42); font-size: .65rem; }
.review-controls b { color: #fff; }
.case-study { display: grid; grid-template-columns: .6fr 1.4fr; gap: 60px; margin-top: 85px; padding: 34px; border: 1px dashed rgba(255,255,255,.24); border-radius: 24px; background: rgba(255,255,255,.035); }
.case-study-intro h3 { margin: 0 0 11px; font-family: var(--serif); font-size: clamp(2rem, 2.7vw, 2.65rem); font-weight: 500; line-height: 1.08; }
.case-study-intro > span { color: #eaa0ad; font-size: .84rem; line-height: 1.5; }
.case-study dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 0; background: rgba(255,255,255,.12); }
.case-study dl > div { padding: 22px; background: #1b1a18; }
.case-study dt { margin-bottom: 10px; color: #e992a1; font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.case-study dd { margin: 0; color: rgba(255,255,255,.66); font-size: .94rem; line-height: 1.55; }
.case-study dd strong { display: inline-block; color: #fff; font-family: var(--serif); font-size: 1.3em; font-weight: 600; line-height: 1; text-shadow: 0 0 24px rgba(196,0,36,.45); }

.conversion-section { position: relative; overflow: hidden; scroll-margin-top: 104px; padding: 140px 0 0; background: var(--red-dark); }
.conversion-mark { position: absolute; top: 4%; right: -8%; width: min(55vw, 760px); opacity: .035; pointer-events: none; }
.conversion-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 85px; align-items: start; }
.conversion-copy { position: sticky; top: 115px; }
.conversion-copy h2 { color: #fff; font-size: clamp(3.2rem, 5.5vw, 5.8rem); }
.conversion-copy h2 em { color: #fff; }
.conversion-copy > p:not(.eyebrow) { max-width: 520px; color: #e0b7be; font-family: var(--serif); font-size: 1.15rem; }
.time-note { display: flex; gap: 16px; align-items: center; margin: 34px 0 28px; }
.time-note > span { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; font-size: 1.1rem; }
.time-note strong, .time-note small { display: block; }
.time-note strong { font-size: .95rem; }
.time-note small { color: #e6c3c9; font-size: .78rem; line-height: 1.45; }
.assurance-list { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0 0 30px; padding: 0; list-style: none; }
.assurance-list li { padding: 14px 0; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.82); font-size: .84rem; line-height: 1.35; }
.assurance-list li::before { margin-right: 8px; color: #fff; content: "✓"; }
.guided-form { min-height: 660px; padding: 38px; border-radius: 28px; color: var(--ink); background: var(--paper); box-shadow: 0 35px 90px rgba(45,0,9,.28); }
.form-top { display: flex; align-items: center; justify-content: space-between; }
.form-top small, .form-top strong { display: block; }
.form-top small { color: var(--red); font-size: .58rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.form-top strong { font-family: var(--serif); font-size: 1.12rem; }
.form-top > span { color: var(--muted); font-size: .68rem; }
.form-progress { height: 3px; margin: 18px 0 32px; overflow: hidden; border-radius: 4px; background: #e8e0d7; }
.form-progress span { display: block; width: 33.333%; height: 100%; background: var(--red); transition: width .35s; }
.form-step[hidden] { display: none; }
.form-step.active { animation: stepIn .35s ease; }
.step-kicker { margin: 0 0 4px; color: var(--red); font-size: .6rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.form-step h3 { margin: 0 0 8px; font-family: var(--serif); font-size: 2.2rem; font-weight: 500; line-height: 1.1; }
.step-intro { max-width: 600px; margin-bottom: 26px; color: var(--muted); font-size: .78rem; }
.form-grid { display: grid; gap: 12px; }
.form-grid.two { grid-template-columns: repeat(2, 1fr); }
.field { margin-bottom: 12px; }
.field-conditional { max-height: 0; margin-bottom: 0; overflow: hidden; opacity: 0; transform: translateY(-8px) scale(.98); transition: max-height .38s cubic-bezier(.16,1,.3,1), margin-bottom .38s cubic-bezier(.16,1,.3,1), opacity .25s ease, transform .38s cubic-bezier(.16,1,.3,1); }
.field-conditional.is-visible { max-height: 105px; margin-bottom: 12px; opacity: 1; transform: none; }
.field label, .radio-group legend { display: block; margin-bottom: 6px; font-size: .7rem; font-weight: 700; }
.field label span { color: var(--muted); font-weight: 400; }
input[type="text"], input[type="tel"], input[type="email"], select, textarea { width: 100%; border: 1px solid #d9d0c6; border-radius: 10px; color: var(--ink); background: #fff; }
input[type="text"], input[type="tel"], input[type="email"], select { height: 51px; padding: 0 13px; }
textarea { padding: 12px 13px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--red); outline: 0; box-shadow: 0 0 0 3px rgba(196,0,36,.09); }
.field.has-error input, .field.has-error select { border-color: var(--red); }
.field-error { display: block; min-height: 15px; margin-top: 3px; color: #9d001d; font-size: .64rem; }
.radio-group { margin: 0 0 17px; padding: 0; border: 0; }
.radio-group label { display: inline-block; margin-right: 7px; cursor: pointer; }
.radio-group input { position: absolute; opacity: 0; }
.radio-group label > span { display: block; min-width: 82px; padding: 10px 18px; border: 1px solid #d9d0c6; border-radius: 100px; text-align: center; }
.radio-group input:checked + span { border-color: var(--red); color: #fff; background: var(--red); }
.step-actions { display: flex; gap: 14px; align-items: center; justify-content: space-between; margin-top: 7px; }
.back-step { border: 0; color: var(--muted); background: transparent; cursor: pointer; font-size: .76rem; }
.checks { margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--line); }
.checks label { display: grid; grid-template-columns: 20px 1fr; gap: 8px; margin-bottom: 9px; color: var(--muted); font-size: .66rem; }
.checks input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--red); }
.checks a { color: var(--red); text-decoration: underline; }
.final-assurances { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 13px 0 17px; color: #5e5953; font-size: .62rem; font-weight: 600; }
.honeypot { position: absolute; left: -9999px; }
.form-message { display: none; min-height: 390px; padding: 65px 30px; border-radius: 20px; color: #24502a; background: #edf4ec; text-align: center; }
.form-message.visible { display: block; }
.form-message img { width: 50px; height: 50px; margin: 0 auto 20px; object-fit: contain; }
.form-message strong { display: block; margin-bottom: 11px; font-family: var(--serif); font-size: 2.1rem; font-weight: 500; }
.form-message p { max-width: 490px; margin: 0 auto 23px; font-size: .8rem; }
.success-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.success-actions .button { min-height: 48px; }
.reset-form { padding: 11px 18px; border: 1px solid #397342; border-radius: 100px; color: #24502a; background: transparent; cursor: pointer; font-weight: 700; }
.guided-form.submitted .form-top, .guided-form.submitted .form-progress { display: none; }
.faq-block { display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; margin-top: 135px; padding: 110px 0 120px; border-top: 1px solid rgba(255,255,255,.16); }
.faq-heading h2 { color: #fff; font-size: clamp(2.8rem, 4.6vw, 5rem); }
.faq-heading h2 em { color: #fff; }
.faq-item { border-top: 1px solid rgba(255,255,255,.17); }
.faq-item:last-child { border-bottom: 1px solid rgba(255,255,255,.17); }
.faq-item h3 { margin: 0; }
.faq-item button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 18px; padding: 23px 0; border: 0; color: #fff; background: transparent; cursor: pointer; font-weight: 600; text-align: left; }
.faq-item button i { display: grid; flex: 0 0 auto; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: #fff; font-size: 1.05rem; font-style: normal; font-weight: 400; transition: transform .25s, background .25s; }
.faq-item button[aria-expanded="true"] i { background: var(--red); transform: rotate(45deg); }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s; }
.faq-answer p { overflow: hidden; margin: 0; color: #e4c2c8; font-size: .96rem; line-height: 1.55; }
.faq-item.open .faq-answer { grid-template-rows: 1fr; }
.faq-item.open .faq-answer p { padding: 0 55px 23px 0; }

.site-footer { position: relative; overflow: hidden; padding: 80px 0 25px; color: #fff; background: #151413; }
.footer-mark { position: absolute; right: -7%; bottom: -42%; width: 430px; opacity: .025; }
.footer-grid { display: grid; grid-template-columns: 1.15fr .78fr .72fr .86fr; gap: 48px; }
.footer-logo { width: 220px; height: auto; object-fit: contain; }
.footer-grid p, .footer-grid span, .footer-grid a { display: block; margin: 11px 0; color: rgba(255,255,255,.72); font-size: .9rem; line-height: 1.55; }
.footer-grid p { max-width: 310px; color: rgba(255,255,255,.78); font-family: var(--serif); font-size: 1.05rem; }
.footer-grid small { display: block; margin-bottom: 18px; color: #f0a9b5; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.footer-contact-link { display: flex !important; gap: 11px; align-items: center; }
.footer-contact-link::before { display: grid; flex: 0 0 auto; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #fff; background: rgba(196,0,36,.34); font-size: .72rem; font-weight: 700; }
.footer-contact-link.phone::before { content: "☎"; }
.footer-contact-link.email::before { content: "@"; }
.footer-contact-link.whatsapp::before { content: "W"; }
.footer-grid a:hover { color: #fff; }
.footer-grid a.contact-pending { cursor: help; opacity: .65; }
.footer-bottom { display: flex; justify-content: space-between; margin-top: 55px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.58); font-size: .78rem; }
.mobile-actions { display: none; }

.custom-cursor { --x: -100px; --y: -100px; --rotation: 0deg; position: fixed; z-index: 650; top: 0; left: 0; display: flex; gap: 8px; align-items: center; color: var(--red); opacity: 0; pointer-events: none; transform: translate3d(var(--x), var(--y), 0); will-change: transform; transition: opacity .16s; }
.custom-cursor.visible { opacity: 1; }
.custom-cursor.hidden { opacity: 0; }
.custom-cursor-key { display: block; width: 18px; height: 38px; transform: rotate(var(--rotation)); transform-origin: 50% 20%; }
.custom-cursor-key img { width: 100%; height: 100%; object-fit: contain; transition: filter .28s; }
.custom-cursor-label { max-width: 0; overflow: hidden; color: var(--ink); font-size: .57rem; font-weight: 700; letter-spacing: .08em; opacity: 0; text-transform: uppercase; white-space: nowrap; transition: max-width .2s, opacity .2s; }
.custom-cursor.context .custom-cursor-label { max-width: 65px; opacity: 1; }
.custom-cursor.on-dark .custom-cursor-key img { filter: brightness(0) invert(1); }
.custom-cursor.on-dark .custom-cursor-label { color: #fff; }
.custom-cursor.click-spin .custom-cursor-key { animation: keySpin360 .35s cubic-bezier(.4,0,.2,1); }
html.custom-cursor-on, html.custom-cursor-on body, html.custom-cursor-on a, html.custom-cursor-on button, html.custom-cursor-on [data-cursor] { cursor: none !important; }
html.custom-cursor-on form, html.custom-cursor-on form * { cursor: auto !important; }
html.custom-cursor-on form .key-cta, html.custom-cursor-on form .key-cta * { cursor: none !important; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.visible { opacity: 1; transform: none; }
@keyframes heroEnter { to { opacity: 1; transform: none; } }
@keyframes scrollLine { from { transform: translateX(-18px); } to { transform: translateX(45px); } }
@keyframes keySweep { 0% { left: -35%; opacity: 0; } 30% { opacity: 1; } 100% { left: 112%; opacity: 0; } }
@keyframes keySpin360 { from { transform: rotate(var(--rotation)); } to { transform: rotate(calc(var(--rotation) + 360deg)); } }
@keyframes reviewIn { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: none; } }
@keyframes stepIn { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
@keyframes cinematicHalo { from { opacity: .42; transform: translate3d(-1.5vw, -1vh, 0) rotate(-4deg); } to { opacity: .72; transform: translate3d(1.5vw, 1vh, 0) rotate(4deg); } }
@keyframes markBreath { from { opacity: .08; filter: blur(0); } to { opacity: .16; filter: blur(.2px); } }
@keyframes proofShine { 0%, 55% { transform: translateX(-125%); } 78%, 100% { transform: translateX(125%); } }
@keyframes cardSweep { 0%, 48% { transform: translateX(-120%); } 72%, 100% { transform: translateX(120%); } }
@keyframes pulseDot { 0%, 100% { transform: scale(1); box-shadow: 0 0 0 4px rgba(196,0,36,.15), 0 0 18px rgba(196,0,36,.42); } 50% { transform: scale(1.35); box-shadow: 0 0 0 7px rgba(196,0,36,.08), 0 0 32px rgba(196,0,36,.85); } }
@keyframes warmGlow { from { opacity: .48; transform: translate3d(-1vw, 0, 0) scale(.98); } to { opacity: .78; transform: translate3d(1vw, -1vh, 0) scale(1.04); } }
@keyframes sealFloat { from { translate: 0 -8px; } to { translate: 0 10px; } }
@keyframes paperLine { from { opacity: .3; translate: -20px 0; } to { opacity: .78; translate: 20px 0; } }

@media (max-width: 1050px) {
  .hero-layout { grid-template-columns: 1fr .5fr; gap: 40px; }
  .section-heading-split, .territory-heading { gap: 50px; }
  .deliverables-layout, .method-layout, .reviews-layout, .conversion-layout { gap: 55px; }
  .davide-layout { gap: 55px; }
}

@media (max-width: 820px) {
  body { padding-bottom: 66px; }
  h2 { font-size: clamp(2.8rem, 9vw, 4.5rem); }
  .site-header { min-height: 70px; padding-inline: 16px; }
  .brand { width: 148px; }
  .menu-toggle { z-index: 2; display: block; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .main-nav { position: fixed; top: 70px; right: 12px; display: grid; width: min(280px, calc(100% - 24px)); gap: 0; padding: 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 17px; background: rgba(24,23,21,.98); box-shadow: 0 22px 60px rgba(0,0,0,.28); opacity: 0; pointer-events: none; transform: translateY(-8px) scale(.97); transition: opacity .25s, transform .3s; }
  .main-nav.open { opacity: 1; pointer-events: auto; transform: none; }
  .main-nav > a:not(.button) { padding: 12px 10px; border-bottom: 1px solid rgba(255,255,255,.09); }
  .main-nav .button { margin-top: 10px; }
  .section { padding: 90px 0; }
  .shell { width: min(100% - 36px, 680px); }
  .hero { min-height: auto; padding: 125px 0 90px; }
  .hero-layout { display: block; }
  .hero h1 { max-width: 650px; font-size: clamp(3.6rem, 13vw, 6rem); }
  .hero-overlay { background: linear-gradient(90deg, rgba(18,17,15,.92), rgba(18,17,15,.72) 70%, rgba(18,17,15,.38)); }
  .editorial-seal { right: 8%; }
  .hero-red-desk img { right: -28%; width: 122vw; opacity: .42; }
  .analysis-card { max-width: 520px; margin-top: 45px; }
  .scroll-cue { display: none; }
  .section-heading-split, .deliverables-layout, .method-layout, .davide-layout, .territory-heading, .reviews-layout, .conversion-layout, .faq-block { display: block; }
  .section-heading-split > div:first-child, .territory-heading > div { margin-bottom: 28px; }
  .problem-grid, .audience-grid, .value-grid { grid-template-columns: repeat(2, 1fr); }
  .problem-card { min-height: 250px; }
  .problem-card > div { min-height: 98px; }
  .audience-grid { border-left: 0; }
  .audience-item { border-left: 1px solid var(--line); }
  .deliverables-copy, .method-copy, .conversion-copy { position: relative; top: auto; margin-bottom: 55px; }
  .value-key-path { display: none; }
  .section-heading.wide h2 span,
  .section-heading.wide h2 em {
    white-space: normal;
  }
  .value-card { min-height: 245px; }
  .value-card h3 { margin-top: 65px; }
  .method-section { min-height: auto; }
  .team-portraits { margin-bottom: 48px; }
  .team-card-main { min-height: 520px; }
  .team-mini-grid .team-card { min-height: 165px; }
  .territory-block { padding-top: 85px; }
  .market-grid { grid-template-columns: 1fr; }
  .market-grid span { margin-bottom: 15px; }
  .review-slider { margin-top: 45px; }
  .case-study { grid-template-columns: 1fr; gap: 28px; }
  .conversion-copy { max-width: 650px; }
  .faq-block { margin-top: 95px; padding-top: 80px; }
  .faq-heading { margin-bottom: 45px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .mobile-actions { position: fixed; z-index: 590; right: 0; bottom: 0; left: 0; display: grid; min-height: 66px; grid-template-columns: 1.3fr .7fr; padding: 8px 10px; border-top: 1px solid rgba(255,255,255,.16); background: rgba(24,23,21,.96); backdrop-filter: blur(14px); transform: translateY(110%); transition: transform .3s; }
  .mobile-actions.visible { transform: none; }
  .mobile-actions a { display: grid; place-items: center; border-radius: 100px; font-size: .7rem; font-weight: 700; }
  .mobile-analysis { color: #fff; background: var(--red); }
  .mobile-whatsapp { color: #fff; }
  .custom-cursor { display: none; }
}

@media (max-width: 540px) {
  .shell { width: calc(100% - 28px); }
  .hero { padding-top: 108px; }
  .hero::before { background-size: 52px 52px, 52px 52px, auto, auto, auto; }
  .hero::after { opacity: .4; }
  .hero-red-desk img { right: -72%; width: 180vw; opacity: .28; filter: saturate(.82) contrast(1.05) brightness(.72); }
  .editorial-seal { right: -4%; bottom: 24%; width: 72px; height: 72px; opacity: .72; }
  .editorial-line { right: -16%; width: 80vw; opacity: .45; }
  .hero h1 { margin-bottom: 20px; font-size: clamp(3.25rem, 16vw, 4.6rem); }
  .hero .eyebrow { font-size: .7rem; }
  .hero-lead { font-size: 1.02rem; line-height: 1.56; }
  .hero-assurance { font-size: .78rem; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .proof-line { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .proof-line span { padding: 11px 12px; font-size: .76rem; }
  .proof-line span:last-child { grid-column: 1 / -1; }
  .analysis-card { margin-top: 34px; padding: 21px; }
  .problem-grid, .audience-grid, .value-grid { grid-template-columns: 1fr; }
  .problem-card { min-height: 220px; }
  .problem-card > div { min-height: auto; }
  .section-cta { align-items: flex-start; flex-direction: column; }
  .audience-item { min-height: 135px; }
  .deliverable { grid-template-columns: 32px 1fr; gap: 12px; }
  .value-card { min-height: 225px; }
  .method-timeline { padding-left: 28px; }
  .method-step { grid-template-columns: 38px 1fr; }
  .method-step::before { left: -28px; }
  .team-portraits { grid-template-columns: 1fr; gap: 12px; }
  .team-card-main { min-height: 520px; }
  .team-mini-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .team-mini-grid .team-card { min-height: 190px; border-radius: 18px; }
  .team-card figcaption { right: 8px; bottom: 8px; left: auto; min-width: 74px; padding: 7px 9px; border-radius: 999px; }
  .team-card figcaption strong { font-size: .82rem; }
  .team-card figcaption span { font-size: .44rem; letter-spacing: .05em; }
  .market-panel { padding: 24px; }
  .market-panel-head { display: block; }
  .market-panel-head > span { display: block; margin-top: 15px; white-space: normal; }
  .review { min-height: 410px; padding: 28px; }
  .case-study { padding: 24px; }
  .case-study dl { grid-template-columns: 1fr; }
  .guided-form { min-height: 620px; padding: 24px 20px; border-radius: 22px; }
  .form-grid.two { grid-template-columns: 1fr; }
  .form-step h3 { font-size: 1.9rem; }
  .form-step .button { width: 100%; }
  .step-actions { align-items: stretch; flex-direction: column-reverse; }
  .back-step { padding: 12px; }
  .assurance-list { grid-template-columns: 1fr; }
  .faq-item button { font-size: .78rem; }
  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-bottom { gap: 12px; flex-direction: column; }
}

@media (max-width: 430px) {
  .section { padding: 78px 0; }
  .hero { padding: 94px 0 72px; }
  .hero h1 { font-size: clamp(2.8rem, 14vw, 3.7rem); }
  .hero .button { min-height: 52px; }
  .hero-lead { line-height: 1.52; }
  .analysis-card { border-radius: 20px; }
  .conversion-section { padding-top: 90px; }
  .faq-block { padding-bottom: 90px; }
}

html.reduce-motion { scroll-behavior: auto; }
html.reduce-motion *, html.reduce-motion *::before, html.reduce-motion *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
html.reduce-motion .hero-enter, html.reduce-motion .reveal { opacity: 1; transform: none; }
html.reduce-motion .method-media img, html.reduce-motion .hero-red-desk img { transform: none; }
html.reduce-motion .hero::after, html.reduce-motion .editorial-seal, html.reduce-motion .editorial-line, html.reduce-motion .analysis-card::before, html.reduce-motion .proof-line span::after { animation: none; }
html.reduce-motion .custom-cursor, html.reduce-motion .value-key-path, html.reduce-motion .problem-beam { display: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero-enter, .reveal { opacity: 1; transform: none; }
  .method-media img, .hero-red-desk img { transform: none; }
  .hero::after, .editorial-seal, .editorial-line, .analysis-card::before, .proof-line span::after { animation: none; }
  .custom-cursor, .value-key-path, .problem-beam { display: none; }
}
