@font-face {
  font-family: "Studio JP";
  src: url(/site-assets/studio-jp.426205029ade.woff2) format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Studio Sans";
  src: url(/site-assets/studio-sans.e35afee36335.woff2) format("woff2");
  font-weight: 200 800;
  font-display: swap;
}
:root {
  --sans:"Studio JP","Hiragino Sans","Yu Gothic",sans-serif;
  --site-ink:#292929;
  --site-muted:#5e5e5e;
  --site-rule:#e1e1e1;
  --site-focus:#616161;
  --site-blue:#3b3b3b;
  --site-paper:#f7f7f7;
  --site-gutter:48px;
  --site-section:96px;
}
body.site-renewal {
  font-family: var(--sans);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  background: white;
  color: var(--site-ink);
}
.site-renewal .v3 {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0;
  overflow-wrap: break-word;
}
.site-renewal .v3-wrap,
.site-renewal .wrap {
  width: 100%;
  max-width: 1296px;
  padding-inline: var(--site-gutter);
}
.site-renewal h1,
.site-renewal h2,
.site-renewal h3 {
  font-feature-settings: "palt" 1, "kern" 1;
  letter-spacing: -.025em;
  font-weight: 650;
}
.site-renewal p {
  word-break: normal;
  line-break: strict;
  text-wrap: pretty;
}
.site-renewal .sec,
.site-renewal .v3-detail .sec {
  padding-block: var(--site-section);
}
.site-renewal .sec.alt {
  background: transparent;
  border: 0;
}
.site-renewal .sec-h,
.site-renewal .v3-section-title,
.site-renewal .v3-detail .sec-h {
  font-size: 36px;
  line-height: 1.35;
  margin-bottom: 22px;
}
.site-renewal .sec-lead {
  font-size: 16px;
  line-height: 1.9;
  color: var(--site-muted);
  max-width: 680px;
  margin-bottom: 48px;
}
.site-renewal .grid3,
.site-renewal .grid2 {
  gap: 32px;
}
.site-renewal .card,
.site-renewal .v3-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 30px 0;
  box-shadow: none;
}
.site-renewal .card h3,
.site-renewal .v3-card h3 {
  font-size: 22px;
  line-height: 1.55;
  font-weight: 620;
  margin-bottom: 14px;
}
.site-renewal .card p,
.site-renewal .v3-card p {
  font-size: 16px;
  line-height: 1.9;
  color: var(--site-muted);
}
.site-renewal .v3-card-icon,
.site-renewal .icochip,
.site-renewal .numchip,
.site-renewal .v3-symbol {
  background: transparent;
  border-radius: 0;
  color: var(--site-blue);
  padding: 0;
}
.site-renewal .v3-card-icon {
  width: 26px;
  flex-basis: 26px;
  height: 32px;
}
.site-renewal .v3-card-icon svg {
  width: 23px;
  height: 23px;
}
.site-renewal .btn,
.site-renewal .v3-primary {
  border-radius: 3px;
  min-height: 48px;
  padding: 13px 24px;
  font-size: 14px;
  font-weight: 550;
  letter-spacing: 0;
  box-shadow: none;
}
.site-renewal .v3-text-link,
.site-renewal .home-detail-cta {
  font-size: 14px;
  font-weight: 550;
  line-height: 1.7;
}
.site-renewal .v3-head {
  background: #fffffff5;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--site-rule);
}
.site-renewal .v3-head > .v3-wrap {
  min-height: 72px;
  gap: 28px;
}
.site-renewal .v3-logo {
  font-family: "Studio Sans", var(--sans);
  font-size: 21px;
  letter-spacing: -.04em;
  font-weight: 650;
}
.site-renewal .v3-logo b {
  font-weight: 650;
}
.site-renewal .v3-logo em {
  color: inherit;
}
.site-renewal .v3-logo-icon {
  width: 32px;
  height: 32px;
  border: 0;
}
.site-renewal .v3-head nav {
  gap: 25px;
}
.site-renewal .v3-head nav a {
  font-size: 13px;
  font-weight: 450;
  min-height: 44px;
}
.site-renewal .v3-head nav a > svg {
  display: none;
}
.site-renewal .v3-contact-link {
  border: 0;
  border-bottom: 1px solid #a1a1a1;
  border-radius: 0;
  padding: 8px 0;
  min-height: 44px;
  display: flex;
  align-items: center;
  font-size: 13px;
  font-weight: 550;
  white-space: nowrap;
}
.site-renewal .v3-page-head {
  padding: 80px 0 64px;
  background: #ffffff;
  border-bottom: 1px solid var(--site-rule);
}
.site-renewal .v3-page-head h1 {
  font-size: 52px;
  line-height: 1.35;
  font-weight: 650;
  max-width: 1050px;
}
.site-renewal .v3-page-head h1 > span {
  display: inline-block;
  white-space: nowrap;
}
.site-renewal .type-unit {
  display: inline-block;
  white-space: nowrap;
}
.site-renewal .v3-page-head p {
  max-width: 760px;
  font-size: 16px;
  line-height: 1.9;
  color: var(--site-muted);
  margin-top: 24px;
}
.site-renewal .v3-breadcrumb {
  font-size: 13px;
  text-decoration: none;
  color: var(--site-muted);
  margin-bottom: 28px;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}
