:root {
  --black: #000;
  --surface: #121212;
  --raised: #191919;
  --line: #343434;
  --line-soft: #242424;
  --paper: #fff;
  --muted: #b8b8b8;
  --dim: #878787;
  --shell: min(1180px, calc(100% - 2rem));
  --radius: 1.25rem;
  --shadow: 0 24px 80px rgb(0 0 0 / 35%);
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; scroll-padding-top: 6rem; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--black);
  color: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.funneloom-site { padding-top: 76px; }
body::before {
  position: fixed;
  inset: 0;
  z-index: -2;
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 78% 8%, rgb(255 255 255 / 8%), transparent 28rem),
    linear-gradient(rgb(255 255 255 / 2%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 2%) 1px, transparent 1px);
  background-size: auto, 48px 48px, 48px 48px;
  mask-image: linear-gradient(to bottom, #000 0, transparent 70%);
}
img { max-width: 100%; height: auto; }
a { text-underline-offset: .22em; }
p { color: var(--muted); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
h1, h2, h3, p, a { overflow-wrap: break-word; }
.shell { width: var(--shell); margin-inline: auto; }

.skip-link {
  position: fixed; top: .75rem; left: .75rem; z-index: 1000;
  padding: .75rem 1rem; color: #000; background: #fff; border-radius: .5rem;
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }

.site-header-wrap {
  position: fixed; top: 0; right: 0; left: 0; z-index: 100;
  border-bottom: 1px solid rgb(255 255 255 / 13%);
  background: rgb(0 0 0 / 88%); backdrop-filter: blur(18px);
  box-shadow: 0 12px 36px rgb(0 0 0 / 24%);
}
.admin-bar .site-header-wrap { top: 32px; }
.site-header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand {
  display: inline-flex; align-items: center; gap: .72rem; color: #fff;
  font-size: 1rem; font-weight: 800; letter-spacing: .17em; text-decoration: none;
}
.brand img { object-fit: contain; }
.header-phone { color: #fff; font-size: .9rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.header-phone:hover { color: var(--muted); }
.desktop-nav { display: flex; align-items: center; gap: 1.4rem; }
.desktop-nav > a:not(.button) { color: var(--muted); font-size: .9rem; text-decoration: none; }
.desktop-nav > a:hover { color: #fff; }
.mobile-nav { display: none; }

.button, .wp-block-button__link {
  display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: .5rem;
  padding: .78rem 1.35rem; border: 1px solid #fff; border-radius: 999px;
  color: #000; background: #fff; font-weight: 750; line-height: 1.2; text-decoration: none;
  transition: transform 160ms ease, background 160ms ease;
}
.button:hover, .wp-block-button__link:hover { color: #000; background: #ddd; transform: translateY(-2px); }
.button-secondary, .is-style-outline > .wp-block-button__link { color: #fff; background: transparent; border-color: var(--line); }
.button-secondary:hover, .is-style-outline > .wp-block-button__link:hover { color: #fff; background: var(--raised); }
.button-small { min-height: 40px; padding: .58rem 1rem; font-size: .88rem; }
.button-signal {
  position: relative; isolation: isolate;
  box-shadow: 0 0 0 0 rgb(255 255 255 / 0%), 0 12px 36px rgb(255 255 255 / 18%);
  animation: cta-glow 2.8s ease-in-out infinite;
}
.button-signal::before {
  position: absolute; inset: -12px; z-index: -2; content: ""; pointer-events: none;
  border-radius: inherit; background: rgb(255 255 255 / 14%); filter: blur(14px); opacity: .25;
  animation: cta-halo 2.8s ease-in-out infinite;
}
.button-signal::after {
  position: absolute; inset: -7px; z-index: -1; content: ""; pointer-events: none;
  border: 2px solid rgb(255 255 255 / 62%); border-radius: inherit; opacity: 0;
  animation: cta-signal 2.8s ease-out infinite;
}
.button-signal--strong { min-width: 118px; }
.desktop-nav .button-signal { color: #000; }
@keyframes cta-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgb(255 255 255 / 0%), 0 10px 28px rgb(255 255 255 / 12%); }
  50% { box-shadow: 0 0 0 5px rgb(255 255 255 / 15%), 0 12px 44px rgb(255 255 255 / 34%); }
}
@keyframes cta-halo { 0%, 100% { opacity: .18; transform: scale(.96); } 50% { opacity: .7; transform: scale(1.08); } }
@keyframes cta-signal {
  0%, 36% { opacity: 0; transform: scale(.98); }
  48% { opacity: .95; }
  78%, 100% { opacity: 0; transform: scale(1.13); }
}

.site-main { position: relative; overflow: clip; }
.site-main > section { position: relative; z-index: 1; }
.loom-backdrop {
  position: fixed; inset: 76px -12vw 0; z-index: 0; overflow: hidden; pointer-events: none;
  opacity: .88; mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 96%, transparent 100%);
}
.loom-backdrop__field { position: absolute; inset: -12vh 0 -22vh; transform: translate3d(0, -8vh, 0); }
.loom-backdrop__thread {
  position: absolute; width: 92vw; height: 38vh; border: 0; border-top: 3px solid rgb(190 190 190 / 30%);
  border-bottom: 2px solid rgb(155 155 155 / 15%); border-radius: 50%;
  filter: drop-shadow(0 3px 4px rgb(0 0 0 / 72%)) drop-shadow(0 -2px 5px rgb(255 255 255 / 25%)) drop-shadow(0 0 14px rgb(255 255 255 / 12%));
}
.loom-backdrop__thread::before {
  position: absolute; inset: -5px 0 auto; height: 2px; content: ""; border-radius: 50%;
  background: linear-gradient(90deg, transparent 5%, rgb(255 255 255 / 8%) 18%, rgb(255 255 255 / 52%) 52%, rgb(255 255 255 / 8%) 82%, transparent 95%);
  filter: blur(.4px);
}
.loom-backdrop__thread:nth-child(1) { top: 3%; left: -24%; transform: rotate(11deg); }
.loom-backdrop__thread:nth-child(2) { top: 18%; right: -28%; transform: rotate(-13deg); }
.loom-backdrop__thread:nth-child(3) { top: 38%; left: -16%; transform: rotate(7deg) scale(.86); }
.loom-backdrop__thread:nth-child(4) { top: 54%; right: -20%; transform: rotate(-8deg) scale(1.08); }
.loom-backdrop__thread:nth-child(5) { top: 70%; left: -26%; transform: rotate(16deg) scale(.78); }
.loom-backdrop__thread:nth-child(6) { top: 82%; right: -22%; transform: rotate(-11deg) scale(.92); }
.loom-backdrop__node {
  position: absolute; width: 12px; height: 12px; border: 2px solid rgb(255 255 255 / 85%); border-radius: 50%;
  background: #aaa; box-shadow: 0 0 0 6px rgb(255 255 255 / 10%), 0 0 22px 8px rgb(255 255 255 / 32%), 0 0 52px 14px rgb(255 255 255 / 13%);
}
.loom-backdrop__node:nth-child(7) { top: 31%; left: 28%; }
.loom-backdrop__node:nth-child(8) { top: 57%; right: 24%; }
.loom-backdrop__node:nth-child(9) { top: 78%; left: 41%; }
.loom-backdrop__warp {
  position: absolute; right: 0; bottom: 2%; left: 0; height: 58vh;
  opacity: 0; visibility: hidden; transform: translate3d(0, 90px, 0) scale(.9); transform-origin: 50% 100%;
  transition: opacity 120ms linear, visibility 120ms linear, transform 120ms linear;
}
.loom-backdrop__warp span {
  position: absolute; bottom: 0; left: 50%; width: 4px; height: 66vh; transform-origin: 50% 100%;
  border-radius: 999px; background: linear-gradient(90deg, rgb(90 90 90 / 32%), rgb(245 245 245 / 58%) 45%, rgb(105 105 105 / 28%));
  box-shadow: 2px 0 5px rgb(0 0 0 / 70%), -2px 0 7px rgb(255 255 255 / 16%), 0 0 14px rgb(255 255 255 / 8%);
}
.loom-backdrop__warp span:nth-child(1) { transform: rotate(-49deg); height: 82vh; }
.loom-backdrop__warp span:nth-child(2) { transform: rotate(-35deg); height: 72vh; }
.loom-backdrop__warp span:nth-child(3) { transform: rotate(-19deg); height: 65vh; }
.loom-backdrop__warp span:nth-child(4) { transform: rotate(0); height: 60vh; }
.loom-backdrop__warp span:nth-child(5) { transform: rotate(19deg); height: 65vh; }
.loom-backdrop__warp span:nth-child(6) { transform: rotate(35deg); height: 72vh; }
.loom-backdrop__warp span:nth-child(7) { transform: rotate(49deg); height: 82vh; }
.loom-machine {
  position: absolute; bottom: -2px; left: 50%; width: clamp(190px, 23vw, 300px); height: 142px;
  opacity: 0; visibility: hidden; transform: translate3d(-50%, 70px, 0) scale(.88); transform-origin: 50% 100%;
  transition: opacity 120ms linear, visibility 120ms linear, transform 120ms linear;
  border-right: 8px solid rgb(180 180 180 / 52%); border-left: 8px solid rgb(90 90 90 / 72%);
  filter: drop-shadow(0 -8px 22px rgb(255 255 255 / 10%)) drop-shadow(0 10px 18px #000);
}
.loom-machine__top, .loom-machine__beam, .loom-machine__foot { position: absolute; right: -16px; left: -16px; border-radius: 999px; }
.loom-machine__top { top: 4px; height: 10px; background: linear-gradient(#d0d0d0, #666 55%, #262626); box-shadow: 0 0 18px rgb(255 255 255 / 24%); }
.loom-machine__beam { top: 43px; height: 14px; background: linear-gradient(#aaa, #3a3a3a 58%, #111); }
.loom-machine__reed { position: absolute; top: 19px; right: 13%; left: 13%; height: 68px; border: 2px solid rgb(180 180 180 / 45%); background: repeating-linear-gradient(90deg, transparent 0 8px, rgb(190 190 190 / 24%) 8px 10px); }
.loom-machine__reel { position: absolute; bottom: 8px; left: 50%; width: 88px; height: 44px; transform: translateX(-50%); border: 8px solid rgb(150 150 150 / 52%); border-radius: 50%; box-shadow: inset 0 0 14px #000, 0 0 18px rgb(255 255 255 / 10%); }
.loom-machine__foot { bottom: 0; height: 8px; background: linear-gradient(#888, #222); }
.loom-backdrop.is-loom-visible .loom-backdrop__warp,
.loom-backdrop.is-loom-visible .loom-machine { visibility: visible; }
@supports (animation-timeline: scroll()) {
  .loom-backdrop__field { animation: loom-scroll linear both; animation-timeline: scroll(root block); }
  @keyframes loom-scroll { from { transform: translate3d(0, -12vh, 0) scale(1.015); } to { transform: translate3d(0, 31vh, 0) scale(.985); } }
}
.section { position: relative; padding: clamp(4.5rem, 9vw, 8rem) 0; }
.section-compact { padding-block: clamp(3rem, 6vw, 5rem); }
.section-kicker {
  display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1.25rem;
  color: #d6d6d6; font-size: .76rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase;
}
.section-kicker::before { width: 1.8rem; height: 1px; content: ""; background: #fff; }
.section-title { max-width: 860px; margin-bottom: 1.4rem; font-size: clamp(2.15rem, 5vw, 4.25rem); letter-spacing: -.045em; }
.section-lead { max-width: 760px; font-size: clamp(1.08rem, 2vw, 1.3rem); }

.hero { min-height: calc(100svh - 76px); display: grid; place-items: center; padding-block: clamp(4rem, 9vw, 7.5rem); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.hero h1 { max-width: 880px; margin-bottom: 1.5rem; font-size: clamp(3.15rem, 7.8vw, 7.1rem); line-height: .96; letter-spacing: -.065em; }
.hero-copy > p:not(.section-kicker) { max-width: 720px; font-size: clamp(1.1rem, 2vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.hero-note { margin-top: 1.25rem; color: var(--dim); font-size: .86rem !important; }

.loom-visual {
  position: relative; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 50%;
  background: radial-gradient(circle, rgb(255 255 255 / 15%) 0 1px, transparent 2px) 0 0 / 22px 22px,
    radial-gradient(circle at 50% 50%, rgb(255 255 255 / 12%), transparent 56%);
  box-shadow: inset 0 0 80px rgb(255 255 255 / 5%), var(--shadow);
}
.loom-visual::before, .loom-visual::after { position: absolute; inset: 14%; content: ""; border: 1px solid rgb(255 255 255 / 25%); border-radius: 50%; }
.loom-visual::after { inset: 29%; }
.loom-core {
  position: absolute; inset: 12%; display: grid; place-items: center; border-radius: 50%;
  background: #050505; box-shadow: 0 0 60px rgb(255 255 255 / 17%);
}
.funnel-3d-canvas { width: 88%; height: 88%; display: block; }
.funnel-3d-fallback { width: 70%; }
html.funneloom-3d-funnel .funnel-3d-fallback { visibility: hidden; }
.loom-core.is-3d-ready .funnel-3d-fallback { display: none; }
.loom-thread { position: absolute; left: -8%; width: 52%; height: 1px; background: linear-gradient(90deg, transparent, #fff); transform-origin: right center; }
.loom-thread:nth-child(2) { top: 28%; transform: rotate(16deg); }
.loom-thread:nth-child(3) { top: 48%; }
.loom-thread:nth-child(4) { top: 68%; transform: rotate(-16deg); }

.problem-grid, .capability-grid, .trust-grid, .answer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 2.5rem; }
.card { min-height: 100%; padding: clamp(1.35rem, 3vw, 2rem); border: 1px solid var(--line-soft); border-radius: var(--radius); background: linear-gradient(145deg, rgb(255 255 255 / 5%), rgb(255 255 255 / 1%)); }
.card-number { display: block; margin-bottom: 2.5rem; color: var(--dim); font-size: .78rem; letter-spacing: .14em; }
.card h3 { font-size: 1.35rem; }
.card p:last-child { margin-bottom: 0; }
.llm-summary { padding-block: clamp(1rem, 3vw, 2rem); }
.answer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.answer-grid div { padding: clamp(1.25rem, 3vw, 1.8rem); border-top: 1px solid var(--line); }
.answer-grid dt { margin-bottom: .65rem; color: #fff; font-size: 1.08rem; font-weight: 750; }
.answer-grid dd { margin: 0; color: var(--muted); line-height: 1.65; }

.phase-list { margin: 3rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.phase-list li { display: grid; grid-template-columns: 80px minmax(220px, .65fr) minmax(0, 1fr); gap: 1.5rem; padding: 1.65rem 0; border-bottom: 1px solid var(--line); }
.phase-index { color: var(--dim); font-variant-numeric: tabular-nums; }
.phase-list strong { font-size: 1.15rem; }
.phase-list p { margin-bottom: 0; }
.capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.capability-grid .card { min-height: 220px; }

.audience-panel, .contact-panel, .analysis-teaser {
  max-width: 100%;
  padding: clamp(2rem, 6vw, 5rem); border: 1px solid var(--line); border-radius: calc(var(--radius) * 1.4);
  background: var(--surface); box-shadow: var(--shadow);
}
.audience-panel { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 2rem; }
.audience-panel--open { grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: clamp(2rem, 5vw, 5rem); }
.audience-copy h2 { font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.04em; }
.audience-copy p:last-child { margin-bottom: 0; }
.audience-routes { display: grid; gap: 1rem; }
.audience-route { display: flex; min-height: 210px; flex-direction: column; justify-content: space-between; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); color: #fff; background: #0b0b0b; text-decoration: none; transition: border-color 160ms ease, transform 160ms ease; }
.audience-route:hover { border-color: #777; transform: translateY(-3px); }
.audience-route .card-number { margin-bottom: 1.5rem; }
.audience-route strong { max-width: 24ch; font-size: 1.25rem; }
.audience-route > span:last-child { margin-top: 1.5rem; color: var(--muted); font-size: .9rem; }
.tag-list { display: flex; flex-wrap: wrap; gap: .65rem; align-content: start; }
.tag { padding: .65rem .9rem; border: 1px solid var(--line); border-radius: 999px; color: #ddd; background: #0b0b0b; font-size: .9rem; }
.contact-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: end; }
.contact-panel > * { min-width: 0; }
.contact-panel .section-title, .contact-panel .section-lead { width: 100%; }
.contact-meta { margin-bottom: 0; }
.analysis-teaser { text-align: center; }
.analysis-teaser .section-title, .analysis-teaser .section-lead { margin-inline: auto; }

.landing-page { margin-top: 3rem; }
.landing-intro { max-width: 900px; padding-bottom: clamp(3rem, 7vw, 6rem); }
.landing-intro h2 { margin-bottom: 1.5rem; font-size: clamp(2.25rem, 5.5vw, 4.9rem); line-height: 1; letter-spacing: -.055em; }
.landing-intro > p:not(.section-kicker) { max-width: 760px; font-size: clamp(1.08rem, 2vw, 1.3rem); }
.landing-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.landing-section { padding-block: clamp(3rem, 7vw, 6rem); border-top: 1px solid var(--line-soft); }
.landing-section h2 { max-width: 800px; font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -.045em; }
.landing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 2.5rem; }
.landing-flow { margin: 2.5rem 0 0; padding: 0; list-style: none; counter-reset: landing-step; }
.landing-flow li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 1rem; padding: 1.35rem 0; border-top: 1px solid var(--line); }
.landing-flow li::before { counter-increment: landing-step; content: "0" counter(landing-step); color: var(--dim); }
.landing-flow strong { display: block; margin-bottom: .35rem; font-size: 1.15rem; }
.landing-flow p { margin-bottom: 0; }
.landing-cta { margin-top: clamp(2rem, 5vw, 4rem); }
.mobile-loom-stage { display: none; }

.page-shell { min-height: 60vh; padding-block: clamp(4rem, 8vw, 7rem); }
.page-shell > h1 { font-size: clamp(2.6rem, 6vw, 5rem); }
.page-shell:has(.analysis-layout) { max-width: none; padding: clamp(2rem, 4vw, 4rem) 0 clamp(3rem, 6vw, 6rem); }
.page-shell:has(.analysis-layout) > h1 { width: min(1500px, calc(100% - 2rem)); margin: 0 auto clamp(2rem, 4vw, 3.5rem); }
.page-shell:has(.analysis-layout) > .entry-content { max-width: none; }
.analysis-layout {
  width: min(1500px, calc(100% - 2rem)); min-height: calc(100svh - 230px); margin-inline: auto;
  display: grid; grid-template-columns: minmax(320px, .82fr) minmax(560px, 1.18fr); gap: clamp(1.5rem, 4vw, 4.5rem); align-items: stretch;
}
.analysis-logo-panel {
  position: relative; min-height: 100%; display: grid; place-items: center; overflow: hidden;
  border: 1px solid var(--line-soft); border-radius: calc(var(--radius) * 1.5);
  background: radial-gradient(circle at 50% 45%, rgb(255 255 255 / 13%), rgb(255 255 255 / 3%) 38%, transparent 68%), #080808;
  box-shadow: inset 0 0 90px rgb(255 255 255 / 4%), var(--shadow);
}
.analysis-logo-panel::before, .analysis-logo-panel::after {
  position: absolute; content: ""; border: 1px solid rgb(255 255 255 / 11%); border-radius: 50%;
}
.analysis-logo-panel::before { inset: 12%; }
.analysis-logo-panel::after { inset: 26%; }
.analysis-logo-panel .wp-block-image { position: relative; z-index: 1; width: min(72%, 520px); margin: 0; }
.analysis-logo-panel img { display: block; width: 100%; filter: drop-shadow(0 22px 34px rgb(0 0 0 / 62%)) drop-shadow(0 0 22px rgb(255 255 255 / 13%)); }
.analysis-form-panel { align-self: center; min-width: 0; }
.analysis-form-panel > .has-large-font-size { max-width: 760px; margin-bottom: 0; }
.legal-placeholder { padding: 1rem; border: 1px solid #a78633; border-radius: .75rem; color: #f5df9b; background: #211b0e; }

.site-footer { border-top: 1px solid var(--line-soft); background: #080808; }
.footer-grid { display: grid; grid-template-columns: 1.5fr .7fr; gap: 3rem; padding-block: 4rem; }
.footer-grid p { margin-bottom: .5rem; }
.footer-title { color: #fff !important; font-weight: 700; }
.footer-grid a:not(.brand) { display: inline-flex; align-items: center; min-height: 24px; color: var(--muted); }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.25rem; border-top: 1px solid var(--line-soft); color: var(--dim); font-size: .78rem; }

@media (max-width: 1050px) {
  .analysis-layout { grid-template-columns: 1fr; }
  .analysis-logo-panel { min-height: min(48svh, 520px); }
  .analysis-logo-panel .wp-block-image { width: min(48%, 330px); }
}
@media (max-width: 900px) {
  .loom-backdrop {
    position: fixed;
    inset: 0 -14vw 0;
    z-index: 0;
    display: block;
    opacity: .78;
    mask-image: linear-gradient(to bottom, transparent 0, #000 5rem, #000 calc(100% - 4rem), transparent 100%);
  }
  .loom-backdrop__field {
    inset: 0 0 auto;
    height: 100%;
    transform: none;
  }
  .loom-backdrop__thread {
    width: 118vw;
    height: 26vh;
    border-top-width: 2px;
    border-top-color: rgb(230 230 230 / 43%);
    border-bottom-color: rgb(190 190 190 / 20%);
    filter: drop-shadow(0 1px 3px rgb(0 0 0 / 70%));
  }
  .loom-backdrop__thread::before {
    opacity: .82;
  }
  .loom-backdrop__node {
    width: 10px;
    height: 10px;
    opacity: .92;
    background: #f4f4f4;
    box-shadow: 0 0 0 5px rgb(255 255 255 / 10%), 0 0 18px 6px rgb(255 255 255 / 22%);
  }
  .loom-backdrop__warp {
    position: fixed;
    top: auto;
    z-index: 0;
    right: -18vw;
    bottom: 0;
    left: -18vw;
    height: 48svh;
    opacity: .42;
    visibility: visible;
    transform: none;
  }
  .loom-backdrop__warp span {
    height: 42svh;
    width: 3px;
    background: linear-gradient(90deg, rgb(110 110 110 / 38%), rgb(255 255 255 / 64%) 45%, rgb(120 120 120 / 34%));
    box-shadow: 1px 0 3px rgb(0 0 0 / 66%);
  }
  .loom-machine {
    position: fixed;
    top: auto;
    z-index: 0;
    bottom: 4rem;
    left: 50%;
    display: block;
    width: min(70vw, 260px);
    height: 124px;
    opacity: .46;
    visibility: visible;
    transform: translate3d(-50%, 0, 0) scale(.9);
    transition: none;
    filter: drop-shadow(0 8px 14px #000);
  }
  .loom-machine__top { height: 8px; }
  .loom-machine__beam { top: 34px; height: 11px; }
  .loom-machine__reed { top: 15px; height: 54px; }
  .loom-machine__reel { width: 70px; height: 35px; border-width: 6px; }
  .loom-machine__foot { height: 7px; }
  .loom-machine__top,
  .loom-machine__beam,
  .loom-machine__foot {
    right: -12px;
    left: -12px;
  }
  .loom-backdrop__thread:nth-child(1) { top: 4%; left: -36%; transform: rotate(11deg); }
  .loom-backdrop__thread:nth-child(2) { top: 18%; right: -38%; transform: rotate(-13deg); }
  .loom-backdrop__thread:nth-child(3) { top: 35%; left: -34%; transform: rotate(7deg) scale(.9); }
  .loom-backdrop__thread:nth-child(4) { top: 52%; right: -34%; transform: rotate(-8deg); }
  .loom-backdrop__thread:nth-child(5) { top: 68%; left: -38%; transform: rotate(16deg) scale(.84); }
  .loom-backdrop__thread:nth-child(6) { top: 82%; right: -36%; transform: rotate(-11deg) scale(.9); }
  .loom-backdrop__node:nth-child(7) { top: 22%; left: 8%; }
  .loom-backdrop__node:nth-child(8) { top: 50%; right: 7%; }
  .loom-backdrop__node:nth-child(9) { top: 76%; left: 10%; }
  .mobile-loom-stage {
    position: relative;
    z-index: 1;
    display: block;
    height: 300px;
    margin: -1.75rem 0 1rem;
    overflow: hidden;
    pointer-events: none;
  }
  .mobile-loom-stage__warp {
    position: absolute;
    right: -22vw;
    bottom: 18px;
    left: -22vw;
    height: 220px;
    opacity: .48;
  }
  .mobile-loom-stage__warp span {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 3px;
    height: 220px;
    transform-origin: 50% 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, rgb(110 110 110 / 40%), rgb(255 255 255 / 68%) 45%, rgb(120 120 120 / 36%));
    box-shadow: 1px 0 3px rgb(0 0 0 / 66%);
  }
  .mobile-loom-stage__warp span:nth-child(1) { transform: rotate(-49deg); }
  .mobile-loom-stage__warp span:nth-child(2) { transform: rotate(-35deg); }
  .mobile-loom-stage__warp span:nth-child(3) { transform: rotate(-19deg); }
  .mobile-loom-stage__warp span:nth-child(4) { transform: rotate(0); }
  .mobile-loom-stage__warp span:nth-child(5) { transform: rotate(19deg); }
  .mobile-loom-stage__warp span:nth-child(6) { transform: rotate(35deg); }
  .mobile-loom-stage__warp span:nth-child(7) { transform: rotate(49deg); }
  .mobile-loom-stage__machine {
    position: absolute;
    bottom: 16px;
    left: 50%;
    width: min(78vw, 300px);
    height: 148px;
    transform: translateX(-50%);
    border-right: 8px solid rgb(190 190 190 / 58%);
    border-left: 8px solid rgb(95 95 95 / 78%);
    opacity: .92;
    filter: drop-shadow(0 -6px 14px rgb(255 255 255 / 12%)) drop-shadow(0 10px 14px #000);
  }
  .mobile-loom-stage__machine .loom-machine__top { top: 4px; height: 8px; }
  .mobile-loom-stage__machine .loom-machine__beam { top: 36px; height: 11px; }
  .mobile-loom-stage__machine .loom-machine__reed { top: 15px; height: 58px; }
  .mobile-loom-stage__machine .loom-machine__reel { width: 74px; height: 37px; border-width: 6px; }
  .mobile-loom-stage__machine .loom-machine__foot { height: 7px; }
  .mobile-loom-stage__machine .loom-machine__top,
  .mobile-loom-stage__machine .loom-machine__beam,
  .mobile-loom-stage__machine .loom-machine__foot {
    right: -12px;
    left: -12px;
  }
  .desktop-nav { display: none; }
  .site-header { gap: .75rem; }
  .header-phone { margin-left: auto; font-size: .82rem; }
  .mobile-nav { display: block; position: relative; }
  .mobile-nav summary { cursor: pointer; font-weight: 700; }
  .mobile-nav nav { position: absolute; top: calc(100% + 1rem); right: 0; min-width: 240px; padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: #101010; box-shadow: var(--shadow); }
  .mobile-nav nav a { display: block; padding: .7rem; text-decoration: none; }
  .mobile-nav .mobile-action-link { margin-top: .4rem; border: 1px solid #fff; border-radius: 999px; color: #000; background: #fff; font-weight: 750; text-align: center; }
  .brand { gap: .45rem; font-size: .9rem; letter-spacing: .1em; }
  .brand img { width: 32px; height: 32px; }
  .hero { min-height: auto; }
  .hero-grid, .audience-panel, .contact-panel, .landing-grid { grid-template-columns: 1fr; }
  .loom-visual { width: min(500px, 90%); margin-inline: auto; }
  .problem-grid, .trust-grid, .answer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 782px) {
  .admin-bar .site-header-wrap { top: 46px; }
}
@media (max-width: 680px) {
  :root { --shell: min(100% - 1.2rem, 1180px); }
  .section { padding-block: 4rem; }
  .hero h1 { font-size: clamp(2.85rem, 15vw, 4.5rem); }
  .audience-panel, .contact-panel, .analysis-teaser { padding: clamp(1.5rem, 6vw, 2rem); }
  .contact-panel .section-title,
  .analysis-teaser .section-title,
  .audience-copy h2 {
    max-width: 100%;
    font-size: clamp(2rem, 11vw, 3rem);
    line-height: 1.04;
    letter-spacing: -.035em;
    hyphens: auto;
    overflow-wrap: anywhere;
  }
  .contact-panel .section-lead { max-width: 100%; }
  .contact-panel .button { text-align: left; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .button, .wp-block-button { width: 100%; }
  .capability-grid { grid-template-columns: 1fr; }
  .phase-list li { grid-template-columns: 48px 1fr; gap: .75rem; }
  .phase-list p { grid-column: 2; }
  .landing-actions { align-items: stretch; flex-direction: column; }
  .analysis-layout, .page-shell:has(.analysis-layout) > h1 { width: min(100% - 1.2rem, 1500px); }
  .analysis-logo-panel { min-height: 38svh; }
  .analysis-logo-panel .wp-block-image { width: min(56%, 280px); }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; }
}
@media (max-width: 390px) {
  .brand span { display: none; }
  .header-phone { font-size: .72rem; }
  .mobile-nav summary { font-size: .85rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .loom-backdrop__field { animation: none !important; transform: none; }
  .button-signal { animation: none !important; }
  .button-signal::before, .button-signal::after { display: none; }
  .loom-backdrop__warp, .loom-machine { transition: none; }
}
