.primary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-art>a{position:relative}.book-placeholder{background:var(--teal);color:#fff;position:relative;aspect-ratio:0.72;width:auto;height:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 12px;box-shadow:inset 7px 0 #034c5655,5px 9px 12px #0001;overflow:hidden}.book-placeholder:before{content:'';height:100%;width:6px;background:var(--yellow);position:absolute;right:17%;top:0;opacity:.7}.book-placeholder>span{font-family:var(--sans);font-size:17px;letter-spacing:.12em;font-weight:700;position:relative}.book-placeholder>strong{font-family:var(--serif);font-weight:400;font-size:100px;line-height:1.2;position:relative}.book-placeholder sup{font-size:.3em}.book-placeholder>small{font-size:9px;letter-spacing:.1em;position:relative}.book-placeholder>i{font-size:9px;position:relative;margin-top:15px;font-style:normal;color:#d3e6dd}.hero-grade-book{height:420px;width:300px;filter:drop-shadow(8px 22px 16px #0a4d4430)}.hero-grade-book .book-placeholder{width:100%;max-width:100%;height:100%;background:#f6f0db;color:var(--deep)}.hero-grade-book .book-placeholder>strong{font-size:180px}.hero-grade-book .book-placeholder>span{font-size:28px}.hero-grade-book .book-placeholder>small{font-size:12px}.hero-grade-book .book-placeholder>i{color:#64796c}.hero-book-back .book-placeholder{background:var(--teal);color:#fff}.hero-book-back .book-placeholder>i{color:#d3e6dd}.hero-custom-image{width:100%;height:100%;object-fit:contain}.brand-feature{background:#f6f6f0;padding:50px;display:flex;align-items:center}.brand-feature>img{object-fit:contain;height:auto;width:100%;mix-blend-mode:multiply}.book-info>.text-link{margin-top:15px;font-size:12px}.grade-tabs{padding-bottom:20px;border-bottom:1px solid var(--line)}.grade-tab{padding:10px 15px;font-size:13px}.grade-tab span{display:none}.grade-tab.active{background:var(--teal);color:#fff}.auth-section{min-height:65vh;padding-top:15px}.auth-form{max-width:430px;margin:0 auto}.platform-form{display:flex;flex-direction:column;gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;line-height:1.5}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #becdc4;background:white;padding:12px;color:var(--ink);font:inherit;font-size:16px;border-radius:0}.field textarea{resize:vertical}.field input[type=file]{font-size:13px}.checkbox-field{display:flex;align-items:center;gap:10px;font-size:14px}.checkbox-field input,.permission-list input{accent-color:var(--teal);width:17px;height:17px}.form-error{color:#ae2929;font-size:14px;line-height:1.6;min-height:20px;overflow-wrap:anywhere}.form-notice{padding:20px;background:var(--mint);margin-top:30px}.platform-form button:disabled{opacity:.6;cursor:wait}.account-bar{display:flex;align-items:center;gap:22px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:35px;font-size:13px}.detail-access{margin:28px 0}.detail-access>.small-note{margin-top:14px}.product-main-image>.book-placeholder{height:100%;max-height:520px;width:auto;min-width:65%}.admin-section{max-width:1700px;min-height:70vh;padding-top:40px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:35px}.admin-heading .eyebrow{color:var(--teal);margin-bottom:10px}.admin-heading h1{font-family:var(--serif);font-size:42px;letter-spacing:-.04em}.admin-heading>div:last-child{display:flex;gap:25px;flex-wrap:wrap}.admin-tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:32px;overflow-x:auto}.admin-tabs a{padding:10px 18px;font-size:14px;white-space:nowrap}.admin-tabs a.active{background:var(--teal);color:white}.admin-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:45px}.admin-section h2{font-family:var(--serif);font-size:28px;letter-spacing:-.025em;margin-bottom:15px}.form-card{padding:26px;background:#f3f6ef;height:fit-content}.form-card h2{font-size:23px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:12px;font-weight:500;color:#6f7d72;padding:14px 10px;border-bottom:1px solid var(--line)}td{padding:22px 10px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}td strong{font-weight:500}td small{display:block;margin-top:6px;color:#6f7d72}td>.text-link{margin:0 16px 10px 0;font-size:12px;white-space:nowrap}.status-tag{background:#e5f1e9;color:var(--teal);padding:5px 8px;font-size:11px;white-space:nowrap}.status-tag.off{background:#f2e8df;color:#885238}.school-row{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.school-row h3{font-family:var(--serif);font-size:21px;font-weight:400}.school-row p,.school-row small{font-size:13px;color:#6f7d72;margin-top:8px}.school-row>div:last-child{display:flex;gap:15px;align-items:center}.school-row .text-link{font-size:12px;white-space:nowrap}.permission-list{display:flex;flex-direction:column;gap:15px;margin:20px 0 30px}.permission-list label{display:flex;gap:10px;align-items:center;font-size:15px}.panel-shell h2{font-family:var(--serif);font-size:26px;margin-bottom:17px}.panel-shell h3{font-size:17px;font-weight:500;margin:25px 0 10px}.panel-shell>.button{margin-top:25px}.admin-intro>p{font-size:15px;color:#62786a;max-width:750px;line-height:1.8}.admin-intro .storage-meter{margin:20px 0;padding:12px 15px;background:var(--mint);font-size:13px}.admin-book-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}.admin-book-card{border:1px solid var(--line);padding:25px;display:grid;grid-template-columns:100px 1fr;gap:25px;align-items:start;min-width:0}.admin-book-thumb{height:145px;display:flex;justify-content:center}.admin-book-thumb>.book-placeholder{font-size:9px;padding:10px}.admin-book-thumb .book-placeholder>strong{font-size:60px}.admin-book-thumb .book-placeholder>span{font-size:10px}.admin-book-thumb .book-placeholder>small{font-size:6px}.admin-book-thumb .book-placeholder>i{font-size:6px;margin-top:8px}.admin-book-thumb>img{object-fit:contain}.admin-book-card>div{min-width:0}.admin-book-card h3{font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.3;margin-top:12px}.admin-book-card .eyebrow{font-size:9px;color:var(--teal)}.admin-book-card .small-note{margin-top:12px;margin-bottom:15px}.admin-book-card .text-link{font-size:12px}.upload-form{margin-top:24px}.upload-form .button{font-size:12px;min-height:43px}.admin-book-card details{font-size:13px;margin-top:10px;margin-bottom:20px}.admin-book-card summary{cursor:pointer}.file-version{border-top:1px solid var(--line);padding:14px 0}.file-version strong{display:block;overflow-wrap:anywhere;font-weight:400}.file-version small{display:block;margin-top:7px;color:#728374;font-size:11px}.file-version .text-link{font-size:11px;margin:10px 10px 0 0}.content-admin{display:grid;grid-template-columns:1fr 1.7fr;gap:50px}.content-form{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:28px}.content-form>.button{align-self:start}.reader-section{background:#e8ece5;min-height:90vh;padding-bottom:30px}.reader-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 30px;background:var(--deep);color:white;font-size:12px}.reader-heading h1{font-family:var(--sans);font-size:17px}.reader-toolbar{display:flex;justify-content:center;align-items:center;gap:18px;padding:18px;flex-wrap:wrap}.reader-toolbar>button{background:white;border:1px solid var(--line);padding:8px 14px;font-size:13px;min-height:38px}.reader-toolbar input{width:60px;background:white;border:1px solid var(--line);padding:7px;font:inherit;text-align:center;margin-left:7px}.reader-toolbar label,.reader-toolbar>span{font-size:13px}#reader-status{text-align:center;font-size:13px;color:var(--teal);min-height:22px}.flip-shell{max-width:1120px;margin:0 auto;padding:5px 30px 20px;overflow:hidden;min-height:350px}#flipbook{margin:auto}.reader-page{background:white;box-shadow:0 0 4px #0001;display:flex;align-items:center;justify-content:center;color:#819083;font-size:14px;overflow:hidden}.reader-page>canvas{display:block;width:100%;height:100%;object-fit:contain}.reader-watermark{text-align:center;font-size:10px;color:#6a7e6c;letter-spacing:.07em;margin:14px 20px}.reader-help{font-size:12px;text-align:center;color:#788975;padding:0 20px}#reader-root:fullscreen{background:#e8ece5;overflow:auto}.reader-section:has(#reader-root:fullscreen){min-height:100vh}body[data-page=reader] .site-footer{display:none}
@media(max-width:999px){.admin-split{grid-template-columns:1fr}.admin-book-grid{grid-template-columns:1fr}.admin-book-card{grid-template-columns:120px 1fr}.content-admin{grid-template-columns:1fr;gap:20px}.admin-heading h1{font-size:36px}.hero-grade-book{width:230px;height:310px}.hero-grade-book .book-placeholder>strong{font-size:130px}.primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-heading>span{display:none}.book-placeholder>strong{font-size:80px}}
@media(max-width:599px){.hero-grade-book{width:185px;height:255px}.hero-grade-book .book-placeholder{padding:20px 10px}.hero-grade-book .book-placeholder>strong{font-size:100px}.hero-grade-book .book-placeholder>span{font-size:18px}.hero-grade-book .book-placeholder>small{font-size:8px}.hero-grade-book .book-placeholder>i{font-size:7px}.category-strip nav{grid-template-columns:repeat(6,1fr)}.category-strip nav .text-link{border:0;padding:0;justify-content:center;font-size:14px}.category-strip nav .text-link>span{display:none}.book-placeholder{padding:15px 10px;max-width:100%}.book-placeholder>strong{font-size:75px}.book-placeholder>span{font-size:12px}.book-placeholder>small{font-size:7px}.book-placeholder>i{font-size:7px;margin-top:10px}.brand-feature{padding:25px}.account-bar{gap:18px;font-size:12px}.account-bar .text-link{font-size:12px}.admin-heading{align-items:start;flex-direction:column;gap:20px}.admin-heading h1{font-size:33px}.admin-tabs a{padding:9px 12px;font-size:12px}.admin-split{gap:30px}.admin-book-card{padding:20px;grid-template-columns:1fr;gap:20px}.admin-book-thumb{height:170px;justify-content:start}.admin-book-thumb>.book-placeholder{width:125px}.school-row{flex-direction:column}.school-row>div:last-child{justify-content:start}.form-card{padding:22px}.table-scroll td{font-size:12px;padding:16px 8px}td>.text-link{font-size:11px}.reader-heading{padding:15px 18px;gap:15px}.reader-heading h1{font-size:14px;text-align:right}.reader-heading>a{font-size:10px;white-space:nowrap}.reader-toolbar{gap:10px;padding:15px}.reader-toolbar>button{font-size:11px;padding:7px 12px}.reader-toolbar>button:last-child{font-size:10px}.flip-shell{padding:5px 12px 20px}.reader-help{font-size:11px}.reader-watermark{font-size:8px}.product-main-image>.book-placeholder{max-width:240px;min-width:65%;width:240px}.grade-tabs{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.grade-tab{font-size:12px;padding:9px 12px}}

/* Contenido institucional de Kandypa, con los tokens del diseño existente. */
.campaign-world .hero-copy h1{font-size:clamp(36px,4.1vw,58px);line-height:1.1;max-width:620px}.campaign-world .hero-description{font-size:16px;line-height:1.55;max-width:520px}.institutional-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}.institutional-card{border-top:2px solid var(--teal);padding-top:26px}.institutional-card .eyebrow,.values-heading .eyebrow{color:var(--teal);margin-bottom:18px}.institutional-card h2,.values-heading h2,.potential-block h2{font-family:var(--serif);font-weight:400;font-size:36px;letter-spacing:-.04em;line-height:1.2}.institutional-card p:not(.eyebrow),.values-grid p,.proposal-copy p,.proposal-principles p,.potential-block>p:not(.eyebrow),.teachers-callout p:not(.eyebrow){font-size:16px;line-height:1.85;font-weight:300;color:#5d7166;margin-top:20px}.values-heading{margin:75px 0 35px}.values-heading em{color:var(--teal)}.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 50px}.values-grid h3{font-family:var(--serif);font-size:23px;font-weight:400;color:var(--deep)}.values-grid p{margin-top:12px}.proposal-copy{max-width:790px;margin:0 auto 65px}.proposal-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.proposal-principles article{border-top:1px solid var(--line);padding-top:28px}.proposal-principles h2,.teachers-callout h2{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.3;letter-spacing:-.035em}.potential-block{max-width:850px;margin:70px auto 0;padding:40px;background:var(--mint);text-align:center}.potential-block .eyebrow{color:var(--teal);margin-bottom:20px}.teachers-callout{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--line);margin-top:60px;padding-top:40px}.teachers-callout .eyebrow{color:var(--teal);margin-bottom:18px}.teachers-callout>div{max-width:700px}.teachers-callout>.button{white-space:nowrap;flex-shrink:0}.brand-story-copy>p{max-width:530px!important}.footer-bottom nav{flex-wrap:wrap}.demo-disclaimer{max-width:900px}
@media(max-width:1199px){.desktop-nav{gap:14px;font-size:12px}.institutional-grid{gap:28px}.institutional-card h2{font-size:30px}.campaign-world .hero-copy h1{font-size:46px}.campaign-world .hero-description{font-size:15px}}
@media(max-width:999px){.institutional-grid{grid-template-columns:1fr;gap:35px}.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-principles{grid-template-columns:1fr;gap:30px}.teachers-callout{flex-direction:column;align-items:start}.campaign-world .hero-copy h1{font-size:40px}.campaign-world .hero-description{font-size:14px}}
@media(max-width:599px){.hero-slides{height:830px}.campaign-world .hero-copy h1{font-size:37px;max-width:100%}.campaign-world .hero-description{font-size:14px;max-width:100%}.values-grid{grid-template-columns:1fr}.potential-block{padding:30px 22px}.potential-block h2{font-size:30px}.values-heading{margin-top:50px}.institutional-card p:not(.eyebrow){font-size:15px}.teachers-callout>.button{white-space:normal}.footer-top>p{max-width:230px}}

/* Inicio móvil compacto y portadas tomadas directamente del catálogo. */
.inline-icon{width:17px;height:17px;flex-shrink:0;vertical-align:middle}.hero-book{display:block}.hero-book>img{width:100%;height:100%;object-fit:contain;display:block}.hero-seal,.bag-count{display:none}
@media(max-width:599px){
 .hero-slides{height:auto;min-height:0;max-height:none}
 .hero-slide{position:relative;inset:auto;display:flex;flex-direction:column;padding:24px 22px 20px;overflow:visible}
 .hero-copy{width:100%;padding:0}.hero-copy>.eyebrow{margin-bottom:12px}
 .hero .hero-copy h1,.campaign-world .hero-copy h1{font-size:32px;line-height:1.08;letter-spacing:-.045em;max-width:100%}
 .hero .hero-description{font-size:14px;line-height:1.45;margin:12px 0 16px;max-width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
 .hero-copy>.button{min-height:40px;padding:10px 16px}
 .hero .hero-visual,.campaign-art .hero-visual,.campaign-dance .hero-visual{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;height:220px;min-height:220px;margin:18px 0 0}
 .hero .hero-book{position:relative;inset:auto!important;flex:0 1 145px;width:145px;max-width:calc(50% - 10px);height:208px;transform:none!important;filter:drop-shadow(3px 8px 6px #0a4d4420)}
 .hero .hero-book>.book-placeholder{width:100%;height:100%;padding:14px 8px}.hero .hero-book .book-placeholder>strong{font-size:88px}.hero .hero-book .book-placeholder>span{font-size:16px}.hero .hero-book .book-placeholder>small{font-size:7px}.hero .hero-book .book-placeholder>i{font-size:7px}
 .hero-orbit{display:none}.hero-bottom{height:48px}.hero .scroll-cue{font-size:9px}
}

#panel{overflow-x:hidden}.panel-shell{min-width:0}
@media(max-width:599px){#panel{inset:0;width:100%;max-width:100%;margin:0}.panel-top>p{min-width:0}.panel-top>.icon-button{flex-shrink:0}}
