:root {
  --ink: #0E1A2B; --ink-2: #15263C; --ink-3: #1C3150;
  --sunken: #0F1A2B;
  --paper: #EFF2F6; --paper-2: #E2E8F0;
  --beacon: #EBA63A; --beacon-bright: #F4BE5C; --beacon-deep: #C77E1C;
  --signal: #E2533B; --signal-deep: #C5331B;
  --text: #F3F6FA; --muted: #9FB1C6; --muted-2: #6F8199;
  --line: rgba(159, 177, 198, .18);
  --line-strong: rgba(159, 177, 198, .3);
  --ok: #EBA63A;                 /* brand uses gold for confirmation, not green */
  --teal: #EBA63A; --teal-dark: #EBA63A; /* legacy aliases → beacon */
  --gold: #EBA63A; --gold-bright: #F4BE5C; --gold-deep: #C77E1C;
  --gold-soft: rgba(235, 166, 58, .12);
  --danger: #E2533B; --danger-deep: #C5331B;
  --surface: #15263C; --surface-2: #1C3150; --surface-3: #0F1A2B;
  --navy: #0E1A2B; --navy-2: #15263C;
  --shadow: 0 30px 80px -20px rgba(0, 0, 0, .7);
  --shadow-soft: 0 16px 40px -16px rgba(0, 0, 0, .55);
  --radius: 18px; --r: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

body {
  margin: 0; min-width: 320px; overflow-x: hidden;
  background: var(--ink); color: var(--text);
  font-family: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  line-height: 1.6; -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, p { margin: 0; }
h1, .section-title, .profile-copy h2 {
  font-family: "Spectral", Georgia, serif; font-weight: 600; line-height: 1.12; letter-spacing: -.01em;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }
.mono { font-family: "JetBrains Mono", monospace; }

:focus-visible { outline: 3px solid var(--beacon); outline-offset: 3px; border-radius: 8px; }

.wrap { width: min(1180px, 100%); margin: 0 auto; padding: 0 22px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* live pulse */
.pulse { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--signal); position: relative; flex: none; }
.pulse::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 1px solid var(--signal); animation: ping 2s ease-out infinite; }
@keyframes ping { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(1.8); opacity: 0; } }

/* TOPLINE */
.topline { border-bottom: 1px solid var(--line); background: #0A1422; color: var(--muted); font-size: 13px; font-weight: 600; }
.topline-inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.topline strong { color: var(--beacon-bright); font-weight: 700; }
.topline .live { display: inline-flex; align-items: center; gap: 8px; font-family: "JetBrains Mono", monospace; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }

/* HEADER */
.site-header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(10px); background: rgba(14, 26, 43, .82); border-bottom: 1px solid var(--line); }
.nav { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { min-width: 0; display: inline-flex; align-items: center; gap: 12px; }
.logo { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); box-shadow: 0 6px 18px -6px rgba(235, 166, 58, .55); transition: transform .18s ease; }
.brand:hover .logo { transform: translateY(-1px); }
.logo svg { width: 25px; height: 25px; color: #231603; overflow: visible; }
.logo .beam { transform-box: fill-box; transform-origin: 50% 0%; }
.logo--live .beam { animation: tilt 7.5s ease-in-out infinite; }
@keyframes tilt { 0%, 12% { transform: rotate(0deg); } 32%, 46% { transform: rotate(6deg); } 66%, 80% { transform: rotate(-6deg); } 96%, 100% { transform: rotate(0deg); } }
.brand-copy { display: grid; min-width: 0; line-height: 1.05; }
.brand-copy strong { font-size: 18px; white-space: nowrap; color: var(--text); font-weight: 800; }
.brand-copy > span { margin-top: 3px; color: var(--muted-2); font-size: 12px; font-weight: 600; white-space: nowrap; }
.nav-links { display: flex; align-items: center; gap: 24px; color: var(--muted); font-size: 14px; font-weight: 500; }
.nav-links a:hover { color: var(--text); }
.nav-actions { display: flex; align-items: center; gap: 10px; }

.icon-btn, .btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 999px; color: inherit; background: transparent; font-weight: 700; font-family: "Manrope", sans-serif; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease; }
.icon-btn:hover, .btn:hover { transform: translateY(-1px); }
.icon-btn { width: 44px; border: 1px solid var(--line); border-radius: 11px; background: var(--ink-2); color: var(--text); }
.icon-btn:hover { border-color: var(--beacon); color: var(--beacon); }
.btn { padding: 0 20px; }
.btn-primary, .btn-gold { background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; font-weight: 800; box-shadow: 0 8px 24px -8px rgba(235, 166, 58, .6); }
.btn-primary:hover, .btn-gold:hover { box-shadow: 0 12px 30px -8px rgba(235, 166, 58, .72); }
.btn-emergency { background: radial-gradient(circle at 50% 30%, #F26A50, var(--signal-deep)); color: #fff; font-weight: 800; box-shadow: 0 10px 28px -8px rgba(226, 83, 59, .6); }
.btn-emergency:hover { box-shadow: 0 14px 34px -8px rgba(226, 83, 59, .75); }
.btn-dark { background: var(--ink-3); color: var(--text); border: 1px solid var(--line); }
.btn-dark:hover { border-color: var(--beacon); }
.btn-ghost { border: 1px solid var(--line); background: transparent; color: var(--text); }
.btn-ghost:hover { border-color: var(--beacon); color: var(--beacon); }
.btn-sm { min-height: 38px; padding: 0 15px; font-size: 13px; }
.btn[disabled] { opacity: .4; pointer-events: none; }
.nav-toggle { display: none; border-radius: 11px; }

.page { padding: 28px 0 70px; }

/* HERO */
.command { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r); background: linear-gradient(180deg, var(--ink-2), rgba(21, 38, 60, .55)); }
.command::before { content: ""; position: absolute; top: -45%; left: 58%; width: 720px; height: 680px; background: radial-gradient(circle, rgba(235, 166, 58, .12), transparent 60%); pointer-events: none; }
.command-inner { position: relative; display: block; padding: 36px 40px 32px; }
.eyebrow { width: fit-content; display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 6px 12px; border: 1px solid rgba(235, 166, 58, .32); border-radius: 999px; color: var(--beacon); background: rgba(235, 166, 58, .1); font-family: "JetBrains Mono", monospace; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .16em; }
.eyebrow i { font-size: 13px; }
h1 { max-width: 820px; margin-bottom: 0; font-size: clamp(2.1rem, 4.3vw, 3.3rem); color: var(--text); }
h1 .accent { color: var(--beacon); }
.lead { max-width: 720px; margin-top: 18px; margin-bottom: 24px; color: var(--muted); font-size: 1.08rem; }

.search-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; max-width: 620px; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: rgba(15, 26, 43, .5); }
.search-panel label { position: relative; display: flex; align-items: center; min-width: 0; }
.search-panel i { position: absolute; left: 16px; color: var(--muted-2); }
.search-panel input { width: 100%; min-height: 52px; padding: 0 16px 0 44px; border: 1px solid var(--line); border-radius: 12px; outline: none; background: rgba(15, 26, 43, .6); color: var(--text); font-weight: 500; }
.search-panel input::placeholder { color: var(--muted-2); }
.search-panel input:focus { border-color: var(--beacon); box-shadow: 0 0 0 3px rgba(235, 166, 58, .12); }

.quick-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.chip, .pill { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 0 13px; border: 1px solid var(--line); border-radius: 999px; background: var(--ink-2); color: var(--muted); font-size: 13px; font-weight: 600; white-space: nowrap; }
.chip:hover { border-color: rgba(235, 166, 58, .5); color: var(--text); }
.pill { font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--beacon); background: rgba(235, 166, 58, .1); border-color: rgba(235, 166, 58, .28); }

.command-card { position: relative; border: 1px solid var(--line); border-radius: var(--r); background: linear-gradient(180deg, var(--ink-2), rgba(21, 38, 60, .6)); padding: 26px; display: flex; flex-direction: column; }
.command-card h2 { margin-bottom: 18px; font-family: "Manrope", sans-serif; font-weight: 800; font-size: 1.18rem; letter-spacing: -.01em; color: var(--text); }
.signal-list { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }
.signal-list li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 13px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .95rem; }
.signal-list li:first-child { border-top: 0; padding-top: 0; }
.signal-list i { width: 34px; height: 34px; border-radius: 9px; background: rgba(235, 166, 58, .12); display: grid; place-items: center; color: var(--beacon); font-size: 17px; }
.signal-list b { color: var(--text); font-weight: 700; }

/* SECTIONS */
.section { padding: 56px 0 0; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 32px; }
.section-kicker { margin-bottom: 12px; color: var(--beacon); font-family: "JetBrains Mono", monospace; font-size: .72rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; }
.section-title { margin-bottom: 0; font-size: clamp(1.7rem, 3.2vw, 2.5rem); color: var(--text); }
.section-note { max-width: 460px; margin-bottom: 0; color: var(--muted); font-size: 1.02rem; }

.toolbar { display: grid; gap: 14px; margin-bottom: 22px; }
.type-tabs { display: flex; gap: 6px; width: 100%; border: 0; border-bottom: 2px solid var(--line); background: transparent; border-radius: 0; overflow: visible; }
.type-tab { flex: 1; min-height: 50px; padding: 0 16px; border: 1px solid var(--line); border-bottom: none; border-radius: 12px 12px 0 0; background: var(--ink-2); color: var(--muted); font-weight: 700; margin-bottom: -2px; position: relative; transition: background .15s ease, color .15s ease; }
.type-tab:hover { color: var(--text); background: var(--ink-3); }
.type-tab[aria-selected="true"] { background: var(--ink); color: var(--text); border-top: 3px solid var(--beacon); font-weight: 800; }
.type-tab[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--ink); }

.filter-row { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.filter-label { color: var(--muted-2); font-family: "JetBrains Mono", monospace; font-size: .72rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 7px; }
.subcat { min-height: 38px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--ink-2); color: var(--muted); font-size: 13px; font-weight: 600; }
.subcat:hover { border-color: rgba(235, 166, 58, .5); color: var(--text); }
.subcat.active { border-color: rgba(235, 166, 58, .5); background: rgba(235, 166, 58, .12); color: var(--beacon); }
.subcat.more { border-style: dashed; color: var(--beacon); }

.result-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.result-count { color: var(--muted); font-weight: 600; font-size: 14px; }
.result-count strong { color: var(--beacon-bright); }
.sort-select { min-height: 40px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--ink-2); color: var(--text); font-weight: 600; font-size: 13px; }

.catalog-layout { display: block; }
.expert-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(278px, 1fr)); gap: 18px; }

