:root{
  --bg:           #F4F1DE;
  --bg-soft:      #FAF7E5;
  --bg-card:      #FFFFFF;
  --olive:        #5B6D3A;
  --olive-dark:   #3D4A26;
  --olive-deep:   #2A3318;
  --olive-dark2:  #21291B;
  --olive-light2: #5f6c40;
  --olive-mute:   #8B9858;
  --olive-light:  #C6CB9A;
  --olive-glow:   #DDE2B8;
  --ink:          #1F2814;
  --ink-soft:     #555F44;
  --line:         #D9D3B2;
  --line-soft:    #E8E3C6;
  --red:          #C13B32;
  --red-dark:     #9B2C22;
  --footer:       #181E0E;
  --white:        #FFFFFF;

  --shadow-sm:    0 1px 2px rgba(31,40,20,.05);
  --shadow-card:  0 2px 8px rgba(31,40,20,.06), 0 12px 32px rgba(31,40,20,.06);
  --shadow-hover: 0 6px 18px rgba(31,40,20,.10), 0 24px 56px rgba(31,40,20,.10);

  --r-sm:  8px;
  --r:     16px;
  --r-lg:  24px;
  --r-xl:  32px;

  --max:   1200px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--red)}
button{font-family:inherit;cursor:pointer}

h1,h2,h3,h4,h5{
  font-family:'Montserrat',sans-serif;
  letter-spacing:-0.025em;
  line-height:1.1;
  color:var(--ink);
}

.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 32px;
  position:relative;
  z-index:2;
}

.eyebrow{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--olive);
  margin-bottom:16px;
}

.section-head{margin-bottom:60px}
.section-head.center{text-align:center}
.section-head h2{
  font-size:clamp(34px,4.2vw,56px);
  font-weight:800;
  margin-bottom:16px;
}
.section-head h2 em{
  font-style:normal;
  font-weight:300;
  color:var(--olive);
}
.section-head p{
  font-size:16px;
  color:var(--ink-soft);
  max-width:620px;
  font-weight:400;
}
.section-head.center p{margin-left:auto;margin-right:auto}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;
  border-radius:999px;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  border:none;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  white-space:nowrap;
}
.btn-primary{
  background:var(--red);
  color:#fff;
  box-shadow:0 6px 18px rgba(193,59,50,.28);
}
.btn-primary:hover{
  background:var(--red-dark);
  transform:translateY(-2px);
  color:#fff;
}
.btn-outline{
  background:transparent;
  color:var(--olive-dark);
  border:2px solid var(--olive-dark);
}
.btn-outline:hover{
  background:var(--olive-dark);
  color:#fff;
  transform:translateY(-2px);
}

.btn-outline.btn-slide:hover{
  background:transparent;
  color:var(--olive-dark);
  border-color:var(--olive-mute);
  transform:translateX(4px);
  box-shadow:var(--shadow-card);
}

.btn-ghost{
  background:rgba(255,255,255,.85);
  color:var(--ink);
  border:1.5px solid #8598B6;
}
.btn-ghost:hover{
  background:#fff;
  border-color:#59626E;
  transform:translateY(-2px);
}

.site-header{
  position:fixed;top:0;left:0;right:0;
  z-index:100;
  padding:10px 0;
  background:transparent;
  transition:padding .35s ease, background .35s ease, backdrop-filter .35s ease, box-shadow .35s ease;
}
.site-header.shrink{
  padding:12px 0;
  background:rgba(255,255,255,0.82);
  backdrop-filter:blur(18px) saturate(180%);
  -webkit-backdrop-filter:blur(18px) saturate(180%);
  box-shadow:0 1px 0 var(--line-soft), 0 6px 20px rgba(31,40,20,.06);
}

.nav{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;min-height:120px;padding:0 32px;max-width:var(--max);margin:0 auto}
.nav-center{display:flex;align-items:center;width:100%;min-width:0}
.brand{justify-self:start}
.brand img{height:auto;max-height:120px;width:auto;max-width:520px;display:block;object-fit:contain}
.nav-right{display:flex;align-items:center;gap:20px;flex-shrink:0;margin-left:24px}

