/* ======================================================================
   Weblance Flux V5
   Multi-page cinematic layer. It extends assets/styles.css without
   changing the homepage choreography.
   ====================================================================== */

:root {
  --v5-tone: var(--accent);
  --v5-tone-soft: rgba(242, 116, 82, .18);
  --v5-tone-faint: rgba(242, 116, 82, .075);
  --v5-dark: #151515;
  --v5-dark-2: #1c1b1a;
  --v5-paper: #f7f2eb;
  --v5-radius: clamp(22px, 2.4vw, 38px);
  --v5-title: clamp(3.35rem, 7.35vw, 8.7rem);
  --v5-h2: clamp(2.4rem, 5.1vw, 6.2rem);
  --v5-h3: clamp(1.35rem, 2vw, 2.15rem);
}

.wl-tone--coral { --v5-tone: #f27452; --v5-tone-soft: rgba(242,116,82,.2); --v5-tone-faint: rgba(242,116,82,.08); }
.wl-tone--blue { --v5-tone: #6d9fed; --v5-tone-soft: rgba(109,159,237,.2); --v5-tone-faint: rgba(109,159,237,.08); }
.wl-tone--sage { --v5-tone: #9ab69c; --v5-tone-soft: rgba(154,182,156,.22); --v5-tone-faint: rgba(154,182,156,.09); }
.wl-tone--rose { --v5-tone: #dc8fa4; --v5-tone-soft: rgba(220,143,164,.22); --v5-tone-faint: rgba(220,143,164,.09); }
.wl-tone--violet { --v5-tone: #a28ae9; --v5-tone-soft: rgba(162,138,233,.22); --v5-tone-faint: rgba(162,138,233,.09); }
.wl-tone--electric { --v5-tone: #eea73f; --v5-tone-soft: rgba(238,167,63,.23); --v5-tone-faint: rgba(238,167,63,.09); }
.wl-tone--ink { --v5-tone: #f27452; --v5-tone-soft: rgba(242,116,82,.22); --v5-tone-faint: rgba(242,116,82,.08); }

body.is-mega-open { overflow: hidden; }
.wl-v5-page { position: relative; isolation: isolate; min-height: 100vh; background: var(--cream); }
.wl-v5-page main { position: relative; z-index: 1; }
.wl-v5-page h1,
.wl-v5-page h2,
.wl-v5-page h3,
.wl-v5-page p { overflow-wrap: break-word; }
.wl-v5-page :focus-visible { outline: 2px solid var(--v5-tone); outline-offset: 5px; }
.wl-v5-section { position: relative; padding: clamp(96px, 11vw, 180px) 0; }
.wl-v5-page .wl-kicker::before,
.wl-v5-page .wl-eyebrow::before { background: var(--v5-tone); }
.wl-v5-page .wl-kicker,
.wl-v5-page .wl-eyebrow { color: var(--ink-soft); }
.wl-v5-page .wl-button--accent { background: var(--v5-tone); box-shadow: 0 18px 50px var(--v5-tone-soft); }
.wl-v5-page .wl-text-link span { color: var(--v5-tone); }

/* Header additions and dark treatment. */
.wl-nav__more {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 0;
  border: 0;
  background: transparent;
  font-size: .88rem;
  font-weight: 680;
  cursor: pointer;
}
.wl-nav__more i { position: relative; width: 15px; height: 15px; border: 1px solid currentColor; border-radius: 50%; transition: transform .35s var(--ease), background .35s ease; }
.wl-nav__more i::before,
.wl-nav__more i::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: 6px; height: 1px; background: currentColor; transform: translate(-50%, -50%); }
.wl-nav__more i::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .35s var(--ease); }
.wl-nav__more[aria-expanded="true"] i { transform: rotate(135deg); background: var(--v5-tone); }
.wl-header--dark:not(.is-scrolled) { color: var(--cream); }
.wl-header--dark:not(.is-scrolled) .wl-brand__mark { background: var(--cream); }
.wl-header--dark:not(.is-scrolled) .wl-brand__mark svg { stroke: var(--ink); }
.wl-header--dark:not(.is-scrolled) > .wl-button--dark { background: var(--cream); color: var(--ink); }
.wl-header--dark:not(.is-scrolled) .wl-menu-toggle { background: var(--cream); }
.wl-header--dark:not(.is-scrolled) .wl-menu-toggle span { background: var(--ink); }
.wl-header--dark.is-scrolled { color: var(--ink); }

/* Full-screen mega navigation. */
.wl-mega-menu {
  position: fixed;
  inset: 0;
  z-index: 1660;
  display: grid;
  align-items: center;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  background: #141414;
  color: var(--cream);
  clip-path: inset(0 0 100% 0);
  transition: clip-path .75s var(--ease), opacity .35s ease, visibility 0s linear .75s;
}
.wl-mega-menu.is-open { visibility: visible; opacity: 1; clip-path: inset(0); transition: clip-path .8s var(--ease), opacity .25s ease; }
.wl-mega-menu::before,
.wl-mega-menu::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.wl-mega-menu::before { background-image: linear-gradient(rgba(244,239,232,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(244,239,232,.055) 1px, transparent 1px); background-size: 64px 64px; }
.wl-mega-menu::after { background: linear-gradient(90deg, transparent 0 69%, rgba(244,239,232,.08) 69% 69.08%, transparent 69.08%); }
.wl-mega-menu__glow { position: absolute; right: -8%; bottom: -35%; width: min(72vw, 1040px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(242,116,82,.52), rgba(242,116,82,.13) 38%, transparent 70%); filter: blur(26px); }
.wl-mega-menu__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(300px, .7fr) minmax(600px, 1.3fr); gap: clamp(60px, 9vw, 150px); align-items: end; padding-top: 110px; }
.wl-mega-menu__lead p,
.wl-mega-menu__columns section > p { margin: 0 0 24px; font-family: ui-monospace, monospace; font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; color: rgba(244,239,232,.5); }
.wl-mega-menu__lead h2 { max-width: 680px; margin: 0 0 34px; font-size: clamp(3.3rem, 6vw, 7.3rem); line-height: .88; letter-spacing: -.073em; }
.wl-mega-menu__lead .wl-text-link { color: var(--cream); }
.wl-mega-menu__columns { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: clamp(28px, 4vw, 68px); }
.wl-mega-menu__columns section { display: grid; align-content: start; }
.wl-mega-menu__columns a { position: relative; padding: 11px 0; border-bottom: 1px solid rgba(244,239,232,.12); font-size: clamp(1rem, 1.25vw, 1.28rem); transition: color .25s ease, padding .35s var(--ease); }
.wl-mega-menu__columns a::after { content: ""; position: absolute; right: 1px; top: 50%; width: 15px; height: 15px; opacity: 0; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 15 15 5M7 5h8v8' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 15 15 5M7 5h8v8' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; transform: translate(-8px,-50%); transition: opacity .25s ease, transform .35s var(--ease); }
.wl-mega-menu__columns a:hover,
.wl-mega-menu__columns a:focus-visible { padding-left: 12px; color: var(--v5-tone); }
.wl-mega-menu__columns a:hover::after,
.wl-mega-menu__columns a:focus-visible::after { opacity: 1; transform: none; }
.wl-mega-menu__close { position: absolute; z-index: 2; top: 28px; right: 30px; display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(244,239,232,.25); border-radius: 50%; background: rgba(244,239,232,.05); cursor: pointer; }
.wl-mega-menu__close span { position: absolute; width: 20px; height: 1px; background: var(--cream); transform: rotate(45deg); }
.wl-mega-menu__close span:last-child { transform: rotate(-45deg); }
.wl-mobile-menu--pages nav { grid-template-columns: 1fr 1fr; gap: 0 24px; }
.wl-mobile-menu--pages nav a { font-size: clamp(1.55rem, 7vw, 3.2rem); }

/* Breadcrumbs. */
.wl-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; max-width: min(820px, 100%); margin: 0 0 clamp(38px, 5vw, 72px); font-family: ui-monospace, monospace; font-size: .68rem; font-weight: 700; letter-spacing: .105em; text-transform: uppercase; color: rgba(23,23,23,.55); }
.wl-breadcrumbs a { transition: color .2s ease; }
.wl-breadcrumbs a:hover { color: var(--v5-tone); }
.wl-breadcrumbs span[aria-hidden="true"] { color: var(--v5-tone); }
.wl-tone--ink .wl-breadcrumbs,
.wl-v5-page--legal .wl-breadcrumbs,
.wl-v5-page--404 .wl-breadcrumbs { color: rgba(244,239,232,.58); }

/* Cinematic inner-page hero. */
.wl-v5-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: max(760px, 100svh);
  overflow: hidden;
  padding: clamp(150px, 16vh, 210px) 0 clamp(145px, 16vh, 210px);
  background: var(--cream);
}
.wl-tone--ink .wl-v5-hero { background: var(--v5-dark); color: var(--cream); }
.wl-v5-hero::before { content: ""; position: absolute; inset: auto -16% -34% auto; width: min(82vw, 1120px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--v5-tone-soft), var(--v5-tone-faint) 38%, transparent 69%); filter: blur(18px); pointer-events: none; }
.wl-v5-hero__grid { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(23,23,23,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(23,23,23,.055) 1px, transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(to bottom, #000 0 80%, transparent); }
.wl-tone--ink .wl-v5-hero__grid,
.wl-v5-page--legal .wl-v5-hero__grid,
.wl-v5-page--404 .wl-v5-hero__grid { background-image: linear-gradient(rgba(244,239,232,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(244,239,232,.055) 1px, transparent 1px); }
.wl-v5-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, .24fr); gap: clamp(40px, 6vw, 100px); align-items: end; }
.wl-v5-hero__inner > .wl-breadcrumbs { grid-column: 1 / -1; margin-bottom: 0; align-self: start; }
.wl-v5-hero__copy { max-width: min(1100px, 79vw); }
.wl-v5-hero__copy h1 {
  max-width: 12.3ch;
  margin: 16px 0 clamp(28px, 3.4vw, 52px);
  font-size: var(--v5-title);
  line-height: .865;
  letter-spacing: -.077em;
  text-wrap: balance;
}
.wl-v5-hero__lead { max-width: 760px; margin: 0; font-size: clamp(1.05rem, 1.55vw, 1.48rem); line-height: 1.62; color: var(--ink-soft); }
.wl-tone--ink .wl-v5-hero__lead { color: rgba(244,239,232,.67); }
.wl-v5-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: clamp(34px, 4.6vw, 62px); }
.wl-v5-hero__index { display: grid; justify-items: end; gap: 16px; padding-bottom: 8px; font-family: ui-monospace, monospace; text-align: right; }
.wl-v5-hero__index span,
.wl-v5-hero__index small { font-size: .65rem; letter-spacing: .15em; color: var(--ink-soft); }
.wl-tone--ink .wl-v5-hero__index span,
.wl-tone--ink .wl-v5-hero__index small { color: rgba(244,239,232,.45); }
.wl-v5-hero__index strong { font-size: clamp(3rem, 6vw, 7rem); line-height: .8; letter-spacing: -.08em; color: var(--v5-tone); }
.wl-v5-hero__orbit { --orbit-x: 0px; --orbit-y: 0px; --orbit-r: 0deg; position: absolute; z-index: 1; right: clamp(-180px, -8vw, -50px); top: 47%; width: clamp(430px, 47vw, 780px); aspect-ratio: 1; transform: translate(var(--orbit-x), calc(-50% + var(--orbit-y))) rotate(var(--orbit-r)); pointer-events: none; opacity: .92; }
.wl-v5-hero__orbit > i { position: absolute; inset: 7%; border: 1px solid rgba(23,23,23,.2); border-radius: 50%; transform: rotate(22deg) scaleY(.38); }
.wl-v5-hero__orbit > i:nth-child(2) { inset: 17%; transform: rotate(-37deg) scaleY(.57); border-color: color-mix(in srgb, var(--v5-tone) 64%, transparent); }
.wl-v5-hero__orbit > i:nth-child(3) { inset: 28%; transform: rotate(69deg) scaleY(.42); }
.wl-tone--ink .wl-v5-hero__orbit > i { border-color: rgba(244,239,232,.21); }
.wl-v5-hero__orbit > span { position: absolute; inset: 27%; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 38% 32%, #fff7ef 0 4%, var(--v5-tone) 24%, color-mix(in srgb, var(--v5-tone) 76%, #ad432b) 63%, #5f271c 100%); box-shadow: inset -34px -40px 70px rgba(48,18,10,.3), 0 55px 120px var(--v5-tone-soft); }
.wl-v5-hero__orbit > span::before { content: ""; position: absolute; inset: -13%; border: 1px solid color-mix(in srgb, var(--v5-tone) 48%, transparent); border-radius: 50%; animation: v5-orbit-pulse 3.6s ease-in-out infinite; }
.wl-v5-hero__orbit b { width: 18%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(255,255,255,.16); box-shadow: 0 0 35px rgba(255,255,255,.28); }
.wl-v5-hero__marquee { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; overflow: hidden; border-top: 1px solid rgba(23,23,23,.12); border-bottom: 1px solid rgba(23,23,23,.12); background: rgba(244,239,232,.52); backdrop-filter: blur(10px); }
.wl-tone--ink .wl-v5-hero__marquee { border-color: rgba(244,239,232,.12); background: rgba(20,20,20,.45); }
.wl-v5-hero__marquee > div { display: flex; width: max-content; gap: 30px; align-items: center; padding: 15px 0; animation: v5-marquee 31s linear infinite; font-family: ui-monospace, monospace; font-size: .68rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.wl-v5-hero__marquee i { color: var(--v5-tone); font-style: normal; }
@keyframes v5-marquee { to { transform: translateX(-50%); } }
@keyframes v5-orbit-pulse { 50% { transform: scale(1.08); opacity: .42; } }

/* Proof rail. */
.wl-v5-proofbar { position: relative; z-index: 3; border-bottom: 1px solid var(--line); background: var(--v5-paper); }
.wl-v5-proofbar .wl-shell { display: grid; grid-template-columns: repeat(3, 1fr); }
.wl-v5-proofbar article { min-height: 174px; padding: 35px clamp(24px, 3vw, 52px); border-left: 1px solid var(--line); }
.wl-v5-proofbar article:last-child { border-right: 1px solid var(--line); }
.wl-v5-proofbar strong { display: block; margin-bottom: 17px; font-size: clamp(1.2rem, 1.65vw, 1.7rem); letter-spacing: -.035em; }
.wl-v5-proofbar p { max-width: 34ch; margin: 0; color: var(--ink-soft); }

/* Reusable section framing. */
.wl-v5-section-head,
.wl-v5-intro__layout { display: grid; grid-template-columns: minmax(110px, .22fr) minmax(0, 1fr); gap: clamp(36px, 7vw, 120px); align-items: start; }
.wl-v5-section-head { margin-bottom: clamp(58px, 8vw, 116px); }
.wl-v5-section-head > div:last-child { max-width: 990px; }
.wl-v5-section-head h2,
.wl-v5-intro h2,
.wl-v5-faq h2,
.wl-v5-spotlight h2 { max-width: 13.2ch; margin: 14px 0 0; font-size: var(--v5-h2); line-height: .92; letter-spacing: -.068em; text-wrap: balance; }
.wl-v5-section-index { display: grid; grid-template-columns: auto 1fr; gap: 9px 16px; align-items: center; min-width: 100px; font-family: ui-monospace, monospace; }
.wl-v5-section-index span { font-size: .72rem; font-weight: 780; color: var(--v5-tone); }
.wl-v5-section-index i { height: 1px; background: currentColor; opacity: .22; }
.wl-v5-section-index small { grid-column: 1/-1; font-size: .62rem; letter-spacing: .14em; color: var(--ink-soft); }
.wl-v5-section-head--light { color: var(--cream); }
.wl-v5-section-head--light .wl-v5-section-index small { color: rgba(244,239,232,.5); }

/* Intro. */
.wl-v5-intro { background: var(--cream); }
.wl-v5-intro h2 { max-width: 14ch; }
.wl-v5-big-copy { max-width: 860px; margin: clamp(36px, 5vw, 70px) 0 0; padding-left: clamp(24px, 4vw, 58px); border-left: 2px solid var(--v5-tone); font-size: clamp(1.15rem, 1.82vw, 1.68rem); line-height: 1.62; color: var(--ink-soft); }

/* Challenge cards. */
.wl-v5-challenges { overflow: hidden; background: var(--v5-paper); }
.wl-v5-challenges::before { content: ""; position: absolute; right: -12%; top: -22%; width: 580px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--v5-tone-soft), transparent 70%); filter: blur(25px); }
.wl-v5-challenge-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.wl-v5-challenge-card { position: relative; min-height: 370px; overflow: hidden; padding: clamp(28px, 3.4vw, 54px); border: 1px solid var(--line); border-radius: var(--v5-radius); background: rgba(255,255,255,.5); box-shadow: 0 30px 90px rgba(32,22,17,.055); transform-style: preserve-3d; transition: transform .5s var(--ease), border-color .35s ease, box-shadow .35s ease; }
.wl-v5-challenge-card:hover { border-color: color-mix(in srgb, var(--v5-tone) 55%, transparent); box-shadow: 0 36px 100px var(--v5-tone-faint); transform: translateY(-8px); }
.wl-v5-challenge-card > span { display: inline-grid; place-items: center; width: 45px; height: 45px; border: 1px solid var(--line); border-radius: 50%; font-family: ui-monospace, monospace; font-size: .7rem; color: var(--v5-tone); }
.wl-v5-challenge-card h3 { max-width: 15ch; margin: clamp(58px, 7vw, 95px) 0 18px; font-size: var(--v5-h3); line-height: 1.05; letter-spacing: -.045em; }
.wl-v5-challenge-card p { max-width: 42ch; margin: 0; color: var(--ink-soft); line-height: 1.7; }
.wl-v5-challenge-card > i { position: absolute; right: -65px; bottom: -65px; width: 160px; aspect-ratio: 1; border: 1px solid var(--v5-tone); border-radius: 50%; opacity: .17; }
.wl-v5-challenge-card > i::before,
.wl-v5-challenge-card > i::after { content: ""; position: absolute; inset: 23%; border: 1px solid var(--v5-tone); border-radius: 50%; }
.wl-v5-challenge-card > i::after { inset: 46%; background: var(--v5-tone); }

/* Dark deliverables constellation. */
.wl-v5-deliverables { overflow: hidden; background: var(--v5-dark); color: var(--cream); }
.wl-v5-deliverables::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle at 80% 20%, var(--v5-tone-soft), transparent 32%), linear-gradient(rgba(244,239,232,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(244,239,232,.045) 1px, transparent 1px); background-size: auto, 70px 70px, 70px 70px; }
.wl-v5-deliverable-grid { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(244,239,232,.16); border-left: 1px solid rgba(244,239,232,.16); }
.wl-v5-deliverable { position: relative; display: grid; grid-template-columns: 65px 1fr auto; gap: 0 24px; align-items: start; min-height: 250px; padding: clamp(30px, 4vw, 62px); border-right: 1px solid rgba(244,239,232,.16); border-bottom: 1px solid rgba(244,239,232,.16); transition: background .35s ease; }
a.wl-v5-deliverable:hover { background: var(--v5-tone-faint); }
.wl-v5-deliverable > span { grid-row: 1/4; display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid rgba(244,239,232,.2); border-radius: 50%; font-family: ui-monospace, monospace; color: var(--v5-tone); }
.wl-v5-deliverable h3 { margin: 5px 0 16px; font-size: clamp(1.5rem, 2.2vw, 2.4rem); line-height: 1.02; letter-spacing: -.05em; }
.wl-v5-deliverable p { grid-column: 2/3; max-width: 50ch; margin: 0; color: rgba(244,239,232,.62); line-height: 1.7; }
.wl-v5-deliverable > i { font-size: 1.4rem; color: var(--v5-tone); font-style: normal; transition: transform .35s var(--ease); }
a.wl-v5-deliverable:hover > i { transform: translate(6px, -6px); }

/* Process line. */
.wl-v5-process { background: var(--cream); }
.wl-v5-process-list { position: relative; border-top: 1px solid var(--line); }
.wl-v5-process-list article { position: relative; display: grid; grid-template-columns: minmax(80px, .16fr) minmax(230px, .55fr) minmax(300px, 1fr); gap: clamp(24px, 5vw, 80px); align-items: center; min-height: 178px; padding: 34px 0; border-bottom: 1px solid var(--line); }
.wl-v5-process-list article > span { font-family: ui-monospace, monospace; font-size: .75rem; font-weight: 780; color: var(--v5-tone); }
.wl-v5-process-list h3 { margin: 0; font-size: clamp(1.65rem, 2.5vw, 3rem); line-height: 1; letter-spacing: -.055em; }
.wl-v5-process-list p { max-width: 58ch; margin: 0; color: var(--ink-soft); line-height: 1.72; }
.wl-v5-process-list i { position: absolute; right: 0; top: 50%; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; transform: translateY(-50%); }
.wl-v5-process-list i::before { content: ""; position: absolute; inset: 50% 9px auto; height: 1px; background: var(--v5-tone); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease); }
.wl-v5-process-list article:hover i::before { transform: scaleX(1); }

/* Visual spotlight. */
.wl-v5-spotlight { min-height: min(860px, 95vh); display: grid; align-items: center; overflow: hidden; background: var(--v5-dark); color: var(--cream); }
.wl-v5-spotlight__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(244,239,232,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(244,239,232,.055) 1px, transparent 1px); background-size: 62px 62px; mask-image: radial-gradient(circle at 30% 50%, #000, transparent 72%); }
.wl-v5-spotlight__layout { position: relative; display: grid; grid-template-columns: minmax(350px, .82fr) minmax(420px, 1.18fr); gap: clamp(70px, 11vw, 170px); align-items: center; }
.wl-v5-spotlight__layout > div:last-child { max-width: 860px; }
.wl-v5-spotlight h2 { max-width: 11.5ch; }
.wl-v5-spotlight__layout > div:last-child > p:not(.wl-kicker) { max-width: 650px; margin: 34px 0 0; color: rgba(244,239,232,.64); font-size: clamp(1.05rem, 1.5vw, 1.38rem); line-height: 1.7; }
.wl-v5-spotlight__points { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 40px; }
.wl-v5-spotlight__points span { padding: 10px 16px; border: 1px solid rgba(244,239,232,.17); border-radius: 999px; font-size: .78rem; color: rgba(244,239,232,.72); }
.wl-v5-spotlight__orb { position: relative; width: min(32vw, 470px); aspect-ratio: 1; margin: auto; }
.wl-v5-spotlight__orb > span { position: absolute; inset: 22%; border-radius: 50%; background: radial-gradient(circle at 34% 28%, #fff7ed 0 3%, var(--v5-tone) 24%, color-mix(in srgb, var(--v5-tone) 70%, #4d241d) 74%); box-shadow: 0 40px 110px var(--v5-tone-soft); animation: v5-float 5.4s ease-in-out infinite; }
.wl-v5-spotlight__orb > i { position: absolute; inset: 5%; border: 1px solid rgba(244,239,232,.24); border-radius: 50%; transform: rotate(29deg) scaleY(.4); animation: v5-spin 16s linear infinite; }
.wl-v5-spotlight__orb > i:last-child { inset: 13%; transform: rotate(-38deg) scaleY(.6); border-color: color-mix(in srgb, var(--v5-tone) 64%, transparent); animation-direction: reverse; animation-duration: 11s; }
@keyframes v5-float { 50% { transform: translateY(-16px) scale(1.025); } }
@keyframes v5-spin { to { rotate: 360deg; } }

/* FAQ. */
.wl-v5-faq { background: var(--v5-paper); }
.wl-v5-faq__layout { display: grid; grid-template-columns: minmax(280px, .68fr) minmax(440px, 1.32fr); gap: clamp(65px, 10vw, 160px); align-items: start; }
.wl-v5-faq__layout > div:first-child { position: sticky; top: 150px; }
.wl-v5-faq h2 { max-width: 9.5ch; margin-bottom: 38px; }
.wl-v5-faq .wl-accordion { border-top: 1px solid var(--line); }
.wl-v5-faq .wl-accordion__item { border-bottom-color: var(--line); }
.wl-v5-faq .wl-accordion__item button { min-height: 112px; font-size: clamp(1.1rem, 1.55vw, 1.48rem); }
.wl-v5-faq .wl-accordion__item button i { background: var(--v5-tone); }

/* Compact conversion block. */
.wl-v5-contact { overflow: hidden; background: var(--cream); }
.wl-v5-contact::before { content: ""; position: absolute; right: -180px; bottom: -250px; width: 620px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--v5-tone-soft), transparent 70%); filter: blur(16px); }
.wl-v5-contact-card { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(300px, .82fr) minmax(480px, 1.18fr); gap: clamp(48px, 8vw, 130px); padding: clamp(38px, 6vw, 92px); border: 1px solid var(--line); border-radius: clamp(28px, 4vw, 58px); background: rgba(255,255,255,.58); box-shadow: 0 40px 130px rgba(38,24,18,.08); backdrop-filter: blur(16px); }
.wl-v5-contact-card__copy h2 { max-width: 10.5ch; margin: 16px 0 26px; font-size: clamp(2.75rem, 5.2vw, 6rem); line-height: .9; letter-spacing: -.069em; }
.wl-v5-contact-card__copy > p:not(.wl-kicker) { max-width: 48ch; color: var(--ink-soft); font-size: 1.08rem; line-height: 1.7; }
.wl-contact__direct,
.wl-contact__trust { display: grid; gap: 9px; margin-top: 35px; }
.wl-contact__direct a { width: max-content; font-weight: 730; }
.wl-contact__trust { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.wl-contact__trust span { padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; color: var(--ink-soft); font-size: .76rem; }
.wl-contact-form--compact { align-self: start; }
.wl-contact-form--compact .wl-form-row { gap: 14px; }
.wl-contact-form--compact label > span { display: inline-block; margin: 0 0 8px; font-size: .76rem; font-weight: 760; }
.wl-contact-form--compact input,
.wl-contact-form--compact select,
.wl-contact-form--compact textarea { width: 100%; min-height: 54px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 15px; background: rgba(244,239,232,.48); color: var(--ink); outline: 0; transition: border-color .25s ease, background .25s ease, box-shadow .25s ease; }
.wl-contact-form--compact textarea { min-height: 128px; resize: vertical; }
.wl-contact-form--compact input:focus,
.wl-contact-form--compact select:focus,
.wl-contact-form--compact textarea:focus { border-color: var(--v5-tone); background: #fff; box-shadow: 0 0 0 4px var(--v5-tone-faint); }
.wl-contact-form--compact .wl-button--submit { width: 100%; margin-top: 8px; }
.wl-contact-form--compact .wl-consent { font-size: .75rem; color: var(--ink-soft); }
.wl-contact-form--compact .wl-form-notice { min-height: 28px; margin: 12px 0 0; }

/* Diagnostic full page. */
.wl-v5-diagnostic-section { overflow: hidden; background: var(--v5-dark); color: var(--cream); }
.wl-v5-diagnostic-section::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 75% 40%, var(--v5-tone-soft), transparent 37%); }
.wl-v5-diagnostic-section .wl-v5-section-head { position: relative; }
.wl-diagnostic--standalone { position: relative; z-index: 1; border: 1px solid rgba(244,239,232,.15); border-radius: clamp(24px, 3vw, 44px); background: rgba(244,239,232,.045); overflow: hidden; }
.wl-diagnostic--standalone .wl-diagnostic__panel { padding: clamp(28px, 5vw, 70px); }
.wl-diagnostic--standalone .wl-diagnostic__result { padding: clamp(28px, 5vw, 70px); background: rgba(244,239,232,.06); }
.wl-diagnostic--standalone .wl-diagnostic__step h3 { max-width: 16ch; font-size: clamp(2rem, 3.8vw, 4.5rem); line-height: .94; letter-spacing: -.06em; }
.wl-diagnostic--standalone .wl-diagnostic__choices button { color: var(--cream); border-color: rgba(244,239,232,.17); background: rgba(244,239,232,.035); }
.wl-diagnostic--standalone .wl-diagnostic__choices button:hover,
.wl-diagnostic--standalone .wl-diagnostic__choices button.is-selected { color: var(--ink); background: var(--v5-tone); border-color: var(--v5-tone); }

/* Portfolio. */
.wl-v5-portfolio { background: var(--v5-paper); }
.wl-v5-portfolio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.wl-v5-project { position: relative; min-width: 0; overflow: hidden; padding: 16px 16px 34px; border: 1px solid var(--line); border-radius: clamp(24px, 3vw, 42px); background: rgba(255,255,255,.56); box-shadow: 0 30px 90px rgba(29,19,15,.06); transition: transform .55s var(--ease), box-shadow .4s ease, border-color .35s ease; }
.wl-v5-project:nth-child(3n) { grid-column: span 2; display: grid; grid-template-columns: 1.12fr .88fr; column-gap: clamp(30px, 5vw, 74px); align-items: center; padding-bottom: 16px; }
.wl-v5-project:hover { transform: translateY(-8px); border-color: color-mix(in srgb, var(--v5-tone) 46%, transparent); box-shadow: 0 42px 120px var(--v5-tone-faint); }
.wl-v5-project__visual { position: relative; min-height: clamp(330px, 34vw, 560px); overflow: hidden; border-radius: calc(var(--v5-radius) - 9px); background: var(--ink); }
.wl-v5-project:nth-child(3n) .wl-v5-project__visual { grid-row: 1/6; min-height: 560px; }
.wl-v5-project__meta { display: flex; justify-content: space-between; gap: 20px; margin: 27px 8px 15px; font-family: ui-monospace, monospace; font-size: .65rem; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); }
.wl-v5-project h2 { margin: 0 8px 14px; font-size: clamp(2.25rem, 4.4vw, 5.1rem); line-height: .88; letter-spacing: -.073em; }
.wl-v5-project h2 small { display: block; margin-top: 12px; font-size: .2em; letter-spacing: .1em; text-transform: uppercase; color: var(--v5-tone); }
.wl-v5-project > p { max-width: 54ch; margin: 0 8px 24px; color: var(--ink-soft); line-height: 1.65; }
.wl-v5-project__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 8px; }
.wl-v5-project__tags span { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; font-size: .69rem; color: var(--ink-soft); }
.wl-stretched-link::after { content: ""; position: absolute; inset: 0; }

