/* Public site only. Application layout and saved theme are left intact. */
:root{color-scheme:dark;--page:#202329;--surface:#292d34;--raised:#343943;--ink:#f5f2eb;--muted:#b8bfce;--line:#434a58;--accent:#b7c5ff;--soft:#2d3551;--blue:#4361ee;--shadow:0 24px 70px #080b172b}
:root[data-theme=light]{color-scheme:light;--page:#f5f2eb;--surface:#fffdf8;--raised:#e9ecf5;--ink:#15244c;--muted:#5b647a;--line:#ccd1df;--accent:#354dbf;--soft:#e4e9ff;--shadow:0 24px 70px #15244c12}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--page);color:var(--ink);font:16px/1.65 "Segoe UI",Arial,sans-serif}
a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}
button{font:inherit;cursor:pointer}
img{max-width:100%}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;font-weight:650}
h2{font-size:clamp(30px,3.6vw,48px);letter-spacing:-1.6px}h3{font-size:21px;letter-spacing:-.4px}
::selection{background:#4361ee;color:white}
.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.landing-skip{position:absolute;top:-100px;left:18px;padding:12px 20px;background:var(--surface);z-index:20}
.landing-skip:focus{top:12px}
.site-header{display:flex;align-items:center;gap:32px;min-height:110px;border-bottom:1px solid var(--line)}
.site-header .rupliva-brand{width:165px;flex-shrink:0}
.site-nav{display:flex;gap:26px;margin-left:auto;font-size:14px}
.site-nav a,.login-link,.footer-brand,.site-footer nav a{text-decoration:none}
.header-actions{display:flex;align-items:center;gap:22px;font-size:14px}
.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;flex-shrink:0}
.theme-toggle[hidden]{display:none}.theme-toggle span{display:none}
[data-theme=dark] .theme-moon,[data-theme=light] .theme-sun{display:none}
.login-link{white-space:nowrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:52px;padding:13px 23px;background:#4361ee;color:#fff;border:1px solid #4361ee;border-radius:10px;text-decoration:none;font-size:15px;font-weight:600;line-height:1.4;text-align:center}
.button:hover{background:#334bd1;color:#fff;border-color:#334bd1}
.button.compact{min-height:42px;padding:9px 16px;gap:12px}
.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:70px;padding-block:82px 76px}
.eyebrow{font-size:12px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.little-flower{font-size:19px;margin-right:8px}
h1{font-size:clamp(42px,4.9vw,66px);letter-spacing:-2.8px;line-height:1.07;margin:24px 0}
h1>span{color:var(--accent)}
.hero-description{font-size:22px;line-height:1.5;letter-spacing:-.4px}
.hero-detail{color:var(--muted);font-size:16px;max-width:450px;margin-top:18px;line-height:1.75}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}
.text-link{font-size:14px;font-weight:600;text-decoration:none}.text-link span{margin-left:8px}
.hero-footnote{font-size:12px;color:var(--muted);margin-top:16px;max-width:390px}
.hero-visual{min-width:0;position:relative;padding:24px 0}
.visual-caption{font-size:11px;font-weight:600;color:var(--muted);display:flex;gap:8px;align-items:center;margin:0 0 18px}
.live-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}
.demo-label{margin-left:auto;border:1px solid var(--line);padding:1px 8px;border-radius:5px;font-size:10px;font-weight:400}
.chat-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:var(--surface);margin-right:32px}
.chat-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--line)}
.chat-header strong{display:block;font-size:14px;font-weight:600;line-height:1.4}.chat-header div>span{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.chat-dots{margin-left:auto;font-size:24px}
.chat-content{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:linear-gradient(135deg,transparent,var(--soft))}
.chat-bubble{background:var(--raised);padding:12px 14px;border-radius:12px 12px 12px 3px;font-size:13px;line-height:1.55;max-width:90%}
.chat-time{display:block;font-size:9px;color:var(--muted);text-align:right;margin-top:5px}
.chat-bubble.sent{background:var(--soft);border:1px solid var(--line);border-radius:12px 12px 3px 12px;align-self:flex-end}
.service-summary{font-size:11px;padding:0 4px;color:var(--muted)}.service-summary strong{display:block;color:var(--ink);font-size:12px;font-weight:600}.service-summary strong span{color:var(--muted);padding:0 4px}
.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:90%;font-size:12px;font-weight:600}
.slot-grid>span{text-align:center;padding:7px 3px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.slot-grid .chosen{background:#4361ee;color:#fff;border-color:#4361ee}
.appointment-card{display:flex;align-items:center;gap:12px;position:relative;margin:-4px 0 0 42px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.appointment-icon{display:grid;place-items:center;background:var(--soft);color:var(--accent);width:38px;height:38px;border-radius:10px;flex-shrink:0}
.card-overline{font-size:10px;color:var(--muted)}.appointment-card strong{display:block;font-size:13px;font-weight:600}.appointment-card p{font-size:11px;color:var(--muted)}
.status-pill{font-size:9px;line-height:1.5;padding:5px 8px;border:1px solid var(--line);border-radius:20px;margin-left:auto;white-space:nowrap;color:var(--accent)}
.visual-note{font-size:11px;color:var(--muted);margin-top:20px;text-align:center}
.audience{border-block:1px solid var(--line);padding-block:25px 30px}.audience>p{color:var(--muted);font-size:12px;margin-bottom:16px}
.audience ul{padding:0;margin:0;display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;list-style:none;font-size:14px;font-weight:600}
.section{padding-block:88px}.section-heading{max-width:600px}.section-heading h2{margin:16px 0 20px}.section-heading>p:last-of-type{color:var(--muted);max-width:490px;line-height:1.8}
.flow-grid{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.step-number{display:block;border-top:1px solid var(--line);padding-top:20px;margin-bottom:22px;color:var(--accent);font-size:13px;font-weight:600}
.flow-grid p,.feature-grid p{font-size:14px;color:var(--muted);margin-top:16px;line-height:1.8}
.features-section{background:var(--surface);border-block:1px solid var(--line)}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:42px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.feature-grid article{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-grid article:nth-child(3n){border-right:0}.feature-grid article:nth-child(n+4){border-bottom:0}
.feature-symbol{color:var(--accent);font-size:12px;display:block;margin-bottom:24px}
.setup-section{display:grid;grid-template-columns:1fr 1fr;gap:72px}.setup-section .text-link{display:inline-block;margin-top:25px}
.setup-list{list-style:none;margin:0;padding:0}.setup-list li{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.setup-list li:first-child{padding-top:0}.setup-list li:last-child{border:0;padding-bottom:0}
.setup-list li>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;flex-shrink:0;color:var(--accent);font-size:12px}.setup-list h3{font-size:18px;margin:5px 0 10px}.setup-list p{font-size:14px;color:var(--muted);line-height:1.8}
.pricing-section{background:var(--surface);border-block:1px solid var(--line)}
.rupliva-pricing{margin:0}.pricing-heading{max-width:none}.pricing-heading h2{font-size:clamp(30px,3.6vw,48px);letter-spacing:-1.6px;margin:16px 0 20px}.pricing-heading p{font-size:16px}
.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.term-card{display:flex;flex-direction:column;gap:20px;padding:26px;background:var(--page)!important;border-color:var(--line)!important;color:var(--ink)!important;box-shadow:none}
.term-card h3{font-size:22px}.term-price strong{font-size:60px}.term-price{color:var(--accent)!important}.term-payment,.term-unavailable{color:var(--muted)!important}.term-unavailable{font-size:11px;border-color:var(--line)!important}
.pricing-cups{height:112px;margin-top:auto;justify-content:center}.pricing-cups img{height:calc(112px * var(--cup-scale))}
.pricing-conditions{margin-top:25px;max-width:850px;font-size:13px;color:var(--muted)}.pricing-conditions p+p{margin-top:10px}.pricing-conditions strong{font-weight:600;color:var(--ink)}.launch-note{padding-left:14px;border-left:2px solid var(--accent)}
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{cursor:pointer;font-size:17px;font-weight:600;line-height:1.5;padding-right:12px}.faq-list p{font-size:14px;line-height:1.85;color:var(--muted);padding-top:14px}
.closing{border:1px solid var(--line);border-radius:20px;padding:42px;display:flex;gap:28px;align-items:center;background:var(--soft)}.closing h2{font-size:clamp(26px,2.8vw,36px);margin-top:12px;letter-spacing:-1px}.closing .button{margin-left:auto;flex-shrink:0}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:44px}.footer-brand{font-size:18px;font-weight:650}.site-footer p{font-size:12px;color:var(--muted);margin-top:5px}.site-footer nav{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
@media(max-width:1050px){.hero{gap:32px}.site-header{gap:22px}.site-nav{gap:18px}.hero-actions{gap:18px}.status-pill{display:none}.setup-section,.faq-section{gap:42px}.closing{flex-wrap:wrap}.closing .button{margin-left:100px}.term-card{padding:22px}.pricing-cups{gap:4px}.pricing-cups img{height:calc(98px * var(--cup-scale))}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.site-header{min-height:90px;flex-wrap:wrap;padding-block:20px;gap:16px}.site-nav{order:3;width:100%;margin:0;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.header-actions{margin-left:auto}.hero{grid-template-columns:1fr;padding-block:46px 36px;gap:36px}.hero-copy{max-width:620px}h1{font-size:clamp(42px,8vw,64px)}.hero-visual{width:100%;max-width:520px;justify-self:center;padding:0}.hero-footnote{max-width:none}.section{padding-block:60px}.flow-grid{grid-template-columns:1fr;gap:26px}.step-number{margin-bottom:14px}.flow-grid h3{font-size:22px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid article:nth-child(3n){border-right:1px solid var(--line)}.feature-grid article:nth-child(2n){border-right:0}.feature-grid article:nth-child(n+4){border-bottom:1px solid var(--line)}.feature-grid article:nth-child(n+5){border-bottom:0}.setup-section,.faq-section{grid-template-columns:1fr;gap:36px}.pricing-grid{grid-template-columns:1fr}.term-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px;padding:25px}.pricing-cups{height:112px;margin:0;gap:8px}.pricing-cups img{height:calc(112px * var(--cup-scale))}.term-unavailable{display:table}.closing{padding:28px;gap:22px}.closing>img{width:48px;height:48px}.closing .button{margin:0}.site-footer{align-items:flex-start}.site-footer nav{gap:12px;flex-direction:column}.audience ul{justify-content:flex-start}}
@media(max-width:480px){.wrap{width:calc(100% - 32px)}.site-header .rupliva-brand{width:142px}.header-actions{gap:12px}.site-nav{font-size:13px}.header-actions .compact{font-size:12px;padding:8px 10px;gap:5px}.hero{padding-top:36px}h1{font-size:clamp(36px,10vw,46px);letter-spacing:-1.8px}.hero-description{font-size:20px}.hero-detail{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-actions .button{width:100%}.hero-footnote{font-size:11px}.hero .eyebrow{font-size:10px;letter-spacing:.06em}.visual-caption{font-size:10px;gap:5px}.chat-card{margin-right:12px}.chat-header{padding:15px 12px;gap:8px}.chat-header strong{font-size:12px}.chat-header img{width:34px;height:34px}.chat-header div>span{font-size:10px}.chat-content{padding:15px 12px}.chat-bubble{font-size:12px}.appointment-card{margin-left:14px;padding:12px;gap:10px}.appointment-card strong{font-size:12px}.visual-note{font-size:10px}.section-heading h2{letter-spacing:-1px}.feature-grid{grid-template-columns:1fr}.feature-grid article{padding:26px;border-right:0!important;border-bottom:1px solid var(--line)!important}.feature-grid article:last-child{border-bottom:0!important}.feature-symbol{margin-bottom:16px}.term-card{display:flex;align-items:stretch;padding:24px;gap:20px}.pricing-cups{justify-content:flex-start;height:94px}.pricing-cups img{height:calc(94px * var(--cup-scale))}.closing{padding:24px}.closing>img{display:none}.closing .eyebrow{font-size:10px}.closing .button{width:100%}.site-footer{flex-direction:column;gap:24px}.site-footer nav{flex-direction:row}.faq-list summary{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
