:root {
  --visible-ink: #102846;
  --visible-ink-soft: #365069;
  --visible-teal: #0a726f;
  --visible-teal-dark: #075956;
  --visible-coral: #e45868;
  --visible-paper: #f7f4ec;
  --visible-cream: #efe5c8;
  --visible-mint: #dff1eb;
  --visible-line: #d7dfdf;
  --visible-white: #fff;
  --visible-shadow: 0 24px 70px rgba(16, 40, 70, .12);
}

.visible-shell {
  color: var(--visible-ink);
  margin: 0 auto;
  max-width: 1220px;
}

.visible-shell h1,
.visible-shell h2,
.visible-shell h3,
.visible-shell p { text-wrap: pretty; }
.visible-shell h1,
.visible-shell h2 { letter-spacing: 0; }
.visible-shell h1 { font-size: clamp(2.75rem, 6vw, 5.9rem); line-height: .98; }
.visible-shell h2 { font-size: clamp(2rem, 4vw, 3.55rem); line-height: 1.03; }
.visible-shell h3 { letter-spacing: 0; }
.visible-shell a { position: relative; z-index: 2; }
.visible-shell--narrow { max-width: 1050px; }
.visible-shell--form { max-width: 980px; }
.visible-shell--account { max-width: 1100px; }
.visible-shell--profile { max-width: 1180px; }
.visible-shell--aggregate { max-width: 1120px; }

