/* GuateLab Digital: luminous cards and GuateBlocks, edición chapina. */
.digital-hero{background:#f0f5fc}
.digital-atmosphere{background:radial-gradient(ellipse at 8% 70%,#bcddfc8a,transparent 56%),radial-gradient(ellipse at 92% 15%,#ded1f99c,transparent 53%),linear-gradient(145deg,#f5f9ff,#edf3fc)}
.digital-atmosphere:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#5d8cb71b .7px,transparent .7px);background-size:26px 26px;mask-image:linear-gradient(transparent,#0006,transparent);pointer-events:none}
.hero-editorial>p{color:#263d58;text-shadow:0 2px 0 #fff8}
.hero-editorial h1:before{content:"";display:inline-block;width:17px;height:11px;border-radius:2px;margin-right:8px;vertical-align:-1px;background:linear-gradient(90deg,#54a7db 33%,#fff 33% 66%,#54a7db 66%);box-shadow:0 1px 4px #387fad24}
.digital-services{gap:23px;padding:4px 0 10px;perspective:1400px}
.service-portal{--tone:92,164,222;--lift:0px;--px:0px;--py:0px;--mx:50%;--my:30%;border:1px solid #fff;border-bottom:2px solid #c6d7e9;background:linear-gradient(140deg,#fff,#fdfdff);border-radius:25px;box-shadow:0 3px 0 #cfdaea,0 9px 0 -3px #c3d0e128,0 20px 28px -14px #2547723b,0 0 0 1px #c4d2e755;transform:perspective(1000px) translateY(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}
.portal-edible{--tone:209,155,182}.portal-web{--tone:114,142,220}.portal-invite{--tone:172,131,204}
.service-portal:before{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--mx) var(--my),#fff6,transparent 45%);opacity:0;transition:opacity .4s}
.service-portal:after{z-index:7;background:linear-gradient(112deg,transparent 25%,#ffffff5c 49%,#ffffff9c 50%,transparent 72%)}
.service-portal:hover,.service-portal:focus-visible{--lift:-7px;box-shadow:0 3px 0 #c2d3e9,0 30px 40px -18px rgba(var(--tone),.47),0 12px 28px #2a507526,0 0 0 1px rgba(var(--tone),.42);border-color:#fff}
.service-portal.is-engaged:before,.service-portal:focus-visible:before{opacity:.64}
.service-portal.is-touched{--lift:-3px;box-shadow:0 2px 0 #bfd3e7,0 19px 28px -13px rgba(var(--tone),.5)}
.portal-image{background:radial-gradient(circle at 30% 20%,#fff,#eaf0f8);border-bottom:1px solid #dce5f1;isolation:isolate}
.portal-image>img{transform:translate(var(--px),var(--py)) scale(1.025);transition:transform .65s var(--ease)}
.service-portal:hover .portal-image>img{transform:translate(var(--px),var(--py)) scale(1.085)}
.portal-aura{position:absolute;z-index:2;pointer-events:none;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 #fff9,inset 0 -20px 24px -22px rgba(var(--tone),.45)}
.portal-icon{position:absolute;z-index:5;left:15px;bottom:13px;width:38px;height:38px;display:grid;place-items:center;color:#365d80;background:linear-gradient(140deg,#fff,#e7eff9ef);border:1px solid #fff;border-radius:12px;box-shadow:0 3px 0 #aebfd255,0 8px 15px #23405b22;backdrop-filter:blur(7px);transform:translateZ(16px) rotate(-5deg);transition:transform .4s}
.portal-icon svg{width:22px;height:22px}.portal-edible .portal-icon{color:#9e657c}.portal-invite .portal-icon{color:#8963a5}.portal-web .portal-icon{color:#556ca6}
.service-portal:hover .portal-icon,.service-portal:focus-visible .portal-icon{transform:translateY(-3px) rotate(0)}
.portal-star{position:absolute;pointer-events:none;z-index:5;color:#fff;font-size:26px;line-height:1;text-shadow:0 0 8px #fff,0 0 13px rgba(var(--tone),.6);opacity:0;transform:scale(.4)}
.star-one{top:19px;right:22px}.star-two{top:48px;right:15px;font-size:15px}
.cinema-enter .star-one,.service-portal.is-engaged .star-one,.service-portal:focus-visible .star-one{animation:signature-spark 2.6s ease-in-out .4s both}
.cinema-enter .star-two,.service-portal.is-engaged .star-two,.service-portal:focus-visible .star-two{animation:signature-spark 2.6s ease-in-out .9s both}
.portal-copy{position:relative;background:linear-gradient(150deg,#fff,#fcfdff);border-top:1px solid #fff}
.portal-copy h2>span{display:grid;place-items:center;width:26px;height:26px;background:rgba(var(--tone),.11);border:1px solid rgba(var(--tone),.19);border-radius:50%;font-size:17px;transition:transform .3s,background .3s}
.service-portal:hover .portal-copy h2>span,.service-portal:focus-visible .portal-copy h2>span{transform:translate(2px,-2px);background:rgba(var(--tone),.22)}
.cinema-enter .service-portal{animation:signature-arrive 1.05s cubic-bezier(.2,.8,.2,1) backwards}.cinema-enter .service-portal:nth-child(2){animation-delay:.12s}.cinema-enter .service-portal:nth-child(3){animation-delay:.24s}.cinema-enter .service-portal:nth-child(4){animation-delay:.36s}
.cinema-enter .service-portal:after{animation:signature-sheen 1.6s ease-in-out .8s both}.cinema-enter .service-portal:nth-child(2):after{animation-delay:.95s}.cinema-enter .service-portal:nth-child(3):after{animation-delay:1.1s}.cinema-enter .service-portal:nth-child(4):after{animation-delay:1.25s}
@keyframes signature-arrive{from{opacity:0;transform:perspective(1000px) translateY(32px) rotateX(9deg) rotateY(-9deg) scale(.96)}to{opacity:1;transform:perspective(1000px) translateY(0) rotateX(0) rotateY(0) scale(1)}}
@keyframes signature-spark{0%,100%{opacity:0;transform:scale(.4) rotate(-12deg)}35%,55%{opacity:.8;transform:scale(1) rotate(0)}70%{opacity:.35;transform:scale(.75) rotate(6deg)}}
@keyframes signature-sheen{from{transform:translateX(-150%)}to{transform:translateX(150%)}}

/* A clear way home, without adding another navigation menu. */
.header #main-nav #header-home{gap:9px;padding:7px 13px 7px 9px;color:#215982;background:linear-gradient(140deg,#edf7ff,#dcecfb);border:1px solid #b9d5ec;border-bottom-color:#9bbbd7;border-radius:17px;box-shadow:0 3px 0 #c1d5e7,0 5px 15px #24608b15;transition:transform .25s,box-shadow .25s}
.header #main-nav #header-home:hover,.header #main-nav #header-home:focus-visible{transform:translateY(-2px);box-shadow:0 4px 0 #c1d5e7,0 9px 20px #24608b25}
.return-grid{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#fff9;box-shadow:inset 0 1px 0 #fff,0 2px 6px #52799716;flex-shrink:0}.return-grid svg{width:19px;height:19px}
.return-label{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.1}.return-label strong{font-size:13px;font-weight:650}.return-label small{font-size:9px;color:#6586a4}
.header #main-nav #open-game{position:relative;isolation:isolate;gap:9px;overflow:hidden;color:#fff;background:linear-gradient(135deg,#1c4771,#285b87 48%,#626291);border:1px solid #6588b2;border-bottom-color:#244669;border-radius:16px;padding:7px 16px 7px 9px;box-shadow:0 3px 0 #1d3652,0 7px 17px #1b426831;transition:transform .25s,box-shadow .25s}
.header #main-nav #open-game:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent,#fff3,transparent);transform:translateX(-150%);animation:signature-sheen 1.6s ease-in-out 1.2s both}
.header #main-nav #open-game:hover,.header #main-nav #open-game:focus-visible{transform:translateY(-2px);box-shadow:0 4px 0 #1d3652,0 12px 24px #2d547d42}
.play-cube{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:linear-gradient(145deg,#99d6ff,#5fa8e3 53%,#6c86cf);border:1px solid #e0f3ff8a;box-shadow:0 2px 0 #234c74,0 3px 10px #071c3d30;transform:rotate(-8deg);font-style:normal;flex-shrink:0}.header .play-cube svg{width:21px;height:21px;color:#fff;filter:drop-shadow(0 1px 0 #174b8755)}
.play-word{font-weight:600;font-size:13px}.play-spark{font-size:11px;position:absolute;right:6px;top:3px;color:#d7e9ff;font-style:normal}
.header #main-nav .header-audio{box-shadow:0 2px 0 #d7e1e9}

/* Contact icons remain real, clearly labelled links. */
.simple-footer{background:radial-gradient(ellipse at center top,#edf5ff,#fafcfe 70%);padding-top:23px}
.footer-contact{display:flex;flex-direction:column;gap:12px}.footer-contact>p{font-size:13px;color:#6c8095}
.contact-shortcuts{display:flex;align-items:stretch;justify-content:center;gap:13px;flex-wrap:wrap}
.footer-contact .contact-shortcuts>a{position:relative;gap:12px;text-decoration:none;min-height:66px;padding:12px 17px 12px 12px;border:1px solid #d6e4ec;border-radius:19px;background:#fff;box-shadow:0 3px 0 #e0e8ef,0 8px 20px #345a8010;transition:transform .3s,box-shadow .3s}
.footer-contact .contact-shortcuts>a:hover,.footer-contact .contact-shortcuts>a:focus-visible{transform:translateY(-3px);box-shadow:0 4px 0 #dbe7ed,0 13px 25px #345a801c}
.contact-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:13px;border:1px solid #cde7db;background:linear-gradient(145deg,#e5f5ed,#d8ece3);color:#3a8267;box-shadow:inset 0 1px 0 #fff,0 3px 7px #386d5520}
.contact-icon svg{width:23px;height:23px;transition:transform .35s}.footer-call .contact-icon{color:#527ca6;border-color:#d4e2f1;background:linear-gradient(145deg,#eff5ff,#dce9f9)}
.contact-label{display:flex;flex-direction:column;gap:3px;line-height:1.3}.contact-label small{font-size:10px;color:#7b8b98}.contact-label strong{font-size:17px;font-weight:600;letter-spacing:.015em;color:#31566a}.footer-call .contact-label strong{font-size:15px}.contact-arrow{font-size:19px;color:#8b9ead;margin-left:4px}
.contact-shortcuts>a:hover .contact-icon svg{transform:rotate(-8deg) scale(1.07)}

/* GuateBlocks: cultural art stays outside the high-contrast playfield. */
.game-dialog{--guate-accent:#87c9ec;--board-max:min(300px,calc((100dvh - 422px)/2));background:radial-gradient(ellipse at top right,#234d58,#13263a 40%,#0b1624 82%);border-color:#8bbdc254;box-shadow:0 35px 110px #0008,0 0 0 1px #b5daeb22}
.blocks-top{background:#132638}.blocks-top h2{color:#e8f4ff;line-height:1.1}.blocks-top h2>span{color:#8fd1f4}.blocks-top h2>small{display:block;color:#c8ae76;letter-spacing:.17em;font-size:7px;font-weight:500;margin-top:5px;line-height:1.2}
.blocks-eyebrow{display:flex;align-items:center;gap:6px;letter-spacing:.06em;font-size:8px;color:#95b4c9}
.gt-flag{display:inline-block;flex-shrink:0;width:17px;height:11px;border-radius:2px;background:linear-gradient(90deg,#73bde7 33%,#eef8ff 33% 66%,#73bde7 66%);box-shadow:0 1px 5px #0002}
.chapin-banner{height:82px;min-height:0;position:relative;display:flex;align-items:center;gap:18px;flex-shrink:0;overflow:hidden;margin:0 0 13px;border:1px solid #b4d3d735;border-radius:17px;background:linear-gradient(100deg,#18364a,#15313c 65%,#1c3344);box-shadow:inset 0 1px 0 #b9e3de12}
.chapin-banner>img{display:block;height:100%;width:124px;flex-shrink:0;object-fit:cover;object-position:30% 45%;border-right:1px solid #d7ca8845}
.chapin-banner-copy{position:relative;z-index:2;padding:10px 16px 10px 0}.chapin-banner-copy>span{display:block;font-size:7px;letter-spacing:.1em;color:#9dbbbc;line-height:1.5}.chapin-banner-copy>strong{font-size:26px;line-height:1.15;letter-spacing:-.03em;color:#f1e8cf;font-weight:500;display:block;margin:3px 0 5px}.chapin-banner-copy>p{font-size:10px;line-height:1.3;color:var(--guate-accent);margin:0}
.chapin-banner-light{position:absolute;inset:-70px -20px auto auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(#8ce5c413,transparent 65%);pointer-events:none}
.blocks-board-wrap{border-color:var(--guate-accent);box-shadow:0 0 0 3px #11283c,0 0 0 4px #80b9d12b,0 15px 35px #0005;transition:border-color .5s}
.blocks-board-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 2px 0 0 #78badd22,inset -2px 0 0 #78badd22}
/* No full-board touch highlight or rotation flash. Keyboard focus stays visible. */
#blocks-board,.blocks-touch button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
#blocks-board{touch-action:none}
#blocks-board:focus:not(:focus-visible){outline:none;box-shadow:none}
.blocks-overlay{background:linear-gradient(#091725d9,#0b2132ee),url('assets/guatemala-chapin.webp') left center/cover;backdrop-filter:blur(2px)}
.blocks-level-win{background:linear-gradient(#0c243aab,#112c3bef),url('assets/guatemala-chapin.webp') 23% 50%/cover;border-color:#dfc893;box-shadow:0 20px 50px #0008,0 0 40px #80bddf35}.blocks-level-win small{color:#dfd1a4;letter-spacing:.14em}.blocks-level-win>p{max-width:90%;font-size:13px;line-height:1.5;color:#c3e6f5}.win-stars{color:#efe5bc;text-shadow:0 0 15px #96d7fa70}
.blocks-service-marks{margin-top:12px;border-top:1px solid #aacbdd1b;padding-top:10px}.blocks-service-marks>span{display:block;font-size:7px;letter-spacing:.07em;color:#809fad;text-align:center;line-height:1.5}.blocks-service-marks>div{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.service-mark{display:grid;place-items:center;aspect-ratio:1;background:#89bedd09;border:1px solid #a3c9e025;border-radius:8px;color:#88bada}.service-mark svg{width:20px;height:20px}.mark-cake{color:#dfcc8a}.mark-invite{color:#b6a0d7}
.blocks-side{max-height:calc(var(--board-max)*2);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#42718e transparent}
.game-active .digital-hero *,.game-active .digital-hero *:after,.game-active .digital-hero *:before{animation-play-state:paused!important}
@media(min-width:761px) and (min-height:600px){
 .game-dialog{--board-max:min(300px,calc((100dvh - 336px)/2));width:min(850px,calc(100% - 36px));padding:24px}.game-dialog[open]{display:grid;grid-template-columns:minmax(200px,.82fr) minmax(0,1.38fr);column-gap:25px;row-gap:0}
 .blocks-top{grid-column:1/-1;margin-bottom:20px}.blocks-top h2{font-size:28px}.blocks-eyebrow{font-size:9px}
 .chapin-banner{grid-column:1;grid-row:2/6;height:auto;min-height:300px;margin:0;align-items:flex-end;isolation:isolate;border-radius:22px;box-shadow:0 12px 32px #0003}
 .chapin-banner>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:0 50%;border:0}
 .chapin-banner:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(#14253a08,transparent 25%,#0c233450 56%,#0c2035fc)}
 .chapin-banner-copy{padding:24px 21px}.chapin-banner-copy>span{font-size:8px;color:#ccdbd9}.chapin-banner-copy>strong{font-size:31px;line-height:1.1;margin:9px 0 13px}.chapin-banner-copy>p{font-size:12px;padding-top:13px;border-top:1px solid #bdd9d04a}.chapin-banner-light{display:none}
 .blocks-toolbar{grid-column:2;grid-row:2;gap:5px}.blocks-toolbar button{font-size:11px;padding-inline:10px}.blocks-layout{grid-column:2;grid-row:3;grid-template-columns:minmax(0,var(--board-max)) 90px;gap:13px;max-width:calc(var(--board-max) + 103px);width:100%}.blocks-touch-hint{grid-column:2;grid-row:4;font-size:11px}.blocks-touch{grid-column:2;grid-row:5;gap:8px}.blocks-touch button{min-height:60px}.blocks-touch span{font-size:11px}.blocks-side{max-height:calc(var(--board-max)*2);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#42718e transparent}
}
@media(max-width:1050px){.digital-services{gap:18px}.portal-copy h2>span{width:22px;height:22px;font-size:15px}}
@media(max-width:760px){
 .digital-services{gap:16px 13px;padding-bottom:8px}.service-portal{border-radius:22px;box-shadow:0 3px 0 #cfdaea,0 15px 24px -14px #2547724d,0 0 0 1px #c4d2e74a}.portal-icon{width:31px;height:31px;left:11px;bottom:10px;border-radius:10px}.portal-icon svg{width:18px;height:18px}.portal-copy h2{align-items:flex-start}.portal-copy h2>span{width:20px;height:20px;font-size:14px;flex-shrink:0}.star-one{font-size:20px;top:14px;right:14px}.star-two{font-size:12px;top:38px;right:11px}.hero-editorial h1:before{width:13px;height:9px;margin-right:6px}
 .header .nav-wrap{padding-inline:14px;gap:7px}.header #main-nav #header-home{gap:6px;padding:6px 9px 6px 7px;border-radius:13px}.return-grid{width:23px;height:26px;border-radius:7px}.return-grid svg{width:17px;height:17px}.return-label strong{font-size:11px}.return-label small{font-size:8px}.header #main-nav #open-game{border-radius:13px;padding:6px 12px 6px 7px;gap:7px}.play-cube{width:27px;height:27px;border-radius:8px}.play-word{font-size:12px}
 body[data-page]:not([data-page=inicio]) .header #main-nav #open-game{width:39px;padding:5px;gap:0}.header .play-cube svg{width:19px;height:19px}.header #main-nav .header-audio{width:39px;padding:9px}.play-spark{font-size:8px;right:3px;top:3px}
 .contact-shortcuts{gap:10px;flex-wrap:nowrap;width:100%;max-width:415px}.footer-contact .contact-shortcuts>a{padding:10px 11px 10px 9px;gap:9px;min-height:64px;border-radius:16px}.footer-whatsapp{flex:1.3}.footer-call{flex:1}.contact-icon{width:33px;height:35px;border-radius:11px}.contact-icon svg{width:21px;height:21px}.contact-label small{font-size:8px}.contact-label strong{font-size:15px}.footer-call .contact-label strong{font-size:13px}.contact-arrow{font-size:15px;margin:0}.footer-contact{gap:11px;margin-bottom:18px}
 .game-dialog{--board-max:min(300px,calc((100dvh - 340px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))/2),calc(100vw - 120px))}.blocks-top{padding-top:4px}.blocks-top h2{font-size:20px}.blocks-top h2>small{font-size:6px;letter-spacing:.12em;margin-top:4px}.blocks-eyebrow{font-size:6px;gap:4px}.gt-flag{width:13px;height:9px}
 .chapin-banner{height:72px;margin-bottom:10px;gap:13px;border-radius:14px}.chapin-banner>img{width:109px}.chapin-banner-copy{padding:7px 8px 7px 0}.chapin-banner-copy>span{font-size:6px;letter-spacing:.08em}.chapin-banner-copy>strong{font-size:23px;margin:3px 0 4px}.chapin-banner-copy>p{font-size:9px}.blocks-service-marks{margin-top:8px;padding-top:7px}.blocks-service-marks>span{font-size:6px;letter-spacing:0}.blocks-service-marks>div{gap:4px;margin-top:5px}.service-mark{border-radius:7px}.service-mark svg{width:16px;height:16px}
}
@media(max-width:350px){
 .header .nav-wrap{padding-inline:10px;gap:4px}.header #main-nav{gap:3px}.header .brand .brand-wordmark{font-size:17px}.brand-mark{width:27px;height:29px}.header #main-nav #header-home{padding:6px;gap:4px}.return-grid{width:20px}.return-label strong{font-size:10px}.return-label small{font-size:7px}.header #main-nav .header-audio{width:35px}body[data-page]:not([data-page=inicio]) .header #main-nav #open-game{width:36px}.play-cube{width:25px;height:26px}.footer-contact .contact-shortcuts>a{padding:9px 8px;gap:7px}.contact-icon{width:28px;height:32px}.contact-icon svg{width:19px;height:19px}.contact-label strong{font-size:13px}.contact-label small{font-size:7px}.contact-arrow{display:none}.chapin-banner{gap:10px}.chapin-banner>img{width:95px}.chapin-banner-copy>strong{font-size:21px}.chapin-banner-copy>span{font-size:5.5px}.blocks-top h2{font-size:18px}.blocks-eyebrow{font-size:5.5px}
}
@media(max-height:700px) and (orientation:portrait) and (max-width:760px){
 .game-dialog{--board-max:min(300px,calc((100dvh - 300px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))/2),calc(100vw - 120px))}.chapin-banner{height:46px;margin-bottom:8px;gap:11px;border-radius:11px}.chapin-banner>img{width:72px}.chapin-banner-copy{padding:4px 8px 4px 0}.chapin-banner-copy>span{display:none}.chapin-banner-copy>strong{font-size:18px;margin:0 0 3px}.chapin-banner-copy>p{font-size:8px}
}
@media(max-height:620px) and (orientation:portrait) and (max-width:760px){
 .game-dialog{--board-max:min(300px,calc((100dvh - 260px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))/2),calc(100vw - 120px))}.chapin-banner{display:none}
}
@media(max-height:599px) and (orientation:landscape){
 .game-dialog{--board-max:min(220px,calc((100dvh - 140px)/2));background:radial-gradient(ellipse at top right,#234d58,#101e31 65%)}.chapin-banner{display:none}.blocks-top h2>small{display:inline;margin-left:9px;font-size:6px}.blocks-top h2{font-size:22px}.blocks-service-marks{display:none}.blocks-eyebrow{display:flex;font-size:6px}.blocks-top{position:sticky;top:0}
}
@media(hover:none){.service-portal:hover{--lift:0px}.service-portal:hover .portal-image>img{transform:scale(1.025)}.service-portal:hover:after{transform:translateX(-150%)}}
@media(prefers-reduced-motion:reduce){
 .digital-hero *,.digital-hero *:before,.digital-hero *:after,.header #main-nav #open-game:after{animation:none!important;transition:none!important}.service-portal{transform:none!important}.portal-star{display:none}.header #main-nav a,.header #main-nav button,.contact-shortcuts>a,.contact-icon svg,.blocks-board-wrap{transition:none!important}.contact-shortcuts>a:hover,.header #main-nav #open-game:hover,.header #main-nav #header-home:hover{transform:none}.blocks-level-win{animation:none}.win-confetti{display:none}
}
