@font-face {
  font-family: Geist;
  src: url('/fonts/Geist-Variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: 'Geist Mono';
  src: url('/fonts/GeistMono-Variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root { --paper: #fff; }
body { background: #fff; font-family: Geist, Arial, sans-serif; }
.site-header { background: #ffffffed; }
.brand,
.blog-intro h1,
.blog-card h2,
.article-shell h1,
.article-content h2,
.article-cta h2 {
  font-family: Geist, Arial, sans-serif;
  font-style: normal;
  font-weight: 900;
  letter-spacing: -.065em;
  text-transform: uppercase;
}
.blog-intro h1 { line-height: .82; }
.blog-intro h1 em { font-style: normal; }
.blog-card h2 { line-height: .96; }
.article-shell h1 { font-size: clamp(40px,5.6vw,70px); line-height: .96; }
.article-content h2 { line-height: .98; }
.eyebrow,.blog-card>span,.blog-card small,.article-cta>span { font-family: 'Geist Mono', monospace; }
.article-content { font-family: Geist, Arial, sans-serif; }

.service-shell { width: min(1180px, calc(100% - 44px)); margin: auto; }
.service-hero { min-height: 670px; padding: 100px 0 90px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 7%; align-items: center; }
.service-hero h1 { margin: 22px 0 26px; font-size: clamp(60px,8.5vw,126px); font-weight: 900; line-height: .78; letter-spacing: -.075em; text-transform: uppercase; }
.service-hero h1 span { display: block; color: #9b8158; }
.service-hero .lead { margin-bottom: 30px; }
.signal-card { position: relative; min-height: 460px; padding: 38px; background: #111314; color: #fff; overflow: hidden; }
.signal-card:before { content: ''; position: absolute; width: 270px; height: 320px; right: -45px; top: 54px; border: 25px solid #ffffff25; border-radius: 47% 54% 46% 52%; transform: rotate(-27deg); box-shadow: inset 8px 6px 20px #fff7,inset -10px -9px 18px #ad9a7870,0 0 90px #d8b87924; }
.signal-card>* { position: relative; z-index: 1; }
.signal-label { font: 500 9px 'Geist Mono',monospace; letter-spacing: .13em; color: #b9a77f; }
.signal-card h2 { max-width: 430px; margin: 115px 0 20px; font-size: clamp(30px,4vw,53px); font-weight: 850; line-height: .93; letter-spacing: -.045em; word-spacing: .16em; text-transform: uppercase; }
.signal-card p { max-width: 390px; color: #adb3aa; line-height: 1.7; }
.service-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.service-tags span { padding: 9px 13px; border: 1px solid #1e211f25; border-radius: 999px; font-size: 11px; color: #596057; }
.criteria { padding: 90px 0; border-top: 1px solid var(--line); }
.section-heading { max-width: 850px; margin: 17px 0 52px; font-size: clamp(45px,7vw,90px); font-weight: 900; line-height: .84; letter-spacing: -.07em; text-transform: uppercase; }
.criteria-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.criterion { min-height: 260px; padding: 29px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.criterion span { font: 500 9px 'Geist Mono',monospace; color: #907b57; }
.criterion h3 { margin: 55px 0 12px; font-size: 22px; line-height: 1.02; text-transform: uppercase; }
.criterion p { font-size: 13px; line-height: 1.65; color: #697067; }
.demo-case { margin: 30px 0 100px; padding: 70px; background: #111314; color: #fff; }
.demo-case-head { display: flex; justify-content: space-between; gap: 30px; border-bottom: 1px solid #ffffff1c; padding-bottom: 40px; }
.demo-case h2 { max-width: 700px; margin: 18px 0 0; font-size: clamp(43px,6vw,78px); font-weight: 900; line-height: .85; letter-spacing: -.065em; text-transform: uppercase; }
.demo-note { max-width: 260px; color: #949d91; font-size: 12px; line-height: 1.7; }
.case-flow { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 40px; }
.case-step { min-height: 255px; padding: 24px; border-right: 1px solid #ffffff18; }
.case-step:last-child { border-right: 0; }
.case-step>span { font: 500 9px 'Geist Mono',monospace; color: #baa77d; }
.case-step h3 { margin: 55px 0 13px; font-size: 20px; text-transform: uppercase; }
.case-step p { color: #aab1a7; font-size: 13px; line-height: 1.68; }
.service-final { padding: 30px 0 110px; display: grid; grid-template-columns: 1fr 1fr; gap: 9%; align-items: end; }
.service-final h2 { font-size: clamp(45px,7vw,88px); font-weight: 900; line-height: .82; letter-spacing: -.07em; text-transform: uppercase; }
.service-final p { color: #666d65; line-height: 1.7; }
.service-final a { display: inline-block; margin-top: 28px; padding: 15px 20px; border-radius: 999px; background: #111314; color: #fff; text-decoration: none; font-size: 12px; }

@media (max-width: 850px) {
  .service-hero { grid-template-columns: 1fr; padding-top: 70px; }
  .criteria-grid,.case-flow { grid-template-columns: 1fr 1fr; }
  .demo-case { padding: 40px 26px; }
  .demo-case-head,.service-final { display: block; }
  .demo-note { margin-top: 24px; }
  .service-final p { margin-top: 28px; }
}

@media (max-width: 520px) {
  .service-shell { width: calc(100% - 32px); }
  .service-hero { min-height: 0; }
  .signal-card { min-height: 390px; margin: 20px -16px 0; }
  .criteria-grid,.case-flow { grid-template-columns: 1fr; }
  .criterion,.case-step { min-height: 0; }
  .criterion h3,.case-step h3 { margin-top: 35px; }
  .demo-case { margin-left: -16px; margin-right: -16px; }
  .case-step { border-right: 0; border-bottom: 1px solid #ffffff18; }
}
