:root{--bg:#fff7ec;--ink:#1a120b;--orange:#ff5c39;--blue:#2f6bff;--yellow:#ffc93c;--green:#2f9e5f;--pink:#ff8fc7;--card:#fffdf8;--radius:28px;--font-display:"Archivo Black", sans-serif;--font-body:"Space Grotesk", sans-serif;--font-hand:"Caveat", cursive}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.55;overflow-x:hidden}::selection{background:var(--orange);color:#fff}.intro-overlay{z-index:100;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.intro-overlay video{object-fit:contain;background:var(--bg);width:100%;height:100%}.bg-fx{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-fx .blob{filter:blur(60px);opacity:.35;border-radius:50%;position:absolute}.blob-1{background:var(--yellow);width:46vw;height:46vw;top:-12vw;left:-10vw}.blob-2{background:var(--pink);width:38vw;height:38vw;bottom:-8vw;right:-8vw}.blob-3{background:var(--blue);opacity:.16;width:30vw;height:30vw;top:40%;left:55%}.bg-fx .shape{opacity:.5;position:absolute}.grain{z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.page{z-index:2;position:relative}.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}section{padding:clamp(80px,12vh,140px) 0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.02}.kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--orange);align-items:center;gap:10px;margin-bottom:18px;font-size:13px;font-weight:700;display:inline-flex}.kicker:before{content:"";background:var(--orange);border-radius:99px;width:34px;height:4px}.hand{font-family:var(--font-hand);color:var(--blue)}.nav{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a120be6;border-radius:99px;padding:8px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #1a120b40}.nav-track{align-items:center;gap:6px;display:flex}.nav a{color:#fff7ec;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:99px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s,transform .15s}.nav a:hover,.nav a.active{background:var(--orange)}.nav a:active{background:var(--orange);transform:scale(.92)}.nav a:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}@media (width<=760px){.nav{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;cursor:grab;max-width:calc(100vw - 24px);display:block;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 26px calc(100% - 26px),#0000);mask-image:linear-gradient(90deg,#0000,#000 26px calc(100% - 26px),#0000)}.nav::-webkit-scrollbar{display:none}.nav.dragging{cursor:grabbing}.nav.dragging a{pointer-events:none}.nav-track{gap:2px;display:inline-flex}.nav a{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;padding:8px 12px;font-size:12px}}.hero{align-items:center;min-height:100svh;padding-top:90px;display:flex;position:relative}.hero-grid{grid-template-columns:1.35fr .9fr;align-items:center;gap:clamp(24px,5vw,64px);width:100%;display:grid}.hero h1{text-transform:uppercase;font-size:clamp(52px,9vw,124px)}.hero h1 .accent{color:var(--orange);display:inline-block}.hero .rotator{display:inline}.rotator-word{display:none}.rotator-word.on{animation:.45s both word-in;display:inline-block}.rotator-word.on.out{animation:.3s both word-out}@keyframes word-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes word-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.rotator-word{display:none}.rotator-word.on{animation:none;display:inline-block}}.hero-sub{max-width:34em;margin-top:22px;font-size:clamp(18px,2vw,24px)}.hero-cta{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.hero-meta{flex-wrap:wrap;gap:22px;margin-top:34px;font-size:15px;font-weight:600;display:flex}.hero-meta a{color:var(--ink);border-bottom:2px solid var(--yellow);text-decoration:none}.hero-meta a:hover{border-color:var(--orange);color:var(--orange)}.badge-stack{place-items:center;min-height:340px;display:grid;position:relative}.badge{font-family:var(--font-display);color:#fff;text-align:center;border-radius:50%;place-items:center;padding:18px;display:grid;position:absolute;box-shadow:0 14px 34px #1a120b2e}.badge svg{width:44%;height:44%}.badge-b1{background:var(--orange);width:190px;height:190px;font-size:20px}.badge-b2{background:var(--blue);width:150px;height:150px;font-size:16px;top:0;right:4%}.badge-b3{background:var(--green);width:130px;height:130px;font-size:14px;bottom:4%;left:0}@media (width<=900px){.hero-grid{grid-template-columns:1fr}.badge-stack{order:-1;min-height:300px}.badge-b1{width:150px;height:150px;font-size:16px}.badge-b2{width:118px;height:118px;font-size:13px}.badge-b3{width:104px;height:104px;font-size:12px}}.btn{font-family:var(--font-display);border:3px solid var(--ink);color:var(--ink);background:var(--card);box-shadow:0 6px 0 var(--ink);border-radius:99px;align-items:center;gap:10px;padding:16px 28px;font-size:16px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn:hover{box-shadow:8px 12px 0 var(--ink);transform:translate(-2px,-4px)}.btn:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,4px)}.btn.primary{background:var(--orange);color:#fff}.marquee{background:var(--ink);color:var(--bg);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:18px 0;overflow:hidden;transform:rotate(-1.2deg)scale(1.02)}.marquee.alt{background:var(--orange);color:#fff;transform:rotate(1.2deg)scale(1.02)}.marquee-track{width:max-content;font-family:var(--font-display);text-transform:uppercase;white-space:nowrap;will-change:transform;gap:42px;font-size:clamp(20px,3vw,34px);display:flex}.marquee-track span{align-items:center;gap:42px;display:inline-flex}.marquee-track svg{font-size:.7em}.about-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:clamp(28px,6vw,80px);display:grid}.about-grid p.big{font-size:clamp(22px,2.6vw,32px);font-weight:600;line-height:1.4}.about-grid p.big mark{background:var(--yellow);border-radius:6px;padding:0 8px}.fact-card{background:var(--ink);color:var(--bg);border-radius:var(--radius);padding:30px;transform:rotate(1.5deg)}.fact-card h3{color:var(--yellow);margin-bottom:14px;font-size:20px}.fact-card ul{gap:10px;font-size:16px;list-style:none;display:grid}.fact-card svg{color:var(--orange);margin-right:10px}@media (width<=900px){.about-grid{grid-template-columns:1fr}}.stats{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.stat{background:var(--card);border:3px solid var(--ink);border-radius:var(--radius);box-shadow:8px 8px 0 var(--yellow);padding:28px 22px}.stat:nth-child(2){box-shadow:8px 8px 0 var(--pink)}.stat:nth-child(3){box-shadow:8px 8px 0 var(--green)}.stat:nth-child(4){box-shadow:8px 8px 0 var(--blue)}.stat .num{font-family:var(--font-display);color:var(--orange);font-size:clamp(44px,5vw,72px)}.stat .lbl{margin-top:6px;font-weight:600}@media (width<=900px){.stats{grid-template-columns:repeat(2,1fr)}}.timeline{margin-top:20px;position:relative}.timeline:before{content:"";background:repeating-linear-gradient(to bottom, var(--ink) 0 12px, transparent 12px 24px);width:4px;position:absolute;top:0;bottom:0;left:26px}@media (width>=900px){.timeline:before{left:50%;transform:translate(-50%)}}.xp{margin-bottom:46px;padding-left:70px;position:relative}.xp .dot{background:var(--card);border:3px solid var(--ink);width:56px;height:56px;font-family:var(--font-display);z-index:1;border-radius:50%;place-items:center;font-size:14px;display:grid;position:absolute;top:8px;left:0;box-shadow:0 6px #1a120b26}.xp.current .dot{background:var(--orange);color:#fff}.xp-card{background:var(--card);border:3px solid var(--ink);border-radius:var(--radius);padding:clamp(24px,3vw,40px);transition:transform .25s,box-shadow .25s;box-shadow:10px 10px #1a120be6}.xp-card:hover{box-shadow:16px 16px 0 var(--orange);transform:translate(-4px,-4px)rotate(-.4deg)}.xp-card h3{font-size:clamp(22px,2.6vw,32px)}.xp-card .role{color:var(--orange);margin-top:6px;font-size:19px;font-weight:700}.xp-card .period{background:var(--yellow);border-radius:99px;align-items:center;gap:8px;margin:12px 0 4px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-flex}.xp-card ul{gap:8px;margin:16px 0 0 18px;display:grid}.xp-tags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.xp-tags span{border:2px solid var(--ink);background:var(--bg);border-radius:99px;padding:4px 12px;font-size:13px;font-weight:700}@media (width>=900px){.xp{width:50%;padding-left:0;padding-right:60px}.xp:nth-child(2n){margin-left:50%;padding-left:60px;padding-right:0}.xp:nth-child(odd) .dot{left:auto;right:-28px}.xp:nth-child(2n) .dot{left:-28px}}.skills-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.skill{background:var(--card);border:3px solid var(--ink);border-radius:var(--radius);padding:26px 20px;transition:transform .25s}.skill:hover{background:var(--yellow);transform:translateY(-8px)rotate(-1deg)}.skill svg{color:var(--orange);font-size:34px}.skill h3{margin-top:14px;font-size:17px;line-height:1.2}.skill p{color:#1a120bb3;margin-top:8px;font-size:14px;font-weight:600}@media (width<=1000px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.skills-grid{grid-template-columns:1fr}}.edu-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px;display:grid}.edu{background:var(--ink);color:var(--bg);border-radius:var(--radius);padding:34px;position:relative;overflow:hidden}.edu:after{content:"";background:var(--orange);opacity:.25;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-50px;right:-50px}.edu h3{font-size:22px;position:relative}.edu .deg{color:var(--yellow);margin-top:8px;font-weight:700;position:relative}.edu .meta{opacity:.85;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:14px;display:flex;position:relative}.edu .gpa{background:var(--green);color:#fff;border-radius:99px;padding:2px 12px;font-weight:700}.edu p{margin-top:12px;font-size:15px;position:relative}@media (width<=900px){.edu-grid{grid-template-columns:1fr}}.cert-list{flex-direction:column;gap:12px;display:flex}@media (width>=760px){.cert-list{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}}.cert{border:3px solid var(--ink);background:var(--card);border-radius:22px;align-items:center;gap:12px;padding:12px 18px;font-size:15px;font-weight:700;transition:transform .2s,background .2s;display:flex}.cert:hover{background:var(--pink);transform:translateY(-3px)rotate(-.5deg)}.cert>svg{color:var(--orange);flex-shrink:0}.cert-name{flex:1;line-height:1.3}.cert-links{flex-shrink:0;gap:8px;display:flex}.cert-links a{border:2px solid var(--ink);background:var(--bg);width:36px;height:36px;color:var(--ink);border-radius:50%;place-items:center;font-size:14px;transition:background .2s,transform .2s;display:grid}.cert-links a:hover{background:var(--yellow);transform:scale(1.12)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-lead{opacity:.85;max-width:46em;margin-bottom:38px;font-size:clamp(17px,2vw,22px);font-weight:600}.count-badge{background:var(--green);color:#fff;white-space:nowrap;border-radius:99px;margin-left:8px;padding:4px 16px;font-size:.85em;font-weight:700;display:inline-block}.pf-grid{grid-template-columns:1fr;gap:22px;display:grid}.pf-card{background:var(--card);border:3px solid var(--ink);border-radius:var(--radius);grid-template-columns:.95fr 1.05fr;transition:transform .25s,box-shadow .25s;display:grid;overflow:hidden;box-shadow:10px 10px #1a120be6}.pf-card:hover{box-shadow:16px 16px 0 var(--blue);transform:translate(-4px,-4px)}.pf-media{min-height:280px;display:block;position:relative;overflow:hidden}.pf-media img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.pf-card:hover .pf-media img{transform:scale(1.05)}.pf-open{background:var(--yellow);border:3px solid var(--ink);width:44px;height:44px;color:var(--ink);border-radius:50%;place-items:center;font-size:16px;display:grid;position:absolute;top:14px;right:14px}.pf-body{flex-direction:column;gap:12px;padding:clamp(24px,3vw,38px);display:flex}.pf-body h3{font-size:clamp(22px,2.6vw,34px)}.pf-desc{font-size:16px;line-height:1.6}.pf-delivered{background:var(--bg);border:2px dashed var(--ink);border-radius:14px;padding:10px 14px;font-size:14px}.pf-link{color:var(--blue);align-items:center;gap:8px;margin-top:4px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.pf-link:hover{color:var(--orange)}@media (width<=860px){.pf-card{grid-template-columns:1fr}.pf-media{min-height:220px}}.web-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.web-card{background:var(--card);border:3px solid var(--ink);color:var(--ink);border-radius:22px;flex-direction:column;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden;box-shadow:6px 6px #1a120be6}.web-card:hover{box-shadow:10px 14px 0 var(--green);transform:translateY(-8px)rotate(-.6deg)}.web-media{aspect-ratio:16/10;background:var(--bg);display:block;position:relative;overflow:hidden}.web-media img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .5s;display:block}.web-card:hover .web-media img{transform:scale(1.06)}.web-media .pf-open{width:36px;height:36px;font-size:13px}.web-body{flex-direction:column;gap:4px;padding:14px 16px 18px;display:flex}.web-url{word-break:break-all;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.web-url svg{color:var(--green);flex-shrink:0}.web-niche{opacity:.65;font-size:13px;font-weight:600}@media (width<=1000px){.web-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.web-grid{grid-template-columns:1fr}}.contact{text-align:center;padding-bottom:60px}.contact h2{text-transform:uppercase;font-size:clamp(44px,8vw,110px)}.contact h2 .accent{color:var(--orange)}.contact p.lead{max-width:30em;margin:20px auto 40px;font-size:clamp(18px,2vw,24px)}.contact-row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}footer{border-top:3px solid var(--ink);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:26px 0;font-size:14px;font-weight:600;display:flex}footer a{color:var(--ink)}.social-row{justify-content:center;gap:16px;margin-top:26px;display:flex}.social-row a{border:3px solid var(--ink);background:var(--card);width:58px;height:58px;color:var(--ink);box-shadow:4px 5px 0 var(--ink);border-radius:50%;place-items:center;font-size:24px;transition:transform .2s,box-shadow .2s,background .2s;display:grid}.social-row a:hover{box-shadow:6px 9px 0 var(--ink);background:var(--yellow);transform:translate(-2px,-4px)rotate(-4deg)}.wa-float{z-index:60;color:#fff;border:3px solid var(--ink);width:62px;height:62px;box-shadow:4px 6px 0 var(--ink);background:#25d366;border-radius:50%;place-items:center;font-size:30px;transition:transform .2s,box-shadow .2s;display:grid;position:fixed;bottom:20px;right:20px}.wa-float:hover{box-shadow:6px 10px 0 var(--ink);transform:translate(-2px,-4px)scale(1.06)}.reveal{opacity:0;transform:translateY(46px)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
