:root {
  --bg:#f8f6f0;
  --paper:#fff;
  --ink:#24322f;
  --muted:#66716e;
  --green:#6f9186;
  --green-dark:#41685f;
  --green-deep:#29463f;
  --sage:#e7efea;
  --sand:#eee4d4;
  --line:rgba(36,50,47,.12);
  --shadow:0 18px 55px rgba(41,70,63,.11);
  --radius:26px;
  --container:1180px;
  --header:78px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;
  overflow-x:hidden;
  color:var(--ink);
  background:var(--bg);
  font-family:Arial,"Segoe UI",sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(calc(100% - 36px),var(--container));margin:auto}

.header{
  position:sticky;
  top:0;
  z-index:100;
  height:var(--header);
  display:flex;
  align-items:center;
  background:rgba(248,246,240,.95);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-icon{
  width:44px;height:44px;display:grid;place-items:center;
  flex:0 0 auto;border-radius:15px;
  color:white;background:var(--green-deep);
  font:700 1.4rem Georgia,serif;
}
.brand strong,.brand small{display:block}
.brand strong{font-size:.96rem}
.brand small{margin-top:3px;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}

.menu{display:flex;align-items:center;gap:4px}
.menu a{padding:9px 11px;border-radius:999px;color:var(--muted);font-size:.86rem;font-weight:700}
.menu a:hover{color:var(--green-deep);background:var(--sage)}
.menu-button{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:white}
.menu-button span{display:block;width:20px;height:2px;margin:4px auto;background:var(--ink);transition:.2s}

.hero{
  position:relative;
  min-height:calc(100svh - var(--header));
  display:flex;align-items:center;
  padding:76px 0 90px;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 8%,rgba(231,239,234,.95),transparent 32%),
    linear-gradient(135deg,#faf8f3,#eef3ee);
}
.hero:before{
  content:"";position:absolute;inset:0;opacity:.18;
  background-image:linear-gradient(rgba(41,70,63,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(41,70,63,.08) 1px,transparent 1px);
  background-size:54px 54px;
}
.hero-shape{position:absolute;border:1px solid rgba(65,104,95,.13);border-radius:50%}
.hero-shape-a{width:540px;height:540px;right:-120px;top:12%}
.hero-shape-b{width:380px;height:380px;right:-40px;top:22%}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center}
.kicker{margin:0;color:var(--green-dark);font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}
.kicker:before{content:"";display:inline-block;width:30px;height:1px;margin:0 10px 4px 0;background:currentColor}
.hero h1,.section-title h2,.split-title h2,.approach h2,.schedule h2,.contact h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;letter-spacing:-.045em;
}
.hero h1{max-width:800px;margin:17px 0 22px;font-size:clamp(3rem,6.5vw,6.3rem);line-height:.95}
.hero h1 span{display:block;color:var(--green-deep)}
.lead{margin:0 0 26px;color:var(--muted);font-size:1.1rem}
.hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}
.hero-tags span{padding:9px 13px;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.86rem}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid transparent;border-radius:999px;font-weight:800;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.primary{color:#fff;background:var(--green-deep);box-shadow:0 12px 28px rgba(41,70,63,.2)}
.secondary{background:white;border-color:var(--line)}

.hero-card{
  min-height:500px;position:relative;display:flex;align-items:flex-end;justify-content:center;
}
.orbital{position:absolute;inset:0;display:grid;place-items:center}
.orbit{position:absolute;border:1px solid rgba(65,104,95,.17);border-radius:50%}
.orbit-one{width:460px;height:460px;max-width:100%;max-height:100%}
.orbit-two{width:340px;height:340px}
.orbit-three{width:220px;height:220px}
.center-mark{width:105px;height:105px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--green-deep);font:500 2.4rem Georgia,serif;box-shadow:var(--shadow)}
.hero-card-copy{position:relative;z-index:3;width:min(90%,380px);padding:28px;border-radius:22px;color:white;background:rgba(41,70,63,.95);box-shadow:var(--shadow)}
.hero-card-copy small,.hero-card-copy strong{display:block}
.hero-card-copy small{text-transform:uppercase;letter-spacing:.13em;opacity:.7;font-size:.7rem}
.hero-card-copy strong{margin-top:6px;font:500 1.8rem Georgia,serif}
.hero-card-copy p{margin:9px 0 0;opacity:.75}

.summary{position:relative;z-index:5;margin-top:-34px}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}
.summary article{min-height:118px;display:flex;align-items:center;gap:16px;padding:24px}
.summary article+article{border-left:1px solid var(--line)}
.summary article>span{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(111,145,134,.3);border-radius:50%;color:var(--green-dark);font-size:.68rem;font-weight:800}
.summary small,.summary strong{display:block}
.summary small{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}
.summary strong{margin-top:4px;font-size:.93rem}

