/* Adapted from latent-web/app/globals.css and the Latent Girl homepage layout.
   Original license: ../licenses/latent-web-MIT.txt. See docs/sablona.md. */
:root {
  --paper: #f2eee8;
  --ink: #293332;
  --muted: #6b6259;
  --line: #b7b2ab;
  --green: #e3e1de;
  --peach: #d2c7be;
  --radius: 8px;
  --primary: #3c4c62;
  --accent: #4e5f7a;
}
body { font-family: 'Segoe UI', Arial, sans-serif; }
.eyebrow, .demo-progress, .step-tag, .demo-badge {
  font-family: 'Cascadia Code', Consolas, monospace;
}
.eyebrow { letter-spacing: 2px; }
h1, h2 { letter-spacing: -.045em; }
em { color: var(--accent); }
.site-header { position: relative; }
.brand { font-family: Georgia, serif; font-size: 17px; font-weight: 400; }
.brand-mark { color: var(--ink); }
.brand-mark span { color: var(--accent); }
.button { border-radius: 50px; background: var(--primary); border-color: var(--primary); }
.button:hover { background: var(--accent); }
.text-link { color: var(--accent); }
.preview-bar { background: var(--ink); }
.preview-bar span { color: #d9dce1; }
.hero-band { background: linear-gradient(130deg, #293332, #192125 65%, #10171b); color: var(--paper); }
.hero { padding-block: 85px; min-height: 76svh; }
.hero em { color: #b7c8df; }
.hero .intro { color: #d0d4d6; }
.hero .fine { color: #c1c4c6; }
.hero .button { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.hero .button:hover { background: #d2c7be; }
.hero .text-link { color: var(--paper); }
.dot { background: #869ab6; }
.hero-art { background: #3a4757; color: #f2eee8; border-radius: 8px; min-height: 490px; }
.art-top { color: #e0e4e9; }
.orbit { border-color: #b5c3d6; }
.petal-one { background: #91a6bc; }
.petal-two { background: #c6b9a8; }
.petal-three { background: #6d859b; }
.petal-four { background: #abb5bd; }
.art-center { background: var(--paper); border-color: #c2c8cb; color: var(--ink); }
.orbit-label { background: var(--paper); border-color: #c2c8cb; color: var(--ink); }
.art-star { color: #bccbdd; }
.expert-strip { background: var(--paper); }
.steps article { border-color: var(--line); }
.step-number { color: var(--accent); }
.plan-card { transform: none; box-shadow: none; }
.demo-badge, .plan-list li > span { background: #e3e1de; }
.expert-visual { background: #d2c7be; }
.expert-monogram { color: var(--primary); }
.expert-monogram span { color: #727e8c; }
.expert-visual .eyebrow { color: #514b44; }
.price-card { border-color: var(--line); }
.included li:before { color: var(--accent); }
.demo-section { background: var(--ink); }
.demo-section em { color: #b7c8df; }
.demo-section .section-copy { color: #d5d8dc; }
.demo-note { color: #c3c9ce; }
.choice { border-color: #807970; }
.choice:has(input:checked) { background: #e1e5ea; border-color: var(--primary); }
.choice:hover { background: #e3e1de; }
.progress-track { background: #d8d5d0; }
#progress-fill { background: var(--accent); }
.menu-toggle { display: none; }
.reviews-section { border-top: 1px solid var(--line); }
.reviews-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.reviews-list figure { margin: 0; padding: 28px; background: var(--green); border-radius: var(--radius); }
.reviews-list blockquote { margin: 0 0 20px; font: 23px/1.45 Georgia, serif; }
.reviews-list figcaption { font-size: 12px; color: var(--muted); }
.reviews-empty { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); max-width: 670px; }
.reviews-empty p { font-size: 13px; margin-bottom: 8px; color: var(--muted); }
.reviews-empty strong { color: var(--ink); }
#order-dialog { border: 0; border-radius: 12px; padding: 30px; width: min(560px, calc(100% - 30px)); max-height: calc(100svh - 40px); background: var(--paper); color: var(--ink); box-shadow: 0 30px 100px #0005; }
#order-dialog::backdrop { background: #10171bd6; }
#order-dialog h2 { font-size: 40px; margin-block: 20px 30px; }
#order-dialog h3 { font: 30px/1.2 Georgia, serif; }
#order-dialog .button { width: 100%; }
#order-dialog #order-result > p { font-size: 14px; }
.order-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.order-top .eyebrow { margin: 0; }
#close-order { border: 1px solid var(--line); background: transparent; color: var(--ink); border-radius: 50%; width: 36px; height: 36px; font-size: 25px; line-height: 1; }
.order-summary { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-block: 1px solid var(--line); font-size: 14px; }
.order-summary > span { white-space: nowrap; }
.order-consent { display: flex; align-items: start; gap: 12px; font-size: 12px; cursor: pointer; }
.order-consent input { margin-top: 4px; accent-color: var(--primary); width: 17px; height: 17px; flex-shrink: 0; }
#legal-links { font-size: 12px; }
#seller-info { overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .reviews-list { grid-template-columns: 1fr; }
  #order-dialog { padding: 23px; }
  .order-summary { flex-wrap: wrap; gap: 8px; }
  .hero { min-height: auto; padding-block: 45px; }
  .hero-art { min-height: 420px; }
  .site-header { flex-wrap: wrap; }
  .site-header > .button { display: none; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 50px; background: transparent; color: var(--ink); font-size: 12px; }
  .site-header nav[data-open="true"] { display: flex; flex-direction: column; order: 4; flex-basis: 100%; padding: 16px 0 5px; border-top: 1px solid var(--line); gap: 0; }
  .site-header nav a { padding: 12px 0; }
}
