:root{font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;background:#fafafa;color:#191919}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,#mascot:focus-visible{outline:2px solid #777;outline-offset:5px}header{position:fixed;top:0;left:0;width:100%;height:84px;background:#fafafae8;backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;z-index:30;border-bottom:1px solid #00000007}.brand{font-size:35px;font-weight:600;letter-spacing:-2px}.brand small{font-size:8px;font-weight:400;letter-spacing:2px;margin-left:8px}nav{display:flex;gap:18px}nav button{font-size:13px;min-height:44px;color:#777}nav button[aria-pressed=true]{color:#111}sup{font-size:9px;margin-left:3px}.cta{display:inline-flex;align-items:center;justify-content:center;background:#191919;color:white;padding:16px 24px;border-radius:40px;font-size:14px;min-height:48px;transition:transform .25s,background .25s}.cta:hover{background:#393939;transform:translateY(-2px)}main{padding-top:84px}.hero{min-height:700px;position:relative;padding:70px 6vw 140px}.eyebrow{font-size:11px;letter-spacing:1.6px}h1{font-weight:500;font-size:clamp(54px,7.7vw,114px);letter-spacing:-.055em;line-height:1.03;margin:42px 0 24px}h1 span{color:#808080}.promise{font-size:18px;line-height:1.6;max-width:650px;color:#555}.heroCta{margin-top:16px}.signature{position:absolute;bottom:55px;right:6vw;font-size:19px;line-height:1.3;letter-spacing:-.5px;text-align:right}.scrollHint{position:absolute;left:6vw;bottom:58px;font-size:10px;letter-spacing:1.5px;color:#888}#mascot{position:fixed;left:76%;top:48%;width:210px;height:250px;transform:translate(-50%,-50%);z-index:8;touch-action:pan-y;transition:left .7s cubic-bezier(.2,.8,.2,1),top .7s cubic-bezier(.2,.8,.2,1),width .7s,height .7s;cursor:pointer}body.in-cloud #mascot{left:50%;top:52%}body.at-services #mascot{left:92%;top:70%;width:130px;height:155px}body.gallery-view #mascot{left:94%;top:81%;width:95px;height:110px}#mascot canvas{display:block;width:100%;height:100%}.mascotFallback{display:grid;place-items:center;height:100%;font-size:90px;color:#999}#mascot.ready .mascotFallback{display:none}#cloud{padding-top:10px}.imagePair{min-height:650px;display:grid;grid-template-columns:32% 32%;justify-content:space-between;padding:40px 6vw 60px;position:relative;align-items:start}.imagePair:nth-of-type(even){grid-template-columns:28% 35%;padding-left:10vw;padding-right:4vw}.tile{padding:0;width:100%;text-align:left;transform:translateY(var(--float,0px));will-change:transform}.tile:nth-child(2){margin-top:170px}.tile .surface{display:block;box-shadow:0 20px 45px #0000000d;transform:perspective(1200px) rotateX(var(--ty,0deg)) rotateY(var(--tx,0deg)) rotate(var(--r,0deg));transition:transform .4s cubic-bezier(.2,.8,.2,1)}.tile img{width:100%;height:auto;max-height:490px;aspect-ratio:4/5;object-fit:cover;border-radius:2px;display:block}.tile:hover .surface{transform:perspective(1200px) rotateX(var(--ty,0deg)) rotateY(var(--tx,0deg)) scale(1.025)}.caption{display:flex;justify-content:space-between;font-size:11px;color:#777;padding-top:12px}.manifesto{min-height:650px;display:flex;flex-direction:column;justify-content:center;padding:70px 8vw;position:relative}.chapter{font-size:11px;color:#777;text-align:center;letter-spacing:1.3px;margin-bottom:55px}.manifesto h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(45px,5.3vw,82px);font-weight:400;letter-spacing:-.05em;line-height:1.12;max-width:760px;margin:0;align-self:flex-start}.manifesto:nth-of-type(even) h2{align-self:flex-end;text-align:right}.manifesto h2 em{font-weight:400;color:#888}.manifesto p:last-child{max-width:320px;align-self:flex-end;font-size:16px;color:#666;line-height:1.6;margin-top:50px}.manifesto .word{display:inline-block;opacity:var(--reveal,1);transform:translateY(calc((1 - var(--reveal,1))*10px));transition:opacity .12s,transform .12s}.floatingCta{position:fixed;bottom:28px;right:30px;z-index:40;box-shadow:0 8px 35px #0002;gap:18px}.floatingCta span{font-size:12px;color:#aaa}.desktopCta{font-size:12px;padding:13px 20px}#services,.founder{padding:100px 9vw;background:white;position:relative;z-index:3}#services h2,.founder h2{font-weight:500;font-size:clamp(48px,6vw,88px);letter-spacing:-.055em;line-height:1.02;margin:35px 0 65px}.serviceList{max-width:850px}article{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:28px 0;border-top:1px solid #ddd}article>span{font-size:13px;color:#777}h3{font-size:28px;font-weight:500;letter-spacing:-.6px;margin:0 0 12px}article p{font-size:16px;color:#666;line-height:1.6;max-width:540px;margin:0}#services .cta{margin-top:35px}.founder{background:#f2f2f2;padding-bottom:140px}.founder p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:620px;color:#666}#gallery{padding:20px 2vw 130px}#gallery[hidden],#journey[hidden]{display:none}.galleryIntro{text-align:center;padding:50px 20px 75px}.galleryIntro h1{font-family:Georgia,serif;font-size:clamp(48px,5vw,75px);font-weight:400}.galleryIntro h1 em{color:#888}.galleryIntro p{font-size:14px;color:#777}#galleryCount{font-size:11px;letter-spacing:1px}#galleryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 20px;align-items:start}.galleryTile{padding:0;text-align:left;transform-origin:center;will-change:transform;transform:perspective(1300px) rotateX(var(--bend,0deg)) scaleY(var(--stretch,1));transition:transform .1s linear}.galleryTile img{display:block;width:100%;height:40vw;max-height:620px;object-fit:cover}.galleryTile:nth-child(3n+2){margin-top:80px}.galleryTile .caption{padding:12px 2px}.galleryTile:hover img{filter:brightness(.95)}dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:#fafafa;padding:50px 70px 100px;inset:0}dialog[open]{display:flex;align-items:center;justify-content:center;animation:reveal .3s ease}dialog img{max-width:100%;max-height:100%;object-fit:contain}.imageInfo{position:absolute;bottom:25px;left:6vw;right:6vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.imageInfo .cta{font-size:12px}#close{position:absolute;right:20px;top:16px;width:44px;height:44px;border-radius:50%;font-size:27px;background:#eee}#imagePrev,#imageNext{position:absolute;top:45%;font-size:28px;width:44px;height:44px}#imagePrev{left:10px}#imageNext{right:10px}body:has(dialog[open]){overflow:hidden}#cursorHalo{position:fixed;top:0;left:0;width:25px;height:25px;border:1px solid #777;border-radius:50%;pointer-events:none;z-index:100;opacity:0;mix-blend-mode:difference;background:#ffffff20;transition:width .2s,height .2s}#cursorHalo.over{width:44px;height:44px}@keyframes reveal{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@media(max-width:700px){header{height:72px;padding:0 18px}.brand{font-size:31px}.brand small{display:none}nav{gap:12px}nav button{font-size:12px}header .desktopCta{display:none}main{padding-top:72px}.hero{padding:35px 22px 170px;min-height:710px}.eyebrow{font-size:9px;line-height:1.6;letter-spacing:1.1px}h1{font-size:clamp(42px,11vw,69px);margin-top:30px;line-height:1.05}.promise{font-size:16px;line-height:1.55;max-width:100%}.promise br{display:none}.heroCta{font-size:13px;padding:14px 19px}.signature{font-size:16px;right:23px;bottom:65px}.scrollHint{font-size:9px;left:23px;bottom:30px}#mascot{width:130px;height:155px;left:24%;top:540px}body.in-cloud #mascot,body.at-services #mascot,body.gallery-view #mascot{left:88%;top:135px;width:70px;height:90px}#cloud{padding:0}.imagePair,.imagePair:nth-of-type(even){min-height:480px;grid-template-columns:55% 41%;padding:20px 20px 60px;gap:4%}.tile:nth-child(2){margin-top:155px}.tile img{aspect-ratio:3/4;max-height:340px}.caption{font-size:9px;gap:7px;line-height:1.4}.manifesto{min-height:510px;padding:55px 24px}.chapter{font-size:9px;margin-bottom:45px}.manifesto h2{font-size:clamp(39px,10.3vw,60px);max-width:95%}.manifesto p:last-child{font-size:15px;max-width:260px;margin-top:38px}.floatingCta{bottom:calc(12px + env(safe-area-inset-bottom));left:18px;right:18px;padding:17px;font-size:14px;min-height:54px}.floatingCta span{font-size:11px}.floatingCta{gap:12px}#services,.founder{padding:60px 24px 100px}#services h2,.founder h2{font-size:45px;margin-bottom:40px}article{grid-template-columns:25px 1fr;gap:10px;padding:24px 0}h3{font-size:24px}article p{font-size:15px}.founder p:not(.eyebrow){font-size:16px}.founder{padding-bottom:140px}#gallery{padding:0 12px 110px}.galleryIntro{padding:40px 12px}.galleryIntro h1{font-size:48px}.galleryIntro p{font-size:14px}#galleryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 10px}.galleryTile img{height:58vw}.galleryTile:nth-child(3n+2){margin-top:0}.galleryTile:nth-child(even){margin-top:45px}.imageInfo{bottom:20px;left:18px;right:18px;font-size:10px}.imageInfo .cta{font-size:11px;padding:12px 15px}dialog{padding:65px 12px 95px}#imagePrev,#imageNext{top:auto;bottom:90px;background:#fffc;border-radius:50%}#cursorHalo{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.tile,.galleryTile,.manifesto .word{transform:none!important}.manifesto .word{opacity:1!important}}

/* Editorial journey: large photographs, tight rhythm, quiet roman typography. */
.imagePair,.imagePair:nth-of-type(even){min-height:0;grid-template-columns:43% 43%;padding:22px 3vw 26px;gap:14%;align-items:start}
.tile:nth-child(2){margin-top:110px}
.tile img{max-height:720px;aspect-ratio:4/5;object-fit:cover}
.manifesto{min-height:0;padding:38px 3vw 42px;gap:30px;overflow:clip}
.manifesto h2,.manifesto:nth-of-type(even) h2{font-family:'Times New Roman',Times,serif;font-weight:400;font-style:normal;font-size:clamp(60px,8.1vw,132px);letter-spacing:-.047em;line-height:1.04;max-width:none;width:100%;margin:0;text-align:center;align-self:center;color:#080808}
.manifesto .flowCopy:last-child{display:grid;grid-template-columns:1fr 1fr;gap:180px;align-self:center;max-width:760px;width:100%;margin:0;padding:0;font-family:'Times New Roman',Times,serif;font-size:20px;line-height:1.28;color:#151515}
.flowHalf{display:block;min-width:0}.flowHalf.left{text-align:right}.flowHalf.right{text-align:left;padding-top:40px}.flowLine{display:block;will-change:transform,filter}
@media(max-width:700px){
 .imagePair,.imagePair:nth-of-type(even){display:flex;flex-direction:column;gap:22px;padding:14px 16px 20px;min-height:0}
 .tile{width:89%;align-self:flex-start}.tile:nth-child(2){width:89%;margin-top:0;align-self:flex-end}
 .tile img{max-height:none;aspect-ratio:4/5}.caption{font-size:10px;padding-top:8px}
 .manifesto{padding:25px 16px 28px;gap:23px;min-height:0}
 .manifesto h2,.manifesto:nth-of-type(even) h2{font-size:clamp(39px,10.6vw,74px);letter-spacing:-.05em;line-height:1.06;max-width:none}
 .manifesto .flowCopy:last-child{max-width:100%;grid-template-columns:1fr 1fr;gap:20px;font-size:17px;line-height:1.3;margin:0}
 .flowHalf.right{padding-top:24px}.flowLine{display:inline;will-change:auto}.flowHalf.left{text-align:left}
}
@media(prefers-reduced-motion:reduce){.flowLine{transform:none!important;filter:none!important}}

/* A shorter, ten-image journey with a larger chrome companion. */
.manifesto h2,.manifesto:nth-of-type(even) h2{font-size:clamp(52px,5.6vw,96px);color:#191919;letter-spacing:-.043em}
#mascot{width:265px;height:310px}
.tile{transform:translate3d(var(--avoid,0px),var(--float,0px),0)}
.imagePair,.imagePair:nth-of-type(even){padding-left:4vw;padding-right:4vw;grid-template-columns:43% 43%}
@media(min-width:701px){.serviceList{max-width:1100px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}article{grid-template-columns:35px 1fr}#services{padding-top:65px;padding-bottom:65px}.founder{padding-top:65px}}
@media(max-width:700px){
 #mascot{width:150px;height:180px}
 body.in-cloud #mascot,body.at-services #mascot,body.gallery-view #mascot{width:88px;height:110px;left:87%;top:138px}
 .manifesto h2,.manifesto:nth-of-type(even) h2{font-size:clamp(34px,9vw,60px);color:#191919}
 .imagePair,.imagePair:nth-of-type(even){padding-left:16px;padding-right:16px}
}

/* Shared editorial typography, with a licensed Teodor slot and system fallback. */
:root{--editorial-font:'Teodor','Times New Roman',serif;--editorial-ink:#191919}
.manifesto h2,.manifesto:nth-of-type(even) h2,.galleryIntro h1{font-family:var(--editorial-font);color:var(--editorial-ink);font-weight:400;font-style:normal;font-synthesis:none}
.manifesto .flowCopy:last-child{font-family:var(--editorial-font);font-size:clamp(16px,1.12vw,22px);font-weight:400;color:var(--editorial-ink);line-height:1.52;letter-spacing:-.025em;max-width:750px;gap:200px}
.galleryIntro h1{font-size:clamp(52px,5.6vw,96px);letter-spacing:-.043em;line-height:1.04}
.galleryIntro{padding:32px 20px 48px}.galleryIntro h1{margin:26px 0}.galleryIntro p{color:#555}
@media(max-width:700px){.manifesto .flowCopy:last-child{font-size:16px;line-height:1.5;gap:26px;max-width:100%}.galleryIntro h1{font-size:clamp(34px,9vw,60px)}.galleryIntro{padding:28px 12px 36px}}

/* Reference headline metrics; exact outlines require the licensed Teodor font. */
.manifesto h2,.manifesto:nth-of-type(even) h2,.galleryIntro h1{font-family:var(--editorial-font);font-size:75px;font-weight:300;font-style:normal;line-height:1.18;letter-spacing:-.01em;color:#000;max-width:1200px;margin-left:auto;margin-right:auto;text-wrap:balance}
.galleryIntro{padding:38px 20px 42px}.galleryIntro h1{margin-top:20px;margin-bottom:48px}
.galleryIntro p:not(.eyebrow){font-size:14px;line-height:1.2;letter-spacing:-.01em;font-weight:500;color:#000;margin-bottom:26px}
@media(max-width:640px){.manifesto h2,.manifesto:nth-of-type(even) h2,.galleryIntro h1{font-size:clamp(40px,13.2vw,62px);line-height:1.18;letter-spacing:-.01em;overflow-wrap:normal}.galleryIntro p:not(.eyebrow){font-size:12px}.galleryIntro{padding:26px 10px 30px}.galleryIntro h1{margin-bottom:28px}.hero{min-height:650px}.manifesto{padding:22px 16px}.flowCopy{padding-bottom:6px}}
@media(max-width:700px){body.gallery-view #mascot{top:auto;bottom:94px;left:88%;width:70px;height:88px;transform:translate(-50%,0)}}

/* Floating centered navigation; no page-wide surface. */
header{left:50%;top:10px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);height:auto;padding:0;gap:10px;background:none;backdrop-filter:none;border:0;justify-content:center;mix-blend-mode:difference;color:#fff}
header .brand{font-size:24px;font-weight:600;letter-spacing:-1.4px;white-space:nowrap}header .brand small{display:none}header nav{gap:4px}header nav button{position:relative;border-radius:4px;min-height:32px;min-width:30px;padding:5px 8px;color:#fff;background:#ffffff12;line-height:1;display:flex;align-items:center;gap:4px;font-size:13px}header nav button[aria-pressed=true]{background:#ffffff24;color:#fff;font-family:var(--editorial-font);font-size:17px}header sup{font:11px -apple-system,sans-serif;align-self:flex-start;margin:0}.navLabel{display:none}header button[aria-pressed=true] .navLabel{display:inline}header a:focus-visible,header button:focus-visible{outline:2px solid #fff;outline-offset:3px}
#gallery{padding-left:8px;padding-right:8px}#galleryGrid{gap:40px 8px}.galleryTile{transform:none!important;transition:none;will-change:auto}.galleryTile img{aspect-ratio:3/4;height:auto;max-height:none}.galleryTile .caption{font-size:11px;padding:12px 6px 0}.galleryTile .caption>span:last-child{display:none}.galleryTile:hover img{filter:none}
#galleryLens{position:fixed;inset:0;z-index:4;pointer-events:none;width:100%;height:100%}#galleryLens[hidden]{display:none}.galleryTile img.lensSource{opacity:0}
#viewCursor{position:fixed;top:0;left:0;z-index:110;pointer-events:none;color:white;font:500 13px/1.2 -apple-system,BlinkMacSystemFont,Arial,sans-serif;letter-spacing:-.01em;mix-blend-mode:difference;opacity:0;transition:opacity .25s;will-change:transform}#viewCursor span{display:inline-block}#viewCursor.visible{opacity:1}.image-hover #cursorHalo{opacity:0!important}
@media(max-width:700px){header{top:8px;gap:8px}header .brand{font-size:24px}header nav{gap:4px}header nav button{min-height:44px;min-width:36px}header nav button[aria-pressed=true]{font-size:16px}#gallery{padding-left:8px;padding-right:8px}#galleryGrid{gap:28px 8px}.galleryTile img{height:auto;aspect-ratio:3/4}#viewCursor{display:none}}
@media(prefers-reduced-motion:reduce){#viewCursor{transition:none}}

/* Quiet stacked signature, sliding tabs and a tighter gallery introduction. */
header{gap:12px;align-items:center;view-transition-name:site-navigation}
header .brand{display:flex;flex-direction:column;align-items:center;font-size:23px;line-height:.92;letter-spacing:-1.3px;gap:5px}
header .brand small{display:block;margin:0;font:400 6px/1 -apple-system,BlinkMacSystemFont,Arial,sans-serif;letter-spacing:2.1px;padding-left:2px}
header nav{gap:3px}
header nav button,header nav button[aria-pressed=true]{font:400 12px/1.2 -apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;letter-spacing:-.02em;padding:7px 8px;gap:0;min-height:30px;min-width:28px;transition:background .5s ease}
header nav button{background:#ffffff0d}header nav button[aria-pressed=true]{background:#ffffff1a}
header .navLabel,header button[aria-pressed=true] .navLabel{display:block;overflow:hidden;white-space:nowrap;max-width:0;opacity:0;transform:translateX(-6px);transition:max-width .6s cubic-bezier(.22,1,.36,1),opacity .35s ease,transform .6s cubic-bezier(.22,1,.36,1),margin .6s ease}
header button[aria-pressed=true] .navLabel{max-width:78px;opacity:1;transform:translateX(0);margin-right:5px}
header sup{font-size:9px;line-height:1}
.galleryIntro{padding:20px 16px 18px}.galleryIntro h1{margin-top:16px;margin-bottom:22px}.galleryIntro p:not(.eyebrow){margin-top:0;margin-bottom:12px;font-weight:400}.galleryIntro .eyebrow{margin-top:8px;margin-bottom:14px}#galleryCount{font-size:10px}
#mascot{view-transition-name:companion}.floatingCta{view-transition-name:project-cta}
#galleryLens{contain:strict}.galleryTile img.lensSource{opacity:1}
::view-transition-group(root){animation:none}
::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation-duration:720ms;animation-timing-function:cubic-bezier(.65,0,.2,1);animation-fill-mode:both}
::view-transition-old(root){animation-name:page-out-left}
::view-transition-new(root){animation-name:page-in-right}
html[data-swipe=back]::view-transition-old(root){animation-name:page-out-right}
html[data-swipe=back]::view-transition-new(root){animation-name:page-in-left}
::view-transition-group(site-navigation),::view-transition-group(project-cta),::view-transition-group(companion){animation-duration:720ms;animation-timing-function:cubic-bezier(.22,1,.36,1)}
@keyframes page-out-left{to{transform:translateX(-100%)}}
@keyframes page-in-right{from{transform:translateX(100%)}}
@keyframes page-out-right{to{transform:translateX(100%)}}
@keyframes page-in-left{from{transform:translateX(-100%)}}
@media(max-width:700px){header{gap:10px}header .brand{font-size:23px}header nav button,header nav button[aria-pressed=true]{font-size:11px;min-height:44px;min-width:34px}.galleryIntro{padding:15px 8px 16px}.galleryIntro h1{margin-bottom:18px}.galleryIntro p:not(.eyebrow){margin-bottom:10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
::view-transition-group(site-navigation){mix-blend-mode:difference}
::view-transition-old(site-navigation),::view-transition-new(site-navigation){mix-blend-mode:normal}
::view-transition-old(site-navigation){display:none}
::view-transition-new(site-navigation){animation:none}
/* Native mobile scrolling, safe areas and an explicit opt-in for device tilt. */
html{scrollbar-gutter:stable}body{overflow-x:clip}img{max-width:100%}
.tiltControl{display:none}#enableTilt{min-height:44px;padding:9px 15px;border:1px solid #19191930;border-radius:24px;font-size:13px;line-height:1.3}#enableTilt[aria-pressed=true]{background:#191919;color:white}#enableTilt:disabled{opacity:.55}#tiltStatus{font-size:12px;line-height:1.45;color:#666;max-width:280px;margin:8px 0 0}
@media(pointer:coarse),(max-width:700px){
 html{scroll-behavior:auto;scrollbar-gutter:auto}body{touch-action:pan-y pinch-zoom}
 .tiltControl{display:block;margin-top:15px}
 .hero{padding:36px 22px 145px;min-height:690px;min-height:max(690px,calc(100svh - 72px))}
 .hero h1{font-size:clamp(39px,10.5vw,70px);line-height:1.06;letter-spacing:-.055em;margin-top:28px}
 .promise{font-size:16px;line-height:1.55}.heroCta{font-size:13px;max-width:100%;text-align:center}
 header{top:max(8px,env(safe-area-inset-top));max-width:calc(100% - 28px)}header a{min-height:44px;justify-content:center}header nav button{min-height:44px;min-width:44px}
 #mascot{touch-action:pan-y pinch-zoom;left:76%;top:550px;width:120px;height:145px}
 body.in-cloud #mascot{left:86%;top:145px;width:84px;height:102px}
 body.gallery-view #mascot{left:auto;right:10px;top:auto;bottom:calc(84px + env(safe-area-inset-bottom));width:65px;height:80px;transform:none}
 .tile .surface{box-shadow:none;transition:none}.tile:hover .surface{transform:none}
 .manifesto .flowCopy:last-child{gap:22px;font-size:16px}
 .floatingCta{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));min-height:50px;padding:13px 16px;box-shadow:0 4px 15px #0001;gap:10px}
 .floatingCta span{font-size:10px}.floatingCta{font-size:13px}
 .founder{padding-bottom:calc(115px + env(safe-area-inset-bottom))}
 dialog{height:100dvh;padding:calc(65px + env(safe-area-inset-top)) 12px calc(108px + env(safe-area-inset-bottom));touch-action:pan-y pinch-zoom}
 #close{top:calc(12px + env(safe-area-inset-top));right:12px}#imagePrev,#imageNext{bottom:calc(77px + env(safe-area-inset-bottom))}
 .imageInfo{bottom:calc(15px + env(safe-area-inset-bottom));font-size:10px;gap:10px}.imageInfo .cta{min-height:44px}
 #cursorHalo,#viewCursor{display:none!important}
}
@media(max-width:350px){.floatingCta span{display:none}.hero{padding-left:18px;padding-right:18px}.hero h1{font-size:38px}.galleryIntro h1{font-size:40px}.manifesto h2,.manifesto:nth-of-type(even) h2{font-size:37px}.manifesto .flowCopy:last-child{grid-template-columns:1fr;gap:10px}.flowHalf.right{padding-top:0}}
@media(max-height:500px) and (orientation:landscape){#mascot,body.in-cloud #mascot{width:72px;height:86px;top:125px;left:90%}.floatingCta{left:auto;right:14px;width:auto}.hero{min-height:650px}.tiltControl{max-width:300px}}
/* Centered introduction and restrained editorial ink. */
.hero{text-align:center;display:flex;flex-direction:column;align-items:center}.hero .promise{margin-left:auto;margin-right:auto}.hero .signature{position:static;margin:100px 0 24px;text-align:center}.hero .scrollHint{left:50%;transform:translateX(-50%);bottom:30px}.hero h1{max-width:100%;margin-left:auto;margin-right:auto}
:root{--editorial-ink:#202020}
.manifesto h2,.manifesto:nth-of-type(even) h2,.galleryIntro h1{color:var(--editorial-ink);font-weight:300;line-height:1.18;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
#tiltPrompt{position:fixed;inset:0;margin:auto;width:min(340px,calc(100vw - 32px));height:auto;max-height:calc(100dvh - 40px);padding:25px;border-radius:22px;background:#fafafa;color:#202020;box-shadow:0 16px 60px #0003;text-align:center;z-index:150}
#tiltPrompt[open]{display:block}#tiltPrompt::backdrop{background:#0004;backdrop-filter:blur(5px)}#tiltPrompt h2{font:500 23px/1.2 -apple-system,sans-serif;margin:0 0 12px}#tiltPrompt p{font:400 14px/1.5 -apple-system,sans-serif;max-width:none;color:#555}#tiltPrompt button{display:block;width:100%;min-height:44px;margin-top:10px;border-radius:24px;font-size:14px}#tiltPrompt #enableTilt{background:#191919;color:white}#tiltStatus:empty{display:none}#motionSettings{display:none}
@media(max-width:700px),(pointer:coarse){#motionSettings{display:block;position:fixed;right:8px;top:64px;z-index:31;min-height:44px;padding:8px;font-size:10px;color:#666} .hero{padding-bottom:60px}.hero .signature{margin-top:180px}.hero h1{font-size:clamp(37px,10.5vw,70px)}.manifesto .flowCopy:last-child{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:74px;font-size:16px;max-width:100%}.flowHalf.left{text-align:right}.flowHalf.right{text-align:left;padding-top:30px}.flowLine{display:block;transform:translate3d(var(--unused,0px),0,0);filter:none;will-change:transform}.flowHalf{overflow-wrap:normal}.manifesto{padding:32px 20px}.manifesto h2,.manifesto:nth-of-type(even) h2{font-size:clamp(40px,13.2vw,62px)}body.in-manifesto:not(.gallery-view) #mascot{left:50%;right:auto;top:var(--chapter-head-y,50%);width:90px;height:110px;transform:translate(-50%,-50%)} }
#tiltPrompt{height:fit-content;max-height:calc(100dvh - 40px);overflow:auto}
.hero h1{font-family:var(--editorial-font);font-weight:300;font-size:75px;line-height:1.18;letter-spacing:-.01em;color:var(--editorial-ink);text-wrap:balance}.hero h1 span{color:inherit}
@media(max-width:700px){.hero h1{font-size:clamp(40px,13.2vw,62px)}body.in-manifesto:not(.gallery-view) #mascot{width:112px;height:136px}}

/* Verified reference face, loaded locally rather than a system substitution. */
@font-face{font-family:Teodor;font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/Teodor-Light.woff') format('woff')}
:root{--editorial-font:Teodor,'Times New Roman',serif;--editorial-ink:#000000;--ui-font:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif}
.hero h1,.manifesto h2,.manifesto:nth-of-type(even) h2,.galleryIntro h1{font-family:var(--editorial-font);font-weight:300;line-height:1.18;letter-spacing:-.01em;color:var(--editorial-ink)}
.hero h1 span{color:#858585}
.hero .promise,.hero .heroCta,.hero .signature{font-family:var(--ui-font);font-weight:400;letter-spacing:-.025em}
.hero .promise{font-size:18px;line-height:1.5;max-width:650px}
.hero .heroCta{font-size:16px;margin-top:12px}
.hero .signature{margin:28px 0 0;font-size:19px;line-height:1.3}
.hero{min-height:0;padding-bottom:80px;gap:0}
body:not(.gallery-view):not(.at-services) #mascot{left:50%;right:auto;top:52%;bottom:auto;width:220px;height:260px;transform:translate(-50%,-50%);transition:opacity .14s ease,width .16s ease,height .16s ease;z-index:8}
#mascot canvas{transition:opacity .14s ease,filter .14s ease,transform .14s ease}
body.mascot-over-image:not(.gallery-view) #mascot{pointer-events:none}
body.mascot-over-image:not(.gallery-view) #mascot canvas{opacity:0;filter:blur(3px);transform:scale(.92)}
body:not(.mascot-over-image) #mascot canvas{opacity:1;filter:blur(0);transform:scale(1)}
@media(max-width:700px),(pointer:coarse){
 .hero{min-height:0;padding:32px 20px 62px}.hero h1{font-size:clamp(40px,13.2vw,62px);margin-top:26px;margin-bottom:24px}
 .hero .promise{font-size:16px;line-height:1.5;max-width:350px}.hero .heroCta{font-size:15px;margin-top:10px}
 .hero .signature{margin-top:24px;font-size:16px;line-height:1.3}
 body:not(.gallery-view):not(.at-services) #mascot{left:50%;top:52%;width:120px;height:145px;transform:translate(-50%,-50%);transition:opacity .14s ease;z-index:8}
}
@media(prefers-reduced-motion:reduce){#mascot canvas{transition:none}}

body:not(.gallery-view):not(.at-services) #mascot{top:var(--travel-y,36%)}
.hero h1,.manifesto h2,.manifesto:nth-of-type(even) h2,.galleryIntro h1{-webkit-text-stroke:.015em currentColor}
@media(max-width:700px){.hero h1,.manifesto h2,.manifesto:nth-of-type(even) h2,.galleryIntro h1{font-size:clamp(52px,16vw,62px)}}
body:not(.mascot-over-image) #mascot canvas{animation:companion-return .18s ease-out}
@keyframes companion-return{0%{filter:blur(2px);transform:translateX(-2px) scale(.96)}45%{filter:blur(.5px);transform:translateX(1px)}100%{filter:none;transform:none}}
@media(prefers-reduced-motion:reduce){body:not(.mascot-over-image) #mascot canvas{animation:none}}

/* Readable body copy, distinct from the unchanged editorial headings. */
@font-face{font-family:Teodor;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/Teodor-Regular.woff') format('woff')}
.hero h1{font-family:var(--ui-font);font-weight:500;-webkit-text-stroke:0;letter-spacing:-.055em;line-height:1.08;font-size:clamp(52px,6.5vw,88px);max-width:1000px}
.hero h1 span{color:#555}
.manifesto .flowCopy:last-child{font-family:Teodor,'Times New Roman',serif;font-weight:400;font-size:19px;line-height:1.55;letter-spacing:0;-webkit-text-stroke:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:180px;max-width:850px;text-wrap:pretty}
.flowHalf{min-width:0}.flowHalf.left,.flowHalf.right{text-align:start}.flowLine{white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none}
.languageControl{position:fixed;top:max(12px,env(safe-area-inset-top));right:18px;z-index:45;display:flex;align-items:center;gap:4px;background:#f4f4f4e8;color:#222;border-radius:8px;padding:0 8px;backdrop-filter:blur(12px);font:400 12px/1 var(--ui-font)}
.languageControl select{font:inherit;color:inherit;background:transparent;border:0;min-height:44px;max-width:82px;cursor:pointer}.languageControl:focus-within{outline:2px solid #555;outline-offset:2px}
@media(max-width:700px){
 .hero h1{font-size:clamp(38px,11.4vw,62px);line-height:1.08;letter-spacing:-.05em}
 .manifesto .flowCopy:last-child{font-size:15px;line-height:1.5;gap:72px;margin-top:24px;text-wrap:pretty}
 .flowHalf.right{padding-top:65px}.manifesto{padding-left:22px;padding-right:22px}
 .languageControl{top:66px;left:12px;right:auto;font-size:11px}
}
@media(max-width:360px){.manifesto .flowCopy:last-child{gap:54px;font-size:14px}.manifesto{padding-left:18px;padding-right:18px}}
html[lang=ar] .flowHalf,html[lang=ar] .promise,html[lang=ar] .founder p,html[lang=ar] .serviceList p{direction:rtl}
html[lang=ar] .hero h1,html[lang=hi] .hero h1,html[lang=zh] .hero h1{letter-spacing:0;font-size:clamp(36px,6vw,76px)}
html[lang=ar] .manifesto h2,html[lang=hi] .manifesto h2,html[lang=zh] .manifesto h2{font-family:var(--ui-font);-webkit-text-stroke:0;font-size:clamp(32px,8vw,70px)}

/* One shared 3D scene: the loading reveal becomes the interactive companion. */
body.is-loading{overflow:hidden;height:100dvh}
body.is-loading>header,body.is-loading>.languageControl,body.is-loading>main,body.is-loading>.floatingCta,body.is-loading>#motionSettings{visibility:hidden}
#siteLoader{position:fixed;inset:0;z-index:1000;background:#fafafa;color:#191919;overflow:hidden;transition:opacity .65s cubic-bezier(.22,1,.36,1);touch-action:none}
.loadingBrand{position:absolute;top:calc(28px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);font:600 32px/.9 var(--ui-font);letter-spacing:-2px;text-align:center}
.loadingBrand small{display:block;font:400 7px/1 var(--ui-font);letter-spacing:3px;margin-top:10px;padding-left:3px}
.loadingReadout{position:absolute;top:calc(50% + 124px);left:16px;right:16px;text-align:center;font-family:var(--ui-font)}
#loadingProgress{font-size:38px;font-weight:400;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;line-height:1.15}.loadingPercent{font-size:15px;margin-left:4px;letter-spacing:0;color:#666;vertical-align:top;padding-top:5px;display:inline-block}
.loadingReadout p{font-size:11px;letter-spacing:.04em;color:#777;margin:16px 0 0}.loadingReadout button{font-size:12px;text-decoration:underline;min-height:44px;margin-top:16px}
body.is-loading #mascot{visibility:visible!important;z-index:1001!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;width:250px!important;height:300px!important;transform:translate(-50%,-65%)!important;transition:none!important;pointer-events:none}
body.is-loading #mascot canvas{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}
body.is-loading #cursorHalo,body.is-loading #viewCursor{display:none!important}
body.loader-exiting #siteLoader{opacity:0;pointer-events:none}
body.loader-exiting #mascot{z-index:1001!important;transition:top .65s cubic-bezier(.22,1,.36,1),left .65s cubic-bezier(.22,1,.36,1),width .65s cubic-bezier(.22,1,.36,1),height .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)!important}
@media(max-width:700px){body.is-loading #mascot{width:220px!important;height:264px!important}.loadingReadout{top:calc(50% + 110px)}#loadingProgress{font-size:32px}.loadingBrand{top:calc(24px + env(safe-area-inset-top))}}
@media(max-height:450px){body.is-loading #mascot{width:150px!important;height:180px!important}.loadingReadout{top:calc(50% + 64px)}.loadingReadout p{margin-top:8px}.loadingBrand{top:14px;font-size:24px}}
@media(prefers-reduced-motion:reduce){#siteLoader,body.loader-exiting #mascot{transition:none!important}}

/* Secondary offer, following the landing image library. */
#ads-section{padding:70px 9vw;background:#fff;position:relative;z-index:3;border-bottom:1px solid #19191915}
#ads-section h2{font-family:inherit;font-size:clamp(40px,5.5vw,80px);font-weight:500;letter-spacing:-.055em;line-height:1.06;margin:0 0 24px;max-width:1000px;text-wrap:balance}
#ads-section .adsIntro{font-size:clamp(17px,1.5vw,22px);line-height:1.5;max-width:740px;color:#555;margin:0 0 44px}
.adsSteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0 0 40px;max-width:1100px}.adsSteps article{display:block;padding:20px 0 0;border-top:1px solid #19191925;padding-top:20px}.adsNumber{font-size:13px;color:#777}.adsSteps h3{font-size:23px;font-weight:500;letter-spacing:-.03em;margin:14px 0 10px}.adsSteps p{font-size:16px;line-height:1.5;color:#555;margin:0;max-width:310px}
html[lang="ar"] #ads-section{direction:rtl}html[lang="ar"] #ads-section h2{letter-spacing:normal}
@media(max-width:700px){#ads-section{padding:48px 24px}#ads-section h2{font-size:40px}#ads-section .adsIntro{margin-bottom:28px}.adsSteps{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.adsSteps article{padding-top:16px}.adsSteps h3{margin-top:8px}.adsSteps p{max-width:none}#ads-section .cta{max-width:100%;text-align:center}}
/* Immediate content, product proof and a native-scrolling image library. */
#siteLoader{display:none!important}#motionSettings{display:none}
.campaignProof{max-width:1080px;margin:20px auto 64px;padding:0 24px;text-align:center}
.proofHeading h2{font:300 clamp(36px,5vw,72px)/1.12 Teodor,serif;letter-spacing:-.035em;margin:0 0 18px}
.proofHeading p,.proofHint,.libraryHint{font-size:16px;line-height:1.5;color:#555}
.comparison{position:relative;aspect-ratio:7/8;max-width:720px;margin:28px auto 0;overflow:hidden;background:#e9e7e2;isolation:isolate}
.comparison img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.productBefore{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}
.compareLabel{position:absolute;top:16px;padding:7px 10px;font-size:13px;background:#fff;color:#202020;border-radius:3px;pointer-events:none}
.beforeLabel{left:16px}.afterLabel{right:16px}
.compareHandle{position:absolute;left:var(--reveal);top:0;bottom:0;width:2px;background:white;pointer-events:none;color:transparent}
.compareHandle:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;background:white;color:#222;border-radius:50%;box-shadow:0 2px 16px #0002;font:22px Arial}
#campaignReveal{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;touch-action:pan-y;margin:0}
.comparison:focus-within{outline:2px solid #555;outline-offset:5px}
.surface{background:var(--image-color,#e6e3de);background-image:var(--image-preview);background-size:cover;background-position:center}
.surface img{opacity:0;transition:opacity .32s ease}.surface.imageReady img{opacity:1}
.galleryFilters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:16px 16px 0}
.galleryFilters button{border:0;border-radius:4px;padding:10px 15px;background:#eee;color:#555;font:inherit;font-size:14px;cursor:pointer}
.galleryFilters button[aria-pressed=true]{background:#222;color:white}.libraryHint{text-align:center;margin:12px 20px 24px}
#galleryGrid{display:flex!important;align-items:center;gap:20px;overflow-x:auto;overflow-y:hidden;padding:20px 5vw 42px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;touch-action:pan-x pan-y;min-height:50vh;cursor:grab}
#galleryGrid.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
#galleryGrid .galleryTile{flex:0 0 clamp(230px,29vw,430px);width:clamp(230px,29vw,430px);scroll-snap-align:center;margin:0!important;transform:none!important;content-visibility:auto;contain-intrinsic-size:320px 470px}
#galleryGrid .galleryTile:nth-child(3n+2){padding-top:42px}#galleryGrid .galleryTile .surface{aspect-ratio:3/4;transition:transform .6s cubic-bezier(.22,1,.36,1);transform-origin:left center}
@media(hover:hover){#galleryGrid .galleryTile:hover .surface{transform:perspective(1000px) rotateY(-5deg)}}
.sitePrivacyFooter{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;padding:36px 20px 110px;font-size:14px}
@media(max-width:700px){.campaignProof{padding:0 12px;margin-top:0;margin-bottom:36px}.comparison{margin-top:22px}.proofHeading h2{font-size:38px}.compareLabel{font-size:12px;top:10px}.beforeLabel{left:10px}.afterLabel{right:10px}#galleryGrid{gap:14px;padding-left:8vw;padding-right:8vw}#galleryGrid .galleryTile{flex-basis:74vw;width:74vw}.sitePrivacyFooter{gap:14px}}
@media(prefers-reduced-motion:reduce){.surface img,#galleryGrid .surface{transition:none!important}}
/* The product-to-campaign demonstration lives in the first viewport. */
.hero.heroSplit{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);align-items:center;gap:5vw;width:100%;max-width:1560px;margin:0 auto;padding:40px 6vw 64px;min-height:min(740px,calc(100svh - 84px));text-align:left}
.heroCopy{min-width:0;text-align:left}.heroSplit .eyebrow{font-size:12px;line-height:1.6;margin:0 0 26px;max-width:550px;letter-spacing:1.1px}
.heroSplit h1{font-size:clamp(48px,5.15vw,78px);line-height:1.06;margin:0 0 25px;max-width:740px;text-align:left;text-wrap:balance}
.heroSplit .promise{font-size:17px;line-height:1.5;margin:0 0 22px;max-width:520px;text-align:left}.heroSplit .promise br{display:none}
.heroSplit .heroCta{margin:0;min-height:48px;font-size:16px;padding:14px 24px}
.heroSplit .signature{position:static;margin:22px 0 0;font-size:16px;line-height:1.3;text-align:left}
.heroSplit .campaignProof{width:100%;max-width:390px;padding:0;margin:0 auto;transform:rotate(4deg);text-align:center;min-width:0}
.heroSplit .comparison{width:100%;aspect-ratio:4/5;margin:0;box-shadow:0 18px 45px #00000012;border-radius:6px}
.heroSplit .proofHint{margin:14px 0 0;font-size:14px}.heroSplit .compareLabel{font-size:12px;padding:6px 8px;top:12px}.heroSplit .beforeLabel{left:10px}.heroSplit .afterLabel{right:10px}
body.in-hero:not(.gallery-view):not(.at-services) #mascot{left:55%;top:76%;width:110px;height:130px}
@media(max-width:1000px) and (min-width:701px){.hero.heroSplit{gap:4vw;padding:28px 5vw 48px;grid-template-columns:1.15fr .85fr}.heroSplit h1{font-size:48px}.heroSplit .campaignProof{max-width:300px}.heroSplit .promise{font-size:16px}}
@media(max-width:700px){
 .hero.heroSplit{display:flex;flex-direction:column;align-items:stretch;gap:22px;min-height:0;padding:12px 24px 28px;margin:0 auto;max-width:540px}
 .heroSplit .eyebrow{font-size:12px;letter-spacing:.4px;line-height:1.4;margin:0 0 14px}
 .heroSplit h1{font-size:clamp(32px,8.9vw,46px);line-height:1.04;letter-spacing:-.045em;margin:0 0 14px;max-width:100%;text-wrap:pretty}
 .heroSplit .promise{font-size:16px;line-height:1.35;margin:0 0 14px;max-width:100%}
 .heroSplit .heroCta{font-size:14px;min-height:44px;padding:12px 18px;margin:0}
 .heroSplit .signature{font-size:14px;margin:12px 0 0;line-height:1.3}.heroSplit .signature br{display:none}.heroSplit .signature br:after{content:' '}
 .heroSplit .campaignProof{max-width:218px;width:64vw;margin:2px auto 0;transform:rotate(3deg)}
 .heroSplit .proofHint{font-size:14px;margin:10px 0 0}.heroSplit .compareHandle:after{width:44px;height:44px}
 body.in-hero:not(.gallery-view):not(.at-services) #mascot{left:10%;top:77%;width:62px;height:76px}
 body.in-hero .floatingCta{opacity:0;pointer-events:none}
}
@media(max-width:700px) and (max-height:740px){.hero.heroSplit{gap:16px;padding-top:6px}.heroSplit .eyebrow{margin-bottom:10px}.heroSplit h1{font-size:32px}.heroSplit .promise{font-size:15px}.heroSplit .campaignProof{max-width:174px}.heroSplit .signature{margin-top:10px}}
@media(max-width:350px){.hero.heroSplit{padding-left:18px;padding-right:18px}.heroSplit h1{font-size:30px}.heroSplit .eyebrow{font-size:12px}.heroSplit .campaignProof{max-width:165px}}
html[lang=ar] .heroCopy,html[lang=ar] .heroSplit h1,html[lang=ar] .heroSplit .promise,html[lang=ar] .heroSplit .signature{text-align:right}
@media(max-width:700px){header{left:18px;transform:none;max-width:calc(100% - 96px);gap:9px}.languageControl{top:max(8px,env(safe-area-inset-top));right:12px;left:auto;font-size:12px}.languageControl select{max-width:58px}.heroSplit .signature br{display:inline}.heroSplit .signature br:after{content:' '}}
@media(max-width:700px){.heroSplit .compareLabel{max-width:calc(50% - 16px);white-space:normal;line-height:1.2;text-align:center;overflow-wrap:normal;padding:5px 6px}}
/* Restore the large, centred companion from the first screen. */
@media(min-width:1001px){.hero.heroSplit{grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);gap:4vw}.heroSplit h1{font-size:clamp(54px,5.8vw,88px)}.heroSplit .promise{font-size:18px;max-width:570px}.heroSplit .signature{font-size:17px}}
body.in-hero:not(.gallery-view):not(.at-services) #mascot{left:50%;top:50%;width:220px;height:260px;transform:translate(-50%,-50%)}
body.in-hero.comparator-overlap #mascot{pointer-events:none}
@media(max-width:700px){body.in-hero:not(.gallery-view):not(.at-services) #mascot{left:calc(100% - 40px);top:190px;width:62px;height:76px}.heroSplit h1{font-size:clamp(34px,9.3vw,48px)}}
@media(max-width:700px) and (max-height:740px){.heroSplit h1{font-size:32px}}