.brand{
  font-family:'Montserrat',sans-serif;
  letter-spacing:-0.01em;
  color:var(--olive-dark);
  display:flex;align-items:center;
}
.brand .lt{
  font-weight:800;
  font-size:22px;
  color:var(--ink);
}
.brand .gt{
  font-weight:600;
  font-size:22px;
  color:var(--olive);
  margin-left:4px;
}

.nav-links{display:flex;gap:34px;list-style:none;flex:1;justify-content:center;flex-wrap:nowrap;white-space:nowrap;min-width:0}
.nav-links a{
  font-size:13px;
  font-weight:600;
  letter-spacing:0.02em;
  color:#59626E;
  position:relative;
  transition:color .25s ease;
}
.nav-links a:hover{color:var(--red)}
.nav-links-cta{display:none}

.menu-toggle{display:none;background:none;border:none;padding:8px;z-index:210;position:relative}
.menu-toggle span{
  display:block;width:24px;height:2px;
  background:var(--olive-dark);margin:5px 0;
  border-radius:2px;transition:all .25s ease;
}

.hero{
  position:relative;
  min-height:100vh;
  display:flex;align-items:center;
  padding:160px 0 80px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 80% 60% at 20% 30%, #EAE7C0 0%, transparent 60%),
    radial-gradient(ellipse 70% 80% at 90% 80%, #C8D29A 0%, transparent 55%),
    linear-gradient(135deg, #F4F1DE 0%, #E8E5C0 35%, #D4D9A8 70%, #B8C088 100%);
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.18  0 0 0 0 0.21  0 0 0 0 0.10  0 0 0 0.07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode:multiply;
  opacity:.45;
  z-index:0;
}

.hero-watermark{
  position:absolute;
  left:-3%;
  bottom:14%;
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  font-size:clamp(140px, 20vw, 320px);
  letter-spacing:-0.05em;
  color:#9BAB6C;
  opacity:.16;
  line-height:.85;
  pointer-events:none;
  white-space:nowrap;
  z-index:0;
  will-change:transform;
  transition:transform .15s linear;
}

.hero-grid{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:64px;
  align-items:center;
  width:100%;
}
.hero-grid > *{min-width:0}

.hero-edition{
  display:inline-flex;align-items:center;gap:14px;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--olive-dark);
  margin-bottom:20px;
}
.hero-edition .line{width:32px;height:1.5px;background:var(--olive)}

h1.hero-title{
  font-size:clamp(40px, 5.5vw, 76px);
  font-weight:800;
  color:var(--ink);
  letter-spacing:-0.035em;
  margin-bottom:20px;
  margin-top:-12px;
  line-height:1;
}

h1.hero-title span{
  display:block;
  font-weight:300;
  color:inherit;
  font-style:normal;
  margin-top:6px;
}

.hero-lead{
  font-size:17px;
  font-weight:400;
  line-height:1.65;
  color:var(--olive-dark2);
  max-width:520px;
  margin-bottom:32px;
}
.hero-meta{
  display:flex;flex-wrap:wrap;gap:12px;
  margin-bottom:40px;
}
.hero-pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 20px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(91,109,58,.18);
  border-radius:999px;
  backdrop-filter:blur(8px);
  font-size:13px;
  font-weight:600;
  color:var(--ink);
}
.hero-pill i{color:var(--red);font-size:13px}

.countdown{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  max-width:540px;
  margin-bottom:42px;
}
.count-box{
  background:rgba(255,255,255,.55);
  border:1.5px solid #8598B6;
  border-radius:var(--r);
  padding:22px 10px 16px;
  text-align:center;
  backdrop-filter:blur(6px);
  transition:transform .3s ease, border-color .3s ease, background .3s ease;
}
.count-box:hover{
  transform:translateY(-4px);
  border-color:#59626E;
  background:rgba(255,255,255,.85);
}
.count-box .num{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(36px, 4.5vw, 54px);
  font-weight:800;
  color:var(--olive-dark);
  line-height:1;
  letter-spacing:-0.04em;
}
.count-box .lbl{
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--olive);
  margin-top:10px;
  font-weight:700;
}

.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

.hero-photo-wrap{
  position:relative;
  height:580px;
}

.hero-img-main{
  position:absolute;
  top:0;
  left:0;
  width:75%;
  height:78%;
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:0 24px 60px rgba(42,51,24,.22);
  z-index:1;
  will-change:transform;
  transition:transform .12s linear;
}
.hero-img-main img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center top;
}

