/* Rivera: dimensional brand, architectural spacing, one combined price. */
html:root { --bg:#101923; --bg-2:#17242e; --surface:#1c2d38; --surface-2:#233946; --surface-solid:#1a303b; --line:#34505b; --line-strong:#77909a; --ink:#f8f5ed; --text:#e0e8e8; --muted:#a9b9bb; --gold:#d8ad62; --gold-deep:#b98538; --emerald:#5fc7b0; --emerald-deep:#348e83; --emerald-soft:#5fc7b01a; }
body,button,input,select,textarea { font-family:"Source Sans 3",system-ui,sans-serif!important; font-size:1rem; }
h1,h2,h3,h4,.display,.brand-name,.hero-title,.modal-title,.quiz-question { font-family:"Libre Baskerville",Georgia,serif!important; }
.shell { max-width:1240px; }
.site-header { background:#101923f2; backdrop-filter:blur(18px); border-bottom-color:#d8ad6228; }
.nav { padding-block:16px; }
.brand-name { font-size:1.6rem; letter-spacing:.025em; }
.brand-tag { font-size:.7rem; letter-spacing:.2em; }
.brand .mark { width:60px; height:60px; background:transparent; box-shadow:none; border-radius:0; }
.brand .mark img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 6px 9px #0006); }
.nav-links a { font-size:.9rem; }
.hero { min-height:740px; padding:100px 0 110px; }
.hero-grid { grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:72px; align-items:center; }
.hero-title { font-size:clamp(2.8rem,5.3vw,4.7rem); line-height:1.06; letter-spacing:-.045em; max-width:12ch; }
.hero-title em { color:var(--gold); }
.hero-sub { max-width:49ch; line-height:1.85; margin-block:26px 30px; }
.hero-card { padding:36px; border:1px solid #d8ad6265; border-radius:18px; background:linear-gradient(145deg,#233a46ee,#142630f2); box-shadow:0 28px 70px #0005,inset 0 1px #ffffff18; }
.hero-card::before { opacity:.35; }
.hero-card h3 { margin-top:16px; font-size:2rem; }
.hero-card ul { margin-block:26px; }
.hero-card li { padding-block:4px; }
.btn { border-radius:12px; min-height:50px; padding:13px 23px; font-weight:750; }
.btn-primary { background:linear-gradient(135deg,#e5c077,#c89240); color:#221708; box-shadow:0 8px 22px #d8ad6224,inset 0 1px #fff8; }
.btn-ghost { border-color:#d2e0e64d; background:#0d23324d; }
.tabs-bar { background:#121f29f5; border-block:1px solid #d8ad6226; }
.tab[aria-selected="true"] { background:linear-gradient(135deg,#65c8b4,#3b968a); color:#071b19; }
.tablist { gap:8px; padding-block:10px; }
.tab { border-radius:10px; }
.section-head { max-width:750px; margin:0 auto 44px; }
.section-head h2 { font-size:clamp(2.1rem,4vw,3.1rem); letter-spacing:-.035em; }
.panel { padding-block:80px; }
.feature { padding:40px; border-radius:20px; border:1px solid #d8ad6244; background:linear-gradient(140deg,#213844f5,#142630f5); box-shadow:0 24px 70px #0003; }
.feature-head { gap:20px; }
.feature-head h3 { font-size:1.8rem; }
.feature .pill { background:#e8c78816; color:var(--gold); border:1px solid #e8c78855; font-size:.9rem; white-space:normal; }
.feature .lede { max-width:70ch; }
.formation-quote { background:#111f28; border-color:#48636c; padding:28px; border-radius:14px; margin-block:28px; }
.formation-quote h4 { font-size:1.25rem; letter-spacing:-.015em; text-transform:none; color:var(--ink); }
.formation-quote .quote-fields { gap:20px; }
.formation-quote select,.formation-quote input { min-height:50px; border-radius:8px; background-color:#1b313b; }
.formation-quote .quote-total { padding:22px 0 4px; border-top:1px solid #ffffff20; align-items:center; }
.formation-quote .quote-total dt { font-size:1rem; color:var(--text); font-weight:500; }
.formation-quote .quote-total dd { font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.04em; color:var(--gold); }
.formation-quote .quote-note { color:#bcced6; max-width:85ch; }
.feature-cols { padding-top:8px; gap:40px; }
.card-grid { gap:24px; }
.card { padding:28px; border-radius:14px; border-color:#48616a; background:linear-gradient(145deg,#203743f2,#152832f5); box-shadow:0 12px 32px #0002; display:flex; flex-direction:column; }
.card .price { margin-top:auto; padding-top:20px; }
.card .btn { align-self:flex-start; }
.card:hover { border-color:#e8c78885; transform:translateY(-4px); }
.card-icon { border-radius:13px; background:#e8c78812; border-color:#e8c78840; color:var(--gold); }
.why,.faq,.quiz-shell { border-radius:18px; border-color:#385360; background:#0d2434ed; }
.cta-strip { border:1px solid #81cfac55; border-radius:24px; background:linear-gradient(115deg,#124233,#102c3c); }
.modal-content { max-width:760px; padding:34px; border-radius:18px; background:linear-gradient(150deg,#223945,#132630); border-color:#789099; box-shadow:0 30px 100px #0009; }
.modal-title { font-size:1.8rem; letter-spacing:-.03em; }
#formFields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
#formFields .modal-desc,#modalFormationQuote,#formFields .form-group:has(textarea) { grid-column:1/-1; }
#modalFormationQuote { margin-block:10px 22px; }
.modal-desc { background:#75d8af0b; border-color:#75d8af30; }
.form-group input,.form-group select,.form-group textarea { background-color:#142832; min-height:50px; }
.form-group:has([name="state"]),.form-group:has([name="einPriority"]),.form-group:has([name="registeredAgent"]) { grid-column:1/-1; }
footer { background:#0d171fed; }
@media(max-width:1050px) { .hero-grid { gap:32px; } .nav { gap:10px; } .brand .mark { width:50px; height:50px; } .nav-links a { padding-inline:8px; } }
@media(max-width:900px) { .hero { padding-block:70px; min-height:0; } .hero-grid { grid-template-columns:1fr; gap:36px; } .hero-title { max-width:16ch; } .hero-card { max-width:600px; width:100%; } }
@media(max-width:600px) { .hero-title { font-size:2.85rem; } .hero { padding-block:52px; } .hero-card,.feature { padding:24px; border-radius:20px; } .panel { padding-block:52px; } .feature-head { align-items:flex-start; flex-direction:column; } .formation-quote { padding:20px 16px; } .formation-quote .quote-total { align-items:flex-start; flex-direction:column; gap:6px; } .brand-name { font-size:1.35rem; } .brand-tag { font-size:.6rem; } .brand { gap:8px; } .modal-content { padding:26px 18px; } #formFields { grid-template-columns:1fr; } .card-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .card:hover { transform:none; } }
.chat-forget { margin-left:auto; width:32px; height:32px; border:1px solid var(--line); border-radius:8px; background:#ffffff0a; color:var(--muted); cursor:pointer; font-size:17px; display:grid; place-items:center; }
.chat-forget:hover { color:var(--gold); border-color:var(--gold); }
.chat-forget + .chat-close { margin-left:0; }
