@font-face{font-family:Aeonik;src:url('assets/Aeonik-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Aeonik;src:url('assets/Aeonik-Medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Aeonik;src:url('assets/Aeonik-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--paper:#fafafa;--ink:#202024;--purple:#4b41e5;--muted:#66666f;--line:#ddddE4;--pad:clamp(24px,6vw,96px);--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 Aeonik,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;letter-spacing:0}h2{font-size:clamp(38px,4.6vw,68px);line-height:1.12}h3{line-height:1.25}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:6px}::selection{background:#dad7ff}em{font-style:normal}.section-wrap{max-width:1500px;margin-inline:auto;padding-inline:var(--pad)}.section-space{padding-block:100px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:40px;padding:16px 28px;font-size:17px;line-height:1.4;transition:transform .3s var(--ease),background .3s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button-purple{background:var(--purple);color:white}.button-purple:hover{background:#3930c7}.button-dark{background:var(--ink);color:white}.button-small{padding:12px 24px;font-size:16px}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:17px;background:none;padding:8px 0;border-bottom:1px solid var(--line)}.text-link:hover,a:hover{color:var(--purple)}.button:hover{color:white}.down-line{width:7px;height:7px;border-bottom:1px solid;border-right:1px solid;transform:rotate(45deg);margin-top:-5px}.site-header{height:104px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10;max-width:1500px;margin:auto}.brand img{width:174px;height:auto}.desktop-nav{display:flex;gap:32px;font-size:16px}.desktop-nav a{padding:12px 0}.header-actions{display:flex;align-items:center;gap:20px}.menu-toggle{display:none}.mobile-nav[hidden],[hidden]{display:none!important}.skip-link{position:fixed;top:10px;left:15px;transform:translateY(-180%);background:var(--purple);color:white;padding:10px 20px;z-index:100}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hero{padding-top:46px;padding-bottom:96px}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:7%;align-items:center}.hero-copy{min-width:0}h1{font-size:clamp(80px,8.8vw,134px);line-height:1.01;letter-spacing:0;font-weight:400}.line{display:block;overflow:hidden;padding-bottom:.02em}.line>span{display:inline-block;animation:line-in .8s var(--ease) both}.line:nth-child(2)>span{animation-delay:.08s}.line:nth-child(3)>span{animation-delay:.16s}.move-word{color:var(--purple)}.hero-description{max-width:420px;margin-top:27px}.hero-description p{font-size:20px;color:var(--muted);line-height:1.5}.hero-buttons{display:flex;align-items:center;gap:26px;margin-top:27px}.starting-note{display:inline-block;font-size:16px;margin-top:24px;color:var(--muted)}.starting-note strong{font-weight:400;color:var(--ink)}.hero-visual{min-width:0}.portrait-stage{width:100%;overflow:hidden;background:#ededed;border-radius:8px;height:clamp(470px,44vw,620px)}.hero-portrait{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.section-heading{margin-bottom:40px}.work{padding-top:40px}.work-toolbar{margin-bottom:32px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filter{padding:10px 19px;border-radius:30px;background:transparent;font-size:16px;color:var(--muted);transition:background .25s,color .25s}.filter:hover{background:#eeedf9;color:var(--purple)}.filter.is-active{background:var(--ink);color:white}.project-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:46px 30px}.project{min-width:0}.project-media{position:relative;display:block;overflow:hidden;isolation:isolate;border-radius:6px;width:100%;aspect-ratio:16/10;background:#e5e5eb;padding:0;text-align:left}.project-media>img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.project-media:hover>img{transform:scale(1.035)}.play-circle{position:absolute;width:54px;height:54px;background:#fffffff0;color:var(--ink);border-radius:50%;display:grid;place-items:center;left:50%;top:50%;transform:translate(-50%,-50%);font-size:15px;padding-left:3px;z-index:3;transition:background .25s,scale .3s;color:var(--purple);pointer-events:none}.project-media:hover .play-circle{background:var(--purple);color:white;scale:1.06}.project-caption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:16px}.project-caption h3{font-size:25px}.project-caption>span{font-size:16px;color:var(--muted)}.project-wide{grid-column:1/-1}.project-wide .project-media{aspect-ratio:2.4}.preview-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;z-index:1;opacity:0;transition:opacity .4s}.preview-iframe.is-loaded{opacity:1}.media-flowz>img,.media-gtd>img{transform:scale(1.24)}.media-flowz:hover>img,.media-gtd:hover>img{transform:scale(1.28)}
.about{background:#f0f0f4}.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:12%;align-items:center}.about-image{max-width:350px}.about-image img{width:100%;aspect-ratio:.85;object-fit:cover;object-position:50% 27%;border-radius:6px}.about-copy p{color:var(--muted);margin-top:26px;max-width:540px;font-size:22px;line-height:1.6}.social-links{display:flex;gap:28px;flex-wrap:wrap;font-size:17px}.social-links a{border-bottom:1px solid var(--line)}.about-copy .social-links{margin-top:30px}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service summary{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px 0;list-style:none;cursor:pointer}.service summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.service h3{font-size:clamp(26px,3vw,40px)}.expand-icon{width:19px;height:19px;position:relative;display:block;flex-shrink:0}.expand-icon:before,.expand-icon:after{content:'';position:absolute;background:currentColor;left:0;top:9px;width:19px;height:1px;transition:transform .25s}.expand-icon:after{transform:rotate(90deg)}details[open]>summary .expand-icon:after{transform:rotate(0)}.service[open] summary h3{color:var(--purple)}.service-body{padding:0 40px 30px 0;max-width:680px}.service-body p{font-size:18px;color:var(--muted)}.service-body .text-link{margin-top:16px}
.pricing{background:#eeedfc}.pricing-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12%;align-items:center}.pricing-grid>*{min-width:0}.pricing-intro p{margin-top:24px;font-size:20px;color:var(--muted);max-width:350px}.price-prefix{display:block;font-size:20px}.price strong{display:block;font-size:clamp(76px,8vw,116px);font-weight:400;letter-spacing:0;line-height:1.25;color:var(--purple)}.price strong>span{font-size:18px;margin-left:16px}.price-card>p{font-size:18px;color:var(--muted);margin:16px 0 28px;max-width:400px}.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:20px;line-height:1.4;padding:25px 0;list-style:none;cursor:pointer}.faq-list p{padding:0 25px 25px 0;font-size:18px;color:var(--muted)}.contact{background:#202024;color:#fafafa;padding-top:75px}.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:50px}.contact-heading h2{font-size:clamp(48px,7vw,104px);line-height:1.1}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:55px}.contact-email{font-size:clamp(19px,2.2vw,30px)}.contact .social-links a{border-color:#626269}.contact a:hover{color:#b9b4ff}.footer-base{padding:25px 0;border-top:1px solid #ffffff26;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;color:#bbbcc5}.motion-toggle{display:flex;align-items:center;gap:9px;background:none;font-size:14px;color:inherit;padding:8px 0}.motion-symbol{font-size:16px}
dialog{border:0;padding:0;max-height:90dvh;overflow:auto;border-radius:12px;color:var(--ink);background:var(--paper);box-shadow:0 30px 90px #0005}dialog::backdrop{background:#15151bd9;backdrop-filter:blur(5px)}.video-dialog{width:min(1100px,94vw);max-width:94vw}.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px}.dialog-bar h2{font-size:20px;line-height:1.4}.dialog-close{background:none;font-size:33px;line-height:1;width:40px;height:40px;border-radius:50%;flex-shrink:0}.dialog-close:hover{background:#eeedfc}.video-frame{aspect-ratio:16/9;background:#000}.video-frame iframe{width:100%;height:100%;border:0}.dialog-foot{display:flex;justify-content:flex-end;font-size:16px;padding:18px 24px}.dialog-foot a{border-bottom:1px solid}.booking-dialog{width:560px;max-width:calc(100vw - 30px);padding:20px 32px 32px}.booking-dialog .dialog-bar{padding:0}.booking-dialog h2{font-size:52px;margin:18px 0 24px}.booking-dialog>p{font-size:18px;color:var(--muted);margin-bottom:28px}.booking-email{display:grid;gap:8px;border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font-size:17px}.booking-email>span{font-size:16px;color:var(--muted)}body.dialog-open{overflow:hidden}.js-motion .reveal{opacity:0;transform:translateY(12px);transition:opacity .55s var(--ease),transform .65s var(--ease)}.js-motion .reveal.is-visible{opacity:1;transform:none}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}.motion-paused .reveal{opacity:1;transform:none}.motion-paused .line>span{transform:none}.motion-paused{scroll-behavior:auto}@keyframes line-in{from{transform:translateY(110%)}to{transform:translateY(0)}}
@media(max-width:1000px){.hero-grid{gap:5%}.hero-buttons{gap:18px;flex-wrap:wrap}.portrait-stage{height:530px}.desktop-nav{gap:20px}.section-space{padding-block:80px}.project-caption{display:block}.project-caption>span{display:block;margin-top:5px}.about-grid{gap:8%}.pricing-grid{gap:8%}.footer-base{flex-wrap:wrap}}
@media(max-width:760px){:root{--pad:24px}.site-header{height:84px}.brand img{width:144px}.desktop-nav{display:none}.header-actions{gap:16px}.header-actions .button{padding:11px 18px;font-size:15px}.menu-toggle{display:grid;gap:6px;padding:12px 0 12px 8px;background:none;width:28px}.menu-toggle span{display:block;width:20px;height:1px;background:var(--ink)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:absolute;top:83px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:24px var(--pad);display:grid;gap:16px;font-size:24px}.hero{padding-top:34px;padding-bottom:64px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:38px}.hero-copy h1{font-size:clamp(72px,17vw,116px);line-height:1.04}.hero-description{margin-top:24px;max-width:440px}.hero-description p{font-size:19px}.hero-buttons{gap:22px;margin-top:25px;flex-wrap:wrap}.hero-buttons .button{padding:15px 23px}.hero-buttons .text-link{font-size:16px}.starting-note{margin-top:22px}.portrait-stage{height:auto;aspect-ratio:.85;max-width:500px}.hero-portrait{object-position:50% 30%}.section-space{padding-block:64px}.work{padding-top:20px}.section-heading{margin-bottom:28px}.filters{gap:5px}.filter{padding:9px 13px;font-size:15px}.work-toolbar{margin-bottom:25px}.project-grid{grid-template-columns:minmax(0,1fr);gap:32px}.project-wide{grid-column:auto}.project-media,.project-wide .project-media{aspect-ratio:16/10}.project-caption{padding-top:12px}.project-caption h3{font-size:24px}.project-caption>span{font-size:16px}.about-grid{grid-template-columns:minmax(0,1fr);gap:36px}.about-image{display:none}.about-copy p{font-size:20px;margin-top:22px}.social-links{font-size:16px;gap:24px}.service summary{padding-block:23px}.service h3{font-size:27px}.service-body{padding-right:15px}.service-body p{font-size:17px}.pricing-grid{grid-template-columns:minmax(0,1fr);gap:36px}.pricing-intro p{font-size:19px}.price strong{font-size:88px}.price-card>p{font-size:18px}.faq{grid-template-columns:minmax(0,1fr);gap:30px}.faq-list summary{font-size:19px;padding-block:23px}.faq-list p{font-size:17px}.contact{padding-top:55px}.contact-heading{align-items:flex-start;flex-direction:column;gap:30px;margin-bottom:38px}.contact-heading h2{font-size:clamp(46px,11vw,80px)}.contact-bottom{align-items:flex-start;flex-direction:column;padding-bottom:36px;gap:24px}.contact-email{font-size:22px;overflow-wrap:anywhere}.footer-base{gap:16px 24px}.footer-base>span{width:100%}.footer-base>a{margin-left:auto}.booking-dialog{padding:18px 23px 26px}.booking-dialog h2{font-size:44px}.booking-dialog .button{font-size:16px;padding-inline:23px}.booking-email a{font-size:16px}.dialog-bar{padding:12px 16px}.dialog-bar h2{font-size:18px}}
@media(max-width:360px){:root{--pad:20px}.brand img{width:125px}.header-actions{gap:12px}.header-actions .button{padding-inline:14px}.hero-copy h1{font-size:70px}.hero-buttons{gap:16px}.hero-buttons .button{padding-inline:18px}.hero-buttons .text-link{font-size:15px}.price strong{font-size:78px}.service h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* Bold display typography with gently tightened spacing. */
h1,h2{font-weight:700;letter-spacing:-.015em}h1{font-weight:700;letter-spacing:-.015em}.price strong{font-weight:700;letter-spacing:-.015em}

/* Compact page rhythm and closely stacked display lines. */
h1,.hero-copy h1{line-height:.84}.line{padding-bottom:0;overflow:visible}.line+.line{margin-top:.015em}
.hero{padding-top:30px;padding-bottom:52px}.hero-description{margin-top:30px}.portrait-stage{height:clamp(410px,36vw,520px)}
.section-space{padding-block:64px}.work{padding-top:24px}.section-heading{margin-bottom:28px}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.project-wide{grid-column:auto}.project-media,.project-wide .project-media{aspect-ratio:16/9}.project-caption{display:block;padding-top:12px}.project-caption h3{font-size:23px}.project-caption>span{display:block;margin-top:3px}
.about-grid{grid-template-columns:1fr;gap:0}.about-image{display:none}.about-copy{display:grid;grid-template-columns:.75fr 1.25fr;column-gap:8%;align-items:start}.about-copy p{margin-top:0;font-size:20px;max-width:650px}.about-copy .social-links{grid-column:2;margin-top:20px}
.service summary{padding-block:20px}.service h3{font-size:clamp(25px,2.5vw,34px)}.contact{padding-top:52px}.contact-heading{margin-bottom:30px}.contact-heading h2{font-size:clamp(46px,6vw,82px)}.contact-bottom{padding-bottom:32px}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero{padding-top:28px;padding-bottom:40px}.hero-grid{gap:30px}.portrait-stage{height:340px;aspect-ratio:auto}.hero-portrait{object-position:50% 25%}.section-space{padding-block:44px}.work{padding-top:12px}.project-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}.project{flex:0 0 86%;scroll-snap-align:start}.project-caption h3{font-size:23px}.about-copy{display:block}.about-copy p{margin-top:18px}.about-copy .social-links{margin-top:20px}.service summary{padding-block:18px}.pricing-grid{gap:24px}.contact{padding-top:40px}.contact-heading{gap:24px;margin-bottom:28px}.contact-bottom{padding-bottom:26px}}

/* Text and section content are visible immediately, without entrance animation. */
.line>span{animation:none;transform:none}.js-motion .reveal,.js-motion .reveal.is-visible{opacity:1;transform:none;transition:none}

/* Brand finish: clear hierarchy, tactile surfaces, and intentional interaction. */
:root{--paper:#fcfcfd;--ink:#202026;--line:#e0e0e9}
.site-header{border-bottom:1px solid var(--line)}
.hero{padding-top:44px;padding-bottom:56px}.hero-grid{gap:8%;grid-template-columns:1.15fr .85fr}.hero-description p{max-width:425px}.hero-visual{position:relative;padding:12px 12px 0 0}.hero-visual:before{content:'';position:absolute;inset:0 0 16px 16px;background:#e5e2ff;border-radius:20px;z-index:-1}.portrait-stage{border-radius:14px 14px 80px 14px;background:#ededf1}.hero-portrait{filter:contrast(1.035)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px}.section-intro{font-size:18px;line-height:1.5;color:var(--muted);max-width:350px}.work{border-top:1px solid var(--line);padding-top:40px}.work-toolbar{margin-bottom:25px}.project-media{border-radius:12px;transition:box-shadow .3s,transform .3s}.project-media:hover{box-shadow:0 12px 28px #20202615;transform:translateY(-3px)}.project-caption h3{font-weight:500}.project-caption>span{color:#6a6876}.filters{gap:6px}.filter.is-active{background:var(--purple)}
.about{background:#f1f0f7}.about-copy h2{font-size:clamp(38px,4vw,58px)}.services{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%}.services .section-heading{align-items:start;margin:0}.services h2{font-size:clamp(36px,4vw,58px)}.service summary{transition:color .2s}.service summary:hover{color:var(--purple)}.service h3{font-size:clamp(24px,2.2vw,31px)}.service-body{padding-right:10px}.service-body .text-link{font-size:16px}.pricing{background:#eae8ff}.pricing-intro h2{font-size:clamp(38px,4.3vw,62px)}.pricing-intro p{max-width:420px}.price-card{border-left:1px solid #cbc7f1;padding-left:40px}.contact-heading h2{line-height:1.02}
/* Simple action buttons. */
.button{position:relative;overflow:hidden;padding:0;border-radius:16px;background:var(--purple);color:white;box-shadow:none;transition:background .2s,transform .2s}.button-dark{background:var(--ink)}.button-face{display:flex;align-items:center;justify-content:center;gap:26px;padding:17px 25px}.button-small .button-face{padding:12px 20px;gap:18px}.button-arrow{font-size:21px;line-height:1}.button:hover{background:#3930c7;transform:translateY(-2px);color:white;box-shadow:none}.booking-dialog .button{white-space:normal;text-align:left}
@media(max-width:1000px){.services{grid-template-columns:1fr;gap:28px}.section-heading{align-items:start;flex-direction:column;gap:18px}.hero-grid{gap:5%}.price-card{padding-left:26px}}
@media(max-width:760px){.hero{padding-top:32px;padding-bottom:40px}.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-visual{padding:9px 9px 0 0}.hero-visual:before{inset:0 0 12px 12px}.portrait-stage{border-bottom-right-radius:54px}.section-heading{gap:14px}.section-intro{font-size:18px}.section-intro br{display:none}.work{padding-top:32px}.services h2 br{display:none}.services h2 br:after{content:' '}.price-card{border-left:0;border-top:1px solid #cbc7f1;padding:22px 0 0}.hero-buttons .button,.header-actions .button,.booking-dialog .button{padding:0}.button-face{padding:15px 21px;gap:19px}.button-small .button-face{padding:11px 16px;gap:12px}.header-actions .button-arrow{display:none}.project-grid{scrollbar-width:thin;scrollbar-color:#bcb7f4 #ecebf4}}

@media(prefers-reduced-motion:reduce){.project-media:hover,.button:hover{transform:none}}

.hero-visual{isolation:isolate}

/* A sculptural portrait window: sweeping shoulder and opposing rounded cut. */
.hero-visual{padding:0;isolation:isolate}.hero-visual:before{display:none}.portrait-stage{border-radius:50% 50% 8px 8px;background:#e8e6f4;overflow:hidden;transform:none}.hero-portrait{object-position:50% 32%;mix-blend-mode:multiply}
@media(max-width:760px){.portrait-stage{height:360px;border-radius:50% 50% 8px 8px}.hero-portrait{object-position:50% 25%}}

/* Use the photograph’s own headroom for a seamless arch. */
.portrait-stage{padding-top:0}.hero-portrait{object-position:50% 0%;mix-blend-mode:normal}
@media(max-width:760px){.portrait-stage{padding-top:0}.hero-portrait{object-position:50% 0%}}

/* Original footer information, integrated with the new contact section. */
.footer-directory{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.35fr 1.2fr;gap:28px;padding:32px 0 38px;border-top:1px solid #ffffff26;font-size:16px;line-height:1.55;color:#c7c7d0;scroll-margin-top:24px}.footer-directory h3{font-size:18px;font-weight:500;color:#fafafa;margin:0 0 18px}.footer-directory nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-directory nav h3{margin-bottom:8px}.footer-directory address{font-style:normal;display:grid;gap:8px;margin:18px 0}.footer-directory address strong{font-weight:500;color:#eeeef4}.footer-directory address strong:not(:first-child){margin-top:7px}.footer-trust p+p{margin-top:12px}.footer-trust strong{font-weight:500;color:#eeeef4}.footer-directory a:hover{color:#b9b4ff}.footer-base{font-size:14px}
@media(max-width:1100px){.footer-directory{grid-template-columns:1.5fr 1fr 1fr;gap:28px}.footer-contact-details{grid-row:span 2}}
@media(max-width:760px){.footer-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;padding-block:28px}.footer-contact-details{grid-row:auto;grid-column:1/-1}.footer-directory h3{margin-bottom:14px}.footer-trust{grid-column:auto}.footer-directory nav{gap:9px}.footer-directory nav h3{margin-bottom:5px}.footer-base>span{line-height:1.6}}
