/* Progressive motion and portfolio refinement. */
.hero{isolation:isolate;min-height:880px;height:auto;padding-top:165px;padding-bottom:32px;background:radial-gradient(ellipse at 90% 40%,#11284b66,transparent 58%),#060914}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#060914ee,#06091480 48%,transparent),linear-gradient(0deg,#060914,transparent 25%);pointer-events:none}
#signal{z-index:-2;opacity:1;pointer-events:none}.hero-glow{z-index:-3}
.hero h1{font-size:clamp(3rem,6.1vw,6rem);line-height:1.13;letter-spacing:-.045em}
.hero h1 span{color:#9ab9e8;background:linear-gradient(110deg,#f2f8ff,#7dafed 50%,#71e5e1);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-proof{margin-top:70px;gap:60px}.hero-proof strong{font-size:18px}.hero-proof span{font-size:13px}
.hero-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;margin-top:40px;border-top:1px solid #ffffff14;padding-top:22px;gap:20px}
.pointer-hint{font-size:12px;letter-spacing:.14em;color:#8295b2}.motion-toggle{border:1px solid #33435d;border-radius:20px;background:#0a1225;color:#c0cce0;padding:8px 16px;font:500 14px var(--body)}
.button{border-radius:5px;transition:box-shadow .3s}.button:hover{box-shadow:0 6px 45px #267aff50}.button b{transition:transform .3s}.button:hover b{transform:translate(3px,-3px)}
.statement{gap:40px}.statement>div{grid-template-columns:1.4fr 1fr;gap:50px}.statement h2{font-size:clamp(32px,3vw,48px)}
.services{gap:16px}.service-card{position:relative;isolation:isolate;border:1px solid #ffffff16;border-radius:12px;overflow:hidden;background:#0a101c}
.service-card:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(400px circle at var(--px,50%) var(--py,0%),#479aff25,transparent 70%);opacity:0;transition:opacity .3s}
.service-card:hover:before{opacity:1}.service-card:hover{background:#0a101c;border-color:#589cff55}.service-card p{min-height:0}.service-card h3{margin-top:50px}
.case{border-radius:18px;overflow:hidden;min-height:490px;transition:border-color .3s,box-shadow .3s}.case:hover{border-color:#507bad77;box-shadow:0 20px 70px #0004}
.case-copy{padding:42px;min-width:0}.case-copy h3{margin:50px 0 22px;font-size:42px;line-height:1.15}.case-meta{font-size:12px;line-height:1.7;gap:15px;flex-wrap:wrap;color:#8392ac}
.project-tags{list-style:none;padding:0;margin:10px 0 36px;display:flex;gap:8px;flex-wrap:wrap}.project-tags li{font-size:12px;border:1px solid #ffffff1c;border-radius:20px;padding:7px 10px;color:#b0bed3}
.project-link{margin-top:auto;color:#e8f3ff;text-decoration:none;font-size:14px;padding:17px 0;border-top:1px solid #ffffff24;display:flex;justify-content:space-between;align-items:center;gap:12px}
.project-cover{--rx:0deg;--ry:0deg;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:490px;padding:34px 38px;text-decoration:none;color:#e5f2ff;overflow:hidden;perspective:800px;background:#10284a}
.project-cover:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at var(--px,75%) var(--py,30%),#58adff50,transparent 65%),repeating-linear-gradient(0deg,transparent 0 59px,#9cbcff0c 60px),repeating-linear-gradient(90deg,transparent 0 59px,#9cbcff0c 60px)}
.project-cover:after{content:"";position:absolute;width:360px;height:360px;right:-150px;bottom:-170px;border:1px solid #b4e7ff55;border-radius:50%;box-shadow:0 0 0 50px #83bfff0c,0 0 0 100px #83bfff08;z-index:-1}
.cover-top,.cover-foot{display:flex;justify-content:space-between;gap:12px;font-size:14px}.cover-top>span:last-child{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff33;border-radius:50%;font-size:22px}
.cover-body{transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .15s ease-out;padding:35px 0}.cover-label{font-size:12px;letter-spacing:.16em;color:#a4c6ee}
.cover-body strong{display:block;font:600 clamp(32px,3.6vw,56px)/1.16 var(--display);letter-spacing:-.035em;margin:25px 0}.cover-body p{font-size:14px;color:#bbcee8;line-height:1.7;margin:0}
.cover-foot{border-top:1px solid #ffffff25;padding-top:22px;font-size:12px;color:#abc2df}
.calendar-cover{background:#142d2c;color:#dff7df}.calendar-cover:before{background:radial-gradient(ellipse at var(--px,70%) var(--py,30%),#65cc9838,transparent 65%),repeating-linear-gradient(0deg,transparent 0 59px,#a3dca30c 60px),repeating-linear-gradient(90deg,transparent 0 59px,#a3dca30c 60px)}.calendar-cover .cover-label,.calendar-cover .cover-foot,.calendar-cover p{color:#b0cdbd}
.contact{background:radial-gradient(ellipse at 50% 120%,#1b418a40,transparent 70%)}.contact-grid{pointer-events:none}.step p{font-size:16px}
.cursor-ring,.cursor-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:1000;opacity:0;will-change:transform}.cursor-ring{width:38px;height:38px;margin:-19px;border:1px solid #aad6ff99;border-radius:50%;display:grid;place-items:center;background:#80bdff08;transition:width .2s,height .2s,margin .2s,background .2s,opacity .2s}.cursor-ring span{opacity:0;font-size:22px;color:white}.cursor-dot{width:5px;height:5px;margin:-2.5px;border-radius:50%;background:#bdecff}
.cursor-visible .cursor-ring,.cursor-visible .cursor-dot{opacity:1}.cursor-active .cursor-ring{width:60px;height:60px;margin:-30px;background:#3b82f633;border-color:#a4d7ff}.cursor-active .cursor-ring span{opacity:1}.cursor-active .cursor-dot{opacity:0}
@media(hover:hover) and (pointer:fine){html.custom-cursor,html.custom-cursor a,html.custom-cursor button{cursor:none}}
:focus-visible{outline:2px solid #9fe7ff;outline-offset:6px}.skip-link{position:fixed;top:12px;left:20px;z-index:1100;background:#fff;color:#050914;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.reveal{opacity:1;transform:none}.js-reveal .reveal:not(.visible){opacity:0;transform:translateY(24px)}
.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .reveal{opacity:1!important;transform:none!important}.motion-off .cursor-ring,.motion-off .cursor-dot{display:none}.motion-off .cover-body{transform:none}
@media(max-width:1000px){.statement,.statement>div{grid-template-columns:1fr;gap:30px}.hero h1{font-size:clamp(40px,6.5vw,65px)}.case-copy{padding:32px}.case-copy h3{font-size:36px}}
@media(max-width:900px){.hero{padding-top:145px;min-height:800px}.project-cover{min-height:390px}.case-two .project-cover{order:2}.cover-body strong{font-size:44px}.hero-proof{gap:30px}}
@media(max-width:560px){.hero{min-height:0;padding-top:130px}.hero h1{font-size:clamp(32px,8vw,44px);letter-spacing:-.04em}.hero-proof{gap:10px;margin-top:60px}.hero-proof strong{font-size:14px}.hero-proof span{font-size:12px;max-width:95px;line-height:1.5}.pointer-hint{display:none}.hero-bottom{justify-content:flex-end}.project-cover{padding:26px;min-height:360px}.cover-body strong{font-size:37px}.case-copy{min-height:0}.case-copy h3{margin-top:32px}.work-heading h2{font-size:34px}}
@media(hover:none),(pointer:coarse){.cursor-ring,.cursor-dot,.pointer-hint{display:none}}
@media(prefers-reduced-motion:reduce){.js-reveal .reveal:not(.visible){opacity:1;transform:none}.cursor-ring,.cursor-dot{display:none}.cover-body{transform:none}}
