/* ========================================================================== 
   ARMAND DIGITAL — CRÉATION DE LANDING PAGE
   Page-specific layout and interaction styles.
   ========================================================================== */

.page-landing { --landing-space: clamp(88px,7vw,128px); --landing-gap: clamp(48px,5vw,82px); background: var(--paper); color: var(--ink); }
.page-landing main { overflow: clip; }
.landing-section,.landing-related,.landing-next { padding-inline: var(--page-gutter); }
.landing-index,.landing-kicker { margin: 0; color: var(--signal); font-family: var(--font-mono); font-size: .64rem; letter-spacing: .11em; text-transform: uppercase; }
.landing-heading { width: min(1600px,100%); margin: auto; display: grid; grid-template-columns: minmax(280px,.55fr) minmax(520px,1.45fr); gap: var(--landing-gap); }
.landing-heading h2,.landing-system h2,.landing-build h2,.landing-faq h2,.landing-next h2 { margin: 0; font-size: clamp(3.25rem,6vw,7.2rem); font-weight: 500; letter-spacing: -.067em; line-height: .9; }
.landing-heading h2 span,.landing-system h2 span,.landing-build h2 span,.landing-faq h2 span,.landing-next h2 span { display: block; color: rgba(8,8,8,.48); }
.landing-heading > p:last-child { grid-column: 2; max-width: 720px; margin: 0; color: rgba(8,8,8,.63); font-size: clamp(1rem,1.2vw,1.2rem); line-height: 1.68; }

/* Hero */
.landing-hero { position: relative; min-height: 100svh; padding: 86px var(--page-gutter) 0; overflow: hidden; background: radial-gradient(circle at 76% 34%,rgba(255,73,56,.13),transparent 28%),linear-gradient(112deg,#070707,#0b0b0a 68%,#11100f); color: var(--paper); }
.landing-hero__grid { position: absolute; inset: 0; opacity: .62; background-image: linear-gradient(to right,transparent calc(100% - 1px),rgba(255,255,255,.055) 1px),linear-gradient(to bottom,transparent calc(100% - 1px),rgba(255,255,255,.04) 1px); background-size: clamp(110px,11vw,210px) 100%,100% 105px; pointer-events: none; }
.landing-hero__inner { position: relative; z-index: 1; width: min(1600px,100%); min-height: calc(100svh - 86px); margin: auto; display: grid; grid-template-rows: clamp(60px,8vh,76px) minmax(0,1fr) auto auto; border-inline: 1px solid var(--paper-12); }
.landing-hero__meta { padding-inline: clamp(24px,4vw,70px); display: flex; align-items: center; justify-content: space-between; border-block: 1px solid var(--paper-12); color: var(--paper-56); font-family: var(--font-mono); font-size: .61rem; letter-spacing: .09em; }
.landing-hero__meta nav { display: flex; gap: 10px; }
.landing-hero__meta a:hover,.landing-hero__meta a:focus-visible { color: var(--paper); }
.landing-hero__body { align-self: center; padding: clamp(38px,5.5vh,72px) clamp(24px,6vw,110px); }
.landing-hero h1 { max-width: 1370px; margin: clamp(24px,3.5vh,42px) 0 0; font-size: clamp(3.8rem,6.7vw,8rem); font-weight: 500; letter-spacing: -.075em; line-height: .87; }
.landing-hero h1 span { display: block; color: var(--paper-40); }
.landing-hero__copy { max-width: 1050px; margin-top: clamp(30px,4vh,52px); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(28px,5vw,76px); color: var(--paper-64); line-height: 1.68; }
.landing-hero__copy p { margin: 0; }
.landing-hero__actions { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--paper-12); }
.landing-action { min-height: 78px; padding-inline: clamp(24px,4vw,70px); display: flex; align-items: center; justify-content: space-between; gap: 20px; font-weight: 700; transition: background 280ms var(--ease-out),color 280ms var(--ease-out); }
.landing-action + .landing-action { border-left: 1px solid var(--paper-12); }
.landing-action:hover,.landing-action:focus-visible { background: var(--paper-08); }
.landing-action--primary { background: var(--signal); color: var(--ink); }
.landing-action--primary:hover,.landing-action--primary:focus-visible { background: var(--paper); }
.landing-hero__footer { min-height: 66px; padding-inline: clamp(24px,4vw,70px); display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--paper-12); color: var(--paper-56); font-family: var(--font-mono); font-size: .57rem; letter-spacing: .09em; }

