@font-face{font-family:"Hanken Grotesk";src:url("../fonts/HankenGrotesk-Variable.ttf") format("truetype");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Spectral";src:url("../fonts/Spectral-Light.ttf") format("truetype");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Spectral";src:url("../fonts/Spectral-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Spectral";src:url("../fonts/Spectral-Medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Spectral";src:url("../fonts/Spectral-SemiBold.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Spectral";src:url("../fonts/Spectral-Italic.ttf") format("truetype");font-style:italic;font-weight:400;font-display:swap}

/* ============================================================
   Fractionl Studio — Vite/React styles
   ============================================================ */

:root {
  --bg: #FBFAF6;
  --paper: #FFFFFF;
  --beige: #F0EBE0;
  --beige-deep: #E6DECF;
  --ink: #1B1A16;
  --ink-soft: #595549;
  --ink-faint: #908A7C;
  --accent: #2337FE;
  --accent-deep: #1726C9;
  --accent-tint: #ECEEFF;
  --line: rgba(27, 26, 22, 0.12);
  --line-soft: rgba(27, 26, 22, 0.07);
  --serif: "Spectral", Georgia, "Times New Roman", serif;
  --sans: "Hanken Grotesk", system-ui, -apple-system, sans-serif;
  --container: 1180px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --section-y: clamp(4.5rem, 11vh, 8.5rem);
  --radius: 4px;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

.admin-bar .site-header{top:32px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.site-main{min-height:60vh}
.wp-block-post-content>*{margin-block-start:0}
.nav-desktop .menu,.nav-mobile .menu{display:contents;list-style:none}
.nav-desktop .current-menu-item>a,.nav-desktop .current_page_item>a{color:var(--accent)}
.tally-button{appearance:none}
.block-editor-block-list__layout .reveal{opacity:1;transform:none}
.content-entry{padding-top:8rem}
.content-entry__body{max-width:760px;margin-inline:auto;padding-block:var(--section-y)}
.content-entry__body>:where(p,ul,ol,blockquote){margin-top:1.25rem}
.media-text{padding-block:var(--section-y)}
.media-text__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,6rem);align-items:center}
.media-text--left .media-text__media{order:-1}
.media-text__media img{width:100%;height:auto}
.checklist-block{padding-block:var(--section-y);background:var(--paper)}
.checklist-block__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem)}
.listing-empty{padding:2rem;border:1px solid var(--line);color:var(--ink-soft)}
.pagination{display:flex;gap:.75rem;justify-content:center;padding-block:3rem}
.pagination .page-numbers{padding:.55rem .85rem;border:1px solid var(--line)}
.pagination .current{background:var(--ink);color:var(--bg)}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:860px){.media-text__grid,.checklist-block__grid{grid-template-columns:1fr}.media-text--left .media-text__media{order:0}}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.eyebrow {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-faint);
}

.italic { font-style: italic; }
.amp, .brand-amp { font-style: italic; color: var(--accent); font-weight: 500; }

.section-head { margin-bottom: clamp(2.5rem, 5vw, 4rem); max-width: 22ch; }
.section-head .eyebrow { margin-bottom: 1.1rem; }
.section-head--wide { max-width: 46ch; }
.section-head--2line { max-width: none; }

.section-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(2rem, 4.2vw, 3.1rem);
  line-height: 1.08;
  letter-spacing: 0;
  text-wrap: balance;
}

.section-intro {
  margin-top: 1.4rem;
  font-size: 1.12rem;
  line-height: 1.55;
  color: var(--ink-soft);
  max-width: 56ch;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--sans);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 0.95rem 1.7rem;
  border-radius: var(--radius);
  border: 1px solid transparent;
  white-space: nowrap;
  cursor: pointer;
  transition: background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);
}
.btn-lg { padding: 1.1rem 2.2rem; font-size: 1rem; }
.btn-primary { background: var(--ink); color: var(--bg); }
.btn-primary:hover { background: var(--accent); transform: translateY(-2px); }
.btn-ghost { background: transparent; color: var(--ink); border-color: var(--line); }
.btn-ghost:hover { border-color: var(--ink); background: var(--ink); color: var(--bg); transform: translateY(-2px); }

.text-link,
.card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  width: fit-content;
  color: var(--accent);
  font-size: 0.95rem;
  font-weight: 600;
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
  padding-bottom: 2px;
  transition: color .3s var(--ease), border-color .3s var(--ease);
}
.text-link:hover,
.card-link:hover {
  color: var(--accent-deep);
  border-color: var(--accent-deep);
}
.section-action { margin-top: clamp(1.8rem, 4vw, 2.6rem); }

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  transition: background .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s var(--ease);
  border-bottom: 1px solid transparent;
}
.site-header.scrolled {
  background: color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  border-bottom-color: var(--line-soft);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 78px;
}

.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand-logo { width: 105px; height: auto; }

.nav-desktop { display: flex; align-items: center; gap: clamp(1.2rem, 2.4vw, 2.4rem); }
.nav-desktop > a {
  font-size: 0.92rem;
  font-weight: 500;
  white-space: nowrap;
  color: var(--ink-soft);
  position: relative;
  transition: color .3s var(--ease);
}
.nav-desktop > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 0;
  height: 1px;
  background: var(--ink);
  transition: width .35s var(--ease);
}
.nav-desktop > a:hover,
.nav-desktop > a.active { color: var(--ink); }
.nav-desktop > a:hover::after,
.nav-desktop > a.active::after { width: 100%; }

.nav-cta {
  padding: 0.6rem 1.15rem;
  white-space: nowrap;
  font-family: var(--sans);
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  cursor: pointer;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink) !important;
  transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.nav-cta:hover { background: var(--ink); color: var(--bg) !important; border-color: var(--ink); }

.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 6px;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
}
.nav-toggle span {
  width: 22px;
  height: 1.5px;
  background: var(--ink);
  transition: transform .35s var(--ease), opacity .35s var(--ease);
}
.nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.75px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }

.nav-mobile {
  display: none;
  flex-direction: column;
  padding: 0.5rem var(--gutter) 1.75rem;
  background: var(--bg);
  border-bottom: 1px solid var(--line-soft);
}
.nav-mobile a {
  padding: 0.9rem 0;
  font-size: 1.05rem;
  border-bottom: 1px solid var(--line-soft);
  color: var(--ink);
}
.nav-mobile .nav-cta {
  border: none;
  padding: 1rem 0 0;
  color: var(--accent) !important;
  font-weight: 600;
  font-size: 1.05rem;
  text-align: left;
  background: transparent;
}

.tally-floating-button {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 90;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.82rem 1rem 0.82rem 0.82rem;
  border: 1px solid rgba(251,250,246,0.18);
  border-radius: 999px;
  background: var(--ink);
  color: var(--bg);
  box-shadow: 0 14px 34px rgba(27, 26, 22, 0.22);
  cursor: pointer;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1;
  transition: background .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
}
.tally-floating-button:hover {
  background: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(35, 55, 254, 0.22);
}
.tally-floating-button__icon {
  display: flex;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  padding-top: 0.1rem;
  background: var(--bg);
  color: var(--ink);
  font-size: 1.15rem;
  line-height: 1;
}

.hero {
  padding-top: clamp(8rem, 20vh, 12rem);
  padding-bottom: var(--section-y);
}
.hero-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(3rem, 9vw, 7rem);
  line-height: 0.98;
  letter-spacing: 0;
  margin-top: 1.4rem;
  text-wrap: balance;
}
.hero-sub {
  font-size: clamp(1.15rem, 1.9vw, 1.5rem);
  line-height: 1.5;
  color: var(--ink-soft);
  max-width: 960px;
  margin-top: 1.8rem;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 2.6rem; }
.hero-meta { margin-top: clamp(3.5rem, 8vw, 6rem); }
.meta-rule { height: 1px; background: var(--line); margin-bottom: 1.4rem; }
.hero-disciplines {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 2.4rem;
}
.hero-disciplines li {
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-faint);
  position: relative;
}
.hero-disciplines li:not(:last-child)::after {
  content: "·";
  position: absolute;
  right: -1.35rem;
  color: var(--line);
}

.page-hero {
  padding-top: clamp(8rem, 18vh, 11rem);
  padding-bottom: clamp(2.5rem, 7vw, 5rem);
}
.page-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(3rem, 7vw, 5.7rem);
  line-height: 1;
  letter-spacing: 0;
  margin-top: 1.2rem;
  max-width: 11ch;
  text-wrap: balance;
}
.page-title--services { max-width: 13ch; }
.page-hero-sub {
  font-size: clamp(1.15rem, 1.9vw, 1.5rem);
  line-height: 1.5;
  color: var(--ink-soft);
  max-width: 960px;
  margin-top: 1.8rem;
}
.page-section { padding-top: 0; }
.page-intro { margin-top: 0; }

.about {
  padding-block: var(--section-y);
  background-color: var(--beige);
}
.about-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 2fr);
  gap: clamp(1.5rem, 5vw, 5rem);
}
.about .eyebrow { padding-top: 0.6rem; }
.about-lead {
  font-family: var(--serif);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.28;
  letter-spacing: 0;
  text-wrap: pretty;
}
.about-text {
  margin-top: 1.6rem;
  font-size: 1.1rem;
  color: var(--ink-soft);
  max-width: 52ch;
}
.about-body .text-link { margin-top: 1.7rem; }

.services {
  --service-card-bg: var(--bg);
  padding-block: var(--section-y);
}
.services-intro { padding-bottom: var(--section-y); }
.services-page-section { padding-block: var(--section-y); }
.services-page-section--tint {
  --service-card-bg: var(--beige);
  background: var(--beige);
}
.services-page-section--white {
  --service-card-bg: var(--paper);
  background: var(--paper);
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1px;
  background: var(--line-soft);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  overflow: hidden;
}
.service-card {
  background: var(--service-card-bg);
  padding: clamp(2rem, 4vw, 3.25rem);
  grid-column: span 2;
}
.service-card:nth-child(n+4) { grid-column: span 3; }
.services-grid--preview .service-card { grid-column: span 3; }
.services-page-section--white .service-card,
.services-page-section--white .work-card { background: var(--paper); }
.services-grid--three .service-card { grid-column: span 2; }
.service-index {
  font-family: var(--serif);
  font-size: 0.95rem;
  color: var(--accent);
  letter-spacing: 0.05em;
}
.service-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  margin-top: 1.5rem;
  letter-spacing: 0;
}
.service-desc {
  margin-top: 0.85rem;
  color: var(--ink-soft);
  font-size: 1.02rem;
  max-width: 38ch;
}
.service-card .card-link { margin-top: 1.4rem; }
.service-price {
  margin-top: 1rem;
  font-weight: 600;
  color: var(--ink);
}
.service-label {
  margin-top: 1.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.service-title--sub { margin-top: 0; }
.product-support-card {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);
  gap: clamp(2rem, 5vw, 4rem);
  border: 1px solid var(--line-soft);
}
.product-support-main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.product-support-main .btn { margin-top: 2rem; }
.product-support-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}
.product-support-lists .service-label { margin-top: 0; }
.compact-list {
  list-style: none;
  padding: 0;
  margin-top: 1rem;
  display: grid;
  gap: 0.55rem;
}
.compact-list li {
  color: var(--ink-soft);
  font-size: 1rem;
  line-height: 1.45;
}
.compact-list li::before {
  content: "";
  display: inline-block;
  width: 0.38rem;
  height: 0.38rem;
  margin-right: 0.65rem;
  border-radius: 50%;
  background: var(--accent);
  transform: translateY(-0.08rem);
}
.work-grid.guidance-grid { grid-template-columns: repeat(4, 1fr); }
.guidance-card .service-label { margin-top: 1.35rem; }
.tag-grid {
  list-style: none;
  padding: 0;
  margin-top: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.tag-grid li {
  color: var(--ink-soft);
  padding: 0.52rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: 100px;
  background: color-mix(in srgb, var(--paper) 55%, transparent);
  font-size: 0.92rem;
  line-height: 1.25;
}
.custom-quote-btn { margin-top: 2rem; }
.capabilities-grid .service-card {
  grid-column: span 3;
}
.contact-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 2.6rem;
}
.contact .btn-ghost {
  color: var(--bg);
  border-color: rgba(251,250,246,0.28);
}
.contact .btn-ghost:hover {
  background: var(--bg);
  color: var(--ink);
  border-color: var(--bg);
}

.contact-page-hero {
  padding-top: clamp(7rem, 15vh, 9.5rem);
  padding-bottom: clamp(4rem, 9vw, 7rem);
}
.contact-page-hero__inner { max-width: 980px; }
.contact-page-title {
  max-width: 16ch;
  font-size: clamp(2.8rem, 6.4vw, 5.2rem);
}
.contact-page-sub { max-width: 820px; }
.contact-page-section { padding-block: var(--section-y); }
.contact-page-section--tint {
  --service-card-bg: var(--beige);
  background: var(--beige);
}
.contact-page-section--white { background: var(--paper); }
.contact-options-grid .contact-option-card { grid-column: span 3; }
.contact-card-cta {
  margin-top: 1.4rem;
  border-top: none;
  border-right: none;
  border-left: none;
  background: transparent;
  cursor: pointer;
  font-family: var(--sans);
}
.contact-info-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.contact-info-grid .eyebrow { margin-bottom: 1.1rem; }
.contact-checklist {
  margin-top: 0.35rem;
  padding: clamp(1.75rem, 4vw, 2.6rem);
  border: 1px solid var(--line-soft);
  background: var(--bg);
}
.contact-direct {
  padding: clamp(1.75rem, 4vw, 2.6rem);
  border: 1px solid var(--line-soft);
  background: var(--bg);
}
.contact-direct .footer-label:not(:first-child) { margin-top: 1.75rem; }
.contact-direct__link {
  display: inline-block;
  color: var(--accent);
  font-weight: 600;
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
  padding-bottom: 2px;
  transition: color .3s var(--ease), border-color .3s var(--ease);
}
.contact-direct__link:hover {
  color: var(--accent-deep);
  border-color: var(--accent-deep);
}

.process {
  padding-block: var(--section-y);
  background: var(--beige);
}
.process.services-page-section--white { background: var(--paper); }
.process-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border-block: 1px solid var(--line);
}
.process-step {
  background: var(--beige);
  padding: clamp(2rem, 3.5vw, 3rem) clamp(1.5rem, 3vw, 2.5rem);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.process-num {
  font-family: var(--serif);
  font-size: clamp(2.25rem, 4vw, 3rem);
  line-height: 1;
  color: var(--accent);
  font-weight: 300;
}
.process-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(1.4rem, 2.6vw, 1.85rem);
  letter-spacing: 0;
}
.process-desc { color: var(--ink-soft); font-size: 1.02rem; max-width: 34ch; }

.work-preview {
  padding-block: var(--section-y);
  background: var(--bg);
}
.work-collection {
  padding-block: var(--section-y);
  background: var(--bg);
}
.work-collection--alternate { background: var(--paper); }
.work-collection--alternate .work-card { background: var(--bg); }
.work-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line-soft);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  overflow: hidden;
}
.work-grid--two { grid-template-columns: repeat(2, 1fr); }
.work-card {
  min-height: 100%;
  background: var(--beige);
  padding: clamp(1.8rem, 3.5vw, 2.6rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.work-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.15;
  letter-spacing: 0;
}
.work-type {
  margin-top: 0.85rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
}
.work-desc {
  color: var(--ink-soft);
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.55;
}
.work-card .card-link { margin-top: auto; padding-top: 1.6rem; }

.work-cta {
  padding-block: clamp(4.5rem, 10vh, 7rem);
  background: var(--paper);
}
.work-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1.5rem, 5vw, 4rem);
}
.work-cta-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.08;
  letter-spacing: 0;
  max-width: 16ch;
  text-wrap: balance;
}

