:root{
  --bg:#0a1519; --bg2:#0e1c22; --surface:#11242b; --surface2:#163038; --text:#eef5f9; --muted:#9bb0bb; --line:#213a44; --accent:#45AEC6; --accent-deep:#2C98B5; --gold:#FFD700; --ease:cubic-bezier(0.22,1,0.36,1);
}
[data-theme="light"]{
  --bg:#f2f8fb; --bg2:#e7f1f7; --surface:#ffffff; --surface2:#eef6fb; --text:#0c1d24; --muted:#4d6270; --line:#d3e4ee; --accent:#2C98B5; --accent-deep:#217A90;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{font-family:'Geist',system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;-webkit-text-size-adjust:100%;transition:background .5s var(--ease),color .5s var(--ease)}
body[data-font="dys"]{font-family:'Lexend',sans-serif}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.08;letter-spacing:-0.02em}
p{margin:0}
a{color:var(--accent);text-decoration:none;transition:color .3s var(--ease)}
a:hover{color:var(--accent-deep)}
img{max-width:100%;display:block}
input,textarea,select,button{font-family:inherit}
::selection{background:var(--accent);color:#04120d}
@keyframes kenburns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.14) translate(-1.5%,-1.5%)}}
@keyframes grainshift{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-2%,4%)}80%{transform:translate(4%,-2%)}100%{transform:translate(0,0)}}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes rollersweep{0%{width:0}100%{width:100%}}
[data-link]{position:relative}
[data-link]::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
[data-link]:hover::after,[data-link][aria-current="true"]::after{transform:scaleX(1)}
[data-card]{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
[data-card]:hover{transform:translateY(-6px);box-shadow:0 24px 60px -20px rgba(0,0,0,.55);border-color:var(--accent-deep)!important}
[data-card] [data-card-img]{transition:transform .7s var(--ease)}
[data-card]:hover [data-card-img]{transform:scale(1.06)}
[data-card] [data-arrow]{transition:transform .3s var(--ease)}
[data-card]:hover [data-arrow]{transform:translateX(4px)}
[data-social]{transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease),color .3s var(--ease)}
[data-social]:hover{transform:translateY(-3px);box-shadow:0 0 22px -4px var(--accent);background:var(--accent);color:#04120d}
[data-hicon]{transition:background .3s var(--ease),color .3s var(--ease)}
[data-hicon]:hover{background:color-mix(in oklab,var(--accent) 22%,transparent)}
[data-btn]{transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease)}
[data-btn]:hover{transform:translateY(-2px);box-shadow:0 14px 34px -12px var(--accent)}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}
@media (hover:hover) and (pointer:fine){ body{cursor:none} a,button,[data-action],input,textarea,select{cursor:none} input,textarea{caret-color:var(--accent)} }
@media (max-width:920px){ [data-desktop-nav]{display:none!important} }
@media (min-width:921px){ [data-burger]{display:none!important} [data-cta-desktop]{display:flex!important} }
@media (max-width:560px){ [data-contact-num]{display:none} }
@media (max-width:1024px){ [data-gallery-grid]{columns:2!important} }
@media (max-width:860px){ body{font-size:18px}
  [data-about-grid]{grid-template-columns:1fr!important}
  [data-svc-row]{grid-template-columns:1fr!important}
  [data-footer-grid]{grid-template-columns:1fr 1fr!important}
  [data-gallery-grid]{columns:2!important}
}
@media (max-width:540px){
  [data-form-row]{grid-template-columns:1fr!important}
  [data-gallery-grid]{columns:1!important}
  [data-footer-grid]{grid-template-columns:1fr!important}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  [data-reveal]{opacity:1!important;transform:none!important}
  [data-kb]{animation:none!important}
}

@media (max-width:480px){ [data-loader-sub]{letter-spacing:.16em;font-size:11px} }
