:root{
  --off:#f7eacb;--paper:#fff7e2;--yellow:#ffd23f;--emerald:#008c4c;--green:#2f6b3f;--dark:#1b231d;--ink:#172018;--muted:#314334;--line:rgba(27,35,29,.18);--shadow:0 20px 58px rgba(27,35,29,.14);--radius:26px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--off);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden} a{color:inherit;text-decoration:none} img,svg{max-width:100%;display:block} ::selection{background:var(--yellow);color:var(--dark)}
.page-noise{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.container{max-width:1180px;margin:0 auto;padding:0 22px}.site-header{position:sticky;top:0;z-index:50;background:rgba(247,234,203,.95);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{max-width:1180px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;font:900 21px/1 Archivo,Inter,sans-serif;letter-spacing:-.04em}.brand small{font:900 10px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--emerald);margin-top:7px}.brand-mark{width:40px;height:40px;border-radius:14px;background:var(--dark);color:var(--off);display:grid;place-items:center}.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-links a{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:10px 12px;border-radius:999px;color:rgba(27,35,29,.78)}.nav-links a:hover{background:rgba(27,35,29,.08);color:var(--dark)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--dark);background:var(--dark);color:var(--off);padding:13px 18px;border-radius:999px;font-weight:900;letter-spacing:-.01em;box-shadow:0 12px 28px rgba(27,35,29,.16);transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(27,35,29,.24)}.btn.secondary{background:rgba(255,255,255,.70);color:var(--dark);border-color:rgba(27,35,29,.34);box-shadow:none}.btn.yellow{background:var(--yellow);color:var(--dark);border-color:var(--yellow)}.btn.green,.whatsapp-cta{background:var(--emerald);color:white;border-color:var(--emerald)}
section{position:relative}.hero,.portal-hero{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:68px 0 44px;overflow:hidden;background:linear-gradient(180deg,#f9efd5 0%,#f4e3bd 100%)}#portal-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.24;pointer-events:none;mix-blend-mode:normal}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:36px;align-items:center}.hero-copy{position:relative;z-index:3}.eyebrow{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(27,35,29,.18);background:rgba(255,255,255,.72);border-radius:999px;padding:8px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#174421}.dot{width:8px;height:8px;border-radius:99px;background:var(--emerald);box-shadow:0 0 0 6px rgba(0,140,76,.12)}h1{font-family:Archivo,Inter,sans-serif;font-size:clamp(44px,8vw,104px);line-height:.92;letter-spacing:-.065em;margin:22px 0;text-wrap:balance}.hero h1 span{display:block}.highlight{color:#006f3e}.stroke{color:var(--dark);-webkit-text-stroke:0}.lead{font-size:clamp(18px,2vw,24px);line-height:1.34;color:#263629;max-width:740px;font-weight:700}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-primary{font-size:clamp(15px,1.45vw,19px);padding:16px 24px;max-width:580px;white-space:normal;text-align:left;line-height:1.12;color:#162016!important}.portal-panel{position:relative;z-index:3;border-radius:34px;background:rgba(27,35,29,.96);color:var(--off);padding:26px;border:1px solid rgba(247,234,203,.24);box-shadow:var(--shadow)}.portal-panel h2{font-family:Archivo;font-size:clamp(36px,4.5vw,56px);line-height:.94;letter-spacing:-.06em;margin:18px 0 10px}.portal-panel p{color:rgba(247,234,203,.86);font-weight:650;line-height:1.5}.portal-status{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(247,234,203,.20);padding:8px 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.portal-status span{width:8px;height:8px;background:var(--yellow);border-radius:99px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.quick-grid a{background:rgba(247,234,203,.16);border:1px solid rgba(247,234,203,.24);border-radius:18px;padding:14px;color:var(--off);font-weight:900}.quick-grid b{display:block;font-family:Archivo;font-size:24px;letter-spacing:-.05em}.quick-grid a:hover{background:var(--yellow);color:var(--dark)}
.section-pad{padding:88px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-kicker{font-weight:900;color:var(--emerald);text-transform:uppercase;letter-spacing:.12em;font-size:12px}.section-title{font-family:Archivo;font-size:clamp(38px,5.6vw,70px);line-height:.96;letter-spacing:-.06em;margin:8px 0}.section-desc{max-width:660px;color:var(--muted);font-size:18px;line-height:1.55;font-weight:650}.grid-2,.grid-3,.grid-4{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card,.term-card,.resource-card,.reference-card{border:1px solid var(--line);background:rgba(255,255,255,.58);border-radius:var(--radius);padding:22px;box-shadow:0 14px 42px rgba(27,35,29,.08);transition:.2s}.card:hover,.term-card:hover,.resource-card:hover,.reference-card:hover{transform:translateY(-4px);box-shadow:0 22px 58px rgba(27,35,29,.14)}.card.dark{background:#172018;color:var(--off)}.card.yellow{background:var(--yellow)}.card.green{background:var(--emerald);color:white}.card h3,.term-card h3,.resource-card h3,.reference-card h3{font-family:Archivo;font-size:28px;line-height:.98;letter-spacing:-.045em;margin:0 0 10px}.card p,.term-card p,.resource-card p,.reference-card p,.timeline-item p,.resource-row p{color:var(--muted);line-height:1.5;font-weight:600}.card.dark p{color:rgba(247,234,203,.86)}.card.green p{color:rgba(255,255,255,.84)}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tag{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;background:rgba(27,35,29,.08);border:1px solid var(--line);border-radius:999px;padding:7px 9px}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;align-items:start}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.42)}.timeline-item strong{font-family:Archivo;font-size:22px}.timeline.numbered .timeline-item{grid-template-columns:56px 1fr}.timeline.numbered strong{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--dark);color:var(--yellow)}.safe{background:var(--green);color:var(--off)}.safe .section-kicker{color:var(--yellow)}.safe .section-desc,.safe p{color:rgba(247,234,203,.84)}
.map-section{background:linear-gradient(180deg,var(--off),#f4e5c0)}.beginner-map{width:100%;height:auto;margin-top:10px;overflow:visible}.beginner-map .map-node rect{fill:rgba(255,255,255,.92);stroke:rgba(27,35,29,.14);stroke-width:2}.beginner-map .map-node.yellow rect{fill:var(--yellow)}.beginner-map .map-node.green rect{fill:#007a44}.beginner-map .map-node text{font-family:Archivo;font-size:34px;font-weight:900;fill:#008c4c}.beginner-map .map-node.green text{fill:var(--yellow)}.beginner-map .map-node p{font:800 16px/1.2 Inter,system-ui;margin:0;color:#1b231d}.beginner-map .map-node.green p{color:#fff}.beginner-map .map-line{animation:dash 22s linear infinite}@keyframes dash{to{stroke-dashoffset:-240}}.mobile-map{display:none}.mobile-map article{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:start;background:rgba(255,255,255,.74);border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:12px;box-shadow:0 12px 30px rgba(27,35,29,.08)}.mobile-map span{width:42px;height:42px;border-radius:14px;background:var(--dark);color:var(--yellow);font:900 22px/42px Archivo;text-align:center}.mobile-map h3{font-family:Archivo;font-size:24px;letter-spacing:-.04em;margin:0 0 4px;color:var(--dark)}.mobile-map p{margin:0;color:var(--muted);font-weight:650;line-height:1.35}.term-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.github-guide{background:radial-gradient(circle at 12% 20%,rgba(255,210,63,.28),transparent 34%)}.page-hero{padding:72px 0 46px;background:radial-gradient(circle at 10% 10%,rgba(255,210,63,.32),transparent 32%);overflow:hidden}.page-hero #portal-canvas{opacity:.22}.page-hero h1{font-size:clamp(42px,7vw,86px)}
.luma-embed{display:block;width:100%;height:520px;min-height:520px;border:0;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.18)}.widget-card{background:rgba(247,234,203,.12);border:1px solid rgba(247,234,203,.20);border-radius:28px;padding:20px;color:var(--off);box-shadow:0 20px 60px rgba(0,0,0,.12)}.widget-card.light{background:rgba(255,255,255,.55);color:var(--dark);border-color:var(--line)}.widget-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.widget-top span{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--yellow)}.widget-card.light .widget-top span{color:var(--emerald)}.widget-top b{font-family:Archivo;font-size:30px;letter-spacing:-.05em}.earn-widget{display:grid;gap:12px}.earn-feature{border:1px solid rgba(247,234,203,.18);background:rgba(247,234,203,.12);border-radius:20px;padding:16px}.earn-feature span{display:inline-flex;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--yellow);margin-bottom:8px}.earn-feature strong{display:block;font-family:Archivo;font-size:24px;letter-spacing:-.04em;line-height:1}.earn-feature p{margin:8px 0 0;color:inherit;opacity:.78;line-height:1.45}.earn-cta{width:100%}
.reference-section{background:linear-gradient(180deg,var(--off),#f1dfb9)}.reference-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.reference-card{min-height:205px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.reference-card span{font-family:Archivo;font-size:30px;letter-spacing:-.05em;color:var(--emerald)}.semester-section{background:#f2e0ba}.resource-list{display:grid;gap:14px}.resource-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.58);border-radius:28px;padding:20px;box-shadow:0 14px 42px rgba(27,35,29,.08)}.resource-row span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--emerald)}.resource-row h3{font-family:Archivo;font-size:32px;line-height:.95;letter-spacing:-.05em;margin:7px 0}.row-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.footer{padding:56px 0;background:var(--dark);color:var(--off)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:end}.footer h2{font-family:Archivo;font-size:clamp(42px,6vw,76px);line-height:.92;letter-spacing:-.065em;margin:0}.footer p{color:rgba(247,234,203,.72);font-weight:650}.socials{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.socials a{border:1px solid rgba(247,234,203,.18);border-radius:999px;padding:11px 14px;font-weight:900}.socials a:hover{background:var(--yellow);color:var(--dark)}
@media (max-width:1100px){.grid-4,.reference-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.portal-panel{max-width:760px}}
@media (max-width:900px){body{font-size:16px}.container{padding:0 18px}.nav{display:grid;padding:12px 14px}.brand{font-size:19px}.brand small{display:none}.brand-mark{width:36px;height:36px;border-radius:12px}.clean-nav .nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}.clean-nav .nav-links a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:40px}.clean-nav .nav-links .whatsapp-cta{grid-column:1/-1}.hero,.portal-hero{padding:44px 0 30px;min-height:auto}.hero-grid{gap:24px}.readable-title,h1{font-size:clamp(42px,15vw,64px)!important;line-height:.96!important;letter-spacing:-.055em!important}.lead,.readable-lead{font-size:18px!important;line-height:1.38!important}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.hero-primary{text-align:center!important;max-width:none;padding:16px 18px}.portal-panel{border-radius:28px;padding:20px}.portal-panel h2{font-size:36px!important}.quick-grid{grid-template-columns:1fr}.section-pad{padding:54px 0}.section-head{display:block}.section-title{font-size:clamp(34px,12vw,48px);line-height:.98}.grid-2,.grid-3,.grid-4,.term-grid,.reference-grid{grid-template-columns:1fr}.beginner-map{display:none}.mobile-map{display:block}.card,.term-card,.resource-card,.reference-card{border-radius:22px;padding:18px}.timeline-item,.timeline.numbered .timeline-item{grid-template-columns:1fr}.luma-embed{height:460px;min-height:460px}.resource-row{grid-template-columns:1fr;border-radius:22px;padding:16px}.row-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}.row-actions .btn{text-align:center;white-space:normal}.footer{padding:42px 0}.footer-grid,.split{grid-template-columns:1fr}.footer h2{font-size:42px}.socials{display:grid;grid-template-columns:1fr;justify-content:stretch}.socials a{text-align:center}.page-hero{padding:54px 0 36px}.page-hero h1{font-size:clamp(40px,13vw,58px)!important;line-height:.98!important}}
@media (max-width:420px){.container{padding:0 16px}.clean-nav .nav-links{grid-template-columns:1fr}.readable-title,h1{font-size:42px!important}.section-title{font-size:36px}.btn{width:100%;padding:14px 16px}.luma-embed{height:420px;min-height:420px}.mobile-map article{grid-template-columns:46px 1fr;padding:14px}.mobile-map span{width:38px;height:38px;line-height:38px}}
