@charset "utf-8";
/* ============================================================
   nodo — site institucional
   Fontes: Google Fonts (CDN) — carregadas via <link> no <head>.
   ============================================================ */

/* ===== tokens/colors.css ===== */
/* ============================================================
   NODO — COLOR TOKENS
   Warm, earthen, relational palette. No blues, no corporate grays.
   Base values (raw) + semantic aliases (what to actually use).
   ============================================================ */

:root {
  /* ---- Base: neutrals, warm paper → warm ink ---- */
  --color-paper:        #FBF7EF; /* lightest page background, warm cream */
  --color-sand-50:      #F4EDE0;
  --color-sand-100:     #EADDC7;
  --color-sand-200:     #DCC8A4;
  --color-stone-300:    #C3AC85;
  --color-stone-400:    #A08A69;
  --color-umber-500:    #7A6650;
  --color-umber-600:    #5C4C3C;
  --color-ink-700:      #3E342A;
  --color-ink-800:      #2A2320;
  --color-ink-900:      #1E1915; /* near-black, warm not cold */

  /* ---- Base: primary accent — terracotta (warmth, care, human) ---- */
  --color-terracotta-100: #F3D9C7;
  --color-terracotta-300: #E2A47E;
  --color-terracotta-500: #C1663E; /* primary brand accent */
  --color-terracotta-600: #A6532F;
  --color-terracotta-700: #874026;

  /* ---- Base: secondary accent — olive/sage (growth, relational health) ---- */
  --color-olive-100:    #E3E2C9;
  --color-olive-300:    #B7B584;
  --color-olive-500:    #78794F; /* secondary brand accent */
  --color-olive-600:    #5F6140;
  --color-olive-700:    #484A31;

  /* ---- Base: tertiary accent — muted clay-rose (used sparingly, warmth in illustration/tags) ---- */
  --color-clay-100:     #EBD6D2;
  --color-clay-400:     #B98077;
  --color-clay-600:     #8C5951;

  /* ---- Base: semantic feedback colors, desaturated to stay in-family ---- */
  --color-success-500:  #6E8B54;
  --color-warning-500:  #C08A32;
  --color-danger-500:   #B0523B;

  /* ==========================================================
     Semantic aliases — use these in components/screens
     ========================================================== */

  /* Surfaces */
  --bg-page:            var(--color-paper);
  --bg-surface:         #FFFFFF;
  --bg-surface-sunken:  var(--color-sand-50);
  --bg-surface-raised:  #FFFFFF;
  --bg-inverse:         var(--color-ink-900);
  --bg-accent-soft:     var(--color-terracotta-100);
  --bg-accent-soft-alt: var(--color-olive-100);

  /* Text */
  --text-primary:       var(--color-ink-800);
  --text-secondary:     var(--color-umber-500);
  --text-tertiary:      var(--color-stone-400);
  --text-on-accent:     #FFFFFF;
  --text-on-inverse:    var(--color-sand-50);
  --text-link:          var(--color-terracotta-600);
  --text-link-hover:    var(--color-terracotta-700);

  /* Borders */
  --border-subtle:      var(--color-sand-200);
  --border-default:     var(--color-stone-300);
  --border-strong:      var(--color-umber-500);
  --border-focus:       var(--color-terracotta-500);

  /* Accents / actions */
  --accent-primary:         var(--color-terracotta-500);
  --accent-primary-hover:   var(--color-terracotta-600);
  --accent-primary-active:  var(--color-terracotta-700);
  --accent-secondary:       var(--color-olive-500);
  --accent-secondary-hover: var(--color-olive-600);

  /* Feedback */
  --feedback-success:   var(--color-success-500);
  --feedback-warning:   var(--color-warning-500);
  --feedback-danger:    var(--color-danger-500);

  /* Focus ring */
  --focus-ring:         color-mix(in oklch, var(--color-terracotta-500) 45%, transparent);
}


/* ===== tokens/typography.css ===== */
/* ============================================================
   NODO — TYPOGRAPHY TOKENS
   Pairing: Newsreader (serif, display + editorial voice) and
   Karla (humanist sans, rounded terminals — body/UI warmth).
   Sophisticated, not obvious; avoids Inter/Roboto/Fraunces.
   ============================================================ */

