/* ============================================================
   Sun Digital - component styles
   ============================================================ */

/* ---------- NAV ---------- */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 80; transition: background .3s, box-shadow .3s, backdrop-filter .3s; }
.nav-inner { display: flex; align-items: center; gap: 28px; height: 78px; }
.nav-on { background: rgba(250,247,243,.82); backdrop-filter: blur(14px); box-shadow: 0 1px 0 var(--hair-2); }
/* at top, nav sits over the dark hero photo - use light text */
.nav:not(.nav-on) .nav-links a { color: rgba(255,255,255,.88); }
.nav:not(.nav-on) .nav-links a:hover { color: #fff; }
.nav:not(.nav-on) .nav-phone { color: rgba(255,255,255,.82); }
.nav:not(.nav-on) .nav-phone:hover { color: #fff; }
.nav:not(.nav-on) .nav-burger span { background: #fff; }
.nav-logo { display: flex; align-items: center; }
.nav-links { display: flex; gap: 28px; margin-left: 14px; flex: 1; }
.nav-links a { font-size: 15px; font-weight: 500; color: var(--ink-2); transition: color .15s; position: relative; }
.nav-links a:hover { color: var(--ink); }
.nav-links a::after { content:""; position:absolute; left:0; bottom:-6px; height:2px; width:0; background:var(--sun-grad); transition:width .2s; }
.nav-links a:hover::after { width:100%; }
.nav-cta { display: flex; align-items: center; gap: 18px; }
.nav-phone { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 13px; color: var(--ink-2); }
.nav-phone:hover { color: var(--ink); }
.nav-book { padding: 10px 20px; font-size: 14px; }
.nav-burger { display: none; flex-direction: column; gap: 5px; padding: 8px; }
.nav-burger span { width: 22px; height: 2px; background: var(--ink); border-radius: 2px; }
.nav-mobile { display: none; }

/* ---------- HERO (full-bleed background photo) ---------- */
.hero { padding: 150px 0 96px; position: relative; overflow: hidden; }
.hero-bleed { min-height: 100vh; display: flex; align-items: center; padding: 118px 0 78px; }
.hero-bg { position: absolute; inset: 0; z-index: 0; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
.hero-scrim { position: absolute; inset: 0;
  background:
    linear-gradient(95deg, rgba(8,6,5,.93) 0%, rgba(8,6,5,.80) 34%, rgba(8,6,5,.42) 62%, rgba(8,6,5,.30) 100%),
    linear-gradient(0deg, rgba(8,6,5,.72) 0%, rgba(8,6,5,.05) 38%),
    radial-gradient(120% 90% at 78% 8%, rgba(255,120,60,.16), transparent 55%); }
.hero-glow { position: absolute; top: -180px; right: -120px; width: 620px; height: 620px;
  background: radial-gradient(circle, rgba(255,138,61,.30), rgba(255,194,75,.10) 45%, transparent 70%);
  filter: blur(8px); pointer-events: none; z-index: 0; }
.hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center; }
.hero-bleed .hero-inner { display: block; width: 100%; }
.hero-h1 { font-size: clamp(40px, 5.4vw, 70px); line-height: 1.02; margin: 22px 0 24px; letter-spacing: -0.03em; }
.hero-sub { font-size: 19px; line-height: 1.6; color: var(--ink-2); max-width: 540px; }
.hero-sub strong { color: var(--ink); font-weight: 700; }
.hero-actions { display: flex; gap: 14px; margin: 28px 0 30px; flex-wrap: wrap; }
.hero-meta { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.hero-meta > div { display: flex; flex-direction: column; }
.hero-meta b { font-family: var(--font-display); font-size: 24px; }
.hero-meta span { font-size: 13px; color: var(--muted); }
.hero-meta .vr { width: 1px; height: 38px; background: var(--hair); align-self: center; }

/* light treatment over the dark photo */
.hero-bleed .hero-copy { max-width: 680px; }
.hero-bleed .hero-h1 { color: #fff; text-shadow: 0 2px 30px rgba(0,0,0,.3); font-size: clamp(38px, 4.9vw, 62px); margin: 18px 0 22px; }
.hero-bleed .eyebrow { color: rgba(255,255,255,.9); }
.hero-bleed .hero-h1 { color: #fff; text-shadow: 0 2px 30px rgba(0,0,0,.3); }
.hero-bleed .hero-sub { color: rgba(255,255,255,.82); font-size: 18px; }
.hero-bleed .hero-sub strong { color: #fff; }
.hero-bleed .hero-meta b { color: #fff; }
.hero-bleed .hero-meta span { color: rgba(255,255,255,.62); }
.hero-bleed .hero-meta .vr { background: rgba(255,255,255,.22); }
.hero-bleed .btn-ghost { border-color: rgba(255,255,255,.34); color: #fff; }
.hero-bleed .btn-ghost:hover { border-color: #fff; }

.hero-visual { position: relative; }
.hero-photo { border-radius: var(--r-lg); overflow: hidden; box-shadow: 0 30px 70px -30px rgba(60,30,10,.4); }
.hero-photo img { width: 100%; height: 480px; object-fit: cover; display: block; }
.hero-card { width: 330px; background: rgba(12,9,8,.82); backdrop-filter: blur(8px); color: var(--night-ink);
  border-radius: 18px; padding: 16px 18px; box-shadow: 0 24px 50px -18px rgba(0,0,0,.6); border: 1px solid var(--night-hair); }
.hero-bleed .hero-card { position: absolute; z-index: 2; right: max(28px, calc((100vw - var(--maxw)) / 2)); bottom: 52px; left: auto; width: 348px; }
.hc-top { display: flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--night-muted); }
.hc-dot { width: 8px; height: 8px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 3px rgba(74,222,128,.2); display: inline-block; }
.hc-body { font-size: 15px; margin: 9px 0 12px; }
.hc-body b { font-family: var(--font-display); }
.hc-row { display: flex; align-items: flex-start; gap: 9px; font-size: 12.5px; color: var(--night-muted); padding: 5px 0; line-height: 1.35; }
.pip { width: 7px; height: 7px; border-radius: 50%; margin-top: 5px; flex: none; }
.pip-red { background: #ff5a5a; } .pip-amber { background: #ffb24b; } .pip-green { background: #4ade80; }

/* ---------- section heads ---------- */
.sec-head { max-width: 720px; margin-bottom: 56px; }
.sec-title { font-size: clamp(30px, 3.8vw, 46px); margin: 18px 0 20px; }
.sec-lead { font-size: 18px; line-height: 1.6; color: var(--night-muted); max-width: 620px; }
.sec-head.light .sec-lead.dark-lead { color: var(--ink-2); }
.dark-title { color: var(--ink); }

/* ---------- SUNSUITE ---------- */
.sunsuite { overflow: hidden; }
.sun-haze { position: absolute; top: 8%; left: 50%; transform: translateX(-50%); width: 900px; height: 420px;
  background: radial-gradient(ellipse, rgba(255,110,69,.16), transparent 65%); pointer-events: none; }
.dash { position: relative; display: grid; grid-template-columns: 210px 1fr; background: var(--night-2);
  border: 1px solid var(--night-hair); border-radius: var(--r-lg); overflow: hidden; box-shadow: 0 40px 90px -40px rgba(0,0,0,.7); }
.dash-rail { border-right: 1px solid var(--night-hair); padding: 22px 16px; display: flex; flex-direction: column; gap: 22px; }
.dash-brand { display: flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 600; font-size: 16px; }
.dash-rail nav { display: flex; flex-direction: column; gap: 2px; }
.dash-rail nav a { font-size: 13.5px; color: var(--night-muted); padding: 9px 12px; border-radius: 9px; cursor: pointer; }
.dash-rail nav a.on { background: rgba(255,138,61,.14); color: #FFB14B; }
.dash-rail nav a:hover:not(.on) { background: var(--night-hair-2); color: var(--night-ink); }
.dash-sol { margin-top: auto; display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--night-muted); font-family: var(--font-mono); }
.dash-main { padding: 22px 24px 26px; }
.dash-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.dash-client { display: flex; align-items: center; gap: 12px; }
.dash-ava { width: 38px; height: 38px; border-radius: 10px; background: var(--sun-grad); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 600; font-size: 14px; }
.dash-client b { font-size: 15px; display: block; white-space: nowrap; }
.dash-client small { font-size: 12px; color: var(--night-muted); display: block; margin-top: 2px; }
.dash-date { font-family: var(--font-mono); font-size: 12.5px; color: var(--night-muted); }
.dash-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dcard { background: var(--night-3); border: 1px solid var(--night-hair); border-radius: 14px; padding: 16px 18px; }
.dcard-wide { grid-column: span 2; }
.dcard-h { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; color: var(--night-muted); margin-bottom: 12px; }
.dcard-h span { color: var(--night-ink); font-weight: 600; display: inline-flex; align-items: center; gap: 7px; }
.dcard-h small { font-size: 12px; }
.dcard-h .up { color: #4ade80; font-family: var(--font-mono); }
.dcard-big { font-family: var(--font-display); font-size: 24px; font-weight: 600; margin-bottom: 6px; }
.dcard-big em { font-style: normal; font-size: 13px; color: var(--night-muted); font-family: var(--font-body); }
.aibars { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 26px; }
.aibar-top { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 6px; }
.aibar-top b { font-family: var(--font-mono); color: var(--night-ink); }
.aibar-track { height: 7px; background: rgba(255,255,255,.07); border-radius: 6px; overflow: hidden; }
.aibar-fill { height: 100%; border-radius: 6px; transition: width 1s cubic-bezier(.2,.7,.2,1); }
.dcard-sol .hc-row { color: #cdbfb3; font-size: 13px; }

.tool-head { display: flex; justify-content: space-between; align-items: baseline; margin: 64px 0 22px; }
.tool-head h3 { font-size: 24px; }
.tool-count { font-family: var(--font-mono); font-size: 13px; color: var(--night-muted); }
.tool-count b { color: #FFB14B; }
.tool-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.tool-card { background: var(--night-2); border: 1px solid var(--night-hair); border-radius: 14px; padding: 18px; transition: border-color .2s, transform .2s; }
.tool-card:hover { border-color: rgba(255,138,61,.4); transform: translateY(-3px); }
.tool-card-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.tool-card-h h4 { font-size: 15px; }
.tool-card-h span { font-family: var(--font-mono); font-size: 12px; color: #FFB14B; background: rgba(255,138,61,.12); border-radius: 6px; padding: 2px 8px; }
.tool-card ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.tool-card li { font-size: 13px; color: var(--night-muted); padding-left: 14px; position: relative; }
.tool-card li::before { content: ""; position: absolute; left: 0; top: 7px; width: 4px; height: 4px; border-radius: 50%; background: var(--sun-2); }
.tool-card:nth-child(5),.tool-card:nth-child(6),.tool-card:nth-child(7) { grid-column: span 1; }

/* ---------- SOL ---------- */
.sol-sec { border-top: 1px solid var(--night-hair); }
.sol-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 64px; align-items: center; }
.sol-caps { display: flex; flex-direction: column; gap: 18px; margin-top: 32px; }
.sol-cap { display: flex; gap: 14px; font-size: 15.5px; line-height: 1.5; color: var(--night-muted); max-width: 460px; }
.sol-cap b { color: var(--night-ink); font-family: var(--font-display); }
.sol-cap-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--sun-grad); margin-top: 6px; flex: none; box-shadow: 0 0 14px rgba(255,138,61,.6); }

.sol-demo { perspective: 1400px; }
.sol-win { background: #0f0c0b; border: 1px solid var(--night-hair); border-radius: 18px; overflow: hidden; box-shadow: 0 40px 90px -36px rgba(0,0,0,.8); }
.sol-win-top { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--night-hair); background: rgba(255,255,255,.02); }
.sol-orb { width: 26px; height: 26px; border-radius: 50%; background: var(--sun-grad); box-shadow: 0 0 16px rgba(255,138,61,.6); position: relative; flex: none; }
.sol-orb::after { content:""; position:absolute; inset:6px; border-radius:50%; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.7), transparent 60%); }
.sol-win-title { font-family: var(--font-display); font-weight: 600; font-size: 15px; flex: 1; }
.sol-time { font-family: var(--font-mono); font-size: 12px; color: var(--night-muted); }
.sol-stream { padding: 20px 18px; min-height: 360px; display: flex; flex-direction: column; gap: 12px; }
.sol-msg { font-size: 15px; line-height: 1.5; color: #e8ded4; animation: solIn .4s ease; max-width: 92%; }
.sol-item { background: var(--night-3); border: 1px solid var(--night-hair); border-left: 3px solid; border-radius: 12px; padding: 13px 15px; animation: solIn .45s ease; }
.sol-item.sol-red { border-left-color: #ff5a5a; }
.sol-item.sol-amber { border-left-color: #ffb24b; }
.sol-item.sol-green { border-left-color: #4ade80; }
.sol-item-h { display: flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.sol-item p { font-size: 13.5px; line-height: 1.5; color: var(--night-muted); }
.sol-item-act { display: flex; gap: 8px; margin-top: 11px; }
.sol-approve { background: var(--sun-grad); color: #fff; font-weight: 600; font-size: 12.5px; padding: 7px 14px; border-radius: 8px; font-family: var(--font-display); }
.sol-view { border: 1px solid var(--night-hair); color: var(--night-ink); font-size: 12.5px; padding: 7px 14px; border-radius: 8px; }
.sol-view:hover { border-color: rgba(255,255,255,.35); }
@keyframes solIn { from { transform: translateY(9px); } to { transform: none; } }
.sol-typing { display: flex; gap: 5px; padding: 4px 0; }
.sol-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--sun-2); animation: solBlink 1.2s infinite; }
.sol-typing span:nth-child(2) { animation-delay: .2s; } .sol-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes solBlink { 0%,60%,100% { opacity: .25; } 30% { opacity: 1; } }
.sol-foot { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-top: 1px solid var(--night-hair); gap: 12px; }
.sol-replay { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 12.5px; color: var(--night-ink); }
.sol-replay:hover { color: #FFB14B; }
.sol-foot-note { font-size: 11.5px; color: var(--night-muted); text-align: right; }

/* ---------- SERVICES ---------- */
.services { background: var(--paper-2); }
.svc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.svc-card { padding: 28px 24px 26px; border: 1px solid var(--hair); border-radius: var(--r); background: var(--paper); transition: transform .2s, box-shadow .25s, border-color .2s; }
.svc-card:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -24px rgba(60,30,10,.28); border-color: transparent; }
.svc-icon { width: 50px; height: 50px; border-radius: 13px; background: var(--sun-grad); color: #fff; display: grid; place-items: center; margin-bottom: 18px; box-shadow: 0 10px 22px -10px rgba(255,90,60,.5); }
.svc-card h3 { font-size: 19px; margin-bottom: 9px; }
.svc-card > p { font-size: 14.5px; line-height: 1.5; color: var(--ink-2); margin-bottom: 16px; }
.svc-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.svc-tags span { font-family: var(--font-mono); font-size: 11.5px; color: var(--muted); border: 1px solid var(--hair); border-radius: 100px; padding: 3px 10px; }

/* ---------- RESULTS ---------- */
.results-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); padding: 48px 0; margin-bottom: 64px; }
.stat-n { font-family: var(--font-display); font-size: clamp(36px, 4.5vw, 56px); font-weight: 600; letter-spacing: -.03em; }
.stat-l { font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.4; max-width: 220px; }
.quote-wrap { max-width: 920px; margin: 0 auto 64px; text-align: center; position: relative; }
.quote-mark { font-family: var(--font-display); font-size: 80px; line-height: .6; height: 40px; }
.quote-wrap blockquote { font-family: var(--font-display); font-weight: 500; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.35; letter-spacing: -.02em; margin: 14px 0 24px; color: var(--ink); }
.quote-by { display: inline-flex; align-items: center; gap: 12px; text-align: left; }
.quote-ava { width: 44px; height: 44px; border-radius: 50%; background: var(--hair); display: grid; place-items: center; font-family: var(--font-mono); font-size: 13px; color: var(--muted); }
.quote-by b { display: block; font-size: 14px; } .quote-by small { font-size: 12px; color: var(--muted); }
.logos { text-align: center; }
.logos-label { font-family: var(--font-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.logos-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 22px; }
.logo-slot { flex: 1; min-width: 150px; max-width: 190px; height: 64px; border: 1px dashed var(--hair); border-radius: 12px; display: grid; place-items: center; font-family: var(--font-mono); font-size: 12px; color: var(--muted); background: repeating-linear-gradient(45deg, transparent, transparent 9px, rgba(26,21,18,.025) 9px, rgba(26,21,18,.025) 18px); }

/* ---------- FOUNDERS ---------- */
.founders { background: var(--paper-2); }
.founders-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: center; }
.founders-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.founder { display: flex; flex-direction: column; }
.founder-img { aspect-ratio: 4/5; border-radius: var(--r); overflow: hidden; background: repeating-linear-gradient(45deg, #f1ebe4, #f1ebe4 11px, #ece4db 11px, #ece4db 22px); display: grid; place-items: center; margin-bottom: 12px; }
.founder-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
.founder-img span { font-family: var(--font-mono); font-size: 12px; color: var(--muted); }
.founder b { font-size: 16px; } .founder small { font-size: 13px; color: var(--muted); }
.founder-addr { font-style: normal; font-size: 14px; line-height: 1.5; color: var(--night-muted); margin-top: 14px; }
.founders-p { font-size: 16.5px; line-height: 1.65; color: var(--ink-2); margin-bottom: 16px; max-width: 540px; }

/* ---------- CTA BAND ---------- */
.cta-band { position: relative; background: var(--night); color: var(--night-ink); padding: 110px 0; overflow: hidden; text-align: center; }
.cta-haze { position: absolute; inset: 0; background: radial-gradient(ellipse 700px 380px at 50% 0%, rgba(255,110,69,.22), transparent 70%); pointer-events: none; }
.cta-inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.cta-mark { width: 76px; height: auto; display: block; margin-bottom: 4px; filter: drop-shadow(0 6px 22px rgba(255,110,69,.35)); }
.cta-inner h2 { font-size: clamp(34px, 4.6vw, 56px); margin: 14px 0 18px; }
.cta-inner > p { font-size: 18px; line-height: 1.6; color: var(--night-muted); max-width: 540px; margin-bottom: 32px; }
.cta-actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.cta-note { font-family: var(--font-mono); font-size: 12.5px; color: var(--night-muted); margin-top: 22px; }

/* ---------- FOOTER ---------- */
.footer { background: #080605; color: var(--night-muted); padding: 64px 0 32px; }
.footer-inner { display: grid; grid-template-columns: 1.4fr 2fr; gap: 48px; padding-bottom: 40px; border-bottom: 1px solid var(--night-hair); }
.footer-brand p { font-size: 14px; line-height: 1.6; max-width: 320px; margin-top: 16px; }
.footer-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.footer-cols h5 { font-family: var(--font-display); font-size: 13px; letter-spacing: .04em; color: var(--night-ink); margin: 0 0 14px; text-transform: uppercase; }
.footer-cols a, .footer-cols span { display: block; font-size: 14px; color: var(--night-muted); padding: 5px 0; transition: color .15s; }
.footer-cols a:hover { color: #FFB14B; }
.footer-base { display: flex; justify-content: space-between; padding-top: 24px; font-size: 12.5px; color: var(--night-muted); }

/* ---------- SOL CHAT ---------- */
.solchat { position: fixed; right: 24px; bottom: 24px; z-index: 90; }
.sc-fab { display: inline-flex; align-items: center; gap: 10px; background: var(--sun-grad); color: #fff; padding: 14px 20px; border-radius: 100px; box-shadow: 0 14px 34px -10px rgba(255,90,60,.6); font-family: var(--font-display); font-weight: 600; font-size: 15px; transition: transform .2s; }
.sc-fab:hover { transform: translateY(-2px); }
.sc-fab-label { white-space: nowrap; }
.sc-fab-open { background: var(--night-3); padding: 14px; }
.sc-fab-orb { width: 22px; height: 22px; border-radius: 50%; background: #fff; position: relative; flex: none; }
.sc-fab-orb::after { content:""; position:absolute; inset:5px; border-radius:50%; background: var(--sun-grad); }
.sc-panel { position: absolute; right: 0; bottom: 70px; width: 380px; max-width: calc(100vw - 32px); height: 540px; max-height: calc(100vh - 120px); background: #0f0c0b; border: 1px solid var(--night-hair); border-radius: 20px; box-shadow: 0 40px 90px -30px rgba(0,0,0,.7); display: flex; flex-direction: column; overflow: hidden; animation: scIn .28s cubic-bezier(.2,.8,.2,1); }
@keyframes scIn { from { transform: translateY(16px) scale(.97); } to { transform: none; } }
.sc-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--night-hair); background: rgba(255,255,255,.02); }
.sc-id { display: flex; align-items: center; gap: 11px; }
.sc-orb { width: 32px; height: 32px; border-radius: 50%; background: var(--sun-grad); box-shadow: 0 0 16px rgba(255,138,61,.5); position: relative; }
.sc-orb::after { content:""; position:absolute; inset:7px; border-radius:50%; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.8), transparent 60%); }
.sc-id b { color: var(--night-ink); font-family: var(--font-display); font-size: 15px; display: block; }
.sc-id small { font-size: 12px; color: #4ade80; }
.sc-x { color: var(--night-muted); padding: 6px; } .sc-x:hover { color: var(--night-ink); }
.sc-body { flex: 1; overflow-y: auto; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.sc-msg { font-size: 14px; line-height: 1.5; padding: 11px 14px; border-radius: 14px; max-width: 84%; animation: solIn .35s ease; }
.sc-sol { background: var(--night-3); color: #e8ded4; border-bottom-left-radius: 4px; align-self: flex-start; }
.sc-me { background: var(--sun-grad); color: #fff; border-bottom-right-radius: 4px; align-self: flex-end; }
.sc-typing { display: flex; gap: 5px; }
.sc-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--sun-2); animation: solBlink 1.2s infinite; }
.sc-typing span:nth-child(2){animation-delay:.2s;} .sc-typing span:nth-child(3){animation-delay:.4s;}
.sc-chips { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; margin-top: 4px; }
.sc-chips button { border: 1px solid var(--night-hair); color: var(--night-ink); font-size: 13.5px; padding: 9px 15px; border-radius: 100px; transition: all .15s; font-family: var(--font-body); }
.sc-chips button:hover { border-color: #FFB14B; color: #FFB14B; background: rgba(255,138,61,.08); }
.sc-input { display: flex; gap: 8px; padding: 14px; border-top: 1px solid var(--night-hair); }
.sc-input input { flex: 1; background: var(--night-3); border: 1px solid var(--night-hair); border-radius: 100px; padding: 11px 16px; color: var(--night-ink); font-family: var(--font-body); font-size: 14px; outline: none; }
.sc-input input:focus { border-color: rgba(255,138,61,.5); }
.sc-input button { background: var(--sun-grad); color: #fff; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; flex: none; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 980px) {
  .hero-inner, .sol-grid, .founders-grid { grid-template-columns: 1fr; gap: 48px; }
  .hero-bleed { min-height: 0; display: block; }
  .hero-bleed .hero-card { position: static; margin: 28px 20px 0; right: auto; bottom: auto; width: auto; max-width: 360px; }
  .tool-grid, .svc-grid { grid-template-columns: repeat(2, 1fr); }
  .results-stats { grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
  .footer-inner { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 860px) {
  .nav-links, .nav-phone { display: none; }
  .nav-burger { display: flex; }
  .nav-mobile { display: flex; flex-direction: column; gap: 4px; padding: 14px 20px 22px; background: rgba(250,247,243,.96); backdrop-filter: blur(14px); border-top: 1px solid var(--hair-2); }
  .nav-mobile a { padding: 12px 0; font-size: 16px; font-weight: 500; border-bottom: 1px solid var(--hair-2); }
  .nav-mobile .btn { margin-top: 12px; justify-content: center; }
  .dash { grid-template-columns: 1fr; }
  .dash-rail { flex-direction: row; align-items: center; overflow-x: auto; border-right: none; border-bottom: 1px solid var(--night-hair); gap: 14px; }
  .dash-rail nav { flex-direction: row; }
  .dash-sol { margin: 0; white-space: nowrap; }
  .dash-grid, .aibars { grid-template-columns: 1fr; }
  .dcard-wide { grid-column: span 1; }
}
@media (max-width: 560px) {
  .tool-grid, .svc-grid, .founders-photos { grid-template-columns: 1fr; }
  .hero-bleed .hero-card { margin: 24px 20px 0; }
  .footer-base { flex-direction: column; gap: 6px; }
  .hero-actions { flex-direction: column; align-items: flex-start; }
  .hero-meta { gap: 14px; }
  .hero-meta .vr { display: none; }
  .cta-band { padding: 72px 0; }
  .cta-actions { flex-direction: column; align-items: center; width: 100%; }
  .cta-actions .btn { width: 100%; justify-content: center; }
  .sol-foot { flex-direction: column; align-items: flex-start; gap: 6px; }
  .sol-foot-note { text-align: left; }
  .quote-wrap blockquote { font-size: clamp(18px, 5vw, 22px); }
  .sc-panel { width: calc(100vw - 16px); right: 0; }
  .solchat { right: 8px; bottom: 16px; }
}

.sc-calendly-btn { display: block; margin-top: 12px; background: var(--sun-grad); color: #fff; text-decoration: none; font-size: 14px; font-weight: 600; padding: 11px 20px; border-radius: 100px; text-align: center; transition: opacity .15s; font-family: var(--font-ui); }
.sc-calendly-btn:hover { opacity: .85; }
