*{box-sizing:border-box}
:root{
  --brand:#0f6e78; /* verde-azulado del look Ortopiecito */
  --brand-2:#113a5c; /* azul oscuro de apoyo */
  --bg:#f7fbfb;
  --text:#24323a;
}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:var(--text);background:var(--bg)}
img{max-width:100%;height:auto;display:block;border-radius:16px}
.container{width:min(1100px,92%);margin-inline:auto}
.site-header{background:linear-gradient(135deg,var(--brand) 0%, var(--brand-2) 100%);color:white}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:white}
.brand__logo{width:40px;height:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.2))}
.brand__name{font-weight:800;letter-spacing:.5px}
.nav__toggle{display:none;font-size:1.5rem;border:0;background:transparent;color:white;cursor:pointer}
.nav__menu{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.nav__menu a{color:white;text-decoration:none;font-weight:600;opacity:.9}
.nav__menu a:hover{opacity:1}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:40px 0 60px}
.hero__content h1{font-size:clamp(28px,4vw,42px);margin:.2rem 0}
.hero__content p{opacity:.95;max-width:54ch}
.btn{display:inline-block;background:white;color:var(--brand-2);padding:.9rem 1.2rem;border-radius:999px;text-decoration:none;font-weight:700;box-shadow:0 10px 20px rgba(0,0,0,.1)}
.btn:hover{transform:translateY(-1px)}
.features{padding:60px 0}
.features h2,.about h2,.gallery h2,.social h2,.contact h2{font-size:clamp(24px,3.5vw,36px);margin:0 0 14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:white;padding:14px;border-radius:16px;box-shadow:0 6px 18px rgba(0,0,0,.06)}
.card h3{margin:.6rem 0}
.bullets{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:18px 0 0;list-style:none}
.bullets li{background:rgba(17,58,92,.06);padding:8px 12px;border-radius:999px}
.about{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center;padding:40px 0}
.video-wrapper{position:relative;padding-top:56.25%;border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.15)}
.video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gallery{padding:40px 0}
.social{padding:40px 0}
.social__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact{padding:40px 0}
.contact__grid{display:grid;grid-template-columns:1fr .9fr;gap:22px;align-items:start}
.form{display:grid;gap:12px;background:white;padding:16px;border-radius:16px;box-shadow:0 6px 18px rgba(0,0,0,.06)}
.form input,.form textarea{width:100%;padding:12px;border:1px solid #d7e3e6;border-radius:12px;font:inherit}
.form button{cursor:pointer}
.form__msg{margin:6px 0 0;font-weight:600}
.site-footer{background:#0d1e2a;color:#cfe6ea;padding:20px 0;margin-top:30px}
.footer__grid{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wa-float{position:fixed;right:16px;bottom:16px;background:#25D366;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 20px rgba(0,0,0,.2);z-index:50}
.wa-float svg{width:28px;height:28px;fill:white}
/* Responsive */
@media (max-width: 900px){
  .hero,.about,.contact__grid{grid-template-columns:1fr}
  .social__grid,.grid-3{grid-template-columns:1fr 1fr}
  .nav__toggle{display:block}
  .nav__menu{position:absolute;right:4%;top:64px;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);padding:12px 16px;border-radius:12px;display:none;flex-direction:column}
  .nav__menu a{color:#fff}
}
@media (max-width: 520px){
  .social__grid,.grid-3{grid-template-columns:1fr}
}