/* Single work — reusable editorial case study */
.case-study { background:var(--paper); }
.case-hero { padding-top:clamp(9rem,16vw,13rem);padding-bottom:clamp(4rem,8vw,7rem); }
.case-hero>.eyebrow { color:var(--accent); }
.case-hero__title { margin-top:1.25rem;max-width:12ch;font-family:var(--serif);font-size:clamp(3.7rem,10vw,8.5rem);font-weight:400;line-height:.86;letter-spacing:-.045em; }
.case-hero__intro { margin-top:clamp(2rem,4vw,3.5rem);max-width:24ch;font-size:clamp(1.7rem,3.4vw,3rem);line-height:1.08;letter-spacing:-.035em;text-wrap:balance; }
.case-hero__summary { margin-top:1.5rem;max-width:58ch;color:var(--ink-soft);font-size:1.1rem; }
.case-details { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem;margin-top:clamp(3rem,6vw,5rem);padding-top:1.5rem;border-top:1px solid var(--line); }
.case-details dt { color:var(--ink-faint);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase; }
.case-details dd { margin-top:.45rem;font-size:.88rem;line-height:1.4; }
.case-details a { color:var(--accent); }
.case-section { padding:clamp(5rem,10vw,9rem) var(--gutter); }
.case-section:nth-of-type(odd) { background:var(--bg); }
.case-copy { width:100%;max-width:760px;margin-inline:auto; }
.case-copy>.eyebrow { margin-bottom:1.25rem;color:var(--accent); }
.case-copy>h2,.case-gallery__heading h2 { max-width:20ch;font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:1;letter-spacing:-.025em;text-wrap:balance; }
.case-prose { margin-top:clamp(2rem,4vw,3.5rem);color:var(--ink-soft);font-size:clamp(1.05rem,1.6vw,1.18rem);line-height:1.75; }
.case-prose>p+p { margin-top:1.35rem; }
.case-prose ul { margin-top:2rem;padding:0;list-style:none;border-top:1px solid var(--line); }
.case-prose ul li { position:relative;padding:1rem 1rem 1rem 1.8rem;border-bottom:1px solid var(--line);color:var(--ink); }
.case-prose ul li::before { content:"↗";position:absolute;left:0;color:var(--accent); }
.case-prose blockquote { margin-top:2rem;padding:1.5rem 0 0;border-top:1px solid var(--line);color:var(--ink);font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.25; }
.case-prose blockquote cite { display:block;margin-top:1rem;color:var(--ink-faint);font-family:var(--sans);font-size:.75rem;font-style:normal;letter-spacing:.12em;text-transform:uppercase; }
.case-numbered { list-style:none;padding:0;border-top:1px solid var(--line); }
.case-numbered li { display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line);color:var(--ink); }
.case-numbered span { color:var(--accent);font-size:.7rem;letter-spacing:.12em; }
.case-phases { border-top:1px solid var(--line); }
.case-phases section { padding:1.5rem 0;border-bottom:1px solid var(--line); }
.case-phases h3 { color:var(--ink);font-size:1.2rem;font-weight:600; }
.case-phases p { margin-top:.5rem; }
.case-media { width:min(100% - 2 * var(--gutter),1000px);margin:clamp(1rem,4vw,3rem) auto clamp(4rem,8vw,7rem); }
.case-media--wide { width:min(100% - 2 * clamp(1rem,3vw,2rem),1400px); }
.case-art { position:relative;min-height:clamp(420px,62vw,820px);overflow:hidden;background:#e9ebff;padding:clamp(2rem,7vw,7rem); }
.case-art--image { display:flex;align-items:center;justify-content:center;min-height:0;padding:clamp(1rem,3vw,2.5rem);background:#f0f0f0; }
.case-art--image img { width:100%;height:auto;max-height:84vh;object-fit:contain; }
.case-art--image.case-art--0 { padding:0;background:#171717; }
.case-art--image.case-art--0 img { max-height:none; }
.project-visual--message-blast { overflow:hidden;background:#5428dc; }
.project-visual--message-blast img { width:100%;height:100%;object-fit:cover; }
.project-visual--pensioner-profile { overflow:hidden;background:#1e0f4f; }
.project-visual--pensioner-profile img { width:100%;height:100%;object-fit:cover; }
.project-visual--navigation-restructure { overflow:hidden;background:#1d0b50; }
.project-visual--navigation-restructure img { width:100%;height:100%;object-fit:cover; }
.project-visual--innquest { overflow:hidden;background:#12328b; }
.project-visual--innquest img { width:100%;height:100%;object-fit:cover; }
.project-visual--trifold-brochure { overflow:hidden;background:#1f104f; }
.project-visual--trifold-brochure img { width:100%;height:100%;object-fit:cover; }
.case-art__window { height:100%;min-height:clamp(340px,48vw,650px);overflow:hidden;background:#fff;box-shadow:0 30px 70px rgba(27,32,91,.18);transform:translateY(2%); }
.case-art__ui { min-height:inherit;padding:clamp(2rem,7vw,6rem);background:#fff; }
.case-art__ui small { color:var(--accent);font-weight:750;letter-spacing:.14em;text-transform:uppercase; }
.case-art__ui strong { display:block;max-width:15ch;margin-top:clamp(2rem,6vw,5rem);font-family:var(--serif);font-size:clamp(2rem,5vw,5.6rem);font-weight:400;line-height:.93;letter-spacing:-.035em; }
.case-art__lines { display:flex;gap:1rem;margin-top:clamp(2.5rem,7vw,6rem); }
.case-art__lines i { width:24%;height:clamp(45px,8vw,105px);background:#edf0f5; }
.case-art__ui b { display:inline-block;margin-top:2rem;color:var(--accent);font-size:.8rem; }
.case-art--restaurant-website-redesign { background:#e6d3b7; }.case-art--restaurant-website-redesign .case-art__ui{background:#191713;color:white}.case-art--restaurant-website-redesign .case-art__lines i{background:#d9682e}.case-art--restaurant-website-redesign .mock-browser-bar{background:#f7f1e8;color:#29231e}
.case-art--innquest-canada { background:#bed1de; }.case-art--innquest-canada .case-art__ui{background:#f6fafc;color:#143b51}.case-art--innquest-canada .case-art__lines i{background:#82abc2}
.case-art--message-blast { background:#20296d; }.case-art--message-blast .case-art__ui{background:#f7f8ff;color:#171c43}.case-art--message-blast .case-art__lines i{border-radius:8px;background:#dfe3ff}
.case-art--1 .case-art__window { transform:translate(5%,3%) rotate(1deg); }.case-art--2 .case-art__window{transform:translate(-4%,2%) rotate(-1deg)}.case-art--3 .case-art__window{transform:translate(8%,4%)}.case-art--4 .case-art__window{transform:translate(-8%,4%)}
.case-caption { display:flex;gap:1rem;padding-top:1rem;color:var(--ink-soft);font-size:.82rem;border-top:1px solid var(--line); }
.case-caption span { color:var(--accent);font-size:.68rem;letter-spacing:.12em; }.case-caption strong{color:var(--ink)}
.case-gallery { padding-block:clamp(5rem,10vw,9rem); }
.case-gallery__heading { max-width:760px;margin:0 auto clamp(2.5rem,6vw,5rem); }.case-gallery__heading>.eyebrow{margin-bottom:1.25rem;color:var(--accent)}.case-gallery__heading>p:last-child{margin-top:1.25rem;max-width:55ch;color:var(--ink-soft)}
.case-gallery__pair { display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,2rem); }.case-gallery__pair .case-art{min-height:clamp(420px,48vw,650px);padding:clamp(1rem,3vw,3rem)}.case-gallery__pair .case-art__window{min-height:clamp(370px,42vw,560px)}
.case-gallery__pair .case-art--image { min-height:0;padding:clamp(.75rem,2vw,1.5rem); }
.case-image-showcase { padding-bottom:clamp(5rem,10vw,9rem); }
.case-image-showcase__grid { display:grid;gap:clamp(1.5rem,4vw,4rem); }
.case-image-showcase .case-art--image { padding:0;background:#d7d6d2; }
.case-image-showcase .case-art--image img { width:100%;max-height:none;object-fit:contain; }
.case-services { padding:clamp(4rem,8vw,7rem) var(--gutter);background:var(--accent-tint); }
.case-services__links { border-top:1px solid rgba(40,56,247,.2); }.case-services__links a{display:flex;justify-content:space-between;padding:1.2rem 0;border-bottom:1px solid rgba(40,56,247,.2);font-size:clamp(1.2rem,2vw,1.6rem)}.case-services__links span{color:var(--accent)}
.case-related { padding-block:clamp(5rem,10vw,9rem); }.case-related__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.5rem,3vw,3rem)}.case-related__grid .project-visual{height:clamp(240px,32vw,390px)}.case-related__grid span{display:block;margin-top:1rem;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.case-related__grid h3{margin-top:.4rem;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:400}
.case-cta { padding:clamp(6rem,12vw,10rem) var(--gutter);background:#11152e;color:white; }.case-cta .eyebrow{color:#aeb5ff}.case-cta h2{max-width:12ch}.case-cta .case-copy>p:not(.eyebrow){max-width:52ch;margin-top:1.5rem;color:#cdd0dd}.case-cta .case-copy>div{display:flex;gap:.75rem;margin-top:2rem}.case-cta .btn-primary{background:var(--accent);color:white}.case-cta .btn-ghost{border-color:rgba(255,255,255,.3);color:white}

@media (max-width:760px){.case-details{grid-template-columns:1fr 1fr}.case-gallery__pair,.case-related__grid{grid-template-columns:1fr}.case-gallery__pair .case-art{min-height:420px}.case-gallery__pair .case-art__window{min-height:360px}.case-art{padding:1rem}.case-art__lines i{width:31%}}
@media (max-width:480px){.case-details{grid-template-columns:1fr}.case-hero__title{font-size:3.5rem}.case-art{min-height:350px}.case-art__window{min-height:320px}.case-art__ui{padding:1.5rem}.case-art__lines{gap:.5rem}.case-cta .case-copy>div{align-items:stretch;flex-direction:column}}

.team { padding-block: var(--section-y); }
.team--page {
  padding-top: var(--section-y);
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
}
.team-grid--preview {
  gap: 1px;
  background: var(--line-soft);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  overflow: hidden;
}
.team-card {
  display: grid;
  grid-template-columns: minmax(150px, 190px) 1fr;
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: start;
}
.team-grid--preview .team-card {
  display: block;
  background: var(--paper);
  padding: clamp(1.8rem, 3.5vw, 2.6rem);
}
.team-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 50%;
  background: var(--beige);
  border: 1px solid var(--line-soft);
}
.team-name {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  letter-spacing: 0;
}
.team-role { color: var(--accent); font-weight: 600; font-size: 0.95rem; margin-top: 0.25rem; }
.team-bio { color: var(--ink-soft); margin-top: 1.1rem; font-size: 1rem; line-height: 1.55; }
.team-tags {
  list-style: none;
  padding: 0;
  margin-top: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.team-tags li {
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
  color: var(--ink-soft);
  padding: 0.34rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: 100px;
  background: var(--paper);
}
.team-actions {
  margin-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.team-link {
  font-size: 0.95rem;
  color: var(--ink);
  width: fit-content;
  white-space: nowrap;
  border-bottom: 1px solid var(--line);
  padding-bottom: 2px;
  transition: color .3s var(--ease), border-color .3s var(--ease);
}
.team-link:hover { color: var(--accent); border-color: var(--accent); }
.team-link--primary { color: var(--accent); font-weight: 600; border-bottom-color: var(--accent); }
.team-link--primary:hover { color: var(--accent-deep); }
.link-arrow { display: inline-block; margin-left: 0.35rem; transition: transform .3s var(--ease); }
.team-link--primary:hover .link-arrow { transform: translate(2px, -2px); }

.contact {
  padding-block: clamp(5rem, 13vh, 9rem);
  background: var(--ink);
  color: var(--bg);
}
.contact--page { min-height: 68vh; display: grid; align-items: center; padding-top: clamp(8rem, 17vh, 11rem); }
.contact-inner { max-width: 760px; margin-inline: auto; text-align: center; }
.contact .eyebrow { color: rgba(251,250,246,0.55); }
.contact-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(2.1rem, 5vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: 0;
  margin-top: 1.2rem;
  text-wrap: balance;
}
.contact-text {
  color: rgba(251,250,246,0.72);
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  margin: 1.5rem auto 0;
  max-width: 52ch;
}
.contact-email {
  display: inline-block;
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(1.3rem, 3vw, 2rem);
  color: #fff;
  margin: 2.4rem 0;
  border-bottom: 1px solid rgba(251,250,246,0.3);
  padding-bottom: 4px;
  transition: border-color .35s var(--ease), color .35s var(--ease);
}
.contact-email:hover { border-color: #fff; }
.contact .btn-primary { background: var(--bg); color: var(--ink); }
.contact .btn-primary:hover { background: var(--accent); color: #fff; }

.site-footer { padding-block: clamp(3.5rem, 7vw, 5.5rem) 2.5rem; }
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  padding-bottom: 3rem;
  border-bottom: 1px solid var(--line-soft);
}
.brand--footer .brand-logo { width: 105px; }
.footer-loc { color: var(--ink-soft); margin-top: 1.1rem; font-size: 0.98rem; }
.footer-mail {
  display: inline-block;
  margin-top: 0.4rem;
  border-bottom: 1px solid var(--line);
  padding-bottom: 2px;
  transition: color .3s var(--ease), border-color .3s var(--ease);
}
.footer-mail:hover { color: var(--accent); border-color: var(--accent); }
.footer-col { display: flex; flex-direction: column; gap: 0.5rem; }
.footer-label {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 0.4rem;
}
.footer-col a { font-size: 0.95rem; color: var(--ink-soft); width: fit-content; transition: color .3s var(--ease); }
.footer-col a:hover { color: var(--accent); }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 1.75rem;
  font-size: 0.82rem;
  color: var(--ink-faint);
}

@media (prefers-reduced-motion: no-preference) {
  .reveal-ready .reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .8s var(--ease), transform .8s var(--ease);
  }
  .reveal-ready .reveal.visible { opacity: 1; transform: none; }
}

@media (max-width: 860px) {
  .nav-desktop { display: none; }
  .nav-toggle { display: flex; }
  .nav-mobile.open { display: flex; }
  .about-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .services-grid { grid-template-columns: 1fr; }
  .service-card,
  .service-card:nth-child(n+4),
  .services-grid--three .service-card,
  .capabilities-grid .service-card { grid-column: auto; }
  .product-support-card,
  .product-support-lists,
  .contact-info-grid,
  .guidance-grid { grid-template-columns: 1fr; }
  .process-list { grid-template-columns: 1fr; }
  .work-grid,
  .work-grid--two { grid-template-columns: 1fr; }
  .contact-options-grid .contact-option-card { grid-column: auto; }
  .work-cta-inner { align-items: flex-start; flex-direction: column; }
  .team-grid { grid-template-columns: 1fr; gap: 2.75rem; }
  .team-grid--preview { gap: 1px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 540px) {
  body { font-size: 16px; }
  .header-inner { height: 66px; }
  .brand-logo { width: 85px; }
  .hero-actions .btn { flex: 1; }
  .tally-floating-button {
    right: max(0.75rem, env(safe-area-inset-right));
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    padding: 0.72rem;
  }
  .tally-floating-button__text { display: none; }
  .team-card { grid-template-columns: 1fr; }
  .team-photo { max-width: 220px; }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; }
}

/* ============================================================
   Site-wide quality pass — shared rhythm, type and interaction
   ============================================================ */
:root {
  --content-wide: 1320px;
  --content-reading: 760px;
  --space-1: .5rem;
  --space-2: .75rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
}

html { overflow-x: clip; }
body { overflow-x: clip; }
main { min-width: 0; }
img { height: auto; }
p, li { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }

.container {
  max-width: var(--content-wide);
  padding-inline: max(clamp(1.1rem, 4vw, 3.5rem), env(safe-area-inset-left));
}

:where(a, button, input, textarea, select) { -webkit-tap-highlight-color: transparent; }
:where(button, .btn, .nav-cta, .text-link, .card-link, .team-link) { min-height: 44px; }
:where(.text-link, .card-link, .team-link) { align-items: center; }
:where(input, textarea, select):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 65%, white);
  outline-offset: 3px;
}

.btn { min-width: 9.5rem; line-height: 1.2; }
.nav-desktop > a { display: inline-flex; align-items: center; min-height: 44px; }
.nav-mobile { max-height: calc(100dvh - 66px); overflow-y: auto; overscroll-behavior: contain; }
.nav-mobile .nav-cta { min-height: 52px; }

.section-title,
.page-title,
.contact-title,
.work-cta-title { overflow-wrap: break-word; }
.section-intro,
.page-hero-sub,
.contact-text { max-width: 62ch; }

.work-card,
.service-card,
.team-card,
.overview-service__copy,
.single-service__hero-copy { min-width: 0; }
.project-visual img { width: 100%; height: 100%; object-fit: cover; }
.case-caption p { min-width: 0; overflow-wrap: anywhere; }
.case-details dd { overflow-wrap: anywhere; }
.footer-brand > p:first-of-type { max-width: 44ch; margin-top: 1.25rem; color: var(--ink-soft); }
.brand { min-height: 44px; }
.single-service__related-list a { display: inline-flex; align-items: center; min-height: 44px; }
.app-greeting { margin-top: 1.3rem; font-size: clamp(1.4rem, 2.6vw, 2.2rem); font-weight: 700; letter-spacing: -.04em; }
.footer-mail, .footer-col a, .contact-direct__link { overflow-wrap: anywhere; }

@media (max-width: 900px) and (min-width: 541px) {
  .hero-title,
  .about-page__hero h1,
  .services-overview__hero-copy h1,
  .single-service__hero-copy h1 { font-size: clamp(3.6rem, 10vw, 5.8rem); }
  .overview-service__visual > div { min-height: clamp(420px, 68vw, 540px); }
}

@media (max-width: 540px) {
  .container { padding-inline: max(1.1rem, env(safe-area-inset-left)); }
  .eyebrow { font-size: .69rem; line-height: 1.4; }
  .section-head { margin-bottom: 2.5rem; }
  .section-title { font-size: clamp(2.2rem, 11vw, 3.35rem); line-height: 1; }
  .page-title { font-size: clamp(2.9rem, 14vw, 4.1rem); }
  .page-hero-sub, .section-intro { font-size: 1rem; }
  .btn { width: 100%; white-space: normal; text-align: center; }
  .contact-actions { align-items: stretch; flex-direction: column; }
  .case-hero { padding-top: 7.75rem; padding-bottom: 3.75rem; }
  .case-hero__title { max-width: 100%; font-size: clamp(3rem, 15vw, 4.2rem); line-height: .94; letter-spacing: -.055em; }
  .case-hero__intro { font-size: clamp(1.45rem, 8vw, 2rem); }
  .case-section, .case-services, .case-cta { padding-inline: 1.1rem; }
  .case-copy > h2, .case-gallery__heading h2 { font-size: clamp(2.2rem, 11vw, 3.25rem); line-height: 1.02; }
  .case-media, .case-media--wide { width: calc(100% - 2.2rem); }
  .case-gallery__pair .case-art { min-height: 0; }
  .case-caption { align-items: flex-start; }
  .footer-grid { padding-bottom: 2.5rem; }
  .footer-col a, .footer-mail { min-height: 44px; display: inline-flex; align-items: center; }
}

/* Homepage parity pass: these rules mirror the current React homepage while
   leaving reusable inner-page blocks and the content importer untouched. */
body.home .hero { padding-top:clamp(9rem,15vh,11rem);padding-bottom:clamp(5.5rem,9vw,8rem); }
body.home .hero-title { max-width:8.5ch;font-size:clamp(4.25rem,7.1vw,7rem); }
body.home .hero-sub { max-width:54ch;font-size:1.08rem;line-height:1.55; }

body.home .about { padding-block:clamp(7rem,11vw,11rem);background:var(--bg); }
body.home .about-grid { grid-template-columns:minmax(175px,.45fr) minmax(0,1.55fr);gap:clamp(2rem,7vw,7rem);align-items:start; }
body.home .about-body { justify-self:end;width:min(100%,820px);padding:clamp(3.25rem,5.5vw,5.5rem);border-radius:18px;background:var(--accent);color:#fff; }
body.home .about-lead { max-width:13ch;color:#fff;font-size:clamp(2.75rem,4.4vw,4.5rem);line-height:1.05; }
body.home .about-text,body.home .about-text p { color:rgba(255,255,255,.8);font-size:1.05rem;line-height:1.65; }
body.home .about-body .text-link { color:#fff;border-color:rgba(255,255,255,.55); }

body.home .audience-section,body.home .work-preview,body.home .team { padding-block:clamp(6.5rem,9vw,9rem); }
body.home .audience-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.home .audience-grid .service-card { grid-column:auto;padding:clamp(2rem,3vw,3rem); }

body.home .deliverables-showcase { padding-block:clamp(7rem,10vw,10rem);background:#11152e;color:#fff; }
body.home .deliverables-copy .section-title { max-width:10ch;color:#fff;font-size:clamp(3.25rem,5vw,5rem);line-height:.96; }
body.home .studio-differences { margin-top:clamp(2.5rem,5vw,4.5rem); }
body.home .studio-difference { padding:1.35rem 0 0;border-top-color:rgba(255,255,255,.2); }
body.home .studio-difference h3 { color:#fff;font-size:1.08rem; }
body.home .studio-difference p { color:rgba(255,255,255,.72); }
body.home .studio-difference span { color:#8f9aff; }
body.home .deliverables-canvas { min-height:560px; }

body.home .work-preview .services-grid--preview { grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem; }
body.home .work-preview .services-grid--preview .service-card { grid-column:auto;min-height:320px;padding:clamp(2.25rem,3vw,3rem); }
body.home .work-preview .services-grid--preview .service-card:nth-child(odd) { background:var(--accent);color:#fff;border-color:var(--accent); }
body.home .work-preview .services-grid--preview .service-card:nth-child(odd) :where(.service-title,.service-title a,.service-desc,.service-index,.card-link) { color:#fff; }
body.home .work-preview .services-grid--preview .service-card:nth-child(odd) .service-desc { color:rgba(255,255,255,.78); }
body.home .work-preview .services-grid--preview .service-card:nth-child(odd) .card-link { border-color:rgba(255,255,255,.55); }

body.home .process--preview { padding-block:clamp(7rem,10vw,10rem);background:#eef0ff; }
body.home .process--preview .section-title { max-width:8ch; }
body.home .process--preview .process-list { gap:1rem;background:transparent;border:0; }
body.home .process--preview .process-step { min-height:0;border:1px solid rgba(18,20,38,.07);background:#fff; }

body.home .work-grid--editorial { gap:1.25rem; }
body.home .work-grid--editorial .work-card { min-height:500px;padding:1.25rem 1.25rem 2rem;background:#f5f6ff; }
body.home .work-grid--editorial .project-visual { height:230px;margin-bottom:1.75rem;border-radius:8px; }
body.home .work-grid--editorial .project-visual img { object-fit:cover; }

body.home .team { background:#eef0ff; }
body.home .team .section-head { max-width:720px; }
body.home .team-grid--preview { grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;background:transparent;border:0;overflow:visible; }
body.home .team-grid--preview .team-card { display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.5rem;align-items:center;padding:1.25rem;border:1px solid var(--line);border-radius:10px;background:#fff; }
body.home .team-grid--preview .team-photo { width:150px;max-width:none;border-radius:8px; }
body.home .team-grid--preview .team-name { font-size:1.45rem; }

body.home .contact { padding-block:clamp(7rem,11vw,10rem);background:var(--accent);color:#fff; }
body.home .contact .eyebrow,body.home .contact-title { color:#fff; }
body.home .contact-title { max-width:13ch;margin-inline:auto;font-size:clamp(3.5rem,6vw,6rem);line-height:.92; }
body.home .contact-text { max-width:52ch;color:rgba(255,255,255,.78);line-height:1.6; }
body.home .contact .btn-primary { padding:1rem 1.85rem;background:#fff;color:var(--accent);border-color:#fff; }

@media (max-width: 980px) {
  body.home .about-grid { grid-template-columns:1fr; }
  body.home .about-body { justify-self:stretch; }
  body.home .deliverables-layout { grid-template-columns:minmax(0,.85fr) minmax(390px,1.15fr);gap:3rem; }
  body.home .team-grid--preview .team-card { grid-template-columns:110px 1fr; }
  body.home .team-grid--preview .team-photo { width:110px; }
}

@media (max-width: 860px) {
  body.home .hero-title { font-size:clamp(3.8rem,10vw,5.8rem); }
  body.home .audience-grid { grid-template-columns:1fr; }
  body.home .work-preview .services-grid--preview { grid-template-columns:1fr; }
  body.home .deliverables-layout { grid-template-columns:1fr; }
  body.home .process--preview .container { display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:2.5rem;align-items:start; }
  body.home .process--preview .section-head { margin:0; }
  body.home .process--preview .process-list { grid-template-columns:1fr; }
  body.home .process--preview .process-step { display:grid;grid-template-columns:52px 1fr;padding:1.5rem; }
  body.home .process--preview .process-step:nth-child(n) { margin-left:0; }
  body.home .team-grid--preview { grid-template-columns:1fr; }
}

@media (max-width: 540px) {
  body.home .hero { padding-top:7rem;padding-bottom:4.5rem; }
  body.home .hero-title { max-width:9ch;font-size:clamp(3.05rem,15vw,4.35rem); }
  body.home .about,body.home .audience-section,body.home .deliverables-showcase,body.home .work-preview,body.home .process--preview,body.home .team,body.home .contact { padding-block:4.75rem; }
  body.home .about-body { padding:2rem 1.5rem; }
  body.home .about-lead { font-size:clamp(2.3rem,11vw,3.25rem); }
  body.home .deliverables-copy .section-title { font-size:clamp(2.75rem,12vw,3.7rem); }
  body.home .deliverables-canvas { min-height:360px; }
  body.home .work-preview .services-grid--preview .service-card { min-height:0; }
  body.home .process--preview .container { grid-template-columns:1fr;gap:2.5rem; }
  body.home .process--preview .process-step { grid-template-columns:44px 1fr; }
  body.home .work-grid--editorial .work-card { min-height:0; }
  body.home .team-grid--preview .team-card { grid-template-columns:88px 1fr;padding:1rem;gap:1rem; }
  body.home .team-grid--preview .team-photo { width:88px; }
  body.home .contact-title { font-size:clamp(3rem,14vw,4.4rem); }
}

/* ============================================================
   Layout variety pass — distinct compositions, one visual system
   ============================================================ */
@media (min-width: 861px) {
  .services-grid--preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  .services-grid--preview .service-card {
    grid-column: auto;
    min-height: 320px;
    padding: clamp(2rem, 3vw, 3rem);
  }
  .services-grid--preview .service-card:hover { transform: translateY(-7px); }
  .services-grid--preview .service-card:nth-child(odd) { background: var(--accent); color: white; }
  .services-grid--preview .service-card:nth-child(odd) .service-desc { color: rgba(255,255,255,.76); }
  .services-grid--preview .service-card:nth-child(odd) .service-index { color: rgba(255,255,255,.82); }
  .services-grid--preview .service-card:nth-child(odd) .card-link { color: white; border-color: rgba(255,255,255,.45); }

  .process--preview .container {
    display: grid;
    grid-template-columns: minmax(260px, .7fr) minmax(560px, 1.3fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
  }
  .process--preview .section-head { position: sticky; top: 120px; margin: 0; }
  .process--preview .process-list { grid-template-columns: 1fr; }
  .process--preview .process-step {
    min-height: 0;
    display: grid;
    grid-template-columns: 64px 1fr;
    align-items: start;
    padding: clamp(1.8rem, 3vw, 2.6rem);
  }
  .process--preview .process-step:nth-child(2) { margin-left: clamp(1.5rem, 5vw, 4rem); }
  .process--preview .process-step:nth-child(3) { margin-left: clamp(3rem, 10vw, 8rem); }
  .process--preview .process-title { font-size: clamp(1.8rem, 3vw, 2.7rem); }

  .work-grid--editorial {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }
  .work-grid--editorial .work-card { min-height: 390px; padding: clamp(1.5rem, 3vw, 2.5rem); }

  .team-grid--preview { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
  .team-grid--preview .team-card { grid-template-columns: 140px minmax(0, 1fr); }

  .work-collection--studio-work .work-grid {
    grid-template-columns: 1.25fr .75fr;
    grid-template-rows: repeat(2, auto);
  }
  .work-collection--studio-work .work-card:first-child { grid-row: span 2; }
  .work-collection--studio-work .work-card:first-child .project-visual { height: 430px; }
  .work-collection--studio-work .work-card:first-child { min-height: 680px; }
}

@media (max-width: 1100px) and (min-width: 861px) {
  .work-grid--editorial .work-card:not(:first-child) { display: flex; }
  .work-grid--editorial .work-card:not(:first-child) .project-visual { height: 220px; min-height: 0; margin-bottom: 1.7rem; }
}

@media (max-width: 860px) {
  .services-grid--preview .service-card:nth-child(odd) { background: var(--accent); color: white; }
  .services-grid--preview .service-card:nth-child(odd) .service-desc { color: rgba(255,255,255,.76); }
  .services-grid--preview .service-card:nth-child(odd) .card-link { color: white; }
}

/* Tangible studio and project imagery */
.deliverables-showcase { padding-block:var(--section-y);background:#11152e;color:white;overflow:hidden; }
.studio-differences { display:grid;gap:1.25rem;margin-top:clamp(2rem,4vw,3.5rem); }
.studio-difference { display:grid;grid-template-columns:2.5rem 1fr;gap:.35rem 1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2); }
.studio-difference span { grid-row:1 / span 2;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em; }
.studio-difference h3 { font-size:1.15rem; }
.studio-difference p { color:rgba(255,255,255,.72);line-height:1.55; }
.audience-section { background:var(--bg); }
.audience-grid .service-card { min-height:100%; }
.deliverables-layout { display:grid;grid-template-columns:minmax(260px,.7fr) minmax(480px,1.3fr);gap:clamp(3rem,8vw,7rem);align-items:center; }
.deliverables-copy .eyebrow { color:#8f9aff; }.deliverables-copy .section-intro{color:rgba(255,255,255,.68)}
.deliverables-canvas { position:relative;min-height:520px; }
.deliverable-browser { position:absolute;width:76%;left:3%;top:8%;border-radius:16px;overflow:hidden;background:white;box-shadow:0 32px 70px rgba(0,0,0,.3);transform:rotate(-3deg); }
.mock-browser-bar { height:32px;display:flex;align-items:center;gap:5px;padding:0 10px;background:#f4f4f8;border-bottom:1px solid rgba(0,0,0,.07);color:#888; }
.mock-browser-bar span { width:6px;height:6px;border-radius:50%;background:#c3c4cc; }.mock-browser-bar b{font-size:.48rem;font-weight:600;margin:auto;letter-spacing:.04em}
.deliverable-site { min-height:325px;padding:38px;background:linear-gradient(135deg,#f5efe4,#fff 55%);color:#171713;position:relative; }
.deliverable-site::after { content:"";position:absolute;width:42%;height:72%;right:7%;bottom:0;border-radius:50% 50% 0 0;background:linear-gradient(145deg,#7298ff,#2838f7 60%,#151831); }
.deliverable-site .mini-nav{display:block;width:45%;height:6px;border-radius:9px;background:#d5d0c7;margin-bottom:56px}.deliverable-site strong{display:block;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1;letter-spacing:-.05em;max-width:9ch}.mini-button{display:inline-block;margin-top:22px;padding:7px 12px;border-radius:6px;background:#2838f7;color:white;font-size:.55rem;font-weight:700}
.deliverable-phone { position:absolute;right:0;bottom:1%;width:31%;min-height:290px;padding:30px 18px 18px;border:7px solid #f8f8fb;border-radius:30px;background:linear-gradient(180deg,#eef0ff,#fff);color:#171713;box-shadow:0 25px 55px rgba(0,0,0,.28);transform:rotate(6deg);z-index:2; }
.phone-speaker{position:absolute;top:9px;left:40%;width:20%;height:4px;border-radius:5px;background:#c6c7d0}.deliverable-phone small,.deliverable-phone strong{display:block}.deliverable-phone small{font-size:.55rem;color:#777}.deliverable-phone strong{font-size:1.25rem;margin-top:3px}.phone-chart{height:120px;margin-top:30px;display:flex;align-items:end;gap:7px}.phone-chart i{flex:1;height:52%;border-radius:5px;background:#92a0ff}.phone-chart i:nth-child(2){height:83%;background:#2838f7}.phone-chart i:nth-child(3){height:65%}.phone-chart i:nth-child(4){height:95%;background:#74dce5}
.deliverable-detail{position:absolute;left:0;bottom:2%;width:37%;padding:18px;border-radius:14px;background:#fff;color:#171713;box-shadow:0 20px 45px rgba(0,0,0,.25);transform:rotate(4deg);z-index:3}.deliverable-detail small{font-weight:700;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em}.deliverable-detail div{display:flex;gap:6px;margin-top:14px}.deliverable-detail i{width:28px;height:28px;border-radius:50%;background:#2838f7}.deliverable-detail i:nth-child(2){background:#74dce5}.deliverable-detail i:nth-child(3){background:#f1dfb8}.deliverable-detail i:nth-child(4){background:#171713}.deliverable-detail span{position:absolute;right:20px;top:15px;font-size:1.4rem;font-weight:750}
.deliverable-caption{position:absolute;padding:7px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.09);font-size:.57rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#cdd2ff}.deliverable-caption--web{left:10%;top:1%}.deliverable-caption--ui{right:1%;bottom:0}

.work-card { padding-top:clamp(1.2rem,2vw,1.5rem); }
.work-card::before { display:none; }
.project-visual { width:100%;height:220px;margin-bottom:1.7rem;border-radius:15px;position:relative;overflow:hidden;background:#dfe3ff; }
.project-browser { position:absolute;left:7%;right:7%;top:10%;border-radius:10px 10px 0 0;overflow:hidden;background:white;box-shadow:0 18px 32px rgba(25,30,75,.22);transition:transform .4s var(--ease); }
.work-card:hover .project-browser { transform:translateY(-5px) scale(1.01); }
.editorial-page,.hospitality-page,.wellness-page,.realty-page{height:190px;padding:24px;position:relative;overflow:hidden}.editorial-page{background:#18120e;color:#f7e9ce}.editorial-page small,.realty-page small{font-size:.48rem;letter-spacing:.15em}.editorial-page strong{display:block;font-family:var(--serif);font-size:1.45rem;line-height:1.05;max-width:9ch;margin-top:22px}.editorial-page i{position:absolute;width:48%;height:95%;right:-3%;bottom:-18%;border-radius:50% 50% 12% 12%;background:linear-gradient(145deg,#ed8a4b,#9b391c)}
.project-visual--product{background:linear-gradient(145deg,#161a38,#2b38c7);display:flex;align-items:center;justify-content:center;gap:14px;padding:20px}.flow-card{width:44%;min-height:130px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:white;padding:16px;position:relative}.flow-card small{color:#5862d9;font-size:.48rem;font-weight:800}.flow-card strong{display:block;font-size:.82rem;margin-top:10px}.flow-card span{display:block;width:72%;height:7px;border-radius:6px;background:#e7e9f4;margin-top:26px}.flow-card:nth-child(2){transform:translateY(18px)}.flow-connector{position:absolute;width:35px;height:1px;background:#8e98ff;left:47%;top:49%}
.project-visual--hospitality{background:linear-gradient(135deg,#d9e6ef,#9bb8cc)}.hospitality-page{background:#f8fbfd;color:#14344a}.hospitality-page strong{font-size:1.15rem;line-height:1.1}.hospitality-page div{display:flex;gap:7px;margin-top:28px}.hospitality-page i{width:30%;height:58px;border-radius:5px;background:linear-gradient(140deg,#7da3b9,#173d55)}
.project-visual--wellness{background:#dbe8df}.wellness-page{background:#f7f4ec;text-align:center;color:#294137}.wellness-page i{display:block;width:38px;height:38px;border-radius:50% 50% 45% 55%;background:#9bb9a6;margin:5px auto 14px}.wellness-page small{display:block;font-size:.52rem;text-transform:uppercase;letter-spacing:.13em}.wellness-page strong{display:block;font-family:var(--serif);font-size:1.2rem;line-height:1.1;max-width:12ch;margin:10px auto}
.project-visual--realty{background:#d8d1c5}.realty-page{background:linear-gradient(90deg,#f2eee7 0 58%,#80776d 58%);color:#24221e}.realty-page strong{display:block;font-family:var(--serif);font-size:1.55rem;margin-top:25px}.realty-page span{display:inline-block;font-size:.52rem;margin-top:14px;border-bottom:1px solid}
.project-visual--portfolio{background:linear-gradient(135deg,#e8eaff,#c8d0ff);padding:24px}.portfolio-sheet{height:100%;padding:22px;border-radius:8px;background:white;box-shadow:0 13px 24px rgba(40,56,100,.16);transform:rotate(-2deg)}.portfolio-sheet small{font-size:.48rem;color:#6970a0;letter-spacing:.12em}.portfolio-sheet strong{display:block;font-size:1.2rem;margin-top:15px}.portfolio-sheet div{display:flex;gap:7px;margin-top:26px}.portfolio-sheet i{flex:1;height:54px;border-radius:4px;background:#2838f7}.portfolio-sheet i:nth-child(2){background:#83dbe2}.portfolio-sheet i:nth-child(3){background:#171a35}

@media (max-width: 860px){.deliverables-layout{grid-template-columns:1fr}.deliverables-copy{max-width:620px}.deliverables-canvas{min-height:490px}}
@media (max-width: 540px){.deliverables-canvas{min-height:390px}.deliverable-browser{width:83%;left:0}.deliverable-site{min-height:250px;padding:24px}.deliverable-site .mini-nav{margin-bottom:38px}.deliverable-phone{width:36%;min-height:225px;padding:28px 12px 12px}.phone-chart{height:80px;margin-top:18px}.deliverable-detail{width:48%;padding:13px}.deliverable-detail i{width:19px;height:19px}.project-visual{height:200px}}

/* ============================================================
   2026 bright editorial refresh
   ============================================================ */
:root {
  --bg: #f8f9ff;
  --paper: #ffffff;
  --beige: #eff1ff;
  --beige-deep: #e2e5ff;
  --ink: #111327;
  --ink-soft: #545872;
  --ink-faint: #7b809d;
  --accent: #2838F7;
  --accent-deep: #1727df;
  --accent-tint: #e8eaff;
  --line: rgba(20, 25, 60, .14);
  --line-soft: rgba(20, 25, 60, .08);
  --serif: "Hanken Grotesk", system-ui, -apple-system, sans-serif;
  --container: 1320px;
  --radius: 18px;
  --section-y: clamp(5rem, 11vw, 9rem);
}

body {
  background:
    radial-gradient(circle at 10% 0%, rgba(135, 217, 255, .16), transparent 26rem),
    var(--bg);
}

.container { padding-inline: clamp(1.25rem, 4vw, 3.5rem); }
.eyebrow { color: var(--accent); font-weight: 750; letter-spacing: .16em; }
.section-head { max-width: 28ch; }
.section-head--wide, .section-head--2line { max-width: 760px; }
.section-title { font-weight: 650; font-size: clamp(2.35rem, 4.8vw, 4.5rem); line-height: .98; letter-spacing: -.045em; }
.section-intro { font-size: clamp(1rem, 1.5vw, 1.18rem); }

.site-header { padding-top: 12px; }
.site-header.scrolled { background: rgba(248,249,255,.82); border-color: transparent; }
.header-inner { height: 68px; }
.site-header.scrolled .header-inner {
  background: rgba(255,255,255,.82); border: 1px solid var(--line-soft); border-radius: 18px;
  box-shadow: 0 10px 40px rgba(26,35,102,.08); padding-inline: 18px;
}
.nav-cta { background: var(--accent); color: white !important; border: 0; padding: .82rem 1.2rem; border-radius: 10px; font-weight: 650; }
.nav-cta:hover { background: var(--accent-deep); color: white !important; }

.btn { border-radius: 12px; padding: 1rem 1.45rem; box-shadow: 0 1px 0 rgba(255,255,255,.2) inset; }
.btn-primary { background: var(--accent); color: white; box-shadow: 0 12px 28px rgba(40,56,247,.2); }
.btn-primary:hover { background: var(--accent-deep); box-shadow: 0 16px 32px rgba(40,56,247,.28); }
.btn-ghost { background: rgba(255,255,255,.7); border-color: var(--line); }
.btn-ghost:hover { background: white; color: var(--ink); border-color: var(--ink); }

.hero { position: relative; padding-top: clamp(8rem, 14vh, 10rem); padding-bottom: clamp(4.5rem, 8vw, 7rem); overflow: hidden; }
.hero::before { content:""; position:absolute; width: 36rem; height:36rem; right:-10rem; top:-13rem; border-radius:50%; background:radial-gradient(circle, rgba(40,56,247,.16), transparent 66%); pointer-events:none; }
.hero-layout { display:grid; grid-template-columns: minmax(0,.94fr) minmax(440px,1.06fr); align-items:center; gap:clamp(2rem,6vw,6rem); }
.hero-title { font-size:clamp(3.7rem,6.8vw,7.25rem); line-height:.89; font-weight:700; letter-spacing:-.065em; margin-top:1.2rem; max-width:9ch; }
.hero-title span { display:block; color:var(--accent); }
.hero-sub { font-size:clamp(1.05rem,1.45vw,1.28rem); max-width:630px; line-height:1.55; }
.hero-meta { margin-top:clamp(3rem,6vw,5rem); }
.meta-rule { background:linear-gradient(90deg, var(--accent), rgba(40,56,247,.05)); }
.hero-disciplines { justify-content:space-between; }
.hero-disciplines li { color:var(--ink-soft); font-weight:650; }

.hero-stage { position:relative; min-height:620px; display:grid; place-items:center; isolation:isolate; }
.hero-stage::before { content:""; position:absolute; inset:8% 3%; border-radius:48% 52% 45% 55%; background:linear-gradient(145deg,#dfe3ff 5%,#aab4ff 50%,#71dce9 115%); transform:rotate(-5deg); box-shadow:inset 0 0 0 1px rgba(255,255,255,.6); z-index:-2; }
.hero-stage::after { content:""; position:absolute; inset:14% 8%; border:1px solid rgba(255,255,255,.55); border-radius:50%; transform:rotate(13deg); z-index:-1; }
.stage-orbit { position:absolute; border:1px solid rgba(40,56,247,.17); border-radius:50%; z-index:-1; }
.stage-orbit--one { inset:1% 11%; transform:rotate(20deg); }
.stage-orbit--two { inset:17% -5%; transform:rotate(-24deg); }
.product-window { width:88%; border:1px solid rgba(20,25,60,.14); border-radius:18px; overflow:hidden; background:rgba(255,255,255,.95); box-shadow:0 42px 90px rgba(31,41,128,.24),0 3px 8px rgba(31,41,128,.12); transform:perspective(1200px) rotateY(-5deg) rotateX(2deg) rotate(-1.5deg); }
.product-window__bar { height:43px; display:flex; align-items:center; gap:6px; padding:0 14px; border-bottom:1px solid var(--line-soft); background:#fbfbff; }
.product-window__bar span { width:7px;height:7px;border-radius:50%;background:#cdd0dc; }
.product-window__bar b { margin-left:auto;margin-right:auto;font-size:.55rem;color:var(--ink-faint);font-weight:600;letter-spacing:.05em; }
.product-window__body { display:grid; grid-template-columns:58px 1fr; min-height:350px; }
.product-sidebar { padding:18px 13px; display:flex; flex-direction:column; align-items:center; gap:20px; background:#151831; }
.product-logo { width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--accent);color:white;font-size:.7rem;font-style:normal;font-weight:800;margin-bottom:10px; }
.product-sidebar span { width:20px;height:5px;border-radius:5px;background:#535774; }
.product-sidebar span.active { background:#fff; }
.product-dashboard { padding:clamp(1.4rem,4vw,2.6rem); overflow:hidden; }
.dashboard-top { display:flex; justify-content:space-between; align-items:center; }
.dashboard-top small { color:var(--accent);font-weight:700;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em; }
.dashboard-top i { width:34px;height:34px;border-radius:50%;background:linear-gradient(140deg,#2838f7,#7adce4); }
.product-dashboard h2 { font-size:clamp(1.5rem,2.6vw,2.35rem);letter-spacing:-.045em;margin-top:1.4rem; }
.product-dashboard>p { color:var(--ink-faint);font-size:.8rem;margin-top:.25rem; }
.dashboard-metrics { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:1.8rem; }
.dashboard-metrics span { padding:14px;border:1px solid var(--line-soft);border-radius:12px;display:flex;flex-direction:column;background:#fafaff; }
.dashboard-metrics b { font-size:1.35rem;letter-spacing:-.04em; }
.dashboard-metrics small { color:var(--ink-faint);font-size:.65rem; }
.dashboard-chart { height:95px;margin-top:14px;padding:15px 16px 0;border:1px solid var(--line-soft);border-radius:12px;display:flex;align-items:end;gap:8px;background:linear-gradient(180deg,#fff,#f2f4ff); }
.dashboard-chart i { flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#7480ff,var(--accent));height:45%; }
.dashboard-chart i:nth-child(2){height:70%}.dashboard-chart i:nth-child(3){height:52%}.dashboard-chart i:nth-child(4){height:82%}.dashboard-chart i:nth-child(5){height:65%}.dashboard-chart i:nth-child(6){height:90%}.dashboard-chart i:nth-child(7){height:78%}
.stage-card { position:absolute;background:rgba(255,255,255,.91);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);box-shadow:0 18px 45px rgba(31,41,128,.18);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;line-height:1.2; }
.stage-card span { font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);font-weight:700; }
.stage-card strong { font-size:1.55rem;color:var(--accent);letter-spacing:-.04em;margin-top:5px; }
.stage-card--left { left:-1%;bottom:14%;transform:rotate(-5deg); }
.stage-card--left i { width:70px;height:18px;margin-top:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 18'%3E%3Cpath d='M1 16 C15 15 15 8 28 10 S45 2 69 2' fill='none' stroke='%232838F7' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
.stage-card--right { right:-2%;top:14%;transform:rotate(4deg); }
.stage-card--right div { display:flex;margin-top:9px; }.stage-card--right b { width:28px;height:28px;margin-right:-5px;display:grid;place-items:center;border:2px solid white;border-radius:50%;background:#151831;color:white;font-size:.6rem; }.stage-card--right b:nth-child(2){background:var(--accent)}.stage-card--right b:nth-child(3){background:#7adce4;color:var(--ink)}
.stage-note { position:absolute;font-size:.62rem;font-weight:750;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);background:white;border:1px solid var(--line-soft);border-radius:999px;padding:8px 12px;box-shadow:0 8px 24px rgba(31,41,128,.1); }
.stage-note--top { top:7%;left:14%;transform:rotate(-4deg); }.stage-note--bottom { bottom:5%;right:13%;transform:rotate(3deg); }

.about { background:transparent; }
.about-grid { grid-template-columns:minmax(180px,.55fr) minmax(0,2fr); }
.about-body { padding:clamp(2rem,5vw,5rem);border-radius:30px;background:linear-gradient(135deg,var(--accent),#5261ff 65%,#7298ff);color:white;position:relative;overflow:hidden; }
.about-body::after { content:"&";position:absolute;right:-.05em;bottom:-.42em;font-size:18rem;font-weight:800;color:rgba(255,255,255,.09);line-height:1; }
.about-lead { font-size:clamp(2rem,4vw,4rem);font-weight:650;letter-spacing:-.045em;max-width:15ch;position:relative;z-index:1; }
.about-text { color:rgba(255,255,255,.8);position:relative;z-index:1; }.about-body .text-link { color:white;border-color:rgba(255,255,255,.5);position:relative;z-index:1; }

.services { background:white; }
.services-grid { gap:18px;background:transparent;border:0;overflow:visible; }
.service-card { border:1px solid var(--line-soft);border-radius:22px;background:#f8f9ff;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);position:relative;overflow:hidden; }
.service-card::after { content:"";position:absolute;width:130px;height:130px;right:-65px;top:-65px;border-radius:50%;background:var(--accent-tint);transition:transform .45s var(--ease); }
.service-card:hover { transform:translateY(-7px);box-shadow:0 24px 50px rgba(30,38,100,.11);border-color:rgba(40,56,247,.22); }.service-card:hover::after{transform:scale(1.35)}
.service-index { display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:white;border:1px solid var(--line-soft);font-family:var(--sans);font-weight:750;position:relative;z-index:1; }
.service-title,.work-title,.process-title,.team-name { font-weight:650;letter-spacing:-.035em; }

.process { background:linear-gradient(150deg,#eef0ff,#f9f9ff 58%,#e9fbff); }
.process-list { gap:16px;background:transparent;border:0;counter-reset:steps; }
.process-list--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.process-step { background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);border-radius:22px;min-height:260px;justify-content:space-between;box-shadow:0 12px 35px rgba(31,41,128,.06); }
.process-num { font-family:var(--sans);font-weight:750;font-size:1rem;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:white; }

.work-preview { background:white; }
.work-grid { gap:18px;background:transparent;border:0;overflow:visible; }
.work-card { border:1px solid var(--line-soft);border-radius:22px;background:#f5f6ff;min-height:390px;padding-top:clamp(11rem,18vw,14rem);position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease); }
.work-card:hover { transform:translateY(-7px);box-shadow:0 24px 50px rgba(30,38,100,.12); }
.work-card::before { content:"";position:absolute;left:20px;right:20px;top:20px;height:155px;border-radius:13px;background:linear-gradient(145deg,#fff 0 22%,#dce0ff 22% 44%,#2838f7 44% 65%,#b9f2f5 65%);box-shadow:0 13px 25px rgba(36,46,124,.13);transform:rotate(-2deg);transition:transform .4s var(--ease); }
.work-card:nth-child(2)::before { background:linear-gradient(140deg,#143c3b 0 38%,#e8f4ed 38% 62%,#efb2a7 62%);transform:rotate(2deg); }
.work-card:nth-child(3)::before { background:linear-gradient(155deg,#1e1813 0 26%,#e36c2d 26% 55%,#f1ddba 55%);transform:rotate(-1deg); }
.work-card:hover::before { transform:rotate(0) scale(1.025); }

.team { background:var(--bg); }.team-grid--preview { gap:18px;background:transparent;border:0;overflow:visible; }
.team-grid--preview .team-card { display:grid;grid-template-columns:140px 1fr;align-items:center;border:1px solid var(--line-soft);border-radius:22px;background:white;box-shadow:0 12px 35px rgba(31,41,128,.05); }
.team-grid--preview .team-photo { display:block;max-width:none;border-radius:16px; }
.team-photo { border-radius:18px; }

.contact { background:var(--accent);position:relative;overflow:hidden; }.contact::before,.contact::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.17);border-radius:50%;width:42rem;height:42rem;left:-20rem;top:-24rem}.contact::after{left:auto;top:auto;right:-20rem;bottom:-28rem}
.contact-title { font-weight:650;letter-spacing:-.045em;font-size:clamp(2.5rem,5.5vw,5rem); }.contact-text{color:rgba(255,255,255,.75)}.contact .eyebrow{color:rgba(255,255,255,.72)}
.contact .btn-primary { background:white;color:var(--accent); }.contact .btn-primary:hover{background:#eef0ff;color:var(--accent)}
.site-footer { background:#fff; }
.tally-floating-button { background:var(--accent);color:white;border:0;box-shadow:0 14px 34px rgba(40,56,247,.28); }.tally-floating-button:hover{background:var(--accent-deep)}

@media (max-width: 980px) {
  .hero-layout { grid-template-columns:1fr; }.hero-copy{max-width:760px}.hero-title{max-width:10ch}.hero-stage{min-height:570px;max-width:720px;width:100%;margin-inline:auto}.hero-meta{margin-top:1rem}
}
@media (max-width: 860px) {
  .site-header { padding-top:0 }.site-header.scrolled .header-inner{border-radius:0;border-inline:0}.about-grid{grid-template-columns:1fr}.about-body{padding:2rem}.team-grid--preview .team-card{grid-template-columns:110px 1fr}
  .process-list--four { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 540px) {
  .hero { padding-top:7.5rem }.hero-title{font-size:clamp(3.35rem,17vw,5rem)}.hero-sub{font-size:1rem}.hero-stage{min-height:410px;margin-top:1rem}.product-window{width:94%}.product-window__body{min-height:250px;grid-template-columns:44px 1fr}.product-sidebar{padding:12px 8px;gap:14px}.product-dashboard{padding:1rem}.product-dashboard h2{font-size:1.25rem;margin-top:.8rem}.dashboard-metrics{margin-top:1rem}.dashboard-chart{height:65px}.stage-card--left{left:-2%;bottom:8%}.stage-card--right{right:-2%;top:10%}.stage-note--top{top:1%}.stage-note--bottom{display:none}.hero-disciplines{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.hero-disciplines li::after{display:none}.about-body::after{font-size:12rem}.team-grid--preview .team-card{grid-template-columns:82px 1fr;padding:1rem;gap:1rem}.team-grid--preview .team-name{font-size:1.2rem}.work-card{min-height:360px}.section-title{font-size:clamp(2.4rem,12vw,3.7rem)}
  .process-list--four { grid-template-columns:1fr; }
}

/* Final polish: quieter surfaces, sharper rhythm, accessible interaction */
:root {
  --bg: #f7f8ff;
  --ink: #121426;
  --ink-soft: #50546b;
  --ink-faint: #6f748d;
  --section-y: clamp(5.5rem, 9vw, 8.5rem);
}

body { background: var(--bg); }
main:focus { outline: none; }
.skip-link {
  position: fixed; top: .75rem; left: .75rem; z-index: 1000;
  padding: .75rem 1rem; background: var(--ink); color: white; border-radius: 6px;
  transform: translateY(-160%); transition: transform .2s var(--ease);
}
.skip-link:focus { transform: translateY(0); }

:where(a, button):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 65%, white);
  outline-offset: 4px;
}
.nav-toggle { border-radius: 8px; }

.section-head { margin-bottom: clamp(2.75rem, 5vw, 4.5rem); }
.section-head--wide, .section-head--2line { max-width: 820px; }
.section-title { font-size: clamp(2.4rem, 4.5vw, 4.25rem); line-height: 1.02; }
.section-intro { margin-top: 1.25rem; max-width: 58ch; line-height: 1.65; }
.page-hero { padding-top: clamp(9rem, 17vh, 12rem); padding-bottom: clamp(4.5rem, 8vw, 7rem); }
.page-title { max-width: 14ch; line-height: .96; letter-spacing: -.055em; }
.page-hero-sub { max-width: 64ch; line-height: 1.65; }

.hero::before, .about-body::after, .service-card::after,
.contact::before, .contact::after { display: none; }
.hero-title { line-height: .93; letter-spacing: -.06em; }
.hero-actions { margin-top: 2.25rem; }
.hero-stage::before { border-radius: 26px; transform: rotate(-2deg); }
.hero-stage::after, .stage-orbit { opacity: .45; }
.product-window { border-radius: 14px; transform: rotate(-1.25deg); }

.about-body {
  border-radius: 18px;
  background: var(--accent);
  padding: clamp(2.25rem, 5vw, 4.75rem);
}
.services, .work-preview, .site-footer { background: var(--paper); }
.process { background: var(--beige); }

.services-grid, .work-grid, .team-grid--preview { gap: clamp(1rem, 2vw, 1.5rem); }
.service-card, .work-card, .process-step, .team-grid--preview .team-card {
  border-radius: 14px;
  box-shadow: none;
}
.service-card { background: #fbfbff; }
.service-card:hover, .work-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(28, 35, 92, .09);
}
.service-index { width: auto; height: auto; display: inline-block; border: 0; background: none; color: var(--accent); }
.process-step { min-height: 230px; background: rgba(255,255,255,.72); }
.process-num { border-radius: 8px; }
.project-visual { border-radius: 10px; }
.project-visual--hudsons { background:#151515; }
.project-visual--hudsons img { width:100%;height:100%;object-fit:cover;object-position:center; }
.team-photo { border-radius: 10px; }
.team-grid--preview .team-card { border-color: var(--line); }

.btn, .nav-cta { border-radius: 8px; }
.btn-primary:hover, .btn-ghost:hover, .tally-floating-button:hover { transform: translateY(-2px); }
.text-link, .card-link, .team-link, .footer-col a { text-underline-offset: 4px; }
.text-link:hover, .card-link:hover { gap: .55rem; }
.contact { background: var(--accent); }
.contact-inner { max-width: 820px; }
.contact-title { line-height: 1; }

@media (hover: hover) and (pointer: fine) {
  .project-browser { transition: transform .45s var(--ease); }
}

@media (max-width: 980px) {
  .brand-logo { width: 95px; }
  .hero-stage { min-height: 510px; }
  .hero-stage::before { inset: 7% 5%; }
}

@media (max-width: 860px) {
  .nav-mobile.open { min-height: calc(100dvh - 66px); padding-top: 1.5rem; }
  .nav-mobile a { font-size: clamp(1.3rem, 6vw, 2rem); padding-block: 1rem; }
  .page-hero { padding-top: 8.5rem; }
  .services-grid--preview { grid-template-columns: minmax(0, 1fr); }
  .services-grid--preview .service-card { grid-column: auto; min-height: auto; }
  .services-grid--preview .service-card:nth-child(odd) { background: var(--accent); }
  .team-grid--preview .team-card:nth-child(2) { transform: none; }
}

@media (max-width: 540px) {
  :root { --gutter: 1.1rem; --section-y: 4.5rem; }
  .brand-logo { width: 85px; }
  .hero { padding-top: 7rem; padding-bottom: 4rem; }
  .hero-title { font-size: clamp(3rem, 15vw, 4.35rem); }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; }
  .hero-stage { min-height: 360px; }
  .stage-card { padding: 10px 12px; }
  .stage-card strong { font-size: 1.2rem; }
  .stage-card--right { display: none; }
  .deliverables-canvas { min-height: 350px; }
  .deliverable-detail, .deliverable-caption { display: none; }
  .deliverable-browser { width: 88%; }
  .deliverable-phone { width: 38%; }
  .service-card, .work-card, .process-step { padding: 1.5rem; }
  .team-grid--preview .team-card { grid-template-columns: 96px 1fr; }
  .contact-email { overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .reveal { opacity: 1 !important; transform: none !important; }
  .product-window, .deliverable-browser, .deliverable-phone, .deliverable-detail,
  .portfolio-sheet, .stage-card, .stage-note { transform: none !important; }
}

/* Work page — consistent editorial project grid */
.work-page .work-grid,
.work-page .work-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 3vw, 2.75rem);
}

.work-page .work-card,
.work-page .work-collection--alternate .work-card {
  min-height: 0;
  padding: 0 0 clamp(1.5rem, 2vw, 2rem);
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.work-page .work-card:hover {
  box-shadow: none;
}

.work-page .project-visual,
.work-page .work-collection--studio-work .work-card:first-child .project-visual {
  height: auto;
  aspect-ratio: 16 / 10;
  margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
}

.work-page .work-collection--studio-work .work-card:first-child {
  grid-row: auto;
  min-height: 0;
}

.work-page .work-title {
  min-height: 1.15em;
}

.work-page .work-desc {
  max-width: 52ch;
}

@media (max-width: 860px) {
  .work-page .work-grid,
  .work-page .work-grid--two {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: auto;
    gap: clamp(2.5rem, 7vw, 4rem);
  }

  .work-page .work-title {
    min-height: 0;
  }
}

/* About page — studio-first editorial story */
.about-page { background: var(--bg); }
.about-page__hero { padding: clamp(9rem, 18vh, 12rem) 0 clamp(4.5rem, 9vw, 7.5rem); }
.about-page__hero-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: end; }
.about-page__hero h1 { max-width: 10ch; margin-top: 1.25rem; font-size: clamp(4rem, 8.4vw, 8.4rem); line-height: .87; letter-spacing: -.07em; }
.about-page__hero h1 span { display: block; color: var(--accent); }
.about-page__hero-note { padding: 1.5rem 0 .4rem; border-top: 1px solid var(--accent); }
.about-page__hero-note p { color: var(--ink-soft); font-size: clamp(1.05rem, 1.5vw, 1.22rem); line-height: 1.6; }
.about-page__jump { display: inline-flex; gap: .6rem; margin-top: 1.75rem; color: var(--accent); font-size: .9rem; font-weight: 700; }

.about-studio { padding: var(--section-y) 0; background: var(--paper); overflow: hidden; }
.about-studio__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .7fr); gap: clamp(3rem, 9vw, 9rem); margin-top: 1.5rem; }
.about-studio__statement h2 { max-width: 14ch; font-size: clamp(3rem, 6.3vw, 6.4rem); line-height: .91; letter-spacing: -.06em; text-wrap: balance; }
.about-studio__body { padding-top: .6rem; }
.about-studio__body p { color: var(--ink-soft); font-size: clamp(1rem, 1.3vw, 1.16rem); line-height: 1.7; }
.about-studio__body p + p { margin-top: 1.35rem; }
.about-studio__visual { margin-top: clamp(4rem, 8vw, 7rem); padding: clamp(1.5rem, 3vw, 2.5rem); color: white; background: var(--accent); }
.about-studio__visual-top { display: flex; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,.28); font-size: .7rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.about-studio__visual-flow { display: grid; grid-template-columns: 1fr minmax(30px, .4fr) 1fr minmax(30px, .4fr) 1fr; align-items: center; gap: clamp(.5rem, 2vw, 2rem); padding-top: clamp(2rem, 5vw, 4.25rem); }
.about-studio__visual-flow div { min-height: 120px; display: flex; flex-direction: column; justify-content: space-between; }
.about-studio__visual-flow b { font-size: .72rem; color: rgba(255,255,255,.65); }
.about-studio__visual-flow span { max-width: 8ch; font-size: clamp(1.35rem, 2.6vw, 2.6rem); font-weight: 650; line-height: 1; letter-spacing: -.04em; }
.about-studio__visual-flow i { height: 1px; background: rgba(255,255,255,.45); position: relative; }
.about-studio__visual-flow i::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid white; border-right: 1px solid white; transform: rotate(45deg); }

.about-support { padding: var(--section-y) 0; }
.about-support__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(340px, 1fr); gap: clamp(3rem, 9vw, 9rem); }
.about-support__intro h2 { max-width: 11ch; margin-top: 1.25rem; font-size: clamp(2.8rem, 5vw, 5rem); line-height: .94; letter-spacing: -.055em; }
.about-support__intro > p:last-child { max-width: 49ch; margin-top: 1.5rem; color: var(--ink-soft); }
.about-support__list { border-top: 1px solid var(--ink); }
.about-support__item { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: clamp(1.25rem, 2.5vw, 2rem) 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.about-support__item span { color: var(--accent); font-size: .75rem; font-weight: 750; }
.about-support__item p { font-size: clamp(1.2rem, 2vw, 1.75rem); font-weight: 600; letter-spacing: -.03em; }

.about-page .team--page { padding: var(--section-y) 0; background: var(--paper); }
.about-page .team--page .section-head { max-width: 760px; }
.about-page .team-grid { gap: clamp(2rem, 5vw, 5rem); }
.about-page .team-card { display: block; padding-top: 1.25rem; border-top: 1px solid var(--ink); }
.about-page .team-photo { aspect-ratio: 4 / 3; margin-bottom: 1.75rem; object-position: center 22%; border: 0; border-radius: 0; }
.about-page .team-name { font-size: clamp(2rem, 3vw, 3rem); }
.about-page .team-bio { max-width: 42ch; }
.about-page .team-tags li { border-radius: 0; background: transparent; }
.about-page .team-actions { flex-direction: row; flex-wrap: wrap; gap: 1.25rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }

.about-page__cta { padding: var(--section-y) 0; color: white; background: #121426; }
.about-page__cta .eyebrow { color: #929bff; }
.about-page__cta-inner { display: grid; grid-template-columns: 1fr minmax(300px, .55fr); gap: clamp(3rem, 9vw, 9rem); align-items: end; }
.about-page__cta h2 { max-width: 11ch; margin-top: 1.25rem; font-size: clamp(3rem, 6vw, 6rem); line-height: .92; letter-spacing: -.06em; }
.about-page__cta-action p { color: rgba(255,255,255,.7); }
.about-page__cta-action .btn { margin-top: 1.75rem; background: var(--accent); }

@media (max-width: 860px) {
  .about-page__hero-grid, .about-studio__grid, .about-support__grid, .about-page__cta-inner { grid-template-columns: 1fr; }
  .about-page__hero-note { max-width: 560px; }
  .about-studio__grid, .about-support__grid, .about-page__cta-inner { gap: 2.75rem; }
  .about-studio__statement h2 { max-width: 13ch; }
  .about-page .team-grid { grid-template-columns: 1fr; }
  .about-page .team-card { max-width: 680px; }
}

@media (max-width: 540px) {
  .about-page__hero { padding-top: 7.5rem; }
  .about-page__hero h1 { font-size: clamp(3.6rem, 18vw, 5.2rem); }
  .about-studio__statement h2 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .about-studio__visual-top span:nth-child(2) { display: none; }
  .about-studio__visual-flow { grid-template-columns: 1fr; }
  .about-studio__visual-flow div { min-height: 88px; }
  .about-studio__visual-flow i { width: 1px; height: 28px; margin-left: .25rem; }
  .about-studio__visual-flow i::after { right: -3px; top: auto; bottom: 0; transform: rotate(135deg); }
  .about-page .team-photo { aspect-ratio: 1 / 1; }
  .about-page__cta-action .btn { width: 100%; }
}

.service-detail-hero { background:var(--bg); }
.service-detail-hero__inner { max-width:980px; }
.service-detail-hero .page-title { max-width:13ch; }
.service-detail-body { padding-block:var(--section-y);background:var(--paper);border-block:1px solid var(--line-soft); }
.service-detail-grid { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,8vw,8rem);align-items:start; }
.service-detail-grid .section-title { margin-top:1rem;max-width:12ch; }
.service-detail-lead { color:var(--ink-soft);font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.65;max-width:48ch; }
.service-detail-list { margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line); }

@media (max-width: 760px) {
  .service-detail-grid { grid-template-columns:1fr;gap:2.5rem; }
}

/* Services overview — intentionally isolated from homepage styles */
.services-overview { --service-blue:#2838F7; background:#fff; }
.services-overview__hero { padding:clamp(9rem,17vh,12rem) 0 clamp(4rem,8vw,7rem); background:#f7f8ff; overflow:hidden; }
.services-overview__hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr); gap:clamp(2rem,8vw,8rem); align-items:end; }
.services-overview__hero-copy h1 { margin-top:1.4rem; max-width:10ch; font-size:clamp(3.7rem,8.4vw,8rem); line-height:.89; letter-spacing:-.07em; text-wrap:balance; }
.services-overview__hero-copy h1 span { color:var(--service-blue); }
.services-overview__hero-aside { padding-bottom:.5rem; }
.services-overview__hero-aside p { color:var(--ink-soft); font-size:clamp(1.08rem,1.6vw,1.28rem); line-height:1.6; }
.services-overview__jump { display:flex; justify-content:space-between; margin-top:2rem; padding:1rem 0; border-block:1px solid var(--line); font-weight:700; color:var(--service-blue); }
.services-overview__hero-map { grid-column:1/-1; margin-top:clamp(2rem,5vw,4rem); display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; gap:1rem; color:var(--ink-faint); text-transform:uppercase; font-size:.7rem; letter-spacing:.16em; font-weight:700; }
.services-overview__hero-map i { height:1px; background:linear-gradient(90deg,var(--service-blue),#c8cdff); position:relative; }
.services-overview__hero-map i::after { content:""; position:absolute; right:0; top:-3px; width:7px; height:7px; border-radius:50%; background:var(--service-blue); }
.services-overview__intro { padding:clamp(4rem,8vw,7rem) 0; border-block:1px solid var(--line-soft); }
.services-overview__intro-grid { display:grid; grid-template-columns:minmax(160px,.5fr) minmax(0,1.5fr); gap:clamp(2rem,8vw,8rem); }
.services-overview__intro-grid > p:last-child { max-width:34ch; font-size:clamp(1.8rem,3.4vw,3.3rem); line-height:1.13; letter-spacing:-.045em; font-weight:620; text-wrap:balance; }
.overview-service { padding:clamp(5rem,10vw,10rem) 0; overflow:hidden; }
.overview-service:nth-child(even) { background:#f4f5ff; }
.overview-service__grid { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:clamp(3rem,9vw,9rem); align-items:center; }
.overview-service:nth-child(even) .overview-service__copy { order:2; }
.overview-service__copy { max-width:500px; }
.overview-service__number { display:inline-flex; align-items:center; gap:.75rem; color:var(--service-blue); font-size:.76rem; font-weight:800; letter-spacing:.14em; }
.overview-service__number::after { content:""; width:42px; height:1px; background:currentColor; }
.overview-service__copy h2 { margin-top:1.4rem; font-size:clamp(2.5rem,5vw,5rem); line-height:.96; letter-spacing:-.06em; text-wrap:balance; }
.overview-service__description { margin-top:1.6rem; color:var(--ink-soft); font-size:clamp(1rem,1.35vw,1.16rem); line-height:1.7; }
.overview-service__best { margin-top:1.6rem; padding-top:1.4rem; border-top:1px solid var(--line); color:var(--ink-soft); font-size:.92rem; line-height:1.6; }
.overview-service__best strong { display:block; margin-bottom:.3rem; color:var(--ink); text-transform:uppercase; font-size:.68rem; letter-spacing:.13em; }
.overview-service__link { display:inline-flex; align-items:center; gap:1rem; margin-top:2rem; padding:1rem 1.3rem; color:#fff; background:var(--service-blue); border-radius:8px; font-weight:700; transition:transform .25s var(--ease),background .25s var(--ease); }
.overview-service__link:hover { background:#1827dc; transform:translateY(-2px); }
.overview-service__visual { min-width:0; }
.overview-service__visual > div { position:relative; min-height:clamp(370px,46vw,590px); }

.visual-strategy { padding:10%; display:flex; flex-direction:column; justify-content:center; background:#eef0ff; border:1px solid #dfe2ff; }
.visual-label { position:absolute; top:6%; left:6%; font-size:.66rem; text-transform:uppercase; letter-spacing:.16em; color:var(--ink-faint); }
.strategy-node { align-self:center; padding:1rem 1.5rem; border:1px solid #bcc3ff; background:white; box-shadow:0 12px 28px rgba(40,56,247,.09); font-weight:700; }
.visual-strategy>i { width:1px; height:70px; margin:auto; background:var(--service-blue); }
.strategy-options { display:grid; grid-template-columns:repeat(3,1fr); gap:5%; }
.strategy-options span { padding:1.2rem .6rem; border:1px solid #cbd0ff; background:rgba(255,255,255,.75); text-align:center; }
.strategy-options span:first-child { color:white; background:var(--service-blue); border-color:var(--service-blue); }
.strategy-note { align-self:flex-end; margin-top:3rem; padding:.75rem 1rem; background:#fff59d; transform:rotate(-2deg); box-shadow:0 8px 18px rgba(25,30,70,.1); font-size:.8rem; font-weight:700; }
.visual-website { display:grid; place-items:center; background:#2838f7; }
.mock-browser { width:84%; overflow:hidden; background:white; box-shadow:0 35px 70px rgba(8,15,100,.35); transform:translateX(-3%) rotate(-1.5deg); }
.mock-bar { height:32px; display:flex; gap:5px; align-items:center; padding:0 12px; background:#f4f4f7; }
.mock-bar i { width:7px; height:7px; border-radius:50%; background:#c8c9d2; }
.mock-site { min-height:330px; padding:clamp(2rem,5vw,4rem); background:linear-gradient(135deg,#fff 64%,#e6e9ff 64%); }
.mock-site small { color:var(--service-blue); text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.mock-site strong { display:block; margin-top:2.3rem; font-size:clamp(2rem,4vw,4rem); line-height:.9; letter-spacing:-.06em; }
.mock-site button { margin-top:2rem; padding:.7rem 1rem; border:0; background:#13162a; color:#fff; }
.mock-mobile { position:absolute; right:3.5%; bottom:5%; width:23%; aspect-ratio:.58; overflow:hidden; color:#171927; background:#fff; border:1px solid rgba(27,31,74,.12); border-radius:clamp(12px,1.8vw,20px); box-shadow:0 22px 48px rgba(10,15,80,.24),0 4px 12px rgba(10,15,80,.12); transform:rotate(1deg); z-index:2; }
.mock-mobile__nav { position:relative; z-index:1; display:flex; align-items:center; padding:10% 9% 8%; }
.mock-mobile__nav small { margin-right:auto; color:var(--service-blue); font-size:clamp(.32rem,.55vw,.48rem); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mock-mobile__nav>i { width:8%; height:1px; margin-left:4%; background:#777b94; }
.mock-mobile__content { position:relative; z-index:1; padding:10% 9%; }
.mock-mobile__content strong { display:block; font-size:clamp(.86rem,1.75vw,1.55rem); line-height:.9; letter-spacing:-.06em; }
.mock-mobile__content p { width:90%; margin-top:14%; color:#62677d; font-size:clamp(.35rem,.64vw,.56rem); line-height:1.45; }
.mock-mobile__content span { display:flex; align-items:center; justify-content:space-between; width:78%; margin-top:14%; padding:7% 8%; color:white; background:#13162a; font-size:clamp(.34rem,.6vw,.52rem); font-weight:700; }
.mock-mobile__content span i { font-style:normal; }
.mock-mobile__accent { position:absolute; right:-34%; bottom:-8%; width:105%; aspect-ratio:1; background:linear-gradient(145deg,#e8eaff,#cfd5ff); transform:rotate(28deg); }
.visual-app { display:grid; grid-template-columns:70px 1fr; overflow:hidden; background:#15182d; color:white; box-shadow:0 30px 65px rgba(20,24,55,.2); }
.app-sidebar { display:flex; flex-direction:column; align-items:center; gap:2rem; padding:1.5rem .8rem; background:#0d1022; }.app-sidebar b{display:grid;place-items:center;width:34px;height:34px;background:var(--service-blue)}.app-sidebar i{width:22px;height:5px;background:#41455f;border-radius:3px}
.app-main { padding:clamp(1.5rem,4vw,3rem); }.app-main small{color:#8d94be;text-transform:uppercase;letter-spacing:.12em}.app-main h3{margin-top:1rem;font-size:clamp(1.5rem,3vw,2.7rem)}
.app-stats { display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem }.app-stats span{padding:1.2rem;background:#20243d;color:#9298b8;font-size:.7rem}.app-stats b{display:block;color:white;font-size:1.8rem}
.app-chart { height:170px;margin-top:1rem;padding:1.5rem;display:flex;align-items:end;gap:6%;background:#20243d }.app-chart i{flex:1;background:linear-gradient(#7b86ff,var(--service-blue))}
.app-toast { position:absolute;right:4%;bottom:6%;padding:.85rem 1rem;background:white;color:#15182d;box-shadow:0 15px 35px rgba(0,0,0,.3);font-size:.8rem;font-weight:700 }
.visual-product { background:#e9eaff; border:1px solid #d7d9ff; }
.flow-card { position:absolute;left:5%;top:8%;width:64%;padding:1.2rem;background:white;box-shadow:0 20px 45px rgba(33,40,110,.13);transform:rotate(-3deg)}.flow-card small{font-weight:700}.flow-card div{display:flex;align-items:center;gap:8%;margin-top:1.2rem}.flow-card i{width:24%;height:55px;border:1px solid #cfd3ff;background:#f7f7ff}.flow-card i:not(:last-child)::after{content:"→";position:absolute;margin:16px 0 0 9%}
.design-screen { position:absolute;right:5%;bottom:7%;width:72%;height:62%;padding:1rem;background:#fff;box-shadow:0 25px 55px rgba(33,40,110,.18);transform:rotate(2deg)}.design-toolbar{font-size:.67rem;color:var(--ink-faint)}.design-ui{height:82%;margin-top:1rem;padding:8%;background:#f4f5ff}.design-ui i{display:block;height:12%;margin-bottom:9%;background:#ccd1ff}.design-ui i:nth-child(2){width:65%;height:32%;background:var(--service-blue)}
.comment-pin { position:absolute;right:9%;top:22%;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--service-blue);color:white;font-weight:800}.comment-bubble{position:absolute;right:2%;top:29%;padding:.7rem;background:white;box-shadow:0 10px 25px rgba(30,35,90,.14);font-size:.7rem}
.visual-creative { background:#ffdf45; overflow:hidden; }
.creative-poster,.creative-social,.creative-slide { position:absolute;box-shadow:0 22px 50px rgba(61,42,0,.18) }.creative-poster{left:8%;top:8%;width:48%;height:66%;padding:9%;color:white;background:var(--service-blue);transform:rotate(-4deg)}.creative-poster small{font-size:.6rem;text-transform:uppercase;letter-spacing:.14em}.creative-poster strong{display:block;margin-top:45%;font-size:clamp(1.7rem,4vw,3.6rem);line-height:.82;letter-spacing:-.06em}.creative-poster em{color:#ffdf45}
.creative-social{right:8%;top:5%;width:33%;aspect-ratio:1;padding:6%;background:#ff6b82;transform:rotate(5deg)}.creative-social span{font-size:.65rem;font-weight:700}.creative-social b{display:block;margin-top:35%;font-size:3rem}
.creative-slide{right:4%;bottom:7%;width:50%;height:37%;padding:5%;background:white;transform:rotate(-2deg)}.creative-slide small{color:var(--service-blue);text-transform:uppercase;letter-spacing:.12em}.creative-slide strong{display:block;margin-top:10%;font-size:clamp(1.2rem,2.5vw,2.2rem)}.creative-slide i{display:block;width:55%;height:5px;margin-top:8%;background:#ff6b82}
.creative-strip{position:absolute;left:-4%;right:-4%;bottom:4%;padding:.65rem;background:#141629;color:white;text-align:center;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;transform:rotate(2deg)}
.visual-support { padding:clamp(1.5rem,4vw,3rem); background:#f7f8fb; border:1px solid #e1e4ee; }
.support-head { display:flex;justify-content:space-between;padding-bottom:1.5rem;border-bottom:1px solid #dfe2eb}.support-head span{font-weight:750}.support-head span i{display:inline-block;width:9px;height:9px;margin-right:.6rem;border-radius:50%;background:#24b47e;box-shadow:0 0 0 5px rgba(36,180,126,.12)}.support-head small{color:var(--ink-faint)}
.uptime { margin-top:clamp(2rem,5vw,4rem); }.uptime small{color:var(--ink-faint)}.uptime strong{display:block;font-size:clamp(3rem,7vw,6rem);line-height:1;color:var(--service-blue);letter-spacing:-.07em}.uptime div{display:flex;gap:3px;margin-top:1.5rem}.uptime i{height:36px;flex:1;background:#24b47e}.uptime i:nth-child(9){background:#ffd15c}
.support-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.support-metrics span{padding:1rem;background:white;border:1px solid #e1e4ee}.support-metrics small,.support-metrics b{display:block}.support-metrics small{color:var(--ink-faint);font-size:.65rem}.support-metrics b{margin-top:.4rem;font-size:.85rem}
.engagements { padding:var(--section-y) 0; background:#111426; color:#fff; }
.engagements__heading { display:grid;grid-template-columns:.6fr 1.4fr;gap:4rem;align-items:start }.engagements__heading h2{max-width:13ch;font-size:clamp(2.5rem,5vw,5rem);line-height:.95;letter-spacing:-.055em}.engagements .eyebrow{color:#8f9aff}
.engagements__track { display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(4rem,8vw,7rem);border-block:1px solid rgba(255,255,255,.15) }.engagements__item{padding:2.4rem 2rem 3rem 0}.engagements__item+ .engagements__item{padding-left:2rem;border-left:1px solid rgba(255,255,255,.15)}.engagements__item>span{color:#8f9aff;font-size:.75rem}.engagements__item h3{margin-top:3rem;font-size:1.5rem}.engagements__item p{margin-top:1rem;color:#aeb2c7;line-height:1.6}
.services-overview .contact-title { max-width:13ch; margin-inline:auto; }.services-overview .contact-text{max-width:55ch;margin-inline:auto}

@media (max-width:860px){
  .services-overview__hero-grid,.overview-service__grid{grid-template-columns:1fr}.services-overview__hero-aside{max-width:600px}.services-overview__intro-grid{grid-template-columns:1fr}.overview-service:nth-child(even) .overview-service__copy{order:0}.overview-service__copy{max-width:650px}.overview-service__visual>div{min-height:500px}.engagements__heading{grid-template-columns:1fr;gap:1.5rem}.engagements__track{grid-template-columns:1fr}.engagements__item+.engagements__item{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.15)}
}
@media (max-width:540px){
  .services-overview__hero-map{grid-template-columns:1fr 1fr}.services-overview__hero-map i{display:none}.services-overview__hero-copy h1{font-size:clamp(3.2rem,16vw,4.7rem)}.overview-service{padding:4.5rem 0}.overview-service__visual>div{min-height:370px}.mock-mobile{right:3%;bottom:5%;width:24%}.mock-site{min-height:250px}.app-sidebar{display:none}.visual-app{grid-template-columns:1fr}.support-metrics{grid-template-columns:1fr}.support-metrics span{padding:.65rem 1rem}.engagements__item{padding-block:2rem}.engagements__item h3{margin-top:1.5rem}
}

/* Reusable single service template */
.single-service { --service-blue:#2838f7; background:#fff; }
.single-service h1,.single-service h2 { letter-spacing:-.06em; text-wrap:balance; }
.single-service__hero { padding:clamp(9rem,16vh,11rem) 0 clamp(5rem,9vw,8rem); background:#f7f8ff; overflow:hidden; }
.single-service__hero-grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr); align-items:center; gap:clamp(3rem,7vw,7rem); }
.single-service__hero-copy h1 { max-width:9ch; margin-top:1.2rem; font-size:clamp(3.8rem,7vw,7rem); line-height:.88; }
.single-service__statement { max-width:31ch; margin-top:2rem; font-size:clamp(1.35rem,2.2vw,2rem); line-height:1.28; font-weight:650; letter-spacing:-.03em; }
.single-service__description { max-width:56ch; margin-top:1.25rem; color:var(--ink-soft); line-height:1.7; }
.single-service__hero-visual>div { position:relative; min-height:clamp(430px,45vw,590px); box-shadow:0 35px 80px rgba(31,39,115,.12); }
.single-service__problem,.single-service__capabilities,.single-service__fit,.single-service__process,.single-service__related { padding:var(--section-y) 0; }
.single-service__problem-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:clamp(4rem,10vw,10rem); }
.single-service__section-intro h2,.single-service__cap-head h2,.single-service__process-head h2,.single-service__related-head h2 { margin-top:1.2rem; max-width:13ch; font-size:clamp(2.8rem,5vw,5.3rem); line-height:.96; }
.single-service__pain { display:grid; grid-template-columns:3rem 1fr; gap:1rem; padding:1.5rem 0; border-top:1px solid var(--line); }
.single-service__pain:last-child { border-bottom:1px solid var(--line); }.single-service__pain span,.single-service__cap>span,.single-service__process-list>li>span { color:var(--service-blue); font-size:.72rem; font-weight:800; letter-spacing:.12em; }.single-service__pain p{font-size:1.08rem;line-height:1.55}
.single-service__capabilities { background:#f3f4ff; }
.single-service__cap-head { display:grid; grid-template-columns:.55fr 1.45fr; gap:3rem; align-items:start; }.single-service__cap-head h2{margin-top:0;max-width:16ch}
.single-service__cap-list { margin-top:clamp(4rem,8vw,7rem); border-top:1px solid #cfd3ee; }
.single-service__cap { display:grid; grid-template-columns:8% 34% 1fr; gap:2rem; align-items:start; padding:2.2rem 0; border-bottom:1px solid #cfd3ee; transition:padding .3s var(--ease),color .3s var(--ease); }.single-service__cap:hover{padding-inline:1rem;color:var(--service-blue)}
.single-service__cap h3 { font-size:clamp(1.35rem,2.2vw,2rem); letter-spacing:-.035em; }.single-service__cap p{max-width:45ch;color:var(--ink-soft);line-height:1.65}
.single-service__feature { padding:var(--section-y) 0; overflow:hidden; }.single-service__feature-head{display:grid;grid-template-columns:.45fr 1fr;gap:3rem;margin-bottom:3rem}.single-service__feature-head>p:last-child{max-width:38ch;font-size:clamp(1.5rem,2.8vw,2.7rem);line-height:1.2;font-weight:620;letter-spacing:-.04em}
.single-service__feature-canvas>div { position:relative; min-height:clamp(560px,68vw,820px); }.single-service__feature-canvas .mock-site{min-height:500px}.single-service__feature-canvas .app-chart{height:270px}
.single-service__fit { background:#121526; color:#fff; }.single-service__fit .eyebrow{color:#99a3ff}.single-service__fit-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(4rem,10vw,10rem);align-items:start}.single-service__fit h2{max-width:13ch;margin-top:1.2rem;font-size:clamp(3rem,5vw,5.2rem);line-height:.96}.single-service__fit ul{list-style:none;padding:0;border-top:1px solid rgba(255,255,255,.18)}.single-service__fit li{padding:1.35rem 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:1.08rem}
.single-service__process-head{display:grid;grid-template-columns:.55fr 1.45fr;gap:3rem}.single-service__process-head h2{margin-top:0}.single-service__process-list{list-style:none;padding:0;margin-top:clamp(4rem,8vw,7rem);display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.single-service__process-list li{padding:2rem 2rem 3rem 0}.single-service__process-list li+li{padding-left:2rem;border-left:1px solid var(--line)}.single-service__process-list h3{margin-top:4rem;font-size:1.5rem;letter-spacing:-.035em}.single-service__process-list p{margin-top:1rem;color:var(--ink-soft);line-height:1.6;font-size:.94rem}
.single-service__proof{padding:var(--section-y) 0;background:#eef0ff}.single-service__proof-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:1.5rem}.single-service__proof-main,.single-service__proof-side{position:relative;min-width:0;background:white}.single-service__proof-main>div{position:relative;min-height:570px}.single-service__placeholder{position:absolute;z-index:5;top:1rem;left:1rem;padding:.55rem .75rem;background:white;color:var(--ink);box-shadow:0 8px 20px rgba(20,25,70,.12);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.single-service__proof-side{display:grid;place-items:center;min-height:570px;background:var(--service-blue);color:white}.single-service__proof-lines{width:65%}.single-service__proof-lines i{display:block;height:1px;margin:1.3rem 0;background:rgba(255,255,255,.35)}.single-service__proof-lines i:nth-child(2){width:70%}.single-service__proof-lines i:nth-child(3){width:42%}.single-service__proof-lines b{display:block;margin-top:4rem;font-size:clamp(2rem,4vw,3.7rem);line-height:.95;letter-spacing:-.05em}
.single-service__related{background:#fff}.single-service__related-head{display:grid;grid-template-columns:.55fr 1.45fr;gap:3rem}.single-service__related-head h2{margin-top:0}.single-service__related-list{margin-top:4rem;border-top:1px solid var(--line)}.single-service__related-list article{display:grid;grid-template-columns:8% 1fr auto;gap:1rem;align-items:center;padding:1.7rem 0;border-bottom:1px solid var(--line)}.single-service__related-list article>span{color:var(--service-blue);font-size:.75rem}.single-service__related-list h3{font-size:clamp(1.4rem,2.7vw,2.4rem);letter-spacing:-.04em}.single-service__related-list a{color:var(--service-blue);font-weight:750}
.single-service__cta{padding:clamp(6rem,12vw,11rem) 0;background:var(--service-blue);color:#fff;text-align:center}.single-service__cta .eyebrow{color:#bdc3ff}.single-service__cta h2{max-width:14ch;margin:1.3rem auto 0;font-size:clamp(3.2rem,7vw,7rem);line-height:.9}.single-service__cta p:not(.eyebrow){max-width:50ch;margin:1.7rem auto 0;color:#dfe2ff}.single-service__cta-button{margin-top:2rem;background:white;color:var(--service-blue)}
@media(max-width:900px){.single-service__hero-grid,.single-service__problem-grid,.single-service__fit-grid{grid-template-columns:1fr}.single-service__hero-visual>div{min-height:520px}.single-service__cap-head,.single-service__process-head,.single-service__related-head{grid-template-columns:1fr}.single-service__process-list{grid-template-columns:1fr 1fr}.single-service__process-list li:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}.single-service__process-list li:nth-child(4){border-top:1px solid var(--line)}.single-service__proof-grid{grid-template-columns:1fr}.single-service__proof-side{min-height:360px}}
@media(max-width:600px){.single-service__hero-copy h1{font-size:clamp(3.2rem,15vw,4.8rem)}.single-service__hero-visual>div,.single-service__feature-canvas>div{min-height:380px}.single-service__cap{grid-template-columns:2.5rem 1fr}.single-service__cap p{grid-column:2}.single-service__feature-head{grid-template-columns:1fr}.single-service__process-list{grid-template-columns:1fr}.single-service__process-list li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}.single-service__process-list h3{margin-top:2rem}.single-service__proof-main>div{min-height:390px}.single-service__related-list article{grid-template-columns:2.5rem 1fr}.single-service__related-list a{grid-column:2}.single-service__feature-canvas .mock-site{min-height:250px}}

.fractional-service .single-service__hero-copy h1 { max-width:12ch; font-size:clamp(3.35rem,6.2vw,6.3rem); }
.fractional-service .single-service__hero-copy .hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.fractional-service .single-service__problem .single-service__cap-list,
.fractional-service__engagements .single-service__cap-list { margin-top:clamp(3rem,6vw,5rem); }
.fractional-service__capability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:clamp(4rem,8vw,7rem); background:#cfd3ee; border:1px solid #cfd3ee; }
.fractional-service__capability { padding:clamp(2rem,4vw,3.5rem); background:#f3f4ff; }
.fractional-service__capability>span { color:var(--service-blue); font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.fractional-service__capability h3 { margin-top:1.5rem; font-size:clamp(1.5rem,2.5vw,2.2rem); letter-spacing:-.04em; }
.fractional-service__capability ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1.5rem; margin:2rem 0 0; padding:0; list-style:none; }
.fractional-service__capability li { padding-top:.8rem; border-top:1px solid #cfd3ee; color:var(--ink-soft); line-height:1.45; }
.fractional-service__why { padding:var(--section-y) 0; background:#eef0ff; }
.fractional-service__why-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); gap:clamp(4rem,10vw,10rem); }
.fractional-service__why h2 { max-width:13ch; margin-top:1.2rem; font-size:clamp(3rem,5vw,5.2rem); line-height:.96; }
.fractional-service__why-copy { padding-top:2.2rem; border-top:1px solid #cfd3ee; }
.fractional-service__why-copy p { font-size:clamp(1.05rem,1.5vw,1.22rem); line-height:1.75; }
.fractional-service__why-copy p+p { margin-top:1.5rem; }
.fractional-service__cta-actions { justify-content:center; margin-top:2rem; }
.fractional-service__cta-actions .single-service__cta-button { margin-top:0; }
.fractional-service__email { border:1px solid rgba(255,255,255,.5); color:white; }
.fractional-service__email:hover { background:white; color:var(--service-blue); }
@media(max-width:900px) { .fractional-service__why-grid { grid-template-columns:1fr; } .fractional-service__capability-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .fractional-service__capability ul { grid-template-columns:1fr; } .fractional-service__cta-actions { align-items:stretch; } .fractional-service__cta-actions .btn { width:100%; } .fractional-service__email { font-size:.85rem; } }

/* Insights — intentionally compact until the editorial archive launches */
.insights-coming-soon {
  --insights-blue: #2838F7;
  background: var(--bg);
}
.insights-coming-soon__hero {
  min-height: min(900px, 100svh);
  padding-block: clamp(8.5rem, 16vh, 11rem) clamp(5rem, 10vh, 7.5rem);
  display: grid;
  align-items: center;
}
.insights-coming-soon__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(390px, .97fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}
.insights-coming-soon__copy { max-width: 700px; }
.insights-coming-soon__copy .eyebrow { color: var(--insights-blue); }
.insights-coming-soon__title {
  margin-top: clamp(1.3rem, 3vh, 2rem);
  font-family: var(--serif);
  font-size: clamp(4rem, 7.4vw, 7.1rem);
  font-weight: 400;
  line-height: .91;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.insights-coming-soon__title em { color: var(--insights-blue); font-weight: 400; }
.insights-coming-soon__intro {
  max-width: 580px;
  margin-top: clamp(2rem, 4vw, 3rem);
  color: var(--ink-soft);
  font-size: clamp(1.05rem, 1.45vw, 1.22rem);
  line-height: 1.6;
}
.insights-coming-soon__actions {
  margin-top: clamp(2rem, 4vw, 2.8rem);
  display: flex;
  align-items: center;
  gap: 1.35rem;
}
.insights-coming-soon__actions > span { color: var(--ink-faint); font-size: .86rem; }
.insights-coming-soon__cta { background: var(--insights-blue); color: white; }
.insights-coming-soon__cta:hover { background: var(--ink); transform: translateY(-2px); }

.insights-signal {
  min-height: clamp(480px, 63vh, 650px);
  padding: 1rem;
  display: grid;
  grid-template-rows: auto 1fr auto;
  border: 1px solid color-mix(in srgb, var(--insights-blue) 20%, transparent);
  background: var(--paper);
  overflow: hidden;
}
.insights-signal__meta,
.insights-signal__footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--ink-faint);
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.insights-signal__field { position: relative; margin-block: 1rem; overflow: hidden; background: #f2f3ff; }
.insights-signal__field > i {
  position: absolute;
  inset: 0 auto 0 calc(var(--line-index) * 12.5%);
  width: 1px;
  background: color-mix(in srgb, var(--insights-blue) 16%, transparent);
}
.insights-signal__field > i:nth-child(1) { --line-index: 0; }
.insights-signal__field > i:nth-child(2) { --line-index: 1; }
.insights-signal__field > i:nth-child(3) { --line-index: 2; }
.insights-signal__field > i:nth-child(4) { --line-index: 3; }
.insights-signal__field > i:nth-child(5) { --line-index: 4; }
.insights-signal__field > i:nth-child(6) { --line-index: 5; }
.insights-signal__field > i:nth-child(7) { --line-index: 6; }
.insights-signal__field > i:nth-child(8) { --line-index: 7; }
.insights-signal__field > i:nth-child(9) { --line-index: 8; }
.insights-signal__orb {
  position: absolute;
  width: 76%;
  aspect-ratio: 1;
  right: -27%;
  top: -15%;
  border-radius: 50%;
  background: var(--insights-blue);
  box-shadow: 0 30px 70px rgba(40, 56, 247, .2);
}
.insights-signal__orb::after {
  content: "";
  position: absolute;
  inset: 15%;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: inherit;
}
.insights-signal__card {
  position: absolute;
  left: clamp(1.25rem, 4vw, 2.5rem);
  bottom: clamp(1.25rem, 4vw, 2.5rem);
  width: min(65%, 280px);
  padding: clamp(1.3rem, 3vw, 2rem);
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(40,56,247,.15);
  backdrop-filter: blur(12px);
  box-shadow: 0 24px 50px rgba(29, 33, 75, .1);
}
.insights-signal__card span { color: var(--insights-blue); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.insights-signal__card b { display: block; margin-top: 1.4rem; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 400; line-height: .96; }

@media (prefers-reduced-motion: no-preference) {
  .insights-signal__orb { animation: insights-drift 9s ease-in-out infinite alternate; }
  @keyframes insights-drift { to { transform: translate(-4%, 5%) scale(1.04); } }
}
@media (max-width: 900px) {
  .insights-coming-soon__hero { min-height: auto; }
  .insights-coming-soon__grid { grid-template-columns: 1fr; }
  .insights-coming-soon__copy { max-width: 740px; }
  .insights-signal { min-height: 520px; }
}
@media (max-width: 540px) {
  .insights-coming-soon__hero { padding-top: 7.5rem; }
  .insights-coming-soon__title { font-size: clamp(3.35rem, 17vw, 4.8rem); }
  .insights-coming-soon__actions { align-items: flex-start; flex-direction: column; gap: .9rem; }
  .insights-coming-soon__cta { width: 100%; }
  .insights-signal { min-height: 420px; padding: .75rem; }
  .insights-signal__field { margin-block: .75rem; }
  .insights-signal__card { width: 70%; }
}

/* Insights listing and reusable editorial article */
.insights-index,.single-insight{background:var(--bg)}
.insights-hero{padding:clamp(9rem,17vh,12rem) 0 clamp(4.5rem,9vw,7rem);border-bottom:1px solid var(--line)}
.insights-hero__inner,.insight-header__inner{max-width:960px;margin-inline:auto}.insights-hero h1,.insight-header h1{max-width:14ch;margin-top:1rem;font-family:var(--serif);font-size:clamp(3.3rem,7vw,6.3rem);font-weight:400;line-height:.94;letter-spacing:-.035em;text-wrap:balance}.insights-hero__inner>p:last-child,.insight-header__excerpt{max-width:68ch;margin-top:2rem;color:var(--ink-soft);font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.65}
.insights-empty,.featured-insight,.insights-latest,.insight-related{padding:var(--section-y) 0}.insights-empty,.featured-insight,.insight-related{background:var(--paper)}.insights-empty__inner{max-width:790px;margin-inline:auto}.insights-empty h2,.insights-section-head h2,.insight-related>div>h2{margin-top:1rem;font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:1}.insights-empty p:not(.eyebrow){max-width:58ch;margin-top:1.4rem;color:var(--ink-soft)}.insights-empty .btn{margin-top:2rem}
.featured-insight__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:clamp(2rem,6vw,6rem);align-items:center}.featured-insight__grid>img,.insight-card img{width:100%;aspect-ratio:3/2;object-fit:contain;background:var(--beige)}.featured-insight h2{margin-top:1rem;font-family:var(--serif);font-size:clamp(2.3rem,4vw,4.1rem);font-weight:400;line-height:1}.featured-insight h2+p,.insight-card h3+p{margin-top:1rem;color:var(--ink-soft)}.insight-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:1.4rem;color:var(--ink-faint);font-size:.82rem}.featured-insight .text-link,.insight-card .text-link{margin-top:1.5rem}
.featured-insight__grid>picture,.insight-card picture{display:block;min-width:0}.featured-insight__grid picture img,.insight-card picture img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:var(--beige)}
.insights-section-head{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-bottom:3rem}.insight-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.insight-filters button{min-height:44px;padding:.65rem 1rem;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--ink-soft);cursor:pointer}.insight-filters button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:white}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem)}.insight-card{min-width:0;border-top:1px solid var(--ink);padding-top:1rem}.insight-card>a{display:flex;height:100%;flex-direction:column}.insight-card__body{display:flex;flex:1;flex-direction:column;padding-top:1.5rem}.insight-card h3{margin-top:.8rem;font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,2rem);font-weight:400;line-height:1.12}.insight-card h3+p{font-size:.96rem}.insight-card .insight-meta{margin-top:auto;padding-top:1.4rem}.insight-filter-empty{padding:3rem;border-block:1px solid var(--line)}
.insights-cta,.insight-final-cta{padding:var(--section-y) 0;background:var(--accent-tint)}.insights-cta__inner,.insight-final-cta>div{max-width:850px;margin-inline:auto;text-align:center}.insights-cta h2,.insight-final-cta h2{max-width:17ch;margin:1rem auto 0;font-family:var(--serif);font-size:clamp(2.7rem,5vw,4.8rem);font-weight:400;line-height:1}.insights-cta__inner>p:not(.eyebrow),.insight-final-cta>div>p:not(.eyebrow){max-width:60ch;margin:1.4rem auto 0;color:var(--ink-soft)}.insights-cta__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.insight-header{padding:9rem 0 4rem;background:var(--paper)}.insight-draft-label{display:inline-block;margin-bottom:1.5rem;padding:.45rem .7rem;background:#fff1c9;color:#5c4600;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;padding:0;list-style:none;color:var(--ink-faint);font-size:.8rem}.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:.4rem}.breadcrumbs li:last-child{max-width:42ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insight-header .eyebrow{margin-top:2.5rem;color:var(--accent)}.insight-byline{display:flex;flex-wrap:wrap;gap:.65rem 1.4rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line);color:var(--ink-faint);font-size:.86rem}.insight-hero-image{margin-top:4rem}.insight-hero-image img{width:100%;height:auto;max-height:780px;object-fit:contain;background:var(--beige)}
.insight-hero-image picture{display:block}.insight-hero-image picture img{display:block}
.insight-reading-layout{display:grid;grid-template-columns:230px minmax(0,720px);gap:clamp(3rem,7vw,7rem);justify-content:center;padding-block:var(--section-y)}.insight-toc{align-self:start;position:sticky;top:105px}.insight-toc summary{font-weight:700;cursor:pointer}.insight-toc ol{margin:1rem 0 0;padding-left:1.2rem;color:var(--ink-soft);font-size:.88rem}.insight-toc li+li{margin-top:.65rem}.insight-toc a:hover{color:var(--accent)}.insight-body{min-width:0;font-family:var(--serif);font-size:1.15rem;line-height:1.8}.insight-body>p+p{margin-top:1.5rem}.insight-body h2,.insight-body h3{scroll-margin-top:110px;font-weight:500;line-height:1.15}.insight-body h2{margin:4rem 0 1.4rem;font-size:clamp(2rem,4vw,3rem)}.insight-body h3{margin:2.7rem 0 1rem;font-size:1.55rem}.insight-body ul,.insight-body ol{margin:1.5rem 0;padding-left:1.5rem}.insight-body li+li{margin-top:.55rem}.insight-body a:not(.btn){color:var(--accent);text-decoration:underline;text-underline-offset:3px}.insight-body blockquote{margin:2.5rem 0;padding:1.5rem 0 1.5rem 2rem;border-left:3px solid var(--accent)}.insight-body cite,.insight-body figcaption{display:block;margin-top:.8rem;color:var(--ink-faint);font-family:var(--sans);font-size:.8rem}.insight-body figure{margin:2.5rem 0}.insight-body figure img{width:100%;height:auto}.insight-callout,.insight-inline-cta{margin:2.5rem 0;padding:clamp(1.5rem,4vw,2.5rem);background:var(--accent-tint);font-family:var(--sans)}.insight-callout h3,.insight-inline-cta h2{margin:0 0 .75rem;font-family:var(--serif)}.insight-inline-cta h2{font-size:clamp(1.8rem,3vw,2.5rem)}.insight-inline-cta .eyebrow{margin-bottom:1rem}.insight-inline-cta .btn{margin-top:1.5rem}.insight-table>div{overflow-x:auto}.insight-table table{width:100%;min-width:520px;border-collapse:collapse;font-family:var(--sans);font-size:.9rem}.insight-table th,.insight-table td{padding:.9rem;text-align:left;border:1px solid var(--line)}.insight-table th{background:var(--beige)}.insight-body pre{max-width:100%;margin:2.5rem 0;padding:1.5rem;overflow:auto;background:#171716;color:#f8f7f1;font-size:.88rem;line-height:1.6}
.insight-related{border-top:1px solid var(--line)}.insight-related>div>h2{max-width:16ch}.insight-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:3rem;background:var(--line)}.insight-related__grid article{padding:clamp(1.5rem,3vw,2.5rem);background:var(--paper)}.insight-related__grid h3{font-family:var(--serif);font-size:1.7rem;font-weight:400}.insight-related__grid p{margin-top:1rem;color:var(--ink-soft);font-size:.94rem}.insight-related__grid .text-link{margin-top:1.4rem}.insight-related--reading{background:var(--bg)}
@media(max-width:900px){.featured-insight__grid{grid-template-columns:1fr}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-section-head{align-items:start;flex-direction:column}.insight-filters{justify-content:flex-start}.insight-reading-layout{grid-template-columns:1fr;gap:2.5rem}.insight-toc{position:static;max-width:720px}.insight-related__grid{grid-template-columns:1fr}}
@media(max-width:560px){.insights-hero h1,.insight-header h1{font-size:clamp(2.9rem,14vw,4.1rem)}.insight-grid{grid-template-columns:1fr}.insight-filters{width:100%}.insight-filters button{flex:1 1 auto}.insight-header{padding-top:7.5rem}.insight-byline{flex-direction:column}.insight-reading-layout{padding-block:4rem}.insight-body{font-size:1.05rem}.insight-body h2{margin-top:3rem}.insights-cta__actions{align-items:stretch;flex-direction:column}.insights-cta__actions .btn{width:100%}}

/* Cascade guard: keep the shared quality rules authoritative. */
.container { max-width: var(--content-wide); padding-inline: max(clamp(1.1rem, 4vw, 3.5rem), env(safe-area-inset-left)); }

/* Dark-surface contract: dark blocks must not depend on inherited text colour.
   This keeps WordPress/global heading and link rules from creating dark-on-dark
   regressions while preserving each component's established button variant. */
:is(
  .contact,
  .about-body,
  .deliverables-showcase,
  .about-page__cta,
  .engagements,
  .single-service__cta,
  .case-cta,
  .single-service__proof-side,
  .services-grid--preview .service-card:nth-child(odd)
) :where(h1, h2, h3, h4, h5, h6, .section-title, .contact-title, .service-title, .service-title a) {
  color: #fff;
}
:is(
  .contact,
  .about-body,
  .deliverables-showcase,
  .about-page__cta,
  .engagements,
  .single-service__cta,
  .case-cta,
  .single-service__proof-side,
  .services-grid--preview .service-card:nth-child(odd)
) :where(p, li, .section-intro, .service-desc) {
  color: rgba(255, 255, 255, .76);
}
:is(
  .contact,
  .about-body,
  .deliverables-showcase,
  .about-page__cta,
  .engagements,
  .single-service__cta,
  .case-cta
) .eyebrow {
  color: #aeb5ff;
}
:is(
  .contact,
  .about-body,
  .deliverables-showcase,
  .about-page__cta,
  .engagements,
  .single-service__cta,
  .case-cta,
  .services-grid--preview .service-card:nth-child(odd)
) :where(a:not(.btn), .text-link, .card-link) {
  color: #fff;
}
:is(
  .contact,
  .about-body,
  .deliverables-showcase,
  .about-page__cta,
  .engagements,
  .single-service__cta,
  .case-cta,
  .services-grid--preview .service-card:nth-child(odd)
) :where(a:not(.btn), .text-link, .card-link):is(:hover, :focus-visible, :active, :visited) {
  color: #fff;
  border-color: rgba(255, 255, 255, .8);
}
.contact .btn-primary:is(:hover, :focus-visible, :active),
.single-service__cta-button:is(:hover, :focus-visible, :active) {
  color: var(--accent);
}
.about-page__cta .btn:is(:hover, :focus-visible, :active),
.case-cta .btn-primary:is(:hover, :focus-visible, :active) {
  color: #fff;
}
.case-cta .btn-ghost:is(:hover, :focus-visible, :active, :visited) {
  border-color: #fff;
  background: #fff;
  color: var(--ink);
}
:where(button, .btn, .nav-cta, .text-link, .card-link, .team-link) { min-height: 44px; }
.btn { min-width: 9.5rem; line-height: 1.2; }
.nav-desktop > a { display: inline-flex; align-items: center; min-height: 44px; }
.nav-mobile { max-height: calc(100dvh - 66px); overflow-y: auto; overscroll-behavior: contain; }
.nav-mobile .nav-cta { min-height: 52px; }
.project-visual img { width: 100%; height: 100%; object-fit: cover; }
.footer-brand > p:first-of-type { max-width: 44ch; margin-top: 1.25rem; color: var(--ink-soft); }

@media (max-width: 900px) and (min-width: 541px) {
  .hero-title, .about-page__hero h1, .services-overview__hero-copy h1, .single-service__hero-copy h1 { font-size: clamp(3.6rem, 10vw, 5.8rem); }
  .overview-service__visual > div { min-height: clamp(420px, 68vw, 540px); }
}

@media (max-width: 540px) {
  .container { padding-inline: max(1.1rem, env(safe-area-inset-left)); }
  .eyebrow { font-size: .69rem; line-height: 1.4; }
  .section-head { margin-bottom: 2.5rem; }
  .section-title { font-size: clamp(2.2rem, 11vw, 3.35rem); line-height: 1; }
  .page-title { font-size: clamp(2.9rem, 14vw, 4.1rem); }
  .page-hero-sub, .section-intro { font-size: 1rem; }
  .btn { width: 100%; white-space: normal; text-align: center; }
  .contact-actions { align-items: stretch; flex-direction: column; }
  .case-hero { padding-top: 7.75rem; padding-bottom: 3.75rem; }
  .case-hero__title { max-width: 100%; font-size: clamp(3rem, 15vw, 4.2rem); line-height: .94; letter-spacing: -.055em; }
  .case-hero__intro { font-size: clamp(1.45rem, 8vw, 2rem); }
  .case-section, .case-services, .case-cta { padding-inline: 1.1rem; }
  .case-copy > h2, .case-gallery__heading h2 { font-size: clamp(2.2rem, 11vw, 3.25rem); line-height: 1.02; }
  .case-media, .case-media--wide { width: calc(100% - 2.2rem); }
  .case-gallery__pair .case-art { min-height: 0; }
  .footer-col a, .footer-mail { min-height: 44px; display: inline-flex; align-items: center; }
}
