/* Public theme switcher. Dark remains the default; light overrides are opt-in. */
.site-theme-toggle {
  display: inline-grid;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: transparent;
  color: #c7d2e3;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}

.site-theme-toggle:hover {
  border-color: rgba(99, 214, 255, .45);
  background: rgba(99, 214, 255, .08);
  color: #fff;
}

.site-theme-icon {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.site-theme-icon-moon {
  display: none;
}

html[data-theme="light"] .site-theme-icon-sun {
  display: none;
}

html[data-theme="light"] .site-theme-icon-moon {
  display: block;
}

/* Keep the public hero hierarchy strong without letting long titles dominate. */
.display-title {
  font-size: clamp(2.45rem, 4.4vw, 4rem);
}

.page-title {
  font-size: clamp(2.1rem, 4.1vw, 3.7rem);
}

.terms-header h1 {
  font-size: clamp(1.85rem, 3.7vw, 3.35rem);
}

.sf-display-title,
.web-project-hero h1 {
  font-size: clamp(2.55rem, 4.85vw, 4.75rem);
}

html[data-theme="light"] {
  color-scheme: light;
  --ink: #102438;
  --muted: #607286;
  --muted-strong: #354b60;
  --night: #f5f8fb;
  --navy: #f5f8fb;
  --navy-soft: #e7eef5;
  --surface: rgba(255, 255, 255, .82);
  --surface-strong: #fff;
  --line: rgba(25, 55, 82, .19);
  --blue: #176fd1;
  --blue-bright: #087cad;
  --orange: #ad5900;
  --violet: #6d4bc3;
  --pink: #aa2f71;
  --success: #18764f;
  --danger: #b62f45;
  --shadow: 0 22px 60px rgba(28, 52, 76, .12);
}

html[data-theme="light"] body,
html[data-theme="light"] .site-page-secureforms-landing {
  background: linear-gradient(180deg, #f8fafc 0%, #edf3f8 58%, #f7f9fb 100%);
  color: var(--ink);
}

html[data-theme="light"] :focus-visible {
  outline-color: rgba(23, 111, 209, .7);
}

html[data-theme="light"] .site-header {
  border-color: var(--line);
  background: rgba(255, 255, 255, .97);
}

html[data-theme="light"] .site-brand-logo,
html[data-theme="light"] .footer-brand .site-brand-logo {
  filter: brightness(0) saturate(100%);
  opacity: .84;
}

html[data-theme="light"] .site-navigation a,
html[data-theme="light"] .site-login-link,
html[data-theme="light"] .site-language-link,
html[data-theme="light"] .site-theme-toggle,
html[data-theme="light"] .site-menu-button {
  color: #354a5f;
}

html[data-theme="light"] .site-language-link,
html[data-theme="light"] .site-login-link,
html[data-theme="light"] .site-theme-toggle,
html[data-theme="light"] .site-menu-button {
  background: rgba(255, 255, 255, .62);
}

html[data-theme="light"] .site-navigation a:hover,
html[data-theme="light"] .site-navigation a[aria-current="page"],
html[data-theme="light"] .site-language-link:hover,
html[data-theme="light"] .site-login-link:hover,
html[data-theme="light"] .site-theme-toggle:hover {
  border-color: rgba(23, 111, 209, .42);
  background: rgba(23, 111, 209, .07);
  color: #0b5aaf;
}

html[data-theme="light"] .site-navigation a[aria-current="page"]::before {
  color: var(--orange);
}

html[data-theme="light"] .site-user-avatar {
  background: #15324c;
  color: #fff;
}

html[data-theme="light"] .section-kicker,
html[data-theme="light"] .terms-kicker,
html[data-theme="light"] .service-label,
html[data-theme="light"] .entity-country,
html[data-theme="light"] .principle-number,
html[data-theme="light"] .process-step::before,
html[data-theme="light"] .text-link,
html[data-theme="light"] .legal-card a,
html[data-theme="light"] .terms-card a,
html[data-theme="light"] .service-closing {
  color: #086f9e !important;
}

html[data-theme="light"] .display-title,
html[data-theme="light"] .section-title,
html[data-theme="light"] .page-title,
html[data-theme="light"] .contact-ribbon h2,
html[data-theme="light"] .principle-card h3,
html[data-theme="light"] .value-card h3,
html[data-theme="light"] .process-step h3,
html[data-theme="light"] .service-copy h2,
html[data-theme="light"] .legal-entity-card h3,
html[data-theme="light"] .contact-details-card h2,
html[data-theme="light"] .contact-form-card h2,
html[data-theme="light"] .legal-card h2,
html[data-theme="light"] .legal-index h2,
html[data-theme="light"] .terms-header h1,
html[data-theme="light"] .terms-index-head,
html[data-theme="light"] .terms-section-title,
html[data-theme="light"] .terms-subtitle {
  color: var(--ink);
}

html[data-theme="light"] .hero-figure-note,
html[data-theme="light"] .hero-signals li,
html[data-theme="light"] .terms-meta dt {
  color: #607286;
}

html[data-theme="light"] .hero-figure-note span:first-child,
html[data-theme="light"] .terms-meta dd {
  color: #274159;
}

html[data-theme="light"] .button-quiet {
  background: rgba(255, 255, 255, .62);
  color: #1f3d58;
}

html[data-theme="light"] .button-quiet:hover {
  border-color: rgba(23, 111, 209, .42);
  background: rgba(23, 111, 209, .08);
  color: #0b5aaf;
}

html[data-theme="light"] .principle-card,
html[data-theme="light"] .value-card,
html[data-theme="light"] .contact-card,
html[data-theme="light"] .legal-card {
  background: transparent;
  box-shadow: none;
}

html[data-theme="light"] .legal-entity-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(240, 245, 249, .82));
  box-shadow: var(--shadow);
}

html[data-theme="light"] .ecosystem-card {
  background: transparent;
  box-shadow: none;
}

html[data-theme="light"] .ecosystem-core,
html[data-theme="light"] .ecosystem-node,
html[data-theme="light"] .presence-point {
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 12px 35px rgba(28, 52, 76, .12);
  color: #17344e;
}

html[data-theme="light"] .presence-art {
  background:
    radial-gradient(circle at 24% 60%, rgba(240, 140, 35, .2), transparent 9rem),
    radial-gradient(circle at 77% 33%, rgba(45, 130, 255, .2), transparent 11rem),
    #e8f1f8;
}

html[data-theme="light"] .presence-point:first-child {
  color: #985000;
}

html[data-theme="light"] .presence-point:last-child {
  color: #086f9e;
}

html[data-theme="light"] .service-media img {
  border-color: var(--line);
}

html[data-theme="light"] .contact-links a {
  background: transparent;
  color: #203d57;
}

html[data-theme="light"] .contact-links a:hover {
  background: transparent;
}

html[data-theme="light"] .form-field label {
  color: #2b455d;
}

html[data-theme="light"] .form-field input,
html[data-theme="light"] .form-field textarea,
html[data-theme="light"] .form-field select {
  border-color: rgba(25, 55, 82, .24);
  background: rgba(255, 255, 255, .9);
  color: #102438;
}

html[data-theme="light"] .form-field input::placeholder,
html[data-theme="light"] .form-field textarea::placeholder {
  color: #78899a;
}

html[data-theme="light"] .site-alert-success {
  border-color: rgba(24, 118, 79, .32);
  background: rgba(24, 118, 79, .08);
  color: #125c3e;
}

html[data-theme="light"] .site-alert-error {
  border-color: rgba(182, 47, 69, .32);
  background: rgba(182, 47, 69, .08);
  color: #922438;
}

html[data-theme="light"] .legal-index,
html[data-theme="light"] .terms-meta div,
html[data-theme="light"] .terms-index,
html[data-theme="light"] .terms-card {
  background: transparent;
  box-shadow: none;
}

html[data-theme="light"] .legal-index a:hover,
html[data-theme="light"] .terms-toc a:hover {
  background: rgba(23, 111, 209, .07);
  color: #0b5aaf;
}

html[data-theme="light"] .terms-toc span {
  background: rgba(23, 111, 209, .12);
  color: #0b5aaf;
}

html[data-theme="light"] .terms-example {
  background: rgba(8, 124, 173, .08);
  color: #21445f;
}

html[data-theme="light"] .contact-ribbon {
  background: #e6eff6;
}

html[data-theme="light"] .site-footer {
  background: #e9f0f5;
}

html[data-theme="light"] .footer-brand {
  color: #17344e;
}

html[data-theme="light"] .footer-contact-line a,
html[data-theme="light"] .footer-column h2,
html[data-theme="light"] .footer-domains summary {
  color: #28435c;
}

html[data-theme="light"] .footer-column a,
html[data-theme="light"] .footer-domains p,
html[data-theme="light"] .footer-domains li,
html[data-theme="light"] .footer-bottom p {
  color: #607286;
}

html[data-theme="light"] .footer-contact-line a:hover,
html[data-theme="light"] .footer-column a:hover {
  color: #0b5aaf;
}

html[data-theme="light"] .footer-install-link {
  color: #607286;
}

html[data-theme="light"] .footer-install-link:hover,
html[data-theme="light"] .footer-install-link:focus-visible {
  color: #0b5aaf;
}

html[data-theme="light"] .site-install-dialog {
  border-color: rgba(24, 68, 104, .18);
  color: #17344e;
  background: #fff;
  box-shadow: 0 24px 80px rgba(28, 52, 76, .24);
}

html[data-theme="light"] .site-install-dialog h2 {
  color: #17344e;
}

html[data-theme="light"] .site-install-dialog p {
  color: #607286;
}

html[data-theme="light"] .back-to-top {
  border-color: rgba(23, 111, 209, .35);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 26px rgba(28, 52, 76, .15);
  color: #164b78;
}

/* SecureForms public landing */
html[data-theme="light"] .sf-display-title,
html[data-theme="light"] .sf-status-card strong,
html[data-theme="light"] .sf-proof h2,
html[data-theme="light"] .sf-workflow-step h3,
html[data-theme="light"] .sf-plan-card header h3,
html[data-theme="light"] .sf-price strong,
html[data-theme="light"] .sf-fit-points h3,
html[data-theme="light"] .sf-faq summary,
html[data-theme="light"] .sf-direct-contact strong {
  color: var(--ink);
}

html[data-theme="light"] .sf-hero-signals,
html[data-theme="light"] .sf-image-caption span:first-child,
html[data-theme="light"] .sf-plan-card ul,
html[data-theme="light"] .sf-segments li,
html[data-theme="light"] .sf-comparison td,
html[data-theme="light"] .sf-comparison th:first-child {
  color: #41576c;
}

html[data-theme="light"] .sf-image-caption,
html[data-theme="light"] .sf-status-card small,
html[data-theme="light"] .sf-status-card em,
html[data-theme="light"] .sf-price > span:last-child,
html[data-theme="light"] .sf-price small,
html[data-theme="light"] .sf-price-note {
  color: #687b8e;
}

html[data-theme="light"] .sf-status-card {
  border-color: rgba(23, 111, 209, .28);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 44px rgba(28, 52, 76, .16);
}

html[data-theme="light"] .sf-status-icon,
html[data-theme="light"] .sf-table-status.is-included {
  background: rgba(24, 118, 79, .1);
  color: #18764f;
}

html[data-theme="light"] .sf-proof {
  background: rgba(230, 239, 246, .66);
}

html[data-theme="light"] .sf-pricing-section {
  background: linear-gradient(115deg, rgba(23, 111, 209, .08), transparent 34%), #e8f1f8;
}

html[data-theme="light"] .sf-plan-card {
  background: rgba(255, 255, 255, .66);
}

html[data-theme="light"] .sf-plan-card-featured {
  background: linear-gradient(180deg, rgba(23, 111, 209, .12), rgba(255, 255, 255, .9) 68%);
}

html[data-theme="light"] .sf-price-currency,
html[data-theme="light"] .sf-capacity,
html[data-theme="light"] .sf-comparison thead th,
html[data-theme="light"] .sf-faq summary span:last-child,
html[data-theme="light"] .sf-lead-form .form-note a {
  color: #087cad;
}

html[data-theme="light"] .sf-comparison th:nth-child(3),
html[data-theme="light"] .sf-comparison td:nth-child(3) {
  background: rgba(23, 111, 209, .07);
}

html[data-theme="light"] .sf-table-status.is-excluded {
  color: #8291a0;
}

html[data-theme="light"] .sf-fit-section {
  background: linear-gradient(100deg, rgba(173, 89, 0, .045), transparent 40%), #edf3f8;
}

html[data-theme="light"] .sf-contact-section {
  background: linear-gradient(120deg, rgba(23, 111, 209, .1), transparent 47%), #e6eff6;
}

/* Public web project brief */
html[data-theme="light"] .web-project {
  --wp-surface: #fff;
  --wp-surface-strong: #fff;
  --wp-line: rgba(25, 55, 82, .2);
  --wp-line-strong: rgba(23, 111, 209, .5);
  --wp-text: #102438;
  --wp-muted: #607286;
  --wp-blue: #176fd1;
  --wp-blue-soft: rgba(23, 111, 209, .1);
  --wp-orange: #ad5900;
}

html[data-theme="light"] .web-project-hero aside span,
html[data-theme="light"] .web-project label,
html[data-theme="light"] .web-project legend {
  color: #2d475f;
}

html[data-theme="light"] .web-project-progress-head strong,
html[data-theme="light"] .web-project-card-head > span,
html[data-theme="light"] .web-project-card-head p,
html[data-theme="light"] .web-project-text-button {
  color: #087cad;
}

html[data-theme="light"] .web-project-progress-track {
  background: rgba(25, 55, 82, .13);
}

html[data-theme="light"] .web-project-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(241, 246, 250, .98));
  box-shadow: 0 20px 52px rgba(28, 52, 76, .1);
}

