/* Entrance and doorway camera; all rules stay within the first chapter. */
.entry .entry-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:calc(100svh - var(--header));padding:44px 7% 78px;background:var(--paper)}
.entry .door-hit{position:absolute;inset:-10px;z-index:5;pointer-events:auto;min-width:44px;min-height:44px}
.entry .door-hit:focus-visible{outline:3px solid var(--blue);outline-offset:7px}
.entry .welcome-door{cursor:pointer}
.entry .welcome-copy{position:relative;z-index:2;width:45%;max-width:600px;min-width:0}
.entry .entry-title{font-size:76px;line-height:1.04;max-width:none}
.entry .entry-title em{color:var(--terra)}
.entry .welcome-question{margin-top:25px;max-width:540px;font:400 26px/1.4 var(--serif)}
.entry .welcome-intro{margin-top:23px;max-width:440px;font-size:16px;line-height:1.7}
.entry .welcome-copy>.next{margin-top:20px;min-height:44px;gap:22px}
.entry .entry-stage{position:absolute;inset:0;z-index:1;pointer-events:none}
.entry .school-wall{position:absolute;inset:0;overflow:hidden}
.entry .wall-base{position:absolute;inset:auto 0 12% 0;height:7%;background:#c8ddd9;border-top:1px solid #afc9c2;border-bottom:5px solid #749b90}
.entry .hall-floor{position:absolute;inset:88% 0 0;background:#e3ece6}
.entry .hall-floor:before,.entry .hall-floor:after{content:'';position:absolute;inset:0;border-top:1px solid #c8d8cc;transform:skewY(-3deg);transform-origin:right top}
.entry .hall-floor:after{transform:skewY(3deg);transform-origin:left top}
.entry .welcome-door{position:absolute;left:50%;top:18%;bottom:12%;width:24%;border:10px solid var(--green);border-bottom-width:7px;perspective:2000px;background:var(--green);box-shadow:4px 4px 0 #182c2714;isolation:isolate}
.entry .class-sign{position:absolute;left:0;top:-41px;padding:2px 12px;background:var(--green);color:#fff;font-size:12px;font-weight:600;line-height:1.7}
.entry .door-opening{position:absolute;inset:0;overflow:hidden;background:#e2ece5}
.entry .door-opening picture,.entry .door-opening img{display:block;width:100%;height:100%}
.entry .door-opening img{object-fit:cover;object-position:48% center}
.entry .door-leaf{position:absolute;inset:0;background:#b7cfc4;border:5px solid #476e60;transform:rotateY(-63deg);transform-origin:left center;box-shadow:inset -8px 0 #91afa0;backface-visibility:hidden}
.entry .door-window{position:absolute;left:18%;right:18%;top:10%;height:37%;background:#edf6f2;border:6px solid #688b7d}
.entry .door-handle{position:absolute;top:60%;right:10%;height:7px;width:35px;background:var(--yellow);border-radius:2px}
.entry .welcome-gami{position:absolute;left:auto;right:3%;bottom:4%;width:auto;height:min(73%,650px);aspect-ratio:975/1614;margin:0;isolation:isolate}
.entry .welcome-gami:before,.entry .welcome-gami:after{content:'';position:absolute;z-index:-1;height:1.4%;background:#163e352e;border-radius:50%;filter:blur(2px);pointer-events:none}
.entry .welcome-gami:before{left:40%;top:93.5%;width:33%;transform:rotate(-5deg)}
.entry .welcome-gami:after{left:76%;top:96.3%;width:22%;transform:rotate(3deg)}
.entry .welcome-gami picture{display:block;width:100%;height:100%}
.entry .welcome-gami img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.entry .entry-experience{background:var(--green);color:#fff;scroll-margin-top:var(--header)}
.entry .experience-room{position:relative;max-width:1840px;margin:auto;isolation:isolate}
.entry .experience-illustration{display:block}
.entry .experience-illustration img{width:100%;height:auto}
.entry .experience-copy{position:absolute;left:26.6%;top:8.5%;width:51.5%;margin:0;color:#fff;font-size:17px;line-height:1.55;z-index:1}
.entry .experience-copy>p+p{margin-top:18px}
.entry .experience-copy .inline-source{color:var(--yellow);text-decoration-color:var(--yellow)}
.entry .experience-copy :focus-visible{outline-color:var(--yellow)}
.entry .experience-view{position:relative;width:100%;aspect-ratio:1672/941;overflow:hidden}
.entry .experience-visual{position:relative;width:100%;height:100%;isolation:isolate}
.entry .experience-materials{display:none}
.entry .experience-desk-surface{display:none}
.entry.has-entry-motion .experience-desk-surface{display:block;position:absolute;left:0;top:0;transform-origin:0 0;z-index:2;pointer-events:none;opacity:0;visibility:hidden;background:#b5cdbb url('assets/piso-aula-1672.webp') center/cover no-repeat;overflow:hidden}
.entry .desk-surface-canvas{position:absolute;left:0;top:0;width:1672px;height:941px;transform-origin:0 0}
.entry .desk-surface-canvas img{position:absolute;left:-329px;top:-186px;width:2327px;height:1310px;max-width:none}
.entry.has-entry-motion .experience-materials{display:block;position:absolute;left:0;top:0;width:1550px;height:745px;overflow:hidden;transform-origin:0 0;transform:matrix(.18,0,-.052349,.063087,-8,598);z-index:3;pointer-events:none;opacity:0;visibility:hidden}
.entry.has-entry-motion .experience-materials img{position:absolute;left:-46px;top:-57px;width:1610px;height:832px;max-width:none}
.entry .desk-arrival{display:none}
.entry.has-entry-motion .desk-arrival{display:block;position:absolute;inset:0;z-index:5;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden}
.entry .experience-seated{position:absolute;left:81.34%;top:26.04%;width:14.35%;z-index:1;margin:0;pointer-events:none}
.entry .experience-seated img{display:block;width:100%;height:auto}
.entry .experience-desk-foreground{position:absolute;inset:0;z-index:2;pointer-events:none;clip-path:inset(48.25% 0 0 78.11%)}
.entry .experience-desk-foreground img{width:100%;height:100%;object-fit:fill}
.entry .experience-standing{display:none}
@media(min-width:1700px){
 .entry .entry-title{font-size:90px}
 .entry .welcome-question{font-size:29px}
 .entry .welcome-intro{font-size:17px}
 .entry .welcome-copy{max-width:680px}
 .entry .experience-copy{font-size:21px;line-height:1.55}
}
@media(min-width:1101px) and (max-width:1400px){
 .entry .entry-title{font-size:66px}
 .entry .welcome-question{font-size:24px}
 .entry .welcome-intro{font-size:16px}
 .entry .experience-copy{font-size:16px;line-height:1.55}
}
@media(max-width:1100px){
 .entry .entry-hero{min-height:calc(100svh - var(--header));padding:40px 6% 80px}
 .entry .entry-title{font-size:63px}
 .entry .welcome-copy{width:48%}
 .entry .welcome-question{font-size:25px}
 .entry .welcome-intro{font-size:16px}
 .entry .welcome-door{left:52%;width:24%;top:20%;bottom:12%;border-width:8px}
 .entry .welcome-gami{left:auto;right:2%;width:auto;height:min(61%,570px);bottom:4%}
 .entry .experience-copy{position:relative;left:auto;top:auto;width:auto;max-width:760px;padding:40px 6%;margin:auto;font-size:18px;line-height:1.75}
 .entry .experience-room{display:flex;flex-direction:column}
 .entry .experience-illustration img{max-height:550px;object-fit:cover;object-position:center top}
}
@media(max-width:700px){
 .entry .entry-hero{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto minmax(225px,1fr) auto;align-items:start;gap:0;min-height:calc(100svh - var(--header));padding:26px 7% 20px}
 .entry .welcome-copy{display:contents}
 .entry .entry-title{grid-column:1;grid-row:1;font-size:49px;line-height:1.03;max-width:none}
 .entry .entry-title br{display:block}
 .entry .welcome-question{grid-column:1;grid-row:2;max-width:none;margin-top:18px;font-size:23px;line-height:1.4}
 .entry .welcome-intro{grid-column:1;grid-row:3;align-self:center;z-index:2;width:37%;max-width:none;margin:0;font-size:15px;line-height:1.65}
 .entry .welcome-copy>.next{grid-column:1;grid-row:4;justify-self:start;margin-top:8px;font-size:13px}
 .entry .entry-stage{position:relative;grid-column:1;grid-row:3;inset:auto;height:100%;min-height:225px;margin-top:0;z-index:1}
 .entry .school-wall{left:-9%;right:-9%}
 .entry .wall-base{bottom:6%;height:10%;border-bottom-width:3px}
 .entry .hall-floor{top:94%}
 .entry .welcome-door{left:39%;top:8%;bottom:6%;width:29%;border-width:6px;border-bottom-width:5px}
 .entry .class-sign{top:-31px;padding:2px 8px;font-size:10px}
 .entry .door-leaf{border-width:3px;box-shadow:inset -5px 0 #91afa0}
 .entry .door-window{border-width:3px}
 .entry .door-handle{height:4px;width:17px}
 .entry .welcome-gami{left:auto;right:-4%;bottom:0;height:auto;width:52%}
 .entry .experience-copy{padding:32px 7%;font-size:16px;line-height:1.75}
 .entry .experience-illustration img{max-height:none;object-fit:contain}
}
@media(max-width:360px){
 .entry .entry-title{font-size:43px}
 .entry .welcome-question{font-size:21px;margin-top:15px}
 .entry .welcome-intro{font-size:14px;width:38%;line-height:1.65}
 .entry .entry-stage{min-height:210px}
}
.entry.has-entry-motion{overflow-anchor:none}
.entry.has-entry-motion .entry-journey{position:absolute;inset:0}
.entry.has-entry-motion .entry-viewport{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:var(--green)}
.entry.has-entry-motion .entry-camera{position:absolute;inset:0;z-index:2;isolation:isolate;transform-origin:0 0;will-change:transform}
.entry.has-entry-motion .entry-camera:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--paper);clip-path:var(--entry-aperture);pointer-events:none}
.entry.has-entry-motion .entry-hero{height:100%;min-height:100%;background:transparent}
.entry.has-entry-motion .school-wall{clip-path:var(--wall-aperture)}
.entry.has-entry-motion .welcome-door,.entry.has-entry-motion .door-opening{background:transparent}
.entry.has-entry-motion .door-opening picture{visibility:hidden}
.entry.has-entry-motion .entry-experience{position:absolute;inset:0;z-index:1;scroll-margin:0;overflow:hidden}
.entry.has-entry-motion .experience-room{position:absolute;inset:0;max-width:none;margin:0;display:block}
.entry.has-entry-motion .experience-view{position:absolute;left:0;right:0;top:var(--entry-art-top);height:var(--entry-art-height);width:auto;aspect-ratio:auto}
.entry.has-entry-motion .experience-visual{position:absolute;left:var(--entry-art-x);top:var(--entry-art-y);width:1672px;height:941px;transform:scale(var(--entry-art-scale));transform-origin:0 0;will-change:transform}
.entry.has-entry-motion .experience-illustration{position:absolute;inset:0;z-index:0}
.entry.has-entry-motion .experience-illustration img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center top}
.entry.has-entry-motion .experience-copy{position:absolute;left:var(--entry-board-left);top:var(--entry-board-top);width:var(--entry-board-width);max-width:none;margin:0;padding:0;font-size:var(--entry-board-type);line-height:1.55;z-index:3}
@media(max-width:1100px){
 .entry.has-entry-motion .experience-copy{left:0;right:0;top:0;width:auto;padding:30px 7%;background:var(--green);font-size:17px;line-height:1.65}
}
@media(max-width:700px){
 .entry.has-entry-motion .entry-hero{grid-template-rows:auto auto minmax(210px,1fr) auto}
 .entry.has-entry-motion .experience-copy{padding:24px 7%;font-size:16px;line-height:1.65}
}
@media(max-width:360px){
 .entry.has-entry-motion .experience-copy{padding:22px 7%;font-size:15px;line-height:1.6}
}
@media(max-height:680px) and (min-width:701px){
 .entry .entry-hero{padding:20px 6% 35px}
 .entry .entry-title{font-size:42px}
 .entry .entry-title br{display:none}
 .entry .welcome-question{font-size:20px;margin-top:12px}
 .entry .welcome-intro{font-size:14px;margin-top:12px}
 .entry .welcome-copy>.next{margin-top:8px}
 .entry .welcome-gami{height:80%}
 .entry.has-entry-motion .experience-copy{font-size:14px;line-height:1.5}
}
@media(max-height:680px) and (min-width:701px) and (max-width:1100px){
 .entry.has-entry-motion .experience-copy{padding:20px 7%}
}
@media(max-height:650px) and (max-width:700px){
 .entry .entry-hero{padding:14px 7% 12px;grid-template-rows:auto auto minmax(160px,1fr) auto}
 .entry .entry-title{font-size:36px}
 .entry .welcome-question{font-size:19px;line-height:1.3;margin-top:10px}
 .entry .welcome-intro{font-size:13px}
 .entry .entry-stage{min-height:160px}
 .entry.has-entry-motion .entry-hero{grid-template-rows:auto auto minmax(160px,1fr) auto}
}
@media(max-height:450px) and (min-width:701px){
 .entry .entry-hero{padding:12px 6% 20px}
 .entry .welcome-copy{width:52%}
 .entry .entry-title{font-size:36px}
 .entry .welcome-question{font-size:18px;line-height:1.3;margin-top:8px}
 .entry .welcome-intro{font-size:13px;line-height:1.5;margin-top:8px}
 .entry .welcome-copy>.next{margin-top:6px}
}
@media print{
 .entry.has-entry-motion .entry-journey{height:auto}
 .entry.has-entry-motion .entry-viewport,.entry.has-entry-motion .entry-camera,.entry.has-entry-motion .entry-experience,.entry.has-entry-motion .experience-room,.entry.has-entry-motion .experience-copy{position:static;height:auto;transform:none!important;opacity:1!important;visibility:visible!important;width:auto;overflow:visible}
 .entry.has-entry-motion .entry-camera:before{display:none}
}
@media print{
 .entry .entry-hero,.entry .entry-experience{display:block;min-height:0;padding:25px;background:white;color:var(--ink)}
 .entry .welcome-copy{display:block;width:auto;max-width:none}
 .entry .entry-stage,.entry .experience-view{display:none}
 .entry .welcome-intro{width:auto}
 .entry .experience-copy{position:static;width:auto;max-width:none;padding:0;color:var(--ink)}
 .entry .experience-copy .inline-source{color:var(--ink)}
}

/* The concept continues on the same physical board; without JS it stays in flow. */
.entry .classroom-concept{padding:36px 7%;background:var(--green);color:white;overflow:visible}
.entry .classroom-concept .board-fragment{max-width:850px;margin:0 auto 32px}
.entry .classroom-concept h2{max-width:none;font-size:36px;line-height:1.15;margin-bottom:18px}
.entry .classroom-concept .narrative{font:inherit;margin:0}
.entry .classroom-concept .narrative>p:first-child{font:inherit;padding:0}
.entry .classroom-concept .next img{filter:brightness(0) invert(1)}
.entry .board-fragment .next{font-size:18px;line-height:1.4}
.entry .chalk-drawings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;margin:14px 0 0;padding:0}
.entry .chalk-item{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.entry .chalk-item img{width:100%;height:70px;object-fit:contain}
.entry .chalk-item span{font:400 20px/1.2 var(--chalk-family);text-align:center;color:#fafbf6;letter-spacing:0}
.entry .chalk-drawings--relaciones .chalk-item img{height:76px}
.entry .chalk-drawings--relaciones .chalk-item span{font-size:18px;line-height:1.15}
.entry .chalk-drawings--seleccion .chalk-item{position:relative;--chalk-erased:1}
.entry .chalk-drawings--seleccion [data-chalk-choice='omitted'] img{opacity:calc(1 - var(--chalk-erased) * .7);filter:saturate(calc(1 - var(--chalk-erased) * .65));mask-image:repeating-linear-gradient(168deg,#000 0 3px,rgba(0,0,0,.45) 4px,rgba(0,0,0,.65) 6px,#000 8px)}
.entry .chalk-drawings--seleccion [data-chalk-choice='omitted'] span{opacity:calc(1 - var(--chalk-erased) * .5)}
.entry .chalk-choice-mark{position:absolute;top:4px;left:calc(50% + 43px);width:15px;height:29px;border:0 solid #f4d86e;border-width:0 4px 4px 0;border-radius:1px 2px 3px 1px;transform:rotate(38deg);box-shadow:1px 0 0 #f4d86e66,inset -1px -1px 0 #fafbf688;opacity:1}
.entry .chalk-drawings--materiales{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:600px;margin:10px auto 0}
.entry .chalk-drawings--materiales .chalk-item img{height:56px}
.entry .classroom-concept .narrative.concept-return{margin-top:12px;font-size:calc(var(--entry-board-type,19px) * var(--chalk-scale));line-height:1.3}
@media(min-width:1101px){
 .entry.has-entry-motion #concepto-plataformas{font-size:calc(var(--entry-board-type,19px) * var(--chalk-scale) * var(--chalk-concept-scale) * .92);line-height:1.35}
}
.entry .classroom-controls{display:none}
.entry:not(.has-entry-motion) .experience-room{display:flex;flex-direction:column}
.entry:not(.has-entry-motion) .experience-view{order:-1}
.entry:not(.has-entry-motion) .experience-copy{position:relative;left:auto;top:auto;width:auto;max-width:850px;margin:auto;padding:36px 7%}
.entry.has-entry-motion .board-fragment{position:absolute;left:var(--entry-board-left);top:var(--entry-board-top);width:var(--entry-board-width);max-width:none;margin:0;padding:0;z-index:4}
.entry.has-entry-motion .classroom-concept{position:absolute;inset:0;padding:0;background:transparent;overflow:visible;pointer-events:none;z-index:4;scroll-margin:0}
.entry.has-entry-motion .board-fragment{pointer-events:auto}
.entry.has-entry-motion .experience-standing{display:block;position:absolute;left:74.16%;top:29.76%;width:20.93%;margin:0;z-index:4;pointer-events:none}
.entry .experience-standing img{width:100%;height:auto;transform:scaleX(-1);object-position:center}
.entry.has-entry-motion .classroom-controls{position:absolute;right:24px;bottom:16px;display:flex;gap:8px;z-index:8}
.entry .classroom-controls a{width:44px;height:44px;display:grid;place-items:center;background:var(--paper);border:1px solid #73968a;border-radius:4px;text-decoration:none}
.entry .classroom-controls a:hover{background:#e3ece6}
.entry .classroom-controls a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
@media(max-width:1100px){
 .entry.has-entry-motion .board-fragment{left:0;right:0;top:0;width:auto;padding:30px 7%;background:var(--green)}
}
@media(max-width:700px){
 .entry.has-entry-motion .board-fragment{padding:24px 7%}
 .entry .classroom-concept h2{font-size:29px;margin-bottom:16px}
 .entry.has-entry-motion .classroom-controls{right:14px;bottom:12px}
 .entry .chalk-drawings{gap:5px;margin-top:12px}
 .entry .chalk-item img{height:60px}
 .entry .chalk-item span{font-size:17px}
 .entry .chalk-drawings--relaciones{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
 .entry .chalk-drawings--relaciones .chalk-item{flex-direction:row;gap:5px}
 .entry .chalk-drawings--relaciones .chalk-item img{flex:0 0 48px;width:48px;height:50px}
 .entry .chalk-drawings--relaciones .chalk-item span{flex:1;min-width:0;text-align:left;font-size:17px;line-height:1.15}
 .entry .chalk-drawings--materiales{gap:14px}
 .entry .chalk-drawings--materiales .chalk-item img{height:48px}
 .entry .classroom-concept .narrative.concept-return{font-size:var(--chalk-mobile)}
 :root[data-chalk='kalam'] .entry .chalk-item span{font-size:16px}
 :root[data-chalk='cabin'] .entry .chalk-item span{font-size:15px}
}
@media(max-width:360px){
 :root[data-chalk='kalam'] .entry .chalk-item span{font-size:15px}
 :root[data-chalk='cabin'] .entry .chalk-item span{font-size:13.5px}
}
@media(max-height:680px) and (min-width:701px){
 .entry .classroom-concept h2{font-size:29px;margin-bottom:12px}
}
@media(max-height:680px) and (min-width:1101px){
 .entry .chalk-drawings--materiales{margin-top:6px}
 .entry .chalk-drawings--materiales .chalk-item img{height:40px}
 .entry .chalk-drawings--materiales .chalk-item span{font-size:18px}
 .entry .classroom-concept .narrative.concept-return{margin-top:8px;font-size:18px}
}
@media(max-height:680px) and (min-width:701px) and (max-width:1100px){
 .entry.has-entry-motion .board-fragment{padding:18px 7%}
}
@media(max-height:467px) and (min-width:701px) and (max-width:1100px){
 .entry.has-entry-motion .experience-copy,.entry.has-entry-motion .board-fragment{left:0;right:auto;width:66%;padding:18px 4%;font-size:17px;line-height:1.3}
 .entry.has-entry-motion .experience-view{left:66%;right:0}
 .entry.has-entry-motion .classroom-controls{top:12px;right:12px;bottom:auto}
 .entry .chalk-item img{height:52px}
 .entry .chalk-item span{font-size:17px}
 .entry .chalk-drawings--relaciones .chalk-item img,.entry .chalk-drawings--materiales .chalk-item img{height:42px}
 .entry .classroom-concept .narrative.concept-return{font-size:17px}
}
@media print{
 .entry .classroom-controls,.entry .experience-standing{display:none!important}
 .entry.has-entry-motion .classroom-concept,.entry.has-entry-motion .board-fragment{position:static;inset:auto;width:auto;padding:20px 0;transform:none!important;opacity:1!important;visibility:visible!important;background:white;color:var(--ink)}
 .entry .experience-room{transform:none!important}
}
