:root {
  --ink:#1D2131;
  --ink-muted:rgba(29,33,49,.76);
  --surface:#FBF9F5;
  --cream:#FBF9F5;
  --surface-blue:#D8ECEE;
  --blue:#D8ECEE;
  --lime:#D6E070;
  --yellow:#F1CF52;
  --white:#FFFFFF;
  --lavender:#FBF9F5;
  --pop-blue:#D8ECEE;
  --pop-mint:#D6E070;
  --fs-h1:clamp(3rem,10vw,6.5rem);
  --fs-h2:clamp(2.35rem,6vw,4.5rem);
  --fs-h3:clamp(1.45rem,3vw,2.15rem);
  --fs-subhead:clamp(1.22rem,1.15rem + .55vw,1.55rem);
  --fs-eyebrow:clamp(1rem,.9rem + .35vw,1.2rem);
  --fs-body:clamp(1rem,.98rem + .15vw,1.08rem);
}

body {
  color:var(--ink);
  background:var(--surface);
}

h1,
h2,
h3,
.hero h1,
.hero-copy h1,
.need-detail h3,
.case-copy h3,
.service-title h3,
.quiz-intro h2,
.quiz-result-item h3,
.form-question,
.form-success h3,
.direct-head h3,
.experience-copy h3 {
  color:var(--ink) !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
}

h1,
.hero h1,
.hero-copy h1 {
  font-size:var(--fs-h1) !important;
  line-height:.9 !important;
}

h2,
.quiz-intro h2,
.form-question {
  font-size:var(--fs-h2) !important;
  line-height:.96 !important;
}

h3,
.need-detail h3,
.case-copy h3,
.service-title h3,
.quiz-result-item h3,
.form-success h3,
.direct-head h3,
.experience-copy h3 {
  font-size:var(--fs-h3) !important;
  line-height:1.05 !important;
}

.lead,
.subhead,
.hero-intro,
.hero-copy .lead,
.spotlight-intro {
  font-size:var(--fs-subhead) !important;
  line-height:1.45 !important;
  letter-spacing:-.012em;
}

.eyebrow {
  margin-bottom:clamp(18px,1.5vw,24px) !important;
  font-size:var(--fs-eyebrow) !important;
  line-height:1.2 !important;
}

.body-copy {
  font-size:var(--fs-body) !important;
  line-height:1.65 !important;
}

.page-home .split-copy p:last-child,
.page-home .case-copy > p:not(.eyebrow),
.page-help .connected-copy p:last-child,
.page-help .service-body > p,
.page-work .intro-grid > p,
.page-work .featured-copy > p:not(.eyebrow),
.page-work .projects-head > p,
.page-work .spotlight-fact p,
.page-about .experience-copy > p:not(.eyebrow),
.page-about .ideas-copy > p:not(.eyebrow),
.page-about .company-copy > p:not(.eyebrow),
.page-pretty .story-copy p,
.page-pretty .booking-copy li,
.page-pretty .journey-card p,
.page-pretty .experience-copy p {
  font-size:var(--fs-body) !important;
  line-height:1.62 !important;
}

.footer-column h3 {
  color:var(--cream) !important;
  font-size:.8rem !important;
  line-height:1.2 !important;
  letter-spacing:.12em !important;
}

.button:not(.button-dark):not(.button-light),
.nav-cta {
  background-color:var(--lime);
  background-image:linear-gradient(90deg,var(--lime),var(--yellow));
}

.page-home .case-study,
.page-help .connected,
.page-work .featured,
.page-about .experience,
.page-pretty .journey-section {
  background:var(--blue);
  color:var(--ink);
}

.page-work .featured {
  background:var(--white);
}

.page-home .case-study .section-head p:last-child,
.page-help .connected-copy p:last-child,
.page-work .featured-copy > p:not(.eyebrow),
.page-about .experience-copy > p:not(.eyebrow),
.page-pretty .journey-intro .lead,
.page-pretty .journey-note {
  color:var(--ink-muted);
}

.page-help .connection-line span:first-child {
  color:var(--ink);
}

.page-help .connection-line span:nth-child(2) {
  background:var(--ink);
}

.page-help .connection-line span:nth-child(2)::after {
  border-color:var(--ink);
}

.page-work .featured-tags span {
  background:var(--surface-blue);
  color:var(--ink);
}

