:root{--cream:#FBF4EB;--paper:#FFF8EF;--coffee:#3B1F12;--dark:#070504;--espresso:#120804;--copper:#B63F16;--orange:#D65F24;--gold:#E0BD82;--gold2:#C8A26B;--text:#F8EFE4;--muted:#D8C5AE;--line:rgba(224,189,130,.22)}
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--text);background:radial-gradient(circle at 80% 10%,rgba(182,63,22,.16),transparent 28%),radial-gradient(circle at 12% 86%,rgba(224,189,130,.10),transparent 30%),linear-gradient(135deg,#080403 0%,#170904 45%,#2B1209 100%);min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,rgba(224,189,130,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(224,189,130,.025) 1px,transparent 1px);background-size:42px 42px;opacity:.65}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.passport-topbar{position:fixed;top:0;left:0;right:0;z-index:50;height:82px;padding:0 clamp(20px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:rgba(7,5,4,.84);backdrop-filter:blur(16px);border-bottom:1px solid rgba(224,189,130,.16);box-shadow:0 14px 40px rgba(0,0,0,.28)}
.passport-brand img{width:180px;max-height:58px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.38))}
.passport-nav{display:flex;gap:18px;font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;color:#F8EFE4}
.passport-nav a{opacity:.86;transition:.2s ease}.passport-nav a:hover{color:var(--gold);opacity:1}
.passport-menu-toggle{display:none;width:44px;height:44px;border-radius:14px;border:1px solid rgba(224,189,130,.24);background:rgba(255,248,239,.08);padding:10px;cursor:pointer}
.passport-menu-toggle span{display:block;height:2px;width:100%;background:#F8EFE4;border-radius:99px;margin:5px 0;transition:.25s ease}
.passport-menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.passport-menu-toggle.open span:nth-child(2){opacity:0}.passport-menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.passport-main{padding-top:82px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900;margin:0 0 18px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 22px;background:linear-gradient(135deg,#9b3614,var(--copper),var(--orange));color:#fff;font-weight:900;box-shadow:0 18px 40px rgba(182,63,22,.25);cursor:pointer;transition:.25s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 24px 54px rgba(182,63,22,.35)}.btn.secondary{background:#FFF8EF;color:#2B170D;border:1px solid rgba(224,189,130,.24);box-shadow:0 12px 28px rgba(0,0,0,.16)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.passport-hero,.sticker-unlocked,.share-screen{min-height:calc(100vh - 82px);padding:70px clamp(22px,6vw,96px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.86fr);gap:clamp(34px,6vw,90px);align-items:center}
.passport-hero h1,.sticker-unlocked h1,.share-screen h1,.auth-card h1,.scanner-card h1,.selfie-card h1,.dashboard-head h1{font-family:Oswald,Impact,sans-serif;text-transform:uppercase;font-size:clamp(48px,6vw,96px);line-height:.9;letter-spacing:-.05em;margin:0;color:#FFF8EF;text-shadow:0 10px 34px rgba(0,0,0,.32)}
.passport-hero h1 span{display:block;color:var(--gold)}.passport-hero p,.muted,.dashboard-head p,.sticker-unlocked p,.share-screen p{color:rgba(255,248,240,.74);line-height:1.65;font-weight:600;max-width:720px}
.passport-cover-card{min-height:560px;border-radius:36px;padding:36px;background:radial-gradient(circle at 82% 8%,rgba(224,189,130,.12),transparent 22%),linear-gradient(145deg,#120804,#26130B 55%,#4B2614);color:#fff;position:relative;overflow:hidden;border:1px solid rgba(224,189,130,.26);box-shadow:0 42px 120px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.04)}
.passport-cover-card:before{content:"";position:absolute;inset:20px;border:1px solid rgba(224,189,130,.24);border-radius:28px;pointer-events:none}.passport-cover-card small{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.18em}.passport-cover-card h2{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:clamp(48px,5vw,76px);line-height:.88;letter-spacing:-.04em;margin:90px 0 20px}.passport-cover-card h2 span{color:var(--gold)}.passport-cover-card p{color:rgba(255,248,240,.76)}.passport-cover-card b{position:absolute;right:34px;bottom:34px;width:130px;height:130px;border-radius:50%;border:2px solid rgba(224,189,130,.62);display:grid;place-items:center;text-align:center;text-transform:uppercase;font-family:Oswald,sans-serif;color:var(--gold);transform:rotate(-9deg)}
.auth-card,.scanner-card,.selfie-card{max-width:760px;margin:60px auto;padding:clamp(24px,4vw,44px);border-radius:30px;background:linear-gradient(145deg,#FFF8EF,#EFE1CF);color:#2F1C11;border:1px solid rgba(224,189,130,.28);box-shadow:0 30px 90px rgba(0,0,0,.26)}
.auth-card h1,.scanner-card h1,.selfie-card h1{color:#120804;text-shadow:none}.auth-card .muted,.scanner-card .muted,.selfie-card .muted{color:#5D4636}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.form-grid label{font-weight:800;font-size:13px;color:#3B1F12}.form-grid input{width:100%;margin-top:8px;border:1px solid rgba(59,31,18,.16);border-radius:12px;padding:14px 15px;background:#fff;color:#2F1C11;font:600 15px Inter}.full{grid-column:1/-1}.alert{background:#ffe9df;color:#7a230c;border:1px solid rgba(182,63,22,.22);padding:14px 16px;border-radius:14px;margin:18px 0;font-weight:800}.demo-codes{margin-top:20px;padding:14px;border-radius:14px;background:#fff;border:1px solid rgba(59,31,18,.10);color:#3B1F12}
.dashboard-head{padding:58px clamp(22px,6vw,96px) 24px;display:flex;gap:24px;align-items:end;justify-content:space-between}.dashboard-head h1{color:#FFF8EF}.progress-card{margin:0 clamp(22px,6vw,96px) 24px;padding:24px;border-radius:26px;background:linear-gradient(145deg,rgba(255,248,239,.09),rgba(224,189,130,.06));border:1px solid rgba(224,189,130,.18);box-shadow:0 22px 60px rgba(0,0,0,.22)}.progress-card p{color:rgba(255,248,240,.72);font-weight:700}.progress-bar{height:12px;background:rgba(255,248,240,.12);border-radius:999px;overflow:hidden}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--copper),var(--gold));box-shadow:0 0 18px rgba(224,189,130,.36)}
.album-book{margin:24px clamp(22px,6vw,96px) 70px;padding:clamp(22px,3vw,36px);border-radius:36px;background:radial-gradient(circle at 78% 0%,rgba(224,189,130,.12),transparent 26%),linear-gradient(90deg,rgba(224,189,130,.055) 1px,transparent 1px),linear-gradient(180deg,#1B0E08,#120804);background-size:auto,42px 42px,100% 100%;border:1px solid rgba(224,189,130,.22);box-shadow:0 34px 100px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.035);position:relative;overflow:hidden}
.album-book:before{content:"";position:absolute;top:24px;bottom:24px;left:50%;width:1px;background:linear-gradient(180deg,transparent,rgba(224,189,130,.24),transparent);opacity:.7}.album-title{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;position:relative;z-index:2}.album-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative;z-index:2}
.sticker-slot{position:relative;aspect-ratio:3/4.18;border-radius:18px;background:linear-gradient(145deg,rgba(255,248,239,.06),rgba(0,0,0,.20)),linear-gradient(180deg,#2A1710,#160B07);border:1px solid rgba(224,189,130,.20);box-shadow:0 16px 38px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.04);overflow:hidden;display:flex;flex-direction:column;padding:10px;transition:.28s ease}.sticker-slot:hover{transform:translateY(-7px) rotate(-.6deg);border-color:rgba(224,189,130,.42);box-shadow:0 28px 70px rgba(0,0,0,.36),0 0 28px rgba(224,189,130,.10)}.sticker-slot.locked{opacity:.90}.sticker-slot.locked:after{content:"AÚN SIN DESCUBRIR";position:absolute;left:12px;right:12px;bottom:62px;text-align:center;font-size:9px;line-height:1.25;font-weight:900;letter-spacing:.12em;color:rgba(224,189,130,.45)}.sticker-slot.unlocked{background:radial-gradient(circle at 80% 0%,rgba(224,189,130,.18),transparent 34%),linear-gradient(135deg,#C8A26B 0%,#2A1710 34%,#120804 68%,#B63F16 100%);border-color:rgba(224,189,130,.50)}.sticker-number{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--gold);text-transform:uppercase}.sticker-frame{position:relative;flex:1;margin:8px 0;border-radius:12px;border:1px dashed rgba(224,189,130,.32);background:rgba(255,255,255,.035);overflow:hidden;display:grid;place-items:center}.sticker-frame:before{content:"";position:absolute;inset:8px;border-radius:9px;border:1px dashed rgba(224,189,130,.18);pointer-events:none}.sticker-frame img{width:100%;height:100%;object-fit:cover;object-position:center top}.empty-mark{font-family:Oswald,sans-serif;font-size:36px;color:rgba(224,189,130,.18)}.sticker-brand{position:absolute;left:8px;bottom:8px;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(18,8,4,.86);color:var(--gold);border:1px solid rgba(224,189,130,.22)}.sticker-title{margin:0;font-size:13px;line-height:1.08;color:#FFF8EF;font-weight:900}.sticker-meta{margin:4px 0 0;color:rgba(224,189,130,.72);font-size:10px;line-height:1.2;font-weight:800}.sticker-actions{display:flex;gap:6px;margin-top:8px}.sticker-actions a{flex:1;border-radius:8px;padding:8px 6px;font-size:9px;font-weight:900;text-align:center;text-transform:uppercase;background:#FFF8EF;color:#2B170D}.sticker-actions .share{background:linear-gradient(135deg,var(--copper),var(--orange));color:#fff}
.big-sticker,.story-preview{border-radius:34px;overflow:hidden;background:radial-gradient(circle at 80% 0%,rgba(224,189,130,.18),transparent 28%),linear-gradient(145deg,#120804,#2b170d 55%,#b63f16);color:#fff;padding:26px;box-shadow:0 32px 90px rgba(0,0,0,.32);border:1px solid rgba(224,189,130,.25)}.big-sticker-top,.story-top{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.big-photo{margin:22px 0;border-radius:24px;overflow:hidden;height:360px;border:1px solid rgba(224,189,130,.22)}.big-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.big-sticker h2,.story-preview h2{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:44px;line-height:.9;margin:0}.big-sticker p{color:rgba(255,248,240,.78)}.big-sticker b{display:inline-flex;margin-top:12px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;text-transform:uppercase}.story-preview{min-height:620px;display:flex;flex-direction:column}.story-center{margin:auto;text-align:center}.story-center img{width:190px;height:190px;border-radius:50%;object-fit:cover;margin:0 auto 24px;border:6px solid rgba(255,255,255,.28)}.tags{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.tags span{font-size:11px;font-weight:900;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.12)}
@media(max-width:1150px){.passport-hero,.sticker-unlocked,.share-screen{grid-template-columns:1fr}.album-grid{grid-template-columns:repeat(4,1fr)}.album-book:before{display:none}}
@media(max-width:900px){.dashboard-head{display:block}.form-grid{grid-template-columns:1fr}.album-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.passport-topbar{height:72px;padding:0 16px}.passport-brand img{width:132px;max-height:48px}.passport-main{padding-top:72px}.passport-menu-toggle{display:block}.passport-nav{position:fixed;top:72px;right:14px;left:14px;display:none;flex-direction:column;gap:0;padding:10px;background:rgba(18,8,4,.96);border:1px solid rgba(224,189,130,.24);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.46);z-index:60}.passport-nav.open{display:flex}.passport-nav a{display:block;padding:16px 14px;border-radius:14px;font-size:12px;color:#FFF8EF}.passport-nav a:hover{background:rgba(224,189,130,.10)}.passport-hero,.sticker-unlocked,.share-screen{min-height:auto;padding:34px 16px 48px;gap:28px}.passport-hero h1,.sticker-unlocked h1,.share-screen h1,.auth-card h1,.scanner-card h1,.selfie-card h1,.dashboard-head h1{font-size:clamp(42px,13vw,68px);line-height:.92;word-break:normal;overflow-wrap:anywhere}.passport-hero p,.muted,.dashboard-head p,.sticker-unlocked p,.share-screen p{font-size:15px;line-height:1.55}.passport-cover-card{min-height:430px;border-radius:28px;padding:26px}.passport-cover-card h2{margin-top:72px;font-size:clamp(42px,12vw,60px)}.passport-cover-card b{width:104px;height:104px;right:22px;bottom:22px;font-size:14px}.auth-card,.scanner-card,.selfie-card{margin:26px 14px 46px;padding:24px 18px;border-radius:24px}.dashboard-head{padding:34px 16px 18px}.dashboard-head .btn{margin-top:18px;width:100%}.progress-card{margin:0 16px 18px;padding:18px;border-radius:22px}.album-book{margin:18px 12px 48px;padding:16px;border-radius:26px}.album-title{align-items:flex-start;font-size:10px;line-height:1.35}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sticker-slot{border-radius:14px;padding:8px}.sticker-title{font-size:12px}.sticker-meta{font-size:9px}.sticker-actions{flex-direction:column;gap:5px}.sticker-actions a{padding:8px 5px;font-size:8px}.sticker-slot.locked:after{display:none}.big-sticker,.story-preview{border-radius:26px;padding:18px}.big-photo{height:320px;border-radius:18px}.big-sticker h2,.story-preview h2{font-size:34px}.story-preview{min-height:520px}}
@media(max-width:390px){.album-grid{grid-template-columns:1fr}.sticker-slot{max-width:260px;margin:0 auto;width:100%}}


/* =========================================================
   TGCF · AJUSTE LEGIBILIDAD TÍTULOS GRANDES
   Más aire entre letras para titulares principales.
   ========================================================= */

.hero-title,
.hero-copy h1,
.hero h1,
.hero-heading,
.main-hero h1,
.tgcf-hero h1,
.home-hero h1,
.section-title,
.section-head h2,
.activities h2,
.passport-hero h1,
.passport-preview h2,
.passport-cover-card h2,
.sticker-unlocked h1,
.share-screen h1,
.auth-card h1,
.scanner-card h1,
.selfie-card h1,
.dashboard-head h1,
h1.hero-title,
h1.display-title,
h2.display-title {
  letter-spacing: 0.018em !important;
  word-spacing: 0.035em !important;
  line-height: 0.94 !important;
  text-rendering: geometricPrecision !important;
  -webkit-font-smoothing: antialiased !important;
  font-kerning: normal !important;
}

.hero-title span,
.hero-copy h1 span,
.hero h1 span,
.hero-heading span,
.main-hero h1 span,
.tgcf-hero h1 span,
.home-hero h1 span,
.passport-hero h1 span,
.passport-preview h2 span,
.passport-cover-card h2 span {
  letter-spacing: 0.02em !important;
}

@media (max-width: 720px) {
  .hero-title,
  .hero-copy h1,
  .hero h1,
  .hero-heading,
  .main-hero h1,
  .tgcf-hero h1,
  .home-hero h1,
  .section-title,
  .section-head h2,
  .activities h2,
  .passport-hero h1,
  .passport-preview h2,
  .passport-cover-card h2,
  .sticker-unlocked h1,
  .share-screen h1,
  .auth-card h1,
  .scanner-card h1,
  .selfie-card h1,
  .dashboard-head h1,
  h1.hero-title,
  h1.display-title,
  h2.display-title {
    letter-spacing: 0.012em !important;
    word-spacing: 0.025em !important;
    line-height: 0.96 !important;
  }
}

/* TGCF Passport V2 · Políticas, cookies, consentimientos */
body,button,input,select,textarea{font-family:'Host Grotesk',Inter,system-ui,sans-serif}
.legal-page{max-width:980px;margin:54px auto 80px;padding:clamp(24px,4vw,46px);border-radius:30px;background:linear-gradient(145deg,#FFF8EF,#EFE1CF);color:#2F1C11;border:1px solid rgba(129,94,47,.22);box-shadow:0 30px 90px rgba(0,0,0,.26)}
.legal-page h1,.legal-page h2{font-family:'Host Grotesk',Inter,sans-serif;text-transform:uppercase;letter-spacing:.018em;line-height:.96;color:#120804}.legal-page h1{font-size:clamp(38px,5vw,72px);margin:0 0 22px}.legal-page h2{font-size:24px;margin:32px 0 10px}.legal-page p,.legal-page li{color:#5D452B;line-height:1.7;font-weight:560}.legal-page a{color:#9D3922;font-weight:800}
.consent-box{grid-column:1/-1;display:grid;gap:12px;margin-top:6px;padding:16px;border-radius:18px;background:rgba(129,94,47,.08);border:1px solid rgba(129,94,47,.16)}
.consent-check{display:grid!important;grid-template-columns:22px 1fr;align-items:start;gap:10px;font-size:13px!important;line-height:1.45;color:#3B1F12!important}.consent-check input{width:18px!important;height:18px!important;margin:2px 0 0!important;accent-color:#9D3922}.consent-check span{display:block}.consent-check a{color:#9D3922;font-weight:900;text-decoration:underline;text-underline-offset:3px}
.passport-cookie{position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;display:none;grid-template-columns:1fr auto;gap:18px;align-items:center;max-width:980px;margin:auto;padding:18px;border-radius:22px;background:rgba(18,8,4,.96);color:#FFF8EF;border:1px solid rgba(224,189,130,.28);box-shadow:0 28px 90px rgba(0,0,0,.45)}.passport-cookie.open{display:grid}.passport-cookie strong{color:#E0BD82;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.passport-cookie p{margin:6px 0 0;color:rgba(255,248,240,.72);line-height:1.45;font-size:13px}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-actions button{border:0;border-radius:999px;padding:11px 14px;font-weight:900;cursor:pointer}.cookie-actions button:first-child{background:#FFF8EF;color:#3B1F12}.cookie-actions button:last-child{background:linear-gradient(135deg,#9D3922,#C71F2C);color:#fff}
.passport-legal-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;padding:24px 16px 44px;color:rgba(255,248,240,.64);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.passport-legal-footer a:hover{color:#E0BD82}.security-note{margin-top:18px;padding:14px 16px;border-radius:16px;background:rgba(157,57,34,.10);border:1px solid rgba(157,57,34,.18);color:#5D452B;font-weight:700}
@media(max-width:720px){.passport-cookie{grid-template-columns:1fr;left:12px;right:12px;bottom:12px}.cookie-actions{display:grid;grid-template-columns:1fr}.legal-page{margin:26px 14px 56px;padding:24px 18px;border-radius:24px}}
