:root{--ink:#071c28;--paper:#f3f0e7;--gold:#d9bd7b;--muted:#aac1c6;--line:#ffffff24;font-family:system-ui,sans-serif;color:var(--paper);background:var(--ink);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a.button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}header{max-width:1380px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:10px;letter-spacing:1.5px;line-height:1.6}.brand img{width:62px;height:62px;object-fit:contain}nav{display:flex;gap:25px;align-items:center;font-size:13px}nav a{text-decoration:none}.button,button{border:1px solid var(--gold);background:var(--gold);color:var(--ink);padding:14px 21px;display:inline-block;border-radius:3px;font-weight:650;text-decoration:none}.secondary{background:transparent;color:inherit}.hero{max-width:1380px;margin:auto;display:grid;grid-template-columns:1.25fr 1fr;min-height:690px;padding:50px 5% 65px;gap:7%}.eyebrow{font-size:11px;letter-spacing:2.2px;color:var(--gold);font-weight:650;line-height:1.8}.edition{font-size:14px;letter-spacing:4px;margin:30px 0 24px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;margin-top:0}h1{font-size:clamp(42px,5.8vw,82px);line-height:1.04;margin-bottom:25px}h1 i{display:block;font-size:.6em;color:var(--gold);margin-top:14px}h2{font-size:clamp(34px,4vw,55px);line-height:1.15;margin-bottom:30px}h2 i{color:var(--gold)}h3{font-size:27px;line-height:1.22}p{line-height:1.8}.theme{font-size:21px;line-height:1.5;max-width:600px}.intro{color:var(--muted);max-width:490px}.actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:30px;font-size:13px}.venue{font-size:12px;color:var(--muted);margin-top:36px}.hero-art{position:relative;overflow:hidden;background:radial-gradient(ellipse at 35% 25%,#215d65 0%,#0f3545 45%,#092330 80%);border:1px solid #ccb87955;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px}.hero-art:after{content:'';position:absolute;inset:16px;border:1px solid #d9bd7b44;pointer-events:none}.roman{position:absolute;top:-32px;right:-4px;font:310px Georgia;color:#ffffff06;letter-spacing:-20px}.seal img{width:155px;position:relative}.hero-art>p{font:29px/1.45 Georgia;position:relative;letter-spacing:2px}.hero-art i{font-size:19px;letter-spacing:0;color:var(--gold)}.countdown{border-top:1px solid #ffffff30;padding-top:25px;width:90%}.countdown strong{display:block;font:28px Georgia;color:var(--gold)}.countdown span{font-size:10px;display:block;margin-top:12px;color:var(--muted)}.ribbon{background:var(--gold);color:var(--ink);padding:18px 5%;display:flex;justify-content:center;gap:7%;font-size:12px}.section{max-width:1240px;padding:85px 5%;margin:auto;border-bottom:1px solid var(--line);scroll-margin-top:20px}.welcome{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.welcome>.eyebrow{grid-column:1/-1}.welcome p:first-child{margin-top:0}.mottos{color:var(--gold);font-size:13px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.program-grid article{padding:25px 22px;border:1px solid var(--line);background:#ffffff03}.day{font:64px Georgia;color:var(--gold)}.dress{border-top:1px solid var(--line);padding-top:18px;font-size:13px;color:var(--gold)}small{font-size:12px;line-height:1.65}.note{padding:20px;border-left:2px solid var(--gold);background:#ffffff04;font-size:13px}.tables{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.tables ol{list-style:none;counter-reset:mesas;padding:0}.tables li{counter-increment:mesas;position:relative;padding:20px 0 20px 48px;border-bottom:1px solid var(--line);font:21px/1.45 Georgia}.tables li:before{content:'0' counter(mesas);font:14px system-ui;color:var(--gold);position:absolute;left:0;top:26px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin:25px 0}caption{text-align:left;font-size:13px;padding-bottom:15px}th,td{text-align:left;padding:22px 16px;border-bottom:1px solid var(--line);font-weight:400}thead{background:#ffffff08;color:var(--gold)}td{white-space:nowrap}th small{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}.hotel{display:grid;grid-template-columns:1.6fr 1fr;gap:45px}.rate{border:1px solid var(--line);padding:30px;text-align:center}.rate>span{font-size:10px;letter-spacing:2px}.rate strong{font:60px Georgia;color:var(--gold);display:block;margin-top:24px}.rate b{font-weight:400}.rate p{margin-top:5px}.panel{border:1px solid var(--line);padding:28px;margin-bottom:20px;background:#ffffff03}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:13px;line-height:1.6;margin-bottom:16px}input,select,textarea{background:#0c2937;color:var(--paper);border:1px solid #64777e;border-radius:3px;padding:11px;width:100%;margin-top:6px;color-scheme:dark}input[type=checkbox]{width:auto}output{display:block;margin-top:20px;color:var(--gold)}fieldset{border:1px solid var(--line);margin:20px 0;padding:20px;min-width:0}legend{color:var(--gold)}.person{border-bottom:1px solid var(--line);padding:18px 0}.person .fields{grid-template-columns:2fr 1fr}summary{cursor:pointer;font:22px Georgia;padding:14px 0}details{border-bottom:1px solid var(--line);padding:10px 0}details p{color:var(--muted)}.closing{text-align:center;background:radial-gradient(ellipse at bottom,#16404a,transparent 75%)}.closing button{margin:10px}footer{padding:40px 6%;display:flex;justify-content:space-between;gap:30px;font-size:12px;color:var(--muted)}footer p{margin:0}.skip{position:absolute;top:-100px;left:10px;background:var(--paper);color:var(--ink);padding:10px;z-index:10}.skip:focus{top:10px}[hidden]{display:none!important}.error{color:#ffc1b0}@media(max-width:800px){header{flex-wrap:wrap}nav{gap:15px;flex-wrap:wrap}.hero{grid-template-columns:1fr;gap:35px;padding-top:30px}.hero-art{min-height:450px}.welcome,.tables,.hotel,.split{grid-template-columns:1fr;gap:20px}.program-grid{grid-template-columns:1fr}.ribbon{flex-wrap:wrap;gap:12px 25px}.section{padding:55px 6%}footer{flex-direction:column}.fields{grid-template-columns:1fr}.person .fields{grid-template-columns:1fr}h1{font-size:54px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.official-cover{max-width:1380px;margin:0 auto;padding:0 5%}.official-cover img{width:100%;height:auto;display:block;border:1px solid #d9bd7b55}.seal img{width:190px;height:190px;object-fit:contain}.brand img{width:74px;height:74px}@media(max-width:800px){.official-cover{padding:0}.hero-art{min-height:440px}}

header h1{font-size:clamp(22px,4vw,45px);margin:0}textarea{font:inherit;resize:vertical}#configForm fieldset{margin:25px 0}#families form{border-top:1px solid #ffffff24;padding-top:20px;margin:20px 0}#families summary{overflow-wrap:anywhere}#families button{margin:6px 0}#registrationResult code{overflow-wrap:anywhere}

.section img{max-width:100%;height:auto}

.hotel-photo{margin:30px 0}.hotel-photo img{display:block;width:100%;height:auto;max-height:430px;object-fit:cover}.hotel-photo figcaption{font-size:11px;color:var(--muted);margin-top:10px}

#cancelaciones{margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:12px}#cancelaciones table{width:100%;border-collapse:collapse}#cancelaciones th,#cancelaciones td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}

.quote-box,.receipt-entry{padding:20px;border:1px solid var(--line);border-radius:12px;margin:16px 0}.quote-box{position:sticky;top:0;background:var(--bg,#101b24);z-index:2}#registrationResult{text-align:center;padding:45px 24px}#registrationResult h3{color:var(--gold,#d8ba77)}

.view-navigation{max-width:1240px;margin:20px auto 0;padding:0 5%}.view-navigation button{padding:9px 16px}header nav [aria-current=page]{color:var(--gold);text-decoration:underline}.fees-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:28px;align-items:start}.fees-layout .panel{margin-top:25px}.fees-layout th,.fees-layout td{padding:18px 10px}#conditionsDialog{width:min(1100px,96vw);height:92vh;max-width:96vw;background:var(--ink);color:var(--paper);border:1px solid var(--gold);padding:16px}#conditionsDialog::backdrop{background:#000b}#conditionsFrame{display:block;width:100%;height:calc(100% - 65px);border:0;margin-top:16px;background:white}#people [data-primary-name]{color:var(--gold)}.quote-box{position:static}@media(max-width:900px){.fees-layout{grid-template-columns:1fr}}@media(max-width:800px){header{padding:16px 5%}nav{gap:12px;font-size:12px}}

#conditionsDialog{width:auto;height:85vh;max-width:1240px;margin:20px auto;padding:24px 5%;background:var(--ink);border:0}#conditionsFrame{height:calc(100% - 65px)}

.payment-warning{padding:12px 16px;border-left:3px solid #ffad63;background:#35231a;color:#ffd0a6;font-weight:650}#beforePayment button{margin:6px 8px 6px 0;padding:8px 12px}#calcChildOptions label{margin-top:12px}
/* Presentación común de las seis vistas públicas. */
.section{padding-block:clamp(28px,5vw,60px)}
header{padding-block:14px;gap:16px}
header nav{gap:clamp(9px,1.8vw,24px)}
header nav a{min-height:42px;display:inline-flex;align-items:center}
header nav .button{padding:10px 14px}
.hero{min-height:auto;padding-block:32px 42px;align-items:center}
.hero h1{margin-bottom:14px}
.hero .edition{margin:10px 0 15px}
.hero .venue{margin-top:20px}
.hero .actions{margin-top:20px}
.hero-art{min-height:auto;padding:24px}
.hero-art .roman{display:none}
.hero-art>p{font-size:21px;margin:12px 0}
.hero-art .seal img{width:clamp(110px,16vw,190px);height:auto;object-fit:contain}
.hero-art .countdown{padding-top:12px}
.view-navigation{margin-block:4px 0}
.view-navigation:has(button[hidden]){display:none}
.view-navigation button{min-height:42px}
.activity-type{margin:0}
.program-date{font-size:1rem;font-weight:700;margin:5px 0 12px;color:var(--paper)}
.program-grid article{padding:20px}
.tables{gap:clamp(20px,5vw,60px)}
.travel-block{margin-top:20px}
.hotel-photo{margin:20px 0}
.fees-layout{gap:20px}
.fees-layout .panel{margin-top:0}
.adult-rates{margin-top:0}
.adult-rates th,.adult-rates td{white-space:normal}
.child-rate{border-top:1px solid var(--line);padding-block:10px}
.child-rate h4{margin:0 0 4px}
.child-rate p{margin:4px 0}
.fee-amounts{color:var(--gold);font-weight:700}
#calcTotal{line-height:1.6;font-weight:650;padding:14px;background:#ffffff09;border-left:3px solid var(--gold)}
#faq details{padding:12px 16px;margin-bottom:8px;border:1px solid var(--line);border-radius:5px;background:#ffffff05}
#faq summary{font:650 1rem/1.5 system-ui;padding:5px 0}
#faq details p{margin:10px 0}
#faq details a{display:inline-block;margin:2px 0 8px;color:var(--gold)}
.registration-steps{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;counter-reset:registration}
.registration-steps li{counter-increment:registration;padding:10px;background:#ffffff09;font-size:.85rem}
.registration-steps li::before{content:counter(registration) '. ';color:var(--gold);font-weight:700}
.step-heading{border-top:1px solid var(--line);padding-top:16px;margin:22px 0 10px}
.registration-steps+.step-heading{border:0;padding-top:0}
.quote-box ul{padding-left:20px}
.quote-box li{margin:6px 0;overflow-wrap:anywhere}
.quote-box p{margin:8px 0 0}
.requirements-complete{background:#17372e;color:#c0f3d9;border-color:#75c9a0}
#registration button,#registration .button{min-height:44px}
#registration [type=checkbox]{accent-color:var(--gold)}
#registration [type=submit]{white-space:normal}
#registration input,#registration select,#registration fieldset{min-width:0;max-width:100%}
#registration .receipt-entry{overflow-wrap:anywhere}
@media(max-width:800px){
 header{gap:8px}
 header nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px}
 header nav a{padding:5px 3px;justify-content:center;text-align:center}
 header nav .button{padding:5px 8px}
 .hero{padding-top:22px;gap:18px}
 .hero-art{min-height:auto}
 .hero .actions{gap:9px}
 .hero .actions .button{padding:10px 12px}
 .section{padding-block:32px}
 .section h2{margin-bottom:16px}
 .panel,fieldset{padding:14px}
 .registration-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fields{gap:8px}
 .fields label{margin-bottom:8px}
 .adult-rates{table-layout:fixed}
 .adult-rates th,.adult-rates td{padding:10px 4px;font-size:clamp(.69rem,2.75vw,.85rem);overflow-wrap:anywhere}
 .adult-rates th small{font-size:.67rem}
}
/* Ajustes sobre las dimensiones ya comprobadas del candidato. */
.official-cover{max-width:1120px}
.hero{min-height:0;padding-block:24px 32px;gap:clamp(18px,5vw,64px)}
.hero h1{font-size:clamp(40px,5.3vw,72px)}
.hero-art{padding:18px}
.hero-art .seal img{width:clamp(100px,12vw,155px)}
.hero-art>p{font-size:18px}
.hero .actions .button{min-height:44px}
#programa .program-grid article{border-top:3px solid var(--gold)}
#programa .dress{background:#ffffff05;padding:10px;margin-bottom:6px}
#programNote{margin-bottom:0}
.tables li{padding-block:13px}
.tables li::before{top:17px}
.calc-help{color:var(--muted);font-size:.9rem;margin:0 0 12px}
#registrationCalc{border-color:#d9bd7b76}
#calcTotal{font-size:1rem;background:#d9bd7b15}
.hotel-venue{grid-template-columns:1fr}
.travel-block,.travel>article,.travel>section{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}
.lodging-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:start}
.lodging-grid:has(> :only-child){grid-template-columns:1fr}
.lodging-grid .rate strong{font-size:clamp(32px,4vw,55px)}
.faq-group{margin-bottom:22px}
.faq-group h3{font-size:1.35rem;color:var(--gold);margin-bottom:10px}
#faq details[open]{border-color:#d9bd7b7a;background:#d9bd7b0b}
#faq summary{min-height:44px;padding-block:10px}
.registration-steps li{padding:0;background:transparent}
.registration-steps li::before{display:none}
.registration-steps button{width:100%;height:100%;text-align:left;white-space:normal;border-color:#ffffff55;padding:9px 10px;font-size:.85rem}
.registration-steps button[aria-current=step]{border-color:var(--gold);background:#d9bd7b21;color:var(--gold)}
.registration-steps .step-complete button::after{content:' ✓';color:#a4e4c5}
.step-heading{scroll-margin-top:18px}
@media(max-width:800px){
 .hero{padding-top:20px}
 .hero .actions .button:first-child{flex-basis:100%;text-align:center}
 .lodging-grid{grid-template-columns:1fr;gap:8px}
 .registration-steps{gap:5px}
}
.program-thumbnail{display:block;width:100%;height:clamp(70px,8vw,100px);object-fit:cover;border-radius:5px;margin:0 0 12px}
.program-credits{font-size:.8rem;color:var(--muted)}
.program-credits summary{font:inherit;min-height:36px}
@media(max-width:800px){.program-thumbnail{height:84px;max-width:220px}}
