/* Pies Plus — estilos modernos y responsivos */
:root{
  --brand-magenta:#9E1B64;
  --brand-blue:#1E6FB3;
  --bg:#ffffff;
  --text:#222;
  --muted:#6b7280;
  --card:#f7f7fb;
  --alt:#f3f7fb;
  --radius:18px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:var(--text);background:var(--bg);}
img{max-width:100%;display:block}
a{color:var(--brand-blue);text-decoration:none}
.container{width:min(1120px,92%);margin-inline:auto}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid #eee}
.header-grid{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;gap:12px;align-items:center}
.brand__logo{width:44px;height:44px;object-fit:cover;border-radius:50%}
.brand__text strong{font-size:1.1rem;letter-spacing:.3px}
.brand__text span{color:var(--brand-blue)}
.nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.nav a{font-weight:600}
.btn{display:inline-block;padding:12px 18px;border-radius:999px;font-weight:700;border:2px solid transparent;transition:transform .15s ease,opacity .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:linear-gradient(135deg,var(--brand-magenta),var(--brand-blue));color:white}
.btn--ghost{border-color:var(--brand-blue);color:var(--brand-blue);background:transparent}

.hero{padding:40px 0 20px;background:radial-gradient(1200px 600px at 15% -10%, rgba(158,27,100,.12), transparent), radial-gradient(800px 500px at 100% 0%, rgba(30,111,179,.10), transparent)}
.hero__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}
.hero__copy h1{font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0 0 12px}
.accent{color:var(--brand-magenta)}
.accent2{color:var(--brand-blue)}
.hero__copy p{color:var(--muted);font-size:1.05rem}
.hero__cta{display:flex;gap:12px;margin-top:16px}
.rounded{border-radius:var(--radius);box-shadow:var(--shadow)}

.section{padding:64px 0}
.section.alt{background:var(--alt)}
.section h2{font-size:clamp(24px,3vw,34px);margin:0 0 22px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.card{background:var(--card);padding:20px;border-radius:16px;box-shadow:var(--shadow)}
.card h3{margin:0 0 6px}

.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.video-wrapper{position:relative;padding-top:56.25%;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:#0002}
.video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.social-embeds .embed{background:var(--card);padding:16px;border-radius:16px;box-shadow:var(--shadow)}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}

.map-wrap{position:relative;padding-top:56.25%;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.map-wrap iframe{position:absolute;inset:0;border:0;width:100%;height:100%}

.form{display:grid;gap:12px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;background:white;font:inherit}
label{font-weight:600;display:grid;gap:6px}
.form__note{color:var(--muted);font-size:.9rem}

.site-footer{background:#0f172a;color:#e5e7eb;padding:28px 0}
.site-footer .link{color:#e5e7eb;text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:start}
.made{justify-self:end;align-self:end}
.made a{color:#e5e7eb;opacity:.9}
.made a:hover{opacity:1}

.whatsapp-float{position:fixed;right:18px;bottom:18px;background:#25D366;border-radius:999px;padding:12px;box-shadow:var(--shadow);display:inline-flex}
.whatsapp-float svg{width:28px;height:28px;fill:white}

/* Responsivo */
@media (max-width: 900px){
  .hero__grid{grid-template-columns:1fr;gap:20px}
  .made{justify-self:start}
  .form__row{grid-template-columns:1fr}
}
