/* Visual refinement layer: 2026 editorial motion, depth and responsive polish. */
body{background:radial-gradient(circle at 8% 8%,#1b4d86 0,transparent 28%),var(--navy)}
body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.12;z-index:0;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,black,transparent 55%)}
.nav,.hero,.section,.footer{position:relative;z-index:1}.nav{box-shadow:0 18px 55px #0004}.hero:after{content:'';position:absolute;left:7vw;right:7vw;bottom:92px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.55}.hero-copy{animation:rise .9s ease both}.hero-visual{border:1px solid #d6a73766}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,transparent 40%,#0005);mix-blend-mode:screen;pointer-events:none}.hero-visual span{background:#020813aa;padding:7px 10px;border:1px solid #d6a73766}.button{box-shadow:0 8px 25px #d6a7372e;transition:transform .25s,box-shadow .25s}.button:hover{box-shadow:0 13px 35px #d6a73755}.cards article{position:relative;overflow:hidden;border-radius:3px}.cards article:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,#d6a73718 50%,transparent 65%);transform:translateX(-100%);transition:transform .8s}.cards article:hover:before{transform:translateX(100%)}.cards article>a{transition:transform .25s}.cards article:hover>a{transform:rotate(-45deg)}.steps>div{position:relative;padding-left:58px}.steps>div b{position:absolute;left:0;top:28px}.steps>div:after{content:'↘';position:absolute;right:0;top:25px;color:var(--gold);font-size:18px}.gallery-grid figure{border-radius:3px;box-shadow:0 25px 60px #0003}.gallery-grid figcaption{padding:20px}.contact form{border-radius:3px;box-shadow:0 25px 70px #0004}.contact input,.contact select,.contact textarea{transition:border-color .25s,transform .25s}.contact input:focus,.contact select:focus,.contact textarea:focus{transform:translateX(4px)}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:600px){body:before{background-size:45px 45px;opacity:.08}.hero:after{bottom:70px}.hero-visual{box-shadow:0 22px 65px #0008}}
