:root{--motion-ease:cubic-bezier(.2,.75,.25,1)}
.scroll-progress{position:fixed;inset:0 0 auto 0;height:3px;background:#ef741a;transform:scaleX(0);transform-origin:right;z-index:100;pointer-events:none}
header{transition:box-shadow .3s,background .3s;background:#ffffffed;backdrop-filter:blur(16px)}header.scrolled{box-shadow:0 5px 30px #30353a10}
.navlinks a{position:relative}.navlinks a::after{content:'';position:absolute;right:0;bottom:-7px;width:100%;height:2px;background:#ef741a;transform:scaleX(0);transform-origin:right;transition:transform .3s}.navlinks a.current::after,.navlinks a:hover::after{transform:scaleX(1)}
.hero{position:relative;background:radial-gradient(ellipse at 95% 0%,#ef741a0b,transparent 45%),#f7f7f7}.hero h1{line-height:1.5}.hero h1 span{position:relative}.hero h1 span::after{content:'';position:absolute;right:0;bottom:0;width:100%;height:2px;background:linear-gradient(to left,#ef741a,transparent);transform-origin:right;animation:line-in 1.3s var(--motion-ease) both}
@keyframes line-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-frame.slideshow{background:#e9e9e9;border-radius:8px;aspect-ratio:5/3;isolation:isolate}.hero-frame.slideshow>img{width:100%;height:100%;object-fit:contain}.hero-frame .photo-label{z-index:2;backdrop-filter:blur(10px)}
.slide-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 5px}.slide-tabs{display:flex;gap:25px;flex-wrap:wrap}.slide-tab{background:none;border:0;padding:8px 0;color:#74787c;border-bottom:2px solid transparent;transition:color .3s,border-color .3s;text-align:right;font-size:15px}.slide-tab span{font:12px Arial;margin-left:10px;color:#8b8d8e}.slide-tab[aria-pressed=true]{border-color:#ef741a;color:#30353a}.slide-status{display:flex;gap:15px;align-items:center;flex-shrink:0}.slide-count{font:14px Arial;color:#767b7d}.motion-toggle{border:1px solid #ced0d1;border-radius:30px;background:#fff;padding:7px 16px;font-size:13px;color:#444;min-height:40px}
.btn,.filter,.navcta{transition:transform .3s var(--motion-ease),box-shadow .3s,background .3s,color .3s}.btn:hover,.navcta:hover{transform:translateY(-3px);box-shadow:0 9px 22px #00000013}.btn:active,.filter:active{transform:translateY(0)}.service{position:relative;transition:background .3s,transform .3s}.service::after{content:'';height:2px;position:absolute;bottom:-1px;right:0;left:0;background:#ef741a;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--motion-ease)}.service:hover::after,.service:focus-within::after{transform:scaleX(1)}.service h3{transition:color .3s}.service:hover h3{color:#a94b10}.service a{transition:padding .3s}.service a:hover{padding-right:8px}
.project-image{border-radius:5px}.project button:hover img{transform:none}.project-info{transition:padding .35s}.project button:hover .project-info{padding-right:10px;padding-left:10px}.project .view{transition:color .3s,border-color .3s}.project button:hover .view{color:#a94b10;border-color:#ef741a}.project button:focus-visible{outline-offset:7px}
dialog[open]{animation:dialog-in .3s var(--motion-ease)}dialog::backdrop{backdrop-filter:blur(7px)}@keyframes dialog-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.gallery-nav{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:20px;border-top:1px solid #ffffff30;padding-top:16px}.gallery-nav button{background:none;color:white;border:1px solid #ffffff60;padding:6px 20px;min-height:44px}.gallery-position{font:14px Arial}.gallery-nav button:hover{background:#ffffff15}.steps li{transition:padding .3s}.steps li:hover{padding-right:8px}
@media(min-width:900px){.about>div:first-child{position:sticky;top:140px}.service:hover{background:#fff}.hero-top{padding-top:12px;padding-bottom:50px}}
@media(max-width:700px){.slide-controls{align-items:stretch;flex-direction:column;gap:9px;padding-top:10px}.slide-tabs{gap:0;justify-content:space-between}.slide-tab{font-size:13px}.slide-tab span{display:none}.slide-status{justify-content:space-between}.hero-frame.slideshow{aspect-ratio:5/3}.navlinks.open{animation:dialog-in .25s var(--motion-ease)}.photo-label{max-width:90%;font-size:11px}.hero h1{line-height:1.5}.slide-count{font-size:12px}}
html.motion-off{scroll-behavior:auto}html.motion-off *,html.motion-off *::after,html.motion-off *::before{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::after,*::before{animation:none!important;transition:none!important}}