.page-work .project-card:nth-child(4) .project-art {
  background:var(--cream);
}

.page-pretty .journey-tab {
  background:rgba(255,255,255,.62);
  color:var(--ink);
}

.page-pretty .journey-tab.is-active {
  background:var(--yellow);
}

.page-pretty .journey-panel {
  background:rgba(255,255,255,.4);
}

.page-pretty .journey-stage strong {
  color:var(--ink);
}

.page-pretty .journey-card.client { background:var(--cream); }
.page-pretty .journey-card.team { background:var(--lime); }
.page-pretty .journey-card.system { background:var(--yellow); }

.page-pretty .fact:nth-child(2) { background:var(--yellow); }
.page-pretty .fact:nth-child(4) { background:var(--blue); }
.page-pretty .flow-card.result { padding:28px; background:var(--blue); }

.page-home .split-feature,
.page-home .split-media,
.page-home .split-copy {
  background:var(--cream);
}

.page-home .testimonials {
  background:var(--white);
}

.page-home .testimonial-card {
  background-color:var(--lime);
  background-image:
    radial-gradient(circle at 18% 24%,rgba(214,224,112,.98) 0 22%,transparent 54%),
    radial-gradient(circle at 84% 76%,rgba(241,207,82,.96) 0 24%,transparent 56%),
    linear-gradient(120deg,var(--lime),var(--yellow));
  background-size:150% 150%;
  animation:meshDrift 14s ease-in-out infinite alternate;
}

.site-nav,
footer {
  color:var(--cream) !important;
}

.nav-links > a:not(.nav-cta),
.footer-brand p,
.footer-links a,
.footer-bottom {
  color:rgba(251,249,245,.78) !important;
}

.nav-links > a[aria-current='page'],
.nav-links > a:not(.nav-cta):hover,
.footer-links a:hover,
.footer-column h3 {
  color:var(--cream) !important;
}

.button-dark,
.button-light,
.final .button,
.final-cta .button {
  color:var(--cream) !important;
}

.page-conversation .form-guide,
.page-conversation .contact-option,
.page-conversation .form-guide strong,
.page-conversation .contact-option strong,
.page-conversation .contact-option > span {
  color:var(--cream) !important;
}

.page-help .quiz {
  background:#EEF5F3;
}

.page-help .quiz-intro {
  background:rgba(216,236,238,.72);
}

.page-help .quiz-intro .subhead {
  max-width:24ch;
  margin-top:24px;
}

.page-help .connection-line span:first-child {
  animation:sourceSlide 6s cubic-bezier(.4,0,.2,1) infinite;
}

.page-help .connection-line span:nth-child(2) {
  transform-origin:left center;
  animation:lineGrow 6s cubic-bezier(.4,0,.2,1) infinite;
}

.page-help .connection-line strong {
  clip-path:inset(0 100% 0 0);
  animation:answerReveal 6s cubic-bezier(.4,0,.2,1) infinite;
}

.page-help .connection-line:nth-child(2) > * { animation-delay:.55s; }
.page-help .connection-line:nth-child(3) > * { animation-delay:1.1s; }

@keyframes sourceSlide {
  0%,12%,100% { transform:translateX(0); opacity:1; }
  28%,72% { transform:translateX(12px); opacity:.55; }
  86% { transform:translateX(0); opacity:1; }
}

@keyframes lineGrow {
  0%,12%,100% { transform:scaleX(.08); opacity:.25; }
  32%,76% { transform:scaleX(1); opacity:1; }
  88% { transform:scaleX(.08); opacity:.25; }
}

@keyframes answerReveal {
  0%,24%,100% { clip-path:inset(0 100% 0 0); transform:translateX(-10px); }
  42%,76% { clip-path:inset(0 0 0 0); transform:translateX(0); }
  90% { clip-path:inset(0 100% 0 0); transform:translateX(-10px); }
}

.page-about .metric {
  align-items:center;
  justify-content:center;
  text-align:center;
}

.page-work .projects {
  background:var(--cream);
}

.page-work .projects-head {
  grid-template-columns:1.3fr .5fr;
}

.page-work .projects-head h2 {
  font-size:clamp(2.35rem,4.25vw,3.5rem) !important;
}

.page-work .work-hero h1 {
  font-size:clamp(3.25rem,5.3vw,5.3rem) !important;
}

.page-work .spotlight-gallery-head > p {
  display:none;
}

