/* RentStand Brand System v1. Source and verification: design-reference.md. */
@import url('../assets/rentstand-tokens.css');
:root {
  --cream: var(--rs-cream);
  --paper: var(--rs-paper);
  --ink: var(--rs-ink);
  --body: #3b3833;
  --rust: var(--rs-rust);
  --rust-dark: var(--rs-rust-hover);
  --wash: #fbe7db;
  --line: var(--rs-border);
  --green: #166534;
  --green-wash: #f0fdf4;
  --display: var(--rs-font-brand);
  --sans: var(--rs-font-ui);
}
body { font-size:16px; line-height:1.65; }
h1,h2 { font-weight:700; letter-spacing:-.035em; line-height:1.08; }
h3 { font-weight:600; letter-spacing:-.02em; }
em { font-style:normal; }
.wrap { width:min(1160px,calc(100% - 64px)); }
.brand img { width:156px; height:auto; display:block; }
.public-header { height:88px; gap:28px; }
.public-header .public-nav { gap:22px; font-size:14px; font-weight:600; }
.public-nav .nav-cta { font-size:14px; padding:12px 16px; }
.button,.button-large,.outline-button { min-height:44px; border-radius:12px; font-size:14px; font-weight:600; padding:12px 18px; gap:12px; }
.button { box-shadow:0 1px 2px #211e1a0d; }
.button:hover { transform:none; }
.button:active { background:var(--rs-rust-active); }
.button-large { min-height:52px; }
.button span,.text-link span { display:flex; align-items:center; }
.button span img { width:18px; height:18px; filter:brightness(0) invert(1); }
.text-link span img { width:18px; height:18px; }
.text-link { font-size:14px; min-height:44px; align-items:center; padding-block:8px; }
.eyebrow,.mini-label { letter-spacing:.09em; font-size:11px; font-weight:600; }
.public-closing .eyebrow,.page-intro .eyebrow,.about-intro .eyebrow,.build-intro>.eyebrow,.home-intro .eyebrow,.feature-copy .eyebrow { font-size:11px; }
.page-intro h1,.about-intro h1,.build-intro h1,.hero h1 { font-size:clamp(40px,4.7vw,60px); }
.home-hero h1 { font-size:clamp(44px,4.7vw,64px); line-height:1.04; letter-spacing:-.04em; }
.home-hero-grid { gap:64px; padding-top:150px; }
.home-hero { background:var(--ink); }
.home-hero-copy>p:not(.eyebrow) { font-size:18px; line-height:1.65; }
.home-hero-copy>.eyebrow { font-size:11px; }
.quick-build { background:var(--paper); border-color:var(--line); border-radius:16px; backdrop-filter:none; padding:7px; }
.quick-build input { color:var(--ink); font-size:14px; }
.quick-build input::placeholder { color:var(--rs-muted); }
.quick-build .button { font-size:14px; }
.hero-proof,.little-receipt,.about-intro figure { transform:none; }
.rental-paper,.little-receipt,.reply-board,.price-card,.form-card,.story-card,.availability-card,.today-card { background:var(--paper); border:1px solid var(--line); border-radius:20px; box-shadow:0 1px 3px #211e1a0d; }
.rental-paper h2,.panel-heading h3,.today-heading h3 { font-family:var(--sans); font-weight:600; font-size:28px; letter-spacing:-.02em; }
.rental-paper { border-bottom-style:solid; }
.little-receipt { margin-top:12px; }
.product-stage { background:var(--rs-blue-wash); border-radius:32px; }
.demo-window { border-color:var(--line); border-radius:16px; box-shadow:0 2px 6px #211e1a0d; }
.demo-header,.demo-tabs,.demo-panel { font-family:var(--sans); }
.product-stage h3,.request-ticket h3,.inventory-row strong,.money-story h3 { font-family:var(--sans); font-weight:600; }
.home-intro h2,.reply-copy h2,.section-heading h2,.direct-money h2,.home-story h2,.home-faq h2,.feature-copy h2,.intro h2,.inventory-intro h2,.pricing-promise h2,.founder-story h2,.contact-section>div>h2,.build-bottom h2,.demo-next h2 { font-size:clamp(32px,3.4vw,46px); }
.public-closing h2 { font-size:clamp(36px,4vw,54px); }
.workflow-three h3,.pricing-notes h3,.setup-steps h3 { font-family:var(--display); font-weight:700; font-size:26px; }
.page-intro>p:last-child,.about-intro p:not(.eyebrow),.build-intro>p:not(.eyebrow),.founder-story>div:last-child p,.contact-section>div>p:not(.eyebrow),.workflow-three p,.pricing-notes p,.feature-copy>p:not(.eyebrow),.home-story p:not(.eyebrow),.faq-item p { font-size:16px; line-height:1.7; }
.founder-story>div:last-child .story-lead { font-family:var(--sans); font-size:21px; font-weight:600; line-height:1.5; }
.about-intro figure { padding:0; overflow:hidden; border-radius:24px; background:var(--paper); border:1px solid var(--line); width:100%; }
.about-intro figure img { height:430px; }
.about-intro figcaption { padding:16px 20px; font-size:12px; }
.about-intro,.founder-story,.contact-section,.build-layout,.pricing-layout { gap:64px; }
.about-principles,.home-workflow,.wide-feature { background:var(--rs-blue-wash); }
.home-story { background:var(--wash); }
.money-note-card,.money-story,.public-closing { background:var(--ink); border-radius:20px; }
.public-closing { border-radius:0; }
.public-closing .button { background:var(--rust); }
.public-closing .button:hover { background:var(--rust-dark); }
.public-closing>.wrap>p:last-child { font-size:14px; color:var(--cream); }
.public-footer { background:var(--cream); }
.footer-top { gap:32px; }
.footer-note { font-family:var(--display); font-size:24px; font-weight:700; }
.footer-top nav,.footer-top>div:first-child p { font-size:14px; }
.footer-bottom { font-size:12px; }
.footer-top nav a { min-height:32px; }
.price-card h2,.form-heading h2,.form-heading h3 { font-size:32px; font-weight:700; }
.big-price { font-family:var(--display); font-size:80px; font-weight:700; letter-spacing:-.04em; }
.price-card>.button { font-size:14px; }
.benefits,.price-card .benefits { font-size:14px; }
.form-card input,.form-card textarea,.form-card select { border:1px solid var(--line); border-radius:12px; font-size:16px; line-height:1.5; min-height:44px; }
.form-card label { font-size:14px; font-weight:600; }
.form-card label>small,.form-disclosure,.form-result,.build-assurance { font-size:12px; }
.setup-options>button { border-radius:12px; }
.setup-options>button strong { font-size:14px; }
.setup-options>button small { font-size:12px; }
.faq-item summary { font-size:16px; font-weight:600; }
.faq-filters button,.filter-row button,.category-field input+span { min-height:44px; }
.search-label input { font-size:16px; min-height:44px; border-radius:12px; }
.outline-button:hover { background:var(--rs-blue-wash); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,.category-field input:focus-visible+span { outline:3px solid var(--rs-focus); outline-offset:3px; }
@media(max-width:1100px) { .public-header .public-nav { gap:15px; font-size:13px; } .public-nav .nav-cta { font-size:12px; } .home-hero-grid { gap:40px; } }
@media(max-width:950px) { .public-header { height:80px; } .public-header .public-nav { background:var(--paper); border-color:var(--line); border-radius:16px; } .menu-toggle { border-color:var(--line); border-radius:12px; min-height:44px; } .home-hero-grid { gap:32px; } .quick-build { flex-wrap:wrap; } }
@media(max-width:700px) {
  .wrap { width:calc(100% - 40px); }
  .brand img { width:145px; }
  .home-hero-grid { padding-top:124px; gap:28px; }
  .home-hero h1 { font-size:46px; }
  .page-intro h1,.about-intro h1,.build-intro h1,.hero h1 { font-size:42px; }
  .about-intro,.founder-story,.contact-section,.build-layout,.pricing-layout { gap:32px; }
  .about-intro figure img { height:360px; }
  .workflow-three h3,.pricing-notes h3 { font-size:24px; }
  .form-pair { grid-template-columns:1fr; }
  .form-card,.contact-section .form-card,.build-layout .form-card { padding:24px; }
  .hero .lede,.hero .button-large { font-size:16px!important; }
  .quick-build { flex-direction:column; }
  .quick-build .button { width:100%; }
  .quick-build input { min-height:44px; }
  .public-closing .button { font-size:14px; }
  .footer-bottom { gap:16px; }
}
@media(max-width:400px) { .wrap { width:calc(100% - 32px); } .home-hero h1,.about-intro h1,.build-intro h1,.hero h1,.page-intro h1 { font-size:38px; } .public-closing .button { font-size:13px; padding-inline:12px; } .footer-top { column-gap:18px; } }
