:root {
  --color-bg: #FAF9F5;
  --color-bg-alt: #F1EFE7;
  --color-ink: #1D211C;
  --color-ink-soft: #52584F;
  --color-ink-faint: #83897D;
  --color-primary: #2F6F4E;
  --color-primary-dark: #204F38;
  --color-primary-light: #E7F0EA;
  --color-accent: #C4652B;
  --color-accent-light: #F7E9DD;
  --color-border: #DBD7CB;
  --color-border-strong: #1D211C;

  --font-heading: 'Plus Jakarta Sans', sans-serif;
  --font-body: 'Inter', sans-serif;

  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.85rem;
  --space-sm: 1.25rem;
  --space-md: 2rem;
  --space-lg: 3.25rem;
  --space-xl: 5rem;
  --space-2xl: 7.5rem;
  --space-3xl: 10rem;

  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --radius-xl: 40px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(29,33,28,0.07);
  --shadow-md: 0 10px 28px -12px rgba(29,33,28,0.18), 0 3px 8px -2px rgba(29,33,28,0.08);
  --shadow-lg: 0 30px 60px -20px rgba(29,33,28,0.22), 0 10px 24px -8px rgba(29,33,28,0.12);

  --ease: cubic-bezier(.4,0,.2,1);
}

* { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior:smooth; }

body {
  font-family: var(--font-body);
  color: var(--color-ink);
  background: var(--color-bg);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body.mod-no-scroll { overflow:hidden; }

h1,h2,h3,h4 {
  font-family: var(--font-heading);
  color: var(--color-ink);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-0.01em;
}

a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
ul { list-style:none; }
button { font-family:inherit; cursor:pointer; background:none; border:none; }
input, textarea, select { font-family:inherit; font-size:1rem; color:var(--color-ink); }

.mod-section-eyebrow {
  font-family: var(--font-heading);
  font-size:0.8rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color: var(--color-primary);
  margin-bottom: var(--space-2xs);
}

.mod-section-head { max-width:640px; margin:0 auto var(--space-lg); text-align:center; padding:0 var(--space-md); }
.mod-section-head h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.mod-section-head-alt { text-align:left; margin:0 0 var(--space-lg); max-width:none; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-2xs); padding:0 var(--space-md); }

.mod-link-arrow { font-weight:600; color:var(--color-primary); display:inline-flex; align-items:center; gap:0.5rem; margin-top:var(--space-2xs); transition: gap .3s var(--ease); }
.mod-link-arrow:hover { gap:0.85rem; }