:root {
  --font-display: "Newsreader", Georgia, "Iowan Old Style", serif;
  --font-body:    "Karla", "Segoe UI", system-ui, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;

  /* Type scale — major third-ish, generous at the top for editorial display */
  --text-display-xl:  4.5rem;
  --text-display-lg:  3rem;
  --text-display-md:  2rem;
  --text-display-sm:  1.5rem;

  --text-body-lg:     1.25rem;
  --text-body-md:     1rem;
  --text-body-sm:     0.875rem;
  --text-caption:     0.75rem;

  --leading-tight:    1.1;
  --leading-snug:     1.3;
  --leading-normal:   1.5;
  --leading-relaxed:  1.7;

  --tracking-tight:   -0.01em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-wider:   0.12em; /* small caps / eyebrow labels */

  --weight-regular:   400;
  --weight-medium:    500;
  --weight-semibold:  600;
}


/* ===== tokens/spacing.css ===== */
/* ============================================================
   NODO — SPACING, RADIUS, SHADOW, MOTION TOKENS
   ============================================================ */

:root {
  /* Spacing scale (4px base) */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* Radius — generous and rounded (organic/relational), never sharp */
  --radius-sm:   8px;
  --radius-md:   14px;
  --radius-lg:   20px;
  --radius-xl:   28px;
  --radius-pill: 999px;

  /* Shadows — soft, warm-tinted (never pure black), low elevation */
  --shadow-xs:  0 1px 2px color-mix(in oklch, var(--color-ink-900) 6%, transparent);
  --shadow-sm:  0 2px 8px color-mix(in oklch, var(--color-umber-500) 14%, transparent);
  --shadow-md:  0 8px 24px color-mix(in oklch, var(--color-umber-500) 16%, transparent);
  --shadow-lg:  0 16px 48px color-mix(in oklch, var(--color-umber-500) 20%, transparent);
  --shadow-inset: inset 0 1px 2px color-mix(in oklch, var(--color-ink-900) 8%, transparent);

  /* Motion — calm, no bounce; serene authority, not snappy/playful */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --duration-fast: 120ms; /* @kind other */
  --duration-base: 200ms; /* @kind other */
  --duration-slow: 360ms; /* @kind other */
}


/* ===== tokens/base.css ===== */
/* ============================================================
   NODO — BASE RESET / GLOBAL ELEMENT STYLES
   ============================================================ */

* { box-sizing: border-box; }

body {
  background: var(--bg-page);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: var(--text-body-md);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .font-display {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
}

a {
  color: var(--text-link);
  text-decoration: none;
}
a:hover {
  color: var(--text-link-hover);
  text-decoration: underline;
}


/* ===== site ===== */

*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-size:17px;line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--text-link-hover)}

