/* Handler public design system. Presentation only; existing copy and actions remain. */
body.handler-marketing {
  --bg: #f8f9f5; --bg-raised: #eff2ec; --bg-card: #fff;
  --text: #242923; --text-dim: #626b61; --border: #dfe5da;
  --accent: #087b6b; --accent-deep: #086455; --accent-ink: #fff;
  --max: 76rem; background: var(--bg); color: var(--text);
  font-family: "Inter", "Avenir Next", "Segoe UI", sans-serif;
  font-size: 1rem; line-height: 1.75;
}
:root[data-theme="dark"] body.handler-marketing {
  --bg:#111713; --bg-raised:#19221c; --bg-card:#1d2821;
  --text:#f1f4ec; --text-dim:#b1bdaf; --border:#344237;
  --accent:#64d4b9; --accent-deep:#91e5ce; --accent-ink:#12281f;
}
.handler-marketing .wrap { width:100%; max-width:var(--max); padding-inline:clamp(1.25rem,4vw,3.5rem); }
.handler-marketing .site-header { background:color-mix(in srgb,var(--bg) 94%,transparent); border-bottom:1px solid var(--border); backdrop-filter:blur(16px); }
.handler-marketing .header-inner { max-width:82rem; min-height:5rem; gap:1.4rem; padding:.8rem clamp(1.25rem,3vw,2.5rem); }
.handler-marketing .logo { color:var(--text); font-size:1.6rem; font-weight:800; letter-spacing:-.06em; }
.handler-marketing .site-nav { gap:1.25rem; }
.handler-marketing .site-nav a { font-size:.86rem; font-weight:550; }
.handler-marketing .nav-get-started, .handler-marketing .nav-cta-mobile { border-radius:100px; background:var(--text); color:var(--bg); padding:.7rem 1.25rem; white-space:nowrap; }
.handler-marketing .site-nav .nav-cta { background:transparent; border:0; color:var(--text); padding:0; }
.handler-marketing .nav-dropdown-menu { padding:.65rem; border-radius:16px; background:var(--bg-card); border:1px solid var(--border); box-shadow:0 18px 50px rgb(22 40 28 / .1); }
.handler-marketing .nav-dropdown-menu a { border-radius:8px; padding:.6rem .8rem; }
.handler-marketing .nav-dropdown-menu a:hover { background:var(--bg-raised); }
.handler-marketing .theme-toggle { background:transparent; border-color:transparent; color:var(--text-dim); flex-shrink:0; }
.handler-marketing .btn { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:48px; padding:.8rem 1.5rem; border-radius:100px; font-weight:600; font-size:.9rem; letter-spacing:0; transition:background .18s ease,box-shadow .18s ease; }
.handler-marketing .btn-primary { background:var(--text); color:var(--bg); border:1px solid var(--text); }
.handler-marketing .btn-primary:hover { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); box-shadow:0 5px 18px color-mix(in srgb,var(--accent) 15%,transparent); }
.handler-marketing .btn-secondary { background:var(--bg-card); color:var(--text); border:1px solid var(--border); }
.handler-marketing .btn-secondary:hover { background:var(--bg-raised); border-color:var(--text-dim); }
.handler-marketing :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.handler-marketing h1 { font-size:clamp(2.65rem,5.7vw,4.8rem); font-weight:650; line-height:1.07; letter-spacing:-.06em; text-wrap:balance; }
.handler-marketing h2 { font-size:clamp(1.8rem,3.5vw,2.9rem); line-height:1.16; letter-spacing:-.045em; font-weight:600; text-wrap:balance; }
.handler-marketing h3 { letter-spacing:-.025em; font-weight:650; }
.handler-marketing .hero { margin-top:0; padding:clamp(3.5rem,8vw,7rem) 0; background:radial-gradient(ellipse at 50% -20%,color-mix(in srgb,var(--accent) 10%,var(--bg)),var(--bg) 65%); }
.handler-marketing .hero .sub { color:var(--text-dim); font-size:clamp(1.05rem,1.5vw,1.2rem); line-height:1.75; }
.handler-marketing .hero-claim { color:var(--text-dim); font-size:.95rem; line-height:1.7; }
.handler-marketing .trust-strip { color:var(--text-dim); line-height:1.75; }
.handler-marketing .hero-visual { filter:none; }
.handler-marketing .hero-visual svg { max-width:100%; }
.handler-marketing .hero-lead { gap:.75rem; }
.handler-marketing .hero-lead input { border-radius:12px; background:var(--bg-card); border:1px solid var(--border); color:var(--text); min-width:0; }
.handler-marketing .band { padding:clamp(3.5rem,8vw,6rem) 0; background:radial-gradient(ellipse at 80% 0%,color-mix(in srgb,var(--accent) 8%,var(--bg)),var(--bg) 65%); border-bottom:1px solid var(--border); }
.handler-marketing main > section:not(.hero):not(.band) { padding-block:clamp(3.5rem,7vw,6rem); }
.handler-marketing .section-alt { background:var(--bg-raised); border-top:0; border-bottom:0; }
.handler-marketing .section-alt + .section-alt { background:var(--bg); border-top:1px solid var(--border); }
.handler-marketing .section-lead { color:var(--text-dim); max-width:46rem; font-size:1.1rem; }
.handler-marketing .product-eyebrow, .handler-marketing .eyebrow { color:var(--accent); font-size:.75rem; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
/* A centered editorial hero with a product illustration beneath it. */
.handler-home .hero { position:relative; overflow:hidden; padding-top:clamp(4rem,8vw,7rem); }
.handler-home .hero::before { content:""; pointer-events:none; position:absolute; inset:-40rem -20rem auto; height:68rem; border:1px solid color-mix(in srgb,var(--accent) 7%,transparent); border-radius:50%; box-shadow:0 0 0 65px color-mix(in srgb,var(--accent) 2%,transparent),0 0 0 130px color-mix(in srgb,var(--accent) 2%,transparent); }
.handler-home .hero-split { display:flex; flex-direction:column; position:relative; gap:3.5rem; }
.handler-home .hero-copy { text-align:center; max-width:56rem; }
.handler-home h1 { max-width:56rem; margin-inline:auto; font-size:clamp(2.8rem,6.1vw,5.2rem); }
.handler-home h1 span { color:var(--text); }
.handler-home .hero .sub { max-width:43rem; margin:1.65rem auto 1.85rem; }
.handler-home .hero .cta-row { justify-content:center; gap:.8rem; }
.handler-home .hero-plan-note { max-width:42rem; margin:0 auto; }
.handler-home .product-preview { width:100%; max-width:55rem; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); border-radius:24px; text-align:left; box-shadow:0 25px 70px rgb(15 35 20 / .07); }
.handler-home .product-preview figcaption { grid-column:1/-1; padding:1.1rem 1.6rem; }
.handler-home .preview-conversation { padding:1.75rem; }
.handler-home .preview-handoff { border-top:0; border-left:1px solid var(--border); padding:2rem; display:flex; align-items:center; background:var(--bg-raised); }
.handler-home .preview-handoff strong { font-size:1.25rem; line-height:1.4; letter-spacing:-.03em; display:block; }
.handler-home .preview-handoff p { font-size:.9rem; margin-top:1rem; }
.handler-home .preview-check { display:none; }
.handler-home .preview-visitor { background:var(--bg-raised); }
.handler-home .benefit-grid { margin-top:2.75rem; gap:0; border:1px solid var(--border); border-radius:22px; overflow:hidden; }
.handler-home .benefit-card { border:0; border-right:1px solid var(--border); border-radius:0; padding:2.25rem; background:var(--bg-card); }
.handler-home .benefit-card:last-child { border-right:0; }
.handler-home .benefit-number { width:2.5rem; height:2.5rem; display:grid; place-items:center; border:1px solid var(--border); border-radius:50%; margin-bottom:1.5rem; }
.handler-home .benefit-card h3 { font-size:1.25rem; }
.handler-marketing .sector-cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1rem; }
.handler-marketing .sector-card { border:1px solid var(--border); border-radius:20px; padding:2rem; box-shadow:none; background:var(--bg-card); }
.handler-marketing .sector-card:hover { background:var(--bg-raised); box-shadow:none; border-color:var(--accent); }
.handler-marketing .sector-card h3 { font-size:1.35rem; }
.handler-marketing .sector-card p { font-size:.95rem; line-height:1.8; }
.handler-marketing .sector-icon { border-radius:12px; background:var(--bg-raised); color:var(--accent); }
.handler-marketing :is(.price-card,.plan-card,.cap-tile,.caller-card) { border-radius:20px; box-shadow:none; border:1px solid var(--border); background:var(--bg-card); padding:clamp(1.5rem,3vw,2.5rem); }
.handler-marketing .plan-grid { align-items:stretch; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.handler-marketing .plan-card { display:flex; flex-direction:column; }
.handler-marketing .plan-card .btn { margin-top:auto; }
.handler-marketing .plan-card.featured { background:var(--bg-card); border:2px solid var(--accent); }
.handler-marketing .price { letter-spacing:-.055em; }
.handler-marketing .faq details { background:transparent; border:0; border-bottom:1px solid var(--border); border-radius:0; padding:1.35rem 0; }
.handler-marketing .faq summary { font-size:1.12rem; font-weight:600; }
.handler-marketing .form-wrap { max-width:46rem; }
.handler-marketing .form-wrap input, .handler-marketing .form-wrap textarea, .handler-marketing .form-wrap select { padding:.9rem 1rem; border-radius:12px; background:var(--bg-card); border:1px solid var(--border); color:var(--text); }
.handler-marketing .form-wrap label { margin-top:1.2rem; margin-bottom:.5rem; }
.handler-marketing .site-footer { padding:4rem 0 2rem; border-top:1px solid var(--border); background:var(--bg); color:var(--text-dim); }
.handler-marketing .footer-grid { gap:3rem; }
.handler-marketing .site-footer h4 { color:var(--text); letter-spacing:0; font-size:.9rem; }
.handler-marketing .site-footer a { color:var(--text-dim); }
.handler-marketing .site-footer .logo { color:var(--text); }
.handler-marketing .sticky-cta { border:1px solid var(--border); box-shadow:0 5px 25px rgb(15 35 20 / .08); background:var(--bg-card); }
/* Construction has a separate BidRoom identity and product journey. */
.handler-construction .hero h1 { max-width:48rem; }
.construction-label { display:inline-flex; align-items:center; gap:.6rem; border:1px solid var(--border); padding:.4rem .85rem; border-radius:100px; font-size:.78rem; color:var(--accent); margin:0 0 1.5rem; }
.construction-preview { padding:1.5rem; background:var(--bg-card); border:1px solid var(--border); border-radius:24px; box-shadow:0 25px 70px rgb(15 35 20 / .07); }
.construction-preview-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; border-bottom:1px solid var(--border); padding-bottom:1rem; }
.construction-preview-head small { color:var(--text-dim); }
.construction-preview h3 { font-size:1.5rem; margin:1.5rem 0 .4rem; }
.construction-preview p { font-size:.9rem; color:var(--text-dim); }
.construction-workflow { list-style:none; padding:0; margin:1.5rem 0 0; display:grid; gap:.65rem; }
.construction-workflow li { padding:.9rem 1rem; border:1px solid var(--border); border-radius:12px; display:flex; align-items:center; gap:.8rem; background:var(--bg); font-size:.9rem; }
.construction-workflow span { color:var(--accent); font-size:.75rem; }
.construction-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin-top:2rem; }
.construction-grid article { padding:2rem; background:var(--bg-card); border:1px solid var(--border); border-radius:20px; }
.construction-grid article h3 { margin-top:0; font-size:1.25rem; }
.construction-grid article p { color:var(--text-dim); font-size:.95rem; }
@media(min-width:901px) { .handler-marketing .hero-split:not(.handler-home .hero-split) { gap:3.5rem; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); } }
@media(max-width:1100px) { .handler-marketing .header-inner { gap:.85rem; } .handler-marketing .site-nav { gap:.75rem; } }
@media(max-width:900px) { .handler-marketing .site-nav.open { background:var(--bg-card); border:1px solid var(--border); border-radius:16px; } .construction-preview { margin-top:2rem; } }
@media(max-width:800px) { .handler-home .benefit-card { border-right:0; border-bottom:1px solid var(--border); } .handler-home .benefit-card:last-child { border-bottom:0; } .construction-grid { grid-template-columns:1fr; } }
@media(max-width:640px) {
 .handler-home .product-preview { display:block; }
 .handler-home .preview-handoff { border-left:0; border-top:1px solid var(--border); padding:1.5rem; }
 .handler-marketing .plan-grid { grid-template-columns:minmax(0,1fr); }
 .handler-marketing .header-inner { min-height:4.3rem; }
 .handler-home .hero .cta-row { display:flex; flex-wrap:wrap; }
 .handler-marketing .hero .cta-row .btn { flex:1 1 auto; }
 .handler-home .benefit-card, .handler-marketing .sector-card { padding:1.5rem; }
}
@media(prefers-reduced-motion:reduce) { .handler-marketing *, .handler-marketing *::before, .handler-marketing *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media(max-width:999px) {
 .handler-marketing .site-nav.open { max-height:calc(100dvh - 76px); overflow-y:auto; }
 .handler-marketing .site-nav .nav-cta { padding:.9rem 1.25rem; }
 .handler-marketing .site-nav .nav-cta-mobile { color:var(--bg); background:var(--text); margin:.75rem 1.25rem; }
}
.handler-construction .logo small { font-size:.72rem; font-weight:550; letter-spacing:.02em; color:var(--text-dim); padding-left:.6rem; }