.mod-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:0.6rem;
  padding: 0.95rem 1.9rem;
  border-radius: var(--radius-pill);
  font-family:var(--font-heading);
  font-weight:600; font-size:0.95rem;
  border:1.5px solid var(--color-ink);
  background:transparent;
  color:var(--color-ink);
  transition: all .35s var(--ease);
  min-height:44px;
  white-space:nowrap;
}
.mod-btn-primary { border-color:var(--color-primary); color:var(--color-primary); }
.mod-btn-primary:hover { background:var(--color-primary); color:#fff; box-shadow:var(--shadow-md); transform:translateY(-2px); }
.mod-btn-dark:hover { background:var(--color-ink); color:var(--color-bg); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.mod-btn-filled { background:var(--color-primary); border-color:var(--color-primary); color:#fff; }
.mod-btn-filled:hover { background:var(--color-primary-dark); border-color:var(--color-primary-dark); }
.mod-btn-outline { border-color:var(--color-border-strong); color:var(--color-ink); }
.mod-btn-outline:hover { background:var(--color-ink); color:var(--color-bg); }
.mod-btn-text { border-color:transparent; color:var(--color-ink-soft); padding:0.95rem 1rem; }
.mod-btn-text:hover { color:var(--color-accent); }


.mod-card {
  border:1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  background:transparent;
  padding: var(--space-md);
  transition: all .4s var(--ease);
}
.mod-card:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-md);
  transform: translateY(-6px);
}


.mod-reveal { opacity:0; transform:translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.mod-reveal.is-visible { opacity:1; transform:translateY(0); }


.mod-nav {
  position:relative;
  z-index:100;
  background: var(--color-bg);
  border-bottom:1px solid var(--color-border);
}
.mod-nav-inner {
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding: var(--space-sm) var(--space-md);
}
.mod-nav-logo { display:flex; align-items:center; gap:0.6rem; font-family:var(--font-heading); font-weight:800; font-size:1.15rem; }
.mod-nav-links { display:flex; gap:var(--space-md); }
.mod-nav-links a { font-weight:600; font-size:0.95rem; color:var(--color-ink-soft); position:relative; padding:0.3rem 0; transition:color .3s var(--ease); }
.mod-nav-links a::after { content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--color-primary); transition:width .3s var(--ease); }
.mod-nav-links a:hover, .mod-nav-links a.is-active { color:var(--color-ink); }
.mod-nav-links a:hover::after, .mod-nav-links a.is-active::after { width:100%; }
.mod-nav-actions { display:flex; align-items:center; gap:var(--space-sm); }
.mod-nav-search-btn {
  width:44px; height:44px; border-radius:var(--radius-pill); border:1.5px solid var(--color-border);
  display:flex; align-items:center; justify-content:center; transition: all .3s var(--ease);
}
.mod-nav-search-btn:hover { border-color:var(--color-primary); color:var(--color-primary); background:var(--color-primary-light); }

.mod-nav-burger { display:none; width:44px; height:44px; border-radius:var(--radius-pill); border:1.5px solid var(--color-border); position:relative; flex-direction:column; align-items:center; justify-content:center; gap:5px; z-index:210; }
.mod-nav-burger span { width:18px; height:2px; background:var(--color-ink); transition: all .35s var(--ease); display:block; }
.mod-nav-burger.is-active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.mod-nav-burger.is-active span:nth-child(2) { opacity:0; }
.mod-nav-burger.is-active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.mod-nav-search-overlay {
  position:absolute; top:100%; left:0; right:0;
  background:var(--color-bg);
  border-bottom:1px solid var(--color-border);
  max-height:0; overflow:hidden;
  transition: max-height .5s var(--ease);
}
.mod-nav-search-overlay.is-open { max-height:120px; }
.mod-nav-search-form { max-width:1280px; margin:0 auto; display:flex; align-items:center; gap:var(--space-sm); padding: var(--space-md); font-size:1.3rem; color:var(--color-ink-faint); }
.mod-nav-search-form input { flex:1; border:none; background:transparent; outline:none; font-size:1.3rem; color:var(--color-ink); font-family:var(--font-heading); }
.mod-nav-search-close { width:40px; height:40px; border-radius:50%; border:1.5px solid var(--color-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.mod-nav-search-close:hover { background:var(--color-ink); color:var(--color-bg); border-color:var(--color-ink); }


.mod-mobile-menu {
  position:fixed; inset:0; z-index:200;
  background: var(--color-ink);
  clip-path: circle(0px at var(--clip-x, 92%) var(--clip-y, 4%));
  transition: clip-path .65s cubic-bezier(.65,0,.35,1);
  visibility:hidden;
  display:flex; align-items:center; justify-content:center;
}
.mod-mobile-menu.is-visible { visibility:visible; }
.mod-mobile-menu.is-open { clip-path: circle(150% at var(--clip-x, 92%) var(--clip-y, 4%)); }
.mod-mobile-menu-links { display:flex; flex-direction:column; gap:var(--space-md); text-align:center; }
.mod-mobile-menu-links a {
  font-family:var(--font-heading); font-size:2rem; font-weight:700; color:var(--color-bg);
  opacity:0; transform:translateY(16px);
  transition: opacity .5s var(--ease), transform .5s var(--ease);
}
.mod-mobile-menu.is-open .mod-mobile-menu-links a { opacity:1; transform:translateY(0); }
.mod-mobile-menu.is-open .mod-mobile-menu-links a:nth-child(1) { transition-delay:.15s; }
.mod-mobile-menu.is-open .mod-mobile-menu-links a:nth-child(2) { transition-delay:.22s; }
.mod-mobile-menu.is-open .mod-mobile-menu-links a:nth-child(3) { transition-delay:.29s; }
.mod-mobile-menu.is-open .mod-mobile-menu-links a:nth-child(4) { transition-delay:.36s; }
.mod-mobile-menu.is-open .mod-mobile-menu-links a:nth-child(5) { transition-delay:.43s; }
.mod-mobile-menu-links a:hover { color:var(--color-accent-light); }


.mod-hero { padding: var(--space-xl) var(--space-md) var(--space-2xl); background: var(--color-bg); }
.mod-hero-inner {
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns: 1.1fr 0.9fr; gap:var(--space-xl);
  align-items:center;
  min-height:60vh;
}
.mod-hero-eyebrow { font-family:var(--font-heading); font-weight:700; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.16em; color:var(--color-accent); margin-bottom:var(--space-sm); }
.mod-hero-title { font-size: clamp(2.4rem, 5.5vw, 4.2rem); margin-bottom:var(--space-md); }
.mod-hero-text { font-size:1.15rem; color:var(--color-ink-soft); max-width:480px; margin-bottom:var(--space-lg); }
.mod-hero-actions { display:flex; gap:var(--space-sm); flex-wrap:wrap; }

.mod-hero-mosaic { position:relative; height:480px; }
.mod-hero-img { position:absolute; border-radius:var(--radius-lg); object-fit:cover; box-shadow:var(--shadow-lg); border:6px solid var(--color-bg); }
.mod-hero-img-1 { width:56%; aspect-ratio:3/4; top:0; left:8%; transform:rotate(-6deg); z-index:2; }
.mod-hero-img-2 { width:44%; aspect-ratio:1/1; top:8%; right:0; transform:rotate(5deg); z-index:1; }
.mod-hero-img-3 { width:42%; aspect-ratio:4/5; bottom:0; left:0; transform:rotate(4deg); z-index:3; }
.mod-hero-img-4 { width:40%; aspect-ratio:4/5; bottom:4%; right:6%; transform:rotate(-4deg); z-index:2; }


.mod-intro { padding: var(--space-2xl) var(--space-md); background: var(--color-primary-light); border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); }
.mod-intro-inner { max-width:1000px; margin:0 auto; display:grid; grid-template-columns:auto 1fr; gap:var(--space-xl); align-items:start; }
.mod-intro-mark { width:64px; height:64px; border-radius:var(--radius-md); border:1.5px solid var(--color-primary); display:flex; align-items:center; justify-content:center; font-size:1.6rem; color:var(--color-primary); flex-shrink:0; }
.mod-intro-content h2 { font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:var(--space-md); }
.mod-intro-content p { color:var(--color-ink-soft); max-width:640px; margin-bottom:var(--space-sm); font-size:1.05rem; }


.mod-sectors { padding: var(--space-2xl) var(--space-md); }
.mod-sectors-grid { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md); }
.mod-sector-card { text-align:left; }
.mod-sector-card i { font-size:1.7rem; color:var(--color-primary); margin-bottom:var(--space-sm); display:block; }
.mod-sector-card h3 { font-size:1.2rem; margin-bottom:var(--space-2xs); }
.mod-sector-card p { color:var(--color-ink-soft); font-size:0.95rem; }


.mod-episodes { padding: var(--space-2xl) var(--space-md); background: var(--color-bg-alt); }
.mod-episodes-grid { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-md); }
.mod-episode-card { border:1.5px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; background:var(--color-bg); transition: all .4s var(--ease); }
.mod-episode-card:hover { border-color:var(--color-primary); box-shadow:var(--shadow-md); transform:translateY(-6px); }
.mod-episode-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.mod-episode-card-body { padding: var(--space-sm); }
.mod-episode-tag { font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--color-accent); }
.mod-episode-card-body h3 { font-size:1.05rem; margin: var(--space-2xs) 0; }
.mod-episode-card-body p { font-size:0.9rem; color:var(--color-ink-soft); }