.hero-img-sec{
  position:absolute;
  bottom:0;
  right:0;
  width:55%;
  height:55%;
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:0 30px 80px rgba(42,51,24,.28);
  border:5px solid var(--bg);
  z-index:2;
  will-change:transform;
  transition:transform .12s linear;
}
.hero-img-sec img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center top;
}

.about{padding:120px 0}
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  gap:80px;
}
.about-grid > *{min-width:0}
.about-visual{
  position:relative;
  height:auto;
  min-height:540px;
}
.about-img-main{
  position:absolute;
  top:0;left:0;
  width:75%;height:78%;
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:0 24px 56px rgba(31,40,20,.18);
}
.about-img-main img{width:100%;height:100%;object-fit:cover}
.about-img-sec{
  position:absolute;
  bottom:0;right:0;
  width:55%;height:55%;
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:0 24px 56px rgba(31,40,20,.20);
  border:6px solid var(--bg);
}
.about-img-sec img{width:100%;height:100%;object-fit:cover}

.about-content h2{
  font-size:clamp(32px,3.8vw,48px);
  font-weight:800;
  margin:0 0 22px;
  color:var(--olive-dark2);
}
.about-content h2 em{
  font-style:normal;
  font-weight:300;
  color:var(--olive-dark2);
}
.about-content p{
  color:var(--olive-dark2);
  font-size:16px;
  line-height:1.75;
  margin-bottom:32px;
  max-width:520px;
}

.stats{
  display:flex;gap:56px;
  padding:30px 0;
  border-top:1.5px solid var(--line);
  border-bottom:1.5px solid var(--line);
  margin:32px 0;
}
.stat .n{
  font-size:64px;
  font-weight:900;
  color:var(--red);
  line-height:1;
  letter-spacing:-0.05em;
}
.stat .l{
  font-size:11px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-top:10px;
  font-weight:700;
}

.marquee-strip{
  background:var(--olive-dark);
  overflow:hidden;
  padding:0;
  border-top:1px solid rgba(0,0,0,.1);
  border-bottom:1px solid rgba(0,0,0,.1);
  position:relative;
  z-index:5;
}
.marquee-track{
  display:flex;
  align-items:center;
  gap:0;
  white-space:nowrap;
  animation:marquee-scroll 40s linear infinite;
  width:max-content;
}
.marquee-item{
  display:inline-flex;
  align-items:center;
  padding:18px 0;
  font-size:13px;
  font-weight:700;
  font-family:'Montserrat',sans-serif;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:#fff;
  flex-shrink:0;
}
.marquee-sep{
  display:inline-flex;
  align-items:center;
  padding:18px 32px;
  color:rgba(255,255,255,0.45);
  font-size:14px;
  flex-shrink:0;
}
.marquee-set{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
}
@keyframes marquee-scroll{
  from{transform:translate3d(0,0,0)}
  to  {transform:translate3d(-50%,0,0)}
}

.register{
  padding:120px 0;
  background:linear-gradient(180deg, transparent 0%, rgba(91,109,58,.06) 100%);
}
.register-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:28px;
  align-items:start;
}

.venue-card{
  background:#fff;
  border:1px solid var(--line-soft);
  border-radius:var(--r-xl);
  padding:36px;
  display:flex;flex-direction:column;
}
.venue-card h3{
  font-size:26px;
  font-weight:800;
  line-height:1.2;
  margin-bottom:12px;
}
.venue-card h3 .vc-light{
  font-weight:300;
  color:var(--olive-light2);
}
.venue-card h3 .vc-bold{
  font-weight:800;
  color:var(--olive-dark2);
}
.venue-card .venue-address{
  font-size:13.5px;
  color:var(--ink-soft);
  line-height:1.65;
  margin-bottom:24px;
}
.venue-info-list{
  display:flex;flex-direction:column;gap:10px;
  margin-bottom:24px;
}
.venue-info-list li{
  display:flex;align-items:center;gap:12px;
  font-size:13px;
  color:var(--ink);
  font-weight:500;
}
.venue-info-list i{
  width:32px;height:32px;border-radius:50%;
  background:rgba(91,109,58,.10);
  color:var(--olive-dark);
  display:grid;place-items:center;
  font-size:12px;
  flex-shrink:0;
}

