.approach-v2 {
  --approach-ink: var(--livi-text);
  --approach-muted: var(--livi-muted);
  --approach-rule: var(--livi-rule);
  --approach-rule-strong: var(--livi-rule-strong);
  --formats-ink: var(--livi-text);
  --formats-muted: var(--livi-muted);
  --formats-rule: var(--livi-rule);
  --approach-parallax-y: 0px;
  position: relative;
  overflow: clip;
  color: var(--approach-ink);
  background: var(--livi-bg);
}

.approach-v2 .container { width: min(var(--livi-content-max), calc(100% - var(--livi-page-pad) - var(--livi-page-pad))); max-width: none; margin-inline: auto; }
.approach-v2 section { position: relative; isolation: isolate; }
.approach-v2 p { margin-top: 0; }
.approach-v2 h1,
.approach-v2 h2,
.approach-v2 h3 { color: var(--approach-ink); }
.approach-v2 .livi-body { max-width: 62ch; margin-top: 28px; }
.approach-v2 .livi-kicker { margin-bottom: 26px; color: var(--approach-ink); }
.approach-v2 .livi-section-title { max-width: 14ch; }
.approach-v2 .livi-scene:not(.approach-v2__hero) { min-height: 0; padding-block: var(--livi-scene-pad-y); }

.approach-v2::before {
  display: none;
}

.approach-v2__hero { box-sizing: border-box; display: flex; align-items: stretch; min-height: 100svh; padding-block: 0; overflow: hidden; }
.approach-v2__hero-visual { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.approach-v2__hero-visual::after { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 78% 25%, rgba(221, 210, 197, .09), transparent 28%), linear-gradient(90deg, #050505 3%, rgba(5, 5, 5, .86) 39%, rgba(5, 5, 5, .24) 100%); }
.approach-v2__hero-visual::before { display: none; }
.approach-v2__hero-visual img { width: 100%; height: 100%; object-fit: cover; opacity: 1; filter: none; transform: translate3d(0, calc(var(--approach-parallax-y) * -.11), 0) scale(1.04); }
.approach-v2__hero-layout { position: relative; display: flex; flex: 0 1 auto; width: min(var(--livi-content-max), calc(100% - var(--livi-page-pad) - var(--livi-page-pad))); flex-direction: column; justify-content: center; min-height: 0; box-sizing: border-box; padding: clamp(112px, 8vw, 136px) 0 clamp(42px, 4vw, 64px); }
.approach-v2__hero-copy { width: min(800px, 100%); }
.approach-v2__hero-copy h1 { max-width: 16ch; margin: 0; font-size: clamp(44px, 3.7vw, 62px); }
.approach-v2__hero-copy .livi-body { max-width: 61ch; }
.approach-v2__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-top: 28px; }
.approach-v2__hero-markers { position: absolute; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; width: min(920px, 100%); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--approach-rule); counter-reset: marker; }
.approach-v2__hero-markers li { position: relative; padding: 16px 18px 0 0; color: var(--approach-muted); font-family: var(--livi-font-display); font-size: clamp(18px, 1.6vw, 24px); }
.approach-v2__hero-markers li::before { display: block; margin-bottom: 12px; color: var(--approach-ink); font-family: var(--livi-font-body); font-size: 10px; letter-spacing: .12em; content: "0" counter(marker); counter-increment: marker; }

.approach-foundation { display: flex; align-items: center; overflow: hidden; }
.approach-foundation__layout { display: grid; grid-template-columns: minmax(280px, .76fr) minmax(360px, 1fr); gap: clamp(48px, 8vw, 132px); align-items: center; }
.approach-foundation__copy { max-width: 54ch; color: var(--approach-muted); font-size: var(--livi-type-body); line-height: var(--livi-leading-body); }
.approach-foundation__copy p + p { margin-top: 24px; }
.approach-foundation__closing { color: var(--approach-ink); font-family: var(--livi-font-display); font-size: clamp(24px, 2.3vw, 38px); line-height: 1.12; }

.approach-section-heading { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(360px, 1fr); gap: 30px clamp(64px, 10vw, 190px); align-items: end; }
.approach-section-heading .livi-kicker { grid-column: 1 / -1; margin-bottom: 26px; }
.approach-section-heading .livi-body { margin: 0; }