/* Resource cards and blog index. */
.wl-v5-blog-hero,
.wl-v5-article-hero,
.wl-v5-legal-hero { position: relative; overflow: hidden; padding: clamp(180px, 22vh, 260px) 0 clamp(90px, 10vw, 150px); }
.wl-v5-blog-hero { min-height: 690px; display: flex; align-items: flex-end; background: var(--cream); }
.wl-v5-blog-hero .wl-shell,
.wl-v5-article-hero .wl-shell,
.wl-v5-legal-hero .wl-shell { position: relative; z-index: 1; }
.wl-v5-blog-hero h1,
.wl-v5-article-hero h1,
.wl-v5-legal-hero h1 { max-width: 12ch; margin: 18px 0 30px; font-size: clamp(3.6rem, 8.5vw, 9.6rem); line-height: .84; letter-spacing: -.08em; text-wrap: balance; }
.wl-v5-blog-hero .wl-shell > p:last-child,
.wl-v5-article-hero .wl-shell > p:last-child,
.wl-v5-legal-hero .wl-shell > p:last-child { max-width: 720px; margin: 0; font-size: clamp(1.05rem, 1.55vw, 1.4rem); line-height: 1.65; color: var(--ink-soft); }
.wl-v5-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.wl-v5-post-card { min-width: 0; padding: 14px 14px 30px; border: 1px solid var(--line); border-radius: 28px; background: rgba(255,255,255,.48); transition: transform .45s var(--ease), border-color .3s ease, box-shadow .35s ease; }
.wl-v5-post-card:hover { transform: translateY(-7px); border-color: color-mix(in srgb, var(--v5-tone) 50%, transparent); box-shadow: 0 30px 90px var(--v5-tone-faint); }
.wl-v5-post-card__media { display: grid; place-items: center; min-height: 280px; overflow: hidden; border-radius: 20px; background: var(--ink); color: var(--v5-tone); }
.wl-v5-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.wl-v5-post-card:hover .wl-v5-post-card__media img { transform: scale(1.035); }
.wl-v5-post-card__media span { font-family: ui-monospace, monospace; font-size: clamp(2.4rem, 5vw, 5rem); font-weight: 800; letter-spacing: -.06em; }
.wl-v5-post-card > p { margin: 24px 8px 12px; font-family: ui-monospace, monospace; font-size: .66rem; font-weight: 760; letter-spacing: .12em; color: var(--ink-soft); }
.wl-v5-post-card h2 { margin: 0 8px 18px; font-size: clamp(1.55rem, 2.3vw, 2.6rem); line-height: 1; letter-spacing: -.055em; }
.wl-v5-post-card > div:not(.wl-v5-post-card__media) { margin: 0 8px; color: var(--ink-soft); }
.wl-v5-post-card .wl-text-link { margin: 24px 8px 0; }
.wl-v5-post-card--idea .wl-v5-post-card__media { background: linear-gradient(135deg, var(--ink), color-mix(in srgb, var(--ink) 72%, var(--v5-tone))); }
.wl-v5-pagination { margin-top: 55px; }
.wl-v5-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.wl-v5-pagination a,
.wl-v5-pagination span { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; }
.wl-v5-pagination .current { background: var(--v5-tone); border-color: var(--v5-tone); }

