:root {
  --navy-950: #070d1a;
  --navy-900: #0b1220;
  --navy-850: #101827;
  --navy-800: #131d2e;
  --navy-700: #1c2940;
  --line: rgba(178, 202, 233, 0.18);
  --text: #f7fbff;
  --muted: #b8c8e6;
  --soft: #8092b2;
  --green: #35c653;
  --green-dark: #159c37;
  --blue: #3b82f6;
  --shadow: 0 28px 90px rgba(0,0,0,.35);
  --radius-lg: 34px;
  --radius-md: 24px;
  --radius-sm: 16px;
  --max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: radial-gradient(circle at 8% 8%, rgba(37, 194, 92, .18), transparent 34%),
              linear-gradient(135deg, #08101e 0%, #0a1322 45%, #111d33 100%);
  color: var(--text);
  line-height: 1.6;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.45), transparent 70%);
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.container {
  width: min(var(--max), calc(100% - 64px));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 max(32px, calc((100vw - var(--max)) / 2));
  border-bottom: 1px solid var(--line);
  background: rgba(11, 18, 32, .86);
  backdrop-filter: blur(18px);
}

.brand { display: flex; align-items: center; gap: 12px; font-weight: 900; font-size: 1.1rem; }
.brand-icon { width: 42px; height: 42px; border-radius: 14px; box-shadow: 0 0 28px rgba(53, 198, 83, .16); }
.nav { display: flex; gap: 32px; color: var(--muted); font-weight: 800; }
.nav a:hover { color: var(--text); }

.section-pad { padding: 92px 0; }
.compact-top { padding-top: 40px; }
.hero { min-height: calc(100vh - 76px); display: flex; align-items: center; }
.hero-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.hero-copy { max-width: 710px; }
.eyebrow { margin: 0 0 14px; color: var(--green); text-transform: uppercase; letter-spacing: .22em; font-size: .78rem; font-weight: 900; }
h1, h2, h3 { margin: 0; line-height: .97; letter-spacing: -.055em; }
h1 { font-size: clamp(4.3rem, 8vw, 8.8rem); }
h2 { font-size: clamp(3rem, 5.4vw, 6.2rem); max-width: 900px; }
h3 { font-size: clamp(1.45rem, 2.2vw, 2.4rem); }
p { color: var(--muted); }
.lead { font-size: clamp(1.18rem, 1.7vw, 1.55rem); max-width: 780px; margin: 28px 0 0; }
.section-lead { font-size: 1.2rem; max-width: 780px; }

.cta-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 14px;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.14);
}
.button.primary { background: linear-gradient(180deg, #4ee76d, var(--green)); color: #04120a; border-color: rgba(255,255,255,.1); box-shadow: 0 20px 45px rgba(53,198,83,.18); }
.button.secondary { background: rgba(255,255,255,.06); color: var(--text); }
.button.disabled { opacity: .7; cursor: not-allowed; }
.pill-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.pill-row span { color: var(--muted); padding: 9px 14px; border: 1px solid var(--line); background: rgba(255,255,255,.045); border-radius: 999px; }

.hero-visual {
  position: relative;
  padding: 26px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
  box-shadow: var(--shadow);
}
.hero-visual::before {
  content: "";
  position: absolute;
  inset: -90px -80px auto auto;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgba(53,198,83,.22), transparent 70%);
  filter: blur(16px);
  z-index: -1;
}
.logo-strip { background: var(--navy-700); border-radius: 18px; padding: 18px; margin-bottom: 24px; }
.logo-strip img { width: min(520px, 82%); margin: 0 auto; }
.app-frame {
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.17);
  background: #090f1d;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 20px 50px rgba(0,0,0,.28);
}
.hero-frame img { width: 100%; }

.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 42px; }
.feature-card, .module-card, .price-card, .download-card, .screen-block {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  border-radius: var(--radius-md);
  box-shadow: 0 16px 50px rgba(0,0,0,.17);
}
.feature-card { padding: 30px; min-height: 245px; }
.feature-icon { font-size: 2rem; display: block; margin-bottom: 24px; }
.feature-card h3 { font-size: 1.45rem; letter-spacing: -.03em; line-height: 1.1; }
.feature-card p { font-size: 1.02rem; }

.showcase { background: rgba(2, 8, 19, .22); border-top: 1px solid rgba(255,255,255,.06); border-bottom: 1px solid rgba(255,255,255,.06); }
.showcase-header { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
.screen-block { padding: clamp(22px, 3vw, 46px); margin-bottom: 38px; }
.screen-block-wide { display: grid; grid-template-columns: .42fr .58fr; gap: 42px; align-items: center; }
.screen-copy p:not(.eyebrow) { font-size: 1.13rem; max-width: 620px; }
.screen-copy h3 { margin-bottom: 20px; }
.screen-block.split { display: grid; grid-template-columns: .42fr .58fr; gap: 42px; align-items: center; }
.screen-block.reverse .screen-copy { order: 1; }
.two-shot { display: grid; gap: 18px; }
.two-shot .app-frame:first-child { transform: translateX(24px); }
.two-shot .app-frame:last-child { transform: translateX(-24px); opacity: .92; }

.module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 38px 0; }
.module-card { padding: 20px; }
.module-card .app-frame { height: 240px; display: flex; align-items: center; }
.module-card .app-frame img { width: 100%; height: 100%; object-fit: cover; object-position: left top; }
.module-card h3 { font-size: 1.5rem; margin: 26px 0 12px; letter-spacing: -.03em; }
.module-card p { font-size: 1.04rem; }

.ai-block { display: grid; grid-template-columns: 1fr 390px; gap: 56px; align-items: center; overflow: hidden; }
.phone-frame {
  width: min(100%, 390px);
  max-height: 720px;
  overflow: hidden;
  border-radius: 26px;
  border: 1px solid var(--line);
  background: var(--navy-850);
  box-shadow: var(--shadow);
  justify-self: center;
}
.phone-frame img { width: 100%; }
.check-list { margin: 28px 0 0; padding: 0; display: grid; gap: 12px; list-style: none; color: var(--muted); font-weight: 800; }
.check-list li::before { content: "✓"; color: var(--green); margin-right: 10px; }