.mod-consultorias-teaser { padding: var(--space-2xl) var(--space-md); }
.mod-consultorias-teaser-inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:var(--space-xl); align-items:center; }
.mod-consultorias-teaser-text h2 { font-size:clamp(1.6rem,3vw,2.2rem); margin: var(--space-2xs) 0 var(--space-md); }
.mod-consultorias-teaser-text p { color:var(--color-ink-soft); margin-bottom:var(--space-md); max-width:520px; }
.mod-consultorias-teaser-image { border-radius:var(--radius-lg); overflow:hidden; border:1.5px solid var(--color-border); }
.mod-consultorias-teaser-image img { width:100%; aspect-ratio:4/3; object-fit:cover; }


.mod-faq { padding: var(--space-2xl) var(--space-md); background: var(--color-bg-alt); }
.mod-faq-list { max-width:800px; margin:0 auto; display:flex; flex-direction:column; gap:var(--space-sm); }
.mod-faq-item { border:1.5px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-bg); overflow:hidden; transition: border-color .3s var(--ease); }
.mod-faq-item:hover { border-color:var(--color-primary); }
.mod-faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; padding: var(--space-sm) var(--space-md); font-family:var(--font-heading); font-weight:700; font-size:1rem; text-align:left; }
.mod-faq-question i { transition: transform .35s var(--ease); color:var(--color-primary); }
.mod-faq-item.is-open .mod-faq-question i { transform:rotate(45deg); }
.mod-faq-answer { max-height:0; overflow:hidden; transition: max-height .45s var(--ease); }
.mod-faq-answer p { padding: 0 var(--space-md) var(--space-md); color:var(--color-ink-soft); }


