/* Public Semper experiences: a consistent, readable canvas with strong actions. */
body.semper-marketing,body.semper-signup{--bg:#f6f6f2;--surface:#fff;--surface-2:#eeefe9;--border:#dddfd8;--border-strong:#adb5b0;--text:#192a2b;--text-dim:#516164;--text-muted:#657477;--accent:#2255ce;--accent-hover:#173d9a;--accent-bg:#e8eefb;--success:#287c5b;background:var(--bg);color:var(--text);color-scheme:light}
.semper-marketing header{background:#f6f6f2ed;backdrop-filter:blur(16px);border-color:var(--border)}.semper-marketing .nav{max-width:1320px;padding:20px 32px}.semper-marketing .btn,.semper-signup .btn{border-radius:10px;min-height:46px;gap:12px}.semper-marketing .hero{max-width:1320px;grid-template-columns:1fr 1.2fr;gap:64px;padding:76px 32px 80px;align-items:center}.semper-marketing .hero h1{font-size:clamp(40px,4.3vw,64px);line-height:1.04;letter-spacing:-2.8px;font-weight:650;margin:0 0 26px}.semper-marketing .hero h1 .gradient{background:none;-webkit-text-fill-color:#527161;color:#527161}.semper-marketing .hero p.lede{font-size:17px;line-height:1.75;max-width:480px;margin-bottom:30px}.semper-marketing .hero-eyebrow{background:transparent;padding:0;border-radius:0;color:#587065;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:25px}.semper-marketing .hero-eyebrow::before{background:#4c7a60;box-shadow:none}.semper-marketing .hero-demo{height:auto;background:#0c1018;border-radius:25px;padding:22px;box-shadow:0 30px 70px #26393220,0 3px 10px #26393215;border:1px solid #283342}.semper-marketing .hero-demo iframe{height:565px;background:#0c1018;border-radius:8px}.semper-marketing .features,.semper-marketing .pricing{max-width:1256px;padding:72px 32px}.semper-marketing .section-title{font-size:clamp(28px,3vw,42px);font-weight:650;letter-spacing:-1.4px;color:var(--text)}.semper-marketing .section-eyebrow{color:#426a56;font-size:11px;letter-spacing:1.8px}.semper-marketing .section-subtitle{font-size:16px;line-height:1.7;max-width:650px;color:var(--text-dim)}.semper-marketing .feature-grid{gap:0;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:#fff}.semper-marketing .feature{border:0;border-radius:0;padding:30px;border-right:1px solid var(--border);background:#fff}.semper-marketing .feature:last-child{border-right:0}.semper-marketing .feature h3{font-size:16px}.semper-marketing .feature p{font-size:14px;line-height:1.75;color:var(--text-dim)}.semper-marketing .feature-icon{background:#edf2ec;color:#416a56;border-radius:10px}.semper-marketing .plan{background:#fff;border-radius:20px;padding:32px;box-shadow:none}.semper-marketing .plan.featured{border:2px solid #315f4c;background:#f1f6f0;transform:none}.semper-marketing .plan-badge{background:#315f4c}.semper-marketing .plan-price{font-size:42px;letter-spacing:-1.5px}.semper-marketing .plan-desc{color:var(--text-dim)}.semper-marketing .cta{background:#20382e;border:0;border-radius:24px;padding:54px 30px;margin-top:54px;color:#fff}.semper-marketing .cta h2{color:#fff;letter-spacing:-1px}.semper-marketing .cta p{color:#c4d4c9}.semper-marketing .cta .btn{background:#e5edde;color:#23382d}.semper-marketing footer{background:#edefe8;border-top:1px solid var(--border);padding:35px 24px}.semper-marketing a:focus-visible,.semper-signup a:focus-visible,.semper-signup button:focus-visible,.semper-signup input:focus-visible,.semper-signup select:focus-visible,.semper-signup textarea:focus-visible{outline:3px solid #6495e5;outline-offset:3px}.semper-marketing .hero-ctas-mobile{margin-top:20px}.semper-signup .container{max-width:1120px;padding:34px 32px 80px;display:grid;grid-template-columns:310px minmax(0,1fr);column-gap:72px;align-items:start}.semper-signup .brand{grid-column:1/-1;margin-bottom:48px}.semper-signup .setup-intro{grid-column:1;grid-row:2 / 6;position:sticky;top:35px}.semper-signup .setup-intro h1{font-size:38px;line-height:1.12;letter-spacing:-1.6px;font-weight:650;margin-bottom:17px}.semper-signup .setup-intro .subtitle{font-size:15px;line-height:1.7;max-width:270px}.semper-signup .setup-outline{list-style:none;counter-reset:setup;padding:0;margin:30px 0;color:var(--text-dim)}.semper-signup .setup-outline li{counter-increment:setup;display:flex;align-items:center;gap:12px;margin:18px 0;font-size:13px}.semper-signup .setup-outline li::before{content:counter(setup);border:1px solid #bec8be;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-size:11px;color:#416a56}.semper-signup .setup-note{font-size:12px;line-height:1.7;border-top:1px solid var(--border);padding-top:20px;color:var(--text-muted)}.semper-signup #wizard-steps,.semper-signup #wizard-form,.semper-signup .error-banner{grid-column:2}.semper-signup #wizard-form{background:#fff;border:1px solid var(--border);border-radius:20px;padding:30px;box-shadow:0 16px 45px #23382b07;min-width:0}.semper-signup .wizard-step h2{font-size:21px;line-height:1.35;letter-spacing:-.4px}.semper-signup .wizard-step .step-sub{font-size:14px;line-height:1.65;margin-top:7px}.semper-signup .field input,.semper-signup .field select,.semper-signup .field textarea{background:#fafbf8;font-size:16px;padding:12px 14px;border-radius:9px;min-height:46px}.semper-signup .field label{font-size:13px}.semper-signup .field{margin-bottom:22px}.semper-signup .niche-tile{background:#fafbf8;box-shadow:none;border-radius:12px}.semper-signup .niche-tile.selected{background:#eaf0e7;border-color:#548064;box-shadow:0 0 0 2px #54806420}.semper-signup .actions{border-top:1px solid var(--border);padding-top:22px;gap:12px}.semper-signup .progress-bar-labels{font-size:12px;margin-bottom:10px}.semper-signup .progress-bar{height:5px}.semper-signup .progress-bar-fill{background:#416a56}.semper-signup .tier-cards{grid-template-columns:1fr;gap:14px}.semper-signup .tier-card{text-align:left;padding:20px;border-radius:12px;transform:none}.semper-signup .tier-card .tier-features{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.semper-signup .tier-card.selected{border-color:#416a56;background:#f4f7f0;box-shadow:0 0 0 2px #416a5615}.semper-signup .tier-card .tier-badge{left:auto;right:15px;transform:none;background:#416a56}.semper-signup .review-list{background:#fafbf8;padding:18px;font-size:13px;grid-template-columns:90px minmax(0,1fr)}.semper-signup .review-list .v{overflow-wrap:anywhere}.semper-signup .draft-status{font-size:11px;color:var(--text-muted);margin-top:10px}.semper-signup .draft-reset{font:inherit;color:var(--text-dim);border:0;background:none;text-decoration:underline;cursor:pointer;margin-left:8px}.semper-signup .field-error{color:#aa3535;font-size:12px}.semper-signup .hours-grid{grid-template-columns:75px 22px minmax(0,1fr) minmax(0,1fr);gap:10px 7px}.semper-signup .hours-grid input[type=time]{min-width:0;width:100%;padding:9px 3px;font-size:13px;background:#fafbf8}.semper-signup .wizard-step h2:focus{outline:none}
@media(max-width:1050px){.semper-marketing .hero{gap:32px;padding:50px 24px}.semper-marketing .hero h1{font-size:44px;letter-spacing:-1.9px}.semper-marketing .hero-demo{padding:16px}.semper-signup .container{column-gap:36px;grid-template-columns:260px minmax(0,1fr)}}@media(max-width:800px){.semper-marketing .hero{grid-template-columns:1fr;max-width:690px;gap:30px;padding:40px 22px}.semper-marketing .hero-copy{text-align:left}.semper-marketing .hero h1{font-size:46px;line-height:1.08}.semper-marketing .hero p.lede{font-size:16px;margin-bottom:20px}.semper-marketing .hero-ctas-desktop{display:flex}.semper-marketing .hero-ctas-mobile{display:none}.semper-marketing .hero-demo{max-width:none;margin:0;width:100%;border-radius:20px}.semper-marketing .features,.semper-marketing .pricing{padding:48px 22px}.semper-marketing .feature-grid{grid-template-columns:1fr 1fr}.semper-marketing .feature{border-bottom:1px solid var(--border)}.semper-marketing .nav{padding:16px 22px}.semper-signup .container{display:block;max-width:680px;padding:24px 22px 55px}.semper-signup .brand{margin-bottom:27px}.semper-signup .setup-intro{position:static}.semper-signup .setup-intro h1{font-size:32px;max-width:420px}.semper-signup .setup-intro .subtitle{max-width:none;margin-bottom:24px}.semper-signup .setup-outline,.semper-signup .setup-note{display:none}.semper-signup #wizard-form{padding:24px}.semper-signup #wizard-steps{margin-bottom:18px}}@media(max-width:480px){.semper-marketing .hero{padding:33px 18px 40px;gap:28px}.semper-marketing .hero h1{font-size:39px;letter-spacing:-1.8px}.semper-marketing .hero-eyebrow{font-size:9px;letter-spacing:.8px;margin-bottom:17px}.semper-marketing .hero p.lede{font-size:15px;line-height:1.7}.semper-marketing .hero-ctas{gap:9px}.semper-marketing .hero-ctas .btn{font-size:12px;padding:11px 14px}.semper-marketing .hero-demo{padding:13px;border-radius:20px}.semper-marketing .nav-links a[href='#features']{display:none}.semper-marketing .feature-grid{grid-template-columns:1fr}.semper-marketing .feature{border-right:0;padding:25px}.semper-marketing .plan{padding:26px}.semper-signup .container{padding:22px 16px 45px}.semper-signup #wizard-form{padding:21px 17px;border-radius:16px}.semper-signup .setup-intro h1{font-size:31px}.semper-signup .tier-card .tier-features{grid-template-columns:1fr}.semper-signup .actions .btn{font-size:13px;padding:10px 13px}.semper-signup .niche-grid{grid-template-columns:1fr 1fr}.semper-signup .niche-tile{padding:17px 9px;min-height:98px}.semper-signup .review-list{padding:14px;gap:8px 10px;grid-template-columns:75px 1fr}}
@media(prefers-reduced-motion:reduce){.semper-marketing *,.semper-signup *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Resolve the saved preference in the head before the first body paint. */
html.dark{background:#0c1018;color-scheme:dark}html.light{background:#f6f6f2;color-scheme:light}
html.dark body.semper-marketing,html.dark body.semper-signup{--bg:#0c1018;--surface:#151d29;--surface-2:#202b39;--border:#303c4b;--border-strong:#526278;--text:#f0f4f7;--text-light:#f0f4f7;--text-dim:#c0ccd7;--text-muted:#a1afbd;--accent:#477bf0;--accent-hover:#6795ff;--accent-bg:#23365a;--success:#8de0b0;color-scheme:dark;background:var(--bg);color:var(--text)}
html.dark .semper-marketing header{background:#0c1018ed}html.dark .semper-marketing .feature-grid,html.dark .semper-marketing .feature,html.dark .semper-marketing .plan,html.dark .semper-signup #wizard-form{background:var(--surface)}html.dark .semper-marketing .plan.featured,html.dark .semper-signup .tier-card.selected,html.dark .semper-signup .niche-tile.selected{background:#20352e;border-color:#80b799}html.dark .semper-marketing .hero h1 .gradient{-webkit-text-fill-color:#a6d6ba;color:#a6d6ba}html.dark .semper-marketing .hero-eyebrow,html.dark .semper-marketing .section-eyebrow{color:#a6d6ba}html.dark .semper-marketing .feature-icon{background:#253d32;color:#b4e0c4}html.dark .semper-marketing footer{background:#121923}html.dark .semper-signup .field input,html.dark .semper-signup .field select,html.dark .semper-signup .field textarea,html.dark .semper-signup .niche-tile,html.dark .semper-signup .review-list,html.dark .semper-signup .hours-grid input[type=time]{background:#101823;color:var(--text)}html.dark .semper-signup .setup-outline li::before{color:#b4e0c4;border-color:#526a5c}
.public-theme-toggle{position:fixed;right:18px;bottom:18px;z-index:60;border:1px solid var(--border);border-radius:24px;padding:10px 16px;min-height:44px;background:var(--surface);color:var(--text);font:600 12px system-ui;box-shadow:0 3px 15px #0002;cursor:pointer}.public-theme-toggle:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}

/* Keep the signup theme control in the header, clear of every form step. */
.semper-signup .signup-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:48px}
.semper-signup .signup-header .brand{margin:0}
.public-theme-slot .public-theme-toggle{position:static;box-shadow:none}
@media(max-width:800px){.semper-signup .signup-header{margin-bottom:27px}}
/* Keep the native time editor readable on narrow signup screens. */
@media (max-width: 500px) {
  .semper-signup .hours-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .semper-signup .hours-grid .day-label { grid-column: 1; margin-top: 8px; }
  .semper-signup .hours-grid input[type=checkbox] { justify-self: end; margin-top: 8px; }
  .semper-signup .hours-grid input[type=time] { padding: 9px 6px; }
}
