@view-transition{navigation:none}
::view-transition-old(root){animation:180ms ease-out both page-out}::view-transition-new(root){animation:240ms ease-out both page-in}
@keyframes page-out{to{opacity:0;transform:translateY(-5px)}}@keyframes page-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
body{background:linear-gradient(145deg,#f8faf5,#edf2e8 65%,#f4f6f1)}
header{background:linear-gradient(110deg,#111914,#233027);box-shadow:0 5px 24px #101b1114}
.hero{background:radial-gradient(ellipse at 90% 5%,#69be281c,transparent 58%)}
.approach{background:linear-gradient(120deg,#e8eee3,#f1f5ec)}.gallery{background:linear-gradient(160deg,#f8faf5,#edf3e7)}
.contact{background:radial-gradient(ellipse at 100% 0%,#38582c66,transparent 65%),linear-gradient(120deg,#111914,#1e2b23)}
.button{background:linear-gradient(130deg,#8cde48d9,#69be28d9);border:1px solid #c6ffa878;box-shadow:inset 0 1px 0 #ffffff80,0 7px 20px #32670d18;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:7px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;min-height:48px}
.contact .button{background:linear-gradient(130deg,#8cde48d9,#69be28d9)}
.button:hover{background:linear-gradient(130deg,#9bec58eb,#76cd35eb);transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff80,0 10px 24px #32670d26}.button:active{transform:translateY(0)}
.nav-contact{background:#ffffff0b;border:1px solid #ffffff35!important;backdrop-filter:blur(12px);border-radius:7px;transition:background .2s,border-color .2s}.nav-contact:hover{background:#ffffff17;border-color:#91d95e!important}nav a{min-height:44px;display:inline-flex;align-items:center;transition:color .2s}nav a[aria-current]{color:#9ce069}
.hero-image{border-radius:9px;background:linear-gradient(145deg,#ffffff9c,#e2e7dfaa);box-shadow:0 14px 35px #17211e14,8px 8px 0 #69be2815}.hero-image img{border-radius:4px}.hero-image:before{left:9px;top:6px}.photo{overflow:hidden;border-radius:7px}.photo img{transition:none}.photo:hover img{transform:none}
input,textarea{border-radius:6px;transition:border-color .2s,background .2s}input:focus,textarea:focus{border-color:#92d664;background:#29382e}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}.reveal.is-visible{opacity:1;transform:none}
@media(min-width:801px) and (max-width:1100px){header{padding:22px 4%}nav{gap:20px}.hero{gap:30px;padding:50px 4% 60px;grid-template-columns:1fr 1fr}h1{font-size:48px}.approach,.contact{gap:35px;padding:55px 5%}.photo-grid{gap:15px}.photo img{height:215px}.section-head h2{font-size:36px}}
@media(max-width:800px){header{flex-wrap:wrap;gap:12px}nav{width:100%;justify-content:space-between;gap:10px;border-top:1px solid #ffffff18;padding-top:8px}nav>a:first-child{display:inline-flex}nav a{font-size:12px}.brand{font-size:22px}.brand small{font-size:8px}.hero{padding-top:32px}h1{font-size:clamp(34px,6vw,43px)}.actions{gap:18px}.button{padding:14px 18px}.hero-image{margin-right:8px}.services{gap:18px}.gallery .section-head{gap:22px}.photo img{height:auto;aspect-ratio:4/3}footer{gap:16px}footer a{min-height:36px;display:flex;align-items:center}.contact{gap:35px}.legal h1{font-size:34px!important}}
@media(max-width:380px){.services{grid-template-columns:1fr}.hero{padding-left:5%;padding-right:5%}.email{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.button:hover,.photo:hover img{transform:none}::view-transition-old(root),::view-transition-new(root){animation:none}}

.photo{cursor:default}.photo img,.photo:hover img{transform:none;transition:none}


