/* Verbeam site — the app's palette (spec section 10 item 4): Ground, Ink, Beam, Dusk,
   Parchment, Beam Bright; Literata for reading, Karla for everything else. */
:root {
  --ground: #E7E8DF;
  --ink: #23281F;
  --ink-muted: #6E7168;
  --beam: #A8702C;          /* Beam, darkened enough to read as link text on Ground */
  --beam-fill: #C98A3E;
  --dusk: #202840;
  --parchment: #F1EAD9;
  --beam-bright: #F0B65E;
  --border: #CFD1C8;
  --surface: #F1EAD9;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: Karla, system-ui, -apple-system, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}
.wrap { max-width: 680px; margin: 0 auto; padding: 0 16px 80px; }
@media (min-width: 480px) { .wrap { padding: 0 24px 96px; } }

/* ---- Top bar ---- */
.bar {
  max-width: 680px; margin: 0 auto; padding: 16px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.bar a { color: var(--ink); text-decoration: none; }
.brand { display: flex; align-items: center; gap: 8px; font-family: Literata, Georgia, serif; font-weight: 600; font-size: 20px; }
.nav { display: flex; align-items: center; gap: 14px; font-size: 13px; letter-spacing: 0.5px; text-transform: uppercase; }
/* On a phone the bar holds the brand and the language switch only; Privacy and Support
   stay one scroll away in the footer rather than wrapping the bar onto two lines. */
.nav a { display: none; }
@media (min-width: 560px) { .nav a { display: inline; } }
.nav a { color: var(--ink-muted); text-decoration: none; }
.nav a[aria-current="page"] { color: var(--beam); }
.lang-toggle { background: none; border: 1px solid var(--border); border-radius: 999px; padding: 4px 12px; font: inherit; font-size: 13px; letter-spacing: 0.5px; color: var(--ink-muted); cursor: pointer; }

/* ---- Hero ---- */
.hero { background: var(--dusk); color: var(--parchment); padding: 64px 16px 56px; text-align: center; }
.hero .mark { display: block; margin: 0 auto 20px; }
h1 { font-family: Literata, Georgia, serif; font-weight: 600; font-size: 40px; line-height: 1.15; margin: 0 0 12px; }
.hero p { font-family: Literata, Georgia, serif; font-style: italic; font-size: 20px; color: var(--beam-bright); margin: 0 auto; max-width: 520px; }
.hero .store { margin-top: 28px; font-family: Karla, system-ui, sans-serif; font-style: normal; font-size: 15px; color: var(--parchment); opacity: 0.85; }

.page-head { padding: 40px 0 8px; }
.page-head h1 { font-size: 34px; }
.page-head p { color: var(--ink-muted); margin: 0; }

h2 { font-family: Literata, Georgia, serif; font-weight: 600; font-size: 26px; line-height: 1.25; margin: 56px 0 12px; }
h3 { font-size: 14px; letter-spacing: 1.1px; text-transform: uppercase; color: var(--ink-muted); margin: 32px 0 8px; }
p { margin: 0 0 16px; }
a { color: var(--beam); text-decoration-thickness: 1px; text-underline-offset: 3px; }
ul { padding-left: 20px; margin: 0 0 16px; }
li { margin-bottom: 10px; }
strong { font-weight: 600; }

.lede { font-family: Literata, Georgia, serif; font-size: 19px; margin-top: 40px; }
.rule { height: 1px; background: var(--border); border: 0; margin: 56px 0 0; }
.muted { color: var(--ink-muted); font-size: 15px; }

/* Verse as the app sets it — italic serif means Scripture. */
.verse { font-family: Literata, Georgia, serif; font-style: italic; font-size: 21px; line-height: 1.55; margin: 0 0 8px; }
.ref { font-size: 13px; letter-spacing: 1.1px; text-transform: uppercase; color: var(--beam); font-weight: 600; }

/* ---- Screenshots ---- */
.phone {
  display: block; width: 100%; height: auto;
  border-radius: 28px; border: 3px solid #2A3352;
  box-shadow: 0 18px 40px rgba(32, 40, 64, 0.22);
}
.hero-shot { max-width: 260px; margin: 40px auto -120px; }
.hero-shot .phone { border-color: #3F4557; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45); }
.hero + .wrap { padding-top: 120px; }

.feature { display: grid; gap: 20px; align-items: center; margin: 40px 0; }
.feature-shot { max-width: 220px; margin: 0 auto; }
.feature-shot:has(.pair) { display: flex; gap: 12px; max-width: 360px; }
.feature-shot .pair { width: 50%; border-radius: 20px; }
.feature-title { margin: 0 0 6px; font-family: Literata, Georgia, serif; font-size: 21px; letter-spacing: 0; text-transform: none; color: var(--ink); }
@media (min-width: 640px) {
  .feature { grid-template-columns: 220px 1fr; gap: 36px; }
  .feature:nth-of-type(even) .feature-shot { order: 2; }
  .feature:has(.pair) { grid-template-columns: 300px 1fr; }
  .feature-shot { margin: 0; }
}

.features { list-style: none; padding: 0; display: grid; gap: 12px; }
.features li { background: var(--surface); border-radius: 18px; padding: 18px 20px; margin: 0; }
.features strong { display: block; font-family: Literata, Georgia, serif; font-size: 18px; margin-bottom: 4px; }

.card { background: var(--surface); border-radius: 18px; padding: 24px 20px; }
.contact { font-size: 20px; font-weight: 600; }

details { border-top: 1px solid var(--border); padding: 14px 0; }
details:last-of-type { border-bottom: 1px solid var(--border); }
summary { cursor: pointer; font-weight: 600; list-style: none; display: flex; gap: 10px; }
summary::-webkit-details-marker { display: none; }
/* The marker sits inside the gutter, rotating open, instead of hanging off the left edge. */
summary::before { content: "›"; color: var(--beam); font-size: 20px; line-height: 1.3; transition: transform 0.15s; flex: none; }
details[open] summary::before { transform: rotate(90deg); }
details p { margin: 10px 0 0; }

footer { text-align: center; color: var(--ink-muted); font-size: 14px; padding: 0 16px 56px; }
footer nav { display: flex; gap: 16px; justify-content: center; margin-bottom: 8px; }

/* ---- Two languages on one page: the toggle shows one at a time ---- */
[lang="pt"] { display: none; }
body.pt [lang="en"] { display: none; }
body.pt [lang="pt"] { display: revert; }