.product-card { min-width: 0; border: 1px solid var(--line); border-radius: var(--r); background: var(--ink-2); overflow: hidden; display: flex; flex-direction: column; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.product-card:hover { border-color: rgba(235, 166, 58, .55); transform: translateY(-3px); box-shadow: 0 22px 50px -24px rgba(0, 0, 0, .65); }
.product-media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--sunken); }
.product-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; transition: transform .35s ease; }
.product-card:hover .product-media img { transform: scale(1.045); }
@media (prefers-reduced-motion: reduce) { .product-card:hover .product-media img { transform: none; } }
.badge-row { position: absolute; left: 10px; top: 10px; display: flex; flex-wrap: wrap; gap: 6px; z-index: 2; }
.badge { display: inline-flex; align-items: center; gap: 5px; min-height: 26px; padding: 0 9px; border-radius: 999px; background: rgba(14, 26, 43, .82); color: var(--text); font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 500; letter-spacing: .03em; backdrop-filter: blur(8px); border: 1px solid var(--line); }
.badge.verify { background: rgba(235, 166, 58, .16); color: var(--beacon-bright); border-color: rgba(235, 166, 58, .35); }
.badge.gold { background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; border-color: transparent; }
.avail-chip { position: absolute; left: 10px; bottom: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: rgba(14, 26, 43, .9); border: 1px solid rgba(235, 166, 58, .35); color: var(--beacon-bright); font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 500; backdrop-filter: blur(8px); }
.product-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(14, 26, 43, .55)); pointer-events: none; }
.product-body { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.product-top { display: flex; justify-content: space-between; gap: 10px; align-items: start; margin-bottom: 3px; }
.product-name { margin: 0; font-family: "Manrope", sans-serif; font-size: 1.1rem; font-weight: 800; line-height: 1.18; letter-spacing: -.01em; }
.product-name a { color: var(--text); }
.product-name a:hover { color: var(--beacon-bright); }
.rating { display: inline-flex; align-items: center; gap: 4px; color: var(--beacon); font-size: 13px; font-weight: 700; white-space: nowrap; }
.rating small { color: var(--muted-2); font-weight: 600; margin-left: 2px; }
.product-role { margin: 0 0 12px; color: var(--beacon); font-family: "JetBrains Mono", monospace; font-size: 11.5px; font-weight: 500; letter-spacing: .01em; }
.tag-list { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.tag { display: inline-flex; align-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; background: rgba(235, 166, 58, .1); color: var(--beacon-bright); font-size: 12px; font-weight: 600; border: 1px solid rgba(235, 166, 58, .2); }
.product-foot { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.price { display: inline-flex; align-items: baseline; gap: 5px; color: var(--muted); font-size: 12px; }
.price strong { font-family: "Spectral", serif; font-size: 1.3rem; font-weight: 700; color: var(--text); }
.price .from { color: var(--muted-2); }
.price .per { color: var(--muted-2); }
.product-foot .btn { flex: 0 0 auto; }

.side-panel { margin-top: 30px; border: 1px solid var(--line); border-radius: var(--r); background: var(--ink-2); overflow: hidden; display: grid; grid-template-columns: 1fr 1.5fr 1fr; align-items: stretch; }
.side-panel-header { padding: 22px; background: linear-gradient(135deg, rgba(235, 166, 58, .12), transparent 70%); border-right: 1px solid var(--line); }
.side-panel-header h3 { margin-bottom: 8px; font-family: "Manrope", sans-serif; font-size: 1.18rem; font-weight: 800; letter-spacing: -.01em; color: var(--text); }
.side-panel-header p { margin-bottom: 0; color: var(--muted); font-size: 14px; }
.steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px 18px; margin: 0; padding: 14px 22px; list-style: none; align-content: center; }
.steps li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 14px; padding: 13px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .92rem; align-items: start; }
.steps li:first-child, .steps li:nth-child(2) { border-top: 0; }
.step-num { font-family: "JetBrains Mono", monospace; color: var(--beacon); font-weight: 700; font-size: .85rem; }
.side-trust { padding: 18px 22px; display: grid; gap: 10px; background: var(--sunken); border-left: 1px solid var(--line); align-content: center; }
.side-trust span { display: inline-flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; }
.side-trust i { color: var(--beacon); }

/* PROFILE band */
.profile-band { position: relative; margin-top: 60px; padding: 60px 0; background: radial-gradient(680px 300px at 84% 0%, rgba(235, 166, 58, .14), transparent 60%), var(--ink-2); border-block: 1px solid var(--line); }
.profile-hero { display: grid; grid-template-columns: minmax(0, .74fr) minmax(0, 1.26fr) 300px; gap: 24px; align-items: stretch; }
.portrait { border-radius: var(--r); overflow: hidden; min-height: 440px; background: var(--sunken); border: 1px solid var(--line); }
.portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 14%; }
.profile-copy { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: 8px 0; }
.profile-copy h2 { margin-bottom: 12px; font-size: clamp(2rem, 4vw, 3rem); color: var(--text); }
.role { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.profile-summary { max-width: 640px; color: var(--muted); font-size: 1.08rem; }
.proof-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.proof { padding: 22px 18px; background: var(--ink-2); text-align: left; }
.proof strong { display: block; margin-bottom: 6px; color: var(--beacon); font-family: "Spectral", serif; font-size: 2rem; font-weight: 700; line-height: 1; }
.proof span { color: var(--muted); font-size: .84rem; }

.booking-card { align-self: stretch; display: flex; flex-direction: column; border: 1px solid rgba(235, 166, 58, .26); border-radius: var(--r); background: linear-gradient(180deg, var(--ink-2), #11203A); padding: 22px; }
.booking-card h3 { margin-bottom: 4px; font-family: "Manrope", sans-serif; font-size: 1.2rem; font-weight: 800; color: var(--text); }
.booking-card .price-line { margin: 0 0 14px; color: var(--beacon); font-family: "Spectral", serif; font-weight: 700; font-size: 1.1rem; }
.booking-card p { color: var(--muted); font-size: 13px; }
.slot-list { display: grid; gap: 9px; margin: 14px 0; }
.slot { display: flex; justify-content: space-between; gap: 12px; padding: 13px 14px; border-radius: 13px; background: var(--sunken); color: var(--text); font-size: 14px; font-weight: 700; border: 1px solid var(--line); text-align: left; transition: border-color .15s ease, background .15s ease; }
.slot:hover { border-color: var(--beacon); background: rgba(235, 166, 58, .1); }
.slot span { font-family: "JetBrains Mono", monospace; font-weight: 500; color: var(--muted); }
.booking-card .btn { margin-top: auto; }

.profile-content { padding: 56px 0 0; }
.profile-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 26px; }
.profile-tab { min-height: 42px; padding: 0 18px; border: 1px solid var(--line); border-radius: 999px; background: var(--ink-2); color: var(--muted); font-weight: 700; }
.profile-tab:hover { border-color: rgba(235, 166, 58, .5); color: var(--text); }
.profile-tab[aria-selected="true"] { background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; border-color: transparent; font-weight: 800; }
.tab-panel { display: none; }
.tab-panel.active { display: block; }

.profile-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.content-stack { display: grid; gap: 18px; }
.info-block, .service-card, .article-card, .review-card, .case-card { border: 1px solid var(--line); border-radius: var(--r); background: var(--ink-2); }
.info-block { padding: 26px; }
.info-block h3 { margin-bottom: 14px; font-family: "Manrope", sans-serif; font-size: 1.35rem; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; color: var(--text); }
.info-block p { margin-bottom: 12px; color: var(--muted); }
.check-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.check-list li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; color: var(--muted); align-items: start; }
.check-list i { width: 26px; height: 26px; border-radius: 7px; background: rgba(235, 166, 58, .14); display: grid; place-items: center; color: var(--beacon); font-size: 14px; }
.fact-row { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 6px; }
.fact { display: grid; gap: 3px; }
.fact b { font-size: 1rem; color: var(--text); font-weight: 700; }
.fact span { color: var(--muted-2); font-size: 13px; }

.service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.service-card { padding: 24px; display: flex; flex-direction: column; transition: border-color .2s ease, transform .2s ease; }
.service-card:hover { border-color: rgba(235, 166, 58, .5); transform: translateY(-2px); }
.service-card h3 { margin-bottom: 6px; font-family: "Manrope", sans-serif; font-size: 1.2rem; font-weight: 800; color: var(--text); }
.service-card .svc-price { color: var(--beacon); font-family: "Spectral", serif; font-weight: 700; font-size: 1.15rem; margin-bottom: 12px; }
.service-card p { margin-bottom: 14px; color: var(--muted); font-size: .94rem; }
.service-card .svc-result { display: inline-flex; align-items: center; gap: 8px; color: var(--text); font-size: 13px; font-weight: 600; margin-bottom: 16px; }
.service-card .svc-result i { color: var(--beacon); }
.service-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.service-card .btn { margin-top: auto; }

.profile-aside { position: sticky; top: 96px; display: grid; gap: 16px; }
.aside-box { border: 1px solid var(--line); border-radius: var(--r); background: var(--ink-2); padding: 22px; }
.aside-box h3 { margin-bottom: 12px; font-family: "Manrope", sans-serif; font-size: 1.2rem; font-weight: 800; color: var(--text); }
.aside-box .price-from { color: var(--beacon); font-family: "Spectral", serif; font-weight: 700; font-size: 1.15rem; margin-bottom: 14px; }
.aside-actions { display: grid; gap: 9px; }
.aside-trust { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.aside-trust span { display: inline-flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; }
.aside-trust i { color: var(--beacon); }

.article-card { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; padding: 14px; align-items: center; }
.article-card img { width: 100%; height: 150px; object-fit: cover; border-radius: 13px; }
.article-card h3 { margin-bottom: 8px; font-family: "Manrope", sans-serif; font-size: 1.2rem; font-weight: 800; line-height: 1.22; color: var(--text); }
.article-card p { color: var(--muted); }

.case-card { padding: 22px; }
.case-card .case-tag { display: inline-flex; align-items: center; gap: 7px; color: var(--beacon); font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 10px; }
.case-card h4 { margin: 0 0 6px; font-family: "Manrope", sans-serif; font-size: 1.08rem; font-weight: 800; color: var(--text); }
.case-card p { margin: 0; color: var(--muted); }
.case-card .outcome { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; color: var(--beacon); font-weight: 700; font-size: 14px; }

.review-summary { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 22px; align-items: center; }
.score { display: grid; place-items: center; min-height: 160px; border-radius: var(--r); background: linear-gradient(135deg, rgba(235, 166, 58, .12), transparent 70%); border: 1px solid var(--line); text-align: center; gap: 4px; }
.score strong { font-family: "Spectral", serif; font-size: 3rem; line-height: 1; color: var(--text); font-weight: 700; }
.bars { display: grid; gap: 11px; }
.bar { display: grid; grid-template-columns: 36px minmax(0, 1fr) 32px; gap: 9px; align-items: center; color: var(--muted-2); font-family: "JetBrains Mono", monospace; font-weight: 500; font-size: 13px; }
.bar-line { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(159, 177, 198, .12); }
.bar-line span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--beacon-deep), var(--beacon)); }

/* MODAL */
.modal { position: fixed; inset: 0; z-index: 80; display: none; align-items: center; justify-content: center; padding: 18px; background: rgba(7, 13, 22, .66); backdrop-filter: blur(6px); }
.modal.open { display: flex; }
.dialog { width: min(960px, 100%); max-height: min(820px, calc(100vh - 36px)); overflow: hidden; border-radius: 20px; background: var(--ink-2); border: 1px solid var(--line); box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .7); display: flex; flex-direction: column; }
.dialog-head { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.dialog-head h2 { margin-bottom: 0; font-family: "Manrope", sans-serif; font-size: 1.35rem; font-weight: 800; letter-spacing: -.01em; color: var(--text); }
.dialog-head .sub { display: block; margin-top: 3px; color: var(--muted-2); font-family: "JetBrains Mono", monospace; font-size: 12px; letter-spacing: .04em; }

.booking-body { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 0; min-height: 0; flex: 1; overflow: hidden; }
.booking-main { padding: 22px 24px; overflow: auto; }
.booking-rail { border-left: 1px solid var(--line); background: var(--sunken); padding: 22px; overflow: auto; display: flex; flex-direction: column; }

.booking-steps { display: flex; gap: 7px; margin-bottom: 20px; flex-wrap: wrap; }
.booking-step { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted-2); font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.booking-step.active { border-color: rgba(235, 166, 58, .5); background: rgba(235, 166, 58, .12); color: var(--beacon); }
.booking-step.done { border-color: rgba(235, 166, 58, .5); background: rgba(235, 166, 58, .12); color: var(--beacon); }

.booking-view { display: none; }
.booking-view.active { display: block; }
.view-title { font-family: "Manrope", sans-serif; font-size: 1.25rem; font-weight: 800; margin-bottom: 5px; color: var(--text); }
.view-note { color: var(--muted); margin-bottom: 18px; font-size: .94rem; }

.booking-options { display: grid; gap: 12px; }
.option { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--sunken); text-align: left; align-items: center; transition: border-color .16s ease; }
.option:hover { border-color: rgba(235, 166, 58, .5); }
.option.active { border-color: var(--beacon); box-shadow: 0 0 0 3px rgba(235, 166, 58, .14); background: rgba(235, 166, 58, .06); }
.option strong { font-size: 1rem; color: var(--text); font-weight: 700; }
.option .opt-price { color: var(--beacon); font-family: "Spectral", serif; font-weight: 700; font-size: 1.05rem; white-space: nowrap; }
.option span { grid-column: 1 / -1; color: var(--muted); font-size: 13px; }

