/* WebCLT: a restrained system built around the supplied navy and teal wordmark. */
:root {
  --navy: #082b47;
  --ink: #082b47;
  --aqua: #37c3c6;
  --teal: #208494;
  --teal-deep: #126a78;
  --mint: #98d9d0;
  --coral: #ec6c50;
  --body: #405463;
  --muted: #526675;
  --line: #dce3e8;
  --soft: #f5f7f8;
  --accent: var(--navy);
  --focus: var(--teal-deep);
}

/* One primary action color; teal identifies links and selected controls. */
.brand {display: inline-flex; align-items: center; min-height: 48px;}
.brand img, .footer .brand img {width: 264px; height: auto;}
.mobile-menu-header .brand img {width: 218px;}
.header {border-bottom-color: var(--line);}
.button-primary {background: var(--navy); border-color: var(--navy); color: #fff;}
.button-primary:hover {background: #17445f; border-color: #17445f;}
.button-outline {background: #fff; border-color: #aebec9; color: var(--navy);}
.button-outline:hover {background: #f0f5f6; border-color: var(--teal-deep);}
.text-link, .text-button, .founder-next {color: var(--teal-deep);}
.desktop-nav>a:hover, .desktop-nav>a[aria-current=true], .services-toggle:hover {color: var(--teal-deep);}
.desktop-nav>a[aria-current=true] {
  text-decoration: underline; text-decoration-color: var(--coral);
  text-decoration-thickness: 2px; text-underline-offset: 8px;
}
.hero-personal {background: #fff;}
.hero-statement h1>span {color: var(--teal-deep);}
.hero-location {color: var(--muted);}
.hero-personal .hero-ribbon {display: none;}
.hero-personal .hero-photo::before {background: #e8efef; border-color: var(--line);}
.text-announcement {background: #f4f7f8; color: var(--navy); border-bottom-color: var(--line);}
.text-announcement>a:hover {background: #eaf1f3;}
.menu-toggle, .icon-button {background: #eff3f5; color: var(--navy);}
.icon-button:hover {background: #e2ebee;}

/* Neutral section changes and borders separate content without colored washes. */
.founder-band {background: #f5f7f8; border-color: var(--line);}
.founder-portrait {align-self: start;}
.founder-portrait .founder-identity {font-size: 15px; font-weight: 600; line-height: 1.5; color: var(--navy); margin: 16px 0 0; text-align: center; text-wrap: balance;}
.founder-testimonial {background: #fff; border-left-color: var(--coral);}
.founder-testimonial blockquote p {color: var(--navy);}
#solutions {background: #fff; --section-accent: var(--navy);}
#work {background: #f5f7f8; --section-accent: var(--navy);}
#pricing {background: #f5f7f8; --section-accent: var(--navy);}
#contact {background: #fff; --section-accent: var(--navy);}
.paid-conversions, .transformation {background: var(--navy);}
.conversion-label, .conversion-check li>span {color: #a9d9d8;}
.conversion-copy>p.conversion-return {color: #e0eaef; border-left-color: var(--coral);}
.conversion-cta {background: #fff; border-color: #fff; color: var(--navy);}
.conversion-cta:hover {background: #e6f0f1; border-color: #e6f0f1; color: var(--navy);}
.solution-card {border-color: var(--line);}
.expand-icon {color: var(--navy); background: #eff3f5;}
.solution-card:hover .expand-icon {background: var(--navy); color: #fff;}
.solution-card .site-art, .solution-card .search-art, .solution-card .content-art, .solution-card .care-art {background: #eaf0f2;}
.answer-chip {background: #e8f2f2; color: var(--navy);}
.mini-mark {background-color: #edf3f4; color: transparent;}

/* Cards share the same surfaces, labels, and controls. */
#work .portfolio-card {border-color: var(--line); box-shadow: 0 6px 20px #082b4708;}
#work .preview-hint {background: #f6f8f9; border-color: var(--line); color: var(--body);}
#work .preview-hint>span svg {color: var(--teal-deep);}
#work .portfolio-meta>span:first-child {color: var(--muted);}
#work .portfolio-card:nth-child(n) .portfolio-actions .text-button {background: #fff; border-color: #b3c5ce; color: var(--navy);}
#work .portfolio-card:nth-child(n) .portfolio-actions .text-button:hover {background: var(--navy); border-color: var(--navy); color: #fff;}
.project-status {color: var(--teal-deep); background: #eaf3f3;}
.story-category {color: var(--teal-deep);}
.people-card.website-story {border-color: var(--line); background: #fff;}
.website-story-copy h3 {color: var(--navy);}
.website-story-tags li {background: #f1f4f6; color: var(--body);}
.compare-divider {background: var(--teal);}

#pricing .plan-steps::before {background: #d3dee4;}
#pricing .step-number {border-color: #becdd6; color: var(--body);}
#pricing .plan-steps button[aria-selected=true] {color: var(--teal-deep);}
#pricing .plan-steps button[aria-selected=true] .step-number {
  background: var(--teal-deep); border-color: var(--teal-deep); color: #fff;
  box-shadow: 0 0 0 4px var(--soft),0 0 0 6px var(--teal-deep);
}
#pricing .plan-steps button[aria-selected=true]::after {background: var(--teal-deep);}
#pricing .price-card {background: #fff; border-color: var(--line); box-shadow: 0 6px 22px #082b4708;}
#pricing .price-card::before, #pricing .price-card:nth-child(3)::before {background: #c5d6df;}
#pricing .price-card:nth-child(2) {border-color: var(--navy); background: #fff; box-shadow: 0 10px 28px #082b4710;}
#pricing .price-card:nth-child(2)::before {background: var(--navy);}
#pricing .price-card:nth-child(2) .plan-badge {background: #eaf3f3; border-color: #c7dddf; color: var(--teal-deep);}
#pricing .price-card:nth-child(2)>.button {background: var(--navy); border-color: var(--navy); color: #fff;}
#pricing .price-card>.button:hover {background: #17445f; border-color: #17445f; color: #fff;}
#pricing .price {color: var(--navy);}
#pricing .plan-rate, #pricing .plan-features {border-color: var(--line);}
#pricing .plan-features summary {color: var(--navy);}
#pricing .plan-features li::before {background: #eaf3f3; color: var(--teal-deep);}
.plan-badge {background: #f2f5f7; border-color: var(--line); color: var(--body);}
.faq-icon, .faq-list details[open] .faq-icon {background: #e6edef; color: var(--navy);}
.faq-list details {border-color: var(--line);}
.faq-list details>p a {color: var(--teal-deep); text-decoration: underline; text-underline-offset: 3px;}
.contact-form-wrap {border-color: var(--line); box-shadow: 0 6px 24px #082b4707;}
.contact-form-wrap input:focus, .contact-form-wrap select:focus, .contact-form-wrap textarea:focus {border-color: var(--teal-deep); outline-color: var(--teal-deep);}
.footer {background: #f5f7f8; border-color: var(--line);}
.quick-contact>a.quick-call {background: var(--navy);}
.quick-contact>a.quick-text {background: var(--teal-deep); border-color: var(--teal-deep);}
.quick-contact>a.quick-call:hover, .quick-contact>a.quick-text:hover {background: #17445f;}
.quick-contact>a:focus-visible {outline-color: var(--teal-deep);}
::selection {background: #cce7e5; color: var(--navy);}

/* Fixed to the viewport, independent of the sticky navigation and section rails. */
.reading-progress {position: fixed; inset: 0 0 auto; height: 3px; z-index: 1000; pointer-events: none; background: transparent;}
.reading-progress>span {display: block; width: 100%; height: 100%; background: var(--teal); transform: scaleX(0); transform-origin: left;}

@media(min-width:940px) and (max-width:1200px) {
  .brand img, .footer .brand img {width: 212px;}
  .header-inner {gap: 20px;}
  .desktop-nav {gap: 18px;}
  .header-cta {font-size: 15px; padding-inline: 14px;}
}
@media(max-width:939px) {
  .brand img, .footer .brand img {width: 244px;}
  .menu-toggle, .menu-close, .dialog-close {min-width: 48px; min-height: 48px;}
  .contact-form-wrap input, .contact-form-wrap select {min-height: 50px; font-size: max(16px,1rem);}
  .contact-form-wrap textarea {font-size: max(16px,1rem);}
  .footer-nav {column-gap: 22px;}
  .footer-nav a {min-height: 48px;}
}
@media(max-width:639px) {
  .brand img, .footer .brand img, .mobile-menu-header .brand img {width: 222px;}
}
@media(max-width:359px) {
  .header-inner {gap: 16px;}
  .brand img, .footer .brand img, .mobile-menu-header .brand img {width: 210px;}
}
@media(hover:none) {
  .button:active {filter: brightness(.96);}
  .icon-button:active, .menu-toggle:active {background: #dce8ed;}
}

/* Reviewing experience supports the founder story without implying client results. */
.founder-credentials {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px;margin:0 0 25px;padding:0 0 20px;border-bottom:1px solid var(--line);}
.founder-credentials>div {min-width:0;}
.founder-credentials strong {display:block;font-size:34px;line-height:1.12;letter-spacing:-.035em;color:var(--navy);font-weight:600;}
.founder-credentials>div>span {display:block;margin-top:7px;font-size:15px;line-height:1.4;font-weight:600;color:var(--navy);}
.founder-credentials small {display:block;font-size:13px;line-height:1.45;margin-top:4px;color:var(--body);}
.founder-credentials>a {grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:15px;line-height:1.4;color:var(--teal-deep);text-decoration:underline;text-underline-offset:4px;}
.founder-testimonial .founder-quote-context {margin:0 0 12px;color:var(--teal-deep);font-size:14px;line-height:1.4;font-weight:600;}
@media(max-width:639px) {
 .founder-credentials {gap:16px 12px;margin-bottom:22px;padding-bottom:18px;}
 .founder-credentials strong {font-size:28px;white-space:nowrap;}
 .founder-credentials>div>span {font-size:13px;}
 .founder-credentials small {font-size:12px;}
}
@media(max-width:359px) {
 .founder-credentials {gap:14px 10px;}
 .founder-credentials strong {font-size:25px;}
}
