/* ============================================================================
   RE.NUEVO — CLEAN (since 2026-11-06). Replaces styles-bold.css on every page.

   Inspired by the RE.NUEVO landing page that ran on renuevo.dotted.space
   (dotted_space/renuevo/): flat paper, hairline rules instead of shadows,
   Fraunces with its soft optical axes for headings, Instrument Sans for text,
   and one pink. The flower wash and the oversized coloured cards of the
   "bold" look are gone; the logo keeps its flower.

   Every bh-* class name of styles-bold.css still exists here, restyled, so the
   working pages (buyer search, dashboards, login, legal) changed look without
   their markup being touched. New components are prefixed rn-.

   ⚠ 99% of traffic is mobile: every component here is laid out for 360 px first.
   ========================================================================== */

:root{
  --paper:#F5F3EC; --paper2:#EAE5D7; --card:#FFFDF8;
  --ink:#11574C; --ink-deep:#0C3F37; --text:#3B4A45; --mute:#6E7B76;
  --pink:#E0558F; --pink2:#F4A7CB; --star:#F18CBA;
  --rule:rgba(17,87,76,.16);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gut:56px; --hh:64px;
  /* the bold layer's names, still read by some page-scoped styles */
  --bh-green:var(--ink); --bh-green-deep:var(--ink-deep);
  --bh-pink:var(--star); --bh-pink-bright:var(--pink); --bh-pink-deep:var(--pink);
  --bh-pink-soft:#FBE7F0; --bh-cream:var(--paper); --bh-ink:var(--text);
}
@media (max-width:900px){ :root{ --gut:16px; } }

html{ scroll-padding-top:calc(var(--hh) + 8px); }
body.bold{ background:var(--paper); color:var(--text); font-family:var(--sans); overflow-x:clip;
  -webkit-font-smoothing:antialiased; }
::selection{ background:rgba(241,140,186,.35); }
img{ max-width:100%; height:auto; }
:focus-visible{ outline:2px solid var(--pink); outline-offset:3px; border-radius:4px; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } *{ transition:none !important; animation:none !important; } }

/* the bold look's decorations: not part of the clean look */
.bh-flower, .bh-card-flower, .hero-flower, .buyer-flower, .hero-glow{ display:none !important; }

/* ── Layout ──────────────────────────────────────────────────────────────── */
.bh-wrap, .rn-wrap{ box-sizing:border-box; max-width:calc(1180px + 2 * var(--gut)); margin:0 auto;
  padding-left:max(var(--gut),env(safe-area-inset-left,0px)); padding-right:max(var(--gut),env(safe-area-inset-right,0px)); }
.bh-section{ padding:clamp(64px,10vh,120px) 0; }
.rn-sec{ border-top:1px solid var(--rule); padding:clamp(64px,10vh,120px) 0; }
.rn-sec--band{ background:var(--paper2); }

/* ── Type ────────────────────────────────────────────────────────────────── */
.bh-eyebrow, .rn-kick{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--sans);
  font-weight:600; font-size:16px; letter-spacing:0; text-transform:none; color:var(--pink); }
.bh-eyebrow::before{ content:none; }
.bh-eyebrow--light{ color:var(--pink2); }
.bh-display{ font-family:var(--serif); font-weight:600; color:var(--ink); margin:0;
  font-size:clamp(44px,6vw,84px); line-height:1; letter-spacing:-.015em; text-wrap:balance;
  font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144; }
.bh-h2{ font-family:var(--serif); font-weight:600; color:var(--ink); margin:0;
  font-size:clamp(32px,4.2vw,54px); line-height:1.05; letter-spacing:-.015em; text-wrap:balance;
  font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 120; }
.bh-accent{ font-style:italic; color:var(--pink); }
.bh-sub, .rn-lede{ font-family:var(--sans); color:var(--text); font-size:clamp(17px,1.5vw,20px); line-height:1.55; }
.rn-body{ color:var(--text); font-size:17px; line-height:1.6; max-width:38em; }
.rn-small{ font-size:14px; line-height:1.5; color:var(--mute); }
.font-serif{ font-family:var(--serif) !important; font-variation-settings:"SOFT" 100,"WONK" 0; }

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.bh-ctarow{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:28px; }
.bh-btn{ display:inline-flex; align-items:center; gap:.5rem; min-height:52px; padding:0 24px;
  border-radius:999px; border:0; font-family:var(--sans); font-weight:600; font-size:16px;
  text-decoration:none; cursor:pointer; transition:background-color .2s ease, color .2s ease; }