/* Article. */
.wl-v5-article-hero { background: var(--cream); }
.wl-v5-article-hero h1 { max-width: 13ch; font-size: clamp(3.2rem, 7.2vw, 8rem); }
.wl-v5-article-cover { position: relative; z-index: 2; margin-top: -55px; }
.wl-v5-article-cover img { width: 100%; max-height: 760px; object-fit: cover; border-radius: clamp(24px, 4vw, 58px); box-shadow: var(--shadow); }
.wl-v5-article-layout { display: grid; grid-template-columns: minmax(180px, .28fr) minmax(0, 1fr); gap: clamp(55px, 10vw, 160px); align-items: start; padding-block: clamp(90px, 11vw, 170px); }
.wl-v5-article-layout > aside { position: sticky; top: 135px; display: grid; gap: 12px; font-size: .78rem; }
.wl-v5-article-layout > aside > span,
.wl-v5-article-toc > span { margin-bottom: 6px; font-family: ui-monospace, monospace; font-size: .65rem; font-weight: 760; letter-spacing: .13em; color: var(--ink-soft); }
.wl-v5-article-layout > aside > a { padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.wl-v5-article-toc { display: grid; gap: 8px; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); }
.wl-v5-article-toc a { color: var(--ink-soft); line-height: 1.45; transition: color .2s ease; }
.wl-v5-article-toc a:hover { color: var(--v5-tone); }
.wl-prose { max-width: 820px; font-size: clamp(1.03rem, 1.18vw, 1.16rem); line-height: 1.8; }
.wl-prose > *:first-child { margin-top: 0; }
.wl-prose h2 { margin: 2.2em 0 .7em; font-size: clamp(2.1rem, 4vw, 4.5rem); line-height: .98; letter-spacing: -.06em; }
.wl-prose h3 { margin: 1.8em 0 .65em; font-size: clamp(1.45rem, 2.5vw, 2.5rem); line-height: 1.05; letter-spacing: -.045em; }
.wl-prose p,
.wl-prose ul,
.wl-prose ol { color: #4f4945; }
.wl-prose a { color: var(--accent-2); text-decoration: underline; text-underline-offset: 3px; }
.wl-prose blockquote { margin: 2.2em 0; padding: 10px 0 10px clamp(24px, 4vw, 52px); border-left: 3px solid var(--v5-tone); font-size: clamp(1.3rem, 2.1vw, 2rem); line-height: 1.48; color: var(--ink); }
.wl-prose img { border-radius: 24px; }
.wl-prose table { width: 100%; border-collapse: collapse; overflow: hidden; }
.wl-prose th,
.wl-prose td { padding: 14px; border: 1px solid var(--line); text-align: left; }

/* Legal. */
.wl-v5-legal-hero { min-height: 600px; display: flex; align-items: flex-end; background: var(--v5-dark); color: var(--cream); }
.wl-v5-legal-hero .wl-shell > p:last-child { color: rgba(244,239,232,.6); }
.wl-v5-legal-content { padding: clamp(85px, 10vw, 155px) 0; background: var(--cream); }
.wl-v5-legal-layout { display: grid; grid-template-columns: minmax(220px, .34fr) minmax(0, 1fr); gap: clamp(55px, 10vw, 160px); align-items: start; }
.wl-v5-legal-layout > aside { position: sticky; top: 140px; padding: 26px; border: 1px solid var(--line); border-radius: 22px; }
.wl-v5-legal-layout > aside > span { font-weight: 840; }
.wl-v5-legal-layout > aside > p { color: var(--ink-soft); font-size: .78rem; }
.wl-prose--legal { max-width: 920px; }
.wl-prose--legal h2:first-child { margin-top: 0; }
.wl-sitemap-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.wl-sitemap-grid section { padding: 28px; border: 1px solid var(--line); border-radius: 22px; }
.wl-sitemap-grid section h2 { margin-top: 0; font-size: 1.6rem; }
.wl-sitemap-grid ul { margin-bottom: 0; padding-left: 20px; }

/* 404. */
.wl-v5-404 { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: hidden; padding: 150px 0 100px; background: var(--v5-dark); color: var(--cream); }
.wl-v5-404 .wl-shell { position: relative; z-index: 2; }
.wl-v5-404 h1 { max-width: 10.5ch; margin: 18px 0 30px; font-size: clamp(4rem, 10vw, 11rem); line-height: .82; letter-spacing: -.085em; }
.wl-v5-404 .wl-shell > p:not(.wl-eyebrow) { max-width: 580px; color: rgba(244,239,232,.63); font-size: 1.15rem; }
.wl-v5-404__orb { position: absolute; right: -8vw; top: 50%; width: min(58vw, 850px); aspect-ratio: 1; transform: translateY(-50%); }
.wl-v5-404__orb span { position: absolute; inset: 25%; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff 0 3%, var(--v5-tone) 25%, #63291d 78%); box-shadow: 0 45px 140px var(--v5-tone-soft); animation: v5-dissolve 4s ease-in-out infinite; }
.wl-v5-404__orb i { position: absolute; inset: 8%; border: 1px dashed rgba(244,239,232,.23); border-radius: 50%; animation: v5-spin 20s linear infinite; }
.wl-v5-404__orb i:last-child { inset: 18%; animation-direction: reverse; animation-duration: 13s; }
@keyframes v5-dissolve { 50% { filter: blur(3px); transform: scale(.92); opacity: .72; } }

/* Cookie choice. */
.wl-cookie { position: fixed; z-index: 4900; left: 50%; bottom: 18px; display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 24px 40px; width: min(1040px, calc(100vw - 36px)); max-height: calc(100svh - 36px); overflow: auto; padding: 25px; border: 1px solid rgba(244,239,232,.18); border-radius: 25px; background: rgba(20,20,20,.95); color: var(--cream); box-shadow: 0 34px 120px rgba(0,0,0,.38); backdrop-filter: blur(24px); opacity: 0; transform: translate(-50%, 30px); transition: opacity .35s ease, transform .5s var(--ease); }
.wl-cookie.is-visible { opacity: 1; transform: translate(-50%, 0); }
.wl-cookie__main h2 { margin: 8px 0 8px; font-size: clamp(1.45rem, 2.4vw, 2.5rem); letter-spacing: -.045em; }
.wl-cookie__main > p:last-child { max-width: 620px; margin: 0; color: rgba(244,239,232,.62); }
.wl-cookie__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 10px; }
.wl-cookie .wl-button { min-height: 48px; padding-inline: 18px; font-size: .78rem; }
.wl-cookie .wl-button--ghost { border: 1px solid rgba(244,239,232,.24); background: transparent; color: var(--cream); }
.wl-cookie .wl-text-link { border: 0; background: transparent; color: var(--cream); cursor: pointer; }
.wl-cookie__settings { grid-column: 1/-1; border-top: 1px solid rgba(244,239,232,.14); padding-top: 18px; }
.wl-cookie__settings label { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 14px 0; border-bottom: 1px solid rgba(244,239,232,.1); }
.wl-cookie__settings label span { display: grid; gap: 4px; }
.wl-cookie__settings small { color: rgba(244,239,232,.55); }
.wl-cookie__settings input { width: 22px; height: 22px; accent-color: var(--v5-tone); }
.wl-cookie__settings .wl-button { margin-top: 18px; background: var(--cream); color: var(--ink); }

/* Footer. */
.wl-v5-footer { position: relative; z-index: 3; padding: clamp(80px, 9vw, 130px) 0 24px; background: #141414; color: var(--cream); }
.wl-v5-footer__top { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: end; padding-bottom: clamp(55px, 7vw, 100px); border-bottom: 1px solid rgba(244,239,232,.14); }
.wl-v5-footer .wl-brand__mark { background: var(--cream); }
.wl-v5-footer .wl-brand__mark svg { stroke: var(--ink); }
.wl-v5-footer__top > div:first-child > p { color: rgba(244,239,232,.48); }
.wl-v5-footer__cta { justify-self: end; max-width: 650px; }
.wl-v5-footer__cta p { margin: 0 0 16px; color: rgba(244,239,232,.52); }
.wl-v5-footer__cta a { display: inline-flex; align-items: center; gap: 18px; font-size: clamp(2rem, 4.2vw, 4.8rem); font-weight: 780; line-height: .9; letter-spacing: -.065em; }
.wl-v5-footer__cta a span { color: var(--v5-tone); transition: transform .35s var(--ease); }
.wl-v5-footer__cta a:hover span { transform: translate(7px, -7px); }
.wl-v5-footer__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(24px, 5vw, 80px); padding: 60px 0; }
.wl-v5-footer__grid nav,
.wl-v5-footer__grid > div { display: grid; align-content: start; gap: 10px; }
.wl-v5-footer__grid p { margin: 0 0 12px; font-family: ui-monospace, monospace; font-size: .67rem; font-weight: 760; letter-spacing: .13em; text-transform: uppercase; color: var(--v5-tone); }
.wl-v5-footer__grid a,
.wl-v5-footer__grid span,
.wl-v5-footer__grid button { width: max-content; max-width: 100%; border: 0; padding: 0; background: transparent; color: rgba(244,239,232,.65); text-align: left; cursor: pointer; transition: color .2s ease; }
.wl-v5-footer__grid a:hover,
.wl-v5-footer__grid button:hover { color: var(--cream); }
.wl-v5-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px 30px; padding-top: 22px; border-top: 1px solid rgba(244,239,232,.13); font-family: ui-monospace, monospace; font-size: .65rem; letter-spacing: .1em; color: rgba(244,239,232,.44); }

