:root {
  --paper:#faf9f6;
  --ink:#191918;
  --muted:#74736e;
  --orange:#ff5008;
  --rule:#d6d5d0;
  --blue:#d6e9f5;
  --font:"Helvetica Neue",Helvetica,Arial,sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font);
  font-weight:400;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit
}
button,a,summary {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible {
  outline:2px solid var(--orange);
  outline-offset:5px
}
::selection {
  background:var(--orange);
  color:var(--ink)
}
[hidden] {
  display:none!important
}
.page-shell {
  max-width:1520px;
  margin:auto;
  padding:0 22px
}
.skip-link {
  position:fixed;
  left:20px;
  top:-80px;
  z-index:100;
  background:var(--ink);
  color:white;
  padding:16px
}
.skip-link:focus {
  top:16px
}
.site-header {
  min-height:91px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--rule);
  gap:24px
}
.brand {
  display:block;
  line-height:0;
  flex-shrink:0
}
.brand img {
  display:block;
  width:127px;
  height:auto
}
.header-note {
  display:none;
  font-size:12px;
  line-height:1.3;
  margin:0
}
.site-header nav {
  display:flex;
  gap:24px;
  font-size:12px
}
.site-header nav a {
  padding:15px 0;
  white-space:nowrap
}
.site-header nav a:last-child {
  display:none
}
.site-header nav a span {
  margin-left:7px
}
.site-header nav a:hover {
  color:var(--orange)
}
.hero {
  padding-top:32px
}
.eyebrow,.section-index,.cta-label,.cat-caption,.edition,.hero-footnote,.package-num,.small-note,.pricing-footnote,.site-footer {
  font-size:10px;
  line-height:1.4;
  letter-spacing:.015em
}
.hero-eyebrow {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:30px
}
.live-dot {
  width:6px;
  height:6px;
  background:var(--orange);
  border-radius:50%;
  flex-shrink:0
}
.edition {
  margin-left:auto;
  display:none;
  color:var(--muted)
}
h1,h2,p {
  margin:0
}
h1 {
  font-size:clamp(38px,8.95vw,68px);
  line-height:1.08;
  font-weight:400;
  letter-spacing:-.065em
}
h1 .headline-line {
  display:flex;
  align-items:center;
  gap:.16em;
  white-space:nowrap
}
.period {
  margin-left:-.16em
}
.record {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  flex:0 0 .89em;
  height:.89em;
  border-radius:50%;
  background:repeating-radial-gradient(circle at center,#1c1c1c 0px,#1c1c1c 2px,#41413f 3px,#191918 4px);
  transform:rotate(-19deg);
  margin:0 .005em;
  box-shadow:inset 0 0 0 2px #222;
  overflow:hidden
}
.record:before {
  content:"";
  position:absolute;
  inset:0;
  background:conic-gradient(from 24deg,transparent 0deg,#ffffff35 35deg,transparent 60deg,transparent 180deg,#ffffff20 220deg,transparent 250deg)
}
.record-label {
  border-radius:50%;
  background:var(--orange);
  height:40%;
  width:40%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:2px;
  font-size:4px;
  letter-spacing:0;
  z-index:1;
  line-height:1;
  font-weight:600;
  color:#151515
}
.record-label i {
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--paper)
}
.scribble {
  width:.99em;
  height:.96em;
  display:inline-flex;
  transform:rotate(-8deg);
  flex-shrink:0;
  margin-right:-.02em
}
.scribble svg {
  width:100%;
  height:100%;
  overflow:visible
}
.scribble path {
  fill:none;
  stroke:var(--ink);
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round
}
.hero-bottom {
  display:grid;
  margin-top:29px;
  gap:5px
}
.hero-description {
  font-size:15px;
  line-height:1.45;
  letter-spacing:-.02em
}
.hero-description span {
  color:var(--muted)
}
.primary-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:24px
}
.cta {
  padding:14px 12px 15px;
  display:flex;
  min-height:86px;
  flex-direction:column;
  justify-content:space-between;
  gap:13px;
  transition:transform .2s,background .2s
}
.cta-dark {
  color:var(--paper);
  background:var(--ink)
}
.cta-orange {
  background:var(--orange);
  color:var(--ink)
}
.cta-label {
  font-size:8px;
  letter-spacing:.025em
}
.cta-title {
  font-size:clamp(12px,3.65vw,17px);
  letter-spacing:-.035em;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  white-space:nowrap
}
.cta-title>span {
  font-size:21px;
  line-height:.7
}
.cta:hover {
  transform:translateY(-4px)
}
.cta-dark:hover {
  background:#33332f
}
.cta-orange:hover {
  background:#f65a1c
}
.cat-zone {
  position:relative;
  padding-top:1px;
  margin-top:4px;
  min-width:0
}
.cat-track {
  position:relative;
  height:186px;
  overflow:hidden;
  border-bottom:1px solid var(--ink)
}
.cat {
  width:170px;
  height:184px;
  position:absolute;
  bottom:0;
  left:0;
  color:var(--orange);
  will-change:transform;
  transform:translateX(150px);
  pointer-events:none
}
.cat-art {
  width:100%;
  height:100%;
  overflow:visible
}
.cat-tail {
  transform-origin:155px 211px;
  animation:tail-sway 3.3s ease-in-out infinite
}
.cat-head {
  transform-origin:111px 159px;
  transition:transform .18s ease-out
}
.cat-eyes {
  transform-origin:109px 110px;
  animation:blink 6s infinite
}
.cat-eyes ellipse {
  fill:var(--ink)
}
.paw-lines {
  fill:none;
  stroke:#b62e00;
  stroke-width:1.5;
  stroke-linecap:round
}
.cat.walking .paw-front {
  animation:step .26s ease-in-out infinite alternate;
  transform-origin:90px 210px
}
.cat.walking .paw-back {
  animation:step .26s ease-in-out infinite alternate-reverse;
  transform-origin:141px 221px
}
.cat.walking .cat-body {
  animation:bob .26s ease-in-out infinite alternate
}
.cat-note {
  font-size:12px;
  line-height:1.3;
  position:absolute;
  top:22px;
  left:5px;
  transform:rotate(-7deg);
  z-index:1;
  pointer-events:none;
  letter-spacing:-.02em
}
.cat-note>span {
  color:var(--muted)
}
.cat-note svg {
  width:35px;
  height:32px;
  margin-left:60px;
  display:block;
  transform:rotate(-25deg)
}
.cat-note path {
  fill:none;
  stroke:var(--ink);
  stroke-width:1.3;
  stroke-linecap:round;
  stroke-linejoin:round
}
.cat-caption {
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  font-size:7px;
  letter-spacing:.035em
}
.cursor-hint {
  display:none
}
.touch-hint {
  color:var(--muted);
  text-transform:none;
  letter-spacing:0;
  font-size:9px
}
.hero-footnote {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--ink);
  margin-top:29px;
  padding-bottom:20px;
  font-size:10px;
  gap:15px
}
.hero-footnote>span {
  max-width:170px;
  color:var(--muted)
}
.hero-footnote a {
  white-space:nowrap
}
.hero-footnote a span {
  margin-left:8px;
  font-size:16px
}
.section {
  padding-top:49px;
  padding-bottom:42px;
  scroll-margin-top:18px;
  border-bottom:1px solid var(--ink)
}
.section-index {
  display:flex;
  justify-content:space-between;
  gap:15px;
  font-size:9px
}
.section-index span:last-child {
  color:var(--muted)
}
.section-heading {
  display:grid;
  gap:20px;
  margin:32px 0
}
.section h2 {
  font-size:clamp(33px,8.5vw,54px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.055em
}
.section-heading>p {
  font-size:14px;
  line-height:1.5;
  color:var(--muted);
  max-width:350px
}
.underline-word {
  position:relative;
  white-space:nowrap
}
.underline-word svg {
  position:absolute;
  bottom:-7px;
  left:-5%;
  width:113%;
  height:13px
}
.underline-word path {
  fill:none;
  stroke:var(--orange);
  stroke-width:2.5;
  stroke-linecap:round
}
.service-tabs {
  display:grid;
  grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--ink);
  gap:0
}
.service-tabs button {
  border:0;
  background:transparent;
  position:relative;
  text-align:left;
  padding:18px 7px 18px 0;
  color:var(--muted);
  font-size:14px;
  letter-spacing:-.03em;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:7px
}
.service-tabs button>span:first-child {
  font-size:9px;
  margin-right:1px
}
.service-tabs button .tab-arrow {
  margin-left:auto;
  font-size:18px;
  padding-right:7px
}
.service-tabs button[aria-selected="true"] {
  color:var(--ink)
}
.service-tabs button[aria-selected="true"]:after {
  content:"";
  position:absolute;
  bottom:-1px;
  height:3px;
  left:0;
  right:0;
  background:var(--orange)
}
.service-tabs button:hover {
  color:var(--ink)
}
.panel-intro {
  display:grid;
  gap:16px;
  padding:25px 0
}
.panel-intro>p {
  font-size:23px;
  line-height:1.15;
  letter-spacing:-.035em
}
.panel-intro>p>span {
  color:var(--muted)
}
.panel-intro>div {
  font-size:13px;
  line-height:1.5;
  max-width:430px
}
.small-note {
  display:block;
  color:var(--muted);
  margin-top:9px;
  font-size:10px
}
.package {
  border-top:1px solid var(--rule)
}
.package:last-child {
  border-bottom:1px solid var(--rule)
}
.package summary {
  display:grid;
  grid-template-columns:18px 1fr auto 13px;
  align-items:center;
  gap:8px;
  list-style:none;
  cursor:pointer;
  padding:22px 0
}
.package summary::-webkit-details-marker {
  display:none
}
.package-num {
  font-size:9px;
  color:var(--muted);
  align-self:start;
  padding-top:5px
}
.package-main {
  display:flex;
  flex-direction:column;
  gap:6px
}
.package-main strong {
  font-weight:400;
  font-size:19px;
  letter-spacing:-.04em;
  line-height:1.1
}
.package-main>span {
  font-size:11px;
  color:var(--muted);
  max-width:160px;
  line-height:1.4
}
.package-price {
  font-size:18px;
  letter-spacing:-.035em;
  align-self:start;
  padding-top:1px;
  white-space:nowrap
}
.package-price>span {
  display:block;
  font-size:10px;
  color:var(--muted);
  letter-spacing:0;
  margin-top:6px;
  text-align:right
}
.plus {
  position:relative;
  width:10px;
  height:10px;
  margin-left:3px
}
.plus:before,.plus:after {
  content:"";
  position:absolute;
  background:var(--ink);
  top:4px;
  left:0;
  height:1px;
  width:10px;
  transition:transform .2s
}
.plus:after {
  transform:rotate(90deg)
}
.package[open] .plus:after {
  transform:rotate(0)
}
.package summary:hover .package-main strong {
  color:#bd3b00
}
.package-details {
  padding:0 0 26px 26px;
  font-size:13px;
  line-height:1.55;
  max-width:740px
}
.package-details>p {
  max-width:530px;
  color:var(--muted)
}
.package-details ul {
  padding-left:17px;
  margin:15px 0 19px
}
.package-details li {
  padding:3px 0
}
.text-link {
  display:inline-flex;
  border-bottom:1px solid var(--ink);
  gap:26px;
  padding-bottom:5px
}
.text-link:hover {
  color:#bd3b00;
  border-color:var(--orange)
}
.pricing-footnote {
  display:grid;
  gap:23px;
  font-size:10px;
  line-height:1.5;
  margin-top:20px;
  color:var(--muted)
}
.pricing-footnote p:last-child {
  color:var(--ink);
  font-size:12px
}
.pricing-footnote a {
  display:inline-block;
  border-bottom:1px solid var(--ink);
  margin-top:5px;
  padding-bottom:2px
}
.pricing-footnote a span {
  margin-left:10px
}
.approach-grid {
  display:grid;
  gap:29px;
  margin-top:33px
}
.approach-grid h2>span {
  display:inline-block;
  position:relative;
  z-index:0
}
.approach-grid h2>span:before {
  content:"";
  position:absolute;
  inset:7px -7px 0 -6px;
  background:var(--blue);
  z-index:-1;
  transform:rotate(-3deg)
}
.approach-copy {
  display:flex;
  flex-direction:column;
  gap:20px;
  font-size:17px;
  line-height:1.4;
  letter-spacing:-.025em
}
.approach-copy p {
  max-width:480px
}
.approach-copy .muted {
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
  letter-spacing:0
}
.process {
  border-top:1px solid var(--rule);
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  font-size:10px;
  letter-spacing:0
}
.process b {
  display:block;
  font-size:9px;
  margin-bottom:7px;
  color:var(--muted);
  font-weight:400
}
.contact {
  padding-bottom:42px
}
.contact-main {
  display:grid;
  gap:25px;
  margin-top:32px
}
.contact-main>div>p {
  font-size:14px;
  line-height:1.45;
  color:var(--muted)
}
.email-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-size:clamp(18px,5.1vw,25px);
  letter-spacing:-.035em;
  border-bottom:1px solid var(--ink);
  padding:15px 0 9px;
  max-width:440px
}
.email-link>span {
  font-size:30px;
  transition:transform .2s
}
.email-link:hover>span {
  transform:translate(3px,-3px)
}
.email-link:hover {
  color:#bd3b00
}
.site-footer {
  display:grid;
  grid-template-columns:1fr auto;
  gap:19px;
  padding:25px 0 26px;
  font-size:9px
}
.footer-brand {
  font-size:14px;
  font-weight:500;
  letter-spacing:-.045em;
  grid-column:1;
  grid-row:1
}
.footer-brand>span {
  font-size:8px;
  vertical-align:super;
  margin-left:3px
}
.site-footer>span:nth-child(2) {
  grid-column:1;
  grid-row:2;
  color:var(--muted)
}
.site-footer>a:nth-child(3) {
  grid-column:2;
  grid-row:1;
  align-self:center
}
.copyright {
  grid-column:2;
  grid-row:2;
  justify-self:end;
  color:var(--muted)
}
@keyframes tail-sway {
  0%,100% {
    transform:rotate(-5deg)
  }
  50% {
    transform:rotate(9deg)
  }
}
@keyframes blink {
  0%,42%,46%,100% {
    transform:scaleY(1)
  }
  44% {
    transform:scaleY(.1)
  }
}
@keyframes step {
  from {
    transform:translateY(0) rotate(-3deg)
  }
  to {
    transform:translateY(-5px) rotate(3deg)
  }
}
@keyframes bob {
  from {
    transform:translateY(0)
  }
  to {
    transform:translateY(-2px)
  }
}
@media (pointer:fine) {
  .cursor-hint {
    display:block;
    color:var(--muted);
    letter-spacing:0;
    font-size:9px
  }
  .touch-hint {
    display:none
  }
}
@media(min-width:600px) {
  .page-shell {
    padding:0 36px
  }
  .site-header {
    min-height:105px
  }
  .brand img {
    width:148px
  }
  .header-note {
    display:block;
    margin-left:auto
  }
  .site-header nav a:last-child {
    display:block
  }
  .site-header nav {
    margin-left:22px
  }
  .hero {
    padding-top:39px
  }
  .edition {
    display:block
  }
  .hero-eyebrow {
    font-size:11px;
    margin-bottom:35px
  }
  .hero-bottom {
    grid-template-columns:1.35fr 1fr;
    gap:22px;
    margin-top:40px;
    align-items:end
  }
  .hero-description {
    font-size:16px
  }
  .primary-actions {
    grid-template-columns:1fr;
    gap:8px;
    max-width:310px
  }
  .cta {
    min-height:75px;
    gap:10px;
    padding:14px 18px
  }
  .cta-title {
    font-size:17px
  }
  .cta-label {
    font-size:9px
  }
  .cat-track {
    height:235px
  }
  .cat {
    width:200px;
    height:216px
  }
  .cat-note {
    font-size:12px;
    left:7px;
    top:13px
  }
  .cat-caption {
    font-size:7px;
    flex-wrap:wrap
  }
  .hero-footnote {
    margin-top:39px;
    font-size:11px;
    padding-bottom:23px
  }
  .hero-footnote>span {
    max-width:none
  }
  .section {
    padding:58px 0
  }
  .section-index {
    font-size:10px
  }
  .section-heading {
    grid-template-columns:1.1fr 1fr;
    align-items:end;
    gap:35px;
    margin:38px 0
  }
  .section-heading>p {
    font-size:14px
  }
  .section h2 {
    font-size:43px
  }
  .service-tabs button {
    font-size:22px;
    padding:23px 16px 23px 0;
    gap:15px
  }
  .service-tabs button>span:first-child {
    font-size:10px
  }
  .service-tabs button .tab-arrow {
    font-size:24px
  }
  .panel-intro {
    grid-template-columns:1.1fr 1fr;
    gap:35px;
    padding:32px 0
  }
  .panel-intro>p {
    font-size:25px
  }
  .package summary {
    grid-template-columns:26px 1fr auto 25px;
    gap:15px;
    padding:25px 0
  }
  .package-main strong {
    font-size:25px
  }
  .package-main>span {
    font-size:12px;
    max-width:none
  }
  .package-price {
    font-size:25px;
    padding-top:0
  }
  .package-price>span {
    font-size:11px
  }
  .package-details {
    padding-left:41px
  }
  .plus,.plus:before,.plus:after {
    width:13px
  }
  .pricing-footnote {
    grid-template-columns:1.1fr 1fr;
    gap:35px;
    font-size:10px
  }
  .pricing-footnote p:first-child {
    max-width:480px
  }
  .approach-grid {
    grid-template-columns:1.1fr 1fr;
    gap:35px;
    margin-top:42px
  }
  .approach-copy {
    font-size:18px
  }
  .process {
    flex-wrap:wrap
  }
  .contact-main {
    grid-template-columns:1.1fr 1fr;
    gap:35px;
    align-items:end
  }
  .email-link {
    font-size:20px
  }
  .site-footer {
    display:flex;
    align-items:center;
    gap:25px;
    min-height:93px;
    padding:24px 0
  }
  .site-footer>span:nth-child(2) {
    margin-right:auto
  }
  .footer-brand {
    font-size:15px
  }
  .copyright {
    white-space:nowrap
  }
}
@media(min-width:960px) {
  .page-shell {
    padding:0 56px;
    max-width:1392px
  }
  .site-header {
    min-height:116px
  }
  .brand img {
    width:160px
  }
  .header-note {
    margin-left:0;
    font-size:12px;
    padding-right:50px
  }
  .site-header nav {
    margin-left:0;
    gap:35px;
    font-size:13px
  }
  .hero {
    padding-top:43px
  }
  .hero-eyebrow {
    margin-bottom:32px;
    font-size:11px
  }
  .hero h1 {
    font-size:clamp(82px,7.67vw,106px);
    line-height:1.08;
    letter-spacing:-.067em
  }
  .record {
    margin-left:.03em;
    margin-right:.03em
  }
  .record-label {
    font-size:6px;
    gap:4px
  }
  .record-label i {
    width:5px;
    height:5px
  }
  .hero-bottom {
    grid-template-columns:1.62fr 1fr;
    gap:65px;
    margin-top:25px
  }
  .hero-description {
    font-size:18px;
    line-height:1.4
  }
  .primary-actions {
    grid-template-columns:1fr 1fr;
    max-width:660px;
    gap:12px;
    margin-top:27px
  }
  .cta {
    min-height:92px;
    padding:16px 19px;
    gap:18px
  }
  .cta-title {
    font-size:21px;
    letter-spacing:-.045em
  }
  .cta-title>span {
    font-size:25px
  }
  .cat-track {
    height:238px
  }
  .cat {
    width:212px;
    height:229px
  }
  .cat-note {
    top:6px;
    font-size:12px;
    left:7px
  }
  .cat-note svg {
    margin-left:49px;
    width:40px;
    height:38px;
    transform:rotate(-18deg)
  }
  .cat-caption {
    font-size:8px;
    flex-wrap:nowrap
  }
  .hero-footnote {
    margin-top:35px;
    padding-bottom:24px;
    font-size:11px
  }
  .section {
    padding:78px 0 67px
  }
  .section-index {
    font-size:10px
  }
  .section-heading {
    grid-template-columns:1.15fr 1fr;
    margin:43px 0 38px
  }
  .section h2 {
    font-size:58px
  }
  .section-heading>p {
    font-size:16px;
    max-width:400px;
    padding-bottom:4px
  }
  .service-tabs button {
    font-size:29px;
    gap:20px;
    padding:26px 28px 26px 0
  }
  .service-tabs button>span:first-child {
    font-size:11px
  }
  .service-tabs button .tab-arrow {
    font-size:28px
  }
  .panel-intro {
    grid-template-columns:1.15fr 1fr;
    padding:37px 0 35px
  }
  .panel-intro>p {
    font-size:31px
  }
  .panel-intro>div {
    font-size:14px;
    padding-top:3px
  }
  .small-note {
    font-size:10px;
    margin-top:12px
  }
  .package summary {
    grid-template-columns:45px 1fr auto 37px;
    gap:20px;
    padding:28px 0
  }
  .package-num {
    font-size:10px;
    padding-top:8px
  }
  .package-main {
    flex-direction:row;
    align-items:center;
    gap:25px
  }
  .package-main strong {
    font-size:29px;
    min-width:225px
  }
  .package-main>span {
    font-size:13px;
    max-width:260px
  }
  .package-price {
    font-size:28px
  }
  .package-price>span {
    display:inline-block;
    font-size:11px;
    margin:0 0 0 8px;
    letter-spacing:0
  }
  .plus,.plus:before,.plus:after {
    width:16px
  }
  .plus {
    margin-left:15px
  }
  .package-details {
    padding-left:65px;
    padding-bottom:30px;
    font-size:14px
  }
  .pricing-footnote {
    grid-template-columns:1.15fr 1fr;
    font-size:11px;
    margin-top:25px
  }
  .pricing-footnote p:first-child {
    max-width:550px
  }
  .pricing-footnote p:last-child {
    font-size:13px
  }
  .approach-grid {
    grid-template-columns:1.15fr 1fr;
    margin-top:47px
  }
  .approach-copy {
    font-size:22px;
    line-height:1.35;
    gap:23px
  }
  .approach-copy .muted {
    font-size:14px;
    line-height:1.6
  }
  .process {
    flex-wrap:nowrap;
    margin-top:7px;
    font-size:12px;
    padding-top:21px
  }
  .process b {
    display:inline-block;
    margin:0 10px 0 0
  }
  .contact-main {
    grid-template-columns:1.15fr 1fr;
    margin-top:45px
  }
  .contact-main h2 {
    font-size:68px
  }
  .contact-main>div>p {
    font-size:16px
  }
  .email-link {
    font-size:28px;
    padding-top:23px
  }
  .site-footer {
    font-size:11px;
    padding:30px 0;
    gap:35px;
    min-height:100px
  }
  .footer-brand {
    font-size:19px
  }
  .site-footer>a:nth-child(3) {
    margin-left:20px
  }
}
@media(min-width:1200px) {
  .hero-bottom {
    gap:100px
  }
  .hero-description {
    font-size:19px
  }
  .cat-track {
    height:245px
  }
  .cat {
    width:222px;
    height:240px
  }
  .hero-footnote {
    margin-top:43px
  }
  .hero {
    padding-top:47px
  }
  .hero-eyebrow {
    margin-bottom:37px
  }
}
@media(max-width:359px) {
  .page-shell {
    padding:0 16px
  }
  .hero h1 {
    font-size:9vw
  }
  .hero-eyebrow {
    font-size:9px
  }
  .cta {
    padding:12px 9px
  }
  .cta-label {
    font-size:7px
  }
  .cta-title {
    font-size:12px
  }
  .service-tabs button {
    font-size:12px;
    gap:5px
  }
  .package-main strong {
    font-size:17px
  }
  .package-price {
    font-size:16px
  }
  .cat-caption {
    font-size:6px
  }
  .cat-caption .touch-hint {
    font-size:8px
  }
  .hero-footnote {
    font-size:9px
  }
  .section-index {
    font-size:8px
  }
  .process {
    font-size:9px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
  .cat {
    will-change:auto
  }
}
/* Separate pages and a quieter, friendlier home. */ .muted {
  color:var(--muted)
}
.orange-text {
  color:#d54408
}
.site-header nav [aria-current="page"] {
  text-decoration:underline;
  text-underline-offset:5px
}
.home-page .hero-description {
  font-size:14px;
  line-height:1.55
}
.home-page .hero-description span {
  display:inline-block;
  margin-top:6px
}
.home-note {
  display:grid;
  gap:20px;
  padding:35px 0 40px;
  border-bottom:1px solid var(--ink)
}
.home-note .section-index {
  font-size:9px;
  color:var(--muted)
}
.home-note h2 {
  font-weight:400;
  font-size:27px;
  line-height:1.15;
  letter-spacing:-.045em
}
.home-note h2>span {
  border-bottom:2px solid var(--orange)
}
.home-note p {
  font-size:13px;
  line-height:1.6;
  color:var(--muted)
}
.home-page .hero-footnote>span {
  max-width:none
}
.site-footer nav {
  display:flex;
  gap:24px;
  grid-column:1/-1;
  grid-row:3
}
.site-footer nav a {
  padding:6px 0
}
.site-footer nav a:hover {
  color:#bd3b00
}
.back-link {
  display:inline-block;
  font-size:11px;
  color:var(--muted);
  margin:27px 0 37px;
  padding:6px 0
}
.back-link:hover {
  color:var(--ink)
}
.inner-hero {
  padding-bottom:36px
}
.inner-hero .section-index {
  margin-bottom:28px
}
.inner-hero h1 {
  font-size:clamp(40px,10vw,70px);
  line-height:1.04;
  letter-spacing:-.06em;
  margin-bottom:26px
}
.inner-hero>p {
  font-size:16px;
  line-height:1.5;
  letter-spacing:-.02em;
  margin-top:14px;
  max-width:600px
}
.inner-hero>p.muted {
  font-size:14px
}
.help-section {
  border-top:1px solid var(--ink)
}
.help-row {
  display:grid;
  grid-template-columns:22px 1fr;
  gap:12px;
  padding:28px 0;
  border-bottom:1px solid var(--rule)
}
.row-number {
  font-size:10px;
  line-height:1.5;
  color:var(--muted);
  padding-top:6px
}
.help-row h2 {
  font-size:24px;
  font-weight:400;
  letter-spacing:-.04em;
  line-height:1.1
}
.help-row p {
  grid-column:2;
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
  max-width:550px
}
.next-step {
  display:grid;
  gap:34px;
  padding:40px 0;
  border-bottom:1px solid var(--ink)
}
.next-step h2 {
  font-size:32px;
  font-weight:400;
  line-height:1.07;
  letter-spacing:-.045em;
  margin:18px 0
}
.next-step p {
  font-size:14px;
  line-height:1.6;
  color:var(--muted)
}
.next-step .text-link {
  font-size:14px;
  margin-top:22px
}
.next-step aside {
  border-top:1px solid var(--rule);
  padding-top:25px
}
.next-step aside p {
  font-size:20px;
  line-height:1.3;
  color:var(--ink);
  letter-spacing:-.03em
}
.next-step small,.pricing-pr small {
  display:block;
  font-size:11px;
  line-height:1.6;
  color:var(--muted);
  margin-top:25px;
  max-width:400px
}
.choice-list {
  border-top:1px solid var(--ink)
}
.choice-list>a {
  display:grid;
  grid-template-columns:18px 1fr 20px;
  gap:14px;
  padding:30px 0;
  border-bottom:1px solid var(--rule)
}
.choice-list h2 {
  font-size:26px;
  line-height:1.1;
  font-weight:400;
  letter-spacing:-.045em
}
.choice-list p {
  font-size:14px;
  color:var(--muted);
  line-height:1.5;
  margin-top:13px
}
.choice-list>a>span:last-child {
  font-size:25px
}
.choice-list>a:hover h2 {
  color:#bd3b00
}
.pricing-back {
  margin-bottom:0
}
.pricing-section {
  padding-top:25px
}
.pricing-section .package summary {
  grid-template-columns:18px 1fr 13px
}
.pricing-section .package-main {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px
}
.pricing-section .package-main strong {
  font-size:20px;
  line-height:1.45;
  font-weight:400;
  min-width:0
}
.pricing-section .package-main>span {
  max-width:none;
  font-size:12px
}
.pricing-section .inline-price {
  font-size:13px;
  font-weight:400;
  letter-spacing:-.015em;
  color:var(--muted);
  display:inline-block;
  white-space:nowrap
}
.audit-option {
  margin:0 0 34px
}
.audit-option>.section-index {
  margin-bottom:12px;
  color:var(--muted)
}
.audit-option .package-details>.text-link {
  margin-top:15px
}
.pricing-pr {
  display:grid;
  gap:24px;
  padding:38px 0;
  border-bottom:1px solid var(--ink)
}
.pricing-pr h2 {
  font-size:30px;
  font-weight:400;
  letter-spacing:-.045em;
  margin-top:17px;
  line-height:1.1
}
.pricing-pr p {
  font-size:14px;
  color:var(--muted);
  line-height:1.6
}
.pricing-pr .text-link {
  font-size:14px;
  margin-top:20px
}
.contact-hero {
  padding-bottom:55px;
  border-bottom:1px solid var(--ink)
}
.contact-hero .email-link {
  margin-top:32px;
  max-width:520px;
  font-size:clamp(21px,5vw,32px)
}
.contact-postscript {
  font-size:11px;
  color:var(--muted);
  line-height:1.6;
  margin-top:35px
}
@media(max-width:599px) {
  .site-header nav {
    gap:14px
  }
  .site-header nav a:last-child {
    display:block
  }
  .site-header nav a {
    font-size:10px
  }
  .site-header nav a span {
    margin-left:3px
  }
  .brand img {
    width:115px
  }
}
@media(max-width:359px) {
  .site-header nav {
    gap:10px
  }
  .site-header nav a {
    font-size:9px
  }
  .brand img {
    width:103px
  }
  .home-page .hero-description {
    font-size:13px
  }
  .home-note h2 {
    font-size:25px
  }
  .pricing-section .package-main strong {
    font-size:19px
  }
  .pricing-section .inline-price {
    font-size:12px
  }
}
@media(min-width:600px) {
  .home-page .hero-description {
    font-size:16px
  }
  .home-note {
    grid-template-columns:1.1fr 1fr;
    gap:18px 35px;
    padding:42px 0
  }
  .home-note>.section-index {
    grid-column:1/-1
  }
  .home-note h2 {
    font-size:31px
  }
  .home-note p {
    font-size:13px
  }
  .site-footer {
    flex-wrap:wrap
  }
  .site-footer nav {
    gap:22px
  }
  .back-link {
    margin-top:35px;
    margin-bottom:45px
  }
  .inner-hero .section-index {
    margin-bottom:35px
  }
  .inner-hero h1 {
    font-size:68px
  }
  .inner-hero>p {
    font-size:19px
  }
  .inner-hero>p.muted {
    font-size:16px
  }
  .inner-hero {
    padding-bottom:50px
  }
  .help-row {
    grid-template-columns:25px 1fr 1fr;
    gap:25px;
    padding:35px 0
  }
  .help-row p {
    grid-column:3;
    font-size:14px
  }
  .help-row h2 {
    font-size:29px
  }
  .next-step {
    grid-template-columns:1.2fr 1fr;
    gap:45px;
    padding:48px 0
  }
  .next-step aside {
    border:0;
    padding-top:24px
  }
  .next-step h2 {
    font-size:38px
  }
  .choice-list>a {
    grid-template-columns:25px 1fr 35px;
    padding:38px 0;
    gap:25px
  }
  .choice-list h2 {
    font-size:33px
  }
  .choice-list p {
    font-size:15px
  }
  .pricing-section .package summary {
    grid-template-columns:26px 1fr 25px
  }
  .pricing-section .package-main strong {
    font-size:24px
  }
  .pricing-section .inline-price {
    font-size:15px
  }
  .pricing-section .package-main>span {
    font-size:13px
  }
  .pricing-pr {
    grid-template-columns:1.1fr 1fr;
    gap:35px;
    padding:45px 0
  }
  .pricing-pr h2 {
    font-size:35px
  }
  .contact-hero .email-link {
    font-size:32px
  }
  .contact-postscript {
    font-size:12px;
    margin-top:42px
  }
}
@media(min-width:960px) {
  .home-page .hero-description {
    font-size:18px
  }
  .home-note {
    grid-template-columns:1.15fr 1fr;
    padding:42px 0 46px;
    gap:20px 45px
  }
  .home-note h2 {
    font-size:38px
  }
  .home-note p {
    font-size:15px;
    align-self:center
  }
  .home-note .section-index {
    font-size:10px
  }
  .site-footer {
    flex-wrap:nowrap
  }
  .site-footer nav {
    gap:28px;
    margin-left:auto
  }
  .inner-hero .section-index {
    margin-bottom:41px
  }
  .inner-hero h1 {
    font-size:86px;
    margin-bottom:35px
  }
  .inner-hero>p {
    font-size:22px;
    max-width:720px
  }
  .inner-hero>p.muted {
    font-size:17px;
    max-width:750px
  }
  .inner-hero {
    padding-bottom:57px
  }
  .inner-hero.short h1 {
    font-size:94px
  }
  .help-row {
    grid-template-columns:45px 1fr 1fr;
    gap:30px;
    padding:39px 0
  }
  .help-row h2 {
    font-size:35px;
    max-width:380px
  }
  .help-row p {
    font-size:16px
  }
  .next-step {
    grid-template-columns:1.15fr 1fr;
    padding:62px 0;
    gap:55px
  }
  .next-step h2 {
    font-size:48px;
    margin:23px 0
  }
  .next-step p {
    font-size:16px
  }
  .next-step aside {
    padding-top:40px
  }
  .next-step aside p {
    font-size:27px
  }
  .next-step .text-link {
    font-size:16px
  }
  .choice-list>a {
    grid-template-columns:45px 1fr 45px;
    gap:30px;
    padding:45px 0
  }
  .choice-list h2 {
    font-size:40px
  }
  .choice-list p {
    font-size:16px;
    max-width:680px
  }
  .choice-list>a>span:last-child {
    font-size:40px
  }
  .pricing-section .package summary {
    grid-template-columns:45px 1fr 37px
  }
  .pricing-section .package-main strong {
    font-size:27px
  }
  .pricing-section .inline-price {
    font-size:16px;
    margin-left:5px
  }
  .pricing-section .package-main>span {
    font-size:14px
  }
  .audit-option {
    margin-bottom:42px
  }
  .pricing-pr {
    grid-template-columns:1.15fr 1fr;
    padding:58px 0
  }
  .pricing-pr h2 {
    font-size:43px
  }
  .pricing-pr p {
    font-size:16px
  }
  .contact-hero {
    min-height:690px;
    padding-bottom:65px
  }
  .contact-hero h1 {
    font-size:96px
  }
  .contact-hero .email-link {
    font-size:35px
  }
  .contact-postscript {
    font-size:13px
  }
}
.cat-art {
  transform:translateY(4%)
}
.pricing-section .section-heading h1 {
  font-size:clamp(33px,8.5vw,58px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.055em
}
