/* Opt-in visual layer. Existing controls and status states retain their behavior. */
.redesign {
  --rd-edge: #26382f;
  --rd-surface: #0d1410;
  --rd-muted: #aebbb3;
  --rd-radius: 20px;
}
.redesign .nav { border-bottom-color: #26382f; background: rgba(7, 12, 9, .96); }
.redesign .nav-inner { max-width: 1280px; }
.redesign .nav-links a { font-size: 13px; }
.redesign .nav-links a.active { color: #6ee7b7; }
.redesign .nav-cta { border-radius: 7px; }
.redesign :is(.hero-v2, .page-header-v2, .hero--tall, .rd-hero) {
  isolation: isolate;
  position: relative;
  background: #070b08;
  border-bottom: 1px solid var(--rd-edge);
  padding: 154px max(28px, calc((100vw - 1240px) / 2)) 88px;
}
.redesign :is(.hero-v2, .page-header-v2, .hero--tall, .rd-hero)::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, #070b08 10%, rgba(7, 11, 8, .88) 40%, rgba(7, 11, 8, .2)), url('/images/redesign/circuit-field.webp') right center / 760px no-repeat;
  mask-image: none;
  -webkit-mask-image: none;
  opacity: .8;
}
.redesign :is(.hero-bg-canvas, .page-hero-bg-canvas) { opacity: .25; }
.redesign :is(.hero-v2__inner, .page-header-v2__inner, .rd-hero-grid) {
  max-width: 1240px;
  margin-inline: auto;
  gap: 64px;
  align-items: center;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}
.redesign :is(.hero-v2__left, .page-header-v2__left, .rd-hero-copy) { min-width: 0; max-width: 720px; }
.redesign :is(.hero-v2__headline, .page-header-v2__headline, .hero--tall h1, .rd-hero h1) {
  font-size: clamp(48px, 5.6vw, 80px);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-wrap: balance;
  margin: 24px 0;
}
.redesign :is(.hero-v2__headline, .page-header-v2__headline, .hero--tall h1) em {
  color: #6ee7b7;
  background: none;
  -webkit-text-fill-color: currentColor;
  animation: none;
}
.redesign :is(.hero-v2__lede, .page-header-v2__lede, .hero--tall > p) {
  color: var(--rd-muted);
  font-size: 17px;
  line-height: 1.8;
  max-width: 55ch;
}
.redesign :is(.eyebrow-mono, .hero-badge):not(#pricing *) { color: #6ee7b7; }
.redesign .hero-v2__ctas { margin-top: 32px; margin-bottom: 36px; gap: 14px; }
.redesign .hero-v2__sig { gap: 22px; border-top-color: var(--rd-edge); padding-top: 22px; }
.redesign .hero-v2__right { height: 510px; }
.redesign .hero-panel {
  border: 1px solid #355642;
  border-radius: var(--rd-radius);
  background: linear-gradient(145deg, #14251b, #080e0a 65%);
  box-shadow: 0 30px 80px #0008, 0 0 70px #10b9810a;
}
.redesign .hero-panel__bar { background: #0b140fee; border-bottom-color: var(--rd-edge); }
.redesign .hero-panel__overlay { background: #0b140fee; }
.redesign .page-header-v2__right {
  border: 1px solid #355642;
  border-radius: var(--rd-radius);
  padding: 30px;
  background: #0a130ef5;
  box-shadow: 0 20px 60px #0005;
  backdrop-filter: none;
}
.redesign .page-header-v2__right .row { padding-block: 10px; }
.redesign .page-header-v2__right .row + .row { border-top-color: var(--rd-edge); }
.redesign .hero--tall { text-align: left; padding-right: max(28px, calc((100vw - 1240px) / 2)); }
.redesign .hero--tall :is(h1, p) { margin-left: 0; text-align: left; }
.redesign .hero--tall .hero-btns { justify-content: flex-start; }
.redesign main > .section:not(#pricing) { padding-block: 96px; }
.redesign main > .section:not(#pricing) > .container { max-width: 1296px; }
.redesign main > .section:not(#pricing) :is(.section-title, .display-lg) {
  font-size: clamp(32px, 3.6vw, 52px);
  line-height: 1.12;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.redesign main > .section:not(#pricing) :is(.section-split, .rd-section-heading) { margin-bottom: 42px; gap: 40px; }
.redesign main > .section:not(#pricing) :is(.section-desc, .section-split__desc) { color: var(--rd-muted); }
.redesign main > .section:not(#pricing) :is(.btn-primary, .btn-secondary, .btn-white) { border-radius: 8px; min-height: 48px; }
.redesign main > .section:not(#pricing) :is(.service-card, .testimonial-card, .value-card, .compare-card, .rd-panel) {
  border: 1px solid var(--rd-edge);
  border-radius: var(--rd-radius);
  background: var(--rd-surface);
  padding: 30px;
  box-shadow: inset 0 1px 0 #ffffff05;
}
.redesign main > .section:not(#pricing) .services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.redesign main > .section:not(#pricing) .service-card:is(:first-child, :nth-child(6), :last-child) {
  grid-column: span 2;
  background: linear-gradient(125deg, #14281c, #0d1410 75%);
}
.redesign main > .section:not(#pricing) .service-card h3 { font-size: 24px; letter-spacing: -.025em; margin-top: 22px; }
.redesign main > .section:not(#pricing) .service-card p { max-width: 58ch; color: var(--rd-muted); }
.redesign main > .section:not(#pricing) .service-icon { border-radius: 12px; background: #133021; color: #6ee7b7; }
.redesign main > .section:not(#pricing) .cap-matrix { gap: 18px; background: transparent; border: 0; }
.redesign main > .section:not(#pricing) .cap-cell { border: 1px solid var(--rd-edge); border-radius: var(--rd-radius); background: var(--rd-surface); padding: 36px; }
.redesign main > .section:not(#pricing) .cap-cell:is(:first-child, :last-child) { grid-column: 1 / -1; background: linear-gradient(115deg, #14281c, #0d1410); }
.redesign main > .section:not(#pricing) .cap-cell h3 { font-size: 27px; letter-spacing: -.025em; }
.redesign main > .section:not(#pricing) .manifesto { border: 1px solid #355642; border-radius: 24px; background: linear-gradient(135deg, #12241a, #0a100c); padding: clamp(30px, 6vw, 80px); }
.redesign main > .section:not(#pricing) .manifesto__quote { font-size: clamp(25px, 3vw, 40px); max-width: 28ch; }
.redesign main > .section:not(#pricing) .cta-band { border-radius: 24px; border: 1px solid #355642; background: linear-gradient(120deg, #153522, #0b1710); }
.redesign main > .section:not(#pricing) .cta-band :is(h2, p) { color: #f2f2f0; }
.redesign main > .section:not(#pricing) .case-featured { border-color: var(--rd-edge); border-radius: 24px; background: var(--rd-surface); margin-bottom: 28px; }
.redesign main > .section:not(#pricing) .case-body:has(.case-parts) { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); column-gap: 56px; padding: 48px; }
.redesign main > .section:not(#pricing) .case-body:has(.case-parts) > :is(h3, .case-lede, .case-meta) { grid-column: 1; }
.redesign main > .section:not(#pricing) .case-parts { grid-column: 2; grid-row: 1 / span 3; border-left: 1px solid var(--rd-edge); padding-left: 32px; }
.redesign main > .section:not(#pricing) .case-parts dt:first-child { margin-top: 0; }
.redesign main > .section:not(#pricing) .case-body > :is(.case-shots, .case-actions, .case-quote) { grid-column: 1 / -1; }
.redesign main > .section:not(#pricing) .case-shots { margin-top: 32px; }
.redesign main > .section:not(#pricing) .founder-row { border: 1px solid var(--rd-edge); border-radius: 24px; background: var(--rd-surface); }
.redesign main > .section:not(#pricing) .company-info { border: 1px solid var(--rd-edge); border-radius: 24px; overflow: hidden; }
.redesign main > .section:not(#pricing) .values-grid { gap: 18px; }
.redesign main > .section:not(#pricing) .contact-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.redesign main > .section:not(#pricing) .form-card { border: 1px solid #355642; border-top: 3px solid #34d399; border-radius: 20px; background: #0d1410; padding: 40px; box-shadow: 0 20px 60px #0004; }
.redesign main > .section:not(#pricing) .form-group label { font-size: 12px; color: #bac8bf; letter-spacing: .07em; }
.redesign main > .section:not(#pricing) .form-group :is(input, textarea, select) { background: #0b100d; border-radius: 8px; padding: 14px 16px; }
.redesign main > .section:not(#pricing) .form-group :is(input, textarea, select):focus { border-color: #34d399; box-shadow: 0 0 0 3px #34d39926; }
.redesign main > .section:not(#pricing) .next-steps-box { border-radius: 16px; background: #101d15; border-color: var(--rd-edge); }
.redesign .page-header-v2--book { padding-block: 126px 48px; }
.redesign main > .section:not(#pricing) .book-card { max-width: 1080px; }
.redesign main > .section:not(#pricing) .book-picker { grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); gap: 32px; }
.redesign main > .section:not(#pricing) .book-cal__day { min-height: 44px; }
.redesign main > .section:not(#pricing) .book-cal__day.has-times { border-color: #355642; background: #101e16; }
.redesign main > .section:not(#pricing) .book-slot label { border-radius: 8px; }
.redesign main > .section:not(#pricing) .book-slot input:checked + label { border-color: #34d399; background: #123722; }
.redesign main > .section:not(#pricing) .book-details { border-top: 1px solid var(--rd-edge); margin-top: 28px; padding-top: 28px; }
.redesign .rd-circuit-image { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.redesign .rd-hero-art { min-width: 0; position: relative; border: 1px solid #355642; border-radius: 24px; overflow: hidden; background: #0b130e; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .redesign main > .section:not(#pricing) :is(.service-card, .value-card, .cap-cell) { transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
  .redesign main > .section:not(#pricing) :is(.service-card, .value-card, .cap-cell):hover { border-color: #4a7a5a; transform: translateY(-4px); box-shadow: 0 16px 35px #0004; }
}
@media (max-width: 1100px) {
  .redesign :is(.hero-v2__inner, .page-header-v2__inner, .rd-hero-grid) { gap: 32px; }
  .redesign .hero-v2__right { height: 420px; }
  .redesign :is(.hero-v2__headline, .page-header-v2__headline) { font-size: clamp(42px, 5.5vw, 64px); }
  .redesign main > .section:not(#pricing) .case-body:has(.case-parts) { column-gap: 28px; padding: 32px; }
}
@media (max-width: 900px) {
  .redesign :is(.hero-v2, .page-header-v2, .hero--tall, .rd-hero) { padding: 116px 24px 56px; }
  .redesign :is(.hero-v2__inner, .page-header-v2__inner, .rd-hero-grid) { grid-template-columns: 1fr; gap: 32px; }
  .redesign :is(.hero-v2__headline, .page-header-v2__headline, .hero--tall h1) { font-size: clamp(40px, 8vw, 64px); }
  .redesign .hero-v2__right { height: 360px; }
  .redesign main > .section:not(#pricing) { padding-block: 64px; }
  .redesign main > .section:not(#pricing) .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .redesign main > .section:not(#pricing) .service-card:nth-child(6) { grid-column: auto; }
  .redesign main > .section:not(#pricing) .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .redesign main > .section:not(#pricing) .case-body:has(.case-parts) { display: block; }
  .redesign main > .section:not(#pricing) .case-parts { border-left: 0; border-top: 1px solid var(--rd-edge); padding: 20px 0 0; margin-top: 24px; }
  .redesign main > .section:not(#pricing) .book-picker { grid-template-columns: 1fr; gap: 24px; }
  .redesign .page-header-v2--book { padding-block: 100px 28px; }
  .redesign .page-header-v2--book .page-header-v2__right { display: none; }
}
@media (max-width: 600px) {
  .redesign :is(.hero-v2, .page-header-v2, .hero--tall, .rd-hero) { padding-inline: 20px; }
  .redesign :is(.hero-v2__headline, .page-header-v2__headline, .hero--tall h1) { font-size: clamp(36px, 10.2vw, 52px); line-height: 1.08; }
  .redesign :is(.hero-v2__lede, .page-header-v2__lede, .hero--tall > p) { font-size: 16px; }
  .redesign .hero-v2__sig { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .redesign .hero-v2__sig-item strong { display: inline; margin-left: 8px; }
  .redesign .hero-v2__ctas { flex-direction: column; align-items: stretch; }
  .redesign .hero-v2__right { height: 320px; }
  .redesign .page-header-v2__right { padding: 20px; font-size: 11px; }
  .redesign .page-header-v2__right .row { gap: 12px; }
  .redesign main > .section:not(#pricing) { padding-block: 48px; }
  .redesign main > .section:not(#pricing) > .container { padding-inline: 20px; }
  .redesign main > .section:not(#pricing) :is(.services-grid, .cap-matrix, .values-grid) { grid-template-columns: 1fr; }
  .redesign main > .section:not(#pricing) .service-card:is(:first-child, :nth-child(6), :last-child) { grid-column: auto; }
  .redesign main > .section:not(#pricing) :is(.service-card, .cap-cell, .value-card, .testimonial-card, .compare-card, .form-card) { padding: 24px; border-radius: 16px; }
  .redesign main > .section:not(#pricing) .cap-cell h3 { font-size: 23px; }
  .redesign main > .section:not(#pricing) .form-group :is(input, textarea, select) { font-size: 16px; }
  .redesign main > .section:not(#pricing) .book-card { padding: 20px 16px; }
  .redesign main > .section:not(#pricing) .cta-band { padding: 36px 24px; border-radius: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .redesign :is(.hero-panel, .service-card, .value-card, .cap-cell, .rd-hero-art) { transform: none !important; transition: none !important; animation: none !important; }
  .redesign :is(.reveal, .fade-in) { opacity: 1; transform: none; }
}

/* Structural wrappers shared with the page templates. */
.redesign .rd-hero__signature { max-width: 1240px; margin: 44px auto 0; position: relative; }
.redesign .rd-hero__signature .hero-v2__sig { justify-content: space-between; }
.redesign .rd-page-heading { max-width: 1240px; margin-inline: auto; }
.redesign .rd-about-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; align-items: start; margin-bottom: 64px; }
.redesign .rd-about-story { min-width: 0; }
.redesign .rd-about-layout .about-content { max-width: none; }
.redesign .rd-about-layout .company-info { margin: 0; }
.redesign .rd-about-layout .company-info-body { grid-template-columns: 1fr; }
.redesign .rd-about-layout .company-info-body .info-row { border-right: 0; }
.redesign .rd-contact-layout > * { min-width: 0; }
.redesign .rd-quote-section { border-bottom: 1px solid var(--rd-edge); }
.redesign.rd-page-landing .rd-hero__inner { max-width: 1240px; margin-inline: auto; }
.redesign.rd-page-landing .rd-hero__copy { max-width: 850px; }
.redesign.rd-page-landing .rd-hero__copy > p { max-width: 56ch; margin-left: 0; color: var(--rd-muted); }
.redesign main > .section:not(#pricing) .rd-book-card { padding: 40px; }
@media (max-width: 900px) {
  .redesign .rd-about-layout { grid-template-columns: 1fr; gap: 32px; margin-bottom: 40px; }
}
@media (max-width: 600px) {
  .redesign .rd-hero__signature { margin-top: 28px; }
  .redesign .rd-hero__signature .hero-v2__sig { gap: 14px; }
  .redesign main > .section:not(#pricing) .rd-book-card { padding: 20px 16px; }
}
@media (max-width: 900px) {
  .redesign .nav-links.open a { font-size: 16px; min-height: 52px; }
}
/* Keep tertiary labels readable at the brightest card-gradient endpoint. */
.redesign main > .section:not(#pricing) :is(.service-card, .cap-cell, .value-card, .testimonial-card, .compare-card) { --text3: #9cafa1; }

/* A quiet reading surface keeps circuit highlights out of text contrast. */
.redesign .rd-hero__copy { position: relative; z-index: 1; background: #070b08; border-radius: 12px; box-shadow: 0 0 48px 24px #070b08; }
.redesign .rd-hero__copy > p a { color: #6ee7b7; }

/* The shared service result wraps within the existing hero panel. */
.redesign .hero-panel__overlay { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.redesign .hero-panel__service-status { grid-column: 1 / -1; min-width: 0; line-height: 1.5; color: #bac8bf; }
.redesign .hero-panel__service-status .footer-status__dot { align-self: flex-start; margin-top: 5px; }
.redesign #heroOperational[hidden] { display: none !important; }