/* Search form. */
.search-form { display: flex; max-width: 680px; margin-top: 35px; }
.search-form label { flex: 1; }
.search-field { width: 100%; min-height: 58px; padding: 0 19px; border: 1px solid var(--line); border-radius: 999px 0 0 999px; background: rgba(255,255,255,.58); }
.search-submit { min-height: 58px; padding: 0 24px; border: 0; border-radius: 0 999px 999px 0; background: var(--v5-tone); font-weight: 760; cursor: pointer; }

/* Keep mobile action rail above the safe area. */
.wl-v5-page .wl-mobile-actions { z-index: 1500; }

/* Large laptop guard rails. */
@media (max-width: 1320px) {
  :root { --v5-title: clamp(3.2rem, 7.15vw, 7.3rem); }
  .wl-v5-hero__copy { max-width: 82vw; }
  .wl-v5-hero__orbit { right: -210px; opacity: .78; }
  .wl-v5-project:nth-child(3n) .wl-v5-project__visual { min-height: 470px; }
}

@media (max-width: 1100px) {
  .wl-mega-menu { display: none; }
  .wl-v5-hero { min-height: 850px; }
  .wl-v5-hero__inner { grid-template-columns: 1fr; }
  .wl-v5-hero__copy { max-width: 88vw; }
  .wl-v5-hero__index { display: none; }
  .wl-v5-hero__orbit { width: 560px; right: -220px; top: 43%; opacity: .58; }
  .wl-v5-challenge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wl-v5-challenge-card:last-child { grid-column: span 2; min-height: 300px; }
  .wl-v5-spotlight__layout { grid-template-columns: .7fr 1.3fr; gap: 60px; }
  .wl-v5-contact-card { grid-template-columns: 1fr; }
  .wl-v5-contact-card__copy { display: grid; grid-template-columns: 1fr 1fr; gap: 0 42px; }
  .wl-v5-contact-card__copy h2 { grid-column: 1/-1; }
  .wl-v5-contact-card__copy .wl-kicker { grid-column: 1/-1; }
  .wl-v5-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  :root { --shell: min(100% - 40px, 760px); --v5-title: clamp(3.2rem, 12vw, 6.5rem); --v5-h2: clamp(2.6rem, 9vw, 5rem); }
  .wl-mobile-menu--pages nav { grid-template-columns: 1fr; }
  .wl-mobile-menu--pages nav a { font-size: clamp(1.8rem, 8vw, 3rem); padding: 13px 0; }
  .wl-v5-hero { min-height: 820px; padding-top: 150px; padding-bottom: 135px; }
  .wl-v5-hero__copy { max-width: 100%; }
  .wl-v5-hero__copy h1 { max-width: 10.7ch; }
  .wl-v5-hero__orbit { width: 470px; right: -230px; top: 51%; opacity: .45; }
  .wl-v5-proofbar .wl-shell { grid-template-columns: 1fr; }
  .wl-v5-proofbar article { min-height: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .wl-v5-proofbar article:last-child { border-bottom: 0; }
  .wl-v5-section-head,
  .wl-v5-intro__layout { grid-template-columns: 1fr; gap: 32px; }
  .wl-v5-section-index { width: 120px; }
  .wl-v5-challenge-grid { grid-template-columns: 1fr; }
  .wl-v5-challenge-card:last-child { grid-column: auto; }
  .wl-v5-deliverable-grid { grid-template-columns: 1fr; }
  .wl-v5-process-list article { grid-template-columns: 70px 1fr; gap: 18px 30px; padding-right: 58px; }
  .wl-v5-process-list p { grid-column: 2/3; }
  .wl-v5-spotlight { min-height: auto; }
  .wl-v5-spotlight__layout { grid-template-columns: 1fr; }
  .wl-v5-spotlight__orb { width: min(65vw, 420px); }
  .wl-v5-faq__layout { grid-template-columns: 1fr; gap: 60px; }
  .wl-v5-faq__layout > div:first-child { position: static; }
  .wl-v5-contact-card__copy { display: block; }
  .wl-v5-portfolio-grid { grid-template-columns: 1fr; }
  .wl-v5-project:nth-child(3n) { grid-column: auto; display: block; padding-bottom: 34px; }
  .wl-v5-project:nth-child(3n) .wl-v5-project__visual { min-height: clamp(330px, 70vw, 530px); }
  .wl-v5-post-grid { grid-template-columns: 1fr; }
  .wl-v5-post-card__media { min-height: 360px; }
  .wl-v5-article-layout,
  .wl-v5-legal-layout { grid-template-columns: 1fr; }
  .wl-v5-article-layout > aside,
  .wl-v5-legal-layout > aside { position: static; }
  .wl-v5-article-layout > aside { grid-template-columns: repeat(3, max-content); }
  .wl-v5-article-toc { grid-column: 1/-1; }
  .wl-v5-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wl-cookie { grid-template-columns: 1fr; }
  .wl-cookie__actions { justify-content: flex-start; }
}

@media (max-width: 680px) {
  :root { --shell: calc(100vw - 28px); --v5-title: clamp(2.75rem, 14.2vw, 4.9rem); --v5-h2: clamp(2.35rem, 12vw, 4rem); }
  .wl-v5-section { padding: 88px 0; }
  .wl-v5-hero { min-height: 760px; padding: 128px 0 122px; align-items: center; }
  .wl-v5-hero__copy h1 { max-width: 11.2ch; margin-top: 13px; line-height: .9; letter-spacing: -.068em; }
  .wl-v5-hero__lead { max-width: 94%; font-size: .98rem; line-height: 1.58; }
  .wl-v5-hero__actions { display: grid; justify-items: start; margin-top: 31px; }
  .wl-v5-hero__orbit { width: 390px; right: -235px; top: 49%; opacity: .31; }
  .wl-v5-hero__marquee > div { padding: 12px 0; }
  .wl-breadcrumbs { margin-bottom: 30px; font-size: .58rem; }
  .wl-v5-proofbar article { padding: 26px 22px; }
  .wl-v5-big-copy { padding-left: 19px; font-size: 1.05rem; }
  .wl-v5-challenge-card { min-height: 315px; padding: 28px; }
  .wl-v5-challenge-card h3 { margin-top: 48px; }
  .wl-v5-deliverable { grid-template-columns: 48px 1fr auto; gap: 0 16px; min-height: 0; padding: 29px 22px; }
  .wl-v5-deliverable > span { width: 44px; height: 44px; }
  .wl-v5-deliverable h3 { font-size: 1.45rem; }
  .wl-v5-process-list article { grid-template-columns: 44px 1fr; gap: 14px 18px; min-height: 0; padding: 28px 45px 28px 0; }
  .wl-v5-process-list h3 { font-size: 1.65rem; }
  .wl-v5-process-list i { width: 32px; height: 32px; }
  .wl-v5-spotlight__orb { width: min(82vw, 340px); }
  .wl-v5-spotlight__points span { font-size: .68rem; }
  .wl-v5-faq .wl-accordion__item button { min-height: 92px; }
  .wl-v5-contact-card { padding: 28px 20px; border-radius: 28px; }
  .wl-v5-contact-card__copy h2 { font-size: 2.75rem; }
  .wl-contact__trust { grid-template-columns: 1fr; }
  .wl-contact-form--compact .wl-form-row { grid-template-columns: 1fr; }
  .wl-v5-project { padding: 10px 10px 28px; }
  .wl-v5-project__visual,
  .wl-v5-project:nth-child(3n) .wl-v5-project__visual { min-height: 330px; }
  .wl-v5-project h2 { font-size: 2.45rem; }
  .wl-v5-blog-hero,
  .wl-v5-article-hero,
  .wl-v5-legal-hero { min-height: 560px; padding: 145px 0 82px; }
  .wl-v5-blog-hero h1,
  .wl-v5-article-hero h1,
  .wl-v5-legal-hero h1 { font-size: clamp(3rem, 14vw, 5rem); line-height: .87; }
  .wl-v5-post-card { padding: 10px 10px 26px; }
  .wl-v5-post-card__media { min-height: 280px; }
  .wl-v5-article-layout > aside { grid-template-columns: 1fr; }
  .wl-v5-article-toc { grid-column: auto; }
  .wl-prose { font-size: 1rem; }
  .wl-sitemap-grid { grid-template-columns: 1fr; }
  .wl-v5-404 h1 { font-size: clamp(3.7rem, 17vw, 6rem); }
  .wl-v5-404__orb { right: -55vw; width: 110vw; opacity: .45; }
  .wl-v5-footer__top { grid-template-columns: 1fr; }
  .wl-v5-footer__cta { justify-self: start; }
  .wl-v5-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px 20px; }
  .wl-v5-footer__bottom { padding-bottom: 80px; }
  .wl-cookie { bottom: 9px; width: calc(100vw - 18px); padding: 19px; border-radius: 20px; }
  .wl-cookie__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .wl-cookie__actions .wl-text-link { grid-column: 1/-1; justify-self: start; }
  .wl-cookie .wl-button { width: 100%; }
  .search-form { display: grid; }
  .search-field { border-radius: 18px 18px 0 0; }
  .search-submit { border-radius: 0 0 18px 18px; }
}

