@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--peach:#FFB6A6;--mint:#A8E6CF;--ink:#173b35;--cream:#fff9f6;--line:rgba(23,59,53,.15);--shadow:rgba(23,59,53,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--peach);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden;cursor:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.35),transparent 25%),radial-gradient(circle at 90% 85%,rgba(168,230,207,.3),transparent 30%)}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.preloader{position:fixed;inset:0;background:var(--ink);color:var(--cream);display:grid;place-items:center;align-content:center;gap:18px;z-index:10000;animation:loaderOut .8s 1.7s forwards}.loader-mark{font:700 3rem 'Space Grotesk';letter-spacing:-.08em}.loader-mark span{color:var(--peach)}.loader-line{width:180px;height:2px;background:rgba(255,255,255,.15);overflow:hidden}.loader-line i{display:block;width:0;height:100%;background:var(--peach);animation:load 1.35s forwards}.preloader small{opacity:.55;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}@keyframes load{to{width:100%}}@keyframes loaderOut{to{opacity:0;visibility:hidden;pointer-events:none}}
.nav{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:relative;z-index:100}.logo{font:700 1.15rem 'Space Grotesk';letter-spacing:-.06em;color:var(--ink);text-decoration:none}.logo span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--mint);margin:0 3px;font-size:.78rem}.nav-links{display:flex;gap:30px}.nav-links a{color:var(--ink);text-decoration:none;font-size:.82rem;opacity:.55;position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--ink);transition:.3s}.nav-links a:hover,.nav-links .active{opacity:1}.nav-links a:hover:after,.nav-links .active:after{right:0}.menu{display:none;border:0;background:transparent}.menu i{display:block;width:24px;height:2px;background:var(--ink);margin:6px}
.hero{min-height:calc(100vh - 90px);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:2vh 8vw 9vh;position:relative}.hero-copy{max-width:650px;z-index:5}.eyebrow{margin:0 0 18px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;opacity:.55}.hero h1,.intro h1,.contact-intro h1{font:600 clamp(4.5rem,9vw,9.5rem)/.82 'Space Grotesk';letter-spacing:-.09em;margin:0 0 28px}.hero h1 em,.intro h1 em,.contact-intro h1 em{font-style:normal;color:var(--cream);text-shadow:3px 4px 0 rgba(23,59,53,.07)}.lead{max-width:530px;font-size:1rem;line-height:1.7;opacity:.72}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:25px}.pill{display:inline-flex;align-items:center;gap:16px;padding:15px 20px;border:0;border-radius:999px;background:var(--ink);color:var(--cream);text-decoration:none;font:600 .83rem 'DM Sans';box-shadow:0 14px 30px var(--shadow);transition:.25s;cursor:none}.pill:hover{transform:translateY(-4px);box-shadow:0 20px 38px var(--shadow)}.pill span{font-size:1.1rem}.text-link{color:var(--ink);text-decoration:none;font-size:.82rem;font-weight:600}.text-link span{margin-left:8px}.availability{display:flex;align-items:center;gap:9px;margin-top:34px;font-size:.7rem;opacity:.55}.availability i{width:7px;height:7px;border-radius:50%;background:#69bfa3;box-shadow:0 0 0 5px rgba(105,191,163,.14);animation:pulse 2s infinite}.scene{height:650px;position:relative;perspective:1000px;transform-style:preserve-3d;transition:transform .15s ease-out}.scene-glow{position:absolute;width:390px;height:390px;top:15%;left:15%;border-radius:50%;background:rgba(168,230,207,.32);filter:blur(45px)}.orb{position:absolute;border-radius:50%;filter:drop-shadow(20px 30px 25px var(--shadow));transform-style:preserve-3d}.orb:before{content:"";position:absolute;inset:7% 16% 50% 10%;border-radius:50%;background:rgba(255,255,255,.55);filter:blur(12px)}.orb-peach{width:270px;height:270px;background:radial-gradient(circle at 30% 25%,#ffe2d9 0 7%,var(--peach) 36%,#ef8f82 100%);top:19%;left:20%;animation:float 5s ease-in-out infinite}.orb-mint{width:180px;height:180px;background:radial-gradient(circle at 32% 25%,#eafff7 0 7%,var(--mint) 40%,#70c9af 100%);bottom:14%;right:15%;animation:float 6s ease-in-out -1.3s infinite}.torus{position:absolute;width:330px;height:110px;border:30px solid var(--cream);border-radius:50%;top:30%;left:9%;transform:rotateX(68deg) rotateZ(-20deg);box-shadow:inset 0 0 0 2px rgba(23,59,53,.05),0 20px 30px var(--shadow);animation:spin 9s linear infinite}.cube{position:absolute;width:125px;height:125px;top:57%;left:47%;transform-style:preserve-3d;animation:cube 8s linear infinite}.cube i{position:absolute;inset:0;border:2px solid rgba(255,255,255,.7);background:rgba(168,230,207,.35);backdrop-filter:blur(3px)}.cube i:nth-child(1){transform:translateZ(62px)}.cube i:nth-child(2){transform:rotateY(180deg) translateZ(62px)}.cube i:nth-child(3){transform:rotateY(90deg) translateZ(62px)}.cube i:nth-child(4){transform:rotateY(-90deg) translateZ(62px)}.cube i:nth-child(5){transform:rotateX(90deg) translateZ(62px)}.cube i:nth-child(6){transform:rotateX(-90deg) translateZ(62px)}.spark{position:absolute;font-size:2rem;color:var(--cream);animation:twinkle 2s ease-in-out infinite}.s1{top:15%;right:15%}.s2{top:67%;left:15%;animation-delay:.5s}.s3{top:45%;right:3%;animation-delay:1s}.scene-caption{position:absolute;bottom:4%;right:5%;display:flex;gap:10px;align-items:center;font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;opacity:.5}.scene-caption span{font-family:'Space Grotesk'}.marquee{overflow:hidden;border-top:1px solid rgba(23,59,53,.12);border-bottom:1px solid rgba(23,59,53,.12);padding:17px 0;font:600 .72rem 'Space Grotesk';letter-spacing:.18em;white-space:nowrap}.marquee div{animation:marquee 25s linear infinite}.section{padding:130px 8vw}.home-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:end}.section-head h2,.statement>p,.story-copy .big-copy{font:600 clamp(3rem,6vw,6.5rem)/.9 'Space Grotesk';letter-spacing:-.08em;margin:0}.section-head h2 em{font-style:normal;color:var(--cream)}.photo-slot{position:relative;overflow:hidden;border-radius:32px;border:1px dashed rgba(23,59,53,.22);background:rgba(255,255,255,.16);box-shadow:0 25px 55px rgba(23,59,53,.08)}.photo-slot img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 55%;}.photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(168,230,207,.22))}.photo-placeholder strong{font:500 3.4rem 'Space Grotesk';line-height:1}.photo-placeholder span{font-weight:700}.photo-placeholder small{font-size:.65rem;opacity:.5}.home-feature{height:420px}.corner-label{position:absolute;right:20px;top:18px;padding:7px 10px;border-radius:99px;background:rgba(255,249,246,.6);backdrop-filter:blur(8px);font-size:.62rem}.statement{position:relative;padding-bottom:15px}.statement>p{font-size:clamp(2.3rem,4vw,4rem);max-width:620px}.circle-link{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--mint);color:var(--ink);text-decoration:none;font-size:1.3rem;margin-top:28px}.page{padding:7vh 8vw 13vh;min-height:calc(100vh - 90px)}.intro{margin-bottom:80px}.intro.split{display:grid;grid-template-columns:1.1fr .55fr;gap:70px;align-items:end}.intro h1{font-size:clamp(4rem,8vw,8rem)}.about-photo{height:min(58vw,600px);max-height:600px}.about-story{display:grid;grid-template-columns:.35fr 1fr;gap:80px}.story-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;opacity:.5}.story-copy{max-width:800px}.story-copy .big-copy{font-size:clamp(2.8rem,5vw,5.5rem);margin-bottom:45px}.story-copy>p:not(.big-copy){max-width:560px;font-size:1rem;line-height:1.8;opacity:.7}.values{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:90px}.value{padding:28px 25px;border-right:1px solid var(--line);min-height:210px}.value:last-child{border:0}.value span{font-size:.68rem;opacity:.45}.value h3{font:600 2rem 'Space Grotesk';margin:55px 0 8px;letter-spacing:-.06em}.value p{margin:0;opacity:.6}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.project{min-width:0}.project.wide{grid-column:span 2}.project-visual{height:410px;border-radius:32px;overflow:hidden;position:relative;box-shadow:0 25px 50px rgba(23,59,53,.11);transition:transform .35s}.project.large .project-visual{height:530px}.project-visual>span{position:absolute;top:22px;left:24px;font:600 .7rem 'Space Grotesk';opacity:.6}.peach-bg{background:var(--peach)}.mint-bg{background:var(--mint)}.dark-bg{background:var(--ink);color:var(--cream)}.mini-sphere{position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffe6de,var(--peach) 45%,#ee8c7f);top:18%;left:29%;box-shadow:25px 30px 30px rgba(23,59,53,.15);animation:float 5s ease-in-out infinite}.mini-ring{position:absolute;width:270px;height:270px;border:30px solid var(--cream);border-radius:50%;left:23%;top:22%;transform:rotateX(65deg) rotateZ(20deg);box-shadow:0 30px 30px rgba(23,59,53,.1);animation:spin 10s linear infinite}.mini-cube{position:absolute;width:145px;height:145px;left:38%;top:30%;border:2px solid var(--cream);transform:rotate(25deg) skewY(12deg);box-shadow:28px 28px 0 rgba(168,230,207,.45),-28px 28px 0 rgba(255,182,166,.5);animation:float 4s ease-in-out infinite}.waves{position:absolute;inset:-80px;background:repeating-radial-gradient(ellipse at center,transparent 0 42px,rgba(255,249,246,.45) 43px 46px);transform:rotate(-8deg)}.project-meta{display:flex;justify-content:space-between;align-items:start;padding:18px 4px}.project-meta h3{font:600 1.65rem 'Space Grotesk';margin:0;letter-spacing:-.05em}.project-meta p{margin:5px 0 0;font-size:.75rem;opacity:.55}.project-meta>b{font-size:1.3rem;font-weight:400}.upload-section{margin-top:130px;border-top:1px solid var(--line);padding-top:70px}.upload-section h2{font:600 clamp(3rem,5vw,5rem) 'Space Grotesk';letter-spacing:-.08em;margin:0 0 40px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.upload-grid .photo-slot{height:280px}.contact-page{padding-top:10vh}.contact-intro{margin-bottom:80px}.contact-intro h1{font-size:clamp(4rem,8vw,8rem)}.contact-layout{display:grid;grid-template-columns:1fr .8fr;gap:100px}.contact-form{display:flex;flex-direction:column;gap:18px;max-width:600px}label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}input,textarea{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.22);padding:16px;font:inherit;color:var(--ink);outline:0;resize:vertical;cursor:none}input:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(168,230,207,.4)}.contact-form .pill{width:max-content}.form-note{font-size:.8rem;min-height:1em}.contact-side{display:flex;flex-direction:column;gap:45px}.contact-orb{height:360px;border-radius:40px;background:var(--mint);position:relative;overflow:hidden;display:grid;place-items:center;box-shadow:0 25px 55px rgba(23,59,53,.1)}.contact-orb span{position:relative;z-index:3;text-align:center;font:600 2.2rem/.82 'Space Grotesk';letter-spacing:-.08em}.contact-orb .orb-peach{width:190px;height:190px;top:-15%;left:-8%}.contact-orb .orb-mint{width:150px;height:150px;bottom:-10%;right:-8%;background:var(--peach)}.contact-links{border-top:1px solid var(--line)}.contact-links a{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:.82rem}.contact-links b{font-weight:400}
.cursor-dot{position:fixed;width:8px;height:8px;border-radius:50%;background:var(--ink);pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}.cursor-ring{position:fixed;width:38px;height:38px;border:2px solid var(--cream);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s}.cursor-ring.hover{width:68px;height:68px;border-color:var(--ink)}.cursor-cloud{position:fixed;left:0;top:0;width:92px;height:48px;pointer-events:none;z-index:9997;transform:translate(-18px,-30px);opacity:.9;filter:drop-shadow(8px 10px 8px rgba(23,59,53,.12));animation:cloudBob 2.2s ease-in-out infinite}.cursor-cloud span{position:absolute;background:var(--cream);border-radius:50%}.cursor-cloud span:nth-child(1){width:38px;height:28px;left:8px;bottom:7px}.cursor-cloud span:nth-child(2){width:48px;height:38px;left:28px;bottom:5px}.cursor-cloud span:nth-child(3){width:32px;height:25px;right:6px;bottom:8px}.cursor-cloud:after{content:"";position:absolute;width:70px;height:18px;left:9px;bottom:4px;background:var(--cream);border-radius:20px}.cursor-cloud b{position:absolute;right:3px;top:-11px;color:var(--peach);font-size:13px;z-index:2;animation:twinkle 1.1s infinite}
.reveal{opacity:0;transform:translateY(28px);animation:reveal .8s .1s forwards}.reveal:nth-child(2){animation-delay:.18s}.reveal:nth-child(3){animation-delay:.3s}.reveal:nth-child(4){animation-delay:.42s}@keyframes reveal{to{opacity:1;transform:none}}@keyframes float{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(15px,-28px,45px) rotate(5deg)}}@keyframes spin{to{transform:rotateX(68deg) rotateZ(340deg)}}@keyframes cube{to{transform:rotateX(360deg) rotateY(360deg)}}@keyframes twinkle{0%,100%{opacity:.4;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(15deg)}}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(105,191,163,.03)}}@keyframes cloudBob{0%,100%{margin-top:0;transform:translate(-18px,-30px) scale(1)}50%{margin-top:-4px;transform:translate(-18px,-30px) scale(1.04)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:850px){body{cursor:auto}.cursor-dot,.cursor-ring,.cursor-cloud{display:none}.nav{height:75px;padding:0 6vw}.nav-links{display:none}.menu{display:block}.hero{grid-template-columns:1fr;padding:7vh 7vw 8vh}.scene{height:470px;margin-top:20px}.orb-peach{width:220px;height:220px}.orb-mint{width:145px;height:145px}.torus{width:260px;height:90px;border-width:24px}.cube{width:95px;height:95px}.cube i:nth-child(1){transform:translateZ(47px)}.cube i:nth-child(2){transform:rotateY(180deg) translateZ(47px)}.cube i:nth-child(3){transform:rotateY(90deg) translateZ(47px)}.cube i:nth-child(4){transform:rotateY(-90deg) translateZ(47px)}.cube i:nth-child(5){transform:rotateX(90deg) translateZ(47px)}.cube i:nth-child(6){transform:rotateX(-90deg) translateZ(47px)}.page{padding:6vh 7vw 10vh}.intro.split,.about-story,.contact-layout{grid-template-columns:1fr;gap:35px}.home-grid,.project-grid{grid-template-columns:1fr;gap:35px}.project.wide{grid-column:auto}.project-visual,.project.large .project-visual{height:360px}.values,.upload-grid{grid-template-columns:1fr}.value{border-right:0;border-bottom:1px solid var(--line)}.contact-orb{height:300px}.home-feature{height:320px}.section{padding:90px 7vw}.scene-caption{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}}

/* CINEMATIC PROJECT DETAIL */
.project-detail{padding:6vh 8vw 13vh}.detail-hero{max-width:900px;margin-bottom:75px}.detail-hero h1{font:600 clamp(5rem,12vw,12rem)/.78 'Space Grotesk';letter-spacing:-.1em;margin:0 0 25px}.detail-hero h1 em{font-style:normal;color:var(--cream)}.detail-art{height:min(65vw,700px);border-radius:42px;background:var(--mint);position:relative;overflow:hidden;box-shadow:0 35px 80px rgba(23,59,53,.13);transform-style:preserve-3d}.detail-art>span{position:absolute;bottom:25px;left:28px;font-size:.65rem;letter-spacing:.18em;opacity:.5}.detail-orb{position:absolute;width:360px;height:360px;border-radius:50%;left:28%;top:20%;background:radial-gradient(circle at 30% 25%,#ffe7df,#ffb6a6 42%,#ed8b7d);box-shadow:35px 45px 50px rgba(23,59,53,.18);animation:float 5s ease-in-out infinite}.detail-ring{position:absolute;width:480px;height:170px;border:40px solid var(--cream);border-radius:50%;left:12%;top:30%;transform:rotateX(67deg) rotateZ(-16deg);animation:spin 11s linear infinite}.detail-star{position:absolute;right:16%;top:18%;font-size:4rem;color:var(--cream);animation:twinkle 2s infinite}.detail-info{display:grid;grid-template-columns:1fr .8fr;gap:100px;padding:140px 0}.detail-info h2{font:600 clamp(3rem,6vw,6rem)/.86 'Space Grotesk';letter-spacing:-.08em;margin:0}.detail-info h2 em{font-style:normal;color:var(--cream)}.detail-info>div:last-child{padding-top:15px}.detail-info p{font-size:1rem;line-height:1.85;opacity:.7;max-width:560px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px}.detail-card{height:440px;border-radius:34px;box-shadow:0 25px 55px rgba(23,59,53,.1);position:relative;overflow:hidden}.detail-card:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,249,246,.65);left:28%;top:24%;filter:blur(2px)}.detail-card.mint-bg:before{background:rgba(255,182,166,.65)}
@media(max-width:850px){.project-detail{padding:5vh 7vw 10vh}.detail-art{height:480px}.detail-orb{width:240px;height:240px;left:24%;top:25%}.detail-ring{width:320px;height:115px;border-width:27px;left:9%;top:34%}.detail-info{grid-template-columns:1fr;gap:35px;padding:90px 0}.detail-gallery{grid-template-columns:1fr}.detail-card{height:300px}}
.project-link{display:block;color:inherit;text-decoration:none}.project-link:hover .project-visual{box-shadow:0 35px 70px rgba(23,59,53,.16)}

.theme-toggle{position:fixed;right:6vw;bottom:25px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(23,59,53,.15);background:rgba(255,249,246,.48);backdrop-filter:blur(12px);color:var(--ink);z-index:200;font-size:1rem;cursor:none;box-shadow:0 10px 25px rgba(23,59,53,.08)}
.cursor-bubble,.click-bubble{position:fixed;pointer-events:none;border-radius:50%;z-index:9996}.cursor-bubble{width:7px;height:7px;background:var(--cream);animation:bubbleOut .65s forwards}.click-bubble{width:9px;height:9px;background:var(--mint);animation:clickOut .7s forwards}.click-bubble:nth-child(even){background:var(--cream)}
@keyframes bubbleOut{to{opacity:0;transform:translateY(-14px) scale(2)}}@keyframes clickOut{to{opacity:0;transform:translate(calc(cos(var(--a))*45px),calc(sin(var(--a))*45px)) scale(.2)}}
body.night{--peach:#304b45;--mint:#8fd9bd;--ink:#fff7f2;--cream:#ffd0c4;--line:rgba(255,247,242,.17);--shadow:rgba(0,0,0,.25);background:#263c38;color:var(--ink)}body.night:before{background:radial-gradient(circle at 15% 10%,rgba(168,230,207,.13),transparent 27%),radial-gradient(circle at 85% 85%,rgba(255,182,166,.1),transparent 30%)}body.night .nav-links a,body.night .logo,body.night .text-link,body.night .contact-links a{color:var(--ink)}body.night .pill{background:var(--cream);color:#304b45}body.night .photo-placeholder{background:rgba(255,255,255,.04)}body.night .theme-toggle{background:rgba(20,40,36,.5);color:var(--cream);border-color:rgba(255,255,255,.15)}
@media(max-width:850px){.theme-toggle{right:20px;bottom:20px;cursor:pointer}}

/* Tiny custom cursor */
.cursor-dot{display:none!important}
.cursor-ring{width:38px;height:38px;border:0!important;background:url('images/cute-cursor.png') center/contain no-repeat!important;transform:translate(-7px,-7px)!important;transition:transform .15s ease,filter .2s ease!important}
.cursor-ring.hover{width:38px;height:38px;transform:translate(-7px,-7px) scale(1.08)!important;filter:drop-shadow(0 4px 8px rgba(23,59,53,.18))}
.cursor-cloud{width:32px!important;height:17px!important;transform:translate(8px,12px)!important;opacity:.8!important;filter:drop-shadow(4px 5px 5px rgba(23,59,53,.10))!important}
.cursor-cloud span:nth-child(1){width:12px!important;height:9px!important;left:3px!important;bottom:4px!important}
.cursor-cloud span:nth-child(2){width:17px!important;height:13px!important;left:10px!important;bottom:3px!important}
.cursor-cloud span:nth-child(3){width:11px!important;height:8px!important;right:2px!important;bottom:4px!important}
.cursor-cloud:after{width:26px!important;height:7px!important;left:3px!important;bottom:2px!important}
.cursor-cloud b{right:0!important;top:-8px!important;font-size:8px!important}

}
