.public-body{background:linear-gradient(180deg,#fff7ff 0%,#f7fbff 44%,#fbf8ff 100%)}
.public-top{width:100%;padding:14px 18px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.84);backdrop-filter:blur(18px);border-bottom:1px solid rgba(236,229,251,.78)}
.public-nav{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}
.public-brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:950;letter-spacing:-.035em;color:#17122b;min-width:0}
.public-brand img{width:46px!important;height:46px!important;min-width:46px;object-fit:contain;border-radius:15px}
.public-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-main{max-width:1180px;width:100%;margin:0 auto;padding:26px 18px 58px}
.landing-card{background:#fff;border:1px solid var(--line);border-radius:34px;padding:30px;box-shadow:var(--shadow);min-width:0}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;width:100%}
.feature{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);min-width:0;transition:.2s}
.feature:hover{transform:translateY(-4px)}
.feature b{display:block;font-size:18px;margin-bottom:8px;color:#17122b}
.feature p{margin:0;color:#584b70;font-weight:650}
.est-hero{position:relative;overflow:hidden;border-radius:36px;box-shadow:var(--shadow);background:#222;min-height:330px;color:#fff;display:flex;align-items:flex-end}
.est-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.est-hero-content{position:relative;padding:34px;width:100%;background:linear-gradient(transparent,rgba(0,0,0,.66))}
.est-hero h1{font-size:clamp(32px,6vw,62px);margin:0 0 8px;letter-spacing:-.06em}
.est-hero p{max-width:780px;font-size:18px;line-height:1.5}
.public-sections{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:22px;margin-top:22px;align-items:start}
.service-list{display:grid;gap:12px}
.service-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 38px rgba(46,16,101,.08)}
.service-item h3{margin:0 0 5px}
.service-item small{color:var(--soft);font-weight:900}
.agendar-box{position:sticky;top:94px}
.horarios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:9px;margin-top:10px}
.horario-btn{border:1px solid #ddd6fe;background:#fff;border-radius:14px;padding:10px;cursor:pointer;font-weight:900;color:#5b21b6;transition:.18s}
.horario-btn.active,.horario-btn:hover{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;transform:translateY(-2px)}
.public-footer{text-align:center;color:var(--soft);font-weight:900;padding:36px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
.step{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:22px;padding:20px;font-weight:900;min-width:0}
.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:22px;align-items:stretch}
.hero-panel{background:#fff;border:1px solid var(--line);border-radius:36px;padding:26px;box-shadow:var(--shadow);display:grid;gap:14px}
.hero-panel-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#fff,#fdf4ff);border:1px solid var(--line);border-radius:22px;padding:16px;font-weight:900}
.hero-panel-row small{display:block;color:var(--soft);font-weight:800;margin-top:4px}
@media(max-width:980px){.features,.steps,.public-sections,.landing-hero-grid{grid-template-columns:1fr}.agendar-box{position:static}.public-nav{flex-wrap:wrap}.public-nav .actions{justify-content:flex-start}.service-item{grid-template-columns:1fr}.public-brand span{max-width:220px}}
@media(max-width:640px){.public-top{padding:12px}.public-main{padding:18px 12px 46px}.public-nav{align-items:flex-start}.public-nav .actions .btn{width:auto}.public-brand img{width:42px!important;height:42px!important;min-width:42px}.landing-card{padding:20px;border-radius:24px}.est-hero-content{padding:24px}}
