:root {
  --bg: #f3f6fb;
  --surface: #ffffff;
  --surface-soft: rgba(255,255,255,.74);
  --border: #e3e8f2;
  --text: #1f2b46;
  --muted: #6f7d96;
  --brand: #3e67c6;
  --brand-dark: #1d3567;
  --blue-soft: #edf4ff;
  --green-soft: #ecf8f1;
  --amber-soft: #fff7e8;
  --rose-soft: #fff1f1;
  --violet-soft: #f4f0ff;
  --mint-soft: #effaf7;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: linear-gradient(180deg, #f8fbff 0%, #f3f6fb 16%, #f3f6fb 100%);
  color: var(--text);
}
a { text-decoration: none; }
.site-header {
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(227,232,242,.8);
  position: sticky;
  top: 0;
  z-index: 30;
}
.site-header-inner {
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.brand { display:flex; align-items:center; gap:14px; color:var(--text); font-weight:700; font-size:1.25rem; }
.brand-mark {
  width: 42px; height: 42px; display:grid; place-items:center;
  border-radius: 14px; background: linear-gradient(180deg, #eef3ff, #e7eefc); color: var(--brand);
  box-shadow: inset 0 0 0 1px #dfe7f6;
}
.site-nav a { display:inline-flex; align-items:center; color:#5d6c87; font-weight:700; padding:.55rem .9rem; border-radius:999px; }
.site-nav a:hover { background:#f3f6fb; color:var(--text); }
.hero-section { padding: 44px 0 28px; position: relative; overflow: hidden; }
.hero-section::before {
  content: "";
  position: absolute;
  left: -140px;
  top: 24px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(98,126,199,.14) 0%, rgba(98,126,199,.06) 36%, rgba(98,126,199,0) 72%);
  pointer-events: none;
}
.hero-section::after {
  content: "";
  position: absolute;
  left: 120px;
  top: 110px;
  width: 220px;
  height: 220px;
  border-radius: 28px;
  transform: rotate(-12deg);
  background: linear-gradient(180deg, rgba(255,255,255,.46), rgba(255,255,255,0));
  border: 1px solid rgba(255,255,255,.42);
  box-shadow: 0 18px 50px rgba(56,78,122,.06);
  pointer-events: none;
}
.eyebrow, .hero-topline, .section-kicker {
  text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; color: #7e8dab; font-weight: 700;
}
.hero-copy { position: relative; z-index: 1; }
.hero-copy h1 {
  font-size: clamp(1.85rem, 1.15vw + 1.25rem, 3.1rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  max-width: 430px;
  margin: 10px 0 12px;
  font-weight: 800;
  text-wrap: balance;
}
.hero-copy p { max-width: 500px; color: var(--muted); font-size: 1rem; line-height: 1.72; }
.hero-points { display:grid; gap:12px; margin-top: 22px; }
.hero-points div { display:flex; align-items:center; gap:12px; color: var(--text); font-size:1rem; }
.hero-points i { width: 38px; height:38px; display:grid; place-items:center; border-radius:12px; background:#eef3fb; color: var(--brand); }
.home-card, .card-panel, .mini-card {
  background: var(--surface-soft);
  border: 1px solid rgba(227,232,242,.95);
  box-shadow: 0 16px 40px rgba(43, 63, 102, .08);
  border-radius: 28px;
  backdrop-filter: blur(12px);
}
.home-card { padding: 24px; position: relative; z-index: 1; }
.home-card-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom: 12px; }
.home-card h2 { font-size: 1.15rem; margin: 4px 0 0; }
.address-box {
  font-size: clamp(2rem, 3.6vw, 3.25rem); font-weight: 800; line-height: 1.05; letter-spacing: -0.04em;
  background: #f3f6fc; border:1px solid #e3e8f3; border-radius: 24px; padding: 18px 20px; margin-top: 14px;
}
.address-note { margin: 14px 0 18px; color: var(--muted); font-size: 1.05rem; line-height: 1.65; }
.home-actions { display:flex; gap:12px; flex-wrap:wrap; }
.btn {
  border-radius: 999px; font-weight: 700; padding: .9rem 1.4rem; border: 0; transition: .2s ease;
}
.btn-brand { background: linear-gradient(180deg, #5378d7 0%, #3b63c5 100%); color: #fff; }
.btn-brand:hover { color:#fff; transform: translateY(-1px); }
.btn-soft { background:#fff; color: var(--text); border:1px solid #dce4f2; }
.btn-soft:hover { background:#f8fbff; }
.btn-darkline { background: linear-gradient(180deg, #1f3b74 0%, #18315f 100%); color:#fff; }
.btn-darkline:hover { color:#fff; }
.status-chip { display:inline-flex; align-items:center; gap:8px; padding:.55rem .9rem; border-radius:999px; font-weight:700; font-size:.95rem; }
.chip-ready { background: #ecf8f1; color: #2f8f66; }
.feature-cards .mini-card { padding: 22px 24px; height:100%; }
.feature-cards h3 { font-size: 1.15rem; margin-bottom: .65rem; }
.feature-cards p, .mini-card p { color: var(--muted); margin:0; line-height:1.65; }
.site-footer { color:#7c8aa3; padding: 26px 0 42px; }

.wait-section { padding: 56px 0 90px; }
.wait-shell {
  max-width: 780px; margin: 0 auto; text-align:center; padding: 48px 34px; border-radius: 34px;
  background: rgba(255,255,255,.82); border:1px solid rgba(227,232,242,.95); box-shadow: 0 24px 56px rgba(37,56,93,.08);
}
.wait-anim { position:relative; width: 180px; height: 180px; margin: 0 auto 24px; }
.wait-core {
  position:absolute; inset: 50px; border-radius: 30px; display:grid; place-items:center; font-size: 2.4rem; color: var(--brand);
  background: linear-gradient(180deg, #ffffff, #eef3ff); box-shadow: 0 12px 24px rgba(62,103,198,.16);
}
.pulse-ring {
  position:absolute; inset: 24px; border: 1px solid rgba(83,120,215,.26); border-radius: 50%; animation: pulse 2.8s infinite;
}
.pulse-ring.delay-1 { animation-delay: .9s; }
.pulse-ring.delay-2 { animation-delay: 1.8s; }
@keyframes pulse { from { transform: scale(.72); opacity: .9; } to { transform: scale(1.18); opacity: 0; } }
.wait-shell h1 { font-size: clamp(2rem, 3.2vw, 3.2rem); letter-spacing: -0.04em; margin: 10px 0 16px; }
.wait-shell p { color: var(--muted); max-width: 620px; margin: 0 auto 24px; line-height: 1.7; font-size:1.05rem; }
.wait-steps { display:grid; gap:12px; max-width: 520px; margin: 0 auto 24px; }
.wait-step { padding: 14px 16px; border-radius: 18px; background:#f6f8fc; color:#5f6b81; text-align:left; border:1px solid #e4eaf3; }
.wait-step.active { background:#edf4ff; color: var(--text); }
.wait-step span { width: 28px; height: 28px; border-radius: 50%; display:inline-grid; place-items:center; background:#fff; margin-right: 10px; font-weight:700; }
.loading-bar { height: 12px; background:#edf1f8; border-radius:999px; overflow:hidden; max-width: 520px; margin:0 auto 24px; }
.loading-bar span { display:block; height:100%; width:40%; background: linear-gradient(90deg, #88a7f0, #4e74cf, #88a7f0); animation: movebar 1.4s linear infinite; }
@keyframes movebar { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
.wait-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom: 18px; }
.wait-help { color:#7d8aa4; }

.report-section { padding: 42px 0 78px; }
.report-grid-top { display:grid; grid-template-columns: 1.65fr .85fr; gap: 30px; margin-bottom: 28px; }
.report-grid-main { display:grid; grid-template-columns: 1.45fr .85fr; gap: 30px; align-items:start; }
.card-panel { padding: 26px; margin-bottom: 0; }
.accent-blue { background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.74)), radial-gradient(circle at top left, #eff5ff, transparent 42%); }
.accent-mint { background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.74)), radial-gradient(circle at top, #effcf5, transparent 40%); }
.accent-blue-soft, .accent-rose-soft, .accent-amber-soft, .accent-violet-soft, .accent-green-soft, .accent-mint-soft { background: #ffffff; }

.report-left, .report-right { display:grid; gap:30px; align-content:start; }
.report-left .section-card, .report-right .side-card { margin:0; }
.report-right .side-card + .side-card, .report-left .section-card + .section-card { margin-top:0; }
.report-address-row { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-top: 10px; }
.report-hero h1 { font-size: clamp(1.7rem, 2.3vw, 2.45rem); letter-spacing:-0.03em; margin:0 0 10px; }
.report-hero p, .score-card p, .summary-box p, .status-row small, .metric-grid span, .dnsbl-block li, .info-card span { color: var(--muted); }
.report-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.stat-strip { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px; margin-top: 24px; }
.stat-pill, .info-card {
  border-radius: 18px; padding: 16px 18px; border:1px solid #e4ebf4; background: rgba(255,255,255,.92);
}
.stat-pill strong, .info-card strong { display:block; font-size:1rem; color:var(--text); }
.stat-pill small, .info-card span { display:block; margin-top:4px; }
.pill-neutral { background: #f8fafc; }
.pill-blue { background: #f6f8fc; }
.pill-amber { background: #fbfaf7; }
.dot { width: 10px; height: 10px; border-radius: 50%; background:#7b8799; display:inline-block; margin-right:10px; box-shadow: 0 0 0 6px rgba(123,135,153,.10); }
.score-card { text-align:center; }
.score-ring { width: 176px; height:176px; border-radius:50%; margin: 10px auto 18px; display:grid; place-items:center; }
.score-good { background: conic-gradient(#7bc8ab 0 324deg, #dce7f2 324deg 360deg); }
.score-mid { background: conic-gradient(#f0c46b 0 252deg, #dce7f2 252deg 360deg); }
.score-bad { background: conic-gradient(#ef8d8d 0 144deg, #dce7f2 144deg 360deg); }
.score-ring-inner { width: 132px; height:132px; border-radius:50%; background: #fff; display:grid; place-items:center; line-height:1; box-shadow: inset 0 0 0 1px #e5ebf4; }
.score-ring-inner strong { font-size: 3rem; letter-spacing:-0.04em; }
.score-ring-inner span { font-size: 1.1rem; color: var(--muted); }
.score-label { font-size:1.35rem; font-weight:800; margin-bottom:10px; }
.info-row { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; margin-bottom: 26px; }
.tint-blue { background:#f6f9ff; }
.tint-amber { background:#fffaf2; }
.tint-green { background:#f5fbf7; }
.tint-violet { background:#faf7ff; }
.section-card h2, .side-card h3 { font-size: 1.32rem; letter-spacing:-0.02em; margin: 6px 0 14px; }
.summary-box { border:1px solid #e5ebf4; border-radius: 22px; padding: 18px 20px; background:#fcfdff; }
.summary-title { font-size:.82rem; font-weight:700; letter-spacing:.12em; text-transform: uppercase; color:#7f8aa0; margin-bottom: 10px; }
.findings-list, .suggestion-list { margin:0; padding:0; list-style:none; }
.finding-item { display:flex; gap:14px; align-items:flex-start; padding: 14px 0; border-top:1px solid #edf1f7; }
.finding-item:first-child { border-top:0; }
.finding-item span { width: 12px; height: 12px; margin-top: .35rem; border-radius: 50%; flex:0 0 auto; }
.tone-blue span { background:#85a7ef; box-shadow:0 0 0 8px rgba(133,167,239,.16); }
.tone-green span { background:#57b48b; box-shadow:0 0 0 8px rgba(87,180,139,.14); }
.tone-amber span { background:#e6b34c; box-shadow:0 0 0 8px rgba(230,179,76,.15); }
.tone-rose span { background:#e58c8c; box-shadow:0 0 0 8px rgba(229,140,140,.15); }
.suggestion-list { padding-left: 1.2rem; }
.suggestion-list li { padding: .4rem 0; }
.status-list, .compact-statuses { display:grid; gap: 12px; }
.status-row, .compact-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding: 12px 0; border-top:1px solid #edf1f7; }
.status-row:first-child, .compact-row:first-child { border-top:0; }
.status-row strong { display:block; margin-bottom:4px; }
.metric-grid { display:grid; gap: 14px; }
.metric-grid div { display:flex; justify-content:space-between; border-top:1px solid #edf1f7; padding-top: 12px; }
.metric-grid div:first-child { border-top:0; padding-top:0; }
.metric-grid strong { font-size:1.2rem; }
.dnsbl-block { margin-top: 18px; }
.dnsbl-title { font-size:.82rem; text-transform:uppercase; letter-spacing:.14em; color:#7e8dab; font-weight:700; margin-bottom: 10px; }
.dnsbl-block ul { margin:0; padding-left: 1rem; }
.history-list { display:grid; gap: 12px; }
.history-item { display:grid; grid-template-columns: 165px 1fr auto; gap: 16px; align-items:center; padding: 14px 0; border-top:1px solid #edf1f7; }
.history-item:first-child { border-top:0; }
.history-date { color:#7d8aa2; font-size:.95rem; }
.history-main span { display:block; color:var(--muted); }
.history-score { background:#eef3ff; color:var(--brand); padding:.45rem .8rem; border-radius:999px; font-weight:800; }
.badge-status { display:inline-flex; align-items:center; justify-content:center; min-width: 88px; padding:.5rem .85rem; border-radius:999px; font-size:.88rem; font-weight:800; }
.badge-success { background:#e9f7ef; color:#2d8e67; }
.badge-warning { background:#fff3d8; color:#b37a16; }
.badge-danger { background:#ffe6e6; color:#ca5454; }
.badge-info { background:#edf2ff; color:#5a6ec6; }
.badge-secondary { background:#eef1f6; color:#77839a; }

@media (max-width: 1199px) {
  .report-grid-top, .report-grid-main { grid-template-columns: 1fr; }
  .info-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .hero-section { padding-top: 32px; }
  .hero-copy h1 { font-size: 2.35rem; }
  .address-box { font-size: 2rem; }
  .site-header-inner { min-height: 70px; }
  .report-address-row, .home-card-head { flex-direction: column; }
  .stat-strip, .info-row { grid-template-columns: 1fr; }
  .history-item { grid-template-columns: 1fr; }
  .card-panel, .home-card, .mini-card, .wait-shell { border-radius: 24px; }
}

.site-nav a{color:var(--text);text-decoration:none;font-weight:600;}
.site-nav a:hover{color:var(--brand);}
.section-card,.side-card{background:#fff;border:1px solid #e7ecf3;}
.info-card strong{font-size:1.02rem;}
.summary-box{background:#fff;}
.report-right .card-panel{box-shadow:0 18px 34px rgba(24,39,75,.05);}
.report-left .card-panel{box-shadow:0 18px 34px rgba(24,39,75,.05);}
@media (max-width: 767px){ .hero-copy h1{font-size:2rem;} .hero-copy p{font-size:1rem;} }

.hero-copy h1 { font-size: clamp(2.4rem, 4.4vw, 4.25rem); max-width: 9ch; }
.hero-copy p { max-width: 62ch; }
.hero-section { padding: 46px 0 28px; }
.home-card { padding: 28px; }
.address-box { font-size: clamp(1.5rem, 2vw, 2.35rem); }
.stat-pill { background: #fff; }
.pill-blue, .pill-amber, .pill-neutral { background:#fff; }
.info-card.tint-blue, .info-card.tint-amber, .info-card.tint-green, .info-card.tint-violet { background:#fff; }
.site-nav { position: relative; z-index: 5; }
.site-header { position: relative; z-index: 10; }
@media (max-width: 767px) { .hero-copy h1 { font-size: 2.2rem !important; max-width: 12ch; } }

@media (max-width: 991.98px) {
  .hero-copy h1 { max-width: none; }
  .report-left, .report-right { gap:18px; }
  .report-grid-top, .report-grid-main { gap:18px; }
}

.hero-badge-row { display:flex; flex-wrap:wrap; gap:14px; margin-top: 24px; }
.hero-badge-row .mini-pill {
  display:inline-flex; align-items:center; gap:10px; padding: 12px 14px; border-radius: 16px;
  background: rgba(255,255,255,.72); border:1px solid rgba(227,232,242,.95); color: var(--text); box-shadow: 0 10px 24px rgba(43,63,102,.05);
}
.hero-badge-row .mini-pill i { color: var(--brand); }
.report-section .site-nav a, .site-header a { position: relative; z-index: 5; }
@media (max-width: 992px) {
  .hero-copy h1 { max-width: 100%; font-size: clamp(1.45rem, 5vw, 2.2rem); }
  .hero-section::before { left: -180px; top: 0; width: 420px; height: 420px; }
  .hero-section::after { display:none; }
  .report-grid-top, .report-grid-main { gap: 20px; }
  .report-left, .report-right { gap: 20px; }
}

.hero-badge-row{display:flex;flex-direction:column;gap:12px;margin-top:18px;max-width:520px}.mini-pill{display:inline-flex;align-items:center;gap:10px;padding:.9rem 1rem;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid #e3e8f2;color:#33415c;width:fit-content;box-shadow:0 10px 24px rgba(43,63,102,.05)}
@media (max-width: 991px){.hero-copy h1{max-width:520px;font-size:clamp(1.9rem, 6vw, 2.9rem)}.report-grid-top,.report-grid-main{grid-template-columns:1fr}.info-row{grid-template-columns:1fr 1fr}}
@media (max-width: 575px){.hero-section{padding:30px 0 22px}.hero-copy h1{font-size:2.05rem;max-width:100%}.home-card{padding:20px}.address-box{font-size:1.7rem;padding:16px}.info-row{grid-template-columns:1fr}.stat-strip{grid-template-columns:1fr}.report-left,.report-right{gap:22px}.report-grid-top,.report-grid-main{gap:22px}}


/* v17 real fixes */
body.home-page .hero-section { padding: 38px 0 24px; }
body.home-page .hero-section::before { left:-120px; top:0; width:420px; height:420px; opacity:.9; }
body.home-page .hero-section::after { left:40px; top:110px; width:120px; height:120px; border-radius:24px; opacity:.55; }
body.home-page .hero-copy h1 {
  font-size: clamp(1.3rem, 1vw + 1rem, 2.35rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.03em !important;
  max-width: 340px !important;
  margin: 8px 0 12px !important;
  font-weight: 780 !important;
}
body.home-page .hero-copy p {
  max-width: 430px !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
}
body.home-page .hero-badge-row {
  display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; max-width:520px;
}
body.home-page .mini-pill {
  display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border-radius:16px;
  background: rgba(255,255,255,.82); border:1px solid #e4ebf4; color:var(--text);
}
body.home-page .mini-pill i { color:var(--brand); }
body.home-page .feature-cards { margin-top: 4px; }
body.page-report .report-grid-top, body.page-report .report-grid-main { gap: 36px; }
body.page-report .report-left, body.page-report .report-right { gap: 34px; }
body.page-report .card-panel { padding: 28px; }
@media (max-width: 991px) {
  body.home-page .hero-copy h1 { max-width: 100% !important; font-size: clamp(1.8rem, 5vw, 2.6rem) !important; }
  body.home-page .hero-copy p { max-width: 100% !important; }
}
@media (max-width: 575px) {
  body.home-page .hero-copy h1 { font-size: 1.9rem !important; }
  body.home-page .hero-section::after { display:none; }
}