.venue-map{
  flex:1;
  min-height:240px;
  border-radius:18px;
  overflow:hidden;
  position:relative;
  border:1px solid var(--line-soft);
}
.venue-map iframe{
  width:100%;
  height:100%;
  min-height:240px;
  border:0;
  display:block;
}

.form-card{
  background:#fff;
  border:1px solid var(--line-soft);
  border-radius:var(--r-xl);
  padding:42px;
}
.form-card h3{
  font-size:28px;
  font-weight:800;
  margin-bottom:8px;
}
.form-card .sub{
  font-size:13.5px;
  color:var(--ink-soft);
  margin-bottom:24px;
  line-height:1.6;
}

.included-banner{
  display:flex;align-items:flex-start;gap:12px;
  background:rgba(91,109,58,.08);
  border:1.5px solid rgba(91,109,58,.22);
  border-radius:14px;
  padding:14px 16px;
  margin-bottom:22px;
}
.included-banner i{
  color:var(--olive-dark);
  font-size:16px;
  margin-top:2px;
  flex-shrink:0;
}
.included-banner .ib-text{
  font-size:13px;
  line-height:1.5;
  color:var(--ink);
}
.included-banner .ib-text strong{
  color:var(--olive-dark2);
  font-weight:700;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 18px;
}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{
  font-size:10px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.ws-slot-label{
  grid-column:1/-1;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--olive-dark2);
  margin:12px 0 -6px;
}
.field select{
  height:48px;
  background:var(--bg-soft);
  border:1.5px solid var(--line-soft);
  border-radius:10px;
  padding:0 14px;
  font-size:14px;
  font-family:inherit;
  color:var(--ink);
  transition:all .2s ease;
}
.field select:focus{
  outline:none;
  background:#fff;
  border-color:var(--olive);
}
.field input{
  height:48px;
  background:var(--bg-soft);
  border:1.5px solid var(--line-soft);
  border-radius:10px;
  padding:0 16px;
  font-family:'Montserrat',sans-serif;
  font-size:14px;
  font-weight:500;
  color:var(--ink);
  transition:all .2s ease;
}
.field input:focus{
  outline:none;
  background:#fff;
  border-color:var(--olive);
  box-shadow:0 0 0 4px rgba(91,109,58,.12);
}
.workshops{
  grid-column:1/-1;
  margin-top:6px;
  padding-top:22px;
  border-top:1.5px solid var(--line-soft);
}
.ws-toggle{
  display:flex;align-items:center;gap:8px;
  background:none;border:none;
  color:var(--olive-dark2);
  font-family:'Montserrat',sans-serif;
  font-size:13px;font-weight:700;
  cursor:pointer;
  padding:12px 0 6px;
}
.ws-toggle i{transition:transform .3s ease;font-size:12px}
.ws-toggle.open i{transform:rotate(180deg)}
.ws-list{overflow:hidden;display:none}
.ws-list.open{display:block}
.radio-row.is-disabled{
  opacity:.5;
  cursor:not-allowed;
  pointer-events:none;
}
.ws-slot-label:first-child{margin-top:0}
.ws-title{
  font-size:10px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--olive-dark);
  margin-bottom:6px;
}
.ws-hint{
  font-size:12.5px;
  color:var(--ink-soft);
  margin-bottom:14px;
  line-height:1.5;
}
.radio-row{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;
  background:var(--bg-soft);
  border:1.5px solid var(--line-soft);
  border-radius:12px;
  margin-bottom:10px;
  cursor:pointer;
  transition:all .2s ease;
}
.radio-row:hover{
  border-color:var(--olive-mute);
  background:#fff;
}
.radio-row input{
  accent-color:var(--olive);
  width:18px;height:18px;
  flex-shrink:0;
}
.radio-row input:checked + span{
  color:var(--olive-dark2);
  font-weight:700;
}
.radio-row span{
  font-size:13.5px;
  font-weight:600;
  color:var(--ink);
}
.radio-row.default-pick{
  background:rgba(91,109,58,.06);
  border-color:rgba(91,109,58,.30);
}
.form-card .btn{
  margin-top:24px;
  width:100%;
  justify-content:center;
}