.approach-decisions { display: flex; align-items: flex-start; }
.approach-decisions .approach-section-heading { display: block; }
.approach-decisions .approach-section-heading .livi-section-title { max-width: 25ch; width: 100%; }
.approach-decisions__framework { display: grid; grid-template-columns: minmax(300px, .86fr) minmax(420px, 1.14fr); gap: clamp(42px, 6vw, 92px); align-items: center; margin-top: clamp(30px, 2.8vw, 44px); }
.approach-decisions__tabs { display: grid; align-content: start; }
.approach-decisions__tab { position: relative; display: grid; grid-template-columns: 44px 1fr; gap: 16px; min-height: 68px; padding: 13px 0; border: 0; border-top: 1px solid var(--approach-rule); color: var(--approach-muted); background: transparent; cursor: pointer; text-align: left; transition: color var(--livi-motion-fast) var(--livi-ease-ui); }
.approach-decisions__tab:last-child { border-bottom: 1px solid var(--approach-rule); }
.approach-decisions__tab span { padding-top: 6px; font-size: 10px; letter-spacing: .11em; }
.approach-decisions__tab strong { font-family: var(--livi-font-display); font-size: clamp(25px, 2.3vw, 36px); font-weight: 400; letter-spacing: var(--livi-display-tracking); line-height: 1.04; }
.approach-decisions__tab[aria-selected="true"] { color: var(--approach-ink); }
.approach-decisions__panels { display: flex; }
.approach-decisions__panel { display: flex; flex: 1; flex-direction: column; max-width: 62ch; min-height: 100%; padding: clamp(8px, 1.2vw, 18px) 0 clamp(8px, 1.2vw, 18px) clamp(32px, 4vw, 64px); border-left: 1px solid var(--approach-rule-strong); color: var(--approach-muted); font-size: var(--livi-type-body); line-height: var(--livi-leading-body); }
.approach-decisions__panel + .approach-decisions__panel { margin-top: 20px; }
.approach-decisions__prompt { margin-bottom: 18px; color: var(--approach-ink); }
.approach-decisions__meta { margin: 0; padding-top: clamp(24px, 2.5vw, 38px); color: var(--approach-ink); font-size: 11px; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.approach-decisions__framework.is-enhanced .approach-decisions__panel { display: none; margin-top: 0; }
.approach-decisions__framework.is-enhanced .approach-decisions__panel.is-active { display: flex; animation: approach-panel-in var(--livi-motion-panel) var(--livi-ease-out); }

.approach-intent { overflow: hidden; }
.approach-intent__layout { display: grid; grid-template-columns: minmax(280px, .74fr) minmax(420px, 1fr); gap: 36px clamp(48px, 8vw, 132px); align-items: start; }
.approach-intent .approach-section-heading { display: block; }
.approach-intent .approach-section-heading .livi-kicker { margin-bottom: 8px; }
.approach-intent .approach-section-heading .livi-body { margin-top: 28px; }
.approach-intent__path { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: path; }
.approach-intent__path li { position: relative; min-height: 56px; padding: 12px 0 12px 58px; color: var(--approach-ink); font-family: var(--livi-font-display); font-size: var(--livi-type-card); line-height: 1.1; }
.approach-intent__path li::before { position: absolute; top: 18px; left: -5px; width: 9px; height: 9px; border-radius: 50%; background: var(--approach-ink); content: ""; }
.approach-intent__path li::after { position: absolute; top: 18px; left: 20px; color: var(--approach-muted); font-family: var(--livi-font-body); font-size: 9px; letter-spacing: .1em; content: "0" counter(path); counter-increment: path; }
.approach-intent__links { display: flex; flex-wrap: wrap; gap: 14px; grid-column: 1; justify-content: flex-start; margin-top: 4px; }
.approach-intent__cta { display: inline-flex; align-items: center; gap: 16px; min-height: 50px; }
.approach-intent__cta span { font-size: 17px; line-height: 1; }

.approach-receives__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: clamp(46px, 5vw, 76px); }
.approach-receives__item { position: relative; padding: 22px clamp(20px, 2.4vw, 40px) 22px 0; border-top: 1px solid var(--approach-rule); transition: color var(--livi-motion-fast) var(--livi-ease-ui), background-color var(--livi-motion-fast) var(--livi-ease-ui); }
.approach-receives__item + .approach-receives__item { padding-left: clamp(20px, 2.4vw, 40px); border-left: 1px solid var(--approach-rule); }
.approach-receives__item > span { color: var(--approach-muted); font-size: 10px; letter-spacing: .1em; }
.approach-receives__item h3 { margin: 28px 0 16px; }
.approach-receives__item p { max-width: 26ch; margin: 0; color: var(--approach-muted); }
.approach-receives__item::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--approach-ink); content: ""; transform: scaleX(0); transform-origin: left center; transition: transform var(--livi-motion-fast) var(--livi-ease-ui); }