/* Definition */
.landing-definition { padding-block: var(--landing-space); }
.landing-definition > .landing-index,.landing-definition__layout { width: min(1600px,100%); margin-inline: auto; }
.landing-definition__layout { margin-top: 34px; display: grid; grid-template-columns: minmax(360px,.72fr) minmax(560px,1.28fr); gap: var(--landing-gap); }
.landing-definition h2 { margin: 0; font-size: clamp(3.25rem,6vw,7.2rem); font-weight: 500; letter-spacing: -.067em; line-height: .9; }
.landing-definition h2 span { display: block; color: rgba(8,8,8,.48); }
.landing-definition__copy { position: sticky; top: 124px; align-self: start; max-width: 780px; }
.landing-definition__copy p { margin: 0; color: rgba(8,8,8,.63); line-height: 1.72; }
.landing-definition__copy p + p { margin-top: 24px; }
.landing-definition__copy .landing-definition__lead { color: var(--ink); font-size: clamp(1.3rem,2vw,2rem); letter-spacing: -.025em; line-height: 1.35; }

/* Message matching laboratory */
.landing-lab { padding-block: var(--landing-space); background: #e7e3db; }
.message-engine { width: min(1600px,100%); margin: var(--landing-gap) auto 0; border: 1px solid rgba(8,8,8,.2); background: var(--paper); }
.message-engine__controls { display: grid; grid-template-columns: repeat(3,1fr); }
.message-source { position: relative; min-height: 104px; padding: 18px clamp(18px,2.5vw,38px); display: grid; grid-template-columns: 32px 1fr; grid-template-rows: auto 1fr; column-gap: 12px; text-align: left; color: var(--ink); border-right: 1px solid rgba(8,8,8,.2); border-bottom: 1px solid rgba(8,8,8,.2); cursor: pointer; transition: background 260ms var(--ease-out),color 260ms var(--ease-out); }
.message-source:last-child { border-right: 0; }
.message-source::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; background: var(--signal); transform: scaleX(0); transform-origin: left; transition: transform 320ms var(--ease-out); }
.message-source > span { grid-row: 1/3; color: var(--signal); font-family: var(--font-mono); font-size: .61rem; }
.message-source strong { align-self: end; font-size: clamp(1.15rem,1.5vw,1.55rem); font-weight: 600; }
.message-source small { margin-top: 5px; color: rgba(8,8,8,.68); line-height: 1.35; }
.message-source:hover,.message-source:focus-visible { background: rgba(8,8,8,.045); }
.message-source.is-active { background: var(--ink); color: var(--paper); }
.message-source.is-active::after { transform: scaleX(1); }
.message-source.is-active small { color: var(--paper-56); }
.message-engine__stage { display: grid; grid-template-columns: 1.05fr .95fr; background: linear-gradient(rgba(8,8,8,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(8,8,8,.035) 1px,transparent 1px); background-size: 46px 46px; }
.message-engine__stage:focus-visible { outline: 2px solid var(--signal); outline-offset: -2px; }
.message-preview { min-width: 0; margin: clamp(24px,3vw,46px); align-self: center; border: 1px solid rgba(8,8,8,.26); background: var(--paper); box-shadow: 0 30px 75px rgba(8,8,8,.1); }
.message-preview__bar { min-height: 40px; padding: 0 15px; display: flex; align-items: center; gap: 7px; border-bottom: 1px solid rgba(8,8,8,.16); }
.message-preview__bar i { width: 7px; height: 7px; border-radius: 50%; background: rgba(8,8,8,.2); }
.message-preview__bar span { margin-left: auto; color: rgba(8,8,8,.52); font-family: var(--font-mono); font-size: .55rem; letter-spacing: .09em; }
.message-preview__page { position: relative; min-height: 370px; padding: clamp(24px,3vw,42px); display: flex; flex-direction: column; overflow: hidden; background: var(--paper); transition: background 360ms var(--ease-out),color 360ms var(--ease-out); }
.message-preview__page::after { content: ""; position: absolute; top: 25%; right: -6%; width: 35%; aspect-ratio: 1; border: 1px solid rgba(8,8,8,.12); border-radius: 50%; box-shadow: 0 0 0 26px rgba(8,8,8,.025),0 0 0 52px rgba(8,8,8,.018); }
.message-preview__page[data-preview-tone="social"] { background: var(--signal); }
.message-preview__page[data-preview-tone="referral"] { background: var(--ink); color: var(--paper); }
.message-preview__page[data-preview-tone="social"]::after { border-color: rgba(8,8,8,.2); }
.message-preview__page[data-preview-tone="referral"]::after { border-color: var(--paper-18); box-shadow: 0 0 0 26px rgba(255,255,255,.025),0 0 0 52px rgba(255,255,255,.018); }
.message-preview__nav { position: relative; z-index: 1; display: flex; justify-content: space-between; color: rgba(8,8,8,.55); font-family: var(--font-mono); font-size: .49rem; letter-spacing: .08em; }
.message-preview__nav b { color: currentColor; }
.message-preview__page[data-preview-tone="referral"] .message-preview__nav { color: var(--paper-56); }
.message-preview__page > p { position: relative; z-index: 1; margin: auto 0 0; color: var(--signal); font-family: var(--font-mono); font-size: .53rem; letter-spacing: .08em; }
.message-preview__page[data-preview-tone="social"] > p { color: var(--ink); }
.message-preview__page > strong { position: relative; z-index: 1; max-width: 640px; margin-top: 13px; font-size: clamp(1.9rem,3vw,3.7rem); font-weight: 500; letter-spacing: -.058em; line-height: .95; }
.message-preview__page > span { position: relative; z-index: 1; max-width: 570px; margin-top: 15px; color: rgba(8,8,8,.63); font-size: .86rem; line-height: 1.5; }
.message-preview__page[data-preview-tone="referral"] > span { color: var(--paper-64); }
.message-preview__proof { position: relative; z-index: 1; margin-top: 19px; display: flex; align-items: center; gap: 6px; color: rgba(8,8,8,.55); font-family: var(--font-mono); font-size: .47rem; }
.message-preview__proof i { width: 18px; height: 18px; border: 1px solid currentColor; border-radius: 50%; }
.message-preview__proof i + i { margin-left: -10px; background: #e7e3db; }
.message-preview__proof b { margin-left: 6px; font-weight: 500; }
.message-preview__page[data-preview-tone="referral"] .message-preview__proof { color: var(--paper-56); }
.message-preview__cta { position: relative; z-index: 1; min-height: 46px; margin-top: 18px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; background: var(--ink); color: var(--paper); font-size: .76rem; font-weight: 700; }
.message-preview__page[data-preview-tone="referral"] .message-preview__cta { background: var(--signal); color: var(--ink); }
.message-reading { min-width: 0; min-height: 480px; padding: clamp(30px,3.5vw,54px); display: flex; flex-direction: column; border-left: 1px solid rgba(8,8,8,.2); background: rgba(231,227,219,.9); }
.message-reading__label { margin: 0; color: var(--signal); font-family: var(--font-mono); font-size: .61rem; letter-spacing: .1em; }
.message-reading h3 { max-width: 690px; margin: 22px 0 0; font-size: clamp(2.05rem,3.2vw,4rem); font-weight: 500; letter-spacing: -.06em; line-height: .94; }
.message-reading > p:not(.message-reading__label) { max-width: 650px; margin: 18px 0 0; color: rgba(8,8,8,.62); line-height: 1.55; }
.message-reading dl { margin: 24px 0 0; border-top: 1px solid rgba(8,8,8,.2); }
.message-reading dl div { min-height: 54px; padding: 10px 0; display: grid; grid-template-columns: 90px 1fr; align-items: center; gap: 20px; border-bottom: 1px solid rgba(8,8,8,.2); }
.message-reading dt { color: var(--signal); font-family: var(--font-mono); font-size: .56rem; text-transform: uppercase; }
.message-reading dd { margin: 0; font-size: .88rem; font-weight: 600; }
.message-reading__status { margin-top: auto; padding-top: 18px; display: flex; align-items: center; gap: 16px; }
.message-reading__status span,.message-reading__status strong { font-family: var(--font-mono); font-size: .56rem; letter-spacing: .08em; }
.message-reading__status span { color: var(--signal); }
.message-reading__status strong { margin-left: auto; }
.message-reading__status i { width: 7px; height: 7px; border-radius: 50%; background: var(--signal); }
.message-engine.is-updating .message-reading__status i { animation: landing-pulse 800ms var(--ease-out); }
.message-engine__chain { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid rgba(8,8,8,.2); list-style: none; }
.message-engine__chain li { position: relative; min-height: 64px; padding: 14px clamp(14px,2vw,28px); display: flex; align-items: center; gap: 14px; border-right: 1px solid rgba(8,8,8,.2); color: rgba(8,8,8,.6); }
.message-engine__chain li:last-child { border-right: 0; }
.message-engine__chain li.is-active { background: var(--ink); color: var(--paper); }
.message-engine__chain span { font-family: var(--font-mono); font-size: .57rem; }
.message-engine__chain strong { font-size: .83rem; }
@keyframes landing-pulse { 50% { box-shadow: 0 0 0 10px rgba(255,73,56,0); } }

/* Conversion system */
.landing-system { padding: var(--landing-space) var(--page-gutter); background: var(--ink); color: var(--paper); }
.landing-system__inner { width: min(1600px,100%); margin: auto; }
.landing-system header { display: grid; grid-template-columns: minmax(280px,.55fr) minmax(520px,1.45fr); gap: var(--landing-gap); }
.landing-system header h2,.landing-system header > p:last-child { grid-column: 2; }
.landing-system h2 span { color: var(--paper-40); }
.landing-system header > p:last-child { margin: 0; color: var(--paper-56); }
.landing-system__grid { margin-top: var(--landing-gap); display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid var(--paper-18); }
.landing-system__grid article { min-height: 390px; padding: clamp(30px,4vw,58px); display: flex; flex-direction: column; border-right: 1px solid var(--paper-18); border-bottom: 1px solid var(--paper-18); }
.landing-system__grid article:nth-child(2n) { border-right: 0; }
.landing-system__grid article:nth-child(n+3) { border-bottom: 0; }
.landing-system__grid article > span { color: var(--signal); font-family: var(--font-mono); font-size: .61rem; letter-spacing: .1em; }
.landing-system__grid h3 { margin: 44px 0 0; font-size: clamp(2.2rem,3.5vw,4.4rem); font-weight: 500; letter-spacing: -.058em; line-height: .95; }
.landing-system__grid p { max-width: 620px; margin: 26px 0 0; color: var(--paper-56); line-height: 1.68; }
.landing-system__grid strong { margin-top: auto; padding-top: 36px; color: var(--paper-72); font-size: .88rem; }

/* Copywriting */
.landing-copy { padding-block: var(--landing-space); }
.landing-copy__grid { width: min(1600px,100%); margin: var(--landing-gap) auto 0; display: grid; grid-template-columns: minmax(360px,.8fr) minmax(560px,1.2fr); border: 1px solid rgba(8,8,8,.2); }
.landing-copy__lead { min-height: 640px; padding: clamp(36px,5vw,76px); display: flex; flex-direction: column; background: var(--signal); }
.landing-copy__lead > span { font-family: var(--font-mono); font-size: .61rem; letter-spacing: .1em; }
.landing-copy__lead h3 { margin: auto 0 0; font-size: clamp(2.8rem,4.7vw,6rem); font-weight: 500; letter-spacing: -.065em; line-height: .92; }
.landing-copy__lead p { max-width: 620px; margin: 32px 0 0; line-height: 1.68; }
.landing-copy__grid > ol { margin: 0; padding: 0; list-style: none; }
.landing-copy__grid > ol li { min-height: 128px; padding: 24px clamp(28px,4vw,58px); display: grid; grid-template-columns: 58px 1fr; align-items: center; gap: 18px; border-bottom: 1px solid rgba(8,8,8,.2); }
.landing-copy__grid > ol li:last-child { border-bottom: 0; }
.landing-copy__grid > ol span { color: var(--signal); font-family: var(--font-mono); font-size: .62rem; }
.landing-copy__grid > ol strong { font-size: clamp(1.4rem,2vw,2.2rem); font-weight: 500; letter-spacing: -.035em; }
.landing-copy__grid > ol p { margin: 8px 0 0; color: rgba(8,8,8,.6); line-height: 1.55; }

/* Build and measurement */
.landing-build { padding: var(--landing-space) var(--page-gutter); background: var(--ink); color: var(--paper); }
.landing-build__inner { width: min(1600px,100%); margin: auto; display: grid; grid-template-columns: minmax(390px,.8fr) minmax(560px,1.2fr); gap: var(--landing-gap); }
.landing-build header { position: sticky; top: 120px; align-self: start; }
.landing-build h2 { margin-top: 34px; }
.landing-build h2 span { color: var(--paper-40); }
.landing-build__lead { max-width: 760px; margin: 0; font-size: clamp(1.35rem,2.3vw,2.4rem); letter-spacing: -.03em; line-height: 1.35; }
.landing-build__matrix { margin-top: 48px; display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid var(--paper-18); }
.landing-build__matrix article { min-height: 220px; padding: 30px; border-right: 1px solid var(--paper-18); border-bottom: 1px solid var(--paper-18); }
.landing-build__matrix article:nth-child(2n) { border-right: 0; }
.landing-build__matrix article:nth-child(n+3) { border-bottom: 0; }
.landing-build__matrix span { color: var(--signal); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .09em; }
.landing-build__matrix p { margin: 50px 0 0; color: var(--paper-56); line-height: 1.6; }
.landing-build__content > p:last-child { max-width: 760px; margin: 36px 0 0; color: var(--paper-56); line-height: 1.68; }

/* Indexing routes */
.landing-indexing { padding-block: var(--landing-space); background: #e7e3db; }
.landing-indexing__copy,.landing-indexing__routes { width: min(1600px,100%); margin-inline: auto; }
.landing-indexing__copy { display: grid; grid-template-columns: minmax(280px,.55fr) minmax(520px,1.45fr); gap: var(--landing-gap); }
.landing-indexing__copy h2 { grid-column: 2; margin: 0; font-size: clamp(3.25rem,6vw,7.2rem); font-weight: 500; letter-spacing: -.067em; line-height: .9; }
.landing-indexing__copy h2 span { display: block; color: rgba(8,8,8,.48); }
.landing-indexing__copy > p:last-child { grid-column: 2; max-width: 720px; margin: 0; color: rgba(8,8,8,.63); line-height: 1.68; }
.landing-indexing__routes { margin-top: var(--landing-gap); display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(8,8,8,.2); }
.landing-indexing__routes article { min-height: 440px; padding: clamp(30px,3.5vw,54px); display: flex; flex-direction: column; border-right: 1px solid rgba(8,8,8,.2); }
.landing-indexing__routes article:last-child { border-right: 0; }
.landing-indexing__routes article > span { color: var(--signal); font-family: var(--font-mono); font-size: .62rem; }
.landing-indexing__routes h3 { margin: 48px 0 0; font-size: clamp(2.2rem,3.3vw,4.2rem); font-weight: 500; letter-spacing: -.06em; line-height: .95; }
.landing-indexing__routes p { margin: 24px 0 0; color: rgba(8,8,8,.62); line-height: 1.65; }
.landing-indexing__routes strong { margin-top: auto; padding-top: 28px; border-top: 1px solid rgba(8,8,8,.2); font-size: .84rem; }
.landing-indexing__routes article:nth-child(2) { background: var(--ink); color: var(--paper); }
.landing-indexing__routes article:nth-child(2) p { color: var(--paper-56); }
.landing-indexing__routes article:nth-child(2) strong { border-color: var(--paper-18); color: var(--paper-72); }

/* Method */
.landing-method { padding-block: var(--landing-space); }
.landing-method__steps { width: min(1600px,100%); margin: var(--landing-gap) auto 0; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(8,8,8,.2); list-style: none; }
.landing-method__steps li { min-height: 320px; padding: clamp(28px,3.5vw,52px); display: flex; flex-direction: column; border-right: 1px solid rgba(8,8,8,.2); border-bottom: 1px solid rgba(8,8,8,.2); }
.landing-method__steps li:nth-child(3n) { border-right: 0; }
.landing-method__steps li:nth-child(n+4) { border-bottom: 0; }
.landing-method__steps li > span { color: var(--signal); font-family: var(--font-mono); font-size: .62rem; }
.landing-method__steps div { margin-top: auto; }
.landing-method__steps h3 { margin: 0; font-size: clamp(1.8rem,2.7vw,3.3rem); font-weight: 500; letter-spacing: -.05em; }
.landing-method__steps p { margin: 18px 0 0; color: rgba(8,8,8,.6); line-height: 1.6; }

/* Budget */
.landing-budget { padding: var(--landing-space) var(--page-gutter); background: #e7e3db; }
.landing-budget__inner { width: min(1600px,100%); margin: auto; display: grid; grid-template-columns: minmax(390px,.85fr) minmax(520px,1.15fr); gap: var(--landing-gap); align-items: stretch; }
.landing-budget__copy h2 { margin: 34px 0 0; font-size: clamp(3.25rem,5.6vw,6.7rem); font-weight: 500; letter-spacing: -.067em; line-height: .9; }
.landing-budget__copy h2 span { display: block; color: rgba(8,8,8,.48); }
.landing-budget__copy > p:last-child { max-width: 620px; margin: 30px 0 0; color: rgba(8,8,8,.62); line-height: 1.68; }
.landing-budget__card { min-height: 500px; padding: clamp(36px,5vw,76px); display: flex; flex-direction: column; background: var(--ink); color: var(--paper); }
.landing-budget__card > span { color: var(--signal); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .1em; }
.landing-budget__card > strong { margin-top: auto; font-size: clamp(2.7rem,4.25vw,5.5rem); font-weight: 500; letter-spacing: -.065em; line-height: .95; white-space: nowrap; }
.landing-budget__card p { max-width: 650px; margin: 28px 0 0; color: var(--paper-64); line-height: 1.65; }
.landing-budget__card small { margin-top: 16px; color: var(--paper-64); }
.landing-budget__card a { margin-top: 34px; padding-bottom: 6px; align-self: flex-start; border-bottom: 1px solid var(--signal); font-weight: 700; }
.landing-budget__card a:hover,.landing-budget__card a:focus-visible { color: var(--signal); }

/* FAQ, related, conversion */
.landing-faq { padding-block: var(--landing-space); display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(70px,10vw,180px); }
.landing-faq header { position: sticky; top: 128px; align-self: start; }
.landing-faq h2 { margin-top: 34px; }
.landing-faq__list { border-top: 1px solid rgba(8,8,8,.22); }
.landing-faq details { border-bottom: 1px solid rgba(8,8,8,.22); }
.landing-faq summary { min-height: 112px; display: grid; grid-template-columns: 42px 1fr 24px; align-items: center; gap: 20px; cursor: pointer; list-style: none; }
.landing-faq summary::-webkit-details-marker { display: none; }
.landing-faq summary span { color: var(--signal); font-family: var(--font-mono); font-size: .63rem; }
.landing-faq summary strong { font-size: clamp(1.08rem,1.45vw,1.48rem); font-weight: 500; }
.landing-faq summary i,.landing-faq summary i::after { width: 17px; height: 1px; display: block; background: var(--ink); transition: transform 260ms var(--ease-out); }
.landing-faq summary i::after { content: ""; transform: rotate(90deg); }
.landing-faq details[open] summary i::after { transform: rotate(0); }
.landing-faq details > p { max-width: 760px; margin: -4px 0 38px 62px; color: rgba(8,8,8,.63); line-height: 1.7; }
.landing-related { background: #e7e3db; }
.landing-related__inner { width: min(1600px,100%); min-height: 250px; margin: auto; display: grid; grid-template-columns: minmax(170px,.35fr) minmax(380px,1fr) auto; align-items: center; gap: clamp(32px,6vw,100px); border-top: 1px solid rgba(8,8,8,.2); }
.landing-related h2 { margin: 0; font-size: clamp(1.8rem,3vw,3.6rem); font-weight: 500; letter-spacing: -.055em; line-height: 1; }
.landing-related div p { max-width: 620px; margin: 16px 0 0; color: rgba(8,8,8,.62); line-height: 1.6; }
.landing-related nav { display: grid; gap: 16px; justify-items: start; }
.landing-related a { padding-bottom: 5px; border-bottom: 1px solid var(--signal); font-weight: 700; }
.landing-related a:hover,.landing-related a:focus-visible { color: var(--signal); }
.landing-next { padding-top: var(--landing-space); background: var(--ink); color: var(--paper); }
.landing-next > .landing-index,.landing-next > h2,.landing-next > p { width: min(1600px,100%); margin-inline: auto; }
.landing-next h2 { margin-top: 36px; }
.landing-next h2 span { color: var(--paper-40); }
.landing-next > p { max-width: 1600px; margin-top: 34px; padding-bottom: var(--landing-space); color: var(--paper-56); line-height: 1.7; }
.landing-next__actions { margin-inline: calc(var(--page-gutter) * -1); display: grid; grid-template-columns: 1.15fr .925fr .925fr; border-top: 1px solid var(--paper-18); }
.landing-next__actions a { min-height: 150px; padding: 30px clamp(24px,3vw,52px); display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 8px 18px; border-right: 1px solid var(--paper-18); transition: background 300ms var(--ease-out),color 300ms var(--ease-out); }
.landing-next__actions a:last-child { border-right: 0; }
.landing-next__actions small { grid-column: 1/3; color: var(--paper-56); }
.landing-next__actions a:hover,.landing-next__actions a:focus-visible { background: var(--paper-08); }
.landing-next__actions .landing-next__primary { background: var(--signal); color: var(--ink); font-size: clamp(1.25rem,2vw,2.3rem); font-weight: 600; letter-spacing: -.04em; }
.landing-next__actions .landing-next__primary:hover,.landing-next__actions .landing-next__primary:focus-visible { background: var(--paper); }

@media (max-width: 1050px) {
    .landing-heading,.landing-definition__layout,.landing-system header,.landing-build__inner,.landing-indexing__copy,.landing-budget__inner { grid-template-columns: 1fr; }
    .landing-heading h2,.landing-heading > p:last-child,.landing-system header h2,.landing-system header > p:last-child,.landing-indexing__copy h2,.landing-indexing__copy > p:last-child { grid-column: 1; }
    .landing-heading h2,.landing-system header h2,.landing-indexing__copy h2 { margin-top: 30px; }
    .landing-definition__copy { position: static; }
    .message-engine__stage { grid-template-columns: 1fr; }
    .message-reading { min-height: 0; border-left: 0; border-top: 1px solid rgba(8,8,8,.2); }
    .message-preview { width: min(760px,calc(100% - 72px)); justify-self: center; }
    .landing-copy__grid { grid-template-columns: 1fr; }
    .landing-copy__lead { min-height: 520px; }
    .landing-build header,.landing-faq header { position: static; }
    .landing-indexing__routes { grid-template-columns: 1fr; }
    .landing-indexing__routes article { min-height: 360px; border-right: 0; border-bottom: 1px solid rgba(8,8,8,.2); }
    .landing-indexing__routes article:last-child { border-bottom: 0; }
    .landing-method__steps { grid-template-columns: repeat(2,1fr); }
    .landing-method__steps li:nth-child(3n) { border-right: 1px solid rgba(8,8,8,.2); }
    .landing-method__steps li:nth-child(2n) { border-right: 0; }
    .landing-method__steps li:nth-child(n+4) { border-bottom: 1px solid rgba(8,8,8,.2); }
    .landing-method__steps li:nth-child(n+5) { border-bottom: 0; }
    .landing-faq { grid-template-columns: 1fr; }
    .landing-related__inner { grid-template-columns: 1fr 1.5fr; padding-block: 48px; }
    .landing-related nav { grid-column: 2; }
    .landing-next__actions { grid-template-columns: 1fr; }
    .landing-next__actions a { min-height: 110px; border-right: 0; border-bottom: 1px solid var(--paper-18); }
}

@media (max-width: 760px) {
    .page-landing { --landing-space: 72px; --landing-gap: 44px; }
    .landing-hero { min-height: auto; padding: 74px 18px 0; }
    .landing-hero__inner { min-height: calc(100svh - 74px); grid-template-rows: auto auto auto auto; border-inline: 0; }
    .landing-hero__meta { min-height: 70px; padding: 18px 0; }
    .landing-hero__meta > span { display: none; }
    .landing-hero__body { padding: 34px 0 28px; }
    .landing-hero h1 { font-size: clamp(2.85rem,12.2vw,4.6rem); line-height: .9; }
    .landing-hero__copy { grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
    .landing-hero__actions { grid-template-columns: 1fr; }
    .landing-action { min-height: 68px; padding-inline: 0; }
    .landing-action + .landing-action { border-left: 0; border-top: 1px solid var(--paper-12); }
    .landing-hero__footer { min-height: 58px; padding-inline: 0; overflow: hidden; gap: 24px; }
    .landing-hero__footer span:nth-child(even) { display: none; }
    .landing-heading h2,.landing-definition h2,.landing-system h2,.landing-build h2,.landing-faq h2,.landing-next h2,.landing-indexing__copy h2,.landing-budget__copy h2 { font-size: clamp(2.75rem,12vw,4.4rem); }
    .message-engine__controls { grid-template-columns: 1fr; }
    .message-source { min-height: 86px; border-right: 0; }
    .message-source:last-child { border-bottom: 0; }
    .message-preview { width: auto; margin: 22px 18px; }
    .message-preview__page { min-height: 430px; padding: 24px 20px; }
    .message-reading { padding: 42px 20px; }
    .message-reading h3 { font-size: clamp(2.25rem,10vw,3.5rem); }
    .message-reading dl div { grid-template-columns: 74px 1fr; }
    .message-reading__status { align-items: flex-start; flex-wrap: wrap; }
    .message-reading__status strong { width: calc(100% - 24px); margin-left: 0; }
    .message-engine__chain { grid-template-columns: 1fr; }
    .message-engine__chain li { min-height: 66px; border-right: 0; border-bottom: 1px solid rgba(8,8,8,.2); }
    .message-engine__chain li:last-child { border-bottom: 0; }
    .landing-system__grid { grid-template-columns: 1fr; }
    .landing-system__grid article { min-height: 330px; border-right: 0; border-bottom: 1px solid var(--paper-18); }
    .landing-system__grid article:nth-child(n+3) { border-bottom: 1px solid var(--paper-18); }
    .landing-system__grid article:last-child { border-bottom: 0; }
    .landing-copy__lead { min-height: 460px; padding: 34px 24px; }
    .landing-copy__grid > ol li { grid-template-columns: 38px 1fr; padding: 24px 20px; }
    .landing-build__matrix { grid-template-columns: 1fr; }
    .landing-build__matrix article { min-height: 190px; border-right: 0; border-bottom: 1px solid var(--paper-18); }
    .landing-build__matrix article:nth-child(n+3) { border-bottom: 1px solid var(--paper-18); }
    .landing-build__matrix article:last-child { border-bottom: 0; }
    .landing-indexing__routes article { min-height: 340px; padding: 30px 24px; }
    .landing-method__steps { grid-template-columns: 1fr; }
    .landing-method__steps li,.landing-method__steps li:nth-child(2n),.landing-method__steps li:nth-child(3n),.landing-method__steps li:nth-child(n+5) { min-height: 250px; border-right: 0; border-bottom: 1px solid rgba(8,8,8,.2); }
    .landing-method__steps li:last-child { border-bottom: 0; }
    .landing-budget__card { min-height: 450px; padding: 34px 24px; }
    .landing-budget__card > strong { white-space: normal; }
    .landing-faq { gap: 54px; }
    .landing-faq summary { min-height: 96px; grid-template-columns: 28px 1fr 18px; gap: 12px; }
    .landing-faq details > p { margin: 0 0 32px 40px; }
    .landing-related { padding-inline: 18px; }
    .landing-related__inner { grid-template-columns: 1fr; gap: 28px; }
    .landing-related nav { grid-column: 1; }
    .landing-next__actions a { min-height: 104px; padding: 24px 18px; }
}

@media (prefers-reduced-motion: reduce) {
    .landing-action,.message-source,.message-source::after,.message-preview__page,.landing-faq summary i,.landing-faq summary i::after { transition: none; }
    .message-engine.is-updating .message-reading__status i { animation: none; }
}
