html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#fbefef}body{color:#2c3947;background-color:#fbefef;margin:0;font-family:Elms Sans;overflow-x:hidden}*,:before,:after{box-sizing:border-box}button,input,textarea,select{font:inherit}button{appearance:none}img,svg{max-width:100%;display:block}#root{min-height:100vh}.website{flex-direction:column;width:100%;max-width:1200px;min-height:100vh;margin:0 auto;padding:0 40px;display:flex}.header{justify-content:space-between;align-items:center;height:100px;display:flex}.logo{justify-content:center;align-items:center;margin-top:80px;margin-left:100px;display:flex}.logo img{object-fit:contain;width:200px;height:200px}.logo-phone{display:none}.navigation{gap:40px;min-width:0;margin-right:30px;display:flex}.navigation a{color:#2c3947;font-size:16px;text-decoration:none;transition:opacity .2s}.navigation a:hover{opacity:.5;color:#f13e93}.mobile-menu-toggle,.mobile-home-link{display:none}.homePage,.aboutPage,.contactPage{isolation:isolate;position:relative}.homePage{flex:1 0 auto;min-height:500px}.homePage main{z-index:2;background:0 0;flex-direction:column;justify-content:center;min-height:72px;display:flex;position:relative}.homePage h1{background:0 0;margin-top:100px;margin-bottom:5px;margin-left:80px;font-size:60px;line-height:1.05}.homePage p{background:0 0;margin-left:80px;font-size:18px}.homePage .wave-container{z-index:1;pointer-events:none;width:100vw;height:150px;position:absolute;top:280px;left:50%;overflow:hidden;transform:translate(-50%)}.homePage .wave{width:100%;height:100%}.homePage .wave path{fill:none;stroke:#f13e93;stroke-width:1.3px;stroke-dasharray:1000;stroke-dashoffset:1000px;animation:3.5s linear infinite flowingWave}@keyframes flowingWave{0%{stroke-dashoffset:-1000px}50%{stroke-dashoffset:0}to{stroke-dashoffset:1000px}}.homePage .mobile-flowing-wave{display:none}.homePage .email-section{background:#f13e93;width:100vw;min-height:380px;margin-top:280px;padding:90px 20px 100px;position:relative;left:50%;transform:translate(-50%)}.blogPage .blog-email-section{background:#fbefef;width:100vw;min-height:380px;margin-top:20px;padding:90px 20px 100px;position:relative;left:50%;transform:translate(-50%)}.blogPage .blog-email-section .email-sparkles{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.blogPage .blog-email-section .email-sparkle{top:var(--sparkle-top);left:var(--sparkle-left);width:calc(var(--sparkle-size) * 1.15);height:calc(var(--sparkle-size) * 1.15);margin:calc(var(--sparkle-size) * -.075);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:blur(.2px)drop-shadow(0 0 6px #fffffff2);opacity:0;animation:emailSparkleShine 3s ease-in-out var(--sparkle-delay) infinite;background:#ff80c7;position:absolute}.blogPage .blog-email-section .email-tab,.blogPage .blog-email-section .email-copy,.blogPage .blog-email-section .email-copy-2{z-index:3;color:#000;margin-left:3%;position:relative}.blogPage .blog-email-section .email-tab{color:#000;text-underline-offset:8px;width:fit-content;padding:12px 8px;font-size:22px;font-weight:600;text-decoration:underline;text-decoration-thickness:2px;transition:opacity .2s,transform .2s;display:block}.blogPage .blog-email-section .email-copy{margin-bottom:8px;font-size:18px}.blogPage .blog-email-section .email-copy-2{margin-top:30px;font-size:14px}.blogPage .blog-email-section .email-tab:hover{opacity:.75;transform:translateY(-3px)}.homePage .email-sparkles{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.homePage .email-sparkle{top:var(--sparkle-top);left:var(--sparkle-left);width:calc(var(--sparkle-size) * 1.15);height:calc(var(--sparkle-size) * 1.15);margin:calc(var(--sparkle-size) * -.075);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:blur(.2px)drop-shadow(0 0 6px #fffffff2);opacity:0;animation:emailSparkleShine 3s ease-in-out var(--sparkle-delay) infinite;background:#fffef5;position:absolute}@keyframes emailSparkleShine{0%,to{opacity:0;transform:scale(.3)}45%,65%{opacity:.95;transform:scale(1)}55%{opacity:1;transform:scale(1.3)}}.homePage .email-7812{z-index:3;object-fit:contain;object-position:center;width:300px;height:250px;transition:transform .3s;position:absolute;top:78px;right:2%}.homePage .email-7812:hover{transform:scale(1.08)}.homePage .email-tulip{z-index:2;object-fit:contain;object-position:center;width:min(420px,38vw);height:350px;transition:transform .3s;position:absolute;top:-110px;right:12%}.homePage .email-tulip:hover{transform:scale(1.08)}.homePage .email-tab{z-index:3;color:#fff;text-underline-offset:8px;width:fit-content;margin:0 0 0 3%;padding:12px 8px;font-size:28px;font-weight:600;text-decoration:underline;text-decoration-thickness:2px;transition:opacity .2s,transform .2s;display:block;position:relative}.homePage .email-copy{z-index:3;color:#fff;margin:0 0 8px 3%;font-size:18px;position:relative}.homePage .email-copy-2{z-index:3;color:#fff;margin:30px 0 8px 3%;font-size:14px;position:relative}.homePage .email-tab:hover{opacity:.75;transform:translateY(-3px)}.aboutPage .highlight{color:#ffadee}.aboutPage .mobile-about-waves{display:none}.aboutPage main{background:0 0;flex-direction:column;justify-content:center;min-height:72px;display:flex}.aboutPage .about-content{z-index:2;position:relative}.aboutPage h1{background:0 0;margin-bottom:20px;font-size:36px;line-height:1.05}.aboutPage .whoami{background:0 0;margin-top:80px;margin-left:270px}.aboutPage .goals{background:0 0;margin-top:50px;margin-left:680px}.aboutPage p{text-align:center;background:0 0;margin-left:80px}.aboutPage .whoamidetails{text-align:justify;text-justify:inter-word;width:78%;margin-right:auto}.aboutPage .goalsdetails{text-align:justify;text-justify:inter-word;width:78%;margin-left:180px}.aboutPage .wave-container{z-index:1;pointer-events:none;width:100vw;height:50px;position:absolute;top:70px;left:50%;overflow:hidden;transform:translate(-50%)}.aboutPage .wave{width:100%;height:100%}.aboutPage .wave path{fill:none;stroke:#ffadee;stroke-width:2.7px;stroke-dasharray:1000;stroke-dashoffset:1000px;animation:3.5s linear infinite flowingWaveAbout}@keyframes flowingWaveAbout{0%{stroke-dashoffset:1000px}50%{stroke-dashoffset:0}to{stroke-dashoffset:-1000px}}.aboutPage .wave-container-two{z-index:1;pointer-events:none;width:100vw;height:50px;position:absolute;bottom:750px;left:50%;overflow:hidden;transform:translate(-50%)}.aboutPage .wave-two{width:100%;height:100%}.aboutPage .wave-two path{fill:none;stroke:#ffadee;stroke-width:2.7px;stroke-dasharray:1000;stroke-dashoffset:1000px;animation:3.5s linear infinite flowingWaveAboutTwo}.aboutPage .about-gallery{background:#ffadee;width:100vw;min-height:470px;margin-top:55px;margin-bottom:-40px;padding:90px 20px 100px;position:relative;left:50%;overflow:hidden;transform:translate(-50%)}.aboutPage .about-gallery-description{z-index:3;color:#fff;margin:-35px 0 50px 3%;font-size:16px;position:relative;left:-30%}.aboutPage .about-gallery-description-mobile{display:none}.aboutPage .about-gallery-sparkles{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.aboutPage .about-gallery-sparkle{top:var(--sparkle-top);left:var(--sparkle-left);width:calc(var(--sparkle-size) * 1.15);height:calc(var(--sparkle-size) * 1.15);margin:calc(var(--sparkle-size) * -.075);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:blur(.2px)drop-shadow(0 0 6px #fffffff2);opacity:0;animation:emailSparkleShine 3s ease-in-out var(--sparkle-delay) infinite;background:#fffef5;position:absolute}.aboutPage .about-gallery-items{z-index:1;perspective:900px;flex-wrap:nowrap;justify-content:center;align-items:flex-start;column-gap:0;margin-top:40px;display:flex;position:relative}.aboutPage .about-gallery-item{width:clamp(140px,15vw,185px);transform-style:preserve-3d;background:#ffcef5;border:1px solid #2c39472e;margin:0 -30px 0 0;padding:4px 4px 8px;transition:transform .25s,box-shadow .25s;position:relative;box-shadow:7px 10px #2c394724,0 14px 20px #2c39471f}.aboutPage .about-gallery-item:first-child{transform:rotate(-7deg)translateY(8px)rotateX(2deg)}.aboutPage .about-gallery-item:nth-child(2){transform:rotate(4deg)translateY(-15px)rotateY(-3deg)}.aboutPage .about-gallery-item:nth-child(3){transform:rotate(-2deg)translateY(13px)rotateX(-2deg)}.aboutPage .about-gallery-item:nth-child(4){transform:rotate(8deg)translateY(-22px)rotateY(3deg)}.aboutPage .about-gallery-item:nth-child(5){transform:rotate(-5deg)translateY(-3px)rotateY(-2deg)}.aboutPage .about-gallery-item:nth-child(6){transform:rotate(2deg)translateY(17px)rotateX(3deg)}.aboutPage .about-gallery-item:nth-child(7){transform:rotate(-9deg)translateY(-18px)rotateY(3deg)}.aboutPage .about-gallery-item:nth-child(8){transform:rotate(6deg)translateY(6px)rotateX(-3deg)}.aboutPage .about-gallery-item:hover{z-index:10;transform:translateY(-16px)rotate(0)rotateX(0)rotateY(0)scale(1.12);box-shadow:10px 16px #2c394733,0 24px 34px #2c39473d}.aboutPage .about-gallery-item:last-child{margin-right:0}.aboutPage .about-gallery-item img{object-fit:contain;width:100%;height:auto;transition:filter .25s;display:block}.aboutPage .about-gallery-item:hover img{filter:brightness(1.08)contrast(1.05)}.aboutPage .about-gallery-clip{background:#ffcef5;border:1.5px solid #e1d5de;border-radius:3px;width:16px;height:28px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}@keyframes flowingWaveAboutTwo{0%{stroke-dashoffset:-1000px}50%{stroke-dashoffset:0}to{stroke-dashoffset:1000px}}.projectsPage{width:100%;margin:auto}.projectsPage h1{background:0 0;margin-top:80px;margin-bottom:20px;font-size:36px;line-height:1.05}.projectsPage h3{background:#f5cbcb;padding:4px 6px 2px}.projectsPage .project{margin-bottom:20px}.projectsPage .project-title{text-align:left;cursor:pointer;width:100%;color:inherit;appearance:none;background:#f5cbcb;border:none;border-radius:10px;flex-direction:column;gap:8px;padding:16px 18px 14px;font-size:18px;display:flex}.projectsPage .project-title-main{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.projectsPage .project-title-text{flex:1;display:block}.projectsPage .project-skills{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.projectsPage .project-skill{letter-spacing:.03em;color:#4a4150d1;background:#ffffff38;border:1px solid #2d2a3d1a;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:600;line-height:1.2;display:inline-flex}.projectsPage .project-title:hover{background:#fbd7d7}.projectsPage .project-content{text-align:justify;text-justify:inter-word;border:1px solid #ddd;border-top:none;border-radius:0 0 10px 10px;padding:20px}.projectsPage .project-image{border-radius:10px;width:100%;max-width:500px;margin-top:15px}.projectsPage .moodboard{width:50%;max-width:800px;height:auto;margin:10px auto;display:block}.projectsPage .schoollogocolours{width:30%;max-width:800px;height:auto;margin:10px auto;display:block}.projectsPage .schoollogo{width:40%;max-width:800px;height:auto;margin:10px auto;display:block}@media (width>=1025px){.projectsPage .project-title{z-index:1;background-color:#f5cbcb;background-image:radial-gradient(#74435414 .7px,#0000 .8px),linear-gradient(135deg,#f9dada 0%,#f5cbcb 58%,#efc2ca 100%);background-size:9px 9px,100% 100%;border:1px solid #ffffff9e;border-radius:8px 18px 14px 14px;transition:transform .25s,box-shadow .25s,background .25s;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffffb3,0 4px #e5b2ba,0 12px 22px #6039491a}.projectsPage .project-title:before{content:"";background-color:#f5cbcb;background-image:radial-gradient(#74435412 .7px,#0000 .8px),linear-gradient(135deg,#f8d5d5,#f5cbcb);background-size:9px 9px,100% 100%;border:1px solid #ffffff94;border-bottom:none;border-radius:8px 8px 0 0;width:112px;height:12px;position:absolute;top:-9px;left:24px;box-shadow:inset 0 1px #fff9}.projectsPage .project-title:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 20%,#ffffff2b 100%);border-radius:0 17px 13px 0;width:42%;height:100%;position:absolute;top:0;right:0}.projectsPage .project-open-hint{color:#2c3947ad;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:600;transition:color .25s,transform .25s;display:inline-flex}.projectsPage .project-open-hint span{border:1px solid #2c394747;border-radius:50%;place-items:center;width:24px;height:24px;font-size:15px;line-height:1;display:inline-grid}.projectsPage .project-title:hover,.projectsPage .project-title:focus-visible{background-color:#f8d0d0;background-image:radial-gradient(#74435412 .7px,#0000 .8px),linear-gradient(135deg,#fce0e0 0%,#f8d0d0 58%,#f2c7ce 100%);background-size:9px 9px,100% 100%;transform:translateY(-2px);box-shadow:inset 0 1px #fffc,0 6px #e5b2ba,0 16px 27px #60394926}.projectsPage .project-title:hover .project-open-hint,.projectsPage .project-title:focus-visible .project-open-hint{color:#2c3947;transform:translate(2px,-2px)}}@media (width<=768px){.projectsPage .project-title{z-index:1;background-color:#f5cbcb;background-image:radial-gradient(#74435412 .6px,#0000 .75px),linear-gradient(135deg,#f8d7d7,#f5cbcb);background-size:8px 8px,100% 100%;border:1px solid #ffffff94;border-radius:7px 12px 10px 10px;padding:14px 16px 12px;position:relative;box-shadow:inset 0 1px #ffffffad,0 3px #e5b2ba,0 8px 16px #6039491a}.projectsPage .project-title-main{align-items:center}.projectsPage .project-title-text{font-size:16px;line-height:1.3}.projectsPage .project-skills{gap:5px}.projectsPage .project-skill{letter-spacing:.02em;padding:2px 7px;font-size:9px}.projectsPage .project-title:before{content:"";background:#f5cbcb;border:1px solid #ffffff8c;border-bottom:none;border-radius:6px 6px 0 0;width:74px;height:10px;position:absolute;top:-8px;left:15px}.projectsPage .project-title:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 15%,#ffffff24);border-radius:0 11px 9px 0;width:38%;height:100%;position:absolute;top:0;right:0}.projectsPage .project-open-hint{color:#2c3947ad;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;font-size:8px;font-weight:600;display:inline-flex}.projectsPage .project-open-hint span{border:1px solid #2c394742;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;line-height:1;display:inline-grid}.projectsPage .project-title:hover,.projectsPage .project-title:focus-visible{background-color:#f8d0d0;background-image:radial-gradient(#7443540f .6px,#0000 .75px),linear-gradient(135deg,#fbdcdc,#f8d0d0);background-size:8px 8px,100% 100%}}.contactPage main{background:0 0;flex-direction:column;justify-content:center;min-height:72px;display:flex}.contactPage .contact-content{z-index:2;position:relative}.contactPage h1{background:0 0;margin-top:80px;margin-bottom:20px;font-size:36px;line-height:1.05}.contactPage h2{isolation:isolate;background:0 0;width:fit-content;margin-top:30px;margin-bottom:10px;font-size:20px;line-height:1.05;position:relative}.contactPage .wave-container{z-index:1;pointer-events:none;width:100vw;height:50px;position:absolute;top:70px;left:50%;overflow:hidden;transform:translate(-50%)}.contactPage .wave{width:100%;height:100%}.contactPage .wave path{fill:none;stroke:#9fa1ff;stroke-width:2.7px;stroke-dasharray:1000;stroke-dashoffset:1000px;animation:3.5s linear infinite flowingWaveContact}@keyframes flowingWaveContact{0%{stroke-dashoffset:1000px}50%{stroke-dashoffset:0}to{stroke-dashoffset:-1000px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.contactPage .wave-container-mobile{display:none}.link-container{flex-wrap:wrap;gap:20px;display:flex}.link-card{color:#2c3947;text-align:center;opacity:.91;background:#9fa1ff8c;border-radius:15px;width:250px;margin-bottom:10px;padding:20px;text-decoration:none;transition:all .3s;display:block;box-shadow:0 5px 15px #0000001a}.link-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026}.contactPage .email-fallback{text-align:left;margin:0;font-size:15px}.contactPage .email-fallback span{-webkit-user-select:all;user-select:all;cursor:text;font-weight:600}.contactPage .copy-email-button{color:#2c3947;cursor:pointer;vertical-align:middle;background:#9fa1ff8c;border:1px solid #2c394759;border-radius:4px;justify-content:center;align-items:center;gap:5px;min-width:28px;height:28px;margin:0 8px;padding:0 6px;font-size:17px;line-height:1;transition:background .2s,transform .2s;display:inline-flex}.contactPage .copy-email-button:hover{background:#9fa1ffcc;transform:translateY(-2px)}.navigation a:focus-visible,.link-card:focus-visible,.projectsPage .project-title:focus-visible,.email-tab:focus-visible,.scroll-to-top:focus-visible{outline-offset:3px;outline:3px solid #f13e93}.cvPage .cv-preview{cursor:pointer;border-radius:12px;max-width:70%;margin:80px auto 0;transition:transform .3s;display:block;box-shadow:0 8px 24px #0003}.cvPage .cv-preview:hover{transform:scale(1.03)}.footerPage{text-align:center;color:#777;border-top:1px solid #ddd;justify-content:center;align-items:center;margin-top:auto;padding:12px 30px;font-size:.9rem;display:flex;position:relative}.footer-favicon{object-fit:contain;vertical-align:middle;width:120px;height:120px;margin:0 6px;display:inline-block}.footer-mobile-text{display:none}.scroll-to-top{color:#f13e93;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;background:#ffe2ede6;border:none;border-radius:50%;width:46px;height:46px;font-size:1.8rem;line-height:1;transition:opacity .25s,transform .25s,visibility .25s;position:fixed;bottom:24px;right:24px;transform:translateY(10px);box-shadow:0 10px 25px #00000026}.scroll-to-top.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.aboutPage+.footerPage,.cvPage+.footerPage,.contactPage+.footerPage{margin-top:40px}.gallery{flex-direction:column;align-items:center;width:100%;display:flex}.gallery-stage{perspective:1000px;justify-content:center;align-items:center;width:100%;height:500px;display:flex;position:relative;overflow:hidden}.gallery-stage img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.gallery-image{object-fit:contain;max-width:90%;max-height:90%}.gallery-image.right{animation:1.5s cubic-bezier(.22,1,.36,1) slideFromRight}.gallery-image.left{animation:1.5s cubic-bezier(.22,1,.36,1) slideFromLeft}@keyframes slideFromRight{0%{opacity:0;transform:translate(300px)}to{opacity:1;transform:translate(0)}}@keyframes slideFromLeft{0%{opacity:0;transform:translate(-300px)}to{opacity:1;transform:translate(0)}}.gallery-nav{justify-content:center;align-items:center;gap:12px;width:100%;margin-top:12px;display:flex}.gallery-arrow{z-index:2;cursor:pointer;background:#ffffffb3;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:28px;line-height:1;transition:background .2s;display:flex;position:static}.gallery-arrow:hover{background:#fff}.gallery-arrow-left{left:15px}.gallery-arrow-right{right:15px}.gallery-dots{justify-content:center;align-items:center;gap:8px;margin-top:0;display:flex}.dot{cursor:pointer;background:#c8c8c8;border:none;border-radius:50%;width:7px;height:7px;padding:0}.dot.active{background:#222}@media (width<=1024px){.website{padding:0 30px}.logo{font-size:42px}.navigation{gap:20px}.blogPage .blog-email-section{display:none}.homePage h1{margin-left:40px;font-size:48px}.homePage p{margin-left:40px}.aboutPage .whoami{margin-left:100px}.aboutPage .goals{margin-left:300px}.aboutPage .goalsdetails,.aboutPage .whoamidetails{width:90%;margin-left:auto;margin-right:auto}.aboutPage .about-gallery{display:none}}@media (width<=768px){.website{flex-direction:column;min-height:100vh;padding:0;display:flex}.header{z-index:50;flex-direction:column;gap:14px;height:auto;padding:20px 0;position:relative}.logo-phone{justify-content:center;align-items:center;display:flex}.logo-phone img{object-fit:contain;width:170px;height:170px}.logo{display:none}.mobile-menu-toggle{z-index:52;cursor:pointer;background:#ffffff57;border:1px solid #2c394733;border-radius:12px;flex-direction:column;justify-content:space-between;width:48px;height:42px;padding:9px 10px;transition:background .2s,border-color .2s;display:flex;position:fixed;top:20px;right:20px}.mobile-menu-toggle span{background:#2c3947;border-radius:2px;width:100%;height:2px;transition:transform .2s,opacity .2s;display:block}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible,.mobile-menu-toggle.is-open{background:#ffffff94;border-color:#f13e9373}.mobile-menu-toggle.is-open span:first-child{transform:translateY(10px)rotate(45deg)}.mobile-menu-toggle.is-open span:nth-child(2){opacity:0}.mobile-menu-toggle.is-open span:last-child{transform:translateY(-10px)rotate(-45deg)}.navigation{z-index:51;width:100%;height:100dvh;box-shadow:none;background:radial-gradient(#7443540f .7px,#0000 .8px) 0 0/10px 10px,#fbefeff7 0 0/100% 100%;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:0;padding:120px 28px 48px;display:none;position:fixed;inset:0}.navigation.is-open{display:flex}.navigation a{white-space:nowrap;text-align:center;border-radius:9px;width:min(100%,340px);padding:14px 18px;font-size:18px;line-height:1.15}.navigation .desktop-home-link{display:none}.navigation .mobile-home-link{display:block}.navigation a:hover,.navigation a:focus-visible{opacity:1;color:#f13e93;background:#ffffff6b}.homePage{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.homePage main{flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:auto;padding-top:0;display:flex}.homePage h1{text-align:center;z-index:20;margin:20px 20px 15px;font-size:40px}.homePage p{text-align:justify;margin:0 26px 20px;font-size:16px}.homePage h1,.homePage p{z-index:20;background:0 0;position:relative}.homePage .mobile-flowing-wave{z-index:10;pointer-events:none;width:calc(100% + 240px);height:270px;display:block;position:absolute;top:220px;left:-120px;overflow:hidden}.homePage .mobile-flowing-wave svg{width:100%;height:100%;overflow:visible}.homePage .mobile-flowing-wave path{fill:none;stroke:#f13e93;stroke-width:2px;stroke-linecap:round;stroke-dasharray:250 350;stroke-dashoffset:600px;animation:3.5s linear infinite flowingWaveMobile}@keyframes flowingWaveMobile{0%{stroke-dashoffset:-600px}to{stroke-dashoffset:600px}}.homePage .wave-container{display:none}.homePage .email-section{min-height:320px;margin-top:250px;padding:80px 20px 90px;display:block}.homePage .email-7812{width:240px;height:200px;top:100px;right:-4%}.blogPage .blog-email-section .email-7812{width:240px;height:200px;top:100px;right:1%}.homePage .email-7812{margin-top:-280px}.homePage .email-tulip{width:min(300px,76vw);height:240px;display:block;top:-150px;right:18%}.blogPage .blog-email-section{min-height:320px;padding:80px 20px 90px;display:block}.homePage .email-tab,.blogPage .blog-email-section .email-tab{margin-left:4%;font-size:20px}.blogPage+.footerPage{margin-top:-70px}.aboutPage{padding:20px;position:relative;overflow:hidden}.aboutPage h1{text-align:center;z-index:2;font-size:24px;position:relative}.aboutPage .whoami{text-align:center;margin-top:10px;margin-bottom:10px;margin-left:0}.aboutPage .goals{text-align:center;margin-top:40px;margin-bottom:10px;margin-left:0}.aboutPage p{text-align:center;margin-left:0;font-size:14px}.aboutPage .whoamidetails,.aboutPage .goalsdetails{width:100%}.aboutPage .wave-container,.aboutPage .wave-container-two{display:none}.aboutPage{position:relative}.aboutPage .mobile-about-waves{pointer-events:none;z-index:1;display:block;position:absolute;inset:0;overflow:hidden}.aboutPage .mobile-about-wave{width:120%;height:110px;position:absolute;left:50%;overflow:visible}.aboutPage .mobile-about-wave-one{top:2%;transform:translate(-50%)rotate(-2deg)}.aboutPage .mobile-about-wave-two{top:26%;transform:translate(-50%)rotate(2deg)}.aboutPage .mobile-about-wave path{fill:none;stroke:#ffadee;stroke-width:4px;stroke-linecap:round;stroke-dasharray:240 300;stroke-dashoffset:0;animation:1.7s linear infinite aboutWaveMobile}.aboutPage .mobile-about-wave-two path{stroke:#ffadee;stroke-width:4px;stroke-dasharray:240 300;stroke-dashoffset:0;animation:1.7s linear infinite aboutWaveMobileReverse}@keyframes aboutWaveMobile{0%{stroke-dashoffset:0}to{stroke-dashoffset:-540px}}@keyframes aboutWaveMobileReverse{0%{stroke-dashoffset:-540px}to{stroke-dashoffset:0}}.aboutPage .about-content{z-index:2;position:relative}.aboutPage .about-gallery{z-index:2;min-height:auto;margin-top:45px;margin-bottom:0;padding:90px 16px 65px;display:block}.aboutPage .about-gallery-description{text-align:center;margin:0 0 36px;font-size:15px;top:-40px;left:0}.aboutPage .about-gallery-description-mobile{text-align:center;color:#fff;margin:-70px 0 36px;font-size:15px;display:block;left:0}.aboutPage .about-gallery-items{perspective:none;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;justify-content:flex-start;gap:12px;margin-top:0;padding:40px 8px 14px;overflow-x:auto}.aboutPage .about-gallery-items::-webkit-scrollbar{display:none}.aboutPage .about-gallery-item{scroll-snap-align:center;flex:0 0 min(60vw,210px);width:min(60vw,210px);margin:0}.aboutPage .about-gallery-clip{z-index:2}.aboutPage+.footerPage{margin-top:-20px}.aboutPage .whoami,.aboutPage .goals{z-index:2;position:relative}.projectsPage{padding:20px;position:relative;overflow:hidden}.projectsPage h1{margin-top:20px;margin-bottom:15px;font-size:24px}.projectsPage .project-title{color:#222;padding:15px;font-family:Elms Sans;font-size:14px}.projectsPage .project-image{max-width:100%}.projectsPage .moodboard,.projectsPage .schoollogo{width:100%;max-width:800px;height:auto;margin:10px auto;display:block}.projectsPage .schoollogocolours{width:60%;max-width:800px;height:auto;margin:10px auto;display:block}.gallery-arrow{color:#2c3947;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff85;border:1px solid #2c39472e;width:34px;height:34px;font-size:24px;transition:transform .2s,background .2s,box-shadow .2s,opacity .2s;top:calc(50% + 20px);box-shadow:0 8px 18px #2c39471f}.gallery-arrow:active{background:#ffffffb3;transform:translateY(-50%)scale(.96);box-shadow:0 5px 12px #2c39471a}.gallery-arrow-left{left:10px}.gallery-arrow-right{right:10px}.projectsPage .project-content{padding:14px 14px 16px}.projectsPage .project-content p,.projectsPage .project-content h3{margin-top:0;margin-bottom:10px}.projectsPage .project-content h3{margin-top:40px}.projectsPage .gallery{margin-top:6px;margin-bottom:6px}.projectsPage .gallery-stage{height:280px}.projectsPage .gallery-dots{margin-top:8px}.contactPage{padding:20px;position:relative;overflow:hidden}.contactPage h1{z-index:2;margin-top:20px;margin-bottom:15px;font-size:24px;position:relative}.contactPage h2{z-index:2;isolation:isolate;width:fit-content;margin-top:15px;margin-bottom:15px;font-size:18px;position:relative}.contactPage .email-fallback{margin-bottom:50px}.contactPage .wave-container-mobile{pointer-events:none;z-index:1;display:block;position:absolute;inset:0;overflow:hidden}.contactPage .wave-container-mobile .wave{width:120%;height:110px;position:absolute;top:5%;overflow:visible}.contactPage .wave-container-mobile .wave path{fill:none;stroke:#9fa1ff;stroke-width:3.7px;stroke-linecap:round;stroke-dasharray:240 300;stroke-dashoffset:0;animation:1.7s linear infinite contactWaveMobile}@keyframes contactWaveMobile{0%{stroke-dashoffset:0}to{stroke-dashoffset:-540px}}.contactPage .wave-container{display:none}.link-container{flex-flow:wrap;justify-content:center;gap:12px;display:flex}.link-card{box-sizing:border-box;text-align:center;flex:calc(50% - 12px);justify-content:center;align-items:center;width:calc(50% - 12px);min-width:0;height:50px;display:flex}.cvPage{padding:20px;position:relative;overflow:hidden}.cvPage .cv-preview{max-width:100%;margin-top:0}.blogPage{padding:20px;position:relative;overflow:hidden}.footerPage{width:100%;margin-top:auto;margin-bottom:0;padding:12px 20px}.footer-favicon{width:30px;height:30px}.footer-text{display:none}.footer-mobile-text{display:block}}@media (width<=400px){.header{gap:12px}.homePage h1,.logo{font-size:32px}.navigation{width:min(100%,340px)}.navigation a{font-size:18px}}.blogPage{width:100%;min-height:100vh;font-family:Elms Sans,sans-serif}.blogPage h1{margin-top:80px;margin-bottom:15px;font-size:36px}.blogGallery{grid-template-columns:repeat(12,1fr);grid-auto-rows:55px;gap:24px;width:100%;max-width:1200px;margin:0 auto 20px;display:grid}.blogCard{text-align:justify;cursor:pointer;flex-direction:column;justify-content:space-between;padding:32px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.blogCardOne{background:#fab460;grid-area:span 4/1/auto/span 7}.blogCardTwo{background:#f57689;grid-area:span 3/8/auto/span 5}.blogCardThree{background:#f2dbd0;grid-area:span 3/1/auto/span 5}.blogCardFour{background:#fce5c3;grid-area:span 5/6/auto/span 7}.blogCardFive{background:#fab460;grid-area:span 3/1/auto/span 4}.blogCardSix{background:#f57689;grid-area:span 3/5/auto/span 8}.blogCardContent{z-index:2;width:fit-content;max-width:90%;position:relative;background:0 0!important}.blogCard h2,.blogCard p{box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:none!important}.blogCard h2{margin:0 0 8px;font-size:2rem;font-weight:500}.blogCard p{margin:0;line-height:1.6}.blogReadMore{opacity:0;font-size:.9rem;transition:opacity .3s,transform .3s;transform:translateY(5px)}.blogCard:hover{transform:translateY(-4px);box-shadow:0 15px 35px #00000014}.blogCard:hover .blogReadMore{opacity:1;transform:translateY(0)}.blogOverlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000059;justify-content:center;align-items:center;padding:30px;animation:.3s overlayAppear;display:flex;position:fixed;inset:0}.blogPost{text-align:justify;background:#fffaf7;width:100%;max-width:800px;max-height:85vh;padding:70px;animation:.4s postAppear;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0003}.blogPost h1{margin:0 0 30px;font-size:36px}.blogPost p{margin:0;font-size:18px;line-height:1.2}.blogClose{color:inherit;cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;position:absolute;top:20px;right:25px}@keyframes overlayAppear{0%{opacity:0}to{opacity:1}}@keyframes postAppear{0%{opacity:0;transform:scale(.94)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=700px){.blogPage{padding:40px 18px 70px}.blogPage h1{margin:0 0 24px;font-size:24px}.blogGallery{grid-template-columns:1fr;grid-auto-rows:auto;gap:18px;margin-bottom:20px}.blogCardOne,.blogCardTwo,.blogCardThree,.blogCardFour,.blogCardFive,.blogCardSix{grid-area:auto/1}.blogCard{border-radius:14px;min-height:180px;padding:18px 16px}.blogCard h2{font-size:clamp(1.2rem,3vw,1.8rem)}.blogCard p{font-size:.9rem;line-height:1.5}.blogReadMore{opacity:1;font-size:.8rem;transform:none}.blogCard:hover{transform:translateY(-3px)}.blogOverlay{padding:12px}.blogPost{max-height:88vh;padding:48px 22px 30px}.blogPost h1{font-size:2rem}.blogPost p{font-size:1rem}}
