:root {
  --ink: #161814;
  --ink-soft: #252820;
  --paper: #f3f0e8;
  --paper-deep: #e8e3d8;
  --white: #fff;
  --signal: #d8ff55;
  --sage: #9aa98f;
  --line: rgba(22, 24, 20, .18);
  --line-light: rgba(255, 255, 255, .2);
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: "Iowan Old Style", Baskerville, "Times New Roman", serif;
  --shell: min(1240px, calc(100vw - 48px));
  --radius: 3px;
  --header-height: 84px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
p:last-child { margin-bottom: 0; }
::selection { background: var(--signal); color: var(--ink); }

.shell { width: var(--shell); margin-inline: auto; }
.section { padding-block: clamp(88px, 10vw, 148px); }
.section--dark { background: var(--ink); color: var(--white); }
.section--signal { background: var(--signal); }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 9999; padding: 12px 18px; background: var(--signal); color: var(--ink); }
.skip-link:focus { top: 12px; }

.eyebrow {
  margin-bottom: 28px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; display: inline-block; width: 28px; height: 1px; margin: 0 10px 3px 0; background: currentColor; }
.eyebrow--light { color: rgba(255,255,255,.72); }

.site-header {
  position: relative;
  z-index: 100;
  width: 100%;
  height: var(--header-height);
  border-bottom: 1px solid var(--line);
  background: rgba(243, 240, 232, .92);
  backdrop-filter: blur(18px);
}
.site-header.is-sticky { position: sticky; top: 0; }
.site-header__inner { display: grid; grid-template-columns: 180px 1fr 150px; align-items: center; height: 100%; }
.brand { display: inline-flex; align-items: center; gap: 12px; width: fit-content; }
.brand__mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; font-family: var(--display); font-size: 22px; font-style: italic; line-height: 1; }
.brand__name { font-size: 17px; font-weight: 760; letter-spacing: -.02em; }
.primary-navigation { justify-self: center; }
.site-menu { display: flex; align-items: center; gap: clamp(22px, 2.5vw, 40px); margin: 0; padding: 0; list-style: none; }
.site-menu a { position: relative; font-size: 13px; font-weight: 650; }
.site-menu a::after { content: ""; position: absolute; left: 0; bottom: -8px; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .3s ease; }
.site-menu a:hover::after, .site-menu .current-menu-item a::after { transform: scaleX(1); transform-origin: left; }
.header-cart { justify-self: end; display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; }
.header-cart b { display: grid; place-items: center; min-width: 27px; height: 27px; padding-inline: 7px; border-radius: 99px; background: var(--ink); color: white; font-size: 11px; }
.menu-toggle { display: none; border: 0; background: none; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 56px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font-size: 13px;
  font-weight: 750;
  transition: transform .25s ease, background .25s ease, color .25s ease;
}
.button:hover { transform: translateY(-3px); }
.button span { font-size: 18px; font-weight: 400; }
.button--dark { background: var(--ink); color: var(--white); }
.button--dark:hover { background: #31362b; }
.button--signal { background: var(--signal); color: var(--ink); }
.button--signal:hover { background: var(--white); }
.text-link { display: inline-flex; gap: 16px; align-items: center; border-bottom: 1px solid currentColor; padding-bottom: 5px; font-size: 13px; font-weight: 700; }
.text-link span { font-size: 17px; }

.circle-link { display: flex; flex-direction: column; justify-content: space-between; width: 126px; aspect-ratio: 1; padding: 25px; border: 1px solid currentColor; border-radius: 50%; font-size: 12px; font-weight: 750; line-height: 1.2; transition: transform .35s ease, background .35s ease, color .35s ease; }
.circle-link i { align-self: flex-end; font-size: 20px; font-style: normal; font-weight: 400; }
.circle-link:hover { transform: rotate(4deg) scale(1.04); background: var(--ink); color: var(--white); }
.circle-link--signal { border-color: var(--signal); background: var(--signal); color: var(--ink); }
.circle-link--signal:hover { background: var(--white); color: var(--ink); }
.circle-link--small { width: 88px; padding: 18px; }

.hero { position: relative; min-height: calc(100svh - var(--header-height)); overflow: hidden; border-bottom: 1px solid var(--line); }
.hero__content { position: relative; z-index: 2; padding-top: clamp(84px, 11vh, 138px); padding-bottom: 96px; }
.hero h1 { max-width: 970px; margin-bottom: 66px; font-size: clamp(68px, 10.2vw, 154px); line-height: .81; }
.hero h1 em { margin-left: clamp(40px, 10vw, 165px); font-weight: 400; }
.hero__lower { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 70px; margin-left: min(28vw, 360px); }
.hero__lower > p { max-width: 560px; margin: 0; font-size: clamp(18px, 1.6vw, 23px); line-height: 1.48; }
.hero__actions { display: flex; align-items: center; gap: 30px; }
.hero__orb { position: absolute; top: 6%; right: -7vw; width: min(38vw, 560px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(216,255,85,.95), rgba(154,169,143,.46) 42%, rgba(243,240,232,0) 71%); filter: blur(1px); opacity: .74; }
.hero__orb::before, .hero__orb::after { content: ""; position: absolute; border: 1px solid rgba(22,24,20,.13); border-radius: 50%; inset: 15%; }
.hero__orb::after { inset: 31%; }
.hero__ticker { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 3vw, 50px); min-height: 60px; border-top: 1px solid var(--line); font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }
.hero__ticker i { width: 4px; height: 4px; border-radius: 50%; background: var(--sage); }