/* ---------- layout ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 40px}
.wrap-narrow{max-width:840px;margin:0 auto;padding:0 40px}
section{padding:112px 0}
section.tight{padding:80px 0}
.sunken{background:var(--bg-surface-sunken)}
.paper{background:var(--color-paper)}
.inverse{background:var(--color-ink-900);color:var(--text-on-inverse)}
.inverse h2,.inverse h3,.inverse .lead{color:var(--color-sand-50)}
.accent{background:var(--accent-primary);color:#fff}
.accent h2{color:#fff}

/* ---------- type ---------- */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-primary);margin:0 0 20px}
.inverse .eyebrow{color:var(--color-terracotta-300)}
.accent .eyebrow{color:rgba(255,255,255,.72)}
h1{font-family:var(--font-display);font-weight:500;font-size:clamp(42px,5.4vw,72px);line-height:1.08;letter-spacing:-.02em;margin:0 0 28px}
h2{font-family:var(--font-display);font-weight:500;font-size:clamp(32px,3.6vw,46px);line-height:1.15;letter-spacing:-.015em;margin:0 0 24px;text-wrap:pretty}
h3{font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.3;margin:0 0 10px}
p{margin:0 0 20px;text-wrap:pretty}
.lead{font-size:21px;line-height:1.65;color:var(--text-secondary);max-width:66ch}
.small{font-size:15px;color:var(--text-secondary)}
em{font-style:italic}
.mark{color:var(--accent-primary);font-style:italic}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-paper) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}
.nav .inner{max-width:1180px;margin:0 auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.nav img{height:30px}
.nav ul{list-style:none;display:flex;gap:30px;margin:0;padding:0;font-size:14.5px}
.nav ul a{color:var(--text-secondary)}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--accent-primary)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:16px;font-weight:600;padding:15px 30px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:.16s}
.btn-primary{background:var(--accent-primary);color:#fff}
.btn-primary:hover{background:var(--accent-primary-hover);color:#fff}
.btn-ghost{border-color:var(--border-default);color:var(--text-primary)}
.btn-ghost:hover{border-color:var(--accent-primary);color:var(--accent-primary)}
.btn-light{background:var(--color-paper);color:var(--color-terracotta-600)}
.btn-light:hover{background:#fff;color:var(--color-terracotta-700)}
.btns{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- grids & cards ---------- */
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg,20px);padding:36px 34px}
.card .num{font-family:var(--font-display);font-size:15px;color:var(--accent-primary);letter-spacing:.06em;margin-bottom:16px}
.card p{margin:0;font-size:15.5px;color:var(--text-secondary);line-height:1.7}
.inverse .card{background:rgba(255,255,255,.05);border-color:rgba(244,237,224,.16)}
.inverse .card p{color:var(--color-sand-100)}
.card-soft{background:var(--color-paper);border-color:var(--border-subtle)}

/* ---------- pills ---------- */
.pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.pills li{font-size:14px;padding:9px 18px;border-radius:999px;background:var(--color-paper);border:1px solid var(--border-subtle);color:var(--color-ink-700)}
.sunken .pills li{background:#fff}
.inverse .pills li{background:rgba(255,255,255,.06);border-color:rgba(244,237,224,.2);color:var(--color-sand-100)}

/* ---------- rules / lists ---------- */
.ruled{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-subtle)}
.ruled li{border-bottom:1px solid var(--border-subtle);padding:22px 0;display:flex;gap:26px;align-items:baseline}
.ruled .k{font-family:var(--font-display);font-size:14px;color:var(--accent-primary);min-width:34px;letter-spacing:.06em}
.ruled .t{font-family:var(--font-display);font-size:19px;min-width:230px}
.ruled .d{font-size:15.5px;color:var(--text-secondary);flex:1}
.inverse .ruled,.inverse .ruled li{border-color:rgba(244,237,224,.16)}
.inverse .ruled .d{color:var(--color-sand-100)}

/* ---------- pull quote ---------- */
.pull{font-family:var(--font-display);font-size:clamp(26px,3vw,38px);line-height:1.35;font-style:italic;max-width:22ch}
.equation{font-family:var(--font-display);font-size:clamp(24px,2.7vw,34px);line-height:1.45;max-width:26ch;margin:0}
.equation b{font-style:normal;font-weight:500;color:var(--accent-primary)}

/* ---------- process ---------- */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:2px solid var(--border-subtle)}
.flow div{padding:26px 22px 30px 0;border-right:1px solid var(--border-subtle)}
.flow div:last-child{border-right:0}
.flow .step{font-size:12px;letter-spacing:.16em;color:var(--accent-primary);font-weight:700;margin-bottom:12px}
.flow h4{font-family:var(--font-display);font-size:20px;font-weight:500;margin:0 0 8px}
.flow p{font-size:14.5px;color:var(--text-secondary);margin:0}

/* ---------- collection blocks ---------- */
.coll{border-left:3px solid var(--accent-primary);padding-left:26px}
.coll.o{border-color:var(--accent-secondary)}
.coll.c{border-color:var(--color-clay-400)}
.coll.u{border-color:var(--color-umber-500)}
.coll .cnum{font-size:12px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:10px}
.coll ul{list-style:none;margin:14px 0 0;padding:0;font-size:15px;color:var(--text-secondary);line-height:2}

/* ---------- glass ---------- */
.glass{background:color-mix(in srgb,#fff 46%,transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,255,255,.7);box-shadow:0 8px 32px rgba(42,35,32,.09);border-radius:20px;padding:30px 28px}
.glass .cnum{font-size:11.5px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;color:var(--accent-primary);margin-bottom:10px}
.glass h3{font-size:19px;margin-bottom:10px}
.glass p{font-size:14.5px;color:var(--text-secondary);margin:0}
.glass ul{list-style:none;margin:16px 0 0;padding:0;font-size:14.5px;color:var(--color-ink-700);line-height:1.95}
.glass ul li{padding-left:16px;position:relative}
.glass ul li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--color-terracotta-300)}
.glass ul.veiled{filter:blur(5px);opacity:.5;user-select:none;pointer-events:none}
.glass ul.veiled li{list-style:none;padding-left:16px;height:1.95em;display:flex;align-items:center}
.glass ul.veiled li::after{content:"";display:block;height:.62em;border-radius:999px;background:var(--color-ink-700);opacity:.42;width:var(--w,80%)}
.glass-field{background:linear-gradient(135deg,var(--color-sand-100),var(--color-paper) 45%,var(--color-olive-100));padding:56px 44px;border-radius:28px}
.btn-outline{border-color:var(--accent-primary);color:var(--accent-primary);background:transparent}
.btn-outline:hover{background:var(--accent-primary);color:#fff}
.icoline{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--accent-primary)}
.icoline svg{width:26px;height:26px;stroke-width:1.4;flex:none}
.icoline span{font-family:var(--font-display);font-size:19px;color:var(--text-primary)}
.portrait{width:132px;height:132px;border-radius:50%;object-fit:cover;border:3px solid var(--color-sand-200);margin-bottom:22px}

/* ---------- footer ---------- */
footer{background:var(--color-ink-900);color:var(--color-sand-100);padding:76px 0 44px;font-size:15px}
footer img{height:34px;margin-bottom:16px}
footer a{color:var(--color-sand-100)}
footer a:hover{color:var(--color-terracotta-300)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:56px;padding-bottom:44px;border-bottom:1px solid rgba(244,237,224,.16)}
footer .ftitle{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-stone-300);margin-bottom:14px}
footer .cols div p{color:var(--color-sand-200);line-height:1.7;margin:0}
footer .cols ul{list-style:none;margin:0;padding:0;line-height:2.1}
footer .base{padding-top:26px;display:flex;justify-content:space-between;gap:20px;font-size:13.5px;color:var(--color-stone-400)}

