:root{
  --bg:color-mix(in oklch, #224772 35%, black);
  --bg2:color-mix(in oklch, #224772 46%, black);
  --bg3:color-mix(in oklch, #224772 56%, black);
  --fg:oklch(95% 0.006 250);
  --fg-dim:#9e9996;
  --accent:#224772;
  --accent-dim:color-mix(in oklch, #224772 75%, black);
  --star:oklch(80% 0.15 85);
  --border:color-mix(in oklch, #9e9996 35%, black);
  --ease:cubic-bezier(0.22,1,0.36,1);
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);font-family:'Geist',-apple-system,'Segoe UI',sans-serif;color:var(--fg);}
a{color:var(--accent);}
a:hover{color:var(--accent-dim);}
img{max-width:100%;display:block;}

@keyframes kenburns{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.14) translate(-1.5%,-1%);}}
@media (prefers-reduced-motion: reduce){ .kb{animation:none !important;} }
.kb{animation:kenburns 26s ease-in-out infinite alternate;}

@keyframes omHammerSwing{0%,55%{transform:rotate(-38deg);}68%{transform:rotate(6deg);}100%{transform:rotate(-38deg);}}
@keyframes omHammerHit{0%,60%{transform:scale(0);opacity:0;}68%{transform:scale(1);opacity:.55;}85%,100%{transform:scale(1.6);opacity:0;}}

header{position:relative;position:sticky;top:0;z-index:900;}
header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(30,36,44,0.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.header-inner{position:relative;max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;}
.logo{width:92px;height:92px;border-radius:12px;object-fit:cover;}
nav{display:flex;align-items:center;gap:28px;}
.nav-link{position:relative;color:var(--fg);font-size:15px;font-weight:500;text-decoration:none;}
.nav-link::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.nav-link:hover::after{transform:scaleX(1);}
.header-right{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.mobile-phone{display:none;color:var(--fg);text-decoration:none;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;}
.phone-link{display:flex;align-items:center;gap:7px;color:var(--fg);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;padding:8px 4px;}
.cta-btn{margin-left:6px;background-color:var(--accent);background-image:linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.45) 50%, transparent 70%);background-repeat:no-repeat;background-size:250% 100%;background-position:-150% 0;color:oklch(98% 0.005 250);padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .3s var(--ease),background-position .6s var(--ease);}
.cta-btn:hover{background-color:var(--accent-dim);background-position:150% 0;}
.hamburger{display:none;background:transparent;border:1px solid var(--border);width:44px;height:44px;border-radius:9px;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;flex-shrink:0;}
.hamburger span{width:20px;height:1.5px;background:var(--fg);}
@media (max-width:768px){
  nav > .nav-link, .header-right .phone-link, .header-right .cta-btn{display:none;}
  .hamburger{display:flex;}
  .mobile-phone{display:flex;}
}
.nav-drawer{position:fixed;inset:0;z-index:960;background:var(--bg);display:none;flex-direction:column;overflow-y:auto;padding:20px;}
.nav-drawer.open{display:flex;}
.drawer-close{align-self:flex-end;background:transparent;border:1px solid var(--border);width:44px;height:44px;border-radius:9px;color:var(--fg);cursor:pointer;font-size:20px;line-height:1;}
.drawer-inner{max-width:440px;margin:24px auto 0;width:100%;display:flex;flex-direction:column;gap:8px;}
.drawer-link{color:var(--fg);font-size:20px;font-weight:600;text-decoration:none;padding:12px 4px;border-bottom:1px solid var(--border);}
.drawer-cta{margin-top:14px;text-align:center;background:var(--accent);color:oklch(98% 0.005 250);padding:14px;border-radius:8px;font-size:16px;font-weight:600;text-decoration:none;}
.drawer-contact{display:flex;align-items:center;gap:12px;color:var(--fg);text-decoration:none;font-size:15px;padding:11px 4px;border-top:1px solid var(--border);}

footer{background:var(--bg2);border-top:1px solid var(--border);padding:64px 24px 28px;}
.footer-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;}
@media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr !important;} }
@media (max-width:520px){ .footer-grid{grid-template-columns:1fr !important;} }
.footer-link{position:relative;color:var(--fg-dim);font-size:14px;text-decoration:none;}
.footer-link::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.footer-link:hover::after{transform:scaleX(1);}
.footer-link:hover{color:var(--fg-dim);}
.footer-bottom{max-width:1320px;margin:44px auto 0;padding-top:22px;border-top:1px solid var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

.btn-accent{background-color:var(--accent);background-image:linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.45) 50%, transparent 70%);background-repeat:no-repeat;background-size:250% 100%;background-position:-150% 0;color:oklch(98% 0.005 250);border-radius:9px;font-weight:600;text-decoration:none;display:inline-block;transition:background-color .3s var(--ease),background-position .6s var(--ease);}
.btn-accent:hover{background-color:var(--accent-dim);background-position:150% 0;color:oklch(98% 0.005 250);}

.card-service{text-decoration:none;display:flex;flex-direction:column;height:100%;background:var(--bg2);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);}
.card-service:hover{transform:translateY(-6px);border-color:var(--accent-dim);box-shadow:0 20px 44px rgba(0,0,0,0.4);}
.card-service .card-img-wrap{overflow:hidden;height:220px;}
.card-service img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.card-service:hover img{transform:scale(1.06);}
.learn-more span{transition:transform .3s var(--ease);display:inline-block;}
.card-service:hover .learn-more span{transform:translateX(4px);}

.card-choose{padding:20px;border-radius:12px;transition:transform .3s var(--ease),background .3s var(--ease);}
.card-choose:hover{transform:translateY(-4px);background:var(--bg2);}

.card-testimonial{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:36px 32px;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.card-testimonial:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(0,0,0,0.35);}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
@media (max-width:820px){ .grid-2{grid-template-columns:1fr !important;gap:32px !important;} .grid-2 > div{order:0 !important;} }
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
@media (max-width:860px){ .grid-3, .grid-4{grid-template-columns:1fr !important;} }
@media (min-width:861px) and (max-width:1100px){ .grid-3, .grid-4{grid-template-columns:repeat(2,1fr) !important;} }
.gallery-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:900px){ .gallery-grid{grid-template-columns:repeat(2,1fr) !important;} }
@media (max-width:520px){ .gallery-grid{grid-template-columns:1fr !important;} }

#pageLoader{position:fixed;inset:0;z-index:99999;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;opacity:1;transition:opacity .5s var(--ease);}
#pageLoader.hidden{opacity:0;pointer-events:none;}
.hammer-wrap{position:relative;width:70px;height:64px;}
.hammer-assembly{position:absolute;top:0;left:17px;width:34px;height:46px;transform-origin:top center;animation:omHammerSwing 1.3s ease-in-out infinite;}
.hammer-head{position:absolute;top:0;left:0;width:34px;height:16px;background:var(--accent);border-radius:4px;z-index:2;}
.hammer-rod{position:absolute;left:13px;top:12px;width:9px;height:34px;background:var(--fg-dim);border-radius:3px;}
.hammer-beam{position:absolute;bottom:4px;left:6px;width:58px;height:7px;background:var(--accent);border-radius:3px;}
.hammer-impact{position:absolute;bottom:0;left:26px;width:18px;height:18px;border-radius:50%;background:var(--accent);animation:omHammerHit 1.3s ease-in-out infinite;}
.loader-label{color:var(--fg-dim);font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;}

input::placeholder, textarea::placeholder{color:oklch(68% 0.01 250);}