.intro-section__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); gap: clamp(60px, 10vw, 160px); align-items: end; }
.intro-section h2 { margin: 0; font-size: clamp(50px, 6.6vw, 98px); }
.intro-section__grid > div { border-top: 1px solid var(--line); padding-top: 24px; }
.intro-section__grid p { color: #484c42; font-size: 16px; }

.services-section { background: var(--paper-deep); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 60px; }
.section-heading h2 { max-width: 800px; margin: 0; font-size: clamp(50px, 6.2vw, 88px); }
.section-heading > p { max-width: 220px; color: #606558; font-size: 13px; }
.service-list { border-top: 1px solid var(--line); }
.service-row { display: grid; grid-template-columns: 80px minmax(240px, 1fr) minmax(300px, .8fr) 42px; align-items: center; gap: 30px; min-height: 130px; border-bottom: 1px solid var(--line); transition: padding .3s ease, background .3s ease; }
.service-row:hover { padding-inline: 18px; background: rgba(255,255,255,.36); }
.service-row__number { font-size: 11px; font-weight: 750; }
.service-row__title { font-family: var(--display); font-size: clamp(32px, 3.6vw, 52px); letter-spacing: -.035em; }
.service-row__copy { color: #616558; font-size: 14px; }
.service-row__arrow { justify-self: end; font-size: 24px; }

.sector-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.sector-card { position: relative; min-height: 310px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .3s ease, color .3s ease; }
.sector-card > span { font-size: 11px; font-weight: 750; }
.sector-card h3 { margin: 68px 0 18px; font-size: clamp(34px, 3.7vw, 52px); }
.sector-card p { max-width: 280px; color: #65695e; font-size: 13px; }
.sector-card i { position: absolute; right: 28px; bottom: 25px; font-size: 22px; font-style: normal; }
.sector-card:hover { background: var(--ink); color: var(--white); }
.sector-card:hover p { color: rgba(255,255,255,.64); }

.method-intro { display: grid; grid-template-columns: .58fr 1.4fr; gap: 60px; align-items: start; margin-bottom: 96px; }
.method-intro h2 { max-width: 900px; margin: 0; color: var(--white); font-size: clamp(52px, 6.5vw, 94px); }
.method-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.method-grid article { min-height: 300px; padding: 28px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.method-grid article > span { color: var(--signal); font-size: 11px; font-weight: 750; }
.method-grid h3 { margin: 88px 0 20px; color: var(--white); font-size: 38px; }
.method-grid p { color: rgba(255,255,255,.6); font-size: 13px; }

.engagement-panel { display: grid; grid-template-columns: 1.45fr .65fr; gap: clamp(60px, 11vw, 170px); padding: clamp(45px, 7vw, 90px); background: var(--sage); }
.engagement-panel h2 { margin: 0; font-size: clamp(48px, 6vw, 84px); }
.engagement-panel > div:last-child { display: flex; flex-direction: column; align-items: start; justify-content: flex-end; }
.engagement-panel p { margin-bottom: 32px; font-size: 15px; }

.detail-hero { position: relative; min-height: 720px; overflow: hidden; }
.detail-hero__content { position: relative; z-index: 2; min-height: 720px; padding-top: 92px; padding-bottom: 70px; }
.detail-hero h1 { max-width: 1080px; margin: 0; font-size: clamp(76px, 12vw, 176px); line-height: .82; }
.detail-hero__headline { max-width: 620px; margin: 58px 0 0 auto; font-family: var(--display); font-size: clamp(27px, 3.2vw, 44px); line-height: 1.1; }
.detail-hero .circle-link { position: absolute; left: 0; bottom: 70px; }
.detail-hero--sector { border-bottom: 1px solid var(--line); }
.detail-hero__wash { position: absolute; right: -5vw; bottom: -40%; width: 68vw; height: 100%; border-radius: 50%; background: radial-gradient(ellipse, rgba(216,255,85,.7), rgba(154,169,143,.25) 48%, transparent 72%); }
.detail-hero--service { background: var(--ink); color: var(--white); }

.detail-intro__grid { display: grid; grid-template-columns: 1.5fr .55fr; gap: clamp(70px, 12vw, 180px); align-items: end; }
.detail-intro h2 { margin: 0; font-size: clamp(44px, 5.7vw, 82px); }
.detail-intro__grid > p { color: #5b6054; }
.split-section { background: var(--paper-deep); }
.split-section__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 8vw, 120px); }
.split-section article:first-child { padding-right: clamp(30px, 6vw, 90px); border-right: 1px solid var(--line); }
.split-section h2 { font-size: clamp(42px, 5vw, 66px); }
.line-list { margin: 48px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.line-list li { position: relative; padding: 18px 0 18px 28px; border-bottom: 1px solid var(--line); font-size: 14px; }
.line-list li::before { content: "↗"; position: absolute; left: 0; color: #68735f; }
.compact-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.compact-service-grid a { position: relative; min-height: 230px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.compact-service-grid span { font-size: 11px; font-weight: 750; }
.compact-service-grid h3 { margin-top: 70px; font-size: 32px; }
.compact-service-grid i { position: absolute; right: 22px; bottom: 20px; font-style: normal; }
.detail-cta .shell { display: grid; grid-template-columns: .4fr 1.4fr auto; gap: 60px; align-items: end; }
.detail-cta h2 { max-width: 780px; margin: 0; font-size: clamp(48px, 6.4vw, 90px); }

.service-detail__lead { display: grid; grid-template-columns: .48fr 1.52fr; gap: 60px; margin-bottom: 110px; }
.service-detail__lead h2 { margin: 0; font-size: clamp(44px, 5.6vw, 80px); }
.service-detail__facts { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(70px, 11vw, 170px); }
.service-detail__facts article:last-child { border-top: 1px solid var(--line); padding-top: 24px; }
.large-copy { font-family: var(--display); font-size: 34px; line-height: 1.16; }

.forensic-pricing { padding-top: 0; }
.forensic-pricing__grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.forensic-pricing__grid article { min-height: 280px; padding: clamp(28px, 4vw, 52px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.forensic-pricing__grid span { display: block; margin-bottom: 72px; font-size: 11px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.forensic-pricing__grid strong { display: block; font-family: var(--display); font-size: clamp(46px, 5.5vw, 78px); font-weight: 400; letter-spacing: -.04em; line-height: .95; }
.forensic-pricing__grid b { display: inline-block; margin-top: 24px; padding: 7px 10px; background: var(--signal); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.forensic-budgets { margin-top: clamp(60px, 8vw, 110px); }
.forensic-budgets__heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(45px, 8vw, 120px); align-items: end; margin-bottom: 42px; }
.forensic-budgets__heading h3 { max-width: 720px; margin: 12px 0 0; font-size: clamp(38px, 4.5vw, 62px); }
.forensic-hourly { padding: 25px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.forensic-hourly span { display: block; margin-bottom: 12px; color: #61665b; font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.forensic-hourly strong { font-family: var(--display); font-size: clamp(34px, 4vw, 52px); font-weight: 400; }
.forensic-budgets__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.forensic-budgets__grid article { min-height: 280px; padding: clamp(25px, 3.4vw, 46px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.forensic-budgets__grid span { display: block; min-height: 40px; font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.forensic-budgets__grid strong { display: block; margin: 58px 0 20px; font-family: var(--display); font-size: clamp(30px, 3.2vw, 46px); font-weight: 400; line-height: 1; }
.forensic-budgets__grid p { margin: 0; color: #5c6156; font-size: 13px; }
.forensic-pricing__note { max-width: 900px; margin: 32px 0 0 auto; color: #555b4f; font-size: 14px; }

.listing-hero { padding-top: clamp(90px, 10vw, 150px); padding-bottom: 92px; }
.listing-hero h1 { max-width: 1000px; margin-bottom: 46px; font-size: clamp(64px, 9vw, 132px); }
.listing-hero > p:last-child, .listing-hero .shell > p:last-child { max-width: 560px; margin-left: auto; font-size: 20px; }
.listing-hero--dark { background: var(--ink); color: var(--white); }

/* Guided sales funnel */
.start-hero { padding: clamp(100px, 11vw, 165px) 0 clamp(70px, 8vw, 120px); background: var(--ink); color: var(--white); }
.start-hero__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .5fr); gap: clamp(60px, 10vw, 170px); align-items: end; }
.start-hero h1 { max-width: 1020px; margin: 20px 0 30px; font-size: clamp(64px, 8.5vw, 126px); line-height: .91; }
.start-hero__lead { max-width: 620px; margin: 0; color: rgba(255,255,255,.7); font-size: clamp(18px, 2vw, 24px); }
.start-progress { margin: 0; padding: 0; list-style: none; counter-reset: funnel-step; }
.start-progress li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 20px 0; border-top: 1px solid var(--line-light); color: rgba(255,255,255,.42); counter-increment: funnel-step; }
.start-progress li::before { content: "0" counter(funnel-step); font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.start-progress strong { display: block; color: inherit; font-size: 13px; }
.start-progress span { display: block; margin-top: 4px; font-size: 11px; }
.start-progress .is-current { color: var(--signal); }
.start-routes__heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: end; margin-bottom: clamp(50px, 7vw, 90px); }
.start-routes__heading h2 { max-width: 780px; margin: 0; font-size: clamp(48px, 6vw, 86px); }
.start-route-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.start-route { position: relative; min-height: 340px; padding: clamp(28px, 4vw, 54px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background-color .22s ease, color .22s ease; }
.start-route:hover, .start-route:focus-visible { background: var(--ink); color: var(--white); }
.start-route__number { display: block; margin-bottom: clamp(58px, 8vw, 105px); font-size: 10px; font-weight: 750; letter-spacing: .14em; }
.start-route h3 { max-width: 500px; margin: 0 0 18px; font-size: clamp(32px, 3.5vw, 52px); line-height: 1; }
.start-route p { max-width: 520px; margin: 0; color: #555b4f; font-size: 14px; transition: color .22s ease; }
.start-route:hover p, .start-route:focus-visible p { color: rgba(255,255,255,.65); }
.start-route__arrow { position: absolute; top: clamp(28px, 4vw, 54px); right: clamp(28px, 4vw, 54px); font-size: 28px; }
.start-assurance { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 9vw, 140px); align-items: start; }
.start-assurance h2 { margin: 0; font-size: clamp(44px, 5vw, 72px); }
.start-assurance__copy p { margin-top: 0; color: rgba(255,255,255,.68); font-size: 17px; }
.start-assurance__copy .button { margin-top: 18px; }
.start-routes__heading > div > p { max-width: 610px; margin: 22px 0 0; color: #5c6156; }
.funnel-service-layout { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr); gap: clamp(45px, 7vw, 100px); align-items: start; }
.funnel-service-list { border-top: 1px solid var(--line); }
.funnel-service-choice { display: grid; grid-template-columns: 42px 1fr 24px; gap: 22px; width: 100%; min-height: 148px; padding: 28px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; cursor: pointer; transition: padding .2s ease, color .2s ease; }
.funnel-service-choice:hover, .funnel-service-choice:focus-visible, .funnel-service-choice.is-selected { padding-inline: 18px; background: var(--ink); color: var(--white); outline: 0; }
.funnel-service-choice__number { padding-top: 4px; font-size: 10px; font-weight: 780; letter-spacing: .13em; }
.funnel-service-choice small { display: block; margin-bottom: 8px; color: #73786c; font-size: 9px; font-weight: 780; letter-spacing: .14em; text-transform: uppercase; }
.funnel-service-choice.is-selected small, .funnel-service-choice:hover small { color: var(--signal); }
.funnel-service-choice strong { display: block; font-family: var(--display); font-size: clamp(27px, 3vw, 39px); font-weight: 400; line-height: 1; }
.funnel-service-choice em { display: block; max-width: 650px; margin-top: 12px; color: #5e6358; font-size: 13px; font-style: normal; }
.funnel-service-choice:hover em, .funnel-service-choice:focus-visible em, .funnel-service-choice.is-selected em { color: rgba(255,255,255,.66); }
.funnel-service-choice i { font-size: 20px; font-style: normal; }
.funnel-service-detail { position: sticky; top: calc(var(--header-height) + 28px); min-height: 610px; padding: clamp(35px, 4.5vw, 62px); border: 1px solid var(--line); background: var(--paper-deep); }
.funnel-service-detail::before { display: block; width: 52px; height: 1px; margin-bottom: 32px; background: var(--ink); content: ""; }
.funnel-service-detail h3 { margin: 22px 0 28px; font-size: clamp(44px, 5vw, 66px); line-height: .98; }
.funnel-service-detail > p:not(.eyebrow) { color: #555b50; font-size: 16px; }
.funnel-service-detail__outputs { margin: 38px 0; padding-top: 24px; border-top: 1px solid var(--line); }
.funnel-service-detail__outputs[hidden], .funnel-service-detail [hidden] { display: none; }
.funnel-service-detail__outputs ul { margin: 16px 0 0; padding: 0; list-style: none; }
.funnel-service-detail__outputs li { padding: 10px 0; border-top: 1px solid var(--line); font-size: 13px; }
.funnel-service-detail .text-link { display: inline-block; margin-bottom: 30px; font-size: 12px; font-weight: 780; }
.funnel-service-detail .button { width: 100%; }
.funnel-service-detail .button:disabled { opacity: .35; cursor: not-allowed; }
.funnel-brief__heading { display: grid; grid-template-columns: .45fr 1.1fr .65fr; gap: clamp(30px, 5vw, 80px); align-items: start; margin-bottom: clamp(55px, 8vw, 100px); }
.funnel-brief__heading h2 { margin: 0; font-size: clamp(52px, 6.8vw, 92px); }
.funnel-brief__heading > p:last-child { margin: 0; color: rgba(255,255,255,.64); }
.funnel-error { margin-bottom: 30px; padding: 18px 20px; border-left: 4px solid var(--signal); background: rgba(255,255,255,.08); color: var(--white); }
.funnel-brief-form { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); gap: clamp(45px, 8vw, 120px); align-items: start; }
.funnel-brief-form__fields { display: grid; gap: 28px; }
.funnel-selected-summary { padding: 24px 0; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.funnel-selected-summary span { display: block; margin-bottom: 7px; color: rgba(255,255,255,.48); font-size: 9px; font-weight: 780; letter-spacing: .14em; text-transform: uppercase; }
.funnel-selected-summary strong { color: var(--signal); font-family: var(--display); font-size: 32px; font-weight: 400; }
.funnel-brief-form label { display: block; }
.funnel-brief-form label > span { display: block; margin-bottom: 10px; color: var(--white); font-size: 12px; font-weight: 730; }
.funnel-brief-form label > small { display: block; margin: -4px 0 12px; color: rgba(255,255,255,.5); }
.funnel-brief-form input:not([type="checkbox"]), .funnel-brief-form textarea { box-sizing: border-box; width: 100%; border: 1px solid rgba(255,255,255,.24); border-radius: 0; background: rgba(255,255,255,.055); color: var(--white); font: inherit; }
.funnel-brief-form input:not([type="checkbox"]) { min-height: 58px; padding: 12px 15px; }
.funnel-brief-form textarea { padding: 15px; resize: vertical; }
.funnel-brief-form input:focus, .funnel-brief-form textarea:focus { border-color: var(--signal); outline: 1px solid var(--signal); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.form-grid--three { grid-template-columns: repeat(3, 1fr); }
.funnel-consent { display: grid !important; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; }
.funnel-consent input { width: 18px; height: 18px; accent-color: var(--signal); }
.funnel-consent span { color: rgba(255,255,255,.7) !important; font-size: 12px !important; font-weight: 400 !important; }
.funnel-retainer-card { position: sticky; top: calc(var(--header-height) + 28px); padding: clamp(32px, 4vw, 52px); background: var(--signal); color: var(--ink); }
.funnel-retainer-card .eyebrow { color: var(--ink); }
.funnel-retainer-card h3 { margin: 20px 0 8px; font-size: clamp(38px, 4vw, 54px); }
.funnel-retainer-card > strong { display: block; margin: 18px 0 28px; font-family: var(--display); font-size: clamp(55px, 6vw, 78px); font-weight: 400; }
.funnel-retainer-card > p { font-size: 14px; }
.funnel-retainer-card ul { margin: 30px 0; padding: 0; border-top: 1px solid rgba(18,21,17,.3); list-style: none; }
.funnel-retainer-card li { padding: 12px 0; border-bottom: 1px solid rgba(18,21,17,.3); font-size: 12px; font-weight: 700; }
.funnel-retainer-card .button { width: 100%; }
.funnel-retainer-card .button:disabled { opacity: .4; cursor: not-allowed; }
.funnel-retainer-card > small { display: block; margin-top: 18px; font-size: 10px; line-height: 1.5; }
.funnel-assurance .shell { display: grid; grid-template-columns: .45fr 1.2fr .6fr; gap: clamp(28px, 6vw, 90px); align-items: start; }
.funnel-assurance h2 { margin: 0; font-size: clamp(48px, 6vw, 82px); }
.funnel-assurance .shell > p:last-child { margin: 0; }

/* Funnel checkout and post-payment booking */
.claven-checkout-intro { margin-bottom: 58px; padding: clamp(30px, 5vw, 58px); background: var(--ink); color: var(--white); }
.claven-checkout-intro h2 { max-width: 980px; margin: 16px 0 20px; font-size: clamp(44px, 5vw, 72px); }
.claven-checkout-intro > p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.68); }
.claven-checkout-intro ol { display: grid; grid-template-columns: repeat(4, 1fr); margin: 36px 0 0; padding: 0; border-top: 1px solid var(--line-light); list-style: none; }
.claven-checkout-intro li { padding: 16px 10px 0 0; color: rgba(255,255,255,.38); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.claven-checkout-intro li.is-done { color: rgba(255,255,255,.72); }
.claven-checkout-intro li.is-current { color: var(--signal); }
.claven-booking-step { margin: 70px 0; padding: clamp(35px, 6vw, 72px); background: var(--ink); color: var(--white); }
.claven-booking-step h2 { max-width: 950px; margin: 18px 0 26px; font-size: clamp(48px, 6vw, 86px); }
.claven-booking-step > p:not(.eyebrow) { max-width: 720px; color: rgba(255,255,255,.68); }
.claven-booking-step .button { margin-top: 24px; }
.listing-hero--dark .shell { width: var(--shell); margin-inline: auto; }
.services-catalog { padding-top: 0; }
.catalog-row { display: grid; grid-template-columns: 60px 1.1fr .8fr 100px; gap: 40px; align-items: start; padding: 58px 0; border-top: 1px solid var(--line); }
.catalog-row > span { font-size: 11px; font-weight: 750; }
.catalog-row h2 { margin-bottom: 20px; font-size: clamp(38px, 4.3vw, 60px); }
.catalog-row p, .catalog-row li { color: #5c6155; font-size: 14px; }
.catalog-row ul { margin: 0; padding-left: 18px; }
.catalog-row .circle-link { justify-self: end; }
.sectors-directory { padding-top: 0; }
.sectors-directory > a { display: grid; grid-template-columns: 70px 1fr 50px; gap: 40px; align-items: center; min-height: 190px; border-top: 1px solid var(--line); }
.sectors-directory > a:last-child { border-bottom: 1px solid var(--line); }
.sectors-directory span { font-size: 11px; font-weight: 750; }
.sectors-directory h2 { margin-bottom: 15px; font-size: clamp(40px, 5vw, 68px); }
.sectors-directory p { max-width: 700px; margin: 0; color: #5d6256; font-size: 14px; }
.sectors-directory i { justify-self: end; font-size: 24px; font-style: normal; transition: transform .25s ease; }
.sectors-directory a:hover i { transform: translate(5px, -5px); }

.pricing-models { display: grid; grid-template-columns: repeat(2, 1fr); padding-top: 0; }
.pricing-models article { min-height: 390px; padding: 45px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.pricing-models article:nth-child(even) { border-right: 1px solid var(--line); }
.pricing-models article:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
.pricing-models span { font-size: 11px; font-weight: 750; }
.pricing-models h2 { margin: 75px 0 24px; font-size: clamp(38px, 4vw, 56px); }
.pricing-models p { max-width: 480px; color: #5c6155; }
.pricing-models strong { display: block; max-width: 460px; margin-top: 34px; font-size: 12px; line-height: 1.5; }
.policy-note .shell { display: grid; grid-template-columns: .4fr 1fr .7fr; gap: 60px; align-items: start; }
.policy-note h2 { font-size: clamp(48px, 6vw, 82px); }
.policy-note .shell > p:last-child { color: rgba(255,255,255,.63); }

.page-hero { padding-top: 110px; padding-bottom: 70px; border-bottom: 1px solid var(--line); }
.page-hero h1 { max-width: 960px; font-size: clamp(64px, 9vw, 128px); }
.page-content { max-width: 900px; padding-top: 80px; padding-bottom: 130px; }
.page-content h2 { margin-top: 70px; font-size: 52px; }
.page-content h3 { margin-top: 50px; font-size: 34px; }
.page-content p, .page-content li { font-size: 17px; }
.content-shell { min-height: 60vh; }
.editorial-card { padding: 50px 0; border-top: 1px solid var(--line); }
.editorial-card h2 { font-size: 50px; }

.site-footer { background: var(--ink); color: var(--white); }
.site-footer__lead { padding-top: 120px; padding-bottom: 110px; }
.footer-prompt { display: flex; align-items: end; justify-content: space-between; gap: 70px; }
.footer-prompt h2 { max-width: 940px; margin: 0; font-size: clamp(55px, 8vw, 116px); }
.site-footer__base { display: grid; grid-template-columns: 1.4fr .55fr .65fr; gap: 80px; padding: 60px 0; border-top: 1px solid var(--line-light); }
.brand--footer { margin-bottom: 25px; }
.site-footer__base > div:first-child p { max-width: 470px; color: rgba(255,255,255,.55); font-size: 13px; }
.footer-label { margin-bottom: 25px; color: rgba(255,255,255,.45); font-size: 10px; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.footer-menu { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: 13px; }
.footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; font-size: 13px; }
.footer-contact .footer-label { margin-bottom: 15px; }
.site-footer__legal { display: flex; gap: 28px; padding: 22px 0; border-top: 1px solid var(--line-light); color: rgba(255,255,255,.45); font-size: 10px; text-transform: uppercase; }

/* Curated service catalogue */
.catalog-hero { padding: clamp(110px, 12vw, 180px) 0 clamp(80px, 9vw, 132px); }
.catalog-hero__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .5fr); gap: clamp(60px, 10vw, 160px); align-items: end; }
.catalog-hero h1 { max-width: 930px; margin: 0; font-size: clamp(70px, 9vw, 132px); line-height: .88; }
.catalog-hero__aside { padding-top: 25px; border-top: 1px solid var(--line-light); }
.catalog-hero__aside > p { margin-bottom: 38px; color: rgba(255,255,255,.68); font-size: 17px; }
.catalog-hero__aside ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; color: rgba(255,255,255,.82); font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.catalog-hero__aside li::before { content: "↗"; margin-right: 10px; color: var(--signal); }
.catalog-intro { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(60px, 10vw, 150px); align-items: end; }
.catalog-intro h2 { max-width: 800px; margin: 0; font-size: clamp(52px, 6.7vw, 94px); }
.catalog-intro__copy { max-width: 520px; margin: 0; color: #54594e; font-size: 17px; }
.catalog-offers { padding-bottom: clamp(100px, 12vw, 170px); }
.catalog-offers > .woocommerce-notices-wrapper:empty { display: none; }
.catalog-offers__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.catalog-offer { min-width: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.13); }
.catalog-offer__link { display: flex; flex-direction: column; min-height: 610px; padding: clamp(30px, 4vw, 56px); transition: background-color .28s ease, color .28s ease; }
.catalog-offer__link:hover, .catalog-offer__link:focus-visible { background: var(--ink); color: var(--white); outline: 0; }
.catalog-offer__topline { display: flex; justify-content: space-between; gap: 30px; min-height: 44px; color: #666b60; font-size: 10px; font-weight: 760; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; transition: color .28s ease; }
.catalog-offer__topline span:last-child { max-width: 270px; text-align: right; }
.catalog-offer__link:hover .catalog-offer__topline, .catalog-offer__link:focus-visible .catalog-offer__topline { color: var(--signal); }
.catalog-offer h2 { max-width: 600px; margin: clamp(64px, 7vw, 100px) 0 24px; font-size: clamp(43px, 4.8vw, 68px); line-height: .94; }
.catalog-offer__description { max-width: 560px; margin-bottom: 54px; color: #555b50; font-size: 15px; transition: color .28s ease; }
.catalog-offer__link:hover .catalog-offer__description, .catalog-offer__link:focus-visible .catalog-offer__description { color: rgba(255,255,255,.66); }
.catalog-offer__facts { display: grid; grid-template-columns: 1.15fr .85fr; gap: 0; margin: auto 0 42px; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.catalog-offer__facts div { padding: 18px 18px 18px 0; }
.catalog-offer__facts div + div { padding-left: 22px; border-left: 1px solid currentColor; }
.catalog-offer__facts dt { margin-bottom: 5px; color: #6b7065; font-size: 9px; font-weight: 760; letter-spacing: .13em; text-transform: uppercase; transition: color .28s ease; }
.catalog-offer__link:hover dt, .catalog-offer__link:focus-visible dt { color: rgba(255,255,255,.48); }
.catalog-offer__facts dd { margin: 0; font-size: 14px; font-weight: 720; }
.catalog-offer__facts div:last-child dd { font-family: var(--display); font-size: 27px; font-weight: 400; }
.catalog-offer__action { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 0 20px; background: var(--ink); color: var(--white); font-size: 12px; font-weight: 760; transition: background-color .28s ease, color .28s ease; }
.catalog-offer__action i { font-size: 19px; font-style: normal; font-weight: 400; }
.catalog-offer__link:hover .catalog-offer__action, .catalog-offer__link:focus-visible .catalog-offer__action { background: var(--signal); color: var(--ink); }
.catalog-guide__heading { display: grid; grid-template-columns: .6fr 1.4fr; gap: 50px; align-items: start; margin-bottom: clamp(60px, 8vw, 105px); }
.catalog-guide__heading h2 { max-width: 870px; margin: 0; font-size: clamp(52px, 6.5vw, 92px); }
.catalog-guide__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.catalog-guide__grid article { display: flex; flex-direction: column; min-height: 420px; padding: clamp(28px, 3.2vw, 44px); border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.catalog-guide__grid article > span { color: var(--signal); font-size: 10px; font-weight: 760; letter-spacing: .14em; }
.catalog-guide__grid h3 { margin: 80px 0 24px; font-size: clamp(32px, 3vw, 46px); }
.catalog-guide__grid p { color: rgba(255,255,255,.58); font-size: 14px; }
.catalog-guide__grid a { width: fit-content; margin-top: auto; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 750; }
.catalog-assurance .shell { display: grid; grid-template-columns: .35fr 1.25fr .7fr; gap: clamp(35px, 6vw, 90px); align-items: end; }
.catalog-assurance h2 { margin: 0; font-size: clamp(48px, 6.2vw, 88px); }
.catalog-assurance .shell > p:nth-of-type(2) { max-width: 460px; margin: 0; }
.catalog-assurance .button { grid-column: 3; }

/* WooCommerce */
.commerce-shell { min-height: 70vh; padding-top: 90px; padding-bottom: 130px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 34px; color: #666b5f; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce-products-header__title, .woocommerce div.product .product_title, .woocommerce-checkout h3, .woocommerce-cart h1 { font-size: clamp(54px, 7vw, 98px); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 45px; font-size: 13px; }
.woocommerce .woocommerce-ordering select { min-height: 46px; border: 1px solid var(--line); background: transparent; padding: 0 38px 0 14px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 40px; border: 1px solid var(--line); background: var(--line); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none; width: auto; min-height: 420px; margin: 0; padding: 30px; background: var(--paper); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::before { content: "Claven / Professional service"; display: flex; align-items: flex-end; width: 100%; min-height: 160px; margin-bottom: 38px; padding: 20px; background: radial-gradient(circle at 80% 15%, rgba(216,255,85,.95), transparent 36%), linear-gradient(145deg, var(--ink), #4e5a48); color: rgba(255,255,255,.7); font-size: 9px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.woocommerce ul.products li.product a img { aspect-ratio: 1.65; margin-bottom: 38px; background: var(--paper-deep); object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 72px; padding: 0; font-family: var(--display); font-size: 30px; line-height: 1.02; }
.woocommerce ul.products li.product .price { margin-top: 18px; color: var(--ink); font-size: 17px; font-weight: 780; }
.woocommerce ul.products li.product .button { width: 100%; margin-top: 26px; background: var(--ink); color: var(--white); }
.woocommerce span.onsale { min-width: 58px; min-height: 58px; padding: 0; border-radius: 50%; background: var(--signal); color: var(--ink); font-size: 10px; line-height: 58px; text-transform: uppercase; }
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(55px, 8vw, 110px); }
.woocommerce div.product > .summary:first-child { grid-column: 1 / -1; width: min(860px, 100%); }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; }
.woocommerce div.product .product_title { margin-bottom: 30px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ink); font-size: 28px; font-weight: 750; }
.woocommerce-product-details__short-description { margin: 30px 0; color: #555b4f; font-size: 18px; }
.claven-product-facts { display: grid; grid-template-columns: 1fr 1fr; margin: 34px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.claven-product-facts div { padding: 18px 0; }
.claven-product-facts div + div { padding-left: 22px; border-left: 1px solid var(--line); }
.claven-product-facts dt { margin-bottom: 4px; color: #686d62; font-size: 9px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.claven-product-facts dd { margin: 0; font-size: 14px; font-weight: 700; }
.woocommerce div.product form.cart { display: flex; gap: 10px; margin: 35px 0; }
.woocommerce .quantity .qty { width: 70px; min-height: 56px; border: 1px solid var(--line); background: var(--white); }
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { min-height: 54px; border-radius: var(--radius); background: var(--ink); color: var(--white); font-size: 13px; font-weight: 750; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: #31362b; color: var(--white); }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 50px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 780px; }
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 0; background: rgba(255,255,255,.34); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 18px; border-color: var(--line); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { min-height: 54px; border: 1px solid var(--line); border-radius: 0; background: var(--white); padding: 12px 14px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 28px; }
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; width: 100%; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: auto; }
.woocommerce-checkout-review-order { margin-top: 30px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--signal); background: var(--white); }
.woocommerce-info::before, .woocommerce-message::before { color: #667a21; }

/* Keep primary content paint-independent: presentation must never wait on JS. */
[data-reveal] { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

@media (max-width: 1020px) {
  :root { --shell: min(100% - 36px, 900px); }
  .site-header__inner { grid-template-columns: 1fr auto auto; }
  .menu-toggle { display: flex; align-items: center; gap: 9px; margin-right: 22px; padding: 8px; font-size: 12px; font-weight: 750; }
  .menu-toggle i, .menu-toggle i::after { display: block; width: 18px; height: 1px; background: currentColor; content: ""; }
  .menu-toggle i::after { transform: translateY(5px); }
  .primary-navigation { position: fixed; inset: var(--header-height) 0 auto; display: none; background: var(--ink); color: var(--white); }
  .primary-navigation.is-open { display: block; }
  .primary-navigation .site-menu { display: grid; gap: 0; padding: 25px 18px 40px; }
  .primary-navigation .site-menu li { border-bottom: 1px solid var(--line-light); }
  .primary-navigation .site-menu a { display: block; padding: 18px 4px; font-family: var(--display); font-size: 32px; }
  .hero__lower { margin-left: 16vw; }
  .hero__actions { align-items: flex-start; flex-direction: column; }
  .sector-grid { grid-template-columns: repeat(2, 1fr); }
  .method-grid { grid-template-columns: repeat(2, 1fr); }
  .detail-cta .shell { grid-template-columns: 1fr; align-items: start; }
  .compact-service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-row { grid-template-columns: 50px 1fr 42px; }
  .service-row__copy { display: none; }
  .catalog-row { grid-template-columns: 40px 1fr 90px; }
  .catalog-row > ul { display: none; }
  .catalog-hero__grid { grid-template-columns: 1.25fr .75fr; gap: 55px; }
  .catalog-offer__link { min-height: 580px; }
  .catalog-guide__grid { grid-template-columns: 1fr; }
  .catalog-guide__grid article { min-height: 340px; }
  .catalog-assurance .shell { grid-template-columns: 1fr 1fr; }
  .catalog-assurance .button { grid-column: 2; }
  .funnel-service-layout, .funnel-brief-form { grid-template-columns: 1fr; }
  .funnel-service-detail, .funnel-retainer-card { position: static; }
  .funnel-service-detail { min-height: auto; }
  .funnel-brief__heading { grid-template-columns: 1fr 1.4fr; }
  .funnel-brief__heading > p:last-child { grid-column: 2; }
  .funnel-assurance .shell { grid-template-columns: 1fr 1.4fr; }
  .funnel-assurance .shell > p:last-child { grid-column: 2; }
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  :root { --shell: calc(100% - 30px); --header-height: 72px; }
  .section { padding-block: 76px; }
  .site-header__inner { grid-template-columns: 1fr auto; }
  .header-cart { display: none; }
  .menu-toggle { margin-right: 0; }
  .hero { min-height: auto; }
  .hero__content { padding-top: 72px; padding-bottom: 70px; }
  .hero h1 { margin-bottom: 58px; font-size: clamp(59px, 20vw, 86px); line-height: .84; }
  .hero h1 em { margin-left: 0; }
  .hero__lower { display: block; margin-left: 0; }
  .hero__lower > p { margin-bottom: 34px; font-size: 18px; }
  .hero__actions { gap: 22px; }
  .hero__ticker { justify-content: flex-start; overflow: hidden; padding-inline: 15px; }
  .hero__ticker span:nth-of-type(n+4), .hero__ticker span:nth-of-type(n+4) ~ i { display: none; }
  .intro-section__grid, .detail-intro__grid, .split-section__grid, .service-detail__lead, .service-detail__facts, .engagement-panel, .method-intro, .policy-note .shell, .site-footer__base { grid-template-columns: 1fr; }
  .intro-section__grid { gap: 48px; }
  .intro-section h2, .section-heading h2 { font-size: 48px; }
  .section-heading { display: block; margin-bottom: 40px; }
  .section-heading .text-link { margin-top: 30px; }
  .service-row { grid-template-columns: 38px 1fr 26px; min-height: 105px; gap: 12px; }
  .service-row__title { font-size: 30px; }
  .sector-grid { grid-template-columns: 1fr; }
  .sector-card { min-height: 250px; }
  .method-intro { gap: 15px; margin-bottom: 56px; }
  .method-grid { grid-template-columns: 1fr; }
  .method-grid article { min-height: 240px; }
  .method-grid h3 { margin-top: 55px; }
  .engagement-panel { gap: 45px; padding: 35px 25px; }
  .engagement-panel h2 { font-size: 45px; }
  .detail-hero, .detail-hero__content { min-height: 650px; }
  .detail-hero__content { padding-top: 78px; }
  .detail-hero h1 { font-size: clamp(68px, 22vw, 98px); }
  .detail-hero__headline { margin-top: 40px; font-size: 29px; }
  .detail-hero .circle-link { left: auto; right: 0; bottom: 38px; }
  .split-section article:first-child { padding-right: 0; padding-bottom: 65px; border-right: 0; border-bottom: 1px solid var(--line); }
  .compact-service-grid { grid-template-columns: 1fr; }
  .service-detail__lead { gap: 15px; margin-bottom: 70px; }
  .forensic-pricing__grid { grid-template-columns: 1fr; }
  .forensic-pricing__grid article { min-height: 230px; }
  .forensic-pricing__grid span { margin-bottom: 48px; }
  .forensic-budgets__heading, .forensic-budgets__grid { grid-template-columns: 1fr; }
  .forensic-budgets__grid article { min-height: 240px; }
  .forensic-budgets__grid strong { margin-top: 42px; }
  .listing-hero h1 { font-size: 62px; }
  .catalog-hero { padding-top: 85px; }
  .catalog-hero__grid, .catalog-intro, .catalog-guide__heading, .catalog-assurance .shell { grid-template-columns: 1fr; }
  .catalog-hero h1 { font-size: clamp(61px, 18vw, 84px); }
  .catalog-hero__aside { margin-top: 8px; }
  .catalog-intro { gap: 38px; }
  .catalog-intro h2 { font-size: 50px; }
  .catalog-offers__grid { grid-template-columns: 1fr; }
  .catalog-offer__link { min-height: 540px; padding: 30px 25px; }
  .catalog-offer h2 { margin-top: 62px; font-size: 44px; }
  .catalog-offer__description { margin-bottom: 40px; }
  .catalog-offer__facts { grid-template-columns: 1fr; }
  .catalog-offer__facts div + div { padding-left: 0; border-top: 1px solid currentColor; border-left: 0; }
  .catalog-guide__grid article { min-height: 330px; }
  .catalog-guide__grid h3 { margin-top: 58px; }
  .catalog-assurance .button { grid-column: 1; }
  .start-hero__grid, .start-routes__heading, .start-assurance { grid-template-columns: 1fr; }
  .start-hero h1 { font-size: 60px; }
  .start-route-grid { grid-template-columns: 1fr; }
  .start-route { min-height: 300px; }
  .start-route__number { margin-bottom: 60px; }
  .start-hero { padding-top: 78px; }
  .start-progress { margin-top: 28px; }
  .funnel-service-choice { grid-template-columns: 30px 1fr 18px; gap: 12px; min-height: 136px; }
  .funnel-service-choice strong { font-size: 31px; }
  .funnel-service-detail { padding: 30px 24px; }
  .funnel-service-detail h3 { font-size: 46px; }
  .funnel-brief__heading, .funnel-assurance .shell, .form-grid, .form-grid--three { grid-template-columns: 1fr; }
  .funnel-brief__heading > p:last-child, .funnel-assurance .shell > p:last-child { grid-column: 1; }
  .funnel-brief__heading h2, .funnel-assurance h2 { font-size: 49px; }
  .funnel-selected-summary strong { font-size: 28px; }
  .funnel-retainer-card { padding: 30px 24px; }
  .claven-checkout-intro ol { grid-template-columns: 1fr 1fr; gap: 18px; }
  .claven-checkout-intro h2, .claven-booking-step h2 { font-size: 46px; }
  .listing-hero > p:last-child, .listing-hero .shell > p:last-child { margin-left: 0; font-size: 18px; }
  .catalog-row { grid-template-columns: 28px 1fr; gap: 18px; padding: 42px 0; }
  .catalog-row .circle-link { grid-column: 2; justify-self: start; }
  .sectors-directory > a { grid-template-columns: 30px 1fr 20px; gap: 14px; padding: 30px 0; }
  .pricing-models { grid-template-columns: 1fr; }
  .pricing-models article, .pricing-models article:nth-child(even) { min-height: 330px; border-right: 1px solid var(--line); border-bottom: 0; }
  .pricing-models article:last-child { border-bottom: 1px solid var(--line); }
  .detail-cta h2 { font-size: 48px; }
  .footer-prompt { align-items: flex-start; flex-direction: column; }
  .footer-prompt h2 { font-size: 54px; }
  .site-footer__base { gap: 45px; }
  .site-footer__legal { flex-wrap: wrap; gap: 14px 22px; }
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .woocommerce ul.products li.product, .woocommerce-page ul.products li.product { min-height: 360px; }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr; }
}
