/* =========================================================================
   yourdomain, AI Agency landing site
   Palette: blue → green gradient on white, charcoal text
   No build step. Plain CSS with custom properties.
   ========================================================================= */

:root {
  /* Brand colors */
  --blue: #16C47F;
  --blue-700: #0B8A4C;
  --green: #16C47F;
  --green-600: #0EA85B;
  --green-700: #0B8A4C;
  --lime: #36D267;

  /* Ink / text */
  --ink: #0C130F;
  --body: #46514B;
  --muted: #6A746E;

  /* Surfaces */
  --bg: #FFFFFF;
  --bg-soft: #F4F7F5;
  --bg-ink: #0C130F;
  --line: #E6EBE8;

  /* Brand gradient (vibrant blue -> teal -> green) */
  --grad: linear-gradient(120deg, #19C77D 0%, #0B8A4C 100%);
  --grad-border: linear-gradient(120deg, rgba(25,199,125,.5), rgba(11,138,76,.5));
  --aurora:
    radial-gradient(32% 48% at 16% 24%, rgba(25,199,125,.28), transparent 60%),
    radial-gradient(28% 44% at 84% 26%, rgba(24,199,126,.26), transparent 62%),
    radial-gradient(40% 52% at 60% 82%, rgba(11,138,76,.18), transparent 60%);

  /* Radii */
  --r-sm: 12px;
  --r: 16px;
  --r-lg: 22px;
  --pill: 999px;

  /* Shadows (softer, layered, the "expensive" feel) */
  --shadow-sm: 0 1px 2px rgba(11,18,14,.05), 0 6px 16px -10px rgba(11,18,14,.10);
  --shadow: 0 12px 30px -14px rgba(11,18,14,.16), 0 4px 12px -8px rgba(11,18,14,.08);
  --shadow-lg: 0 36px 70px -28px rgba(11,18,14,.30), 0 12px 28px -18px rgba(11,18,14,.14);
  --glow: 0 14px 32px -12px rgba(24,199,126,.55);
  --glow-blue: 0 14px 30px -12px rgba(11,138,76,.45);

  --container: 1160px;
}

/* ---------------------------------- Reset / base --------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; -webkit-text-size-adjust: 100%; }
body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--body);
  background: var(--bg);
  line-height: 1.65;
  font-size: 1.0625rem;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; cursor: pointer; }
::selection { background: rgba(22,196,127,.22); }

h1, h2, h3, h4 {
  font-family: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
  color: var(--ink);
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 800;
}

:focus-visible {
  outline: 3px solid rgba(22,196,127,.55);
  outline-offset: 2px;
  border-radius: 6px;
}

.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--ink); color: #fff; padding: .7rem 1.1rem;
  border-radius: 0 0 10px 0; z-index: 200; font-weight: 600;
}
.skip-link:focus { left: 0; }

/* ---------------------------------- Layout --------------------------------- */
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: 24px; }
.container--narrow { max-width: 780px; }

.section { padding-block: clamp(56px, 8vw, 104px); }
.section--soft { background: var(--bg-soft); }
.section--ink { background: var(--bg-ink); }

.section-head { text-align: center; max-width: 760px; margin: 0 auto clamp(2rem, 5vw, 3.25rem); }
.section-head h2 { font-size: clamp(1.85rem, 1.2rem + 2.5vw, 2.7rem); }
.section-head__sub { color: var(--body); font-size: 1.1rem; margin-top: .9rem; }
.center { text-align: center; margin-top: 2.25rem; }

.eyebrow {
  display: inline-block; text-transform: uppercase; letter-spacing: .14em;
  font-size: .78rem; font-weight: 800; margin-bottom: .9rem;
  background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.eyebrow--center { display: block; }

.grad-text { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------------------------------- Buttons --------------------------------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  font-weight: 600; font-size: .98rem; line-height: 1; text-decoration: none; white-space: nowrap;
  padding: .85em 1.45em; border-radius: 6px; border: 1px solid transparent;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.btn--sm { padding: .62em 1.05em; font-size: .9rem; }
.btn--lg { padding: 1em 1.7em; font-size: 1.05rem; }
.btn--block { width: 100%; }
.btn--primary { background: var(--grad); background-size: 150% 150%; background-position: 0% 50%; color: #fff; box-shadow: var(--glow); transition: transform .15s ease, box-shadow .25s ease, background-position .5s ease; }
.btn--primary:hover { transform: translateY(-2px); box-shadow: 0 20px 40px -12px rgba(24,199,126,.6), 0 16px 34px -14px rgba(11,138,76,.45); background-position: 100% 50%; }
.btn--primary:active { transform: translateY(0); }
.btn--ghost { background: #fff; color: var(--ink); border-color: var(--line); box-shadow: var(--shadow-sm); }
.btn--ghost:hover { transform: translateY(-2px); border-color: var(--green); color: var(--green-700); }

/* ---------------------------------- Header / nav --------------------------------- */
.site-header {
  position: sticky; top: 0; z-index: 80;
  background: rgba(255,255,255,.82); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent; transition: box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.site-header.scrolled { background: rgba(255,255,255,.94); border-bottom-color: var(--line); box-shadow: 0 6px 24px -16px rgba(11,18,14,.4); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 72px; }

.brand { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; }
.brand__mark { width: 34px; height: 34px; }
.brand__name { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 1.35rem; letter-spacing: -.02em; color: var(--ink); }
.brand__name--accent { color: var(--green-600); }
.brand__dot { color: var(--green); }

.nav { display: flex; align-items: center; gap: 1.6rem; }
.nav a { text-decoration: none; color: var(--body); font-weight: 500; font-size: .95rem; transition: color .2s; }
.nav a:hover { color: var(--ink); }

.site-header__actions { display: flex; align-items: center; gap: .7rem; }
.header-signin { font-weight: 600; font-size: .95rem; color: var(--ink); text-decoration: none; padding: .4rem .5rem; white-space: nowrap; }
.header-signin:hover { color: var(--green-700); }
[data-theme="dark"] .header-signin:hover { color: var(--green); }
.header-phone { display: inline-flex; align-items: center; gap: .4rem; text-decoration: none; color: var(--body); font-weight: 600; font-size: .9rem; transition: color .2s; background: none; border: 0; padding: 0; cursor: pointer; }
.header-phone:hover { color: var(--green-700); }

.nav-toggle { display: none; flex-direction: column; gap: 5px; width: 44px; height: 44px; align-items: center; justify-content: center; background: transparent; border: 1px solid var(--line); border-radius: 12px; }
.nav-toggle span { width: 20px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .25s ease, opacity .2s ease; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-menu { display: none; flex-direction: column; gap: .2rem; padding: 1rem 24px 1.4rem; border-top: 1px solid var(--line); background: #fff; max-height: calc(100dvh - 68px); overflow-y: auto; }
.mobile-menu.open { display: flex; }
.mobile-menu a { text-decoration: none; color: var(--ink); font-weight: 600; padding: .6rem .25rem; border-radius: 10px; }
.mobile-menu a.btn { color: #fff; margin-top: .6rem; }
.mobile-menu__h { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 700; margin: .9rem .25rem .05rem; }
.mobile-menu__h:first-child { margin-top: 0; }
[hidden] { display: none !important; }

/* ---------------------------------- Hero --------------------------------- */
.hero { position: relative; padding-block: clamp(40px, 7vw, 84px); overflow: hidden; }
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: var(--aurora); filter: blur(38px); opacity: .8;
  -webkit-mask-image: radial-gradient(120% 100% at 70% 8%, #000 35%, transparent 82%);
  mask-image: radial-gradient(120% 100% at 70% 8%, #000 35%, transparent 82%);
}
.hero__inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.hero__title { font-size: clamp(2.45rem, 1.1rem + 4.8vw, 4rem); }
.hero__sub { margin-top: 1.25rem; font-size: clamp(1.05rem, 1rem + .4vw, 1.2rem); color: var(--body); max-width: 36ch; }
.hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.hero__micro { margin-top: 1rem; color: var(--muted); font-size: .88rem; font-weight: 500; }
.trust-bar { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; padding: 0; margin-top: 2rem; }
.trust-bar li { position: relative; color: var(--ink); font-weight: 700; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; opacity: .65; }
.trust-bar li:not(:last-child)::after { content: "·"; position: absolute; right: -.85rem; color: var(--muted); }

/* Hero visual */
.hero__visual { position: relative; display: grid; place-items: center; align-self: start; margin-top: -1rem; }
.call-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-lg); padding: 1.4rem; width: min(380px, 100%); display: grid; gap: 1rem; position: relative; z-index: 2; }
.call-card__top { display: flex; align-items: center; gap: .55rem; color: var(--muted); font-size: .85rem; font-weight: 600; }
.status-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 0 rgba(22,196,127,.5); animation: pulse 2s infinite; }
.bubble { background: var(--bg-soft); border-radius: 14px; padding: .9rem 1rem; font-size: .95rem; color: var(--ink); line-height: 1.5; }
.bubble--ai { background: #E9FBF2; border: 1px solid #C9EFD9; }
.bubble__who { display: block; font-size: .7rem; font-weight: 800; color: var(--blue); margin-bottom: .35rem; text-transform: uppercase; letter-spacing: .06em; }
.waveform { display: flex; align-items: center; justify-content: center; gap: 4px; height: 34px; }
.waveform span { width: 4px; height: 30%; border-radius: var(--pill); background: var(--grad); animation: wave 1.1s ease-in-out infinite; }
.waveform span:nth-child(1){animation-delay:-.9s} .waveform span:nth-child(2){animation-delay:-.8s}
.waveform span:nth-child(3){animation-delay:-.7s} .waveform span:nth-child(4){animation-delay:-.6s}
.waveform span:nth-child(5){animation-delay:-.5s} .waveform span:nth-child(6){animation-delay:-.4s}
.waveform span:nth-child(7){animation-delay:-.3s} .waveform span:nth-child(8){animation-delay:-.2s}
.waveform span:nth-child(9){animation-delay:-.1s} .waveform span:nth-child(10){animation-delay:0s}
.booked { display: flex; align-items: center; gap: .8rem; background: #E8FBF1; border: 1px solid #BBEFD3; border-radius: 14px; padding: .8rem 1rem; color: var(--green-700); }
.booked strong { display: block; color: var(--ink); font-size: .95rem; }
.booked span { font-size: .82rem; color: var(--body); }
.floaty { position: absolute; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); border-radius: var(--pill); padding: .5rem .9rem; font-weight: 700; font-size: .85rem; z-index: 3; }
.floaty--1 { top: 6%; left: -2%; color: var(--blue); }
.floaty--2 { bottom: 8%; right: -2%; color: var(--green-700); }

/* ---------------------------------- Interactive background ---------------------------------- */
.bg-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; display: block; }
.hero__inner { position: relative; z-index: 1; }
.has-bg { position: relative; overflow: hidden; }
.has-bg > .container { position: relative; z-index: 1; }

/* ---------------------------------- Nav mega-menu dropdown --------------------------------- */
.nav-drop { position: relative; }
.nav-drop__btn { display: inline-flex; align-items: center; gap: .25rem; background: none; border: 0; padding: 0; margin: 0; font: inherit; font-weight: 500; font-size: .95rem; color: var(--body); cursor: pointer; transition: color .2s; }
.nav-drop__btn:hover { color: var(--ink); }
.nav-drop__menu {
  position: absolute; top: 100%; left: 0; margin-top: 0; min-width: 250px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--r);
  box-shadow: var(--shadow-lg); padding: .5rem; display: flex; flex-direction: column; gap: .1rem; z-index: 90;
  opacity: 0; visibility: hidden; transform: translateY(4px);
  /* stays visible for .35s after the cursor leaves, so you have time to reach it */
  transition: opacity .15s ease, transform .15s ease, visibility 0s linear .35s;
}
/* transparent bridge so there's never a dead spot between the button and the menu */
.nav-drop__menu::before { content: ""; position: absolute; left: 0; right: 0; top: -.6rem; height: .6rem; }
.nav-drop:hover .nav-drop__menu, .nav-drop:focus-within .nav-drop__menu, .nav-drop.open > .nav-drop__menu {
  opacity: 1; visibility: visible; transform: translateY(0);
  transition: opacity .15s ease, transform .15s ease;
}
.nav-drop__menu a { padding: .55rem .7rem; border-radius: 9px; font-size: .92rem; color: var(--body); text-decoration: none; white-space: nowrap; font-weight: 500; }
.nav-drop__menu a:hover { background: var(--bg-soft); color: var(--ink); }
/* grouped mega-menu (2-column grid: Services 2x2, Industries/Tools flow into 2 cols) */
/* width:max-content stops the absolutely-positioned panel from shrinking to the
   button width (which would crush the two columns together). */
.nav-drop__menu--mega { display: grid; grid-template-columns: repeat(2, max-content); gap: 1rem 2.2rem; padding: 1.2rem 1.4rem; width: max-content; min-width: 0; max-width: calc(100vw - 32px); }
.nav-col { display: flex; flex-direction: column; gap: .05rem; min-width: 0; }
.nav-col a { white-space: nowrap; }
.nav-col__h { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 700; margin: 0; padding: .15rem .7rem .4rem; }

/* ---------------------------------- Stats --------------------------------- */
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.1rem; }
.stat-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 1.6rem; box-shadow: var(--shadow-sm); }
.stat-card__num { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: clamp(2rem, 1.4rem + 2vw, 2.6rem); line-height: 1; margin-bottom: .6rem; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat-card__unit { -webkit-text-fill-color: initial; }
.stat-card p { color: var(--body); font-size: .98rem; }
.source-note { text-align: center; color: var(--muted); font-size: .8rem; margin-top: 1.6rem; }
.source-note a { color: var(--green-700); }
/* embed-code box (missed-call calculator) */
.embed-box { display: grid; gap: .9rem; justify-items: start; }
.embed-code { width: 100%; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8rem; line-height: 1.55; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-soft); color: var(--ink); resize: vertical; min-height: 96px; }
[data-theme="dark"] .embed-code { background: #131b17; border-color: var(--line); }

/* ---------------------------------- ROI calculator --------------------------------- */
.roi { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.4rem, 4vw, 2.6rem); box-shadow: var(--shadow); }
.roi__control { margin-bottom: 1.5rem; }
.roi__control:last-child { margin-bottom: 0; }
.roi__control label { display: block; font-weight: 600; font-size: .95rem; color: var(--ink); margin-bottom: .55rem; }
.roi__row { display: flex; align-items: center; gap: 1rem; }
.roi__row output { min-width: 86px; text-align: right; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 1.05rem; color: var(--ink); background: var(--bg-soft); padding: .3rem .6rem; border-radius: 8px; }

input[type="range"] { -webkit-appearance: none; appearance: none; flex: 1; height: 6px; border-radius: var(--pill); background: linear-gradient(var(--green), var(--green)) no-repeat, var(--line); background-size: 35% 100%; outline: none; }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 3px solid var(--green); box-shadow: var(--shadow-sm); cursor: pointer; transition: transform .12s; }
input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.1); }
input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 3px solid var(--green); cursor: pointer; }
input[type="range"]::-moz-range-progress { background: var(--green); height: 6px; border-radius: var(--pill); }