html[data-theme="light"] .web-project input,
html[data-theme="light"] .web-project textarea,
html[data-theme="light"] .web-project select,
html[data-theme="light"] .web-project-image-item {
  background: #fff;
  color: var(--wp-text);
}

html[data-theme="light"] .web-project input::placeholder,
html[data-theme="light"] .web-project textarea::placeholder {
  color: #7b8b9b;
}

html[data-theme="light"] .web-project-choice-grid label {
  background: rgba(255, 255, 255, .7);
}

html[data-theme="light"] .web-project-button-secondary:hover {
  background: rgba(23, 111, 209, .07);
}

html[data-theme="light"] .web-project-preview-note,
html[data-theme="light"] .web-project-final-note {
  background: rgba(173, 89, 0, .05);
}

html[data-theme="light"] .web-project-message {
  color: #922438;
}

html[data-theme="light"] .web-project-message.is-success {
  color: #125c3e;
}

html[data-theme="light"] .web-project-actions {
  background: rgba(255, 255, 255, .97);
}

html[data-theme="light"] .web-project-upload {
  border-color: rgba(23, 111, 209, .34);
  background: rgba(23, 111, 209, .035);
}

html[data-theme="light"] .web-project-image-item img {
  background: #edf3f8;
}

@media (max-width: 760px) {
  .display-title {
    font-size: clamp(2.55rem, 12.5vw, 4.1rem);
  }

  .sf-display-title {
    font-size: clamp(2.3rem, 10.8vw, 3.8rem);
  }

  .web-project-hero h1 {
    font-size: clamp(2.2rem, 4.9vw, 3rem);
  }

  html[data-theme="light"] .site-navigation {
    background: rgba(255, 255, 255, .98);
  }

  html[data-theme="light"] .site-navigation a {
    border-color: rgba(25, 55, 82, .12);
  }
}

@media (max-width: 480px) {
  .site-theme-toggle {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
}

@media print {
  .site-theme-toggle {
    display: none !important;
  }
}
