@font-face {
  font-family:Ad Sans;
  src:url('fonts/inter-regular.woff2') format('woff2');
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:Ad Sans;
  src:url('fonts/inter-medium.woff2') format('woff2');
  font-weight:500;
  font-display:swap;
}
@font-face {
  font-family:Ad Sans;
  src:url('fonts/inter-bold.woff2') format('woff2');
  font-weight:700;
  font-display:swap;
}
:root {
  --paper:#fafafa;
  --ink:#202020;
  --soft:#5f5f5f;
  --line:#c3c3c3;
  --panel:#f1f1f1;
  --accent:#c52d42;
  --edge:5.5vw;
  --ornament-mid:#ededed;
  --ornament-edge:#e2e2e2;
  --ornament-rim:rgba(0,0,0,.05);
  color:var(--ink);
  background:var(--paper);
  color-scheme:light;
  font-family:Ad Sans,Arial,sans-serif;
  font-synthesis:none;
}
:root[data-theme=dark] {
  --paper:#141414;
  --ink:#ebebeb;
  --soft:#aaa;
  --line:#555;
  --panel:#1c1c1c;
  --accent:#df5567;
  --ornament-mid:#202020;
  --ornament-edge:#2a2a2a;
  --ornament-rim:rgba(255,255,255,.04);
  color-scheme:dark;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  -webkit-font-smoothing:antialiased;
}
p,h1,h2,h3,figure {
  margin:0;
}
a {
  color:inherit;
  text-decoration:none;
}
a,button {
  -webkit-tap-highlight-color:transparent;
}
button {
  font:inherit;
  color:inherit;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
}
button:disabled {
  cursor:default;
  opacity:.4;
}
a:focus-visible,button:focus-visible {
  outline:1px solid var(--ink);
  outline-offset:5px;
}
::selection {
  color:var(--paper);
  background:var(--ink);
}
[hidden] {
  display:none!important;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
header {
  position:absolute;
  inset:32px var(--edge) auto;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.wordmark {
  font-size:25px;
  line-height:44px;
  letter-spacing:-1.55px;
  font-weight:700;
}
.wordmark span {
  color:var(--accent);
  display:inline-block;
  margin-left:.14em;
  letter-spacing:0;
}
.top-contact {
  font-size:12px;
  line-height:44px;
}
.top-contact {
  line-height:20px;
  text-align:right;
  padding-block:5px;
}
.top-contact span {
  display:block;
}
.top-contact small {
  display:block;
  font-size:9px;
  line-height:15px;
  color:var(--soft);
}
.top-contact:hover span {
  text-decoration:underline;
  text-underline-offset:5px;
}
.skip {
  position:fixed;
  z-index:20;
  top:-100px;
  left:20px;
  background:var(--ink);
  color:var(--paper);
  padding:16px;
  font-size:14px;
}
.skip:focus {
  top:20px;
}
.ad {
  position:relative;
  min-height:max(720px,100svh);
  display:grid;
  align-items:center;
  justify-items:center;
  padding:115px var(--edge) 170px;
}
.ad-idea {
  margin-left:0;
  margin-top:-25px;
  width:310px;
  text-align:center;
  animation:develop 1.2s .1s backwards;
}
.object {
  display:block;
  width:235px;
  margin:0 auto;
  background:var(--paper);
  isolation:isolate;
}
.object img {
  display:block;
  width:100%;
  height:auto;
  mix-blend-mode:multiply;
}
.object .hero-dark {
  display:none;
}
[data-theme=dark] .object .hero-light {
  display:none;
}
[data-theme=dark] .object .hero-dark {
  display:block;
  mix-blend-mode:screen;
}
h1 {
  font-size:20px;
  font-weight:400;
  letter-spacing:-.045em;
  line-height:1.3;
  margin-top:24px;
}
.ad-signature {
  position:absolute;
  left:var(--edge);
  bottom:46px;
  font-size:12px;
  line-height:1.9;
  letter-spacing:-.015em;
}
.ad-signature p+p {
  color:var(--soft);
}
.follow {
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:19px;
  min-width:120px;
  font-size:11px;
  color:var(--soft);
  padding-top:15px;
}
.follow i {
  display:block;
  width:1px;
  height:26px;
  background:var(--line);
  transform-origin:top;
  transition:transform .5s;
}
.follow:hover i {
  transform:scaleY(1.4);
}
.content-shell {
  width:calc(100% - (var(--edge) + 78px)*2);
  max-width:900px;
  margin-inline:auto;
}
h2 {
  font-size:clamp(29px,2.65vw,42px);
  font-weight:400;
  letter-spacing:-.05em;
  line-height:1.16;
}
h3 {
  font-size:19px;
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.4;
}
p {
  font-size:14px;
  line-height:1.85;
  letter-spacing:-.01em;
}
.eyebrow {
  font-size:11px;
  line-height:1.8;
  font-weight:400;
  letter-spacing:0;
  color:var(--soft);
}
.text-link {
  font-size:12px;
  line-height:44px;
  display:inline-block;
  position:relative;
}
.text-link::after {
  content:'';
  position:absolute;
  bottom:8px;
  left:0;
  right:0;
  height:1px;
  background:currentColor;
  transform-origin:left;
  transition:transform .4s,background-color .2s;
}
.text-link:hover::after {
  transform:scaleX(.55);
}
.text-link:hover::after,.text-link:focus-visible::after,.invitation::after {
  background:var(--accent);
}
.practice {
  padding-top:140px;
  padding-bottom:95px;
  scroll-margin-top:70px;
}
.practice-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16%;
}
.practice-intro h2 {
  text-wrap:balance;
}
.intro-copy {
  padding-top:7px;
}
.intro-copy p+p {
  margin-top:18px;
  color:var(--soft);
}
.intro-copy .text-link {
  margin-top:13px;
}
.services {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16%;
  margin-top:115px;
  margin-left:0;
}
.service {
  display:flex;
  flex-direction:column;
}
.service p {
  color:var(--soft);
  margin-top:17px;
}
.service .service-note {
  font-size:11px;
  margin-top:auto;
  padding-top:23px;
  color:var(--ink);
}
.service-separator {
  display:inline-block;
  margin-inline:3px;
}
.clients {
  padding-block:65px 110px;
}
.logo-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  column-gap:8%;
  row-gap:45px;
  list-style:none;
  padding:0;
  margin:43px 0 0;
}
.logo-grid li {
  height:47px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.logo-grid img {
  width:100%;
  max-width:128px;
  height:auto;
  max-height:39px;
  object-fit:contain;
  object-position:left center;
}
.logo-grid .mosaix {
  max-width:107px;
}
.logo-grid .rialty {
  max-width:109px;
}
.logo-grid .benevolve {
  max-width:120px;
}
.logo-grid .mira {
  max-width:85px;
}
.logo-grid .midas {
  max-width:132px;
}
.logo-grid .shiksha {
  max-width:72px;
  max-height:46px;
}
.logo-grid .ionate,.logo-grid .mira {
  transform:scale(.8);
  transform-origin:left center;
}
.logo-ink {
  filter:grayscale(1);
}
.logo-reverse {
  filter:grayscale(1) invert(1);
}
[data-theme=dark] .logo-ink {
  filter:grayscale(1) invert(1);
}
[data-theme=dark] .logo-reverse {
  filter:grayscale(1);
}
.proof {
  position:relative;
  isolation:isolate;
  padding:60px 0 120px;
  --voice-measure:610px;
}
.quote-ornament {
  --diameter:clamp(230px,28vw,350px);
  position:absolute;
  z-index:0;
  pointer-events:none;
  left:calc(100% - min(var(--voice-measure),100% - 150px) - var(--diameter) + 90px);
  top:33px;
  width:var(--diameter);
  height:auto;
  aspect-ratio:360/340;
  overflow:visible;
  mask-image:linear-gradient(125deg,transparent 2%,#000 48%);
  -webkit-mask-image:linear-gradient(125deg,transparent 2%,#000 48%);
}
.quote-heading,.voices,.quote-controls {
  position:relative;
  z-index:1;
}
.quote-heading,.voices,.quote-controls {
  width:calc(100% - 150px);
}
.quote-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  max-width:610px;
  margin-left:auto;
}
.read-all {
  font-size:11px;
  min-height:44px;
  text-decoration:underline;
  text-underline-offset:5px;
}
.voices {
  max-width:610px;
  margin:33px 0 0 auto;
  display:grid;
  gap:50px;
}
.voices blockquote {
  margin:0;
  font-size:clamp(24px,2.5vw,33px);
  letter-spacing:-.04em;
  font-weight:400;
  line-height:1.4;
}
.voices figcaption {
  font-size:12px;
  line-height:1.85;
  margin-top:28px;
}
.voices figcaption span {
  display:block;
  color:var(--soft);
}
.voices.is-carousel:not(.is-expanded) {
  gap:0;
}
.voices.is-carousel:not(.is-expanded) figure {
  grid-area:1/1;
  opacity:0;
  visibility:hidden;
  /* keep the outgoing figure painted while it fades, then release it */
  transition:opacity .35s, visibility 0s linear .35s;
  pointer-events:none;
}
.voices.is-carousel:not(.is-expanded) figure.is-active {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .35s;
}
.voices.is-expanded {
  gap:57px;
}
.voices.is-expanded figure+figure {
  border-top:1px solid var(--line);
  padding-top:43px;
}
.quote-controls {
  display:flex;
  max-width:610px;
  margin:35px 0 0 auto;
  align-items:center;
  justify-content:space-between;
  font-size:10px;
  color:var(--soft);
  gap:15px;
}
.quote-navigation {
  display:flex;
  align-items:center;
  gap:22px;
}
.quote-controls button {
  min-height:44px;
  min-width:44px;
  font-size:11px;
}
.quote-controls button:hover:not(:disabled) {
  color:var(--ink);
}
.quote-counter {
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.beginning {
  padding-block:95px 115px;
  border-top:1px solid var(--line);
}
.beginning h2 {
  font-size:clamp(25px,2.1vw,32px);
}
.process-steps {
  list-style:none;
  padding:0;
  margin:57px 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:16%;
}
.process-step {
  position:relative;
  min-width:0;
}
.process-step:first-child::after {
  content:'';
  position:absolute;
  height:1px;
  background:var(--line);
  top:18px;
  left:48px;
  width:calc(138.095% - 61px);
}
.step-node {
  display:grid;
  place-items:center;
  width:37px;
  height:37px;
  border:1px solid var(--line);
  border-radius:50%;
  font-size:10px;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.025em;
}
.process-step:last-child .step-node {
  color:var(--paper);
  background:var(--ink);
  border-color:var(--ink);
}
.process-step h3 {
  font-size:22px;
  line-height:1.3;
  font-weight:400;
  letter-spacing:-.045em;
  margin-top:27px;
}
.process-step p {
  color:var(--soft);
  margin-top:17px;
  max-width:340px;
}
.audit-preview {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16%;
  background:var(--panel);
  border-radius:12px;
  padding:36px;
  margin:60px -36px 0;
}
.audit-preview h3 {
  font-size:24px;
  font-weight:400;
  letter-spacing:-.04em;
}
.audit-preview p {
  color:var(--soft);
}
.audit-preview .text-link {
  margin-top:13px;
}
.about h2 {
  margin-top:23px;
}
.about {
  padding-block:105px 140px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 16%;
}
.about-heading {
  grid-area:1 / 1;
}
.about-copy {
  grid-area:1 / 2 / 3 / 3;
  padding-top:69px;
}
.about-copy>p+p {
  margin-top:23px;
  color:var(--soft);
}
.about-copy .bio-lead {
  font-size:17px;
  letter-spacing:-.025em;
  line-height:1.65;
}
.credentials {
  margin-top:48px;
  padding-top:25px;
  border-top:1px solid var(--line);
}
.credentials p {
  font-size:11px;
  line-height:1.9;
  color:var(--soft);
}
.credentials a {
  text-decoration:underline;
  text-underline-offset:4px;
  color:var(--ink);
}
.social-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 14px;
  margin-top:23px;
}
.social-links a {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  min-width:44px;
  font-size:11px;
  line-height:1.4;
  color:var(--soft);
}
.social-links svg {
  width:16px;
  height:16px;
  flex:none;
  fill:currentColor;
}
.social-links a:hover {
  color:var(--ink);
}
.off-note {
  grid-area:2 / 1;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:8px 24px;
  margin-top:54px;
}
.off-note-name {
  display:block;
  font-size:23px;
  font-weight:700;
  font-style:italic;
  font-synthesis:style;
  letter-spacing:-.055em;
  white-space:nowrap;
}
.off-word {
  color:var(--accent);
}
.series-dot {
  margin-left:.1em;
}
.off-note-name:hover { color:var(--soft); }
.off-note .off-note-view {
  margin:0;
  font-size:12px;
  font-weight:400;
  letter-spacing:0;
  white-space:nowrap;
}
.conversation {
  min-height:max(660px,85svh);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding-block:115px 165px;
  text-align:center;
}
.conversation h2 {
  font-size:clamp(28px,3.1vw,48px);
}
.invitation {
  font-size:14px;
  margin-top:30px;
}
.call-note {
  display:block;
  font-size:10px;
  line-height:1.8;
  color:var(--soft);
  margin-top:4px;
}
.email {
  font-size:12px;
  display:table;
  line-height:44px;
  margin:4px auto 0;
  color:var(--soft);
}
.email:hover {
  color:var(--ink);
}
footer {
  position:absolute;
  left:0;
  right:0;
  bottom:32px;
  color:var(--soft);
  font-size:11px;
  line-height:1.8;
}
.footer-location {
  position:absolute;
  left:var(--edge);
  bottom:0;
  text-align:left;
}
.footer-copyright {
  display:block;
  text-align:center;
}
.footer-az {
  position:absolute;
  right:var(--edge);
  bottom:60px;
  line-height:44px;
  color:inherit;
  text-decoration:none;
}
.footer-az:hover,.footer-az:focus-visible {
  color:var(--ink);
  text-decoration:underline;
}
.copyright-year {
  display:inline;
}
.theme-switch {
  position:fixed;
  cursor:pointer;
  bottom:27px;
  right:var(--edge);
  z-index:5;
  font-size:11px;
  color:var(--soft);
  display:flex;
  align-items:center;
  gap:9px;
  line-height:20px;
  padding-block:12px;
  min-width:54px;
  background:var(--paper);
}
.theme-dot {
  width:9px;
  height:9px;
  background:var(--ink);
  border-radius:50%;
  transition:transform .3s;
}
.theme-switch:hover .theme-dot {
  transform:scale(.7);
}
.reveal {
  opacity:1;
  transform:none;
}
.motion .reveal.pending {
  opacity:0;
  transform:translateY(14px);
}
.motion .reveal {
  transition:opacity .8s,transform 1s cubic-bezier(.16,1,.3,1);
}
@keyframes develop {
  from {
    opacity:0;
    transform:translateY(7px);
  }
  to {
    opacity:1;
    transform:none;
  }
}
@media(min-width:1700px) {
  .ad-idea {
    width:330px;
  }
  .object {
    width:310px;
  }
  .content-shell {
    max-width:1020px;
  }
  .service p,.process-step p,.about-copy>p {
    font-size:15px;
  }
}
@media(max-width:1000px) {
  .content-shell {
    width:calc(100% - (var(--edge) + 78px)*2);
  }
  .practice-intro,.services,.process-steps,.audit-preview {
    gap:10%;
  }
  .about {
    column-gap:10%;
  }
  .process-step:first-child::after {
    width:calc(122.222% - 61px);
  }
  .services {
    margin-left:0;
  }
  .ad-signature {
    font-size:11px;
  }
  .proof {
    --voice-measure:490px;
  }
  .quote-ornament {
    top:63px;
  }
  .quote-heading,.voices,.quote-controls {
    max-width:490px;
  }
  .logo-grid {
    column-gap:7%;
    row-gap:33px;
  }
}
@media(max-width:700px) {
  .content-shell {
    width:auto;
    margin-left:40px;
    margin-right:100px;
  }
  .practice {
    padding-top:105px;
    padding-bottom:50px;
  }
  .practice-intro,.services,.about {
    display:block;
  }
  .intro-copy {
    padding-top:33px;
  }
  .services {
    margin-top:70px;
    margin-left:13%;
    max-width:330px;
  }
  .service+.service {
    padding-top:44px;
  }
  .audit-preview {
    grid-template-columns:1fr;
    gap:20px;
    padding:28px 20px;
    margin-inline:-20px;
  }
  .ad-signature {
    bottom:84px;
  }
  .ad {
    padding-bottom:195px;
  }
  .ad-idea {
    margin-left:0;
  }
  .clients {
    padding-block:50px 65px;
  }
  .logo-grid {
    grid-template-columns:repeat(2,1fr);
    gap:27px 15%;
    max-width:360px;
  }
  .logo-grid img {
    max-width:112px;
  }
  .proof {
    padding-block:40px 85px;
  }
  .quote-ornament {
    --diameter:185px;
    left:-120px;
    top:93px;
  }
  .quote-heading {
    width:100%;
    margin-left:0;
  }
  .voices,.quote-controls {
    width:100%;
  }
  .voices {
    margin-top:24px;
  }
  .voices blockquote {
    font-size:25px;
  }
  .quote-controls {
    margin-top:23px;
  }
  .quote-navigation {
    gap:13px;
  }
  .beginning {
    padding-block:80px;
  }
  .process-steps {
    display:block;
    margin-top:43px;
  }
  .process-step {
    padding-left:63px;
  }
  .step-node {
    position:absolute;
    left:0;
    top:0;
  }
  .process-step h3 {
    margin-top:0;
    padding-top:4px;
  }
  .process-step p {
    margin-top:15px;
  }
  .process-step+.process-step {
    padding-top:48px;
  }
  .process-step+.process-step .step-node {
    top:48px;
  }
  .process-step:first-child::after {
    left:18px;
    top:48px;
    width:1px;
    height:calc(100% - 13px);
  }
  .about {
    padding-block:75px 95px;
  }
  .about-copy {
    padding-top:43px;
    margin-left:13%;
  }
  .desktop-break {
    display:none;
  }
  .conversation {
    min-height:620px;
  }
  .conversation-inner {
    text-align:left;
    flex:1;
  }
  .email {
    margin-left:0;
  }
  .call-note {
    max-width:235px;
  }
  .conversation h2 {
    font-size:32px;
  }
}
@media(max-width:500px) {
  :root {
    --edge:25px;
  }
  header {
    top:23px;
  }
  .wordmark {
    font-size:24px;
  }
  .ad {
    min-height:max(690px,100svh);
    padding-top:130px;
  }
  .ad-idea {
    width:260px;
    margin-left:0;
    margin-top:-21px;
  }
  .object {
    width:210px;
  }
  h1 {
    font-size:20px;
    margin-top:22px;
  }
  .ad-signature {
    font-size:12px;
    bottom:88px;
    line-height:1.8;
  }
  .follow {
    font-size:10px;
    gap:16px;
  }
  .follow i {
    height:24px;
  }
  .content-shell {
    margin-left:25px;
    margin-right:83px;
  }
  h2 {
    font-size:30px;
  }
  .services,.about-copy {
    margin-left:0;
  }
  .practice {
    padding-top:93px;
  }
  .intro-copy p br {
    display:none;
  }
  .services {
    margin-top:62px;
  }
  .service-note {
    line-height:1.75;
  }
  .logo-grid {
    column-gap:20%;
    row-gap:22px;
    margin-top:29px;
  }
  .logo-grid img {
    max-width:100%;
    max-height:30px;
  }
  .logo-grid .shiksha {
    max-width:55px;
    max-height:38px;
  }
  .logo-grid .mira {
    max-width:69px;
  }
  .clients .eyebrow {
    max-width:195px;
  }
  .proof {
    padding-bottom:85px;
  }
  .quote-heading {
    align-items:flex-start;
    gap:10px;
    flex-direction:column;
  }
  .read-all {
    min-height:44px;
  }
  .voices {
    margin-top:21px;
  }
  .voices blockquote {
    font-size:24px;
  }
  .voices figcaption {
    font-size:11px;
    margin-top:23px;
  }
  .quote-controls {
    align-items:flex-start;
    gap:2px;
    flex-direction:column;
  }
  .quote-navigation {
    width:100%;
    justify-content:space-between;
    gap:8px;
  }
  .quote-rotation {
    text-align:left;
  }
  .beginning {
    padding-block:75px 65px;
  }
  .process-step {
    padding-left:49px;
  }
  .process-step h3 {
    font-size:22px;
  }
  .process-step p {
    font-size:13px;
  }
  .step-node {
    width:31px;
    height:31px;
    font-size:9px;
  }
  .process-step:first-child::after {
    left:15px;
    top:42px;
    height:calc(100% - 7px);
  }
  .about {
    padding-block:80px 75px;
  }
  .about-copy .bio-lead {
    font-size:17px;
  }
  .credentials p {
    font-size:11px;
  }
  .conversation {
    min-height:600px;
    padding-bottom:155px;
  }
  .conversation h2 {
    font-size:30px;
  }
  .invitation {
    font-size:14px;
    margin-top:24px;
  }
  .theme-switch {
    right:16px;
    bottom:23px;
    font-size:10px;
    min-width:49px;
    gap:8px;
  }
  footer {
    font-size:10px;
    bottom:31px;
  }
  .call-note {
    font-size:10px;
  }
  .email {
    font-size:11px;
  }
}
@media(max-width:360px) {
  .ad-signature {
    font-size:11px;
  }
  .conversation h2 {
    font-size:28px;
  }
  .voices blockquote {
    font-size:23px;
  }
  .eyebrow {
    font-size:10px;
  }
  .services {
    margin-top:56px;
  }
  .logo-grid {
    column-gap:17%;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  .motion .reveal.pending {
    opacity:1;
    transform:none;
  }
}

@media(max-width:700px) {

  footer {
    bottom:19px;
  }
  .footer-location {
    bottom:35px;
  }
}
main>section {
  position:relative;
}
.legacy-anchor {
  position:absolute;
  top:0;
  left:0;
  width:1px;
  height:1px;
  pointer-events:none;
  scroll-margin-top:32px;
}
.theme-changing .ad-idea {
  animation:none;
}
