/* TALANUM UI closeout pass 2026-08-07 */
@import url('/static/accessibility-v2.css?v=accessibility-v2-1');
@import url('/static/scanner-motion.css?v=scanner-motion-1');

:root{
  --control-radius:12px;
  --dark-panel:#111111;
  --dark-card:#202020;
  --dark-card-strong:#262626;
  --dark-border:#484848;
  --dark-copy:#c9c9c5;
}

/* One control language: rounded rectangles, never capsules. */
.button,
.submit-button,
.fake-lead-button,
.nav-cta,
.result-review-cta,
.status-pill,
.scanned-url-pill,
.language-badge,
.mobile-nav-close,
.back-to-top{
  border-radius:var(--control-radius)!important;
}

.button,
.submit-button,
.fake-lead-button,
.nav-cta,
.result-review-cta{
  min-height:48px;
}

.status-pill,
.scanned-url-pill,
.language-badge{
  padding:8px 11px;
}

.status-pill{
  align-self:flex-start;
  background:transparent;
  border-color:#5b5b5b;
  color:#e8e8e5;
  font-weight:650;
}

.scanned-url-pill{
  background:#f7f7f5;
  border-color:#d7d7d2;
  color:#151515;
}

/* Editorial hierarchy: Fraunces is reserved for H1 and H2 only. */
h1,
h2{
  font-family:Fraunces,Georgia,serif!important;
  font-weight:500!important;
  letter-spacing:-.025em;
}

h1{
  font-size:clamp(48px,6vw,82px)!important;
  line-height:1.02!important;
}

h2{
  font-size:clamp(30px,3.2vw,44px)!important;
  line-height:1.08!important;
}

h3,
h4,
.result-title,
.price-value,
.process-grid article>span,
.section-supporting-title{
  font-family:Inter,system-ui,sans-serif!important;
}

h3,
.section-supporting-title{
  font-weight:700;
}

.section-supporting-title{
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.15;
  letter-spacing:-.02em;
  margin-bottom:16px;
}

.result-title{
  font-size:clamp(31px,3.2vw,46px)!important;
  line-height:1.08!important;
  font-weight:700!important;
  letter-spacing:-.025em;
}

.price-value{
  font-weight:700!important;
  letter-spacing:-.03em;
}

.operator-name{
  margin:0 0 14px;
  color:#171717;
  font-size:21px;
  line-height:1.3;
  font-weight:700;
}

.utility-identity{
  max-width:620px;
}

/* Calculator contrast: clearly separate the canvas, cards, and secondary text. */
.estimate-result{
  background:var(--dark-panel)!important;
}

.estimate-result p,
.estimate-result small,
.estimate-result li,
.result-subtext{
  color:var(--dark-copy)!important;
}

.flow-step,
.loading-card,
.scope-item,
.detail-card,
.lead-card,
.price-card,
.offer-benefit-card{
  background:var(--dark-card)!important;
  border-color:var(--dark-border)!important;
}

.lead-card,
.estimate-review-note,
.confirmed-quote-note{
  background:var(--dark-card-strong)!important;
}

.price-card.primary-offer{
  background:var(--yellow)!important;
  border-color:var(--yellow)!important;
  color:#111!important;
}

.price-card.primary-offer p,
.price-card.primary-offer small{
  color:#4d430f!important;
}

.flow-step-label,
.loading-card strong,
.scope-item span,
.price-label{
  color:#a7a7a2!important;
}

/* Seller Service value presentation. */
.seller-price-grid{
  align-items:stretch;
}

.specialist-work-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:var(--dark-card-strong)!important;
}

.specialist-work-card .price-value{
  color:#fff;
}

.specialist-benchmark{
  margin-top:8px;
  padding-top:14px;
  border-top:1px solid var(--dark-border);
  display:grid;
  gap:5px;
}

.specialist-benchmark span{
  color:#aaa9a4;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.specialist-benchmark strong{
  color:#fff;
  font-size:18px;
  line-height:1.25;
}

.specialist-benchmark small{
  font-size:11px;
  line-height:1.55;
}

.offer-value-section{
  margin-top:18px;
  padding-top:4px;
}

.offer-value-heading{
  margin-bottom:12px;
}

.offer-value-heading h4{
  margin:4px 0 0;
  color:#fff;
  font-size:22px;
  line-height:1.2;
}

.offer-benefit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.offer-benefit-card{
  min-height:138px;
  padding:18px;
  border:1px solid var(--dark-border);
  border-radius:14px;
}

.offer-benefit-card h4{
  margin:0 0 8px;
  color:#fff;
  font-size:15px;
  line-height:1.3;
}

.offer-benefit-card p{
  margin:0;
  font-size:12px;
  line-height:1.6;
}

.seller-cta-card{
  margin-top:14px;
  border-color:#666!important;
}

.seller-cta-card h4{
  color:#fff;
}

/* Manual/error results are calmer without a floating heavy badge. */
.result-topline.no-status{
  display:block;
}

.result-topline.no-status .status-pill{
  display:none;
}

/* Estimator helper. */
.field-helper{
  display:block;
  margin-top:2px;
  color:#74746f;
  font-size:11px;
  font-weight:500;
  line-height:1.5;
}

/* Mobile drawer should read as a real panel, not a narrow strip. */
@media(max-width:900px){
  .mobile-nav-panel nav{
    width:min(92vw,420px)!important;
  }
  .mobile-nav-close{
    width:44px;
    min-width:44px;
  }
  .result-review-cta,
  .submit-button,
  .button{
    border-radius:var(--control-radius)!important;
  }
  .offer-benefit-grid{
    grid-template-columns:1fr;
  }
  .offer-benefit-card{
    min-height:0;
  }
}

@media(max-width:600px){
  h1{
    font-size:clamp(42px,12vw,58px)!important;
  }
  h2{
    font-size:clamp(29px,8vw,38px)!important;
  }
  .section-supporting-title{
    font-size:26px;
  }
}

@media(max-width:420px){
  .mobile-nav-panel nav{
    width:92vw!important;
  }
  .specialist-benchmark strong{
    font-size:16px;
  }
}

/* Owner-approved global control consistency — public CTAs and interactive story controls share one language. */
:root{
  --control-height:50px;
  --control-font-size:12px;
  --control-font-weight:700;
  --control-letter-spacing:.06em;
}
.button,
.submit-button,
.fake-lead-button,
.nav-cta,
.result-review-cta,
.delivery-story-next,
.process-launch-btn,
.partner-mode-tabs button,
.founding-slot-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:var(--control-height)!important;
  min-height:var(--control-height)!important;
  max-height:var(--control-height)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border-radius:var(--control-radius)!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:var(--control-font-size)!important;
  font-weight:var(--control-font-weight)!important;
  line-height:1.1!important;
  letter-spacing:var(--control-letter-spacing)!important;
  text-transform:uppercase!important;
  white-space:nowrap;
}