.page-conversation .phone-actions a {
  background:var(--cream) !important;
  color:var(--ink) !important;
}

.page-conversation .nav-links > a.nav-cta[aria-current='page'] {
  color:var(--ink) !important;
}

.page-conversation .email-option strong,
.page-conversation .phone-option strong {
  color:var(--cream) !important;
}

.final,
.final-cta,
.page-conversation .direct-contact {
  background-color:var(--lime);
  background-image:
    radial-gradient(circle at 16% 28%,rgba(214,224,112,.98) 0 20%,transparent 52%),
    radial-gradient(circle at 82% 74%,rgba(241,207,82,.94) 0 22%,transparent 54%),
    linear-gradient(120deg,var(--lime),var(--yellow));
  background-size:150% 150%;
  animation:meshDrift 14s ease-in-out infinite alternate;
}

.final-inner,
.final-cta-inner {
  display:grid;
  justify-items:center;
  text-align:center;
}

.final h2,
.final p,
.final p:not(.eyebrow),
.final-cta h2,
.final-cta p {
  margin-inline:auto;
}

.final-action {
  justify-content:center !important;
}

.final .button,
.final-cta .button {
  background:var(--ink) !important;
  background-image:none !important;
  color:var(--cream) !important;
}

@media (max-width:900px) {
  .page-work .projects-head {
    grid-template-columns:1fr;
  }

  .site-nav .nav-inner {
    position:relative;
  }

  .mobile-menu-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:44px;
    padding:9px 13px;
    border:1px solid rgba(251,249,245,.24);
    border-radius:7px;
    background:transparent;
    color:var(--cream);
    font:inherit;
    font-size:.92rem;
    font-weight:800;
    cursor:pointer;
  }

  .mobile-menu-icon {
    position:relative;
    width:19px;
    height:14px;
  }

  .mobile-menu-icon::before,
  .mobile-menu-icon::after,
  .mobile-menu-icon span {
    content:'';
    position:absolute;
    left:0;
    width:100%;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transition:transform .2s ease,opacity .2s ease,top .2s ease;
  }

  .mobile-menu-icon::before { top:0; }
  .mobile-menu-icon span { top:6px; }
  .mobile-menu-icon::after { top:12px; }

  .site-nav.menu-open .mobile-menu-icon::before {
    top:6px;
    transform:rotate(45deg);
  }

  .site-nav.menu-open .mobile-menu-icon span { opacity:0; }

  .site-nav.menu-open .mobile-menu-icon::after {
    top:6px;
    transform:rotate(-45deg);
  }

  .site-nav .nav-links {
    position:absolute;
    z-index:100;
    top:calc(100% + 10px);
    right:0;
    width:min(290px,calc(100vw - 30px));
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
    padding:10px;
    border:1px solid rgba(251,249,245,.14);
    border-radius:10px;
    background:var(--ink);
    box-shadow:0 18px 46px rgba(10,13,24,.3);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:opacity .2s ease,visibility .2s ease,transform .2s ease;
  }

  .site-nav.menu-open .nav-links {
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .site-nav .nav-links > a:not(.nav-cta) {
    display:block !important;
    padding:12px 13px;
    border-radius:6px;
    color:var(--cream) !important;
    font-size:1rem !important;
    font-weight:700;
  }

  .site-nav .nav-links > a:not(.nav-cta):hover,
  .site-nav .nav-links > a:not(.nav-cta):focus-visible {
    background:rgba(251,249,245,.1);
  }

  .site-nav .nav-cta {
    display:block;
    margin-top:4px;
    padding:12px 13px !important;
    font-size:1rem !important;
    text-align:center;
  }
}

@media (min-width:901px) {
  .mobile-menu-toggle {
    display:none;
  }
}

@media (max-width:700px) {
  html {
    font-size:17px;
  }

  body {
    font-size:17px !important;
  }

  input,
  textarea,
  select,
  button {
    font-size:16px;
  }

  footer {
    font-size:1rem !important;
  }

  .footer-column h3,
  .footer-bottom {
    font-size:.86rem !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .final,
  .final-cta,
  .page-conversation .direct-contact,
  .page-home .testimonial-card {
    animation:none;
  }

  .page-help .connection-line > * {
    animation:none !important;
    clip-path:none !important;
    transform:none !important;
    opacity:1 !important;
  }
}
