:root{font-family:'Segoe UI',Arial,sans-serif;color:#17334d;background:#dfe9eb;--navy:#123960;--accent:#663ca8}
*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:4px solid #00b9e3;outline-offset:4px}button{touch-action:manipulation}.skip{position:fixed;top:-70px;left:20px;background:white;padding:12px;z-index:20}.skip:focus{top:12px}.infographic{max-width:1440px;margin:auto;background:#f6faf8;box-shadow:0 8px 60px #17334d20}.masthead{background:linear-gradient(115deg,#102e53,#174876);color:white;text-align:center;position:relative;padding:25px 150px 30px;border-radius:0 0 72px 0;z-index:2;border-top:5px solid #ffc928}.masthead h1{font-size:clamp(25px,2.9vw,42px);line-height:1.08;margin:7px 0 10px;letter-spacing:-.8px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#a9dbec;margin:0}.subtitle{font-size:clamp(13px,1.45vw,20px);margin:0;color:#e4f3f7}.header-mark{position:absolute;right:34px;top:44px;border-left:1px solid #ffffff50;padding-left:20px;text-align:left;display:flex;gap:10px;align-items:center}.header-mark span{font-size:32px;font-weight:900;letter-spacing:-2px}.header-mark small{font-size:8px;line-height:1.5;letter-spacing:1px}.corner{position:absolute;border:15px solid #ff642c;border-radius:50%;width:100px;height:100px;left:-40px;top:-40px;box-shadow:0 0 0 15px #ffffff10}.landscape{position:relative;background:#72c8e2 url('assets/paisaje.webp') center center/cover no-repeat;overflow:hidden;margin-top:-25px;padding-top:25px}.route-note{position:absolute;top:45px;left:6%;width:62%;max-width:780px;background:#f5fcffef;border:1px solid #fff;border-radius:22px;padding:16px 22px;z-index:2;display:flex;gap:15px;box-shadow:0 3px 10px #17334d13}.route-note p{font-size:13px;line-height:1.45;margin:4px 0 0}.route-note strong{font-size:15px}.bulb{color:#b27900;font-size:40px;line-height:1.3}.map{position:relative;aspect-ratio:1.66;min-height:540px;margin-top:75px}.trail{position:absolute;width:100%;height:100%;inset:0;filter:drop-shadow(0 2px 1px #744c2340)}.trail path{stroke:#fff8dd;stroke-width:5;stroke-dasharray:10 12;fill:none;stroke-linecap:round}.explorer{position:absolute;object-fit:contain;pointer-events:none;filter:drop-shadow(0 7px 3px #183a3c2c)}.explorer-girl{width:16%;left:1%;bottom:1%}.explorer-boy{width:11.4%;right:1.5%;bottom:0}.map-instruction{position:absolute;right:4%;top:0;text-align:center;transform:rotate(3deg);background:#f0bc56;color:#4d371e;padding:12px 19px;border:4px solid #9a6a35;border-radius:8px;box-shadow:3px 5px 0 #67452445;font-size:13px;line-height:1.5}.map-instruction span{display:block;font-size:22px}.stage{position:absolute;left:var(--x);top:var(--y);width:16.6%;min-height:92px;display:flex;align-items:center;text-align:left;border-radius:20px;border:2px solid #ffffffa0;background:linear-gradient(125deg,color-mix(in srgb,var(--color) 80%,white),var(--color));box-shadow:0 5px 0 color-mix(in srgb,var(--color) 65%,#15313b),0 9px 16px #17334d30;color:white;padding:16px 27px 16px 16px;transition:transform .2s,box-shadow .2s;z-index:3}.stage:hover{transform:translateY(-6px);box-shadow:0 7px 0 color-mix(in srgb,var(--color) 65%,#15313b),0 14px 24px #17334d35}.stage strong{font-size:clamp(13px,1.28vw,18px);line-height:1.15;position:relative;z-index:2}.stage .number{position:absolute;top:-45px;left:-8px;width:57px;height:64px;border-radius:50% 50% 50% 4px;background:var(--color);transform:rotate(-45deg);border:3px solid #ffffff80;box-shadow:0 3px 5px #17334d24}.stage .number span{display:flex;justify-content:center;align-items:center;border-radius:50%;background:#fff;color:var(--color);width:42px;height:42px;font-size:25px;font-weight:900;transform:rotate(45deg);margin:5px}.stage .arrow{position:absolute;right:9px;bottom:13px;color:var(--color);background:white;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-weight:900;font-size:23px;line-height:1}.stage[data-stage="1"]{color:#493a0b}.stage[data-stage="1"] .number span{color:#684d00}.stage.visited:after{content:'✓';position:absolute;right:8px;top:5px;font-size:13px;background:#fff;color:#176747;border-radius:100%;width:18px;height:18px;text-align:center}.map-footer{position:relative;z-index:4;background:linear-gradient(0deg,#0c314cec,#164a6be8);margin:0 auto;padding:18px 20px 11px;max-width:760px;border-radius:30px 30px 0 0;border:1px solid #ffffff60;border-bottom:0}.footer-actions{display:flex;gap:12px;justify-content:center}.footer-actions button{background:#ffdc37;color:#102d50;border:2px solid #fff0a5;border-radius:12px;padding:13px 18px;font-size:14px;font-weight:800;box-shadow:0 3px 0 #bd8a17;display:flex;gap:10px;align-items:center}.footer-actions button:hover{background:#fff183;transform:translateY(-2px)}.footer-actions span{font-size:24px;line-height:1}.map-footer p{text-align:center;color:#d5edf4;font-size:11px;letter-spacing:.4px;margin:13px 0 0}.prototype-note{margin:0;padding:12px;text-align:center;font-size:11px;color:#6c7d83;background:#f5f8f6}dialog{width:min(1050px,calc(100% - 36px));max-height:91dvh;border:0;border-radius:22px;padding:0;color:#1b344c;box-shadow:0 20px 100px #001c46a0;background:#fff;overflow:hidden}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#092945ab;backdrop-filter:blur(5px)}.dialog-header{display:flex;align-items:center;gap:13px;margin:22px 24px 16px;padding-right:44px;position:relative;color:var(--accent);flex-shrink:0}.dialog-header h2{font-size:clamp(19px,2vw,27px);line-height:1.15;margin:0;letter-spacing:-.4px}.dialog-number{width:56px;height:56px;border:6px solid var(--accent);border-radius:50%;font-size:26px;font-weight:900;display:grid;place-items:center;flex-shrink:0}.dialog-number:empty{display:none}.close{position:absolute;right:-5px;top:-6px;color:#fff;background:#123960;border:0;border-radius:50%;font-size:27px;width:31px;height:31px;line-height:24px}.tabs{display:flex;gap:6px;margin:0 24px;padding:0 0 10px;overflow-x:auto;flex-shrink:0;border-bottom:1px solid #e7ecef}.tabs:empty{display:none}.tabs button{white-space:nowrap;padding:10px 16px;background:#eaf0f3;border:0;border-radius:8px 8px 4px 4px;font-size:12px;font-weight:700;color:#29445e}.tabs button[aria-selected=true]{background:var(--accent);color:#fff}.dialog-body{overflow:auto;padding:22px 28px 28px;line-height:1.6;font-size:15px;min-height:240px;scrollbar-color:#b7c7cc #edf2f4}.dialog-body h3{font-size:17px;color:var(--accent);margin:0 0 12px}.dialog-body h4{font-size:14px;margin:0 0 8px}.dialog-body p{margin:0 0 14px}.dialog-body ul,.dialog-body ol{padding-left:22px;margin:8px 0 15px}.dialog-body li{margin:5px 0}.columns{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.info,.example,.attention{padding:18px 20px;border-radius:12px;margin:0 0 16px}.info{background:#edf7fb}.example{background:#fff8df}.attention{background:#eee8f8;border-left:4px solid var(--accent)}.info>:last-child,.example>:last-child,.attention>:last-child{margin-bottom:0}.label{display:inline-block;background:#d5f2f9;padding:2px 10px;border-radius:6px;font-size:13px;font-weight:800;margin-bottom:12px}.topic-list{columns:2;column-gap:25px;font-size:14px}.topic-list li{break-inside:avoid}.components{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.component{background:#edf7fb;padding:20px 15px;border-radius:13px}.component:nth-child(2){background:#fff6dc}.component:nth-child(3){background:#edf1ff}.component:nth-child(4){background:#fcebf2}.component b{display:block;margin:8px 0;color:var(--accent)}.component p{font-size:13px}.symbol{font-size:29px}.steps-list{counter-reset:step;list-style:none;padding:0!important}.steps-list li{counter-increment:step;background:#f0f6f8;padding:13px 16px 13px 50px;border-radius:9px;position:relative}.steps-list li:before{content:counter(step);position:absolute;left:13px;top:13px;background:var(--accent);color:white;width:25px;height:25px;border-radius:50%;text-align:center;font-weight:800}.table-wrap{overflow-x:auto;border:1px solid #d8e3e9;border-radius:9px;margin:12px 0 18px}table{border-collapse:collapse;width:100%;font-size:13px;min-width:560px}th{text-align:left;background:#dce9f0;font-weight:800}td,th{padding:12px 14px;vertical-align:top;border-bottom:1px solid #dce5e9}tr:last-child td{border-bottom:0}tr:nth-child(even) td{background:#f5f9fb}blockquote{border-left:4px solid #f0ba31;margin:16px 0;padding:13px 20px;background:#fff8e7;font-size:16px}.source{font-size:12px;color:#627687}.example-switch{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.example-switch button{border:1px solid #cad9e3;background:#f5f8fa;border-radius:8px;padding:9px 14px;font-size:13px}.example-switch button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:white}.practice{padding:18px;background:#f0f6f8;border-radius:12px}.practice button{display:block;border:1px solid #c7d9df;border-radius:8px;background:white;width:100%;text-align:left;padding:12px 15px;margin:9px 0;color:#17334d}.practice button:hover{border-color:var(--accent)}.practice .feedback{padding:10px 14px;background:#e3f2e9;border-radius:8px;margin:12px 0 0}.practice button.chosen{outline:2px solid var(--accent)}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f3f7f9;border-top:1px solid #e0e9ee;padding:13px 24px;flex-shrink:0}.dialog-footer button{border:0;background:transparent;color:#365671;font-size:12px;padding:9px}.dialog-footer button.back-map{background:var(--accent);border-radius:20px;color:white;padding:10px 22px;font-weight:700}.dialog-footer button:disabled{opacity:.3;cursor:default}.references{font-size:13px}.references li{margin-bottom:15px;overflow-wrap:anywhere}.references a{color:#075b99}.credits-link{color:#075b99}.credits-characters{display:flex;gap:40px;justify-content:center;align-items:flex-end;margin:20px}.credits-characters img{height:180px;width:auto}.closed-route{font-weight:700;color:var(--accent)}
@media(min-width:1500px){.masthead{padding-top:30px;padding-bottom:35px}.stage strong{font-size:18px}}
@media(max-width:900px){.masthead{padding:24px 65px 30px}.header-mark{display:none}.route-note{left:4%;width:70%;padding:12px 15px}.route-note p{font-size:11px}.route-note strong{font-size:13px}.bulb{font-size:30px}.map{min-height:490px}.stage{min-height:83px;border-radius:14px;padding:12px 21px 12px 10px;width:17.5%}.stage strong{font-size:12px}.stage .number{width:47px;height:54px;top:-38px}.stage .number span{width:33px;height:33px;font-size:21px}.stage .arrow{width:18px;height:18px;font-size:19px;right:6px;bottom:9px}.map-instruction{font-size:10px;padding:8px;right:3%}.components{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.masthead{padding:23px 21px 30px;border-radius:0 0 30px 0}.masthead h1{font-size:25px;letter-spacing:-.6px}.masthead h1 br{display:none}.eyebrow{font-size:8px;letter-spacing:1.7px}.subtitle{font-size:12px}.corner{width:64px;height:64px;border-width:10px;left:-30px;top:-35px}.landscape{background-position:45% center;background-size:auto 100%;padding:125px 13px 0}.route-note{top:41px;left:15px;width:calc(100% - 30px);padding:11px 13px;border-radius:14px;gap:8px}.route-note p{font-size:11px;line-height:1.4}.route-note strong{font-size:12px}.bulb{font-size:29px}.map{aspect-ratio:auto;min-height:0;margin:0;padding:42px 0 205px}.map-instruction{position:relative;top:auto;right:auto;transform:none;border:0;box-shadow:none;background:#153960ed;color:#fff;font-size:11px;max-width:220px;padding:8px 12px;margin:0 auto 30px;border-radius:18px}.map-instruction span{display:inline;font-size:13px}.map-instruction br{display:none}.map-instruction b{font-weight:500}.stages{display:grid;grid-template-columns:1fr 1fr;gap:40px 16px;padding:0 7px}.stage{position:relative;left:auto;top:auto;width:100%;min-height:92px;padding:16px 27px 13px 14px}.stage strong{font-size:13px}.stage:nth-child(even){transform:translateY(23px)}.stage:nth-child(even):hover{transform:translateY(19px)}.stage .number{top:-25px;left:-5px;width:42px;height:47px}.stage .number span{width:29px;height:29px;font-size:18px;margin:4px}.stage .arrow{width:19px;height:19px}.explorer-girl{width:100px;bottom:0;left:12%}.explorer-boy{width:94px;bottom:0;right:10%}.trail{display:none}.map-footer{margin:0 -13px;border-radius:24px 24px 0 0;padding:18px 12px 13px}.footer-actions{gap:7px;flex-wrap:wrap}.footer-actions button{font-size:11px;padding:10px 11px;gap:5px;border-radius:9px}.footer-actions span{font-size:19px}.prototype-note{font-size:9px;padding:10px}dialog{width:calc(100% - 18px);max-height:95dvh;border-radius:16px}.dialog-header{margin:19px 17px 14px;gap:9px;padding-right:25px}.dialog-header h2{font-size:18px}.dialog-number{width:43px;height:43px;border-width:5px;font-size:21px}.close{right:-3px;top:-8px;width:27px;height:27px;font-size:23px}.tabs{margin:0 16px}.tabs button{font-size:11px;padding:9px 13px}.dialog-body{padding:18px;font-size:14px}.columns{grid-template-columns:1fr;gap:0}.topic-list{columns:1}.components{gap:8px}.component{padding:14px 12px}.dialog-footer{padding:10px 8px;gap:3px}.dialog-footer button{font-size:10px;padding:8px}.dialog-footer button.back-map{padding:10px 15px}.info,.example,.attention{padding:15px}.credits-characters img{height:135px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.map-instruction{top:-64px;right:3%;padding:8px 14px;font-size:11px;line-height:1.35}.map-instruction span{display:inline;font-size:15px}.explorer-boy{width:12%;right:.4%}.stage[data-stage="6"]{top:45%}
@media(max-width:600px){.map-instruction{top:auto;right:auto;font-size:11px;padding:8px 12px}.explorer-boy{width:108px;right:10%}.stage[data-stage="6"]{top:auto}}
.header-mark{display:block;right:28px;top:40px;padding:0;border:0}.header-mark img{display:block;width:160px;height:auto}.footer-brand{padding-top:22px;text-align:center}.footer-brand img{width:175px;height:auto;display:block;margin:0 auto}.map-footer .footer-brand p{margin:9px 0 0;font-size:11px;color:#f0f7fa;letter-spacing:.3px}.map-footer #progress{margin-top:16px;margin-bottom:4px}
@media(min-width:601px) and (max-width:900px){.masthead{padding-left:155px;padding-right:155px}.header-mark{display:block;right:18px;top:42px}.header-mark img{width:125px}}
@media(max-width:600px){.masthead{padding-top:95px}.header-mark{display:block;top:19px;left:50%;right:auto;transform:translateX(-50%)}.header-mark img{width:135px}.footer-brand{padding-top:22px}.footer-brand img{width:160px}.map-footer .footer-brand p{font-size:10px}}
@media(max-width:600px){.map{padding-bottom:240px}}
.info.with-guide{display:flow-root}.intro-character{float:right;width:110px;height:200px;object-fit:contain;margin:0 0 3px 25px;filter:drop-shadow(0 5px 2px #17334d1a)}.columns .intro-character{width:85px;height:160px;margin-left:16px}
@media(max-width:600px){.intro-character,.columns .intro-character{width:82px;height:152px;margin:2px 0 6px 16px}}
.intro-character{width:140px;height:220px;margin-left:20px;filter:none}.columns .intro-character{width:110px;height:185px;margin-left:14px}
@media(max-width:600px){.intro-character,.columns .intro-character{width:98px;height:165px;margin:2px 0 6px 12px}}
.music-launch{margin-top:13px;border:1px solid #ffffff75;border-radius:22px;background:#ffffff10;color:white;padding:8px 15px;display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:1.2;min-height:36px}.music-launch:hover{background:#ffffff25}.music-launch[aria-pressed=true]{background:#25746a;border-color:#9edbc8}.music-toggle [data-music-icon]{font-size:17px;line-height:1}.music-status{font-size:12px;color:#ffedbd;margin:8px 0 0}.dialog-footer .music-compact{border:1px solid #b9cad3;border-radius:50%;width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;background:#e7eff4;color:#294761;padding:0}.dialog-footer .music-compact[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:white}
@media(max-width:600px){.music-launch{margin-top:12px;font-size:11px;padding:8px 12px}.dialog-footer .music-compact{width:29px;height:29px}}
.intro-character{float:left;margin:0 20px 3px 0}.columns .intro-character{margin-left:0;margin-right:14px}.references .reference-entry{margin:0 0 1.2em;padding-left:1cm;text-indent:-1cm;line-height:1.75;font-size:14px;overflow-wrap:anywhere}.references .reference-entry:last-child{margin-bottom:0}.reminder-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#705019!important;margin:0 0 10px!important}.reminder-label svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:#fff3b1;flex-shrink:0}.attention h3{margin-bottom:9px}
@media(max-width:600px){.intro-character,.columns .intro-character{margin:2px 12px 6px 0}.references .reference-entry{font-size:13px}}


/* Bibliographic layout follows the supplied referencias.docx.pdf. */
.references{font-family:Calibri,Carlito,"Segoe UI",sans-serif;max-width:620px;margin:0 auto;color:#111}
.references .reference-entry{font-size:16px;line-height:1.31818;margin:0 0 .72727em;padding-left:2.5909em;text-indent:-2.5909em;text-align:justify;text-justify:inter-word;overflow-wrap:anywhere}
.references .reference-entry br+a{ text-indent:0 }
.references .reference-entry a{color:#0645ff;text-decoration:underline}
.references .reference-block-indent{text-indent:0}
.references .reference-villamin{padding-left:3.2em;text-indent:-3.2em}
@media(max-width:600px){.references .reference-entry{font-size:15px}}

/* Preserve PDF line breaks and justify even the line immediately before a URL. */
.references-exact{max-width:618.18px}
.references .reference-exact{padding-left:0;text-indent:0;text-align:left}
.reference-line{display:block;margin-left:var(--reference-indent);width:calc(100% - var(--reference-indent));text-indent:0;white-space:nowrap;min-height:1.31818em}
.reference-line.reference-spread{text-align:justify;text-align-last:justify}
@media(max-width:760px){
 .references .reference-exact{padding-left:2.5909em;text-indent:-2.5909em;text-align:justify}
 .reference-line,.reference-line.reference-spread{display:inline;margin-left:0;width:auto;white-space:normal;text-align:inherit;text-align-last:auto}
 .reference-line::after{content:' '}
 .reference-line a{overflow-wrap:anywhere}
}

/* Give the explorer more presence while keeping the upper cards clear. */
@media(min-width:601px){.explorer-boy{width:14.5%;bottom:-3%;right:.4%}}
@media(max-width:600px){.explorer-boy{width:124px;bottom:0;right:7%}.map{padding-bottom:275px}}

/* Raise the route and its cards together to clear the explorer below stage 7. */
@media(min-width:601px){.stage{margin-top:-36px}.trail{transform:translateY(-36px)}.map-instruction{top:-84px}}

@media(min-width:601px){
 .map-instruction{top:-94px;z-index:3}
 .stage[data-stage="5"]{left:65%;width:15%;margin-top:-16px}
 .stage[data-stage="7"]{left:82.5%;margin-top:-16px}
 .stage[data-stage="6"]{left:83%}
}

.stage-intro-grid>.info{height:100%;margin-bottom:0}
.stage-intro-grid{margin-bottom:16px}
.stage-topic-prompts ul{columns:2;column-gap:32px}
.stage-topic-prompts li{break-inside:avoid}
@media(max-width:600px){.stage-intro-grid>.info{height:auto;margin-bottom:16px}.stage-intro-grid{margin-bottom:0}.stage-topic-prompts ul{columns:1}}

/* Match the two map characters by height on phones without stretching them. */
@media(max-width:600px){
 .explorer-girl,.explorer-boy{height:220px;width:auto;bottom:0;object-fit:contain}
 .explorer-girl{left:8%}.explorer-boy{right:7%}
}

.intro-character.guide-boy{transform:scaleX(-1)}