.speakers{padding:120px 0}

.speakers-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  max-width:1100px;
  margin:0 auto;
}
.speaker{
  cursor:pointer;
  transition:transform .35s ease;
}
.speaker:hover{transform:translateY(-8px)}
.speaker-photo{
  aspect-ratio:3/3.7;
  border-radius:var(--r-lg);
  overflow:hidden;
  position:relative;
  margin-bottom:18px;
  box-shadow:var(--shadow-card);
}
.speaker-photo img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .55s ease;
}
.speaker:hover .speaker-photo img{transform:scale(1.06)}
.speaker-photo::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(31,40,20,.55) 100%);
  z-index:1;
}
.speaker-tag{
  position:absolute;
  top:14px;left:14px;
  font-size:9px;
  font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  background:rgba(255,255,255,.20);
  backdrop-filter:blur(10px);
  color:#fff;
  padding:6px 11px;
  border-radius:999px;
  z-index:3;
  border:1px solid rgba(255,255,255,.20);
}
.speaker-overlay{
  position:absolute;
  bottom:16px;left:16px;right:16px;
  z-index:3;
}
.speaker-overlay h4{
  font-size:19px;
  font-weight:800;
  color:#fff;
  letter-spacing:-0.015em;
  line-height:1.15;
  margin-bottom:4px;
}
.speaker-overlay .role-mini{
  font-size:11px;
  color:rgba(255,255,255,.78);
  font-weight:500;
  letter-spacing:0.02em;
}
.speaker-bio{
  font-size:13px;
  color:var(--olive-dark2);
  line-height:1.55;
  padding:0 4px;
}
.speakers .cta-wrap{
  text-align:center;
  margin-top:54px;
}

.agenda{
  padding:120px 0;
  background:var(--bg-soft);
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
}

.tabs{
  display:flex;justify-content:center;gap:10px;
  margin-bottom:48px;
}
.tab{
  padding:13px 32px;
  border-radius:999px;
  background:transparent;
  border:1.5px solid #fff;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  transition:all .25s ease;
}
.tab.active{
  background:#9CA039;
  border-color:#9CA039;
  color:#fff;
}
.tab:hover:not(.active){
  border-color:#9CA039;
  color:#fff;
}