.bh-btn svg{ width:18px; height:18px; flex:none; }
.bh-btn:hover{ text-decoration:underline; text-underline-offset:.2em; }
.bh-btn--green{ background:var(--ink); color:var(--paper); }
.bh-btn--green:hover{ background:var(--ink-deep); }
.bh-btn--pink{ background:var(--pink2); color:var(--ink); }
.bh-btn--ghost{ background:transparent; color:var(--ink); box-shadow:inset 0 0 0 1.5px rgba(17,87,76,.35); }
.bh-btn--block{ width:100%; justify-content:center; }
.bh-pill{ display:inline-flex; align-items:center; gap:.5rem; padding:6px 14px; border-radius:999px;
  background:rgba(17,87,76,.07); color:var(--ink); font-family:var(--sans); font-weight:600; font-size:14px; border:0; }
.bh-pill svg{ width:15px; height:15px; color:var(--pink); }
.rn-status{ display:flex; align-items:center; gap:10px; font-size:15px; color:var(--mute); }
.rn-status i{ flex:none; width:8px; height:8px; border-radius:50%; background:#3E9B6E; box-shadow:0 0 0 4px rgba(62,155,110,.15); }

/* ── Centred page hero (about, institutions, demo) ───────────────────────── */
.bh-hero{ position:relative; text-align:center; padding:clamp(56px,10vh,110px) 16px clamp(48px,8vh,90px); }
.bh-hero-inner{ position:relative; max-width:900px; margin:0 auto; }
.bh-hero .bh-display{ margin-top:18px; }
.bh-hero .bh-sub{ margin:22px auto 0; max-width:640px; }

/* ── Split hero (home, shops): words left, one object right ─────────────── */
.rn-hero{ min-height:calc(100svh - var(--hh)); display:flex; align-items:center; }
.rn-hero > .rn-wrap{ width:100%; padding-top:40px; padding-bottom:56px; display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:40px 64px; align-items:center; }
.rn-stack{ display:grid; gap:22px; align-content:start; }
.rn-hero .bh-ctarow{ justify-content:flex-start; margin-top:4px; }
@media (max-width:900px){
  .rn-hero{ min-height:0; }
  .rn-hero > .rn-wrap{ grid-template-columns:1fr; padding-top:28px; padding-bottom:40px; }
}

/* ── Cards ───────────────────────────────────────────────────────────────── */
.bh-cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; }
.bh-card{ position:relative; display:flex; flex-direction:column; padding:26px; border-radius:14px;
  background:var(--card); border:1px solid var(--rule); color:var(--text); min-height:0; }
.bh-card--outline{ background:transparent; border:1.5px dashed rgba(224,85,143,.45); }
.bh-ic{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  margin-bottom:18px; background:var(--ink); color:var(--pink2); }
.bh-ic svg{ width:22px; height:22px; }
.bh-card--pink .bh-ic{ background:var(--pink2); color:var(--ink); }
.bh-card--outline .bh-ic{ background:transparent; color:var(--pink); box-shadow:inset 0 0 0 1.5px rgba(224,85,143,.5); }
.bh-card-eyebrow{ font-size:14px; font-weight:600; color:var(--pink); margin-bottom:6px; letter-spacing:0; text-transform:none; opacity:1; }
.bh-card h3{ font-family:var(--serif); font-weight:600; font-size:26px; line-height:1.15; color:var(--ink); margin:0 0 10px;
  font-variation-settings:"SOFT" 100,"WONK" 1; }
.bh-card h3 .bh-accent{ color:var(--pink) !important; text-decoration:none !important; }
.bh-card p{ font-size:16px; line-height:1.55; color:var(--text); margin:0; flex:1; opacity:1; }
.bh-card-link{ margin-top:20px; display:inline-flex; align-items:center; gap:.4rem; min-height:44px;
  font-weight:600; color:var(--ink) !important; text-decoration:underline; text-decoration-color:var(--pink);
  text-underline-offset:.3em; text-decoration-thickness:1.5px; }
.bh-card-link svg{ width:16px; height:16px; }

/* ── Dark band (unify, demo, pilot) ──────────────────────────────────────── */
.bh-unify{ position:relative; overflow:hidden; background:var(--ink); color:#D8E6E1; border-radius:16px;
  padding:clamp(32px,5vw,64px); text-align:center; }
