.offer-page { background: var(--ink); }

.desktop-nav a[aria-current="page"] { color: var(--signal); }

.offer-hero { position: relative; min-height: calc(100svh - var(--header-height)); overflow: hidden; background: var(--ink); }
.offer-hero::before, .offer-directions::before, .offer-entry::before { position: absolute; inset: 0; pointer-events: none; content: ""; background-image: linear-gradient(to right, transparent calc(100% - 1px), rgba(244,235,221,.055) 1px); background-size: calc(100% / 12) 100%; }
.offer-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; align-items: center; min-height: calc(100svh - var(--header-height) - 50px); padding-block: clamp(70px, 8vw, 126px); }
.offer-hero-copy { max-width: 1120px; }
.offer-hero h1, .offer-section-heading h2, .directions-intro h2, .stack-copy h2, .entry-grid h2 { margin: 0; font-family: var(--display); font-weight: 400; letter-spacing: -.065em; line-height: .93; text-transform: uppercase; }
.offer-hero h1 { max-width: 1100px; font-size: clamp(60px, 8vw, 126px); }
.offer-hero h1 span { display: block; color: #b8ae9f; }
.offer-lead { max-width: 760px; margin: 34px 0 0; color: #c8c1b6; font-size: clamp(18px, 1.35vw, 23px); line-height: 1.48; }
.offer-ticker { position: relative; z-index: 2; display: flex; align-items: center; gap: 20px; min-height: 50px; padding-inline: max(32px, calc((100vw - 1440px)/2)); border-top: 1px solid var(--dark-line); color: var(--ash); font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.offer-ticker i { width: 34px; height: 1px; background: var(--signal); }

.offer-path, .offer-directions, .offer-stack, .offer-entry { position: relative; overflow: hidden; }
.offer-section-heading { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; gap: 22px; padding-block: clamp(74px, 8vw, 126px) clamp(48px, 5vw, 76px); border-bottom: 1px solid var(--paper-line); }
.offer-section-heading > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .36fr); gap: clamp(40px, 7vw, 110px); align-items: start; }
.offer-section-heading h2, .directions-intro h2 { color: var(--ink); font-size: clamp(48px, 5.6vw, 88px); }
.offer-section-heading p:not(.scene-label), .directions-intro > p:last-child { margin: 5px 0 0; color: #4b4842; font-size: clamp(18px, 1.3vw, 21px); line-height: 1.45; }
.offer-steps { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); padding-block: clamp(58px, 7vw, 110px); }
.offer-steps li { min-height: 300px; padding: clamp(24px, 3vw, 46px); border: 1px solid var(--paper-line); list-style: none; }
.offer-steps li + li { border-left: 0; }
.offer-steps span, .direction-top { color: #b43e20; font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.offer-steps strong { display: block; margin-top: clamp(50px, 7vw, 92px); color: var(--ink); font-family: var(--display); font-size: clamp(32px, 3.6vw, 56px); font-weight: 400; letter-spacing: -.055em; line-height: .95; text-transform: uppercase; }
.offer-steps p { margin: 18px 0 0; color: #4c4943; font-size: 18px; line-height: 1.48; }

.offer-directions { padding-block: var(--section-space); }
.offer-directions::before, .offer-entry::before { background-image: linear-gradient(to right, transparent calc(100% - 1px), rgba(11,14,12,.05) 1px); }
.directions-intro { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .4fr); gap: clamp(40px, 7vw, 112px); align-items: end; }
.directions-intro .scene-label { grid-column: 1 / -1; }
.direction-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2vw, 34px); margin-top: clamp(54px, 7vw, 104px); }
.direction-card { position: relative; min-height: 900px; padding: clamp(30px, 4vw, 62px); overflow: hidden; }
.direction-card--requests { background: var(--ink); color: var(--cream); }
.direction-card--trust { background: var(--signal); color: var(--ink); }
.direction-card::after { position: absolute; right: -110px; bottom: -110px; width: 270px; height: 270px; border: 1px solid currentColor; border-radius: 50%; content: ""; opacity: .15; }
.direction-top { display: flex; gap: 16px; align-items: center; color: #d56343; }
.direction-top i { flex: 1; height: 1px; background: var(--dark-line); }
.direction-card--trust .direction-top { color: #67200e; }
.direction-card--trust .direction-top i { background: rgba(11,14,12,.3); }
.service-kicker { margin: 54px 0 20px!important; color: inherit!important; font-family: var(--mono); font-size: 10px!important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .72; }
.direction-card h3 { max-width: 650px; margin: 0; font-family: var(--display); font-size: clamp(40px, 4.2vw, 68px); font-weight: 400; letter-spacing: -.06em; line-height: .93; text-transform: uppercase; }
.direction-card > p { max-width: 650px; margin: 28px 0 0; color: #beb8ae; font-size: 18px; }
.direction-card--trust > p { color: #271611; }
.direction-card h4 { margin: 34px 0 0; padding-top: 24px; border-top: 1px solid var(--dark-line); font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.direction-card--trust h4 { border-color: rgba(11,14,12,.32); }
.direction-card ul { display: grid; gap: 12px; margin: 30px 0 0; padding: 26px 0 0; border-top: 1px solid var(--dark-line); list-style: none; }
.direction-card h4 + ul { margin-top: 0; padding-top: 18px; border-top: 0; }
.direction-card li { position: relative; padding-left: 22px; color: #d8d1c5; font-family: var(--mono); font-size: 11px; line-height: 1.5; }
.direction-card li::before { position: absolute; left: 0; color: var(--signal); content: "+"; }
.direction-card--trust li { color: var(--ink); }
.direction-card--trust li::before { color: var(--ink); }
.direction-card .service-limit { margin-top: 28px; padding: 18px; border: 1px solid var(--dark-line); color: #aaa59c; font-family: var(--mono); font-size: 10px; }
.direction-card--trust .service-limit { border-color: rgba(11,14,12,.35); color: var(--ink); }
.direction-price { display: flex; align-items: baseline; gap: 9px; margin-top: 42px; }
.direction-price span, .direction-price small { color: var(--ash); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.direction-price strong { color: var(--signal); font-family: var(--display); font-size: clamp(50px, 5vw, 76px); font-weight: 400; letter-spacing: -.055em; line-height: 1; }
.direction-card--trust .direction-price span, .direction-card--trust .direction-price small, .direction-card--trust .direction-price strong { color: var(--ink); }
.direction-card .direction-terms { margin-top: 12px; color: #817e76; font-family: var(--mono); font-size: 10px; }
.direction-card--trust .direction-terms { color: #4f1f13; }
.legal-note { position: relative; z-index: 1; margin-top: 24px; color: #5a554d; font-family: var(--mono); font-size: 10px; letter-spacing: .02em; }

.service-index-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; margin-top: clamp(54px, 7vw, 104px); background: #9c9284; border: 2px solid #9c9284; }
.service-index-card { display: flex; min-height: 520px; flex-direction: column; padding: clamp(28px, 4vw, 56px); color: var(--cream); text-decoration: none; transition: transform 180ms var(--ease-out), filter 180ms var(--ease-out); }
.service-index-card:hover { position: relative; z-index: 2; transform: translateY(-7px); filter: brightness(1.06); }
.service-index-card--check { background: var(--ink); }
.service-index-card--site { background: #2f5143; }
.service-index-card--requests { background: #173048; }
.service-index-card--reviews { background: var(--signal); color: var(--ink); }
.service-index-card > span { font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.service-index-mark { display: grid; width: 78px; height: 78px; margin-top: 56px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: var(--display); font-size: 38px; }
.service-index-price { display: flex; align-items: baseline; gap: 10px; margin-top: 56px; }
.service-index-price b { font-family: var(--display); font-size: clamp(54px, 5vw, 78px); font-weight: 400; letter-spacing: -.055em; line-height: 1; }
.service-index-price small { font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.service-index-card h3 { max-width: 650px; margin: 32px 0 0; font-family: var(--display); font-size: clamp(38px, 4vw, 62px); font-weight: 400; letter-spacing: -.055em; line-height: .94; text-transform: uppercase; }
.service-index-card p { max-width: 610px; margin: 24px 0 0; color: inherit; font-size: 18px; opacity: .78; }
.service-index-card > strong { display: flex; justify-content: space-between; margin-top: auto; padding-top: 26px; border-top: 1px solid currentColor; font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }

.offer-stack { padding-block: var(--section-space); }
.stack-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(70px, 9vw, 150px); align-items: start; }
.stack-copy { position: sticky; top: calc(var(--header-height) + 50px); }
.stack-copy h2 { font-size: clamp(48px, 5.2vw, 82px); }
.stack-copy > p:not(.scene-label) { max-width: 650px; margin: 30px 0 36px; color: #bdb7ad; }
.stack-ledger { border-top: 2px solid var(--cream); }
.stack-ledger > div { display: grid; grid-template-columns: 44px minmax(0, .8fr) minmax(220px, 1fr); gap: 24px; padding-block: 34px; border-bottom: 1px solid var(--dark-line); }
.stack-ledger span { color: var(--signal); font-family: var(--mono); font-size: 9px; }
.stack-ledger strong { font-family: var(--display); font-size: clamp(24px, 2.3vw, 38px); font-weight: 400; letter-spacing: -.045em; line-height: 1; text-transform: uppercase; }
.stack-ledger p { margin: 0; color: #aaa59c; font-size: 17px; }

.offer-entry { padding-block: var(--section-space); }
.entry-grid h2 { color: var(--ink); font-size: clamp(46px, 5vw, 80px); }
.entry-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .62fr); gap: clamp(64px, 10vw, 170px); align-items: start; }
.entry-grid > div:last-child > p { margin: 0 0 22px; color: #49453f; font-size: clamp(18px, 1.4vw, 22px); }
.entry-actions { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; margin-top: 36px; }

@media (max-width: 1100px) {
  .directions-intro { grid-template-columns: 1fr; }
  .direction-card { min-height: 930px; }
}

@media (max-width: 940px) {
  .stack-grid, .entry-grid { grid-template-columns: 1fr; }
  .offer-hero-grid { padding-block: 72px; }
  .offer-section-heading > div { grid-template-columns: 1fr; gap: 28px; }
  .offer-steps { grid-template-columns: 1fr; }
  .offer-steps li { min-height: 230px; }
  .offer-steps li + li { border-top: 0; border-left: 1px solid var(--paper-line); }
  .offer-steps strong { margin-top: 44px; }
  .direction-grid { grid-template-columns: 1fr; }
  .service-index-grid { grid-template-columns: 1fr; }
  .direction-card { min-height: auto; }
  .stack-copy { position: static; }
  .entry-grid { gap: 56px; }
}

@media (max-width: 620px) {
  .offer-hero h1 { font-size: clamp(48px, 14vw, 68px); }
  .offer-hero h1 span { margin-top: 6px; }
  .offer-lead { margin-top: 26px; }
  .offer-ticker { padding-inline: 16px; gap: 10px; font-size: 7px; }
  .offer-ticker i { width: 14px; }
  .offer-section-heading h2, .directions-intro h2, .stack-copy h2, .entry-grid h2 { font-size: clamp(40px, 12vw, 56px); }
  .direction-card { padding: 28px 22px 38px; }
  .service-index-card { min-height: 430px; padding: 28px 22px; }
  .direction-card h3 { font-size: clamp(38px, 11.5vw, 52px); }
  .stack-ledger > div { grid-template-columns: 34px 1fr; gap: 14px; }
  .stack-ledger p { grid-column: 2; }
  .entry-actions { align-items: stretch; }
  .entry-actions .action { width: 100%; }
}

/* Presenza Attiva — offer architecture v3 */
.offer-hero--compact { min-height: auto; }
.offer-hero--compact .offer-hero-grid { min-height: 0; padding-block: clamp(80px,10vw,150px); }
.plan-section { position: relative; padding-block: var(--section-space); }
.plans-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.38fr); gap:clamp(36px,7vw,110px); align-items:end; }
.plans-heading .scene-label { grid-column:1/-1; }
.plans-heading h2,.pro-grid h2,.compact-heading h2 { margin:0; font-family:var(--display); font-size:clamp(48px,6vw,92px); font-weight:400; letter-spacing:-.065em; line-height:.91; text-transform:uppercase; }
.plans-heading > p:last-child { color:#514d46; font-size:clamp(18px,1.35vw,22px); line-height:1.5; }
.plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:clamp(50px,7vw,100px); }
.plan { display:grid; min-width:0; grid-template-rows:auto 1fr auto; padding:clamp(26px,3.7vw,54px); }
.plan--requests { background:#132b3f; color:var(--cream); }
.plan--trust { background:var(--signal); color:var(--ink); }
.plan-head > p:first-child { margin:0 0 36px; font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:.12em; }
.plan-head h3 { min-height:clamp(100px,10vw,145px); margin:0; font-family:var(--display); font-size:clamp(40px,4.5vw,70px); font-weight:400; letter-spacing:-.06em; line-height:.91; text-transform:uppercase; }
.plan-head .plan-title-long { font-size:clamp(34px,3.55vw,55px); line-height:.94; }
.plan-head > p:last-child { max-width:590px; margin:22px 0 0; font-size:18px; opacity:.78; }
.plan-price { display:flex; gap:10px; align-items:baseline; margin-top:34px; }
.plan-price strong { font-family:var(--display); font-size:clamp(48px,5vw,76px); font-weight:400; letter-spacing:-.055em; }
.plan-price span { font-family:var(--mono); font-size:9px; text-transform:uppercase; }
.feature-links { display:grid; grid-template-rows:repeat(6,minmax(88px,1fr)); margin-top:38px; border-top:1px solid currentColor; }
.feature-links a { position:relative; display:grid; grid-template-columns:30px minmax(0,1fr) 24px; gap:14px; align-items:center; min-height:88px; padding-block:15px; border-bottom:1px solid currentColor; color:inherit; text-decoration:none; }
.feature-links a::after { position:absolute; right:40px; bottom:9px; left:44px; overflow:hidden; color:inherit; content:attr(data-preview); font-family:var(--mono); font-size:8px; line-height:1.35; opacity:0; pointer-events:none; transform:translateY(3px); transition:opacity 160ms var(--ease-out),transform 160ms var(--ease-out); }
.feature-links a:hover::after,.feature-links a:focus-visible::after { opacity:.8; transform:none; }
.feature-links a small { transition:opacity 120ms var(--ease-out); }
.feature-links a:hover small,.feature-links a:focus-visible small { opacity:0; }
.feature-links a:hover strong,.feature-links a:focus-visible strong { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; }
.feature-links span,.feature-links small { font-family:var(--mono); font-size:8px; letter-spacing:.06em; opacity:.68; }
.feature-links strong { display:block; font-family:var(--display); font-size:clamp(20px,2vw,29px); font-weight:400; letter-spacing:-.035em; line-height:1; text-transform:uppercase; }
.feature-links small { display:block; margin-top:7px; }
.feature-links b { font-size:22px; font-weight:400; }
.feature-links .feature-shared { background:rgba(255,255,255,.055); }
.plan--trust .feature-links .feature-shared { background:rgba(11,14,12,.07); }
.plan-terms { margin:28px 0 0; font-family:var(--mono); font-size:9px; line-height:1.6; opacity:.72; }
.pro-strip { padding-block:var(--section-space); }
.pro-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.68fr); gap:clamp(50px,8vw,130px); }
.pro-grid > div > p:last-child { max-width:650px; color:#bcb6ac; font-size:19px; }
.pro-grid ul { margin:0; padding:0; border-top:1px solid var(--dark-line); list-style:none; }
.pro-grid li { display:flex; justify-content:space-between; gap:20px; padding:24px 0; border-bottom:1px solid var(--dark-line); }
.pro-grid li strong { font-family:var(--display); font-size:28px; font-weight:400; text-transform:uppercase; }
.pro-grid li span { color:#aaa59c; text-align:right; }
.pro-side { display:grid; gap:30px; align-content:start; }
.pro-action { width:max-content; margin-top:34px; }
.comparison { padding-block:var(--section-space); }
.compact-heading { display:flex; justify-content:space-between; gap:40px; align-items:end; }
.compare-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; margin-top:50px; background:#9c9284; border:2px solid #9c9284; }
.compare-grid article { min-height:310px; padding:clamp(28px,4vw,54px); background:var(--paper); }
.compare-grid strong { color:#b43e20; font-family:var(--mono); font-size:11px; }
.compare-grid h3 { margin:70px 0 18px; font-family:var(--display); font-size:clamp(30px,3vw,48px); font-weight:400; letter-spacing:-.05em; line-height:.95; text-transform:uppercase; }
.compare-grid p { max-width:560px; margin:0; color:#514d46; font-size:17px; }
@media(max-width:940px){.plans-heading,.plan-grid,.pro-grid{grid-template-columns:1fr}.pro-grid>a{grid-column:1}.compare-grid{grid-template-columns:1fr}}
@media(max-width:620px){.plans-heading{grid-template-columns:1fr}.compact-heading{display:block}.plan{padding:28px 20px}.plan-head h3{min-height:0}.plan-head .plan-title-long{font-size:clamp(34px,10.5vw,48px)}.feature-links a{min-height:82px}.feature-links a::after{display:none}.compare-grid article{min-height:270px}}