@media (max-width: 430px) {
  .wl-v5-footer__grid { grid-template-columns: 1fr; }
  .wl-cookie__actions { grid-template-columns: 1fr; }
  .wl-cookie__actions .wl-text-link { grid-column: auto; }
}

@media (min-width: 901px) and (max-height: 820px) {
  .wl-v5-hero { min-height: 760px; padding-top: 125px; padding-bottom: 120px; }
  .wl-v5-hero__copy h1 { font-size: clamp(3.3rem, 6.8vw, 7rem); margin-bottom: 25px; }
  .wl-v5-hero__actions { margin-top: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .wl-v5-hero__orbit,
  .wl-v5-spotlight__orb > span,
  .wl-v5-spotlight__orb > i,
  .wl-v5-404__orb span,
  .wl-v5-404__orb i,
  .wl-v5-hero__marquee > div { animation: none !important; }
  .wl-v5-hero__marquee > div { transform: none; }
  .wl-mega-menu,
  .wl-v5-project,
  .wl-v5-challenge-card { transition-duration: .01ms !important; }
}

@media print {
  .wl-header,
  .wl-loader,
  .wl-noise,
  .wl-pointer-glow,
  .wl-cursor-companion,
  .wl-progress,
  .wl-mobile-actions,
  .wl-cookie,
  .wl-v5-footer,
  .wl-v5-hero__orbit,
  .wl-v5-hero__marquee { display: none !important; }
  .wl-v5-hero,
  .wl-v5-blog-hero,
  .wl-v5-article-hero,
  .wl-v5-legal-hero { min-height: 0; padding: 40px 0; background: #fff !important; color: #000 !important; }
  .wl-v5-section { padding: 35px 0; }
}


/* V5.0.1: consistent local SVG icons. */
.wl-icon { width: 1.05em; height: 1.05em; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.12em; }
.wl-text-link .wl-icon { color: var(--v5-tone, var(--accent)); transition: transform .3s var(--ease); }
.wl-text-link:hover .wl-icon--arrow-up-right { transform: translate(3px,-3px); }
.wl-text-link:hover .wl-icon--arrow-right { transform: translateX(4px); }
.wl-text-link:hover .wl-icon--arrow-left { transform: translateX(-4px); }
.wl-v5-deliverable > i .wl-icon { width: 20px; height: 20px; }
.wl-mobile-actions .wl-icon { width: 17px; height: 17px; }
.wl-v5-footer__bottom a { display:inline-flex; align-items:center; gap:8px; }

/* V5.0.1: contact forms remain legible on every page tone. */
.wl-v5-contact-card .wl-contact-form--compact {
  padding: clamp(24px, 3vw, 44px);
  border: 1px solid rgba(24,22,20,.17);
  background: rgba(255,255,255,.94);
  color: var(--ink);
  box-shadow: 0 24px 80px rgba(35,24,18,.08);
  backdrop-filter: blur(18px);
}
.wl-v5-contact-card .wl-contact-form--compact label,
.wl-v5-contact-card .wl-contact-form--compact label > span,
.wl-v5-contact-card .wl-contact-form--compact .wl-consent span { color: #2a2724; }
.wl-v5-contact-card .wl-contact-form--compact label > span { font-weight: 760; }
.wl-v5-contact-card .wl-contact-form--compact input,
.wl-v5-contact-card .wl-contact-form--compact select,
.wl-v5-contact-card .wl-contact-form--compact textarea {
  border-color: rgba(32,28,25,.28);
  background: #fffdf9;
  color: #171614;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.wl-v5-contact-card .wl-contact-form--compact input::placeholder,
.wl-v5-contact-card .wl-contact-form--compact textarea::placeholder { color: #756f69; opacity: 1; }
.wl-v5-contact-card .wl-contact-form--compact select { color-scheme: light; }
.wl-v5-contact-card .wl-contact-form--compact input:hover,
.wl-v5-contact-card .wl-contact-form--compact select:hover,
.wl-v5-contact-card .wl-contact-form--compact textarea:hover { border-color: rgba(32,28,25,.44); }
.wl-v5-contact-card .wl-contact-form--compact input:focus,
.wl-v5-contact-card .wl-contact-form--compact select:focus,
.wl-v5-contact-card .wl-contact-form--compact textarea:focus { border-color: var(--v5-tone); background: #fff; box-shadow: 0 0 0 4px var(--v5-tone-faint); }
.wl-v5-contact-card .wl-contact-form--compact .wl-consent { display:flex; align-items:flex-start; gap:10px; }
.wl-v5-contact-card .wl-contact-form--compact .wl-consent input { width:18px; min-height:18px; height:18px; margin-top:2px; accent-color:var(--v5-tone); }
.wl-v5-contact-card .wl-contact-form--compact .wl-consent span { margin:0; line-height:1.45; }
.wl-v5-contact-card .wl-form-notice { padding:0; color:#2a2724; font-weight:650; }
.wl-v5-contact-card .wl-form-notice.is-error { margin-bottom:14px; padding:12px 14px; border:1px solid rgba(177,55,41,.32); border-radius:12px; background:#fff0ed; color:#8d2d21; }
.wl-v5-contact-card .wl-form-notice.is-success { margin-bottom:14px; padding:12px 14px; border:1px solid rgba(31,121,82,.28); border-radius:12px; background:#ecfaf2; color:#17683f; }

/* V5.0.1: Digital Lab. */
.wl-v5-page--diagnostic .wl-v5-hero { min-height: min(920px, 96vh); }
.wl-v5-diagnostic-section { background: #111110; }
.wl-v5-diagnostic-section::before { background: radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--v5-tone) 24%, transparent), transparent 40%), radial-gradient(circle at 10% 72%, rgba(89,110,255,.12), transparent 34%); }
.wl-digital-lab { position:relative; z-index:1; overflow:hidden; border:1px solid rgba(244,239,232,.16); border-radius:clamp(26px,4vw,56px); background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025)); box-shadow:0 60px 180px rgba(0,0,0,.34); }
.wl-digital-lab::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(244,239,232,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(244,239,232,.035) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(#000,transparent 72%); }
.wl-digital-lab__topline { position:relative; z-index:2; display:flex; justify-content:space-between; gap:20px; align-items:center; padding:18px clamp(22px,3vw,42px); border-bottom:1px solid rgba(244,239,232,.13); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.67rem; letter-spacing:.12em; color:rgba(244,239,232,.68); }
.wl-digital-lab__topline > div { display:flex; align-items:center; gap:10px; }
.wl-digital-lab__live { width:7px; height:7px; border-radius:50%; background:var(--v5-tone); box-shadow:0 0 18px var(--v5-tone); animation:wl-lab-pulse 1.8s ease-in-out infinite; }
@keyframes wl-lab-pulse { 50% { opacity:.35; transform:scale(.7); } }
.wl-digital-lab__progress { position:relative; z-index:2; height:3px; background:rgba(244,239,232,.08); }
.wl-digital-lab__progress span { display:block; width:12.5%; height:100%; background:linear-gradient(90deg,var(--v5-tone),#ffba8b); box-shadow:0 0 24px var(--v5-tone); transition:width .55s var(--ease); }
.wl-digital-lab__workspace { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr); min-height:690px; }
.wl-digital-lab__questions { position:relative; padding:clamp(30px,5vw,76px); border-right:1px solid rgba(244,239,232,.13); }
.wl-lab-step { display:none; opacity:0; transform:translateY(16px); }
.wl-lab-step.is-active { display:block; animation:wl-lab-in .48s var(--ease) forwards; }
@keyframes wl-lab-in { to { opacity:1; transform:none; } }
.wl-lab-step__meta { margin:0 0 18px; color:var(--v5-tone); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.7rem; font-weight:800; letter-spacing:.15em; }
.wl-lab-step h3 { max-width:15ch; margin:0 0 38px; font-size:clamp(2.25rem,4.1vw,5.2rem); line-height:.92; letter-spacing:-.065em; text-wrap:balance; }
.wl-lab-step__hint { max-width:62ch; margin:-18px 0 30px; color:rgba(244,239,232,.58); line-height:1.65; }
.wl-lab-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.wl-lab-choices button { position:relative; min-height:154px; padding:22px; border:1px solid rgba(244,239,232,.16); border-radius:22px; background:rgba(244,239,232,.035); color:var(--cream); text-align:left; cursor:pointer; transition:transform .3s var(--ease),background .3s ease,border-color .3s ease; }
.wl-lab-choices button:hover,.wl-lab-choices button.is-selected { transform:translateY(-3px); border-color:var(--v5-tone); background:color-mix(in srgb,var(--v5-tone) 14%,rgba(255,255,255,.035)); }
.wl-lab-choices button > span { display:block; margin-bottom:20px; color:var(--v5-tone); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.68rem; font-weight:800; }
.wl-lab-choices button strong { display:block; margin-bottom:8px; font-size:1.12rem; }
.wl-lab-choices button small { display:block; color:rgba(244,239,232,.56); font-size:.78rem; line-height:1.55; }
.wl-lab-range-card,.wl-lab-metrics-form,.wl-lab-dual { border:1px solid rgba(244,239,232,.14); border-radius:26px; background:rgba(244,239,232,.035); }
.wl-lab-range-card { padding:clamp(24px,4vw,42px); }
.wl-lab-range-card__value { display:flex; align-items:flex-end; gap:12px; margin-bottom:30px; }
.wl-lab-range-card__value strong { font-size:clamp(3.2rem,7vw,7rem); line-height:.8; letter-spacing:-.07em; color:var(--v5-tone); }
.wl-lab-range-card__value span { color:rgba(244,239,232,.6); }
.wl-lab-range-card input[type=range] { width:100%; accent-color:var(--v5-tone); }
.wl-lab-range-card__scale { display:flex; justify-content:space-between; margin-top:8px; color:rgba(244,239,232,.4); font-size:.68rem; }
.wl-lab-range-card label { display:block; margin-top:32px; }
.wl-lab-range-card label > span,.wl-lab-metrics-form label > span { display:block; margin-bottom:9px; color:rgba(244,239,232,.68); font-size:.74rem; }
.wl-lab-range-card label > div,.wl-lab-metrics-form label > div { display:flex; align-items:center; border:1px solid rgba(244,239,232,.18); border-radius:15px; background:rgba(0,0,0,.15); }
.wl-lab-range-card input[type=number],.wl-lab-metrics-form input { width:100%; min-height:54px; padding:13px 15px; border:0; outline:0; background:transparent; color:var(--cream); font-size:1rem; }
.wl-lab-range-card b,.wl-lab-metrics-form b { padding-right:14px; color:rgba(244,239,232,.52); font-size:.76rem; white-space:nowrap; }
.wl-lab-metrics-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:clamp(20px,3vw,32px); }
.wl-lab-metrics-form label > input { border:1px solid rgba(244,239,232,.18); border-radius:15px; background:rgba(0,0,0,.15); }
.wl-lab-dual { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:clamp(20px,3vw,32px); }
.wl-lab-dual fieldset { margin:0; padding:0; border:0; }
.wl-lab-dual legend { margin-bottom:14px; font-weight:750; }
.wl-lab-pills { display:flex; flex-wrap:wrap; gap:8px; }
.wl-lab-pills button { min-height:42px; padding:0 14px; border:1px solid rgba(244,239,232,.17); border-radius:999px; background:transparent; color:rgba(244,239,232,.72); cursor:pointer; }
.wl-lab-pills button:hover,.wl-lab-pills button.is-selected { border-color:var(--v5-tone); background:var(--v5-tone); color:var(--ink); }
.wl-lab-next { display:inline-flex; align-items:center; gap:12px; min-height:54px; margin-top:24px; padding:0 22px; border:0; border-radius:999px; background:var(--v5-tone); color:var(--ink); font-weight:800; cursor:pointer; }
.wl-lab-next:disabled { opacity:.35; cursor:not-allowed; }
.wl-digital-lab__nav { position:absolute; left:clamp(30px,5vw,76px); right:clamp(30px,5vw,76px); bottom:24px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.wl-digital-lab__nav > button { display:inline-flex; align-items:center; gap:9px; padding:0; border:0; background:transparent; color:rgba(244,239,232,.68); cursor:pointer; }
.wl-digital-lab__nav > button:disabled { opacity:.25; cursor:default; }
.wl-digital-lab__dots { display:flex; gap:6px; }
.wl-digital-lab__dots i { width:18px; height:2px; background:rgba(244,239,232,.13); transition:background .3s,width .3s; }
.wl-digital-lab__dots i.is-active { width:30px; background:var(--v5-tone); }
.wl-digital-lab__console { padding:clamp(28px,4vw,54px); background:rgba(0,0,0,.18); }
.wl-lab-console__header { display:flex; justify-content:space-between; gap:18px; margin-bottom:24px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.62rem; letter-spacing:.11em; color:rgba(244,239,232,.48); }
.wl-lab-radar-wrap { position:relative; width:min(100%,470px); aspect-ratio:1; margin:0 auto 24px; }
.wl-lab-radar-wrap canvas { width:100%; height:100%; display:block; }
.wl-lab-score { position:absolute; inset:50% auto auto 50%; display:grid; place-items:center; width:118px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 50% 50%,#191817 0 57%,transparent 58%),conic-gradient(var(--v5-tone) calc(var(--score)*1%),rgba(244,239,232,.12) 0); transform:translate(-50%,-50%); box-shadow:0 18px 60px rgba(0,0,0,.28); }
.wl-lab-score strong { grid-area:1/1; margin-top:-7px; font-size:2.5rem; line-height:1; letter-spacing:-.06em; }
.wl-lab-score > span { grid-area:1/1; margin:35px 0 0 42px; color:rgba(244,239,232,.5); font-size:.72rem; }
.wl-lab-score small { position:absolute; bottom:20px; color:rgba(244,239,232,.45); font-size:.58rem; }
.wl-lab-dimensions { display:grid; gap:10px; }
.wl-lab-dimensions > span { display:grid; grid-template-columns:74px 1fr 30px; gap:12px; align-items:center; color:rgba(244,239,232,.66); font-size:.72rem; }
.wl-lab-dimensions i { position:relative; height:4px; overflow:hidden; border-radius:99px; background:rgba(244,239,232,.1); }
.wl-lab-dimensions i::after { content:""; position:absolute; inset:0; background:var(--v5-tone); transform:scaleX(calc(var(--value)*.01)); transform-origin:left; transition:transform .6s var(--ease); }
.wl-lab-dimensions b { font-weight:650; }
.wl-lab-dimensions em { font-style:normal; text-align:right; }
.wl-lab-console__note { margin:24px 0 0; color:rgba(244,239,232,.42); font-size:.68rem; line-height:1.55; }
.wl-digital-result { position:relative; z-index:2; padding:clamp(30px,5vw,72px); border-top:1px solid rgba(244,239,232,.14); background:linear-gradient(150deg,#f6f1ea,#fffaf5); color:var(--ink); }
.wl-digital-result[hidden] { display:none; }
.wl-digital-result__hero { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; padding-bottom:36px; border-bottom:1px solid var(--line); }
.wl-digital-result__hero p,.wl-digital-result__roadmap p,.wl-digital-result__grid p { margin:0 0 10px; color:var(--accent-2); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.67rem; font-weight:800; letter-spacing:.13em; }
.wl-digital-result__hero h3 { max-width:12ch; margin:0 0 14px; font-size:clamp(2.6rem,5.2vw,6rem); line-height:.9; letter-spacing:-.07em; }
.wl-digital-result__hero > div:first-child > span { display:block; max-width:68ch; color:var(--ink-soft); line-height:1.65; }
.wl-digital-result__index { display:grid; grid-template-columns:auto auto; align-items:end; min-width:180px; }
.wl-digital-result__index strong { font-size:clamp(4rem,8vw,8rem); line-height:.8; letter-spacing:-.08em; color:var(--v5-tone); }
.wl-digital-result__index > span { margin:0 0 8px 6px; color:var(--ink-soft); }
.wl-digital-result__index small { grid-column:1/-1; margin-top:10px; color:var(--ink-soft); }
.wl-digital-result__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:28px 0; }
.wl-digital-result__grid article { min-height:170px; padding:22px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.6); }
.wl-digital-result__grid strong { display:block; margin:24px 0 7px; font-size:clamp(1.65rem,3vw,3rem); letter-spacing:-.05em; }
.wl-digital-result__grid span { color:var(--ink-soft); font-size:.72rem; line-height:1.45; }
.wl-digital-result__roadmap { display:grid; grid-template-columns:.8fr 1.25fr .85fr; gap:14px; }
.wl-digital-result__roadmap > div { padding:24px; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.58); }
.wl-digital-result__roadmap ol,.wl-digital-result__roadmap ul { margin:20px 0 0; padding:0; list-style:none; }
.wl-digital-result__roadmap li { padding:11px 0; border-bottom:1px solid var(--line); color:var(--ink-soft); line-height:1.45; }
.wl-digital-result__roadmap li:last-child { border-bottom:0; }
.wl-digital-result__roadmap [data-lab-roadmap] { display:grid; gap:10px; margin-top:20px; }
.wl-digital-result__roadmap [data-lab-roadmap] span { display:grid; grid-template-columns:38px 1fr; gap:10px; align-items:start; color:var(--ink-soft); line-height:1.45; }
.wl-digital-result__roadmap [data-lab-roadmap] b { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--v5-tone); color:var(--ink); font-size:.7rem; }
.wl-digital-result__disclaimer { margin-top:16px; padding:15px 18px; border:1px dashed var(--line); border-radius:14px; color:var(--ink-soft); font-size:.7rem; line-height:1.55; }
.wl-digital-result__actions { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:28px; }
.wl-digital-result__actions .wl-text-link { border:0; color:var(--ink); cursor:pointer; }

@media (max-width: 1080px) {
  .wl-digital-lab__workspace { grid-template-columns:1fr; }
  .wl-digital-lab__questions { min-height:720px; border-right:0; border-bottom:1px solid rgba(244,239,232,.13); }
  .wl-digital-lab__console { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(280px,1fr); gap:32px; align-items:center; }
  .wl-lab-console__header,.wl-lab-console__note { grid-column:1/-1; }
  .wl-digital-result__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wl-digital-result__roadmap { grid-template-columns:1fr 1fr; }
  .wl-digital-result__roadmap > div:nth-child(2) { grid-column:span 2; grid-row:1; }
}
@media (max-width: 700px) {
  .wl-digital-lab { border-radius:24px; }
  .wl-digital-lab__topline { align-items:flex-start; flex-direction:column; }
  .wl-digital-lab__workspace { min-height:0; }
  .wl-digital-lab__questions { min-height:730px; padding:28px 18px 78px; }
  .wl-lab-step h3 { max-width:none; margin-bottom:26px; font-size:clamp(2.2rem,11.5vw,3.7rem); }
  .wl-lab-choices { grid-template-columns:1fr; }
  .wl-lab-choices button { min-height:118px; padding:18px; }
  .wl-lab-choices button > span { margin-bottom:12px; }
  .wl-lab-metrics-form,.wl-lab-dual { grid-template-columns:1fr; }
  .wl-digital-lab__nav { left:18px; right:18px; }
  .wl-digital-lab__dots i { width:9px; }
  .wl-digital-lab__dots i.is-active { width:18px; }
  .wl-digital-lab__console { display:block; padding:28px 18px; }
  .wl-lab-radar-wrap { width:min(100%,360px); }
  .wl-digital-result { padding:34px 18px; }
  .wl-digital-result__hero { grid-template-columns:1fr; }
  .wl-digital-result__index { min-width:0; }
  .wl-digital-result__grid,.wl-digital-result__roadmap { grid-template-columns:1fr; }
  .wl-digital-result__roadmap > div:nth-child(2) { grid-column:auto; grid-row:auto; }
  .wl-digital-result__actions .wl-button { width:100%; }
}
@media (prefers-reduced-motion: reduce) {
  .wl-digital-lab__live { animation:none; }
  .wl-lab-step.is-active { animation:none; opacity:1; transform:none; }
}


/* V5.0.1: clearer diagnostic result hierarchy. */
.wl-digital-result__roadmap li strong { display:block; margin-bottom:5px; color:var(--ink); font-weight:800; }
.wl-digital-result__roadmap li > span { display:block; }
.wl-digital-result__actions .wl-text-link { display:inline-flex; align-items:center; gap:10px; padding:12px 0; background:transparent; }
.wl-digital-result__actions .wl-text-link .wl-icon { width:18px; height:18px; }


/* Optional managed anti-bot challenge supplied by Weblance Security Core. */
.wl-security-turnstile { width:100%; margin:8px 0 18px; overflow:hidden; }
.wl-security-turnstile .cf-turnstile { max-width:100%; }
@media (max-width:480px) {
  .wl-security-turnstile { transform-origin:left center; }
}
