/* Motion follows the freehand / moving-image direction. */
#main{position:relative;isolation:isolate}.story-thread{position:absolute;left:0;top:0;width:100%;z-index:6;overflow:visible;pointer-events:none;fill:none;stroke:#5598d4;stroke-width:1.4;stroke-linecap:round;opacity:.68}.thread-tip{fill:var(--ice);stroke:none}.hero-links{display:flex;gap:24px;align-items:center}.hero-cta{background:var(--ice);color:var(--navy);border:0;border-radius:80px;padding:16px 25px;gap:20px;font-size:14px}.hero-cta span{font-size:15px}.hero-explore{font-size:12px;color:#c5d7e7}.video-blob{background:var(--navy)}.video-blob>img{transform:none;filter:none;object-position:center}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:rotate(-9deg) scale(1.15);opacity:0;transition:opacity .8s}.hero-video.is-playing{opacity:1}.live-note{position:absolute;bottom:14%;right:16%;font-size:8px;letter-spacing:1.8px;color:white;z-index:3;text-shadow:0 1px 8px #000}.live-note:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--ice);margin-right:6px}.camera-orbit img{object-position:29% center}
.lead-film{margin:0 auto 28px;width:100%}.lead-film .project-image{aspect-ratio:2.15;border-radius:44% 56% 52% 48% / 18% 28% 72% 82%;transform:rotate(-1.5deg)}.project-image video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}.project-image video.is-playing{opacity:1}.film-label{position:absolute;left:50%;bottom:12%;translate:-50% 0;color:white;font-size:10px;letter-spacing:.5px;text-shadow:0 1px 10px #000;white-space:nowrap}.film-project .play-circle{z-index:2;background:#07172b45}.full-photo .project-image{aspect-ratio:auto;border-radius:18px 18px 50px 18px;background:transparent;box-shadow:0 20px 35px #081e3812;overflow:hidden}.full-photo .project-image img{height:auto;object-fit:contain;filter:none;opacity:1}.portrait-project.full-photo{padding-top:38px}.portrait-project.full-photo .project-image{transform:rotate(-3deg)}.celebration-project{margin-top:35px;transform:rotate(2deg)}.exterior-project{width:82%;margin:55px 0 0 auto}.exterior-project .project-image{transform:rotate(-4deg)}.intro-project{width:83%;margin-top:42px}.intro-project .project-image{aspect-ratio:1.95;border-radius:42% 58% 52% 48% / 20% 24% 76% 80%}.project-doodle{bottom:-15%;width:48%}.work-grid.is-filtered .project{margin-top:15px}.work-grid.is-filtered .film-project{width:100%;margin-top:0}.work-grid.is-filtered .full-photo .project-image{aspect-ratio:auto}
.service-preview{position:relative;max-width:610px;margin:38px auto 0;padding:20px 26px 20px 20px;background:var(--paper);color:var(--ink);border-radius:80px 26px 80px 26px;display:flex;align-items:center;gap:27px;box-shadow:0 15px 45px #0002;animation:slide-up .4s ease both}.preview-media{width:245px;height:165px;position:relative;overflow:hidden;flex-shrink:0;border-radius:65% 35% 48% 52% / 40% 55% 45% 60%;rotate:-3deg;background:var(--navy)}.preview-media>img{object-position:65% center}.preview-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s}.preview-media video.is-playing{opacity:1}.preview-copy h3{font:400 21px/1.1 Space,sans-serif;letter-spacing:-1px;margin:0 15px 10px 0}.preview-copy p{font-size:12px;line-height:1.45;margin:0 0 16px;color:#43617c}.preview-copy .pill{padding:11px 17px;font-size:11px;background:var(--navy);color:var(--paper)}.preview-copy>span{display:block;font-size:8px;line-height:1.4;color:#59748c;margin-top:12px}.preview-close{position:absolute;right:10px;top:10px;width:26px;height:26px;border-radius:50%;background:#dce8f1;color:var(--ink);font-size:12px}.service-bubble[aria-expanded=true]{border-color:var(--ice);box-shadow:0 0 0 3px #aedaff1a}.maker-note{position:absolute;right:8%;bottom:95px;display:flex;gap:20px;align-items:center;z-index:2;max-width:310px}.maker-note img{width:90px;height:80px;object-position:24% center;border-radius:40% 60% 45% 55%;rotate:8deg}.maker-note p{font:13px/1.6 DM,sans-serif}.maker-note em{font:italic 18px/1.3 Georgia,serif;color:#416b91}
@media(max-width:1050px){.hero-links{gap:17px}.hero-cta{font-size:12px;padding:14px 20px}.maker-note{max-width:250px;right:6%;bottom:90px;gap:15px}.maker-note img{width:70px;height:65px}.maker-note em{font-size:16px}}
@media(max-width:700px){.header .pill{padding:12px;font-size:10px;gap:9px}.header-actions{gap:8px}.hero-cta{font-size:12px;padding:13px 19px}.hero-explore{font-size:11px}.hero-video{transform:rotate(-9deg) scale(1.08)}.live-note{font-size:6px;right:15%;bottom:15%;letter-spacing:1px}.lead-film{width:100%;margin-bottom:8px}.lead-film .project-image{aspect-ratio:1.55}.film-label{font-size:8px;bottom:11%}.portrait-project.full-photo{padding-top:0;width:100%}.full-photo .project-image{border-radius:10px 10px 35px 10px}.celebration-project{margin-top:15px}.exterior-project{width:88%;margin-top:10px}.intro-project{width:100%;margin-top:15px}.intro-project .project-image{aspect-ratio:1.65}.service-preview{margin:75px 0 0;border-radius:45px 18px 45px 18px;padding:22px;display:block}.preview-media{width:100%;height:175px;border-radius:45% 55% 40% 60% / 32% 35% 65% 68%}.preview-copy{padding:22px 5px 0}.preview-copy h3{font-size:23px}.preview-copy p{font-size:12px}.preview-copy>span{font-size:8px}.preview-close{right:8px;top:8px}.maker-note{position:relative;right:auto;bottom:auto;max-width:none;margin:45px 0 0;gap:18px}.maker-note img{width:75px;height:64px}.maker-note p{font-size:12px}.maker-note em{font-size:17px}.story-thread{stroke-width:1.1;opacity:.55}}
.brand{position:relative;overflow:hidden;height:106px}.brand img{position:absolute;width:225px;height:112.5px;left:-45px;top:-4px;object-fit:contain;filter:brightness(0) invert(1)}.footer .brand{height:90px}.footer .brand img{width:205px;height:102.5px;left:-48px;top:-9px}
@media(max-width:700px){.brand{height:86px}.brand img{width:182px;height:91px;left:-42px;top:-2px}.footer .brand{height:77px}.footer .brand img{width:168px;height:84px;left:-39px;top:-3px}.header nav{top:104px}}
@keyframes breathe{0%,100%{border-radius:43% 57% 58% 42% / 41% 35% 65% 59%}50%{border-radius:56% 44% 45% 55% / 56% 48% 52% 44%}}
@keyframes float{0%,100%{transform:translateY(0) rotate(-13deg)}50%{transform:translateY(-13px) rotate(-8deg)}}
@keyframes turn{to{rotate:360deg}}
@keyframes ribbon-run{to{translate:-50% 0}}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes slide-up{from{opacity:0;transform:translateY(40px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes nudge{to{transform:translate(4px,-4px)}}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -8px}}
.portrait-blob{animation:breathe 14s ease-in-out infinite}.quince-orbit{animation:float 7s ease-in-out infinite}.orbit-text{animation:turn 24s linear infinite}.drawn-star{animation:turn 38s linear infinite}.hero-copy h1>span{animation:slide-up .85s cubic-bezier(.2,.7,.1,1) both}.hero-copy h1 em{animation:slide-up .85s .12s cubic-bezier(.2,.7,.1,1) both}
.ink-line path,.loose-arrow path,.drawn-star path{stroke-dasharray:1;animation:draw 2s .3s ease both}.ribbon-track{animation:ribbon-run 36s linear infinite}.ribbon:hover .ribbon-track{animation-play-state:paused}.cloud-spark{animation:turn 35s linear infinite}.service-bubble:not(:hover){animation:bob 6s ease-in-out infinite}.photo-bubble{animation-delay:-2s!important}.ad-bubble{animation-delay:-4s!important}.events-bubble{animation-delay:-1s!important}.contact-ball{animation:breathe 10s ease-in-out infinite}
.reveal{transition:opacity .8s cubic-bezier(.2,.7,.1,1),translate .8s cubic-bezier(.2,.7,.1,1)}.reveal.pending{opacity:0;translate:0 35px}.quince-project.reveal{transition-delay:.13s}.project-doodle path,.service-line path,.contact-doodle path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s ease}.in-view.project-doodle path,.in-view.service-line path,.in-view.contact-doodle path{stroke-dashoffset:0}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important;transition:none!important}body.motion-paused .reveal.pending{opacity:1;translate:none}body.motion-paused .project-doodle path,body.motion-paused .service-line path,body.motion-paused .contact-doodle path{stroke-dashoffset:0}body.motion-paused .magnetic{translate:none}body.motion-paused .hero-copy h1>span,body.motion-paused .hero-copy h1 em{opacity:1;transform:none}body.motion-paused .ink-line path,body.motion-paused .loose-arrow path,body.motion-paused .drawn-star path{stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;translate:none}.ink-line path,.loose-arrow path,.drawn-star path,.project-doodle path,.service-line path,.contact-doodle path{stroke-dashoffset:0}.magnetic{translate:none}}
