/* Motion layer: native scrolling, progressive enhancement, reduced-motion safe. */
@view-transition { navigation: auto; }
::view-transition-old(root){animation:exit-page .22s ease both}
::view-transition-new(root){animation:enter-page .45s cubic-bezier(.22,1,.36,1) both}
@keyframes exit-page{to{opacity:0;transform:translateY(-8px)}}
@keyframes enter-page{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
body{background:#ffffff}
.header{position:relative;z-index:6}
.hero{position:relative;isolation:isolate}
.hero:before{content:'';position:absolute;z-index:-1;width:60%;height:540px;top:-25px;left:7%;background:radial-gradient(ellipse,#dce3ff88,transparent 66%);pointer-events:none;filter:blur(30px);animation:ambient-drift 13s ease-in-out infinite alternate}
@keyframes ambient-drift{from{transform:translate(-4%,0) scale(.95)}to{transform:translate(17%,7%) scale(1.12)}}
.hero h1 .blue{background:linear-gradient(115deg,#284aff 15%,#1632c9 50%,#284aff 85%);background-size:220% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:ink-shift 9s ease-in-out infinite alternate}
@keyframes ink-shift{to{background-position:100% 50%}}
.button{border-radius:999px;box-shadow:0 8px 24px #284aff13;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,background .3s}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #284aff28}
.button span,.link span,.row-arrow{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.button:hover span,.link:hover span,.service-row:hover .row-arrow{transform:translate(3px,-3px)}
.hero-proof{perspective:1000px;gap:17px}
.hero-film{border-radius:26px 70px 26px 26px;box-shadow:0 20px 40px #1f1f1f12;transition:border-radius .6s,transform .6s}
.hero-film:hover{border-radius:40px;transform:translateY(-4px)}
.hero-film img{transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.hero-film:hover img{transform:scale(1.055)}
.hero-ventures{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hero-product{border-radius:25px;min-height:185px;padding:23px 20px;display:block;isolation:isolate;transition:transform .5s,box-shadow .5s}
.hero-product:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 100% 100%,#bdc8ff,transparent 60%);opacity:.8;transition:transform .7s}
.hero-product.hotel{background:#f2f4ff}.hero-product.hotel:before{background:radial-gradient(circle at 100% 100%,#bdc8ff,transparent 60%)}
.hero-product:hover{transform:translateY(-5px);box-shadow:0 16px 35px #2f2f2f10}.hero-product:hover:before{transform:scale(1.4)}
.hero-product strong{font-size:27px;position:relative;z-index:1}.hero-product div>span{font-size:8px}.hero-product p{max-width:180px;position:relative;z-index:1;font-size:11px}.hero-product .product-glyph{position:absolute;bottom:-10px;right:4px;font-size:100px;opacity:.09;line-height:1;pointer-events:none}.hero-product.hotel .product-glyph{color:#284aff}
.service-row{border-radius:18px;position:relative;isolation:isolate;transition:padding .4s,color .4s}
.service-row:before{content:'';position:absolute;inset:5px -14px;background:linear-gradient(100deg,#f2f2f2,transparent);border-radius:18px;opacity:0;z-index:-1;transform:scaleX(.97);transform-origin:left;transition:opacity .4s,transform .4s}
.service-row:hover:before{opacity:1;transform:scaleX(1)}
.work-section{background:linear-gradient(180deg,#f2f4ff 0%,#f2f4ff 75%,#ffffff 100%);border-radius:64px 64px 0 0}
.project-image{border-radius:25px;transition:border-radius .6s,box-shadow .6s}.project-card:hover .project-image{border-radius:42px;box-shadow:0 20px 40px #1d1d1d18}.project-image img{transition:transform 1s cubic-bezier(.22,1,.36,1)}.project-card:hover img{transform:scale(1.06)}
.round-arrow{transition:transform .4s,background .4s,color .4s}.project-card:hover .round-arrow{transform:rotate(45deg);background:#284aff;color:white}
.product-grid{grid-template-columns:repeat(2,1fr);gap:24px}
.product-card{border-radius:30px;min-height:320px;padding:30px;position:relative;isolation:isolate;overflow:hidden;transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s}
.product-card:before{content:'';position:absolute;z-index:-1;width:290px;height:290px;border:1px solid #ffffff80;border-radius:50%;top:-150px;right:-60px;box-shadow:0 0 0 35px #ffffff18,0 0 0 70px #ffffff10;transition:transform 1s cubic-bezier(.22,1,.36,1)}
.product-card:hover:before{transform:translate(-30px,35px) scale(1.15)}.product-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px #29292913}.product-wordmark{font-size:45px}.product-bottom{max-width:440px}.product-bottom p{font-size:13px}
.approach{border-radius:40px;background:linear-gradient(130deg,#f2f4ff,#ffffff)}
.closing{border-radius:45px 100px 45px 45px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#284aff,#284aff)}
.closing:after{content:'';z-index:-1;position:absolute;width:500px;height:500px;right:-130px;top:-250px;border:1px solid #ffffff24;border-radius:50%;box-shadow:0 0 0 65px #ffffff08,0 0 0 130px #ffffff06;animation:cta-orbit 15s ease-in-out infinite alternate}
@keyframes cta-orbit{to{transform:translate(-70px,45px)}}
.closing .button{position:relative}.footer{border-radius:45px 45px 0 0}.film-player,.project-full,.product-display,form,.callout,.about-grid>img{border-radius:28px}.status{border-radius:30px}input,textarea,select{border-radius:10px}.mobile-contact{border-radius:30px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.product-card.reveal.is-visible:hover{transform:translateY(-7px)}
.motion-pause{position:fixed;z-index:7;bottom:18px;right:20px;border:1px solid #d7d7d7;background:#ffffffed;color:#515151;border-radius:50px;padding:8px 13px;font-size:10px;backdrop-filter:blur(12px)}
body.motion-off *,body.motion-off *:before,body.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.motion-off .reveal{opacity:1;transform:none}
@media(max-width:760px){.hero-proof{grid-template-columns:1fr}.hero-film{height:290px;border-radius:25px 55px 25px 25px}.hero-ventures{gap:12px}.hero-product{min-height:185px;padding:20px 15px}.hero-product strong{font-size:25px;margin-top:10px}.hero-product p{font-size:11px}.hero-product strong span{margin-left:10px}.product-grid{grid-template-columns:1fr}.product-card{padding:25px}.work-section{border-radius:35px 35px 0 0}.approach{border-radius:28px}.closing{border-radius:30px 65px 30px 30px}.closing:after{width:330px;height:330px}.footer{border-radius:30px 30px 0 0}.project-image{border-radius:18px}.motion-pause{bottom:73px;right:18px;font-size:9px;padding:6px 10px}.hero:before{width:100%;left:0;filter:blur(20px)}form{border-radius:23px}}
@media(min-width:761px) and (max-width:1050px){.hero-grid{grid-template-columns:1fr}.hero h1{font-size:76px}.hero-desc{max-width:620px}.hero-proof{display:grid;grid-template-columns:1.25fr 1fr}.hero-film{height:390px}.hero-ventures{grid-template-columns:1fr}.hero-product{min-height:185px}.hero-product strong{font-size:30px}.hero-product p{max-width:230px}.header nav{gap:13px;font-size:12px}.header .button{gap:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}.motion-pause{display:none}}

/* Blue / black / white: neutral shades are used only for reading hierarchy. */
.hero-product.hotel{background:#000;color:#fff}
.hero-product.hotel p{color:#ffffffbf}
.hero-product.hotel:before{background:radial-gradient(circle at 100% 100%,#284aff66,transparent 70%)}
.hero-product.hotel .product-glyph{color:#fff}
.product-card:nth-child(even){background:#000;color:#fff}
.product-card:nth-child(even) p{color:#ffffffbf}
.product-card:nth-child(even) .status{border-color:#ffffff66}
.product-card:nth-child(even):before{border-color:#284aff99;box-shadow:0 0 0 35px #284aff14,0 0 0 70px #284aff0a}
.product-card:nth-child(odd):before{border-color:#284aff30;box-shadow:0 0 0 35px #284aff08,0 0 0 70px #284aff04}
.motion-pause{background:#ffffffed;color:#000;border-color:#00000026}
#form-result.error{border-left:3px solid #000}
