:root{
  --bg:#111110; --bg2:#1C1B19; --cream:#F4EFE4; --bronze:#C4510E;
  --text:#FAFAF8; --gray:#8A8880; --navy:#1E2235;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
html{scroll-behavior:smooth; scroll-padding-top:64px;}
*,*::before,*::after{box-sizing:inherit;}
body{margin:0; background:var(--bg); color:var(--text); font-family:'DM Sans',sans-serif; font-weight:300; line-height:1.6; -webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Cormorant Garamond',serif; font-weight:400; margin:0 0 .4em; letter-spacing:.01em;}
p{margin:0 0 1em;}
a{color:inherit;}
::selection{background:var(--bronze); color:var(--text);}
:focus-visible{outline:2px solid var(--bronze); outline-offset:3px;}
.container{max-width:760px; margin:0 auto; padding:0 24px;}

/* NAV */
header.site{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:rgba(17,17,16,.92); backdrop-filter:blur(6px); border-bottom:1px solid #2A2926;}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:760px; margin:0 auto;}
.nav-word{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.2rem; color:var(--cream); text-decoration:none;}
.nav-toggle{background:none; border:1px solid #3a3936; color:var(--cream); font-family:'DM Sans',sans-serif; font-size:.85rem; padding:8px 12px; cursor:pointer;}
.nav-links{display:none; flex-direction:column; gap:2px; background:var(--bg2); border-bottom:1px solid #2A2926;}
.nav-links.open{display:flex;}
.nav-links a{padding:14px 24px; font-size:.9rem; color:var(--cream); text-decoration:none; border-top:1px solid #2A2926;}
@media(min-width:720px){
  .nav-toggle{display:none;}
  .nav-links{display:flex !important; flex-direction:row; background:none; border:none; gap:28px;}
  .nav-links a{padding:0; border:none; font-size:.85rem;}
}

/* HERO */
.hero{padding:72px 0 56px; text-align:center; border-bottom:1px solid #232220;}
.eyebrow{font-size:.85rem; color:var(--gray); letter-spacing:.04em; margin-bottom:18px;}
.hero h1{font-size:clamp(2.6rem,9vw,4.6rem); line-height:1.05; color:var(--cream);}
.hero h1 em{font-style:italic; color:var(--bronze); display:block;}
.hero-sub{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.3rem; color:var(--gray); max-width:520px; margin:18px auto 26px;}
.meta-line{font-size:.85rem; color:var(--gray); margin-bottom:34px;}
.meta-line span{margin:0 4px;}
.btn{display:inline-block; background:var(--bronze); color:var(--text); font-family:'DM Sans',sans-serif; font-size:.95rem; padding:15px 34px; text-decoration:none; border:none; cursor:pointer; letter-spacing:.02em;}
.btn:hover{background:#a8460c;}
.btn:disabled{opacity:.5; cursor:not-allowed;}
.btn-outline{background:transparent; border:1px solid var(--bronze); color:var(--cream);}
.btn-outline:hover{background:var(--bronze);}

.countdown{display:flex; justify-content:center; gap:28px; margin-top:46px;}
.countdown div{text-align:center;}
.countdown .num{font-family:'Cormorant Garamond',serif; font-size:2.2rem; color:var(--cream); font-weight:400;}
.countdown .lbl{font-size:.68rem; color:var(--gray); letter-spacing:.06em; text-transform:uppercase;}

section{padding:64px 0;}
.section-title{font-size:2rem; color:var(--cream); margin-bottom:8px;}
.section-lead{color:var(--gray); font-size:.95rem; margin-bottom:36px; max-width:500px;}

.split{display:grid; grid-template-columns:1fr; gap:1px; background:#232220; border:1px solid #232220;}
@media(min-width:680px){.split{grid-template-columns:1fr 1fr;}}
.split .col{background:var(--bg); padding:32px;}
.split h3{font-size:1.3rem; color:var(--bronze); margin-bottom:18px;}
.split ul{margin:0; padding:0; list-style:none;}
.split li{padding:10px 0; border-top:1px solid #232220; color:var(--cream); font-size:.92rem;}
.split li:first-child{border-top:none;}

.grid3{display:grid; grid-template-columns:1fr; gap:1px; background:#232220; border:1px solid #232220;}
@media(min-width:680px){.grid3{grid-template-columns:repeat(3,1fr);}}
.exp-card{background:var(--bg2); padding:34px 26px; text-align:center;}
.orn{width:22px; height:1px; background:var(--bronze); margin:0 auto 18px;}
.exp-card h3{font-size:1.4rem; color:var(--cream); margin-bottom:4px;}
.exp-card .role{font-size:.78rem; color:var(--gray); letter-spacing:.05em;}

.plen{border-top:1px solid #232220;}
.plen-item{display:flex; gap:22px; padding:26px 0; border-bottom:1px solid #232220;}
.plen-num{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.6rem; color:var(--bronze); flex:none; width:2.2em;}
.plen-item h3{font-size:1.25rem; color:var(--cream); margin-bottom:6px;}
.plen-item p{color:var(--gray); font-size:.9rem; margin:0;}

.detalles-box{background:var(--bg2); padding:34px; border-left:2px solid var(--bronze);}
.detalles-box dl{margin:0; display:grid; grid-template-columns:auto 1fr; gap:10px 20px; font-size:.92rem;}
.detalles-box dt{color:var(--gray);}
.detalles-box dd{margin:0; color:var(--cream);}

#registro{background:var(--bg2);}
.progress-wrap{margin-bottom:34px;}
.progress-bar{height:4px; background:#2A2926; overflow:hidden;}
.progress-fill{height:100%; background:var(--bronze); transition:width .4s ease;}
.progress-text{font-size:.8rem; color:var(--gray); margin-top:8px;}
form.reg-form{display:grid; gap:18px;}
.field label{display:block; font-size:.82rem; color:var(--gray); margin-bottom:6px;}
.field input, .field select, .field textarea{
  width:100%; background:var(--bg); border:1px solid #3a3936; color:var(--text);
  padding:13px 14px; font-family:'DM Sans',sans-serif; font-size:.95rem;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--bronze);}
.field textarea{resize:vertical; min-height:70px;}
.field .err{color:var(--bronze); font-size:.78rem; margin-top:6px; display:none;}
.field.invalid .err{display:block;}
.field.invalid input, .field.invalid select{border-color:var(--bronze);}
.row2{display:grid; gap:18px;}
@media(min-width:600px){.row2{grid-template-columns:1fr 1fr;}}
.form-msg{padding:14px 16px; font-size:.85rem; margin-bottom:18px; display:none;}
.form-msg.show{display:block;}
.form-msg.error{background:rgba(196,81,14,.15); border:1px solid var(--bronze); color:var(--cream);}
.confirm-box{text-align:center; padding:50px 20px;}
.confirm-mark{width:56px; height:56px; border:1px solid var(--bronze); border-radius:50%; margin:0 auto 24px; display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:1.6rem; color:var(--bronze);}
.confirm-box h3{font-size:1.8rem; color:var(--cream);}
.confirm-num{font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--bronze); font-size:1.3rem; margin:10px 0 20px;}
.closed-box{text-align:center; padding:50px 20px; color:var(--gray);}

details.faq-item{border-top:1px solid #232220; padding:18px 0;}
details.faq-item:last-child{border-bottom:1px solid #232220;}
details.faq-item summary{cursor:pointer; color:var(--cream); font-size:1rem; list-style:none; display:flex; justify-content:space-between; gap:16px;}
details.faq-item summary::-webkit-details-marker{display:none;}
details.faq-item summary::after{content:"+"; color:var(--bronze); font-size:1.2rem; flex:none;}
details.faq-item[open] summary::after{content:"–";}
details.faq-item p{color:var(--gray); font-size:.9rem; margin-top:14px; padding-right:20px;}

footer.site{background:var(--bg2); padding:48px 0 30px; border-top:1px solid #232220; text-align:center;}
footer.site .nav-word{display:block; margin-bottom:10px;}
footer.site .tagline{font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--gray); margin-bottom:22px;}
footer.site .fine{font-size:.78rem; color:var(--gray);}
.admin-link{display:inline-block; margin-top:26px; font-size:.72rem; color:#5a5852; text-decoration:none; border:none; background:none; cursor:pointer;}

/* ADMIN (usado por admin.html) */
body.admin-body-page{padding:0;}
.admin-login{max-width:340px; margin:80px auto; padding:0 24px;}
.admin-login h2{font-size:1.6rem; color:var(--cream); margin-bottom:24px; text-align:center;}
.admin-bar{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid #232220; position:sticky; top:0; background:var(--bg); z-index:5;}
.admin-bar h2{font-size:1.1rem; margin:0; color:var(--cream);}
.admin-bar button{background:none; border:1px solid #3a3936; color:var(--gray); padding:8px 14px; font-size:.8rem; cursor:pointer;}
.admin-content{padding:20px; max-width:1100px; margin:0 auto;}
.tabs{display:flex; gap:0; overflow-x:auto; border-bottom:1px solid #232220; margin-bottom:24px;}
.tab-btn{background:none; border:none; color:var(--gray); padding:12px 18px; font-size:.85rem; cursor:pointer; border-bottom:2px solid transparent; white-space:nowrap; font-family:'DM Sans',sans-serif;}
.tab-btn.active{color:var(--cream); border-bottom-color:var(--bronze);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.stat-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#232220; border:1px solid #232220; margin-bottom:24px;}
@media(min-width:600px){.stat-grid{grid-template-columns:repeat(4,1fr);}}
.stat{background:var(--bg2); padding:20px; text-align:center;}
.stat .n{font-family:'Cormorant Garamond',serif; font-size:1.9rem; color:var(--bronze);}
.stat .l{font-size:.72rem; color:var(--gray); margin-top:4px;}
.last-reg{background:var(--bg2); padding:18px 20px; font-size:.88rem; color:var(--cream); margin-bottom:16px; border-left:2px solid var(--bronze);}
.controls{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px;}
.controls input, .controls select{background:var(--bg2); border:1px solid #3a3936; color:var(--text); padding:10px 12px; font-size:.85rem; font-family:'DM Sans',sans-serif;}
.table-wrap{overflow-x:auto; border:1px solid #232220;}
table{width:100%; border-collapse:collapse; font-size:.82rem; min-width:760px;}
th,td{text-align:left; padding:10px 12px; border-bottom:1px solid #232220; white-space:nowrap;}
th{color:var(--gray); font-weight:400; font-size:.75rem; text-transform:uppercase; letter-spacing:.03em;}
td{color:var(--cream);}
.pager{display:flex; justify-content:space-between; align-items:center; margin-top:16px; font-size:.82rem; color:var(--gray);}
.pager button{background:none; border:1px solid #3a3936; color:var(--cream); padding:8px 14px; cursor:pointer;}
.pager button:disabled{opacity:.35; cursor:not-allowed;}
.chart-box{background:var(--bg2); padding:20px; margin-bottom:24px;}
.chart-box h4{color:var(--cream); font-size:.95rem; margin-bottom:16px; font-family:'DM Sans',sans-serif; font-weight:400;}
.export-list{display:grid; gap:14px; max-width:420px;}
#print-area{display:none;}
@media print{
  body *{visibility:hidden;}
  #print-area, #print-area *{visibility:visible;}
  #print-area{display:block; position:absolute; top:0; left:0; width:100%; color:#000; background:#fff; padding:20px;}
  #print-area table{width:100%; border-collapse:collapse;}
  #print-area th,#print-area td{border:1px solid #999; padding:6px 8px; font-size:11px; color:#000;}
}
