@font-face {
  font-family:Geist;
  src:url('./assets/geist-latin.woff2') format('woff2');
  font-style:normal;
  font-weight:400 600;
  font-display:swap
}
:root {
  color-scheme:dark;
  --background:#111214;
  --text:#f0eeeb;
  --muted:#b6b3b3;
  --subtle:#aaa6a7;
  --red:#df554e;
  --card:#52232b;
  --card-alt:#5e262f;
  --card-hover:#793439;
  --line:#28262a;
  font-family:Geist,Arial,sans-serif;
  font-synthesis:none;
  font-weight:400;
  background:var(--background);
  color:var(--text)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:2rem
}
body {
  margin:0;
  -webkit-font-smoothing:antialiased
}
body,button,a {
  -webkit-tap-highlight-color:transparent
}
a {
  color:inherit;
  text-decoration:none
}
button,a {
  touch-action:manipulation
}
img,svg {
  display:block;
  max-width:100%
}
button {
  font:inherit
}
h1,h2,h3,p {
  margin:0
}
h1,h2,h3 {
  font-weight:400
}
::selection {
  background:#793439;
  color:white
}
:focus-visible {
  outline:2px solid #f3988e;
  outline-offset:7px;
  border-radius:2px
}
[tabindex="-1"]:focus:not(:focus-visible) {
  outline:none
}
.container {
  width:min(88.88889%,1280px);
  margin-inline:auto
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0
}
.skip-link {
  position:fixed;
  top:1rem;
  left:1rem;
  z-index:20;
  padding:1rem 1.25rem;
  background:var(--text);
  color:var(--background);
  transform:translateY(-180%)
}
.skip-link:focus {
  transform:translateY(0)
}
.icon {
  width:24px;
  height:24px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.15;
  stroke-linecap:round;
  stroke-linejoin:round
}
.arrow {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25
}
.eyebrow,.section-label {
  font-size:12px;
  line-height:1.5;
  color:var(--subtle)
}
.section-label {
  text-transform:uppercase
}
.section-header {
  text-align:center
}
.section-header h2 {
  font-size:clamp(36px,3.33333vw,48px);
  line-height:1.15;
  letter-spacing:-.025em;
  margin-top:30px
}
.section-header h2 strong {
  display:block;
  font-weight:600
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:44px;
  font-size:15px
}
.text-link:hover {
  color:#f3988e
}
.text-link .arrow {
  width:20px;
  transition:transform .2s ease
}
.text-link:hover .arrow {
  transform:translateX(4px)
}
/* Header and the Figma hero composition. */
.site-header {
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  flex-shrink:0
}
.brand-symbol { width:32px; height:auto; flex-shrink:0 }
.wordmark {
  width:168px;
  height:auto
}
.social-links {
  display:flex;
  gap:64px;
  align-items:center
}
.social-links a {
  display:inline-flex;
  gap:4px;
  align-items:center;
  min-height:44px;
  font-size:12px;
  color:var(--muted)
}
.social-links a:hover {
  color:var(--text)
}
.external-arrow {
  font-size:14px
}
.hero {
  --red:#ef4945;
  position:relative;
  isolation:isolate;
  min-height:680px;
  padding-top:53px
}
.hero-frame {
  overflow:hidden
}
.hero-copy {
  position:relative;
  z-index:1;
  width:48%
}
.hero h1 {
  font-size:clamp(54px,5vw,72px);
  letter-spacing:-.025em;
  line-height:1.06;
  margin:30px 0 52px
}
.hero h1 span {
  display:block
}
.hero h1 i {
  color:var(--red);
  font-style:normal
}
.hero h1 .red {
  color:var(--red)
}
.hero-description {
  max-width:470px;
  font-size:clamp(18px,1.52778vw,22px);
  line-height:1.55;
  color:var(--muted)
}
.hero-booking {
  margin-top:26px;
  color:var(--text)
}
.hero-booking .arrow {
  color:var(--red)
}
.hero-art {
  position:absolute;
  z-index:-1;
  top:-32px;
  right:-7.8125%;
  width:70.3125%;
  max-width:900px;
  height:auto;
  overflow:visible;
  pointer-events:none
}
/* Staggered service cards. */
.services {
  padding-top:7px
}
.service-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 40px;
  padding-top:64px;
  padding-bottom:70px
}
.experience {
  padding-top:116px
}
.experience .section-header h2 {
  margin-top:16px
}
.experience-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:28px;
  position:relative;
  padding-bottom:48px
}
.experience-item {
  position:relative;
  padding:16px 16px 15px 0
}
.experience-item:nth-child(odd) {
  transform:translateY(26px)
}
.experience-item .icon {
  width:23px;
  height:23px;
  color:#c87c79;
  margin-bottom:14px
}
.experience-item h3 {
  font-size:27px;
  line-height:1.25;
  letter-spacing:-.02em
}
.experience-item p {
  margin-top:3px;
  color:var(--muted);
  font-size:18px;
  line-height:1.5
}
.experience-line {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:48px;
  overflow:visible
}
/* Company-focused replacement for the personal founder block. */
.approach {
  padding-top:142px
}
.approach>.section-label {
  text-align:center
}
.approach-grid {
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  gap:88px;
  align-items:center;
  margin-top:64px
}
.identity-panel {
  position:relative;
  padding:36px 32px 40px;
  min-height:338px;
  background:linear-gradient(var(--line),var(--line)) left top/170px 1px no-repeat,linear-gradient(var(--line),var(--line)) left top/1px 70px no-repeat,linear-gradient(var(--line),var(--line)) right bottom/120px 1px no-repeat,linear-gradient(var(--line),var(--line)) right bottom/1px 75px no-repeat
}
.identity-panel:before,.identity-panel:after {
  position:absolute;
  content:'';
  pointer-events:none
}
.identity-panel:before {
  inset:14px;
  border-left:1px solid #33262b;
  border-bottom:1px solid #33262b;
  clip-path:polygon(0 0,6% 0,6% 94%,45% 94%,45% 100%,0 100%)
}
.identity-panel:after {
  top:0;
  right:0;
  width:3px;
  height:3px;
  border:1px solid #713a41
}
.identity-panel .section-label {
  color:#d4827c
}
.identity-panel h2 {
  font-size:clamp(38px,3.33333vw,48px);
  line-height:1.1;
  letter-spacing:-.035em;
  margin-top:40px
}
.identity-panel h2 strong {
  font-weight:600
}
.identity-panel p:last-child {
  margin-top:28px;
  font-size:16px;
  line-height:1.5;
  color:var(--muted)
}
.approach-copy>.section-label {
  color:#d4827c
}
.approach-copy>h3 {
  font-size:28px;
  line-height:1.45;
  letter-spacing:-.015em;
  margin-top:20px;
  max-width:670px
}
.principles {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin:30px 0 34px;
  padding:0;
  list-style:none
}
.principles li:before {
  content:'';
  display:block;
  width:24px;
  height:1px;
  background:#a95051;
  margin-bottom:12px
}
.principles li span {
  font-size:23px
}
.principles small {
  display:block;
  margin-top:9px;
  color:var(--subtle);
  font-size:10px
}
.approach-copy>p:not(.section-label) {
  font-size:18px;
  line-height:1.65;
  color:var(--muted)
}
.approach-copy .text-link {
  margin-top:18px
}
.story {
  padding-top:126px
}
.story .section-header h2 {
  margin-top:26px
}
.story-field {
  position:relative;
  isolation:isolate;
  min-height:580px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:160px 24px
}
.story-logo {
  position:absolute;
  top:50%;
  left:50%;
  width:clamp(160px,17.5vw,220px);
  height:auto;
  transform:translate(-50%,-50%);
  overflow:visible;
  opacity:0;
  pointer-events:none
}
.story-copy { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; width:60%; max-width:620px }
.story-art {
  position:absolute;
  z-index:-1;
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill;
  pointer-events:none
}
.trust-line,.trust-boundary,.trust-junctions { vector-effect:non-scaling-stroke }
.trust-line { stroke:#684047; stroke-width:1; stroke-dasharray:1; stroke-dashoffset:0; transition:stroke .25s }
.trust-boundary { stroke:#32262b; stroke-width:1; stroke-dasharray:3 8 }
.trust-junctions { stroke:#a26462; stroke-width:1 }
.trust-node { position:absolute; z-index:2; width:240px; transform:translateX(-50%); text-align:center }
.trust-node-contracts,.trust-node-keys { left:22% }
.trust-node-applications,.trust-node-infrastructure { left:78% }
.trust-node-contracts,.trust-node-applications { top:19% }
.trust-node-keys,.trust-node-infrastructure { top:81% }
.trust-node summary { position:relative; display:flex; align-items:center; justify-content:center; gap:10px; width:max-content; max-width:100%; margin:0 auto; padding:18px 8px 8px; list-style:none; cursor:pointer; font-size:18px; color:#c3b8b9; transition:color .2s }
.trust-node summary::-webkit-details-marker { display:none }
.trust-marker { position:absolute; top:-5px; left:calc(50% - 5px); width:10px; height:10px; border:1px solid #f27a72; background:var(--background); transform:rotate(45deg); transition:background .2s,box-shadow .2s }
.trust-plus { color:#bd7774; font-size:17px; line-height:1; transition:transform .2s }
.trust-node[open] .trust-plus { transform:rotate(45deg) }
.trust-node[open] summary,.trust-node summary:hover,.trust-node summary:focus-visible { color:var(--text) }
.trust-node[open] .trust-marker { background:#f27a72; box-shadow:0 0 18px #ef49452b }
.trust-description { position:absolute; top:100%; left:50%; transform:translateX(-50%); width:240px; margin:7px 0 0; padding:10px 14px; border:1px solid #4b3036; border-radius:4px; background:#1b171b; color:#c9bfc0; font-size:14px; line-height:1.5; text-wrap:balance }
.trust-node-contracts .trust-description,.trust-node-applications .trust-description { top:auto; bottom:calc(100% + 12px); margin:0 }
.story-field[data-active-node="contracts"] .trust-line-top,.story-field[data-active-node="contracts"] .trust-line-left,
.story-field[data-active-node="applications"] .trust-line-top,.story-field[data-active-node="applications"] .trust-line-right,
.story-field[data-active-node="keys"] .trust-line-left,.story-field[data-active-node="keys"] .trust-line-bottom,
.story-field[data-active-node="infrastructure"] .trust-line-right,.story-field[data-active-node="infrastructure"] .trust-line-bottom { stroke:#f27a72 }
.story-field .section-label {
  color:#de817c;
  font-size:11px
}
.story-field h3 {
  font-size:clamp(30px,2.91667vw,42px);
  line-height:1.2;
  letter-spacing:-.025em;
  margin-top:0
}
.story-copy>p:last-child {
  font-size:18px;
  line-height:1.6;
  color:var(--muted);
  margin-top:22px
}
.contact {
  margin-top:58px;
  border-radius:6px;
  background:#362126;
  border:1px solid #46262d;
  padding:38px 48px 32px
}
.contact h2 {
  font-size:clamp(34px,3.33333vw,48px);
  line-height:1.2;
  letter-spacing:-.025em;
  margin-top:24px
}
.contact-bottom {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:24px;
  margin-top:20px
}
.booking-note {
  color:#cfbbbe;
  font-size:13px
}
.meeting-button {
  display:inline-flex;
  min-width:320px;
  min-height:64px;
  padding:10px 18px 10px 24px;
  gap:32px;
  align-items:center;
  justify-content:space-between;
  border:1px solid #df554e;
  border-radius:6px;
  background:#df554e;
  color:#111214;
  font-size:18px;
  font-weight:500;
  transition:background .2s ease,border-color .2s ease
}
.meeting-button:hover {
  background:#ef766d;
  border-color:#ef766d
}
.button-icon {
  border-radius:50%;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  background:#111214;
  color:#df554e
}
.button-icon .arrow {
  width:29px;
  height:29px
}
.site-footer {
  position:relative;
  isolation:isolate;
  margin-top:124px;
  padding-bottom:42px;
  overflow:hidden
}
.footer-brand {
  padding-bottom:46px;
  border-bottom:1px solid var(--line)
}
.footer-nav {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px;
  margin-top:28px;
  padding-bottom:100px
}
.footer-nav .section-label {
  margin-bottom:16px
}
.footer-nav a {
  font-size:16px;
  line-height:1.5;
  display:block;
  width:fit-content;
  min-height:33px;
  padding:4px 0
}
.footer-nav a:hover {
  color:#ee8a82
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  color:var(--subtle);
  font-size:12px
}
.footer-bottom { flex-wrap:wrap }
.motion-toggle { display:inline-flex; gap:9px; align-items:center; min-height:44px; padding:0; border:0; background:none; color:var(--subtle); font-size:12px; cursor:pointer }
.motion-toggle:hover { color:var(--text) }
.motion-symbol { display:inline-block; width:13px; text-align:center; font-size:10px }
.motion-pending { opacity:0 }
html[data-motion="paused"] { scroll-behavior:auto }
html[data-motion="paused"] *,html[data-motion="paused"] *:before,html[data-motion="paused"] *:after { transition:none!important; animation:none!important }
.footer-bottom a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:14px
}
.footer-art {
  position:absolute;
  z-index:-1;
  width:100%;
  height:160px;
  bottom:0;
  left:0;
  object-fit:cover;
  opacity:.8;
  pointer-events:none
}
.about-main {
  padding-top:70px
}
.about-intro {
  position:relative;
  max-width:940px
}
.about-intro h1 {
  font-size:clamp(42px,5vw,72px);
  letter-spacing:-.035em;
  line-height:1.08;
  margin-top:30px
}
.about-intro h1 span {
  color:var(--red)
}
.about-intro>p:last-child {
  max-width:760px;
  color:var(--muted);
  font-size:22px;
  line-height:1.6;
  margin-top:40px
}
.about-detail {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:64px;
  padding:70px 0;
  border-top:1px solid var(--line);
  margin-top:70px
}
.about-detail h2 {
  font-size:32px;
  line-height:1.2
}
.about-detail p {
  color:var(--muted);
  font-size:19px;
  line-height:1.7
}
.about-detail p+p {
  margin-top:24px
}
.about-detail .principles {
  margin-top:38px
}
@media(min-width:901px) and (max-width:1280px) {
  .site-header {
    min-height:90px
  }
  .hero {
    min-height:clamp(540px,47.22vw,604px);
    padding-top:45px
  }
  .hero-art {
    top:calc(5.55556vw - 90px)
  }
  .hero-copy {
    width:49%
  }
  .service-grid {
    gap:20px 30px
  }
      .approach-grid {
    grid-template-columns:31% minmax(0,1fr);
    gap:54px
  }
  .identity-panel {
    padding-inline:24px
  }
  .identity-panel h2 {
    font-size:40px
  }
  .principles li span {
    font-size:21px
  }
}
@media(max-width:900px) {
  .container {
    width:calc(100% - 64px)
  }
  .site-header {
    min-height:100px
  }
  .social-links {
    gap:30px
  }
  .hero {
    min-height:620px;
    padding-top:48px
  }
  .hero-copy {
    width:57%
  }
  .hero h1 {
    font-size:clamp(45px,6.5vw,60px);
    margin-bottom:36px
  }
  .hero-description {
    font-size:18px
  }
  .hero-art {
    top:30px;
    right:-25%;
    width:92%;
    opacity:1
  }
  .service-grid {
    gap:20px;
    padding-top:48px;
    padding-bottom:40px
  }
            .experience {
    padding-top:100px
  }
  .experience-item h3 {
    font-size:22px
  }
  .experience-item p {
    font-size:15px
  }
  .approach {
    padding-top:100px
  }
  .approach-grid {
    grid-template-columns:1fr;
    gap:42px;
    margin-top:42px
  }
  .identity-panel {
    min-height:0;
    padding:28px
  }
  .identity-panel h2 {
    margin-top:24px;
    max-width:560px
  }
  .identity-panel h2 br {
    display:none
  }
  .identity-panel p:last-child {
    margin-top:18px
  }
  .approach-copy h3 {
    font-size:27px
  }
  .story {
    padding-top:100px
  }
  .story-field {
    min-height:560px
  }
  .contact {
    padding:32px
  }
  .contact-bottom {
    flex-wrap:wrap
  }
  .site-footer {
    margin-top:90px
  }
  .footer-nav {
    grid-template-columns:1.5fr 1fr;
    gap:36px 30px;
    padding-bottom:64px
  }
  .footer-nav a {
    min-height:42px
  }
  .about-detail {
    grid-template-columns:1fr;
    gap:28px
  }
}
@media(max-width:600px) {
  html {
    scroll-padding-top:24px
  }
  .container {
    width:calc(100% - 40px)
  }
  .site-header {
    min-height:88px;
    gap:12px
  }
  .wordmark {
    width:142px
  }
  .brand { gap:10px }
  .brand-symbol { width:26px }
  .social-links {
    gap:24px
  }
  .social-links a {
    font-size:12px
  }
  .hero {
    min-height:0;
    padding-top:43px;
    padding-bottom:72px
  }
  .hero-copy {
    width:100%
  }
  .hero h1 {
    font-size:clamp(48px,12.5vw,70px);
    line-height:1.06;
    margin-top:26px;
    margin-bottom:32px
  }
  .hero-description {
    font-size:17px;
    max-width:390px
  }
  .hero-art {
    position:relative;
    top:auto;
    right:auto;
    width:calc(100% + 40px);
    max-width:none;
    margin:20px -20px -40px;
    opacity:1
  }
  .hero-booking {
    margin-top:18px
  }
  .section-header h2 {
    font-size:34px;
    margin-top:24px
  }
  .service-grid {
    grid-template-columns:1fr;
    gap:16px;
    padding-top:38px;
    padding-bottom:0
  }
          .experience {
    padding-top:88px
  }
  .experience-grid {
    grid-template-columns:1fr 1fr;
    gap:24px 20px;
    padding-bottom:0;
    margin-top:36px
  }
  .experience-item {
    padding:0 0 20px;
    border-bottom:1px solid #603139
  }
  .experience-item:nth-child(odd) {
    transform:none
  }
  .experience-item:after {
    content:'';
    position:absolute;
    left:0;
    bottom:-3px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--red)
  }
  .experience-item h3 {
    font-size:23px
  }
  .experience-item p {
    font-size:16px
  }
  .experience-line {
    display:none
  }
  .approach {
    padding-top:90px
  }
  .approach-grid {
    margin-top:36px;
    gap:36px
  }
  .identity-panel {
    padding:28px 20px
  }
  .identity-panel h2 {
    font-size:38px
  }
  .identity-panel h2 br {
    display:initial
  }
  .approach-copy>h3 {
    font-size:25px;
    margin-top:18px
  }
  .approach-copy>p:not(.section-label) {
    font-size:17px
  }
  .principles {
    gap:10px;
    margin:28px 0
  }
  .principles li span {
    font-size:18px
  }
  .story {
    padding-top:88px
  }
  .story-field {
    min-height:640px;
    padding:190px 8px
  }
  .story-copy { width:100%; max-width:360px; background:var(--background) }
  .trust-node { width:46% }
  .trust-node-contracts,.trust-node-keys { left:25% }
  .trust-node-applications,.trust-node-infrastructure { left:75% }
  .trust-node summary { font-size:14px; gap:5px; padding:18px 2px 8px }
  .trust-description { width:100%; padding:8px; font-size:12px }
  .trust-node-contracts,.trust-node-applications { top:19% }
  .trust-node-keys,.trust-node-infrastructure { top:81% }
  .story-field h3 {
    font-size:30px;
    max-width:310px
  }
  .story-copy>p:last-child {
    font-size:16px;
    max-width:340px
  }
  .story-copy>p:last-child br {
    display:none
  }
  .story-art {
    object-fit:cover;
    opacity:.8
  }
  .contact {
    margin-top:30px;
    padding:28px 24px 24px
  }
  .contact h2 {
    font-size:clamp(29px,7.6vw,38px);
    margin-top:24px
  }
  .contact h2 br {
    display:none
  }
  .contact-bottom {
    flex-direction:column;
    align-items:stretch;
    gap:16px;
    margin-top:32px
  }
  .booking-note {
    order:2;
    text-align:center
  }
  .meeting-button {
    min-width:0;
    width:100%;
    min-height:62px;
    font-size:17px;
    padding-left:18px;
    gap:16px
  }
  .button-icon {
    width:38px;
    height:38px
  }
  .site-footer {
    margin-top:78px;
    padding-bottom:24px
  }
  .footer-brand {
    padding-bottom:32px
  }
  .footer-nav {
    margin-top:30px;
    gap:32px 20px;
    padding-bottom:50px;
    grid-template-columns:1fr 1fr
  }
  .footer-nav .section-label {
    margin-bottom:10px
  }
  .footer-nav a {
    font-size:14px;
    min-height:44px
  }
  .footer-bottom {
    flex-wrap:wrap;
    gap:6px 20px;
    font-size:11px
  }
  .about-main {
    padding-top:45px
  }
  .about-intro h1 {
    font-size:45px
  }
  .about-intro>p:last-child {
    font-size:19px;
    margin-top:30px
  }
  .about-detail {
    padding:42px 0;
    margin-top:42px
  }
  .about-detail p {
    font-size:17px
  }
}
@media(max-width:900px) {
  .desktop-break {
    display:none
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}
/* Let the approach labels breathe on the narrowest phones. */
@media(max-width:360px) {
  .principles {
    grid-template-columns:1fr;
    gap:18px
  }
  .principles li {
    display:flex;
    align-items:center;
    gap:12px
  }
  .principles li:before {
    margin:0;
    width:20px
  }
  .principles li span {
    font-size:20px
  }
  .principles small {
    margin:0 0 0 auto
  }
}

/* Site navigation. The mobile menu stays visible if JavaScript is unavailable. */
[hidden] { display:none!important }
summary { cursor:pointer; list-style:none; touch-action:manipulation }
summary::-webkit-details-marker { display:none }
.site-header { position:relative; z-index:10 }
.primary-nav { display:flex; align-items:center; gap:34px; font-size:13px }
.primary-nav>a,.services-menu>summary { display:flex; align-items:center; gap:7px; min-height:44px }
.primary-nav>a:not(.nav-booking),.services-menu>summary { color:var(--muted) }
.primary-nav>a:hover,.primary-nav [aria-current="page"],.services-menu>summary:hover,.services-menu>summary.is-current { color:var(--text) }
.primary-nav [aria-current="page"] { text-decoration:underline; text-decoration-color:var(--red); text-underline-offset:8px }
.services-menu { position:relative }
.services-menu>summary svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.2; transition:transform .2s }
.services-menu[open]>summary svg { transform:rotate(180deg) }
.services-dropdown { position:absolute; top:calc(100% + 12px); left:-24px; width:390px; max-width:calc(100vw - 40px); padding:12px; background:#1c1b1e; border:1px solid #51313a; border-radius:6px; box-shadow:0 24px 70px #0008 }
.services-dropdown a { display:flex; flex-direction:column; gap:5px; padding:13px 14px; border-radius:3px; line-height:1.35 }
.services-dropdown a:hover,.services-dropdown a:focus-visible { background:#32232a }
.services-dropdown small { color:var(--muted); font-size:11px }
.services-dropdown .all-services { flex-direction:row; justify-content:space-between; align-items:center; margin-bottom:5px; padding-bottom:16px; border-bottom:1px solid #3d3036; color:#f1a199 }
.services-dropdown .arrow { width:18px; height:18px }
.nav-booking { padding:0 15px; border:1px solid #754047; border-radius:3px; background:#332027; transition:background .2s,border-color .2s }
.nav-booking:hover { background:#52232b; border-color:#ad5c60 }
.nav-booking>span:first-child { color:#ef9b92; margin-left:12px }
.menu-toggle { display:flex; align-items:center; gap:12px; min-height:44px; padding:0 10px; border:1px solid #493038; border-radius:3px; background:transparent; color:var(--text); font-size:13px; cursor:pointer }
.menu-symbol { width:15px; height:12px; position:relative }
.menu-symbol:before,.menu-symbol:after { content:''; position:absolute; width:15px; height:1px; background:currentColor; top:3px; transition:transform .2s }
.menu-symbol:after { top:9px }
.menu-toggle[aria-expanded="true"] .menu-symbol:before { transform:translateY(3px) rotate(45deg) }
.menu-toggle[aria-expanded="true"] .menu-symbol:after { transform:translateY(-3px) rotate(-45deg) }

/* Service previews: native disclosure with a progressively enhanced height animation. */
.section-intro { margin-top:20px; font-size:16px; line-height:1.6; color:var(--muted) }
.service-grid { align-items:start }
.service-card { position:relative; display:block; min-width:0; padding:0; border:1px solid #613039; border-radius:5px; background-color:var(--card); transition:background-color .2s,border-color .2s }
.service-card:nth-child(even) { transform:translateY(70px); background-color:var(--card-alt) }
.service-card:nth-child(3) { background-color:var(--card-alt) }
.service-card:nth-child(4) { background-color:var(--card) }
.service-card:hover,.service-card:focus-within,.service-card[open] { border-color:#914b50; background-color:var(--card-hover) }
.service-card>summary { display:flex; flex-direction:column; min-height:clamp(248px,21.3889vw,308px); padding:clamp(24px,2.2222vw,32px); border-radius:4px }
.service-card>summary:focus-visible { outline-offset:4px }
.card-top { display:flex; justify-content:space-between; align-items:center; gap:20px }
.service-card .section-label { color:#d5b7ba; font-size:11px }
.card-toggle { display:grid; place-items:center; width:24px; height:24px; color:#f0d9d4; transition:transform .3s ease }
.card-toggle .arrow { width:22px; height:22px }
.service-card[open]:not([data-expanded="false"]) .card-toggle { transform:rotate(90deg) }
.service-card .service-name { display:flex; align-items:center; gap:clamp(14px,1.25vw,18px); margin-top:18px; font-size:clamp(24px,2.22222vw,32px); line-height:1.25; letter-spacing:-.025em }
.service-card .service-name .icon { width:clamp(22px,1.94444vw,28px); height:clamp(22px,1.94444vw,28px); flex-shrink:0; color:#f27a72 }
.service-card .service-teaser { color:#d9c3c5; font-size:clamp(14px,1.1111vw,16px); line-height:1.65; margin:auto 0 0; padding-top:40px; max-width:470px }
.when-open,.service-card[open] .when-closed { display:none }
.service-card[open] .when-open { display:inline }
.service-reveal { padding:0 32px 26px }
.service-reveal>.section-label { padding-top:24px; border-top:1px solid #b86e7059 }
.service-reveal ul { list-style:none; padding:0; margin:16px 0 20px }
.service-reveal li { position:relative; padding-left:17px; font-size:15px; line-height:1.6; color:#f0dcdf }
.service-reveal li+li { margin-top:8px }
.service-reveal li:before { content:''; position:absolute; left:0; top:10px; width:4px; height:4px; background:#e3968e }
.service-outcome { color:#d8bcc2; font-size:14px; line-height:1.65 }
.service-reveal .text-link { margin-top:20px; color:#fff0ee; font-size:14px }
.services-more { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:30px; padding:22px 0; border-bottom:1px solid var(--line) }
.services-more p { font-size:14px; color:var(--muted); line-height:1.6 }
.selected-work { padding-top:64px }
.work-strip-heading { display:flex; justify-content:space-between; align-items:center; gap:20px }
.work-strip-heading .text-link { font-size:13px; color:var(--muted) }
.client-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:24px; padding:10px 0 0 }
.client-strip a { display:flex; flex-direction:column; gap:12px; padding:25px 28px; border-left:1px solid #463038 }
.client-strip a:first-child { padding-left:0; border-left:0 }
.client-strip a>span { font-size:clamp(23px,2.4vw,32px); letter-spacing:-.04em; transition:color .2s }
.client-strip .client-domain { color:var(--muted) }
.client-strip small { color:var(--subtle); font-size:12px; line-height:1.5 }
.client-strip a:hover>span { color:#ed9992 }

/* Detail pages use the same type, restrained palette and generous spacing. */
.inner-main { padding-top:60px }
.page-intro { padding:25px 0 65px; border-bottom:1px solid #453038 }
.page-intro h1 { margin-top:30px; font-size:clamp(45px,5vw,72px); line-height:1.08; letter-spacing:-.045em }
.page-intro h1 span { color:var(--red) }
.intro-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; margin-top:35px }
.intro-bottom>p { color:var(--muted); font-size:18px; line-height:1.7; max-width:650px }
.intro-bottom .text-link { white-space:nowrap; font-size:14px }
.service-catalog { display:grid; grid-template-columns:240px minmax(0,1fr); gap:75px; padding-top:74px }
.service-index { position:sticky; top:30px; align-self:start }
.service-index nav { display:flex; flex-direction:column; margin-top:24px; gap:8px }
.service-index nav a { display:flex; gap:16px; align-items:baseline; padding:10px 0; font-size:14px; line-height:1.5; color:var(--muted) }
.service-index nav a:hover { color:#efaaa3 }
.service-index nav a span { color:#ae6d73; font-size:10px }
.service-index>.text-link { margin-top:32px; border-top:1px solid var(--line); padding-top:20px; font-size:12px }
.service-index .arrow { width:17px }
.service-detail { padding:0 0 65px; scroll-margin-top:30px }
.service-detail+.service-detail { padding-top:65px; border-top:1px solid #392b31 }
.detail-topline { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:26px }
.detail-topline .section-label { color:#d88883 }
.detail-context { color:var(--subtle); font-size:10px; line-height:1.5; text-align:right }
.service-detail h2 { font-size:clamp(30px,3vw,43px); line-height:1.18; letter-spacing:-.035em }
.detail-tagline { font-size:20px; line-height:1.5; margin-top:24px; max-width:650px }
.detail-description { font-size:15px; line-height:1.8; color:var(--muted); margin-top:18px; max-width:710px }
.detail-columns { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:38px }
.detail-columns h3 { font-size:12px; color:#e09b95 }
.detail-columns p,.coverage-list { margin-top:15px; color:var(--muted); font-size:14px; line-height:1.8 }
.detail-columns .output-heading { margin-top:25px }
.coverage-list { list-style:none; padding:0 }
.coverage-list li { padding:0 0 12px 16px; position:relative }
.coverage-list li:before { content:''; width:4px; height:4px; background:#a56065; position:absolute; left:0; top:10px }
.engagement { padding:85px 0; border-top:1px solid var(--line) }
.engagement-steps { list-style:none; padding:0; margin:60px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px }
.engagement-steps li { padding-top:20px; border-top:1px solid #6d3a42 }
.step-number { font-size:12px; color:#d17c78 }
.engagement-steps h3 { margin-top:32px; font-size:25px; letter-spacing:-.025em }
.engagement-steps p { margin-top:18px; font-size:15px; line-height:1.8; color:var(--muted) }
.questions { display:grid; grid-template-columns:1fr 1.8fr; gap:80px; padding:55px 0 100px }
.questions h2 { font-size:40px; line-height:1.2; letter-spacing:-.035em; margin-top:23px }
.faq-list details { border-top:1px solid #3c2f35 }
.faq-list details:last-child { border-bottom:1px solid #3c2f35 }
.faq-list summary { display:flex; gap:24px; justify-content:space-between; align-items:center; min-height:76px; padding:18px 0; font-size:16px; line-height:1.5 }
.faq-list summary span { color:#da928a; font-size:23px; transition:transform .2s }
.faq-list details[open] summary span { transform:rotate(45deg) }
.faq-list details p { padding-bottom:26px; font-size:15px; line-height:1.8; color:var(--muted) }
.work-collection { padding-top:64px }
.work-card { padding:35px 40px 40px; background:#1c191e; border:1px solid #443039; border-radius:5px; scroll-margin-top:30px }
.work-card+.work-card { margin-top:20px }
.work-card-top { display:flex; justify-content:space-between; gap:20px; align-items:baseline }
.work-card-top .section-label { color:#d99a94; font-size:11px }
.work-date { color:var(--subtle); font-size:11px; white-space:nowrap }
.work-card-body { display:grid; grid-template-columns:1.4fr 1fr; gap:70px; margin-top:40px; align-items:end }
.work-card h2 { font-size:clamp(32px,3vw,43px); letter-spacing:-.04em }
.work-card-body>div>p:not(.section-label) { max-width:520px; margin-top:20px; color:var(--muted); font-size:16px; line-height:1.7 }
.work-evidence { border-left:1px solid #4a333c; padding-left:35px }
.work-evidence .text-link { margin-top:18px; font-size:14px }
.work-evidence .text-link>span[aria-hidden] { margin-left:auto; color:#e69d95; font-size:19px }
.work-note { margin-top:25px; max-width:720px; font-size:12px; line-height:1.8; color:var(--subtle) }
.work-next { display:grid; grid-template-columns:1fr 1fr; gap:32px 80px; padding:95px 0 90px }
.work-next>.section-label { grid-column:1/-1 }
.work-next h2 { font-size:clamp(34px,3.5vw,48px); line-height:1.2; letter-spacing:-.035em }
.work-next>div>p { color:var(--muted); font-size:18px; line-height:1.7; max-width:440px }
.work-next .text-link { margin-top:18px }

/* Anonymous practitioner experience and clearly scoped career metrics. */
.track-record { padding-top:72px }
.track-record-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px }
.track-record-heading h2 { font-size:32px; line-height:1.2; letter-spacing:-.035em; margin-top:16px }
.track-record-heading .text-link { font-size:13px; color:var(--muted) }
.track-record-intro { max-width:660px; margin-top:24px; color:var(--muted); font-size:16px; line-height:1.8 }
.career-label { margin-top:36px; color:#d7aaa9; font-size:12px; line-height:1.6 }
.career-label+.career-metrics { margin-top:18px }
.career-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:40px 0 0; padding:30px 0; border-block:1px solid #483039 }
.career-metrics>div { display:flex; flex-direction:column; padding:5px 36px; border-left:1px solid #483039 }
.career-metrics>div:first-child { padding-left:0; border-left:0 }
.career-metrics>div:last-child { padding-right:0 }
.career-metrics dt { order:2; margin-top:18px; font-size:14px; line-height:1.5; color:var(--muted) }
.metric-link { display:flex; align-items:center; gap:8px; width:fit-content; color:#d7aaa9; font-size:12px; line-height:1.6; margin-top:7px }
.metric-link:hover { color:var(--text) }
.career-metrics dd { order:1; margin:0; font-size:clamp(50px,5vw,72px); line-height:1; letter-spacing:-.055em; font-variant-numeric:tabular-nums }
.career-metrics dd span { font-size:.55em; color:var(--red); margin-left:3px; vertical-align:top; line-height:1.3 }
.career-metrics .credential-value { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:8px; min-height:clamp(50px,5vw,72px); font-size:clamp(24px,2.6vw,37px); letter-spacing:-.035em; white-space:nowrap }
.credential-primary { display:flex; align-items:center; gap:10px }
.credential-secondary { font-size:16px; line-height:1.3; color:#d7aaa9; letter-spacing:0 }
.credential-value abbr { text-decoration:none }
.career-metrics .credential-value span { font-size:.7em; margin:0; line-height:1 }
.metric-scope { font-size:11px; line-height:1.7; color:var(--subtle); margin-top:18px; max-width:760px }
.expertise-intro { border-bottom:0; padding-bottom:25px }
.expertise-intro .intro-bottom>p { max-width:670px }
.expertise-metrics { padding-top:40px }
.expertise-metrics .career-metrics { margin-top:24px }
.leadership-profile { display:grid; grid-template-columns:1fr 1.35fr; gap:100px; padding-top:110px; scroll-margin-top:32px }
.leadership-heading h2 { font-size:clamp(36px,3.4vw,48px); letter-spacing:-.04em; line-height:1.15; margin-top:25px }
.leadership-heading h2 span { color:#cf827f }
.certifications { padding-top:100px; scroll-margin-top:40px }
.certifications-heading { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:70px }
.certifications-heading h2 { font-size:clamp(30px,3vw,42px); line-height:1.2; letter-spacing:-.035em; margin-top:20px }
.certifications-heading>p { color:var(--muted); font-size:15px; line-height:1.8; max-width:500px }
.certification-grid { list-style:none; margin:35px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px }
.certification-grid li { border:1px solid #483039; border-radius:4px; padding:25px 24px; background:#191518; scroll-margin-top:32px }
.certification-grid .section-label { font-size:10px; color:#d7aaa9 }
.certification-art { display:flex; align-items:center; justify-content:center; height:135px; margin-top:25px }
.certification-art img { display:block; width:auto; height:auto; max-width:135px; max-height:135px; object-fit:contain }
.certification-art .certification-logo-wide { max-width:100%; max-height:110px }
.certification-art .certification-logo-light { background:#f7f4f0; padding:10px; border-radius:3px }
.certification-art .certification-logo-ccssi { width:100%; height:135px; max-width:290px; max-height:135px; object-fit:cover; border-radius:4px }
.certification-grid h3 { font-size:28px; font-weight:400; line-height:1.2; letter-spacing:-.025em; margin-top:24px }
.certification-grid li>p:last-child { margin-top:12px; font-size:13px; line-height:1.65; color:var(--muted) }
.leadership-body>p { font-size:17px; line-height:1.85; color:var(--muted); margin-top:23px }
.leadership-body>.leadership-lead { margin-top:0; font-size:23px; line-height:1.55; letter-spacing:-.015em; color:var(--text) }
.leadership-principle { border-left:2px solid #954c55; padding:4px 0 4px 25px; margin-top:34px }
.leadership-principle .section-label { font-size:10px; color:#db948d }
.leadership-principle ul { list-style:none; margin:18px 0 0; padding:0 }
.leadership-principle li { font-size:15px; line-height:1.75; color:var(--muted) }
.leadership-principle li+li { margin-top:18px }
.leadership-principle strong { display:block; font-weight:500; color:var(--text) }
.expertise-domains { padding-top:110px }
.expertise-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:40px }
.expertise-section-heading h2 { font-size:40px; line-height:1.2; letter-spacing:-.035em; width:57% }
.expertise-section-heading>.section-label { padding-top:9px }
.expertise-domain-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 60px; margin-top:50px }
.expertise-domain-grid article { border-top:1px solid #483039; padding:32px 0 45px }
.expertise-domain-grid article>.section-label { color:#c6827f; font-size:11px }
.expertise-domain-grid h3 { font-size:27px; letter-spacing:-.025em; line-height:1.25; margin-top:24px }
.expertise-domain-grid article>p { margin-top:20px; color:var(--muted); font-size:15px; line-height:1.8; max-width:560px }
.expertise-domain-grid ul { padding:0; margin:24px 0 0; list-style:none }
.expertise-domain-grid li { color:#d5c6c8; font-size:13px; line-height:1.8; padding-left:17px; position:relative }
.expertise-domain-grid li+li { margin-top:7px }
.expertise-domain-grid li:before { content:''; position:absolute; left:0; top:10px; width:4px; height:4px; background:#b67477 }
.expertise-context { display:grid; grid-template-columns:1fr 1.35fr; gap:100px; padding:60px 0 90px }
.expertise-context h2 { font-size:36px; line-height:1.2; letter-spacing:-.035em; margin-top:25px }
.expertise-context ul { list-style:none; margin:0; padding:0 }
.expertise-context li { font-size:19px; line-height:1.5; padding:20px 0; border-bottom:1px solid #483039 }
.expertise-context li:first-child { padding-top:0 }
.redirect-page { padding-top:60px }
.redirect-page>.section-label { margin-top:80px }
.redirect-page h1 { margin-top:24px; font-size:clamp(40px,5vw,72px); letter-spacing:-.04em; line-height:1.1 }
.redirect-page .text-link { margin-top:32px }

@media(max-width:1000px) {
  .leadership-profile,.expertise-context { gap:50px }
  .career-metrics>div { padding-inline:25px }
  .credential-primary { gap:7px }
  .certifications-heading { gap:35px }
  .certification-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .expertise-domain-grid { gap:0 35px }
}
@media(max-width:700px) {
  .track-record-heading { align-items:flex-start; flex-direction:column; gap:12px }
  .track-record-heading h2 { font-size:28px }
  .track-record { padding-top:50px }
  .career-metrics { margin-top:24px; grid-template-columns:1fr; padding:0 }
  .career-metrics>div,.career-metrics>div:first-child,.career-metrics>div:last-child { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:20px; padding:24px 0; border-left:0; border-top:1px solid #38272f }
  .career-metrics>div:first-child { border-top:0 }
  .career-metrics dd { font-size:clamp(42px,13.333vw,52px); grid-column:1; grid-row:1 }
  .career-metrics dt { margin:0; font-size:13px; grid-column:2; grid-row:1 }
  .career-metrics .credential-value { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-height:0; font-size:26px }
  .credential-primary { flex-direction:column; align-items:flex-start; gap:5px }
  .credential-secondary { margin-top:4px; font-size:15px }
  .career-metrics .credential-value span { display:none }
  .track-record-intro { font-size:15px; margin-top:20px }
  .career-label { margin-top:28px; font-size:11px }
  .metric-scope { font-size:10px; max-width:450px }
  .expertise-metrics { padding-top:28px }
  .leadership-profile { grid-template-columns:1fr; gap:34px; padding-top:65px }
  .leadership-heading h2 { font-size:38px }
  .metric-link { font-size:11px }
  .certifications { padding-top:65px }
  .certifications-heading { grid-template-columns:1fr; gap:20px }
  .certifications-heading h2 { font-size:32px }
  .certifications-heading>p { font-size:14px }
  .certification-grid { margin-top:28px; gap:12px }
  .certification-grid li { padding:20px 16px }
  .certification-art { height:105px; margin-top:20px }
  .certification-art img { max-width:100%; max-height:105px }
  .certification-art .certification-logo-wide { max-height:85px }
  .certification-art .certification-logo-ccssi { height:105px; max-height:105px }
  .certification-grid h3 { font-size:25px; margin-top:20px }
  .certification-grid li>p:last-child { font-size:12px }
  .leadership-body>.leadership-lead { font-size:21px }
  .leadership-body>p { font-size:16px; line-height:1.8 }
  .leadership-principle { padding-left:20px; margin-top:26px }
  .expertise-domains { padding-top:65px }
  .expertise-section-heading { display:block }
  .expertise-section-heading h2 { width:auto; font-size:32px; margin-top:22px }
  .expertise-domain-grid { grid-template-columns:1fr; margin-top:35px }
  .expertise-domain-grid article { padding:28px 0 35px }
  .expertise-domain-grid h3 { font-size:25px; margin-top:20px }
  .expertise-domain-grid article>p { font-size:15px }
  .expertise-context { grid-template-columns:1fr; gap:30px; padding:40px 0 55px }
  .expertise-context h2 { font-size:32px }
  .expertise-context li { font-size:17px; padding-block:18px }
}

@media(max-width:1100px) {
  .primary-nav { gap:25px }
  .service-catalog { grid-template-columns:200px minmax(0,1fr); gap:45px }
  .detail-columns { gap:28px }
  .work-card-body { gap:40px }
  .intro-bottom { align-items:flex-start; flex-direction:column; gap:20px }
}
@media(max-width:900px) {
  .service-card:nth-child(even) { transform:translateY(40px) }
  .service-card>summary { padding:24px; min-height:300px }
  .service-card .service-name { font-size:25px; align-items:flex-start; gap:12px }
  .service-card .service-name .icon { width:23px; height:23px }
  .service-card .service-teaser { font-size:15px; padding-top:32px }
  .service-reveal { padding:0 24px 24px }
  .service-catalog { grid-template-columns:1fr; gap:50px; padding-top:40px }
  .service-index { position:static }
  .service-index nav { display:flex; flex-direction:row; flex-wrap:wrap; gap:8px 25px; margin-top:16px }
  .service-index nav a { font-size:12px; gap:10px; padding-block:8px }
  .service-index>.text-link { display:none }
  .service-details { padding-top:30px; border-top:1px solid #392b31 }
  .engagement-steps { gap:28px }
  .engagement-steps h3 { font-size:21px }
  .questions { gap:40px }
  .questions h2 { font-size:34px }
  .work-card { padding:28px }
  .work-evidence { padding-left:25px }
}
@media(max-width:800px) {
  .site-header { display:flex; flex-wrap:wrap; min-height:90px; padding-block:22px; gap:16px }
  .primary-nav { flex-basis:100%; flex-direction:column; align-items:stretch; gap:0; padding:16px 0 8px; border-top:1px solid #392a30 }
  .primary-nav>a,.services-menu>summary { padding:12px 0; min-height:48px; font-size:15px }
  .services-menu>summary { justify-content:space-between }
  .services-dropdown { position:static; width:100%; max-width:none; margin:8px 0 12px; padding:8px; box-shadow:none }
  .services-dropdown small { font-size:12px }
  .primary-nav>.nav-booking { margin-top:16px; padding-inline:16px; justify-content:space-between }
  .inner-main { padding-top:20px }
  .work-card-body { grid-template-columns:1fr; gap:28px; margin-top:32px }
  .work-evidence { padding:25px 0 0; border-top:1px solid #4a333c; border-left:0 }
  .work-evidence .text-link { margin-top:10px }
}
@media(max-width:600px) {
  .service-card:nth-child(even) { transform:none }
  .service-card>summary { min-height:260px; padding:22px 24px }
  .service-card .service-name { font-size:26px; margin-top:24px }
  .service-card .service-teaser { font-size:15px; padding-top:32px }
  .services-more { margin-top:15px; flex-direction:column; align-items:flex-start; gap:6px; padding-bottom:20px }
  .selected-work { padding-top:45px }
  .work-strip-heading { flex-wrap:wrap; gap:4px 20px }
  .client-strip { grid-template-columns:1fr; margin-top:12px }
  .client-strip a,.client-strip a:first-child { padding:22px 0; border-left:0; border-bottom:1px solid #38282f; flex-direction:row; justify-content:space-between; align-items:center; gap:16px }
  .client-strip a>span { font-size:25px }
  .client-strip small { max-width:105px; font-size:10px; text-align:right }
  .page-intro { padding:25px 0 40px }
  .page-intro h1 { font-size:clamp(40px,10.5vw,55px); margin-top:26px }
  .intro-bottom { margin-top:28px; gap:20px }
  .intro-bottom>p { font-size:17px; line-height:1.7 }
  .detail-topline { align-items:flex-start; gap:16px; margin-bottom:24px }
  .detail-context { max-width:140px; font-size:9px }
  .service-detail h2 { font-size:32px }
  .detail-tagline { font-size:19px; margin-top:22px }
  .detail-description { font-size:15px }
  .detail-columns { grid-template-columns:1fr; gap:26px; margin-top:28px }
  .detail-columns h3 { font-size:13px }
  .detail-columns p,.coverage-list { font-size:15px }
  .coverage-list { margin-bottom:0 }
  .service-detail { padding-bottom:44px }
  .service-detail+.service-detail { padding-top:44px }
  .engagement { padding:55px 0 }
  .engagement-steps { grid-template-columns:1fr; margin-top:40px; gap:35px }
  .engagement-steps h3 { margin-top:18px; font-size:24px }
  .engagement-steps p { margin-top:14px }
  .questions { grid-template-columns:1fr; padding:35px 0 55px; gap:30px }
  .questions h2 br { display:none }
  .faq-list summary { font-size:15px; gap:20px }
  .work-collection { padding-top:35px }
  .work-card { padding:24px }
  .work-card-top { flex-direction:column; gap:9px }
  .work-card h2 { font-size:34px }
  .work-card-body>div>p:not(.section-label) { font-size:15px }
  .work-evidence .text-link { font-size:13px; gap:10px }
  .work-note { font-size:11px }
  .work-next { grid-template-columns:1fr; gap:22px; padding:65px 0 55px }
  .work-next>div>p { font-size:17px }
}
