:root{
  --navy:#15385f; --navy2:#0f2d4f; --teal:#1d9b86; --teal-soft:#e7f6f2;
  --ink:#1f2d3d; --muted:#6b778c; --line:#e7ebf0; --bg:#f6f8fb; --white:#fff;
  --purple:#7157c8; --gold:#e9a43a; --blue:#4c78d7; --shadow:0 10px 30px rgba(25,55,91,.08);
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
a{text-decoration:none;color:inherit} button,input,select,textarea{font:inherit}
.layout{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;gap:22px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:44px;height:44px;border:2px solid var(--teal);border-radius:12px;display:grid;place-items:center;font-size:24px;background:var(--teal-soft)}.brand h1{font-size:16px;margin:0;color:var(--navy)}.brand small{color:var(--muted)}
.nav{display:grid;gap:8px}.nav a{padding:12px 14px;border-radius:10px;color:#42516a;font-weight:650;display:flex;align-items:center;gap:10px}.nav a:hover,.nav a.active{background:var(--navy);color:#fff}.quote{margin-top:auto;border:1px solid var(--line);border-radius:16px;padding:18px;text-align:center;color:#46536a;background:linear-gradient(180deg,#fff,#fbfcff)}.quote b{display:block;margin-top:10px;color:var(--navy)}.sidebar-footer{font-size:12px;color:#8b96a8}
.main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:20}.topbar strong{color:var(--navy)}.search{width:min(340px,45vw);display:flex;align-items:center;gap:8px;background:#f3f5f8;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.search input{border:0;outline:0;background:transparent;width:100%}
.content{padding:26px 34px 50px}.hero{background:linear-gradient(120deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 52%,rgba(17,64,89,.06) 100%), radial-gradient(circle at 86% 45%,#d9eee8 0 9%,transparent 10%),linear-gradient(135deg,#eef7f3,#f7f4ec);border-radius:22px;min-height:300px;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.hero-copy{padding:38px}.eyebrow{color:var(--teal);font-weight:800;font-size:14px}.hero h2{font-size:48px;line-height:1.04;color:var(--navy);margin:12px 0}.hero-meta{color:#556276;display:flex;gap:18px;flex-wrap:wrap}.duration{margin-top:20px;background:var(--teal-soft);border-radius:12px;padding:14px 16px;width:max-content;max-width:100%}.hero-visual{position:relative;display:grid;place-items:center;background:radial-gradient(circle at 60% 40%,#fff 0 10%,transparent 11%),linear-gradient(145deg,#dfeee9,#f4ead9)}.bible{width:260px;height:170px;background:#fff9ee;border:8px solid #7c5a3a;border-radius:10px 10px 30px 30px;transform:rotate(-7deg);box-shadow:0 28px 35px rgba(50,40,30,.18);position:relative}.bible:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px solid #d6c9b9}.bible:after{content:"✦";position:absolute;right:38px;top:58px;color:#c99b47;font-size:28px}.cup{position:absolute;width:76px;height:54px;border-radius:8px 8px 25px 25px;background:#f5f1e8;top:44px;right:65px;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.info-card,.panel,.class-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.info-card{padding:20px;display:flex;gap:14px}.icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:20px;flex:0 0 auto}.purple{background:#eee9ff;color:var(--purple)}.gold{background:#fff1d9;color:#b87000}.blue{background:#e7efff;color:#2f64bb}.info-card h3{margin:0 0 6px;color:var(--navy);font-size:16px}.info-card p{margin:0;color:#5e6a7e;line-height:1.55;font-size:14px}
.twocol{display:grid;grid-template-columns:1fr 1.35fr;gap:18px;margin-top:18px}.panel{padding:22px}.panel h3{margin:0;color:var(--navy)}.panel-sub{color:#7a8597;font-size:13px;margin:5px 0 18px}.step,.material-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #eef1f5}.step:last-child,.material-row:last-child{border-bottom:0}.step .icon{width:40px;height:40px}.grow{flex:1}.grow b{display:block;color:#2e3f57;margin-bottom:3px}.grow span{font-size:13px;color:#758096}.btn{border:1px solid #cfd7e3;background:#fff;color:var(--navy);font-weight:750;border-radius:9px;padding:9px 13px;cursor:pointer}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn:hover{filter:brightness(.97)}
.reflection-row{display:grid;grid-template-columns:1.5fr .8fr;gap:18px;margin-top:18px}.reflection{background:linear-gradient(120deg,#faf8ff,#f3efff);border:1px solid #e7e0ff;border-radius:16px;padding:24px;display:flex;gap:18px;align-items:center}.reflection .bubble{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#eee7ff;color:var(--purple);font-size:34px}.reflection h4{margin:0 0 10px;color:var(--purple);text-transform:uppercase;font-size:13px}.reflection p{font-weight:750;color:#503a9b;font-size:18px;margin:0;line-height:1.45}.next-class{padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px}.next-class h4{margin:0 0 12px}.next-class .date{font-size:13px;color:#7c8798}.next-class strong{display:block;color:var(--navy);margin:8px 0 4px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px}.section-head h3{color:var(--navy);margin:0}.section-head a{color:var(--navy);font-weight:700;font-size:14px}.classes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.class-card{overflow:hidden}.thumb{height:120px;background:linear-gradient(135deg,#c8d8ee,#fff0c7);position:relative}.thumb.t2{background:linear-gradient(135deg,#b7c8d3,#7fa1b8)}.thumb.t3{background:linear-gradient(135deg,#ffe4a9,#f4c4d8)}.thumb.t4{background:linear-gradient(135deg,#c4e3b5,#6b8a56)}.date-badge{position:absolute;left:10px;top:10px;background:#fff;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:800}.class-body{padding:16px}.class-body h4{margin:0 0 8px;color:var(--navy);line-height:1.35}.class-body p{color:#7b8594;font-size:13px;margin:0 0 14px}.footer-banner{margin-top:24px;background:linear-gradient(100deg,var(--navy2),#154879);color:#fff;border-radius:18px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-banner p{opacity:.85;margin:5px 0 0}.footer-banner .btn{background:#20a78d;color:#fff;border-color:#20a78d}
.page-title{margin:0 0 6px;color:var(--navy);font-size:34px}.lead{color:#6e7b8d;margin:0 0 22px}.filterbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;cursor:pointer}.chip.active{background:var(--navy);color:#fff}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resource{padding:20px}.resource h3{margin:12px 0 7px;color:var(--navy)}.resource p{color:#6f7a8a;font-size:14px;min-height:44px}.archive-list{display:grid;gap:12px}.archive-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:14px}.archive-item .month{color:var(--teal);font-weight:800}.archive-item h3{margin:0;color:var(--navy)}.archive-item p{margin:4px 0 0;color:#758095;font-size:13px}
.mobile-toggle{display:none}.overlay{display:none}.notice{position:fixed;right:22px;bottom:22px;background:#172f4c;color:#fff;padding:14px 18px;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.18);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;z-index:99}.notice.show{opacity:1;transform:none}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;z-index:50;left:-280px;width:260px;transition:.25s;box-shadow:12px 0 30px rgba(0,0,0,.12)}.sidebar.open{left:0}.overlay.show{display:block;position:fixed;inset:0;background:rgba(10,22,35,.35);z-index:40}.mobile-toggle{display:inline-flex;border:0;background:transparent;font-size:24px}.topbar{padding:0 20px}.content{padding:20px}.hero{grid-template-columns:1fr}.hero-visual{min-height:210px}.hero h2{font-size:38px}.grid3,.resource-grid{grid-template-columns:1fr 1fr}.classes{grid-template-columns:1fr 1fr}.twocol,.reflection-row{grid-template-columns:1fr}}
@media(max-width:640px){.topbar strong{display:none}.search{width:75vw}.hero-copy{padding:26px}.hero h2{font-size:34px}.hero-meta{display:grid;gap:6px}.grid3,.resource-grid,.classes{grid-template-columns:1fr}.bible{width:210px;height:140px}.twocol{grid-template-columns:1fr}.archive-item{grid-template-columns:1fr}.reflection{align-items:flex-start}.reflection .bubble{width:54px;height:54px;font-size:26px}.footer-banner{align-items:flex-start;flex-direction:column}.content{padding:16px}.page-title{font-size:30px}}
.weekly-announcement{margin-top:20px;background:linear-gradient(100deg,#11365e,#18527d);color:#fff;border-radius:16px;padding:18px 20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow)}.weekly-announcement .announcement-icon{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:22px}.weekly-announcement span{font-size:11px;letter-spacing:.08em;font-weight:800;color:#9edfd3}.weekly-announcement h3{margin:3px 0 4px}.weekly-announcement p{margin:0;opacity:.86;font-size:13px}.weekly-announcement .btn{flex:0 0 auto}.dynamic-resource{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eef1f5}.dynamic-resource:last-child{border-bottom:0}.dynamic-resource .resource-mini-icon{width:40px;height:40px;border-radius:10px;background:#f0f4f8;display:grid;place-items:center}.dynamic-resource small{display:block;color:#758096;margin-top:2px}
@media(max-width:640px){.weekly-announcement{align-items:flex-start;flex-wrap:wrap}.weekly-announcement .btn{width:100%;text-align:center}}

/* Identidad de unidad local */
.brand .unit-name{display:block;line-height:1.35;margin-top:4px;font-size:11px;color:#65748a}.brand .unit-name span{font-size:10px;color:#8a96a8}.stake-footer{display:inline-block;margin-top:3px;line-height:1.35}.sidebar-footer{line-height:1.45}
@media (max-width: 760px){
  .classes[style*="grid-template-columns:repeat(2"]{grid-template-columns:1fr !important;}
}
