@import url('https://fonts.googleapis.com/css2?family=Permanent+Marker&family=Roboto+Slab:wght@400;700;900&display=swap');
:root{--paper:#e9ddc2;--ink:#111;--teal:#22a6a9;--pink:#e72f79;--yellow:#e8b92e;--cream:#f7edd5;--shadow:#0003}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Roboto Slab",Georgia,serif;background-color:var(--paper);background-image:radial-gradient(#00000016 .8px,transparent .8px);background-size:7px 7px}.hero{max-width:1200px;margin:auto;min-height:430px;position:relative;padding:55px 50px 40px;overflow:hidden}.paint{position:absolute;left:25px;right:25px;top:35px;height:260px;background:#111;transform:rotate(-1deg);box-shadow:10px 10px 0 #0001}.hero-copy{position:relative;z-index:2;color:white;display:flex;flex-wrap:wrap;align-items:center;column-gap:28px}.big45{font:190px/.8 "Permanent Marker",cursive;color:var(--pink);text-shadow:4px 5px 0 #111}.hero-title{font:78px/.83 "Permanent Marker",cursive;color:var(--teal);letter-spacing:1px}.school{width:100%;margin-left:225px;font-size:24px;letter-spacing:2px;margin-top:12px}.year{margin-left:225px;margin-top:10px;background:var(--pink);padding:9px 18px;font-size:20px;font-weight:900;letter-spacing:1px}.stamp{position:absolute;right:35px;top:38px;width:190px;z-index:3}.real-object{object-fit:contain;display:block;filter:drop-shadow(8px 10px 5px #0004)}.cube-real{position:absolute;width:155px;height:155px;left:20px;bottom:0;z-index:4;transform:rotate(-8deg)}.scribble{position:absolute;right:285px;bottom:35px;font:31px/1.05 "Permanent Marker",cursive;transform:rotate(-5deg)}.nav{position:sticky;top:0;z-index:10;background:#111;color:#fff;display:flex;justify-content:center;gap:34px;padding:13px;box-shadow:0 4px 10px #0003}.nav a{color:#fff;text-decoration:none;font-weight:900;letter-spacing:1px}.nav a:hover{color:var(--pink)}main{overflow:hidden}.intro{max-width:1050px;margin:40px auto 20px;padding:30px 30px 10px;display:grid;grid-template-columns:1fr 430px;gap:35px;align-items:center}.intro h1{font:46px "Permanent Marker",cursive;margin:0 0 12px}.lead{font-size:25px;line-height:1.35;font-weight:700}.intro p:not(.lead){font-size:17px;line-height:1.55}.retro-stack{height:360px;position:relative}.walkman-real{position:absolute;width:190px;height:250px;right:180px;top:0;transform:rotate(7deg);object-fit:contain}.cassette-real{position:absolute;width:300px;height:210px;right:0;bottom:10px;transform:rotate(-5deg);object-fit:contain}.neon-note{position:absolute;right:8px;top:230px;background:var(--pink);font:19px "Permanent Marker",cursive;padding:7px 12px;transform:rotate(-8deg);z-index:3}.event-grid{max-width:1050px;margin:20px auto 45px;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 20px}.card{padding:30px;min-height:190px;box-shadow:7px 8px 0 var(--shadow)}.black{background:#111;color:#fff}.yellow{background:var(--yellow)}.label{font:30px "Permanent Marker",cursive}.card h2{font-size:25px;margin:12px 0}.card p{line-height:1.5}.rsvp{max-width:1100px;margin:45px auto;padding:35px 40px;background:var(--teal);display:grid;grid-template-columns:1fr 270px;gap:30px;align-items:center;box-shadow:8px 10px 0 var(--shadow);transform:rotate(-.4deg)}.mini-tag{display:inline-block;background:#111;color:#fff;padding:7px 12px;font-size:13px;font-weight:900}.rsvp h2{font:72px "Permanent Marker",cursive;margin:12px 0 0}.rsvp-copy p{font-size:20px}.url{display:inline-block;background:#111;color:#fff;padding:11px 14px;font-family:monospace;font-weight:bold}.button{display:inline-block;background:var(--pink);color:#111;text-decoration:none;font-weight:900;padding:12px 16px;margin-left:8px}.privacy-note{font-size:13px!important;margin-bottom:0}.qr{background:#fff;padding:18px;text-align:center;transform:rotate(2deg);box-shadow:5px 5px 0 #0002}.qr img{width:210px}.qr strong{display:block;font-size:13px}.teaser{max-width:1050px;margin:70px auto 20px;text-align:center;position:relative}.teaser h2{font:42px "Permanent Marker",cursive;margin:0}.teaser p{margin:5px}.sticker{position:absolute;right:5%;top:-15px;background:var(--pink);padding:15px 18px;font:25px "Permanent Marker",cursive;transform:rotate(8deg);box-shadow:4px 5px 0 #0002}.sticker small{font:14px "Roboto Slab",serif}.photos{max-width:1000px;margin:25px auto 70px;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:0 25px}.photo-card{margin:0;background:var(--cream);padding:13px 13px 18px;box-shadow:5px 8px 14px #0003}.photo-card img{width:100%;height:230px;object-fit:cover;display:block}.photo-card figcaption{text-align:center;font:22px "Permanent Marker",cursive;padding-top:10px}.teacher{transform:rotate(-2deg)}.class{transform:rotate(2deg)}.future{max-width:1050px;margin:0 auto 70px;padding:40px 30px;text-align:center;background:#f5e9c9}.future h2{font:42px "Permanent Marker",cursive}.timeline{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:25px}.timeline div{background:#111;color:#fff;min-width:130px;padding:16px}.timeline b{display:block;font-size:30px}.timeline span{color:var(--yellow);font-size:13px}footer{background:#111;color:#fff;padding:20px;display:flex;justify-content:center;gap:30px;flex-wrap:wrap;font-weight:900;letter-spacing:2px}footer small{width:100%;text-align:center;font-weight:400;letter-spacing:0;opacity:.65}
@media(max-width:800px){.hero{min-height:360px;padding:35px 20px}.paint{left:10px;right:10px;height:230px}.big45{font-size:120px}.hero-title{font-size:52px}.school,.year{margin-left:0}.school{font-size:16px}.year{font-size:13px}.stamp{width:120px;right:10px;top:20px}.scribble{display:none}.cube-real{width:105px;height:105px;bottom:0}.nav{gap:16px;font-size:12px}.intro,.event-grid,.photos,.rsvp{grid-template-columns:1fr}.intro{padding:25px}.retro-stack{height:300px}.walkman-real{width:150px;height:210px;right:50%;transform:translateX(15%) rotate(7deg)}.cassette-real{width:240px;height:170px;right:0}.neon-note{top:215px}.rsvp{margin:35px 15px;padding:25px}.rsvp h2{font-size:55px}.button{margin:10px 0 0}.qr{max-width:250px;margin:auto}.photo-card img{height:auto}.sticker{position:relative;display:inline-block;right:auto;top:auto;margin-bottom:10px}}
