/* Diosa Fiera pre-launch site: one stylesheet for the home page and the two legal pages. */
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 300; font-display: swap; src: url("/fonts/montserrat-latin-300.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/montserrat-latin-700.woff2") format("woff2"); }

:root {
  --esm: #0B5E4A; --esm-deep: #052E25; --noche: #0F1F1A;
  --oro: #C9973F; --oro-claro: #E8D3A6;
  --tinta: #18211E; --tinta-2: #4B5753; --rule: #E6ECE9; --tint: #F3F9F6;
  --font: "Montserrat", "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body { font-family: var(--font); font-weight: 300; color: var(--tinta); background: #FFFFFF; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: var(--esm); text-underline-offset: 3px; }
b, strong, h1, h2 { font-weight: 700; }

/* Logo: crown lines take the text colour; ember and jewels are gold. */
.logo { display: inline-flex; align-items: center; gap: .32em; letter-spacing: -0.02em; line-height: 1; white-space: nowrap; color: var(--esm); text-decoration: none; }
.logo svg { width: 1.32em; height: 1.32em; flex: none; }
.logo .a { font-weight: 300; } .logo .b { font-weight: 700; }
.logo .ember { stroke: var(--oro); } .logo .jewel { fill: var(--oro); }

/* Home: full-height emerald panel. */
.home { background: radial-gradient(120% 90% at 50% 0%, var(--esm) 0%, var(--esm-deep) 62%, var(--noche) 100%); color: #FFFFFF; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.home .logo { color: #FFFFFF; font-size: clamp(34px, 8vw, 58px); }
.hero { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 56px 16px 32px; gap: 18px; }
.hero h1 { margin: 22px 0 0; font-size: clamp(26px, 5.4vw, 40px); letter-spacing: .01em; color: var(--oro-claro); }
.hero p { margin: 0; max-width: 34em; font-size: clamp(15px, 2.4vw, 18px); color: #DCEBE5; }
.hero .contact a { color: #FFFFFF; font-weight: 700; }
.rule { width: 56px; height: 2px; background: var(--oro); border: 0; margin: 4px auto 0; }

/* Footer, shared. */
footer { padding: 22px 16px 28px; text-align: center; font-size: 13px; color: var(--tinta-2); }
footer a { color: inherit; white-space: nowrap; }
footer .sep { margin: 0 .5em; opacity: .6; }
.home footer { color: #A9C9BE; }

/* Legal pages: readable column. */
.top { border-bottom: 1px solid var(--rule); padding: 18px 16px; }
.top .wrap { max-width: 760px; margin: 0 auto; }
.top .logo { font-size: 26px; }
.doc { max-width: 760px; margin: 0 auto; padding: 36px 16px 48px; }
.doc h1 { font-size: clamp(26px, 4.6vw, 34px); line-height: 1.2; margin: 0 0 6px; color: var(--esm); }
.doc .meta { margin: 0 0 28px; font-size: 14px; color: var(--tinta-2); }
.doc h2 { font-size: 18px; margin: 30px 0 8px; color: var(--tinta); }
.doc p, .doc li { font-size: 16px; }
.doc ul { padding-left: 1.2em; }
.doc li + li { margin-top: 6px; }
.doc .note { background: var(--tint); border-left: 3px solid var(--oro); padding: 12px 14px; margin: 0 0 8px; font-size: 15px; }
.legal footer { border-top: 1px solid var(--rule); }
