@font-face{font-family:Source;src:url('/assets/source-sans.woff2') format('woff2');font-display:swap;font-weight:200 900}
:root{--bg:#fafcff;--surface:#fff;--soft:#f0f4f9;--ink:#20324d;--muted:#526176;--line:#dce4ee;--accent:#2459a6;--tint:#e5eefb;--hero:#eef3fa;--shadow:0 2px 8px #1024420a;color-scheme:light}
:root[data-theme=dark]{--bg:#151e2b;--surface:#1c2838;--soft:#223146;--ink:#f5f7fa;--muted:#c0ccdc;--line:#37475e;--accent:#8ab8fa;--tint:#263e5d;--hero:#1b2a40;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Source,'Helvetica Neue',sans-serif;font-size:18px;line-height:1.55}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;font-weight:650;letter-spacing:-.035em}p{color:var(--muted)}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.skip{position:absolute;top:-100px;background:var(--surface);padding:12px;z-index:20}.skip:focus{top:0}.header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--line);z-index:10}.nav{height:80px;display:flex;align-items:center;gap:36px}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:6px;font-size:31px;font-weight:750;letter-spacing:-1.4px;color:var(--ink)}.brand svg{color:var(--accent);width:38px;height:40px;flex-shrink:0}.nav nav{margin-left:auto;display:flex;align-items:center;gap:32px;font-size:16px;font-weight:600}.nav nav a{text-decoration:none}.nav nav a:hover,.footer a:hover{color:var(--accent)}.theme,.menu{border:1px solid var(--line);background:transparent;color:var(--ink);width:42px;height:42px;border-radius:6px;display:grid;place-items:center}.theme svg{width:20px;height:20px}.menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 22px;background:var(--accent);color:white;text-decoration:none;border-radius:6px;font-size:16px;font-weight:650;border:1px solid var(--accent);transition:background .18s,opacity .18s}.button:hover{opacity:.85}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}[data-theme=dark] .button:not(.secondary){color:#12223a}.text-link{font-weight:650;font-size:16px;color:var(--accent)}.hero{background:var(--hero);overflow:hidden}.hero-inner{min-height:545px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding-block:48px}.hero-copy{animation:appear .7s ease both}.hero-brand{color:var(--accent);font-size:27px;font-weight:700;letter-spacing:-1px;margin-bottom:18px}.hero h1{font-size:clamp(42px,4.3vw,62px);max-width:520px}.hero p{margin-top:24px;max-width:420px;font-size:20px}.hero .actions{display:flex;align-items:center;gap:24px;margin-top:30px}.hero-art{position:relative;align-self:stretch;min-height:410px;animation:appear 1s ease both}.hero-art img{width:100%;height:100%;object-fit:cover;border-radius:6px;position:absolute;inset:0}.hero-art figcaption{position:absolute;bottom:16px;left:16px;background:#fff;color:#20324d;font-size:14px;padding:9px 14px;border-radius:4px}.hero-art{margin:0}.intro-strip{border-bottom:1px solid var(--line)}.intro-strip .wrap{display:flex;gap:24px;justify-content:space-between;align-items:center;padding-block:18px;font-size:15px}.intro-strip strong{font-weight:600}.intro-strip span{color:var(--muted)}section.section{padding-block:72px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-head h2,.about h2,.contact h2{font-size:38px}.section-head p{max-width:340px;font-size:17px}.collections{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}.collection{text-decoration:none;display:block}.collection .visual{aspect-ratio:1/1.05;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--soft);overflow:hidden;border-radius:6px;border:1px solid var(--line);transition:background .18s}.collection:hover .visual{background:var(--tint)}.collection h3{font-size:22px;margin:18px 0 7px;display:flex;justify-content:space-between}.collection h3 span{font-weight:400;color:var(--accent)}.collection p{font-size:15px}.paper{width:145px;min-height:180px;background:#fff;color:#263b58;border:1px solid #cbd9ea;padding:18px;font-size:13px;box-shadow:var(--shadow)}.paper strong{font-size:23px;line-height:1.15;display:block;letter-spacing:-1px}.paper .rule{height:1px;background:#dce5f0;margin-top:16px}.paper .mini{font-size:10px;color:#556e8c;margin:8px 0}.paper .boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:12px}.paper .boxes i{height:26px;background:#e8eff9}.paper .boxes i:nth-child(2n){background:#bdd1eb}.book{background:#28578e;color:#fff;border-left:8px solid #1c3e65;min-height:196px;display:flex;flex-direction:column;justify-content:space-between}.book small{font-size:10px;letter-spacing:1px}.game .boxes i{display:grid;place-items:center;color:#28578e;font-size:16px;font-style:normal}.visual .template{border-top:12px solid #28578e}.status{display:inline-block;font-size:13px;font-weight:600;color:var(--accent);margin-top:10px}.app-section{background:var(--soft);border-block:1px solid var(--line)}.app-feature{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.app-copy h2{font-size:48px;margin:14px 0 20px}.app-copy>p{max-width:445px;margin-bottom:20px}.app-copy ul{padding-left:20px;color:var(--muted);font-size:17px;margin-bottom:28px}.app-copy li{margin-bottom:9px}.app-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--accent)}.app-icon svg{width:27px}.app-preview{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:var(--shadow)}.preview-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line);font-weight:700;font-size:20px}.preview-title{font-size:28px;font-weight:650;margin-top:24px}.preview-row{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);font-size:16px}.preview-row .symbol{font-size:23px;color:var(--accent);width:32px;text-align:center}.preview-row small{display:block;color:var(--muted);font-size:13px}.preview-row>b{margin-left:auto;font-size:15px;white-space:nowrap}.preview-foot{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding-top:18px}.about{display:grid;grid-template-columns:1fr 1fr;gap:72px;border-bottom:1px solid var(--line);padding-block:70px}.about p+p{margin-top:18px}.about .text-link{display:inline-block;margin-top:20px}.contact{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:54px}.contact p{margin-top:12px;max-width:530px}.footer{background:var(--soft);border-top:1px solid var(--line);padding-block:34px;font-size:14px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:24px}.footer-top .brand{font-size:26px}.footer-top p{max-width:370px;margin-top:12px;font-size:14px}.footer-links{display:flex;gap:24px;align-items:start;flex-wrap:wrap}.footer-links a{text-decoration:none}.footer-bottom{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.reveal{animation:appear .6s ease both}@keyframes appear{from{opacity:0}to{opacity:1}}.document{max-width:780px;padding-block:60px 80px;min-height:60vh}.document h1{font-size:46px;margin:22px 0}.document h2{font-size:25px;margin:32px 0 12px}.document h3{font-size:20px;margin:22px 0 12px}.document p,.document li{margin-bottom:16px}.document .lead{font-size:22px}.document ul{color:var(--muted);padding-left:22px}.document .note{border-left:3px solid var(--accent);padding:12px 20px;background:var(--soft);margin-block:24px}.collection-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:26px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:650}details p{margin-top:14px!important}.legal-date{font-size:14px}.contact-email{overflow-wrap:anywhere}.theme,.button,.collection,.nav a{transition:color .18s,background-color .18s,opacity .18s}body{transition:background-color .18s,color .18s}
@media(max-width:900px){.collections{grid-template-columns:repeat(2,1fr)}.hero-inner{gap:28px}.hero h1{font-size:48px}.app-feature{gap:32px}.nav{gap:20px}.nav nav{gap:20px}.hero-art{min-height:390px}.about{gap:36px}}
@media(max-width:620px){body{font-size:17px}.wrap{width:calc(100% - 36px)}.nav{height:68px;gap:12px}.brand{font-size:27px}.theme{margin-left:auto}.menu{display:grid}.nav nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:20px;gap:22px;flex-direction:column;align-items:stretch}.nav nav.open{display:flex}.hero-inner{display:flex;flex-direction:column;gap:28px;padding-block:30px}.hero h1{font-size:42px}.hero p{font-size:18px;margin-top:18px}.hero-brand{font-size:23px;margin-bottom:12px}.hero .actions{margin-top:22px;gap:20px}.hero-art{width:100%;min-height:220px;max-height:220px}.hero-art img{object-position:center 55%}.hero-art figcaption{font-size:12px}.intro-strip .wrap{display:block;padding-block:14px}.intro-strip span{display:block;font-size:13px;margin-top:4px}section.section{padding-block:42px}.section-head{display:block;margin-bottom:24px}.section-head h2,.about h2,.contact h2{font-size:31px}.section-head p{margin-top:12px}.collections{gap:24px 14px}.collection .visual{padding:12px;aspect-ratio:1/1.25}.paper{width:124px;min-height:154px;padding:12px}.paper strong{font-size:20px}.book{min-height:162px}.collection h3{font-size:20px;margin-top:12px}.collection p{font-size:14px}.app-feature{grid-template-columns:1fr;gap:28px}.app-copy h2{font-size:39px}.app-preview{padding:20px}.about{grid-template-columns:1fr;gap:22px;padding-block:44px}.contact{display:block;padding-block:40px}.contact .button{margin-top:22px}.footer-top,.footer-bottom{flex-direction:column}.footer-links{gap:16px 24px}.document{padding-block:36px 50px}.document h1{font-size:38px}.document .lead{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.apps-cover .boxes i{display:grid;place-items:center;font-size:20px;color:#28578e;font-style:normal}.product-listing{display:flex;align-items:center;gap:20px;padding:24px 0;margin:12px 0 32px;border-block:1px solid var(--line)}.product-listing h3{margin:0 0 6px}.product-listing p{margin:0;font-size:16px}.product-listing>.text-link{margin-left:auto;white-space:nowrap}.product-listing .app-icon{flex-shrink:0}.product-listing .status{margin-top:4px}@media(max-width:620px){.product-listing{flex-wrap:wrap;gap:16px}.product-listing>.text-link{margin-left:64px}.product-listing>div:nth-child(2){flex:1}.collection .visual{padding:10px}.hero .actions{flex-wrap:wrap}}

.collection .visual{min-height:260px;aspect-ratio:auto}@media(max-width:620px){.collection .visual{min-height:230px}}

.language{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid var(--line);border-radius:6px;text-decoration:none;font-size:14px;font-weight:650;color:var(--ink);margin-right:-24px}.language:hover{background:var(--tint)}@media(max-width:900px){.language{margin-right:-8px}}@media(max-width:620px){.language{margin-left:auto;margin-right:0;min-width:36px;height:38px}.theme{margin-left:0;width:36px;height:38px}.menu{width:36px;height:38px}.nav{gap:8px}.brand{gap:4px}.brand svg{width:34px;height:36px}}

html[lang="es"] .hero h1{font-size:clamp(38px,3.3vw,48px)}@media(max-width:620px){html[lang="es"] .hero h1{font-size:34px}}

/* Warm amber complements the primary blue without competing with navigation. */
:root{--warm:#b86b22;--warm-soft:#fff3df;--warm-line:#e8c18d}
:root[data-theme=dark]{--warm:#efb66e;--warm-soft:#362d22;--warm-line:#775d3a}
.hero-art figcaption{border-left:3px solid var(--warm);background:var(--warm-soft);color:var(--ink)}
.intro-strip{background:var(--warm-soft)}
.collection:nth-child(2) .visual,.collection:nth-child(3) .visual{background:var(--warm-soft);border-color:var(--warm-line)}
.collection:nth-child(3) .paper .boxes i:nth-child(2n){background:#f2d4a5}
.collection:nth-child(3) .paper .boxes i{color:#805020}
.collection h3 span{color:var(--warm)}
.about{border-top:2px solid var(--warm-line)}