@media(max-width:980px){
  .g3,.g4,.g2{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr}
  .flow div{border-right:0;border-bottom:1px solid var(--border-subtle);padding-right:0}
  .ruled li{flex-direction:column;gap:8px}
  .ruled .t{min-width:0}
  .nav ul{display:none}
  footer .cols{grid-template-columns:1fr}
  section{padding:76px 0}
}


/* ---------- Clube Nodo ---------- */
.clube{background:var(--color-ink-900);color:var(--color-sand-100);text-align:center;scroll-margin-top:78px;position:relative;overflow:hidden}
.clube::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:1100px;height:1100px;border-radius:50%;background:radial-gradient(circle,rgba(193,102,62,.20),rgba(193,102,62,.05) 42%,transparent 66%);pointer-events:none}
.clube .wrap-narrow{position:relative;z-index:1}
.clube .eyebrow{color:var(--color-terracotta-300)}
.clube-title{font-family:"Courier Prime","Courier New",monospace;font-weight:700;font-size:clamp(38px,5vw,60px);letter-spacing:-.01em;color:var(--color-sand-50);margin:0 0 30px}
.clube-lead{font-size:18px;line-height:1.7;color:var(--color-sand-100);margin:0 0 18px}
.clube-em{font-family:var(--font-display);font-style:italic;font-size:clamp(20px,2.2vw,25px);line-height:1.5;color:var(--color-terracotta-300);margin:34px 0 44px}
.clube-cta{display:flex;flex-direction:column;align-items:center;gap:22px}
.clube-survey{font-size:15px;color:var(--color-terracotta-300);text-decoration:underline;text-underline-offset:5px}
.clube-survey:hover{color:var(--color-terracotta-100)}
.clube-form{display:grid;gap:20px;text-align:left;max-width:520px;margin:0 auto;background:rgba(255,255,255,.05);border:1px solid rgba(244,237,224,.16);border-radius:var(--radius-lg,20px);padding:34px 32px}
.clube-form[hidden]{display:none}
.clube-lab{display:block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--color-sand-200);margin:0;padding:0}
.clube-form input[type=text],.clube-form input[type=tel],.clube-form input[type=email],.clube-lab input{width:100%;margin-top:8px;padding:13px 16px;border:1px solid var(--border-subtle);border-radius:12px;font-family:var(--font-body);font-size:16px;background:var(--color-paper);color:var(--text-primary)}
.clube-lab input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(193,102,62,.3)}
.clube-canal{border:0;margin:0;padding:0}
.canal-opts{display:flex;gap:12px;margin-top:8px}
.canal-opts input{position:absolute;opacity:0;pointer-events:none}
.canal-opts label{flex:1;text-align:center;padding:13px 16px;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;border:1px solid rgba(244,237,224,.24);color:var(--color-sand-100);transition:.16s}
.canal-opts label:hover{border-color:var(--color-terracotta-300)}
.canal-opts input:checked + label{background:var(--accent-primary);border-color:var(--color-terracotta-300);color:#fff}
.canal-opts input:focus-visible + label{box-shadow:0 0 0 3px rgba(193,102,62,.4)}
.clube-form .btn{justify-self:start}
@media(max-width:980px){.clube-form{padding:28px 24px}}


/* ---------- Bem-estar em comunidade ---------- */
.bec-hero{background:var(--color-ink-900);color:var(--color-sand-100);scroll-margin-top:78px;position:relative;overflow:hidden}
.bec-hero::before{content:"";position:absolute;left:-180px;top:-220px;width:980px;height:980px;border-radius:50%;background:radial-gradient(circle,rgba(120,121,79,.34),rgba(120,121,79,.08) 44%,transparent 68%);pointer-events:none}
.bec-hero::after{content:"";position:absolute;right:-220px;bottom:-320px;width:820px;height:820px;border-radius:50%;background:radial-gradient(circle,rgba(193,102,62,.20),transparent 66%);pointer-events:none}
.bec-hero .wrap{position:relative;z-index:1}
.bec-hero .eyebrow{color:var(--color-olive-300)}
.bec-h1{font-family:var(--font-display);font-weight:500;font-size:clamp(38px,5.2vw,66px);line-height:1.06;letter-spacing:-.02em;color:var(--color-sand-50);margin:0 0 26px;max-width:20ch}
.bec-slogan{font-size:20px;line-height:1.65;color:var(--color-sand-100);max-width:60ch;margin:0 0 34px}
.bec-question{font-family:var(--font-display);font-style:italic;font-size:clamp(22px,2.5vw,30px);line-height:1.42;color:var(--color-olive-300);max-width:36ch;margin:0;padding-left:26px;border-left:2px solid var(--color-olive-500)}

.bec-sub{font-family:var(--font-display);font-size:23px;font-weight:500;line-height:1.28;color:var(--text-primary);margin:0 0 16px}
.bec-turn{font-size:17px;line-height:1.7;margin:26px 0 0;padding-top:24px;border-top:1px solid var(--border-subtle)}
.bec-turn em{font-size:19px;line-height:1.5;display:inline-block;margin-top:8px}

.bec-card{border-top:4px solid var(--accent-primary);display:flex;flex-direction:column}
.bec-card.o{border-top-color:var(--accent-secondary)}
.bec-card.c{border-top-color:var(--color-clay-400)}
.bec-pub{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:18px}
.bec-card.o .bec-pub{color:var(--color-olive-600)}
.bec-card.c .bec-pub{color:var(--color-clay-600)}
.bec-card h3{font-size:21px;margin-bottom:14px;min-height:2.6em}
.bec-note{font-family:var(--font-display);font-style:italic;font-size:clamp(19px,2vw,24px);line-height:1.5;color:var(--text-primary);max-width:58ch;margin:52px 0 0;padding-left:26px;border-left:2px solid var(--accent-primary)}

.bec-jornada{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:56px 0 0;padding:0;counter-reset:bec}
.bec-jornada li{position:relative;padding:0 34px 0 0;border-right:1px solid var(--border-subtle)}
.bec-jornada li:last-child{border-right:0;padding-right:0}
.bec-jornada li+li{padding-left:34px}
.bec-marker{width:52px;height:52px;border-radius:50%;background:var(--color-paper);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--accent-primary);margin-bottom:22px}
.bec-jornada li:nth-child(2) .bec-marker{color:var(--accent-secondary)}
.bec-jornada li:nth-child(3) .bec-marker{color:var(--color-clay-600)}
.bec-marker svg{width:24px;height:24px}
.bec-when{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:12px}
.bec-jornada h4{font-family:var(--font-display);font-weight:500;font-size:21px;line-height:1.26;margin:0 0 14px;color:var(--text-primary)}
.bec-jornada p{font-size:15.5px;line-height:1.7;color:var(--text-secondary);margin:0}
.bec-jornada b{font-weight:600;color:var(--text-primary)}