.slot-day { margin-bottom: 16px; }
.slot-day h4 { margin: 0 0 9px; font-family: "JetBrains Mono", monospace; font-size: 12px; color: var(--muted-2); font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.time-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.time-btn { min-height: 48px; border: 1px solid var(--line); border-radius: 12px; background: var(--sunken); color: var(--text); font-family: "JetBrains Mono", monospace; font-weight: 500; }
.time-btn:hover { border-color: var(--beacon); }
.time-btn.active { border-color: transparent; background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; font-weight: 700; }
.tz-note { margin-top: 14px; color: var(--muted-2); font-size: 13px; display: inline-flex; align-items: center; gap: 8px; }
.request-link { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--line); }
.request-link button { background: none; border: 0; color: var(--beacon); font-weight: 700; text-decoration: underline; padding: 0; }

.reserve-banner { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; padding: 13px 16px; border-radius: 13px; background: rgba(235, 166, 58, .1); border: 1px solid rgba(235, 166, 58, .35); color: var(--beacon-bright); font-weight: 700; font-size: 14px; }
.reserve-banner i { font-size: 18px; }
.reserve-banner .count { margin-left: auto; font-family: "JetBrains Mono", monospace; font-variant-numeric: tabular-nums; color: var(--beacon); }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.field { display: grid; gap: 8px; color: var(--muted-2); font-family: "JetBrains Mono", monospace; font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.field.full { grid-column: 1 / -1; }
.field .opt { color: var(--muted-2); text-transform: none; letter-spacing: 0; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 12px; padding: 0 14px; outline: none; background: rgba(15, 26, 43, .6); color: var(--text); font-family: "Manrope", sans-serif; font-size: 1rem; letter-spacing: 0; text-transform: none; }
.field input::placeholder, .field textarea::placeholder { color: var(--muted-2); }
.field textarea { min-height: 96px; padding-top: 13px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--beacon); box-shadow: 0 0 0 3px rgba(235, 166, 58, .12); }
.consent { display: flex; align-items: flex-start; gap: 11px; grid-column: 1 / -1; font-family: "Manrope", sans-serif; font-size: .92rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--muted); }
.consent input { width: 20px; min-height: 20px; height: 20px; margin-top: 2px; flex: 0 0 auto; accent-color: var(--beacon); }
.consent a { color: var(--beacon); text-decoration: underline; }

.rail-title { font-family: "JetBrains Mono", monospace; font-size: 12px; text-transform: uppercase; letter-spacing: .16em; color: var(--muted-2); font-weight: 500; margin-bottom: 14px; }
.rail-expert { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.rail-expert img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; border: 1px solid var(--line); }
.rail-expert b { display: block; font-size: 15px; color: var(--text); }
.rail-expert span { color: var(--muted-2); font-family: "JetBrains Mono", monospace; font-size: 11px; }
.rail-row { display: grid; gap: 3px; padding: 13px 0; border-top: 1px solid var(--line); }
.rail-row .rail-k { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted-2); font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; }
.rail-row .rail-v { font-size: 15px; font-weight: 700; color: var(--text); }
.rail-row .rail-v.empty { color: var(--muted-2); font-weight: 500; font-style: italic; }
.rail-change { background: none; border: 0; color: var(--beacon); font-weight: 600; font-size: 11px; text-decoration: underline; padding: 0; font-family: "Manrope", sans-serif; text-transform: none; }
.rail-total { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); display: flex; align-items: baseline; justify-content: space-between; }
.rail-total span { color: var(--muted); font-weight: 600; }
.rail-total strong { font-family: "Spectral", serif; font-size: 1.7rem; color: var(--beacon); font-weight: 700; }
.rail-pay { margin-top: 10px; color: var(--muted-2); font-size: 12px; display: inline-flex; align-items: center; gap: 8px; }
.rail-pay i { color: var(--beacon); }

.dialog-foot { display: flex; justify-content: space-between; gap: 12px; padding: 16px 24px; border-top: 1px solid var(--line); align-items: center; }
.foot-total { display: none; }

.success { text-align: center; padding: 28px 10px; }
.success-mark { width: 66px; height: 66px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; background: rgba(235, 166, 58, .12); color: var(--beacon); font-size: 32px; border: 1px solid rgba(235, 166, 58, .4); }
.success h3 { font-family: "Manrope", sans-serif; font-size: 1.5rem; font-weight: 800; margin-bottom: 9px; color: var(--text); }
.success p { color: var(--muted); max-width: 460px; margin: 0 auto 22px; }
.success-card { max-width: 460px; margin: 0 auto 22px; text-align: left; border: 1px solid var(--line); border-radius: 14px; background: var(--sunken); padding: 18px; display: grid; gap: 14px; }
.success-card .s-row { display: grid; grid-template-columns: 28px 1fr; gap: 12px; align-items: start; color: var(--muted); }
.success-card .s-row i { color: var(--beacon); font-size: 18px; }
.success-card .s-row b { display: block; color: var(--text); font-weight: 700; }

.express-dialog { width: min(440px, 100%); }
.express-body { padding: 10px 24px 24px; }
.express-body .field { margin-bottom: 16px; }
.express-actions { display: grid; gap: 10px; }
.express-actions .btn { height: 60px; }
.express-or { text-align: center; color: var(--muted-2); font-family: "JetBrains Mono", monospace; font-size: 12px; letter-spacing: .04em; margin: 14px 0; }
.express-trust { margin-top: 16px; display: grid; gap: 10px; }
.express-trust span { display: inline-flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; }
.express-trust i { color: var(--beacon); }

.mobile-cta { display: none; }

.toast { position: fixed; right: 22px; bottom: 24px; z-index: 90; display: none; max-width: 360px; padding: 15px 17px; border-radius: 14px; color: var(--text); background: var(--ink-2); border: 1px solid rgba(235, 166, 58, .4); box-shadow: var(--shadow); font-weight: 500; }
.toast.show { display: block; }

