:root{--violeta:#3a1470;--violeta-2:#6b45b8;--lila:#f1ebfc;--oro:#f5c518;--papel:#fffdf7;--tinta:#1f1633;--titulos:"Zilla Slab",Rockwell,Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{margin:0;font:1.05rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--tinta);background:var(--papel)}
h1,h2,h3{font-family:var(--titulos);line-height:1.15;margin:0}
a{color:var(--violeta)}
:focus-visible{outline:3px solid var(--violeta-2);outline-offset:3px}
header :focus-visible,.hero :focus-visible{outline-color:var(--oro)}
.wrap{max-width:1040px;margin:auto;padding:0 1.25rem}
section{padding:3.5rem 0}
h2{font-size:2.1rem;color:var(--violeta);margin-bottom:1.5rem}

/* Cabecera */
header{position:sticky;top:0;z-index:10;background:var(--violeta)}
header .wrap{display:flex;justify-content:space-between;align-items:center;min-height:60px}
.logo{font:700 1.4rem var(--titulos);color:#fff;text-decoration:none}
nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
nav a{color:#fff;text-decoration:none;font-weight:600}
nav a:hover{text-decoration:underline;text-decoration-color:var(--oro);text-decoration-thickness:3px;text-underline-offset:6px}
#burger{display:none;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}

/* Portada: pañoleta triangular */
.hero{background:var(--violeta);color:#fff;padding:4rem 0 6rem;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-30px;top:0;width:min(46vw,420px);aspect-ratio:1;background:var(--violeta-2);clip-path:polygon(0 0,100% 0,50% 100%)}
.hero .wrap{position:relative;z-index:1}
.hero h1{font-size:clamp(4.5rem,18vw,10rem);letter-spacing:-.02em}
.hero p{max-width:26rem;font-size:1.2rem;margin:.5rem 0 1.8rem}
.btn{display:inline-block;background:var(--oro);color:var(--violeta);padding:.75rem 1.5rem;border-radius:6px;font-weight:700;text-decoration:none}
.btn:hover{background:#ffd84a}

/* Tablón violeta con notas clavadas */
.tablero{background:var(--violeta-2) radial-gradient(#0003 1px,transparent 1.6px) 0 0/9px 9px}
.tablero h2{color:#fff}
.tablon{display:grid;gap:2rem 1.6rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start}
.nota{position:relative;background:var(--papel);padding:1.7rem 1.3rem 1.3rem;box-shadow:2px 5px 12px #0006;transform:rotate(-1.2deg)}
.nota:nth-child(3n+2){transform:rotate(.9deg);background:#fff6cf}
.nota:nth-child(3n){transform:rotate(-.4deg);background:var(--lila)}
.nota::before{content:"";position:absolute;top:-8px;left:50%;width:16px;height:16px;border-radius:50%;background:var(--oro);box-shadow:0 3px 4px #0006}
.nota.fija{border-top:6px solid var(--violeta)}
.nota h3{font-size:1.4rem;margin-bottom:.4rem;color:var(--violeta)}
.nota p{margin:.3rem 0}
.fecha{font-weight:700;color:var(--violeta-2)}

/* Ramas */
.rama{border-left:8px solid var(--c);padding:.2rem 1.2rem;margin-bottom:1.5rem;max-width:44rem}
.rama h3{font-size:1.5rem;color:var(--violeta)}
.rama p{margin:.2rem 0}

/* Fotos y documentos */
.claro{background:var(--lila)}
.lista{max-width:44rem}
.lista a{display:flex;flex-direction:column;padding:1rem 0;border-bottom:2px solid #3a147033;text-decoration:none;font:700 1.5rem var(--titulos);color:var(--violeta)}
.lista a span{font:400 1rem system-ui,sans-serif;color:#51466a}
.lista a:hover{color:var(--violeta-2)}

footer{background:var(--violeta);color:#e4dcf5;text-align:center;padding:1.8rem 1rem;font-size:.9rem}
footer p{margin:0}

@media(max-width:720px){
  #burger{display:block}
  nav ul{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;gap:1rem;background:var(--violeta);padding:1rem 1.25rem 1.4rem}
  nav ul.abierto{display:flex}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== v2: portada con carrusel, ramas, transiciones ===== */
.hero{min-height:28rem}
.hero::after{display:none}
.hero h1,.hero p,.hero .btn{animation:sube .9s both}
.hero p{animation-delay:.15s}.hero .btn{animation-delay:.3s}
@keyframes sube{from{opacity:0;translate:0 24px}}
.pano{position:absolute;right:max(1.25rem,calc(50% - 520px));top:0;width:min(46vw,440px);aspect-ratio:1;clip-path:polygon(0 0,100% 0,50% 100%);background:var(--violeta-2);overflow:hidden}
.pista{display:flex;height:100%;transition:transform .9s cubic-bezier(.7,0,.2,1)}
.pista img{flex:0 0 100%;width:100%;height:100%;object-fit:cover}

.ramas{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
a.rama{display:block;text-decoration:none;color:inherit;border:0;border-top:8px solid var(--c);background:#fff;padding:1.2rem;margin:0;max-width:none;box-shadow:0 2px 8px #3a147026;transition:transform .3s,box-shadow .3s,background .3s,color .3s}
a.rama:hover,a.rama:focus-visible{transform:translateY(-8px);box-shadow:0 14px 26px #3a147040;background:var(--c);color:var(--t)}
a.rama h3{color:inherit}
a.rama small{display:block;font-weight:700;opacity:.8}
a.rama span{display:inline-block;margin-top:.5rem;font-weight:700;transition:translate .3s}
a.rama:hover span{translate:6px 0}

/* Página de rama */
.rh{background:var(--c);color:var(--t);padding:3rem 0 4rem;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 2rem),0 100%)}
.rh .wrap{display:grid;gap:2rem;grid-template-columns:1.3fr 1fr;align-items:center}
.rh h1{font-size:clamp(3.2rem,11vw,6.5rem)}
.rh p{font-size:1.2rem;max-width:32rem}
.edad{display:inline-block;background:var(--violeta);color:#fff;padding:.3rem .9rem;border-radius:99px;font-weight:700;margin-bottom:1rem}
.kid{justify-self:center;max-width:100%;height:auto;animation:bota 1.6s ease-in-out infinite}
.brazo{transform-origin:88px 80px;rotate:-140deg;animation:saluda 1s ease-in-out infinite alternate}
@keyframes bota{50%{translate:0 -8px}}
@keyframes saluda{to{rotate:-115deg}}
.met{max-width:44rem;padding-left:1.2rem}
.met li{margin:.8rem 0;padding-left:.4rem}.met li::marker{color:var(--c);font-size:1.3em}
.nav-r{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;font-weight:700}
.pag{padding-top:3rem;min-height:60vh}
.pag h1{font-size:2.6rem;color:var(--violeta);margin-bottom:.5rem}

/* Animaciones */
.rv{opacity:0}
.rv.on{animation:aparece .7s var(--d,0s) both}
@keyframes aparece{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:none}
::view-transition-new(root){animation:.8s cubic-bezier(.7,0,.2,1) revela both}
@keyframes revela{from{clip-path:polygon(50% 0,50% 0,50% 0)}to{clip-path:polygon(-150% -100%,250% -100%,50% 250%)}}

@media(max-width:720px){
  .hero{padding-bottom:3rem}
  .pano{position:relative;right:auto;margin:2rem auto 0;width:min(78vw,340px)}
  .rh .wrap{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1}.rv.on,.hero h1,.hero p,.hero .btn,.kid,.brazo{animation:none}
  @view-transition{navigation:none}
}

#acampadas a::after{content:" ↗";font-weight:400}
