@font-face{font-family:Inter;src:url('assets/inter-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('assets/inter-semibold.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Mandalika;src:url('assets/mandalika-regular.woff2') format('woff2');font-display:swap}
:root{--green:#00eb6f;--purple:#24163e;--white:#fff;--mint:#7bedb1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--purple);font-family:Inter,sans-serif;background-color:#f4f4f4;background-image:linear-gradient(45deg,transparent 48%,#24163e06 49%,#24163e06 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,#24163e06 49%,#24163e06 51%,transparent 52%);background-size:56px 56px;padding:48px 20px}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.skip{position:fixed;left:16px;top:-80px;background:white;padding:16px;z-index:10}.skip:focus{top:16px}.bio{width:100%;max-width:480px;margin:auto;background:var(--green);border-radius:32px;overflow:hidden;box-shadow:0 16px 64px #24163e12;border:1px solid #24163e14}.cover{height:168px;background:#c9e5d5;border-bottom:1px solid #24163e12}.placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#24163e99;background-image:linear-gradient(135deg,#ffffff20,transparent)}.placeholder span:not(.image-icon){font-size:12px}.placeholder small{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.image-icon{width:24px;height:20px;border:1px solid currentColor;border-radius:4px;position:relative;overflow:hidden}.image-icon:before{content:'';width:6px;height:6px;border:1px solid currentColor;border-radius:50%;position:absolute;right:4px;top:3px}.image-icon:after{content:'';width:18px;height:18px;border:1px solid currentColor;position:absolute;transform:rotate(45deg);left:0;top:12px}.profile{text-align:center;padding:0 24px 32px}.avatar{height:120px;width:120px;background:var(--white);border:4px solid var(--green);border-radius:28px;margin:-60px auto 20px;position:relative;display:grid;place-items:center;box-shadow:0 8px 24px #24163e14}.avatar img{object-fit:contain;width:104px;height:104px}.handle{font-size:12px;opacity:.75}.profile h1{font-family:Mandalika,Georgia,serif;font-weight:400;font-size:40px;line-height:1.2;letter-spacing:-.02em;margin:12px 0}.profile p{font-size:16px;line-height:1.6;margin:0;text-wrap:pretty}.tags{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:20px}.tags span{font-size:10px;border:1px solid #24163e40;border-radius:100px;padding:8px 12px}.socials{display:flex;justify-content:center;gap:12px;margin-top:20px}.socials a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid #24163e30;transition:background .2s,transform .2s}.socials a:hover{background:white;transform:translateY(-2px)}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.solid{fill:currentColor;stroke:none}.park-marquee{overflow:hidden;background:#ffffff38;border-top:1px solid #24163e12;border-bottom:1px solid #24163e12;padding:20px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.park-track{display:flex;width:max-content;align-items:center;animation:parks 38s linear infinite}.park-track img{width:72px;height:32px;object-fit:contain;margin:0 22px;opacity:.75;filter:brightness(0) saturate(100%) invert(10%) sepia(20%) saturate(1800%) hue-rotate(220deg)}@keyframes parks{to{transform:translateX(-50%)}}.park-marquee:hover .park-track{animation-play-state:paused}section{padding:32px 24px}.section-heading{display:flex;align-items:center;gap:10px}.tiny-star{font-size:24px;line-height:1}.section-heading h2{font-weight:600;font-size:20px;line-height:1.4;margin:0;letter-spacing:-.04em}.section-heading em{font-family:Mandalika,Georgia,serif;font-style:normal;font-size:26px;font-weight:400}.section-intro{font-size:12px;line-height:1.7;margin:12px 0 20px}.link-card{min-height:76px;padding:16px;display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid #24163e0a;border-radius:16px;margin-top:10px;transition:transform .2s,box-shadow .2s,background .2s}.link-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #24163e12;background:#f7fff9}.link-icon{width:28px;flex:0 0 28px;display:grid;place-items:center}.link-icon svg{width:24px;height:24px}.link-copy{flex:1;min-width:0}.link-copy strong{font-size:14px;font-weight:600;display:block;line-height:1.5}.link-copy small{font-size:10px;line-height:1.6;display:block;margin-top:2px;opacity:.75;text-wrap:pretty}.arrow{width:28px;height:28px;border-radius:50%;background:#24163e06;display:grid;place-items:center;font-size:20px;flex:0 0 28px}.about{border-top:1px solid #24163e20}.about p{font-size:14px;line-height:1.8;text-wrap:pretty;margin:16px 0}.stats{display:grid;grid-template-columns:1fr 1fr;margin-top:24px}.stats>div+div{border-left:1px solid #24163e30;padding-left:24px}.stats strong{font-size:32px;font-weight:600;display:block;line-height:1.2}.stats span{font-size:10px;line-height:1.5;display:block;margin-top:8px}.gallery-section{padding:0 0 28px}.gallery{display:flex;gap:12px;justify-content:center;padding:0 24px;overflow:hidden}.gallery-photo{flex:0 0 140px;height:168px;background-color:#c9e5d5;border:1px solid #24163e1a;border-radius:16px}.gallery-photo:first-child{transform:rotate(-4deg)}.gallery-photo:last-child{transform:rotate(4deg)}.gallery-note{display:block;font-size:10px;text-align:center;margin-top:20px;opacity:.7}.contact{border-top:1px solid #24163e20}.contact .section-heading{margin-bottom:20px}.team{border:1px solid #24163e55}footer{text-align:center;padding:0 24px 28px}footer>img{object-fit:contain;margin-top:12px}footer p{font-size:12px;line-height:1.7}footer p span{font-size:18px}.footer-links{display:flex;justify-content:space-between;border-top:1px solid #24163e24;padding-top:20px;margin:24px 0 16px;font-size:10px}footer>small{font-size:10px;opacity:.65}@media(max-width:520px){body{padding:16px 12px}.bio{border-radius:24px}.profile h1{font-size:36px}section{padding:28px 20px}.cover{height:152px}.section-heading h2{font-size:18px}.section-heading em{font-size:24px}.link-card{padding:14px 12px;gap:8px}.link-copy strong{font-size:14px}.gallery{padding:0 20px}.gallery-photo{flex-basis:128px}.profile{padding-left:20px;padding-right:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.park-track{animation:none}*{transition:none!important}}

/* Requested bio refinement */
:root{--white:#f4f4f4}
.bio{background:var(--white)}.avatar{border-color:var(--white)}
.tags span{font-size:12px;background:var(--mint)}
.socials img{width:20px;height:20px;object-fit:contain;display:block;filter:brightness(0) saturate(100%) invert(10%) sepia(20%) saturate(1800%) hue-rotate(220deg)}
.link-card{background:var(--green);color:var(--purple)}.link-card:hover{background:var(--mint)}
.link-copy strong{font-size:16px}.link-copy small{font-size:12px}
@media(min-width:521px){html,body{height:100%;overflow:hidden}body{padding:24px 20px}.bio{height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#24163e50 transparent}}

/* Preserve complete photo cards, including their rotated corners. */
.gallery{overflow:visible;padding:12px;gap:12px}.gallery-photo{flex:1 1 0;min-width:0;max-width:140px}


/* Larger type and supplied service icons. */
.profile h1{font-size:44px}.profile p{font-size:18px}
.section-heading h2{font-size:24px}.section-heading em{font-size:30px}
.section-intro{font-size:14px}.about p{font-size:16px}
.link-copy strong{font-size:20px}.link-copy small{font-size:14px}
.link-icon img{width:24px;height:24px;object-fit:contain;display:block;filter:brightness(0) saturate(100%) invert(10%) sepia(20%) saturate(1800%) hue-rotate(220deg)}
.socials a:hover,.socials a:focus-visible{background:var(--mint)}
/* Orange wipe stays inside the existing card shape. */
.link-card{position:relative;isolation:isolate;overflow:hidden}
.link-card:before{content:'';position:absolute;inset:0;background:#ff6700;transform:translateX(-102%);border-radius:0 50% 50% 0;transition:transform .5s cubic-bezier(.22,1,.36,1),border-radius .5s;z-index:-1}
.link-card:hover,.link-card:focus-visible{background:var(--green)}
.link-card:hover:before,.link-card:focus-visible:before{transform:translateX(0);border-radius:0}
.arrow{position:relative;overflow:hidden}
.arrow-glyph{display:grid;place-items:center;position:absolute;inset:0;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.arrow-next{transform:translate(-100%,100%)}
.link-card:hover .arrow-glyph,.link-card:focus-visible .arrow-glyph{transform:translate(100%,-100%)}
.link-card:hover .arrow-next,.link-card:focus-visible .arrow-next{transform:translate(0,0)}
@media(max-width:520px){.profile h1{font-size:40px}.section-heading h2{font-size:22px}.section-heading em{font-size:28px}}
@media(min-width:521px){body{background:var(--mint);isolation:isolate}body:before{content:'';position:fixed;inset:-30%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 20% 35%,#00eb6f 0%,transparent 55%),radial-gradient(ellipse at 80% 70%,#b8fbd5 0%,transparent 55%),linear-gradient(125deg,#7bedb1,#00eb6f,#b8fbd5);animation:green-waves 16s ease-in-out infinite alternate;will-change:transform}}
@keyframes green-waves{0%{transform:translate(-4%,-3%) rotate(-6deg) scale(1)}50%{transform:translate(3%,4%) rotate(4deg) scale(1.08)}100%{transform:translate(5%,-2%) rotate(9deg) scale(1.03)}}
@media(prefers-reduced-motion:reduce){body:before{animation:none!important}.arrow-glyph,.link-card:before{transition:none}}

/* Visible wave layer and complete arrow sweep. */
.section-heading em{color:#ff6700}
.link-card:before{background:#000;z-index:0;pointer-events:none}
.link-card>span{position:relative;z-index:1}
.link-card{transition:transform .2s,box-shadow .2s,color .25s}
.link-card:hover,.link-card:focus-visible{color:#f4f4f4}
.link-card:hover .link-icon img,.link-card:focus-visible .link-icon img{filter:brightness(0) invert(1)}
.link-card .arrow{background:#24163e06}
.link-card:hover .arrow,.link-card:focus-visible .arrow{background:#f4f4f4;color:#24163e}
.link-card .arrow-glyph{transition:transform .6s cubic-bezier(.22,1,.36,1);will-change:transform}
@media(min-width:521px){body:before{z-index:0;inset:-40%;background:repeating-linear-gradient(115deg,#00eb6f 0%,#7bedb1 18%,#bcfbd8 36%,#7bedb1 54%,#00eb6f 72%);animation:bio-waves 7s ease-in-out infinite alternate}.bio{position:relative;z-index:1}}
@keyframes bio-waves{from{transform:translate(-12%,-6%) rotate(-12deg) scale(1.1)}to{transform:translate(12%,6%) rotate(12deg) scale(1.2)}}

/* Purple hover covers the edge as well as the fill. */
.link-card:before{background:var(--purple);inset:-1px}
.link-card:hover,.link-card:focus-visible{border-color:var(--purple);background:var(--purple)}
.arrow-glyph img{width:14px;height:14px;display:block;object-fit:contain;filter:brightness(0) saturate(100%) invert(10%) sepia(20%) saturate(1800%) hue-rotate(220deg)}
.bio{overflow:hidden}
@media(min-width:521px){.bio{overflow:hidden}.bio-scroll{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#24163e50 transparent}.bio-scroll::-webkit-scrollbar{width:6px}.bio-scroll::-webkit-scrollbar-track{background:transparent;margin:24px 0}.bio-scroll::-webkit-scrollbar-thumb{background:#24163e50;border-radius:8px}.bio-scroll::-webkit-scrollbar-button{display:none;height:0}}

/* Keep the green base while the purple layer sweeps across it. */
.link-card{transition:transform .25s,box-shadow .25s,color .35s,border-color .65s}
.link-card:hover,.link-card:focus-visible{background:var(--green)}
.link-card:before{transition:transform .75s cubic-bezier(.25,.8,.25,1),border-radius .75s cubic-bezier(.25,.8,.25,1)}


.cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.gallery-photo{overflow:hidden}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover}.gallery-photo:first-child img{object-position:50% 55%}

/* Photo hover zoom, preserving each card's rotation. */
.gallery-photo{transition:transform .4s cubic-bezier(.22,1,.36,1);position:relative}.gallery-photo:hover{transform:scale(1.06);z-index:2}.gallery-photo:first-child:hover{transform:rotate(-4deg) scale(1.06)}.gallery-photo:last-child:hover{transform:rotate(4deg) scale(1.06)}


.dot-grid{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.bio{position:relative;z-index:1}@media(max-width:520px){.dot-grid{display:none}}