.approach-layers { overflow: hidden; }
.approach-layers__layout { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(460px, 1fr); gap: clamp(48px, 8vw, 132px); align-items: center; }
.approach-layers .approach-section-heading { display: block; }
.approach-layers .approach-section-heading .livi-kicker { margin-bottom: 26px; }
.approach-layers__stack { position: relative; display: grid; gap: 0; }
.approach-layers__stack::before { display: none; }
.approach-layers__item { display: grid; grid-template-columns: 52px minmax(200px, .6fr) minmax(0, 1fr); gap: 18px; align-items: baseline; min-height: 96px; padding: 21px 0; border-top: 1px solid var(--approach-rule); }
.approach-layers__item:last-child { border-bottom: 1px solid var(--approach-rule); }
.approach-layers__item > span { position: relative; z-index: 1; color: var(--approach-ink); font-size: 10px; letter-spacing: .1em; }
.approach-layers__item h3 { margin: 0; }
.approach-layers__item p { margin: 0; color: var(--approach-muted); }

.approach-proof { display: flex; align-items: center; padding-block: clamp(64px, 5vw, 86px) !important; }
.approach-proof__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .52fr); gap: 18px clamp(48px, 7vw, 118px); align-items: end; text-align: left; }
.approach-proof__heading .livi-kicker { margin-bottom: 26px; }
.approach-proof__heading .livi-section-title { max-width: 820px; }
.approach-proof__heading .livi-body { justify-self: end; max-width: 42ch; margin: 0; }
.approach-proof > .container { box-sizing: border-box; padding-inline: var(--livi-case-inline-inset); }
.approach-proof__case-work { margin-top: clamp(30px, 3vw, 48px); }
.approach-proof__case-work .formats-case-work__media img { filter: grayscale(.3) saturate(.72) contrast(1.05); transition: transform var(--livi-motion-reveal) var(--livi-ease-out); }

.approach-contact { background: var(--livi-bg); }
.approach-contact .livi-contact__layout { grid-template-columns: minmax(360px, 1.07fr) minmax(400px, .93fr); gap: var(--livi-gap-lg); }
.approach-contact .livi-contact__copy { padding-right: 0; border-right: 0; }
.approach-contact .livi-contact__title { max-width: 16ch; font-size: clamp(42px, 3.25vw, 54px); }
.approach-contact .livi-contact__copy > p:not(.livi-contact__eyebrow):not(.livi-contact__formats) { max-width: 50ch; margin-top: 24px; }
.approach-contact__presentation { margin-top: 24px; }

.approach-v2 .approach-reveal { opacity: 0; transform: translateY(22px); transition: opacity var(--livi-motion-reveal) var(--livi-ease-out), transform var(--livi-motion-reveal) var(--livi-ease-out); }
.approach-v2 .approach-reveal.is-visible { opacity: 1; transform: none; }
.approach-v2 :focus-visible { outline: 1px solid var(--approach-ink); outline-offset: 5px; }

@keyframes approach-panel-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

@media (hover: hover) {
  .approach-decisions__tab:hover { color: var(--formats-ink); }
  .approach-intent__cta:hover { transform: translateY(-2px); }
  .approach-proof__case-work .formats-case-work__panel:hover .formats-case-work__media img { transform: scale(1.03); }
  .approach-layers__item:hover { background: rgba(240, 237, 232, .04); }
  .approach-receives__item:hover { background: rgba(240, 237, 232, .045); }
  .approach-receives__item:hover::after { transform: scaleX(1); }
  .approach-receives__item:hover h3 { color: var(--approach-ink); }
}

