:root{--pink:#ffd1e3;--rose:#ffb3d1;--lavender:#e1d4ff;--periwinkle:#dbe4ff;--sand:#f5e6c8;--mint:#c9f2df;--butter:#fff3b8;--sky:#cfe8ff;--peach:#ffd9c2;--ink:#3b2250;--white:#fffafc;--stroke:3px solid var(--ink);--shadow:5px 5px 0 var(--ink);--pad:clamp(1.25rem,5vw,5rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Nunito,sans-serif;color:var(--ink);font-size:1.1rem;line-height:1.6;overflow-x:hidden}h1,h2,h3,.btn,.nav{font-family:Fredoka,sans-serif}.section{position:relative;min-height:100vh;padding:7rem var(--pad) 9rem;display:flex;align-items:center;scroll-margin-top:0}.inner{width:100%;max-width:1500px;margin:0 auto}.wave{position:absolute;left:0;bottom:-1px;width:100%;height:clamp(50px,8vw,100px);display:block}.h1{font-size:clamp(3rem,8vw,7rem);line-height:1;margin:0 0 1rem;font-weight:700}.h2{font-size:clamp(2.2rem,4.5vw,3.8rem);margin:0 0 2.5rem;font-weight:700;display:inline-block;background:var(--white);border:var(--stroke);box-shadow:var(--shadow);border-radius:999px;padding:.1em .7em}.lead{font-size:clamp(1.15rem,2vw,1.6rem);max-width:40ch}.row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.nav{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:10;display:flex;gap:.25rem;padding:.4rem;background:var(--white);border:var(--stroke);border-radius:999px;box-shadow:3px 3px 0 var(--ink);max-width:calc(100vw - 1rem);overflow-x:auto}.nav a{color:var(--ink);text-decoration:none;padding:.3rem .9rem;border-radius:999px;font-weight:600;transition:background .2s}.nav a:hover{background:var(--pink)}a:focus-visible,.embla:focus-visible{outline:3px dashed var(--ink);outline-offset:3px}.btn{display:inline-block;background:var(--ink);color:var(--white);text-decoration:none;padding:.7rem 1.6rem;border-radius:999px;border:var(--stroke);font-weight:600;font-size:1.1rem;box-shadow:4px 4px #3b225059;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #3b225059}.btn.ghost{background:var(--white);color:var(--ink)}.btn.small{padding:.4rem 1.1rem;font-size:1rem}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}.octos{position:relative;min-height:min(60vh,520px)}.octo{position:absolute;width:1em;height:auto;font-size:clamp(5rem,12vw,11rem);animation:bob 4s ease-in-out infinite}.o0{left:5%;top:8%}.o1{right:5%;top:0;font-size:clamp(3rem,7vw,6rem);animation-delay:-1s}.o2{left:35%;top:35%;font-size:clamp(6rem,15vw,14rem);animation-delay:-2s}.o3{left:0;bottom:0;font-size:clamp(3rem,6vw,5rem);animation-delay:-.5s}.o4{right:0;bottom:5%;font-size:clamp(4rem,9vw,8rem);animation-delay:-3s}.o5{right:31%;top:-43%;font-size:clamp(6rem,13vw,11rem);animation-delay:-1.5s}.octos.mini{min-height:300px}@keyframes bob{50%{transform:translateY(-18px) rotate(4deg)}}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.prose{font-size:clamp(1.1rem,1.5vw,1.35rem);max-width:55ch}.collage{position:relative;min-height:440px}.pic{display:block;object-fit:cover}.ph{display:grid;place-items:center;font-size:4rem;background:repeating-linear-gradient(45deg,var(--white),var(--white) 12px,#f4e9ff 12px,#f4e9ff 24px)}.polaroid{position:absolute;width:min(55%,300px);aspect-ratio:1;border:var(--stroke);border-bottom-width:28px;border-radius:12px;box-shadow:var(--shadow);background-color:var(--white);transition:transform .25s}.p0{left:0;top:0;transform:rotate(-6deg)}.p1{right:0;top:12%;transform:rotate(5deg)}.p2{left:22%;bottom:0;transform:rotate(-2deg)}.polaroid:hover{transform:rotate(0) scale(1.05);z-index:2}.card{background:var(--white);border:var(--stroke);border-radius:28px;box-shadow:var(--shadow);padding:1.25rem}.card h3{margin:.8rem 0 .2rem;font-size:1.6rem}.card p{margin:0 0 .8rem}.edu-list{display:grid;gap:1.25rem}.edu-card:not(.edu-card-right){max-width:1100px}.edu-card{padding:clamp(1.25rem,3vw,2rem)}.edu-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.edu-icon{flex:0 0 auto;display:grid;place-items:center;width:3.5rem;height:3.5rem;font-size:2rem;background:var(--white);border:var(--stroke);border-radius:50%;box-shadow:3px 3px 0 var(--ink)}.edu-titles{flex:1;min-width:12rem}.edu-titles h3{margin:0;font-size:1.6rem}.edu-card .edu-programme{margin:.1rem 0 0;font-weight:700;color:#5a3d78}.edu-period{background:var(--periwinkle);border:2px solid var(--ink);border-radius:999px;padding:.1rem .9rem;font-weight:700;font-size:.95rem;white-space:nowrap}.edu-card .edu-desc{margin:1rem 0 0;max-width:80ch}.edu-focus{margin:1rem 0 0}.edu-card-right{margin-left:auto;max-width:85%}.edu-card .edu-award{display:inline-flex;align-items:center;gap:.5rem;margin:1rem 0 0;padding:.35rem 1rem;background:var(--mint);border:2px solid var(--ink);border-radius:999px;font-weight:700}@media (max-width:900px){.edu-card-right{max-width:100%;margin-left:0}}.edu-cgpa{display:flex;align-items:baseline;gap:.6rem;width:fit-content;margin-top:1.2rem;padding:.8rem 1.3rem;background:var(--butter);border:var(--stroke);border-radius:20px;box-shadow:3px 3px 0 var(--ink)}.edu-cgpa-label{font-family:Fredoka,sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}.edu-cgpa-value{font-family:Fredoka,sans-serif;font-weight:700;font-size:2.2rem;line-height:1}.edu-cgpa-note{font-weight:700;opacity:.7}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.25rem,3vw,2.5rem)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,3vw,2.5rem)}.cert-card{display:flex;flex-direction:column}.cert-shot{width:100%;aspect-ratio:4/3;border:var(--stroke);border-radius:18px;object-fit:cover}.cert-card h3{margin:.9rem 0 .2rem;font-size:1.4rem}.cert-card p{margin:0 0 1rem}.cert-card .btn{margin-top:auto;align-self:flex-start}.cert-empty{border-style:dashed;box-shadow:none;background:#fffafc99}.cert-empty .cert-shot{font-size:3rem}@media (max-width:900px){.grid3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid3{grid-template-columns:1fr}}.project{transition:transform .2s}.project:hover{transform:translateY(-6px) rotate(-.6deg)}.shot{width:100%;aspect-ratio:16/9;border:var(--stroke);border-radius:18px}.tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.tags span{background:var(--lavender);border:2px solid var(--ink);border-radius:999px;padding:0 .8rem;font-weight:700;font-size:.9rem}.ach-timeline{position:relative;--rail-gap:4.5rem;display:grid;gap:clamp(2.5rem,6vw,4rem)}.ach-timeline:before{content:"";position:absolute;left:50%;top:.75rem;bottom:.75rem;width:3px;margin-left:-1.5px;background:var(--ink);border-radius:999px;opacity:.85}.ach{position:relative;width:calc(50% - var(--rail-gap));padding-top:1.75rem;transition:opacity .7s ease,transform .7s ease}.ach.right{margin-left:auto}.ach.is-hidden{opacity:0;transform:translateY(24px)}.ach-stamp{position:absolute;top:0;z-index:2;padding:.4rem .95rem;background:var(--white);border:var(--stroke);border-radius:14px;box-shadow:3px 3px 0 var(--ink);font-family:Fredoka,sans-serif;font-weight:700;font-size:1rem;line-height:1;white-space:nowrap}.ach:not(.right) .ach-stamp{right:calc(-1 * var(--rail-gap));transform:translate(50%) rotate(-4deg)}.ach.right .ach-stamp{left:calc(-1 * var(--rail-gap));transform:translate(-50%) rotate(4deg)}.ach-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(.9rem,2vw,1.4rem);align-items:center;padding:1.1rem;transition:transform .25s ease,box-shadow .25s ease}.ach:not(.right) .ach-card{transform:rotate(-.7deg);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.ach.right .ach-card{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);transform:rotate(.7deg)}.ach:not(.right) .ach-card .ach-shot{grid-column:2;grid-row:1}.ach:not(.right) .ach-card .ach-body{grid-column:1;grid-row:1}.ach.right .ach-card .ach-shot{grid-column:1;grid-row:1}.ach.right .ach-card .ach-body{grid-column:2;grid-row:1}.ach:hover .ach-card,.ach:focus-within .ach-card{transform:rotate(0) translateY(-5px);box-shadow:7px 7px 0 var(--ink)}.ach-shot{width:100%;aspect-ratio:1;border:var(--stroke);border-radius:18px;object-fit:cover;font-size:3rem}.ach-body h3{margin:0;font-size:1.35rem;line-height:1.25}.ach-card .ach-subtitle{margin:.35rem 0 0;font-weight:700;color:#b03a6b}.ach-card .ach-desc{margin:.7rem 0 0;font-size:1.02rem;max-width:60ch}.ach-body .btn{margin-top:1rem}@media (max-width:900px){.ach-timeline{--rail-x:3rem;padding-left:6rem;gap:2.5rem}.ach-timeline:before{left:var(--rail-x);top:.5rem;bottom:.5rem}.ach,.ach.right{width:100%;margin-left:0;padding-top:2.6rem}.ach-card{grid-template-columns:1fr}.ach:not(.right) .ach-card .ach-shot,.ach.right .ach-card .ach-shot{grid-column:auto;grid-row:auto}.ach:not(.right) .ach-card .ach-body,.ach.right .ach-card .ach-body{grid-column:auto;grid-row:auto}.ach:not(.right) .ach-stamp,.ach.right .ach-stamp{left:calc(-1 * var(--rail-x));right:auto;transform:translate(-50%) rotate(-4deg);font-size:.85rem;padding:.35rem .7rem}}@media (max-width:620px){.ach-card,.ach.right .ach-card,.ach:not(.right) .ach-card{grid-template-columns:1fr}.ach.right .ach-card .ach-shot,.ach.right .ach-card .ach-body{grid-column:auto;grid-row:auto}.ach-shot{aspect-ratio:16/9}}.carousel{position:relative}.carousel-btn{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:2.6rem;height:2.6rem;padding:0;transform:translateY(-50%);border:2px solid var(--ink);border-radius:50%;background:#fffafcd1;color:var(--ink);cursor:pointer;opacity:.7;box-shadow:2px 2px #3b225038;transition:opacity .2s,background .2s,transform .15s}.carousel-btn:hover,.carousel-btn:focus-visible{opacity:1;background:var(--white);transform:translateY(-50%) scale(1.08)}.carousel-btn.prev{left:-1.25rem}.carousel-btn.next{right:-1.25rem}.embla{overflow:hidden;padding:0 0 12px;border-radius:30px}.embla-track{display:flex;margin-left:-1.5rem}.embla-slide{flex:0 0 clamp(240px,28vw,380px);padding:4px 0 8px 1.5rem}.hobby{text-align:center}.hobby-pic{position:relative;width:100%;aspect-ratio:1;border:var(--stroke);border-radius:20px;overflow:hidden;font-size:5rem}.hobby-pic .pic{width:100%;height:100%;border:0;border-radius:0}.hobby-pic.zoom .pic{transform:scale(2);object-position:51.5% 50%}.cloud{background:var(--white);border:var(--stroke);border-radius:40px;box-shadow:var(--shadow);padding:clamp(1.5rem,4vw,4rem);overflow:hidden}.cloud svg{display:block;width:100%;height:auto}.word{font-family:Fredoka,sans-serif;font-weight:700;animation:bobword 6s ease-in-out infinite;will-change:transform}@keyframes bobword{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.socials{margin-top:1rem}.footer{text-align:center;padding:1rem 2rem;background:var(--peach);font-weight:700}#contact{min-height:auto;padding-bottom:1rem}#contact .h2{margin-bottom:1.25rem}#contact .split{align-items:start}#contact .prose{margin-left:1rem}@media (max-width:900px){#contact .prose{margin-left:0}}#contact .o0{top:-12%;left:10%}#contact .o2{top:15%;left:40%}.octo-badge{width:1.3em;height:1.3em;object-fit:contain;vertical-align:-.28em;display:inline-block;margin-left:.15em}@media (max-width:900px){.hero,.split,.grid2{grid-template-columns:1fr}.octos{min-height:340px}.collage{min-height:380px}.carousel-btn{width:2.2rem;height:2.2rem}.carousel-btn.prev{left:-.35rem}.carousel-btn.next{right:-.35rem}.section{padding-top:6rem}.nav,.octos{display:none}.section{min-height:auto;padding:4rem var(--pad) 6rem}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}.doodle-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.doodle{position:absolute;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;opacity:.9}:root{--doodle-fill:#d4ccea;--doodle-ink:#3b2250}.small-doodle-inline,.tiny-doodle-inline{position:relative}@keyframes doodle-bob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(1deg)}}@keyframes doodle-snail{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-2deg)}}@keyframes doodle-cafe{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(2deg)}}@keyframes doodle-floatish{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.doodle.animate{animation:t 5s ease-in-out infinite}.doodle.snail{animation-name:doodle-snail}.doodle.cafe{animation-name:doodle-cafe}.doodle.bb{animation-name:doodle-bob}.doodle.floatish{animation-name:doodle-floatish}.doodle-bg .doodle{transform-box:fill-box;transform-origin:center}