.bec-check{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--border-subtle)}
.bec-check li{position:relative;padding:16px 0 16px 38px;border-bottom:1px solid var(--border-subtle);font-size:16.5px;line-height:1.55;color:var(--text-primary)}
.bec-check li::before{content:"";position:absolute;left:4px;top:1.42em;width:13px;height:7px;border-left:2px solid var(--accent-primary);border-bottom:2px solid var(--accent-primary);transform:rotate(-45deg)}

.bec-rigor{background:var(--bg-accent-soft-alt);border-radius:var(--radius-xl,28px);padding:48px 44px}
.bec-rigor p{font-size:16px;line-height:1.7;color:var(--color-olive-700)}
.bec-rigor .eyebrow{color:var(--color-olive-600)}
.bec-rigor .small{color:var(--color-olive-600)}
.bec-limite{font-family:var(--font-display);font-size:19px;line-height:1.5;color:var(--color-olive-700);padding-left:22px;border-left:3px solid var(--accent-secondary);margin:24px 0}

.bec-conversa{background:var(--color-ink-900);color:var(--color-sand-100);text-align:center;position:relative;overflow:hidden;scroll-margin-top:78px}
.bec-conversa::before{content:"";position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:1150px;height:1150px;border-radius:50%;background:radial-gradient(circle,rgba(120,121,79,.26),rgba(120,121,79,.06) 42%,transparent 66%);pointer-events:none}
.bec-conversa .wrap-narrow{position:relative;z-index:1}
.bec-conversa .eyebrow{color:var(--color-olive-300)}
.bec-h2{font-family:var(--font-display);font-weight:500;font-size:clamp(30px,3.6vw,46px);line-height:1.14;letter-spacing:-.015em;color:var(--color-sand-50);margin:0 0 22px;max-width:26ch;margin-inline:auto}
.bec-em{font-family:var(--font-display);font-style:italic;font-size:clamp(20px,2.2vw,26px);line-height:1.45;color:var(--color-olive-300);margin:0 0 30px}
.bec-body{font-size:17.5px;line-height:1.7;color:var(--color-sand-100);max-width:58ch;margin:0 auto 44px}
.bec-cta{display:flex;flex-direction:column;align-items:center;gap:16px}
.bec-mini{font-size:14px;color:var(--color-stone-300);margin:0}