.bh-unify .bh-h2{ color:#fff; }
.bh-unify .bh-sub{ color:rgba(233,242,238,.85); margin:16px auto 0; max-width:640px; }
.bh-chips{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:28px; }
.bh-chip{ padding:7px 14px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  font-size:14px; font-weight:600; color:#fff; }

/* ── Panels and steps ────────────────────────────────────────────────────── */
.bh-two{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:36px; }
.bh-panel{ background:var(--card); border:1px solid var(--rule); border-radius:14px; padding:26px; }
.bh-panel-head{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.bh-panel-head .bh-ic{ margin:0; width:40px; height:40px; border-radius:10px; }
.bh-panel-head h3{ font-family:var(--serif); font-weight:600; font-size:24px; color:var(--ink); margin:0; }
.bh-step{ display:flex; gap:14px; margin-top:18px; }
.bh-step .n{ flex:none; width:30px; height:30px; border-radius:50%; box-shadow:inset 0 0 0 1.5px var(--ink); color:var(--ink);
  font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; background:transparent; }
.bh-step .t b{ color:var(--ink); font-weight:600; }
.bh-step .t span{ display:block; color:var(--mute); font-size:15px; margin-top:2px; }

/* ── Closing call to action ──────────────────────────────────────────────── */
.bh-cta{ border-radius:16px; padding:clamp(40px,6vw,72px) 24px; text-align:center; background:var(--paper2); }
.bh-cta-inner{ max-width:760px; margin:0 auto; }
.bh-cta .bh-display{ font-size:clamp(36px,5vw,64px); }

/* ── Inner pages: heads, cards, prose, forms ─────────────────────────────── */
.bh-pagehead{ padding:clamp(16px,4vw,32px) 0 clamp(16px,3vw,24px); }
.bh-pagehead .bh-eyebrow{ margin-bottom:10px; }
.bh-pagehead h1{ font-family:var(--serif); font-weight:600; color:var(--ink); margin:0; line-height:1.04;
  letter-spacing:-.015em; font-size:clamp(34px,6vw,54px); font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 120; }
.bh-pagehead .bh-lede{ margin-top:12px; max-width:62ch; color:var(--text); line-height:1.6; font-size:clamp(16px,1.5vw,19px); }
.bh-pagehead--center{ text-align:center; }
.bh-pagehead--center .bh-eyebrow{ justify-content:center; }
.bh-pagehead--center .bh-lede{ margin-left:auto; margin-right:auto; }
.bh-formcard{ background:var(--card); border:1px solid var(--rule); border-radius:14px; box-shadow:none;
  padding:clamp(20px,5vw,36px); }
.bh-cardhead{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.bh-cardhead .bh-ic{ margin:0; width:44px; height:44px; flex:none; }
.bh-cardhead h1, .bh-cardhead h2{ font-family:var(--serif); font-weight:600; color:var(--ink); margin:0; line-height:1.1;
  font-size:clamp(24px,4.5vw,32px); font-variation-settings:"SOFT" 100,"WONK" 1; }
.bh-prose{ color:var(--text); font-size:clamp(16px,1.4vw,17px); line-height:1.7; }
.bh-prose h2{ font-family:var(--serif); font-weight:600; color:var(--ink); font-size:clamp(22px,2.6vw,28px); line-height:1.2;
  font-variation-settings:"SOFT" 100,"WONK" 1; }
.bh-prose a{ color:var(--ink); font-weight:600; text-decoration:underline; text-decoration-color:var(--pink);
  text-underline-offset:.2em; }
.bh-prose strong{ color:var(--ink); }
.bh-formsec{ border-top:1px solid var(--rule); padding-top:32px; margin-top:36px; }
@media (min-width:640px){ .bh-formsec{ padding-top:40px; margin-top:44px; } }
@media (max-width:640px){ .bh-hide-mobile{ display:none !important; } }

/* ── Header (rendered by app.js) ─────────────────────────────────────────── */
.rn-top{ position:sticky; top:0; z-index:40; background:rgba(245,243,236,.94);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border-bottom:1px solid var(--rule); }
.rn-top-in{ box-sizing:border-box; max-width:calc(1180px + 2 * var(--gut)); margin:0 auto; height:calc(var(--hh) - 1px); display:flex; align-items:center; gap:8px 24px;
  padding-left:max(var(--gut),env(safe-area-inset-left,0px)); padding-right:max(var(--gut),env(safe-area-inset-right,0px)); }
.rn-top .brand-logo{ height:30px; }
.rn-nav{ display:none; align-items:center; gap:0 22px; margin-left:auto; font-size:15px; }
.rn-nav a{ display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-decoration:none; white-space:nowrap; }
.rn-nav a:hover, .rn-nav a[aria-current]{ text-decoration:underline; text-decoration-color:var(--pink); text-underline-offset:.35em; text-decoration-thickness:1.5px; }
.rn-right{ display:flex; align-items:center; gap:8px; margin-left:auto; }
.rn-pill{ display:none; align-items:center; min-height:40px; padding:0 16px; border-radius:999px; background:var(--ink);
  color:var(--paper) !important; font-weight:600; font-size:15px; text-decoration:none; }
.rn-pill:hover{ text-decoration:underline; text-underline-offset:.2em; }
.rn-burger{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:0; border-radius:10px;
  background:transparent; color:var(--ink); cursor:pointer; }
.rn-burger:hover{ background:rgba(17,87,76,.07); }
.rn-mnav{ border-top:1px solid var(--rule); background:var(--paper); padding:6px 0 10px; }
.rn-mnav a{ display:flex; align-items:center; min-height:48px; text-decoration:none; color:var(--ink); font-size:17px; font-weight:500;
  padding-left:max(var(--gut),env(safe-area-inset-left,0px)); padding-right:var(--gut); }
.rn-mnav a:hover{ background:rgba(17,87,76,.06); }
.rn-mnav a[aria-current]{ font-weight:700; box-shadow:inset 3px 0 0 var(--pink); background:rgba(224,85,143,.06); }
.rn-mnav a.rn-mnav-cta{ margin:8px max(var(--gut),env(safe-area-inset-left,0px)) 0; justify-content:center; border-radius:999px;
  background:var(--ink); color:var(--paper); font-weight:600; padding:0; }
@media (min-width:1024px){
  .rn-nav{ display:flex; }
  .rn-right{ margin-left:16px; }
  .rn-pill{ display:inline-flex; }
  .rn-burger, .rn-mnav{ display:none !important; }
}

/* ── Footer (rendered by app.js) ─────────────────────────────────────────── */
.rn-foot{ margin-top:0; border-top:1px solid var(--rule); background:var(--paper); }
.rn-foot-main{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; padding-top:48px; padding-bottom:40px; }
.rn-foot-main .brand-logo{ height:32px; }
.rn-foot h4{ margin:0 0 12px; font-size:14px; font-weight:600; color:var(--ink); }
.rn-foot ul{ list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.rn-foot li a{ display:inline-flex; align-items:center; min-height:36px; font-size:15px; color:var(--text); text-decoration:none; }
.rn-foot li a:hover{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--pink); text-underline-offset:.25em; }
.rn-foot-tag{ margin:12px 0 0; font-size:15px; line-height:1.5; color:var(--text); max-width:22em; }
.rn-foot-mail{ display:inline-block; margin-top:10px; font-size:15px; color:var(--ink); }
/* the company and its backers: ETH Start-up / UPortunity / SPH, next to the company name only
   (ETH recognition letter 2026-10-05: never on products, product descriptions, or merged into a logo) */
.rn-foot-backed{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 40px;
  border-top:1px solid var(--rule); padding-top:28px; padding-bottom:28px; }
.rn-foot-backed p{ margin:0; max-width:44rem; font-size:15px; line-height:1.55; color:var(--text); }
.rn-foot-backed p a{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--pink); text-underline-offset:.2em; }
.rn-logos{ display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; }
.rn-logos img{ width:auto; opacity:.9; }
/* the dotted space family strip, as on the dotted.space project sites */
.rn-family{ background:var(--ink); color:#BFD3CC; }
.rn-family-in{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 30px; padding-top:26px;
  padding-bottom:calc(26px + env(safe-area-inset-bottom,0px)); font-size:14.5px; }
.rn-family a{ color:#E4EEEA; }
.rn-family-in > span:first-child a{ text-decoration:underline; text-underline-offset:.22em; text-decoration-color:rgba(228,238,234,.5); }
.rn-family-in > span:first-child a:hover{ text-decoration-color:#E4EEEA; }
.rn-family a:focus-visible{ outline-color:var(--pink2); }
.rn-family .prods{ display:flex; flex-wrap:wrap; gap:4px 18px; }
.rn-family .prods a{ display:inline-flex; align-items:center; gap:7px; min-height:36px; text-decoration:none; }
.rn-family .prods a:hover{ text-decoration:underline; text-underline-offset:.25em; }
.rn-family .prods a i{ width:7px; height:7px; border-radius:50%; display:block; }
.rn-family .prods a[aria-current]{ color:#fff; font-weight:600; }
.rn-family .end{ margin-left:auto; }
@media (max-width:900px){
  .rn-foot-main{ grid-template-columns:1fr 1fr; gap:28px 20px; padding-top:40px; }
  .rn-foot-main > div:first-child{ grid-column:1 / -1; }
  .rn-family .end{ margin-left:0; }
}
@media (max-width:600px){
  .rn-family .prods{ display:grid; grid-template-columns:repeat(2,max-content); column-gap:28px; width:100%; }
  .rn-family .prods a{ min-height:44px; }
  .rn-logos img{ max-width:42vw; }
}

/* ── Small screens ───────────────────────────────────────────────────────── */
@media (max-width:880px){
  .bh-cards, .bh-two{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .bh-section, .rn-sec{ padding:56px 0; }
  .bh-hero{ padding:40px 16px 36px; }
  .bh-card{ padding:22px; }
  .bh-unify, .bh-cta{ padding:32px 20px; }
  .bh-ctarow .bh-btn{ flex:1 1 auto; justify-content:center; }
}
