.novag-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.map-preferences{display:flex;justify-content:center;padding:12px 16px;background:#0d1321}
.map-preferences-button{border:1px solid rgba(255,255,255,.18);background:rgba(0,119,182,.14);color:#fff;border-radius:999px;padding:8px 14px;font:inherit;cursor:pointer}
.map-preferences-button:hover,.map-preferences-button:focus-visible{background:rgba(0,119,182,.28);outline:none}
.cookie-consent{left:50%!important;right:auto!important;width:min(540px,calc(100% - 32px))!important;max-width:540px!important;margin:0!important;transform:translate(-50%,100%)!important}
.cookie-consent.show{transform:translate(-50%,0)!important}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cursor-dot,.cursor-ring{display:none!important}}.progress-h-8{height:8px}.progress-h-5{height:5px}.progress-bar-animated[data-width]{width:0}.progress-bar-animated.progress-active[data-width="90%"]{width:90%}.progress-bar-animated.progress-active[data-width="92%"]{width:92%}.progress-bar-animated.progress-active[data-width="94%"]{width:94%}.progress-bar-animated.progress-active[data-width="95%"]{width:95%}.progress-bar-animated.progress-active[data-width="96%"]{width:96%}.progress-bar-animated.progress-active[data-width="97%"]{width:97%}.progress-bar-animated.progress-active[data-width="98%"]{width:98%}.progress-bar-animated.progress-active[data-width="99.9%"]{width:99.9%}

/* NovaG responsive hardening: overrides loaded last on purpose. */
html,body{max-width:100%;overflow-x:clip}
.hero-section .row>*{min-width:0}
.hero-title,.hero-text{max-width:100%;overflow-wrap:break-word}
.portfolio-card{opacity:1!important;transform:none!important}
.portfolio-card>.tilt-card-inner{height:100%;display:flex;flex-direction:column}
.portfolio-image{aspect-ratio:16/9;background:#0a1020}
.portfolio-image img{width:100%;height:100%!important;object-fit:cover;object-position:center}
.portfolio-content{display:flex;flex:1;flex-direction:column;background:linear-gradient(180deg,rgba(15,20,40,.96),rgba(8,12,24,.98))!important;color:#fff}
.portfolio-content h4{color:#fff!important}
.portfolio-content p{color:rgba(203,213,225,.82)!important}
.portfolio-content .portfolio-tech{margin-top:auto}
@media (hover:hover) and (pointer:fine){.portfolio-card:hover{transform:translateY(-7px)!important}}

@media (max-width:991.98px){
  .navbar-collapse{max-height:calc(100vh - 88px);overflow-y:auto;overscroll-behavior:contain}
  .navbar-brand .logo-img{max-width:160px;height:auto!important}
  .header-buttons{gap:8px;flex-wrap:wrap}
  .header-buttons .btn{margin-left:0!important}
  .hero-section{min-height:auto!important;padding:124px 0 72px!important}
  .hero-section .row{margin-left:0;margin-right:0}
  .hero-title{width:min(100%,820px);margin-left:auto!important;margin-right:auto!important}
  .hero-text{width:min(100%,720px);margin-left:auto!important;margin-right:auto!important}
  .hero-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
  .hero-buttons .btn{margin:0!important}
  .hero-image{margin-top:34px!important}
  .hero-logo-image{display:block!important;width:auto!important;max-width:min(320px,72vw)!important;height:auto!important;margin:0 auto!important}
}

@media (max-width:767.98px){
  section{scroll-margin-top:78px}
  .navbar{padding-top:10px!important;padding-bottom:10px!important}
  .navbar>.container{padding-left:16px;padding-right:16px}
  .navbar-brand .logo-img{max-width:142px!important}
  .navbar-collapse{margin-top:8px!important;padding:16px!important;border-radius:14px!important}
  .nav-link{padding:10px 12px!important}
  .header-buttons{justify-content:flex-start!important}
  .header-buttons .btn{flex:1 1 140px}

  .hero-section{padding:112px 0 58px!important;text-align:center!important}
  .hero-section .container{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:18px!important;padding-right:18px!important;box-sizing:border-box!important}
  .hero-section .row{--bs-gutter-x:0;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .hero-section .row>[class*="col-"]{flex:0 0 100%!important;width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important}
  .hero-section .tech-badge{display:inline-flex!important;max-width:100%;white-space:normal!important;line-height:1.35;text-align:center;justify-content:center}
  .hero-title,.hero-text,.hero-buttons,.hero-image{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  .hero-title{font-size:clamp(1.95rem,8.8vw,2.45rem)!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:18px auto 18px!important;word-break:normal!important}
  .hero-title .highlight-text{display:inline!important}
  .hero-text{font-size:1rem!important;line-height:1.65!important;margin:0 auto 26px!important}
  .hero-buttons{width:100%;gap:10px!important}
  .hero-buttons .btn{flex:1 1 190px;max-width:280px;padding:13px 20px!important;font-size:.9rem!important}
  .hero-image{margin-top:30px!important}
  .hero-logo-image{max-width:min(240px,64vw)!important}

  .portfolio-section .row.mt-5{margin-top:1.75rem!important}
  .portfolio-section .col-12.mb-5{margin-bottom:1.8rem!important}
  .portfolio-filter.tech-filter{display:flex;justify-content:flex-start!important;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 2px 10px;margin:0 -2px 0!important;scrollbar-width:thin}
  .portfolio-filter .tech-filter-btn{flex:0 0 auto;scroll-snap-align:start;margin:0!important;padding:9px 15px!important;font-size:.84rem!important}
  .portfolio-item{margin-bottom:18px!important}
  .portfolio-content{padding:18px!important}
  .portfolio-content h4{font-size:1.08rem!important;line-height:1.35}
  .portfolio-content p{font-size:.92rem;line-height:1.55}
  .portfolio-tech{display:flex;flex-wrap:wrap;gap:7px}
  .portfolio-tech .tech-badge{margin:0!important}
  .portfolio-content .tech-btn{align-self:flex-start}

  .cookie-consent{bottom:10px!important;width:calc(100vw - 20px)!important;max-width:520px!important;padding:14px 16px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:14px!important;box-shadow:0 16px 42px rgba(0,0,0,.42)!important;box-sizing:border-box!important}
  .cookie-consent h3{font-size:1rem!important;line-height:1.25!important;margin:0 0 6px!important}
  .cookie-consent p{font-size:.78rem!important;line-height:1.38!important;margin:0!important}
  .cookie-consent-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;margin-top:10px!important}
  .cookie-consent-btn{width:auto!important;min-width:0!important;padding:9px 12px!important;font-size:.78rem!important;line-height:1.2!important;white-space:nowrap}

  .tech-timeline-content,.contact-form{max-width:100%}
  .footer-bottom-links{flex-wrap:wrap;gap:10px 16px}
}

@media (max-width:420px){
  .hero-title{font-size:clamp(1.9rem,9.1vw,2.3rem)!important}
  .hero-buttons .btn{max-width:none;width:100%}
  .hero-logo-image{max-width:min(220px,62vw)!important}
  .cookie-consent{padding:12px 14px!important}
  .cookie-consent-actions{grid-template-columns:1fr 1fr!important}
  .cookie-consent-btn{white-space:normal!important;padding:9px 8px!important}
}