.bec-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left;max-width:620px;margin:0 auto;background:rgba(255,255,255,.05);border:1px solid rgba(244,237,224,.16);border-radius:var(--radius-lg,20px);padding:34px 32px}
.bec-form[hidden]{display:none}
.bec-full{grid-column:1/-1}
.bec-lab{display:block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--color-sand-200);margin:0;padding:0}
.bec-form input[type=text],.bec-form input[type=tel],.bec-form input[type=email],.bec-lab input,.bec-lab textarea{width:100%;margin-top:8px;padding:13px 16px;border:1px solid var(--border-subtle);border-radius:12px;font-family:var(--font-body);font-size:16px;background:var(--color-paper);color:var(--text-primary)}
.bec-lab textarea{resize:vertical;line-height:1.6}
.bec-lab input:focus,.bec-lab textarea:focus{outline:none;border-color:var(--accent-secondary);box-shadow:0 0 0 3px rgba(120,121,79,.35)}
.bec-fs{border:0;margin:0;padding:0;grid-column:1/-1}
.bec-opts{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}
.bec-opts input{position:absolute;opacity:0;pointer-events:none}
.bec-opts label{flex:1;min-width:130px;text-align:center;padding:13px 16px;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;border:1px solid rgba(244,237,224,.24);color:var(--color-sand-100);transition:.16s}
.bec-opts label:hover{border-color:var(--color-olive-300)}
.bec-opts input:checked + label{background:var(--accent-secondary);border-color:var(--color-olive-300);color:#fff}
.bec-opts input:focus-visible + label{box-shadow:0 0 0 3px rgba(120,121,79,.45)}
.bec-form .btn{justify-self:start}

@media(max-width:980px){
  .bec-jornada{grid-template-columns:1fr}
  .bec-jornada li,.bec-jornada li+li{border-right:0;border-bottom:1px solid var(--border-subtle);padding:0 0 32px;margin-bottom:32px}
  .bec-jornada li:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
  .bec-card h3{min-height:0}
  .bec-form{grid-template-columns:1fr;padding:28px 24px}
  .bec-rigor{padding:36px 28px}
}