.visible-kicker,
.visible-section-label {
  align-items: center;
  color: var(--visible-teal);
  display: inline-flex;
  font-size: .75rem;
  font-weight: 800;
  gap: .65rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.visible-kicker > span {
  background: var(--visible-coral);
  border-radius: 99px;
  display: inline-block;
  height: 7px;
  width: 28px;
}
.visible-kicker--light { color: #cfe8e4; }

.visible-hero {
  align-items: center;
  background:
    radial-gradient(circle at 11% 12%, rgba(255, 255, 255, .08) 0 1px, transparent 2px) 0 0 / 24px 24px,
    linear-gradient(138deg, #102846 0%, #0c3c50 57%, #08716e 100%);
  border-radius: 28px;
  color: #fff;
  display: grid;
  gap: clamp(2rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  min-height: 700px;
  overflow: hidden;
  padding: clamp(2.1rem, 6vw, 5.5rem);
  position: relative;
}
.visible-hero::after {
  background: var(--visible-cream);
  content: "";
  height: 34px;
  position: absolute;
  right: -55px;
  top: 68px;
  transform: rotate(45deg);
  width: 180px;
}
.visible-hero h1 { color: #fff; margin: 1.5rem 0; max-width: 820px; }
.visible-hero h1 em { color: #bfe3db; display: block; font-style: normal; }
.visible-hero__copy > p { color: #dce8ec; font-size: clamp(1.05rem, 1.7vw, 1.32rem); line-height: 1.65; max-width: 680px; }

.visible-diagnostic-form { margin-top: 2rem; max-width: 760px; }
.visible-diagnostic-form > label { display: block; font-size: .82rem; font-weight: 800; letter-spacing: .06em; margin-bottom: .7rem; text-transform: uppercase; }
.visible-diagnostic-form > div {
  align-items: center;
  background: #fff;
  border: 2px solid transparent;
  border-radius: 10px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  padding: 6px;
  transition: border .2s ease, box-shadow .2s ease;
}
.visible-diagnostic-form > div:focus-within { border-color: #8dd8cf; box-shadow: 0 0 0 4px rgba(141, 216, 207, .2); }
.visible-diagnostic-form > div > span { color: var(--visible-teal); font-size: 1.2rem; padding: 0 .7rem; }
.visible-diagnostic-form input {
  border: 0;
  color: var(--visible-ink);
  font-size: 1rem;
  min-width: 0;
  outline: none;
  padding: .9rem .2rem;
  width: 100%;
}
.visible-diagnostic-form button,
.visible-form-submit button {
  background: var(--visible-coral);
  border: 0;
  border-radius: 7px;
  color: #fff;
  font-weight: 800;
  padding: 1rem 1.25rem;
  transition: background .2s ease, transform .2s ease;
  white-space: nowrap;
}
.visible-diagnostic-form button:hover,
.visible-form-submit button:hover { background: #ce4254; transform: translateY(-1px); }
.visible-diagnostic-form button[aria-busy="true"] { cursor: wait; opacity: .75; }
.visible-diagnostic-form > small { color: #bad0d8; display: block; line-height: 1.5; margin-top: .65rem; }
.visible-diagnostic-form--standalone > div { border-color: var(--visible-line); box-shadow: 0 12px 35px rgba(16,40,70,.08); }
.visible-diagnostic-form--standalone > small { color: var(--visible-ink-soft); }

.visible-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.3rem; margin-top: 1.6rem; }
.visible-hero__actions a { color: #fff; font-weight: 800; }
.visible-hero__actions .visible-hero__login { border: 1px solid rgba(255,255,255,.3); border-radius: 999px; font-size: .82rem; padding: .55rem .9rem; text-decoration: none; }
.visible-hero__actions .visible-hero__login:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.visible-hero__actions span { color: #bcd5dc; font-size: .9rem; }

.visible-hero__visual {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  box-shadow: 0 36px 90px rgba(0,0,0,.32);
  isolation: isolate;
  min-height: 520px;
  overflow: hidden;
  position: relative;
}
.visible-hero__visual::after {
  background: linear-gradient(180deg, rgba(5,23,36,.02) 35%, rgba(5,23,36,.82) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.visible-hero__art {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  transform: scale(1.055) translate3d(var(--visible-tilt-x, 0), var(--visible-tilt-y, 0), 0);
  transition: transform .7s cubic-bezier(.2,.8,.2,1);
  width: 100%;
}
.visible-hero__caption {
  align-items: center;
  backdrop-filter: blur(12px);
  background: rgba(5,28,39,.72);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 99px;
  bottom: 18px;
  color: #dff4ef;
  display: inline-flex;
  font-size: .69rem;
  font-weight: 800;
  gap: .5rem;
  left: 18px;
  letter-spacing: .08em;
  padding: .55rem .75rem;
  position: absolute;
  text-transform: uppercase;
  z-index: 4;
}
.visible-hero__caption i { color: #ff9baa; }
.visible-orbit {
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 50%;
  inset: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.visible-orbit--one { height: 430px; width: 430px; }
.visible-orbit--two { border-style: dashed; height: 330px; width: 330px; }
.visible-score-disc {
  align-items: center;
  background: conic-gradient(var(--visible-coral) 0 78%, rgba(255,255,255,.14) 78% 100%);
  border-radius: 50%;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .25);
  display: flex;
  flex-direction: column;
  height: 250px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 250px;
}
.visible-hero__visual > .visible-score-disc {
  height: 178px;
  left: 24%;
  top: 64%;
  width: 178px;
  z-index: 3;
}
.visible-hero__visual > .visible-score-disc::before { inset: 9px; }
.visible-hero__visual > .visible-score-disc strong { font-size: 3.9rem; }
.visible-score-disc::before { background: var(--visible-ink); border: 1px solid rgba(255,255,255,.15); border-radius: inherit; content: ""; inset: 12px; position: absolute; }
.visible-score-disc > * { position: relative; z-index: 1; }
.visible-score-disc span { color: #bcd6db; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.visible-score-disc strong { color: #fff; font-size: 5.7rem; line-height: 1; }
.visible-score-disc small { color: #c8dadf; }
.visible-signal-card {
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,.95);
  border-radius: 9px;
  box-shadow: 0 18px 40px rgba(0,0,0,.2);
  color: var(--visible-ink);
  display: grid;
  grid-template-columns: auto 1fr;
  left: 50%;
  min-width: 210px;
  padding: .9rem 1rem;
  position: absolute;
  z-index: 3;
}
.visible-signal-card i { color: var(--visible-teal); font-size: 1.45rem; grid-row: span 2; margin-right: .7rem; }
.visible-signal-card span { font-size: .75rem; }
.visible-signal-card strong { font-size: .9rem; }
.visible-signal-card--top { left: 43%; top: 6%; transform: translateX(-50%); }
.visible-signal-card--bottom { bottom: 7%; left: 72%; transform: translateX(-50%); }

.visible-proof-strip {
  background: var(--visible-paper);
  border-radius: 0 0 18px 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0 28px;
  padding: 1.25rem 2rem;
}
.visible-proof-strip p { border-right: 1px solid #cfd7d4; display: flex; flex-direction: column; margin: 0; padding: 0 1.2rem; }
.visible-proof-strip p:last-child { border: 0; }
.visible-proof-strip strong { font-size: .86rem; }
.visible-proof-strip span { color: var(--visible-ink-soft); font-size: .74rem; }

.visible-section { padding: clamp(4.5rem, 9vw, 8rem) clamp(.2rem, 3vw, 2rem); }
.visible-section__header { margin-bottom: 3rem; max-width: 760px; }
.visible-section__header > span,
.visible-preview__copy > span,
.visible-index-explainer > div > span,
.visible-result-header > div > span,
.visible-result-preview > div > span,
.visible-result-cta > div > span,
.visible-account-header > div > span,
.visible-public-header__body > div > span:first-child,
.visible-form-header > span {
  color: var(--visible-teal);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.visible-section__header h2 { margin: .6rem 0 0; }

.visible-how ol { counter-reset: steps; display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0; padding: 0; }
.visible-how li { border-left: 1px solid var(--visible-line); display: flex; flex-direction: column; gap: 2rem; min-height: 280px; padding: 1.5rem; }
.visible-how li:last-child { border-right: 1px solid var(--visible-line); }
.visible-how li b { color: var(--visible-coral); font-size: .8rem; letter-spacing: .1em; }
.visible-how li h3 { font-size: 1.35rem; }
.visible-how li p { color: var(--visible-ink-soft); line-height: 1.65; }

.visible-benefits { align-items: center; background: var(--visible-paper); border-radius: 24px; display: grid; gap: 5rem; grid-template-columns: .85fr 1.15fr; padding-left: clamp(2rem, 6vw, 5rem); padding-right: clamp(2rem, 6vw, 5rem); }
.visible-benefits__intro h2 { font-size: clamp(2.2rem, 4.5vw, 4.1rem); margin: 1rem 0; }
.visible-benefits__intro p { color: var(--visible-ink-soft); font-size: 1.05rem; line-height: 1.65; }
.visible-text-link { color: var(--visible-teal); display: inline-block; font-weight: 800; margin-top: 1rem; }
.visible-benefits__grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.visible-benefits__grid article { border-left: 1px solid #cdd9d6; border-top: 1px solid #cdd9d6; min-height: 230px; padding: 2rem; }
.visible-benefits__grid i { color: var(--visible-coral); font-size: 1.65rem; }
.visible-benefits__grid h3 { margin-top: 1.5rem; }
.visible-benefits__grid p { color: var(--visible-ink-soft); font-size: .9rem; line-height: 1.6; }

.visible-story {
  align-items: center;
  display: grid;
  gap: clamp(3rem, 7vw, 7rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
}
.visible-story__media { min-height: 600px; position: relative; }
.visible-story__image {
  background: var(--visible-paper);
  border: 8px solid #fff;
  border-radius: 20px;
  box-shadow: var(--visible-shadow);
  margin: 0;
  overflow: hidden;
  position: absolute;
}
.visible-story__image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.visible-story__image figcaption {
  align-items: center;
  backdrop-filter: blur(14px);
  background: rgba(9,39,57,.84);
  border-radius: 99px;
  bottom: 16px;
  color: #fff;
  display: inline-flex;
  font-size: .76rem;
  font-weight: 800;
  gap: .55rem;
  left: 16px;
  padding: .65rem .85rem;
  position: absolute;
}
.visible-story__image figcaption i { color: #93ddd2; }
.visible-story__image--primary { height: 390px; left: 0; top: 30px; transform: rotate(-2.1deg); width: 78%; }
.visible-story__image--secondary { bottom: 20px; height: 300px; right: 0; transform: rotate(3deg); width: 61%; }
.visible-story__copy h2 { font-size: clamp(2.5rem, 5vw, 4.7rem); margin: 1.1rem 0 1.4rem; }
.visible-story__copy > p { color: var(--visible-ink-soft); font-size: 1.06rem; line-height: 1.75; }
.visible-story__copy ul { display: grid; gap: .95rem; list-style: none; margin: 2rem 0; padding: 0; }
.visible-story__copy li { align-items: flex-start; border-top: 1px solid var(--visible-line); display: flex; gap: .8rem; padding-top: .95rem; }
.visible-story__copy li i { color: var(--visible-coral); font-size: 1.1rem; margin-top: .15rem; }
.visible-story__copy li span { color: var(--visible-ink-soft); line-height: 1.55; }
.visible-story__copy li strong { color: var(--visible-ink); }
.visible-story__cta {
  background: var(--visible-ink);
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  gap: .8rem;
  padding: .95rem 1.2rem;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.visible-story__cta:hover { background: var(--visible-teal); color: #fff; transform: translateY(-2px); }

.visible-preview { align-items: center; display: grid; gap: clamp(3rem, 8vw, 8rem); grid-template-columns: .8fr 1.2fr; }
.visible-preview__copy ol { list-style: none; padding: 0; }
.visible-preview__copy li { border-bottom: 1px solid var(--visible-line); padding: .8rem 0; }
.visible-profile-mock { background: #fff; border: 1px solid var(--visible-line); border-radius: 20px; box-shadow: var(--visible-shadow); overflow: hidden; padding-bottom: 2rem; transform: rotate(1.2deg); }
.visible-profile-mock__cover { background: linear-gradient(130deg, var(--visible-teal), var(--visible-mint) 60%, var(--visible-cream)); height: 140px; }
.visible-profile-mock__identity { align-items: flex-end; display: flex; gap: 1.2rem; margin: -44px 2rem 1.5rem; position: relative; }
.visible-profile-mock__logo { align-items: center; background: var(--visible-ink); border: 6px solid #fff; border-radius: 16px; color: #fff; display: flex; font-size: 2rem; height: 92px; justify-content: center; width: 92px; }
.visible-profile-mock__identity small { color: var(--visible-teal); font-size: .68rem; font-weight: 800; }
.visible-profile-mock__identity h3 { font-size: 1.6rem; margin: .15rem 0; }
.visible-profile-mock__identity p { color: var(--visible-ink-soft); margin: 0; }
.visible-profile-mock__stats { border-bottom: 1px solid var(--visible-line); border-top: 1px solid var(--visible-line); display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 1.5rem; padding: 1rem 2rem; }
.visible-profile-mock__stats span { color: var(--visible-ink-soft); display: flex; flex-direction: column; font-size: .72rem; }
.visible-profile-mock__stats b { color: var(--visible-ink); font-size: .88rem; }
.visible-profile-mock > p,
.visible-profile-mock__chips { margin-left: 2rem; margin-right: 2rem; }
.visible-profile-mock__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.visible-profile-mock__chips span,
.visible-chip-list li { background: var(--visible-mint); border-radius: 99px; color: var(--visible-teal-dark); font-size: .75rem; padding: .4rem .7rem; }

.visible-index-explainer { align-items: center; background: var(--visible-ink); border-radius: 24px; color: #fff; display: grid; gap: 5rem; grid-template-columns: 300px 1fr; padding-left: clamp(2rem, 7vw, 7rem); padding-right: clamp(2rem, 7vw, 7rem); }
.visible-score-disc--small { background: conic-gradient(var(--visible-coral) 0 72%, rgba(255,255,255,.1) 72%); height: 240px; left: auto; position: relative; top: auto; transform: none; width: 240px; }
.visible-score-disc--small strong { font-size: 3.6rem; }
.visible-index-explainer h2 { color: #fff; margin: .7rem 0 1rem; }
.visible-index-explainer p { color: #c4d3da; line-height: 1.7; max-width: 700px; }
.visible-dimensions { display: grid; gap: .7rem; grid-template-columns: repeat(2, 1fr); margin-top: 2rem; }
.visible-dimensions span { border-top: 1px solid rgba(255,255,255,.2); font-size: .85rem; padding-top: .75rem; }

.visible-search {
  background: #fff;
  border: 1px solid var(--visible-line);
  border-radius: 12px;
  box-shadow: 0 15px 40px rgba(16,40,70,.08);
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr auto;
  padding: .45rem;
}
.visible-search label { align-items: center; border-right: 1px solid var(--visible-line); display: flex; margin: 0; min-width: 0; padding: 0 .85rem; }
.visible-search input,
.visible-search select { background: #fff; border: 0; color: var(--visible-ink); min-width: 0; outline: 0; padding: .85rem .55rem; width: 100%; }
.visible-search button { background: var(--visible-teal); border: 0; border-radius: 8px; color: #fff; font-weight: 800; padding: .9rem 1.5rem; }
.visible-directory__meta { align-items: center; display: flex; justify-content: space-between; margin: 2rem 0 1.3rem; }
.visible-directory__meta span { color: var(--visible-ink-soft); font-size: .82rem; }
.visible-card-grid { display: grid; gap: 1.2rem; grid-template-columns: repeat(3, 1fr); }
.visible-company-card { background: #fff; border: 1px solid var(--visible-line); border-radius: 14px; display: flex; flex-direction: column; min-height: 360px; padding: 1.6rem; position: relative; transition: border .2s ease, box-shadow .2s ease, transform .2s ease; }
.visible-company-card--public-data { --profile-accent: #3f5f8f; --profile-soft: #edf3fb; background: linear-gradient(180deg, #fff 0%, var(--profile-soft) 145%); }
.visible-company-card--comercio-local,
.visible-public-header--comercio-local { --profile-accent: #bd5c34; --profile-accent-2: #f2b45f; --profile-soft: #fff4e7; }
.visible-company-card--hosteleria-restauracion,
.visible-public-header--hosteleria-restauracion { --profile-accent: #9c3f53; --profile-accent-2: #df7d73; --profile-soft: #fff0f1; }
.visible-company-card--formacion,
.visible-public-header--formacion { --profile-accent: #39689e; --profile-accent-2: #74a8df; --profile-soft: #eef6ff; }
.visible-company-card--cultura-ocio,
.visible-public-header--cultura-ocio { --profile-accent: #704d9f; --profile-accent-2: #bd82d5; --profile-soft: #f7f0ff; }
.visible-company-card--construccion-reformas,
.visible-public-header--construccion-reformas { --profile-accent: #8a5b2c; --profile-accent-2: #d69a50; --profile-soft: #fff6e9; }
.visible-company-card--industria,
.visible-public-header--industria { --profile-accent: #3d5e6c; --profile-accent-2: #75a7ae; --profile-soft: #eef7f7; }
.visible-company-card--salud-bienestar,
.visible-public-header--salud-bienestar { --profile-accent: #26766e; --profile-accent-2: #6dc1aa; --profile-soft: #eaf8f4; }
.visible-company-card--software,
.visible-public-header--software { --profile-accent: #3156a0; --profile-accent-2: #6c8feb; --profile-soft: #eef2ff; }
.visible-company-card--servicios-personales,
.visible-public-header--servicios-personales { --profile-accent: #9b4f79; --profile-accent-2: #dc8eb2; --profile-soft: #fff0f7; }
.visible-company-card--transporte-logistica,
.visible-public-header--transporte-logistica { --profile-accent: #38657c; --profile-accent-2: #6aa0b4; --profile-soft: #eef7fa; }
.visible-company-card:hover { border-color: #97c7c2; box-shadow: 0 18px 45px rgba(16,40,70,.11); transform: translateY(-3px); }
.visible-shell .visible-company-card__link { display: block; inset: 0; position: absolute; z-index: 1; }
.visible-company-card__top { align-items: center; display: flex; gap: 1rem; }
.visible-company-card__top img { background: #fff; border: 1px solid var(--visible-line); border-radius: 12px; object-fit: contain; padding: 5px; }
.visible-company-card__monogram { align-items: center; background: var(--visible-ink); border-radius: 12px; color: #fff; display: flex; flex: 0 0 64px; font-size: 1.5rem; height: 64px; justify-content: center; }
.visible-company-card__monogram--public { background: var(--profile-soft); border: 1px solid color-mix(in srgb, var(--profile-accent) 22%, #fff); color: var(--profile-accent); font-size: 1.7rem; }
.visible-verified { color: var(--visible-teal); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.visible-profile-active { color: var(--visible-teal); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.visible-profile-public { color: var(--profile-accent, #3f5f8f); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.visible-company-card h3 { font-size: 1.2rem; margin: .25rem 0 0; }
.visible-company-card > p { color: var(--visible-ink-soft); flex: 1; line-height: 1.6; margin: 1.3rem 0; }
.visible-chip-list { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; position: relative; z-index: 2; }
.visible-chip-list a { color: inherit; text-decoration: none; }
.visible-company-card footer { border-top: 1px solid var(--visible-line); display: flex; font-size: .75rem; justify-content: space-between; margin-top: 1.2rem; padding-top: 1rem; }
.visible-company-card footer span:first-child { color: var(--visible-ink-soft); }
.visible-company-card__score { color: var(--visible-teal); font-weight: 800; }
.visible-company-card__source { color: var(--profile-accent, #3f5f8f); font-weight: 800; }
.visible-empty { background: var(--visible-paper); border: 1px dashed #b9cbc7; border-radius: 16px; padding: 4rem 2rem; text-align: center; }
.visible-empty__mark { align-items: center; background: var(--visible-ink); border-radius: 50%; color: #fff; display: inline-flex; font-size: 1.5rem; height: 58px; justify-content: center; width: 58px; }
.visible-empty--compact { padding: 2rem; }
.visible-pagination { display: flex; gap: .4rem; justify-content: center; margin-top: 2rem; }
.visible-pagination a { align-items: center; border: 1px solid var(--visible-line); border-radius: 7px; color: var(--visible-ink); display: flex; height: 38px; justify-content: center; text-decoration: none; width: 38px; }
.visible-pagination a.active { background: var(--visible-teal); color: #fff; }

.visible-pricing { align-items: center; background: linear-gradient(130deg, #0a706d, #075450); border-radius: 24px; color: #fff; display: grid; gap: 3rem; grid-template-columns: 1fr 1.1fr auto; padding-left: clamp(2rem, 6vw, 5rem); padding-right: clamp(2rem, 6vw, 5rem); }
.visible-pricing h2 { color: #fff; }
.visible-pricing h2 em { color: #f5d5ad; display: block; font-style: normal; }
.visible-pricing ul { list-style: none; margin: 0; padding: 0; }
.visible-pricing li { border-bottom: 1px solid rgba(255,255,255,.18); padding: .7rem 0; }
.visible-pricing li i { color: #aee8d8; margin-right: .6rem; }
.visible-pricing > a { background: var(--visible-coral); border-radius: 9px; color: #fff; font-weight: 800; padding: 1rem 1.3rem; text-decoration: none; }
.visible-faq details,
.visible-report-box { border-bottom: 1px solid var(--visible-line); }
.visible-faq summary,
.visible-report-box > summary { align-items: center; cursor: pointer; display: flex; font-size: 1.08rem; font-weight: 800; justify-content: space-between; list-style: none; padding: 1.4rem 0; }
.visible-faq summary::-webkit-details-marker,
.visible-report-box summary::-webkit-details-marker { display: none; }
.visible-faq details[open] summary i { transform: rotate(45deg); }
.visible-faq details p { color: var(--visible-ink-soft); line-height: 1.7; max-width: 850px; padding: 0 0 1.2rem; }
.visible-disclaimer { align-items: flex-start; background: #fff8e9; border: 1px solid #eed8a7; border-radius: 12px; display: flex; gap: 1rem; margin: 0 2rem 4rem; padding: 1.2rem 1.4rem; }
.visible-disclaimer i { color: #aa6d00; font-size: 1.2rem; }
.visible-disclaimer p { color: #5b4b2e; margin: 0; }
.visible-final-cta { background: var(--visible-ink); border-radius: 24px; color: #fff; padding: clamp(3rem, 8vw, 7rem); text-align: center; }
.visible-final-cta > span { color: #a7d8d3; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }
.visible-final-cta h2 { color: #fff; margin: .8rem auto 2rem; max-width: 800px; }
.visible-final-cta > div { align-items: center; display: flex; gap: 1.4rem; justify-content: center; }
.visible-final-cta > div > a:last-child { color: #fff; font-weight: 800; }

/* Diagnostic */
.visible-diagnostic-intro { padding: 5rem 1rem 7rem; }
.visible-diagnostic-intro h1 { font-size: clamp(2.7rem, 6vw, 5rem); margin: 1rem 0; max-width: 900px; }
.visible-diagnostic-intro > p { color: var(--visible-ink-soft); font-size: 1.2rem; max-width: 680px; }
.visible-diagnostic-scope { background: var(--visible-paper); border-radius: 18px; margin-top: 3rem; padding: 2rem; }
.visible-diagnostic-scope h2 { font-size: 1.4rem; }
.visible-diagnostic-scope ul { display: grid; gap: .6rem 2rem; grid-template-columns: repeat(2, 1fr); padding-left: 1.2rem; }
.visible-result-header { align-items: center; background: var(--visible-ink); border-radius: 24px; color: #fff; display: grid; gap: 4rem; grid-template-columns: 290px 1fr; margin-bottom: 1.5rem; padding: 4rem; }
.visible-score-disc--result { background: conic-gradient(var(--visible-coral) calc(var(--visible-score) * 1%), rgba(255,255,255,.12) 0); height: 250px; position: relative; transform: none; width: 250px; }
.visible-result-header h1 { color: #fff; font-size: clamp(2.3rem, 5vw, 4.5rem); margin: .5rem 0; }
.visible-result-header p { color: #c8d6db; }
.visible-result-header a { color: #aee2da; }
.visible-result-categories,
.visible-result-checks,
.visible-result-preview { padding: 4rem 1rem; }
.visible-result-categories > div:last-child { display: grid; gap: 1.2rem; grid-template-columns: repeat(2, 1fr); }
.visible-result-categories article { border-top: 1px solid var(--visible-line); padding: 1rem 0; }
.visible-result-categories article header { display: flex; justify-content: space-between; }
.visible-meter { background: #e7eceb; border-radius: 99px; height: 7px; margin-top: .7rem; overflow: hidden; }
.visible-meter span { background: linear-gradient(90deg, var(--visible-teal), #58b4a7); border-radius: inherit; display: block; height: 100%; }
.visible-check { border-bottom: 1px solid var(--visible-line); }
.visible-check summary { align-items: center; cursor: pointer; display: grid; gap: 1rem; grid-template-columns: auto 1fr auto; list-style: none; padding: 1.2rem .3rem; }
.visible-check summary::-webkit-details-marker { display: none; }
.visible-check summary > i { font-size: 1.35rem; }
.visible-check--ok summary > i { color: var(--visible-teal); }
.visible-check--issue summary > i { color: var(--visible-coral); }
.visible-check summary span { display: flex; flex-direction: column; }
.visible-check summary small { color: var(--visible-ink-soft); font-weight: 400; margin-top: .2rem; }
.visible-check > div { background: var(--visible-paper); border-radius: 10px; margin-bottom: 1rem; padding: 1.2rem; }
.visible-impact { border-radius: 99px; display: inline-block; font-size: .7rem; font-weight: 800; padding: .3rem .6rem; text-transform: uppercase; }
.visible-impact--alto { background: #fde2e5; color: #9c2333; }
.visible-impact--medio { background: #fff1d6; color: #875500; }
.visible-impact--bajo { background: var(--visible-mint); color: var(--visible-teal); }
.visible-result-preview { align-items: center; display: grid; gap: 4rem; grid-template-columns: .75fr 1.25fr; }
.visible-result-preview article { background: #fff; border: 1px solid var(--visible-line); border-radius: 16px; box-shadow: var(--visible-shadow); padding: 2rem; }
.visible-result-preview article small { color: var(--visible-teal); font-weight: 800; letter-spacing: .1em; }
.visible-result-preview article h3 { font-size: 2rem; margin: .7rem 0; }
.visible-result-preview article p { color: var(--visible-ink-soft); }
.visible-result-preview article footer { border-top: 1px solid var(--visible-line); display: flex; justify-content: space-between; margin-top: 1.5rem; padding-top: 1rem; }
.visible-result-cta { align-items: center; background: var(--visible-teal); border-radius: 18px; color: #fff; display: grid; gap: 1.5rem; grid-template-columns: 1fr auto auto; margin: 2rem 1rem 5rem; padding: 2.5rem; }
.visible-result-cta h2 { color: #fff; font-size: 2rem; margin: .3rem 0; }
.visible-result-cta p { color: #d1ebe7; margin: 0; }
.visible-result-cta > a:last-child { color: #fff; font-weight: 800; }

/* Form */
.visible-form-header { padding: 4rem 0 3rem; }
.visible-form-header h1 { font-size: clamp(2.7rem, 6vw, 5rem); margin: .9rem 0; }
.visible-form-header p { color: var(--visible-ink-soft); font-size: 1.1rem; max-width: 750px; }
.visible-onboarding-steps { display: flex; gap: .6rem; list-style: none; margin: 2rem 0 0; max-width: 780px; padding: 0; }
.visible-onboarding-steps li { align-items: center; border: 1px solid var(--visible-line); border-radius: 999px; color: var(--visible-ink-soft); display: flex; font-size: .8rem; font-weight: 800; gap: .6rem; padding: .55rem 1rem; }
.visible-onboarding-steps li b { color: var(--visible-coral); font-size: .68rem; }
.visible-onboarding-steps li[aria-current="step"] { background: var(--visible-mint); border-color: #aedbd2; color: var(--visible-teal); }
.visible-company-form { display: grid; gap: 1.5rem; }
.visible-company-form > section { background: #fff; border: 1px solid var(--visible-line); border-radius: 16px; padding: clamp(1.5rem, 4vw, 3rem); }
.visible-company-form > section > header { align-items: flex-start; border-bottom: 1px solid var(--visible-line); display: flex; gap: 1.2rem; margin-bottom: 2rem; padding-bottom: 1.4rem; }
.visible-company-form > section > header b { color: var(--visible-coral); font-size: .8rem; }
.visible-company-form > section > header h2 { font-size: 1.6rem; margin: 0; }
.visible-company-form > section > header p { color: var(--visible-ink-soft); margin: .3rem 0 0; }
.visible-form-grid { display: grid; gap: 1.3rem; grid-template-columns: repeat(2, 1fr); }
.visible-form-grid label,
.visible-report-box label { display: flex; flex-direction: column; font-size: .83rem; font-weight: 800; gap: .4rem; }
.visible-form-grid label small { color: var(--visible-ink-soft); font-weight: 400; }
.visible-form-grid input,
.visible-form-grid textarea,
.visible-report-box input,
.visible-report-box textarea,
.visible-report-box select { background: #fbfcfa; border: 1px solid #bdcac8; border-radius: 8px; color: var(--visible-ink); padding: .8rem .9rem; }
.visible-form-grid input:focus,
.visible-form-grid textarea:focus { border-color: var(--visible-teal); box-shadow: 0 0 0 3px rgba(10,114,111,.12); outline: 0; }
.span-2 { grid-column: span 2; }
.visible-category-selector { display: grid; gap: .7rem; grid-template-columns: repeat(2, 1fr); }
.visible-category-selector legend { font-size: .83rem; font-weight: 800; margin-bottom: .7rem; }
.visible-category-selector label { align-items: center; border: 1px solid var(--visible-line); border-radius: 8px; flex-direction: row; padding: .8rem; }
.visible-form-submit { align-items: flex-start; background: var(--visible-ink); border-radius: 16px; color: #fff; display: grid; gap: 1rem 2rem; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); margin-bottom: 5rem; padding: 2rem; }
.visible-form-submit label { grid-column: 1; }
.visible-form-submit p { color: #b7cbd3; font-size: .8rem; grid-column: 1; margin: 0; }
.visible-form-submit button { grid-column: 2; }
.visible-checkout-summary { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 12px; display: flex; flex-direction: column; grid-column: 2; grid-row: 1 / span 2; padding: 1.2rem; }
.visible-checkout-summary > span { color: #a8e2d8; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.visible-checkout-summary > strong { color: #fff; font-size: 2.2rem; line-height: 1.1; margin-top: .4rem; }
.visible-checkout-summary > strong small { font-size: .9rem; font-weight: 500; }
.visible-checkout-summary > p { color: #d8e5e9; grid-column: auto; margin: .35rem 0 .8rem; }
.visible-checkout-summary > small { color: #a8e2d8; }

/* Account */
.visible-account-page {
  background:
    radial-gradient(circle at 92% 0, rgba(228,88,104,.08), transparent 25rem),
    #f7faf9;
  color: var(--visible-ink);
  min-height: 100vh;
}
.visible-account-main { min-height: calc(100vh - 76px); padding: 1.25rem clamp(1rem, 4vw, 3rem) 3rem; }
.visible-account-layout-alert { margin: 0 auto 1rem; max-width: 1180px; }
.visible-account-footer {
  align-items: center;
  border-top: 1px solid var(--visible-line);
  color: var(--visible-ink-soft);
  display: flex;
  font-size: .75rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1180px;
  padding: 1.2rem 1rem;
}
.visible-account-footer a { color: var(--visible-teal); font-weight: 800; text-decoration: none; }
.visible-account-menu { align-items: center; background: #fff; border: 1px solid var(--visible-line); border-radius: 16px; box-shadow: 0 10px 28px rgba(16,40,70,.07); display: grid; gap: 1rem; grid-template-columns: auto 1fr auto; margin-bottom: 2rem; padding: .55rem; position: sticky; top: 94px; z-index: 20; }
.visible-account-page .visible-account-menu { top: .75rem; }
.visible-account-menu__brand { align-items: center; color: var(--visible-ink); display: flex; gap: .65rem; padding: .35rem .65rem; text-decoration: none; }
.visible-account-menu__brand > span { align-items: center; background: var(--visible-ink); border-radius: 9px; color: #fff; display: flex; height: 38px; justify-content: center; width: 38px; }
.visible-account-menu__brand strong { display: flex; flex-direction: column; font-size: .86rem; line-height: 1.15; }
.visible-account-menu__brand small { color: var(--visible-ink-soft); font-size: .65rem; font-weight: 600; margin-top: .2rem; }
.visible-account-nav { background: var(--visible-paper); border-radius: 11px; display: flex; gap: .2rem; justify-content: center; padding: .3rem; }
.visible-account-nav a { border-radius: 8px; color: var(--visible-ink-soft); font-weight: 800; padding: .75rem 1rem; text-decoration: none; }
.visible-account-nav a[aria-current="page"] { background: #fff; box-shadow: 0 4px 12px rgba(16,40,70,.08); color: var(--visible-teal); }
.visible-account-menu > form { margin: 0; }
.visible-account-menu > form button { background: transparent; border: 0; border-radius: 8px; color: var(--visible-ink-soft); font-weight: 800; padding: .75rem; }
.visible-account-menu > form button:hover { background: #fff2f2; color: #a33442; }
.visible-account-header { align-items: end; display: flex; justify-content: space-between; margin: 2rem 0; }
.visible-account-header h1 { font-size: clamp(2.2rem, 5vw, 4rem); margin: .3rem 0; }
.visible-account-header p { color: var(--visible-ink-soft); margin: 0; }
.visible-account-header > div:last-child { display: flex; gap: .7rem; }
.visible-account-empty { background: var(--visible-paper); border-radius: 18px; padding: clamp(3rem, 8vw, 6rem); text-align: center; }
.visible-account-empty h1 { font-size: clamp(2.4rem, 5vw, 4.5rem); }
.visible-account-empty p { color: var(--visible-ink-soft); margin: 1rem auto 2rem; max-width: 620px; }
.visible-status-grid,
.visible-visibility-summary { display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); margin-bottom: 1.5rem; }
.visible-status-grid article,
.visible-visibility-summary article { background: #fff; border: 1px solid var(--visible-line); border-radius: 12px; display: flex; flex-direction: column; min-height: 160px; padding: 1.3rem; }
.visible-status-grid article > span,
.visible-visibility-summary article > span,
.visible-subscription-card__state > span { color: var(--visible-ink-soft); font-size: .75rem; text-transform: uppercase; }
.visible-status-grid article > strong { font-size: 1.25rem; margin: .7rem 0 auto; }
.visible-status-grid article > small { color: var(--visible-ink-soft); }
.visible-quality-card > strong { color: var(--visible-teal); font-size: 2.8rem !important; margin-bottom: .8rem !important; }
.visible-quality-card > strong small { font-size: 1rem; }
.visible-account-columns { display: grid; gap: 1.2rem; grid-template-columns: repeat(2, 1fr); margin: 1.5rem 0; }
.visible-account-columns > article { background: #fff; border: 1px solid var(--visible-line); border-radius: 14px; padding: 1.7rem; }
.visible-account-columns > article > header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1.3rem; }
.visible-account-columns h2 { font-size: 1.3rem; margin: 0; }
.visible-account-columns label { font-size: .82rem; font-weight: 800; }
.visible-mini-profile { background: var(--visible-paper); border-radius: 10px; margin-bottom: 1rem; padding: 1.2rem; }
.visible-mini-profile > div { align-items: center; display: flex; gap: 1rem; }
.visible-mini-profile > div > div { display: flex; flex-direction: column; }
.visible-mini-profile small { color: var(--visible-ink-soft); }
.visible-mini-profile > p { color: var(--visible-ink-soft); margin: 1rem 0 0; }
.visible-publication-done { align-items: center; background: var(--visible-mint); border-radius: 10px; display: flex; gap: 1rem; padding: 1rem; }
.visible-publication-done > i { color: var(--visible-teal); font-size: 2rem; }
.visible-account-privacy { align-items: center; background: var(--visible-paper); border-radius: 12px; display: flex; justify-content: space-between; margin-bottom: 4rem; padding: 1.5rem; }
.visible-account-privacy h2 { font-size: 1.3rem; }
.visible-account-privacy p { color: var(--visible-ink-soft); margin: 0; }
.visible-account-privacy > div:last-child { display: flex; gap: .6rem; }
.visible-visibility-summary { grid-template-columns: repeat(3, 1fr); }
.visible-visibility-summary article > strong { font-size: 2rem; margin: auto 0 0; }
.visible-score-inline { align-items: center; background: var(--visible-ink); border-radius: 10px; color: #fff; display: flex; gap: 1rem; margin-bottom: 1rem; padding: 1rem; }
.visible-score-inline > strong { color: #fff; font-size: 2.8rem; }
.visible-score-inline > div { display: flex; flex-direction: column; }
.visible-score-inline small { color: #bcd0d7; }
.visible-recommendation { align-items: flex-start; border-bottom: 1px solid var(--visible-line); display: flex; gap: .7rem; padding-bottom: .7rem; }
.visible-recommendation i { color: var(--visible-teal); }
.visible-recommendation span { display: flex; flex-direction: column; }
.visible-recommendation small { color: var(--visible-ink-soft); }
.visible-data-note { align-items: flex-start; background: #edf5f4; border-radius: 8px; display: flex; gap: .7rem; margin-top: 1rem; padding: .9rem; }
.visible-data-note p { font-size: .8rem; margin: 0; }
.visible-subscription-card { align-items: center; background: var(--visible-ink); border-radius: 18px; color: #fff; display: grid; gap: 2rem; grid-template-columns: .8fr 1.2fr auto; margin-bottom: 1.2rem; padding: 2.5rem; }
.visible-subscription-card__price,
.visible-subscription-card__state { display: flex; flex-direction: column; }
.visible-subscription-card__price strong { color: #fff; font-size: 3.7rem; line-height: 1; }
.visible-subscription-card__price small,
.visible-subscription-card__state p { color: #c1d2d9; }
.visible-subscription-card__price em { color: #a8e2d8; font-size: .72rem; font-style: normal; margin-top: .45rem; }
.visible-subscription-card__state strong { color: #a7e0d5; font-size: 1.7rem; }
.visible-subscription-card__action small { color: #e7c9a9; display: block; margin-top: .6rem; max-width: 220px; }
.visible-subscription-rules { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin: 1.2rem 0 3rem; }
.visible-subscription-rules article { border: 1px solid var(--visible-line); border-radius: 12px; padding: 1.4rem; }
.visible-subscription-rules i { color: var(--visible-coral); font-size: 1.4rem; }
.visible-subscription-rules h2 { font-size: 1.15rem; margin-top: 1rem; }
.visible-subscription-rules p { color: var(--visible-ink-soft); font-size: .85rem; }
.visible-payment-trust {
  background: var(--visible-paper);
  border: 1px solid var(--visible-line);
  border-radius: 14px;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 1.2rem;
  overflow: hidden;
}
.visible-payment-trust p { align-items: flex-start; display: flex; gap: .8rem; margin: 0; padding: 1.2rem; }
.visible-payment-trust p + p { border-left: 1px solid var(--visible-line); }
.visible-payment-trust i { color: var(--visible-teal); font-size: 1.3rem; }
.visible-payment-trust span { color: var(--visible-ink-soft); display: flex; flex-direction: column; font-size: .78rem; line-height: 1.45; }
.visible-payment-trust strong { color: var(--visible-ink); font-size: .88rem; }

/* Dedicated company access */
.visible-auth-page {
  background:
    radial-gradient(circle at 8% 8%, rgba(8,113,110,.12), transparent 28rem),
    linear-gradient(180deg, #f5f9f8 0, #eef4f3 100%);
  color: var(--visible-ink);
  min-height: 100vh;
}
.visible-auth-topbar {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1280px;
  padding: 1.1rem clamp(1rem, 4vw, 3rem);
}
.visible-auth-topbar__brand {
  align-items: center;
  color: var(--visible-ink);
  display: flex;
  gap: .75rem;
  text-decoration: none;
}
.visible-auth-topbar__brand > span {
  align-items: center;
  background: var(--visible-ink);
  border-radius: 11px;
  color: #fff;
  display: flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}
.visible-auth-topbar__brand strong { display: flex; flex-direction: column; font-size: .95rem; line-height: 1.15; }
.visible-auth-topbar__brand small { color: var(--visible-ink-soft); font-size: .67rem; margin-top: .25rem; }
.visible-auth-topbar__back {
  border: 1px solid var(--visible-line);
  border-radius: 999px;
  color: var(--visible-ink);
  font-size: .8rem;
  font-weight: 800;
  padding: .7rem 1rem;
  text-decoration: none;
}
.visible-auth-topbar__back:hover { background: #fff; color: var(--visible-teal); }
.visible-auth-main { margin: 0 auto; max-width: 1280px; padding: 0 clamp(1rem, 4vw, 3rem); }
.visible-auth-alert { margin: .5rem auto 1rem; max-width: 1160px; }
.visible-auth-footer {
  align-items: center;
  color: var(--visible-ink-soft);
  display: flex;
  font-size: .75rem;
  gap: 1rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1160px;
  padding: 0 1rem 2rem;
}
.visible-auth-footer span:first-child { color: var(--visible-teal); font-weight: 800; }

/* Company onboarding */
.visible-auth-onboarding {
  background: #fff;
  border: 1px solid var(--visible-line);
  border-radius: 26px;
  box-shadow: var(--visible-shadow);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  margin: 1.5rem auto 4rem;
  max-width: 1160px;
  overflow: hidden;
}
.visible-auth-onboarding__story {
  background: linear-gradient(145deg, #102846, #0b4b58 62%, #08716e);
  color: #fff;
  min-height: 720px;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4.5rem);
  position: relative;
}
.visible-auth-onboarding__story::after {
  background: linear-gradient(180deg, transparent, rgba(5,24,38,.75));
  content: "";
  inset: 45% 0 0;
  pointer-events: none;
  position: absolute;
}
.visible-auth-onboarding__story h1 { color: #fff; font-size: clamp(2.7rem, 5vw, 5rem); letter-spacing: 0; line-height: .98; margin: 1.3rem 0; position: relative; z-index: 2; }
.visible-auth-onboarding__story h1 em { color: #a8e2d8; display: block; font-style: normal; }
.visible-auth-onboarding__story > p { color: #d5e5e7; line-height: 1.7; max-width: 640px; position: relative; z-index: 2; }
.visible-auth-onboarding__story ol { display: flex; gap: .65rem; list-style: none; margin: 2rem 0; padding: 0; position: relative; z-index: 2; }
.visible-auth-onboarding__story li { border-top: 1px solid rgba(255,255,255,.2); display: flex; flex: 1; flex-direction: column; gap: .4rem; padding-top: .7rem; }
.visible-auth-onboarding__story li b { color: #ff9aaa; font-size: .72rem; }
.visible-auth-onboarding__story li span { font-size: .75rem; line-height: 1.35; }
.visible-auth-onboarding__story > img { bottom: -45px; height: 330px; left: 0; object-fit: cover; position: absolute; width: 100%; z-index: 1; }
.visible-auth-onboarding__form { align-items: center; display: flex; padding: clamp(1rem, 4vw, 3.5rem); }
.visible-auth-onboarding__form .auth-card { border: 0; box-shadow: none; width: 100%; }
.visible-auth-onboarding__form .auth-title { color: var(--visible-ink); font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: 0; margin-top: .6rem; }
.visible-auth-onboarding--login .visible-auth-onboarding__story { min-height: 650px; }
.visible-auth-onboarding--verify .visible-auth-onboarding__story { min-height: 560px; }

/* Motion is progressive: content stays visible until JavaScript opts in. */
.visible-motion-ready [data-visible-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1);
}
.visible-motion-ready [data-visible-reveal].is-visible { opacity: 1; transform: none; }
.visible-motion-ready .visible-how.is-visible li { animation: visibleStepIn .6s both; }
.visible-motion-ready .visible-how.is-visible li:nth-child(2) { animation-delay: .08s; }
.visible-motion-ready .visible-how.is-visible li:nth-child(3) { animation-delay: .16s; }
.visible-motion-ready .visible-how.is-visible li:nth-child(4) { animation-delay: .24s; }
.visible-signal-card--top { animation: visibleFloat 5.5s ease-in-out infinite; }
.visible-signal-card--bottom { animation: visibleFloat 5.5s ease-in-out -2.1s infinite; }
.visible-hero__visual > .visible-score-disc { animation: visibleBreathe 5s ease-in-out infinite; }

@keyframes visibleFloat {
  0%, 100% { margin-top: 0; }
  50% { margin-top: -9px; }
}
@keyframes visibleBreathe {
  0%, 100% { box-shadow: 0 22px 70px rgba(0,0,0,.25), 0 0 0 0 rgba(228,88,104,.15); }
  50% { box-shadow: 0 22px 70px rgba(0,0,0,.25), 0 0 0 12px rgba(228,88,104,0); }
}
@keyframes visibleStepIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

/* Public profile */
.visible-preview-toolbar { align-items: center; background: linear-gradient(120deg, #e9f7f4, #f8fbfa); border: 1px solid #b9ded6; border-radius: 14px; display: flex; justify-content: space-between; margin-bottom: 1.2rem; padding: 1.1rem 1.3rem; }
.visible-preview-toolbar > div { display: flex; flex-direction: column; }
.visible-preview-toolbar > div:first-child > span { color: var(--visible-teal); font-size: .72rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.visible-preview-toolbar > div:first-child > strong { color: var(--visible-ink); font-size: 1.05rem; margin-top: .25rem; }
.visible-preview-toolbar > div:first-child > small { color: var(--visible-ink-soft); }
.visible-preview-toolbar > div:last-child { flex-direction: row; gap: .6rem; }
.visible-profile-pending { color: #8b6415 !important; font-size: .76rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.visible-breadcrumbs { align-items: center; color: var(--visible-ink-soft); display: flex; flex-wrap: wrap; font-size: .8rem; gap: .55rem; margin-bottom: 1rem; }
.visible-breadcrumbs a { color: var(--visible-teal); }
.visible-public-header { background: #fff; border: 1px solid var(--visible-line); border-radius: 20px; overflow: hidden; }
.visible-public-header__cover { height: 280px; object-fit: cover; width: 100%; }
.visible-public-header__cover--generated { background: radial-gradient(circle at 75% 25%, rgba(255,255,255,.24), transparent 30%), linear-gradient(130deg, var(--visible-teal), var(--visible-ink)); }
.visible-public-header__cover--public { align-items: flex-end; background: radial-gradient(circle at 80% 20%, rgba(255,255,255,.24), transparent 25%), radial-gradient(circle at 15% 80%, rgba(255,255,255,.12), transparent 30%), linear-gradient(125deg, var(--profile-accent, #315587), var(--profile-accent-2, #6f92bd)); color: #fff; display: flex; gap: 1rem; justify-content: flex-end; overflow: hidden; padding: 2rem 2.25rem; position: relative; }
.visible-public-header__cover--public::before,
.visible-public-header__cover--public::after { border: 1px solid rgba(255,255,255,.2); border-radius: 50%; content: ""; position: absolute; }
.visible-public-header__cover--public::before { height: 260px; left: 6%; top: -130px; width: 260px; }
.visible-public-header__cover--public::after { bottom: -180px; height: 360px; right: 18%; width: 360px; }
.visible-public-header__cover--public > i { font-size: 4.5rem; opacity: .9; position: relative; z-index: 1; }
.visible-public-header__cover--public > span { border-left: 1px solid rgba(255,255,255,.5); font-size: .8rem; font-weight: 900; letter-spacing: .12em; padding: .75rem 0 .75rem 1rem; position: relative; text-transform: uppercase; z-index: 1; }
.visible-public-header__body { align-items: end; display: grid; gap: 1.5rem; grid-template-columns: auto 1fr auto; padding: 0 2rem 2rem; }
.visible-public-header__logo { background: #fff; border: 6px solid #fff; border-radius: 18px; box-shadow: 0 8px 25px rgba(16,40,70,.15); height: 112px; margin-top: -55px; object-fit: contain; padding: 4px; position: relative; width: 112px; z-index: 2; }
.visible-public-header__logo--letter { align-items: center; background: var(--visible-ink); color: #fff; display: flex; font-size: 2.4rem; justify-content: center; padding: 0; }
.visible-public-header__logo--public { background: var(--profile-soft, #eef4fa); color: var(--profile-accent, #315587); font-size: 2.6rem; }
.visible-public-header h1 { font-size: clamp(2.3rem, 5vw, 4.5rem); margin: .25rem 0; }
.visible-public-header__body > div:nth-child(2) > p { color: var(--visible-ink-soft); font-size: 1.05rem; }
.visible-public-header__actions { display: flex; flex-direction: column; gap: .6rem; }
.visible-public-layout { align-items: start; display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr) 340px; margin-top: 2rem; }
.visible-public-layout main > section { border-bottom: 1px solid var(--visible-line); padding: 2.5rem 1rem; }
.visible-public-layout main > section h2 { font-size: clamp(1.8rem, 3vw, 2.8rem); margin: .6rem 0 1.2rem; }
.visible-public-layout main > section > p { color: var(--visible-ink-soft); font-size: 1.02rem; line-height: 1.8; }
.visible-service-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, 1fr); }
.visible-service-grid article { background: var(--visible-paper); border-radius: 10px; padding: 1.2rem; }
.visible-service-grid i { color: var(--visible-coral); float: right; }
.visible-service-grid h3 { font-size: 1.1rem; }
.visible-service-grid p { color: var(--visible-ink-soft); font-size: .8rem; }
.visible-audiences { display: grid; gap: 2rem; grid-template-columns: repeat(2, 1fr); }
.visible-audiences ul { list-style: none; padding: 0; }
.visible-audiences li { border-bottom: 1px solid var(--visible-line); padding: .65rem 0; }
.visible-audiences i { color: var(--visible-teal); margin-right: .5rem; }
.visible-evidence-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, 1fr); }
.visible-evidence-grid p { align-items: center; border: 1px solid var(--visible-line); border-radius: 9px; display: flex; gap: .8rem; margin: 0; padding: 1rem; }
.visible-evidence-grid i { color: var(--visible-teal); font-size: 1.25rem; }
.visible-public-aside { display: grid; gap: 1rem; position: sticky; top: 120px; }
.visible-public-aside > section { background: #fff; border: 1px solid var(--visible-line); border-radius: 12px; padding: 1.4rem; }
.visible-public-aside h2 { font-size: 1.15rem; }
.visible-public-aside dl { margin: 1.2rem 0; }
.visible-public-aside dl > div { border-bottom: 1px solid var(--visible-line); padding: .75rem 0; }
.visible-public-aside dt { color: var(--visible-ink-soft); font-size: .72rem; text-transform: uppercase; }
.visible-public-aside dd { margin: .25rem 0 0; }
.visible-profile-state-panel { background: var(--visible-mint) !important; border-color: #bcded5 !important; }
.visible-profile-state-panel > i { color: var(--visible-teal); font-size: 2rem; }
.visible-profile-state-panel p { color: var(--visible-ink-soft); font-size: .85rem; }
.visible-profile-state-panel--public { background: #f4f7fc !important; border-color: #ccd8ea !important; }
.visible-profile-state-panel--public > i { color: #3f5f8f; }
.visible-profile-state-panel--public > a { color: #315587; display: inline-block; font-size: .78rem; font-weight: 800; margin-top: .8rem; }
.visible-manage-profile-link { color: var(--visible-ink-soft); display: block; font-size: .76rem; font-weight: 700; margin-top: .9rem; text-align: center; }
.visible-socials { list-style: none; padding: 0; }
.visible-socials li { border-bottom: 1px solid var(--visible-line); padding: .6rem 0; }
.visible-report-box { margin: 0 2rem 4rem; }
.visible-report-box form { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); padding: 1rem 0 2rem; }
.visible-report-box button { justify-self: start; }
.visible-shell--aggregate > header { background: var(--visible-paper); border-radius: 18px; margin-bottom: 2rem; padding: clamp(2rem, 6vw, 5rem); }
.visible-shell--aggregate > header h1 { font-size: clamp(2.7rem, 6vw, 5rem); margin: 1rem 0; }
.visible-shell--aggregate > header p { color: var(--visible-ink-soft); font-size: 1.1rem; max-width: 760px; }

@media (max-width: 991px) {
  .visible-hero { grid-template-columns: 1fr; }
  .visible-hero__visual { min-height: 420px; }
  .visible-proof-strip { grid-template-columns: repeat(2, 1fr); }
  .visible-proof-strip p:nth-child(2) { border-right: 0; }
  .visible-benefits,
  .visible-story,
  .visible-preview,
  .visible-index-explainer { gap: 3rem; grid-template-columns: 1fr; }
  .visible-story__media { min-height: 560px; }
  .visible-benefits__intro { max-width: 720px; }
  .visible-score-disc--small { margin: auto; }
  .visible-search { grid-template-columns: 1fr 1fr; }
  .visible-search label:nth-child(2) { border-right: 0; }
  .visible-search button { grid-column: span 2; }
  .visible-card-grid { grid-template-columns: repeat(2, 1fr); }
  .visible-pricing { grid-template-columns: 1fr 1fr; }
  .visible-pricing > a { grid-column: span 2; text-align: center; }
  .visible-result-header { gap: 2rem; grid-template-columns: 250px 1fr; padding: 2.5rem; }
  .visible-public-layout { grid-template-columns: 1fr; }
  .visible-public-aside { grid-template-columns: repeat(2, 1fr); position: static; }
  .visible-public-header__body { align-items: start; grid-template-columns: auto 1fr; }
  .visible-public-header__actions { flex-direction: row; grid-column: span 2; }
  .visible-status-grid { grid-template-columns: repeat(2, 1fr); }
  .visible-subscription-card { grid-template-columns: 1fr 1fr; }
  .visible-subscription-card__action { grid-column: span 2; }
  .visible-auth-onboarding { grid-template-columns: 1fr; }
  .visible-auth-onboarding__story { min-height: 650px; }
}

@media (max-width: 767px) {
  .visible-auth-topbar__brand small,
  .visible-auth-topbar__back { display: none; }
  .visible-auth-footer { align-items: flex-start; flex-direction: column; }
  .visible-shell h1 { font-size: clamp(2.5rem, 12vw, 4rem); }
  .visible-section { padding: 4.5rem .2rem; }
  .visible-hero { border-radius: 18px; min-height: auto; padding: 2rem 1.2rem 3rem; }
  .visible-hero::after { display: none; }
  .visible-diagnostic-form > div { grid-template-columns: auto 1fr; }
  .visible-diagnostic-form button { grid-column: span 2; width: 100%; }
  .visible-hero__visual { min-height: 390px; }
  .visible-hero__visual > .visible-score-disc { height: 148px; left: 25%; top: 66%; width: 148px; }
  .visible-hero__visual > .visible-score-disc strong { font-size: 3.2rem; }
  .visible-hero__caption { font-size: .6rem; }
  .visible-orbit--one { height: 360px; width: 360px; }
  .visible-orbit--two { height: 290px; width: 290px; }
  .visible-score-disc { height: 210px; width: 210px; }
  .visible-score-disc strong { font-size: 4.5rem; }
  .visible-signal-card { min-width: 180px; }
  .visible-signal-card--top { left: 54%; transform: translateX(-50%); }
  .visible-signal-card--bottom { left: 68%; transform: translateX(-50%); }
  .visible-proof-strip { margin: 0 8px; padding: 1rem; }
  .visible-proof-strip p { border-bottom: 1px solid #cfd7d4; border-right: 0; padding: .8rem; }
  .visible-how ol { grid-template-columns: 1fr; }
  .visible-how li { border-right: 1px solid var(--visible-line); min-height: 0; }
  .visible-benefits { padding: 3rem 1.2rem; }
  .visible-benefits__grid { grid-template-columns: 1fr; }
  .visible-benefits__grid article { min-height: 0; }
  .visible-story__media { min-height: 470px; }
  .visible-story__image--primary { height: 300px; width: 88%; }
  .visible-story__image--secondary { height: 220px; width: 68%; }
  .visible-profile-mock { transform: none; }
  .visible-index-explainer { padding: 3rem 1.2rem; }
  .visible-dimensions { grid-template-columns: 1fr; }
  .visible-search { grid-template-columns: 1fr; }
  .visible-search label { border-bottom: 1px solid var(--visible-line); border-right: 0; }
  .visible-search button { grid-column: 1; }
  .visible-directory__meta { align-items: flex-start; flex-direction: column; gap: .4rem; }
  .visible-card-grid { grid-template-columns: 1fr; }
  .visible-pricing { grid-template-columns: 1fr; padding: 3rem 1.2rem; }
  .visible-pricing > a { grid-column: 1; }
  .visible-final-cta { padding: 3rem 1.2rem; }
  .visible-final-cta > div { flex-direction: column; }
  .visible-disclaimer { margin-left: 0; margin-right: 0; }
  .visible-result-header { grid-template-columns: 1fr; padding: 2rem 1.2rem; text-align: center; }
  .visible-score-disc--result { margin: auto; }
  .visible-result-categories > div:last-child,
  .visible-result-preview,
  .visible-result-cta { grid-template-columns: 1fr; }
  .visible-result-preview article footer { flex-direction: column; gap: .4rem; }
  .visible-diagnostic-scope ul { grid-template-columns: 1fr; }
  .visible-form-grid { grid-template-columns: 1fr; }
  .span-2 { grid-column: 1; }
  .visible-category-selector { grid-template-columns: 1fr; }
  .visible-onboarding-steps { align-items: stretch; flex-direction: column; }
  .visible-form-submit { grid-template-columns: 1fr; }
  .visible-form-submit label,
  .visible-checkout-summary,
  .visible-form-submit p,
  .visible-form-submit button { grid-column: 1; grid-row: auto; }
  .visible-account-menu { align-items: stretch; grid-template-columns: 1fr auto; position: static; }
  .visible-account-menu__brand { grid-column: 1; }
  .visible-account-menu > form { grid-column: 2; grid-row: 1; }
  .visible-account-nav { grid-column: span 2; justify-content: flex-start; overflow-x: auto; }
  .visible-account-nav a { white-space: nowrap; }
  .visible-account-header { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .visible-status-grid,
  .visible-visibility-summary,
  .visible-account-columns,
  .visible-subscription-rules { grid-template-columns: 1fr; }
  .visible-account-privacy { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .visible-account-privacy > div:last-child { flex-wrap: wrap; }
  .visible-subscription-card { grid-template-columns: 1fr; padding: 1.6rem; }
  .visible-subscription-card__action { grid-column: 1; }
  .visible-payment-trust { grid-template-columns: 1fr; }
  .visible-payment-trust p + p { border-left: 0; border-top: 1px solid var(--visible-line); }
  .visible-auth-onboarding { border-radius: 18px; margin-top: 0; }
  .visible-auth-onboarding__story { min-height: 620px; padding: 2rem 1.3rem; }
  .visible-auth-onboarding__story ol { flex-direction: column; }
  .visible-auth-onboarding__story > img { height: 270px; }
  .visible-auth-onboarding__form { padding: 1rem; }
  .visible-public-header__cover { height: 190px; }
  .visible-public-header__body { grid-template-columns: 1fr; padding: 0 1.2rem 1.5rem; }
  .visible-public-header__logo { margin-top: -50px; }
  .visible-public-header__actions { flex-direction: column; grid-column: 1; }
  .visible-preview-toolbar { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .visible-service-grid,
  .visible-audiences,
  .visible-evidence-grid,
  .visible-public-aside,
  .visible-report-box form { grid-template-columns: 1fr; }
  .visible-report-box .span-2 { grid-column: 1; }
}

/* Responsive audit: prioritize the task and keep every flow inside the viewport. */
@media (max-width: 991px) {
  .visible-hero {
    gap: 3rem;
    min-height: auto;
  }
  .visible-hero__visual { min-height: 400px; }
  .visible-index-explainer { overflow: hidden; }

  .visible-account-menu {
    align-items: stretch;
    grid-template-columns: 1fr auto;
    position: static;
  }
  .visible-account-menu__brand { grid-column: 1; }
  .visible-account-menu > form {
    grid-column: 2;
    grid-row: 1;
  }
  .visible-account-nav {
    grid-column: span 2;
    justify-content: flex-start;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
  }
  .visible-account-nav a {
    scroll-snap-align: start;
    white-space: nowrap;
  }

  .visible-auth-onboarding__form {
    order: 1;
    padding: 2rem clamp(1.25rem, 8vw, 4rem);
  }
  .visible-auth-onboarding__story {
    min-height: 0;
    order: 2;
    padding: 2.5rem clamp(2rem, 7vw, 4rem) 0;
  }
  .visible-auth-onboarding__story h1 {
    font-size: clamp(2.6rem, 7vw, 4rem);
    max-width: 720px;
  }
  .visible-auth-onboarding__story > p { max-width: 700px; }
  .visible-auth-onboarding__story > img {
    bottom: auto;
    height: 215px;
    margin: 1.5rem calc(-1 * clamp(2rem, 7vw, 4rem)) 0;
    object-position: center 58%;
    position: relative;
    width: calc(100% + (2 * clamp(2rem, 7vw, 4rem)));
  }
  .visible-auth-onboarding__story::after { inset: 66% 0 0; }
  .visible-auth-onboarding--login .visible-auth-onboarding__story,
  .visible-auth-onboarding--verify .visible-auth-onboarding__story { min-height: 0; }
}

@media (max-width: 767px) {
  .visible-auth-topbar { padding: .75rem 1rem; }
  .visible-auth-topbar__brand small { display: none; }
  .visible-auth-topbar__back {
    align-items: center;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    padding: 0;
    width: 44px;
  }
  .visible-auth-topbar__back span { display: none; }
  .visible-auth-main { padding: 0 .75rem; }

  .visible-shell h1 {
    font-size: clamp(2.35rem, 11vw, 3.5rem);
    line-height: 1.02;
  }
  .visible-shell h2 { line-height: 1.08; }
  .visible-section { padding: 3.5rem .2rem; }
  .visible-section__header { margin-bottom: 2rem; }
  .visible-hero {
    gap: 2rem;
    padding: 2rem 1.2rem 2.4rem;
  }
  .visible-hero__visual { min-height: 320px; }
  .visible-orbit--one {
    height: 300px;
    width: 300px;
  }
  .visible-orbit--two {
    height: 240px;
    width: 240px;
  }

  .visible-proof-strip {
    margin: 0 8px;
    padding: .8rem;
  }
  .visible-proof-strip p {
    border-bottom: 1px solid #cfd7d4;
    padding: .8rem;
  }
  .visible-proof-strip p:nth-child(odd) { border-right: 1px solid #cfd7d4; }
  .visible-proof-strip p:nth-last-child(-n + 2) { border-bottom: 0; }

  .visible-benefits { gap: 2rem; }
  .visible-story { gap: 2.5rem; }
  .visible-story__media { min-height: 390px; }
  .visible-story__image--primary {
    height: 260px;
    width: 88%;
  }
  .visible-story__image--secondary {
    height: 190px;
    width: 68%;
  }
  .visible-index-explainer { gap: 2rem; }
  .visible-score-disc--small {
    height: 180px;
    margin: 0 auto;
    width: 180px;
  }
  .visible-score-disc--small strong { font-size: 2.7rem; }

  .visible-search button {
    min-height: 48px;
  }
  .visible-company-card {
    min-height: 0;
    padding: 1.25rem;
  }
  .visible-pagination { flex-wrap: wrap; }
  .visible-pagination a {
    height: 44px;
    width: 44px;
  }
  .visible-pricing { gap: 2rem; }
  .visible-final-cta > div > a {
    min-height: 44px;
    width: 100%;
  }

  .visible-diagnostic-intro { padding: 3rem .2rem 4rem; }
  .visible-diagnostic-scope { padding: 1.25rem; }

  .visible-form-header { padding: 2.5rem 0 2rem; }
  .visible-form-header h1 { font-size: clamp(2.35rem, 11vw, 3.5rem); }
  .visible-form-grid {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
  .visible-onboarding-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .visible-onboarding-steps li {
    align-items: flex-start;
    border-radius: 10px;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
    padding: .65rem;
  }
  .visible-onboarding-steps li span { line-height: 1.25; }
  .visible-company-form { gap: 1rem; }
  .visible-company-form > section { padding: 1.2rem; }
  .visible-company-form > section > header {
    gap: .7rem;
    margin-bottom: 1.3rem;
    padding-bottom: 1rem;
  }
  .visible-company-form > section > header h2 { font-size: 1.35rem; }
  .visible-form-grid input,
  .visible-form-grid select,
  .visible-form-grid textarea {
    font-size: 1rem;
    min-height: 46px;
  }
  .visible-category-selector label { min-height: 46px; }
  .visible-form-submit {
    margin-bottom: 3rem;
    padding: 1.2rem;
  }
  .visible-form-submit button {
    min-height: 48px;
    white-space: normal;
    width: 100%;
  }

  .visible-account-main { padding: .75rem .75rem 2rem; }
  .visible-account-menu {
    border-radius: 12px;
    gap: .5rem;
    margin-bottom: 1.25rem;
  }
  .visible-account-nav a {
    align-items: center;
    display: flex;
    flex-direction: column;
    font-size: .7rem;
    gap: .2rem;
    min-height: 44px;
    justify-content: center;
    padding: .5rem .2rem;
    text-align: center;
  }
  .visible-account-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
    scroll-snap-type: none;
  }
  .visible-account-nav i { font-size: 1rem; }
  .visible-account-menu > form button {
    height: 44px;
    width: 44px;
  }
  .visible-account-menu > form button span { display: none; }
  .visible-account-header h1 { font-size: clamp(2.1rem, 10vw, 3rem); }
  .visible-account-header > div:last-child {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .visible-account-header > div:last-child > * { min-height: 44px; }
  .visible-account-empty { padding: 2.5rem 1.25rem; }
  .visible-status-grid article,
  .visible-visibility-summary article {
    min-height: 120px;
    padding: 1.1rem;
  }
  .visible-account-columns > article { padding: 1.2rem; }
  .visible-account-columns > article > header {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: .5rem;
  }
  .visible-mini-profile > div { align-items: flex-start; }
  .visible-subscription-card { padding: 1.4rem; }
  .visible-subscription-card__price strong { font-size: 3rem; }
  .visible-subscription-card__action button {
    min-height: 46px;
    white-space: normal;
    width: 100%;
  }

  .visible-auth-onboarding {
    margin: 0 auto 2rem;
  }
  .visible-auth-onboarding__story {
    min-height: 0;
    padding: 2rem 1.3rem 0;
  }
  .visible-auth-onboarding--login .visible-auth-onboarding__story,
  .visible-auth-onboarding--verify .visible-auth-onboarding__story { min-height: 0; }
  .visible-auth-onboarding__story h1 {
    font-size: clamp(2.1rem, 10vw, 2.8rem);
    line-height: 1.03;
  }
  .visible-auth-onboarding__story > p {
    font-size: .92rem;
    line-height: 1.55;
  }
  .visible-auth-onboarding__story ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .visible-auth-onboarding__story li { min-width: 0; }
  .visible-auth-onboarding__story > img {
    bottom: auto;
    height: 150px;
    margin: 1rem -1.3rem 0;
    object-position: center 58%;
    position: relative;
    width: calc(100% + 2.6rem);
  }
  .visible-auth-onboarding__story::after { inset: 70% 0 0; }
  .visible-auth-onboarding__form { padding: .5rem; }
  .visible-auth-onboarding__form .auth-card { padding: 1rem !important; }
  .visible-auth-onboarding__form .auth-title { font-size: clamp(2rem, 10vw, 2.7rem); }
  .visible-auth-onboarding__form .form-control,
  .visible-auth-onboarding__form .btn { min-height: 48px; }

  .visible-public-header__cover { height: 165px; }
  .visible-public-header__logo {
    height: 88px;
    margin-top: -42px;
    width: 88px;
  }
  .visible-public-header h1 { font-size: clamp(2.15rem, 11vw, 3rem); }
  .visible-public-header__actions a { min-height: 44px; }
  .visible-public-layout {
    gap: 1rem;
    margin-top: 1rem;
  }
  .visible-public-layout main > section { padding: 2rem 0; }
  .visible-preview-toolbar > div:last-child {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .visible-report-box { margin: 0 0 3rem; }
  .visible-shell--aggregate > header { padding: 2rem 1.2rem; }
}

@media (max-width: 479px) {
  .visible-auth-topbar__brand { gap: .55rem; }
  .visible-auth-topbar__brand > span {
    border-radius: 9px;
    height: 40px;
    width: 40px;
  }
  .visible-auth-topbar__brand strong { font-size: .84rem; }
  .visible-hero__copy > p {
    font-size: 1rem;
    line-height: 1.55;
  }
  .visible-hero__actions {
    align-items: stretch;
    flex-direction: column;
    gap: .8rem;
  }
  .visible-hero__actions a,
  .visible-hero__actions .visible-hero__login {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 44px;
    text-align: center;
  }
  .visible-hero__visual { min-height: 285px; }
  .visible-hero__visual > .visible-score-disc {
    height: 128px;
    width: 128px;
  }
  .visible-hero__visual > .visible-score-disc strong { font-size: 2.6rem; }
  .visible-signal-card--bottom { display: none; }
  .visible-signal-card--top {
    left: 58%;
    min-width: 165px;
  }
  .visible-proof-strip strong { font-size: .78rem; }
  .visible-proof-strip span { font-size: .68rem; }
  .visible-profile-mock__identity {
    align-items: flex-start;
    margin: -38px 1rem 1.2rem;
  }
  .visible-profile-mock__logo {
    height: 78px;
    width: 78px;
  }
  .visible-profile-mock__stats { padding: .8rem 1rem; }
  .visible-profile-mock > p,
  .visible-profile-mock__chips {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .visible-score-disc--small {
    height: 166px;
    width: 166px;
  }
  .visible-onboarding-steps li { font-size: .72rem; }
  .visible-account-menu__brand small { display: none; }
  .visible-account-header > div:last-child { grid-template-columns: 1fr; }
  .visible-account-privacy > div:last-child {
    display: grid;
    width: 100%;
  }
  .visible-account-privacy > div:last-child > * { width: 100%; }
  .visible-public-header__cover--public { padding: 1rem; }
  .visible-public-header__cover--public > i { font-size: 3rem; }
  .visible-public-header__cover--public > span { font-size: .7rem; }
  .visible-preview-toolbar > div:last-child { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .visible-shell *,
  .visible-shell *::before,
  .visible-shell *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .visible-motion-ready [data-visible-reveal] { opacity: 1 !important; transform: none !important; }
  .visible-signal-card,
  .visible-hero__visual > .visible-score-disc,
  .visible-motion-ready .visible-how.is-visible li { animation: none !important; }
}
