
:root{
  --bg:#0b1020;
  --bg-soft:#121a31;
  --panel:#11192d;
  --panel-2:#17223d;
  --text:#edf2ff;
  --muted:#9ba8c7;
  --line:rgba(255,255,255,0.09);
  --accent:#6ea8fe;
  --accent-2:#8b5cf6;
  --success:#39d98a;
  --warn:#f6c760;
  --danger:#ff6b6b;
  --shadow:0 24px 60px rgba(0,0,0,0.35);
  --radius:24px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,Arial,sans-serif;background:
radial-gradient(circle at top left, rgba(110,168,254,.18), transparent 30%),
radial-gradient(circle at top right, rgba(139,92,246,.16), transparent 28%),
linear-gradient(180deg,#09101d 0%, #0d1324 100%);color:var(--text)}
body{min-height:100vh}
.page-shell{max-width:1480px;margin:0 auto;padding:28px}
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:stretch;margin-bottom:24px}
.hero-copy,.hero-card,.sidebar,.panel,.metric-card,.plan-card{border:1px solid var(--line);background:rgba(17,25,45,.72);backdrop-filter: blur(12px);box-shadow:var(--shadow)}
.hero-copy{padding:38px;border-radius:32px}
.hero-card{padding:28px;border-radius:32px}
.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(110,168,254,.15);color:#cfe0ff;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.hero h1{font-size:48px;line-height:1.05;margin:16px 0 12px}
.hero-text{font-size:18px;line-height:1.65;max-width:780px;color:#d8e2ff}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.badge{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-size:14px;color:#e9eeff}
.hero-card h2{margin-top:0}
.hero-card ul{padding-left:18px;line-height:1.8}
.small{font-size:13px}
.muted{color:var(--muted)}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.plan-card{padding:24px;border-radius:28px}
.plan-card.featured{outline:1px solid rgba(110,168,254,.45);background:linear-gradient(180deg, rgba(24,38,71,.95), rgba(17,25,45,.95))}
.plan-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.plan-name{font-size:22px;font-weight:700}
.plan-price{font-size:34px;font-weight:800}
.plan-price span{font-size:16px;color:var(--muted)}
.plan-card ul{padding-left:20px;color:#dce5ff;line-height:1.9;min-height:120px}
.workspace{display:grid;grid-template-columns:400px 1fr;gap:24px;margin-top: clamp(24px, 4vw, 48px)}
.sidebar{padding:22px;border-radius:28px;height:fit-content;position:sticky;top:18px}
.section-heading h2{margin:0 0 6px}
.section-heading p{margin:0;color:var(--muted)}
.field,.field-group{display:block}
.field{margin-top:16px}
.field span{display:block;margin-bottom:8px;font-size:14px;color:#dce5ff;font-weight:600}
input,select,textarea{width:100%;background:rgba(255,255,255,.045);color:var(--text);border:1px solid rgba(255,255,255,.11);border-radius:16px;padding:14px 15px;font:inherit;outline:none}
input:focus,select:focus,textarea:focus{border-color:rgba(110,168,254,.75);box-shadow:0 0 0 4px rgba(110,168,254,.12)}
textarea{resize:vertical}
.product-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-top:18px}
.product-header h3{margin:0 0 6px}
.product-url-list{display:grid;gap:10px;margin-top:12px}
.product-url-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.button-row{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
button{border:none;cursor:pointer;font:inherit;border-radius:16px;padding:13px 16px;font-weight:700;transition:.18s ease}
button:hover{transform:translateY(-1px)}
.primary-button{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}
.secondary-button{background:rgba(255,255,255,.06);color:#edf2ff;border:1px solid var(--line)}
.plan-button{width:100%}
.info-panel{margin-top:14px;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.info-panel strong{display:block;margin-bottom:6px}
.info-panel p{margin:0;color:#dce5ff}
.main-content{display:grid;gap:24px}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.metric-card{padding:22px;border-radius:24px}
.metric-label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.06em}
.metric-card strong{font-size:40px;line-height:1}
.metric-sub{display:block;margin-top:8px;color:#d9e4ff}
.panel{padding:24px;border-radius:28px}
.recommendation-list,.page-breakdown,.saved-reports{display:grid;gap:14px;margin-top:18px}
.empty-state{padding:18px;border-radius:18px;border:1px dashed rgba(255,255,255,.16);color:var(--muted)}
.rec-card,.page-card,.report-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.rec-top,.page-top,.report-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.rec-title,.page-title,.report-title{font-weight:700}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tag{padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid var(--line);background:rgba(255,255,255,.05)}
.tag.success{color:#bcffd8;background:rgba(57,217,138,.12)}
.tag.warn{color:#ffe4a8;background:rgba(246,199,96,.12)}
.tag.danger{color:#ffc4c4;background:rgba(255,107,107,.12)}
.tag.info{color:#d8e6ff;background:rgba(110,168,254,.12)}
.page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.stat-chip{padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.stat-chip strong{display:block;font-size:22px}
.status-note{margin-top:12px;color:#d8e2ff;line-height:1.6}
.report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
a.inline-link{color:#b7ceff}
@media (max-width: 1200px){
  .workspace{grid-template-columns:1fr}
  .sidebar{position:relative;top:auto}
  .summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 800px){
  .hero,.pricing-grid,.summary-grid{grid-template-columns:1fr}
  .page-grid{grid-template-columns:1fr}
  .page-shell{padding:18px}
  .hero h1{font-size:36px}
  .workspace{gap:18px}
}

.hidden{display:none!important}
.progress-panel{margin-top:16px;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.progress-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.progress-top strong{font-size:14px}
.progress-status{margin:10px 0 0;color:#dce5ff;font-size:13px;line-height:1.5}
.progress-track{width:100%;height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.progress-fill{height:100%;width:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:999px;transition:width .28s ease}
.progress-error{color:#ffc4c4}
button:disabled{opacity:.65;cursor:not-allowed;transform:none}


.rec-block{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.rec-block strong{display:block;margin-bottom:6px;font-size:.82rem;letter-spacing:.04em}
.rec-block p{margin:0;line-height:1.6}


@media (min-width: 1201px){
  .workspace{align-items:start}
  .sidebar.scroll-area{max-height:calc(4000vh - 24px);overflow-y:auto;padding-right:14px}
  .sidebar.scroll-area::-webkit-scrollbar,.recommendations-panel #recommendations::-webkit-scrollbar{width:10px}
  .sidebar.scroll-area::-webkit-scrollbar-thumb,.recommendations-panel #recommendations::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:999px}
  .sidebar.scroll-area::-webkit-scrollbar-track,.recommendations-panel #recommendations::-webkit-scrollbar-track{background:transparent}
  .recommendations-panel{display:flex;flex-direction:column;min-height:0}
  .recommendations-panel #recommendations{max-height:520px;overflow-y:auto;padding-right:10px;margin-top:18px}
}

.rec-link{display:inline-block;font-weight:700;color:#b7ceff;text-decoration:none;line-height:1.5}
.rec-link:hover{text-decoration:underline;color:#dce8ff}

.rec-subtitle{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.4}


.summary-grid-extended{grid-template-columns:repeat(3,1fr)}
.metric-card-score{grid-column:span 2}
.score-gauge{margin-top:14px;height:14px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.score-gauge-fill{height:100%;width:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));transition:width .35s ease}
.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.stack-list,.discovery-list{display:grid;gap:10px;margin-top:12px}
.stack-chip,.discovery-chip,.mini-stat{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.discovery-chip button{margin-left:10px}
.stack-grid,.comparison-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
.screenshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.thumb-card{padding:14px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.thumb-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.thumb-card .thumb-title{font-weight:700;margin-bottom:10px}
.comp-score{font-size:28px;font-weight:800}
.comp-sub{color:var(--muted);margin-top:4px}
.trend-wrap{margin-top:16px;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.trend-svg{width:100%;height:220px;display:block}
.legend-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.note-line{color:var(--muted);font-size:13px;line-height:1.5;margin-top:12px}
@media (max-width: 1200px){.summary-grid-extended{grid-template-columns:repeat(2,1fr)}.metric-card-score{grid-column:auto}.insights-grid,.screenshot-grid{grid-template-columns:1fr}}
@media (max-width: 800px){.summary-grid-extended{grid-template-columns:1fr}.stack-grid,.comparison-grid{grid-template-columns:1fr}}


.payment-success{
  color: var(--success);
  font-weight: 600;
}


/* Layout stability fixes */
html, body{
  overflow-x: hidden;
}

.page-shell,
.workspace,
.main-content,
.panel,
.metric-card,
.summary-grid,
.comparison-grid,
.screenshot-grid,
.page-breakdown,
.saved-reports,
.recommendation-list{
  min-width: 0;
}

.workspace{
  grid-template-columns: 380px minmax(0, 1fr);
  align-items: start;
}

.sidebar{
  width: 100%;
  min-width: 0;
}

.main-content{
  min-width: 0;
  width: 100%;
  overflow-x: hidden;
}

.summary-grid{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.comparison-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.screenshot-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.metric-card,
.panel,
.rec-card,
.page-card,
.report-card,
.signal-card,
.screenshot-card,
.chart-card{
  min-width: 0;
  overflow: hidden;
}

.rec-top,
.page-top,
.report-top,
.product-header{
  min-width: 0;
}

.rec-top > div,
.page-top > div,
.report-top > div{
  min-width: 0;
  flex: 1 1 auto;
}

.rec-link,
.inline-link,
.rec-subtitle,
.metric-sub,
.status-note,
.info-panel p,
.small,
.muted{
  overflow-wrap: anywhere;
  word-break: break-word;
}

.tag-row{
  min-width: 0;
  overflow: hidden;
}

.tag{
  max-width: 100%;
  overflow-wrap: anywhere;
}

img{
  max-width: 100%;
  height: auto;
}

.screenshot-card img,
.screenshot-grid img,
.page-screenshot img{
  display: block;
  width: 100%;
  max-width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 16px;
}

canvas{
  max-width: 100%;
}

@media (max-width: 1380px){
  .summary-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .screenshot-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1200px){
  .workspace{
    grid-template-columns: minmax(0, 1fr);
  }

  .comparison-grid,
  .screenshot-grid,
  .summary-grid{
    grid-template-columns: minmax(0, 1fr);
  }

  .sidebar{
    position: relative;
    top: 0;
  }
}


/* Recommendation visibility fix */
.recommendation-list{
  display:grid;
  gap:16px;
}

.rec-card-detailed{
  padding:20px;
  border-radius:20px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  overflow:visible;
}

.rec-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
}

.rec-head-main{
  min-width:0;
}

.rec-link,
.rec-title{
  display:block;
  font-size:20px;
  line-height:1.4;
  font-weight:700;
  color:#dce8ff;
  text-decoration:none;
}

.rec-link:hover{
  color:#ffffff;
  text-decoration:underline;
}

.rec-subtitle{
  margin-top:6px;
  font-size:13px;
  color:var(--muted);
  line-height:1.5;
}

.rec-body{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:16px;
}

.rec-block{
  margin-top:0;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.03);
}

.rec-block strong{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  letter-spacing:.08em;
  color:#cfdcff;
}

.rec-block p{
  margin:0;
  line-height:1.65;
  color:#eef3ff;
  font-size:14px;
}

@media (max-width: 900px){
  .rec-head{
    grid-template-columns:1fr;
  }
}


/* Screenshot modal */
#screenshotModal{
  position:fixed;
  inset:0;
  display:none;
  z-index:9999;
}

#screenshotModal.visible{
  display:flex;
  align-items:center;
  justify-content:center;
}

.screenshot-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.75);
}

.screenshot-modal-content{
  position:relative;
  max-width:90vw;
  max-height:90vh;
  z-index:2;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}

.screenshot-modal-content img{
  display:block;
  max-width:90vw;
  max-height:90vh;
  object-fit:contain;
  background:#000;
}

.screenshot-thumb{
  cursor:zoom-in;
  transition:transform .15s ease;
}

.screenshot-thumb:hover{
  transform:scale(1.02);
}


/* Home page speed indicator */
.speed-gauge{
  height:14px;
  border-radius:999px;
  margin-top:8px;
  transition:all .3s ease;
}

.speed-gauge.speed-good{
  background:linear-gradient(90deg,#39d98a,#2ecc71);
  box-shadow:0 0 12px rgba(57,217,138,.6);
}

.speed-gauge.speed-medium{
  background:linear-gradient(90deg,#f6c760,#f39c12);
  box-shadow:0 0 12px rgba(246,199,96,.6);
}

.speed-gauge.speed-bad{
  background:linear-gradient(90deg,#ff6b6b,#e74c3c);
  box-shadow:0 0 12px rgba(255,107,107,.6);
}

.speed-gauge.speed-unknown{
  background:rgba(255,255,255,.08);
}


/* Home page speed card improvements */
.metric-card.speed-good{
  border-color: rgba(57,217,138,.38);
  box-shadow: 0 0 0 1px rgba(57,217,138,.12), var(--shadow);
}

.metric-card.speed-medium{
  border-color: rgba(246,199,96,.38);
  box-shadow: 0 0 0 1px rgba(246,199,96,.12), var(--shadow);
}

.metric-card.speed-bad{
  border-color: rgba(255,107,107,.38);
  box-shadow: 0 0 0 1px rgba(255,107,107,.12), var(--shadow);
}

.metric-card.speed-unknown{
  border-color: rgba(255,255,255,.12);
}

.metric-card.speed-good #pageSpeedScore{ color: #39d98a; }
.metric-card.speed-medium #pageSpeedScore{ color: #f6c760; }
.metric-card.speed-bad #pageSpeedScore{ color: #ff6b6b; }
.metric-card.speed-unknown #pageSpeedScore{ color: #edf2ff; }

.metric-card.speed-good #pageSpeedLabel{ color: #bcffd8; }
.metric-card.speed-medium #pageSpeedLabel{ color: #ffe4a8; }
.metric-card.speed-bad #pageSpeedLabel{ color: #ffc4c4; }

.speed-meter{
  width: 100%;
  height: 10px;
  margin-top: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}

.speed-meter-fill{
  height: 100%;
  width: 0;
  border-radius: 999px;
  transition: width .35s ease;
  background: rgba(255,255,255,.22);
}

.metric-card.speed-good .speed-meter-fill{
  background: linear-gradient(135deg,#39d98a,#20c56f);
}

.metric-card.speed-medium .speed-meter-fill{
  background: linear-gradient(135deg,#f6c760,#f39c12);
}

.metric-card.speed-bad .speed-meter-fill{
  background: linear-gradient(135deg,#ff6b6b,#e74c3c);
}

.metric-card.speed-unknown .speed-meter-fill{
  background: rgba(255,255,255,.12);
}


/* Faster screenshot popup */
#screenshotModal{
  opacity: 0;
  transition: opacity .14s ease;
}

#screenshotModal.visible{
  opacity: 1;
}

.screenshot-modal-content{
  background: rgba(10,14,26,.96);
}

.screenshot-modal-content img{
  opacity: 0;
  transition: opacity .14s ease;
}

#screenshotModal.loaded .screenshot-modal-content img{
  opacity: 1;
}

.screenshot-modal-spinner{
  position:absolute;
  left:50%;
  top:50%;
  width:42px;
  height:42px;
  margin-left:-21px;
  margin-top:-21px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.14);
  border-top-color: rgba(255,255,255,.75);
  animation:screenshotSpin .8s linear infinite;
  z-index:3;
}

#screenshotModal.loaded .screenshot-modal-spinner{
  display:none;
}

@keyframes screenshotSpin{
  to{ transform:rotate(360deg); }
}


/* Ad spaces */
.ad-banner-panel,
.ad-inline-panel,
.ad-footer-panel{
  position:relative;
  padding:20px 24px;
  background:
    linear-gradient(180deg, rgba(110,168,254,.16), rgba(139,92,246,.10)),
    rgba(17,25,45,.82);
  border:1px solid rgba(110,168,254,.34);
  box-shadow:0 20px 48px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.04);
}

.ad-banner-panel::before,
.ad-inline-panel::before,
.ad-footer-panel::before,
.ad-card::before{
  content:"AD";
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  color:#08101e;
  background:linear-gradient(135deg, #ffd76a, #ffb84d);
  box-shadow:0 10px 22px rgba(0,0,0,.24);
}

.ad-banner,
.ad-inline,
.ad-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:8px 0;
}

.ad-card{
  position:relative;
  overflow:hidden;
  margin-top:18px;
  padding:20px;
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(110,168,254,.18), rgba(139,92,246,.12)),
    rgba(17,25,45,.86);
  border:1px solid rgba(110,168,254,.34);
  box-shadow:0 18px 40px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.04);
}

.ad-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#fff4c7;
  background:rgba(255, 193, 7, .18);
  border:1px solid rgba(255, 208, 94, .40);
}

.ad-note{
  margin:10px 0 0;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#b8c9ff;
}

.ad-title{
  margin:10px 0 8px;
  font-size:28px;
  line-height:1.2;
}

.ad-title-small{
  margin:10px 0 8px;
  font-size:18px;
  line-height:1.4;
  color:#edf2ff;
}

.ad-text,
.ad-text-small{
  margin:0;
  color:#e2eaff;
  line-height:1.7;
}

.ad-text-small{
  font-size:14px;
}

.ad-cta,
.ad-cta-inline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 18px;
  white-space:nowrap;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}

.ad-cta:hover,
.ad-cta-inline:hover{
  text-decoration:none;
}

.ad-cta.is-disabled,
.ad-cta-inline.is-disabled{
  opacity:.72;
  cursor:not-allowed;
  pointer-events:auto;
}

.site-footer{
  margin-top:24px;
}

.footer-note{
  margin:14px 0 0;
  text-align:center;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.03em;
}

@media (max-width: 900px){
  .ad-banner,
  .ad-inline,
  .ad-footer{
    grid-template-columns:1fr;
  }

  .ad-cta,
  .ad-cta-inline{
    width:100%;
    text-align:center;
  }
}
.discovery-status{font-weight:700;margin-bottom:6px;color:#f5f7ff}
.discovery-summary{font-size:.92rem;color:#c7d4ff;margin-bottom:8px}
.discovery-notes{display:grid;gap:6px;margin-bottom:10px}
.discovery-notes p{margin:0;color:#dce5ff}
.discovery-chip-grid{display:flex;flex-wrap:wrap;gap:8px}


/* Discovered URLs wrapping fix */
.discovery-list,
.discovery-chip-grid{
  min-width: 0;
}

.discovery-chip-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.discovery-chip{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: block;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
  line-height: 1.5;
}

@media (min-width: 1100px){
  .discovery-chip-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Page-by-page breakdown tag overlap fix */
.page-evidence,
.page-card .tag-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:flex-start;
  min-width:0;
  overflow:visible;
}

.page-evidence{
  margin-top:10px;
}

.page-evidence .tag,
.page-card .tag-row .tag,
.page-card .page-top .tag{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  white-space:normal;
  line-height:1.35;
}


/* Required trust and support checks */
.requirements-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.requirement-card{
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,255,255,.03);
  padding:18px;
  min-width:0;
}

.requirement-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.requirement-title{
  font-size:18px;
  font-weight:700;
  line-height:1.4;
}

.requirement-meta{
  margin-top:10px;
  display:grid;
  gap:10px;
}

.requirement-evidence{
  margin:0;
  color:var(--text);
  line-height:1.65;
}

.requirement-found{
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}

.requirement-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.requirement-links a{
  max-width:100%;
}

@media (max-width: 900px){
  .requirements-grid{
    grid-template-columns:1fr;
  }
}
.contact-section{
  margin-top: 28px;
  margin-bottom: 28px;
}

.contact-card{
  padding: 20px;
  border-radius: 22px;
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: #f1f5f9;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.contact-card h3{
  margin: 0 0 12px;
  font-size: 18px;
}

.contact-card p{
  margin: 8px 0;
  font-size: 14px;
  line-height: 1.6;
}

.contact-email a{
  color: #38bdf8;
  text-decoration: none;
  font-weight: 600;
}

.contact-email a:hover{
  text-decoration: underline;
}

.contact-note{
  opacity: 0.85;
}