.mod-footer { background: var(--color-ink); color:#EDEBE2; margin-top:auto; }
.mod-footer-quote { border-bottom:1px solid rgba(255,255,255,0.12); padding: var(--space-2xl) var(--space-md); }
.mod-footer-quote-inner { max-width:800px; margin:0 auto; text-align:center; }
.mod-footer-quote-inner i { font-size:1.6rem; color:var(--color-accent); margin-bottom:var(--space-sm); }
.mod-footer-quote-inner p { font-family:var(--font-heading); font-size: clamp(1.3rem, 2.6vw, 1.9rem); font-weight:600; line-height:1.4; margin-bottom:var(--space-sm); }
.mod-footer-quote-inner span { color:#B7B4A6; font-size:0.9rem; }
.mod-footer-main { max-width:1280px; margin:0 auto; padding: var(--space-xl) var(--space-md); display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:var(--space-lg); }
.mod-footer-brand { display:flex; flex-direction:column; gap:var(--space-2xs); }
.mod-footer-brand-name { font-family:var(--font-heading); font-weight:800; font-size:1.2rem; }
.mod-footer-tagline { color:#B7B4A6; font-size:0.9rem; max-width:260px; }
.mod-footer-col h3 { font-size:0.85rem; text-transform:uppercase; letter-spacing:0.1em; color:#B7B4A6; margin-bottom:var(--space-sm); }
.mod-footer-col a, .mod-footer-col p { display:block; color:#D7D4C8; font-size:0.92rem; margin-bottom:var(--space-2xs); transition: color .3s var(--ease); }
.mod-footer-col a:hover { color:var(--color-accent-light); }
.mod-footer-col i { margin-right:0.4rem; color:var(--color-accent); }
.mod-footer-recent { border-top:1px solid rgba(255,255,255,0.12); padding: var(--space-md); max-width:1280px; margin:0 auto; }
.mod-footer-recent h3 { font-size:0.8rem; text-transform:uppercase; letter-spacing:0.1em; color:#B7B4A6; margin-bottom:var(--space-2xs); }
.mod-footer-recent-list { display:flex; gap:var(--space-sm); flex-wrap:wrap; }
.mod-footer-recent-list a { font-size:0.85rem; color:#D7D4C8; border:1px solid rgba(255,255,255,0.2); border-radius:var(--radius-pill); padding:0.4rem 0.9rem; transition: all .3s var(--ease); }
.mod-footer-recent-list a:hover { border-color:var(--color-accent); color:var(--color-accent-light); }
.mod-footer-bottom { text-align:center; padding: var(--space-md); border-top:1px solid rgba(255,255,255,0.12); color:#8F8C7F; font-size:0.85rem; }


.mod-back-to-top {
  position:fixed; bottom:2rem; right:2rem; width:52px; height:52px; border-radius:50%;
  border:1.5px solid var(--color-ink); background:var(--color-bg); color:var(--color-ink);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition: all .4s var(--ease); z-index:90; box-shadow:var(--shadow-md);
}
.mod-back-to-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.mod-back-to-top:hover { background:var(--color-ink); color:var(--color-bg); }


.mod-page-header { max-width:800px; margin:0 auto; padding: var(--space-2xl) var(--space-md) var(--space-lg); text-align:center; }
.mod-page-header h1 { font-size:clamp(2rem,4.5vw,3rem); margin: var(--space-2xs) 0 var(--space-md); }
.mod-page-header-text { color:var(--color-ink-soft); font-size:1.1rem; }


.mod-about-story { padding: var(--space-xl) var(--space-md) var(--space-2xl); max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr 1.1fr; gap:var(--space-xl); align-items:center; }
.mod-about-story-image { border-radius:var(--radius-lg); overflow:hidden; border:1.5px solid var(--color-border); }
.mod-about-story-image img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.mod-about-story-text h2 { font-size:clamp(1.6rem,3vw,2.3rem); margin-bottom:var(--space-md); }
.mod-about-story-text p { color:var(--color-ink-soft); margin-bottom:var(--space-sm); }
.mod-pullquote { border-left:3px solid var(--color-accent); padding-left:var(--space-md); font-family:var(--font-heading); font-weight:600; font-size:1.15rem; color:var(--color-ink); margin-top:var(--space-md); }

.mod-values { padding: var(--space-2xl) var(--space-md); background:var(--color-bg-alt); }
.mod-values-grid { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-md); }
.mod-value-card i { font-size:1.6rem; color:var(--color-primary); margin-bottom:var(--space-sm); display:block; }
.mod-value-card h3 { font-size:1.05rem; margin-bottom:var(--space-2xs); }
.mod-value-card p { color:var(--color-ink-soft); font-size:0.92rem; }

.mod-process { padding: var(--space-2xl) var(--space-md); max-width:900px; margin:0 auto; }
.mod-process-list { display:flex; flex-direction:column; gap:var(--space-lg); }
.mod-process-list li { display:grid; grid-template-columns:70px 1fr; gap:var(--space-md); border-bottom:1px solid var(--color-border); padding-bottom:var(--space-lg); }
.mod-process-list li:last-child { border-bottom:none; }
.mod-process-num { font-family:var(--font-heading); font-size:1.8rem; font-weight:800; color:var(--color-primary); opacity:0.5; }
.mod-process-list h3 { font-size:1.15rem; margin-bottom:var(--space-2xs); }
.mod-process-list p { color:var(--color-ink-soft); }


.mod-consult-format { max-width:1280px; margin:0 auto; padding: var(--space-xl) var(--space-md) var(--space-2xl); display:grid; grid-template-columns:1fr 1.1fr; gap:var(--space-xl); align-items:center; }
.mod-consult-format-image { border-radius:var(--radius-lg); overflow:hidden; border:1.5px solid var(--color-border); }
.mod-consult-format-image img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.mod-consult-format-text h2 { font-size:clamp(1.5rem,2.8vw,2rem); margin-bottom:var(--space-md); }
.mod-consult-format-text p { color:var(--color-ink-soft); margin-bottom:var(--space-md); }
.mod-check-list li { display:flex; align-items:flex-start; gap:0.7rem; margin-bottom:var(--space-sm); color:var(--color-ink-soft); }
.mod-check-list i { color:var(--color-primary); margin-top:0.25rem; }

.mod-consult-audience { padding: var(--space-2xl) var(--space-md); background:var(--color-bg-alt); }
.mod-audience-grid { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-md); }
.mod-audience-card i { font-size:1.6rem; color:var(--color-primary); margin-bottom:var(--space-sm); display:block; }
.mod-audience-card h3 { font-size:1.05rem; margin-bottom:var(--space-2xs); }
.mod-audience-card p { color:var(--color-ink-soft); font-size:0.92rem; }

.mod-consult-note { padding: var(--space-lg) var(--space-md); }
.mod-consult-note-inner { max-width:800px; margin:0 auto; display:flex; gap:var(--space-sm); align-items:flex-start; border:1.5px solid var(--color-border); border-radius:var(--radius-md); padding:var(--space-md); }
.mod-consult-note-inner i { color:var(--color-accent); font-size:1.3rem; flex-shrink:0; margin-top:0.15rem; }
.mod-consult-note-inner p { color:var(--color-ink-soft); font-size:0.95rem; }

.mod-consult-cta { text-align:center; padding: var(--space-2xl) var(--space-md); }
.mod-consult-cta h2 { max-width:600px; margin:0 auto var(--space-md); font-size:clamp(1.4rem,2.6vw,2rem); }


.mod-sessions-image { max-width:1280px; margin:0 auto var(--space-2xl); padding:0 var(--space-md); }
.mod-sessions-image img { width:100%; max-height:420px; object-fit:cover; border-radius:var(--radius-lg); border:1.5px solid var(--color-border); }
.mod-sessions-list { max-width:900px; margin:0 auto; padding: 0 var(--space-md) var(--space-xl); display:flex; flex-direction:column; }
.mod-session-row { display:grid; grid-template-columns:180px 1fr 140px; gap:var(--space-md); align-items:center; padding: var(--space-md) 0; border-bottom:1px solid var(--color-border); }
.mod-session-row:first-child { border-top:1px solid var(--color-border); }
.mod-session-sector { display:flex; align-items:center; gap:0.6rem; font-weight:700; font-family:var(--font-heading); font-size:0.9rem; }
.mod-session-sector i { color:var(--color-primary); }
.mod-session-info h3 { font-size:1.05rem; margin-bottom:0.2rem; }
.mod-session-info p { color:var(--color-ink-soft); font-size:0.9rem; }
.mod-session-date { text-align:right; font-size:0.85rem; color:var(--color-accent); font-weight:600; }
.mod-sessions-note { max-width:900px; margin:0 auto; padding: 0 var(--space-md) var(--space-2xl); }


.mod-contact-grid { max-width:1280px; margin:0 auto; padding: 0 var(--space-md) var(--space-2xl); display:grid; grid-template-columns:1.1fr 0.9fr; gap:var(--space-xl); align-items:start; }
.mod-wizard { border:1.5px solid var(--color-border); border-radius:var(--radius-lg); padding: var(--space-lg); background:var(--color-bg); }
.mod-wizard-steps { display:flex; gap:var(--space-sm); margin-bottom:var(--space-lg); }
.mod-wizard-step { width:36px; height:36px; border-radius:50%; border:1.5px solid var(--color-border); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:var(--font-heading); color:var(--color-ink-faint); transition: all .3s var(--ease); }
.mod-wizard-step.is-active { border-color:var(--color-primary); color:var(--color-primary); background:var(--color-primary-light); }
.mod-wizard-form { position:relative; overflow:hidden; }
.mod-wizard-panel { display:none; animation: mod-fade-slide .4s var(--ease); }
.mod-wizard-panel.is-active { display:block; }
@keyframes mod-fade-slide { from { opacity:0; transform:translateX(24px);} to { opacity:1; transform:translateX(0);} }
.mod-wizard-panel h3 { font-size:1.3rem; margin-bottom:var(--space-md); }
.mod-form-field { margin-bottom:var(--space-md); }
.mod-form-field label { display:block; font-weight:600; font-size:0.9rem; margin-bottom:var(--space-2xs); color:var(--color-ink-soft); }
.mod-form-field input, .mod-form-field textarea, .mod-form-field select {
  width:100%; padding:0.85rem 1rem; border:1.5px solid var(--color-border); border-radius:var(--radius-sm);
  background:transparent; transition: border-color .3s var(--ease); min-height:44px;
}
.mod-form-field input:focus, .mod-form-field textarea:focus, .mod-form-field select:focus { outline:none; border-color:var(--color-primary); }
.mod-form-field-checkbox { display:flex; align-items:flex-start; gap:0.6rem; }
.mod-form-field-checkbox input { width:20px; height:20px; min-height:auto; flex-shrink:0; margin-top:0.2rem; }
.mod-form-field-checkbox label { font-size:0.88rem; font-weight:400; }
.mod-form-field-checkbox a { color:var(--color-primary); font-weight:600; }
.mod-wizard-actions { display:flex; justify-content:space-between; margin-top:var(--space-md); }

.mod-contact-side { display:flex; flex-direction:column; gap:var(--space-md); }
.mod-contact-office { border:1.5px solid var(--color-border); border-radius:var(--radius-lg); overflow:hidden; }
.mod-contact-office img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.mod-contact-office h3 { padding: var(--space-md) var(--space-md) 0; font-size:1.1rem; }
.mod-contact-office p { padding: var(--space-2xs) var(--space-md) var(--space-md); color:var(--color-ink-soft); font-size:0.92rem; }
.mod-contact-details { border:1.5px solid var(--color-border); border-radius:var(--radius-md); padding:var(--space-md); }
.mod-contact-details p { margin-bottom:var(--space-2xs); font-size:0.95rem; }
.mod-contact-details i { color:var(--color-primary); margin-right:0.5rem; }
.mod-contact-map { border:1.5px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; line-height:0; }


.mod-thanks { max-width:600px; margin:0 auto; padding: var(--space-3xl) var(--space-md); text-align:center; }
.mod-thanks i { font-size:3rem; color:var(--color-primary); margin-bottom:var(--space-md); }
.mod-thanks h1 { font-size:clamp(1.8rem,3.5vw,2.4rem); margin-bottom:var(--space-md); }
.mod-thanks p { color:var(--color-ink-soft); margin-bottom:var(--space-sm); }
.mod-thanks-countdown { font-weight:600; color:var(--color-ink); }
.mod-thanks .mod-btn { margin-top:var(--space-md); }


.mod-legal { padding: var(--space-2xl) var(--space-md); }
.mod-legal-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:260px 1fr; gap:var(--space-xl); align-items:start; }
.mod-legal-nav { position:sticky; top:var(--space-md); border-right:1.5px solid var(--color-border); padding-right:var(--space-md); }
.mod-legal-nav-updated { font-size:0.82rem; color:var(--color-ink-faint); margin-bottom:var(--space-md); }
.mod-legal-nav nav { display:flex; flex-direction:column; gap:var(--space-2xs); }
.mod-legal-nav a { font-size:0.9rem; color:var(--color-ink-soft); padding:0.35rem 0; transition: color .3s var(--ease); }
.mod-legal-nav a:hover { color:var(--color-primary); }
.mod-legal-content h1 { font-size:clamp(1.8rem,3.2vw,2.4rem); margin-bottom:var(--space-md); }
.mod-legal-content h2 { font-size:1.25rem; margin: var(--space-lg) 0 var(--space-sm); }
.mod-legal-content p { color:var(--color-ink-soft); margin-bottom:var(--space-sm); max-width:760px; }


.mod-cookie-overlay { position:fixed; inset:0; background:rgba(29,33,28,0.45); z-index:300; opacity:0; visibility:hidden; transition: all .4s var(--ease); }
.mod-cookie-overlay.is-open { opacity:1; visibility:visible; }
.mod-cookie-panel {
  position:fixed; top:0; right:0; height:100%; width:300px; max-width:90vw;
  background:var(--color-bg); border-left:1.5px solid var(--color-border);
  z-index:301; padding: var(--space-lg) var(--space-md);
  transform:translateX(100%); transition: transform .5s var(--ease);
  overflow-y:auto; display:flex; flex-direction:column;
}
.mod-cookie-panel.is-open { transform:translateX(0); }
.mod-cookie-panel-header { display:flex; align-items:center; gap:0.6rem; margin-bottom:var(--space-sm); }
.mod-cookie-panel-header i { font-size:1.4rem; color:var(--color-primary); }
.mod-cookie-panel-header h2 { font-size:1.2rem; }
.mod-cookie-panel-text { font-size:0.88rem; color:var(--color-ink-soft); margin-bottom:var(--space-md); }
.mod-cookie-category { border-top:1px solid var(--color-border); padding: var(--space-sm) 0; }
.mod-cookie-category-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:0.3rem; }
.mod-cookie-category-head span { font-weight:700; font-size:0.92rem; }
.mod-cookie-category p { font-size:0.82rem; color:var(--color-ink-faint); }
.mod-cookie-switch { position:relative; display:inline-block; width:40px; height:22px; flex-shrink:0; }
.mod-cookie-switch input { opacity:0; width:0; height:0; }
.mod-cookie-switch-slider { position:absolute; inset:0; background:var(--color-border); border-radius:var(--radius-pill); transition: background .3s var(--ease); cursor:pointer; }
.mod-cookie-switch-slider::before { content:""; position:absolute; width:16px; height:16px; left:3px; top:3px; background:#fff; border-radius:50%; transition: transform .3s var(--ease); }
.mod-cookie-switch input:checked + .mod-cookie-switch-slider { background:var(--color-primary); }
.mod-cookie-switch input:checked + .mod-cookie-switch-slider::before { transform:translateX(18px); }
.mod-cookie-switch input:disabled + .mod-cookie-switch-slider { opacity:0.6; cursor:not-allowed; }
.mod-cookie-panel-actions { display:flex; flex-direction:column; gap:var(--space-2xs); margin-top:var(--space-md); }
.mod-cookie-panel-actions .mod-btn { width:100%; }
.mod-cookie-panel-link { display:block; text-align:center; margin-top:var(--space-md); font-size:0.82rem; color:var(--color-primary); font-weight:600; }


@media (max-width: 1024px) {
  .mod-hero-inner { grid-template-columns:1fr; gap:var(--space-lg); min-height:auto; }
  .mod-hero-mosaic { height:360px; order:-1; }
  .mod-sectors-grid { grid-template-columns:repeat(2,1fr); }
  .mod-episodes-grid { grid-template-columns:repeat(2,1fr); }
  .mod-values-grid { grid-template-columns:repeat(2,1fr); }
  .mod-audience-grid { grid-template-columns:repeat(2,1fr); }
  .mod-consultorias-teaser-inner { grid-template-columns:1fr; }
  .mod-about-story { grid-template-columns:1fr; }
  .mod-consult-format { grid-template-columns:1fr; }
  .mod-contact-grid { grid-template-columns:1fr; }
  .mod-legal-inner { grid-template-columns:1fr; }
  .mod-legal-nav { position:static; border-right:none; border-bottom:1.5px solid var(--color-border); padding-right:0; padding-bottom:var(--space-md); margin-bottom:var(--space-md); }
  .mod-footer-main { grid-template-columns:1fr 1fr; }
}

@media (max-width: 768px) {
  .mod-nav-links { display:none; }
  .mod-nav-burger { display:flex; }
  .mod-session-row { grid-template-columns:1fr; text-align:left; gap:var(--space-2xs); }
  .mod-session-date { text-align:left; }
  .mod-footer-main { grid-template-columns:1fr; }
  .mod-intro-inner { grid-template-columns:1fr; }
  .mod-process-list li { grid-template-columns:1fr; gap:var(--space-2xs); }
  .mod-hero-actions { flex-direction:column; align-items:stretch; }
  .mod-hero-actions .mod-btn { width:100%; }
}

@media (max-width: 600px) {
  .mod-sectors-grid, .mod-episodes-grid, .mod-values-grid, .mod-audience-grid { grid-template-columns:1fr; }
  .mod-hero-mosaic { height:300px; }
  .mod-cookie-panel { width:100%; }
}