@media (max-width: 1060px) {
  .command-inner, .catalog-layout, .profile-grid { grid-template-columns: 1fr; }
  .side-panel, .profile-aside { position: static; }
  .profile-hero { grid-template-columns: .72fr 1fr; }
  .booking-card { grid-column: 1 / -1; }
  .proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .wrap { padding: 0 16px; }
  .topline-inner { font-size: 12px; }
  .topline-inner .t-mail { display: none; }
  .nav { min-height: 58px; padding: 10px 0; }
  .brand-copy > span { display: none; }
  .nav-links { display: none; position: absolute; top: 58px; left: 0; right: 0; flex-direction: column; align-items: flex-start; gap: 0; padding: 8px 16px 16px; background: var(--ink-2); border-bottom: 1px solid var(--line); box-shadow: 0 20px 44px -16px rgba(0, 0, 0, .65); }
  .nav-links.open { display: flex; }
  .nav-links a { width: 100%; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .nav-toggle { display: inline-flex; }
  .nav-actions .btn-login { display: none; }
  .command-inner { padding: 26px 18px; }
  .search-panel { grid-template-columns: 1fr; }
  .section-head { align-items: flex-start; flex-direction: column; }
  .service-grid, .booking-options, .form-grid, .profile-hero, .review-summary, .article-card { grid-template-columns: 1fr; }
      .expert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
      .product-body { padding: 12px; }
      .product-foot .btn span, .product-foot .btn { font-size: 12px; }
      .side-panel { grid-template-columns: 1fr; }
      .side-panel-header { border-right: 0; border-bottom: 1px solid var(--line); }
      .side-trust { border-left: 0; border-top: 1px solid var(--line); }
      .steps { grid-template-columns: 1fr; }
  .portrait { min-height: 300px; }
  .proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .time-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .expert-actions { grid-template-columns: 1fr 1fr; }

  .page { padding-bottom: 96px; }
  .mobile-cta { display: flex; position: fixed; inset: auto 0 0 0; z-index: 60; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(14, 26, 43, .92); backdrop-filter: blur(12px); border-top: 1px solid var(--line); }
  .mobile-cta .btn { flex: 1; height: 52px; border-radius: 14px; }

  .dialog { max-height: calc(100vh - 24px); }
  .booking-body { grid-template-columns: 1fr; }
  .booking-rail { display: none; }
  .dialog-foot { flex-direction: column-reverse; align-items: stretch; }
  .dialog-foot .btn { width: 100%; }
  .foot-total { display: flex; align-items: baseline; justify-content: space-between; padding: 4px 2px 8px; }
  .foot-total span { color: var(--muted); font-size: 13px; }
  .foot-total strong { font-family: "Spectral", serif; font-size: 1.4rem; color: var(--beacon); }
}

/* ---- inline SVG icons (no webfont dependency) ---- */
.bi { display: inline-flex; align-items: center; justify-content: center; vertical-align: -.125em; }
.bi::before { content: ""; display: inline-block; width: 1em; height: 1em; background-color: currentColor; -webkit-mask: var(--bi) no-repeat center / contain; mask: var(--bi) no-repeat center / contain; }
.bi-alarm { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9z'/%3E%3Cpath d='M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1zm1.038 3.018a6 6 0 0 1 .924 0 6 6 0 1 1-.924 0M0 3.5c0 .753.333 1.429.86 1.887A8.04 8.04 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5M13.5 1c-.753 0-1.429.333-1.887.86a8.04 8.04 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1'/%3E%3C/svg%3E"); }
.bi-arrow-counterclockwise { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2z'/%3E%3Cpath d='M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466'/%3E%3C/svg%3E"); }
.bi-award { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M9.669.864 8 0 6.331.864l-1.858.282-.842 1.68-1.337 1.32L2.6 6l-.306 1.854 1.337 1.32.842 1.68 1.858.282L8 12l1.669-.864 1.858-.282.842-1.68 1.337-1.32L13.4 6l.306-1.854-1.337-1.32-.842-1.68zm1.196 1.193.684 1.365 1.086 1.072L12.387 6l.248 1.506-1.086 1.072-.684 1.365-1.51.229L8 10.874l-1.355-.702-1.51-.229-.684-1.365-1.086-1.072L3.614 6l-.25-1.506 1.087-1.072.684-1.365 1.51-.229L8 1.126l1.356.702z'/%3E%3Cpath d='M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1z'/%3E%3C/svg%3E"); }
.bi-camera-video { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M0 5a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 4.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 13H2a2 2 0 0 1-2-2zm11.5 5.175 3.5 1.556V4.269l-3.5 1.556zM2 4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h7.5a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1z'/%3E%3C/svg%3E"); }
.bi-cash-coin { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M11 15a4 4 0 1 0 0-8 4 4 0 0 0 0 8m5-4a5 5 0 1 1-10 0 5 5 0 0 1 10 0'/%3E%3Cpath d='M9.438 11.944c.047.596.518 1.06 1.363 1.116v.44h.375v-.443c.875-.061 1.386-.529 1.386-1.207 0-.618-.39-.936-1.09-1.1l-.296-.07v-1.2c.376.043.614.248.671.532h.658c-.047-.575-.54-1.024-1.329-1.073V8.5h-.375v.45c-.747.073-1.255.522-1.255 1.158 0 .562.378.92 1.007 1.066l.248.061v1.272c-.384-.058-.639-.27-.696-.563h-.668zm1.36-1.354c-.369-.085-.569-.26-.569-.522 0-.294.216-.514.572-.578v1.1zm.432.746c.449.104.655.272.655.569 0 .339-.257.571-.709.614v-1.195z'/%3E%3Cpath d='M1 0a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h4.083q.088-.517.258-1H3a2 2 0 0 0-2-2V3a2 2 0 0 0 2-2h10a2 2 0 0 0 2 2v3.528c.38.34.717.728 1 1.154V1a1 1 0 0 0-1-1z'/%3E%3Cpath d='M9.998 5.083 10 5a2 2 0 1 0-3.132 1.65 6 6 0 0 1 3.13-1.567'/%3E%3C/svg%3E"); }
.bi-chat-left-text { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z'/%3E%3Cpath d='M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5M3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6m0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5'/%3E%3C/svg%3E"); }
.bi-check-circle-fill { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z'/%3E%3C/svg%3E"); }
.bi-check-lg { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425z'/%3E%3C/svg%3E"); }
.bi-check2-circle { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8a5.5 5.5 0 0 1 8.25-4.764.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0 5.5 5.5 0 1 1-11 0'/%3E%3Cpath d='M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0z'/%3E%3C/svg%3E"); }
.bi-clock-history { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8.515 1.019A7 7 0 0 0 8 1V0a8 8 0 0 1 .589.022zm2.004.45a7 7 0 0 0-.985-.299l.219-.976q.576.129 1.126.342zm1.37.71a7 7 0 0 0-.439-.27l.493-.87a8 8 0 0 1 .979.654l-.615.789a7 7 0 0 0-.418-.302zm1.834 1.79a7 7 0 0 0-.653-.796l.724-.69q.406.429.747.91zm.744 1.352a7 7 0 0 0-.214-.468l.893-.45a8 8 0 0 1 .45 1.088l-.95.313a7 7 0 0 0-.179-.483m.53 2.507a7 7 0 0 0-.1-1.025l.985-.17q.1.58.116 1.17zm-.131 1.538q.05-.254.081-.51l.993.123a8 8 0 0 1-.23 1.155l-.964-.267q.069-.247.12-.501m-.952 2.379q.276-.436.486-.908l.914.405q-.24.54-.555 1.038zm-.964 1.205q.183-.183.35-.378l.758.653a8 8 0 0 1-.401.432z'/%3E%3Cpath d='M8 1a7 7 0 1 0 4.95 11.95l.707.707A8.001 8.001 0 1 1 8 0z'/%3E%3Cpath d='M7.5 3a.5.5 0 0 1 .5.5v5.21l3.248 1.856a.5.5 0 0 1-.496.868l-3.5-2A.5.5 0 0 1 7 9V3.5a.5.5 0 0 1 .5-.5'/%3E%3C/svg%3E"); }
.bi-envelope-paper { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M4 0a2 2 0 0 0-2 2v1.133l-.941.502A2 2 0 0 0 0 5.4V14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V5.4a2 2 0 0 0-1.059-1.765L14 3.133V2a2 2 0 0 0-2-2zm10 4.267.47.25A1 1 0 0 1 15 5.4v.817l-1 .6zm-1 3.15-3.75 2.25L8 8.917l-1.25.75L3 7.417V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1zm-11-.6-1-.6V5.4a1 1 0 0 1 .53-.882L2 4.267zm13 .566v5.734l-4.778-2.867zm-.035 6.88A1 1 0 0 1 14 15H2a1 1 0 0 1-.965-.738L8 10.083zM1 13.116V7.383l4.778 2.867L1 13.117Z'/%3E%3C/svg%3E"); }
.bi-file-earmark-check { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M10.854 7.854a.5.5 0 0 0-.708-.708L7.5 9.793 6.354 8.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0z'/%3E%3Cpath d='M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2M9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z'/%3E%3C/svg%3E"); }
.bi-folder2-open { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M1 3.5A1.5 1.5 0 0 1 2.5 2h2.764c.958 0 1.76.56 2.311 1.184C7.985 3.648 8.48 4 9 4h4.5A1.5 1.5 0 0 1 15 5.5v.64c.57.265.94.876.856 1.546l-.64 5.124A2.5 2.5 0 0 1 12.733 15H3.266a2.5 2.5 0 0 1-2.481-2.19l-.64-5.124A1.5 1.5 0 0 1 1 6.14zM2 6h12v-.5a.5.5 0 0 0-.5-.5H9c-.964 0-1.71-.629-2.174-1.154C6.374 3.334 5.82 3 5.264 3H2.5a.5.5 0 0 0-.5.5zm-.367 1a.5.5 0 0 0-.496.562l.64 5.124A1.5 1.5 0 0 0 3.266 14h9.468a1.5 1.5 0 0 0 1.489-1.314l.64-5.124A.5.5 0 0 0 14.367 7z'/%3E%3C/svg%3E"); }
.bi-funnel { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2z'/%3E%3C/svg%3E"); }
.bi-globe { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m7.5-6.923c-.67.204-1.335.82-1.887 1.855A8 8 0 0 0 5.145 4H7.5zM4.09 4a9.3 9.3 0 0 1 .64-1.539 7 7 0 0 1 .597-.933A7.03 7.03 0 0 0 2.255 4zm-.582 3.5c.03-.877.138-1.718.312-2.5H1.674a7 7 0 0 0-.656 2.5zM4.847 5a12.5 12.5 0 0 0-.338 2.5H7.5V5zM8.5 5v2.5h2.99a12.5 12.5 0 0 0-.337-2.5zM4.51 8.5a12.5 12.5 0 0 0 .337 2.5H7.5V8.5zm3.99 0V11h2.653c.187-.765.306-1.608.338-2.5zM5.145 12q.208.58.468 1.068c.552 1.035 1.218 1.65 1.887 1.855V12zm.182 2.472a7 7 0 0 1-.597-.933A9.3 9.3 0 0 1 4.09 12H2.255a7 7 0 0 0 3.072 2.472M3.82 11a13.7 13.7 0 0 1-.312-2.5h-2.49c.062.89.291 1.733.656 2.5zm6.853 3.472A7 7 0 0 0 13.745 12H11.91a9.3 9.3 0 0 1-.64 1.539 7 7 0 0 1-.597.933M8.5 12v2.923c.67-.204 1.335-.82 1.887-1.855q.26-.487.468-1.068zm3.68-1h2.146c.365-.767.594-1.61.656-2.5h-2.49a13.7 13.7 0 0 1-.312 2.5m2.802-3.5a7 7 0 0 0-.656-2.5H12.18c.174.782.282 1.623.312 2.5zM11.27 2.461c.247.464.462.98.64 1.539h1.835a7 7 0 0 0-3.072-2.472c.218.284.418.598.597.933M10.855 4a8 8 0 0 0-.468-1.068C9.835 1.897 9.17 1.282 8.5 1.077V4z'/%3E%3C/svg%3E"); }
.bi-headset { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a5 5 0 0 0-5 5v1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a6 6 0 1 1 12 0v6a2.5 2.5 0 0 1-2.5 2.5H9.366a1 1 0 0 1-.866.5h-1a1 1 0 1 1 0-2h1a1 1 0 0 1 .866.5H11.5A1.5 1.5 0 0 0 13 12h-1a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1V6a5 5 0 0 0-5-5'/%3E%3C/svg%3E"); }
.bi-list { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5'/%3E%3C/svg%3E"); }
.bi-lock-fill { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 0a4 4 0 0 1 4 4v2.05a2.5 2.5 0 0 1 2 2.45v5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 13.5v-5a2.5 2.5 0 0 1 2-2.45V4a4 4 0 0 1 4-4m0 1a3 3 0 0 0-3 3v2h6V4a3 3 0 0 0-3-3'/%3E%3C/svg%3E"); }
.bi-patch-check { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10.354 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708 0'/%3E%3Cpath d='m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911z'/%3E%3C/svg%3E"); }
.bi-patch-check-fill { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708'/%3E%3C/svg%3E"); }
.bi-person { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6m2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0m4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4m-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10s-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z'/%3E%3C/svg%3E"); }
.bi-search { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3E"); }
.bi-shield-check { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M5.338 1.59a61 61 0 0 0-2.837.856.48.48 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.7 10.7 0 0 0 2.287 2.233c.346.244.652.42.893.533q.18.085.293.118a1 1 0 0 0 .101.025 1 1 0 0 0 .1-.025q.114-.034.294-.118c.24-.113.547-.29.893-.533a10.7 10.7 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.8 11.8 0 0 1-2.517 2.453 7 7 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7 7 0 0 1-1.048-.625 11.8 11.8 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 63 63 0 0 1 5.072.56'/%3E%3Cpath d='M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0'/%3E%3C/svg%3E"); }
.bi-shield-lock { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M5.338 1.59a61 61 0 0 0-2.837.856.48.48 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.7 10.7 0 0 0 2.287 2.233c.346.244.652.42.893.533q.18.085.293.118a1 1 0 0 0 .101.025 1 1 0 0 0 .1-.025q.114-.034.294-.118c.24-.113.547-.29.893-.533a10.7 10.7 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.8 11.8 0 0 1-2.517 2.453 7 7 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7 7 0 0 1-1.048-.625 11.8 11.8 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 63 63 0 0 1 5.072.56'/%3E%3Cpath d='M9.5 6.5a1.5 1.5 0 0 1-1 1.415l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99a1.5 1.5 0 1 1 2-1.415'/%3E%3C/svg%3E"); }
.bi-star-fill { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z'/%3E%3C/svg%3E"); }
.bi-tags { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M3 2v4.586l7 7L14.586 9l-7-7zM2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586z'/%3E%3Cpath d='M5.5 5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1m0 1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3M1 7.086a1 1 0 0 0 .293.707L8.75 15.25l-.043.043a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 0 7.586V3a1 1 0 0 1 1-1z'/%3E%3C/svg%3E"); }
.bi-telephone-fill { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.68.68 0 0 0 .178.643l2.457 2.457a.68.68 0 0 0 .644.178l2.189-.547a1.75 1.75 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.6 18.6 0 0 1-7.01-4.42 18.6 18.6 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877z'/%3E%3C/svg%3E"); }
.bi-x-lg { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/%3E%3C/svg%3E"); }
.bi-stars { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M7.657 6.247c.11-.33.576-.33.686 0l.645 1.937a2.89 2.89 0 0 0 1.829 1.828l1.936.645c.33.11.33.576 0 .686l-1.937.645a2.89 2.89 0 0 0-1.828 1.829l-.645 1.936a.361.361 0 0 1-.686 0l-.645-1.937a2.89 2.89 0 0 0-1.828-1.828l-1.937-.645a.361.361 0 0 1 0-.686l1.937-.645a2.89 2.89 0 0 0 1.828-1.828zM3.794 1.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387A1.73 1.73 0 0 0 4.593 5.69l-.387 1.162a.217.217 0 0 1-.412 0L3.407 5.69A1.73 1.73 0 0 0 2.31 4.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387A1.73 1.73 0 0 0 3.407 2.31zM10.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.16 1.16 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.16 1.16 0 0 0-.732-.732L9.1 2.137a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732z'/%3E%3C/svg%3E"); }

/* ---------------- AI matching assistant ---------------- */
.ai-intake { border: 1px solid rgba(235, 166, 58, .28); border-radius: 16px; background: linear-gradient(180deg, rgba(9, 17, 29, .72), rgba(14, 24, 40, .58)); padding: 16px; max-width: none; width: 100%; }
.ai-head { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; }
.ai-orb { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); box-shadow: 0 6px 18px -6px rgba(235, 166, 58, .55); }
.ai-orb svg { width: 23px; height: 23px; color: #231603; }
.ai-id { display: grid; line-height: 1.2; }
.ai-id b { color: var(--text); font-weight: 800; font-size: .98rem; }
.ai-status { color: var(--muted-2); font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: .02em; display: inline-flex; align-items: center; gap: 7px; }
.ai-status .pulse { width: 7px; height: 7px; background: var(--beacon); }
.ai-status .pulse::after { border-color: var(--beacon); }

.ai-thread { display: flex; flex-direction: column; gap: 9px; min-height: 96px; max-height: 300px; overflow-y: auto; padding: 4px 4px 2px; margin-bottom: 12px; }
.ai-msg { display: flex; }
.ai-msg.bot { justify-content: flex-start; }
.ai-msg.user { justify-content: flex-end; }
.ai-msg .bubble { max-width: 74%; padding: 11px 13px; border-radius: 13px; font-size: .92rem; line-height: 1.45; }
.ai-msg.bot .bubble { background: rgba(255, 255, 255, .05); border: 1px solid var(--line); color: var(--text); border-top-left-radius: 4px; }
.ai-msg.user .bubble { background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; font-weight: 600; border-top-right-radius: 4px; }
.ai-recs { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.ai-recs span { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: rgba(235, 166, 58, .12); border: 1px solid rgba(235, 166, 58, .3); color: var(--beacon-bright); font-size: 12px; font-weight: 700; }
.ai-recs span .bi { color: var(--beacon); }
.bubble.typing { display: inline-flex; gap: 5px; align-items: center; }
.bubble.typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); animation: aiblink 1.2s infinite ease-in-out; }
.bubble.typing span:nth-child(2) { animation-delay: .2s; }
.bubble.typing span:nth-child(3) { animation-delay: .4s; }
@keyframes aiblink { 0%, 60%, 100% { opacity: .25; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }

.ai-form { display: grid; gap: 10px; }
.ai-input-wrap { display: flex; flex-direction: column; gap: 8px; border: 1.5px solid rgba(159, 177, 198, .42); border-radius: 18px; background: #1d2f49; padding: 12px 14px 10px; box-shadow: 0 10px 26px -16px rgba(0, 0, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .05); transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.ai-input-wrap:hover { border-color: rgba(159, 177, 198, .6); background: #20354f; }
.ai-input-wrap:focus-within { border-color: var(--beacon); background: #20354f; box-shadow: 0 0 0 3px rgba(235, 166, 58, .2), 0 10px 26px -16px rgba(0, 0, 0, .8); }
.ai-hint { color: var(--muted); font-size: 18px; align-self: center; flex: 0 0 auto; }
.ai-input-wrap:focus-within .ai-hint { color: var(--beacon); }
.ai-input-wrap textarea { width: 100%; min-height: 44px; max-height: 160px; border: 0; outline: none; resize: none; background: transparent; color: var(--text); font-family: "Manrope", sans-serif; font-size: 1.05rem; line-height: 1.5; padding: 4px 2px; }
.ai-input-wrap textarea::placeholder { color: var(--muted); opacity: 1; }
.ai-send { flex: 0 0 auto; width: 42px; height: 42px; border: 0; border-radius: 50%; display: grid; place-items: center; cursor: pointer; background: var(--ink-3); color: var(--muted); transition: background .15s ease, color .15s ease, transform .15s ease; }
.ai-send .bi { font-size: 19px; }
.ai-send:hover { transform: translateY(-1px); }
.ai-input-wrap.has-text .ai-send { background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; box-shadow: 0 8px 20px -8px rgba(235, 166, 58, .6); }
.ai-quick { display: flex; flex-wrap: wrap; gap: 8px; }
.ai-chip { cursor: pointer; }
.ai-disclaimer { margin: 10px 2px 0; color: var(--muted-2); font-size: 12px; display: inline-flex; align-items: center; gap: 7px; }
.ai-disclaimer .bi { color: var(--beacon); }
.badge.ai { background: linear-gradient(180deg, #2a3f5a, #1c3150); color: var(--beacon-bright); border-color: rgba(235, 166, 58, .45); }

@media (max-width: 760px) {
  .ai-intake { max-width: none; }
  .ai-thread { max-height: 200px; }
}

/* hero trust row (replaces the side card) */
.hero-trust { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.hero-trust li { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: center; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: rgba(8, 16, 27, .35); color: var(--muted); font-size: .92rem; }
.hero-trust i { width: 38px; height: 38px; border-radius: 10px; background: rgba(235, 166, 58, .12); display: grid; place-items: center; color: var(--beacon); font-size: 18px; }
.hero-trust b { color: var(--text); font-weight: 700; }
@media (max-width: 760px) { .hero-trust { grid-template-columns: 1fr; } .command-inner { padding: 22px 16px; } }
.bi-arrow-up { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5'/%3E%3C/svg%3E"); }

/* composer tools: attach + mic + send */
.ai-tools { display: flex; align-items: center; gap: 6px; }
.ai-tools-spacer { flex: 1; }
.ai-tool { width: 38px; height: 38px; border: 0; border-radius: 50%; background: transparent; color: var(--muted); display: grid; place-items: center; cursor: pointer; transition: background .15s ease, color .15s ease; }
.ai-tool .bi { font-size: 18px; }
.ai-tool:hover { background: rgba(159, 177, 198, .14); color: var(--text); }
.ai-tool.active { color: #fff; background: var(--signal); animation: micpulse 1.4s ease-in-out infinite; }
@keyframes micpulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(226, 83, 59, .5); } 50% { box-shadow: 0 0 0 6px rgba(226, 83, 59, 0); } }

.ai-attachments { display: flex; flex-wrap: wrap; gap: 8px; }
.ai-thumb { position: relative; width: 58px; height: 58px; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); background: var(--sunken); }
.ai-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ai-thumb .file-ic { width: 100%; height: 100%; display: grid; place-items: center; color: var(--beacon); }
.ai-thumb .file-ic .bi { font-size: 22px; }
.ai-thumb .rm { position: absolute; top: 3px; right: 3px; width: 19px; height: 19px; border-radius: 50%; border: 0; background: rgba(7, 13, 22, .8); color: #fff; cursor: pointer; font-size: 13px; line-height: 1; display: grid; place-items: center; }
.ai-thumb .rm:hover { background: var(--signal); }

.ai-msg .msg-files { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ai-msg .msg-files img { width: 66px; height: 66px; object-fit: cover; border-radius: 9px; border: 1px solid rgba(0, 0, 0, .25); }
.ai-msg .msg-file { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 8px; background: rgba(0, 0, 0, .14); font-size: 12px; font-weight: 600; }

.bi-paperclip { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0z'/%3E%3C/svg%3E"); }
.bi-mic { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5'/%3E%3Cpath d='M10 8a2 2 0 1 1-4 0V3a2 2 0 1 1 4 0zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3'/%3E%3C/svg%3E"); }
.bi-mic-fill { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M5 3a3 3 0 0 1 6 0v5a3 3 0 0 1-6 0z'/%3E%3Cpath d='M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5'/%3E%3C/svg%3E"); }

/* day tabs + calendar (booking time step & profile slots) */
.day-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.day-tab { min-height: 46px; padding: 0 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--sunken); color: var(--text); font-weight: 700; font-size: .98rem; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.day-tab:hover { border-color: rgba(235, 166, 58, .5); }
.day-tab.active { border-color: var(--beacon); background: rgba(235, 166, 58, .14); color: var(--beacon-bright); }
.day-tab.other { border-style: dashed; color: var(--muted); }
.day-tab.other .bi { font-size: 16px; }
.day-picker { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.slot-more { justify-content: center !important; color: var(--muted) !important; border-style: dashed !important; }
.slot-more .bi { font-size: 16px; }
.bi-calendar3 { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2M1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857z'/%3E%3Cpath d='M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2'/%3E%3C/svg%3E"); }

/* clearer product card (marketplace + retail patterns) */
.product-body { padding: 14px; display: flex; flex-direction: column; gap: 5px; flex: 1; }
.product-name { margin: 0; font-family: "Manrope", sans-serif; font-size: 1.04rem; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; display: flex; align-items: center; gap: 6px; }
.product-name a { color: var(--text); }
.product-name a:hover { color: var(--beacon-bright); }
.verify-chip { color: var(--beacon); font-size: 15px; display: inline-flex; flex: 0 0 auto; }
.rating-row { display: flex; align-items: center; gap: 5px; font-size: 14px; }
.rating-row .bi { color: var(--beacon); font-size: 14px; }
.rating-row b { color: var(--text); font-weight: 800; }
.rating-row .muted { color: var(--muted-2); }
.product-role { margin: 0; color: var(--muted); font-size: 13.5px; line-height: 1.35; }
.meta-row { display: flex; align-items: flex-start; gap: 7px; color: var(--muted); font-size: 12.5px; line-height: 1.35; }
.meta-row .bi { color: var(--beacon); font-size: 15px; flex: 0 0 auto; margin-top: 1px; }
.meta-row b { color: var(--text); font-weight: 700; }
.price-row { display: flex; align-items: baseline; gap: 5px; margin-top: 4px; }
.price-row .from, .price-row .per { color: var(--muted-2); font-size: 12px; }
.price-row strong { font-family: "Spectral", serif; font-size: 1.42rem; font-weight: 700; color: var(--text); }
.btn-block { width: 100%; justify-content: center; margin-top: auto; padding-top: 11px; padding-bottom: 11px; }
@media (max-width: 760px) { .product-name { font-size: 1.04rem; } .price-row strong { font-size: 1.25rem; } }

/* ===== problem picker (plain-language entry) ===== */
.problem-pick { padding-top: 8px; padding-bottom: 8px; }
.problem-title { font-family: "Spectral", serif; font-size: 1.4rem; margin: 0 0 16px; }
.problem-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.problem { display: flex; align-items: center; gap: 12px; text-align: left; min-height: 60px; padding: 0 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--ink-2); color: var(--text); font-weight: 700; font-size: 1rem; cursor: pointer; transition: border-color .15s ease, transform .15s ease, background .15s ease; }
.problem:hover { border-color: rgba(235, 166, 58, .55); transform: translateY(-2px); }
.problem .bi { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 10px; background: rgba(235, 166, 58, .12); color: var(--beacon); display: grid; place-items: center; font-size: 19px; }
.problem.ghost { background: transparent; border-style: dashed; color: var(--muted); font-weight: 600; }
.problem.ghost .bi { background: rgba(159, 177, 198, .12); color: var(--muted); }

/* ===== card pricing (reassuring) ===== */
.tier-line { display: inline-flex; align-items: center; gap: 6px; color: var(--beacon-bright); font-family: "JetBrains Mono", monospace; font-size: 11.5px; font-weight: 500; }
.tier-line .bi { color: var(--beacon); font-size: 13px; }
.price-free { display: inline-flex; align-items: center; gap: 7px; color: var(--beacon-bright); font-weight: 800; font-size: 1.02rem; margin-top: 4px; }
.price-free .bi { color: var(--beacon); font-size: 17px; }
.price-sub { color: var(--muted-2); font-size: 12.5px; margin-top: 1px; }

/* ===== service tags / options ===== */
.service-card { position: relative; }
.svc-tag { position: absolute; top: 12px; right: 12px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; font-family: "JetBrains Mono", monospace; background: rgba(159, 177, 198, .16); color: var(--muted); }
.svc-tag.free { background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; }
.opt-head { display: flex; align-items: center; gap: 8px; }
.opt-tag { padding: 2px 8px; border-radius: 999px; font-size: 10.5px; font-weight: 700; font-family: "JetBrains Mono", monospace; background: rgba(159, 177, 198, .16); color: var(--muted); }
.opt-tag.free { background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; }
.opt-desc { color: var(--muted); }

/* ===== reviews (profile) ===== */
.review-card { border: 1px solid var(--line); border-radius: 14px; background: var(--ink-2); padding: 16px; margin-top: 12px; }
.rv-top { display: flex; align-items: center; gap: 11px; margin-bottom: 9px; }
.rv-avatar { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: rgba(235, 166, 58, .14); color: var(--beacon-bright); font-weight: 800; font-size: 14px; }
.rv-id { display: grid; line-height: 1.2; }
.rv-id strong { color: var(--text); }
.rv-date { color: var(--muted-2); font-size: 12px; }
.rv-stars { margin-left: auto; color: var(--beacon); font-size: 13px; letter-spacing: 1px; }
.rv-stars .bi { font-size: 13px; }
.review-card p { margin: 0; color: var(--text); }

/* ===== testimonials (home) ===== */
.tm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-top: 18px; }
.tm-card { border: 1px solid var(--line); border-radius: var(--r); background: var(--ink-2); padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.tm-card .rv-stars { margin: 0; font-size: 15px; color: var(--beacon); }
.tm-card p { margin: 0; color: var(--text); font-size: 1.02rem; line-height: 1.5; flex: 1; }
.tm-by { display: flex; align-items: center; gap: 11px; }
.tm-by .rv-avatar { width: 42px; height: 42px; }
.tm-by strong { display: block; color: var(--text); }
.tm-by span { color: var(--muted-2); font-size: 12.5px; }

@media (max-width: 620px) { .problem-grid { grid-template-columns: 1fr; } .problem { min-height: 54px; } }
.bi-house-door { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4.5a.5.5 0 0 0 .5-.5v-4h2v4a.5.5 0 0 0 .5.5H14a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293zM2.5 14V7.707l5.5-5.5 5.5 5.5V14H10v-4a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v4z'/%3E%3C/svg%3E"); }
.bi-car-front { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M4 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0m10 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0M6 8a1 1 0 0 0 0 2h4a1 1 0 1 0 0-2zM4.862 4.276 3.906 6.19a.51.51 0 0 0 .497.731c.91-.073 2.35-.17 3.597-.17s2.688.097 3.597.17a.51.51 0 0 0 .497-.731l-.956-1.913A.5.5 0 0 0 10.691 4H5.309a.5.5 0 0 0-.447.276'/%3E%3Cpath d='M2.52 3.515A2.5 2.5 0 0 1 4.82 2h6.362c1 0 1.904.596 2.298 1.515l.792 1.848c.075.175.21.319.38.404.5.25.855.715.965 1.262l.335 1.679q.05.242.049.49v.413c0 .814-.39 1.543-1 1.997V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.338c-1.292.048-2.745.088-4 .088s-2.708-.04-4-.088V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.892c-.61-.454-1-1.183-1-1.997v-.413a2.5 2.5 0 0 1 .049-.49l.335-1.68c.11-.546.465-1.012.964-1.261a.8.8 0 0 0 .381-.404l.792-1.848ZM4.82 3a1.5 1.5 0 0 0-1.379.91l-.792 1.847a1.8 1.8 0 0 1-.853.904.8.8 0 0 0-.43.564L1.03 8.904a1.5 1.5 0 0 0-.03.294v.413c0 .796.62 1.448 1.408 1.484 1.555.07 3.786.155 5.592.155s4.037-.084 5.592-.155A1.48 1.48 0 0 0 15 9.611v-.413q0-.148-.03-.294l-.335-1.68a.8.8 0 0 0-.43-.563 1.8 1.8 0 0 1-.853-.904l-.792-1.848A1.5 1.5 0 0 0 11.18 3z'/%3E%3C/svg%3E"); }
.bi-bank { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='m8 0 6.61 3h.89a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v7a.5.5 0 0 1 .485.38l.5 2a.498.498 0 0 1-.485.62H.5a.498.498 0 0 1-.485-.62l.5-2A.5.5 0 0 1 1 13V6H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 3h.89zM3.777 3h8.447L8 1zM2 6v7h1V6zm2 0v7h2.5V6zm3.5 0v7h1V6zm2 0v7H12V6zM13 6v7h1V6zm2-1V4H1v1zm-.39 9H1.39l-.25 1h13.72z'/%3E%3C/svg%3E"); }
.bi-briefcase { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v8A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5m1.886 6.914L15 7.151V12.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5V7.15l6.614 1.764a1.5 1.5 0 0 0 .772 0M1.5 4h13a.5.5 0 0 1 .5.5v1.616L8.129 7.948a.5.5 0 0 1-.258 0L1 6.116V4.5a.5.5 0 0 1 .5-.5'/%3E%3C/svg%3E"); }

/* ===== video intro (psychology/tutor pattern) ===== */
.portrait { position: relative; }
.portrait-play { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 9px; padding: 8px 14px 8px 8px; border: 0; border-radius: 999px; background: rgba(7, 13, 22, .72); backdrop-filter: blur(8px); color: var(--text); font-weight: 700; font-size: 13px; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.portrait-play:hover { background: rgba(7, 13, 22, .9); transform: translateY(-1px); }
.portrait-play .pp-ic { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; }
.portrait-play .pp-ic .bi { font-size: 15px; margin-left: 1px; }

.media-play { position: absolute; right: 10px; bottom: 10px; z-index: 2; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: rgba(7, 13, 22, .66); backdrop-filter: blur(6px); color: #fff; border: 1px solid rgba(255,255,255,.2); }
.media-play .bi { font-size: 16px; margin-left: 1px; }
.product-media:hover .media-play { background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; border-color: transparent; }

.video-card { max-width: 460px; padding: 0; overflow: hidden; }
.video-poster { position: relative; aspect-ratio: 16 / 11; background: var(--sunken); }
.video-poster img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.video-poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,13,22,.1), rgba(7,13,22,.7)); }
.video-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; width: 66px; height: 66px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; box-shadow: 0 10px 30px -8px rgba(235,166,58,.6); }
.video-play .bi { font-size: 30px; margin-left: 3px; }
.video-demo { position: absolute; right: 12px; bottom: 12px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: rgba(7,13,22,.7); color: var(--muted); font-family: "JetBrains Mono", monospace; font-size: 11px; }
.video-meta { padding: 20px 22px 24px; }
.video-meta h2 { font-family: "Spectral", serif; font-size: 1.4rem; margin: 0 0 8px; }
.video-meta p { margin: 0; color: var(--muted); line-height: 1.55; }

.verify-note { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; color: var(--muted); font-size: 13px; }
.verify-note .bi { color: var(--beacon); font-size: 16px; }
.bi-play-fill { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393'/%3E%3C/svg%3E"); }

/* ===== bottom chat dock (consult anytime; specialists stay in front) ===== */
body { padding-bottom: 80px; }
.chat-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; }
body.modal-open .chat-dock { display: none; }
.dock-inner { max-width: none; margin: 0; width: 100%; }
.dock-bar { background: rgba(14, 26, 43, .96); backdrop-filter: blur(12px); border-top: 1px solid var(--line); box-shadow: 0 -16px 40px -28px rgba(0, 0, 0, .75); padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); }
.dock-bar-inner { display: flex; align-items: stretch; gap: 10px; }
.dock-main { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; min-height: 54px; border: 1px solid var(--line); border-radius: 14px; background: var(--ink-2); padding: 8px 14px; cursor: pointer; text-align: left; color: var(--text); transition: border-color .15s ease, background .15s ease; }
.dock-main:hover { border-color: rgba(235, 166, 58, .55); background: var(--ink-3); }
.dock-orb { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 11px; background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); display: grid; place-items: center; }
.dock-orb svg { width: 22px; height: 22px; color: #231603; }
.dock-text { display: grid; line-height: 1.2; min-width: 0; }
.dock-text b { font-size: .98rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dock-text span { color: var(--muted-2); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dock-caret { margin-left: auto; flex: 0 0 auto; color: var(--muted); transition: transform .2s ease; }
.chat-dock.open .dock-caret { transform: rotate(180deg); }
.dock-sos { flex: 0 0 auto; }
.dock-body { display: none; background: rgba(14, 26, 43, .98); backdrop-filter: blur(14px); border-top: 1px solid var(--line); box-shadow: 0 -24px 50px -28px rgba(0, 0, 0, .8); }
.chat-dock.open .dock-body { display: block; }
.chat-dock.open .dock-bar { display: none; }
.dock-body .dock-inner { padding: 16px; }
.dock-body .ai-thread { max-height: 44vh; }
.dock-body .ai-intake, .dock-body .ai-disclaimer { max-width: none; }
@media (max-width: 620px) {
  .dock-sos span { display: none; }
  .dock-text b { font-size: .9rem; }
  .dock-body .ai-thread { max-height: 50vh; }
}

/* dock header / close */
.dock-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.dock-head-title { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-family: "JetBrains Mono", monospace; font-size: 12px; letter-spacing: .03em; }
.dock-head-title .bi { color: var(--beacon); font-size: 15px; }
.dock-close { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; background: var(--ink-2); color: var(--text); display: grid; place-items: center; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.dock-close:hover { background: var(--ink-3); border-color: rgba(235, 166, 58, .5); }
.dock-close .bi { font-size: 16px; }
.dock-body .dock-inner { max-height: 82vh; overflow-y: auto; }

/* ===== green support dot (operator online) ===== */
.live { display: inline-flex; align-items: center; gap: 7px; }
.live .bi { color: var(--beacon-bright); font-size: 15px; }
.pulse.online { background: #3CC07A; }
.pulse.online::after { border-color: #3CC07A; }

/* ===== finder (dropdown filter, replaces hero) ===== */
.finder { padding-top: 30px; padding-bottom: 14px; }
.finder-title { font-family: "Spectral", serif; font-size: clamp(1.6rem, 3.4vw, 2.25rem); margin: 0 0 18px; }
.finder-card { display: grid; grid-template-columns: 1fr 1.5fr .9fr auto; gap: 12px; align-items: end; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--ink-2); }
.ff { display: grid; gap: 6px; min-width: 0; }
.ff label { font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted-2); }
.select-wrap { position: relative; }
.select-wrap select { width: 100%; appearance: none; -webkit-appearance: none; height: 50px; padding: 0 40px 0 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--sunken); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; }
.select-wrap select:focus { outline: none; border-color: var(--beacon); box-shadow: 0 0 0 3px rgba(235, 166, 58, .2); }
.select-wrap .bi { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; font-size: 13px; }
.finder-go { height: 50px; white-space: nowrap; }
@media (max-width: 760px) { .finder-card { grid-template-columns: 1fr; } }

/* ===== card: specialization + clear hourly price ===== */
.product-spec { margin: 2px 0 0; color: var(--muted); font-size: 12.5px; line-height: 1.35; }
.price-hour { margin-top: auto; padding-top: 8px; color: var(--text); font-weight: 600; font-size: .85rem; display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 6px; }
.price-hour strong { font-family: "Spectral", serif; font-size: 1.2rem; color: var(--beacon-bright); font-weight: 700; }
.price-exp { color: var(--muted); font-weight: 500; font-size: 11.5px; }
.bi-chevron-down { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E"); }

/* ===== HERO (mini-chat first) ===== */
.hero { position: relative; z-index: 0; padding-top: 52px; padding-bottom: 46px; text-align: center; max-width: 880px; }
.hero-title { font-family: "Spectral", serif; font-size: clamp(1.7rem, 4vw, 2.7rem); line-height: 1.12; margin: 0 auto 14px; max-width: 18ch; text-shadow: 0 2px 22px rgba(0,0,0,.55); }
.hero-lead { color: var(--text); font-size: 1.05rem; line-height: 1.5; margin: 0 auto 22px; max-width: 60ch; text-shadow: 0 1px 14px rgba(0,0,0,.5); }
.hero-chat { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 16px; border: 1.5px solid rgba(159,177,198,.42); border-radius: 16px; background: #1d2f49; box-shadow: 0 14px 34px -18px rgba(0,0,0,.8); transition: border-color .15s ease, box-shadow .15s ease; }
.hero-chat:focus-within { border-color: var(--beacon); box-shadow: 0 0 0 3px rgba(235,166,58,.22); }
.hero-chat-ic { color: var(--beacon); font-size: 18px; flex: 0 0 auto; }
.hero-chat input { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--text); font: inherit; font-size: 1rem; padding: 10px 0; outline: none; }
.hero-chat input::placeholder { color: var(--muted-2); }
.hero-chat-send { width: 44px; height: 44px; flex: 0 0 auto; border: 0; border-radius: 12px; background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; display: grid; place-items: center; cursor: pointer; }
.hero-chat-send .bi { font-size: 19px; }
.hero-chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 14px; }
.hero-chip { cursor: pointer; }
.trust-badges { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; text-align: left; }
.trust-badges li { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--ink-2); }
.trust-badges .tb-ic { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: rgba(235,166,58,.14); color: var(--beacon); }
.trust-badges b { display: block; font-size: .98rem; margin-bottom: 3px; }
.trust-badges span { color: var(--muted); font-size: 12.5px; line-height: 1.4; }
@media (max-width: 760px) { .trust-badges { grid-template-columns: 1fr; } }

/* ===== problem tiles with subtitle ===== */
.problem-sub { color: var(--muted); margin: 0 0 16px; }
.problem { align-items: flex-start; min-height: 76px; padding: 14px 16px; gap: 12px; }
.problem .p-ic { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: rgba(235,166,58,.12); color: var(--beacon); }
.problem .p-ic .bi { font-size: 19px; }
.problem.ghost .p-ic { background: rgba(159,177,198,.12); color: var(--muted); }
.problem .p-body { display: grid; gap: 3px; min-width: 0; }
.problem .p-t { font-weight: 700; font-size: 1rem; color: var(--text); }
.problem .p-s { font-weight: 500; font-size: 12.5px; color: var(--muted); line-height: 1.35; }

/* ===== urgent block ===== */
.urgent { padding-top: 6px; }
.urgent-card { display: flex; align-items: center; gap: 22px; justify-content: space-between; padding: 22px 24px; border: 1px solid rgba(226,83,59,.45); border-radius: var(--r); background: linear-gradient(180deg, rgba(226,83,59,.10), rgba(226,83,59,.03)); }
.urgent-text h2 { font-family: "Spectral", serif; font-size: 1.45rem; margin: 0 0 8px; display: flex; align-items: center; gap: 10px; }
.urgent-text h2 .bi { color: var(--signal); }
.urgent-text p { color: var(--muted); margin: 0 0 14px; max-width: 70ch; }
.urgent-quick { display: flex; flex-wrap: wrap; gap: 8px; }
.urgent-go { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 820px) { .urgent-card { flex-direction: column; align-items: stretch; } .urgent-go { width: 100%; } }

/* urgent form */
.urgent-form .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.urgent-form textarea { width: 100%; resize: vertical; border: 1px solid var(--line); border-radius: 12px; background: var(--sunken); color: var(--text); font: inherit; padding: 10px 12px; }
@media (max-width: 520px) { .urgent-form .field-row { grid-template-columns: 1fr; } }
.express-success { text-align: center; padding: 18px 6px; }
.express-success .ok-ic { width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; }
.express-success .ok-ic .bi { font-size: 26px; }
.express-success h3 { margin: 0 0 6px; font-size: 1.3rem; }
.express-success p { color: var(--muted); margin: 0 0 16px; }

/* ===== assistant chat: questions + rec cards ===== */
.ai-questions { margin: 10px 0 0; padding-left: 20px; display: grid; gap: 5px; }
.ai-questions li { color: var(--text); font-size: 14px; }
.ai-rec-cards { display: grid; gap: 10px; margin-top: 12px; }
.ai-rec { display: grid; grid-template-columns: 52px 1fr; gap: 12px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: var(--ink-2); }
.ai-rec img { width: 52px; height: 52px; border-radius: 10px; object-fit: cover; object-position: 50% 22%; }
.ai-rec-info { display: grid; gap: 2px; min-width: 0; }
.ai-rec-info strong { font-size: .98rem; }
.ai-rec-meta { color: var(--beacon-bright); font-size: 12.5px; }
.ai-rec-slot { color: var(--muted); font-size: 12px; display: inline-flex; align-items: center; gap: 5px; }
.ai-rec-actions { grid-column: 1 / -1; display: flex; gap: 8px; }
.ai-rec-actions .btn { flex: 1; }

/* ===== footer ===== */
.site-foot { border-top: 1px solid var(--line); background: #0A1422; margin-top: 36px; }
.foot-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding-top: 24px; padding-bottom: 24px; }
.foot-brand strong { display: block; font-family: "Spectral", serif; font-size: 1.1rem; }
.foot-brand span { color: var(--muted-2); font-size: 13px; }
.foot-links { display: flex; flex-wrap: wrap; gap: 16px; }
.foot-links a { color: var(--muted); text-decoration: none; font-weight: 600; font-size: 14px; }
.foot-links a:hover { color: var(--text); }
.foot-mail { color: var(--beacon-bright); text-decoration: none; font-weight: 700; }

/* ===== hero input tools (attach + mic) ===== */
.hero-chat-tool { width: 40px; height: 40px; flex: 0 0 auto; border: 0; border-radius: 11px; background: transparent; color: var(--muted); display: grid; place-items: center; cursor: pointer; transition: background .15s ease, color .15s ease; }
.hero-chat-tool:hover { background: rgba(159,177,198,.12); color: var(--text); }
.hero-chat-tool .bi { font-size: 18px; }
.hero-chat-tool.active { color: var(--signal); background: rgba(226,83,59,.14); }
.hero-attachments { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 12px; }

/* ===== topline: support button + right group ===== */
.topline-inner { gap: 12px; }
.t-support { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--ink-2); color: var(--text); font: inherit; font-weight: 600; font-size: 13px; padding: 5px 12px; cursor: pointer; }
.t-support:hover { border-color: rgba(60,192,122,.5); }
.t-support .bi { color: var(--beacon-bright); font-size: 14px; }
.t-right { display: inline-flex; align-items: center; gap: 16px; }
.t-link { color: var(--muted); text-decoration: none; font-weight: 600; }
.t-link:hover { color: var(--text); }
.t-langs { color: var(--muted-2); letter-spacing: .06em; text-transform: uppercase; font-size: 12px; }
.t-langs b { color: var(--beacon-bright); }

/* ===== testimonials polish + add-review ===== */
.tm-head { margin-bottom: 22px; }
.tm-head .section-title { margin: 0; }
.tm-sub { color: var(--muted); margin: 4px 0 0; }
.tm-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tm-card { position: relative; padding: 22px 22px 18px; border: 1px solid var(--line); border-radius: var(--r); background: var(--ink-2); overflow: hidden; }
.tm-card::before { content: "\201C"; position: absolute; top: 2px; right: 16px; font-family: "Spectral", serif; font-size: 5rem; line-height: 1; color: rgba(235,166,58,.16); pointer-events: none; }
.tm-card .rv-stars { color: var(--beacon); letter-spacing: 2px; font-size: 14px; }
.tm-card p { margin: 10px 0 16px; line-height: 1.55; position: relative; }
.tm-by { display: flex; align-items: center; gap: 12px; }
.tm-by .rv-avatar { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 14px; flex: none; box-shadow: 0 0 0 2px rgba(255,255,255,.08), inset 0 1px 0 rgba(255,255,255,.18); }
.tm-card:nth-child(1) .rv-avatar { background: linear-gradient(135deg, #3f6fa6, #27496d); }
.tm-card:nth-child(2) .rv-avatar { background: linear-gradient(135deg, #b5793a, #8a4f1c); }
.tm-card:nth-child(3) .rv-avatar { background: linear-gradient(135deg, #4a8f6d, #2f6b4a); }
.tm-actions { text-align: center; margin-top: 26px; }
.tm-actions .btn { min-width: 220px; }
.tm-by strong { display: block; font-size: .95rem; }
.tm-by span { color: var(--muted); font-size: 12.5px; }
@media (max-width: 860px) { .tm-grid { grid-template-columns: 1fr; } }

/* ===== review modal ===== */
.review-body { padding: 20px 22px 22px; }
.review-gate { text-align: center; padding: 8px 4px 4px; display: grid; gap: 10px; justify-items: center; }
.review-gate .gate-ic { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: rgba(159,177,198,.12); color: var(--muted); }
.review-gate .gate-ic .bi { font-size: 22px; }
.review-gate h3 { margin: 2px 0 0; font-size: 1.25rem; }
.review-gate p { color: var(--muted); margin: 0 0 8px; max-width: 42ch; }
.review-gate .btn { max-width: 280px; }
.review-form { display: grid; gap: 14px; }
.rating-pick { display: flex; gap: 4px; }
.rating-pick .star { border: 0; background: transparent; cursor: pointer; font-size: 26px; line-height: 1; color: var(--muted-2); padding: 0; }
.rating-pick .star.on { color: var(--beacon); }
.review-success { text-align: center; padding: 16px 6px; }
.review-success .ok-ic { width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(180deg, var(--beacon), var(--beacon-deep)); color: #231603; }
.review-success .ok-ic .bi { font-size: 26px; }
.review-success h3 { margin: 0 0 6px; }
.review-success p { color: var(--muted); margin: 0 0 16px; }

/* ===== footer (full) ===== */
.site-foot { border-top: 1px solid var(--line); background: #0A1422; margin-top: 40px; }
.foot-top { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1.1fr; gap: 30px; padding-top: 40px; padding-bottom: 30px; }
.foot-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.foot-logo .logo { width: 30px; height: 30px; color: var(--beacon); }
.foot-logo .logo svg { width: 100%; height: 100%; }
.foot-logo strong { font-family: "Spectral", serif; font-size: 1.2rem; }
.foot-about p { color: var(--muted); line-height: 1.55; margin: 0 0 14px; max-width: 42ch; font-size: 14px; }
.foot-status { display: inline-flex; align-items: center; gap: 8px; color: var(--text); font-size: 13px; font-weight: 600; }
.foot-status .bi { color: var(--beacon-bright); }
.foot-col h4 { font-family: "JetBrains Mono", monospace; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-2); margin: 0 0 14px; font-weight: 500; }
.foot-col a, .foot-col .foot-hours { display: block; color: var(--muted); text-decoration: none; font-size: 14px; margin-bottom: 10px; font-weight: 600; }
.foot-col a:hover { color: var(--text); }
.foot-col .foot-hours { color: var(--muted-2); font-weight: 500; }
.foot-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding: 16px 22px; border-top: 1px solid var(--line); color: var(--muted-2); font-size: 12.5px; }
.foot-note { max-width: 60ch; }
@media (max-width: 860px) { .foot-top { grid-template-columns: 1fr 1fr; gap: 24px; } .foot-about { grid-column: 1 / -1; } }
@media (max-width: 520px) { .foot-top { grid-template-columns: 1fr; } }

/* ===== hide bottom assistant on first screen ===== */
body.hide-dock .chat-dock:not(.open) { display: none; }

/* ===== hero collage background (tinted to brand) ===== */
body { overflow-x: clip; }
.hero::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 100vw; z-index: -1; pointer-events: none;
  background:
    radial-gradient(110% 85% at 50% 40%, rgba(14,26,43,.34), transparent 72%),
    radial-gradient(130% 95% at 50% 0%, rgba(235,166,58,.08), transparent 58%),
    linear-gradient(180deg, rgba(14,26,43,.55) 0%, rgba(14,26,43,.66) 55%, rgba(14,26,43,.92) 100%),
    url("../images/hero-collage.jpg") center/cover no-repeat;
  filter: saturate(.74) contrast(1.03);
  border-bottom: 1px solid var(--line);
}

/* ===== footer service info ===== */
.foot-cats { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 18px; padding-bottom: 14px; border-top: 1px solid var(--line); }
.foot-cats a { color: var(--muted); text-decoration: none; font-weight: 600; font-size: 13.5px; }
.foot-cats a:hover { color: var(--text); }
.foot-cats span { color: var(--muted-2); }
.foot-note-row { padding-bottom: 16px; }
.foot-note-row .foot-note { color: var(--muted-2); font-size: 12.5px; line-height: 1.5; }
.foot-bar { background: #081120; border-top: 1px solid var(--line); }
.foot-bar .foot-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 14px; padding-bottom: 14px; color: var(--muted-2); font-size: 12.5px; }
.pay-methods { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pay { display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 10px; border-radius: 6px; background: #fff; color: #1a2230; font-weight: 800; font-size: 11px; letter-spacing: .02em; }
.pay.visa { color: #1a1f71; font-style: italic; font-family: Georgia, "Times New Roman", serif; }
.pay.mc { padding-left: 8px; }
.pay.mc i { width: 13px; height: 13px; border-radius: 50%; display: inline-block; }
.pay.mc i:first-child { background: #eb001b; }
.pay.mc i:last-child { background: #f79e1b; margin-left: -7px; mix-blend-mode: multiply; }

/* ===== spacing rhythm pass ===== */
.finder { padding-top: 40px; padding-bottom: 26px; }
.problem-pick { padding-top: 46px; }
.urgent { padding-top: 30px; padding-bottom: 10px; }
.testimonials { padding-top: 26px; }
.problem-pick, .urgent, .testimonials, #catalog, .hero { scroll-margin-top: 78px; }

/* ===== testimonials photos + footer payments (senior pass) ===== */
.testimonials { padding-top: 56px; }
.tm-by img.rv-avatar { object-fit: cover; padding: 0; background: none; }
.foot-pay-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 16px 22px; border-top: 1px solid var(--line); }
.foot-copy { display: flex; flex-direction: column; gap: 4px; color: var(--muted-2); font-size: 12.5px; }
.foot-copy .foot-note { max-width: 66ch; }
.foot-pay { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.foot-pay .pay { display: inline-flex; align-items: center; height: 27px; padding: 0 11px; border: 1px solid var(--line); border-radius: 6px; background: var(--ink-2); color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .03em; }
.foot-pay .pay-visa { font-style: italic; color: #d4ddea; letter-spacing: .08em; }

/* ===== topline polish + UA/EN switch ===== */
.t-support .t-op { width: 21px; height: 21px; border-radius: 50%; display: grid; place-items: center; background: rgba(60,192,122,.16); }
.t-support .t-op .bi { color: #3CC07A; font-size: 12px; }
.t-divider { width: 1px; height: 18px; background: var(--line); display: inline-block; }
.t-langs { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--line); border-radius: 999px; background: var(--ink-2); }
.t-langs .lang { border: 0; background: transparent; color: var(--muted); font: inherit; font-weight: 700; font-size: 11.5px; letter-spacing: .04em; padding: 3px 10px; border-radius: 999px; cursor: pointer; }
.t-langs .lang.active { background: var(--ink-3); color: var(--text); }
.t-langs .lang:hover:not(.active) { color: var(--text); }

/* ===== hero eyebrow + accent ===== */
.hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 6px 14px; border: 1px solid var(--line); border-radius: 999px; background: rgba(21,38,60,.55); color: var(--muted); font-family: "JetBrains Mono", monospace; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; }
.hero-eyebrow .bi { color: var(--beacon); font-size: 13px; }
.hero-title { font-weight: 600; letter-spacing: -.015em; max-width: 20ch; text-wrap: balance; }
.hero-title .hl { color: var(--beacon-bright); }

/* ===== services overview carousel ===== */
.services { padding-top: 64px; }
.services-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 32px; align-items: start; }
.services-h { font-family: "Spectral", serif; font-weight: 600; font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.1; margin: 0 0 14px; }
.services-intro p { color: var(--muted); line-height: 1.6; margin: 0 0 22px; max-width: 40ch; }
.services-nav { display: flex; gap: 10px; }
.svc-arrow { width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 50%; background: var(--ink-2); color: var(--text); display: grid; place-items: center; cursor: pointer; transition: border-color .15s ease, color .15s ease; }
.svc-arrow:hover { border-color: var(--beacon); color: var(--beacon-bright); }
.svc-arrow .bi { font-size: 16px; }
#svcPrev .bi { transform: rotate(90deg); }
#svcNext .bi { transform: rotate(-90deg); }
.services-track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 2px 14px; scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
.services-track::-webkit-scrollbar { height: 8px; }
.services-track::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
.svc-card { flex: 0 0 300px; scroll-snap-align: start; padding: 24px; border: 1px solid var(--line); border-radius: var(--r); background: var(--ink-2); display: flex; flex-direction: column; gap: 11px; }
.svc-card .svc-ic { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: rgba(235,166,58,.12); color: var(--beacon); }
.svc-card .svc-ic .bi { font-size: 20px; }
.svc-card h3 { font-family: "Spectral", serif; font-weight: 600; font-size: 1.16rem; margin: 2px 0 0; line-height: 1.2; }
.svc-card p { color: var(--muted); line-height: 1.55; margin: 0; font-size: 14px; }
@media (max-width: 860px) {
  .services-layout { grid-template-columns: 1fr; gap: 20px; }
  .svc-card { flex-basis: 82%; }
}

/* ===== type tabs: icon spacing + availability subline ===== */
.type-tab { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 62px; }
.type-tab > .bi { font-size: 19px; flex: 0 0 auto; }
.type-tab .tab-txt { display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1.12; }
.type-tab .tab-label { font-size: .98rem; }
.type-tab .tab-sub { font-family: "JetBrains Mono", monospace; font-size: 10.5px; font-weight: 500; letter-spacing: .02em; color: var(--muted-2); margin-top: 3px; text-transform: none; }
.type-tab[aria-selected="true"] .tab-sub { color: var(--muted); }
@media (max-width: 600px) { .type-tab { gap: 8px; min-height: 56px; } .type-tab .tab-label { font-size: .9rem; } }

/* ===== back to top (above bottom assistant) ===== */
.back-top { position: fixed; right: 22px; bottom: 96px; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--line); background: var(--ink-2); color: var(--text); display: grid; place-items: center; cursor: pointer; z-index: 65; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; box-shadow: 0 12px 28px -12px rgba(0,0,0,.7); }
.back-top.show { opacity: 1; visibility: visible; transform: none; }
.back-top:hover { border-color: var(--beacon); color: var(--beacon-bright); }
.back-top .bi { font-size: 18px; }
body.modal-open .back-top { display: none; }
@media (max-width: 600px) { .back-top { bottom: 88px; right: 14px; width: 42px; height: 42px; } }
.brand-e { color: var(--beacon-bright); }
/* footer legal links (bottom-right) */
.foot-legal { display: flex; gap: 18px; flex-wrap: wrap; }
.foot-legal a { color: var(--muted); font-size: 12.5px; font-weight: 600; text-decoration: none; }
.foot-legal a:hover { color: var(--text); }
.bi-facebook { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951'/%3E%3C/svg%3E"); }
.bi-instagram { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.9 3.9 0 0 0-1.417.923A3.9 3.9 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.9 3.9 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.9 3.9 0 0 0-.923-1.417A3.9 3.9 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599s.453.546.598.92c.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.5 2.5 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.5 2.5 0 0 1-.92-.598 2.5 2.5 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233s.008-2.388.046-3.231c.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92s.546-.453.92-.598c.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92m-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217m0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334'/%3E%3C/svg%3E"); }
.bi-telegram { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8.287 5.906q-1.168.486-4.666 2.01-.567.225-.595.442c-.03.243.275.339.69.47l.175.055c.408.133.958.288 1.243.294q.39.01.868-.32 3.269-2.206 3.374-2.23c.05-.012.12-.026.166.016s.042.12.037.141c-.03.129-1.227 1.241-1.846 1.817-.193.18-.33.307-.358.336a8 8 0 0 1-.188.186c-.38.366-.664.64.015 1.088.327.216.589.393.85.571.284.194.568.387.936.629q.14.092.27.187c.331.236.63.448.997.414.214-.02.435-.22.547-.82.265-1.417.786-4.486.906-5.751a1.4 1.4 0 0 0-.013-.315.34.34 0 0 0-.114-.217.53.53 0 0 0-.31-.093c-.3.005-.763.166-2.984 1.09'/%3E%3C/svg%3E"); }
.bi-youtube { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.01 2.01 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.01 2.01 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31 31 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.01 2.01 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A100 100 0 0 1 7.858 2zM6.4 5.209v4.818l4.157-2.408z'/%3E%3C/svg%3E"); }
.bi-tiktok { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M9 0h1.98c.144.715.54 1.617 1.235 2.512C12.895 3.389 13.797 4 15 4v2c-1.753 0-3.07-.814-4-1.829V11a5 5 0 1 1-5-5v2a3 3 0 1 0 3 3z'/%3E%3C/svg%3E"); }
/* footer social + review actions */
.foot-social { display: flex; gap: 10px; margin-top: 16px; }
.foot-social .soc { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; display: grid; place-items: center; color: var(--muted); background: var(--ink-2); text-decoration: none; transition: color .15s ease, border-color .15s ease; }
.foot-social .soc:hover { color: var(--beacon-bright); border-color: var(--beacon); }
.foot-social .soc .bi { font-size: 17px; }
.tm-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.bi-people { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1zm-7.978-1L7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002-.014.002zM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4m3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0M6.936 9.28a6 6 0 0 0-1.23-.247A7 7 0 0 0 5 9c-4 0-5 3-5 4q0 1 1 1h4.216A2.24 2.24 0 0 1 5 13c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816M4.92 10A5.5 5.5 0 0 0 4 13H1c0-.26.164-1.03.76-1.724.545-.636 1.492-1.256 3.16-1.275ZM1.5 5.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4'/%3E%3C/svg%3E"); }
/* ===== catalog banner + pagination ===== */
.catalog-banner { position: relative; border-radius: var(--r); overflow: hidden; margin: 4px 0 22px; border: 1px solid var(--line); }
.catalog-banner img { width: 100%; height: 160px; object-fit: cover; object-position: 50% 32%; display: block; filter: saturate(.7) brightness(.66); }
.catalog-banner .cap { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 0 30px; background: linear-gradient(90deg, rgba(14,26,43,.9), rgba(14,26,43,.45) 70%, rgba(14,26,43,.25)); }
.catalog-banner .cap b { font-family: "Spectral", serif; font-size: 1.55rem; color: var(--text); line-height: 1.15; }
.catalog-banner .cap span { color: var(--muted); font-size: .95rem; margin-top: 6px; max-width: 560px; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 28px; flex-wrap: wrap; }
.page-btn { min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--line); background: var(--ink-2); color: var(--muted); border-radius: 11px; font: inherit; font-weight: 700; cursor: pointer; transition: color .15s ease, border-color .15s ease, background .15s ease; }
.page-btn:hover:not(:disabled):not(.active) { color: var(--text); border-color: var(--muted-2); }
.page-btn.active { background: var(--beacon); border-color: var(--beacon); color: #1a1206; }
.page-btn:disabled { opacity: .4; cursor: default; }
.page-nav { font-size: 20px; line-height: 1; }
@media (max-width: 600px) { .catalog-banner .cap b { font-size: 1.2rem; } .catalog-banner img { height: 130px; } }

/* ============================================================
   MOBILE FIXES: page overflow guard + darker hero + dock + tabs
   ============================================================ */
/* root guard: nothing may cause horizontal page scroll/zoom-out */
html { overflow-x: hidden; }

/* (1) darker hero on phones (was washed out) */
@media (max-width: 760px) {
  .hero::before {
    background:
      radial-gradient(120% 80% at 50% 34%, rgba(14,26,43,.46), transparent 72%),
      linear-gradient(180deg, rgba(14,26,43,.80) 0%, rgba(14,26,43,.89) 55%, rgba(14,26,43,.98) 100%),
      url("../images/hero-collage.jpg") center/cover no-repeat;
    filter: saturate(.66) contrast(1.02) brightness(.8);
  }
}

/* (2) type tabs never overflow the page: scroll the row on phones */
.type-tab { min-width: 0; }
@media (max-width: 760px) {
  .type-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .type-tabs::-webkit-scrollbar { display: none; }
  .type-tab { flex: 0 0 auto; }
}
@media (max-width: 460px) { .type-tab .tab-sub { display: none; } }

/* (3) bottom assistant dock kept inside the viewport on mobile */
.chat-dock, .chat-dock .dock-inner { max-width: 100%; }
.ai-msg .bubble { overflow-wrap: anywhere; word-break: break-word; }
.ai-quick { overflow-x: hidden; }
@media (max-width: 620px) {
  .dock-bar { padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); }
  .dock-bar-inner { gap: 8px; }
  .dock-main { gap: 9px; padding: 7px 11px; min-height: 50px; }
  .dock-orb { width: 34px; height: 34px; }
  .dock-orb svg { width: 19px; height: 19px; }
  .dock-body .dock-inner { padding: 13px; }
}

/* ===== AI chat: wider bubble on mobile + rec-card buttons that fit ===== */
@media (max-width: 620px) {
  .ai-msg .bubble { max-width: 94%; }
  .ai-msg.bot .bubble { max-width: 96%; }
}
/* rec-card buttons must not break mid-word (overrides bubble word-break) */
.ai-rec-actions .btn { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding-left: 10px; padding-right: 10px; min-width: 0; }
.ai-rec-info strong, .ai-rec-meta, .ai-rec-slot { word-break: normal; overflow-wrap: anywhere; }
@media (max-width: 430px) {
  .ai-rec-actions { flex-direction: column; }
  .ai-rec-actions .btn { width: 100%; flex: none; }
}