.site-renewal .home-overview:first-child:not(.business-gallery) {
  border-top: 1px solid var(--site-rule);
  padding-top: 96px;
  padding-bottom: 104px;
}
.site-renewal .home-overview:first-child:not(.business-gallery) .grid3 {
  display: block;
}
.site-renewal .home-overview:first-child:not(.business-gallery) .home-summary-card {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 16px 72px;
  padding: 38px 0;
}
.site-renewal .home-overview:first-child:not(.business-gallery) .home-summary-card h3 {
  grid-row: 1/3;
  font-size: 26px;
  max-width: 430px;
  margin: 0;
  line-height: 1.6;
}
.site-renewal .home-overview:first-child:not(.business-gallery) .home-summary-card p {
  margin: 0;
}
.site-renewal .home-overview:first-child:not(.business-gallery) .home-detail-cta {
  grid-column: 2;
  padding-top: 8px;
}
.site-renewal .home-work-grid {
  gap: 24px 64px;
}
.site-renewal .home-work-grid .home-summary-card {
  padding-block: 32px;
  min-height: 258px;
}
.site-renewal .work .res {
  font-size: 15px;
  margin-top: 22px;
  padding-top: 20px;
}
.site-renewal .work .res div {
  font-size: 15px;
  line-height: 1.8;
}
.site-renewal .v3-home #career-history {
  background: var(--site-paper);
}
.site-renewal .career,
.site-renewal .v3-home .career {
  display: block;
  max-width: none;
}
.site-renewal .tl li {
  padding: 32px 0;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 12px 40px;
  border-top: 1px solid var(--site-rule);
}
.site-renewal .tl li:before,
.site-renewal .tl li:after {
  display: none;
}
.site-renewal .tl .st {
  grid-column: 1;
  grid-row: 1/3;
  font-size: 13px;
  line-height: 1.85;
  letter-spacing: .01em;
  color: var(--site-blue);
}
.site-renewal .tl h3 {
  grid-column: 2;
  font-size: 22px;
  margin: 0;
}
.site-renewal .tl p {
  grid-column: 2;
  font-size: 16px;
  line-height: 1.9;
  color: var(--site-muted);
  max-width: 760px;
}
.site-renewal .tl li:last-child {
  padding-bottom: 32px;
}
.site-renewal .strengths {
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 40px;
}
.site-renewal .v3-career-cta {
  margin-top: 24px;
  padding-left: 260px;
}
.site-renewal .hero-lead {
  max-width: 760px;
  font-size: 18px;
  line-height: 2;
  color: var(--site-muted);
  margin: 0;
}
.site-renewal .v3-contact {
  padding: 64px 0;
  background: var(--site-blue);
}
.site-renewal .v3-contact h2 {
  font-size: 36px;
  font-weight: 600;
}
.site-renewal .v3-contact p {
  font-size: 15px;
  line-height: 1.9;
}
.site-renewal .v3-contact .v3-primary {
  padding-inline: 30px;
}
.site-renewal .talk {
  grid-template-columns: 140px minmax(0, 1fr) auto !important;
  gap: 32px;
  padding: 30px 0;
}
.site-renewal .talk h3 {
  font-size: 20px;
  line-height: 1.65;
}
.site-renewal .talk .ev {
  font-size: 14px;
  margin-bottom: 10px;
}
.site-renewal .talk .d {
  font-size: 13px;
  font-weight: 550;
}
.site-renewal .talk .lk {
  min-height: 44px;
  align-items: center;
}
.site-renewal .videos {
  gap: 30px;
}
.site-renewal .vcard {
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  overflow: visible;
}
.site-renewal .vcard .thumb,
.site-renewal .vcard > a > img {
  border-radius: 6px;
  overflow: hidden;
}
.site-renewal .vcard h3,
.site-renewal .v3-detail .vcard h3 {
  font-size: 17px;
  line-height: 1.75;
  font-weight: 550;
}
.site-renewal .vcard .vb {
  padding: 22px 0;
}
.site-renewal .short-route,
.site-renewal .v3-detail .short-route {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  margin-top: 44px;
}
.site-renewal .aud.grid1 {
  max-width: 850px;
}
.site-renewal .contact-ctas {
  gap: 18px;
  margin-top: 32px;
}
.site-renewal .msg {
  padding: 72px 0;
  background: var(--site-paper);
  color: var(--site-ink);
  border-top: 1px solid var(--site-rule);
}
.site-renewal .msg h2,
.site-renewal .v3-detail .msg h2 {
  font-size: 36px;
  color: var(--site-ink);
}
.site-renewal .msg p {
  font-size: 16px;
  color: var(--site-muted);
  line-height: 1.9;
}
.site-renewal .msg .btn {
  background: var(--site-blue);
  color: white;
}
.site-renewal .v3-footer {
  background: var(--site-paper);
  padding: 56px 0 32px;
}
.site-renewal .v3-footer-top b {
  font-family: "Studio Sans", var(--sans);
  font-size: 24px;
  letter-spacing: -.035em;
  font-weight: 600;
}
.site-renewal .v3-footer nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 24px;
  margin: 36px 0;
}
.site-renewal .v3-footer nav a {
  font-size: 13px;
  min-height: 36px;
  align-items: center;
}
.site-renewal .v3-footer nav svg {
  display: none;
}
.site-renewal .v3-footer-bottom {
  padding-top: 24px;
}
.site-renewal .estimate-intro {
  padding-top: 56px;
  padding-bottom: 12px;
}
.site-renewal .estimate-page h1 {
  font-size: 38px;
  font-weight: 650;
}
.site-renewal .estimate-layout {
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
  gap: 40px;
}
.site-renewal .estimate-result {
  border-radius: 3px;
  box-shadow: none;
  padding: 28px;
}
.site-renewal .estimate-page .estimate-button,
.site-renewal .estimate-reset,
.site-renewal .estimate-copy-button {
  border-radius: 3px;
}
.site-renewal .estimate-lead {
  font-size: 16px;
  line-height: 1.9;
}
.site-renewal .result-amount strong {
  font-family: "Studio Sans", var(--sans);
  font-size: 34px;
  font-weight: 650;
}
.site-renewal .work-row {
  min-height: 68px;
}
.site-renewal .site-menu {
  margin: 0;
  position: static;
  flex: none;
  line-height: 1.5;
}
.site-menu > summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  cursor: pointer;
  padding: 0 !important;
  border: 0;
  color: var(--site-ink);
}
.site-menu > summary::-webkit-details-marker {
  display: none;
}
.site-menu > summary svg {
  width: 24px;
  height: 24px;
}
.site-menu[open] > summary .menu-line-a {
  transform: translateY(5px) rotate(45deg);
  transform-origin: 12px 7px;
}
.site-menu[open] > summary .menu-line-b {
  transform: translateY(-5px) rotate(-45deg);
  transform-origin: 12px 17px;
}
.site-menu .menu-panel {
  position: absolute;
  z-index: 80;
  top: 100%;
  right: var(--site-gutter);
  width: min(640px, calc(100vw - 32px));
  background: #ffffff;
  color: var(--site-ink);
  border: 1px solid var(--site-rule);
  padding: 24px 32px;
  max-height: calc(100svh - 120px);
  overflow: auto;
}
.site-menu .menu-links,
.site-renewal .site-menu .menu-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 24px;
  margin: 0;
}
.site-menu .menu-links a,
.site-renewal .site-menu .menu-links a {
  min-height: 56px;
  font: 500 14px/1.65 var(--sans);
  display: flex;
  align-items: center;
  padding: 12px 0;
  text-decoration: none;
  color: var(--site-ink);
  border-bottom: 1px solid var(--site-rule);
  white-space: normal;
}
.site-menu .menu-links a[aria-current=page] {
  color: var(--site-blue);
}
.site-renewal .skip-link {
  position: fixed;
  z-index: 200;
  top: 8px;
  left: 16px;
  padding: 12px 20px;
  background: white;
  transform: translateY(-180%);
}
.site-renewal .skip-link:focus {
  transform: none;
}
.site-renewal[data-page=home] > .v3 > .v3-head {
  position: fixed;
  inset: 0 0 auto;
  visibility: hidden;
  transform: translateY(-100%);
  transition: transform .2s, visibility .2s;
}
.site-renewal[data-page=home].past-hero > .v3 > .v3-head {
  visibility: visible;
  transform: none;
}
@media (max-width: 1100px) {
  :root {
    --site-gutter:32px;
    --site-section:80px;
  }
  .site-renewal .v3-head > .v3-wrap {
    gap: 18px;
  }
  .site-renewal .v3-head nav {
    gap: 16px;
  }
  .site-renewal .v3-head nav a {
    font-size: 12px;
  }
  .site-renewal .v3-logo {
    font-size: 19px;
  }
  .site-renewal .v3-page-head h1 {
    font-size: 44px;
  }
  .site-renewal .sec-h,
  .site-renewal .v3-detail .sec-h {
    font-size: 32px;
  }
  .site-renewal .home-overview:first-child:not(.business-gallery) .home-summary-card {
    gap: 16px 40px;
  }
  .site-renewal .estimate-layout {
    gap: 28px;
    grid-template-columns: minmax(0, 1.15fr) minmax(345px, 1fr);
  }
}
@media (max-width: 900px) {
  .site-renewal .estimate-layout {
    display: block;
  }
  .site-renewal .videos {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 820px) {
  .site-renewal .v3-head > div > nav {
    display: none;
  }
  .site-renewal .v3-contact-link {
    margin-left: auto;
  }
  :root {
    --site-gutter:24px;
    --site-section:64px;
  }
  .site-renewal .v3-head > .v3-wrap {
    min-height: 64px;
    gap: 16px;
  }
  .site-renewal .v3-logo {
    font-size: 19px;
  }
  .site-renewal .v3-logo-icon {
    width: 29px;
    height: 29px;
  }
  .site-renewal .v3-page-head {
    padding: 52px 0 48px;
  }
  .site-renewal .v3-page-head h1 {
    font-size: 36px;
  }
  .site-renewal .grid3,
  .site-renewal .grid2,
  .site-renewal .home-work-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .site-renewal .home-overview:first-child:not(.business-gallery) {
    padding: 64px 0;
  }
  .site-renewal .home-overview:first-child:not(.business-gallery) .home-summary-card {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 30px 0;
  }
  .site-renewal .home-overview:first-child:not(.business-gallery) .home-summary-card h3 {
    grid-row: auto;
    font-size: 23px;
    max-width: none;
  }
  .site-renewal .home-overview:first-child:not(.business-gallery) .home-detail-cta {
    grid-column: auto;
  }
  .site-renewal .home-work-grid .home-summary-card {
    min-height: 0;
  }
  .site-renewal .tl li {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-block: 28px;
  }
  .site-renewal .tl .st,
  .site-renewal .tl h3,
  .site-renewal .tl p {
    grid-column: auto;
    grid-row: auto;
  }
  .site-renewal .strengths {
    grid-template-columns: 1fr;
  }
  .site-renewal .v3-career-cta {
    padding: 0;
  }
  .site-renewal .v3-contact {
    padding: 52px 0;
  }
  .site-renewal .v3-contact h2 {
    font-size: 28px;
  }
  .site-renewal .talk {
    grid-template-columns: 1fr !important;
    gap: 14px;
  }
  .site-renewal .talk h3 {
    font-size: 20px;
  }
  .site-renewal .videos {
    grid-template-columns: 1fr;
  }
  .site-renewal .v3-footer nav {
    grid-template-columns: 1fr 1fr;
  }
  .site-renewal .v3-footer-top,
  .site-renewal .v3-footer-bottom {
    align-items: flex-start;
  }
  .site-menu .menu-panel {
    right: 16px;
    padding: 16px 24px;
  }
  .site-menu .menu-links,
  .site-renewal .site-menu .menu-links {
    grid-template-columns: 1fr;
  }
  .site-renewal .estimate-page h1 {
    font-size: 32px;
  }
}
@media (max-width: 480px) {
  :root {
    --site-gutter:20px;
    --site-section:56px;
  }
  .site-renewal .v3-head > .v3-wrap {
    gap: 10px;
  }
  .site-renewal .v3-logo {
    font-size: 17px;
    gap: 8px;
  }
  .site-renewal .v3-contact-link {
    font-size: 11px;
    min-height: 44px;
  }
  .site-renewal .site-menu > summary {
    width: 40px;
  }
  .site-renewal .v3-page-head h1 {
    font-size: 32px;
  }
  .site-renewal .v3-page-head p {
    font-size: 15px;
    margin-top: 20px;
  }
  .site-renewal .sec-h,
  .site-renewal .v3-detail .sec-h {
    font-size: 27px;
  }
  .site-renewal .sec-lead {
    font-size: 15px;
    margin-bottom: 32px;
  }
  .site-renewal .card h3 {
    font-size: 21px;
  }
  .site-renewal .card p,
  .site-renewal .tl p {
    font-size: 15px;
  }
  .site-renewal .hero-lead {
    font-size: 16px;
  }
  .site-renewal .v3-contact .v3-primary {
    width: 100%;
  }
  .site-renewal .msg h2,
  .site-renewal .v3-detail .msg h2 {
    font-size: 28px;
  }
  .site-renewal .v3-footer nav {
    column-gap: 16px;
  }
  .site-renewal .v3-footer nav a {
    font-size: 12px;
    min-height: 44px;
  }
  .site-renewal .v3-footer-bottom > div {
    gap: 18px;
  }
  .site-renewal .estimate-page h1 {
    font-size: 29px;
  }
  .site-renewal .estimate-intro {
    padding-top: 36px;
  }
  .site-renewal .estimate-result {
    padding: 24px 16px;
  }
  .site-renewal .result-amount strong {
    font-size: 30px;
  }
}
@media (max-width: 360px) {
  :root {
    --site-gutter:16px;
  }
  .site-renewal .v3-contact-link > span {
    display: none;
  }
  .site-renewal .v3-logo {
    font-size: 16px;
  }
  .site-renewal .v3-page-head h1 {
    font-size: 29px;
  }
  .site-renewal .v3-footer nav {
    grid-template-columns: 1fr;
  }
  .site-renewal .v3-footer .v3-social {
    gap: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-renewal * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
.site-renewal :focus-visible {
  outline: 3px solid var(--site-focus);
  outline-offset: 3px;
}
.site-renewal .card .btns .btn {
  border-radius: 3px;
  font-size: 14px;
  min-height: 48px;
  padding: 13px 20px;
}
.site-renewal .step {
  border: 0;
  border-top: 1px solid var(--site-rule);
  border-radius: 0;
  padding: 28px 0;
  background: transparent;
}
.site-renewal .step .numchip {
  font-family: "Studio Sans", var(--sans);
  font-size: 15px;
  margin-bottom: 22px;
  justify-content: flex-start;
}
.site-renewal .step h3 {
  font-size: 21px;
  font-weight: 620;
  margin-bottom: 14px;
}
.site-renewal .step p {
  font-size: 15px;
  line-height: 1.9;
  color: var(--site-muted);
}
.site-renewal .msg .bubble {
  display: block;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--site-muted);
  font-size: 14px;
  line-height: 1.9;
  margin-bottom: 24px;
}
.site-renewal .work-help,
.site-renewal .work-label small,
.site-renewal .estimate-hint {
  font-size: 13px;
  line-height: 1.85;
}
.site-renewal .estimate-notes-copy p,
.site-renewal .estimate-notes-copy li {
  font-size: 14px;
  line-height: 1.9;
}
.site-renewal .v3-detail .business-gallery {
  background: transparent;
  padding-block: 80px 88px;
}
.site-renewal .business-gallery .business-heading {
  display: block;
  margin-bottom: 38px;
}
.site-renewal .business-gallery .sec-h {
  margin: 0;
  font-size: 38px;
}
.site-renewal .business-gallery .sec-lead {
  max-width: 760px;
  font-size: 14px;
  line-height: 1.9;
  margin: 18px 0 0;
  color: #5e5e5e;
}
.site-renewal .business-gallery .grid3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.site-renewal .business-gallery .home-summary-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0;
  padding: 0;
  background: transparent;
  color: #292929;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition: transform .3s;
}
.site-renewal .business-gallery .business-art {
  height: 230px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.site-renewal .business-gallery .business-art svg {
  display: block;
  width: 100%;
  height: 100%;
  transition: transform .4s ease;
}
.site-renewal .business-gallery .business-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 27px;
}
.site-renewal .business-gallery h3.business-title {
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: -.04em;
  min-height: 71px;
  margin: 0 0 14px;
  font-weight: 650;
}
.site-renewal .business-gallery .business-copy p {
  font-size: 14px;
  line-height: 1.95;
  color: #5e5e5e;
  margin: 0 0 30px;
}
.site-renewal .business-gallery .home-detail-cta {
  margin-top: auto;
  padding-top: 18px;
  border: 0;
  color: #3b3b3b;
  font-size: 12px;
  line-height: 1.8;
  font-weight: 600;
}
@media (hover: hover) {
  .site-renewal .business-gallery .home-summary-card:hover {
    transform: translateY(-4px);
  }
}
@media (max-width: 1000px) and (min-width: 821px) {
  .site-renewal .business-gallery .business-copy {
    padding: 20px;
  }
  .site-renewal .business-gallery h3.business-title {
    font-size: 20px;
    min-height: 96px;
  }
}
@media (max-width: 820px) {
  .site-renewal .v3-detail .business-gallery {
    padding-block: 56px;
  }
  .site-renewal .business-gallery .business-heading {
    display: block;
    margin-bottom: 28px;
  }
  .site-renewal .business-gallery .sec-h {
    font-size: 32px;
  }
  .site-renewal .business-gallery .sec-lead {
    margin-top: 18px;
    max-width: 560px;
  }
  .site-renewal .business-gallery .grid3 {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .site-renewal .business-gallery .business-art {
    height: 210px;
  }
  .site-renewal .business-gallery h3.business-title {
    min-height: 0;
  }
  .site-renewal .business-gallery .business-copy {
    padding: 24px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-renewal .business-gallery .home-summary-card:hover,
  .site-renewal .business-gallery .home-summary-card:hover .business-art svg {
    transform: none;
  }
}
.site-renewal .business-gallery .business-copy p.business-pain {
  font-size: 14px;
  line-height: 1.75;
  color: #3b3b3b;
  font-weight: 650;
  margin: 0 0 12px;
}
.site-renewal .business-gallery .business-copy p.business-proof {
  font-size: 15px;
  line-height: 1.9;
  color: #383838;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 20px 0 22px;
}
.site-renewal .business-gallery .business-actions {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  padding-top: 18px;
  border: 0;
}
.site-renewal .business-gallery .business-cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  background: #3b3b3b;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid #3b3b3b;
}
.site-renewal .business-gallery .business-cta:focus-visible {
  background: #ffffff;
  color: #3b3b3b;
}
.site-renewal .business-gallery .business-actions .home-detail-cta {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-renewal .business-gallery .business-art {
  height: 180px;
}
.site-renewal .business-gallery h3.business-title {
  min-height: 0;
}
@media (min-width: 821px) {
  .site-renewal .business-gallery .grid3 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .site-renewal .business-gallery .home-summary-card {
    grid-column: span 2;
  }
  .site-renewal .business-gallery .home-summary-card:nth-child(-n+2) {
    grid-column: span 3;
  }
}
.site-renewal .works-story {
  background: var(--site-paper);
  color: var(--site-ink);
  scroll-margin-top: 80px;
}
.site-renewal .works-story * {
  box-sizing: border-box;
}
.site-renewal .works-story [hidden] {
  display: none !important;
}
.site-renewal .works-story .works-wrap {
  max-width: 1440px;
  margin: auto;
  padding: 80px var(--site-gutter) 88px;
}
.site-renewal .works-story .head {
  display: block;
  margin-bottom: 48px;
}
.site-renewal .works-story h2 {
  font-size: 38px;
  line-height: 1.4;
  margin: 0;
  font-weight: 650;
}
.site-renewal .works-story .head p {
  font-size: 14px;
  line-height: 1.9;
  max-width: 760px;
  margin: 18px 0 0;
  color: var(--site-muted);
}
.site-renewal .works-story .works-exhibition.is-interactive {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}
.site-renewal .works-story .works-choices {
  display: flex;
  flex-direction: column;
  border: 0;
}
.site-renewal .works-story .works-choices button {
  font: inherit;
  font-size: 16px;
  line-height: 1.8;
  text-align: left;
  text-wrap: balance;
  padding: 24px 18px;
  background: transparent;
  color: var(--site-muted);
  border: 0;
  cursor: pointer;
  min-height: 52px;
}
.site-renewal .works-story .works-choices button[aria-selected=true] {
  background: #efefef;
  color: var(--site-blue);
  font-weight: 650;
}
.site-renewal .works-story :focus-visible {
  outline: 3px solid var(--site-blue);
  outline-offset: 4px;
}
.site-renewal .works-story .case-list {
  min-width: 0;
  display: grid;
  gap: 32px;
}
.site-renewal .works-story .case {
  display: block;
  min-width: 0;
  background: transparent;
  padding: 36px 40px;
}
.site-renewal .works-story h3 {
  font-size: clamp(24px, 2.15vw, 32px);
  line-height: 1.6;
  letter-spacing: -.04em;
  margin: 0 0 24px;
  font-weight: 650;
  max-width: none;
}
.site-renewal .works-story .case-summary {
  margin: 0;
}
.site-renewal .works-story .result {
  font-size: 24px;
  line-height: 1.65;
  font-weight: 600;
  color: var(--site-blue);
  margin: 0;
}
.site-renewal .works-story .result strong {
  font: 600 1.8em/1.3 "Studio Sans", var(--sans);
  letter-spacing: -.045em;
  white-space: nowrap;
}
.site-renewal .works-story .support {
  font-size: 14px;
  line-height: 1.9;
  color: var(--site-muted);
  margin: 14px 0 0;
}
.site-renewal .works-story .support b {
  font-size: 22px;
  color: var(--site-blue);
  white-space: nowrap;
}
.site-renewal .works-story .support small {
  display: block;
  font-size: 12px;
  margin-top: 6px;
}
.site-renewal .works-story .case-illustration {
  display: block;
  width: min(100%, 420px);
  margin: 20px auto;
  background: transparent;
}
.site-renewal .works-story .case-illustration img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  max-height: 280px;
  object-fit: contain;
}
.site-renewal .works-story .case-description {
  max-width: 740px;
  margin: 0 0 24px;
}
.site-renewal .works-story .case-description p {
  font-size: 15px;
  color: var(--site-muted);
  line-height: 1.95;
  margin: 0;
}
.site-renewal .works-story .case-description p + p {
  margin-top: 16px;
}
.site-renewal .works-story .detail-link {
  color: var(--site-blue);
  text-decoration: none;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 32px;
  padding: 12px 0;
  border-bottom: 1px solid var(--site-rule);
  line-height: 1.7;
  font-weight: 600;
  min-height: 44px;
}
.site-renewal .works-story .works-foot {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 24px;
  margin-top: 34px;
  font-size: 14px;
  line-height: 1.9;
  color: var(--site-muted);
}
.site-renewal .works-story .works-foot a {
  color: var(--site-blue);
  min-height: 44px;
  text-underline-offset: 5px;
}
@media (max-width: 1050px) {
  .site-renewal .works-story .works-exhibition.is-interactive {
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 28px;
  }
  .site-renewal .works-story .case {
    padding: 28px;
  }
}
@media (max-width: 820px) {
  .site-renewal .works-story .works-wrap {
    padding-block: 56px;
  }
  .site-renewal .works-story .head {
    display: block;
    margin-bottom: 28px;
  }
  .site-renewal .works-story h2 {
    font-size: 32px;
  }
  .site-renewal .works-story .head p {
    margin-top: 17px;
  }
  .site-renewal .works-story .works-exhibition.is-interactive {
    display: block;
  }
  .site-renewal .works-story .works-choices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 24px;
  }
  .site-renewal .works-story .works-choices button {
    font-size: 13px;
    padding: 16px 10px;
  }
  .site-renewal .works-story .case {
    padding: 24px 20px;
  }
  .site-renewal .works-story h3 {
    font-size: 24px;
  }
  .site-renewal .works-story .result {
    font-size: 21px;
  }
  .site-renewal .works-story .result strong {
    font-size: 1.6em;
  }
  .site-renewal .works-story .support {
    font-size: 14px;
  }
  .site-renewal .works-story .case-illustration {
    width: min(100%, 270px);
    margin: 18px auto;
  }
  .site-renewal .works-story .case-illustration img {
    max-height: 180px;
  }
  .site-renewal .works-story .case-description p {
    font-size: 14px;
  }
  .site-renewal .works-story .works-foot {
    display: block;
  }
  .site-renewal .works-story .works-foot a {
    display: inline-block;
    margin-top: 12px;
  }
}
@media (min-width: 641px) {
  .site-renewal .works-story .case {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 32%);
    column-gap: 28px;
  }
  .site-renewal .works-story .story-title {
    grid-column: 1;
    grid-row: 1;
  }
  .site-renewal .works-story .case-summary {
    grid-column: 1;
    grid-row: 2;
  }
  .site-renewal .works-story .case-illustration {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: end;
    width: 100%;
    max-width: 280px;
    margin: 0;
  }
  .site-renewal .works-story .case-illustration img {
    max-height: 187px;
  }
  .site-renewal .works-story .case-description {
    grid-column: 1 / -1;
    margin-top: 28px;
  }
  .site-renewal .works-story .detail-link {
    grid-column: 1 / -1;
    justify-self: start;
  }
}
.works-story .result .result-basis {
  font-size: .62em;
  color: #5b5b5b;
  font-weight: 500;
  margin-left: .3em;
  white-space: nowrap;
}
.works-story .case-topic .tech {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.works-story .case-topic .tech li {
  font-size: 13px;
  padding: 4px 0;
  background: transparent;
  color: #282828;
}
.works-story .ext-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.works-story .ext-list li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 2px 14px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #e1e1e1;
}
.works-story .ext-list .ext-icon {
  grid-row: span 2;
  align-self: start;
  width: 40px;
  height: 40px;
  border-radius: 8px;
}
.works-story .ext-list a {
  font-weight: 700;
  color: #3b3b3b;
  text-decoration: none;
}
.works-story .ext-list p {
  grid-column: 2/-1;
  margin: 0;
  color: #5b5b5b;
  font-size: 14px;
  line-height: 1.7;
}
.works-story .ext-list .users {
  color: #282828;
  font-size: 13px;
  white-space: nowrap;
}
.works-story .support .result-basis {
  display: block;
  margin-top: .2em;
  font-size: .8em;
  color: #5b5b5b;
  font-weight: 500;
}
.works-story .tb-headline {
  margin: 16px 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: #282828;
}
.works-story .tb-headline b {
  color: #3b3b3b;
  font-size: 1.25em;
  margin-left: .2em;
}
.works-story .tb-headline small {
  display: inline-block;
  margin-left: .3em;
  font-size: 13px;
  font-weight: 500;
  color: #5b5b5b;
}
.works-story .tb-detail {
  margin-top: 28px;
  padding: 0;
  background: transparent;
  border: 0;
}
.works-story .tb-detail h5,
.works-story .tb-detail h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #282828;
}
.works-story .case-topic .tb-detail .tb-note {
  margin: 2px 0 0;
  font-size: 13px;
  color: #5b5b5b;
}
.works-story .time-breakdown {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  border-top: 1px solid #dfdfdf;
}
.works-story .time-breakdown li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 16px;
  padding: 10px 0;
  border-bottom: 1px solid #dfdfdf;
}
.works-story .case-topic .time-breakdown p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}
.works-story .case-topic .time-breakdown .tb-step {
  font-weight: 700;
  color: #282828;
}
.works-story .case-topic .time-breakdown .tb-time {
  color: #5b5b5b;
  white-space: nowrap;
  text-align: right;
}
.works-story .time-breakdown .tb-time b,
.works-story .tb-total b {
  color: #3b3b3b;
}
.works-story .case-topic .time-breakdown .tb-how {
  grid-column: 1/-1;
  color: #5b5b5b;
}
.works-story .case-topic .tb-detail .tb-total {
  margin: 12px 0 0;
  font-size: 14px;
  font-weight: 700;
  color: #282828;
}
@media (max-width: 640px) {
  .works-story .time-breakdown li {
    grid-template-columns: 1fr;
  }
  .works-story .case-topic .time-breakdown .tb-time {
    text-align: left;
  }
}
.site-renewal .works-story .case-description .time-breakdown p {
  margin: 0;
  line-height: 1.7;
}
.site-renewal .works-story .case-description .time-breakdown .tb-how {
  margin-top: 2px;
}
.site-renewal .works-story .case-description .tb-detail .tb-note {
  margin-top: 2px;
}
.site-renewal .works-story .case-description .tb-detail .tb-total {
  margin-top: 12px;
}
.site-renewal .career-chapters {
  background: var(--site-paper,#f7f7f7);
  border-top: 1px solid #e1e1e1;
}
.site-renewal .career-chapters * {
  box-sizing: border-box;
}
.site-renewal .career-chapters [hidden] {
  display: none !important;
}
.site-renewal .career-chapters .career-wrap {
  max-width: 1280px;
  margin: auto;
  padding: 64px 40px 68px;
}
.site-renewal .career-chapters .heading {
  display: block;
  margin-bottom: 52px;
}
.site-renewal .career-chapters h2 {
  font-size: 40px;
  letter-spacing: -.045em;
  margin: 0;
  line-height: 1.3;
}
.site-renewal .career-chapters .lead {
  max-width: 760px;
  margin: 18px 0 0;
  font-size: 14px;
  line-height: 1.9;
  color: #5e5e5e;
}
.site-renewal .career-chapters .company {
  font-size: 12px;
  font-weight: 700;
  color: #3b3b3b;
  margin: 0 0 16px;
}
.site-renewal .career-chapters .career-title {
  font-size: 26px;
  line-height: 1.6;
  letter-spacing: -.045em;
  margin: 0 0 18px;
}
.site-renewal .career-chapters .body-copy {
  font-size: 14px;
  line-height: 1.95;
  color: #5e5e5e;
  margin: 0;
  max-width: 560px;
}
.site-renewal .career-chapters .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 24px;
}
.site-renewal .career-chapters .tags span {
  font-size: 11px;
  line-height: 1.5;
  border: 1px solid #e1e1e1;
  padding: 6px 9px;
  border-radius: 3px;
  background: #ffffff;
}
.site-renewal .career-chapters .section-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-top: 44px;
  padding-top: 24px;
  border-top: 1px solid #e1e1e1;
  color: #5e5e5e;
  font-size: 12px;
}
.site-renewal .career-chapters .section-foot a {
  display: inline-flex;
  align-items: center;
  gap: 30px;
  min-height: 44px;
  color: #3b3b3b;
  font-weight: 700;
  text-decoration: none;
}
.site-renewal .career-chapters .chapter-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 48px;
}
.site-renewal .career-chapters .chapter-nav {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-self: start;
}
.site-renewal .career-chapters .chapter-nav:before {
  content: "";
  position: absolute;
  left: 27px;
  top: 28px;
  bottom: 28px;
  width: 1px;
  background: #bebebe;
}
.site-renewal .career-chapters .chapter-nav button {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 20px 12px 20px 0;
  color: #5e5e5e;
  border-radius: 6px;
  font: inherit;
  cursor: pointer;
}
.site-renewal .career-chapters .chapter-nav b {
  display: grid;
  place-items: center;
  flex: none;
  width: 56px;
  height: 56px;
  font-size: 16px;
  font-weight: 500;
  border: 1px solid #bebebe;
  background: #f7f7f7;
  border-radius: 50%;
}
.site-renewal .career-chapters .chapter-nav small {
  display: block;
  font-size: 10px;
  margin-bottom: 7px;
}
.site-renewal .career-chapters .chapter-nav strong {
  font-size: 15px;
}
.site-renewal .career-chapters .chapter-nav [aria-selected=true] {
  color: #3b3b3b;
}
.site-renewal .career-chapters .chapter-nav [aria-selected=true] b {
  background: #3b3b3b;
  color: white;
  border-color: #3b3b3b;
  box-shadow: 0 0 0 6px #efefef;
}
.site-renewal .career-chapters .chapter-panel {
  position: relative;
  min-height: 525px;
  padding: 36px;
  background: white;
  border: 1px solid #e1e1e1;
  box-shadow: 0 18px 45px #00000009;
  border-radius: 6px;
}
.site-renewal .career-chapters .chapter-visual {
  height: 190px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
  border-bottom: 1px solid #e1e1e1;
  padding-bottom: 30px;
}
.site-renewal .career-chapters .chapter-visual .stage-icon {
  width: 150px;
  height: 150px;
  color: #3b3b3b;
  padding: 20px;
  filter: drop-shadow(0 12px 4px #3b3b3b0c);
}
.site-renewal .career-chapters .stage-icon svg {
  width: 100%;
  height: 100%;
}
.site-renewal .career-chapters .chapter-visual b {
  font-weight: 300;
  font-size: 125px;
  line-height: 1;
  letter-spacing: -.07em;
  color: #efefef;
}
.site-renewal .career-chapters .chapter-progress {
  margin-top: 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: #5e5e5e;
}
.site-renewal .career-chapters .chapter-progress button {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid #bebebe;
  background: #ffffff;
  color: #3b3b3b;
  border-radius: 3px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.site-renewal .career-chapters button:focus-visible,
.site-renewal .career-chapters a:focus-visible,
.site-renewal .career-chapters .chapter-panel:focus-visible {
  outline: 3px solid #3b3b3b;
  outline-offset: 5px;
}
.site-renewal .career-chapters:not([data-enhanced]) .chapter-layout {
  display: block;
}
.site-renewal .career-chapters:not([data-enhanced]) .chapter-panel + .chapter-panel {
  margin-top: 24px;
}
@media (max-width: 820px) {
  .site-renewal .career-chapters .career-wrap {
    padding: 48px 24px;
  }
  .site-renewal .career-chapters .heading {
    display: block;
    margin-bottom: 34px;
  }
  .site-renewal .career-chapters h2 {
    font-size: 32px;
  }
  .site-renewal .career-chapters .lead {
    margin-top: 20px;
    font-size: 14px;
  }
  .site-renewal .career-chapters .body-copy {
    font-size: 13px;
  }
  .site-renewal .career-chapters .tags span {
    font-size: 10px;
  }
  .site-renewal .career-chapters .section-foot {
    align-items: start;
    flex-direction: column;
    gap: 8px;
  }
  .site-renewal .career-chapters .chapter-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 25px;
  }
  .site-renewal .career-chapters .chapter-nav {
    flex-direction: row;
    gap: 6px;
    justify-content: space-between;
  }
  .site-renewal .career-chapters .chapter-nav:before {
    width: auto;
    height: 1px;
    left: 24px;
    right: 24px;
    top: 23px;
    bottom: auto;
  }
  .site-renewal .career-chapters .chapter-nav button {
    flex: 1;
    min-width: 0;
    flex-direction: column;
    gap: 12px;
    padding: 0 0 8px;
    text-align: center;
  }
  .site-renewal .career-chapters .chapter-nav b {
    width: 46px;
    height: 46px;
    font-size: 13px;
  }
  .site-renewal .career-chapters .chapter-nav small {
    font-size: 10px;
    margin-bottom: 4px;
  }
  .site-renewal .career-chapters .chapter-nav strong {
    font-size: 11px;
    line-height: 1.6;
  }
  .site-renewal .career-chapters .chapter-panel {
    padding: 24px 22px;
    min-height: 540px;
  }
  .site-renewal .career-chapters .chapter-visual {
    height: 145px;
    margin-bottom: 25px;
    padding-bottom: 20px;
  }
  .site-renewal .career-chapters .chapter-visual .stage-icon {
    width: 116px;
    height: 116px;
    padding: 13px;
  }
  .site-renewal .career-chapters .chapter-visual b {
    font-size: 88px;
  }
  .site-renewal .career-chapters .career-title {
    font-size: 22px;
  }
}
.site-renewal .career-chapters .career-duration {
  display: block;
  font-size: 12px;
  line-height: 1.6;
  margin-top: 5px;
  white-space: nowrap;
}
:root {
  --site-paper:#ffffff;
  --site-ink:#282828;
  --site-muted:#5b5b5b;
  --site-rule:#d9d9d9;
  --site-blue:#3b3b3b;
}
body.site-renewal,
.site-renewal .v3 {
  background: #ffffff;
  color: #282828;
}
.site-renewal .v3-detail .business-gallery,
.site-renewal .works-story,
.site-renewal .career-chapters,
.site-renewal .v3-contact,
.site-renewal .v3-footer {
  background: transparent;
  color: #282828;
  border-color: #d9d9d9;
}
.site-renewal .business-gallery .sec-lead,
.site-renewal .career-chapters .lead,
.site-renewal .career-chapters .section-foot {
  color: #5b5b5b;
}
.site-renewal .business-gallery .home-summary-card,
.site-renewal .works-story .case,
.site-renewal .career-chapters .chapter-panel {
  background: transparent;
  color: #282828;
  --site-ink:#282828;
  --site-muted:#5b5b5b;
  --site-blue:#3b3b3b;
  --site-rule:#d9d9d9;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.site-renewal .works-story .case-description p,
.site-renewal .career-chapters .body-copy,
.site-renewal .business-gallery .business-copy p {
  color: #5b5b5b;
}
.site-renewal .career-chapters .chapter-nav button {
  color: #5b5b5b;
}
.site-renewal .career-chapters .chapter-nav b {
  background: #ffffff;
  color: #282828;
  border-color: #d9d9d9;
}
.site-renewal .career-chapters .chapter-nav [aria-selected=true] {
  color: #3b3b3b;
}
.site-renewal .career-chapters .chapter-nav [aria-selected=true] b {
  background: #3b3b3b;
  color: #ffffff;
  border-color: #3b3b3b;
  box-shadow: none;
}
.site-renewal .career-chapters .section-foot a {
  color: #3b3b3b;
}
.site-renewal .works-story .works-choices button[aria-selected=true] {
  background: transparent;
  color: #3b3b3b;
}
.site-renewal .v3-footer a,
.site-renewal .v3-footer p {
  color: #5b5b5b;
}
.site-renewal .v3-head {
  --site-ink:#282828;
  --site-blue:#3b3b3b;
}
.site-renewal .v3-head,
.site-renewal .v3-head a {
  color: #282828;
}
.site-renewal .career-chapters .chapter-progress {
  color: #5b5b5b;
}
.site-renewal .v3-contact p {
  color: #5b5b5b;
}
.site-renewal .v3-contact .v3-primary {
  background: #3b3b3b;
  color: #ffffff;
  border: 1px solid #3b3b3b;
}
.site-renewal .v3-contact .v3-primary:focus-visible {
  background: #303030;
  color: #ffffff;
  border-color: #303030;
}
.site-renewal .career-chapters .chapter-visual b {
  color: #707070;
}
.site-renewal .business-gallery .home-summary-card {
  overflow: hidden;
}
.site-renewal .v3-detail .business-gallery .home-summary-card .business-art {
  margin: 12px 12px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  height: 190px;
}
.site-renewal .works-story .result {
  color: var(--site-ink);
}
.site-renewal .accent-key,
.site-renewal .works-story .result strong,
.site-renewal .works-story .support b {
  color: var(--site-blue);
  font-weight: 650;
}
.site-renewal .accent-key {
  font-size: inherit;
}
.site-renewal .career-chapters .chapter-nav b {
  background: #f2f2f2;
}
.site-renewal .career-chapters .chapter-nav [aria-selected=true] b {
  background: #3b3b3b;
}
.site-renewal .career-chapters .chapter-nav:before {
  background: #d9d9d9;
}
.site-renewal .career-chapters .chapter-visual {
  border-color: #d9d9d9;
}
.site-renewal .business-gallery {
  padding-top: 48px;
}
.site-renewal .business-gallery .business-copy h3 {
  min-height: 0;
}
.site-renewal .business-gallery .business-heading {
  margin-bottom: 28px;
}
@media (max-width: 640px) {
  .site-renewal .v3-detail .business-gallery .home-summary-card .business-art {
    height: 160px;
  }
  .site-renewal .business-gallery {
    padding-top: 32px;
  }
}
.site-renewal :is(.card h2, .card h3, .works-story .story-title, .career-chapters .career-title) {
  color: #282828;
}
.site-renewal :is(.card h2, .card h3, .works-story .story-title, .career-chapters .career-title) :is(.accent-key, strong, b, a) {
  color: inherit;
}
.site-renewal .business-gallery .grid3 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.site-renewal .business-gallery .business-copy {
  padding: 24px;
}
.site-renewal .business-gallery h3.business-title {
  font-size: 22px;
  line-height: 1.55;
  word-break: normal;
  overflow-wrap: break-word;
}
#web-development,
#ai-adoption {
  scroll-margin-top: 110px;
}
@media (max-width: 1199px) {
  .site-renewal .business-gallery .grid3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .site-renewal .business-gallery .grid3 {
    grid-template-columns: 1fr;
  }
  .site-renewal .business-gallery .business-copy {
    padding: 24px;
  }
}
.site-renewal .v3-detail .short-route,
.site-renewal :is(.short-route, .estimate-result, .estimate-additional, .estimate-term-grid article, .estimate-pdf-dialog),
.site-renewal .career-chapters .chapter-nav button {
  border-radius: 0;
}
.site-renewal .v3-wrap,
.site-renewal .wrap {
  max-width: 1440px;
}
.site-renewal .works-story .story-title {
  font-size: clamp(24px, 2.15vw, 32px);
  line-height: 1.6;
  letter-spacing: -.04em;
  margin: 0 0 24px;
  font-weight: 650;
}
.site-renewal .works-story .case-topic + .case-topic {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--site-rule);
}
.site-renewal .works-story .case-topic :is(h3, h4) {
  font-size: 16px;
  line-height: 1.6;
  color: var(--site-ink);
  margin: 0 0 12px;
  font-weight: 650;
}
.site-renewal .works-story.detail-feature .works-wrap {
  max-width: 1440px;
  padding-block: 56px;
}
.site-renewal .works-story.detail-feature .case {
  padding: 36px 40px;
}
.site-renewal .works-story.detail-feature .case-description {
  max-width: 880px;
}
.site-renewal .works-story .case {
  scroll-margin-top: 100px;
}
.site-renewal .career-chapters .career-wrap {
  max-width: 1440px;
  padding-inline: var(--site-gutter);
}
.site-renewal .career-chapters h2 {
  font-size: 38px;
  line-height: 1.4;
}
.site-renewal .career-chapters[data-depth=excerpt] .chapter-panel {
  min-height: 0;
}
.site-renewal .career-chapters[data-depth=excerpt] .chapter-visual {
  height: 112px;
  padding-bottom: 18px;
  margin-bottom: 22px;
}
.site-renewal .career-chapters[data-depth=excerpt] .stage-icon {
  width: 98px;
  height: 98px;
  padding: 10px;
}
.site-renewal .career-chapters[data-depth=excerpt] .chapter-visual b {
  font-size: 84px;
}
.site-renewal .career-chapters[data-depth=excerpt] .tags {
  display: none;
}
.site-renewal .v3-detail .sec-lead {
  margin-left: 0;
}
.site-renewal .v3-detail .card:not(.home-summary-card) {
  background: transparent;
  padding: 28px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.site-renewal .v3-detail .talks,
.site-renewal .v3-detail .talk-more {
  max-width: none;
}
.site-renewal #career-details {
  padding-top: 0;
}
.site-renewal #career-details .strengths {
  margin-top: 0;
}
.site-renewal .v3-page-head .detail-page-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  column-gap: 48px;
}
.site-renewal .detail-page-intro .v3-breadcrumb {
  grid-column: 1/-1;
}
.site-renewal .detail-page-intro h1,
.site-renewal .detail-page-intro p {
  grid-column: 1;
}
.site-renewal .detail-page-art {
  grid-column: 2;
  grid-row: 2/span 2;
  align-self: center;
}
.site-renewal .detail-page-art svg {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 820px) {
  .site-renewal .career-chapters h2 {
    font-size: 32px;
  }
  .site-renewal .works-story.detail-feature .works-wrap {
    padding-block: 40px;
  }
  .site-renewal .works-story.detail-feature .case {
    padding: 24px 20px;
  }
  .site-renewal .v3-detail .card:not(.home-summary-card) {
    padding: 24px 20px;
  }
  .site-renewal .v3-page-head .detail-page-intro {
    grid-template-columns: minmax(0, 1fr) 180px;
    column-gap: 24px;
  }
}
@media (max-width: 640px) {
  .site-renewal .v3-page-head .detail-page-intro {
    display: block;
  }
  .site-renewal .detail-page-art {
    max-width: 230px;
    margin: 28px auto 0;
  }
}
.site-renewal .career-chapters .chapter-nav small,
.site-renewal .career-chapters .chapter-nav strong,
.site-renewal .career-chapters .tags span,
.site-renewal .career-chapters .chapter-progress {
  font-size: 12px;
}
.site-renewal .career-chapters .body-copy {
  font-size: 14px;
}
.site-renewal .v3-footer .v3-social a,
.site-renewal .v3-footer-bottom a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.site-renewal .card > h2.v3-card-title {
  font-size: 22px;
  line-height: 1.55;
  margin-bottom: 14px;
}
.site-renewal .estimate-page :is(.work-help, .quote-line-detail, .quote-updated, .result-tax-rate, .pdf-recipient-label span, .estimate-additional > summary > span, .check-price, .sheet-hint, .quote-table) {
  font-size: 12px;
}
@media (max-width: 480px) {
  .site-renewal .v3-contact-link {
    font-size: 12px;
  }
}
.site-renewal .estimate-page .result-amount strong {
  white-space: normal;
  overflow-wrap: anywhere;
}
.site-renewal .estimate-page .estimate-mobile-total {
  flex-wrap: wrap;
}
@media (max-width: 480px) {
  .site-renewal .v3-head .v3-logo {
    flex: 1;
    min-width: 0;
    white-space: normal;
  }
  .site-renewal .v3-head .v3-logo b {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .site-renewal .v3-head .v3-contact-link {
    flex: none;
  }
}
.site-renewal .estimate-page input:not([type=checkbox]),
.site-renewal .estimate-page select {
  border-color: #737373;
}
.site-renewal .immersive-hero .menu-panel a:focus-visible {
  outline: 3px solid #3b3b3b;
  outline-offset: 4px;
}
.site-renewal :is(button, a, summary, [role=button], input[type=button], input[type=submit], input[type=reset]) {
  border-radius: 0 !important;
}
.site-renewal .career-chapters .chapter-nav b {
  border-radius: 0;
}
.site-renewal .profile-intro {
  display: grid;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.site-renewal .profile-intro .photo-frame {
  aspect-ratio: 4/5;
  background: #f1f1f1;
  overflow: hidden;
}
.site-renewal .profile-intro .photo-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 8%;
}
.site-renewal .profile-intro .profile-name {
  font-size: clamp(26px, 2.6vw, 36px);
  font-weight: 700;
  letter-spacing: -.01em;
  margin: 0;
  color: #282828;
}
.site-renewal .profile-intro .profile-role {
  color: #3b3b3b;
  font-weight: 650;
  margin: 6px 0 18px;
}
.site-renewal .profile-intro .hero-lead {
  margin: 0;
}
@media (max-width: 640px) {
  .site-renewal .profile-intro {
    grid-template-columns: 1fr;
  }
  .site-renewal .profile-intro .photo-frame {
    width: min(220px, 70%);
    aspect-ratio: 1/1;
  }
}
@media (min-width: 1200px) {
  .site-renewal .business-gallery .grid3 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
  }
}
@media (min-width: 821px) and (max-width: 1199px) {
  .site-renewal .business-gallery .grid3 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
.site-renewal .career-chapters .career-points {
  margin: 14px 0 0;
  padding: 0 0 0 1.2em;
  display: grid;
  gap: 6px;
  color: #3a3a3a;
  font-size: 14.5px;
  line-height: 1.7;
}
.site-renewal .tech-stack {
  background: #ffffff;
  border-top: 1px solid #e1e1e1;
}
.site-renewal .tech-stack .wrap {
  padding-top: clamp(48px, 6vw, 80px);
  padding-bottom: clamp(48px, 6vw, 80px);
}
.site-renewal .tech-stack h2 {
  font-size: clamp(26px, 2.6vw, 34px);
  margin: 0;
}
.site-renewal .tech-stack .lead {
  color: #5b5b5b;
  margin: 10px 0 28px;
}
.site-renewal .stack-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}
.site-renewal .stack-grid section {
  border: 0;
  background: transparent;
  padding: 18px 20px;
}
.site-renewal .stack-grid h3 {
  font-size: 14px;
  color: #3b3b3b;
  margin: 0 0 12px;
}
.site-renewal .stack-grid ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.site-renewal .stack-grid li {
  background: transparent;
  padding: 6px 0;
  font-size: 14px;
  display: flex;
  gap: 8px;
  align-items: baseline;
  color: #282828;
}
.site-renewal .stack-grid li small {
  color: #3b3b3b;
  font-weight: 700;
  font-size: 12px;
}
.site-renewal .mediakit {
  margin: 0 0 28px;
  border: 0;
  background: transparent;
  padding: 0;
}
.site-renewal .mediakit h3 {
  margin: 0 0 4px;
  font-size: 18px;
}
.site-renewal .mediakit .note {
  margin: 0 0 20px;
  color: #5b5b5b;
  font-size: 12.5px;
}
.site-renewal .mk-tiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.site-renewal .mk-tiles div {
  background: transparent;
  padding: 0;
}
.site-renewal .mk-tiles b {
  display: block;
  font-size: 26px;
  color: #3b3b3b;
  letter-spacing: -.01em;
  line-height: 1.2;
}
.site-renewal .mk-tiles b small {
  font-size: .5em;
  margin-left: 2px;
}
.site-renewal .mk-tiles span {
  font-size: 13px;
  color: #5b5b5b;
}
.site-renewal .mk-aud {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 24px;
  margin-top: 22px;
}
.site-renewal .mk-aud h4 {
  font-size: 13px;
  color: #3b3b3b;
  margin: 0 0 10px;
}
.site-renewal .mk-bar {
  display: grid;
  grid-template-columns: 5.5em minmax(0, 1fr) 3.2em;
  gap: 10px;
  align-items: center;
  font-size: 13px;
  margin-bottom: 6px;
}
.site-renewal .mk-bar i {
  display: block;
  height: 10px;
  background: #3b3b3b;
}
.site-renewal .mk-bar em {
  font-style: normal;
  color: #5b5b5b;
  text-align: right;
}
.site-renewal .mk-theme {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: #3a3a3a;
}
@media (max-width: 820px) {
  .site-renewal .mk-tiles {
    grid-template-columns: 1fr 1fr;
  }
  .site-renewal .mk-aud {
    grid-template-columns: 1fr;
  }
}
.site-renewal .mk-tiles {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.site-renewal .media-sub {
  margin: 44px 0 18px;
  font-size: 20px;
}
.site-renewal .pr-work {
  display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  color: inherit;
  text-decoration: none;
  border: 0;
  background: transparent;
  padding: 24px 26px;
}
.site-renewal .pr-work img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  border: 1px solid #e1e1e1;
}
.site-renewal .pr-work h3 {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.6;
  color: #282828;
}
.site-renewal .pr-sponsor {
  margin: 0 0 4px;
  font-size: 12.5px;
  font-weight: 700;
  color: #3b3b3b;
}
.site-renewal .pr-meta {
  margin: 0 0 10px;
  font-size: 12.5px;
  color: #5b5b5b;
  font-variant-numeric: tabular-nums;
}
.site-renewal .pr-summary {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.8;
  color: #3a3a3a;
}
.site-renewal .pr-scope {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.site-renewal .pr-scope span {
  background: transparent;
  padding: 4px 0;
  font-size: 12.5px;
  color: #282828;
}
.site-renewal .pr-offers .card h3 {
  margin: 0 0 8px;
  font-size: 17px;
}
.site-renewal .pr-offers .card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}
.site-renewal #ratecard .v3-secondary {
  margin-left: 8px;
}
@media (max-width: 820px) {
  .site-renewal .mk-tiles {
    grid-template-columns: 1fr 1fr;
  }
  .site-renewal .pr-work {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px;
  }
  .site-renewal #ratecard .v3-secondary {
    margin: 12px 0 0;
  }
}
.site-renewal .talk .talk-title {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: #bebebe;
  text-underline-offset: 4px;
}
.site-renewal .talk .deck {
  grid-column: 2/-1;
  max-width: 760px;
}
@media (max-width: 820px) {
  .site-renewal .talk .deck {
    grid-column: 1/-1;
  }
}
.site-renewal .talk .deck iframe {
  display: block;
  width: 100%;
  aspect-ratio: 560/315;
  height: auto;
  border: 1px solid #d9d9d9;
  background: #f2f2f2;
}
.site-renewal .profile-intro .name-note {
  margin: 0;
  font-size: 14px;
  color: #3a3a3a;
  line-height: 1.8;
}
.site-renewal .profile-intro .name-handles {
  list-style: none;
  margin: 10px 0 20px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.site-renewal .profile-intro .name-handles a {
  display: inline-flex;
  gap: 6px;
  font-size: 13px;
  padding: 4px 0;
  background: transparent;
  color: #282828;
  text-decoration: none;
}
.site-renewal .profile-intro .name-handles b {
  color: #3b3b3b;
  font-weight: 700;
}
.site-renewal .contact-form-card {
  max-width: 720px;
  margin: 0 auto;
  background: transparent;
  border: 0;
  padding: clamp(24px, 4vw, 40px);
}
.site-renewal .contact-form-card h2 {
  margin: 0;
  font-size: clamp(22px, 2.2vw, 28px);
}
.site-renewal .contact-form-card .lead {
  color: #5b5b5b;
  margin: 10px 0 24px;
  font-size: 14.5px;
  line-height: 1.8;
}
.site-renewal #inquiry-form {
  display: grid;
  gap: 18px;
}
.site-renewal #inquiry-form label {
  display: grid;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #282828;
}
.site-renewal #inquiry-form input,
.site-renewal #inquiry-form select,
.site-renewal #inquiry-form textarea {
  font: inherit;
  font-weight: 400;
  font-size: 16px;
  padding: 10px 12px;
  border: 1px solid #8f8f8f;
  border-radius: 0;
  background: #ffffff;
  color: #282828;
  width: 100%;
}
.site-renewal #inquiry-form input:focus-visible,
.site-renewal #inquiry-form select:focus-visible,
.site-renewal #inquiry-form textarea:focus-visible {
  outline: 3px solid #616161;
  outline-offset: 2px;
}
.site-renewal #inquiry-form button {
  justify-self: start;
  font: inherit;
  font-weight: 700;
  font-size: 15px;
  padding: 13px 24px;
  min-height: 48px;
  border: 1px solid #3b3b3b;
  background: #3b3b3b;
  color: #ffffff;
  cursor: pointer;
}
.site-renewal #inquiry-form button:focus-visible {
  background: #303030;
}
.site-renewal .latest {
  background: #ffffff;
  border-top: 1px solid #e1e1e1;
}
.site-renewal .latest .wrap {
  padding-top: clamp(48px, 6vw, 80px);
  padding-bottom: clamp(48px, 6vw, 80px);
}
.site-renewal .latest-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.site-renewal .latest h2 {
  margin: 0;
  font-size: clamp(28px, 3vw, 40px);
}
.site-renewal .latest .lead {
  margin: 8px 0 0;
  color: #5b5b5b;
  font-size: 14px;
}
.site-renewal .latest-head a {
  color: #3b3b3b;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  border-bottom: 1px solid #3b3b3b;
  padding-bottom: 3px;
}
.site-renewal .latest-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.site-renewal .latest-cards a {
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #282828;
  text-decoration: none;
  background: transparent;
  border: 0;
}
.site-renewal .latest-cards img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  background: #f2f2f2;
}
.site-renewal .latest-cards b {
  font-size: 15px;
  line-height: 1.6;
  padding: 0 16px;
}
.site-renewal .latest-cards small {
  color: #5b5b5b;
  font-size: 12.5px;
  padding: 0 16px 16px;
}
@media (max-width: 820px) {
  .site-renewal .latest-cards {
    grid-template-columns: 1fr;
  }
}
.site-renewal #inquiry-form .hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.site-renewal #inquiry-form button:disabled {
  opacity: .6;
  cursor: wait;
}
.site-renewal #inquiry-form .form-status {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  min-height: 1.7em;
}
.site-renewal #inquiry-form .form-status.ok {
  color: #575757;
  font-weight: 700;
}
.site-renewal #inquiry-form .form-status.ng {
  color: #434343;
  font-weight: 700;
}
.site-renewal #inquiry-form .field {
  display: flex;
  align-items: center;
  gap: 8px;
}
.site-renewal #inquiry-form .req,
.site-renewal #inquiry-form .opt {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1;
  padding: 4px 6px;
}
.site-renewal #inquiry-form .req {
  background: #434343;
  color: #ffffff;
}
.site-renewal #inquiry-form .opt {
  background: #eeeeee;
  color: #5b5b5b;
}
.site-renewal .section-cta {
  margin-top: 0;
  padding-top: 40px;
  padding-bottom: clamp(48px, 6vw, 72px);
}
.site-renewal .stack-grid li small {
  white-space: nowrap;
}
.site-renewal .type-phrase {
  display: inline-block;
}
@media (max-width: 820px) {
  .site-renewal .works-story .works-choices {
    grid-template-columns: 1fr;
  }
  .site-renewal .works-story .works-choices button {
    padding: 14px 14px;
    font-size: 14px;
  }
}
.site-renewal[data-page=talks] #talks .talks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  border: 0;
}
.site-renewal[data-page=talks] #talks .talk {
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  gap: 8px;
  padding: 28px;
  background: transparent;
  border: 0;
}
.site-renewal[data-page=talks] #talks .talk .d {
  margin: 0;
  font-size: 14px;
}
.site-renewal[data-page=talks] #talks .talk h3 {
  font-size: 16px;
  line-height: 1.6;
}
.site-renewal[data-page=talks] #talks .talk .ev {
  font-size: 14px;
  margin: 0;
}
.site-renewal[data-page=talks] #talks .talk .deck {
  max-width: none;
  width: 100%;
  margin-top: 24px;
  padding-top: 6px;
}
@media (max-width: 820px) {
  .site-renewal[data-page=talks] #talks .talks {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.site-renewal #career-details {
  padding-top: clamp(48px, 6vw, 72px);
}
.site-renewal #career-details .aud.grid1 {
  max-width: none;
}
.site-renewal[data-page=media] .aud.grid1 {
  max-width: none;
}
.site-renewal h1,
.site-renewal h2,
.site-renewal h3,
.site-renewal h4,
.site-renewal button,
.site-renewal .works-choices button,
.site-renewal .entry-actions b {
  word-break: auto-phrase;
}
@media (min-width: 641px) and (max-width: 820px) {
  .site-renewal .videos {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px;
  }
  .site-renewal .latest-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }
  .site-renewal .latest-cards b {
    font-size: 13px;
    padding: 0 12px;
  }
  .site-renewal .latest-cards small {
    padding: 0 12px 12px;
  }
}
.site-renewal .contact-form-sec {
  padding-top: 0 !important;
}
@media (min-width: 641px) and (max-width: 820px) {
  .site-renewal .videos .vcard h3 {
    font-size: 13.5px;
    line-height: 1.6;
  }
}
.site-renewal .talk > * {
  min-width: 0;
}
.site-renewal .talk .ev,
.site-renewal .talk h3 {
  overflow-wrap: anywhere;
}
.site-renewal {
  --site-ink:#2c2c2c;
  --site-muted:#575757;
  --site-blue:#3b3b3b;
  --site-paper:#f2f2f2;
  --surface:#ffffff;
  --surface-soft:#f2f2f2;
  --surface-heading:#ffffff;
  --surface-action:#303030;
  color-scheme: light;
}
.site-renewal .v3 {
  color: var(--site-ink);
}
.site-renewal .site-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 52px;
  padding: 14px 22px;
  font: 650 15px/1.6 var(--sans);
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  vertical-align: middle;
  max-width: 100%;
  box-sizing: border-box;
  transition:
    background-color .18s,
    color .18s,
    transform .18s;
}
.site-renewal .site-action-primary,
.site-renewal .v3-head .site-action-primary,
.site-renewal .immersive-hero .masthead .site-action-primary {
  background: #3b3b3b;
  color: #ffffff;
  border: 0;
}
.site-renewal .site-action-secondary {
  color: #3b3b3b;
  background: #ffffff;
  border: 0;
  box-shadow: inset 0 0 0 1px #8d8d8d;
}
.site-renewal .site-action:active {
  transform: translateY(1px);
}
.site-renewal .site-action svg {
  width: 20px;
  height: 20px;
  flex: none;
}
.site-renewal .site-action[aria-disabled=true],
.site-renewal .site-action:disabled {
  opacity: .6;
  cursor: wait;
  transform: none;
}
.site-renewal .site-action > span {
  flex: none;
}
.site-renewal :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #3b3b3b;
  outline-offset: 4px;
  box-shadow: 0 0 0 3px #ffffff;
}
.site-renewal :is(a, button, summary) {
  touch-action: manipulation;
}
.site-renewal .v3-head > .v3-wrap {
  gap: 24px;
}
.site-renewal .v3-head nav {
  gap: 24px;
}
.site-renewal .v3-contact-link {
  padding: 11px 18px;
  font-size: 14px;
  min-height: 48px;
}
.site-renewal .v3-head nav a[aria-current=page] {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 8px;
}
.site-renewal .site-menu .menu-panel {
  padding: 28px;
  box-shadow: 0 16px 50px #0000001a;
  border: 0;
  background: #ffffff;
}
.site-renewal .menu-group + .menu-group {
  margin-top: 28px;
}
.site-renewal .menu-group > p {
  margin: 0 0 8px;
  color: #565656;
  font-size: 14px;
  font-weight: 650;
}
.site-renewal .menu-group .menu-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 20px;
}
.site-renewal .menu-group .menu-links a {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #272727;
}
.site-renewal .menu-group .menu-links a[aria-current=page] {
  color: #3b3b3b;
  font-weight: 700;
}
.site-renewal .v3-page-head {
  padding-block: 56px 24px;
  background: var(--surface-heading);
  border: 0;
}
.site-renewal .v3-page-head p {
  color: #565656;
  font-size: 16px;
  max-width: 44em;
}
.site-renewal .v3-breadcrumb {
  min-height: 44px;
  font-size: 14px;
  margin-bottom: 20px;
  color: #565656;
}
.site-renewal .page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.site-renewal .page-index {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 28px;
  margin-top: 28px;
  max-width: 100%;
}
.site-renewal .page-index a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
  color: #464646;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.site-renewal .page-index a {
  min-width: 44px;
  justify-content: center;
}
.site-renewal .detail-page-intro :is(.page-actions, .page-index) {
  grid-column: 1;
}
.site-renewal .sec.alt,
.site-renewal .v3-detail .business-gallery,
.site-renewal .works-story,
.site-renewal .career-chapters,
.site-renewal .v3-contact,
.site-renewal .v3-footer {
  border: 0;
}
.site-renewal :is(.card, .v3-card, .home-summary-card, .works-story .case, .career-chapters .chapter-panel, .stack-grid section, .short-route) {
  border: 0 !important;
  box-shadow: none;
}
.site-renewal .business-gallery {
  background: var(--surface-soft);
  padding-block: 80px;
}
.site-renewal .business-gallery .grid3 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.site-renewal .business-gallery .home-summary-card {
  grid-column: auto !important;
  background: #ffffff;
  box-shadow: none;
}
.site-renewal .business-gallery .business-art {
  height: 130px !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  margin: 24px 24px 0 !important;
}
.site-renewal .business-gallery .business-art svg {
  max-height: 130px;
}
.site-renewal .business-gallery .business-copy {
  padding: 28px 32px;
}
.site-renewal .business-gallery .business-copy p {
  font-size: 16px;
  line-height: 1.9;
  color: #565656;
}
.site-renewal .business-gallery .business-copy .business-pain {
  font-size: 14px;
  color: #565656;
  font-weight: 450;
}
.site-renewal .business-gallery .business-copy p.business-proof {
  font-size: 15px;
  font-weight: 550;
  color: #383838;
  background: transparent;
  border: 0;
  padding: 0;
  margin-top: 24px;
}
.site-renewal .business-actions {
  gap: 12px 20px;
  flex-wrap: wrap;
}
.site-renewal .business-actions a {
  min-height: 44px;
  font-size: 15px;
}
.site-renewal .business-actions .site-action {
  gap: 12px;
  padding: 12px 18px;
}
.site-renewal .business-actions .home-detail-cta {
  background: none;
  color: #3b3b3b;
  border: 0;
  padding: 8px 0;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.site-renewal .service-detail .home-summary-card {
  grid-template-columns: minmax(0, 230px) minmax(0, 1fr);
  gap: 24px;
  padding: 12px !important;
}
.site-renewal .service-detail .business-art {
  align-self: start;
  margin: 28px 0 0 !important;
}
.site-renewal .works-story {
  background: #ffffff;
}
.site-renewal .works-story .case {
  background: var(--surface-soft);
  padding: 40px;
}
.site-renewal .works-story .works-choices button {
  border: 0 !important;
  padding: 18px 20px;
  color: #565656;
  min-height: 48px;
}
.site-renewal .works-story .works-choices button[aria-selected=true] {
  background: #eeeeee;
  color: #3b3b3b;
  font-weight: 700;
}
.site-renewal .works-story .case-topic + .case-topic {
  border: 0;
  margin-top: 32px;
  padding-top: 0;
}
.site-renewal .works-story .case-description p {
  font-size: 16px;
  color: #565656;
}
.site-renewal .case-request {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.site-renewal .career-chapters {
  background: #f5f5f5;
}
.site-renewal .career-chapters .chapter-panel {
  background: #ffffff;
}
.site-renewal .career-chapters .chapter-visual {
  background: transparent;
  border: 0;
}
.site-renewal .career-chapters .chapter-visual > b {
  font-size: 48px;
  color: #565656;
}
.site-renewal .career-chapters .body-copy,
.site-renewal .career-chapters .career-points {
  font-size: 16px;
  color: #565656;
}
.site-renewal .career-chapters :is(.chapter-nav small, .chapter-nav strong, .tags span, .chapter-progress) {
  font-size: 14px;
  color: #565656;
}
.site-renewal .career-chapters .chapter-nav:before {
  display: none;
}
.site-renewal .career-chapters .chapter-nav b {
  box-shadow: none;
  border: 0;
}
.site-renewal .tech-stack {
  border: 0;
}
.site-renewal .stack-grid {
  gap: 28px;
}
.site-renewal .stack-grid section {
  background: var(--surface-soft);
  padding: 28px;
}
.site-renewal :is(.mk-tiles > div, .pr-work, .talk, .step) {
  border: 0;
  box-shadow: none;
}
.site-renewal .mk-tiles {
  gap: 32px;
  background: transparent;
  padding: 0;
}
.site-renewal .pr-work {
  background: transparent;
  padding: 0;
  gap: 40px;
}
.site-renewal .pr-work :is(.pr-meta, .pr-summary),
.site-renewal .mk-theme {
  color: #565656;
  font-size: 16px;
}
.site-renewal .pr-scope span,
.site-renewal .pr-meta,
.site-renewal .mediakit .note {
  font-size: 14px;
  color: #565656;
}
.site-renewal .talk {
  padding-block: 28px;
  margin-block: 20px;
}
.site-renewal .talk .deck {
  margin-top: 24px;
}
.site-renewal #talk-request .card h2 {
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 18px;
}
.site-renewal .v3-footer {
  background: #ebebeb;
  padding-top: 48px;
}
.site-renewal .v3-footer nav {
  gap: 8px 28px;
}
.site-renewal .v3-footer nav a {
  min-height: 44px;
  align-items: center;
  font-size: 14px;
}
.site-renewal .v3-footer-bottom {
  border: 0;
  margin-top: 20px;
}
.site-renewal .v3-footer a {
  color: #404040;
}
.site-renewal .sec-h,
.site-renewal .v3-detail .sec-h,
.site-renewal .works-story h2,
.site-renewal .career-chapters h2,
.site-renewal .latest h2,
.site-renewal .v3-contact h2 {
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.45;
}
.site-renewal .works-story .result .result-basis,
.site-renewal .works-story .support .result-basis {
  font-size: 14px;
  white-space: normal;
}
.site-renewal .works-story .foot,
.site-renewal .career-chapters .section-foot,
.site-renewal .career-chapters .section-foot span {
  font-size: 14px;
}
.site-renewal :is(.works-story .foot span, .works-story .tech li, .name-handles a, .tb-note, .talk .ev, .talk .dt) {
  font-size: 14px;
}
.site-renewal .works-story .case-topic .tb-detail .tb-note,
.site-renewal .works-story .case .tech li {
  font-size: 14px;
}
.site-renewal .works-story .works-wrap > .foot span {
  font-size: 14px;
}
.site-renewal .v3-contact p,
.site-renewal .flow-note,
.site-renewal .fine {
  font-size: 14px;
  color: #565656;
}
.site-renewal .contact-form-sec {
  padding-top: 20px;
}
.site-renewal .contact-form-card {
  border: 0;
  background: #f5f5f5;
  padding: 36px;
  box-shadow: none;
}
.site-renewal .contact-form-card :is(.lead, .field, label) {
  font-size: 16px;
  color: #272727;
}
.site-renewal .contact-form-card :is(.req, .opt) {
  font-size: 14px;
}
.site-renewal #contact.msg {
  background: #ffffff;
  color: #272727;
  border: 0;
  text-align: left;
}
.site-renewal #contact.msg h2 {
  font-size: 28px;
}
.site-renewal #contact.msg p {
  color: #565656;
  font-size: 16px;
}
.site-renewal #contact.msg .bubble {
  display: none;
}
.site-renewal #contact.msg .btns {
  justify-content: flex-start;
}
.site-renewal #contact.msg .site-action-secondary {
  background: #ffffff;
  color: #3b3b3b;
  border: 0;
  box-shadow: inset 0 0 0 1px #8d8d8d;
}
.site-renewal :is(input:not([type=checkbox]):not([type=radio]), textarea, select),
.site-renewal .estimate-page :is(input:not([type=checkbox]), textarea, select) {
  border: 1px solid #767676;
  background: #ffffff;
  color: #272727;
  min-height: 48px;
  font-size: 16px;
}
.site-renewal :is(input[type=checkbox], input[type=radio]) {
  accent-color: #3b3b3b;
  min-width: 20px;
  min-height: 20px;
}
.site-renewal #pricing-wizard {
  --ink:#272727;
  --muted:#565656;
  --paper:#f5f5f5;
  --selection-surface:#eeeeee;
  font-size: 16px;
}
.site-renewal #pricing-wizard :is(.flow-aside, .estimate-paper, .pending-box, .extras-impact, .launch-summary, .chosen-estimate, .completed-controls, .historical-rate-note, .extras-consultations, .comparison-dock, .alternative-card, .choice) {
  border: 0;
  box-shadow: none;
}
.site-renewal #pricing-wizard :is(.flow-aside, .extras-impact, .launch-summary, .completed-controls) {
  background: #f5f5f5;
  padding: 26px;
}
.site-renewal #pricing-wizard .choice {
  background: #f5f5f5;
  padding: 22px;
  gap: 8px;
}
.site-renewal #pricing-wizard .choice:has(input:checked) {
  background: #eeeeee;
}
.site-renewal #pricing-wizard .alternative-card {
  background: #f5f5f5;
  padding: 24px;
}
.site-renewal #pricing-wizard :is(.question-hint, .choice-description, .choice-price, .hint, .sheet-note, .rev-note, .answer-value, .aside-foot, .aside-price-label, .answer-list small, .question-kicker, .mini-note, .wizard-contact-note, .launch-summary small, .launch-summary p, .simulator-header p, .comparison-dock p, .alternatives-hint, .alternative-label, .alternative-total-label, .alternative-pending, .alternative-difference, .document-foot, .pending-box p, .pdf-recipient label, .pdf-recipient small, .extras-amounts, .extras-revision-effects, .extras-explanation, .extras-no-consultation) {
  font-size: 14px;
  line-height: 1.85;
}
.site-renewal #pricing-wizard :is(.choice-title, .simulator-launch p, .revisions, .document-details, .document-details summary, .alternative-details, .alternative-details summary, .alternative-details .estimate-lines, .alternative-details .estimate-lines td, .estimate-lines, .estimate-lines td, .estimate-lines th, .paper-heading p, .paper-subject, .paper-sender, .pdf-message, .pending-box li) {
  font-size: 16px;
  line-height: 1.85;
}
.site-renewal #pricing-wizard :is(.estimate-lines th small, .alternative-details h4, .extras-revision-effects strong, .extras-consultations h4, .extras-consultations ul, .extras-consultations small) {
  font-size: 14px;
}
.site-renewal #pricing-wizard .choice.compact .choice-title {
  font-size: 16px;
}
.site-renewal #pricing-wizard .choice.compact .choice-description {
  font-size: 14px;
}
.site-renewal #pricing-wizard .choice.compact {
  padding-right: 54px;
}
.site-renewal #pricing-wizard :is(.button, .text-button, .answer-row button, .simulator-close, .alternative-card > .button) {
  font-size: 14px;
  min-height: 44px;
}
.site-renewal #pricing-wizard :is(.navigation, .answer-list li, .aside-foot, .revisions, .wizard-contact-note, .extras-current, .extras-revision-effects li, .estimate-alternatives, .document-details, .restart-row) {
  border: 0;
}
.site-renewal #pricing-wizard .answer-list {
  display: grid;
  gap: 16px;
}
.site-renewal #pricing-wizard .answer-list li {
  padding: 0;
}
.site-renewal #pricing-wizard .comparison-dock {
  background: #eeeeee;
  padding-block: 18px;
}
.site-renewal #pricing-wizard .pending-box,
.site-renewal #pricing-wizard .extras-consultations {
  background: #f1f1f1;
  color: #424242;
  padding: 22px;
}
.site-renewal #pricing-wizard .pricing-simulator {
  border: 0;
}
.site-renewal #pricing-wizard .simulator-header {
  border: 0;
  background: #f5f5f5;
}
.site-renewal #pricing-wizard .document-details {
  margin-top: 24px;
  background: #f5f5f5;
  padding: 16px 20px;
}
.site-renewal #pricing-wizard .media-revision-field {
  border: 0;
  padding-block: 12px;
}
.site-renewal #pricing-wizard .media-revisions {
  border: 0;
  margin-bottom: 32px;
}
.site-renewal #pricing-wizard input[aria-invalid=true] {
  border-color: #464646;
  outline: 2px solid #464646;
  outline-offset: 2px;
}
.site-renewal #pricing-wizard .revision-field-error {
  color: #3a3a3a;
  font-size: 14px;
}
.site-renewal #pricing-wizard .completion-heading p {
  font-size: 14px;
  line-height: 1.85;
  color: #565656;
}
.site-renewal #pricing-wizard .mini-note {
  border: 0;
  background: #f5f5f5;
  padding: 18px;
}
.site-renewal .estimate-page :is(.estimate-result, .estimate-term-grid article, .estimate-additional, .estimate-selected-scope, .sheet-hint) {
  border: 0;
  box-shadow: none;
}
.site-renewal #legacy-estimate :is(.work-help, .quote-line-detail, .quote-updated, .result-tax-rate, .pdf-recipient-label span, .estimate-additional > summary > span, .check-price, .sheet-hint, .quote-table, .estimate-hint, .estimate-result-note, .estimate-terms, .estimate-term-grid li) {
  font-size: 14px;
  line-height: 1.85;
}
.site-renewal #legacy-estimate :is(.work-label, .estimate-lines, .estimate-lines td, .estimate-lines th, .estimate-result p) {
  font-size: 16px;
  line-height: 1.85;
}
.site-renewal #legacy-estimate .estimate-result {
  background: #f5f5f5;
  padding: 28px;
}
.site-renewal .estimate-page .estimate-hint,
.site-renewal #legacy-estimate :is(p, li, label, small, span) {
  font-size: 14px;
  line-height: 1.85;
}
.site-renewal .v3-detail main > .sec {
  background: var(--surface);
}
.site-renewal .v3-detail .business-gallery {
  background: var(--surface-soft);
}
.site-renewal .v3-detail :is(#pr-works, #talks, #flow) {
  background: var(--surface-soft);
}
.site-renewal .section-eyebrow {
  font-size: 14px;
  font-weight: 650;
  letter-spacing: .04em;
  margin: 0 0 12px;
  color: #535353;
}
.site-renewal .sec-lead {
  max-width: 48em;
}
.site-renewal .section-cta {
  padding-block: 36px 64px;
}
.site-renewal .business-gallery .business-actions {
  border: 0;
  padding-top: 24px;
  justify-content: flex-start;
  gap: 12px 24px;
}
.site-renewal .service-detail .business-sub {
  border: 0;
  padding-top: 20px;
  margin-top: 12px;
}
.site-renewal .works-story .tb-detail {
  background: transparent;
  border: 0;
  padding: 0;
  margin-top: 28px;
}
.site-renewal .works-story .time-breakdown {
  border: 0;
}
.site-renewal .works-story .tech li {
  background: transparent;
  padding: 0;
  margin-right: 18px;
}
.site-renewal .works-story .works-choices {
  border: 0;
  gap: 8px;
}
.site-renewal .mediakit {
  background: var(--surface-soft);
  border: 0;
  padding: 36px;
  margin-bottom: 48px;
}
.site-renewal .mediakit h3 {
  font-size: 24px;
  margin-bottom: 12px;
}
.site-renewal .mediakit .note {
  margin-bottom: 32px;
}
.site-renewal .mk-tiles > div {
  background: transparent;
  padding: 0;
}
.site-renewal .mk-tiles b {
  font-size: clamp(26px, 3vw, 36px);
  color: #2c2c2c;
}
.site-renewal .mk-tiles span,
.site-renewal .mk-aud h4,
.site-renewal .mk-bar {
  font-size: 14px;
}
.site-renewal .mk-aud {
  margin-top: 40px;
  gap: 48px;
}
.site-renewal .pr-offers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px 64px;
  margin-bottom: 48px;
}
.site-renewal .pr-offer h3 {
  font-size: 22px;
  margin: 0 0 12px;
}
.site-renewal .pr-offer p {
  font-size: 16px;
  line-height: 1.9;
  color: var(--site-muted);
  max-width: 38em;
  margin: 0;
}
.site-renewal .ratecard {
  margin-top: 48px;
  scroll-margin-top: 100px;
}
.site-renewal .ratecard-main {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .8fr);
  gap: 64px;
  padding: 48px;
  background: var(--surface-action);
  color: #ffffff;
}
.site-renewal .ratecard-main h3 {
  font-size: clamp(26px, 2.5vw, 34px);
  line-height: 1.5;
  margin: 0 0 20px;
  color: #ffffff;
}
.site-renewal .ratecard-main p {
  font-size: 16px;
  line-height: 1.9;
  color: #e9e9e9;
  margin: 0 0 24px;
  max-width: 42em;
}
.site-renewal .ratecard-main .section-eyebrow {
  color: #dddddd;
  font-size: 14px;
  margin-bottom: 16px;
}
.site-renewal .ratecard-next {
  align-self: center;
}
.site-renewal .ratecard-next h4 {
  color: #ffffff;
  font-size: 20px;
  margin: 0 0 12px;
}
.site-renewal .ratecard-actions {
  display: grid;
  gap: 12px;
  margin: 28px 0 20px;
}
.site-renewal .ratecard .site-action-primary {
  background: #ffffff;
  color: #303030;
  box-shadow: none;
}
.site-renewal .ratecard .site-action-secondary {
  background: transparent;
  color: #ffffff;
  box-shadow: inset 0 0 0 1px #bcbcbc;
}
.site-renewal .ratecard .site-action:focus-visible {
  outline-color: #ffffff;
  box-shadow: 0 0 0 3px #303030;
}
.site-renewal .price-examples {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin: 32px 0 20px;
}
.site-renewal .price-examples dt {
  font-size: 14px;
  color: #e9e9e9;
}
.site-renewal .price-examples dd {
  font-size: clamp(25px, 2.4vw, 34px);
  font-weight: 650;
  line-height: 1.6;
  margin: 4px 0 0;
  color: #ffffff;
  font-variant-numeric: tabular-nums;
}
.site-renewal .ratecard-main .ratecard-basis {
  font-size: 14px;
  color: #dddddd;
  margin-bottom: 0;
}
.site-renewal .ratecard-terms {
  background: transparent;
  margin-top: 16px;
  padding: 0;
}
.site-renewal .ratecard-terms summary {
  display: list-item;
  cursor: pointer;
  color: #3b3b3b;
  min-height: 48px;
  padding: 12px 0;
  font-size: 15px;
  font-weight: 550;
}
.site-renewal .ratecard-terms > div {
  padding: 8px 0 0;
  max-width: 58em;
  color: var(--site-muted);
  font-size: 14px;
}
.site-renewal .ratecard-terms p {
  font-size: 14px;
}
.site-renewal .section-invitation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 36px 0;
}
.site-renewal .section-invitation h2 {
  font-size: 28px;
  line-height: 1.6;
  margin: 0 0 12px;
}
.site-renewal .section-invitation p {
  color: var(--site-muted);
  max-width: 44em;
  margin: 0;
}
.site-renewal .section-invitation .site-action {
  flex: none;
}
.site-renewal .viewer-route {
  margin-top: 64px;
  max-width: 48em;
}
.site-renewal .viewer-route .short-route {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
}
.site-renewal .viewer-route .short-route h3 {
  font-size: 20px;
}
.site-renewal .viewer-route .short-route p {
  font-size: 14px;
}
.site-renewal .production-disclosure-wrap {
  max-width: 1440px;
  padding: 20px var(--site-gutter) 36px;
  margin-inline: auto;
}
.site-renewal .production-disclosure {
  scroll-margin-top: 110px;
}
.site-renewal .production-disclosure > summary {
  font-size: 20px;
  font-weight: 550;
  color: #3b3b3b;
  cursor: pointer;
  min-height: 48px;
  padding-block: 12px;
}
.site-renewal .production-disclosure .works-story {
  margin-top: 24px;
  background: transparent;
}
.site-renewal .production-disclosure .works-story .works-wrap {
  padding: 0;
}
.site-renewal .production-disclosure .works-story .case {
  background: #f2f2f2;
}
.site-renewal[data-page=contact] .v3-page-head {
  padding-block: 24px;
}
.site-renewal[data-page=contact] .v3-page-head h1 {
  font-size: 38px;
}
.site-renewal[data-page=contact] .v3-breadcrumb {
  margin-bottom: 8px;
  min-height: 32px;
}
.site-renewal[data-page=contact] .v3-page-head p {
  margin-top: 12px;
}
.site-renewal[data-page=contact] .page-index {
  margin-top: 12px;
}
.site-renewal .contact-form-sec {
  padding-block: 16px 64px !important;
}
.site-renewal #membership {
  max-width: 960px;
  padding: 0;
  background: transparent;
}
.site-renewal #membership .membership-summary {
  max-width: 44em;
  margin-bottom: 32px;
}
.site-renewal .membership-summary > span {
  display: block;
  margin-top: 20px;
}
.site-renewal .membership-summary > span:first-child {
  font-size: 26px;
  font-weight: 650;
  color: #2c2c2c;
}
.site-renewal .membership-summary > span:last-child {
  font-size: 14px;
}
@media (min-width: 821px) {
  .site-renewal .business-gallery:not(.service-detail) .grid3 > .home-summary-card:last-child:nth-child(odd) {
    grid-column: 1/-1 !important;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
  }
  .site-renewal .business-gallery:not(.service-detail) .grid3 > .home-summary-card:last-child:nth-child(odd) .business-art {
    margin: 32px 0 0 24px !important;
  }
  .site-renewal .business-gallery:not(.service-detail) .grid3 > .home-summary-card:last-child:nth-child(odd) .business-copy {
    padding: 32px 40px;
  }
}
.site-renewal .pr-work h3 {
  font-size: 22px;
  line-height: 1.7;
  margin-bottom: 14px;
}
.site-renewal .pr-sponsor {
  font-size: 14px;
  margin-bottom: 12px;
}
.site-renewal .pr-work img {
  border: 0;
}
.site-renewal[data-page=talks] #talks .talks {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}
.site-renewal[data-page=talks] #talks .talk {
  background: #ffffff;
  padding: 32px;
}
.site-renewal[data-page=talks] #talks .talk h3 {
  font-size: 20px;
  line-height: 1.7;
}
.site-renewal .estimate-intro {
  background: var(--surface-heading);
  padding-bottom: 24px;
}
.site-renewal #pricing-wizard .simulator-launch h2 {
  font-size: 28px;
  line-height: 1.6;
}
.site-renewal #pricing-wizard .simulator-launch > div > p {
  font-size: 16px;
  line-height: 1.9;
}
.site-renewal .pr-scope {
  gap: 8px 20px;
  margin-top: 20px;
}
.site-renewal .pr-scope span {
  background: transparent;
  padding: 0;
  color: #535353;
}
.site-renewal .stack-grid li {
  background: transparent;
  padding: 0;
}
.site-renewal .stack-grid ul {
  gap: 10px 20px;
}
.site-renewal .btns,
.site-renewal .sec-cta,
.site-renewal .contact-ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.site-renewal .v3-contact {
  background: #ededed;
  padding-block: 56px;
}
.site-renewal .v3-contact h2 {
  color: #2c2c2c;
}
.site-renewal .v3-contact p {
  font-size: 16px;
  max-width: 42em;
}
.site-renewal .contact-form-card {
  max-width: 960px;
  margin-inline: auto;
  padding: 48px;
  background: var(--surface-soft);
}
.site-renewal .contact-form-card h2 {
  font-size: 30px;
  margin-bottom: 16px;
}
.site-renewal .contact-form-card .lead {
  max-width: 42em;
  margin-bottom: 32px;
  line-height: 1.9;
}
.site-renewal .form-submit {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 32px;
}
.site-renewal .form-submit p {
  margin: 0;
  font-size: 14px;
  color: var(--site-muted);
}
.site-renewal #quote-handoff-status:empty {
  display: none;
}
.site-renewal #quote-handoff-status {
  font-size: 15px;
  color: #3b3b3b;
  margin-bottom: 28px;
}
.site-renewal #flow .step {
  background: transparent;
  padding: 0;
}
.site-renewal #flow .grid3 {
  gap: 40px;
}
.site-renewal #pricing-wizard .grand-total {
  border: 0;
  margin-top: 20px;
  padding-top: 20px;
}
.site-renewal #pricing-wizard .mini-note {
  background: transparent;
  padding: 0;
}
.site-renewal #pricing-wizard .extras-impact .mini-note {
  background: transparent;
}
.site-renewal #pricing-wizard .completed-controls {
  background: transparent;
  padding: 0;
}
.site-renewal #pricing-wizard .document-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-top: 28px;
}
.site-renewal #pricing-wizard .completion-next-step {
  margin: 24px 0 40px;
}
.site-renewal #pricing-wizard .completion-next-step .document-actions {
  margin-top: 0;
}
.site-renewal #pricing-wizard .completion-next-step .sheet-note {
  margin: 12px 0 0;
}
.site-renewal #pricing-wizard .media-unit {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.site-renewal #pricing-wizard .answer-row {
  border: 0;
  padding: 0;
  margin-bottom: 24px;
}
.site-renewal #pricing-wizard [data-quote-status],
.site-renewal #legacy-quote-contact [data-quote-status] {
  font-size: 14px;
  line-height: 1.85;
  color: #535353;
}
.site-renewal #pricing-wizard [data-quote-status]:empty,
.site-renewal #legacy-quote-contact [data-quote-status]:empty {
  display: none;
}
.site-renewal [data-quote-text]:not([hidden]) {
  display: block;
  width: 100%;
  min-height: 180px;
  margin-block: 16px;
  font-size: 14px;
  line-height: 1.85;
}
.site-renewal #legacy-quote-contact:not([hidden]) {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}
.site-renewal #legacy-quote-contact :is(p, textarea) {
  flex-basis: 100%;
}
.site-renewal #pricing-wizard .document-actions .text-button {
  display: inline-flex;
  align-items: center;
  padding: 8px 0;
  text-decoration: underline;
  text-underline-offset: 4px;
  min-height: 44px;
}
.site-renewal #pricing-wizard .flow-aside {
  background: #ededed;
}
.site-renewal #pricing-wizard .comparison-dock {
  background: #ededed;
  box-shadow: 0 -8px 24px #0000000d;
}
.site-renewal #pricing-wizard .choice {
  background: #f2f2f2;
  outline: 1px solid transparent;
  outline-offset: -1px;
}
.site-renewal #pricing-wizard .choice:has(input:checked) {
  background: #e9e9e9;
  outline: 2px solid #3b3b3b;
  outline-offset: -2px;
}
.site-renewal #pricing-wizard .choice:has(input:focus-visible) {
  outline: 3px solid #3b3b3b;
  outline-offset: 3px;
}
@media (max-width: 1100px) {
  .site-renewal .v3-head nav {
    display: none;
  }
  .site-renewal .ratecard-main {
    gap: 36px;
    padding: 36px;
  }
}
@media (max-width: 820px) {
  .site-renewal .ratecard-main {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 28px;
  }
  .site-renewal .pr-offers {
    gap: 28px 36px;
  }
  .site-renewal .section-invitation {
    display: block;
    padding-block: 12px;
  }
  .site-renewal .section-invitation .site-action {
    margin-top: 24px;
  }
  .site-renewal .mediakit {
    padding: 28px;
  }
  .site-renewal .mk-aud {
    gap: 28px;
  }
  .site-renewal .form-submit {
    display: block;
  }
  .site-renewal .form-submit .site-action {
    width: 100%;
    margin-bottom: 16px;
  }
  .site-renewal .v3-head > .v3-wrap {
    gap: 12px;
  }
  .site-renewal .v3-head .v3-logo {
    font-size: 17px;
  }
  .site-renewal .v3-head .site-action {
    padding: 10px 12px;
    font-size: 13px;
    gap: 10px;
  }
  .site-renewal .v3-page-head {
    padding-block: 32px 16px;
  }
  .site-renewal .page-actions {
    gap: 10px;
  }
  .site-renewal .page-actions .site-action {
    width: 100%;
  }
  .site-renewal .page-index {
    gap: 4px 22px;
  }
  .site-renewal .business-gallery .business-copy {
    padding: 24px;
  }
  .site-renewal .service-detail .home-summary-card {
    display: block !important;
    padding: 0 !important;
  }
  .site-renewal .pr-work {
    padding: 20px;
    gap: 24px;
  }
  .site-renewal .contact-form-card {
    padding: 24px 20px;
  }
  .site-renewal #pricing-wizard :is(.flow-aside, .extras-impact, .launch-summary, .completed-controls) {
    padding: 22px;
  }
  .site-renewal #pricing-wizard .document-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .site-renewal #pricing-wizard .comparison-dock {
    padding: 14px 20px;
    gap: 12px;
    flex-wrap: wrap;
  }
  .site-renewal #pricing-wizard .comparison-dock .button {
    width: 100%;
  }
  .site-renewal #pricing-wizard .estimate-lines th {
    width: 62%;
  }
  .site-renewal #pricing-wizard .estimate-lines td {
    white-space: normal;
  }
}
@media (max-width: 640px) {
  .site-renewal[data-page=talks] #talks .talks {
    grid-template-columns: 1fr;
  }
  .site-renewal[data-page=talks] #talks .talk {
    padding: 24px 20px;
  }
  .site-renewal .pr-offers {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .site-renewal .ratecard-main {
    padding: 28px 24px;
  }
  .site-renewal .ratecard-main h3 br {
    display: none;
  }
  .site-renewal .price-examples {
    gap: 20px;
    grid-template-columns: 1fr;
  }
  .site-renewal .mediakit {
    padding: 24px 20px;
  }
  .site-renewal .mk-tiles {
    gap: 28px 20px;
  }
  .site-renewal .section-invitation h2 {
    font-size: 24px;
  }
  .site-renewal .section-invitation .site-action {
    width: 100%;
  }
  .site-renewal .btns,
  .site-renewal .contact-ctas {
    align-items: stretch;
  }
  .site-renewal .btns .site-action,
  .site-renewal .contact-ctas .site-action {
    width: 100%;
  }
  .site-renewal .business-gallery .grid3 {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .site-renewal .works-story .case {
    padding: 24px 20px;
  }
  .site-renewal .site-menu .menu-panel {
    padding: 22px;
  }
  .site-renewal .menu-group .menu-links {
    grid-template-columns: 1fr;
  }
  .site-renewal #pricing-wizard .choices {
    grid-template-columns: 1fr;
  }
  .site-renewal #pricing-wizard .choice:has(.choice-icon) {
    padding-left: 64px;
  }
  .site-renewal #pricing-wizard .simulator-scroll {
    padding: 22px 16px 32px;
  }
  .site-renewal #pricing-wizard .simulator-header {
    padding: 14px 16px;
    gap: 12px;
  }
  .site-renewal #pricing-wizard .pricing-simulator {
    width: 100%;
    height: 100dvh;
  }
  .site-renewal #pricing-wizard .pdf-recipient {
    flex-wrap: wrap;
  }
}
@media (forced-colors: active) {
  .site-renewal :is(.site-action, .business-cta, #pricing-wizard .choice) {
    border: 1px solid ButtonText !important;
  }
  .site-renewal #pricing-wizard .choice:has(input:checked) {
    outline: 2px solid Highlight;
  }
}
.site-renewal .v3-detail main > .v3-page-head + .sec {
  padding-top: 40px;
}
.site-renewal[data-page=works] .v3-page-head + #works > .works-story > .works-wrap {
  padding-top: 40px;
}
.site-renewal .v3-page-head + #talk-request #talk-request-content {
  margin-top: 0;
}
.site-renewal .estimate-intro + #pricing-wizard {
  padding-top: 0;
}
.site-renewal .estimate-intro + #pricing-wizard .simulator-launch {
  padding-top: 16px;
}
.site-renewal .immersive-hero + .v3-detail > .business-gallery:first-child {
  padding-top: 48px;
}
@media (max-width: 820px) {
  .site-renewal .v3-detail main > .v3-page-head + .sec,
  .site-renewal[data-page=works] .v3-page-head + #works > .works-story > .works-wrap {
    padding-top: 24px;
  }
  .site-renewal .estimate-intro {
    padding-bottom: 16px;
  }
  .site-renewal .estimate-intro + #pricing-wizard .simulator-launch {
    padding-top: 12px;
  }
  .site-renewal .immersive-hero + .v3-detail > .business-gallery:first-child {
    padding-top: 32px;
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .site-renewal a:is(.v3-primary, .business-cta, .v3-contact-link, .site-action):not(dialog a):not([role=dialog] a):not(#pricing-wizard a) {
    transition:
      background-color 180ms ease,
      color 180ms ease,
      border-color 180ms ease,
      transform 180ms ease;
  }
  .site-renewal :is(.v3-primary, .business-cta, .v3-text-link, .home-detail-cta, .detail-link, .entry-actions a) :is(svg, .arrow):not(dialog *):not([role=dialog] *):not(#pricing-wizard *),
  .site-renewal .site-action > [aria-hidden=true]:not(dialog *):not([role=dialog] *):not(#pricing-wizard *) {
    transition: transform 180ms ease;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-renewal :is(.v3-primary, .business-cta, .v3-contact-link, .v3-text-link, .home-detail-cta, .detail-link, .entry-actions a, .site-action-primary, .site-action-secondary),
  .site-renewal :is(.v3-primary, .business-cta, .v3-text-link, .home-detail-cta, .detail-link, .entry-actions a, .site-action-primary, .site-action-secondary) :is(svg, .arrow, [aria-hidden=true]) {
    transition: none !important;
  }
}
