@layer properties {
  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
  *, ::before, ::after, ::backdrop { --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; }
}
}
@layer theme {
  :root, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --spacing: .25rem; --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }
}
@layer base {
  *, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }
  hr { height: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  progress { vertical-align: baseline; }
  summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
  ::placeholder { color: currentcolor; }
  @supports (color:color-mix(in lab, red, red)) {
  ::placeholder { color: color-mix(currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }
  ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; }
  ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }
}
@layer components;
@layer utilities {
  .visible { visibility: visible; }
  .fixed { position: fixed; }
  .relative { position: relative; }
  .static { position: static; }
  .start { inset-inline-start: var(--spacing); }
  .end { inset-inline-end: var(--spacing); }
  .contents { display: contents; }
  .grid { display: grid; }
  .hidden { display: none; }
  .table { display: table; }
  .grow { flex-grow: 1; }
  .transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }
  .resize { resize: both; }
  .antialiased { -webkit-font-smoothing: antialiased; }
  .shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
}
:root { --navy: #0b2a3b; --navy-deep: #071f2d; --navy-soft: #153747; --cream: #f7f3eb; --paper: #fcfaf6; --warm: #eee9df; --sage: #9ba687; --sage-light: #dfe3d0; --sage-pale: #e9eadc; --slate: #7891a0; --ink: #0c2939; --muted: #53646b; --line: #c9cec5; --white: #fffdf8; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { background: var(--cream); color: var(--ink); font-family: var(--font-geist-sans), Arial, Helvetica, sans-serif; margin: 0px; }
.legal-page { background: linear-gradient(#7891a00f 1px, transparent 1px) 0 0 / 46px 46px, var(--cream); min-height: 100vh; padding: 54px 0px 90px; }
.legal-logo { margin-bottom: 52px; display: inline-block; }
.legal-page article { border: 1px solid var(--line); background: rgba(252, 250, 246, 0.9); max-width: 820px; padding: 56px; }
.legal-page h1 { max-width: 700px; color: var(--navy); font-size: clamp(2.8rem, 6vw, 5.5rem); }
.legal-page h2 { color: var(--navy); margin: 38px 0px 12px; font-size: clamp(1.35rem, 2.4vw, 2rem); }
.legal-page article > p { max-width: 720px; }
.legal-page article > p:last-child { margin: 42px 0px 0px; }
.legal-page article a:not(.button) { color: rgb(83, 111, 125); text-underline-offset: 3px; text-decoration: underline; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
main { overflow: hidden; }
.scroll-progress { z-index: 80; background: var(--sage); pointer-events: none; height: 3px; transform: scaleX(var(--scroll-progress,0)); transform-origin: 0px center; will-change: transform; position: fixed; top: 0px; left: 0px; right: 0px; }
.launch-offer { z-index: 70; background: linear-gradient(135deg, #7891a014 1px, transparent 1px) 0 0 / 34px 34px, var(--navy); width: min(460px, -32px + 100vw); max-height: calc(-48px + 100vh); color: var(--cream); border: 1px solid rgba(184, 196, 155, 0.72); padding: 34px 34px 28px; animation: 0.76s cubic-bezier(0.16, 0.78, 0.24, 1) 0s 1 normal both running launch-offer-in; position: fixed; bottom: 24px; right: 24px; overflow: auto; box-shadow: rgba(3, 18, 27, 0.42) 0px 24px 80px; }
.launch-offer::before { content: ""; pointer-events: none; border: 1px solid rgba(247, 243, 235, 0.08); position: absolute; inset: 9px; }
.launch-offer > * { z-index: 1; position: relative; }
.launch-offer__close { z-index: 2; width: 38px; height: 38px; color: var(--cream); cursor: pointer; background: rgba(7, 31, 45, 0.78); border: 1px solid rgba(247, 243, 235, 0.25); place-items: center; padding: 0px; font-size: 1.4rem; line-height: 1; transition: border-color 0.18s, background 0.18s, transform 0.18s; display: grid; position: absolute; top: 14px; right: 14px; }
.launch-offer__close:hover, .launch-offer__close:focus-visible { border-color: var(--sage); background: var(--navy-soft); transform: rotate(4deg); }
.launch-offer__beam { border-top: 2px solid var(--cream); border-bottom: 2px solid var(--cream); width: 64px; height: 44px; margin-bottom: 20px; position: relative; }
.launch-offer__beam::before, .launch-offer__beam::after { background: var(--slate); content: ""; height: 1px; position: absolute; left: 0px; right: 0px; }
.launch-offer__beam::before { top: 14px; }
.launch-offer__beam::after { bottom: 13px; }
.launch-offer__beam span { z-index: 1; background: var(--sage); clip-path: polygon(50% 0px, 100% 100%, 0px 100%); width: 24px; height: 36px; position: absolute; bottom: 2px; left: 20px; }
.launch-offer__kicker { color: rgb(189, 201, 159); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.13em; text-transform: uppercase; margin-bottom: 10px; font-size: 0.66rem; font-weight: 750; }
.launch-offer h2 { color: var(--cream); margin-bottom: 14px; font-size: clamp(2.15rem, 5vw, 3.15rem); line-height: 0.98; }
.launch-offer__intro { color: rgb(203, 212, 211); margin-bottom: 20px; font-size: 0.88rem; line-height: 1.55; }
.launch-offer__prices { border-bottom: 1px solid rgba(247, 243, 235, 0.16); margin-bottom: 22px; }
.launch-offer__prices div { border-top: 1px solid rgba(247, 243, 235, 0.16); grid-template-columns: minmax(0px, 1fr) auto auto; align-items: center; gap: 12px; min-height: 46px; font-size: 0.75rem; display: grid; }
.launch-offer__prices span { color: rgb(220, 226, 222); text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.launch-offer__prices s { color: rgb(129, 151, 156); }
.launch-offer__prices strong { color: rgb(196, 208, 167); text-align: right; min-width: 58px; font-size: 0.88rem; }
.launch-offer__cta { width: 100%; margin-bottom: 14px; }
.launch-offer > small { color: rgb(145, 164, 167); font-size: 0.62rem; line-height: 1.5; display: block; }
@keyframes launch-offer-in { 
  0% { opacity: 0; transform: translate(26px, 44px) scale(0.96); }
  100% { opacity: 1; transform: translate(0px) scale(1); }
}
.page-shell { width: min(1240px, 100% - 64px); margin: 0px auto; }
.section { padding: 94px 0px; }
.section--warm { background: var(--paper); }
.section--sage { background: linear-gradient(135deg, rgb(221, 226, 204) 0%, rgb(238, 240, 225) 56%, rgb(211, 218, 192) 100%); }
.navy-section { background: linear-gradient(135deg, #7891a00d 1px, transparent 1px) 0 0 / 70px 70px, linear-gradient(45deg, #7891a00a 1px, transparent 1px) 0 0 / 70px 70px, var(--navy); color: var(--cream); position: relative; }
h1, h2, h3, p { margin-top: 0px; }
h1 { letter-spacing: -0.055em; max-width: 730px; margin-bottom: 24px; font-size: clamp(3.5rem, 6.2vw, 6.5rem); font-weight: 630; line-height: 0.95; }
h2 { letter-spacing: -0.045em; max-width: 820px; margin-bottom: 24px; font-size: clamp(2.2rem, 4.3vw, 4.4rem); font-weight: 610; line-height: 1.02; }
h3 { letter-spacing: -0.025em; font-size: 1.45rem; line-height: 1.15; }
p { color: var(--muted); font-size: 1rem; line-height: 1.68; }
.navy-section p { color: rgb(201, 210, 211); }
.eyebrow { color: var(--slate); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 18px; font-size: 0.74rem; font-weight: 650; line-height: 1.4; }
.eyebrow--sage { color: rgb(184, 196, 155) !important; }
.site-header { z-index: 50; min-height: 82px; color: var(--cream); backdrop-filter: blur(16px); background: rgba(7, 31, 45, 0.96); border-bottom: 1px solid rgba(255, 255, 255, 0.1); grid-template-columns: minmax(250px, 1fr) auto minmax(250px, 1fr); align-items: center; padding: 12px 4vw; transition: min-height 0.24s, padding 0.24s, background 0.24s, box-shadow 0.24s; display: grid; position: sticky; top: 0px; }
.site-header[data-compact] { background: rgba(7, 31, 45, 0.984); min-height: 68px; padding-top: 6px; padding-bottom: 6px; box-shadow: rgba(3, 18, 27, 0.18) 0px 8px 30px; }
.header-logo { justify-self: start; }
.desktop-nav { align-items: center; gap: 34px; display: flex; }
.desktop-nav a { color: rgb(221, 227, 223); font-size: 0.84rem; position: relative; }
.desktop-nav a::after { background: var(--sage); content: ""; opacity: 0; height: 1px; transition: 0.18s; position: absolute; bottom: -8px; left: 0px; right: 0px; transform: scaleX(0); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { opacity: 1; transform: scaleX(1); }
.header-cta { justify-self: end; }
.brand-lockup { width: max-content; color: var(--navy); align-items: center; gap: 12px; display: flex; }
.brand-lockup--light { color: var(--cream); }
.brand-mark { flex: 0 0 auto; width: 48px; height: 48px; }
.brand-words { flex-direction: column; gap: 3px; display: flex; }
.brand-words strong { letter-spacing: 0.04em; font-size: 1.02rem; }
.brand-words small { letter-spacing: 0.42em; font-size: 0.54rem; }
.button { cursor: pointer; border: 1px solid rgba(0, 0, 0, 0); border-radius: 1px; justify-content: center; align-items: center; min-height: 48px; padding: 0px 22px; font-size: 0.85rem; font-weight: 650; line-height: 1; transition: transform 0.16s, background 0.16s, color 0.16s, border-color 0.16s; display: inline-flex; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button--sage { background: var(--sage); color: var(--navy-deep); }
.button--cream { background: var(--cream); color: var(--navy-deep); }
.button--navy { background: var(--navy); color: var(--cream); }
.button--outline-light { color: var(--cream); border-color: rgba(247, 243, 235, 0.6); }
.button--outline-dark { border-color: var(--navy); color: var(--navy); }
.hero { min-height: 760px; }
.hero::before, .hero::after { border-top: 1px solid var(--slate); border-left: 1px solid var(--slate); content: ""; opacity: 0.6; width: 18px; height: 18px; position: absolute; }
.hero::before { top: 32px; left: 3vw; }
.hero::after { bottom: 112px; right: 3vw; transform: rotate(180deg); }
.hero-grid { grid-template-columns: 0.98fr 1.02fr; align-items: center; gap: 40px; min-height: 676px; padding: 76px 0px 54px; display: grid; }
.hero-copy { z-index: 2; position: relative; }
.hero-lede { max-width: 640px; margin-bottom: 13px; font-size: clamp(1.05rem, 1.55vw, 1.32rem); line-height: 1.55; color: rgb(214, 222, 220) !important; }
.owner-note { font-family: var(--font-geist-mono), monospace; letter-spacing: 0.07em; text-transform: uppercase; margin-bottom: 30px; color: rgb(158, 174, 174) !important; font-size: 0.78rem !important; }
.button-row { flex-wrap: wrap; gap: 14px; display: flex; }
.referral-nudge { color: rgb(214, 222, 220); align-items: center; gap: 12px; margin-top: 28px; font-size: 0.84rem; display: inline-flex; }
.referral-nudge span { color: rgb(184, 196, 155); border: 1px solid rgba(216, 226, 219, 0.35); border-radius: 50%; place-items: center; width: 28px; height: 28px; display: grid; }
.hero-art { justify-content: center; align-items: center; min-height: 530px; display: flex; position: relative; }
.hero-art::after { content: ""; clip-path: polygon(0px 0px, 20px 0px, 20px 1px, 1px 1px, 1px 20px, 0px 20px, 0px 0px, 100% 0px, 100% 20px, calc(100% - 1px) 20px, calc(100% - 1px) 1px, calc(100% - 20px) 1px, calc(100% - 20px) 0px, 100% 0px, 100% 100%, calc(100% - 20px) 100%, calc(100% - 20px) calc(100% - 1px), calc(100% - 1px) calc(100% - 1px), calc(100% - 1px) calc(100% - 20px), 100% calc(100% - 20px), 100% 100%, 0px 100%, 0px calc(100% - 20px), 1px calc(100% - 20px), 1px calc(100% - 1px), 20px calc(100% - 1px), 20px 100%, 0px 100%); border: 1px solid rgba(120, 145, 160, 0.15); position: absolute; inset: 8% 2%; }
.hero-survey { filter: drop-shadow(rgba(0, 0, 0, 0.2) 0px 22px 30px); width: min(100%, 700px); height: auto; transform: translate3d(0, calc(var(--hero-parallax,0px) + var(--parallax-y,0px)), 0); will-change: transform; transition: transform 0.12s linear; }
.hero-blueprint { opacity: 0.2; stroke-width: 1px; }
.hero-blueprint > path:first-child { opacity: 0.45; stroke-dasharray: 2, 12; }
.hero-scan-line { opacity: 0.18; }
.hero-stage-node { fill: var(--navy-deep); stroke: rgb(120, 145, 160); stroke-width: 1.5px; }
.hero-bulldozer, .hero-crane, .hero-rocky-ground, .hero-launch-smoke path, .hero-engine-glow, .hero-rocket-exhaust, .hero-build-impact, .hero-rocket-rigging, .hero-end-logo { opacity: 0; }
.motion-ready .hero-survey .hero-rocky-ground { opacity: 1; }
.trust-strip { color: rgb(215, 223, 220); background: rgba(4, 22, 32, 0.44); border-top: 1px solid rgba(155, 166, 135, 0.55); justify-content: center; align-items: center; gap: 34px; min-height: 84px; padding: 0px 28px; font-size: 0.84rem; display: flex; }
.trust-strip i { background: var(--sage); border-radius: 50%; width: 3px; height: 3px; }
.foundation { grid-template-columns: 0.7fr 1.3fr; align-items: center; gap: 90px; display: grid; }
.foundation-copy h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.foundation-copy p:last-child { max-width: 510px; }
.foundation-diagram { border: 1px solid var(--line); background: linear-gradient(#7891a014 1px, transparent 1px) 0 0 / 38px 38px, var(--paper); padding: 42px 44px 36px; position: relative; }
.foundation-diagram::before, .foundation-diagram::after, .service-card::before, .service-card::after { content: ""; width: 16px; height: 16px; position: absolute; }
.foundation-diagram::before, .service-card::before { border-top: 2px solid var(--navy); border-left: 2px solid var(--navy); top: -1px; left: -1px; }
.foundation-diagram::after, .service-card::after { border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); bottom: -1px; right: -1px; }
.foundation-diagram > p { color: var(--sage); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.16em; text-align: center; text-transform: uppercase; font-size: 0.72rem; font-weight: 700; }
.foundation-line { grid-template-columns: repeat(4, 1fr); gap: 18px; padding-top: 38px; display: grid; position: relative; }
.foundation-line::before { background: var(--slate); content: ""; height: 2px; position: absolute; top: 50px; left: 9%; right: 9%; }
.foundation-step { z-index: 1; text-align: center; flex-direction: column; align-items: center; display: flex; position: relative; }
.foundation-step > span { border: 2px solid var(--navy); background: var(--paper); width: 27px; height: 27px; color: var(--navy); border-radius: 50%; place-items: center; margin-bottom: 20px; font-size: 0.55rem; font-weight: 700; display: grid; }
.foundation-step strong { margin-bottom: 8px; font-size: 0.9rem; }
.foundation-step small { max-width: 145px; color: var(--muted); font-size: 0.72rem; line-height: 1.4; }
.section-heading { grid-template-columns: minmax(0px, 1.25fr) minmax(280px, 0.75fr); align-items: end; gap: 70px; margin-bottom: 54px; display: grid; }
.section-heading h2 { margin-bottom: 0px; }
.section-heading > p { max-width: 480px; margin-bottom: 0px; }
.section-heading--compact { grid-template-columns: 1fr; }
.section-heading--light h2 { color: var(--cream); }
.section-heading--light > p { color: rgb(191, 202, 204); }
.service-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; display: grid; }
.service-card { border: 1px solid var(--line); background: var(--cream); flex-direction: column; min-height: 500px; padding: 36px; display: flex; position: relative; }
.fit-strip { border-top: 1px solid var(--line); grid-template-columns: 210px 1fr; align-items: center; gap: 34px; margin-top: 28px; padding: 24px 0px 0px; display: grid; }
.fit-strip .eyebrow { margin: 0px; }
.fit-strip > div { grid-template-columns: repeat(3, 1fr); display: grid; }
.fit-strip span { border-left: 1px solid var(--line); min-height: 54px; color: var(--navy); align-items: center; gap: 12px; padding: 0px 20px; font-size: 0.78rem; font-weight: 620; display: flex; }
.fit-strip b { color: var(--sage); font-family: var(--font-geist-mono), monospace; font-size: 0.68rem; }
.service-card:nth-child(2) { background: linear-gradient(145deg, #e3eaf0 0%, var(--cream) 72%); }
.service-card:nth-child(3) { background: linear-gradient(145deg, #edeadc 0%, var(--cream) 72%); }
.service-number { color: var(--sage); font-family: var(--font-geist-mono), monospace; margin-bottom: 64px; font-size: 1rem; }
.service-card h3 { max-width: 260px; font-size: 1.75rem; }
.service-card p { min-height: 108px; font-size: 0.93rem; }
.service-card ul, .package-card ul { gap: 10px; margin: 10px 0px 34px; padding: 0px; list-style: none; display: grid; }
.service-card li, .package-card li { color: rgb(53, 77, 88); padding-left: 20px; font-size: 0.82rem; line-height: 1.5; position: relative; }
.service-card li::before, .package-card li::before { color: var(--sage); content: "✓"; font-weight: 800; position: absolute; top: 0.1em; left: 0px; }
.service-card > a { border-top: 1px solid var(--line); justify-content: space-between; margin-top: auto; padding-top: 18px; font-size: 0.84rem; font-weight: 650; display: flex; }
.fit { padding-top: 92px; padding-bottom: 92px; }
.fit-grid { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); grid-template-columns: repeat(3, 1fr); display: grid; }
.fit-grid article { border-right: 1px solid var(--line); padding: 42px 38px; }
.fit-grid article:last-child { border-right: 0px; }
.fit-grid span { color: var(--slate); font-family: var(--font-geist-mono), monospace; font-size: 1.8rem; }
.fit-grid h3 { margin-top: 46px; font-size: 1.35rem; }
.fit-grid p { margin-bottom: 0px; font-size: 0.9rem; }
.work { padding-bottom: 118px; }
.case-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 26px; display: grid; }
.case-study { background: rgba(255, 255, 255, 0.035); border: 1px solid rgba(216, 224, 217, 0.2); flex-direction: column; min-height: 0px; display: flex; }
.case-study:nth-child(2n) { grid-template-columns: none; }
.case-study:nth-child(2n) .case-visual { order: 0; }
.case-visual { place-items: center; min-height: 360px; padding: 34px; display: grid; overflow: hidden; }
.case-study--northstar .case-visual { background: radial-gradient(circle at 50% 40%, rgb(216, 143, 120) 0%, rgb(181, 79, 54) 68%, rgb(131, 52, 35) 100%); }
.case-study--heritage .case-visual { background: radial-gradient(circle at 50% 40%, rgb(56, 80, 72) 0%, rgb(28, 48, 45) 62%, rgb(18, 35, 33) 100%); }
.case-study--clairguidance .case-visual { background: radial-gradient(circle at 50% 35%, rgb(247, 238, 233) 0%, rgb(216, 191, 196) 65%, rgb(169, 130, 142) 100%); }
.case-copy { flex-direction: column; justify-content: center; min-height: 330px; padding: 42px; display: flex; }
.case-copy h3 { max-width: 430px; color: var(--cream); font-size: clamp(1.7rem, 3vw, 2.8rem); }
.case-copy p:not(.eyebrow) { max-width: 450px; }
.case-copy > span { color: rgb(158, 176, 180); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.04em; margin-top: 22px; font-size: 0.7rem; }
.case-copy .case-outcome { border-left: 2px solid var(--sage); color: rgb(200, 210, 209); background: rgba(247, 243, 235, 0.055); max-width: 470px; margin: 24px 0px 0px; padding: 16px 18px; font-size: 0.82rem; line-height: 1.55; }
.case-outcome b { color: rgb(188, 201, 159); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 4px; font-size: 0.62rem; display: block; }
.case-link { width: fit-content; color: var(--cream); align-items: center; gap: 8px; margin-top: 26px; font-size: 0.82rem; font-weight: 750; text-decoration: none; display: inline-flex; }
.case-link::after { background: var(--sage); content: ""; width: 32px; height: 1px; transition: width 0.25s; }
.case-link:hover::after, .case-link:focus-visible::after { width: 52px; }
.case-link b { color: var(--sage); font-weight: 500; }
.mini-browser { background: var(--paper); border: 7px solid rgb(32, 43, 49); border-radius: 14px; width: min(100%, 560px); text-decoration: none; display: block; position: relative; overflow: hidden; transform: perspective(900px) rotateX(1deg) rotateY(-2deg); box-shadow: rgba(0, 0, 0, 0.28) 0px 28px 46px; }
.browser-bar { background: rgb(240, 235, 227); align-items: center; gap: 5px; height: 30px; padding: 0px 12px; display: flex; }
.browser-bar i { background: rgb(194, 185, 173); border-radius: 50%; width: 6px; height: 6px; }
.browser-bar span { color: rgb(108, 98, 91); margin-left: 8px; font-size: 0.45rem; }
.browser-bar b { color: rgb(108, 98, 91); letter-spacing: 0.04em; opacity: 0.72; text-transform: uppercase; margin-left: auto; font-size: 0.43rem; font-weight: 750; }
.browser-bar--dark { background: rgb(13, 25, 24); }
.browser-bar--dark span { color: rgb(164, 170, 160); }
.browser-bar--dark b { color: rgb(210, 200, 170); }
.site-preview-window, .northstar-live-preview { aspect-ratio: 16 / 9; contain: paint; isolation: isolate; background: rgb(246, 242, 237); width: 100%; min-height: 0px; position: relative; overflow: hidden; }
.site-preview-window::after, .northstar-live-preview::after { content: ""; pointer-events: none; background: linear-gradient(rgba(0, 0, 0, 0), rgba(11, 28, 37, 0.16)); height: 44px; position: absolute; inset: auto 0px 0px; }
.site-preview-image { object-fit: cover; object-position: 50% 0%; will-change: object-position; width: 100%; height: 100%; display: block; }
.northstar-live-preview { color: rgb(6, 79, 79); background: rgb(251, 250, 248); }
.northstar-preview-nav { z-index: 3; background: rgba(255, 255, 255, 0.96); border-bottom: 1px solid rgb(235, 231, 224); align-items: center; height: 45px; padding: 7px 15px; display: flex; position: absolute; top: 0px; left: 0px; right: 0px; }
.northstar-preview-nav img { object-fit: contain; object-position: left center; width: 156px; max-height: 31px; display: block; }
.northstar-preview-photo { z-index: 0; object-fit: cover; object-position: 58% center; width: 58%; height: calc(100% - 45px); transition: transform 6s cubic-bezier(0.2, 0.7, 0.2, 1); position: absolute; top: 45px; right: 0px; }
.northstar-preview-copy { z-index: 2; background: linear-gradient(90deg, rgb(251, 250, 248) 0%, rgb(251, 250, 248) 76%, rgba(251, 250, 248, 0.84) 91%, rgba(0, 0, 0, 0) 100%); flex-direction: column; justify-content: center; width: 56%; padding: 22px 12px 22px 20px; display: flex; position: absolute; top: 45px; bottom: 0px; left: 0px; }
.northstar-preview-copy small { color: rgb(184, 103, 84); letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 10px; font-size: 0.46rem; font-weight: 800; }
.northstar-preview-copy strong { letter-spacing: -0.035em; max-width: 230px; font-family: Georgia, serif; font-size: clamp(1rem, 2.2vw, 1.62rem); font-weight: 500; line-height: 1.05; }
.northstar-preview-copy > span { color: rgb(255, 255, 255); background: rgb(7, 11, 12); border-radius: 999px; align-self: flex-start; margin-top: 14px; padding: 8px 11px; font-size: 0.46rem; font-weight: 750; }
.preview-cue { z-index: 4; color: rgb(246, 242, 233); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.04em; pointer-events: none; text-transform: uppercase; background: rgba(7, 24, 33, 0.84); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 999px; align-items: center; gap: 7px; padding: 7px 10px; font-size: 0.5rem; display: inline-flex; position: absolute; bottom: 12px; right: 12px; }
.preview-cue i { background: var(--sage); border-radius: 50%; width: 4px; height: 4px; box-shadow: rgba(158, 169, 133, 0.16) 0px 0px 0px 4px; }
@keyframes site-preview-tour { 
  0%, 12% { object-position: 50% 0%; }
  46%, 58% { object-position: 50% 100%; }
  92%, 100% { object-position: 50% 0%; }
}
.motion-ready [data-site-preview].preview-active .site-preview-image { animation: 18s cubic-bezier(0.66, 0, 0.34, 1) 1.4s infinite normal none running site-preview-tour; }
.motion-ready [data-site-preview].preview-active .northstar-preview-photo { transform: scale(1.045) translate(-1.5%); }
.mini-browser:hover .site-preview-image, .mini-browser:focus-visible .site-preview-image { animation-play-state: paused !important; }
.mini-browser:hover .preview-cue, .mini-browser:focus-visible .preview-cue { background: rgba(132, 142, 104, 0.96); }
.northstar-screen, .heritage-screen { min-height: 300px; padding: 32px; }
.northstar-screen { color: rgb(42, 38, 48); background: var(--paper); }
.northstar-screen small, .heritage-screen small { letter-spacing: 0.16em; margin-bottom: 42px; font-size: 0.55rem; font-weight: 800; display: block; }
.northstar-screen strong, .heritage-screen strong { letter-spacing: -0.04em; margin-bottom: 10px; font-size: clamp(1.3rem, 2.5vw, 2.25rem); line-height: 1.03; display: block; }
.northstar-screen p, .heritage-screen p { max-width: 300px; font-size: 0.68rem; line-height: 1.45; }
.northstar-screen button, .heritage-screen button { color: rgb(255, 255, 255); background: rgb(184, 79, 53); border: 0px; padding: 9px 13px; font-size: 0.55rem; }
.northstar-band, .heritage-band { color: rgb(255, 255, 255); background: rgb(184, 79, 53); justify-content: space-between; margin: 34px -32px -32px; padding: 20px 32px; font-size: 0.55rem; display: flex; }
.heritage-screen { color: rgb(239, 230, 210); background: linear-gradient(125deg, rgba(197, 177, 124, 0.12), rgba(0, 0, 0, 0) 55%), rgb(16, 31, 30); }
.heritage-screen p { color: rgb(183, 192, 184); }
.heritage-screen button { color: rgb(21, 37, 34); background: rgb(213, 194, 147); }
.heritage-band { color: rgb(35, 57, 54); background: rgb(233, 226, 209); }
.referrals { background: linear-gradient(#7891a00f 1px, transparent 1px) 0 0 / 45px 45px, var(--cream); }
.referral-layout { grid-template-columns: 1.2fr 0.8fr; align-items: stretch; gap: 80px; display: grid; }
.referral-main { align-self: center; }
.referral-main > p:not(.eyebrow) { max-width: 680px; font-size: 1.08rem; }
.referral-main > .about-signature { color: var(--navy); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.06em; margin: 26px 0px 0px; font-size: 0.82rem; font-weight: 750; }
.referral-values { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); grid-template-columns: repeat(3, 1fr); max-width: 720px; margin-top: 44px; display: grid; }
.referral-values span { border-right: 1px solid var(--line); color: var(--muted); text-align: center; padding: 22px 18px; font-size: 0.8rem; }
.referral-values span:last-child { border-right: 0px; }
.referral-values b { color: var(--navy); font-size: 1rem; display: block; }
.referral-offer { background: var(--navy); color: var(--cream); flex-direction: column; padding: 48px; display: flex; position: relative; }
.referral-offer::after { border-right: 2px solid var(--sage); border-bottom: 2px solid var(--sage); content: ""; width: 58px; height: 58px; position: absolute; bottom: 20px; right: 20px; }
.why-groundwork { background: linear-gradient(#0b2a3b0d 1px, transparent 1px) 0 0 / 46px 46px, var(--sage-pale); position: relative; }
.why-groundwork::before { background: var(--navy); width: 180px; height: 1px; box-shadow: 0 8px 0 var(--slate), 0 16px 0 var(--sage); content: ""; opacity: 0.5; position: absolute; top: 0px; right: 7vw; }
.why-intro { grid-template-columns: minmax(0px, 1.2fr) minmax(300px, 0.8fr); align-items: end; gap: 72px; margin-bottom: 58px; display: grid; }
.why-intro h2 { max-width: 820px; margin-bottom: 0px; }
.why-intro > p { max-width: 520px; margin-bottom: 0px; font-size: 1.02rem; }
.why-grid { border-top: 1px solid rgba(11, 42, 59, 0.26); border-bottom: 1px solid rgba(11, 42, 59, 0.26); grid-template-columns: repeat(4, minmax(0px, 1fr)); display: grid; position: relative; }
.why-grid article { background: rgba(252, 250, 246, 0.42); border-right: 1px solid rgba(11, 42, 59, 0.2); min-height: 310px; padding: 38px 30px 34px; transition: background 0.22s, transform 0.36s cubic-bezier(0.16, 0.78, 0.24, 1); position: relative; }
.why-grid article:last-child { border-right: 0px; }
.why-grid article:hover { z-index: 1; background: rgba(252, 250, 246, 0.8); transform: translateY(-7px); }
.why-grid article > span { border: 1px solid var(--navy); background: var(--sage-pale); width: 34px; height: 34px; color: var(--navy); font-family: var(--font-geist-mono), monospace; border-radius: 50%; place-items: center; margin-bottom: 48px; font-size: 0.62rem; font-weight: 750; display: grid; }
.why-grid h3 { max-width: 230px; font-size: 1.35rem; }
.why-grid p { color: rgb(64, 88, 97); margin-bottom: 0px; font-size: 0.88rem; }
.why-close { justify-content: space-between; align-items: center; gap: 40px; padding-top: 34px; display: flex; }
.why-close strong { max-width: 780px; font-size: 1.03rem; line-height: 1.55; }
.why-close a { border-bottom: 1px solid var(--navy); flex: 0 0 auto; padding-bottom: 5px; font-size: 0.82rem; font-weight: 750; }
.why-close b { color: rgb(109, 121, 92); }
.referral-offer .tag { background: var(--sage); color: var(--navy); font-family: var(--font-geist-mono), monospace; text-transform: uppercase; align-self: flex-start; margin-bottom: 36px; padding: 8px 12px; font-size: 0.65rem; font-weight: 700; }
.referral-offer h3 { margin-bottom: 24px; font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 0.95; }
.referral-offer p { color: rgb(198, 208, 208); }
.referral-offer small { color: rgb(148, 167, 169); margin-bottom: 30px; }
.referral-offer .button { background: var(--cream); color: var(--navy); align-self: flex-start; margin-top: auto; }
.process-grid { grid-template-columns: repeat(4, 1fr); display: grid; position: relative; }
.process-grid::before { background: var(--line); content: ""; height: 1px; position: absolute; top: 24px; left: 6%; right: 6%; }
.process-grid article { z-index: 1; border-right: 1px solid var(--line); padding: 0px 34px 10px; position: relative; }
.process-grid article:last-child { border-right: 0px; }
.process-grid span { border: 1px solid var(--sage); background: var(--paper); width: 48px; height: 48px; color: var(--sage); font-family: var(--font-geist-mono), monospace; border-radius: 50%; place-items: center; margin-bottom: 34px; display: grid; }
.process-grid p { font-size: 0.86rem; }
.package-grid { grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 20px; display: grid; }
.package-card { border: 1px solid var(--line); background: var(--paper); flex-direction: column; min-height: 610px; padding: 38px; display: flex; }
.package-card--featured { border-color: var(--navy); background: var(--navy); color: var(--cream); --resting-y: -18px; transform: translateY(var(--resting-y)); position: relative; }
.package-badge { background: var(--sage); color: var(--navy); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.08em; text-transform: uppercase; align-self: flex-start; margin: -38px -38px 34px; padding: 12px 20px; font-size: 0.65rem; font-weight: 750; }
.package-price { align-items: end; gap: 18px; margin-bottom: 26px; display: flex; }
.package-price strong { letter-spacing: -0.055em; font-size: clamp(2.8rem, 5vw, 4.8rem); }
.package-price span { color: var(--muted); padding-bottom: 8px; font-size: 0.72rem; line-height: 1.5; }
.package-card--featured .package-price span, .package-card--featured > p, .package-card--featured li { color: rgb(186, 199, 199); }
.package-card > p:not(.eyebrow):not(.package-timeline) { min-height: 92px; }
.package-timeline { width: fit-content; font-family: var(--font-geist-mono), monospace; letter-spacing: 0.04em; text-transform: uppercase; border: 1px solid rgba(11, 42, 59, 0.18); margin: 0px 0px 10px; padding: 7px 9px; font-weight: 700; color: rgb(83, 102, 108) !important; font-size: 0.64rem !important; line-height: 1.35 !important; }
.package-card--featured .package-timeline { border-color: rgba(247, 243, 235, 0.2); color: rgb(196, 208, 167) !important; }
.package-card ul { margin-top: 16px; }
.package-card .button { margin-top: auto; }
.pricing-note { color: var(--muted); font-family: var(--font-geist-mono), monospace; text-align: center; margin: 28px 0px 0px; font-size: 0.72rem; }
.website-includes { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, 0.34); grid-template-columns: 0.8fr 1.2fr; align-items: center; gap: 54px; margin-top: 38px; padding: 34px 38px; display: grid; }
.website-includes h3 { max-width: 470px; margin: 0px; font-size: clamp(1.35rem, 2.2vw, 2rem); }
.website-includes ul { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px 24px; margin: 0px; padding: 0px; list-style: none; display: grid; }
.website-includes li { color: rgb(62, 84, 93); padding-left: 22px; font-size: 0.82rem; line-height: 1.45; position: relative; }
.website-includes li::before { border: 1px solid var(--sage); content: ""; border-radius: 50%; width: 8px; height: 8px; position: absolute; top: 0.46em; left: 0px; }
.launch-section { background: linear-gradient(135deg, #7891a014 1px, transparent 1px) 0 0 / 34px 34px, var(--navy); color: var(--cream); border: 1px solid rgba(184, 196, 155, 0.72); grid-template-columns: 1.05fr 0.95fr; gap: 52px; margin-top: 52px; padding: 46px; display: grid; position: relative; overflow: hidden; box-shadow: rgba(3, 18, 27, 0.16) 0px 24px 70px; }
.launch-section::before { content: ""; pointer-events: none; border: 1px solid rgba(247, 243, 235, 0.07); position: absolute; inset: 10px; }
.launch-section > * { z-index: 1; position: relative; }
.launch-section__beam { border-top: 2px solid var(--cream); border-bottom: 2px solid var(--cream); width: 70px; height: 44px; margin-bottom: 22px; position: relative; }
.launch-section__beam::before, .launch-section__beam::after { background: var(--slate); content: ""; height: 1px; position: absolute; left: 0px; right: 0px; }
.launch-section__beam::before { top: 14px; }
.launch-section__beam::after { bottom: 13px; }
.launch-section__beam span { z-index: 1; background: var(--sage); clip-path: polygon(50% 0px, 100% 100%, 0px 100%); width: 26px; height: 36px; position: absolute; bottom: 2px; left: 22px; }
.launch-section__kicker { color: rgb(189, 201, 159); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.13em; text-transform: uppercase; margin-bottom: 10px; font-size: 0.68rem; font-weight: 750; }
.launch-section h3 { color: var(--cream); margin-bottom: 16px; font-size: clamp(2.2rem, 4.8vw, 3.7rem); line-height: 0.98; }
.launch-section__copy > p:last-child { color: rgb(203, 212, 211); max-width: 580px; margin: 0px; font-size: 0.92rem; }
.launch-section__details { flex-direction: column; justify-content: center; display: flex; }
.launch-section__prices { border-bottom: 1px solid rgba(247, 243, 235, 0.16); margin-bottom: 22px; }
.launch-section__prices div { border-top: 1px solid rgba(247, 243, 235, 0.16); grid-template-columns: minmax(0px, 1fr) auto auto; align-items: center; gap: 14px; min-height: 54px; font-size: 0.78rem; display: grid; }
.launch-section__prices span { color: rgb(220, 226, 222); }
.launch-section__prices s { color: rgb(129, 151, 156); }
.launch-section__prices strong { color: rgb(196, 208, 167); text-align: right; min-width: 62px; font-size: 0.92rem; }
.launch-section__details > small { color: rgb(145, 164, 167); margin-top: 13px; font-size: 0.64rem; line-height: 1.5; display: block; }
.standalone-note { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); justify-content: space-between; align-items: center; gap: 28px; margin-top: 22px; padding: 22px 0px; display: flex; }
.standalone-note > div { flex-wrap: wrap; align-items: baseline; gap: 8px 18px; display: flex; }
.standalone-note strong { color: var(--navy); font-size: 0.88rem; }
.standalone-note span { color: var(--muted); font-size: 0.76rem; }
.standalone-note a { color: var(--navy); flex: 0 0 auto; font-size: 0.78rem; font-weight: 700; }
.existing-site-options { border-top: 1px solid var(--line); margin-top: 64px; padding-top: 62px; }
.existing-site-options__heading { grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr); align-items: end; gap: 60px; margin-bottom: 32px; display: grid; }
.existing-site-options__heading h3 { max-width: 620px; margin: 0; font-size: clamp(2rem, 3.5vw, 3.5rem); }
.existing-site-options__heading > p { max-width: 520px; margin: 0; color: var(--muted); font-size: 0.92rem; }
.existing-site-options__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; display: grid; }
.focused-service-card { border: 1px solid var(--line); background: rgba(255, 255, 255, 0.38); min-width: 0; padding: 34px; }
.focused-service-card--navy { border-color: var(--navy); background: var(--navy); color: var(--cream); }
.focused-service-card__topline { justify-content: space-between; align-items: start; gap: 28px; margin-bottom: 18px; display: flex; }
.focused-service-card__topline h4 { max-width: 360px; margin: 0; font-size: clamp(1.45rem, 2.4vw, 2.15rem); }
.focused-service-card__topline > strong,
.focused-service-card__price strong { color: var(--navy); letter-spacing: -0.04em; white-space: nowrap; font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1; }
.focused-service-card__price { text-align: right; display: grid; }
.focused-service-card__price small { color: var(--muted); font-family: var(--font-geist-mono), monospace; text-transform: uppercase; font-size: 0.65rem; }
.focused-service-card > p { max-width: 610px; margin-bottom: 24px; color: rgb(64, 88, 97); font-size: 0.88rem; }
.focused-service-card--navy h4,
.focused-service-card--navy .focused-service-card__price strong { color: var(--cream); }
.focused-service-card--navy .focused-service-card__price small,
.focused-service-card--navy > p { color: rgb(186, 199, 199); }
.focused-service-card__highlights { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 0 24px; padding: 0; list-style: none; display: grid; }
.focused-service-card__highlights li { border-left: 1px solid var(--line); min-height: 54px; color: var(--navy); padding: 0 14px; font-size: 0.75rem; line-height: 1.45; display: flex; align-items: center; }
.focused-service-card__highlights li:first-child { border-left: 0; padding-left: 0; }
.focused-service-card--navy .focused-service-card__highlights li { border-color: rgba(247, 243, 235, 0.18); color: rgb(220, 226, 222); }
.service-detail { border-top: 1px solid var(--line); }
.focused-service-card--navy .service-detail { border-color: rgba(247, 243, 235, 0.18); }
.service-detail summary { cursor: pointer; min-height: 54px; color: var(--navy); font-size: 0.78rem; font-weight: 750; list-style: none; display: flex; align-items: center; justify-content: space-between; }
.service-detail summary::-webkit-details-marker { display: none; }
.service-detail summary span { font-size: 1.25rem; font-weight: 400; transition: transform 0.16s; }
.service-detail[open] summary span { transform: rotate(45deg); }
.service-detail > div { padding: 2px 22px 4px 0; }
.service-detail p { color: rgb(64, 88, 97); font-size: 0.78rem; }
.focused-service-card--navy .service-detail summary { color: var(--cream); }
.focused-service-card--navy .service-detail p { color: rgb(186, 199, 199); }
.existing-site-options__cta { border-bottom: 1px solid var(--line); justify-content: space-between; align-items: center; gap: 30px; padding: 24px 0 32px; display: flex; }
.existing-site-options__cta p { margin: 0; color: var(--muted); font-size: 0.8rem; }
.compact-offers { border-bottom: 1px solid var(--line); }
.compact-offers > details > summary { cursor: pointer; min-height: 124px; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px; list-style: none; display: grid; }
.compact-offers summary::-webkit-details-marker { display: none; }
.compact-offers__intro { display: grid; }
.compact-offers__intro strong { color: var(--navy); font-size: clamp(1.25rem, 2vw, 1.75rem); }
.compact-offers__action { color: var(--navy); align-items: center; gap: 18px; font-size: 0.82rem; font-weight: 750; display: flex; }
.compact-offers__action b { font-size: 1.35rem; font-weight: 400; transition: transform 0.16s; }
.compact-offers details[open] .compact-offers__action b { transform: rotate(45deg); }
.compact-offers__grid { border-top: 1px solid var(--line); grid-template-columns: repeat(4, minmax(0, 1fr)); display: grid; }
.compact-offers__grid article { border-right: 1px solid var(--line); min-width: 0; padding: 30px 26px 26px; }
.compact-offers__grid article:last-child { border-right: 0; }
.compact-offers__grid article > span { border: 1px solid var(--sage); color: var(--sage); font-family: var(--font-geist-mono), monospace; border-radius: 50%; width: 32px; height: 32px; place-items: center; margin-bottom: 30px; font-size: 0.62rem; display: grid; }
.compact-offers__grid h4 { min-height: 52px; margin-bottom: 10px; font-size: 1.05rem; }
.compact-offers__grid article > strong { color: var(--navy); font-size: 1.2rem; }
.compact-offers__grid p { margin: 18px 0 0; color: var(--muted); font-size: 0.76rem; }
.compact-offers__footer { border-top: 1px solid var(--line); justify-content: space-between; align-items: center; gap: 24px; padding: 22px 0; display: flex; }
.compact-offers__footer p { margin: 0; color: var(--muted); font-size: 0.76rem; }
.compact-offers__footer a { color: var(--navy); white-space: nowrap; font-size: 0.78rem; font-weight: 750; }
.care-strip { background: var(--navy); color: var(--cream); margin-top: 42px; }
.care-strip > details > summary { cursor: pointer; min-height: 142px; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 34px; padding: 28px 34px; list-style: none; display: grid; }
.care-strip summary::-webkit-details-marker { display: none; }
.care-strip summary > span:first-child { display: grid; }
.care-strip summary strong { color: var(--cream); font-size: clamp(1.65rem, 2.8vw, 2.6rem); }
.care-strip summary small { color: rgb(186, 199, 199); margin-top: 6px; font-size: 0.8rem; }
.care-strip__action { border-bottom: 1px solid rgba(247, 243, 235, 0.42); color: var(--cream); align-items: center; gap: 16px; padding-bottom: 6px; font-size: 0.78rem; font-weight: 750; display: flex; }
.care-strip__action b { font-size: 1.35rem; font-weight: 400; transition: transform 0.16s; }
.care-strip details[open] .care-strip__action b { transform: rotate(45deg); }
.care-strip__options { border-top: 1px solid rgba(247, 243, 235, 0.16); grid-template-columns: repeat(2, minmax(0, 1fr)); display: grid; }
.care-strip__options article { padding: 30px 34px; }
.care-strip__options article + article { border-left: 1px solid rgba(247, 243, 235, 0.16); }
.care-strip__options article > div { justify-content: space-between; align-items: baseline; gap: 20px; display: flex; }
.care-strip__options h4 { color: var(--cream); margin: 0; font-size: 1.25rem; }
.care-strip__options strong { color: rgb(196, 208, 167); font-size: 1.35rem; }
.care-strip__options strong small { color: rgb(145, 164, 167); font-size: 0.68rem; }
.care-strip__options ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 22px 0 0; padding: 0; list-style: none; display: grid; }
.care-strip__options li { color: rgb(203, 212, 211); padding-left: 16px; font-size: 0.74rem; line-height: 1.45; position: relative; }
.care-strip__options li::before { content: ""; background: var(--sage); border-radius: 50%; width: 5px; height: 5px; position: absolute; top: 0.52em; left: 0; }
.care-strip__note { border-top: 1px solid rgba(247, 243, 235, 0.16); margin: 0; padding: 18px 34px 22px; color: rgb(145, 164, 167); font-size: 0.68rem; }
.about { padding: 0px; }
.about-grid { grid-template-columns: 0.85fr 1.15fr; width: 100%; max-width: none; display: grid; }
.about-map { background: rgb(7, 31, 45); flex-direction: column; justify-content: flex-end; min-height: 620px; padding: 64px; display: flex; position: relative; overflow: hidden; }
.about-map::before, .about-map::after, .contour { content: ""; border: 2px solid rgba(120, 145, 160, 0.28); border-radius: 45% 55% 48% 52%; position: absolute; transform: rotate(-12deg); }
.about-map::before { inset: -15% 12% 35% -30%; }
.about-map::after { inset: 10% -25% -5% 8%; }
.contour--1 { inset: 0px -15% 15% -10%; }
.contour--2 { inset: 15% -5% 30% 0px; }
.contour--3 { inset: 30% 8% 42% 10%; }
.map-pin { z-index: 1; background: rgba(11, 42, 59, 0.8); border: 1px solid rgba(247, 243, 235, 0.3); border-radius: 50%; place-items: center; width: 92px; height: 92px; display: grid; position: absolute; top: 46%; left: 48%; }
.map-pin .brand-mark { width: 58px; height: 58px; }
.about-map > span, .about-map > small { z-index: 2; position: relative; }
.about-map > span { color: var(--cream); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.18em; font-size: 1.1rem; }
.about-map > small { color: rgb(159, 176, 177); margin-top: 8px; }
.about-copy { flex-direction: column; justify-content: center; padding: 90px min(9vw, 140px); display: flex; }
.about-copy h2 { max-width: 660px; color: var(--cream); }
.about-copy > p:not(.eyebrow) { max-width: 700px; font-size: 1.02rem; }
.about-points { flex-wrap: wrap; gap: 10px; margin-top: 30px; display: flex; }
.about-points span { color: rgb(216, 224, 221); border: 1px solid rgba(247, 243, 235, 0.2); padding: 10px 13px; font-size: 0.74rem; }
.faq { grid-template-columns: 0.7fr 1.3fr; gap: 100px; display: grid; }
.faq-heading { align-self: start; position: sticky; top: 120px; }
.faq-heading h2 { font-size: clamp(2.3rem, 4vw, 4rem); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { cursor: pointer; justify-content: space-between; align-items: center; gap: 20px; min-height: 78px; font-size: 1.02rem; font-weight: 650; list-style: none; display: flex; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--slate); font-size: 1.4rem; font-weight: 350; transition: transform 0.16s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 680px; padding: 0px 40px 28px 0px; }
.contact-grid { grid-template-columns: 0.85fr 1.15fr; align-items: start; gap: 90px; display: grid; }
.contact-copy { position: sticky; top: 120px; }
.contact-copy h2 { font-size: clamp(2.6rem, 4.5vw, 4.6rem); }
.contact-copy > p:not(.eyebrow) { max-width: 580px; }
.response-note { border-top: 1px solid rgba(11, 42, 59, 0.22); border-bottom: 1px solid rgba(11, 42, 59, 0.22); grid-template-columns: 38px 1fr; max-width: 580px; margin-top: 28px; padding: 18px 0px; display: grid; }
.response-note > span { color: rgb(109, 121, 92); grid-row: 1 / 3; font-size: 1.1rem; }
.response-note strong { color: var(--navy); font-size: 0.9rem; }
.response-note small { color: rgb(83, 102, 108); margin-top: 4px; font-size: 0.72rem; line-height: 1.5; }
.contact-detail { border-top: 1px solid rgba(11, 42, 59, 0.22); margin-top: 36px; padding-top: 20px; }
.contact-detail span { color: var(--muted); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.13em; margin-bottom: 8px; font-size: 0.65rem; display: block; }
.contact-detail a, .contact-detail p { color: var(--navy); margin: 0px; font-size: 0.9rem; font-weight: 650; }
.inquiry-form { background: rgba(247, 243, 235, 0.82); border: 1px solid rgba(11, 42, 59, 0.28); gap: 22px; padding: 44px; display: grid; }
.form-row { grid-template-columns: 1fr 1fr; gap: 18px; display: grid; }
.inquiry-form label, .inquiry-form legend { color: var(--navy); font-size: 0.78rem; font-weight: 650; }
.inquiry-form input:not([type="checkbox"]), .inquiry-form textarea, .inquiry-form select { background: var(--paper); width: 100%; color: var(--navy); border: 1px solid rgb(174, 183, 173); border-radius: 0px; outline: 0px; margin-top: 8px; padding: 13px 14px; }
.inquiry-form input:focus, .inquiry-form textarea:focus, .inquiry-form select:focus { border-color: var(--navy); box-shadow: rgba(11, 42, 59, 0.12) 0px 0px 0px 2px; }
.inquiry-form fieldset { border: 1px solid rgb(174, 183, 173); grid-template-columns: 1fr 1fr; gap: 12px; margin: 0px; padding: 18px; display: grid; }
.inquiry-form legend { padding: 0px 8px; }
.inquiry-form fieldset label { align-items: center; gap: 8px; font-weight: 450; display: flex; }
.inquiry-form input[type="checkbox"] { accent-color: var(--navy); }
.inquiry-form .button { justify-self: start; }
.inquiry-form > small { color: var(--muted); font-size: 0.68rem; line-height: 1.5; }
.site-footer { padding: 58px 0px 24px; }
.footer-main { grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 40px; display: grid; }
.footer-main > div { flex-direction: column; gap: 8px; display: flex; }
.footer-main > div:nth-child(2) strong { font-size: 1.2rem; }
.footer-main a { color: rgb(187, 200, 166); font-size: 0.82rem; }
.footer-main span { color: rgb(169, 184, 185); font-size: 0.75rem; line-height: 1.5; }
.footer-bottom { color: rgb(129, 151, 156); border-top: 1px solid rgba(247, 243, 235, 0.14); justify-content: space-between; margin-top: 42px; padding-top: 22px; font-size: 0.68rem; display: flex; }
.footer-bottom a { color: rgb(174, 189, 190); }
.footer-bottom a:hover, .footer-bottom a:focus-visible { color: var(--cream); }
.motion-ready [data-reveal] { --reveal-x: 0px; --reveal-y: 52px; --reveal-scale: .975; --resting-y: 0px; opacity: 0; filter: blur(9px); transform: translate3d(var(--reveal-x), calc(var(--reveal-y) + var(--resting-y)), 0) scale(var(--reveal-scale)); will-change: opacity, transform, filter; transition: opacity 0.76s cubic-bezier(0.16, 0.78, 0.24, 1), transform 0.98s cubic-bezier(0.16, 0.78, 0.24, 1), filter 0.76s; }
.motion-ready [data-reveal="left"] { --reveal-x: -72px; --reveal-y: 0px; }
.motion-ready [data-reveal="right"] { --reveal-x: 72px; --reveal-y: 0px; }
.motion-ready [data-reveal].is-visible { opacity: 1; filter: blur(); transform: translate3d(0, var(--resting-y), 0) scale(1); }
.motion-ready .service-card:nth-child(2), .motion-ready .process-grid article:nth-child(2), .motion-ready .package-card:nth-child(2) { transition-delay: 0.14s; }
.motion-ready .service-card:nth-child(3), .motion-ready .process-grid article:nth-child(3), .motion-ready .package-card:nth-child(3) { transition-delay: 0.28s; }
.motion-ready .process-grid article:nth-child(4) { transition-delay: 0.42s; }
.motion-ready .package-card--featured { --resting-y: -18px; }
.motion-ready .foundation-step { opacity: 0; transition: opacity 0.48s, transform 0.62s cubic-bezier(0.16, 0.78, 0.24, 1); transform: translateY(22px) scale(0.82); }
.motion-ready .foundation-diagram.is-visible .foundation-step { opacity: 1; transform: translateY(0px) scale(1); }
.motion-ready .foundation-diagram.is-visible .foundation-step:nth-child(2) { transition-delay: 0.15s; }
.motion-ready .foundation-diagram.is-visible .foundation-step:nth-child(3) { transition-delay: 0.3s; }
.motion-ready .foundation-diagram.is-visible .foundation-step:nth-child(4) { transition-delay: 0.45s; }
.motion-ready .foundation-line::before, .motion-ready .process-grid::before { transform-origin: 0px center; transition: transform 1.1s cubic-bezier(0.16, 0.78, 0.24, 1) 0.22s; transform: scaleX(0); }
.motion-ready .foundation-diagram.is-visible .foundation-line::before { transform: scaleX(1); }
.motion-ready .process-grid:has(article.is-visible)::before { transform: scaleX(1); }
.motion-ready .section-heading > div::after { background: var(--sage); content: ""; width: 0px; height: 2px; margin-top: 22px; transition: width 0.85s cubic-bezier(0.16, 0.78, 0.24, 1) 0.28s; display: block; }
.motion-ready .section-heading.is-visible > div::after { width: 92px; }
.motion-ready .hero-survey .hero-rough-clip, .motion-ready .hero-survey .hero-graded-ground, .motion-ready .hero-survey .hero-bulldozer, .motion-ready .hero-survey .hero-dozer-load, .motion-ready .hero-survey .hero-load-piece, .motion-ready .hero-survey .hero-pad-foundation, .motion-ready .hero-survey .hero-pad-level, .motion-ready .hero-survey .hero-build-impact, .motion-ready .hero-survey .hero-crane, .motion-ready .hero-survey .hero-crane-cable, .motion-ready .hero-survey .hero-rocket, .motion-ready .hero-survey .hero-launch-smoke path, .motion-ready .hero-survey .hero-engine-glow, .motion-ready .hero-survey .hero-stage-label, .motion-ready .hero-survey .hero-stage-node, .motion-ready .hero-survey .hero-end-logo { transform-box: view-box; }
.motion-ready .hero-survey .hero-blueprint { animation: 17s ease-in-out 0s 1 normal forwards running blueprint-field; }
.motion-ready .hero-survey .hero-scan-line { animation: 17s ease-in-out 0s 1 normal forwards running blueprint-scan; }
.motion-ready .hero-survey .hero-rough-clip { transform-origin: 70px 369px; animation: 17s ease-in-out 0s 1 normal forwards running terrain-clear; }
.motion-ready .hero-survey .hero-graded-ground { transform-origin: 656px 398px; animation: 17s ease-in-out 0s 1 normal forwards running grade-ground; }
.motion-ready .hero-survey .hero-bulldozer { filter: drop-shadow(rgba(3, 20, 30, 0.34) 0px 12px 16px); animation: 17s ease-in-out 0s 1 normal forwards running bulldozer-grade; }
.motion-ready .hero-survey .hero-dozer-rig { transform-box: fill-box; transform-origin: center bottom; animation: 0.43s ease-in-out 0s infinite alternate none running dozer-suspension; }
.motion-ready .hero-survey .hero-dozer-load { transform-box: fill-box; transform-origin: 100% 100%; filter: drop-shadow(rgba(3, 20, 30, 0.28) 0px 6px 7px); animation: 17s cubic-bezier(0.2, 0.75, 0.25, 1) 0s 1 normal forwards running blade-load; }
.motion-ready .hero-survey .hero-load-piece { transform-box: fill-box; transform-origin: center bottom; }
.motion-ready .hero-survey .hero-load-piece--one { animation: 17s ease-out 0s 1 normal forwards running load-piece-one; }
.motion-ready .hero-survey .hero-load-piece--two { animation: 17s ease-out 0s 1 normal forwards running load-piece-two; }
.motion-ready .hero-survey .hero-load-piece--three { animation: 17s ease-out 0s 1 normal forwards running load-piece-three; }
.motion-ready .hero-survey .hero-load-piece--four { animation: 17s ease-out 0s 1 normal forwards running load-piece-four; }
.motion-ready .hero-survey .hero-track-belt { animation: 0.52s linear 0s infinite normal none running track-crawl; }
.motion-ready .hero-survey .hero-dozer-exhaust circle, .motion-ready .hero-survey .hero-dozer-dust circle { transform-box: fill-box; transform-origin: 50% center; }
.motion-ready .hero-survey .hero-dozer-exhaust circle { animation: 1.25s ease-out 0s infinite normal none running exhaust-puff; }
.motion-ready .hero-survey .hero-dozer-exhaust circle:nth-child(2) { animation-delay: 0.18s; }
.motion-ready .hero-survey .hero-dozer-exhaust circle:nth-child(3) { animation-delay: 0.36s; }
.motion-ready .hero-survey .hero-dozer-dust circle { animation: 0.9s ease-out 0s infinite normal none running blade-dust; }
.motion-ready .hero-survey .hero-dozer-dust circle:nth-child(2) { animation-delay: 0.15s; }
.motion-ready .hero-survey .hero-dozer-dust circle:nth-child(3) { animation-delay: 0.31s; }
.motion-ready .hero-survey .hero-rough-ridge { filter: drop-shadow(rgba(3, 20, 30, 0.25) 0px 5px 7px); }
.motion-ready .hero-survey .hero-pad-foundation { transform-origin: 380px 393px; animation: 17s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal forwards running pad-foundation-set; }
.motion-ready .hero-survey .hero-pad-level { transform-origin: 380px 378px; }
.motion-ready .hero-survey .hero-pad-level--one { transform-origin: 380px 378px; animation: 17s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal forwards running pad-level-one; }
.motion-ready .hero-survey .hero-pad-level--two { transform-origin: 380px 316px; animation: 17s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal forwards running pad-level-two; }
.motion-ready .hero-survey .hero-pad-level--three { transform-origin: 380px 244px; animation: 17s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal forwards running pad-level-three; }
.motion-ready .hero-survey .hero-pad-level--crown { transform-origin: 380px 174px; animation: 17s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal forwards running pad-level-crown; }
.motion-ready .hero-survey .hero-build-impact { transform-origin: 50% center; }
.motion-ready .hero-survey .hero-build-impact--one { animation: 17s ease-out 0s 1 normal forwards running build-impact-one; }
.motion-ready .hero-survey .hero-build-impact--two { animation: 17s ease-out 0s 1 normal forwards running build-impact-two; }
.motion-ready .hero-survey .hero-build-impact--three { animation: 17s ease-out 0s 1 normal forwards running build-impact-three; }
.motion-ready .hero-survey .hero-crane { transform-origin: 600px 380px; filter: drop-shadow(rgba(3, 20, 30, 0.2) 0px 8px 12px); animation: 17s cubic-bezier(0.16, 0.78, 0.24, 1) 0s 1 normal forwards running crane-arrive; }
.motion-ready .hero-survey .hero-crane-line { transform-box: view-box; transform-origin: 382px 112px; animation: 17s cubic-bezier(0.16, 0.78, 0.24, 1) 0s 1 normal forwards running crane-lower; }
.motion-ready .hero-survey .hero-rocket { transform-origin: 382px 325px; filter: drop-shadow(rgba(3, 20, 30, 0.34) 0px 12px 20px); animation: 17s cubic-bezier(0.16, 0.78, 0.24, 1) 0s 1 normal forwards running crane-set-and-launch; }
.motion-ready .hero-survey .hero-rocket-rigging { transform-box: view-box; transform-origin: 382px 154px; animation: 17s ease-in-out 0s 1 normal forwards running rocket-rig-release; }
.motion-ready .hero-survey .hero-rocket-flame { transform-box: fill-box; transform-origin: center top; animation: 0.32s ease-in-out 0s infinite alternate none running rocket-flame-flicker; }
.motion-ready .hero-survey .hero-rocket-exhaust { transform-box: view-box; transform-origin: 382px 322px; animation: 17s ease-in-out 0s 1 normal forwards running rocket-ignition; }
.motion-ready .hero-survey .hero-engine-glow { transform-origin: 382px 350px; animation: 17s ease-out 0s 1 normal forwards running engine-glow; }
.motion-ready .hero-survey .hero-launch-smoke path { transform-box: fill-box; transform-origin: 50% center; animation: 17s ease-out 0s 1 normal forwards running launch-smoke; }
.motion-ready .hero-survey .hero-launch-smoke path:nth-child(2) { transform-origin: 0px 100%; }
.motion-ready .hero-survey .hero-stage-label--groundwork { animation: 17s ease-in-out 0s 1 normal forwards running stage-groundwork; }
.motion-ready .hero-survey .hero-stage-label--build { animation: 17s ease-in-out 0s 1 normal forwards running stage-build; }
.motion-ready .hero-survey .hero-stage-label--elevate { animation: 17s ease-in-out 0s 1 normal forwards running stage-elevate; }
.motion-ready .hero-survey .hero-stage-node--groundwork { transform-origin: 180px 456px; animation: 17s ease-in-out 0s 1 normal forwards running node-groundwork; }
.motion-ready .hero-survey .hero-stage-node--build { transform-origin: 380px 456px; animation: 17s ease-in-out 0s 1 normal forwards running node-build; }
.motion-ready .hero-survey .hero-stage-node--elevate { transform-origin: 580px 456px; animation: 17s ease-in-out 0s 1 normal forwards running node-elevate; }
.motion-ready .hero-survey .hero-stage-rail { animation: 17s ease-in-out 0s 1 normal forwards running stage-rail-fade; }
.motion-ready .hero-survey .hero-end-logo { transform-origin: 380px 225px; filter: drop-shadow(rgba(3, 20, 30, 0.28) 0px 14px 24px); animation: 17s cubic-bezier(0.16, 0.78, 0.24, 1) 0s 1 normal forwards running end-logo-reveal; }
.motion-ready .hero-survey .hero-end-logo-rule { stroke-dasharray: 237; stroke-dashoffset: 237px; animation: 17s ease-out 0s 1 normal forwards running end-logo-rule; }
.motion-ready .hero-survey .hero-pad-foundation, .motion-ready .hero-survey .hero-launch-pad { filter: drop-shadow(rgba(3, 20, 30, 0.16) 0px 8px 14px); }
.motion-ready .case-study .mini-browser { transition: transform 0.9s cubic-bezier(0.2, 0.75, 0.25, 1), box-shadow 0.9s; }
.motion-ready .case-study:not(.is-visible) .mini-browser { transform: perspective(900px) rotateX(5deg) rotateY(-7deg) translateY(34px) scale(0.96); box-shadow: rgba(0, 0, 0, 0.18) 0px 12px 24px; }
.motion-ready .case-study--heritage:not(.is-visible) .mini-browser { transform: perspective(900px) rotateX(5deg) rotateY(7deg) translateY(34px) scale(0.96); }
.motion-ready .case-study.is-visible .mini-browser { transform: perspective(900px) rotateX(1deg) rotateY(-2deg) translateY(var(--parallax-y,0px)); }
.motion-ready .case-study--heritage.is-visible .mini-browser { transform: perspective(900px) rotateX(1deg) rotateY(2deg) translateY(var(--parallax-y,0px)); }
.motion-ready .foundation-diagram { background-position: 0 var(--parallax-y,0px), 0 0; }
.motion-ready .referral-offer::after { transform: translateY(var(--parallax-y,0px)); transition: transform 0.12s linear; }
.motion-ready .referral-main .referral-values span { transition: background 0.22s, color 0.22s, transform 0.56s cubic-bezier(0.16, 0.78, 0.24, 1), opacity 0.48s; }
.motion-ready .referral-main:not(.is-visible) .referral-values span { opacity: 0; transform: translateY(20px); }
.motion-ready .referral-main.is-visible .referral-values span:nth-child(2) { transition-delay: 0.15s; }
.motion-ready .referral-main.is-visible .referral-values span:nth-child(3) { transition-delay: 0.3s; }
.motion-ready .why-grid article:nth-child(2) { transition-delay: 0.1s; }
.motion-ready .why-grid article:nth-child(3) { transition-delay: 0.2s; }
.motion-ready .why-grid article:nth-child(4) { transition-delay: 0.3s; }
.motion-ready .package-card.is-visible:hover { z-index: 2; transform: translate3d(0, calc(var(--resting-y) - 9px), 0) scale(1.012); box-shadow: rgba(7, 31, 45, 0.14) 0px 26px 55px; }
.motion-ready .faq-list details:nth-child(2) { transition-delay: 70ms; }
.motion-ready .faq-list details:nth-child(3) { transition-delay: 0.14s; }
.motion-ready .faq-list details:nth-child(4) { transition-delay: 0.21s; }
.motion-ready .faq-list details:nth-child(5) { transition-delay: 0.28s; }
.motion-ready .faq-list details:nth-child(6) { transition-delay: 0.35s; }
@keyframes blueprint-scan { 
  0% { opacity: 0.08; transform: translateY(-48px); }
  45% { opacity: 0.25; transform: translateY(250px); }
  86% { opacity: 0.12; transform: translateY(90px); }
  93%, 100% { opacity: 0; transform: translateY(120px); }
}
@keyframes blueprint-field { 
  0%, 86% { opacity: 0.2; }
  94%, 100% { opacity: 0; }
}
@keyframes terrain-clear { 
  0%, 2% { transform: scaleX(1); }
  23%, 100% { transform: scaleX(0); }
}
@keyframes grade-ground { 
  0%, 2% { opacity: 0; transform: scaleX(0); }
  2.5% { opacity: 0.95; transform: scaleX(0); }
  23%, 88% { opacity: 0.95; transform: scaleX(1); }
  93%, 100% { opacity: 0; transform: scaleX(1); }
}
@keyframes bulldozer-grade { 
  0% { opacity: 0; transform: translate(280px); }
  2% { opacity: 1; transform: translate(280px); }
  23% { opacity: 1; transform: translate(-310px); }
  27% { opacity: 0; transform: translate(-650px); }
  100% { opacity: 0; transform: translate(-650px); }
}
@keyframes blade-load { 
  0%, 3% { opacity: 0; transform: translate(12px) scale(0.12); }
  7% { opacity: 0.72; transform: translate(7px) scale(0.5); }
  13% { opacity: 0.92; transform: translate(3px) scale(0.76); }
  20%, 100% { opacity: 1; transform: translate(0px) scale(1); }
}
@keyframes load-piece-one { 
  0%, 4% { opacity: 0; transform: translate(18px, 14px) rotate(18deg) scale(0.2); }
  8%, 100% { opacity: 1; transform: translate(0px) rotate(0deg) scale(1); }
}
@keyframes load-piece-two { 
  0%, 8% { opacity: 0; transform: translate(20px, 16px) rotate(-16deg) scale(0.2); }
  13%, 100% { opacity: 1; transform: translate(0px) rotate(0deg) scale(1); }
}
@keyframes load-piece-three { 
  0%, 12% { opacity: 0; transform: translate(16px, 10px) scale(0.18); }
  17%, 100% { opacity: 1; transform: translate(0px) scale(1); }
}
@keyframes load-piece-four { 
  0%, 16% { opacity: 0; transform: translate(18px, 12px) rotate(14deg) scale(0.2); }
  21%, 100% { opacity: 1; transform: translate(0px) rotate(0deg) scale(1); }
}
@keyframes dozer-suspension { 
  0% { transform: translateY(-1px) rotate(-0.12deg); }
  100% { transform: translateY(2px) rotate(0.12deg); }
}
@keyframes track-crawl { 
  100% { stroke-dashoffset: -26px; }
}
@keyframes exhaust-puff { 
  0% { opacity: 0; transform: translateY(7px) scale(0.35); }
  28% { opacity: 0.5; }
  100% { opacity: 0; transform: translate(14px, -24px) scale(1.45); }
}
@keyframes blade-dust { 
  0% { opacity: 0; transform: translate(10px, 6px) scale(0.25); }
  24% { opacity: 0.58; }
  100% { opacity: 0; transform: translate(24px, -18px) scale(1.7); }
}
@keyframes pad-foundation-set { 
  0%, 23% { opacity: 0; transform: translateY(-42px) scaleX(0.55); }
  28% { opacity: 1; transform: translateY(4px) scaleX(1.03); }
  31%, 88% { opacity: 1; transform: translateY(0px) scaleX(1); }
  93%, 100% { opacity: 0; transform: translateY(0px) scaleX(1); }
}
@keyframes pad-level-one { 
  0%, 28% { opacity: 0; transform: translateY(42px) scaleY(0.08); }
  34% { opacity: 1; transform: translateY(-4px) scaleY(1.04); }
  36%, 88% { opacity: 1; transform: translateY(0px) scaleY(1); }
  93%, 100% { opacity: 0; transform: translateY(0px) scaleY(1); }
}
@keyframes pad-level-two { 
  0%, 34% { opacity: 0; transform: translateY(46px) scaleY(0.08); }
  40% { opacity: 1; transform: translateY(-4px) scaleY(1.04); }
  42%, 88% { opacity: 1; transform: translateY(0px) scaleY(1); }
  93%, 100% { opacity: 0; transform: translateY(0px) scaleY(1); }
}
@keyframes pad-level-three { 
  0%, 40% { opacity: 0; transform: translateY(46px) scaleY(0.08); }
  46% { opacity: 1; transform: translateY(-4px) scaleY(1.04); }
  48%, 88% { opacity: 1; transform: translateY(0px) scaleY(1); }
  93%, 100% { opacity: 0; transform: translateY(0px) scaleY(1); }
}
@keyframes pad-level-crown { 
  0%, 46% { opacity: 0; transform: translateY(30px) scaleX(0.25); }
  52% { opacity: 1; transform: translateY(-3px) scaleX(1.04); }
  54%, 88% { opacity: 1; transform: translateY(0px) scaleX(1); }
  93%, 100% { opacity: 0; transform: translateY(0px) scaleX(1); }
}
@keyframes build-impact-one { 
  0%, 27%, 32%, 100% { opacity: 0; transform: scale(0.25); }
  29% { opacity: 0.9; transform: scale(1.35); }
}
@keyframes build-impact-two { 
  0%, 35%, 40%, 100% { opacity: 0; transform: scale(0.25); }
  37% { opacity: 0.9; transform: scale(1.35); }
}
@keyframes build-impact-three { 
  0%, 41%, 46%, 100% { opacity: 0; transform: scale(0.25); }
  43% { opacity: 0.9; transform: scale(1.35); }
}
@keyframes crane-arrive { 
  0%, 48% { opacity: 0; transform: translate(340px) rotate(1.4deg); }
  51% { opacity: 1; transform: translate(240px) rotate(0.8deg); }
  59%, 72% { opacity: 1; transform: translate(0px) rotate(0deg); }
  77%, 100% { opacity: 0; transform: translate(180px) rotate(1deg); }
}
@keyframes crane-lower { 
  0%, 48% { opacity: 0; transform: scaleY(0.42); }
  51%, 59% { opacity: 1; transform: scaleY(0.42); }
  68%, 70% { opacity: 1; transform: scaleY(1); }
  73%, 100% { opacity: 0; transform: scaleY(0.08); }
}
@keyframes crane-set-and-launch { 
  0%, 48% { opacity: 0; transform: translate(340px, -28px) rotate(-0.7deg); }
  51% { opacity: 1; transform: translate(240px, -28px) rotate(-0.7deg); }
  59% { opacity: 1; transform: translateY(-28px) rotate(0.55deg); }
  68% { opacity: 1; transform: translate(0px) rotate(-0.25deg); }
  71%, 76% { opacity: 1; transform: translate(0px) rotate(0deg); }
  79% { opacity: 1; transform: translateY(-8px) scale(0.995, 1.025); }
  89% { opacity: 1; transform: translateY(-505px) scale(0.97, 1.03); }
  91%, 100% { opacity: 0; transform: translateY(-555px); }
}
@keyframes rocket-rig-release { 
  0%, 48% { opacity: 0; transform: translateY(0px) scale(1); }
  51%, 69% { opacity: 1; transform: translateY(0px) scale(1); }
  72%, 100% { opacity: 0; transform: translateY(-18px) scale(0.88); }
}
@keyframes rocket-ignition { 
  0%, 72% { opacity: 0; transform: scaleY(0.08); }
  75% { opacity: 0.55; transform: scaleY(0.32); }
  78%, 89% { opacity: 1; transform: scaleY(1); }
  92%, 100% { opacity: 0; }
}
@keyframes rocket-flame-flicker { 
  0% { opacity: 0.78; transform: scaleX(0.88) scaleY(0.88); }
  100% { opacity: 1; transform: scaleX(1.08) scaleY(1.18); }
}
@keyframes launch-smoke { 
  0%, 73% { opacity: 0; transform: translateY(0px) scale(0.16); }
  77% { opacity: 0.82; transform: translateY(0px) scale(0.5); }
  88% { opacity: 0; transform: translateY(32px) scale(1.75); }
  100% { opacity: 0; }
}
@keyframes engine-glow { 
  0%, 72% { opacity: 0; transform: scale(0.3); }
  77% { opacity: 0.72; transform: scale(1); }
  84% { opacity: 0.2; transform: scale(1.45); }
  90%, 100% { opacity: 0; transform: scale(1.8); }
}
@keyframes stage-groundwork { 
  0%, 1%, 28% { opacity: 0.24; }
  4%, 25% { opacity: 1; fill: rgb(184, 196, 155); }
  90% { opacity: 0.24; }
  95%, 100% { opacity: 0; }
}
@keyframes stage-build { 
  0%, 25%, 58% { opacity: 0.24; }
  29%, 55% { opacity: 1; fill: rgb(184, 196, 155); }
  90% { opacity: 0.24; }
  95%, 100% { opacity: 0; }
}
@keyframes stage-elevate { 
  0%, 54% { opacity: 0.24; }
  59%, 88% { opacity: 1; fill: rgb(184, 196, 155); }
  90% { opacity: 0.24; }
  95%, 100% { opacity: 0; }
}
@keyframes node-groundwork { 
  0%, 1%, 28% { fill: rgb(7, 31, 45); transform: scale(1); }
  4%, 25% { fill: rgb(184, 196, 155); stroke: rgb(238, 232, 220); transform: scale(1.65); }
  90% { opacity: 1; }
  95%, 100% { opacity: 0; }
}
@keyframes node-build { 
  0%, 25%, 58% { fill: rgb(7, 31, 45); transform: scale(1); }
  29%, 55% { fill: rgb(184, 196, 155); stroke: rgb(238, 232, 220); transform: scale(1.65); }
  90% { opacity: 1; }
  95%, 100% { opacity: 0; }
}
@keyframes node-elevate { 
  0%, 54% { fill: rgb(7, 31, 45); transform: scale(1); }
  59%, 88% { fill: rgb(184, 196, 155); stroke: rgb(238, 232, 220); transform: scale(1.65); }
  90% { opacity: 1; }
  95%, 100% { opacity: 0; }
}
@keyframes stage-rail-fade { 
  0%, 90% { opacity: 1; }
  95%, 100% { opacity: 0; }
}
@keyframes end-logo-reveal { 
  0%, 89% { opacity: 0; transform: translateY(18px) scale(0.95); }
  95%, 100% { opacity: 1; transform: translateY(0px) scale(1); }
}
@keyframes end-logo-rule { 
  0%, 92% { stroke-dashoffset: 237px; }
  98%, 100% { stroke-dashoffset: 0; }
}
@media (width <= 1050px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav { display: none; }
  .hero-grid { grid-template-columns: 1fr; min-height: auto; padding-top: 90px; }
  .hero-art { min-height: 440px; }
  .foundation, .faq, .contact-grid { grid-template-columns: 1fr; gap: 56px; }
  .website-includes { grid-template-columns: 1fr; gap: 24px; }
  .foundation-copy p:last-child { max-width: 680px; }
  .service-grid, .package-grid, .case-grid { grid-template-columns: 1fr; }
  .service-card { min-height: auto; }
  .service-card p, .package-card > p:not(.eyebrow):not(.package-timeline) { min-height: 0px; }
  .package-card { min-height: auto; }
  .package-card--featured { --resting-y: 0px; transform: none; }
  .motion-ready .package-card--featured { --resting-y: 0px; }
  .case-study, .case-study:nth-child(2n) { grid-template-columns: 1fr; }
  .case-study:nth-child(2n) .case-visual { order: 0; }
  .referral-layout { grid-template-columns: 1fr; gap: 46px; }
  .why-intro { grid-template-columns: 1fr; gap: 24px; }
  .why-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .why-grid article:nth-child(2) { border-right: 0px; }
  .why-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(11, 42, 59, 0.2); }
  .launch-section { grid-template-columns: 1fr; gap: 34px; }
  .compact-offers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compact-offers__grid article:nth-child(2) { border-right: 0; }
  .compact-offers__grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .care-strip__options ul { grid-template-columns: 1fr; }
  .website-includes { padding: 28px 24px; }
  .about-grid { grid-template-columns: 1fr; }
  .about-map { min-height: 460px; }
  .faq-heading, .contact-copy { position: static; }
}
@media (width <= 760px) {
  .legal-page { padding: 34px 0px 60px; }
  .legal-logo { margin-bottom: 30px; }
  .legal-page article { padding: 34px 24px; }
  .referral-main > p:not(.eyebrow):not(.about-signature) { margin: 0px 0px 28px; }
  .launch-offer { width: calc(-20px + 100vw); max-height: calc(-20px + 100vh); padding: 26px 22px 22px; bottom: 10px; right: 10px; }
  .launch-offer__beam { height: 36px; margin-bottom: 14px; }
  .launch-offer__beam span { height: 30px; }
  .launch-offer h2 { padding-right: 24px; font-size: clamp(2rem, 10vw, 2.7rem); }
  .launch-offer__intro { margin-bottom: 16px; }
  .launch-offer__prices { margin-bottom: 18px; }
  .launch-offer__prices div { gap: 8px; font-size: 0.69rem; }
  .page-shell { width: min(100% - 36px, 1240px); }
  .launch-section { margin-top: 38px; padding: 30px 24px 26px; }
  .launch-section__prices div { gap: 9px; font-size: 0.7rem; }
  .existing-site-options { margin-top: 48px; padding-top: 46px; }
  .existing-site-options__heading,
  .existing-site-options__grid { grid-template-columns: 1fr; gap: 22px; }
  .focused-service-card { padding: 28px 22px; }
  .focused-service-card__topline { gap: 16px; }
  .focused-service-card__highlights { grid-template-columns: 1fr; }
  .focused-service-card__highlights li,
  .focused-service-card__highlights li:first-child { border-top: 1px solid var(--line); border-left: 0; min-height: 42px; padding: 0; }
  .focused-service-card--navy .focused-service-card__highlights li { border-color: rgba(247, 243, 235, 0.18); }
  .existing-site-options__cta { align-items: flex-start; flex-direction: column; }
  .compact-offers > details > summary,
  .care-strip > details > summary { grid-template-columns: 1fr; gap: 18px; padding: 26px 0; }
  .compact-offers__action,
  .care-strip__action { justify-self: start; }
  .compact-offers__grid,
  .care-strip__options { grid-template-columns: 1fr; }
  .compact-offers__grid article,
  .compact-offers__grid article:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); padding: 26px 0; }
  .compact-offers__grid article:last-child { border-bottom: 0; }
  .compact-offers__grid h4 { min-height: 0; }
  .compact-offers__footer { align-items: flex-start; flex-direction: column; }
  .care-strip { margin-right: -18px; margin-left: -18px; }
  .care-strip > details > summary { padding: 28px 24px; }
  .care-strip__options article { padding: 26px 24px; }
  .care-strip__options article + article { border-top: 1px solid rgba(247, 243, 235, 0.16); border-left: 0; }
  .care-strip__note { padding: 18px 24px 22px; }
  .northstar-preview-copy { width: 62%; padding: 16px 8px 16px 14px; }
  .northstar-preview-copy small { display: none; }
  .northstar-preview-copy strong { font-size: 1rem; }
  .northstar-preview-copy > span { margin-top: 10px; padding: 6px 8px; font-size: 0.39rem; }
  .section { padding: 78px 0px; }
  .site-header { min-height: 70px; padding: 9px 18px; }
  .header-cta { min-height: 42px; padding: 0px 14px; font-size: 0.72rem; }
  .brand-mark { width: 40px; height: 40px; }
  .brand-words strong { font-size: 0.86rem; }
  .brand-words small { font-size: 0.45rem; }
  h1 { font-size: clamp(3rem, 14vw, 4.8rem); }
  h2 { font-size: clamp(2.2rem, 10vw, 3.4rem); }
  .hero-grid { padding-top: 70px; }
  .hero-art { min-height: 330px; }
  .trust-strip { grid-template-columns: 1fr 1fr; gap: 14px; padding: 22px 18px; display: grid; }
  .trust-strip i { display: none; }
  .foundation { width: min(100% - 36px, 1240px); }
  .foundation-diagram { padding: 30px 16px 24px; }
  .foundation-line { grid-template-columns: 1fr 1fr; gap: 34px 12px; }
  .foundation-line::before { display: none; }
  .section-heading { grid-template-columns: 1fr; gap: 24px; }
  .service-card { padding: 30px; }
  .service-number { margin-bottom: 42px; }
  .fit-grid, .process-grid, .referral-values, .why-grid { grid-template-columns: 1fr; }
  .why-grid article, .why-grid article:nth-child(2) { border-bottom: 1px solid rgba(11, 42, 59, 0.2); border-right: 0px; min-height: 0px; }
  .why-grid article:last-child { border-bottom: 0px; }
  .why-grid article > span { margin-bottom: 32px; }
  .why-close { flex-direction: column; align-items: flex-start; gap: 22px; }
  .fit-strip { grid-template-columns: 1fr; gap: 14px; }
  .fit-strip > div { grid-template-columns: 1fr; }
  .fit-strip span { border-top: 1px solid var(--line); border-left: 0px; min-height: 46px; padding: 0px; }
  .standalone-note { flex-direction: column; align-items: flex-start; gap: 14px; }
  .fit-grid article, .process-grid article, .referral-values span { border-right: 0px; border-bottom: 1px solid var(--line); }
  .fit-grid article:last-child, .process-grid article:last-child, .referral-values span:last-child { border-bottom: 0px; }
  .process-grid::before { display: none; }
  .case-visual { min-height: 350px; padding: 24px; }
  .case-copy { padding: 38px 28px; }
  .referral-offer, .package-card { padding: 30px; }
  .package-badge { margin: -30px -30px 30px; }
  .about-map { min-height: 360px; padding: 32px; }
  .about-copy { padding: 70px 24px; }
  .form-row, .inquiry-form fieldset, .website-includes ul { grid-template-columns: 1fr; }
  .inquiry-form { padding: 26px 20px; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, ::before, ::after { scroll-behavior: auto !important; transition: none !important; animation: auto ease 0s 1 normal none running none !important; }
  .hero-survey { transform: none !important; }
  .hero-rocky-ground, .hero-bulldozer, .hero-crane, .hero-launch-smoke, .hero-engine-glow, .hero-rocket-exhaust, .hero-build-impacts, .hero-pad-foundation, .hero-launch-pad, .hero-rocket, .hero-stage-progress { display: none; }
  .hero-end-logo { opacity: 1; }
  .scroll-progress { display: none; }
}
.seo-page { background: var(--cream); min-height: 100vh; }
.seo-header { z-index: 10; background: var(--navy-deep); min-height: 84px; color: var(--cream); border-bottom: 1px solid rgba(247, 243, 235, 0.12); grid-template-columns: 1fr auto 1fr; align-items: center; padding: 14px clamp(20px, 4vw, 68px); display: grid; position: relative; }
.seo-header > .button { justify-self: end; }
.seo-header nav { color: rgba(247, 243, 235, 0.8); gap: 28px; font-size: 0.83rem; display: flex; }
.seo-header nav a:hover { color: var(--white); }
.seo-brand { align-items: center; gap: 11px; display: inline-flex; }
.seo-brand svg { width: 44px; height: 44px; }
.seo-brand > span { gap: 2px; display: grid; }
.seo-brand strong { color: var(--cream); letter-spacing: 0.04em; font-size: 0.92rem; }
.seo-brand small { color: var(--sage-light); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.34em; font-size: 0.53rem; }
.seo-hero { background: linear-gradient(135deg, transparent 49.7%, #7891a017 50%, transparent 50.3%) 0 0 / 120px 120px, var(--navy); color: var(--cream); padding: clamp(80px, 10vw, 144px) 0px clamp(76px, 9vw, 124px); position: relative; overflow: hidden; }
.seo-hero::after { content: ""; border: 1px solid rgba(155, 166, 135, 0.22); border-radius: 50%; width: 56vw; height: 56vw; position: absolute; bottom: -40%; right: -10%; box-shadow: rgba(120, 145, 160, 0.04) 0px 0px 0px 80px, rgba(120, 145, 160, 0.024) 0px 0px 0px 160px; }
.seo-hero__grid { z-index: 1; grid-template-columns: minmax(0px, 1.25fr) minmax(300px, 0.75fr); align-items: end; gap: clamp(48px, 8vw, 112px); display: grid; position: relative; }
.seo-back { color: rgba(247, 243, 235, 0.62); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 46px; font-size: 0.72rem; display: inline-block; }
.seo-hero h1 { letter-spacing: -0.065em; max-width: 820px; margin: 12px 0px 24px; font-size: clamp(3rem, 6.5vw, 6.6rem); line-height: 0.93; }
.seo-hero__lede { color: rgba(247, 243, 235, 0.8); max-width: 750px; margin: 0px 0px 34px; font-size: clamp(1.08rem, 1.6vw, 1.35rem); line-height: 1.65; }
.seo-hero__panel { background: rgba(7, 31, 45, 0.62); border: 1px solid rgba(247, 243, 235, 0.2); padding: 26px; box-shadow: rgba(155, 166, 135, 0.1) 18px 18px; }
.seo-hero__panel > span { color: var(--sage-light); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.18em; margin-bottom: 22px; font-size: 0.65rem; display: block; }
.seo-hero__panel div { border-top: 1px solid rgba(247, 243, 235, 0.13); grid-template-columns: 44px 1fr; align-items: center; min-height: 64px; display: grid; }
.seo-hero__panel b { color: var(--sage); font-family: var(--font-geist-mono), monospace; font-size: 0.7rem; }
.seo-hero__panel strong { font-size: 0.96rem; }
.seo-proof { padding-top: clamp(60px, 8vw, 108px); }
.seo-browser { border: 1px solid var(--line); background: var(--navy); width: min(900px, 100%); margin: 0px auto; overflow: hidden; box-shadow: rgba(7, 31, 45, 0.16) 0px 30px 80px; }
.seo-browser > div { min-height: 44px; color: var(--sage-light); font-family: var(--font-geist-mono), monospace; letter-spacing: 0.08em; align-items: center; gap: 8px; padding: 0px 18px; font-size: 0.66rem; display: flex; }
.seo-browser > div i { border: 1px solid var(--sage); border-radius: 50%; width: 8px; height: 8px; }
.seo-browser > div span { margin-left: auto; }
.seo-browser figure { background: var(--paper); height: min(58vw, 560px); margin: 0px; overflow: hidden; }
.seo-browser img { width: 100%; height: auto; display: block; }
.seo-browser figcaption { clip: rect(0px, 0px, 0px, 0px); width: 1px; height: 1px; position: absolute; overflow: hidden; }
.seo-content { padding-top: clamp(78px, 10vw, 150px); padding-bottom: clamp(78px, 10vw, 150px); }
.seo-content article { border-top: 1px solid var(--line); grid-template-columns: minmax(110px, 0.35fr) minmax(0px, 1.65fr); gap: 36px; padding: 58px 0px; display: grid; }
.seo-content article:last-child { border-bottom: 1px solid var(--line); }
.seo-content article > span { color: var(--sage); font-family: var(--font-geist-mono), monospace; font-size: 0.8rem; }
.seo-content article > div { max-width: 820px; }
.seo-content h2, .seo-related h2, .seo-cta h2 { letter-spacing: -0.05em; margin: 0px 0px 22px; font-size: clamp(2rem, 4vw, 4rem); line-height: 1; }
.seo-content p { color: var(--muted); margin: 0px 0px 20px; font-size: 1.08rem; line-height: 1.75; }
.seo-content ul { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 0px 28px; margin: 30px 0px 0px; padding: 0px; list-style: none; display: grid; }
.seo-content li { border-top: 1px solid var(--line); padding: 14px 0px 14px 22px; line-height: 1.5; position: relative; }
.seo-content li::before { color: var(--sage); content: "↗"; position: absolute; left: 2px; }
.seo-related { background: var(--warm); padding: clamp(74px, 9vw, 124px) 0px; }
.seo-related h2 { max-width: 700px; }
.seo-related__grid { grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 46px; display: grid; }
.seo-related__grid a { border: 1px solid var(--line); background: var(--paper); align-content: start; min-height: 230px; padding: 30px; transition: transform 0.18s, border-color 0.18s; display: grid; }
.seo-related__grid a:hover { border-color: var(--sage); transform: translateY(-5px); }
.seo-related__grid strong { margin-bottom: 14px; font-size: 1.24rem; }
.seo-related__grid span { color: var(--muted); line-height: 1.55; }
.seo-related__grid b { color: var(--navy); margin-top: auto; padding-top: 26px; font-size: 0.82rem; }
.seo-cta { background: var(--navy); color: var(--cream); padding: clamp(70px, 9vw, 120px) 0px; }
.seo-cta .page-shell { justify-content: space-between; align-items: end; gap: 50px; display: flex; }
.seo-cta p:not(.eyebrow) { color: rgba(247, 243, 235, 0.72); max-width: 760px; font-size: 1.08rem; line-height: 1.7; }
.seo-cta .button { flex: 0 0 auto; }
.seo-footer { background: var(--navy-deep); color: var(--cream); padding: 34px 0px; }
.seo-footer .page-shell { grid-template-columns: 1fr auto auto; align-items: center; gap: 34px; display: grid; }
.seo-footer span:not(.seo-brand) { color: rgba(247, 243, 235, 0.58); font-size: 0.78rem; }
.seo-footer > div > a:last-child { color: var(--sage-light); font-size: 0.84rem; }
@media (width <= 900px) {
  .seo-header { grid-template-columns: 1fr auto; }
  .seo-header nav { display: none; }
  .seo-hero__grid { grid-template-columns: 1fr; }
  .seo-hero__panel { max-width: 560px; }
  .seo-related__grid { grid-template-columns: 1fr; }
  .seo-related__grid a { min-height: 170px; }
  .seo-footer .page-shell { grid-template-columns: 1fr; }
}
@media (width <= 620px) {
  .seo-header { min-height: 72px; padding: 12px 18px; }
  .seo-header > .button { display: none; }
  .seo-brand svg { width: 38px; height: 38px; }
  .seo-hero { padding: 66px 0px 72px; }
  .seo-back { margin-bottom: 34px; }
  .seo-hero h1 { font-size: clamp(2.75rem, 14vw, 4.4rem); }
  .seo-hero__panel { padding: 22px; }
  .seo-browser figure { height: 360px; }
  .seo-content article { grid-template-columns: 1fr; gap: 18px; padding: 42px 0px; }
  .seo-content ul { grid-template-columns: 1fr; }
  .seo-cta .page-shell { flex-direction: column; align-items: flex-start; }
}
@property --tw-rotate-x { syntax: "*"; inherits: false; }
@property --tw-rotate-y { syntax: "*"; inherits: false; }
@property --tw-rotate-z { syntax: "*"; inherits: false; }
@property --tw-skew-x { syntax: "*"; inherits: false; }
@property --tw-skew-y { syntax: "*"; inherits: false; }
@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-shadow-color { syntax: "*"; inherits: false; }
@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-ring-color { syntax: "*"; inherits: false; }
@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-ring-color { syntax: "*"; inherits: false; }
@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-ring-inset { syntax: "*"; inherits: false; }
@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-blur { syntax: "*"; inherits: false; }
@property --tw-brightness { syntax: "*"; inherits: false; }
@property --tw-contrast { syntax: "*"; inherits: false; }
@property --tw-grayscale { syntax: "*"; inherits: false; }
@property --tw-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-invert { syntax: "*"; inherits: false; }
@property --tw-opacity { syntax: "*"; inherits: false; }
@property --tw-saturate { syntax: "*"; inherits: false; }
@property --tw-sepia { syntax: "*"; inherits: false; }
@property --tw-drop-shadow { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
:root { --font-geist-sans: Arial,Helvetica,sans-serif; --font-geist-mono: "SFMono-Regular",Consolas,"Liberation Mono",monospace; }
.case-visual { isolation: isolate; }
.case-study .mini-browser { z-index: 2; overflow: visible; transform: none; }
.case-study .mini-browser .browser-bar { border-radius: 7px 7px 0px 0px; }
.case-study .mini-browser .site-preview-window { border-radius: 0px 0px 5px 5px; }
.case-study--northstar .mini-browser { width: 84%; margin-bottom: 15px; transform: perspective(900px) rotateX(1deg) rotateY(-2deg); }
.case-study--northstar .mini-browser::after { content: ""; z-index: -1; width: calc(100% + 54px); height: 20px; background: linear-gradient(rgb(213, 216, 217), rgb(123, 131, 134) 58%, rgb(74, 81, 84)); clip-path: polygon(5% 0px, 95% 0px, 100% 68%, 96% 100%, 4% 100%, 0px 68%); position: absolute; bottom: -18px; left: -27px; box-shadow: rgba(0, 0, 0, 0.333) 0px 12px 18px; }
.case-study--northstar .case-visual::after { content: ""; z-index: 5; pointer-events: none; background: url("/portfolio-northstar-mobile.webp") 50% 0px / cover no-repeat rgb(255, 255, 255); border: 6px solid rgb(21, 27, 30); border-radius: 19px; width: 69px; height: 145px; position: absolute; bottom: 26px; left: calc(50% + 92px); box-shadow: rgba(0, 0, 0, 0.467) 0px 18px 30px; }
.case-study--northstar .case-visual::before { content: ""; z-index: 6; pointer-events: none; background: rgb(21, 27, 30); border-radius: 0px 0px 6px 6px; width: 28px; height: 6px; position: absolute; bottom: 159px; left: calc(50% + 118px); }
.case-study--heritage .mini-browser { width: 86%; border-width: 10px; border-color: rgb(17, 26, 25); border-radius: 18px; transform: perspective(900px) rotateX(1deg) rotateY(1.5deg); }
.case-study--heritage .mini-browser .browser-bar { border-radius: 7px 7px 0px 0px; }
.case-study--heritage .case-visual::after { content: ""; z-index: 5; pointer-events: none; background: url("/portfolio-heritage-mobile.webp") 50% 0px / cover no-repeat rgb(5, 5, 5); border: 6px solid rgb(17, 24, 23); border-radius: 15px; width: 66px; height: 139px; position: absolute; bottom: 24px; left: calc(50% + 96px); box-shadow: rgba(0, 0, 0, 0.533) 0px 18px 30px; }
.case-study--heritage .case-visual::before { content: ""; z-index: 6; pointer-events: none; background: rgb(68, 76, 73); border-radius: 3px; width: 22px; height: 3px; position: absolute; bottom: 153px; left: calc(50% + 124px); }
.case-study--clairguidance .mini-browser { width: 84%; margin-bottom: 34px; transform: perspective(900px) rotateX(1deg) rotateY(-1.5deg); }
.case-study--clairguidance .mini-browser::before { content: ""; z-index: -1; width: 66px; height: 54px; background: linear-gradient(90deg, rgb(89, 98, 103), rgb(200, 204, 205) 48%, rgb(89, 98, 103)); clip-path: polygon(38% 0px, 62% 0px, 68% 72%, 100% 88%, 100% 100%, 0px 100%, 0px 88%, 32% 72%); position: absolute; bottom: -52px; left: calc(50% - 33px); box-shadow: rgba(0, 0, 0, 0.267) 0px 10px 14px; }
.case-study--clairguidance .mini-browser::after { content: ""; z-index: -2; background: linear-gradient(rgb(200, 204, 205), rgb(104, 113, 118)); border-radius: 50%; width: 116px; height: 9px; position: absolute; bottom: -54px; left: calc(50% - 58px); box-shadow: rgba(0, 0, 0, 0.267) 0px 8px 14px; }
.case-study--clairguidance .case-visual::after { content: ""; z-index: 5; pointer-events: none; background: url("/portfolio-clairguidance-mobile.webp") 50% 0px / cover no-repeat rgb(255, 247, 242); border: 6px solid rgb(21, 27, 30); border-radius: 19px; width: 69px; height: 145px; position: absolute; bottom: 25px; left: calc(50% + 93px); box-shadow: rgba(0, 0, 0, 0.467) 0px 18px 30px; }
.case-study--clairguidance .case-visual::before { content: ""; z-index: 6; pointer-events: none; background: rgb(21, 27, 30); border-radius: 0px 0px 6px 6px; width: 28px; height: 6px; position: absolute; bottom: 158px; left: calc(50% + 119px); }
@media (width <= 760px) {
  .case-study--northstar .mini-browser, .case-study--clairguidance .mini-browser { width: min(78%, 470px); }
  .case-study--heritage .mini-browser { width: min(80%, 490px); }
  .case-study--northstar .case-visual::after, .case-study--clairguidance .case-visual::after { width: 66px; height: 139px; left: calc(50% + 108px); }
  .case-study--heritage .case-visual::after { width: 64px; height: 134px; left: calc(50% + 112px); }
  .case-study--northstar .case-visual::before, .case-study--clairguidance .case-visual::before { bottom: 152px; left: calc(50% + 133px); }
  .case-study--heritage .case-visual::before { bottom: 148px; left: calc(50% + 139px); }
}
.case-study .case-visual { position: relative; }
.case-study--northstar .mini-browser::after { width: calc(100% + 44px); height: 34px; left: -22px; bottom: -31px; background: linear-gradient(90deg, transparent 39%, rgb(135, 144, 148) 40%, rgb(135, 144, 148) 60%, transparent 61%) 50% 88% / 42% 5px no-repeat, repeating-linear-gradient(90deg, rgb(76, 85, 89) 0px, rgb(76, 85, 89) 7px, rgb(190, 196, 198) 7px, rgb(190, 196, 198) 9px) 50% 28% / 72% 7px no-repeat, repeating-linear-gradient(90deg, rgb(92, 101, 105) 0px, rgb(92, 101, 105) 8px, rgb(201, 205, 206) 8px, rgb(201, 205, 206) 10px) 50% 54% / 66% 7px no-repeat, linear-gradient(rgb(216, 220, 221) 0%, rgb(167, 174, 177) 58%, rgb(104, 113, 116) 100%); clip-path: polygon(8% 0px, 92% 0px, 100% 78%, 96% 100%, 4% 100%, 0px 78%); border-radius: 1px 1px 8px 8px; box-shadow: rgba(0, 0, 0, 0.333) 0px 11px 18px; }
.case-study--clairguidance .mini-browser::before { width: 54px; height: 42px; left: calc(50% - 27px); bottom: -39px; background: linear-gradient(90deg, rgb(89, 98, 103) 0%, rgb(201, 205, 206) 42%, rgb(224, 226, 226) 50%, rgb(161, 168, 170) 70%, rgb(89, 98, 103) 100%); clip-path: polygon(38% 0px, 62% 0px, 67% 70%, 86% 92%, 86% 100%, 14% 100%, 14% 92%, 33% 70%); box-shadow: none; }
.case-study--clairguidance .mini-browser::after { width: 96px; height: 8px; left: calc(50% - 48px); bottom: -43px; border-radius: 50%; background: linear-gradient(rgb(211, 214, 215), rgb(115, 124, 127)); box-shadow: rgba(0, 0, 0, 0.267) 0px 7px 12px; }
.case-study--northstar .case-visual::after { top: 112px; bottom: auto; }
.case-study--northstar .case-visual::before { top: 118px; bottom: auto; }
.case-study--heritage .case-visual::after { top: 116px; bottom: auto; }
.case-study--heritage .case-visual::before { top: 120px; bottom: auto; }
.case-study--clairguidance .case-visual::after { top: 112px; bottom: auto; }
.case-study--clairguidance .case-visual::before { top: 118px; bottom: auto; }
@media (width <= 760px) {
  .case-study--northstar .case-visual::after, .case-study--clairguidance .case-visual::after { top: 108px; bottom: auto; }
  .case-study--heritage .case-visual::after { top: 112px; bottom: auto; }
  .case-study--northstar .case-visual::before, .case-study--clairguidance .case-visual::before { top: 114px; bottom: auto; }
  .case-study--heritage .case-visual::before { top: 116px; bottom: auto; }
}
.case-study--northstar .mini-browser, .case-study--clairguidance .mini-browser { width: 100%; height: 100%; max-width: none; margin: 0px; border: 0px; border-radius: 0px; background-position: center center; background-repeat: no-repeat; background-size: contain; background-color: transparent; box-shadow: none; transform: none; }
.case-study--northstar .mini-browser { background-image: url("northstar-laptop-device-v34.png"); }
.case-study--clairguidance .mini-browser { background-image: url("clairguidance-monitor-device-v34.png"); }
.case-study--northstar .mini-browser > *, .case-study--clairguidance .mini-browser > * { visibility: hidden; }
.case-study--northstar .mini-browser::before, .case-study--northstar .mini-browser::after, .case-study--clairguidance .mini-browser::before, .case-study--clairguidance .mini-browser::after { display: none; }
.case-study--heritage .site-preview-window { background: url("portfolio-heritage-display.webp") center top / cover no-repeat rgb(245, 243, 237); }
.case-study--heritage .site-preview-image { opacity: 0; }
@media (width <= 760px) {
  .case-study--northstar .mini-browser, .case-study--clairguidance .mini-browser { width: 100%; height: 100%; }
}
.case-study--northstar .mini-browser { background: url("northstar-laptop-device-v34.png") center center / contain no-repeat transparent !important; }
.case-study--clairguidance .mini-browser { background: url("clairguidance-monitor-device-v34.png") center center / contain no-repeat transparent !important; }
.case-study--northstar .mini-browser, .case-study--clairguidance .mini-browser { position: absolute; inset: 0px; width: 100%; height: 100%; }
.case-study--northstar .mini-browser { background: url("northstar-laptop-device-v34.png") center center / contain no-repeat, radial-gradient(circle at 50% 40%, rgb(216, 143, 120) 0%, rgb(181, 79, 54) 68%, rgb(131, 52, 35) 100%) !important; }
.case-study--clairguidance .mini-browser { background: url("clairguidance-monitor-device-v34.png") center center / contain no-repeat, radial-gradient(circle at 50% 35%, rgb(247, 238, 233) 0%, rgb(216, 191, 196) 65%, rgb(169, 130, 142) 100%) !important; }
.case-study--heritage .preview-cue { display: none; }

/* v37: restrained campaign and voice capability */
.campaign-capability { position: relative; overflow: hidden; }
.campaign-capability::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(11,42,59,.055) 1px, transparent 1px) 0 0 / 64px 64px, linear-gradient(rgba(11,42,59,.04) 1px, transparent 1px) 0 0 / 64px 64px; mask-image: linear-gradient(to right, transparent 0, #000 55%, #000 100%); }
.campaign-capability__grid { display: grid; grid-template-columns: minmax(0,.86fr) minmax(480px,1.14fr); gap: clamp(48px,7vw,108px); align-items: center; position: relative; }
.campaign-capability__copy h2 { max-width: 720px; margin-bottom: 24px; color: var(--navy); font-size: clamp(2.8rem,5.4vw,5.7rem); line-height: .96; letter-spacing: -.055em; }
.campaign-capability__copy > p:not(.eyebrow) { max-width: 650px; color: #43565e; font-size: 1.02rem; line-height: 1.72; }
.campaign-capability__note { margin-top: 18px; padding-left: 18px; border-left: 2px solid rgba(11,42,59,.28); font-size: .88rem !important; }
.campaign-capability__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 34px; }
.campaign-text-link { color: var(--navy); border-bottom: 1px solid rgba(11,42,59,.48); padding-bottom: 5px; font-size: .82rem; font-weight: 750; }
.signal-board { background: linear-gradient(145deg, rgba(255,255,255,.035), transparent 44%), var(--navy-deep); color: var(--cream); border: 1px solid rgba(11,42,59,.22); min-height: 600px; padding: clamp(26px,3vw,42px); position: relative; box-shadow: 0 34px 90px rgba(7,31,45,.2); }
.signal-board::before,.signal-board::after { content: ""; position: absolute; width: 22px; height: 22px; }
.signal-board::before { top: 14px; left: 14px; border-top: 2px solid var(--sage); border-left: 2px solid var(--sage); }
.signal-board::after { right: 14px; bottom: 14px; border-right: 2px solid var(--slate); border-bottom: 2px solid var(--slate); }
.signal-board__head,.signal-board__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-family: var(--font-geist-mono),monospace; letter-spacing: .11em; font-size: .58rem; color: #aebdc0; }
.signal-board__head span:last-child { color: var(--sage-light); padding-left: 14px; position: relative; }
.signal-board__head span:last-child::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sage); position: absolute; left: 0; top: 50%; transform: translateY(-50%); box-shadow: 0 0 0 5px rgba(155,166,135,.11); }
.signal-board__title { padding: 74px 0 42px; }
.signal-board__title small { display: block; color: var(--sage); font-family: var(--font-geist-mono),monospace; letter-spacing: .14em; font-size: .64rem; margin-bottom: 16px; }
.signal-board__title strong { font-size: clamp(2rem,3.2vw,3.45rem); line-height: 1.02; letter-spacing: -.045em; }
.signal-board__tracks { border-top: 1px solid rgba(247,243,235,.14); }
.signal-board__tracks article { display: grid; grid-template-columns: 34px minmax(190px,1fr) minmax(120px,.72fr); gap: 18px; align-items: center; min-height: 88px; border-bottom: 1px solid rgba(247,243,235,.14); }
.signal-board__tracks article > span { color: var(--sage); font-family: var(--font-geist-mono),monospace; font-size: .65rem; }
.signal-board__tracks strong,.signal-board__tracks small { display: block; }
.signal-board__tracks strong { font-size: .86rem; }
.signal-board__tracks small { margin-top: 5px; color: #94a7ab; font-size: .65rem; }
.signal-wave { height: 28px; opacity: .75; background-repeat: repeat-x; background-position: center; }
.signal-wave--one { background-image: linear-gradient(90deg,transparent 0 4%,var(--sage) 4% 7%,transparent 7% 12%,var(--slate) 12% 15%,transparent 15% 23%,var(--sage) 23% 26%,transparent 26% 34%,var(--slate) 34% 37%,transparent 37% 45%,var(--sage) 45% 49%,transparent 49% 58%,var(--slate) 58% 61%,transparent 61% 70%,var(--sage) 70% 73%,transparent 73%); background-size: 90px 10px; }
.signal-wave--two { background-image: linear-gradient(90deg,transparent 0 8%,var(--slate) 8% 11%,transparent 11% 17%,var(--sage) 17% 20%,transparent 20% 28%,var(--slate) 28% 31%,transparent 31% 41%,var(--sage) 41% 45%,transparent 45% 54%,var(--slate) 54% 57%,transparent 57% 68%,var(--sage) 68% 71%,transparent 71%); background-size: 76px 18px; }
.signal-wave--three { background-image: linear-gradient(90deg,transparent 0 5%,var(--sage) 5% 9%,transparent 9% 16%,var(--slate) 16% 19%,transparent 19% 26%,var(--sage) 26% 30%,transparent 30% 40%,var(--slate) 40% 44%,transparent 44% 53%,var(--sage) 53% 58%,transparent 58% 66%,var(--slate) 66% 69%,transparent 69%); background-size: 112px 24px; }
.signal-board__foot { justify-content: flex-start; margin-top: 34px; }
.signal-board__foot b { color: var(--sage); font-weight: 500; }
.production-add-on { background: var(--sage-pale); border: 1px solid var(--line); display: grid; grid-template-columns: minmax(0,1.25fr) minmax(260px,.9fr); gap: 28px 54px; align-items: end; margin-top: 52px; padding: clamp(28px,4vw,48px); position: relative; }
.production-add-on::before { content: "OPTIONAL"; position: absolute; top: 0; right: 0; background: var(--navy); color: var(--cream); padding: 9px 13px; font-family: var(--font-geist-mono),monospace; font-size: .55rem; letter-spacing: .12em; }
.production-add-on__copy .eyebrow { margin-bottom: 12px; }
.production-add-on h3 { color: var(--navy); max-width: 700px; font-size: clamp(1.55rem,2.8vw,2.5rem); line-height: 1.06; letter-spacing: -.035em; }
.production-add-on__copy > p:last-child { color: var(--muted); max-width: 710px; margin-top: 14px; font-size: .84rem; line-height: 1.65; }
.production-add-on__services { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid rgba(11,42,59,.22); }
.production-add-on__services span { min-height: 58px; padding: 13px 10px 13px 0; border-bottom: 1px solid rgba(11,42,59,.22); color: var(--navy); font-size: .72rem; font-weight: 680; display: flex; align-items: center; }
.production-add-on > a { grid-column: 1 / -1; justify-self: end; color: var(--navy); border-bottom: 1px solid rgba(11,42,59,.45); padding-bottom: 5px; font-size: .78rem; font-weight: 750; }

@media (width <= 980px) {
  .campaign-capability__grid { grid-template-columns: 1fr; }
  .signal-board { min-height: 540px; }
  .production-add-on { grid-template-columns: 1fr; align-items: start; }
  .production-add-on > a { justify-self: start; }
}
@media (width <= 620px) {
  .campaign-capability__copy h2 { font-size: clamp(2.55rem,13vw,4rem); }
  .signal-board { min-height: auto; padding: 28px 20px; }
  .signal-board__title { padding: 62px 0 32px; }
  .signal-board__tracks article { grid-template-columns: 28px 1fr; padding: 16px 0; }
  .signal-wave { grid-column: 2; width: 100%; }
  .signal-board__foot { flex-wrap: wrap; }
  .production-add-on__services { grid-template-columns: 1fr; }
}

/* v37 voice and audio capability page */
.voice-page {
  background: var(--warm, #f2ede4);
}
.voice-page .voice-site-header {
  border-bottom-color: rgba(246, 241, 232, .15);
  background: rgba(18, 33, 46, .94);
}
.voice-page .voice-site-header .desktop-nav a { color: #f6f1e8; }
.voice-page .voice-site-header .desktop-nav a:hover { color: #a9b79b; }
.voice-hero {
  min-height: 820px;
  padding: 190px 0 110px;
  overflow: hidden;
  position: relative;
}
.voice-hero::before {
  content: "";
  position: absolute;
  inset: 80px -10% auto 43%;
  height: 1px;
  background: rgba(246, 241, 232, .13);
  box-shadow: 0 170px 0 rgba(246,241,232,.07), 0 340px 0 rgba(246,241,232,.07), 0 510px 0 rgba(246,241,232,.07);
  transform: rotate(-9deg);
}
.voice-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: clamp(56px, 7vw, 118px);
  align-items: center;
}
.voice-hero__copy { max-width: 720px; }
.voice-back {
  display: inline-block;
  margin-bottom: 56px;
  color: rgba(246, 241, 232, .68);
  font-family: var(--mono, monospace);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.voice-back:hover { color: #f6f1e8; }
.voice-hero h1 {
  max-width: 690px;
  margin: 18px 0 26px;
  color: #f6f1e8;
  font-size: clamp(4rem, 7vw, 7.4rem);
  line-height: .89;
  letter-spacing: -.072em;
}
.voice-hero__copy > p:not(.eyebrow) {
  max-width: 650px;
  color: rgba(246, 241, 232, .73);
  font-size: clamp(1rem, 1.4vw, 1.28rem);
  line-height: 1.65;
}
.voice-hero .button-row { margin-top: 36px; }
.voice-byline {
  display: block;
  margin-top: 42px;
  color: rgba(246, 241, 232, .47);
  font-family: var(--mono, monospace);
  font-size: .66rem;
  letter-spacing: .11em;
}
.voice-console {
  position: relative;
  border: 1px solid rgba(246, 241, 232, .23);
  background: #172b3c;
  box-shadow: 22px 22px 0 rgba(0, 0, 0, .13);
  color: #f6f1e8;
}
.voice-console::before,
.voice-console::after {
  content: "+";
  position: absolute;
  top: 50%;
  color: #a9b79b;
  font-family: var(--mono, monospace);
  font-size: 1.1rem;
}
.voice-console::before { left: -34px; }
.voice-console::after { right: -34px; }
.voice-console__top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 20px;
  border-bottom: 1px solid rgba(246, 241, 232, .16);
  font-family: var(--mono, monospace);
  font-size: .64rem;
  letter-spacing: .09em;
}
.voice-console__top b { color: #a9b79b; }
.voice-console__meter {
  height: 270px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 40px 26px;
  border-bottom: 1px solid rgba(246, 241, 232, .16);
  background: repeating-linear-gradient(0deg, transparent 0 32px, rgba(246,241,232,.055) 33px);
}
.voice-console__meter i {
  width: 8px;
  height: var(--h);
  min-height: 12px;
  background: #a9b79b;
  transform-origin: 50% 50%;
  animation: voice-meter 2.8s ease-in-out infinite alternate;
  animation-delay: calc(var(--h) * -0.03);
}
.voice-console__meter i:nth-child(3n) { background: #d5aa73; }
@keyframes voice-meter { to { transform: scaleY(.45); opacity: .62; } }
@media (prefers-reduced-motion: reduce) { .voice-console__meter i { animation: none; } }
.voice-console__readout {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.voice-console__readout span {
  min-height: 104px;
  padding: 22px;
  border-right: 1px solid rgba(246, 241, 232, .13);
  border-bottom: 1px solid rgba(246, 241, 232, .13);
}
.voice-console__readout span:nth-child(2n) { border-right: 0; }
.voice-console__readout small {
  display: block;
  margin-bottom: 8px;
  color: #a9b79b;
  font-family: var(--mono, monospace);
  font-size: .57rem;
  letter-spacing: .12em;
}
.voice-console__readout strong { font-size: .85rem; line-height: 1.4; }
.voice-console__rail { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; padding: 18px 22px; }
.voice-console__rail span { height: 3px; background: rgba(246, 241, 232, .16); }
.voice-console__rail span:nth-child(-n+3) { background: #a9b79b; }

.voice-range { padding-top: 120px; padding-bottom: 120px; }
.voice-preview-note {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 46px 0 18px;
  padding: 16px 20px;
  border: 1px solid rgba(22, 40, 54, .2);
  color: rgba(22, 40, 54, .68);
  font-size: .83rem;
}
.voice-preview-note span {
  flex: 0 0 auto;
  padding: 6px 9px;
  background: #162836;
  color: #f6f1e8;
  font-family: var(--mono, monospace);
  font-size: .58rem;
  letter-spacing: .1em;
}
.voice-reel-grid { border-top: 1px solid rgba(22, 40, 54, .18); }
.voice-reel {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  padding: 32px 6px;
  border-bottom: 1px solid rgba(22, 40, 54, .18);
}
.voice-reel__number {
  align-self: stretch;
  display: grid;
  place-items: center;
  border-right: 1px solid rgba(22, 40, 54, .18);
  color: #87927b;
  font-family: var(--mono, monospace);
  font-size: .73rem;
}
.voice-reel h3 { margin: 4px 0 8px; font-size: clamp(1.55rem, 2.2vw, 2.25rem); letter-spacing: -.035em; }
.voice-reel p:not(.eyebrow) { max-width: 650px; color: rgba(22, 40, 54, .68); line-height: 1.55; }
.voice-reel button {
  min-width: 142px;
  padding: 13px 17px;
  border: 1px solid rgba(22, 40, 54, .22);
  background: transparent;
  color: rgba(22, 40, 54, .5);
  font-family: var(--mono, monospace);
  font-size: .66rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.voice-reel button span { margin-right: 8px; }
.voice-specialty-note {
  max-width: 880px;
  margin: 28px 0 0 104px;
  padding-left: 18px;
  border-left: 3px solid #9ba687;
  color: rgba(22, 40, 54, .66);
  font-size: .84rem;
  line-height: 1.65;
}

.section-heading--light { border-color: rgba(246, 241, 232, .18); }
.section-heading--light h2 { color: #f6f1e8; }
.section-heading--light > p { color: rgba(246, 241, 232, .62); }
.voice-applications { padding: 120px 0; }
.voice-application-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 58px;
  border: 1px solid rgba(246, 241, 232, .18);
}
.voice-application-grid article {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: 28px;
  border-right: 1px solid rgba(246, 241, 232, .18);
}
.voice-application-grid article:last-child { border-right: 0; }
.voice-application-grid article > span { color: #a9b79b; font-family: var(--mono, monospace); font-size: .68rem; }
.voice-application-grid h3 { margin: 80px 0 16px; color: #f6f1e8; font-size: 1.65rem; line-height: 1.05; }
.voice-application-grid p { color: rgba(246, 241, 232, .62); font-size: .9rem; line-height: 1.65; }
.voice-application-grid small { margin-top: auto; padding-top: 30px; color: #a9b79b; font-family: var(--mono, monospace); font-size: .55rem; letter-spacing: .08em; }

.voice-options { padding: 120px 0; }
.voice-option-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 58px; }
.voice-option-grid article { min-height: 410px; padding: 32px; border: 1px solid rgba(22, 40, 54, .2); background: rgba(246, 241, 232, .42); }
.voice-option-grid strong { display: block; margin: 35px 0 18px; color: #162836; font-size: clamp(2.3rem, 3.2vw, 3.8rem); letter-spacing: -.055em; }
.voice-option-grid article > p:not(.eyebrow) { min-height: 78px; color: rgba(22, 40, 54, .68); line-height: 1.6; }
.voice-option-grid ul { margin: 28px 0 0; padding: 22px 0 0; border-top: 1px solid rgba(22, 40, 54, .16); list-style: none; }
.voice-option-grid li { position: relative; padding: 8px 0 8px 20px; font-size: .84rem; }
.voice-option-grid li::before { content: "+"; position: absolute; left: 0; color: #77866c; }
.private-room {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  margin-top: 20px;
  padding: 34px;
  background: #162836;
  color: #f6f1e8;
}
.private-room__mark {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border: 1px solid rgba(246, 241, 232, .25);
  color: #a9b79b;
  font-size: 2rem;
}
.private-room h3 { margin: 5px 0 10px; color: #f6f1e8; font-size: 1.55rem; }
.private-room p:not(.eyebrow) { max-width: 790px; color: rgba(246, 241, 232, .63); line-height: 1.55; }
.voice-usage { display: grid; grid-template-columns: 280px 1fr; gap: 35px; margin-top: 26px; padding: 24px 0; border-top: 1px solid rgba(22, 40, 54, .2); border-bottom: 1px solid rgba(22, 40, 54, .2); }
.voice-usage strong { color: #162836; }
.voice-usage p { color: rgba(22, 40, 54, .63); font-size: .82rem; line-height: 1.6; }

@media (width <= 1040px) {
  .voice-hero__grid { grid-template-columns: 1fr; }
  .voice-console { max-width: 720px; }
  .voice-application-grid { grid-template-columns: 1fr 1fr; }
  .voice-application-grid article:nth-child(2) { border-right: 0; }
  .voice-application-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(246, 241, 232, .18); }
  .voice-option-grid { grid-template-columns: 1fr; }
  .voice-option-grid article { min-height: auto; }
  .private-room { grid-template-columns: 72px 1fr; }
  .private-room > a { grid-column: 2; justify-self: start; }
}
@media (width <= 760px) {
  .voice-hero { min-height: auto; padding: 148px 0 78px; }
  .voice-hero h1 { font-size: clamp(3.45rem, 17vw, 5.8rem); }
  .voice-back { margin-bottom: 40px; }
  .voice-console::before, .voice-console::after { display: none; }
  .voice-console__meter { height: 200px; gap: 4px; padding-inline: 16px; }
  .voice-console__meter i { width: 5px; }
  .voice-console__readout { grid-template-columns: 1fr; }
  .voice-console__readout span, .voice-console__readout span:nth-child(2n) { border-right: 0; }
  .voice-range, .voice-applications, .voice-options { padding-top: 82px; padding-bottom: 82px; }
  .voice-preview-note { align-items: flex-start; flex-direction: column; }
  .voice-reel { grid-template-columns: 44px 1fr; gap: 18px; }
  .voice-reel button { grid-column: 2; justify-self: start; }
  .voice-specialty-note { margin-left: 62px; }
  .voice-application-grid { grid-template-columns: 1fr; }
  .voice-application-grid article, .voice-application-grid article:nth-child(2) { min-height: 285px; border-right: 0; border-bottom: 1px solid rgba(246, 241, 232, .18); }
  .voice-application-grid article:last-child { border-bottom: 0; }
  .voice-application-grid h3 { margin-top: 55px; }
  .private-room { grid-template-columns: 1fr; }
  .private-room > a { grid-column: 1; }
  .voice-usage { grid-template-columns: 1fr; gap: 10px; }
}
@media (width <= 520px) {
  .voice-console__top { flex-direction: column; }
  .voice-reel { grid-template-columns: 1fr; }
  .voice-reel__number { place-items: start; padding-bottom: 12px; border-right: 0; border-bottom: 1px solid rgba(22, 40, 54, .14); }
  .voice-reel button { grid-column: 1; }
  .voice-specialty-note { margin-left: 0; }
  .voice-option-grid article { padding: 26px 22px; }
  .private-room { padding: 28px 22px; }
}

/* v38: focused Groundwork navigation, portfolio devices and voiceover extra */
.desktop-nav a {
  text-transform: uppercase;
  letter-spacing: .1em;
}
.site-header {
  grid-template-columns: minmax(200px, 1fr) auto minmax(200px, 1fr);
}
.desktop-nav {
  gap: clamp(16px, 2vw, 28px);
}
.referral-main > p:not(.eyebrow):not(.about-signature) + p:not(.about-signature) {
  margin-top: 1.15em;
}
.case-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.case-visual {
  min-height: 430px;
  padding: 28px;
}
.case-study--ridge .case-visual {
  background: radial-gradient(circle at 48% 38%, #efe5cf 0%, #c8b188 60%, #8a704d 100%);
}
.case-study--northstar .case-visual::before,
.case-study--northstar .case-visual::after,
.case-study--heritage .case-visual::before,
.case-study--heritage .case-visual::after,
.case-study--clairguidance .case-visual::before,
.case-study--clairguidance .case-visual::after,
.case-study--ridge .case-visual::before,
.case-study--ridge .case-visual::after {
  display: none;
}
.portfolio-device-scene {
  position: absolute;
  inset: 0;
  overflow: hidden;
  isolation: isolate;
}
.portfolio-device {
  position: absolute;
  z-index: 2;
  filter: drop-shadow(0 20px 22px rgba(0, 0, 0, .28));
}
.preview-viewport {
  position: relative;
  overflow: hidden;
  background: #f7f4ee;
}
.preview-viewport > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  background: #f7f4ee;
}
.site-shot {
  position: absolute;
  inset: 0;
  overflow: hidden;
  font-family: Arial, Helvetica, sans-serif;
}
.site-shot__bar {
  position: absolute;
  z-index: 8;
  inset: 0 0 auto;
  height: 17%;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 3px 5%;
  color: #fff;
  background: rgba(3, 3, 3, .96);
  border-bottom: 1px solid rgba(210, 154, 53, .38);
  font-size: 6px;
  font-weight: 800;
  letter-spacing: .05em;
}
.site-shot__bar img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.site-shot__bar b { margin-left: auto; color: #d29a35; }
.heritage-shot { color: #fff; background: #050505; }
.heritage-shot__copy {
  position: absolute;
  z-index: 6;
  inset: 17% 52% 0 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5%;
  background: #050505;
}
.heritage-shot__copy small { font-size: 7px; font-weight: 800; letter-spacing: .05em; }
.heritage-shot__copy strong { margin-top: 4px; color: #d29a35; font-size: 24px; line-height: .82; }
.heritage-shot__copy i { width: 30px; height: 1px; margin: 8px 0; background: #d29a35; }
.heritage-shot__copy p { margin: 0; color: rgba(255,255,255,.76); font-size: 6px; line-height: 1.5; }
.heritage-shot__old,
.heritage-shot__modern,
.heritage-shot__tear { position: absolute; top: 17%; bottom: 0; }
.heritage-shot__old { z-index: 1; left: 46%; right: 0; background: #2b190d url('portfolio-heritage-old.webp') center / cover no-repeat; }
.heritage-shot__modern { z-index: 2; left: 72%; right: 0; background: #151c24 url('portfolio-heritage-modern.webp') center / cover no-repeat; }
.heritage-shot__tear { z-index: 4; left: 68%; width: 12%; background: url('portfolio-heritage-tear.webp') center / 100% 100% no-repeat; filter: drop-shadow(0 0 5px rgba(235,176,73,.42)); }
.ridge-shot {
  color: #102b35;
  background-color: #efe8d8;
  background-image: linear-gradient(rgba(16,43,53,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(16,43,53,.08) 1px, transparent 1px);
  background-size: 13px 13px;
}
.ridge-shot__bar {
  position: absolute;
  inset: 0 0 auto;
  height: 21%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 11px;
  padding: 3% 5%;
  background: rgba(250,247,239,.95);
  border-bottom: 1px solid #102b35;
  font-size: 6px;
  font-weight: 800;
}
.ridge-shot__bar img { width: 43%; height: auto; margin-right: auto; }
.ridge-shot__copy {
  position: absolute;
  inset: 27% 37% 8% 5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ridge-shot__copy small { font-size: 5px; font-weight: 800; letter-spacing: .05em; }
.ridge-shot__copy strong { margin-top: 8px; font-size: 27px; line-height: .8; letter-spacing: -.05em; }
.ridge-shot__copy em { color: #275f78; font-style: normal; }
.ridge-shot__copy p { max-width: 90%; margin: 10px 0 0; font-size: 7px; line-height: 1.45; }
.ridge-shot__ticket {
  position: absolute;
  inset: 31% 4% 9% 67%;
  display: flex;
  flex-direction: column;
  padding: 5% 3%;
  background: #faf7ef;
  border: 1px solid #102b35;
  box-shadow: 4px 4px 0 #c7a96b;
}
.ridge-shot__ticket b { font-size: 5px; letter-spacing: .08em; }
.ridge-shot__ticket strong { margin: 5px 0 7px; font-size: 12px; line-height: .9; }
.ridge-shot__ticket span { padding: 3px 0; border-top: 1px solid rgba(16,43,53,.25); font-size: 5px; }
.portfolio-device--phone .site-shot__bar { height: 12%; padding-inline: 7%; font-size: 4px; }
.portfolio-device--phone .site-shot__bar img { width: 15px; height: 15px; }
.portfolio-device--phone .heritage-shot__copy { inset: 12% 0 48%; padding: 11% 9% 5%; }
.portfolio-device--phone .heritage-shot__copy small { font-size: 4px; }
.portfolio-device--phone .heritage-shot__copy strong { font-size: 12px; }
.portfolio-device--phone .heritage-shot__copy i { width: 16px; margin: 5px 0; }
.portfolio-device--phone .heritage-shot__copy p { font-size: 4px; }
.portfolio-device--phone .heritage-shot__old,
.portfolio-device--phone .heritage-shot__modern,
.portfolio-device--phone .heritage-shot__tear { top: 52%; }
.portfolio-device--phone .heritage-shot__old { left: 0; }
.portfolio-device--phone .heritage-shot__modern { left: 55%; }
.portfolio-device--phone .heritage-shot__tear { left: 48%; width: 18%; }
.portfolio-device--phone .ridge-shot__bar { height: 17%; padding: 6%; }
.portfolio-device--phone .ridge-shot__bar img { width: 100%; }
.portfolio-device--phone .ridge-shot__copy { inset: 19% 7% 48%; justify-content: flex-start; padding-top: 10%; }
.portfolio-device--phone .ridge-shot__copy small { font-size: 4px; }
.portfolio-device--phone .ridge-shot__copy strong { margin-top: 6px; font-size: 13px; }
.portfolio-device--phone .ridge-shot__copy p { margin-top: 6px; font-size: 4px; }
.portfolio-device--phone .ridge-shot__ticket { inset: 55% 9% 6%; padding: 8%; }
.portfolio-device--phone .ridge-shot__ticket b { font-size: 4px; }
.portfolio-device--phone .ridge-shot__ticket strong { font-size: 9px; }
.portfolio-device--phone .ridge-shot__ticket span { font-size: 4px; }
.portfolio-device--laptop {
  width: 72%;
  top: 48%;
  left: 6%;
  transform: translateY(-50%);
}
.portfolio-device--laptop .preview-viewport {
  aspect-ratio: 16 / 9;
  border: 8px solid #20292d;
  border-bottom-width: 11px;
  border-radius: 11px 11px 4px 4px;
}
.portfolio-device--laptop::after {
  content: "";
  display: block;
  width: calc(100% + 46px);
  height: 26px;
  margin-left: -23px;
  background: linear-gradient(90deg, transparent 43%, #7e898d 44%, #7e898d 56%, transparent 57%) 50% 78% / 34% 4px no-repeat, linear-gradient(#daddde, #81898c);
  clip-path: polygon(5% 0, 95% 0, 100% 75%, 96% 100%, 4% 100%, 0 75%);
  border-radius: 0 0 8px 8px;
}
.portfolio-device--tablet {
  width: 70%;
  top: 50%;
  left: 6%;
  transform: translateY(-50%);
}
.portfolio-device--tablet .preview-viewport {
  aspect-ratio: 4 / 3;
  border: 12px solid #121b1a;
  border-radius: 18px;
}
.portfolio-device--tablet::before {
  content: "";
  position: absolute;
  z-index: 3;
  width: 5px;
  height: 5px;
  top: 6px;
  left: 50%;
  border-radius: 50%;
  background: #4b5553;
  transform: translateX(-50%);
}
.portfolio-device--monitor {
  width: 72%;
  top: 46%;
  left: 5%;
  transform: translateY(-50%);
}
.portfolio-device--monitor .preview-viewport {
  aspect-ratio: 16 / 9;
  border: 9px solid #283034;
  border-bottom-width: 14px;
  border-radius: 10px 10px 4px 4px;
}
.portfolio-device--monitor::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 56px;
  height: 61px;
  left: 50%;
  bottom: -58px;
  background: linear-gradient(90deg, #606a6e, #d7dadb 48%, #657074);
  clip-path: polygon(40% 0, 60% 0, 68% 73%, 90% 90%, 90% 100%, 10% 100%, 10% 90%, 32% 73%);
  transform: translateX(-50%);
}
.portfolio-device--monitor::after {
  content: "";
  position: absolute;
  z-index: -2;
  width: 108px;
  height: 9px;
  left: 50%;
  bottom: -62px;
  border-radius: 50%;
  background: linear-gradient(#d5d8d9, #707a7e);
  transform: translateX(-50%);
}
.portfolio-device--desktop {
  width: 72%;
  top: 50%;
  left: 5%;
  padding-top: 20px;
  border: 7px solid #17242b;
  border-radius: 11px;
  background: #17242b;
  transform: translateY(-50%);
}
.portfolio-device--desktop::before {
  content: "\2022\00a0\2022\00a0\2022";
  position: absolute;
  top: -4px;
  left: 8px;
  color: #c7b089;
  font-size: 13px;
  letter-spacing: 1px;
}
.portfolio-device--desktop .preview-viewport { aspect-ratio: 16 / 9; }
.portfolio-device--phone {
  width: 22%;
  top: 28%;
  right: 5%;
  z-index: 4;
}
.portfolio-device--phone .preview-viewport {
  aspect-ratio: 390 / 844;
  border: 7px solid #151c20;
  border-radius: 20px;
  background: #fff;
}
.portfolio-device--phone::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: 6px;
  left: 50%;
  width: 38%;
  height: 7px;
  border-radius: 0 0 7px 7px;
  background: #151c20;
  transform: translateX(-50%);
}
.portfolio-device--android::before {
  width: 22%;
  height: 3px;
  top: 7px;
  border-radius: 999px;
  background: #3c464a;
}
.portfolio-device-link {
  position: absolute;
  z-index: 7;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 18px;
  text-decoration: none;
}
.portfolio-device-link span {
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 999px;
  background: rgba(7, 24, 33, .86);
  color: #f6f1e8;
  font-family: var(--font-geist-mono), monospace;
  font-size: .6rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  transition: background .2s ease, transform .2s ease;
}
.portfolio-device-link:hover span,
.portfolio-device-link:focus-visible span {
  background: #78856b;
  transform: translateY(-2px);
}
.voice-extra {
  padding: 54px 0;
  border-top: 1px solid rgba(246, 241, 232, .14);
  border-bottom: 1px solid rgba(246, 241, 232, .14);
}
.voice-extra__inner {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  gap: clamp(28px, 5vw, 76px);
  align-items: center;
}
.voice-extra__label {
  display: grid;
  gap: 8px;
  padding-right: 26px;
  border-right: 1px solid rgba(246, 241, 232, .22);
  font-family: var(--font-geist-mono), monospace;
}
.voice-extra__label span {
  color: #a9b79b;
  font-size: .58rem;
  letter-spacing: .14em;
}
.voice-extra__label b {
  color: #f6f1e8;
  font-size: .86rem;
  letter-spacing: .08em;
}
.voice-extra__copy h2 {
  max-width: 760px;
  margin-bottom: 10px;
  color: #f6f1e8;
  font-size: clamp(1.65rem, 2.7vw, 2.8rem);
  line-height: 1.06;
  letter-spacing: -.035em;
}
.voice-extra__copy > p:not(.eyebrow) {
  max-width: 760px;
  color: rgba(246, 241, 232, .64);
  font-size: .9rem;
  line-height: 1.6;
}
@media (width <= 1050px) {
  .case-grid { grid-template-columns: 1fr; }
  .case-visual { min-height: 460px; }
  .voice-extra__inner { grid-template-columns: 150px 1fr; }
  .voice-extra__inner > a { grid-column: 2; justify-self: start; }
}
@media (width <= 720px) {
  .case-visual { min-height: 350px; padding: 20px; }
  .portfolio-device--laptop,
  .portfolio-device--tablet,
  .portfolio-device--monitor,
  .portfolio-device--desktop { width: 75%; left: 3%; }
  .portfolio-device--phone { width: 24%; right: 3%; top: 29%; }
  .voice-extra { padding: 64px 0; }
  .voice-extra__inner { grid-template-columns: 1fr; gap: 24px; }
  .voice-extra__label { width: fit-content; padding: 0 0 16px; border-right: 0; border-bottom: 1px solid rgba(246, 241, 232, .22); }
  .voice-extra__inner > a { grid-column: 1; }
}
@media (width <= 460px) {
  .case-visual { min-height: 300px; }
  .portfolio-device--phone { width: 25%; }
  .portfolio-device-link { padding: 12px; }
}

/* v40: fuller current Heritage website preview */
.heritage-shot__nav {
  margin-left: auto;
  color: rgba(255, 255, 255, .78);
  font-size: 5px;
  letter-spacing: .025em;
}
.heritage-shot .site-shot__bar b { margin-left: 5px; }
.heritage-shot__copy { inset: 17% 52% 33% 0; }
.heritage-shot__actions { display: flex; gap: 4px; margin-top: 6px; }
.heritage-shot__actions span { padding: 3px 5px; color: #080808; background: #d29a35; border: 1px solid #d29a35; font-size: 4px; font-weight: 900; }
.heritage-shot__actions span + span { color: #fff; background: transparent; }
.heritage-shot__old,
.heritage-shot__modern,
.heritage-shot__tear { bottom: 33%; }
.heritage-shot__trust {
  position: absolute;
  z-index: 9;
  inset: 67% 0 auto;
  height: 12%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  color: rgba(255,255,255,.72);
  background: #090909;
  border-block: 1px solid rgba(210,154,53,.24);
}
.heritage-shot__trust span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  padding: 3px 7px;
  border-right: 1px solid #252525;
  font-size: 4px;
  line-height: 1.2;
}
.heritage-shot__trust span:last-child { border-right: 0; }
.heritage-shot__trust b { color: #fff; font-size: 4.5px; }
.heritage-shot__services {
  position: absolute;
  z-index: 8;
  inset: 79% 0 0;
  display: grid;
  grid-template-columns: 1.15fr repeat(3, 1fr);
  gap: 5px;
  padding: 5px 7px;
  color: #101010;
  background: #f7f4ed;
}
.heritage-shot__services > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3px;
}
.heritage-shot__services small { color: #9a6a22; font-size: 4px; font-weight: 800; letter-spacing: .08em; }
.heritage-shot__services > div strong { margin-top: 2px; font-size: 7px; line-height: 1.05; }
.heritage-shot__services figure {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #0a0a0a;
  border: 1px solid rgba(210,154,53,.55);
}
.heritage-shot__services figure::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.88)); }
.heritage-shot__services figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) brightness(.8); }
.heritage-shot__services figure b { position: absolute; z-index: 2; inset: auto 0 3px; color: #fff; text-align: center; font-size: 5px; }
.portfolio-device--phone .heritage-shot__nav { display: none; }
.portfolio-device--phone .heritage-shot__copy { inset: 12% 0 63%; padding: 6% 8%; }
.portfolio-device--phone .heritage-shot__actions { margin-top: 4px; }
.portfolio-device--phone .heritage-shot__actions span { padding: 2px 3px; font-size: 2.5px; }
.portfolio-device--phone .heritage-shot__old,
.portfolio-device--phone .heritage-shot__modern,
.portfolio-device--phone .heritage-shot__tear { top: 37%; bottom: 37%; }
.portfolio-device--phone .heritage-shot__old { left: 0; }
.portfolio-device--phone .heritage-shot__modern { left: 55%; }
.portfolio-device--phone .heritage-shot__tear { left: 48%; width: 18%; }
.portfolio-device--phone .heritage-shot__trust {
  inset: 63% 0 auto;
  height: 9%;
  grid-template-columns: repeat(2, 1fr);
}
.portfolio-device--phone .heritage-shot__trust span { padding: 2px 3px; font-size: 0; }
.portfolio-device--phone .heritage-shot__trust b { font-size: 3px; text-align: center; }
.portfolio-device--phone .heritage-shot__services {
  inset: 72% 0 0;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 31% 1fr;
  gap: 2px;
  padding: 3px;
}
.portfolio-device--phone .heritage-shot__services > div { grid-column: 1 / -1; align-items: center; padding: 1px; }
.portfolio-device--phone .heritage-shot__services small { font-size: 2.5px; }
.portfolio-device--phone .heritage-shot__services > div strong { font-size: 4.5px; }
.portfolio-device--phone .heritage-shot__services figure b { bottom: 1px; font-size: 3px; }

/* Northstar device presentation */
.northstar-laptop-photo {
  --northstar-laptop-cutout: polygon(
    12.8% 3.8%,
    87.2% 3.8%,
    87.2% 75.1%,
    89.2% 75.7%,
    97.4% 91.8%,
    97.4% 94.7%,
    2.6% 94.7%,
    2.6% 91.8%,
    10.8% 75.7%,
    12.8% 75.1%
  );
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 1.5%;
  width: 83%;
  height: auto;
  border-radius: 3px;
  -webkit-clip-path: var(--northstar-laptop-cutout);
  clip-path: var(--northstar-laptop-cutout);
  filter: drop-shadow(0 22px 24px rgba(0, 0, 0, .32));
  transform: translateY(-50%);
}

.case-study--northstar .portfolio-device--phone {
  top: 23%;
  right: 4%;
}

.case-study--northstar .portfolio-device--phone .preview-viewport {
  background: #fbfaf7;
}

.northstar-mobile-shot {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: #073f45;
  background: #fbfaf7;
  font-family: Arial, Helvetica, sans-serif;
}

.northstar-mobile-shot small {
  display: block;
  font-size: 2.4px;
  font-weight: 800;
  letter-spacing: .09em;
  text-align: center;
}

.northstar-mobile-shot__top {
  position: relative;
  flex: 0 0 7%;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px 4px;
  background: #fff;
  border-bottom: 1px solid #ece7de;
}

.northstar-mobile-shot__top b {
  width: 8px;
  height: 8px;
  border-radius: 50% 50% 44% 56%;
  background: linear-gradient(135deg, #07515a 0 52%, #d8764e 53%);
}

.northstar-mobile-shot__top span {
  width: 27px;
  height: 5px;
  border-top: 2px solid #08484f;
  border-bottom: 1px solid #d8764e;
}

.northstar-mobile-shot__top i {
  width: 17px;
  height: 5px;
  margin-left: auto;
  border-radius: 999px;
  background: #080808;
}

.northstar-mobile-shot__hero {
  position: relative;
  flex: 0 0 19%;
  overflow: hidden;
  background: #fbfaf7 url('portfolio-northstar.webp') center top / 100% auto no-repeat;
}

.northstar-mobile-shot__hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 17%;
  background: linear-gradient(transparent, #fbfaf7);
  content: "";
}

.northstar-mobile-shot__hero strong,
.northstar-mobile-shot__hero span {
  display: none;
}

.northstar-mobile-shot__fit {
  flex: 0 0 15%;
  padding: 3px;
  background: #f7f4ed;
}

.northstar-mobile-shot__fit small {
  color: #c46240;
}

.northstar-mobile-shot__fit > b {
  display: block;
  width: 46%;
  height: 3px;
  margin: 2px auto;
  border-top: 1px solid #0b4c52;
  border-bottom: 1px solid #0b4c52;
}

.northstar-mobile-shot__fit > div,
.northstar-mobile-shot__services > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
}

.northstar-mobile-shot__fit i {
  height: 5px;
  background: #fff;
  border: 1px solid #e6e2da;
  border-radius: 1px;
  box-shadow: 0 1px 2px rgba(25, 48, 52, .08);
}

.northstar-mobile-shot__services {
  flex: 0 0 15%;
  padding: 3px;
  background: #fff;
}

.northstar-mobile-shot__services small {
  margin-bottom: 2px;
  color: #0b4c52;
}

.northstar-mobile-shot__services i {
  position: relative;
  height: 8px;
  background: linear-gradient(90deg, #d8764e 0 3px, #f4f0e8 3px);
  border: 1px solid #ece6dc;
}

.northstar-mobile-shot__approach {
  flex: 0 0 12%;
  padding: 3px;
  color: #fff;
  background: #0b4c52;
}

.northstar-mobile-shot__approach small {
  margin-bottom: 3px;
  color: #f4d4c4;
}

.northstar-mobile-shot__approach > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.northstar-mobile-shot__approach b {
  display: grid;
  place-items: center;
  width: 9px;
  height: 9px;
  color: #0b4c52;
  background: #fff;
  border-radius: 50%;
  font-size: 3px;
}

.northstar-mobile-shot__why {
  flex: 0 0 8%;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  grid-template-rows: 1fr 1fr;
  gap: 2px;
  padding: 3px;
  background: #e8ded0;
}

.northstar-mobile-shot__why strong {
  grid-row: 1 / 3;
  align-self: center;
  font-family: Georgia, serif;
  font-size: 4.5px;
  line-height: 1;
}

.northstar-mobile-shot__why span {
  border-top: 1px solid rgba(8, 72, 79, .45);
}

.northstar-mobile-shot__outcomes {
  flex: 0 0 8%;
  padding: 3px;
  background: #fbfaf7;
}

.northstar-mobile-shot__outcomes small {
  margin-bottom: 2px;
  color: #c46240;
}

.northstar-mobile-shot__outcomes > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}

.northstar-mobile-shot__outcomes i {
  height: 6px;
  border: 1px solid #d9d6ce;
  border-top: 2px solid #0b4c52;
}

.northstar-mobile-shot__about {
  flex: 0 0 7%;
  display: grid;
  grid-template-columns: 22% 1fr 32%;
  align-items: center;
  gap: 3px;
  padding: 3px;
  color: #fff;
  background: #163f45;
}

.northstar-mobile-shot__about b {
  height: 100%;
  background: linear-gradient(145deg, #d8c5b5, #8f6f62);
}

.northstar-mobile-shot__about span {
  font-size: 3px;
  font-weight: 800;
}

.northstar-mobile-shot__about i {
  height: 2px;
  background: rgba(255, 255, 255, .5);
}

.northstar-mobile-shot__reviews {
  flex: 0 0 7%;
  padding: 3px;
  background: #fff;
}

.northstar-mobile-shot__reviews small {
  margin-bottom: 2px;
}

.northstar-mobile-shot__reviews > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
}

.northstar-mobile-shot__reviews i {
  height: 6px;
  background: #f4f1eb;
  border-left: 2px solid #d8764e;
}

.northstar-mobile-shot__footer {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 2px 4px;
  background: #082f35;
}

.northstar-mobile-shot__footer b {
  width: 9px;
  height: 5px;
  background: #fff;
}

.northstar-mobile-shot__footer span {
  width: 34px;
  height: 2px;
  background: #d8764e;
}

@media (width <= 720px) {
  .northstar-laptop-photo {
    left: 0;
    width: 84%;
  }

  .case-study--northstar .portfolio-device--phone {
    top: 24%;
    right: 2%;
  }
}

@media (width <= 460px) {
  .northstar-laptop-photo {
    width: 85%;
  }
}

/* v45: use the real Northstar preview without cropping it inside the phone. */
.case-study--northstar .portfolio-device--phone {
  top: 21%;
  right: 3.5%;
  width: 23%;
}

.case-study--northstar .portfolio-device--phone .preview-viewport {
  aspect-ratio: 941 / 1672;
  background: #fbfaf7;
}

.case-study--northstar .portfolio-device--phone .preview-viewport > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center top;
  background: #fbfaf7;
}

@media (width <= 720px) {
  .case-study--northstar .portfolio-device--phone {
    top: 22%;
    right: 2%;
    width: 24%;
  }
}

/* v47: genuine client reviews */
.client-voices {
  background:
    linear-gradient(90deg, rgba(120, 145, 160, .055) 1px, transparent 1px) 0 0 / 64px 64px,
    linear-gradient(rgba(120, 145, 160, .045) 1px, transparent 1px) 0 0 / 64px 64px,
    var(--paper);
  border-bottom: 1px solid var(--line);
}
.client-voices .section-heading { align-items: start; }
.client-voice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}
.client-voice-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(34px, 4vw, 54px);
  background: rgba(252, 250, 246, .94);
  border: 1px solid rgba(11, 42, 59, .2);
  border-top: 4px solid var(--sage);
  box-shadow: 18px 18px 0 rgba(120, 145, 160, .09);
}
.client-voice-card::before {
  content: "\201C";
  display: block;
  height: 48px;
  margin-bottom: 18px;
  color: var(--sage);
  font-family: Georgia, serif;
  font-size: 5.2rem;
  line-height: .82;
}
.client-voice-card blockquote {
  display: grid;
  flex: 1;
  gap: 18px;
  margin: 0;
}
.client-voice-card blockquote p {
  margin: 0;
  color: #354e5a;
  font-size: .95rem;
  line-height: 1.72;
}
.client-voice-card figcaption {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid rgba(11, 42, 59, .18);
}
.client-voice-meta { display: grid; gap: 5px; }
.client-voice-meta strong {
  color: var(--navy);
  font-size: 1rem;
}
.client-voice-meta span {
  color: var(--muted);
  font-family: var(--font-geist-mono), monospace;
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.client-voice-link {
  flex: 0 0 auto;
  color: var(--navy);
  font-size: .76rem;
  font-weight: 760;
  text-underline-offset: 4px;
}
.client-voice-link:hover,
.client-voice-link:focus-visible { text-decoration: underline; }

@media (width <= 980px) {
  .client-voice-grid { grid-template-columns: 1fr; }
}
@media (width <= 760px) {
  .client-voice-card {
    padding: 32px 24px;
    box-shadow: 10px 10px 0 rgba(120, 145, 160, .09);
  }
  .client-voice-card blockquote p { font-size: .91rem; }
  .client-voice-card figcaption {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
}
