:root{
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --bg:#071129; --bg2:#0B1A38; --panel:#102345;
  --line:rgba(255,255,255,0.12); --line2:rgba(140,180,235,0.30);
  --text:#F2F5FA; --muted:#A6B6CE;
  --red:#C8102E; --redsoft:#E0243F; --blue:#12447F; --bluedeep:#002868; --gold:#FFD700; --goldsoft:#E9BE2A;
  --shadow:0 18px 50px rgba(2,10,30,0.52); --shadow2:0 26px 70px rgba(1,7,22,0.66);
  --font:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
}
[data-dys="on"]{ --font:"Lexend", system-ui, sans-serif; }
*{box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
body{margin:0; background:var(--bg); color:var(--text); font-family:var(--font); font-size:18px; line-height:1.65; -webkit-font-smoothing:antialiased; text-wrap:pretty; overflow-x:hidden;}
h1,h2,h3,h4{margin:0; font-weight:600; letter-spacing:-0.025em; line-height:1.06;}
p{margin:0;}
a{color:var(--text); text-decoration:none;}
a:hover{color:var(--gold);}
button,input,select,textarea{font-family:inherit; font-size:inherit; color:inherit;}
::selection{background:var(--gold); color:#0B0D11;}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
@keyframes hcKen{0%{transform:scale(1)}100%{transform:scale(1.16) translate3d(-1.5%,-1.5%,0)}}
@keyframes hcGrain{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(-3%,2%,0)}50%{transform:translate3d(2%,-3%,0)}75%{transform:translate3d(-2%,-2%,0)}100%{transform:translate3d(0,0,0)}}
@keyframes hcSwing{0%,100%{transform:rotate(-40deg)}44%{transform:rotate(6deg)}58%{transform:rotate(-8deg)}}
@keyframes hcSink{0%{transform:translateY(0)}44%{transform:translateY(5px)}100%{transform:translateY(5px)}}
@keyframes hcPulse{0%,100%{opacity:0.35}50%{opacity:1}}

@media (max-width: 768px){
  [data-bg-sm="hero"]{ background-image:url('assets/hero-sm.jpg') !important; }
  [data-bg-sm="about"]{ background-image:url('assets/about-plan-sm.jpg') !important; }
  [data-bg-sm="newbuild"]{ background-image:url('assets/svc-newbuild-sm.jpg') !important; }
  [data-bg-sm="desk"]{ background-image:url('assets/contact-desk-sm.jpg') !important; }
  [data-bg-sm="gallery"]{ background-image:url('assets/gallery-denver-08-sm.jpg') !important; }
  [data-hero-slide="0"]{ background-image:url('assets/hero-slide-1-sm.jpg') !important; }
  [data-hero-slide="1"]{ background-image:url('assets/hero-slide-2-sm.jpg') !important; }
  [data-hero-slide="2"]{ background-image:url('assets/hero-slide-3-sm.jpg') !important; }
  #hc-grain{ display:none !important; }
  [data-parallax]{ translate:none !important; will-change:auto !important; }
  [data-gal] [role="tablist"], [data-gal] [data-gal-thumbs]{ -webkit-overflow-scrolling:touch; }
}
img{ max-width:100%; }
input,select,textarea{ font-size:max(16px,1em); }
#hc-drawer{ -webkit-overflow-scrolling:touch; background:#071129 !important; opacity:1 !important; isolation:isolate; }
#hc-drawer a{ min-height:48px; }
@media (min-width: 769px){ #hc-drawer{ display:none !important; } }
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

/* hover, focus and pseudo-element styles */
.hc-s0::before{content:''; position:absolute; inset:0; z-index:-1; background:color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px) saturate(1.2);}
.hc-s1:hover{color:var(--text) !important; background-size:calc(100% - 24px) 1.5px !important}
.hc-s2:hover{background:rgba(150,175,150,0.16) !important}
.hc-s3:hover{background:rgba(255,215,0,0.10) !important}
.hc-s4:hover{transform:translateY(-2px) !important; box-shadow:0 16px 34px rgba(200,16,46,0.42) !important; background:var(--redsoft) !important; color:#fff !important}
.hc-s5:hover{transform:translateY(-3px) !important; box-shadow:0 20px 44px rgba(200,16,46,0.48) !important; background:var(--redsoft) !important; color:#fff !important}
.hc-s6:hover{background:rgba(255,255,255,0.12) !important; border-color:#fff !important; transform:translateY(-3px) !important; color:#fff !important}
.hc-s7:hover{background:rgba(255,215,0,0.14) !important; border-color:var(--gold) !important}
.hc-s8:hover{background-size:100% 1.5px !important; color:var(--gold) !important}
.hc-s9:hover{transform:translateY(-6px) !important; box-shadow:var(--shadow2) !important; border-color:var(--goldsoft) !important; color:var(--text) !important}
.hc-s10:hover{transform:translateY(-6px) !important; border-color:var(--goldsoft) !important; color:#fff !important}
.hc-s11:hover{background:rgba(255,215,0,0.12) !important; border-color:var(--gold) !important}
.hc-s12:hover{transform:translateY(-3px) !important; background:var(--redsoft) !important; color:#fff !important}
.hc-s13:hover{background:rgba(255,215,0,0.10) !important; border-color:var(--gold) !important; transform:translateY(-3px) !important}
.hc-s14:hover{background-size:100% 1.5px !important; color:var(--text) !important}
.hc-s15:hover{background:rgba(255,215,0,0.14) !important; border-color:var(--gold) !important; color:#fff !important}
.hc-s16:hover{background:rgba(255,215,0,0.18) !important; border-color:var(--gold) !important}
.hc-s17:hover{opacity:1 !important; transform:translateY(-2px) !important}
.hc-s18:hover{transform:translateY(-6px) !important; box-shadow:var(--shadow2) !important; border-color:var(--goldsoft) !important}
.hc-s19:hover{background:rgba(255,215,0,0.12) !important; border-color:var(--gold) !important; transform:translateY(-2px) !important; color:#fff !important}
.hc-s20:hover{transform:translateY(-2px) !important; background:var(--redsoft) !important}
