/* Cedro Novaterra · estilos compartidos (versión corporativa) */
:root{
  box-sizing:border-box;
  --bg:#fcfdf9; --bg-soft:#f1f5ea; --surface:#ffffff; --ink:#1d2a21; --ink-soft:#56655b; --line:#dfe5da;
  --green:#1b5e35; --green-deep:#0f3d22; --accent:#9cc43a; --alert:#c8501f; --alert-bg:#fbeee7;
  --header-bg:#0f3d22; --header-ink:#f1f6ec; --footer-bg:#0b2f1a; --footer-ink:#c9d8c4;
  --radius:16px; --script:'Caveat',cursive;
  --display:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif; --body:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;
  --leaf1:#2f7a46; --leaf2:#6fae4c; --leaf3:#b4d44a; --leaf-stem:#3b7a4a; --leaf-vein:rgba(255,255,255,.55);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0d1711; --bg-soft:#13211a; --surface:#14241b; --ink:#e5eee0; --ink-soft:#a2b5a7; --line:#26402f;
  --green:#8fd0a1; --green-deep:#8fd0a1; --accent:#b9d95a; --alert:#ff8250; --alert-bg:#37201a;
  --header-bg:#0a1a11; --footer-bg:#08120c;
  --leaf1:#5fbf80; --leaf2:#3f8a58; --leaf3:#c4de4a; --leaf-stem:#4a8a5e; --leaf-vein:rgba(8,30,18,.55);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);line-height:1.2;margin:0 0 .55em;font-weight:600;color:var(--ink)}
h1{font-size:clamp(2rem,4.6vw,3.3rem);font-weight:700}
h2{font-size:clamp(1.55rem,3vw,2.1rem)}
h3{font-size:1.1rem}
p{margin:0 0 1em;max-width:66ch}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{width:min(1140px,100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 14px;z-index:100}
.skip:focus{left:8px}
.title-bar{display:block;width:56px;height:3px;background:var(--accent);margin:12px 0 22px}

.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-block;padding:.75rem 1.5rem;border-radius:6px;font:inherit;font-weight:600;text-decoration:none;border:2px solid transparent;cursor:pointer;letter-spacing:.01em;transition:transform .25s ease,box-shadow .25s ease,color .3s ease,border-color .3s ease}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sweep,var(--green-deep));transform:translateX(-101%);transition:transform .38s cubic-bezier(.2,.7,.2,1)}
.btn:active{transform:translateY(0)!important;box-shadow:none!important}
@media (hover:hover){
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(10,40,20,.22)}
  .btn:hover::before{transform:translateX(0)}
}
.btn:focus-visible::before{transform:translateX(0)}
.btn-primary{background:var(--green);color:#fff;--sweep:#0a2c18}
:root[data-theme="dark"] .btn-primary{background:var(--accent);color:#0d2415;--sweep:#d6ec8e}
.btn-light{background:#fff;color:#0f3d22;--sweep:var(--accent)}
.btn-outline{border-color:rgba(255,255,255,.8);color:#fff;background:transparent;--sweep:#fff}
.btn-outline:hover,.btn-outline:focus-visible{color:#0f3d22}
.btn-line{border-color:var(--green);color:var(--green);background:transparent;--sweep:var(--green)}
.btn-line:hover,.btn-line:focus-visible{color:#fff}
:root[data-theme="dark"] .btn-line:hover,:root[data-theme="dark"] .btn-line:focus-visible{color:#0d2415}

/* Encabezado */
header.top{position:sticky;top:0;z-index:50;background:var(--header-bg);color:var(--header-ink);padding-top:env(safe-area-inset-top,0px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:80px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{width:60px;height:60px;display:block}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}
nav a.item{position:relative;display:block;padding:.6rem .85rem;text-decoration:none;font-weight:600;font-size:.92rem;letter-spacing:.01em;transition:color .2s}
nav a.item::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:0;height:3px;background:var(--accent);transform:scaleX(0);transition:transform .28s ease}
nav a.item:hover::after,nav a.item[aria-current="page"]::after{transform:scaleX(1)}
nav a.item:hover{color:var(--accent)}
.has-sub{position:relative}
.sub{position:absolute;top:100%;left:0;min-width:230px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--accent);padding:6px 0;display:flex;flex-direction:column;box-shadow:0 12px 28px rgba(0,0,0,.18);visibility:hidden;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,visibility .22s}
.sub a{display:block;padding:.6rem 1.1rem;text-decoration:none;font-size:.92rem;transition:padding .2s,background .2s,color .2s}
.sub a:hover{padding-left:1.4rem}
.sub a:hover{background:var(--bg-soft);color:var(--green)}
.has-sub:hover .sub,.has-sub:focus-within .sub{visibility:visible;opacity:1;transform:none}
.tools{display:flex;gap:8px;align-items:center}
.icon-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:var(--header-ink);display:grid;place-items:center;cursor:pointer}
.icon-btn:hover{border-color:var(--accent);color:var(--accent)}
.icon-btn .moon{display:none}
:root[data-theme="dark"] .icon-btn .sun{display:none}
:root[data-theme="dark"] .icon-btn .moon{display:block}
.burger{display:none}
@media (max-width:980px){
  .burger{display:grid}
  nav{position:absolute;left:0;right:0;top:100%;background:var(--header-bg);padding:6px 20px 18px;display:none;max-height:calc(100vh - 90px);overflow-y:auto;border-top:1px solid rgba(255,255,255,.12)}
  nav.open{display:block}
  nav ul{flex-direction:column;align-items:stretch}
  nav a.item{border-left:3px solid transparent;padding:.7rem .6rem}
  nav a.item::after{display:none}
  nav a.item[aria-current="page"]{border-left-color:var(--accent)}
  .sub{position:static;display:flex;visibility:visible;opacity:1;transform:none;background:transparent;color:inherit;border:0;box-shadow:none;padding:0 0 0 16px}
  .sub a:hover{background:transparent;color:var(--accent)}
}

/* Portada con foto */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(520px,78vh,700px);display:flex;align-items:center;color:#fff;background:#14301f}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:url("../assets/galeria/fachada-cedro.jpg") center 40%/cover no-repeat;animation:kenburns 30s ease-in-out infinite alternate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,18,.88) 0%,rgba(8,32,18,.62) 48%,rgba(8,32,18,.18) 100%)}
.hero .wrap{position:relative;z-index:1;padding:60px 0 100px}
.hero h1{color:#fff;max-width:16ch;margin-bottom:.4em}
.hero p{font-size:1.15rem;color:#e3ede0;max-width:46ch}
.hero .kicker{font-family:var(--display);font-weight:600;font-size:.95rem;letter-spacing:.04em;color:var(--accent);margin-bottom:.8em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* Franja de atención en vivo */
.strip{position:relative;z-index:2;margin-top:-52px}
.strip-box{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius);box-shadow:0 10px 30px rgba(10,40,20,.12);display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center}
:root[data-theme="dark"] .strip-box{box-shadow:0 10px 30px rgba(0,0,0,.4)}
.s-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;border-right:1px solid var(--line)}
.s-item b{display:block;font-family:var(--display);font-size:.98rem;font-weight:600}
.s-item span.d{display:block;font-size:.88rem;color:var(--ink-soft)}
.s-link{padding:20px 26px}
.pill{flex:none;padding:.2rem .65rem;border-radius:4px;font-weight:700;font-size:.78rem;background:var(--alert-bg);color:var(--alert);text-transform:uppercase;letter-spacing:.04em}
.pill.on{background:#e2f0c4;color:#2c4d12}
:root[data-theme="dark"] .pill.on{background:#27401a;color:#c4de4a}
@media (max-width:900px){
  .strip-box{grid-template-columns:1fr}
  .s-item{border-right:0;border-bottom:1px solid var(--line)}
}

/* Secciones */
section{padding:72px 0}
.soft{background:var(--bg-soft)}
.sec-head p{color:var(--ink-soft)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:28px}section{padding:52px 0}}
.photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
img.wide{display:block;width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:var(--radius)}
.values-line{color:var(--ink-soft);font-weight:600;font-size:.95rem}

/* Banner de páginas internas */
.banner{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:64px 0 56px;background:#14301f}
.banner::after{content:"";position:absolute;inset:0;z-index:-1;background:url("../assets/galeria/vista-aerea-cedro.jpg") center 55%/cover no-repeat;animation:kenburns 36s ease-in-out infinite alternate}
.banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,18,.9),rgba(8,32,18,.6))}
.banner .wrap{position:relative;z-index:1}
.banner h1{color:#fff;margin:0}
.banner p{color:#dbe8d7;margin:.6em 0 0;font-size:1.1rem}
.hero,.banner{--leaf1:#8fbf74;--leaf2:#b4d55f;--leaf3:#e1eea0;--leaf-stem:#a8d28f;--leaf-vein:rgba(15,45,25,.45)}

/* Horarios */
.tabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:24px;border-bottom:2px solid var(--line)}
.tab{border:0;background:none;color:var(--ink-soft);padding:.8rem 1.3rem;font:inherit;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.tab:hover{color:var(--green)}
.tab[aria-selected="true"]{color:var(--green);border-bottom-color:var(--accent)}
.panel{display:none}
.panel.on{display:block}
.table{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.trow{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:12px 22px;border-top:1px solid var(--line);align-items:center}
.trow:first-child{border-top:0}
.trow .day{font-weight:600}
.trow .hrs{display:flex;flex-direction:column;gap:2px}
.trow .closed{color:var(--ink-soft)}
.trow.today{background:var(--bg-soft);box-shadow:inset 4px 0 0 var(--accent)}
.trow.today .day::after{content:"hoy";margin-left:8px;font-size:.7rem;background:var(--green);color:#fff;padding:.1rem .5rem;border-radius:3px;vertical-align:middle;text-transform:uppercase;letter-spacing:.05em}
:root[data-theme="dark"] .trow.today .day::after{background:var(--accent);color:#0d2415}
.club-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}
.notice{display:flex;gap:14px;align-items:flex-start;background:var(--alert-bg);border-left:4px solid var(--alert);border-radius:var(--radius);padding:18px 22px;margin-top:22px}
.notice .ic{flex:none;width:30px;height:30px;border-radius:50%;background:var(--alert);color:#fff;display:grid;place-items:center;font-weight:700}
.notice h3{color:var(--alert);margin-bottom:.25em}
.notice p{margin:0}
.fine{font-size:.9rem;color:var(--ink-soft);margin-top:14px}
.fine a{color:var(--green);font-weight:600}

/* Tarjetas planas */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:900px){.cards{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--green);border-radius:var(--radius);padding:26px 26px 22px;display:flex;flex-direction:column}
:root[data-theme="dark"] .card{border-top-color:var(--accent)}
.card p{color:var(--ink-soft);margin-bottom:14px}
.card a.more{margin-top:auto;font-weight:600;color:var(--green);text-decoration:none;font-size:.95rem}
.card a.more::after{content:"»"}
.card a.more:hover{text-decoration:underline}
.zones{columns:2;column-gap:40px;list-style:none;padding:0;margin:0}
.zones li{break-inside:avoid;padding:.55rem 0 .55rem 22px;position:relative;border-bottom:1px solid var(--line)}
.zones li::before{content:"";position:absolute;left:0;top:1.05rem;width:8px;height:8px;background:var(--accent);border-radius:50%}
.zones.one{columns:1}
@media (max-width:600px){.zones{columns:1}}
.info-box{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:26px;background:var(--surface)}

/* Noticias y galería */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:900px){.news{grid-template-columns:1fr}}
.post{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.post time{font-size:.85rem;color:var(--ink-soft)}
.post h3{margin-top:.35em}
.post a.more{font-weight:600;color:var(--green);text-decoration:none}
.post a.more::after{content:"»"}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.gallery figure{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.gallery img{display:block;width:100%;height:230px;object-fit:cover}
.gallery figcaption{padding:10px 14px;font-size:.9rem;color:var(--ink-soft)}
.empty-state{border:2px dashed var(--line);border-radius:var(--radius);padding:40px;text-align:center;color:var(--ink-soft)}

/* Contacto */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.phone{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:18px 22px;margin-bottom:14px}
.phone small{display:block;color:var(--ink-soft)}
.phone a.num{font-family:var(--display);font-weight:700;font-size:1.5rem;text-decoration:none;color:var(--green)}
.phone .acts{display:flex;gap:8px;flex-wrap:wrap}
.phone .acts a{padding:.45rem 1rem;font-size:.9rem}
form.f{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:grid;gap:14px}
form.f label{font-weight:600;font-size:.92rem;display:grid;gap:6px}
form.f input,form.f select,form.f textarea{font:inherit;padding:.7rem .85rem;border-radius:6px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink)}
form.f textarea{min-height:120px;resize:vertical}

/* Mapa */
.map-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.map-card iframe{display:block;width:100%;height:420px;border:0;background:var(--bg-soft)}
.map-actions{display:flex;flex-wrap:wrap;gap:12px;padding:16px 20px}
@media (max-width:700px){.map-card iframe{height:320px}}

/* Pie de página */
footer{background:var(--footer-bg);color:var(--footer-ink);padding:52px 0 0;font-size:.95rem}
footer h3{color:#fff;font-size:1rem;margin-bottom:.8em}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr;gap:28px}}
footer img{width:72px;height:72px;display:block;margin-bottom:14px}
footer a{color:var(--footer-ink);text-decoration:none}
footer a:hover{color:var(--accent)}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot-bottom{margin-top:40px;border-top:1px solid rgba(255,255,255,.12);padding:18px 0 calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.88rem}

/* ---------- Hojas animadas ---------- */
.leaf-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.fall{position:absolute;top:-70px;left:var(--x);width:var(--s);height:var(--s);opacity:0;will-change:transform,opacity;animation:fall var(--d) linear var(--delay) infinite}
.fall.far{filter:blur(1.6px)}
.fall svg{display:block;width:100%;height:100%;overflow:visible;animation:tumble var(--tw) ease-in-out var(--delay) infinite alternate}
.fall .shape{fill:var(--c)}
.fall .vein{stroke:var(--leaf-vein);stroke-width:2.2;fill:none;stroke-linecap:round}
@keyframes fall{
  0%{transform:translate3d(0,0,0);opacity:0}
  8%{opacity:var(--o)}
  92%{opacity:var(--o)}
  100%{transform:translate3d(var(--drift),calc(var(--h,600px) + 140px),0);opacity:0}
}
@keyframes tumble{
  0%{transform:translateX(-22px) rotate(-40deg) perspective(260px) rotateY(0deg)}
  50%{transform:translateX(22px) rotate(30deg) perspective(260px) rotateY(160deg)}
  100%{transform:translateX(-14px) rotate(-70deg) perspective(260px) rotateY(320deg)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fall{display:none}.btn{transition:none}}


/* ---------- Animaciones sutiles ---------- */
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.07)}}

/* Imágenes: zoom suave al pasar el mouse y aparición al hacer scroll */
.img-frame{overflow:hidden;border-radius:var(--radius);box-shadow:0 1px 0 var(--line)}
.img-frame img{display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .9s ease,filter .6s ease}
.js .img-frame:not(.in) img{opacity:0;transform:scale(1.06)}
@media (hover:hover){
  .img-frame:hover img{transform:scale(1.045)}
  .gallery figure:hover img{transform:scale(1.06)}
}
.gallery figure{transition:box-shadow .3s ease,transform .3s ease}
.gallery img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.gallery figure:hover{box-shadow:0 14px 30px rgba(10,40,20,.18);transform:translateY(-3px)}}

/* Tarjetas y bloques */
.card,.post,.phone{position:relative;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.card::before{content:"";position:absolute;left:0;top:-3px;height:3px;width:0;background:var(--accent);transition:width .45s cubic-bezier(.2,.7,.2,1)}
.card a.more::after,.post a.more::after{display:inline-block;margin-left:.35em;transition:transform .25s ease}
@media (hover:hover){
  .card:hover,.post:hover,.phone:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(10,40,20,.13)}
  .card:hover::before{width:100%}
  .card a.more:hover::after,.post a.more:hover::after{transform:translateX(5px)}
}
:root[data-theme="dark"] .card:hover,:root[data-theme="dark"] .post:hover,:root[data-theme="dark"] .phone:hover{box-shadow:0 14px 28px rgba(0,0,0,.45)}
.trow{transition:background .2s ease}
@media (hover:hover){.trow:hover{background:var(--bg-soft)}}
.tab{transition:color .2s ease,border-color .25s ease}
.zones li::before{transition:transform .25s ease}
@media (hover:hover){.zones li:hover::before{transform:scale(1.7)}}
.strip-box{transition:box-shadow .3s ease}
.s-item .pill{transition:transform .25s ease}
@media (hover:hover){.s-item:hover .pill{transform:scale(1.06)}}

/* Botones de iconos y enlaces del pie */
.icon-btn svg{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.icon-btn:hover svg{transform:rotate(35deg) scale(1.1)}}
.logo img{transition:transform .3s ease}
@media (hover:hover){.logo:hover img{transform:scale(1.05)}}
footer a{background:linear-gradient(var(--accent),var(--accent)) left bottom/0 1px no-repeat;transition:background-size .3s ease,color .2s}
footer a:hover{background-size:100% 1px}
form.f input,form.f select,form.f textarea{transition:border-color .2s ease,box-shadow .2s ease}
form.f input:focus,form.f select:focus,form.f textarea:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}

@media (prefers-reduced-motion:reduce){
  .hero::after,.banner::after{animation:none}
  .js .img-frame:not(.in) img{opacity:1;transform:none}
  .btn,.btn::before,.card,.post,.phone,.img-frame img,.gallery figure{transition:none}
  .btn:hover,.card:hover,.post:hover,.phone:hover,.img-frame:hover img,.gallery figure:hover{transform:none}
}


/* ================= Suavizado y toque personal ================= */
section{position:relative;overflow:hidden}
section>.wrap{position:relative;z-index:1}
.btn{border-radius:12px}
form.f input,form.f select,form.f textarea{border-radius:10px}
.script,.script-kicker,.kicker.script,.foot-script{font-family:var(--script);font-weight:600}
.script-kicker{display:block;font-size:1.65rem;line-height:1;color:var(--green);margin-bottom:.15em}
:root[data-theme="dark"] .script-kicker{color:var(--accent)}
.hero .kicker.script{font-size:2rem;letter-spacing:0;color:var(--accent);margin-bottom:.1em}
.foot-script{font-size:1.5rem;color:var(--accent);margin:0 0 .6em;line-height:1.1}

/* Línea de título con hojita */
.title-bar{position:relative;width:64px;height:2px;background:var(--accent);margin:14px 0 26px}
.title-bar::after{content:"";position:absolute;left:100%;top:50%;width:15px;height:15px;margin:-10px 0 0 5px;background:var(--accent);border-radius:0 100% 0 100%;transform:rotate(-8deg)}

/* Fotos con esquina en forma de hoja */
.img-frame{border-radius:8px 64px 8px 64px;box-shadow:0 18px 36px rgba(20,60,35,.14)}
.img-frame img.photo,img.wide{border-radius:0}
.gallery figure{border-radius:20px}
@media (max-width:700px){.img-frame{border-radius:8px 40px 8px 40px}}

/* Tarjetas más suaves, con hoja de marca de agua */
.card,.post,.phone,.info-box,.table,.notice,.map-card,form.f,.strip-box{border-radius:var(--radius)}
.card,.post,.phone{border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,60,35,.07)}
.card{overflow:hidden;border-top:1px solid var(--line);background:var(--surface)}
.card::before{display:none}
.info-box{border-left-width:1px;border-top:4px solid var(--accent)}
.strip-box{border-top:1px solid var(--line);box-shadow:0 18px 40px rgba(10,40,20,.14);border-radius:22px}
.trow.today{box-shadow:inset 4px 0 0 var(--accent)}
.tabs{border-bottom:0;gap:8px}
.tab{border:1.5px solid var(--line);border-radius:999px;background:var(--surface);margin:0;padding:.55rem 1.2rem}
.tab:hover{border-color:var(--green)}
.tab[aria-selected="true"]{background:var(--green);border-color:var(--green);color:#fff}
:root[data-theme="dark"] .tab[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:#0d2415}
.notice{border-left-width:1px;border:1px solid color-mix(in srgb,var(--alert) 30%,transparent)}

/* Lista de zonas: filas parejas y hojitas */
.zones{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;columns:auto}
.zones.one{grid-template-columns:1fr}
@media (max-width:600px){.zones{grid-template-columns:1fr}}
.zones li::before{width:12px;height:12px;border-radius:0 100% 0 100%;top:.95rem;transform:rotate(-8deg)}

/* Ondas en los bordes de la portada y los banners */
.wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:64px;z-index:1;color:var(--bg);pointer-events:none}
.hero .wrap{padding-bottom:110px}
.banner{padding-bottom:84px}

/* Secciones suaves con borde ondulado */
.soft{background:var(--bg-soft)}
.soft::before,.soft::after{content:"";position:absolute;left:0;right:0;height:44px;background:var(--bg);z-index:0;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.soft::before{top:-1px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 44' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V14C1200 44 980 6 720 22C460 38 220 6 0 24Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 44' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V14C1200 44 980 6 720 22C460 38 220 6 0 24Z'/%3E%3C/svg%3E")}
.soft::after{bottom:-1px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 44' preserveAspectRatio='none'%3E%3Cpath d='M0 44H1440V30C1200 0 980 38 720 22C460 6 220 38 0 20Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 44' preserveAspectRatio='none'%3E%3Cpath d='M0 44H1440V30C1200 0 980 38 720 22C460 6 220 38 0 20Z'/%3E%3C/svg%3E")}
section.soft{padding:96px 0}

/* Ramas decorativas con hojas que se mecen */
.branch{position:absolute;pointer-events:none;z-index:0;overflow:visible;width:min(400px,44vw)}
.branch.sm{width:min(290px,34vw)}
.b-tr{top:-8px;right:-44px}
.b-tl{top:-8px;left:-44px;transform:scaleX(-1)}
.b-br{bottom:-8px;right:-44px;transform:scaleY(-1)}
.b-bl{bottom:-8px;left:-44px;transform:rotate(180deg)}
.hero .branch{z-index:0;top:-6px}
.banner .branch{opacity:.95}
.branch .bl{transform-box:fill-box;transform-origin:50% 100%;animation:branch-sway 5.5s ease-in-out var(--dl) infinite alternate}
.branch .bl.l1{fill:var(--leaf1)}.branch .bl.l2{fill:var(--leaf2)}.branch .bl.l3{fill:var(--leaf3)}
.branch .vein{stroke:var(--leaf-vein);stroke-width:1.6;fill:none;stroke-linecap:round}
@keyframes branch-sway{from{transform:rotate(calc(var(--sw) * -1))}to{transform:rotate(var(--sw))}}
@media (max-width:700px){.branch{opacity:.4}.branch.sm{width:200px}.hero .branch{opacity:.65}.banner .branch{opacity:.6}}
@media (prefers-reduced-motion:reduce){.branch .bl{animation:none}}

/* Pie */
footer img{border-radius:6px}

/* Noticias con imagen */
.post-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:14px}
.post:target{box-shadow:0 0 0 3px var(--accent)}
