/* Cinematic-white theme, layered on site.css so every inner page matches the homepage.
   Italiana display + Lato body, square edges, slate on white, always light. */
:root,
:root:not([data-theme="light"]),
:root[data-theme="dark"] {
  --ink: #141618; --ink-2: #1d2023; --on-ink: #ffffff; --on-ink-muted: rgba(255,255,255,.8);
  --paper: #f6f5f2; --surface: #ffffff; --fg: #141618; --muted: #5c6168; --line: #e7e4df;
  --money: #2E7D32; --gold: #b89b6a;
  --display: "Italiana", Georgia, serif;
  --body: "Lato", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ui: var(--body);
  --radius: 0px; --card-shadow: none; --seg: #ecebe7; --bar: rgba(255,255,255,.97);
  color-scheme: light;
}
body { background: #fff; font-family: var(--body); font-size: 17px; line-height: 1.65; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; letter-spacing: .06em; text-transform: uppercase; line-height: 1.14; }
.hero h1 em, .stand-copy h2 em, h1 em, h2 em { font-style: normal; }
.eyebrow { font: 700 12px/1.3 var(--body); letter-spacing: .3em; }
.section-alt { background: var(--paper); }

/* Buttons: square, uppercase, letter-spaced */
.btn { border-radius: 0; min-height: 50px; padding: 0 26px; font: 700 12px/1 var(--body); letter-spacing: .22em; text-transform: uppercase; }

/* Cards and panels: square, hairline, no shadow */
.panel, .stand-list, .faq, .listings, .form, .track, .area, .start-card, .agent, .review, .clock-card,
.post-card, .post-note, .card, .login, .banner, .intake-card, .feature img, .about img, .ballbox div,
.q input, .q select, .q textarea, .choice span, .form input, .form select, .form textarea, .chip, .status-pill { border-radius: 0 !important; box-shadow: none !important; }
.faq summary { font-family: var(--display); font-weight: 400; letter-spacing: .06em; text-transform: uppercase; }
.area h3, .listing-addr, .post-card h2, .post-card h3, .start-card b, .cta-phone, .proof-item strong { font-family: var(--display); font-weight: 400; letter-spacing: .06em; }
.post-lede, .stand-lede, .review blockquote { font-family: var(--display); }

/* Header + footer */
.site-header { background: #111214; }
.site-header .nav a { font: 700 11.5px/1 var(--body); letter-spacing: .2em; text-transform: uppercase; }
@media (max-width: 1560px) { .site-header .brand span { display: none; } }
.site-footer { background: #111214; }
.footer-col a { display: block; padding: 6px 0; }
.legal-links a { display: inline-block; padding: 6px 0; }
.post-head nav a, .crumbs a { display: inline-block; padding: 10px 0; }

/* Phone: keep the same look instead of the app-style cards */
@media (max-width: 600px) {
  body { font-family: var(--body); }
  h2, h3, .panel-intro h3, .faq summary, .listing-addr, .start-card b, .area h3, .clock-card h3,
  .post-card h2, .post-card h3, .cta-copy h2, .post-head h1, .intake-head h1, .step legend {
    font-family: var(--display); font-weight: 400; letter-spacing: .06em; text-transform: uppercase; line-height: 1.15; }
  .section-head h2, .feature-copy h2, .about-copy h2, .value-copy h2, .portal-band h2, .stand-copy h2, .panel-intro h2, .cta-copy h2 { font-size: 30px; }
  .hero h1 { font-size: 40px; line-height: 1.08; }
  .post-head h1 { font-size: 30px; }
  .btn { border-radius: 0; letter-spacing: .2em; font-size: 12px; }
  .hero-ctas .btn { font-size: 12px; letter-spacing: .2em; }
  .panel, .faq, .listings, .area, .start-card, .post-card, .form, .proof-item, .proof-item:first-child, .proof-item:nth-child(odd) {
    border-radius: 0 !important; box-shadow: none !important; border: 1px solid var(--line); }
  .proof-item strong, .cta-phone { font-family: var(--display); font-weight: 400; letter-spacing: .04em; }
  .tabs, .tab { border-radius: 0; }
  .mobile-nav:not([hidden]) { border-radius: 0; }
  .tabbar-item { font: 700 10px/1.2 var(--body); letter-spacing: .14em; text-transform: uppercase; }
  .tabbar-item:first-child { color: var(--fg); }
  .footer-col a { padding: 9px 0; }
}

/* Intake */
.intake-top { background: #111214; }
.intake-top a.close { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; text-transform: uppercase; letter-spacing: .2em; font-size: 12px; font-weight: 700; }
.intake-head h1 { font-family: var(--display); font-weight: 400; letter-spacing: .06em; text-transform: uppercase; }
.step legend { font-family: var(--display); font-weight: 400; letter-spacing: .05em; text-transform: uppercase; }
.choice input:checked + span { background: var(--ink); color: #fff; }
.consent input, .q input[type=checkbox] { min-width: 22px; min-height: 22px; }

/* Readability: long text stays in Lato, display face only for headings */
.post-lede, .stand-lede { font-family: var(--body); font-weight: 300; font-size: clamp(20px, 2.2vw, 23px); line-height: 1.55; letter-spacing: 0; }
.review blockquote { font-family: var(--body); font-weight: 400; font-size: 18px; line-height: 1.55; }
.intake-actions button, .intake-actions .btn, .intake button[type=submit], #next, #back { border-radius: 0 !important; font: 700 12px/1 var(--body) !important; letter-spacing: .22em !important; text-transform: uppercase; min-height: 52px; }