.pricing-grid-wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 46px; align-items: start; }
.pricing-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.price-card { position: relative; padding: 32px; }
.price-card h3 { font-size: 1.35rem; letter-spacing: -.02em; }
.price { font-size: 2rem; color: var(--text); font-weight: 950; margin: 22px 0; line-height: 1.1; }
.price-card ul { color: var(--muted); padding-left: 22px; margin-bottom: 28px; }
.price-card.pro { border-color: rgba(53,198,83,.75); box-shadow: 0 0 0 1px rgba(53,198,83,.15), 0 24px 80px rgba(53,198,83,.08); }
.planned { position: absolute; top: 24px; right: 24px; background: rgba(53,198,83,.18); color: #8cff9f; border: 1px solid rgba(53,198,83,.5); padding: 6px 12px; border-radius: 999px; font-size: .8rem; font-weight: 900; }

.download-card { display: grid; grid-template-columns: 100px 1fr auto; gap: 28px; align-items: center; padding: 34px; }
.download-card img { width: 86px; border-radius: 24px; }
.download-card h2 { font-size: clamp(2.6rem, 4vw, 4.8rem); }

.site-footer { padding: 34px 0; border-top: 1px solid var(--line); background: rgba(6,12,23,.6); }
.footer-grid { display: flex; justify-content: space-between; color: var(--soft); }

@media (max-width: 1100px) {
  .hero-grid, .screen-block-wide, .screen-block.split, .pricing-grid-wrap, .ai-block { grid-template-columns: 1fr; }
  .feature-grid, .module-grid { grid-template-columns: 1fr 1fr; }
  .hero { min-height: auto; }
  .screen-block.reverse .screen-copy { order: initial; }
  .two-shot .app-frame:first-child, .two-shot .app-frame:last-child { transform: none; }
  .download-card { grid-template-columns: 80px 1fr; }
  .download-card .button { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .container { width: min(100% - 34px, var(--max)); }
  .site-header { padding: 0 18px; }
  .nav { display: none; }
  .section-pad { padding: 64px 0; }
  h1 { font-size: 4rem; }
  h2 { font-size: 3.2rem; }
  .feature-grid, .module-grid, .pricing-grid { grid-template-columns: 1fr; }
  .hero-visual { padding: 14px; }
  .logo-strip { display: none; }
  .module-card .app-frame { height: 220px; }
  .footer-grid { display: grid; gap: 8px; }
}

/* Contractor Management Center v1.6.0 */
#admin-access-screen[data-admin-gate] { min-height: 70vh; display: grid; place-items: center; padding: 24px; }
#admin-access-screen[data-admin-gate][hidden] { display: none !important; }
#admin-access-screen[data-admin-gate] .access-card { max-width: 620px; width: 100%; background: var(--surface, #fff); border: 1px solid rgba(100,116,139,.22); border-radius: 18px; padding: 30px; box-shadow: 0 18px 50px rgba(15,23,42,.10); text-align: center; }
.contractor-admin-shell[hidden] { display: none !important; }
.contractor-admin-stats,
.contractor-summary-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
.contractor-setup-grid { align-items: start; }
.contractor-form,
.contractor-admin-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: end; }
.contractor-form label,
.contractor-admin-form label { display: grid; gap: 7px; font-weight: 700; }
.contractor-form input,
.contractor-form select,
.contractor-form textarea,
.contractor-admin-form input,
.contractor-admin-form select,
.contractor-admin-form textarea { width: 100%; }
.contractor-span-2 { grid-column: 1 / -1; }
.contractor-inline-form { grid-template-columns: repeat(4,minmax(150px,1fr)); margin-bottom: 22px; }
.contractor-inline-form .form-message { align-self: center; }
.contractor-roster-table > div { grid-template-columns: minmax(240px,2fr) minmax(90px,.6fr) minmax(110px,.7fr) minmax(90px,.6fr); cursor: pointer; }
.contractor-roster-table > div:hover { background: rgba(53,198,83,.08); }
.contractor-review-table > div { grid-template-columns: minmax(240px,2fr) minmax(80px,.55fr) minmax(90px,.6fr) minmax(170px,1fr); }
.contractor-status-active,
.contractor-status-approved,
.contractor-status-paid,
.contractor-status-reviewed { background: rgba(34,197,94,.14); color: #15803d; }
.contractor-status-invited,
.contractor-status-onboarding,
.contractor-status-submitted,
.contractor-status-received { background: rgba(245,158,11,.15); color: #a16207; }
.contractor-status-inactive,
.contractor-status-rejected,
.contractor-status-needs_update { background: rgba(239,68,68,.13); color: #b91c1c; }
.contractor-status-draft,
.contractor-status-not_received { background: rgba(100,116,139,.14); color: #475569; }
.contractor-invite-shell { min-height: calc(100vh - 90px); }
.contractor-invite-shell .auth-card { max-width: 660px; }
.contractor-portal-shell .portal-main { min-width: 0; }
.contractor-portal-shell section.portal-card { scroll-margin-top: 90px; }

/* Contractor workspace v1.6.1 — compact tabbed layout */
.contractor-admin-shell .portal-main,
.contractor-portal-shell .portal-main { gap: 16px; }
.contractor-admin-shell .portal-topbar,
.contractor-portal-shell .portal-topbar { padding-bottom: 4px; }
.contractor-admin-shell .portal-topbar h1,
.contractor-portal-shell .portal-topbar h1 { font-size: clamp(1.8rem, 3vw, 2.65rem); margin: 2px 0 6px; }
.contractor-admin-shell .portal-topbar p,
.contractor-portal-shell .portal-topbar p { margin: 0; max-width: 850px; }
.contractor-admin-shell .admin-stat,
.contractor-portal-shell .admin-stat { min-height: 92px; padding: 16px 18px; border-radius: 14px; }
.contractor-admin-shell .admin-stat strong,
.contractor-portal-shell .admin-stat strong { font-size: 1.55rem; }
.contractor-tabbar {
  position: sticky; top: 8px; z-index: 8; display: flex; gap: 6px; overflow-x: auto;
  padding: 6px; margin: 2px 0; border: 1px solid rgba(148,163,184,.2); border-radius: 14px;
  background: color-mix(in srgb, var(--surface, #111827) 94%, transparent); backdrop-filter: blur(14px);
  box-shadow: 0 8px 24px rgba(2,6,23,.12);
}
.contractor-tabbar button {
  appearance: none; border: 0; border-radius: 10px; background: transparent; color: inherit;
  padding: 10px 15px; font: inherit; font-weight: 750; white-space: nowrap; cursor: pointer;
}
.contractor-tabbar button:hover { background: rgba(148,163,184,.11); }
.contractor-tabbar button.active { background: var(--accent, #35c653); color: #07120a; box-shadow: 0 5px 14px rgba(53,198,83,.22); }
.contractor-tab-panel[hidden] { display: none !important; }
.contractor-tab-panel { display: grid; gap: 16px; min-width: 0; }
.contractor-two-up { grid-template-columns: minmax(280px,.72fr) minmax(440px,1.28fr); align-items: start; }
.compact-card { padding: 22px; border-radius: 16px; }
.compact-card h2 { font-size: 1.35rem; margin: 0 0 5px; }
.compact-card h3 { font-size: 1.05rem; }
.compact-card > .muted { margin-top: 4px; }
.contractor-admin-shell .contractor-form,
.contractor-admin-shell .contractor-admin-form,
.contractor-portal-shell .contractor-form,
.contractor-portal-shell .contractor-admin-form { gap: 11px 13px; }
.contractor-admin-shell .contractor-form label,
.contractor-admin-shell .contractor-admin-form label,
.contractor-portal-shell .contractor-form label,
.contractor-portal-shell .contractor-admin-form label { gap: 5px; font-size: .9rem; }
.contractor-admin-shell input,
.contractor-admin-shell select,
.contractor-admin-shell textarea,
.contractor-portal-shell input,
.contractor-portal-shell select,
.contractor-portal-shell textarea { min-height: 42px; padding: 9px 12px; border-radius: 10px; font-size: .95rem; }
.contractor-admin-shell textarea,
.contractor-portal-shell textarea { min-height: 76px; }
.contractor-admin-shell .button,
.contractor-portal-shell .button { min-height: 40px; padding: 9px 15px; border-radius: 10px; }
.contractor-admin-shell .admin-two-col { gap: 16px; }
.contractor-admin-shell .admin-section { margin-top: 16px; padding-top: 14px; }
.contractor-admin-shell .portal-table > div,
.contractor-portal-shell .portal-table > div { padding: 11px 12px; font-size: .92rem; }
.contractor-admin-shell hr { margin: 18px 0; opacity: .28; }

@media (max-width: 1050px) {
  .contractor-two-up { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .contractor-tabbar { top: 4px; border-radius: 12px; }
  .contractor-tabbar button { padding: 9px 12px; }
  .compact-card { padding: 17px; }
}
@media (max-width: 1180px) {
  .contractor-admin-stats,
  .contractor-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .contractor-inline-form { grid-template-columns: repeat(2,minmax(160px,1fr)); }
}
@media (max-width: 760px) {
  .contractor-admin-stats,
  .contractor-summary-grid,
  .contractor-form,
  .contractor-admin-form,
  .contractor-inline-form { grid-template-columns: 1fr; }
  .contractor-span-2 { grid-column: auto; }
  .contractor-roster-table > div,
  .contractor-review-table > div { grid-template-columns: 1fr; gap: 8px; }
}


/* Screenshot lightbox */
.app-frame img,
.phone-frame img,
.app-frame video,
.feature-video {
  cursor: zoom-in;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 32px;
  background: rgba(3, 7, 15, .86);
  backdrop-filter: blur(14px);
}

.lightbox.open {
  display: flex;
}

.lightbox-image,
.lightbox-video {
  display: none;
  max-width: min(96vw, 1800px);
  max-height: 92vh;
  width: auto;
  height: auto;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 30px 100px rgba(0,0,0,.62), 0 0 70px rgba(53,198,83,.12);
  background: #08101e;
}

.lightbox-image.active,
.lightbox-video.active {
  display: block;
}

.lightbox-video {
  width: min(92vw, 1600px);
  height: auto;
  cursor: default;
}

.lightbox-close {
  position: fixed;
  top: 18px;
  right: 22px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(19, 29, 46, .9);
  color: var(--text);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

.lightbox-close:hover {
  background: rgba(53,198,83,.22);
  border-color: rgba(53,198,83,.55);
}

body.lightbox-lock {
  overflow: hidden;
}


/* Additional site pages */
.page-hero {
  min-height: 46vh;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.page-hero h1 { font-size: clamp(3.4rem, 6vw, 7.2rem); max-width: 1050px; }
.content-grid { display: grid; gap: 24px; }
.content-grid.three { grid-template-columns: repeat(3, 1fr); margin-top: 24px; }
.comparison-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; align-items: stretch; }
.comparison-grid .price-card { min-height: 520px; }
.download-page-card {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 32px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  padding: 36px;
  margin-bottom: 26px;
}
.download-page-card img { width: 104px; border-radius: 26px; box-shadow: 0 20px 60px rgba(53,198,83,.15); }
.download-page-card h2 { font-size: clamp(2.4rem, 4vw, 4.8rem); }
.faq-list { display: grid; gap: 18px; max-width: 1050px; }
.faq-card, .doc-card, .legal-content, .timeline article {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  padding: 28px;
}
.faq-card h3, .doc-card h3, .legal-content h3 { font-size: 1.45rem; letter-spacing: -.03em; margin-bottom: 10px; }
.docs-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.legal-content { max-width: 980px; }
.legal-content h2 { font-size: clamp(2.2rem, 4vw, 4rem); margin-bottom: 22px; }
.legal-content p { font-size: 1.08rem; }
.fineprint { color: var(--soft); font-size: .95rem; margin-top: 28px; }
.timeline { display: grid; gap: 22px; max-width: 980px; }
.timeline article span { color: var(--green); font-weight: 950; letter-spacing: .08em; }
.footer-rich { display: grid; grid-template-columns: 1.3fr .6fr .6fr; gap: 28px; align-items: start; }
.footer-brand { display: flex; align-items: center; gap: 12px; color: var(--text); }
.footer-brand img { width: 38px; height: 38px; border-radius: 12px; }
.footer-links { display: grid; gap: 10px; }
.footer-links a { color: var(--muted); font-weight: 800; }
.footer-links a:hover { color: var(--text); }
.footer-bottom { color: var(--soft); padding-top: 18px; font-size: .92rem; }

@media (max-width: 900px) {
  .comparison-grid, .docs-grid, .content-grid.three, .footer-rich { grid-template-columns: 1fr; }
  .download-page-card { grid-template-columns: 1fr; }
}

/* Professional content additions */
.notice-card {
  margin: 24px 0;
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid rgba(53,198,83,.35);
  background: rgba(53,198,83,.09);
  color: var(--text);
}
.legal-list {
  color: var(--muted);
  margin: 14px 0 24px;
  padding-left: 24px;
}
.legal-list li { margin: 8px 0; }
.legal-content a { color: #8cff9f; font-weight: 800; }
.timeline h4 {
  color: var(--text);
  margin: 18px 0 6px;
  font-size: 1rem;
  letter-spacing: .02em;
}

.footer-contact { margin-top: 10px; font-size: .92rem; }
.footer-contact a { color: var(--muted); font-weight: 800; }
.footer-contact a:hover { color: var(--green); }

/* My Ledgora portal preview */
.nav-login {
  color: var(--text) !important;
  border: 1px solid rgba(53,198,83,.45);
  background: rgba(53,198,83,.12);
  padding: 8px 13px;
  border-radius: 999px;
  margin-top: -8px;
}
.auth-section { min-height: calc(100vh - 76px); display: flex; align-items: center; }
.auth-wrap { display: grid; grid-template-columns: 1.05fr .8fr; gap: 56px; align-items: center; }
.auth-wrap.small-auth { grid-template-columns: 1fr .75fr; }
.auth-card, .portal-card, .portal-metrics article, .portal-status {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
  border-radius: var(--radius-md);
  box-shadow: 0 18px 60px rgba(0,0,0,.18);
}
.auth-card { padding: 34px; }
.auth-card h2 { font-size: 2rem; margin-bottom: 24px; }
.auth-icon { width: 64px; height: 64px; border-radius: 18px; margin-bottom: 18px; box-shadow: 0 0 30px rgba(53,198,83,.2); }
.auth-card label, .portal-card label { display: grid; gap: 8px; color: var(--muted); font-weight: 800; margin: 14px 0; }
.auth-card input, .portal-card input, .portal-card select, .portal-card textarea {
  width: 100%; border: 1px solid rgba(255,255,255,.14); background: rgba(8,16,30,.74); color: var(--text);
  border-radius: 14px; min-height: 48px; padding: 12px 14px; font: inherit;
}
.portal-card textarea { min-height: 130px; resize: vertical; }
.auth-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 18px 0 22px; color: var(--muted); }
.auth-row a, .auth-small a, .portal-card a { color: #8cff9f; font-weight: 900; }
.check-inline { display: flex !important; grid-template-columns: auto 1fr; flex-direction: row; gap: 10px !important; align-items: center; }
.check-inline input { width: auto !important; min-height: auto !important; }
.button.full { width: 100%; }
.auth-small { text-align: center; font-size: .95rem; margin-top: 18px; }

.portal-shell { min-height: 100vh; display: grid; grid-template-columns: 280px 1fr; background: linear-gradient(135deg, #08101e 0%, #0a1322 45%, #111d33 100%); }
.portal-sidebar { position: sticky; top: 0; height: 100vh; border-right: 1px solid var(--line); background: rgba(7,13,26,.82); padding: 22px; display: flex; flex-direction: column; gap: 20px; }
.portal-brand { display: flex; align-items: center; gap: 12px; font-size: 1.12rem; font-weight: 950; }
.portal-brand img { width: 44px; height: 44px; border-radius: 14px; }
.portal-nav { display: grid; gap: 8px; margin-top: 10px; }
.portal-nav a, .portal-exit { color: var(--muted); font-weight: 900; padding: 12px 14px; border-radius: 14px; }
.portal-nav a:hover, .portal-exit:hover { background: rgba(255,255,255,.06); color: var(--text); }
.portal-exit { margin-top: auto; }
.portal-main { padding: 38px; min-width: 0; }
.portal-topbar { display: flex; justify-content: space-between; gap: 24px; align-items: start; margin-bottom: 28px; }
.portal-topbar h1 { font-size: clamp(3rem, 5vw, 5.6rem); }
.portal-topbar p { max-width: 760px; }
.portal-status { padding: 18px 20px; margin-bottom: 24px; color: var(--muted); border-color: rgba(53,198,83,.35); background: rgba(53,198,83,.08); }
.portal-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 24px; }
.portal-metrics article { padding: 22px; }
.portal-metrics span, .license-meta span { color: var(--soft); font-size: .88rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.portal-metrics strong { display: block; margin: 8px 0 4px; font-size: 1.8rem; color: var(--text); line-height: 1.05; }
.portal-grid { display: grid; gap: 22px; margin-bottom: 22px; }
.portal-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.portal-card { padding: 26px; }
.portal-card h2 { font-size: 1.7rem; margin-bottom: 14px; letter-spacing: -.035em; }
.muted { color: var(--muted); }
.license-box, .license-key {
  border: 1px solid rgba(53,198,83,.35); background: rgba(53,198,83,.1); border-radius: 18px; padding: 18px; margin: 18px 0; font-weight: 950;
}
.license-key { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; font-size: 1.15rem; color: #9cffaa; }
.license-meta { display: grid; gap: 8px; margin: 16px 0 22px; }
.portal-list { display: grid; gap: 12px; }
.portal-list div { display: flex; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.09); color: var(--muted); }
.portal-list strong { color: var(--text); }
.portal-table { display: grid; gap: 0; overflow-x: auto; }
.portal-table > div { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 14px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.09); color: var(--muted); min-width: 720px; }
.portal-table > div:first-child { color: var(--text); font-weight: 950; }
.product-download { display: grid; grid-template-columns: 92px 1fr; gap: 22px; align-items: start; }
.product-download img { width: 86px; border-radius: 24px; }
.clean-list { color: var(--muted); padding-left: 20px; }
.danger-zone { border-color: rgba(248,113,113,.28); }

@media (max-width: 1100px) {
  .auth-wrap, .auth-wrap.small-auth, .portal-grid.two { grid-template-columns: 1fr; }
  .portal-metrics { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
  .portal-shell { grid-template-columns: 1fr; }
  .portal-sidebar { position: relative; height: auto; }
  .portal-nav { grid-template-columns: repeat(2, 1fr); }
  .portal-main { padding: 24px 18px; }
  .portal-topbar { display: grid; }
  .portal-metrics { grid-template-columns: 1fr; }
  .auth-section { min-height: auto; }
}
.form-message{margin-top:12px;color:#ff7777;font-weight:800}.form-message.good{color:#35d76f}.license-key{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px;display:inline-block}.portal-table.four div{grid-template-columns:2fr 1fr 1fr 1fr}.portal-table.three div{grid-template-columns:2fr 1fr 1fr}.portal-error{color:#ff7777;font-weight:800;margin:10px 0}.auth-card input,.auth-card textarea{box-sizing:border-box}


.legal-consent { margin-top: 12px; font-size: 0.85rem; color: var(--muted, #637067); line-height: 1.45; }
.legal-consent a { font-weight: 700; }


/* Admin Portal */
.admin-layout .portal-main { max-width: 1280px; }
.admin-stats { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:14px; margin: 18px 0; }
.admin-stat { background:#fff; border:1px solid rgba(17,24,39,.08); border-radius:18px; padding:18px; box-shadow:0 10px 30px rgba(17,24,39,.05); }
.admin-stat strong { display:block; font-size:28px; margin-top:6px; }
.admin-search-row { display:flex; gap:10px; margin: 14px 0 18px; }
.admin-search-row input { flex:1; }
.admin-grid { display:grid; grid-template-columns: minmax(320px, 420px) 1fr; gap:18px; align-items:start; }
.admin-table div { cursor:pointer; }
.admin-table div:hover { background:rgba(183,28,28,.05); }
.admin-detail { border:1px solid rgba(17,24,39,.08); border-radius:18px; padding:18px; background:#fff; }
.admin-actions { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.admin-actions input, .admin-actions select { min-height:38px; }
.admin-section { margin-top:18px; padding-top:14px; border-top:1px solid rgba(17,24,39,.08); }
.badge { display:inline-flex; align-items:center; border-radius:999px; padding:3px 9px; font-size:12px; font-weight:700; background:rgba(17,24,39,.08); }
.badge.active { background:rgba(22,163,74,.12); color:#166534; }
.badge.revoked, .badge.disabled { background:rgba(220,38,38,.12); color:#991b1b; }
.small { font-size: 12px; }
@media (max-width: 980px) { .admin-stats, .admin-grid { grid-template-columns: 1fr; } .admin-search-row { flex-direction:column; } }


/* Admin Portal polish / layout fix */
.brand img { width: 42px; height: 42px; object-fit: contain; border-radius: 14px; }
.portal-nav a.active, .portal-nav a[aria-current="page"] { background: rgba(53,198,83,.12); color: var(--text); border: 1px solid rgba(53,198,83,.22); }
.admin-shell .portal-main { max-width: none; width: 100%; }
.admin-stats { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:18px; margin: 0 0 24px; }
.admin-stat, .admin-detail {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
  border-radius: var(--radius-md);
  box-shadow: 0 18px 60px rgba(0,0,0,.18);
  color: var(--text);
}
.admin-stat { padding: 22px; }
.admin-stat span { color: var(--soft); font-size: .88rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.admin-stat strong { display:block; margin-top: 8px; font-size: 2rem; line-height: 1.05; }
.admin-search-row { display:flex; gap:10px; margin: 14px 0 18px; }
.admin-search-row input { flex:1; }
.admin-grid { display:grid; grid-template-columns: minmax(320px, 430px) 1fr; gap:18px; align-items:start; }
.admin-table > div { grid-template-columns: 2fr 1fr; cursor:pointer; }
.admin-table > div:hover { background: rgba(255,255,255,.045); }
.admin-detail { padding: 22px; min-width: 0; }
.admin-detail h2 { font-size: 1.6rem; line-height: 1.1; overflow-wrap: anywhere; }
.admin-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.admin-actions input, .admin-actions select { min-height:42px; width:auto; min-width: 180px; border: 1px solid rgba(255,255,255,.14); background: rgba(8,16,30,.74); color: var(--text); border-radius: 12px; padding: 8px 10px; }
.admin-section { margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,.09); }
.admin-section h3 { font-size: 1.25rem; letter-spacing: -.03em; line-height: 1.1; }
.admin-audit-table > div { grid-template-columns: 1.3fr 1.2fr 1.6fr 1.5fr; }
.badge { display:inline-flex; align-items:center; border-radius:999px; padding:3px 9px; font-size:12px; font-weight:900; background:rgba(255,255,255,.08); color: var(--muted); }
.badge.active { background:rgba(22,163,74,.16); color:#9cffaa; }
.badge.revoked, .badge.disabled { background:rgba(220,38,38,.16); color:#ffaaa5; }
.small { font-size: 12px; }
@media (max-width: 1100px) { .admin-stats { grid-template-columns: repeat(2,1fr); } .admin-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .admin-stats { grid-template-columns: 1fr; } .admin-search-row { flex-direction:column; } }


/* Admin Control Panel Phase 2+ */
.admin-control-panel .portal-card { margin-bottom: 24px; }
.section-heading-row { display:flex; justify-content:space-between; gap:16px; align-items:start; margin-bottom: 12px; }
.admin-stats { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.admin-two-col { display:grid; grid-template-columns: minmax(340px, 1fr) minmax(340px, 1fr); gap:18px; margin-top:18px; }
.admin-release-form, .admin-settings-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:14px; align-items:end; }
.admin-release-form label, .admin-settings-grid label { display:grid; gap:7px; color: var(--soft); font-weight:900; font-size:.86rem; letter-spacing:.03em; }
.admin-release-form textarea, .admin-settings-grid textarea, .admin-release-form input, .admin-release-form select, .admin-settings-grid input, .admin-settings-grid select { width:100%; border:1px solid rgba(255,255,255,.14); background:rgba(8,16,30,.74); color:var(--text); border-radius:14px; padding:12px 14px; box-sizing:border-box; }
.admin-release-form textarea, .admin-settings-grid textarea { resize: vertical; min-height:110px; }
.inline-check { display:flex !important; grid-template-columns: auto 1fr; align-items:center; gap:10px !important; color:var(--muted) !important; }
.inline-check input { width:auto !important; }
.admin-pre { white-space:pre-wrap; overflow:auto; min-height:220px; max-height:420px; padding:16px; border-radius:16px; border:1px solid rgba(255,255,255,.1); background:rgba(4,8,16,.76); color:#c9f7d3; font-size:12px; }
.admin-release-table > div { grid-template-columns: 1.5fr .7fr .7fr 1fr; }
.admin-billing-table > div { grid-template-columns: 1.5fr 1.2fr .8fr .8fr 1fr; }
.admin-support-table > div { grid-template-columns: 1.8fr .7fr 1fr 1fr; }
code { color:#9cffaa; background:rgba(53,198,83,.1); padding:.1em .35em; border-radius:.4em; }
@media (max-width: 1300px) { .admin-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .admin-two-col, .admin-release-form, .admin-settings-grid { grid-template-columns:1fr; } .admin-stats { grid-template-columns: 1fr; } }

/* Portal v1.1 Security */
.security-score-card .security-score{display:flex;gap:1.25rem;align-items:center}.security-score span{font-size:3rem;font-weight:900;color:#7ed957}.security-form{display:grid;gap:1rem}.security-setup{margin-top:1rem;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.04)}.security-setup small{display:block;word-break:break-all;color:#b9c7e8;margin:.5rem 0}.recovery-codes{margin-top:1rem}.recovery-codes pre{white-space:pre-wrap;background:#0b1220;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1rem;line-height:1.6}.connected-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.connected-grid>div{padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.04)}.security-table div{grid-template-columns:2fr 1.5fr 1fr}.oauth-buttons{display:grid;gap:.6rem;margin:.75rem 0}.divider{text-align:center;color:#9aa6c2;margin:.75rem 0}.twofa-box{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12)}.password-meter{font-size:.9rem;color:#b9c7e8;margin-top:-.5rem;margin-bottom:.75rem}

.verify-banner{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: linear-gradient(90deg, rgba(107,209,95,.18), rgba(107,209,95,.08));
  border-bottom: 1px solid rgba(107,209,95,.35);
  color: #f8fafc;
  padding: 12px 22px;
  text-align: center;
  font-weight: 700;
}
.verify-banner a{color:#8bea79;text-decoration:underline;}
.verify-status-box{display:grid;gap:16px;}
.verify-status-box .big-icon{font-size:42px;}


/* Website polish v1.2 */
.hero-v2 h1 { font-size: clamp(3.8rem, 6.8vw, 7.8rem); }
.trust-strip { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.trust-strip span { color: var(--text); font-weight:900; padding:10px 14px; border-radius:999px; border:1px solid rgba(53,198,83,.35); background:rgba(53,198,83,.10); }
.hero-floating-card { position:absolute; right:28px; bottom:28px; max-width:330px; padding:18px 20px; border-radius:20px; border:1px solid rgba(53,198,83,.4); background:rgba(7,13,26,.82); backdrop-filter:blur(14px); box-shadow:0 22px 60px rgba(0,0,0,.34); }
.hero-floating-card strong { display:block; color:var(--text); margin-bottom:4px; }
.hero-floating-card span { color:var(--muted); font-size:.96rem; }
.module-grid-four { grid-template-columns: repeat(4, 1fr); }
.module-grid-four .module-card .app-frame { height: 180px; }
.compare-section { background: rgba(2, 8, 19, .2); border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06); }
.comparison-table-wrap { overflow:auto; margin-top:34px; border:1px solid var(--line); border-radius:var(--radius-md); background:rgba(255,255,255,.035); }
.comparison-table { width:100%; border-collapse:collapse; min-width:720px; }
.comparison-table th, .comparison-table td { padding:18px 20px; text-align:left; border-bottom:1px solid rgba(255,255,255,.08); color:var(--muted); }
.comparison-table th { color:var(--text); background:rgba(255,255,255,.045); font-size:.92rem; text-transform:uppercase; letter-spacing:.08em; }
.comparison-table td:nth-child(2) { color:#dfffe6; font-weight:850; }
.comparison-table tr:last-child td { border-bottom:0; }
.pricing-callout { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; margin-bottom:28px; padding:18px 22px; border:1px solid rgba(53,198,83,.36); border-radius:22px; background:rgba(53,198,83,.09); color:var(--muted); }
.pricing-callout strong { color:var(--text); }
.pricing-cards-v2 .price-card { min-height:620px; }
.polished-download { grid-template-columns:110px 1fr; }
.muted { color: var(--soft); }
.reverse-grid .screen-copy { order: 2; }
.screenshot-gallery .screen-block { margin-bottom:34px; }
.screenshot-gallery .module-card h3 { margin-bottom:4px; }
@media (max-width: 1200px) { .module-grid-four { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .module-grid-four { grid-template-columns: 1fr; } .hero-floating-card { position:static; margin-top:18px; max-width:none; } .polished-download { grid-template-columns:1fr; } }


/* Website polish v1.2.1 - stronger homepage hero and larger screenshots */
.hero-grid { grid-template-columns: .78fr 1.22fr; gap: clamp(44px, 5vw, 86px); }
.hero-copy { max-width: 680px; }
.hero-headline-stack { font-size: clamp(4.6rem, 7.4vw, 8.6rem); line-height: .93; max-width: 760px; }
.hero-headline-stack span { display: block; white-space: nowrap; }
.hero-visual { padding: clamp(22px, 2.2vw, 34px); transform: scale(1.06); transform-origin: center; }
.hero-frame img { width: 100%; display: block; }
.showcase .screen-block { padding: clamp(24px, 3.4vw, 54px); }
.showcase .screen-block-wide { grid-template-columns: .34fr .66fr; gap: clamp(34px, 4vw, 62px); }
.showcase .screen-block.split { grid-template-columns: .34fr .66fr; gap: clamp(34px, 4vw, 62px); }
.showcase .app-frame img { width: 100%; display: block; }
.module-grid-four { grid-template-columns: repeat(2, 1fr); gap: 28px; }
.module-grid-four .module-card { padding: 18px; }
.module-grid-four .module-card .app-frame { height: 260px; }
.module-grid-four .module-card .app-frame img { width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.ai-block { grid-template-columns: .36fr .64fr; }
@media (max-width: 1200px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { transform: none; }
  .hero-headline-stack span { white-space: normal; }
}
@media (max-width: 760px) {
  .hero-headline-stack { font-size: clamp(3.4rem, 17vw, 5.6rem); }
  .module-grid-four { grid-template-columns: 1fr; }
  .module-grid-four .module-card .app-frame { height: 220px; }
}

/* Website polish v1.2.2 - premium motion, larger screenshots, and legal/doc typography cleanup */
@keyframes ledgoraFloat {
  0%, 100% { transform: translateY(0) scale(1.09); }
  50% { transform: translateY(-8px) scale(1.09); }
}
@keyframes ledgoraGlowPulse {
  0%, 100% { opacity: .58; filter: blur(22px); }
  50% { opacity: .92; filter: blur(30px); }
}
.hero-visual {
  transform: scale(1.09);
  animation: ledgoraFloat 8s ease-in-out infinite;
  box-shadow: 0 36px 110px rgba(0,0,0,.42), 0 0 0 1px rgba(53,198,83,.08);
}
.hero-visual::before {
  inset: auto -120px -95px auto;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(53,198,83,.34), rgba(53,198,83,.12) 36%, transparent 72%);
  animation: ledgoraGlowPulse 7s ease-in-out infinite;
}
.hero-visual::after {
  content: "";
  position: absolute;
  inset: -34px;
  border-radius: calc(var(--radius-lg) + 28px);
  background: radial-gradient(circle at 66% 54%, rgba(53,198,83,.16), transparent 62%);
  z-index: -2;
  pointer-events: none;
}
.app-frame {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.app-frame:hover {
  transform: translateY(-4px);
  border-color: rgba(53,198,83,.38);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 28px 70px rgba(0,0,0,.34), 0 0 44px rgba(53,198,83,.08);
}
.hero-frame:hover { transform: none; }
.showcase .screen-block {
  padding: clamp(30px, 4vw, 64px);
  border-color: rgba(178,202,233,.22);
}
.showcase .screen-block-wide,
.showcase .screen-block.split {
  grid-template-columns: .30fr .70fr;
  gap: clamp(40px, 5vw, 76px);
}
.showcase .app-frame {
  border-radius: 26px;
}
.module-grid-four .module-card .app-frame {
  height: 310px;
}
.module-card {
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.module-card:hover,
.feature-card:hover,
.price-card:hover,
.download-card:hover {
  transform: translateY(-3px);
  border-color: rgba(53,198,83,.28);
  box-shadow: 0 26px 70px rgba(0,0,0,.24), 0 0 38px rgba(53,198,83,.06);
}
.trust-strip span,
.pill-row span {
  box-shadow: 0 0 24px rgba(53,198,83,.05);
}
.button.primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 26px 60px rgba(53,198,83,.24);
}
.button.secondary:hover {
  transform: translateY(-2px);
  border-color: rgba(53,198,83,.34);
  background: rgba(255,255,255,.085);
}
.button { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease; }

/* Clean up legal/trust/security/document pages: smaller section headers, better spacing */
.legal-content,
.doc-card,
.faq-card,
.timeline article {
  line-height: 1.72;
}
.legal-content h2 {
  font-size: clamp(1.85rem, 2.7vw, 3.05rem);
  line-height: 1.08;
  letter-spacing: -.045em;
  margin: 44px 0 16px;
  max-width: 860px;
}
.legal-content h3 {
  font-size: clamp(1.25rem, 1.6vw, 1.7rem);
  line-height: 1.16;
  letter-spacing: -.03em;
  margin: 28px 0 10px;
}
.legal-content p,
.legal-content li {
  font-size: 1.02rem;
  line-height: 1.72;
}
.legal-content .eyebrow { font-size: .74rem; }
.page-hero h1 {
  font-size: clamp(3rem, 5.2vw, 6rem);
  line-height: .98;
  max-width: 960px;
}
.page-hero {
  padding-top: clamp(48px, 7vw, 96px);
  padding-bottom: clamp(34px, 5vw, 70px);
}
.security-page h2,
.trust-page h2,
.terms-page h2,
.privacy-page h2 {
  font-size: clamp(1.85rem, 2.7vw, 3.05rem);
}
.security-page h3,
.trust-page h3,
.terms-page h3,
.privacy-page h3 {
  font-size: clamp(1.25rem, 1.6vw, 1.7rem);
}
.legal-content > h2:first-child { margin-top: 0; }
.legal-list { padding-left: 1.2rem; }
.legal-list li { margin: 7px 0; }

@media (prefers-reduced-motion: reduce) {
  .hero-visual,
  .hero-visual::before {
    animation: none;
  }
  .app-frame,
  .module-card,
  .feature-card,
  .price-card,
  .download-card,
  .button {
    transition: none;
  }
}
@media (max-width: 1200px) {
  .hero-visual { animation: none; transform: none; }
  .showcase .screen-block-wide,
  .showcase .screen-block.split {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .page-hero h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
  .legal-content h2 { font-size: clamp(1.75rem, 9vw, 2.65rem); }
  .module-grid-four .module-card .app-frame { height: 235px; }
}


/* Brand logo refresh v1.2.3 */
.brand-wordmark {
  display:block;
  height: 42px;
  width: auto;
  max-width: 190px;
  object-fit: contain;
  filter: drop-shadow(0 0 18px rgba(53, 198, 83, .12));
}
.site-header .brand { gap: 0; }
.footer-wordmark {
  display:block;
  height: 38px;
  width:auto;
  max-width: 180px;
  object-fit: contain;
  filter: drop-shadow(0 0 18px rgba(53, 198, 83, .10));
}
@media (max-width: 720px) {
  .brand-wordmark { height: 36px; max-width: 160px; }
  .footer-wordmark { height: 34px; max-width: 155px; }
}

/* Header logo readability fix v1.2.4 */
.site-header {
  height: 82px;
}
.site-header .brand {
  gap: 12px;
  min-width: 245px;
  align-items: center;
}
.site-header .brand .header-brand-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 0 28px rgba(53, 198, 83, .20);
  flex: 0 0 auto;
}
.site-header .brand .header-brand-wordmark {
  height: 52px;
  width: auto;
  max-width: 230px;
  object-fit: contain;
  object-position: left center;
  border-radius: 0;
  filter: drop-shadow(0 0 18px rgba(53, 198, 83, .16));
}
.site-header .brand img {
  border-radius: 0;
}
.site-header .brand .header-brand-icon {
  border-radius: 14px;
}
@media (max-width: 900px) {
  .site-header { height: 76px; }
  .site-header .brand { min-width: auto; gap: 10px; }
  .site-header .brand .header-brand-icon { width: 42px; height: 42px; }
  .site-header .brand .header-brand-wordmark { height: 44px; max-width: 185px; }
}
@media (max-width: 640px) {
  .site-header .brand .header-brand-wordmark { max-width: 145px; height: 38px; }
  .site-header .brand .header-brand-icon { width: 38px; height: 38px; }
}

/* R2-hosted MP4 feature previews */
.feature-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: left top;
  border-radius: inherit;
  background: #090f1d;
}
.app-frame video {
  width: 100%;
  height: 100%;
  display: block;
}


/* Enlarged media viewer for screenshots and R2-hosted MP4 previews */
.app-frame video:hover,
.feature-video:hover {
  filter: brightness(1.08) saturate(1.04);
}
.lightbox::before {
  content: '';
  position: fixed;
  inset: 0;
  background: radial-gradient(circle at 50% 42%, rgba(53,198,83,.10), transparent 42%);
  pointer-events: none;
}
.lightbox.open .lightbox-image.active,
.lightbox.open .lightbox-video.active {
  animation: mediaZoomIn .22s ease both;
}
@keyframes mediaZoomIn {
  from { opacity: 0; transform: scale(.965); }
  to { opacity: 1; transform: scale(1); }
}


/* Trademark and specimen-ready download presentation — v1.3.4 */
.brand { position: relative; }
.brand-tm { color: var(--green, #36d665); font-size: .72rem; font-weight: 800; line-height: 1; align-self: flex-start; margin-left: -4px; margin-top: 3px; }
.footer-brand { display: flex; align-items: flex-start; gap: 2px; }
.footer-tm { margin-left: -5px; margin-top: 0; }
.trademark-notice { white-space: normal; }
.specimen-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.specimen-badges span { border: 1px solid rgba(67, 220, 113, .38); background: rgba(40, 190, 91, .09); border-radius: 999px; padding: 8px 12px; font-size: .9rem; font-weight: 700; color: var(--text, #f5f7fb); }
.download-product-name { margin: 0 0 5px; font-size: clamp(1.45rem, 2.5vw, 2rem); }
.download-commerce-note { margin-top: 12px; max-width: 760px; }
.compact-legal { max-width: 900px; }
@media (max-width: 720px) { .brand-tm { font-size: .62rem; margin-left: -3px; } .specimen-badges { gap: 7px; } .specimen-badges span { font-size: .8rem; } }


/* Trademark specimen refinement v1.3.5 */
.specimen-owner-line {
  margin: 18px 0 0;
  color: #f4f7fb;
  font-size: 1.05rem;
  line-height: 1.6;
}
.specimen-owner-line strong {
  font-weight: 750;
}


/* Authenticator QR-code setup — v1.4.1 */
.twofa-setup-grid {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(320px, 1.2fr);
  gap: 26px;
  margin: 18px 0 24px;
}
.twofa-qr-panel,
.twofa-manual-panel {
  border: 1px solid rgba(151, 177, 214, .2);
  border-radius: 18px;
  padding: 22px;
  background: rgba(5, 13, 28, .38);
}
.twofa-qr-panel h3,
.twofa-manual-panel h3 { margin: 0 0 8px; }
.twofa-qr-frame {
  width: min(100%, 300px);
  min-height: 284px;
  margin: 18px auto 12px;
  display: grid;
  place-items: center;
  padding: 12px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 15px 40px rgba(0, 0, 0, .22);
}
.twofa-qr-frame canvas { display: block; width: 260px; height: 260px; max-width: 100%; }
.twofa-qr-loading { color: #172033; text-align: center; font-weight: 700; }
.twofa-private-note { margin: 12px 0 0; color: #ffb3ad; font-size: .9rem; line-height: 1.45; }
.copy-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: stretch; }
.copy-field input { min-width: 0; }
.copy-field .button { white-space: nowrap; }
.twofa-uri-details { margin-top: 16px; }
.twofa-uri-details summary { cursor: pointer; color: var(--muted); font-weight: 700; }
.twofa-uri-details code { display: block; margin-top: 10px; padding: 12px; border-radius: 10px; background: rgba(0,0,0,.25); overflow-wrap: anywhere; color: var(--muted); font-size: .82rem; }
@media (max-width: 820px) {
  .twofa-setup-grid { grid-template-columns: 1fr; }
  .copy-field { grid-template-columns: 1fr; }
}

/* SEO resource and guide pages — v1.5.0 */
.seo-hero .container,.guide-hero .container{max-width:980px}.seo-article{margin-top:32px}.seo-faq{margin-top:48px}.seo-faq h2,.seo-related h2{margin-top:6px}.faq-item{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:0 18px;margin:12px 0;background:rgba(255,255,255,.025)}.faq-item summary{cursor:pointer;font-weight:700;padding:18px 0}.faq-item p{padding:0 0 18px;margin:0;color:var(--muted)}.seo-related{margin-top:48px}.related-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.related-link-grid a{display:block;padding:13px 15px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.025);text-decoration:none}.related-link-grid a:hover{border-color:rgba(52,211,153,.5);transform:translateY(-1px)}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-grid .feature-card h3 a{color:inherit;text-decoration:none}.text-link{display:inline-block;margin-top:8px;font-weight:700}.cta-panel{margin-top:48px;padding:28px;border:1px solid rgba(52,211,153,.28);border-radius:20px;background:linear-gradient(135deg,rgba(52,211,153,.08),rgba(255,255,255,.02));display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-panel h2{margin:4px 0 8px}.small-note{margin-top:24px;color:var(--muted);font-size:.92rem}@media(max-width:860px){.related-link-grid,.resource-grid{grid-template-columns:1fr}.cta-panel{align-items:flex-start;flex-direction:column}}


/* v1.5.4 — Currency feature and About page */
.currency-section { position: relative; overflow: hidden; }
.currency-section::before { content: ""; position: absolute; inset: 10% -12% auto auto; width: 440px; height: 440px; border-radius: 50%; background: radial-gradient(circle, rgba(54, 230, 100, .12), transparent 68%); pointer-events: none; }
.currency-feature-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 54px; align-items: center; }
.currency-copy h2 { max-width: 780px; }
.currency-check-list { margin: 28px 0 32px; }
.currency-safety-card { position: relative; padding: 34px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; background: linear-gradient(155deg, rgba(25,38,31,.98), rgba(10,17,13,.98)); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.currency-symbol-row { display: flex; gap: 10px; margin-bottom: 26px; }
.currency-symbol-row b { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: rgba(111,255,143,.1); border: 1px solid rgba(111,255,143,.18); color: #a5ffb8; font-size: 1.25rem; }
.currency-safety-card h3 { font-size: clamp(1.9rem, 3vw, 2.8rem); margin-bottom: 26px; }
.currency-step { display: grid; grid-template-columns: 40px 1fr; gap: 14px; padding: 17px 0; border-top: 1px solid rgba(255,255,255,.08); }
.currency-step > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #07100a; background: #8cff9f; font-weight: 900; }
.currency-step strong { display: block; margin-bottom: 4px; }
.currency-step p { margin: 0; color: var(--muted); font-size: .98rem; }

.about-hero { padding-bottom: 74px; }
.about-hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 52px; align-items: end; }
.about-hero h1 { max-width: 980px; }
.about-quote-card { padding: 32px; border-radius: 26px; border: 1px solid rgba(140,255,159,.2); background: linear-gradient(160deg, rgba(32,55,40,.7), rgba(12,20,15,.9)); }
.about-quote-card p { font-size: 1.25rem; line-height: 1.65; color: #f4fff6; margin-bottom: 20px; }
.about-quote-card strong, .about-quote-card span { display: block; }
.about-quote-card span { color: var(--muted); margin-top: 3px; }
.story-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 70px; align-items: start; }
.story-nav { position: sticky; top: 112px; display: grid; gap: 10px; padding: 22px; border: 1px solid rgba(255,255,255,.09); border-radius: 20px; background: rgba(13,22,16,.72); }
.story-nav a { color: var(--muted); text-decoration: none; padding: 7px 0; font-weight: 700; }
.story-nav a:hover { color: #8cff9f; }
.story-content { max-width: 960px; }
.story-section { scroll-margin-top: 118px; padding: 0 0 78px; margin-bottom: 78px; border-bottom: 1px solid rgba(255,255,255,.09); }
.story-section:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.story-section h2 { font-size: clamp(2.2rem, 4.6vw, 4.5rem); max-width: 900px; margin-bottom: 24px; }
.story-section > p:not(.eyebrow) { font-size: 1.12rem; line-height: 1.82; color: #d7dfd9; }
.story-milestones, .promise-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; }
.story-milestones article, .promise-grid article { padding: 25px; border-radius: 20px; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.025); }
.story-milestones span { color: #8cff9f; font-size: .78rem; font-weight: 900; letter-spacing: .12em; }
.story-milestones h3, .promise-grid h3 { margin: 10px 0 9px; }
.story-milestones p, .promise-grid p { color: var(--muted); margin: 0; }
.promise-grid { grid-template-columns: repeat(2, 1fr); }
.founder-manifesto { margin-top: 24px; padding: 30px; border-left: 4px solid #8cff9f; border-radius: 0 20px 20px 0; background: rgba(140,255,159,.055); }
.founder-manifesto p { margin: 0; font-size: 1.18rem; line-height: 1.75; color: #ecfff0; }
.about-closing { margin: 32px 0; font-size: clamp(1.35rem, 3vw, 2rem) !important; color: #a5ffb8 !important; }

@media (max-width: 900px) {
  .currency-feature-grid, .about-hero-grid { grid-template-columns: 1fr; }
  .story-layout { grid-template-columns: 1fr; gap: 34px; }
  .story-nav { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .story-nav .eyebrow { grid-column: 1 / -1; }
  .story-milestones { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .currency-safety-card, .about-quote-card { padding: 24px; }
  .promise-grid { grid-template-columns: 1fr; }
  .story-nav { grid-template-columns: 1fr; }
  .story-section { padding-bottom: 52px; margin-bottom: 52px; }
}


/* Ledgora 0.20 feature marketing */
.latest-features-section {
  background:
    radial-gradient(circle at 15% 20%, rgba(53,198,83,.12), transparent 34%),
    linear-gradient(180deg, rgba(13,25,43,.72), rgba(7,15,28,.42));
  border-top: 1px solid rgba(255,255,255,.05);
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.latest-features-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 34px;
}
.latest-features-heading > div { max-width: 820px; }
.latest-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.latest-feature-card {
  padding: 28px;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: linear-gradient(160deg, rgba(23,39,65,.94), rgba(10,20,36,.94));
  box-shadow: 0 18px 54px rgba(0,0,0,.2);
}
.latest-feature-card h3 { margin: 18px 0 10px; font-size: 1.35rem; }
.latest-feature-card p { margin-bottom: 18px; }
.latest-feature-card ul { margin: 0; padding-left: 20px; color: var(--muted); display: grid; gap: 8px; }
.privacy-feature-note {
  margin-top: 24px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(53,198,83,.35);
  border-radius: 18px;
  background: rgba(53,198,83,.08);
}
.privacy-feature-note strong { color: #8cff9f; white-space: nowrap; }
.privacy-feature-note span { color: var(--muted); }
.download-whats-new { margin: 48px 0 32px; }
.mobile-welcome-page { min-height: 100vh; margin: 0; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 50% 15%,rgba(53,198,83,.15),transparent 34%),#07101e; color: #f8fafc; }
.mobile-welcome-card { width: min(100%,520px); padding: 30px 26px; border: 1px solid rgba(148,163,184,.24); border-radius: 24px; background: rgba(13,23,39,.94); box-shadow: 0 28px 70px rgba(0,0,0,.35); text-align: center; }
.mobile-welcome-logo { width: min(260px,78%); height: auto; margin-bottom: 26px; }
.mobile-welcome-kicker { margin: 0 0 9px; color: #70db76; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.mobile-welcome-card h1 { margin: 0 0 16px; color: #fff; font-size: clamp(2rem,9vw,3rem); line-height: 1.05; }
.mobile-welcome-card p { margin: 0 auto 17px; color: #c5d0e0; font-size: 17px; line-height: 1.6; }
.mobile-welcome-card strong { color: #fff; }
.mobile-welcome-actions { display: grid; gap: 11px; margin-top: 25px; }
.mobile-welcome-actions .button { width: 100%; min-height: 52px; }
.mobile-welcome-note { display: block; margin-top: 18px; color: #8491a5; font-size: 12px; line-height: 1.5; }

/* Official platform identity notice — v2.3.1 */
.official-platform-notice {
  display: grid;
  gap: 7px;
  margin: 22px 0 28px;
  padding: 17px 19px;
  border: 1px solid rgba(112,219,118,.28);
  border-left: 4px solid var(--green);
  border-radius: 14px;
  background: rgba(53,198,83,.07);
  color: var(--muted);
  line-height: 1.55;
}
.official-platform-notice strong { color: var(--text); font-size: 1rem; }
.official-platform-notice span { display: block; }
.mobile-platform-notice { text-align: left; margin: 22px 0; }
.mobile-platform-notice strong { color: #fff; }
.mobile-platform-notice span { color: #c5d0e0; font-size: 14px; }
.platform-inline-note { margin-top: 12px; color: var(--muted); font-size: .94rem; }
.platform-inline-note strong { color: var(--text); }
.compact-section { padding-top: 0; padding-bottom: 10px; }
.footer-platform-notice {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--soft);
  font-size: .82rem;
  line-height: 1.55;
}
.footer-platform-notice strong { color: var(--muted); }
.made-in-usa {
  margin-top: 9px;
  color: var(--text);
  font-weight: 800;
  letter-spacing: .02em;
}
@media (max-width: 1100px) {
  .latest-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .latest-features-heading { display: grid; align-items: start; }
  .latest-feature-grid { grid-template-columns: 1fr; }
  .privacy-feature-note { display: grid; }
}


/* Support Us page */
.support-us-hero { padding-bottom: 52px; }
.support-us-hero-grid, .support-transparency-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:40px; align-items:center; }
.support-mission-card, .support-disclosure-card { border:1px solid rgba(255,255,255,.11); background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035)); border-radius:24px; padding:30px; box-shadow:0 24px 60px rgba(0,0,0,.2); }
.support-mission-card img { width:72px; height:72px; margin-bottom:20px; }
.support-mission-card h2 { margin-top:7px; }
.support-config-note { margin-top:18px; padding:13px 16px; border:1px solid rgba(255,196,87,.35); border-radius:12px; background:rgba(255,196,87,.08); color:#f5d995; }
.support-transparency-section { background:rgba(255,255,255,.025); border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06); }
.support-disclosure-card h3 { margin-top:0; }
.support-final-card { margin-bottom:16px; }
.nav a[aria-current="page"] { color:var(--green); }
@media (max-width: 860px) { .support-us-hero-grid, .support-transparency-grid { grid-template-columns:1fr; } .support-mission-card { order:-1; } }


/* Support page layout refinement — v2.3.4 */
.support-us-page .site-header { gap: 28px; }
.support-us-page .nav { gap: 24px; }
.support-us-page .support-us-hero { padding-top: 88px; padding-bottom: 70px; }
.support-us-page .support-us-hero-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
  gap: 58px;
  align-items: center;
}
.support-us-page .support-us-hero-grid > div:first-child { max-width: 860px; }
.support-us-page .support-us-hero h1 {
  max-width: 780px;
  font-size: clamp(3.6rem, 5.8vw, 6.15rem);
  line-height: .98;
  letter-spacing: -.055em;
}
.support-us-page .support-us-hero .lead { max-width: 790px; }
.support-us-page .support-mission-card {
  width: 100%;
  max-width: 520px;
  justify-self: end;
  padding: 34px;
}
.support-us-page .support-mission-card img {
  width: 68px;
  height: 68px;
  margin-bottom: 18px;
}
.support-us-page .support-mission-card h2 {
  max-width: 420px;
  margin: 18px 0 16px;
  font-size: clamp(2.35rem, 3.5vw, 3.65rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  overflow-wrap: normal;
  word-break: normal;
}
.support-us-page .support-mission-card p:last-child {
  max-width: 430px;
  font-size: 1.03rem;
  line-height: 1.62;
}
@media (max-width: 1240px) {
  .support-us-page .site-header { padding-left: 28px; padding-right: 28px; }
  .support-us-page .nav { gap: 18px; font-size: .93rem; }
  .support-us-page .support-us-hero-grid { gap: 38px; }
}
@media (max-width: 1020px) {
  .support-us-page .support-us-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); }
  .support-us-page .support-mission-card h2 { font-size: clamp(2.15rem, 4vw, 3rem); }
}
@media (max-width: 860px) {
  .support-us-page .support-us-hero { padding-top: 58px; }
  .support-us-page .support-us-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .support-us-page .support-mission-card { order: 0; justify-self: stretch; max-width: none; }
  .support-us-page .support-us-hero h1 { font-size: clamp(3rem, 12vw, 4.7rem); }
}
@media (max-width: 560px) {
  .support-us-page .support-mission-card { padding: 25px; }
  .support-us-page .support-mission-card h2 { font-size: 2.25rem; }
  .support-us-page .cta-row { align-items: stretch; }
  .support-us-page .cta-row .button { width: 100%; text-align: center; }
}