.agenda-panel{display:none;max-width:1040px;margin:0 auto}
.agenda-panel.active{display:block;animation:fadeIn .4s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.agenda-item{
  display:grid;
  grid-template-columns:130px 1.4fr 2fr;
  gap:28px;
  align-items:center;
  background:#fff;
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  padding:22px 28px;
  margin-bottom:14px;
  transition:all .3s ease;
}
.agenda-item:hover{
  border-color:var(--olive-mute);
  box-shadow:var(--shadow-card);
  transform:translateX(4px);
}
.agenda-time{
  font-size:14px;
  font-weight:800;
  color:var(--olive-dark);
  letter-spacing:0;
  line-height:1.45;
}
.agenda-speaker{
  display:flex;align-items:center;gap:16px;
}
.agenda-avatar{
  position:relative;
  width:64px;height:64px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  border:3px solid var(--bg-soft);
  box-shadow:0 4px 12px rgba(31,40,20,.12);
}
.agenda-avatar img{
  width:100%;height:100%;
  object-fit:cover;
}
.agenda-avatar.icon-only{
  background:linear-gradient(135deg, var(--olive-mute), var(--olive-dark));
  display:grid;place-items:center;
  color:#fff;font-size:22px;
}
.agenda-speaker-info .name{
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:2px;
}
.agenda-speaker-info .meta{
  font-size:11.5px;
  font-weight:500;
  color:var(--ink-soft);
}
.agenda-content h4{
  font-size:18px;
  font-weight:700;
  letter-spacing:-0.015em;
  margin-bottom:5px;
  line-height:1.3;
}
.agenda-room{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:700;
  color:var(--olive-dark2);
  margin-top:8px;
  letter-spacing:.02em;
}
.agenda-room i{color:var(--red)}
.agenda-content p{
  font-size:13.5px;
  color:var(--ink-soft);
  line-height:1.55;
}

.download-wrap{text-align:center;margin-top:40px}

.sponsors{padding:100px 0 90px}
.sponsors-row{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:20px;
  align-items:center;
}
.sponsor-logo{
  height:80px;
  border:1.5px solid var(--line-soft);
  border-radius:14px;
  background:#fff;
  display:grid;place-items:center;
  color:var(--ink-soft);
  font-size:15px;
  font-weight:700;
  letter-spacing:0.04em;
  text-align:center;
  padding:0 18px;
  transition:all .3s ease;
}
.sponsor-logo:hover{
  color:var(--olive-dark);
  border-color:var(--olive-mute);
  transform:translateY(-3px);
  box-shadow:var(--shadow-card);
}
.sponsor-logo.italic{font-weight:400;font-style:italic;letter-spacing:0}
.sponsor-logo.bold{font-weight:900;letter-spacing:0.08em;text-transform:uppercase;font-size:13px}

.faq{
  padding:120px 0;
  background:var(--bg-soft);
  border-top:1px solid var(--line-soft);
}
.faq-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:80px;
  align-items:start;
}
.faq-intro h2{
  font-size:clamp(32px,3.8vw,46px);
  font-weight:800;
  margin:0 0 18px;
  line-height:1.1;
}
.faq-intro h2 em{font-style:normal;font-weight:300;color:var(--olive)}
.faq-intro p{
  color:var(--ink-soft);
  font-size:15px;
  line-height:1.7;
  margin-bottom:30px;
  max-width:380px;
}
.faq-list{border-top:1.5px solid var(--line)}
.faq-item{border-bottom:1.5px solid var(--line)}
.faq-q{
  width:100%;
  background:none;border:none;
  text-align:left;
  padding:24px 0;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;
  font-family:'Montserrat',sans-serif;
  font-size:17px;
  font-weight:700;
  color:#59626E;
  letter-spacing:-0.01em;
  transition:color .25s ease;
}
.faq-q:hover{color:#8598B6}
.faq-q .chev{
  width:34px;height:34px;border-radius:50%;
  border:1.5px solid var(--line);
  display:grid;place-items:center;
  flex-shrink:0;
  color:#8598B6;
  transition:all .3s ease;
}
.faq-item.open .faq-q .chev{
  transform:rotate(45deg);
  background:#59626E;
  border-color:#59626E;
  color:#fff;
}
.faq-item.open .faq-q{color:#59626E}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a-inner{
  padding-bottom:24px;
  color:var(--ink-soft);
  font-size:14.5px;
  line-height:1.7;
  max-width:580px;
}

.site-footer{
  background:var(--footer);
  color:#bcc0a8;
  padding:78px 0 32px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.footer-brand{
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  font-size:24px;
  letter-spacing:-0.01em;
  color:#fff;
  margin-bottom:18px;
  display:flex;align-items:center;
}
.footer-brand .gt{font-weight:300;color:#9aa676;margin-left:2px}
.footer-about{font-size:13px;line-height:1.7;max-width:280px;color:#9ea38a;font-weight:400}
.footer-col h5{
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:18px;
  font-weight:700;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.footer-col a{font-size:13px;color:#ACB1B4EB;transition:color .2s ease;font-weight:500}
.footer-col a:hover{color:#fff}
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:28px;
  gap:20px;flex-wrap:wrap;
}
.copy{font-size:12px;color:#888c75;font-weight:500}

.socials{display:flex;gap:12px}
.socials a{
  width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.15);
  display:grid;place-items:center;
  color:#bcc0a8;
  font-size:14px;
  transition:all .25s ease;
}
.socials a:hover{
  background:var(--olive);
  border-color:var(--olive);
  color:#fff;
  transform:translateY(-3px);
}

.reveal,
.reveal-up,
.reveal-left,
.reveal-right,
.reveal-zoom{
  opacity:0;
  will-change:opacity, transform;
  transition:
    opacity     .9s cubic-bezier(.22,.61,.36,1),
    transform   .9s cubic-bezier(.22,.61,.36,1);
}
.reveal,
.reveal-up   { transform:translate3d(0, 36px, 0); }
.reveal-left { transform:translate3d(-52px, 0, 0); }
.reveal-right{ transform:translate3d( 52px, 0, 0); }
.reveal-zoom { transform:scale(.92); }

.reveal.in,
.reveal-up.in,
.reveal-left.in,
.reveal-right.in,
.reveal-zoom.in{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

.reveal.d1, .reveal-up.d1, .reveal-left.d1, .reveal-right.d1, .reveal-zoom.d1 { transition-delay:.08s; }
.reveal.d2, .reveal-up.d2, .reveal-left.d2, .reveal-right.d2, .reveal-zoom.d2 { transition-delay:.16s; }
.reveal.d3, .reveal-up.d3, .reveal-left.d3, .reveal-right.d3, .reveal-zoom.d3 { transition-delay:.24s; }
.reveal.d4, .reveal-up.d4, .reveal-left.d4, .reveal-right.d4, .reveal-zoom.d4 { transition-delay:.32s; }
.reveal.d5, .reveal-up.d5, .reveal-left.d5, .reveal-right.d5, .reveal-zoom.d5 { transition-delay:.40s; }
.reveal.d6, .reveal-up.d6, .reveal-left.d6, .reveal-right.d6, .reveal-zoom.d6 { transition-delay:.48s; }

@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-up,.reveal-left,.reveal-right,.reveal-zoom{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

.h2-mixed .bold-part   { font-weight:800; color:var(--olive-dark2); }
.h2-mixed .light-part  { font-weight:300; color:var(--olive-light2); }
.about-content h2 .light-part { display:block; }

@media (max-width:1024px){
  .speakers-grid{grid-template-columns:repeat(3,1fr)}
  .agenda-item{grid-template-columns:110px 1fr;gap:20px}
  .agenda-speaker{grid-column:1/-1;order:-1}
}

@media (max-width:1200px) and (min-width:1001px){
  .about-grid{gap:48px}
  .about-visual{min-height:460px}
}

@media (max-width:1000px){
  .about-grid{grid-template-columns:1fr;gap:60px;justify-items:stretch}
  .about-visual{height:420px;width:100%;max-width:540px;margin:0 auto}
  .about-content{max-width:none;width:100%}
  .about-content .stats{justify-content:flex-start}
  .about-grid .reveal-left,.about-grid .reveal-right{transform:none}
}

@media (max-width:1150px) and (min-width:901px){
  .brand img{max-height:36px;max-width:170px}
  .nav-links{gap:16px}
  .nav-links a{font-size:12px}
  .nav-right{gap:12px}
}

@media (max-width:900px){
  .nav-links{
    position:fixed;
    top:0;
    right:0;
    left:0;
    bottom:0;
    background:#fff;
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    gap:8px;
    padding:96px 32px 40px;
    width:100%;
    height:100vh;
    height:100dvh;
    border:none;
    border-radius:0;
    transform:translateX(100%);
    transition:transform .45s cubic-bezier(.65,.05,.36,1);
    box-shadow:none;
    z-index:150;
    overflow-y:auto;
  }
  .nav-links.open{transform:translateX(0)}
  .nav-links a{
    display:block;
    font-size:20px;
    font-weight:600;
    color:#59626E;
    letter-spacing:0.02em;
    padding:10px 0;
    width:100%;
    box-sizing:border-box;
    left:0 !important;
    position:static !important;
    border-bottom:1px solid var(--line-soft);
    transition:color .25s ease, padding-left .25s ease;
  }
  .nav-links li{width:100%}
  .nav-links-cta{width:100%;margin-top:20px;display:flex;justify-content:center}
  .nav-links-cta .btn{display:inline-flex;width:auto;justify-content:center;box-shadow:none;padding:11px 17px;font-size:16px;color:#fff !important}
  .nav-links-cta .btn:hover{color:#fff !important}
  .nav-links a:hover{
    color:var(--red);
    padding-left:8px;
  }

  .menu-toggle{display:block}
  .menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.open span:nth-child(2){opacity:0}
  .menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-photo-wrap{height:420px;width:100%;max-width:520px;margin:0 auto}

  .hero-watermark{
    white-space:normal;
    word-break:keep-all;
    line-height:.88;
    font-size:clamp(80px, 26vw, 160px);
    bottom:22%;
    left:-2%;
    right:0;
    max-width:104%;
  }

  .register-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr;gap:40px}
  .sponsors-row{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
}

@media (max-width:1000px){
  .download-wrap{display:flex;justify-content:center;padding:0 16px}
  .download-wrap .btn{
    white-space:normal;
    text-align:center;
    padding:12px 22px;
    font-size:11.5px;
    max-width:100%;
  }
}

@media (max-width:680px){
  .speakers-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .agenda-item{
    grid-template-columns:1fr;
    gap:16px;
    padding:22px;
  }
  .agenda-speaker{order:0}
  .stats{gap:32px}
  .stat .n{font-size:48px}

  .hero-img-main{width:85%;height:58%}
  .hero-img-sec{width:68%;height:58%}

  .hero{padding:120px 0 60px}
}

@media (max-width:560px){
  .container{padding:0 20px}
  .nav{padding:6px 20px !important}
  .hero-watermark{
    font-size:clamp(70px, 28vw, 130px);
    bottom:24%;
  }
  .countdown{gap:8px}
  .count-box{padding:16px 6px 12px}
  .count-box .num{font-size:32px}
  .form-grid{grid-template-columns:1fr}
  .form-card,.venue-card{padding:26px}
  .footer-grid{grid-template-columns:1fr}
  .sponsors-row{grid-template-columns:repeat(2,1fr)}
  .nav-links a{font-size:24px}
  .agenda{padding:72px 0}
  .tabs{
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:28px;
  }
  .tab{
    padding:10px 16px;
    font-size:11px;
    letter-spacing:0.06em;
    flex:1 1 auto;
    min-width:0;
  }
  .section-head{margin-bottom:32px}
}

@media (max-width:900px){
  .nav-center{justify-content:flex-end}
  .nav-links-cta{display:block;margin-top:16px}
  .nav-right-cta{display:none}
  .hero{padding-top:180px}
}

@media (max-width:640px){
  .brand img{max-height:26px;max-width:100px}
  .nav-right .btn-primary{padding:8px 14px;font-size:11px}
  .nav-right{gap:8px}
  .stats{flex-wrap:wrap;gap:20px}
  .venue-card,.form-card{padding:20px}
  .sponsors-row{grid-template-columns:repeat(2,1fr);gap:12px}
  .footer-brand{font-size:22px}
  .speakers-grid{grid-template-columns:1fr;gap:24px}
}

.hero-carousel{position:relative}
.hero-slide{display:none}
.hero-slide.is-active{display:block;animation:heroFade .6s ease}
@keyframes heroFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.hero-carousel-nav{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:22px;margin-top:36px}
.hero-arrow{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--olive-dark2);font-size:15px;transition:all .25s ease;flex-shrink:0}
.hero-arrow:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px)}
.hero-dots{display:flex;align-items:center;gap:10px}
.hero-dot{width:10px;height:10px;padding:0;border-radius:50%;border:none;background:#8598B6;cursor:pointer;transition:all .3s ease}
.hero-dot.is-active{width:30px;border-radius:6px;background:#C13B32}
.hero-slide-photo{position:relative;height:580px}
@media (max-width:1024px){
  .hero-slide-photo{height:420px;width:100%;max-width:520px;margin:0 auto}
}

/* Ajustes extraídos del HTML */
.brand img.brand-logo{
  max-height:89px;
  max-width:257px;
  display:block;
  object-fit:contain;
  width:auto;
  height:auto;
}
.sponsor-logo img{
  max-height:52px;
  max-width:140px;
  object-fit:contain;
}
.registro-mensaje{
  margin-top:16px;
  padding:14px 18px;
  border-radius:10px;
  font-weight:600;
  display:none;
}
.registro-mensaje.is-visible{display:block}
.registro-mensaje.is-ok{background:#e6f4df;color:#2f5d26}
.registro-mensaje.is-error{background:#ffe4e1;color:#8b1e18}
.agenda-avatar img.is-cover{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-slide-photo img.hero-photo-main{
  position:absolute;
  top:0;left:0;
  width:75%;height:78%;
  border-radius:32px;
  box-shadow:0 24px 56px rgba(31,40,20,.18);
  object-fit:cover;
}
.hero-slide-photo img.hero-photo-sec{
  position:absolute;
  bottom:0;right:0;
  width:55%;height:55%;
  border:6px solid #EAF6FF;
  border-radius:32px;
  box-shadow:0 24px 56px rgba(31,40,20,.20);
  object-fit:cover;
}