@media (max-width: 1023px) {
  .approach-foundation__layout,
  .approach-decisions__framework,
  .approach-intent__layout,
  .approach-layers__layout,
  .approach-proof__heading { grid-template-columns: 1fr; }
  .approach-section-heading { grid-template-columns: 1fr; }
  .approach-section-heading .livi-kicker { grid-column: auto; }
  .approach-section-heading .livi-section-title { max-width: 13ch; }
  .approach-intent__links { grid-column: auto; }
  .approach-decisions__framework { gap: 42px; }
  .approach-receives__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .approach-receives__item:nth-child(3) { padding-left: 0; border-left: 0; }
  .approach-layers__stack { max-width: 760px; }
  .approach-proof__heading .livi-body { justify-self: start; }
  .approach-contact .livi-contact__layout { grid-template-columns: 1fr; }
}

@media (max-width: 1199px) {
  .approach-contact .livi-contact__layout { grid-template-columns: 1fr; }
  .approach-contact .livi-contact__copy { padding: 0 0 52px; border-right: 0; border-bottom: 1px solid var(--livi-rule-strong); }
}

@media (min-width: 768px) and (max-height: 800px) {
  .approach-v2__hero-markers { display: none; }
}

@media (max-width: 767px) {
  .approach-v2 .livi-scene:not(.approach-v2__hero) { padding-block: 78px; }
  .approach-v2__hero { min-height: 100svh; }
  .approach-v2__hero-layout { min-height: 0; padding-block: 92px 36px; }
  .approach-v2__hero-copy h1 { max-width: none; }
  .approach-v2__hero-copy .livi-body { margin-top: 18px; font-size: 15px; }
  .approach-v2__actions { margin-top: 28px; }
  .approach-v2__hero-visual::after { background: linear-gradient(90deg, rgba(5, 5, 5, .92), rgba(5, 5, 5, .5)), linear-gradient(180deg, rgba(5, 5, 5, .22), #050505 92%); }
  .approach-v2__hero-markers { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 54px; }
  .approach-v2__hero-markers li { min-height: 76px; padding-top: 16px; font-size: 20px; }
  .approach-foundation,
  .approach-decisions,
  .approach-intent,
  .approach-receives,
  .approach-layers,
  .approach-proof { min-height: 0; }
  .approach-foundation__layout { gap: 38px; }
  .approach-foundation__copy { font-size: 16px; }
  .approach-section-heading .livi-section-title { max-width: none; }
  .approach-decisions__tabs { display: flex; overflow-x: auto; border-top: 1px solid var(--approach-rule); scrollbar-width: none; }
  .approach-decisions__tabs::-webkit-scrollbar { display: none; }
  .approach-decisions__tab { flex: 0 0 164px; grid-template-columns: 1fr; min-height: 110px; padding: 16px; border: 0; border-right: 1px solid var(--approach-rule); }
  .approach-decisions__tab:last-child { border-bottom: 0; }
  .approach-decisions__tab[aria-selected="true"] { background: transparent; }
  .approach-decisions__tab strong { font-size: 26px; }
  .approach-decisions__panel { padding: 28px 0 0; border-left: 0; }
  .approach-decisions__prompt { font-size: 32px; }
  .approach-intent__path li { min-height: 64px; padding-left: 48px; font-size: 24px; }
  .approach-intent__path li::after { left: 16px; }
  .approach-receives__list { grid-template-columns: 1fr; margin-top: 44px; }
  .approach-receives__item,
  .approach-receives__item + .approach-receives__item,
  .approach-receives__item:nth-child(3) { min-height: 0; padding: 26px 0; border-left: 0; }
  .approach-receives__item h3 { margin: 22px 0 14px; }
  .approach-layers__item { grid-template-columns: 42px 1fr; gap: 10px; min-height: 0; }
  .approach-layers__item p { grid-column: 2; }
  .approach-proof__heading { gap: 24px; }
  .approach-v2 .livi-text-link { font-size: var(--livi-type-action); }
}

@media (prefers-reduced-motion: reduce) {
  .approach-v2 *,
  .approach-v2 *::before,
  .approach-v2 *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; transform: none !important; }
  .approach-v2 .approach-reveal { opacity: 1; }
}