.section{padding:105px 0}
.section.soft{background:#edf3ef;border-block:1px solid rgba(41,70,63,.06)}
.section-title{margin-bottom:42px}
.section-title.centered{text-align:center}
.section-title.centered .kicker:before{display:none}
.section-title h2,.split-title h2,.approach h2,.contact h2{max-width:850px;margin:12px 0 0;font-size:clamp(2.35rem,4.2vw,4.4rem);line-height:1.02}
.grid{display:grid;gap:18px}
.grid.three{grid-template-columns:repeat(3,1fr)}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card{min-height:350px;padding:28px;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 34px rgba(41,70,63,.05);transition:.25s}
.card:hover,.feature:hover,.list-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.index{color:var(--green-dark);font-size:.68rem;font-weight:800}
.icon{width:62px;height:62px;margin:38px 0 24px;display:grid;place-items:center;border-radius:19px;color:var(--green-deep);background:var(--sage);font:500 1.4rem Georgia,serif}
.card h3{margin:0 0 10px;font-size:1.2rem}
.card p{margin:0;color:var(--muted)}

.split{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:start}
.split-title{position:sticky;top:110px}
.list{display:grid;gap:14px}
.list-card{display:flex;gap:18px;padding:26px;background:white;border:1px solid var(--line);border-radius:22px;transition:.25s}
.list-card>span{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(111,145,134,.3);border-radius:50%;color:var(--green-dark);font-size:.68rem;font-weight:800}
.list-card h3{margin:4px 0 9px;font-size:1.15rem}
.list-card p{margin:0;color:var(--muted)}

.feature-grid .feature{min-height:270px}
.feature{padding:28px;background:linear-gradient(145deg,#fff,#edf3ef);border:1px solid var(--line);border-radius:var(--radius);transition:.25s}
.feature.sand{background:linear-gradient(145deg,#f6efe4,#fff)}
.feature span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:white;background:var(--green-deep);font-size:.7rem;font-weight:800}
.feature h3{margin:48px 0 12px;font:500 clamp(1.65rem,2.2vw,2.25rem) Georgia,serif;line-height:1.08}
.feature p{margin:0;color:var(--muted)}

.dark{color:white;background:var(--green-deep)}
.section-title.light .kicker{color:#d5e2dd}
.section-title.light h2{color:white}
.crisis-grid article{min-height:280px;padding:28px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius)}
.crisis-grid article>span{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:.68rem}
.crisis-grid h3{margin:48px 0 12px;font:500 2rem Georgia,serif}
.crisis-grid p{margin:0;color:rgba(255,255,255,.72)}

.approach{background:#f3eee5}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.approach-art{position:relative;min-height:430px;display:grid;place-items:center}
.approach-art .ring{position:absolute;border:1px solid rgba(65,104,95,.18);border-radius:50%}
.r1{width:420px;height:420px;max-width:100%}
.r2{width:300px;height:300px}
.r3{width:180px;height:180px}
.approach-art strong{position:relative;z-index:2;width:110px;height:110px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--green-deep);font:500 1.4rem Georgia,serif;letter-spacing:.1em}
.approach .line{width:80px;height:2px;margin:28px 0;background:var(--green)}
.approach .audience{max-width:520px;color:var(--muted);font-size:1.05rem}

.modalities{background:white}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.audience-grid article{min-height:170px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:var(--bg);border:1px solid var(--line);border-radius:22px}
.audience-grid span{color:var(--green-dark);font-size:.68rem;font-weight:800}
.audience-grid strong{font:500 1.4rem Georgia,serif}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.mode{min-height:185px;padding:28px;border-radius:22px}
.dark-mode{color:white;background:var(--green-deep)}
.light-mode{background:var(--sand)}
.mode>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7;font-weight:800}
.mode h3{margin:25px 0 8px;font:500 2rem Georgia,serif}
.mode p{margin:0;opacity:.75}

.schedule{padding:0 0 105px;background:white}
.schedule-box{min-height:340px;padding:55px 65px;display:flex;align-items:center;justify-content:space-between;gap:50px;color:white;background:linear-gradient(135deg,#41685f,#29463f);border-radius:32px}
.light-kicker{color:#dce8e3}
.schedule h2{margin:12px 0 4px;font-size:clamp(2.5rem,5vw,4.8rem);line-height:1}
.schedule p{margin:0;color:rgba(255,255,255,.78)}
.clock{position:relative;width:180px;height:180px;flex:0 0 auto;border:2px solid rgba(255,255,255,.55);border-radius:50%}
.clock:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.14);border-radius:50%}
.hand{position:absolute;left:50%;top:50%;width:3px;background:white;border-radius:5px;transform-origin:50% 100%}
.hour{height:48px;transform:translate(-50%,-100%) rotate(300deg)}
.minute{height:66px;transform:translate(-50%,-100%) rotate(90deg)}
.dot{position:absolute;left:50%;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);background:white;border-radius:50%}

.contact{background:linear-gradient(#f8f6f0,#f0eee7)}
.contact-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:18px}
.contact-main,.facebook{padding:55px;border-radius:30px}
.contact-main{background:white;border:1px solid var(--line)}
.contact-list{display:grid;gap:10px;margin:34px 0}
.contact-list>a,.contact-list>div{padding:16px 18px;border:1px solid var(--line);border-radius:17px;background:var(--bg)}
.contact-list small,.contact-list strong{display:block}
.contact-list small{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}
.contact-list strong{margin-top:3px}
.facebook{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;color:white;background:#476a89}
.fb{position:absolute;right:25px;top:15px;font:800 10rem Arial;line-height:1;opacity:.1}
.facebook small{position:relative;z-index:2;text-transform:uppercase;letter-spacing:.13em;opacity:.72;font-size:.7rem}
.facebook h3{position:relative;z-index:2;margin:14px 0 0;font:500 clamp(2rem,3.4vw,3.6rem) Georgia,serif;line-height:1.03}

.footer{padding:50px 0;color:rgba(255,255,255,.78);background:#1f3530}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.footer-grid>div{display:flex;flex-direction:column;gap:7px}
.footer-grid strong{color:white}
.footer-grid a:hover{color:white}

.floating-call{position:fixed;right:18px;bottom:18px;z-index:90;padding:14px 18px;border-radius:999px;color:white;background:var(--green-deep);box-shadow:0 14px 35px rgba(41,70,63,.28);font-weight:800}

/* El contenido es SIEMPRE visible. JavaScript solo mejora la experiencia. */
.js-enhanced .menu-button[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.js-enhanced .menu-button[aria-expanded="true"] span:nth-child(2){opacity:0}
.js-enhanced .menu-button[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1000px){
  .menu-button{display:block;position:relative;z-index:102}
  .menu{
    position:fixed;right:0;top:0;width:min(86vw,390px);height:100dvh;
    padding:100px 24px 30px;flex-direction:column;align-items:stretch;
    background:#fbf9f4;border-left:1px solid var(--line);
    transform:translateX(105%);transition:transform .28s ease;
  }
  .menu.open{transform:translateX(0)}
  .menu a{padding:14px}
  .hero-grid{grid-template-columns:1fr}
  .hero-card{min-height:420px}
  .grid.three{grid-template-columns:repeat(2,1fr)}
  .grid.three .card:last-child{grid-column:1/-1}
  .split{grid-template-columns:1fr;gap:36px}
  .split-title{position:static}
  .approach-grid{grid-template-columns:1fr}
}

@media(max-width:720px){
  .container{width:min(calc(100% - 26px),var(--container))}
  .brand strong{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero{min-height:auto;padding:58px 0 78px}
  .hero h1{font-size:clamp(3rem,14.5vw,4.8rem)}
  .actions{display:grid}
  .btn{width:100%}
  .hero-tags{display:grid}
  .hero-tags span{border-radius:14px}
  .hero-card{min-height:360px}
  .orbit-one{width:340px;height:340px}
  .orbit-two{width:250px;height:250px}
  .orbit-three{width:165px;height:165px}
  .summary-grid{grid-template-columns:1fr}
  .summary article+article{border-left:0;border-top:1px solid var(--line)}
  .section{padding:78px 0}
  .grid.three,.grid.two,.audience-grid,.mode-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .grid.three .card:last-child{grid-column:auto}
  .card{min-height:310px}
  .feature{min-height:240px}
  .approach-grid{gap:35px}
  .approach-art{min-height:350px}
  .r1{width:330px;height:330px}
  .r2{width:235px;height:235px}
  .r3{width:145px;height:145px}
  .schedule{padding-bottom:78px}
  .schedule-box{min-height:420px;padding:35px;flex-direction:column;align-items:flex-start}
  .clock{width:145px;height:145px;align-self:flex-end}
  .contact-main,.facebook{padding:30px}
  .facebook{min-height:410px}
  .footer-grid{gap:24px}
}

@media(max-width:460px){
  .brand small{display:none}
  .hero-card-copy{padding:22px}
  .list-card{padding:21px}
  .list-card>span{display:none}
  .schedule-box{padding:28px}
  .floating-call{right:12px;bottom:12px}
}