.roi__result { background: var(--grad); color: #fff; border-radius: var(--r); padding: clamp(1.5rem, 4vw, 2.2rem); text-align: center; box-shadow: var(--glow); }
.roi__result-label { opacity: .92; font-weight: 500; font-size: .95rem; }
.roi__big { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: clamp(2.4rem, 6vw, 3.2rem); line-height: 1; margin: .3rem 0; }
.roi__per { opacity: .95; font-size: .92rem; margin-bottom: 1.1rem; }
.roi__recover { background: rgba(255,255,255,.16); border-radius: 12px; padding: .85rem 1rem; font-size: .92rem; margin-bottom: 1.2rem; }
.roi__recover strong { display: block; font-size: 1.15rem; margin-top: .15rem; }
.roi__result .btn--primary { background: #fff; color: var(--green-700); box-shadow: 0 12px 26px -12px rgba(0,0,0,.5); }
.roi__result .btn--primary:hover { box-shadow: 0 18px 32px -12px rgba(0,0,0,.55); }
/* bigger calculator (missed-call-calculator page) */
.roi--lg { max-width: 1000px; margin-inline: auto; padding: clamp(1.8rem, 5vw, 3.4rem); }
.roi--lg .roi__control { margin-bottom: 2rem; }
.roi--lg .roi__control label { font-size: 1.12rem; margin-bottom: .8rem; }
.roi--lg .roi__row { gap: 1.3rem; }
.roi--lg .roi__row output { min-width: 110px; font-size: 1.4rem; padding: .45rem .85rem; }
.roi--lg .roi__result { padding: clamp(2rem, 5vw, 3rem); }
.roi--lg .roi__result-label { font-size: 1.12rem; }
.roi--lg .roi__big { font-size: clamp(3.4rem, 9vw, 5.4rem); }
.roi--lg .roi__per { font-size: 1.08rem; margin-bottom: 1.5rem; }
.roi--lg .roi__recover { font-size: 1.05rem; padding: 1.1rem 1.2rem; }
.roi--lg .roi__recover strong { font-size: 1.7rem; }
.roi--lg .roi__result .btn { font-size: 1.1rem; padding: 1rem 1.2rem; }

/* ---------------------------------- Features --------------------------------- */
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.2rem; }
.feature { background: linear-gradient(#fff,#fff) padding-box, var(--grad-border) border-box; border: 1.5px solid transparent; border-radius: var(--r); padding: 1.6rem; box-shadow: var(--shadow-sm); transition: transform .2s ease, box-shadow .25s ease, background .3s ease; }
.feature:hover { transform: translateY(-5px); box-shadow: var(--shadow), 0 22px 44px -24px rgba(24,199,126,.45); background: linear-gradient(#fff,#fff) padding-box, var(--grad) border-box; }
.feature__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: #E8FBF1; color: var(--green-600); margin-bottom: 1rem; }
.feature__icon svg { width: 24px; height: 24px; }
.feature h3 { font-size: 1.12rem; margin-bottom: .4rem; }
.feature p { color: var(--body); font-size: .95rem; }

/* ---------------------------------- Steps --------------------------------- */
.steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; counter-reset: step; }
.steps--4 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 1100px) { .steps--4 { grid-template-columns: repeat(4, 1fr); } .steps--4 .step { padding: 1.4rem; } }
.step { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 1.8rem; box-shadow: var(--shadow-sm); }
.step__num { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--grad); color: #fff; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 1.2rem; margin-bottom: 1rem; box-shadow: var(--glow); }
.step h3 { font-size: 1.15rem; margin-bottom: .45rem; }
.step p { color: var(--body); font-size: .97rem; }

/* ---------------------------------- Tabs (industries) --------------------------------- */
.tabs__list { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: center; margin-bottom: 1.6rem; }
.tab { padding: .68rem 1.2rem; border-radius: var(--pill); border: 1px solid var(--line); background: #fff; color: var(--body); font-weight: 600; font-size: .95rem; transition: all .2s ease; }
.tab:hover { border-color: var(--green); color: var(--green-700); }
.tab[aria-selected="true"] { background: var(--grad); color: #fff; border-color: transparent; box-shadow: var(--glow); }
.tab-panel { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.5rem, 4vw, 2.6rem); box-shadow: var(--shadow-sm); }
.tab-panel h3 { font-size: clamp(1.3rem, 1rem + 1.3vw, 1.65rem); margin-bottom: .6rem; }
.tab-panel > p { color: var(--body); max-width: 62ch; margin-bottom: 1.3rem; }

.ticks { list-style: none; padding: 0; display: grid; gap: .55rem; }
.ticks li { position: relative; padding-left: 1.85rem; color: var(--body); }
.ticks li::before { content: "✓"; position: absolute; left: 0; color: var(--green-600); font-weight: 800; }
.ticks--lg li { font-size: 1.02rem; }

/* ---------------------------------- Compare --------------------------------- */
.compare-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; align-items: stretch; }
.compare-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 1.8rem; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; }
.compare-card--featured { border: 2px solid transparent; background: linear-gradient(#fff,#fff) padding-box, var(--grad) border-box; box-shadow: var(--shadow-lg); transform: translateY(-6px); }
.compare-card h3 { font-size: 1.15rem; margin-bottom: .4rem; }
.compare-card__price { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 1.7rem; color: var(--ink); margin-bottom: 1.1rem; }
.compare-card__price span { display: block; font-size: .82rem; color: var(--muted); font-weight: 600; }
.compare-card--featured .compare-card__price { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.compare-card--featured .compare-card__price span { -webkit-text-fill-color: var(--muted); }
.compare-card__badge { align-self: flex-start; background: var(--grad); color: #fff; font-weight: 700; font-size: .8rem; padding: .35rem .85rem; border-radius: var(--pill); margin-bottom: 1rem; }
.x-list, .tick-list { list-style: none; padding: 0; display: grid; gap: .5rem; margin-bottom: 1.2rem; }
.x-list li, .tick-list li { position: relative; padding-left: 1.7rem; color: var(--body); font-size: .96rem; }
.x-list li::before { content: "✕"; position: absolute; left: 0; color: #C0556B; font-weight: 700; }
.tick-list li::before { content: "✓"; position: absolute; left: 0; color: var(--green-600); font-weight: 800; }
.tick-list { margin-top: auto; }
.compare-card .btn { margin-top: auto; }
.why-custom { max-width: 780px; margin: 2.2rem auto 0; text-align: center; color: var(--body); background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--r); padding: 1.4rem 1.6rem; }

/* ---------------------------------- Founding clients --------------------------------- */
.founding { text-align: center; background: var(--grad); color: #fff; border-radius: var(--r-lg); padding: clamp(2rem, 6vw, 4rem) clamp(1.2rem, 5vw, 3rem); box-shadow: var(--shadow-lg); }
.founding .eyebrow { background: none; -webkit-text-fill-color: rgba(255,255,255,.92); color: rgba(255,255,255,.92); }
.founding h2 { color: #fff; max-width: 18ch; margin: 0 auto; }
.founding__sub { color: rgba(255,255,255,.92); max-width: 60ch; margin: 1rem auto 0; }
.trust-signals { list-style: none; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin: 1.6rem auto; }
.trust-signals li { display: inline-flex; align-items: center; gap: .5rem; background: rgba(255,255,255,.16); padding: .5rem .95rem; border-radius: var(--pill); font-weight: 600; font-size: .9rem; }
.founding .btn--primary { background: #fff; color: var(--green-700); }
.founding .btn--primary:hover { box-shadow: 0 18px 34px -14px rgba(0,0,0,.45); }

.testimonials { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.2rem; margin-top: 2rem; }
.testimonial { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 1.6rem; box-shadow: var(--shadow-sm); }
.testimonial blockquote { font-size: 1.05rem; color: var(--ink); font-weight: 500; }
.testimonial figcaption { margin-top: .8rem; color: var(--muted); font-size: .9rem; }

/* ---------------------------------- Offer (dark) --------------------------------- */
.offer { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.offer h2 { color: #fff; font-size: clamp(1.85rem, 1.2rem + 2.5vw, 2.7rem); }
.offer__lead { color: rgba(255,255,255,.78); margin: 1rem 0 1.7rem; max-width: 46ch; font-size: 1.1rem; }
.eyebrow--on-dark { /* gradient eyebrow stays visible on dark */ }
.offer__list { list-style: none; padding: 0; display: grid; gap: .75rem; }
.offer__list li { position: relative; padding-left: 2.2rem; color: rgba(255,255,255,.92); font-size: 1.05rem; }
.offer__list li::before { content: "✓"; position: absolute; left: 0; top: .12em; width: 1.5rem; height: 1.5rem; background: var(--grad); color: #fff; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 800; }

/* ---------------------------------- FAQ --------------------------------- */
.faq-item { border: 1px solid var(--line); border-radius: var(--r); margin-bottom: .8rem; background: #fff; box-shadow: var(--shadow-sm); overflow: hidden; }
.faq-item summary { list-style: none; cursor: pointer; padding: 1.1rem 1.3rem; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; color: var(--ink); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 1.5rem; color: var(--green-600); font-weight: 400; line-height: 1; flex-shrink: 0; }
.faq-item[open] summary::after { content: "–"; }
.faq-item[open] { border-color: #CFE7DA; }
.faq-item__body { padding: 0 1.3rem 1.2rem; color: var(--body); }

/* ---------------------------------- Demo / form --------------------------------- */
.section--demo { background: linear-gradient(180deg, var(--bg-soft), #fff); }
.demo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.demo__pitch h2 { font-size: clamp(1.85rem, 1.2rem + 2.5vw, 2.6rem); }
.demo__sub { color: var(--body); font-size: 1.1rem; margin: .9rem 0 1.5rem; }
.demo__assure { display: flex; align-items: flex-start; gap: .6rem; margin-top: 1.5rem; color: var(--muted); font-size: .9rem; }
.demo__assure svg { color: var(--green-600); flex-shrink: 0; margin-top: .1rem; }

.demo__form-wrap { }
.lead-form { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.4rem, 4vw, 2.2rem); box-shadow: var(--shadow-lg); }
.hp { position: absolute; left: -9999px; }
.form-progress { height: 6px; background: var(--line); border-radius: var(--pill); overflow: hidden; }
.form-progress__bar { display: block; height: 100%; width: 50%; background: var(--grad); border-radius: var(--pill); transition: width .35s ease; }
.form-step-label { font-size: .85rem; color: var(--muted); font-weight: 600; margin: .7rem 0 1.2rem; }

.field { margin-bottom: 1rem; }
.field label { display: block; font-weight: 600; font-size: .9rem; color: var(--ink); margin-bottom: .4rem; }
.field .optional { color: var(--muted); font-weight: 400; }
.field input, .field select {
  width: 100%; padding: .82rem .9rem; font: inherit; font-size: 1rem; color: var(--ink);
  background: #fff; border: 1px solid #D9E0DC; border-radius: 12px; transition: border-color .2s, box-shadow .2s;
}
.field input::placeholder { color: #AAB4AE; }
.field input:focus, .field select:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 4px rgba(22,196,127,.15); }
.field.invalid input, .field.invalid select { border-color: #E5484D; box-shadow: 0 0 0 4px rgba(229,72,77,.13); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-actions { display: flex; gap: .75rem; align-items: center; }
.form-actions .btn[type="submit"] { flex: 1; }
.form-micro { font-size: .82rem; color: var(--muted); text-align: center; margin-top: 1.1rem; }
.form-error { margin-top: .9rem; color: #B42318; background: #FEF3F2; border: 1px solid #FECDCA; border-radius: 10px; padding: .65rem .85rem; font-size: .9rem; font-weight: 500; }

/* ---------------------------------- Footer --------------------------------- */
.site-footer { background: var(--bg-ink); color: rgba(255,255,255,.7); padding-top: clamp(48px, 7vw, 80px); }
.site-footer__inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2.5rem; padding-bottom: 2.2rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.brand--footer .brand__name { color: #fff; }
.brand--footer .brand__name--accent { color: var(--lime); }
.brand--footer .brand__dot { color: var(--lime); }
.site-footer__brand p { margin-top: 1rem; max-width: 44ch; color: rgba(255,255,255,.6); font-size: .95rem; }
.site-footer__links { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.site-footer__links h4 { color: #fff; font-size: .95rem; margin-bottom: .9rem; }
.site-footer__links a { display: block; color: rgba(255,255,255,.7); text-decoration: none; padding: .3rem 0; font-size: .92rem; transition: color .2s; }
.site-footer__links a:hover { color: var(--lime); }
.site-footer__bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .6rem; padding: 1.4rem 0 2rem; font-size: .82rem; color: rgba(255,255,255,.5); }

/* ---------------------------------- Sticky mobile CTA --------------------------------- */
/* Floating call + demo button, every page, slides in after the hero */
.mobile-cta { position: fixed; right: 22px; bottom: 22px; left: auto; z-index: 95; display: flex; align-items: center; gap: .6rem; transform: translateY(160%); opacity: 0; transition: transform .4s cubic-bezier(.2,.75,.25,1), opacity .3s ease; }
.mobile-cta.show { transform: translateY(0); opacity: 1; }
.mobile-cta .btn { box-shadow: var(--shadow-lg); }
.mobile-cta .btn--primary { box-shadow: var(--glow), var(--glow-blue); }
.mobile-cta .btn--ghost { background: #fff; }

/* ---------------------------------- Reveal animation --------------------------------- */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

/* ---------------------------------- Keyframes --------------------------------- */
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(22,196,127,.5); } 70% { box-shadow: 0 0 0 10px rgba(22,196,127,0); } 100% { box-shadow: 0 0 0 0 rgba(22,196,127,0); } }
@keyframes wave { 0%, 100% { height: 25%; } 50% { height: 100%; } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* ---------------------------------- Responsive --------------------------------- */
@media (max-width: 980px) {
  .nav, .header-phone { display: none; }
  .nav-toggle { display: flex; }
  .hero__inner { grid-template-columns: 1fr; }
  .hero__sub { max-width: none; }
  .offer { grid-template-columns: 1fr; }
  .demo { grid-template-columns: 1fr; }
  .demo__form-wrap { order: -1; }
}
@media (max-width: 860px) {
  .roi { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .compare-grid { grid-template-columns: 1fr; }
  .compare-card--featured { transform: none; }
}
@media (max-width: 720px) {
  .mobile-cta { left: 0; right: 0; bottom: 0; gap: .55rem; padding: .7rem 14px calc(.7rem + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid var(--line); box-shadow: 0 -10px 30px -18px rgba(11,18,14,.55); }
  .mobile-cta .btn { flex: 1; box-shadow: none; }
  .mobile-cta .btn--primary { box-shadow: var(--glow); }
  .mobile-cta .btn--ghost { flex: 0 0 auto; }
  .site-footer__inner { grid-template-columns: 1fr; gap: 1.6rem; }
}
@media (max-width: 560px) {
  .site-header__actions .btn { display: none; }
  .header-signin { font-size: .88rem; padding: .3rem .2rem; }
  .field-row { grid-template-columns: 1fr; }
  .floaty { display: none; }
  .trust-bar { gap: .5rem 1.2rem; }
  .container { padding-inline: 26px; }
  .stat-grid { grid-template-columns: 1fr; }
  .stat-card { padding: 1.35rem 1.3rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* ---- breadcrumbs + related (topical-map internal linking) ---- */
.breadcrumb { border-bottom: 1px solid var(--line); background: var(--bg); }
.breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; padding: .7rem 0; font-size: .85rem; }
.breadcrumb li { display: flex; align-items: center; gap: .5rem; color: var(--muted); }
.breadcrumb li + li::before { content: "\203A"; color: var(--muted); }
.breadcrumb a { color: var(--green-700); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb [aria-current="page"] { color: var(--body); }
.rel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .8rem; }
.rel { display: block; padding: .9rem 1.1rem; border: 1.5px solid transparent; border-radius: var(--r-sm); background: linear-gradient(#fff,#fff) padding-box, var(--grad-border) border-box; color: var(--ink); text-decoration: none; font-weight: 600; font-size: .95rem; box-shadow: var(--shadow-sm); transition: transform .15s ease, box-shadow .2s ease, background .3s ease; }
.rel:hover { transform: translateY(-2px); background: linear-gradient(#fff,#fff) padding-box, var(--grad) border-box; box-shadow: var(--shadow); }

/* vibrant aurora behind the first section (hero) on generated pages */
.breadcrumb + section { position: relative; overflow: hidden; }
.breadcrumb + section > .container { position: relative; z-index: 1; }
.breadcrumb + section::before { content: ""; position: absolute; inset: -40% -10% auto -10%; height: 620px; z-index: 0; pointer-events: none; filter: blur(46px); opacity: .65; background: var(--aurora); -webkit-mask-image: linear-gradient(180deg, #000 28%, transparent 85%); mask-image: linear-gradient(180deg, #000 28%, transparent 85%); }

/* ============================ round-2 polish: wow, kept clean ============================ */

/* Social-proof band (honest signals; logo/rating slot ready in the markup) */
.proof { background: var(--bg); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.proof__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .7rem 1.5rem; padding: 1.1rem 24px; }
.proof__badge { display: inline-flex; align-items: center; gap: .45rem; font-weight: 700; font-size: .86rem; color: var(--green-700); background: #E8FBF1; border: 1px solid #C7EFD9; padding: .45rem .9rem; border-radius: var(--pill); }
.proof__items { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.05rem; }
.proof__items span { color: var(--ink); font-weight: 600; font-size: .9rem; position: relative; }
.proof__items span:not(:last-child)::after { content: "·"; position: absolute; right: -.6rem; color: var(--muted); }
.proof__cred { color: var(--muted); font-size: .88rem; font-weight: 500; }
@media (max-width: 620px) { .proof__cred { width: 100%; text-align: center; } }

/* Dark "wow" sections, soft glow + fine grain layered over the network */
.section--ink { position: relative; }
.section--ink::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(46% 70% at 82% -8%, rgba(25,199,125,.30), transparent 60%),
              radial-gradient(46% 70% at 12% 108%, rgba(11,138,76,.24), transparent 60%); }
.section--ink::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.section--ink > .container { position: relative; z-index: 1; }

/* Gradient hairline at the top of soft sections = clean section divider */
.section--soft { position: relative; }
.section--soft::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(25,199,125,.22), rgba(11,138,76,.22), transparent); }
.divider { height: 1px; max-width: var(--container); margin: 0 auto; background: linear-gradient(90deg, transparent, rgba(25,199,125,.3), rgba(11,138,76,.3), transparent); }

/* Staggered reveals, subtle, capped */
.feature-grid > .reveal:nth-child(2), .rel-grid > .reveal:nth-child(2), .steps > .reveal:nth-child(2), .stat-grid > .reveal:nth-child(2) { transition-delay: .07s; }
.feature-grid > .reveal:nth-child(3), .rel-grid > .reveal:nth-child(3), .steps > .reveal:nth-child(3), .stat-grid > .reveal:nth-child(3) { transition-delay: .14s; }
.feature-grid > .reveal:nth-child(4), .rel-grid > .reveal:nth-child(4), .stat-grid > .reveal:nth-child(4) { transition-delay: .21s; }
.feature-grid > .reveal:nth-child(5), .rel-grid > .reveal:nth-child(5) { transition-delay: .28s; }
.feature-grid > .reveal:nth-child(6), .rel-grid > .reveal:nth-child(6) { transition-delay: .35s; }

/* Hero call-card glow ring, contained wow */
.call-card::after { content: ""; position: absolute; inset: -16px; z-index: -1; border-radius: 30px; background: var(--grad); filter: blur(30px); opacity: .3; }
@keyframes cardGlow { 0%, 100% { opacity: .2; transform: scale(.97); } 50% { opacity: .36; transform: scale(1.03); } }

/* feature icon warms on hover */
.feature:hover .feature__icon { background: linear-gradient(135deg, #E8FBF1, #DCF5E8); color: var(--green-700); }

/* ============================ theme toggle button ============================ */
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: var(--body); cursor: pointer; transition: color .2s ease, border-color .2s ease; }
.theme-toggle:hover { color: var(--ink); border-color: var(--green); }
.theme-toggle svg { width: 18px; height: 18px; }
.theme-toggle__sun { display: none; }
.theme-toggle__moon { display: inline; }
[data-theme="dark"] .theme-toggle__sun { display: inline; }
[data-theme="dark"] .theme-toggle__moon { display: none; }

/* ============================ dark mode (black + green) ============================ */
[data-theme="dark"] {
  --bg: #0a0f0c;
  --bg-soft: #0e1511;
  --bg-ink: #060a08;
  --ink: #f2f7f4;
  --body: #aebbb3;
  --muted: #7e8a83;
  --line: #1f2c26;
}
[data-theme="dark"] body { background: var(--bg); color: var(--body); }
[data-theme="dark"] .site-header { background: rgba(10,15,12,.82); }
[data-theme="dark"] .site-header.scrolled { background: rgba(10,15,12,.95); border-bottom-color: var(--line); }
[data-theme="dark"] .btn--ghost { background: #131b17; color: var(--ink); border-color: var(--line); }
[data-theme="dark"] .btn--ghost:hover { border-color: var(--green); color: var(--green); }
[data-theme="dark"] .nav-drop__menu,
[data-theme="dark"] .mobile-menu,
[data-theme="dark"] .call-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .roi,
[data-theme="dark"] .step,
[data-theme="dark"] .tab,
[data-theme="dark"] .tab-panel,
[data-theme="dark"] .compare-card,
[data-theme="dark"] .testimonial,
[data-theme="dark"] .faq-item,
[data-theme="dark"] .lead-form,
[data-theme="dark"] .mobile-cta .btn--ghost { background: #131b17; }
[data-theme="dark"] .field input,
[data-theme="dark"] .field select { background: #131b17; color: var(--ink); border-color: var(--line); }
[data-theme="dark"] .field input::placeholder { color: #6b766f; }
[data-theme="dark"] .feature,
[data-theme="dark"] .rel { background: linear-gradient(#131b17,#131b17) padding-box, var(--grad-border) border-box; }
[data-theme="dark"] .feature:hover,
[data-theme="dark"] .rel:hover,
[data-theme="dark"] .compare-card--featured { background: linear-gradient(#131b17,#131b17) padding-box, var(--grad) border-box; }
[data-theme="dark"] .section--demo { background: linear-gradient(180deg, var(--bg-soft), var(--bg)); }
[data-theme="dark"] .feature__icon { background: rgba(25,199,125,.14); color: var(--green); }
[data-theme="dark"] .feature:hover .feature__icon { background: rgba(25,199,125,.22); color: var(--green); }
[data-theme="dark"] .bubble { background: #0e1511; }
[data-theme="dark"] .bubble--ai { background: rgba(25,199,125,.12); border-color: rgba(25,199,125,.30); }
[data-theme="dark"] .booked { background: rgba(25,199,125,.12); border-color: rgba(25,199,125,.30); }
[data-theme="dark"] .proof__badge { background: rgba(25,199,125,.14); border-color: rgba(25,199,125,.30); }
[data-theme="dark"] .faq-item[open] { border-color: rgba(25,199,125,.35); }
[data-theme="dark"] .floaty { background: #131b17; }
[data-theme="dark"] .why-custom { background: #0e1511; }
[data-theme="dark"] .roi__row output { background: #0e1511; }
[data-theme="dark"] .modal__close:hover { background: #0e1511; }

/* ============================ demo popup modal ============================ */
.modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.modal[hidden] { display: none; }
.modal__overlay { position: absolute; inset: 0; background: rgba(8,12,10,.55); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.modal__card { position: relative; z-index: 1; width: min(560px, 100%); max-height: 92vh; overflow-y: auto; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-lg); padding: clamp(1.3rem, 4vw, 2.2rem); animation: modalIn .2s ease; }
@keyframes modalIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.modal__close { position: absolute; top: .6rem; right: .7rem; width: 38px; height: 38px; border: none; background: transparent; font-size: 1.8rem; line-height: 1; color: var(--muted); cursor: pointer; border-radius: 8px; }
.modal__close:hover { color: var(--ink); background: var(--bg-soft); }
.modal__title { text-align: center; font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2rem); }
.modal__sub { text-align: center; color: var(--body); margin: .5rem auto 1.3rem; max-width: 42ch; font-size: .98rem; }
.modal .lead-form { background: none; border: none; box-shadow: none; padding: 0; }
@media (max-width: 560px) { .modal { padding: 0; } .modal__card { width: 100%; max-height: 100%; min-height: 100vh; border-radius: 0; } }
@media (prefers-reduced-motion: reduce) { .modal__card { animation: none; } }

/* ============================ footer quick-links menu ============================ */
.footer-menu { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: .4rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-menu a { display: flex; flex-direction: column; align-items: center; gap: .45rem; padding: .75rem .4rem; border-radius: 12px; text-decoration: none; color: rgba(255,255,255,.72); font-size: .8rem; font-weight: 600; text-align: center; transition: color .2s ease, background .2s ease; }
.footer-menu a:hover { color: #fff; background: rgba(255,255,255,.06); }
.footer-menu svg { color: var(--green); }

/* form textarea */
.field textarea { width:100%; padding:.82rem .9rem; font:inherit; font-size:1rem; color:var(--ink); background:var(--bg); border:1px solid #D9E0DC; border-radius:12px; resize:vertical; min-height:120px; line-height:1.5; transition:border-color .2s, box-shadow .2s; }
.field textarea::placeholder { color:#AAB4AE; }
.field textarea:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 4px rgba(22,196,127,.15); }
.field.invalid textarea { border-color:#E5484D; box-shadow:0 0 0 4px rgba(229,72,77,.13); }
[data-theme="dark"] .field textarea { background:#131b17; border-color:var(--line); }
[data-theme="dark"] .field textarea::placeholder { color:#6b766f; }

/* =====================================================================
   MARKETPLACE (domains, websites, social channels, newsletters)
   Calm and stacked: white space, thin lines, green used sparingly.
   ===================================================================== */
.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; }
.section--tight { padding-block: clamp(32px, 5vw, 56px); }
.site-footer__links--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 720px) { .site-footer__links--3 { grid-template-columns: 1fr 1fr; } }

/* ---- hero (home) + page hero ---- */
.mhero { position: relative; padding-block: clamp(56px, 9vw, 112px) clamp(36px, 5vw, 56px); text-align: center; overflow: hidden; }
.mhero::before { content: ""; position: absolute; inset: -30% -10% auto; height: 560px; z-index: -1; pointer-events: none; background: var(--aurora); filter: blur(48px); opacity: .55; -webkit-mask-image: linear-gradient(180deg,#000 30%,transparent 85%); mask-image: linear-gradient(180deg,#000 30%,transparent 85%); }
.mhero__inner { max-width: 960px; }
.mhero h1 { font-size: clamp(2.2rem, 1.1rem + 4vw, 3.6rem); letter-spacing: -.025em; line-height: 1.08; }
.mhero__sub { margin: 1.2rem auto 0; max-width: 56ch; font-size: clamp(1.05rem, 1rem + .4vw, 1.2rem); color: var(--body); }
.msearch { display: flex; gap: .5rem; max-width: 560px; margin: 2rem auto 0; padding: .45rem; background: var(--bg); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.msearch input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 1rem; color: var(--ink); padding: .6rem .8rem; }
.msearch input:focus { outline: none; }
.msearch:focus-within { border-color: var(--green); box-shadow: 0 0 0 4px rgba(22,196,127,.15), var(--shadow); }
.mhero__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem .8rem; margin-top: 1.2rem; font-size: .93rem; color: var(--muted); }
.mhero__links a { color: var(--green-700); font-weight: 600; text-decoration: none; }
.mhero__links a:hover { text-decoration: underline; }
.phero { padding-block: clamp(40px, 6vw, 76px) clamp(16px, 3vw, 28px); text-align: center; }
.phero h1 { font-size: clamp(2rem, 1.2rem + 3.2vw, 3.1rem); letter-spacing: -.02em; }
.phero__sub { margin: 1rem auto 0; max-width: 60ch; font-size: 1.1rem; color: var(--body); }
.phero__cta { display: flex; flex-wrap: wrap; gap: .7rem; justify-content: center; margin-top: 1.6rem; }

/* ---- category tiles ---- */
.cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.cat { display: flex; flex-direction: column; gap: .3rem; padding: 1.3rem 1.3rem 1.2rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s; }
.cat:hover { border-color: var(--green); transform: translateY(-3px); box-shadow: var(--shadow); }
.cat__icon { width: 38px; height: 38px; border-radius: 11px; background: #E8FBF1; margin-bottom: .5rem; display: grid; place-items: center; }
.cat__icon::before { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; color: var(--green-700); font-size: .95rem; }
.cat__icon--domain::before { content: ".com"; font-size: .7rem; }
.cat__icon--website::before { content: "</>"; font-size: .75rem; }
.cat__icon--social::before { content: "\25B6"; font-size: .8rem; }
.cat__icon--newsletter::before { content: "@"; }
.cat__name { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; color: var(--ink); font-size: 1.08rem; }
.cat__desc { font-size: .9rem; color: var(--body); line-height: 1.45; }
.cat__count { margin-top: .5rem; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--green-700); }

/* ---- listing cards ---- */
.lgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 1.1rem; }
.lcard { display: flex; flex-direction: column; gap: .7rem; padding: 1.3rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); text-decoration: none; color: var(--body); transition: border-color .2s, transform .2s, box-shadow .2s; }
.lcard:hover { border-color: var(--green); transform: translateY(-3px); box-shadow: var(--shadow); }
.lcard__top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.lcard__title { font-size: 1.15rem; color: var(--ink); line-height: 1.3; word-break: break-word; }
.lcard__sum { font-size: .92rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lcard__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; padding: .8rem 0; border-block: 1px solid var(--line); margin-top: auto; }
.lcard__stats dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); font-weight: 700; }
.lcard__stats dd { margin: .15rem 0 0; color: var(--ink); font-weight: 700; font-size: .93rem; }
.lcard__foot { display: flex; align-items: center; justify-content: space-between; }
.lcard__price { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 1.2rem; color: var(--ink); }
.lcard__cta { font-size: .88rem; font-weight: 600; color: var(--green-700); }
.lcard[hidden] { display: none; }
.chip { display: inline-flex; align-items: center; padding: .25rem .6rem; border-radius: var(--pill); font-size: .74rem; font-weight: 700; letter-spacing: .02em; background: var(--bg-soft); color: var(--body); border: 1px solid var(--line); }
.chip--domain { background: #E8FBF1; color: var(--green-700); border-color: #C9EFD9; }
.badge { display: inline-flex; padding: .22rem .6rem; border-radius: var(--pill); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.badge--under_offer { background: #FFF6E5; color: #9A5B00; }
.badge--sold { background: #F1F1F1; color: #555; }

/* ---- filters (/buy/) ---- */
.fbar { display: grid; gap: .8rem; margin-bottom: 1.4rem; }
.fbar__chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.fchip { font: inherit; font-size: .9rem; font-weight: 600; padding: .5rem .95rem; border-radius: var(--pill); border: 1px solid var(--line); background: var(--bg); color: var(--body); cursor: pointer; transition: all .15s; }
.fchip:hover { border-color: var(--green); color: var(--ink); }
.fchip.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.fbar__row { display: grid; grid-template-columns: 1fr auto auto; gap: .6rem; }
.fbar__row input, .fbar__row select { font: inherit; font-size: .95rem; padding: .7rem .85rem; border: 1px solid #D9E0DC; border-radius: 12px; background: var(--bg); color: var(--ink); min-width: 0; }
.fbar__row input:focus, .fbar__row select:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 4px rgba(22,196,127,.15); }
.fbar__none { padding: 1.2rem; border: 1px dashed var(--line); border-radius: var(--r); text-align: center; }

/* ---- empty state / alerts ---- */
.empty { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; padding: clamp(1.4rem, 4vw, 2.4rem); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--bg); }
.empty h3 { font-size: clamp(1.3rem, 1rem + 1vw, 1.7rem); margin-bottom: .6rem; }
.empty .lead-form { box-shadow: none; }

/* ---- generic blocks ---- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); }
.split__h { font-size: 1.25rem; margin-bottom: 1rem; }
.split .steps { grid-template-columns: 1fr; gap: .8rem; }
.split .step { padding: 1.2rem 1.3rem; display: grid; grid-template-columns: 44px 1fr; column-gap: 1rem; }
.split .step__num { grid-row: span 2; margin: 0; }
.split .step h3 { font-size: 1.02rem; margin-bottom: .2rem; }
.split .step p { font-size: .93rem; }
.mfeatures { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.mfeature { padding: 1.4rem; border-left: 3px solid var(--green); background: var(--bg); border-radius: 0 var(--r) var(--r) 0; box-shadow: var(--shadow-sm); }
.section--soft .mfeature { background: var(--bg); }
.mfeature h3 { font-size: 1.05rem; margin-bottom: .35rem; }
.mfeature p { font-size: .94rem; }
.band { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem 2rem; flex-wrap: wrap; padding: clamp(1.6rem, 4vw, 2.6rem); border-radius: var(--r-lg); background: var(--bg-ink); color: rgba(255,255,255,.75); }
.band h2 { color: #fff; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem); }
.band p { margin-top: .4rem; }
.band .eyebrow { margin-bottom: .5rem; }
.band__cta { display: flex; flex-wrap: wrap; gap: .6rem; }
.band .btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); box-shadow: none; }
.band .btn--ghost:hover { border-color: var(--lime); color: var(--lime); }
.ticks { list-style: none; padding: 0; display: grid; gap: .5rem; }
.ticks li { position: relative; padding-left: 1.7rem; }
.ticks li::before { content: ""; position: absolute; left: 0; top: .42em; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: #E8FBF1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B8A4C' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 62% no-repeat; }
.prose { display: grid; gap: 1rem; font-size: 1.08rem; }
.prose h2 { font-size: 1.6rem; }
.prose a, .lsec a, .formwrap a, .faq-item__body a { color: var(--green-700); }
.aside-ai { padding: 1.3rem 0; border-top: 1px solid var(--line); text-align: center; font-size: .93rem; color: var(--muted); }
.aside-ai a { color: var(--green-700); font-weight: 600; text-decoration: none; }
.aside-ai a:hover { text-decoration: underline; }
.dir-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.6rem 2rem; }
.dir-grid h3 { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: .6rem; }
.dir-grid a { display: block; padding: .28rem 0; font-size: .93rem; color: var(--ink); text-decoration: none; }
.dir-grid a:hover { color: var(--green-700); }

/* ---- listing page ---- */
.lhead { padding-block: clamp(28px, 5vw, 56px) clamp(18px, 3vw, 28px); }
.lhead__grid--logo { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: end; }
.lhead__grid--logo .logothumb { margin: 0; }
@media (max-width: 900px) { .lhead__grid--logo { grid-template-columns: 1fr; align-items: start; } .lhead__grid--logo .logothumb { max-width: 420px; } }
.lhead__top { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.lhead__date { font-size: .85rem; color: var(--muted); }
.lhead h1 { margin-top: .8rem; font-size: clamp(1.9rem, 1.1rem + 3vw, 3rem); letter-spacing: -.02em; word-break: break-word; }
.lhead__main { min-width: 0; container-type: inline-size; }
.lhead h1.lhead__name { white-space: nowrap; font-size: min(clamp(1.9rem, 1.1rem + 3vw, 3rem), calc(100cqw / (var(--n, 12) * .66))); }
.lhead__sum { margin-top: .7rem; max-width: 70ch; font-size: 1.1rem; }
.metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 200px)); gap: 1rem; margin-top: 1.5rem; }
.metric { padding: .9rem 1rem; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--bg); }
.metric dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: var(--muted); }
.metric dd { margin: .2rem 0 0; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 1.25rem; color: var(--ink); }
.lwrap { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.lmain { display: grid; gap: 2.4rem; }
.lsec h2 { font-size: 1.35rem; margin-bottom: 1rem; }
.lsec h3 { font-size: 1rem; margin: 1.2rem 0 .6rem; }
.lsec p + p { margin-top: .8rem; }
.lsec .ticks { margin-top: 1rem; }
.lsec .faq-item { margin-bottom: .6rem; }
.dtable { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.dtable > div { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; border-bottom: 1px solid var(--line); background: var(--bg); }
.dtable > div:nth-child(odd) { border-right: 1px solid var(--line); }
.dtable dt { color: var(--muted); font-size: .9rem; }
.dtable dd { margin: 0; color: var(--ink); font-weight: 600; font-size: .92rem; text-align: right; }
.charts { display: grid; gap: 1rem; }
.spark { margin: 0; padding: 1rem 1.1rem .8rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); color: var(--green); }
.spark figcaption { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .8rem; color: var(--muted); font-size: .85rem; }
.spark figcaption strong { color: var(--ink); font-size: 1.1rem; font-family: "Plus Jakarta Sans", sans-serif; }
.spark__trend { font-style: normal; font-weight: 700; font-size: .8rem; }
.spark__trend--up { color: var(--green-700); }
.spark__trend--down { color: #B42318; }
.spark svg { display: block; width: 100%; height: 110px; margin-top: .6rem; }
.spark__area { fill: currentColor; opacity: .12; }
.spark__line { fill: none; stroke: currentColor; stroke-width: 2.4; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.spark__range { display: flex; justify-content: space-between; font-size: .75rem; color: var(--muted); margin-top: .3rem; }
.bars-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.bars { padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); }
.bars h3 { margin: 0 0 .7rem; font-size: .95rem; }
.bars ul { list-style: none; padding: 0; display: grid; gap: .55rem; }
.bars li { display: grid; grid-template-columns: minmax(0, 1fr) 90px 44px; gap: .6rem; align-items: center; font-size: .88rem; }
.bars__track { height: 8px; border-radius: var(--pill); background: var(--bg-soft); overflow: hidden; }
.bars__fill { display: block; height: 100%; background: var(--grad); border-radius: var(--pill); }
.bars__pct { text-align: right; font-weight: 700; color: var(--ink); }
.comps { width: 100%; border-collapse: collapse; font-size: .92rem; }
.comps th, .comps td { text-align: left; padding: .6rem .7rem; border-bottom: 1px solid var(--line); }
.comps th { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.two h3 { margin-top: 0; }
/* clears the sticky header (72px) and the listing section menu (.lnav) with room to spare */
.deal { position: sticky; top: 148px; }
.deal__card { padding: 1.4rem; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--bg); box-shadow: var(--shadow); }
.deal__label { margin-top: .6rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: var(--muted); }
.deal__price { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 2rem; color: var(--ink); letter-spacing: -.02em; }
.deal__row { display: flex; justify-content: space-between; padding: .5rem 0; border-top: 1px solid var(--line); font-size: .92rem; }
.deal__row strong { color: var(--ink); }
.deal__cta { display: grid; gap: .5rem; margin-top: 1rem; }
.deal__cta .btn { width: 100%; }
.deal__sold { font-weight: 700; color: var(--ink); margin-bottom: .6rem; }
.deal__verified { list-style: none; padding: 0; margin-top: 1.1rem; display: grid; gap: .35rem; font-size: .88rem; }
.deal__verified li { padding-left: 1.5rem; position: relative; }
.deal__verified li::before { position: absolute; left: 0; font-weight: 800; }
.deal__verified li.yes { color: var(--ink); }
.deal__verified li.yes::before { content: "\2713"; color: var(--green-600); }
.deal__verified li.no { color: var(--muted); }
.deal__verified li.no::before { content: "\2013"; }
.mbuy { display: none; }
@media (max-width: 980px) {
  .mbuy { display: flex; align-items: center; gap: .8rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
          padding: .7rem 16px calc(.7rem + env(safe-area-inset-bottom)); background: var(--bg); border-top: 1px solid var(--line);
          box-shadow: 0 -8px 24px -16px rgba(11,18,14,.45); transition: transform .25s ease; }
  .mbuy.is-away { transform: translateY(110%); }
  .mbuy__price { flex: 1; min-width: 0; display: grid; line-height: 1.2; }
  .mbuy__price span { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: var(--muted); }
  .mbuy__price strong { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 1.15rem; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mbuy .btn { flex: 0 0 auto; }
  .mbuy [data-buy-error] { position: absolute; left: 16px; right: 16px; bottom: calc(100% + .5rem); margin: 0; }
  body:has(.mbuy) .site-footer { padding-bottom: 76px; }
}
[data-theme="dark"] .mbuy { background: #131b17; }
.logothumb { display: grid; gap: .7rem; margin: 0 0 1rem; padding: .7rem .7rem .85rem; border: 1px solid var(--line); border-radius: 16px; background: var(--bg); }
.logothumb img { width: 100%; height: auto; aspect-ratio: 3 / 1; object-fit: contain; border-radius: 12px; background: var(--bg-soft); display: block; }
.logothumb .logo-d { display: none; }
[data-theme="dark"] .logothumb { background: #111a15; }
[data-theme="dark"] .logothumb img { background: #0b120e; }
[data-theme="dark"] .logothumb .logo-l { display: none; }
[data-theme="dark"] .logothumb .logo-d { display: block; }
.logothumb figcaption { display: grid; gap: .1rem; font-size: .85rem; color: var(--muted); line-height: 1.3; }
.logothumb figcaption strong { color: var(--ink); font-size: .92rem; }
.pbreak { list-style: none; margin: 1rem 0 .6rem; padding: 0; border: 1px solid var(--line); border-radius: var(--r-md, 14px); overflow: hidden; }
.pbreak li { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .7rem 1rem; border-top: 1px solid var(--line); font-size: .93rem; }
.pbreak li:first-child { border-top: 0; }
.pbreak strong { color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pbreak > li > span { min-width: 0; }
.pbreak__sub { list-style: none; margin: .55rem 0 0; padding: 0; display: grid; gap: .3rem; }
.pbreak__sub li { display: flex; justify-content: space-between; gap: 1rem; padding: 0; border: 0; font-size: .84rem; color: var(--body); }
.pbreak__sub small { color: var(--muted); }
.pbreak__sub em { font-style: normal; font-weight: 600; color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pbreak > li:has(.pbreak__sub) { align-items: flex-start; }
.pbreak > li:has(.pbreak__sub) > span { flex: 1; }
.pbreak__none { color: var(--muted); font-weight: 500; font-size: .85rem; }
.pbreak__total { background: var(--bg-soft); font-weight: 600; color: var(--ink); }
.pbreak__total strong { font-family: "Plus Jakarta Sans", sans-serif; font-size: 1.1rem; }
[data-theme="dark"] .pbreak__total { background: rgba(255,255,255,.04); }
.deal__note { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); font-size: .82rem; color: var(--muted); }
.inquire { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; scroll-margin-top: 90px; }
.inquire h2 { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.2rem); word-break: break-word; }
.inquire__copy > p { margin: .8rem 0 1.2rem; }

/* ---- seller / valuation form layout ---- */
.formwrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.formwrap__side h2 { font-size: 1.3rem; margin-bottom: 1rem; }
.formwrap__side .steps { grid-template-columns: 1fr; gap: .7rem; }
.formwrap__side .step { padding: 1.1rem 1.2rem; box-shadow: none; }
.formwrap__side .step__num { width: 34px; height: 34px; font-size: 1rem; margin-bottom: .6rem; box-shadow: none; }
.formwrap__side .step h3 { font-size: 1rem; }
.formwrap__side .step p { font-size: .92rem; }
.formwrap__note { margin-top: 1.2rem; font-size: .92rem; }
.formwrap__side { position: sticky; top: 92px; }

/* ---- marketplace form controls ---- */
.mform { display: grid; gap: .2rem; }
.mstep { border: 0; padding: 0; margin: 0; min-width: 0; }
.mstep__title { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 1.3rem; color: var(--ink); margin-bottom: 1.1rem; padding: 0; }
.mstep__note { font-size: .92rem; color: var(--muted); margin: -.4rem 0 1rem; }
.field__hint { display: block; font-size: .82rem; color: var(--muted); margin: -.2rem 0 .4rem; }
.choice-set { border: 0; padding: 0; margin: 0 0 1rem; min-width: 0; }
.choice-set legend { font-weight: 600; font-size: .9rem; color: var(--ink); margin-bottom: .6rem; padding: 0; }
.choice-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .55rem; }
.choice { position: relative; display: flex; flex-direction: column; gap: .15rem; padding: .85rem .95rem; border: 1px solid #D9E0DC; border-radius: 12px; cursor: pointer; background: var(--bg); transition: border-color .15s, box-shadow .15s, background .15s; }
.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice__t { font-weight: 700; color: var(--ink); font-size: .95rem; }
.choice__d { font-size: .8rem; color: var(--muted); line-height: 1.35; }
.choice:hover { border-color: var(--green); }
.choice:has(input:checked) { border-color: var(--green); background: #F0FCF6; box-shadow: 0 0 0 3px rgba(22,196,127,.18); }
.choice:has(input:focus-visible) { box-shadow: 0 0 0 4px rgba(22,196,127,.3); }
.field.invalid .choice { border-color: #E5484D; }
.check-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.check { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .8rem; border: 1px solid #D9E0DC; border-radius: 10px; font-size: .92rem; color: var(--ink); cursor: pointer; background: var(--bg); }
.check input { width: 1.05rem; height: 1.05rem; accent-color: var(--green-600); margin: 0; flex-shrink: 0; }
.check:has(input:checked) { border-color: var(--green); background: #F0FCF6; }
.check--consent { align-items: flex-start; border: 0; padding: .2rem 0; background: none; font-size: .9rem; color: var(--body); }
.check--consent input { margin-top: .2rem; }
.check--consent:has(input:checked) { background: none; }
.field.invalid .check--consent { color: #B42318; }
.input-affix { position: relative; }
.input-affix > span { position: absolute; top: 50%; transform: translateY(-50%); left: .9rem; color: var(--muted); font-weight: 600; pointer-events: none; }
.input-affix > input { padding-left: 1.8rem !important; }
.input-affix--end > span { left: auto; right: .9rem; }
.input-affix--end > input { padding-left: .9rem !important; padding-right: 2rem !important; }
.mform .form-actions { margin-top: .6rem; }
.mform .form-actions [hidden] { display: none !important; }
.mform .form-micro { margin-top: .9rem; }

/* ---- thank-you ---- */
.ty { text-align: center; }
.ty__badge { width: 76px; height: 76px; border-radius: 50%; background: var(--grad); display: grid; place-items: center; margin: 0 auto 1.4rem; box-shadow: var(--glow); color: #fff; }
.ty__badge svg { width: 38px; height: 38px; }
.ty h1 { font-size: clamp(2rem, 1.3rem + 3vw, 3rem); }
.ty__sub { color: var(--body); font-size: 1.15rem; margin: .9rem auto 0; max-width: 52ch; }

/* ---- responsive ---- */
@media (max-width: 980px) {
  .cats { grid-template-columns: repeat(2, 1fr); }
  .lwrap, .formwrap, .inquire, .empty { grid-template-columns: 1fr; }
  .deal, .formwrap__side { position: static; }
  .deal { order: -1; }
}
@media (max-width: 720px) {
  .split, .two, .bars-grid { grid-template-columns: 1fr; }
  .dtable { grid-template-columns: 1fr; }
  .dtable > div:nth-child(odd) { border-right: 0; }
  .metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
  .metric { padding: .7rem; }
  .metric dd { font-size: 1.02rem; }
  .fbar__row { grid-template-columns: 1fr 1fr; }
  .fbar__row input { grid-column: 1 / -1; }
}
@media (max-width: 460px) {
  .cats { grid-template-columns: 1fr; }
  .msearch { flex-direction: column; }
  .lcard__stats dd { font-size: .86rem; }
}

/* ---- dark mode ---- */
[data-theme="dark"] .cat, [data-theme="dark"] .lcard, [data-theme="dark"] .empty, [data-theme="dark"] .metric,
[data-theme="dark"] .deal__card, [data-theme="dark"] .spark, [data-theme="dark"] .bars, [data-theme="dark"] .dtable > div,
[data-theme="dark"] .mfeature, [data-theme="dark"] .msearch, [data-theme="dark"] .choice, [data-theme="dark"] .check,
[data-theme="dark"] .fchip, [data-theme="dark"] .fbar__row input, [data-theme="dark"] .fbar__row select { background: #131b17; border-color: var(--line); }
[data-theme="dark"] .fchip.is-on { background: var(--green); border-color: var(--green); color: #06130c; }
[data-theme="dark"] .cat__icon, [data-theme="dark"] .chip--domain, [data-theme="dark"] .ticks li::before { background-color: rgba(25,199,125,.14); }
[data-theme="dark"] .chip--domain { color: var(--green); border-color: rgba(25,199,125,.3); }
[data-theme="dark"] .cat__icon::before { color: var(--green); }
[data-theme="dark"] .choice:has(input:checked), [data-theme="dark"] .check:has(input:checked) { background: rgba(25,199,125,.12); }
[data-theme="dark"] .check--consent, [data-theme="dark"] .check--consent:has(input:checked) { background: none; }
[data-theme="dark"] .band { background: #131b17; border: 1px solid var(--line); }
[data-theme="dark"] .badge--sold { background: #1f2c26; color: var(--body); }
[data-theme="dark"] .badge--under_offer { background: rgba(255,170,0,.14); color: #f5c26b; }
[data-theme="dark"] .prose a, [data-theme="dark"] .lsec a, [data-theme="dark"] .formwrap a, [data-theme="dark"] .mhero__links a,
[data-theme="dark"] .aside-ai a, [data-theme="dark"] .lcard__cta, [data-theme="dark"] .cat__count { color: var(--green); }
.field .check input, .field .choice input { width: 1.05rem; padding: 0; border: 0; box-shadow: none; }
.field .choice input { width: 1px; height: 1px; }
.field .choice { display: flex; margin: 0; font-weight: 400; }
.field .check { display: inline-flex; margin: 0; font-weight: 500; }
.field .check--consent { display: flex; font-weight: 400; }
.comps-wrap { overflow-x: auto; }
.lwrap > *, .lmain > *, .roi > *, .roi__controls > * { min-width: 0; }

/* ---- comparison table (AI answering-service pages) ---- */
.cmp-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); }
.cmp { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .93rem; background: var(--bg); }
.cmp th, .cmp td { padding: .75rem .9rem; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.cmp thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); background: var(--bg-soft); }
.cmp thead th:nth-child(2), .cmp td:nth-child(2) { background: rgba(22,196,127,.07); color: var(--ink); font-weight: 600; }
.cmp tbody th { color: var(--ink); font-weight: 700; white-space: nowrap; }
.reftable__n { font-weight: 500; font-size: .78rem; color: var(--muted); margin-left: .3rem; }
.cmp tr:last-child > * { border-bottom: 0; }
@media (max-width: 460px) { .btn--lg { white-space: normal; text-align: center; line-height: 1.25; } }

/* ---- evidence-first copy blocks (master spec) ---- */
.side h2 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2rem); margin-bottom: .7rem; }
.side p { margin-bottom: 1.2rem; }
.side { padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--bg); }
.ranges { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 1rem; align-items: stretch; }
.range { padding: 1.3rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); }
.range--main { border: 2px solid var(--green); box-shadow: var(--shadow); }
.range__k { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; color: var(--ink); margin-bottom: .4rem; }
.range p:not(.range__k) { font-size: .94rem; }
.trustline { list-style: none; padding: 0; margin-top: 1.8rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.4rem; font-size: .9rem; font-weight: 600; color: var(--ink); }
.trustline li::before { content: "\2713"; color: var(--green-600); margin-right: .4rem; font-weight: 800; }
.paybox { padding: 1.4rem; border-radius: var(--r); border: 1px solid var(--line); background: var(--bg); }
.paybox h3 { font-size: 1.05rem; margin-bottom: .8rem; }
.crosses { list-style: none; padding: 0; display: grid; gap: .5rem; }
.crosses li { position: relative; padding-left: 1.7rem; color: var(--body); }
.crosses li::before { content: "\2715"; position: absolute; left: .2rem; top: 0; color: #B42318; font-weight: 800; font-size: .85rem; }
.note-sm { margin-top: .9rem; font-size: .88rem; color: var(--muted); text-align: center; }
@media (max-width: 860px) { .ranges { grid-template-columns: 1fr; } }
[data-theme="dark"] .side, [data-theme="dark"] .range, [data-theme="dark"] .paybox { background: #131b17; border-color: var(--line); }
[data-theme="dark"] .range--main { border-color: var(--green); }

/* ---- fees page ---- */
.plans { display: grid; grid-template-columns: 1.15fr 1fr; gap: 1.2rem; align-items: start; }
.plan { padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--bg); }
.plan--main { border: 2px solid var(--green); box-shadow: var(--shadow); }
.plan h2 { font-size: 1.6rem; margin-bottom: .4rem; }
.plan > p { margin-bottom: 1rem; }
.plan h3 { font-size: 1rem; margin: 1.2rem 0 .6rem; }
.cmp--tiers { min-width: 0; }
.cmp--tiers td { text-align: right; font-weight: 800; font-family: "Plus Jakarta Sans", sans-serif; color: var(--ink); background: none !important; }
.cmp--tiers th { white-space: normal !important; font-weight: 600 !important; }
.plan__min { font-size: .88rem; color: var(--muted); margin-top: .6rem; }
.calc { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.2rem, 3vw, 2rem); padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--bg); box-shadow: var(--shadow); }
.calc h2 { font-size: 1.4rem; margin-bottom: 1rem; }
.calc__out { display: grid; gap: .1rem; align-content: start; background: var(--bg-soft); border-radius: var(--r); padding: 1.2rem; }
.calc__out > div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--line); }
.calc__out dt { color: var(--body); font-size: .93rem; }
.calc__out dd { margin: 0; font-weight: 800; color: var(--ink); font-family: "Plus Jakarta Sans", sans-serif; }
.calc__total { border-bottom: 0 !important; font-size: 1.1rem; }
.calc__total dd { color: var(--green-700); font-size: 1.3rem; }
.calc__note { font-size: .85rem; color: #9A5B00; margin-top: .4rem; }
@media (max-width: 860px) { .plans, .calc { grid-template-columns: 1fr; } }
[data-theme="dark"] .plan, [data-theme="dark"] .calc { background: #131b17; border-color: var(--line); }
[data-theme="dark"] .plan--main { border-color: var(--green); }
[data-theme="dark"] .calc__total dd { color: var(--green); }

/* ---- free tools / calculators ---- */
.tool { grid-template-columns: 1.05fr 1fr; align-items: start; }
.tool .calc__out { position: sticky; top: 92px; }
.tool__factors { list-style: none; padding: 0; margin: .9rem 0 0; display: grid; gap: .35rem; font-size: .9rem; }
.tool__factors li { padding-left: 1.4rem; position: relative; }
.tool__factors li.up::before { content: "\25B2"; position: absolute; left: 0; color: var(--green-600); font-size: .7rem; top: .3rem; }
.tool__factors li.down::before { content: "\25BC"; position: absolute; left: 0; color: #B42318; font-size: .7rem; top: .3rem; }
.tool__fine { font-size: .8rem; color: var(--muted); margin-top: .8rem; }
.tool .calc__note { color: var(--body); }
.calc-lead { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(1.2rem, 3vw, 2.4rem); align-items: center; }
.calc-lead h2 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2rem); margin-bottom: .6rem; }
.cats--tools { grid-template-columns: repeat(3, 1fr); }
.domcheck { grid-template-columns: 1fr; }
.domcheck__form { display: flex; gap: .5rem; padding: .45rem; border: 1px solid var(--line); border-radius: 14px; background: var(--bg); }
.domcheck__form input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 1.05rem; padding: .6rem .8rem; color: var(--ink); }
.domcheck__form input:focus { outline: none; }
.domcheck__form:focus-within { border-color: var(--green); box-shadow: 0 0 0 4px rgba(22,196,127,.15); }
.domcheck__out { margin-top: 1.2rem; }
.domcheck__name { font-size: 1.4rem; margin-bottom: .8rem; word-break: break-all; }
.domcheck__flags { margin-top: 1rem; }
.domcheck__cta { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; }
.domcheck__sub { font-size: 1.05rem; margin: 1.4rem 0 .6rem; }
.dchecks { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.dchecks__item { display: flex; gap: .65rem; align-items: flex-start; padding: .6rem .75rem; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--bg); color: var(--body); font-size: .95rem; }
.dchecks__item strong { color: var(--ink); margin-right: .25rem; }
.dchecks__icon { flex: 0 0 1.5rem; height: 1.5rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .8rem; }
.dchecks__item.is-pass .dchecks__icon { background: rgba(22,196,127,.15); color: var(--green-700); }
.dchecks__item.is-fail .dchecks__icon { background: #FDECEC; color: #B42318; }
.dchecks__item.is-unknown .dchecks__icon { background: var(--bg-soft); color: var(--muted); }
.domfull { margin-top: 1.4rem; padding: 1.1rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg-soft); }
.domfull__title { margin: 0 0 .3rem; font-size: 1.1rem; word-break: break-word; }
.domfull__sub { margin: 0 0 .8rem; color: var(--body); font-size: .95rem; }
.domfull__row { display: flex; flex-wrap: wrap; gap: .5rem; }
.domfull__row input { flex: 1 1 12rem; min-width: 0; padding: .7rem .85rem; border: 1px solid var(--line); border-radius: var(--r-sm); font: inherit; background: var(--bg); color: var(--ink); }
.domfull__row input:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 4px rgba(22,196,127,.15); }
.domfull__out { margin-top: 1.2rem; }
[data-theme="dark"] .dchecks__item.is-fail .dchecks__icon { background: rgba(240,68,56,.18); color: #F97066; }
@media (max-width: 860px) { .tool, .calc-lead { grid-template-columns: 1fr; } .tool .calc__out { position: static; } .cats--tools { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .cats--tools { grid-template-columns: 1fr; } .domcheck__form { flex-direction: column; } }
[data-theme="dark"] .domcheck__form { background: #131b17; }
.site-footer__links--4 { grid-template-columns: repeat(4, 1fr); }
@media (min-width: 981px) { .site-footer__inner:has(.site-footer__links--4) { grid-template-columns: 1fr 2.2fr; } }
@media (max-width: 980px) { .site-footer__links--4 { grid-template-columns: 1fr 1fr; } }

/* =====================================================================
   Marketplace tabs, listing detail (P&L, analytics, evidence, NDA vault)
   ===================================================================== */
.mtabs { border-bottom: 1px solid var(--line); background: var(--bg); position: sticky; top: 72px; z-index: 40; }
.mtabs__row { display: flex; gap: .3rem; overflow-x: auto; scrollbar-width: none; padding: .55rem 0; -webkit-overflow-scrolling: touch; }
.mtabs__row::-webkit-scrollbar { display: none; }
.mtab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .85rem; border-radius: var(--pill); text-decoration: none; font-weight: 600; font-size: .92rem; color: var(--body); border: 1px solid transparent; transition: all .15s; }
.mtab span { font-size: .75rem; font-weight: 700; color: var(--muted); background: var(--bg-soft); border-radius: var(--pill); padding: .05rem .45rem; }
.mtab:hover { color: var(--ink); border-color: var(--line); }
.mtab.is-on { background: var(--ink); color: #fff; }
.mtab.is-on span { background: rgba(255,255,255,.18); color: #fff; }
.demobar { background: #FFF6E5; border-bottom: 1px solid #F3D9A4; color: #6B4500; font-size: .9rem; padding: .6rem 0; text-align: center; }
.badge--tm { background: #E8FBF1; color: var(--green-700); margin-left: .3rem; }
[data-theme="dark"] .badge--tm { background: rgba(22,196,127,.14); color: var(--green); }
.badge--demo { background: #FFF6E5; color: #9A5B00; margin-left: .3rem; }
.demonote { text-align: center; font-size: .88rem; color: var(--muted); margin-top: .6rem; }
.mstrip { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: .6rem; margin-top: 1.4rem; }
.mstrip > div { padding: .8rem .9rem; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--bg); }
.mstrip dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: var(--muted); }
.mstrip dd { margin: .2rem 0 0; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 1.12rem; color: var(--ink); }
.lnav { position: sticky; top: 72px; z-index: 30; background: var(--bg); border-block: 1px solid var(--line); }
.lnav .container { display: flex; gap: 1.4rem; overflow-x: auto; scrollbar-width: none; }
.lnav a { flex: 0 0 auto; padding: .8rem 0; font-size: .92rem; font-weight: 600; color: var(--body); text-decoration: none; border-bottom: 2px solid transparent; }
.lnav a:hover { color: var(--ink); border-bottom-color: var(--green); }
.lnav a.lnav__buy { margin-left: auto; color: var(--green-700); }
[data-theme="dark"] .lnav a.lnav__buy { color: var(--green); }
.lsec { scroll-margin-top: 140px; }
.ev { display: inline-flex; align-items: center; padding: .15rem .55rem; border-radius: var(--pill); font-size: .74rem; font-weight: 700; white-space: nowrap; }
.ev--ok { background: #E8FBF1; color: var(--green-700); }
.ev--ok::before { content: "\2713\00a0"; }
.ev--part { background: #FFF6E5; color: #9A5B00; }
.ev--self { background: var(--bg-soft); color: var(--body); }
.ev--none { background: #FEF3F2; color: #B42318; }
.evtable td:nth-child(3) { color: var(--body); font-size: .88rem; }
.srcline { font-size: .84rem; color: var(--muted); display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .8rem; }
.seg { display: inline-flex; padding: .2rem; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-soft); gap: .1rem; }
.seg__b { font: inherit; font-size: .85rem; font-weight: 600; border: 0; background: none; padding: .4rem .75rem; border-radius: 8px; color: var(--body); cursor: pointer; }
.seg__b.is-on { background: var(--bg); color: var(--ink); box-shadow: var(--shadow-sm); }
.pnl__bar { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: space-between; margin-bottom: 1rem; }
.pnl__kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: .6rem; margin: 0 0 1rem; }
.pnl__kpis > div { padding: .7rem .85rem; border-radius: var(--r-sm); background: var(--bg-soft); }
.pnl__kpis dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); font-weight: 700; }
.pnl__kpis dd { margin: .15rem 0 0; font-weight: 800; color: var(--ink); font-family: "Plus Jakarta Sans", sans-serif; }
.chartbox { border: 1px solid var(--line); border-radius: var(--r); padding: .8rem .8rem .5rem; background: var(--bg); margin-bottom: 1rem; }
.chart { width: 100%; height: auto; display: block; }
.chart__grid { stroke: var(--line); stroke-width: 1; }
.chart__zero { stroke: var(--muted); stroke-width: 1; }
.chart__ylab, .chart__xlab { fill: var(--muted); font-size: 11px; font-family: Inter, sans-serif; }
.chart__bar.s-rev { fill: #16C47F; }
.chart__bar.s-exp { fill: #CFD8D3; }
.chart__bar.s-gsc { fill: #16C47F; opacity: .85; }
.chart__line { fill: none; stroke-width: 2.4; stroke-linejoin: round; }
.chart__line.s-net, .chart__dot.s-net { stroke: #0C130F; }
.chart__dot.s-net { fill: #0C130F; }
.chart__line.s-ga { stroke: #0B8A4C; }
.chart__dot.s-ga { fill: #0B8A4C; }
.chart__legend { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .8rem; color: var(--body); padding: .3rem .3rem 0; }
.chart__legend .lg::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: .35rem; vertical-align: -1px; background: currentColor; }
.lg.s-rev::before { background: #16C47F; } .lg.s-exp::before { background: #CFD8D3; } .lg.s-net::before { background: #0C130F; height: 3px; vertical-align: 3px; }
.lg.s-ga::before { background: #0B8A4C; height: 3px; vertical-align: 3px; } .lg.s-gsc::before { background: #16C47F; }
.pnl__tablewrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); }
.pnl__table { border-collapse: collapse; width: 100%; font-size: .86rem; font-variant-numeric: tabular-nums; background: var(--bg); }
.pnl__table th, .pnl__table td { padding: .5rem .7rem; text-align: right; white-space: nowrap; border-bottom: 1px solid var(--line); }
.pnl__table thead th { background: var(--bg-soft); font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.pnl__table tbody th { text-align: left; font-weight: 500; color: var(--body); position: sticky; left: 0; background: var(--bg); }
.pnl__table thead th:first-child { position: sticky; left: 0; }
.pnl__sec th { text-align: left !important; font-weight: 800 !important; color: var(--ink) !important; background: var(--bg-soft) !important; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
.pnl__sub td, .pnl__sub th { font-weight: 700 !important; color: var(--ink) !important; }
.pnl__net td, .pnl__net th { font-weight: 800 !important; color: var(--green-700) !important; background: #F0FCF6 !important; }
.pnl__margin td, .pnl__margin th { color: var(--muted) !important; font-size: .8rem; }
.anal { margin-bottom: 1.6rem; }
.anal__head { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .6rem; }
.anal__head h3 { margin: 0 !important; }
.anal .seg { margin-bottom: .8rem; }
.locked { position: relative; border: 1px dashed var(--line); border-radius: var(--r); overflow: hidden; min-height: 150px; }
.locked__blur { filter: blur(5px); padding: 1rem; color: var(--body); user-select: none; }
.locked__blur p { margin: .4rem 0; }
.locked__msg { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; background: rgba(255,255,255,.55); text-align: center; padding: 1rem; }
.locked__icon { font-size: 1.4rem; }
.vault { border: 2px solid var(--green); border-radius: var(--r-lg); padding: clamp(1.2rem, 3vw, 2rem); background: var(--bg); box-shadow: var(--shadow); }
.vault__form { box-shadow: none; border: 0; padding: 0; margin-top: 1.2rem; }
.vault h2 .ev { vertical-align: middle; margin-left: .4rem; }
.vault__notes { margin-top: 1rem; padding: .9rem 1rem; background: var(--bg-soft); border-radius: var(--r-sm); }
.riskbox { padding: clamp(1.2rem, 3vw, 1.8rem); border: 1px solid #F3D9A4; background: #FFFBF2; border-radius: var(--r-lg); }
.riskbox h2 { font-size: 1.35rem; margin-bottom: .6rem; }
.riskbox p { margin: .6rem 0; }
.riskbox--ok { border-color: #C9EFD9; background: #F4FCF8; }
.crosses--warn li::before { content: "!"; color: #9A5B00; }
@media (max-width: 720px) { .mtabs, .lnav { top: 68px; } .locked__msg strong { font-size: .92rem; } }
[data-theme="dark"] .mtabs, [data-theme="dark"] .lnav, [data-theme="dark"] .mstrip > div, [data-theme="dark"] .chartbox,
[data-theme="dark"] .pnl__table, [data-theme="dark"] .pnl__table tbody th, [data-theme="dark"] .vault, [data-theme="dark"] .seg__b.is-on { background: #131b17; }
[data-theme="dark"] .mtab.is-on { background: var(--green); color: #06130c; }
[data-theme="dark"] .demobar, [data-theme="dark"] .riskbox { background: #1d1a10; border-color: #4a3d1a; color: #f5c26b; }
[data-theme="dark"] .riskbox--ok { background: #0f1c15; border-color: #1f3a2c; color: var(--body); }
[data-theme="dark"] .locked__msg { background: rgba(10,15,12,.6); }
[data-theme="dark"] .chart__line.s-net { stroke: #f2f7f4; } [data-theme="dark"] .chart__dot.s-net { fill: #f2f7f4; }
[data-theme="dark"] .pnl__net td, [data-theme="dark"] .pnl__net th { background: rgba(25,199,125,.12) !important; color: var(--green) !important; }
[data-theme="dark"] .ev--ok { background: rgba(25,199,125,.14); color: var(--green); }

/* ---- guides ---- */
.guide h2 { margin-top: 1.6rem; font-size: 1.45rem; }
.guide ul, .guide ol { padding-left: 1.3rem; display: grid; gap: .35rem; }
.guide__meta { font-size: .85rem; color: var(--muted); }
.guide__lead { font-size: 1.18rem; color: var(--ink); font-weight: 500; }
.tpl { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--bg-soft); }
.tpl__bar { display: flex; justify-content: space-between; align-items: center; padding: .5rem .8rem; border-bottom: 1px solid var(--line); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.tpl pre { margin: 0; padding: 1rem; white-space: pre-wrap; font-size: .88rem; line-height: 1.6; color: var(--ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.rel-grid--1 { grid-template-columns: 1fr; }
[data-theme="dark"] .tpl { background: #0e1511; }

/* ===================== Home hero: registrar-style, white stage with mint accents ===================== */
.xhero { position: relative; isolation: isolate; overflow: hidden; color: var(--body); text-align: center;
  background: radial-gradient(60% 55% at 50% 0%, rgba(22,196,127,.10), transparent 70%),
              radial-gradient(35% 45% at 95% 95%, rgba(54,210,103,.06), transparent 70%), var(--bg);
  padding-block: clamp(64px, 10vw, 128px) clamp(48px, 7vw, 88px); }
.xhero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: none; -webkit-mask-image: radial-gradient(70% 70% at 50% 40%, #000 20%, transparent 80%); mask-image: radial-gradient(70% 70% at 50% 40%, #000 20%, transparent 80%); }
.xhero__media { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.xhero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.xhero__video.is-playing { opacity: .55; }
.xhero__media::after { content: ""; position: absolute; inset: 0; background: radial-gradient(55% 60% at 50% 45%, rgba(255,255,255,.85), rgba(255,255,255,.35) 70%, rgba(255,255,255,0)); }
.xhero__inner { max-width: 880px; position: relative; }
.xhero__kicker { margin: 0 0 1rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--green-700); }
.xhero__h1 { margin: 0; color: var(--ink); font-size: clamp(2.3rem, 1.2rem + 4.4vw, 4rem); line-height: 1.04; letter-spacing: -.03em; }
/* desktop: "Own a valuable piece / of the internet." on two lines; phones: one sentence, wrapping naturally */
@media (max-width: 720px) { .xhero__br { display: none; } }
.xhero__h1 span { background: linear-gradient(100deg, #0EA85B, #16C47F 55%, #36D267); -webkit-background-clip: text; background-clip: text; color: transparent; }
.xhero__sub { margin: 1.1rem auto 0; max-width: 46ch; font-size: clamp(1.05rem, 1rem + .45vw, 1.25rem); color: var(--body); }
.xsearch { max-width: 680px; margin: 2.2rem auto 0; }
.xsearch__tabs { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: .25rem; padding: .3rem; margin-top: .8rem;
  border-radius: 999px; background: rgba(22,196,127,.08); border: 1px solid rgba(22,196,127,.18); }
.xsearch__tab input { position: absolute; opacity: 0; pointer-events: none; }
.xsearch__tab span { display: block; padding: .45rem .95rem; border-radius: 999px; border: 1px solid transparent; font-size: .9rem; font-weight: 600; color: var(--body); cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.xsearch__tab input:checked + span { background: #fff; color: var(--green-700); border-color: rgba(22,196,127,.35); box-shadow: 0 2px 8px rgba(11,138,76,.12); }
.xsearch__tab input:focus-visible + span { outline: 2px solid var(--green); outline-offset: 2px; }
.xsearch__tab span:hover { color: var(--green-700); }
.xsearch__bar { display: flex; gap: .5rem; padding: .5rem; border-radius: 18px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
.xsearch__bar input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 1.1rem; color: var(--ink); padding: .8rem 1rem; }
.xsearch__bar input:focus { outline: none; }
.xsearch__bar:focus-within { border-color: var(--green); box-shadow: 0 0 0 4px rgba(22,196,127,.15), var(--shadow); }
.xsearch__btn { padding-inline: 1.6rem; border-radius: 12px; font-size: 1rem; }
.xhero__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1.3rem; }
.xchip { padding: .42rem .85rem; border-radius: 999px; font-size: .86rem; font-weight: 600; color: var(--green-700); text-decoration: none;
  background: rgba(22,196,127,.08); border: 1px solid rgba(22,196,127,.2); transition: background .2s, border-color .2s; }
.xchip:hover { background: rgba(22,196,127,.16); border-color: rgba(22,196,127,.45); }
.xhero__trust { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.6rem; padding: 0; margin: 2.4rem 0 0; font-size: .9rem; color: var(--body); }
.xhero__trust li { display: inline-flex; align-items: center; gap: .5rem; }
.xtrust__ic { width: 1.25rem; height: 1.25rem; border-radius: 50%; background: rgba(22,196,127,.14); position: relative; flex: none; }
.xtrust__ic::after { content: "✓"; position: absolute; inset: 0; display: grid; place-items: center; font-size: .7rem; font-weight: 700; color: var(--green-700); }
.xhero__sell { margin: 1.4rem 0 0; font-size: .92rem; color: var(--muted); }
.xhero__sell a { color: var(--green-700); font-weight: 600; }
@media (max-width: 640px) {
  .xsearch__bar { flex-direction: column; }
  .xsearch__btn { width: 100%; }
  .xsearch__tab span { padding: .4rem .7rem; font-size: .84rem; }
  .xsearch__tabs { display: flex; flex-wrap: wrap; justify-content: center; border-radius: 14px; }
  .xsearch__tabs::-webkit-scrollbar { display: none; }
  .xsearch__tab span { white-space: nowrap; }
  .xchip:nth-child(n+5) { display: none; }
  .xhero__trust { gap: .5rem 1rem; font-size: .84rem; }
}
/* Dark theme: keep the emerald stage */
[data-theme="dark"] .xhero { color: #B9CCC2; background: radial-gradient(60% 70% at 50% 0%, rgba(22,196,127,.24), transparent 70%), linear-gradient(180deg, #06120C 0%, #0A1B13 60%, #0C2016 100%); }
[data-theme="dark"] .xhero__media::after { background: radial-gradient(55% 60% at 50% 45%, rgba(6,18,12,.88), rgba(6,18,12,.35) 70%, rgba(6,18,12,.1)); }
[data-theme="dark"] .xhero__video.is-playing { opacity: .25; }
[data-theme="dark"] .xhero__h1 { color: #fff; }
[data-theme="dark"] .xhero__sub, [data-theme="dark"] .xhero__trust, [data-theme="dark"] .xsearch__tab span { color: #B9CCC2; }
[data-theme="dark"] .xhero__kicker, [data-theme="dark"] .xhero__sell a, [data-theme="dark"] .xchip { color: #9FF0C6; }
[data-theme="dark"] .xchip, [data-theme="dark"] .xsearch__tabs { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); box-shadow: none; }
[data-theme="dark"] .xsearch__tab input:checked + span { background: rgba(22,196,127,.18); color: #7BE8B8; border-color: rgba(22,196,127,.45); box-shadow: none; }
[data-theme="dark"] .xsearch__bar { background: #111a15; border-color: rgba(255,255,255,.14); box-shadow: 0 18px 40px rgba(0,0,0,.45); }
[data-theme="dark"] .xsearch__bar:focus-within { border-color: var(--green); box-shadow: 0 0 0 4px rgba(22,196,127,.2), 0 18px 40px rgba(0,0,0,.45); }
[data-theme="dark"] .xsearch__bar input { color: #f2f7f4; }
[data-theme="dark"] .xsearch__bar input::placeholder { color: #8FA69A; opacity: 1; }

/* World map behind the hero: "own a piece of the internet" */
.xmap { position: absolute; left: 50%; top: 50%; width: min(1480px, 118%); aspect-ratio: 1000 / 366.7; transform: translate(-50%, -46%); }
.xmap__dots { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .34; }
.xmap__fx { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.xmap__arc { fill: none; stroke: rgba(22,196,127,.28); stroke-width: 1.1; stroke-dasharray: 2 4; }
.xmap__trace { fill: none; stroke: #16C47F; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 10 90; stroke-dashoffset: 100;
  animation: xtrace 5.5s cubic-bezier(.45,0,.3,1) infinite; animation-delay: var(--d); opacity: 0; }
@keyframes xtrace { 0% { stroke-dashoffset: 100; opacity: 0; } 8% { opacity: .9; } 70% { opacity: .9; } 100% { stroke-dashoffset: 0; opacity: 0; } }
.xpin__dot { fill: #0EA85B; stroke: #fff; stroke-width: 1.4; }
.xpin__ring { fill: rgba(22,196,127,.35); transform-box: fill-box; transform-origin: center; animation: xpulse 2.8s ease-out infinite; animation-delay: var(--d); }
@keyframes xpulse { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(3.2); opacity: 0; } }
.xmap__tag { position: absolute; transform: translate(-50%, calc(-100% - 12px)); padding: .28rem .6rem; border-radius: 999px; font-size: .75rem; font-weight: 700;
  color: var(--green-700); background: #fff; border: 1px solid rgba(22,196,127,.28); box-shadow: 0 6px 18px rgba(11,138,76,.12); white-space: nowrap;
  animation: xtag 7s ease-in-out infinite; animation-delay: var(--d); }
.xmap__tag::after { content: ""; position: absolute; left: 50%; bottom: -5px; width: 8px; height: 8px; background: #fff; border-right: 1px solid rgba(22,196,127,.28);
  border-bottom: 1px solid rgba(22,196,127,.28); transform: translateX(-50%) rotate(45deg); }
@keyframes xtag { 0%, 100% { opacity: .95; margin-top: 0; } 50% { opacity: .75; margin-top: -4px; } }
.xhero__media::after { display: none; }
.xmap__dots, .xmap__fx { -webkit-mask-image: radial-gradient(30% 62% at 50% 42%, rgba(0,0,0,.12) 0%, rgba(0,0,0,.35) 55%, #000 100%);
  mask-image: radial-gradient(30% 62% at 50% 42%, rgba(0,0,0,.12) 0%, rgba(0,0,0,.35) 55%, #000 100%); }
@media (max-width: 900px) { .xmap__dots, .xmap__fx { -webkit-mask-image: none; mask-image: none; } }
@media (max-width: 900px) { .xmap__tag { display: none; } .xmap { width: 190%; top: 64%; } .xmap__dots { opacity: .28; } }
@media (prefers-reduced-motion: reduce) { .xmap__trace, .xpin__ring, .xmap__tag { animation: none; } }
[data-theme="dark"] .xmap__dots { opacity: .3; }
[data-theme="dark"] .xmap__arc { stroke: rgba(159,240,198,.25); }
[data-theme="dark"] .xpin__dot { stroke: #06120C; }
[data-theme="dark"] .xmap__tag, [data-theme="dark"] .xmap__tag::after { background: #0C2016; color: #9FF0C6; border-color: rgba(159,240,198,.25); }

/* Domain Score card (domain checkers) */
.dscore { margin: .4rem 0 1.4rem; padding: 1.1rem 1.2rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); box-shadow: var(--shadow-sm); }
.dscore__head { display: grid; grid-template-columns: 88px 1fr; align-items: center; gap: 1rem; position: relative; }
.dscore__ring { width: 88px; height: 88px; transform: rotate(-90deg); grid-row: 1; grid-column: 1; }
.dscore__track { fill: none; stroke: var(--bg-soft); stroke-width: 7; }
.dscore__fill { fill: none; stroke: var(--green); stroke-width: 7; stroke-linecap: round; transition: stroke-dashoffset 1s ease; }
.dscore--ok .dscore__fill { stroke: #7BCB3C; } .dscore--low .dscore__fill { stroke: #E0A526; } .dscore--bad .dscore__fill { stroke: #D9483B; }
.dscore__num { grid-row: 1; grid-column: 1; display: flex; align-items: baseline; justify-content: center; }
.dscore__num strong { font-size: 1.7rem; color: var(--ink); letter-spacing: -.02em; } .dscore__num span { font-size: .75rem; color: var(--muted); margin-left: 1px; }
.dscore__meta { grid-column: 2; }
.dscore__label { margin: 0; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--green-700); }
.dscore__tag { display: inline-block; margin-left: .35rem; padding: .08rem .45rem; border-radius: 999px; font-size: .68rem; letter-spacing: .02em; background: rgba(22,196,127,.12); color: var(--green-700); text-transform: none; }
.dscore__grade { margin: .1rem 0 0; font-size: 1.25rem; font-weight: 700; color: var(--ink); }
.dscore__sub { margin: .25rem 0 0; font-size: .86rem; color: var(--muted); }
.dscore__flags { margin: 1rem 0 0; padding: .7rem .9rem .7rem 2rem; border-radius: var(--r-sm); background: #FDECEC; color: #912018; font-size: .88rem; }
.dsrows { list-style: none; margin: 1.1rem 0 0; padding: 0; display: grid; gap: .55rem; }
.dsrow { display: grid; grid-template-columns: 9.5rem 1fr 2.2rem; grid-template-areas: "k bar v" ". n n"; align-items: center; column-gap: .7rem; font-size: .9rem; }
.dsrow__k { grid-area: k; font-weight: 600; color: var(--ink); }
.dsrow__bar { grid-area: bar; height: 8px; border-radius: 999px; background: var(--bg-soft); overflow: hidden; }
.dsrow__bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #16C47F, #36D267); }
.dsrow__v { grid-area: v; text-align: right; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.dsrow__n { grid-area: n; font-size: .8rem; color: var(--muted); }
.dsrow.is-locked .dsrow__k, .dsrow.is-locked .dsrow__n { color: var(--muted); }
@media (max-width: 520px) {
  .dscore { padding: 1rem; }
  .dscore__head { grid-template-columns: 76px 1fr; column-gap: .8rem; }
  .dscore__ring { width: 76px; height: 76px; }
  .dscore__num strong { font-size: 1.4rem; } .dscore__num span { display: none; }
  .dscore__grade { font-size: 1.05rem; }
  .dscore__sub { grid-column: 1 / -1; }
  .dsrow { grid-template-columns: 1fr 2rem; grid-template-areas: "k v" "bar bar" "n n"; row-gap: .25rem; font-size: .86rem; }
}
[data-theme="dark"] .dscore { background: var(--bg-soft); }
[data-theme="dark"] .dscore__track { stroke: rgba(255,255,255,.08); }
[data-theme="dark"] .dscore__flags { background: rgba(240,68,56,.14); color: #F97066; }

/* Services (paid, Stripe checkout) */
.svcs { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.svcs--one { max-width: 420px; margin: 0 auto; grid-template-columns: 1fr; }
.svc { display: flex; flex-direction: column; gap: .5rem; padding: 1.3rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); box-shadow: var(--shadow-sm); scroll-margin-top: 90px; }
.svc h3 { margin: 0; font-size: 1.1rem; }
.svc p { margin: 0; color: var(--body); font-size: .93rem; }
.svc__price { font-size: 1.8rem !important; font-weight: 800; color: var(--ink) !important; letter-spacing: -.02em; }
.svc__price span { font-size: .85rem; font-weight: 500; color: var(--muted); margin-left: .35rem; letter-spacing: 0; }
.svc .btn { margin-top: auto; }
.svc:target { border-color: var(--green); box-shadow: 0 0 0 4px rgba(22,196,127,.15); }
.deal__cta [data-buy-error] { margin: .4rem 0 0; font-size: .85rem; }
[data-theme="dark"] .svc { background: var(--bg-soft); }

/* ---------- grid / table view (domain collections) ---------- */
.vtoggle { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem; margin-bottom: 1rem; }
.vtoggle__btns { display: inline-flex; gap: .4rem; }
.vfilter { display: flex; flex-wrap: wrap; gap: .4rem; flex: 1 1 auto; justify-content: flex-end; }
.vfilter input, .vfilter select { font: inherit; font-size: .84rem; padding: .45rem .7rem; border: 1px solid var(--line); border-radius: 999px; background: var(--bg); color: var(--body); min-width: 0; }
.vfilter input { width: 8.75rem; }
.vfilter input:focus, .vfilter select:focus { outline: 2px solid var(--green); outline-offset: 1px; }
.vfilter__none { padding: 2rem 0; text-align: center; color: var(--muted); }
.vtoggle__count { margin-right: auto; font-size: .9rem; color: var(--muted); font-weight: 600; }
.vtoggle__btn { display: inline-flex; align-items: center; gap: .4rem; font: inherit; font-size: .88rem; font-weight: 600; padding: .5rem .85rem; border: 1px solid var(--line); border-radius: 999px; background: var(--bg); color: var(--body); cursor: pointer; }
.vtoggle__btn svg { width: 14px; height: 14px; fill: currentColor; }
.vtoggle__btn.is-on { border-color: var(--green); background: rgba(22,196,127,.1); color: var(--green-700); }
.ltable-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); -webkit-overflow-scrolling: touch; }
.ltable { width: 100%; border-collapse: collapse; font-size: .9rem; }
.ltable th, .ltable td { padding: .7rem .6rem; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; }
.ltable thead th { background: var(--bg-soft); padding: 0; }
.ltable thead button { all: unset; box-sizing: border-box; display: block; width: 100%; padding: .7rem .6rem; cursor: pointer; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.ltable thead button::after { content: " \2195"; opacity: .35; }
.ltable thead th[aria-sort="ascending"] button::after { content: " \2191"; opacity: 1; }
.ltable thead th[aria-sort="descending"] button::after { content: " \2193"; opacity: 1; }
.ltable thead button:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }
.ltable tbody th { font-weight: 700; }
.ltable tbody th a { color: var(--ink); text-decoration: none; }
.ltable tbody th a:hover { color: var(--green-700); text-decoration: underline; }
.ltable tbody tr:hover > * { background: rgba(22,196,127,.05); }
.ltable tr:last-child > * { border-bottom: 0; }
.ltable th:first-child { position: sticky; left: 0; background: var(--bg); z-index: 1; }
.ltable thead th:first-child { background: var(--bg-soft); }
.ltable__link { max-width: 11rem; overflow: hidden; text-overflow: ellipsis; color: var(--muted); }
.ltable__price a { color: var(--green-700); font-weight: 600; text-decoration: none; }
.dsbadge { display: inline-block; min-width: 2.4rem; text-align: center; padding: .2rem .5rem; border-radius: 999px; font-weight: 800; font-size: .85rem; background: #FDF1D8; color: #8A5A00; }
.dsbadge--good { background: rgba(22,196,127,.15); color: var(--green-700); }
.dsbadge--ok { background: #EAF6DD; color: #3F7A12; }
.dsbadge--mid { background: #F3F1DA; color: #6B6310; }
.lnote { margin-top: 1rem; padding: 1rem 1.1rem; border: 1px solid #F1DDB0; border-radius: var(--r); background: #FFFAEE; }
.lnote h3 { font-size: 1rem; margin: 0 0 .35rem; }
.lnote p { margin: 0; font-size: .93rem; }
[data-theme="dark"] .vtoggle__btn, [data-theme="dark"] .vfilter input, [data-theme="dark"] .vfilter select, [data-theme="dark"] .ltable-wrap, [data-theme="dark"] .ltable th:first-child { background: #131b17; }
[data-theme="dark"] .ltable thead th, [data-theme="dark"] .ltable thead th:first-child { background: #0e1511; }
[data-theme="dark"] .vtoggle__btn.is-on, [data-theme="dark"] .ltable__price a, [data-theme="dark"] .ltable tbody th a:hover { color: var(--green); }
[data-theme="dark"] .lnote { background: #221c0e; border-color: #4a3a14; }
[data-theme="dark"] .dsbadge { background: #3a2e10; color: #F2C766; }
[data-theme="dark"] .dsbadge--good { color: var(--green); }
[data-theme="dark"] .dsbadge--ok { background: #1f3312; color: #A9DE7A; }
[data-theme="dark"] .dsbadge--mid { background: #2f2d12; color: #E0D77A; }
@media (max-width: 640px) { .ltable { font-size: .88rem; } .ltable th, .ltable td { padding: .6rem .7rem; } .ltable th:first-child { position: static; } }

/* ---------- transfer portal (/account/) ---------- */
.pt .container--narrow { max-width: 820px; }
.pt-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; flex-wrap: wrap; }
.pt-head h1 { margin: .2rem 0 0; }
.pt-who { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; font-size: .9rem; color: var(--muted); }
.pt-card { background: var(--bg); border: 1px solid var(--line); border-radius: var(--r); padding: 1.4rem; box-shadow: var(--shadow-sm); margin-bottom: 1.1rem; }
.pt-card h2 { font-size: 1.25rem; margin: 0 0 .5rem; }
.pt-card h3 { font-size: 1rem; margin: 0 0 .5rem; }
.pt-muted { color: var(--muted); font-size: .92rem; }
.pt-small { font-size: .82rem; margin: 1rem 0 .4rem; }
.pt-loading { display: flex; align-items: center; gap: .6rem; padding: 2rem 0; color: var(--muted); }
.pt-spin { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--line); border-top-color: var(--green); animation: ptspin .8s linear infinite; }
@keyframes ptspin { to { transform: rotate(360deg); } }
.pt-form label, .pt-field { display: grid; gap: .3rem; font-size: .88rem; font-weight: 600; color: var(--ink); margin-bottom: .8rem; }
.pt-field small { font-weight: 400; color: var(--muted); }
.pt-form input, .pt-form select, .pt-form textarea, .pt-compose textarea {
  font: inherit; font-size: .95rem; padding: .7rem .85rem; border: 1px solid #D9E0DC; border-radius: 12px; background: var(--bg); color: var(--ink); width: 100%; box-sizing: border-box; }
.pt-form input:focus, .pt-form select:focus, .pt-form textarea:focus, .pt-compose textarea:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 4px rgba(22,196,127,.15); }
.pt-row { display: flex; gap: .6rem; }
.pt-row input { flex: 1; min-width: 0; }
.pt-sent { padding: .6rem 0 0; }
.pt-signin { max-width: 460px; margin-inline: auto; }
.pt-signin h2 { font-size: 1.3rem; margin: .2rem 0 .8rem; }
.pt-authtabs { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; padding: .3rem; margin-bottom: 1.2rem; border-radius: var(--pill); background: var(--bg-soft); }
.pt-authtabs button { font: inherit; font-weight: 700; font-size: .92rem; padding: .55rem .8rem; border: 0; border-radius: var(--pill); background: transparent; color: var(--body); cursor: pointer; }
.pt-authtabs button.is-on { background: var(--bg); color: var(--ink); box-shadow: var(--shadow-sm); }
.pt-authalt { margin: .8rem 0 0; text-align: center; font-size: .88rem; }
.pt-link { font: inherit; background: none; border: 0; padding: 0; color: var(--green-700); font-weight: 600; cursor: pointer; text-decoration: underline; }
.pt-form small.pt-muted { font-weight: 500; font-size: .8rem; }
.pt-pwcard { margin-bottom: 1.2rem; }
.pt-pwcard .pt-form { max-width: 420px; }
[data-theme="dark"] .pt-authtabs { background: rgba(255,255,255,.05); }
[data-theme="dark"] .pt-authtabs button.is-on { background: #1b2620; }
[data-theme="dark"] .pt-link { color: var(--green); }
.pt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.pt-grid__full { grid-column: 1 / -1; }
.pt-inline { display: flex; gap: .5rem; }
.pt-inline select { flex: 1; }
.pt-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.pt-item { display: grid; gap: .45rem; padding: 1.1rem 1.2rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); text-decoration: none; color: var(--body); transition: border-color .2s, box-shadow .2s; }
.pt-item:hover { border-color: var(--green); box-shadow: var(--shadow-sm); }
.pt-item__top { display: flex; justify-content: space-between; align-items: center; gap: .6rem; }
.pt-item__title { font-weight: 800; font-size: 1.1rem; color: var(--ink); word-break: break-word; }
.pt-item__meta, .pt-item__step { font-size: .85rem; color: var(--muted); }
.pt-mini { height: 6px; border-radius: 999px; background: var(--bg-soft); overflow: hidden; }
.pt-mini span { display: block; height: 100%; background: linear-gradient(90deg, var(--green), var(--green-600)); border-radius: 999px; }
.pt-pill { font-size: .75rem; font-weight: 700; padding: .25rem .6rem; border-radius: 999px; white-space: nowrap; }
.pt-pill--you, .pt-status--you { background: #FFF1D6; color: #8A5A00; }
.pt-pill--wait, .pt-status--wait { background: var(--bg-soft); color: var(--muted); }
.pt-pill--done, .pt-status--done { background: rgba(22,196,127,.14); color: var(--green-700); }
.pt-empty { text-align: center; padding: 2.2rem 1.4rem; }
.pt-back { margin: 0 0 .8rem; font-size: .9rem; }
.pt-back a { color: var(--muted); text-decoration: none; }
.pt-ohead { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.pt-ohead h1 { margin: .15rem 0 .2rem; word-break: break-word; }
.pt-meta { color: var(--muted); font-size: .9rem; margin: 0; }
.pt-status { font-size: .85rem; font-weight: 700; padding: .4rem .8rem; border-radius: 999px; white-space: nowrap; }
.pt-progress { height: 8px; border-radius: 999px; background: var(--bg-soft); overflow: hidden; margin: 1.3rem 0 .9rem; }
.pt-progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--green), var(--green-600)); border-radius: 999px; transition: width .6s ease; }
.pt-steps { list-style: none; margin: 0 0 1.4rem; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; }
.pt-dr .pt-cardhead p { margin: .3rem 0 0; max-width: 60ch; }
.pt-notice { background: rgba(22,196,127,.1); color: var(--green-700); border-radius: 10px; padding: .6rem .9rem; font-size: .9rem; font-weight: 600; margin: .4rem 0 .8rem; }
.pt-drsec { border: 1px solid var(--line); border-radius: 12px; margin: .6rem 0; background: var(--bg); }
.pt-drsec > summary { display: flex; align-items: center; gap: .7rem; padding: .85rem 1rem; cursor: pointer; list-style: none; }
.pt-drsec > summary::-webkit-details-marker { display: none; }
.pt-drsec__dot { width: 24px; height: 24px; flex: none; border-radius: 50%; border: 2px solid var(--line); display: grid; place-items: center; font-size: .75rem; font-weight: 800; color: #fff; }
.pt-drsec--done .pt-drsec__dot { background: var(--green); border-color: var(--green); }
.pt-drsec__t { font-weight: 700; color: var(--ink); }
.pt-drsec > summary small { margin-left: auto; color: var(--muted); font-size: .8rem; text-align: right; }
.pt-drsec[open] > summary { border-bottom: 1px solid var(--line); }
.pt-drsec__body { padding: 1rem; display: grid; gap: .7rem; }
.pt-drsec__body > p { margin: 0; }
.pt-warn { margin: 0; padding: .55rem .8rem; border-radius: 10px; background: #FFF1D6; color: #8A5A00; font-size: .88rem; }
.pt-ok { margin: 0; padding: .55rem .8rem; border-radius: 10px; background: rgba(22,196,127,.1); color: var(--green-700); font-size: .88rem; font-weight: 600; }
.pt-code--sm { font-size: .85rem; background: var(--bg-soft); padding: .1rem .4rem; border-radius: 6px; }
.pt-files { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.pt-files li { display: flex; align-items: baseline; gap: .7rem; flex-wrap: wrap; font-size: .9rem; }
.pt-files a { color: var(--ink); font-weight: 600; word-break: break-all; }
.pt-files small { color: var(--muted); }
.pt-upload label { cursor: pointer; }
.pt-drfoot { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; }
.pt-drfoot p { margin: 0; flex: 1 1 240px; }
.pt-dradmin { margin-top: 1.2rem; padding: 1rem; border: 1px dashed var(--line); border-radius: 12px; display: grid; gap: .7rem; }
.pt-dradmin h3 { margin: 0; }
.pt-dradmin .pt-dl, .pt-dradmin p { margin: 0; }
.pt-bars { display: flex; align-items: flex-end; gap: 3px; height: 90px; padding: 4px 0; border-bottom: 1px solid var(--line); }
.pt-bars span { flex: 1; height: 100%; position: relative; }
.pt-bars i, .pt-bars b { position: absolute; bottom: 0; left: 0; right: 0; border-radius: 3px 3px 0 0; }
.pt-bars i { background: rgba(22,196,127,.3); }
.pt-bars b { background: var(--green-700); left: 25%; right: 25%; }
.pt-flags { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; font-size: .88rem; }
.pt-flag { padding: .45rem .7rem; border-radius: 8px; background: var(--bg-soft); }
.pt-flag--warn { background: #FFF1D6; color: #8A5A00; }
[data-theme="dark"] .pt-drsec, [data-theme="dark"] .pt-offer { background: var(--bg); }
.pt-steps--6 { grid-template-columns: repeat(6, 1fr); }
.pt-cardhead { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: .6rem; }
.pt-cardhead h2 { margin: 0; }
.pt-offer { display: grid; gap: .45rem; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); }
.pt-offer .pt-acts { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.pt-offer .pt-acts:empty { display: none; }
.pt-note { flex: 1 1 180px; min-width: 0; padding: .5rem .7rem; border: 1px solid var(--line); border-radius: 10px; font: inherit; font-size: .88rem; background: var(--bg); color: var(--ink); }
.pt-answers { margin-top: .9rem; border-top: 1px solid var(--line); padding-top: .7rem; }
.pt-answers summary { cursor: pointer; font-weight: 700; font-size: .9rem; color: var(--ink); }
.pt-step { display: grid; justify-items: center; text-align: center; gap: .3rem; font-size: .82rem; color: var(--muted); }
.pt-step__dot { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: .85rem; background: var(--bg-soft); color: var(--muted); border: 2px solid var(--line); }
.pt-step--done .pt-step__dot { background: var(--green); border-color: var(--green); color: #fff; }
.pt-step--current .pt-step__dot { border-color: var(--green); color: var(--green-700); background: var(--bg); box-shadow: 0 0 0 4px rgba(22,196,127,.15); }
.pt-step--current .pt-step__t { color: var(--ink); font-weight: 700; }
.pt-step small { font-size: .72rem; }
.pt-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.2rem; align-items: start; }
.pt-action { border-color: rgba(22,196,127,.45); }
.pt-sub { margin: 1rem 0 .5rem; font-size: .95rem; }
.pt-choice { display: grid; gap: .6rem; margin-bottom: .9rem; }
.pt-opt { display: flex !important; align-items: flex-start; gap: .7rem; padding: .85rem 1rem; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; font-weight: 400 !important; margin: 0 !important; }
.pt-opt:has(input:checked) { border-color: var(--green); background: rgba(22,196,127,.06); }
.pt-opt input { width: auto !important; margin-top: .25rem; accent-color: var(--green); }
.pt-opt span { display: grid; gap: .15rem; }
.pt-opt small { color: var(--muted); }
.pt-dl { display: grid; gap: .4rem; margin: .8rem 0 0; font-size: .9rem; }
.pt-dl div { display: grid; grid-template-columns: 170px 1fr; gap: .8rem; }
.pt-dl dt { color: var(--muted); }
.pt-dl dd { margin: 0; color: var(--ink); word-break: break-word; }
.pt-epp { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; padding: .9rem 1rem; border-radius: 12px; background: var(--bg-soft); margin: .6rem 0 1rem; }
.pt-epp span { font-size: .82rem; color: var(--muted); font-weight: 600; }
.pt-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1.05rem; font-weight: 700; color: var(--ink); letter-spacing: .03em; word-break: break-all; }
.pt-howto { margin: 0 0 1rem; padding-left: 1.2rem; display: grid; gap: .3rem; }
.pt-thread { list-style: none; margin: 1rem 0; padding: 0; display: grid; gap: .7rem; max-height: 520px; overflow-y: auto; }
.pt-msg { padding: .8rem 1rem; border-radius: 14px; background: var(--bg-soft); max-width: 88%; }
.pt-msg--mine { justify-self: end; background: rgba(22,196,127,.1); }
.pt-msg__head { display: flex; justify-content: space-between; gap: 1rem; font-size: .8rem; margin-bottom: .25rem; }
.pt-msg__head time, .pt-msg--system time { color: var(--muted); }
.pt-msg__body { margin: 0; white-space: pre-wrap; word-break: break-word; font-size: .95rem; }
.pt-msg--system { justify-self: center; max-width: 100%; background: transparent; border: 1px dashed var(--line); font-size: .85rem; color: var(--muted); display: grid; gap: .2rem; text-align: center; white-space: pre-wrap; }
.pt-compose { display: grid; gap: .5rem; }
.pt-compose__foot { display: flex; justify-content: flex-end; align-items: center; gap: .8rem; }
.pt-compose__foot .form-error { margin: 0 auto 0 0; }
.pt-help__list { margin: 0 0 .8rem; padding-left: 1.1rem; display: grid; gap: .45rem; font-size: .9rem; }
.pt-admin { border-style: dashed; }
[data-theme="dark"] .pt-card, [data-theme="dark"] .pt-item, [data-theme="dark"] .pt-form input, [data-theme="dark"] .pt-form select,
[data-theme="dark"] .pt-form textarea, [data-theme="dark"] .pt-compose textarea { background: #131b17; border-color: var(--line); }
[data-theme="dark"] .pt-pill--you, [data-theme="dark"] .pt-status--you { background: #3a2e10; color: #F2C766; }
[data-theme="dark"] .pt-pill--done, [data-theme="dark"] .pt-status--done { color: var(--green); }
@media (max-width: 860px) {
  .pt-layout { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .pt-steps, .pt-steps--6 { grid-template-columns: 1fr; gap: .45rem; }
  .pt-step { grid-template-columns: 30px 1fr auto; justify-items: start; text-align: left; align-items: center; }
  .pt-row, .pt-ohead { flex-direction: column; align-items: stretch; }
  .pt-grid { grid-template-columns: 1fr; }
  .pt-dl div { grid-template-columns: 1fr; gap: .1rem; }
  .pt-msg { max-width: 100%; }
}
.pt-side .pt-dl div { grid-template-columns: 1fr; gap: .1rem; }
.pt-side .pt-form .btn { width: 100%; white-space: normal; }
.pt-side .pt-inline .btn { width: auto; }

/* ---------- account dashboard: tabs, portfolio, watchlist, searches, alerts ---------- */
.fbar__row { grid-template-columns: 1fr auto auto auto; }
.pt-tabs { display: flex; gap: .3rem; border-bottom: 1px solid var(--line); margin: 0 0 1.2rem; overflow-x: auto; scrollbar-width: none; }
.pt-tab { font: inherit; font-size: .92rem; font-weight: 600; padding: .7rem .95rem; border: 0; background: none; color: var(--muted); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.pt-tab.is-on { color: var(--ink); border-bottom-color: var(--green); }
.pt-tab:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }
.pt-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; margin-bottom: 1.1rem; }
.pt-stat { padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); display: grid; gap: .15rem; }
.pt-stat strong { font-size: 1.6rem; color: var(--ink); line-height: 1.1; }
.pt-stat span { font-size: .8rem; color: var(--muted); }
.pt-stat--warn { border-color: #F1DDB0; background: #FFFAEE; }
.pt-assets { min-width: 900px; }
.pt-assets th small, .pt-assets td small { display: block; font-size: .75rem; color: var(--muted); font-weight: 400; margin-top: .15rem; }
.pt-aname { font-weight: 700; color: var(--ink); }
.pt-days { font-weight: 700; font-size: .85rem; }
.pt-days--ok { color: var(--green-700); } .pt-days--warn { color: #B26A00; } .pt-days--bad { color: #C0392B; }
.pt-acts { display: flex; gap: .7rem; flex-wrap: wrap; }
.pt-link { font: inherit; font-size: .85rem; font-weight: 600; color: var(--green-700); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: none; }
.pt-link:hover { text-decoration: underline; }
.pt-link--muted { color: var(--muted); }
.pt-emptyline { padding: 1rem 0 .2rem; }
.pt-item--row { grid-template-columns: 1fr auto auto auto; align-items: center; gap: 1rem; }
.pt-grid--3 { grid-template-columns: 1fr 1.4fr 1fr; }
.pt-prefs { display: grid; gap: .2rem; }
.pt-switch { display: flex; align-items: flex-start; gap: .8rem; padding: .8rem 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.pt-switch:last-child { border-bottom: 0; }
.pt-switch input { width: 20px; height: 20px; margin-top: .15rem; accent-color: var(--green); flex: none; }
.pt-switch span { display: grid; gap: .1rem; }
.pt-switch small { color: var(--muted); font-size: .85rem; }
.pt-save.is-on { border-color: var(--green); color: var(--green-700); }
[data-theme="dark"] .pt-stat { background: #131b17; }
[data-theme="dark"] .pt-stat--warn { background: #221c0e; border-color: #4a3a14; }
@media (max-width: 720px) {
  .fbar__row { grid-template-columns: 1fr 1fr; }
  .fbar__row [data-save-search] { grid-column: 1 / -1; }
  .pt-stats { grid-template-columns: 1fr 1fr; }
  .pt-grid--3 { grid-template-columns: 1fr; }
  .pt-item--row { grid-template-columns: 1fr auto; }
}
.pt .container--narrow:has([data-pt-tabs]) { max-width: 1080px; }
.pt-assets { min-width: 820px; }
.ltable.pt-assets thead th { padding: .75rem .9rem; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.pt-foot { font-size: .8rem; color: var(--muted); margin: .7rem 0 0; }
[data-pt-assets] { margin-top: 1rem; }

/* ---------- Stacked tables on phones (main.js adds .tstack, .tstack__t and data-label) ---------- */
@media (max-width: 640px) {
  .cmp-wrap:has(> .tstack), .ltable-wrap:has(> .tstack) { overflow: visible; border: 0; border-radius: 0; background: transparent; }
  table.tstack { display: block; min-width: 0; width: 100%; background: transparent; font-size: .92rem; }
  .tstack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .tstack tbody, .tstack tbody tr { display: block; }
  .tstack tbody tr { border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); padding: .15rem .95rem .35rem; margin-bottom: .65rem; box-shadow: var(--shadow-sm); }
  .tstack tbody tr:last-child { margin-bottom: 0; }
  .tstack tbody th, .tstack tbody td { display: block; position: relative; padding: .5rem 0; border-bottom: 1px solid var(--line); white-space: normal; text-align: left; background: none !important; min-width: 0; word-break: break-word; }
  .tstack tbody tr > :last-child { border-bottom: 0; }
  .tstack .tstack__t { position: static; font-size: 1rem; font-weight: 800; color: var(--ink); padding: .65rem 0 .6rem; }
  .tstack [data-label] { padding-left: calc(42% + .8rem); min-height: 2.1em; }
  .tstack [data-label]::before { content: attr(data-label); position: absolute; left: 0; top: .5rem; width: 42%; color: var(--muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; line-height: 1.5; }
  /* Listing table view: the sort headers become a row of chips above the cards. */
  .ltable.tstack thead:has(button) { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; display: block; margin-bottom: .75rem; }
  .ltable.tstack thead tr { display: flex; flex-wrap: wrap; gap: .4rem; }
  .ltable.tstack thead th { display: block; padding: 0; border: 0; background: none; position: static; }
  .ltable.tstack thead th:empty { display: none; }
  .ltable.tstack thead button { width: auto; padding: .35rem .75rem; border: 1px solid var(--line); border-radius: 999px; background: var(--bg); font-size: .72rem; }
  .ltable.tstack thead th[aria-sort="ascending"] button, .ltable.tstack thead th[aria-sort="descending"] button { border-color: var(--green); color: var(--green-700); }
}

/* The referrer table has 6 columns in the narrower listing column: cards on tablets too. */
@media (min-width: 641px) and (max-width: 1100px) {
  .cmp-wrap:has(> .reftable.tstack) { overflow: visible; border: 0; border-radius: 0; background: transparent; }
  table.reftable.tstack { display: block; min-width: 0; width: 100%; background: transparent; font-size: .92rem; }
  .reftable.tstack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .reftable.tstack tbody, .reftable.tstack tbody tr { display: block; }
  .reftable.tstack tbody tr { border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); padding: .15rem .95rem .35rem; margin-bottom: .65rem; box-shadow: var(--shadow-sm); }
  .reftable.tstack tbody tr:last-child { margin-bottom: 0; }
  .reftable.tstack tbody th, .reftable.tstack tbody td { display: block; position: relative; padding: .5rem 0; border-bottom: 1px solid var(--line); white-space: normal; text-align: left; background: none !important; min-width: 0; word-break: break-word; }
  .reftable.tstack tbody tr > :last-child { border-bottom: 0; }
  .reftable.tstack .tstack__t { position: static; font-size: 1rem; font-weight: 800; color: var(--ink); padding: .65rem 0 .6rem; }
  .reftable.tstack [data-label] { padding-left: calc(42% + .8rem); min-height: 2.1em; }
  .reftable.tstack [data-label]::before { content: attr(data-label); position: absolute; left: 0; top: .5rem; width: 42%; color: var(--muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; line-height: 1.5; }
  .reftable.tstack [data-label] { padding-left: calc(30% + .8rem); }
  .reftable.tstack [data-label]::before { width: 30%; }
}

/* Link quality badges (listing referrer table) */
.lq { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.lq--strong { background: rgba(22,196,127,.16); color: var(--green-700); }
.lq--good { background: rgba(22,196,127,.09); color: var(--green-700); }
.lq--fair { background: var(--bg-soft); color: var(--ink); }
.lq--weak { background: var(--bg-soft); color: var(--muted); }
.lq--spam { background: #FDE8E8; color: #A61B1B; }
.reftable td:nth-child(2) .reftable__n, .reftable td:nth-child(5) .reftable__n { display: block; margin: .15rem 0 0; white-space: nowrap; }
.reftable th, .reftable td { padding: .65rem .6rem; }
.reftable tbody th { white-space: normal; overflow-wrap: normal; }
.reftable .lq { white-space: nowrap; }
[data-theme="dark"] .lq--spam { background: rgba(229,72,77,.16); color: #FF8A8E; }
[data-theme="dark"] .lq--strong, [data-theme="dark"] .lq--good { color: var(--green); }

/* ---------- Domain landing pages (lander.php) ---------- */
.lander-page { background: var(--bg); }
.lander-top { border-bottom: 1px solid var(--line); background: var(--bg); }
.lander-top__in { display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
.lander__in { max-width: 720px; margin-inline: auto; }
.lander__hero { padding-block: clamp(48px, 8vw, 96px) clamp(40px, 6vw, 72px); }
.lander__eyebrow { margin: 0 0 .9rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--green-700); }
/* data on the left, the buy / offer card on the right; on phones: name, card, then the data */
.lander__grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; grid-template-areas: "head side" "data side";
  gap: 1.6rem clamp(2rem, 5vw, 4rem); align-items: start; text-align: left; }
.lander__head { grid-area: head; container-type: inline-size; }
.lander__side { grid-area: side; position: sticky; top: 24px; }
.lander__data { grid-area: data; }
/* one line: shrinks with the name's length (--n characters) to fit its column */
.lander__name { margin: 0; color: var(--ink); line-height: 1.05; letter-spacing: -.03em; white-space: nowrap;
  font-size: min(4.4rem, calc(100cqw / (var(--n, 12) * .6))); }
@media (max-width: 900px) {
  .lander__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "side" "data"; }
  .lander__side { position: static; }
}
.lander__sum { margin: 1rem 0 0; max-width: 56ch; font-size: clamp(1rem, .95rem + .35vw, 1.15rem); }
.lander__card { margin: 0; text-align: left; background: var(--bg); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); padding: 1.4rem; display: grid; gap: .8rem; }
.lander__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .3rem .7rem; }
.lander__label { width: 100%; font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.lander__price strong { font-family: "Plus Jakarta Sans", sans-serif; font-size: 2rem; font-weight: 800; color: var(--ink); line-height: 1.1; }
.lander__price small { color: var(--muted); }
.lander__or { margin: -.2rem 0 0; text-align: center; font-size: .85rem; color: var(--muted); }
.lander__note { margin: 0; font-size: .92rem; }
.lander__form { display: grid; gap: .7rem; }
.lander__form label { display: grid; gap: .3rem; font-size: .85rem; font-weight: 600; color: var(--ink); }
.lander__form input:not([type="checkbox"]) { width: 100%; font: inherit; padding: .75rem .9rem; border: 1px solid #D9E0DC; border-radius: 12px; background: var(--bg); color: var(--ink); }
.lander__form input:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 3px rgba(22,196,127,.18); }
.lander__form .input-affix input { padding-left: 1.9rem; }
.lander__row { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.lander__done { margin: 0; padding: .8rem 1rem; border-radius: 12px; background: rgba(22,196,127,.1); color: var(--green-700); }
.lander__trust { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; gap: .4rem 1.2rem; font-size: .88rem; color: var(--muted); }
.lander__trust li::before { content: "\2713"; color: var(--green); font-weight: 800; margin-right: .4rem; }
.lander__facts { margin-top: 0; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.lander__facts dd { overflow-wrap: anywhere; }
.lander__facts .lander__fact-sub { margin-top: .15rem; font-family: inherit; font-weight: 500; font-size: .78rem; color: var(--muted); }
@media (max-width: 640px) { .lander__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lander__data .lander__more { text-align: left; }
.lander__why { margin-top: 1.6rem; }
.lander__badges { margin: -.3rem 0 .7rem; }
.lander__badges .badge { margin-left: 0; }
.lander__why h2 { margin: 0; font-size: 1.15rem; color: var(--ink); }
.lander__why .pbreak { margin: .7rem 0 .5rem; background: var(--bg); }
.lander__why-note { margin: 0; font-size: .82rem; color: var(--muted); }
.lander__why-note a { color: inherit; }
[data-theme="dark"] .lander__why .pbreak { background: #0f1813; border-color: rgba(255,255,255,.1); }
.lander__more { margin: 1rem 0 0; text-align: center; }
.lander__more a { color: var(--green-700); font-weight: 600; }
.lander-foot { border-top: 1px solid var(--line); padding: 1.4rem 0 2rem; text-align: center; font-size: .88rem; color: var(--muted); }
.lander-foot a { color: var(--ink); }
@media (max-width: 520px) { .lander__row { grid-template-columns: 1fr; } .lander__card { padding: 1.1rem; } }
[data-theme="dark"] .lander__card { background: #0f1813; border-color: rgba(255,255,255,.1); box-shadow: 0 24px 60px rgba(0,0,0,.45); }
[data-theme="dark"] .lander__form input:not([type="checkbox"]) { background: #0a110d; border-color: rgba(255,255,255,.14); }
[data-theme="dark"] .lander__eyebrow, [data-theme="dark"] .lander__more a { color: var(--green); }
[data-theme="dark"] .lander__done { color: var(--green); }
.pt-connect { margin-top: 1rem; }

@media (max-width: 720px) { .vtoggle__count { flex-basis: 100%; } .vfilter { justify-content: flex-start; } .vfilter input, .vfilter select { flex: 1 1 42%; width: auto; } }

/* ---- domain value checker: value card, factor cards, worked example ---- */
.dvalue { margin: 1rem 0 1.25rem; padding: 1.2rem 1.25rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg-soft); }
.dvalue__label { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin: 0 0 .35rem; }
.dvalue__price { font-size: clamp(2rem, 5vw, 2.6rem); font-weight: 800; color: var(--ink); line-height: 1.1; margin: 0; letter-spacing: -.02em; }
.dvalue__range { color: var(--muted); font-size: .92rem; margin: .2rem 0 .9rem; }
.dvalue__lead { font-size: .95rem; margin: 0 0 .8rem; }
.dvalue__scens { list-style: none; margin: 0 0 .9rem; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.dvalue__scen { display: flex; flex-direction: column; gap: .15rem; padding: .85rem .9rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); }
.dvalue__scen strong { font-size: 1.35rem; color: var(--ink); }
.dvalue__scenk { font-size: .8rem; font-weight: 700; color: var(--body); }
.dvalue__scenn { font-size: .78rem; color: var(--muted); }
.dvalue__scen--strong { border-color: var(--green); background: rgba(22,196,127,.07); }
.dvalue__h { font-size: .88rem; margin: .4rem 0 .4rem; }
.dvalue__base { font-size: .88rem; color: var(--muted); margin: 0 0 .4rem; }
.dvalue__why { list-style: none; margin: 0 0 .7rem; padding: 0; }
.dvalue__why li { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid var(--line); font-size: .9rem; }
.dvalue__why li:last-child { border-bottom: 0; }
.dvalue__why strong { white-space: nowrap; color: var(--green-700); }
.dvalue__fine { font-size: .8rem; color: var(--muted); margin: 0; }
.dvalue__none { margin: 0; font-weight: 600; }
.dvfs { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.dvf { padding: 1.3rem 1.35rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); box-shadow: var(--shadow-sm); }
.dvf__head { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; margin-bottom: .45rem; }
.dvf__head h3 { font-size: 1.05rem; margin: 0; }
.dvf__w { flex-shrink: 0; font-size: .74rem; font-weight: 700; padding: .2rem .55rem; border-radius: 999px; background: rgba(22,196,127,.12); color: var(--green-700); }
.dvf p { font-size: .93rem; margin: 0 0 .7rem; }
.dvf__list { list-style: none; margin: 0; padding: 0; font-size: .88rem; display: grid; gap: .35rem; }
.dvf__list li { padding-left: 1.3rem; position: relative; }
.dvf__up::before { content: "\2191"; position: absolute; left: 0; color: var(--green-700); font-weight: 700; }
.dvf__down::before { content: "\2193"; position: absolute; left: 0; color: #C2410C; font-weight: 700; }
.dvex { display: grid; gap: .9rem; }
.dvex h3 { margin-top: 0; }
.dvex__t td:nth-child(2) { white-space: nowrap; }
.dvex__total > * { font-weight: 800; color: var(--ink); }
[data-theme="dark"] .dvalue { background: #0e1511; }
[data-theme="dark"] .dvalue__scen, [data-theme="dark"] .dvf { background: #131b17; }
[data-theme="dark"] .dvalue__why strong, [data-theme="dark"] .dvf__w, [data-theme="dark"] .dvf__up::before { color: var(--green); }
@media (max-width: 640px) { .dvalue__scens { grid-template-columns: 1fr; } .dvalue__scen { flex-direction: row; flex-wrap: wrap; align-items: baseline; column-gap: .6rem; } .dvalue__scen strong { order: 2; margin-left: auto; } .dvalue__scenn { order: 3; flex-basis: 100%; } }

/* ---- calculators: model-specific question groups, derived metrics ---- */
.mgroup { margin: 1.1rem 0 0; padding: 1rem 1.1rem .4rem; border: 1px dashed var(--line); border-radius: var(--r); }
.mgroup legend { padding: 0 .4rem; font-weight: 700; font-size: .95rem; color: var(--ink); }
.mgroup legend span { font-weight: 500; font-size: .82rem; color: var(--muted); }
.calc__derived { margin-top: .75rem; }
.calc__derived dd { font-weight: 600; }

/* ---- admin: listings manager (/account/?tab=listings) ---- */
.la-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.la-filter { display: flex; gap: .5rem; margin: .8rem 0; }
.la-filter select, .la-filter input { font: inherit; font-size: .9rem; padding: .5rem .75rem; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); color: var(--body); }
.la-filter input { flex: 1; min-width: 0; }
.la-row { grid-template-columns: 1fr auto auto auto; align-items: center; gap: .9rem; margin-bottom: .5rem; }
.la-row--off { opacity: .72; }
.la-row__main { min-width: 0; }
.la-row__main .la-row__title { overflow-wrap: anywhere; }
.la-row__title { font-weight: 700; color: var(--ink); text-decoration: none; }
.la-row__title:hover { color: var(--green-700); text-decoration: underline; }
.la-row__price { display: grid; text-align: right; }
.la-row__price small { color: var(--muted); font-size: .72rem; }
.la-status { font: inherit; font-size: .85rem; padding: .4rem .5rem; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); color: var(--body); }
.la-note { margin: .6rem 0; padding: .7rem .9rem; border-radius: 10px; background: #FFFAEE; border: 1px solid #F1DDB0; font-size: .9rem; }
.la-msg { margin: .8rem 0; padding: .8rem 1rem; border-radius: 10px; font-size: .92rem; }
.la-msg p { margin: 0 0 .3rem; }
.la-msg ul { margin: .3rem 0 0 1.1rem; }
.la-msg--ok { background: rgba(22,196,127,.08); border: 1px solid rgba(22,196,127,.35); }
.la-msg--err { background: #FFF4F2; border: 1px solid #F3C4BB; }
.la-json { width: 100%; font: .82rem/1.45 ui-monospace, SFMono-Regular, Menlo, monospace; padding: .7rem; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-soft); color: var(--ink); }
.la-report { margin: 1rem 0; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg-soft); }
.la-report__head { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: .6rem; }
.la-report__head > div { display: grid; gap: .1rem; }
.la-report__head small { font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: var(--muted); }
.la-report__head strong { font-size: 1.6rem; color: var(--ink); line-height: 1.1; }
.la-report__head span { font-size: .88rem; color: var(--muted); }
.la-flags { margin: .4rem 0; color: #B42318; font-weight: 600; }
.la-factors { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .3rem; font-size: .88rem; }
.la-factors li { display: grid; grid-template-columns: 9rem 3rem 1fr; gap: .6rem; align-items: baseline; }
.la-factors--price li { grid-template-columns: 1fr auto; }
.la-factors span { text-transform: capitalize; color: var(--body); }
.la-factors--price span { text-transform: none; }
.la-factors small { color: var(--muted); }
.la-factors li.up, .la-factors li.down { display: block; }
.la-factors li.up { color: var(--green-700); }
.la-factors li.down { color: #B42318; }
.la-form textarea { resize: vertical; }
.la-buttons { display: flex; gap: .6rem; flex-wrap: wrap; }
.la-guide { padding: .9rem 1rem; border-radius: 10px; background: rgba(22,196,127,.07); border: 1px solid rgba(22,196,127,.3); margin-bottom: .8rem; }
.la-guide p { margin: 0; }
.la-adv { margin-top: 1.2rem; }
.la-adv summary { cursor: pointer; font-weight: 600; color: var(--muted); }
.la-adv .btn { margin-top: .6rem; }
[data-theme="dark"] .la-filter select, [data-theme="dark"] .la-filter input, [data-theme="dark"] .la-status { background: #131b17; }
[data-theme="dark"] .la-report, [data-theme="dark"] .la-json { background: #0e1511; }
[data-theme="dark"] .la-note { background: #2a2414; border-color: #5a4a1e; }
[data-theme="dark"] .la-msg--err { background: #2a1714; border-color: #5a2a22; }
@media (max-width: 640px) { .la-row { grid-template-columns: 1fr auto; } .la-report__head { grid-template-columns: 1fr; } .la-factors li { grid-template-columns: 7rem 2.5rem 1fr; } }
