/* 
Theme: Full House Realty
This CSS is based on the provided landing page design.
*/

:root{
  --royal-blue:#001530;
  --royal-light:#0d2546;

  --gold:#C5A059;
  --gold-dark:#aa863a;
  --gold-gradient:linear-gradient(135deg,#b08d48 0%,#E6C786 50%,#b08d48 100%);

  --white:#ffffff;
  --off-white:#f4f4f4;
  --text-dark:#1a1a1a;
  --text-gray:#888888;

  --font-heading:'Playfair Display',serif;
  --font-body:'Manrope',sans-serif;

  --transition-slow:all .65s cubic-bezier(.22,1,.36,1);
  --transition-fast:all .25s ease;

  --container-width:1320px;
  --shadow-luxury:0 25px 120px rgba(0,0,0,.32);

  --radius:0px; /* IMPORTANT: NO RADIUS */
}

/* RESET */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font-body);
  background:var(--white);
  color:var(--text-dark);
  line-height:1.7;
  overflow-x:hidden;
}
html,body{height:100%}
body.is-locked{overflow:hidden!important;touch-action:none}

/* prevent layers blocking scroll */
.hero-slider,.hero-slide,.hero-overlay,.hero-grain,
.ecosystem-dynamic-bg,.eco-overlay,.map-overlay{
  pointer-events:none;
}

/* BASE */
.container{max-width:var(--container-width);margin:0 auto;padding:0 24px}
.section-padding{padding:120px 0}
.text-gold{color:var(--gold)}
.text-white{color:#fff}
.text-center{text-align:center}

h1,h2,h3,h4,h5{
  font-family:var(--font-heading);
  line-height:1.1;
  color:var(--royal-blue);
}
h1{font-size:4.5rem;color:#fff}
h2{font-size:3rem;margin-bottom:20px}

.text-gradient{
  background:var(--gold-gradient);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-size:200% auto;
  animation:shineText 5s linear infinite;
  display:inline-block;
}
@keyframes shineText{to{background-position:200% center}}
.italic-font{font-style:italic;font-weight:400}
.overline{
  display:block;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:4px;
  color:var(--gold);
  margin-bottom:20px;
  font-weight:700;
}
.mt-4{margin-top:2rem!important;display:inline-block}
.mb-4{margin-bottom:1rem}

/* NAV */
.navbar{
  position:fixed;top:0;left:0;width:100%;z-index:1000;
  padding:20px 0;
  transition:var(--transition-slow);
  background:linear-gradient(180deg,rgba(0,21,48,.75) 0%,rgba(0,0,0,0) 100%);
}
.navbar.scrolled{
  background:rgba(0,21,48,.96);
  padding:15px 0;
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 40px rgba(0,0,0,.22);
}

/* (as in your old CSS) */
.navbar.scrolled .navbar.scrolled .brand-logo img,
.navbar.scrolled .brand-logo .custom-logo{height:var(--logo-h-scrolled,45px) !important}

.nav-wrapper{display:flex;justify-content:space-between;align-items:center}

.brand-logo img, .brand-logo .custom-logo{
  height:var(--logo-h,55px) !important;width:auto;
  filter:brightness(0) invert(1);
  transition:var(--transition-fast);
}

/* WP custom logo outputs <a><img> plus extra wrapper */
.brand-logo .custom-logo-link{display:inline-flex}
.brand-logo .custom-logo{height:var(--logo-h,55px) !important;width:auto}

.nav-links-desktop{display:flex;gap:40px;align-items:center}
.nav-links-desktop ul.menu{display:flex;gap:40px;list-style:none;margin:0;padding:0;align-items:center}
.nav-links-desktop li{list-style:none;margin:0;padding:0}

.nav-links-desktop a{
  color:rgba(255,255,255,.86);
  text-decoration:none;
  text-transform:uppercase;
  font-size:.75rem;
  letter-spacing:2px;
  font-weight:600;
  transition:var(--transition-fast);
  position:relative;
}
.nav-links-desktop a::after{
  content:'';
  position:absolute;bottom:-6px;left:0;
  width:0;height:1px;background:var(--gold);
  transition:var(--transition-slow);
}
.nav-links-desktop a:hover{color:var(--gold)}
.nav-links-desktop a:hover::after{width:100%}

.nav-actions{display:flex;align-items:center;gap:30px}
.phone-link{
  display:flex;align-items:center;gap:12px;
  text-decoration:none;color:#fff;
}
.phone-icon{
  width:40px;height:40px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);
  transition:var(--transition-fast);
  border-radius:999px;
  border-color:rgba(197,160,89,.55);
}
.phone-number{font-weight:800;font-size:1rem;letter-spacing:.5px}
.phone-link:hover .phone-icon{background:var(--gold);color:var(--royal-blue)}

.btn-premium{
  padding:14px 35px;
  background:transparent;
  border:1px solid var(--gold);
  color:#fff;
  text-transform:uppercase;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:2px;
  text-decoration:none;
  position:relative;
  overflow:hidden;
  transition:var(--transition-fast);
}
.btn-premium span{position:relative;z-index:2}
.btn-premium::before{
  content:'';
  position:absolute;top:0;left:-110%;
  width:110%;height:100%;
  background:var(--gold-gradient);
  transition:var(--transition-slow);
  z-index:1;
}
.btn-premium:hover::before{left:0}
.btn-premium:hover{border-color:transparent;box-shadow:0 0 22px rgba(197,160,89,.35)}

.menu-toggle{
  display:none;
  cursor:pointer;
  flex-direction:column;
  gap:6px;
  background:transparent;border:none;
}
.line{width:30px;height:2px;background:var(--gold)}

.nav-icon-call{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(197,160,89,.65);background:rgba(255,255,255,.06);color:var(--gold);text-decoration:none;transition:var(--transition-fast)}
.nav-icon-call i{font-size:1.25rem}
.nav-icon-call:hover{background:rgba(197,160,89,.14);transform:translateY(-1px)}

/* FLOATING */
.floating-call-btn{
  position:fixed;bottom:30px;left:30px;width:60px;height:60px;
  background:var(--gold-gradient);
  display:flex;align-items:center;justify-content:center;
  color:var(--royal-blue);font-size:1.55rem;
  box-shadow:0 10px 22px rgba(0,0,0,.30);
  z-index:990;text-decoration:none;
  transition:var(--transition-fast);
  opacity:0;visibility:hidden;transform:translateY(20px);
}
.floating-call-btn.visible{opacity:1;visibility:visible;transform:translateY(0)}
.floating-call-btn:hover{transform:scale(1.06);color:#fff}
.call-pulse{
  position:absolute;width:100%;height:100%;
  border:2px solid var(--gold);
  animation:pulse 2s infinite;
  opacity:0;
}
@keyframes pulse{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.85);opacity:0}}

.back-to-top{
  position:fixed;bottom:30px;right:30px;width:50px;height:50px;
  background:rgba(0,21,48,.96);
  border:1px solid rgba(255,255,255,.10);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:1.25rem;
  cursor:pointer;z-index:990;
  transition:var(--transition-fast);
  text-decoration:none;
  opacity:0;visibility:hidden;transform:translateY(20px);
}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--gold);color:var(--royal-blue)}

/* HERO */
.hero-section{
  position:relative;height:100vh;width:100%;
  overflow:hidden;display:flex;align-items:center;
}
.hero-slider,.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%}
.hero-overlay{
  position:absolute;inset:0;z-index:2;
  background:radial-gradient(circle at 70% 50%, rgba(0,21,48,.16) 0%, rgba(0,21,48,.90) 100%);
}
.hero-grain{
  position:absolute;inset:0;z-index:2;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
  opacity:.35;
}
.hero-slide{
  background-size:cover;background-position:center;
  opacity:0;transform:scale(1);
  transition:opacity 1.5s ease-in-out, transform 8s linear;
  z-index:1;
}
.hero-slide.active{opacity:1;transform:scale(1.15)}

.hero-container-left{position:relative;z-index:3;width:100%;display:flex;justify-content:flex-start}
.hero-content-left{max-width:820px;padding-left:20px}

.hero-social-proof{display:flex;align-items:center;gap:15px;margin-bottom:25px }
.client-avatars{display:flex}
.client-avatars img{
  width:45px;height:45px;
  border:2px solid rgba(0,21,48,.75);
  margin-left:-15px;
  object-fit:cover;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  border-radius:999px;
  border-color:var(--gold);
}
.client-avatars img:first-child{margin-left:0}
.rating-text{color:#fff;font-size:.9rem;display:flex;flex-direction:column;line-height:1.3}
.stars{color:#FFD700;font-size:.9rem;margin-bottom:2px;display:flex;gap:4px}

.hero-sub{
  font-size:1.25rem;
  color:rgba(255,255,255,.86);
  margin-bottom:45px;
  max-width:620px;
  font-weight:300;
}
.hero-btns{display:flex;gap:20px;flex-wrap:wrap}
.btn-gold-solid{
  padding:18px 45px;
  background:var(--gold-gradient);
  color:var(--royal-blue);
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:1.5px;
  text-decoration:none;
  transition:var(--transition-fast);
  box-shadow:0 16px 55px rgba(197,160,89,.22);
}
.btn-gold-solid:hover{transform:translateY(-3px);box-shadow:0 20px 70px rgba(197,160,89,.35)}
.btn-glass{
  padding:18px 45px;
  background:rgba(255,255,255,.06);
  color:#fff;
  border:1px solid rgba(255,255,255,.26);
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:1.5px;
  text-decoration:none;
  backdrop-filter:blur(8px);
  transition:var(--transition-fast);
}
.btn-glass:hover{background:#fff;color:var(--royal-blue);transform:translateY(-2px)}

.scroll-mouse{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
  z-index:3;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:10px;
  opacity:.9;
}
.mouse-wheel{
  width:30px;height:50px;border:2px solid rgba(255,255,255,.45);
  position:relative;
  border-radius:999px;
}
.mouse-wheel::before{
  content:'';
  position:absolute;top:10px;left:50%;transform:translateX(-50%);
  width:4px;height:4px;background:var(--gold);
  animation:scrollWheel 2s infinite;
}
@keyframes scrollWheel{0%{top:10px;opacity:1}100%{top:30px;opacity:0}}
.scroll-label{font-size:.7rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.75)}

/* TRUST */
.trust-strip{background:#fff;padding:30px 0;border-bottom:1px solid #eee}
.trust-wrapper{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap}
.trust-label{font-weight:900;text-transform:uppercase;letter-spacing:2px;color:var(--royal-blue);font-size:.9rem}
.divider-vertical{width:1px;height:20px;background:var(--gold)}
.license-grid{display:flex;gap:30px;color:var(--text-gray);font-size:.8rem;font-family:monospace;letter-spacing:1px;flex-wrap:wrap;justify-content:center}

/* PHILOSOPHY */
.split-layout{display:flex;align-items:center;gap:100px}
.split-content{flex:1}
.split-image{flex:1}
.lead-text{font-size:1.35rem;font-weight:300;margin-bottom:30px;color:var(--text-dark)}
.gold-box{border-left:4px solid var(--gold);padding-left:25px;margin:30px 0;font-style:italic;color:var(--text-gray);font-size:1.1rem}
.stats-counter{display:flex;gap:60px;margin-top:50px;border-top:1px solid #eee;padding-top:40px}
.stat-item .num{font-size:3.5rem;font-family:var(--font-heading);color:var(--royal-blue);line-height:1}
.stat-item .symbol{font-size:2rem;color:var(--gold);vertical-align:top}
.stat-item .desc{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-gray);margin-top:10px}

.image-frame{position:relative;padding:20px;border:1px solid rgba(0,0,0,.10);box-shadow:0 12px 60px rgba(0,0,0,.08)}
.image-frame img{width:100%;display:block}
.floating-badge{
  position:absolute;bottom:40px;left:-30px;background:#fff;
  padding:18px 34px;
  box-shadow:0 25px 80px rgba(0,0,0,.18);
  display:flex;align-items:center;gap:12px;
  font-weight:900;text-transform:uppercase;font-size:.85rem;letter-spacing:1px;
}
.floating-badge i{color:var(--gold);font-size:1.2rem}

/* ECOSYSTEM */
.ecosystem-section{position:relative;color:#fff;overflow:hidden;background:var(--royal-blue)}
.ecosystem-dynamic-bg{position:absolute;inset:0;z-index:0}
.bg-layer{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:0;transition:opacity .8s ease;transform:scale(1.05)}
.bg-layer.active{opacity:1}
.eco-overlay{position:absolute;inset:0;background:rgba(0,21,48,.88);z-index:1;backdrop-filter:blur(4px)}
.ecosystem-content{position:relative;z-index:2}
.section-header{margin-bottom:80px}

.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  padding:42px 32px;
  transition:var(--transition-slow);
  position:relative;overflow:hidden;cursor:pointer;
}
.service-card:hover{
  transform:translateY(-12px);
  background:rgba(255,255,255,.08);
  border-color:rgba(197,160,89,.60);
  box-shadow:0 20px 80px rgba(0,0,0,.28);
}
.card-icon{font-size:2.6rem;color:var(--gold);margin-bottom:25px;transition:var(--transition-fast)}
.service-card:hover .card-icon{transform:scale(1.08)}
.service-card h3{color:#fff;font-size:1.55rem;margin-bottom:15px}
.service-card p{font-size:.95rem;color:rgba(255,255,255,.72);margin-bottom:30px;line-height:1.6}
.link-gold{color:var(--gold);text-transform:uppercase;font-size:.8rem;letter-spacing:1px;font-weight:900;display:flex;align-items:center}
.link-gold i{margin-left:10px;transition:.3s}
.service-card:hover .link-gold i{transform:translateX(6px)}
.service-card.featured{border-color:rgba(197,160,89,.75);background:linear-gradient(180deg, rgba(197,160,89,.11) 0%, rgba(0,0,0,0) 100%)}
.ribbon{position:absolute;top:20px;right:-35px;background:var(--gold-gradient);color:var(--royal-blue);font-size:.7rem;font-weight:900;padding:5px 40px;transform:rotate(45deg);letter-spacing:1px}

/* INFRA + AGENTS */
.infra-section{background:var(--off-white)}
.infra-wrapper{display:flex;align-items:center;gap:80px}
.infra-text{flex:1}
.infra-visual{flex:1;position:relative}
.btn-primary{
  display:inline-block;padding:18px 40px;
  background:var(--royal-blue);
  color:#fff;border:1px solid var(--royal-blue);
  text-transform:uppercase;font-size:.75rem;font-weight:900;letter-spacing:2px;
  text-decoration:none;transition:all .4s ease;
  box-shadow:0 12px 40px rgba(0,21,48,.18);
}
.btn-primary:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-3px);box-shadow:0 18px 50px rgba(197,160,89,.30)}
.infra-features{list-style:none;margin-top:30px}
.infra-features li{display:flex;align-items:center;gap:15px;margin-bottom:20px;font-size:1.08rem}
.infra-features i{font-size:1.25rem;color:var(--gold)}
.visual-stack{position:relative}
.img-back{width:90%;box-shadow:0 25px 120px rgba(0,0,0,.18)}
.img-front{position:absolute;bottom:-50px;right:-20px;width:55%;border:10px solid var(--off-white);box-shadow:0 25px 100px rgba(0,0,0,.30)}

.bg-light{background:#fff}
.agents-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.agent-card{text-align:center}
.agent-image-wrapper{
  height:450px;overflow:hidden;margin-bottom:20px;
  box-shadow:0 22px 80px rgba(0,0,0,.12);
  position:relative;
}
.agent-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:var(--transition-slow);filter:grayscale(100%)}
.agent-card:hover .agent-image-wrapper img{filter:grayscale(0);transform:scale(1.06)}
.agent-details h4{font-size:1.3rem;margin-bottom:5px}
.agent-id{font-size:.8rem;color:var(--text-gray);letter-spacing:1px;text-transform:uppercase}

/* TESTIMONIALS */
.reviews-section{
  background:linear-gradient(180deg, #001530 0%, #031b36 55%, #001530 100%);
  position:relative;
  overflow:hidden;
}
.reviews-section::before{
  content:'';
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 35% 30%, rgba(197,160,89,.12), transparent 55%),
    radial-gradient(circle at 75% 70%, rgba(255,255,255,.06), transparent 60%);
  pointer-events:none;
}
.review-panel{
  text-align:center;
  position:relative;
  max-width:1100px;
  margin:0 auto;
  padding:68px 64px 60px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  box-shadow:0 40px 160px rgba(0,0,0,.55);
}
.review-chip{
  margin:0 auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(197,160,89,.35);
  padding:10px 18px;
  color:rgba(255,255,255,.85);
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:.72rem;
  font-weight:900;
  background:rgba(197,160,89,.06);
}
.review-chip i{color:var(--gold);font-size:1rem}
.review-text{
  text-align:center;
  margin-top:30px;
  font-family:var(--font-heading);
  font-size:2.35rem;
  font-style:italic;
  font-weight:400;
  line-height:1.55;
  color:rgba(255,255,255,.96);
  text-shadow:0 18px 70px rgba(0,0,0,.45);
}
.review-meta{
  margin-top:34px;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
}
.review-name{
  color:var(--gold);
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:.9rem;
}
.review-loc{
  color:rgba(255,255,255,.70);
  font-size:.85rem;
}
.review-dots{
  margin-top:26px;
  display:flex;
  gap:10px;
  justify-content:center;
}
.review-dots span{
  width:8px;height:8px;
  background:rgba(197,160,89,.95);
  box-shadow:0 0 18px rgba(197,160,89,.35);
  opacity:.9;
}

/* MAP */
.map-section{padding:0}
.map-wrap{
  position:relative;
  width:100%;
  height:650px;
  overflow:hidden;
  background:#000;
}
.map-iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:grayscale(100%) contrast(95%) brightness(92%);
  transform:scale(1.02);
}
.map-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.06) 45%, rgba(0,0,0,0) 100%);
}
.map-inner{
  position:absolute;inset:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  pointer-events:none;
}
.map-card{
  width:min(520px, 100%);
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 40px 140px rgba(0,0,0,.25);
  padding:46px 44px;
  pointer-events:auto;
}
.map-title{
  font-family:var(--font-heading);
  font-size:2rem;
  letter-spacing:.5px;
  color:#0f1f2f;
  margin-bottom:10px;
}
.map-sub{
  color:#6b6b6b;
  margin-bottom:28px;
}
.map-list{display:flex;flex-direction:column;gap:18px;margin-bottom:30px}
.map-item{display:flex;gap:14px;align-items:flex-start}
.map-item i{color:var(--gold);font-size:1.2rem;margin-top:3px}
.map-label{
  display:block;
  font-size:.78rem;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:800;
  color:#8a8a8a;
  margin-bottom:3px;
}
.map-value{
  color:#1b1b1b;
  text-decoration:none;
  font-weight:600;
}
a.map-value:hover{color:var(--gold-dark)}

.map-actions{display:flex;flex-direction:column;gap:12px}
.map-btn{
  display:block;
  text-align:center;
  padding:16px 18px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
  text-decoration:none;
  border:1px solid transparent;
  transition:var(--transition-fast);
}
.map-btn-gold{background:#c7ab7a;color:#0f1f2f}
.map-btn-gold:hover{filter:brightness(.95)}
.map-btn-dark{background:#0f1f2f;color:#fff}
.map-btn-dark:hover{filter:brightness(1.05)}

/* FOOTER */
.footer-lux{
  position:relative;
  background:var(--footer-bg, #070707);
  padding:90px 0 34px;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-topline{
  position:absolute;left:0;top:0;width:100%;height:2px;
  background:var(--gold-gradient);
  opacity:.75;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr 1fr;
  gap:42px;
}
.f-logo{height:52px;filter:brightness(0) invert(1);margin-bottom:18px}
.footer-lux .custom-logo{height:52px;width:auto;filter:brightness(0) invert(1);}
.f-desc{color:rgba(255,255,255,.68);max-width:420px;margin-bottom:20px}
.f-col h4{color:#fff;font-size:1.05rem;margin-bottom:16px}
.f-col a{display:block;color:rgba(255,255,255,.72);text-decoration:none;margin-bottom:10px;transition:var(--transition-fast)}
.f-col a:hover{color:var(--gold);transform:translateX(3px)}
.f-muted{display:block;color:rgba(255,255,255,.60);margin-top:6px;line-height:1.5}
.f-col i{color:var(--gold);margin-right:8px}
.f-socials{display:flex;gap:14px;margin-top:14px}
.f-socials a{
  border:none;
  background:transparent;
  width:auto;height:auto;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.86);
  text-decoration:none;
  transition:var(--transition-fast);
  font-size:1.45rem;
}
.f-socials a:hover{color:var(--gold);transform:translateY(-2px)}

/* FOOTER LOGOS */
.footer-logos{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.footer-logos img{height:40px;width:auto;opacity:.92;filter:brightness(0) invert(1);transition:var(--transition-fast)}
.footer-logos a:hover img{opacity:1;transform:translateY(-2px)}
.footer-bottom{
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.06);
  text-align:center;
}
.footer-bottom p{color:rgba(255,255,255,.58);margin:6px 0}
.footer-licenses{color:rgba(255,255,255,.42);font-size:.78rem;letter-spacing:.6px}

/* OFFCANVAS */
.offcanvas-menu{
  position:fixed;top:0;right:-100%;
  width:85%;max-width:360px;height:100vh;
  background:rgba(0,21,48,.96);
  z-index:2000;
  transition:right .42s cubic-bezier(.77,0,.175,1);
  box-shadow:-10px 0 40px rgba(0,0,0,.35);
  padding:26px;
  display:flex;flex-direction:column;justify-content:flex-start;
  border-left:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(14px);
}
.offcanvas-menu.active{right:0}
.offcanvas-backdrop{
  position:fixed;inset:0;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(4px);
  z-index:1999;
  opacity:0;visibility:hidden;
  transition:all .3s ease;
}
.offcanvas-backdrop.active{opacity:1;visibility:visible}
.offcanvas-close{
  align-self:flex-end;
  font-size:1.6rem;
  color:var(--gold);
  cursor:pointer;
  margin-bottom:26px;
  padding:10px;
}
.offcanvas-links{display:flex;flex-direction:column;gap:18px;flex:1;overflow:auto;padding-right:6px}
.offcanvas-links a{
  font-family:var(--font-heading);
  font-size:1.75rem;
  color:#fff;
  text-decoration:none;
  transition:.3s;
  border-bottom:1px solid rgba(255,255,255,.06);
  padding-bottom:10px;
}
.offcanvas-links a:hover{color:var(--gold);padding-left:10px}

/* WP content / pages */
.fhr-main{padding-top:96px}
.fhr-content{padding:80px 24px}
.fhr-title{font-family:var(--font-heading);font-size:2.6rem;margin:0 0 14px;color:var(--royal-blue)}
.fhr-meta{color:var(--text-gray);font-size:.9rem;display:flex;gap:10px;align-items:center}
.fhr-featured img{width:100%;height:auto;display:block;margin:26px 0 0;box-shadow:0 18px 70px rgba(0,0,0,.12)}
.entry-content{font-size:1.05rem}
.entry-content p{margin:0 0 18px}
.entry-content h2,.entry-content h3,.entry-content h4{margin:28px 0 12px}
.entry-content ul,.entry-content ol{margin:0 0 18px 22px}
.entry-content blockquote{margin:24px 0;padding:18px 22px;border-left:4px solid var(--gold);background:rgba(197,160,89,.06)}
.entry-content table{width:100%;border-collapse:collapse;margin:24px 0}
.entry-content th,.entry-content td{border:1px solid rgba(0,0,0,.1);padding:10px;text-align:left}
.entry-content img{max-width:100%;height:auto}

.fhr-two-col{display:grid;grid-template-columns:1fr 340px;gap:40px}
.fhr-col-sidebar .fhr-widget{border:1px solid rgba(0,0,0,.08);padding:22px;box-shadow:0 18px 70px rgba(0,0,0,.06)}
.fhr-col-sidebar .widget{border:1px solid rgba(0,0,0,.08);padding:22px;margin-bottom:20px}
.fhr-col-sidebar .widget-title{font-family:var(--font-heading);margin:0 0 12px}

.fhr-archive-feature{border:1px solid rgba(0,0,0,.08);box-shadow:0 22px 90px rgba(0,0,0,.08);margin:20px 0 34px}
.fhr-archive-feature-link{display:block;color:inherit;text-decoration:none}
.fhr-archive-feature-img img{width:100%;height:auto;display:block}
.fhr-archive-feature-body{padding:26px}
.fhr-archive-feature-title{font-size:2rem;margin:0 0 10px}
.fhr-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fhr-card{border:1px solid rgba(0,0,0,.08);box-shadow:0 18px 70px rgba(0,0,0,.06)}
.fhr-card-link{text-decoration:none;color:inherit;display:block}
.fhr-card-thumb img{width:100%;height:auto;display:block}
.fhr-card-body{padding:18px}
.fhr-card-title{font-size:1.2rem;margin:0 0 8px}
.fhr-card-excerpt{color:var(--text-gray)}
.fhr-pagination{margin:34px 0;text-align:center}
.fhr-pagination .page-numbers{display:inline-flex;gap:10px;align-items:center;justify-content:center}
.fhr-pagination a,.fhr-pagination span{padding:10px 14px;border:1px solid rgba(0,0,0,.1);text-decoration:none;color:var(--royal-blue)}
.fhr-pagination .current{background:var(--royal-blue);color:#fff;border-color:var(--royal-blue)}

.fhr-404{position:relative;min-height:70vh;display:flex;align-items:center;background:var(--royal-blue);color:#fff}
.fhr-404-bg{position:absolute;inset:0;background:radial-gradient(circle at 30% 20%, rgba(197,160,89,.12), transparent 55%);opacity:1}
.fhr-404-inner{position:relative;z-index:2;text-align:center;padding:120px 24px}
.fhr-404-title{font-size:3.2rem;color:#fff}
.fhr-404-sub{max-width:700px;margin:18px auto 0;color:rgba(255,255,255,.85)}

/* RESPONSIVE */
@media (max-width:1200px){ h1{font-size:3.5rem} .fhr-archive-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:1024px){
  .service-grid,.agents-grid{grid-template-columns:repeat(2,1fr)}
  .split-layout,.infra-wrapper{gap:50px}
  .map-wrap{height:720px}
  .map-inner{justify-content:center;padding:0 24px}
  .map-card{width:min(620px, 100%)}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .f-socials{justify-content:center}
  .footer-logos{justify-content:center}
  .fhr-two-col{grid-template-columns:1fr}
}
@media (max-width:768px){
  .hero-content-left{padding:0 20px;text-align:center;margin-top:60px}
  h1{font-size:2.8rem}
  .hero-btns{flex-direction:column;width:100%}
  .btn-gold-solid,.btn-glass{width:100%;text-align:center;padding:16px 0}
  .hero-social-proof{justify-content:center}

  .section-padding{padding:80px 0}
  .split-layout,.infra-wrapper{flex-direction:column;gap:40px}
  .split-image{order:-1;margin-bottom:20px}

  .service-grid,.agents-grid{grid-template-columns:1fr;gap:22px}

  .review-panel{padding:50px 22px}
  .review-text{font-size:1.7rem}

  .map-wrap{height:760px}
  .map-card{padding:38px 22px}
  .fhr-archive-grid{grid-template-columns:1fr}

  .scroll-mouse{display:none!important}

  .hero-sub{font-size:1.05rem;font-weight:500;margin-bottom:28px}

  h2{font-size:2.15rem}
  .ecosystem-section h2{font-size:2.05rem}

  .trust-wrapper{flex-direction:column;gap:12px}
  .divider-vertical{display:none}
  .trust-label{text-align:center}
  .license-grid{justify-content:center;flex-wrap:wrap;gap:14px}

  .floating-badge{left:0;bottom:18px}
  .img-back{width:100%}
  .img-front{right:0;width:70%}
  .map-iframe{transform:none}

  .footer-grid{text-align:center}
  .f-col a, .f-col .f-muted{justify-content:center}
  .f-socials{justify-content:center}
}

/* =========================================================
   MOBILE HEADER — single source of truth (no duplicates)
   ========================================================= */

@media (max-width:768px){

  .navbar{
    background:rgba(0,21,48,.96) !important;
    padding:12px 0 !important;
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(255,255,255,.06);
    box-shadow:0 10px 40px rgba(0,0,0,.22);
  }

  /* tvoj markup je: <div class="container nav-wrapper"> */
  .navbar .container.nav-wrapper{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;

    /* najbitnije: JASAN padding levo/desno */
    padding-left:max(16px, env(safe-area-inset-left)) !important;
    padding-right:max(16px, env(safe-area-inset-right)) !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    min-width:0 !important;
  }

  /* sakrij desktop stvari */
  .nav-links-desktop,
  .nav-actions .btn-premium{ display:none !important; }

  /* logo levo — NEMA sečenja */
  .brand-logo{
    flex:1 1 auto !important;
    min-width:0 !important;
    overflow:visible !important;  /* <-- ovo ti rešava “odsečen logo” */
    display:flex !important;
    align-items:center !important;
  }
  .brand-logo .custom-logo-link{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    margin:0 !important;
  }
  .brand-logo img,
  .brand-logo .custom-logo{
    height:var(--logo-h-mobile,48px) !important;
    width:auto !important;
    max-width:180px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;    /* ako je nešto ranije pomeralo logo */
  }

  /* desno: call + hamburger */
  .nav-actions{
    flex:0 0 auto !important;
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
  }
  .nav-actions .phone-number{ display:none !important; }

  .phone-icon{
    width:44px !important;
    height:44px !important;
    border-radius:999px !important;
    border:1px solid rgba(197,160,89,.55) !important;
    background:rgba(0,21,48,.35) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .menu-toggle{
    display:flex !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    border-radius:999px !important;
    border:1px solid rgba(197,160,89,.55) !important;
    background:rgba(0,21,48,.35) !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }
  .menu-toggle .line{ width:20px !important; }

  /* na mobilnom: scrolled ne sme da smanjuje logo */
  .navbar.scrolled .brand-logo img,
  .navbar.scrolled .brand-logo .custom-logo{
    height:var(--logo-h-mobile,48px) !important;
  }
}

/* === HARD CLAMP: navbar nikad ne sme da bude siri od viewporta === */
html, body{
  max-width:100vw !important;
  overflow-x: clip !important; /* modernije i bolje od hidden */
}

.navbar{
  position:fixed;
  top:0;
  left:0 !important;
  right:0 !important;
  width:100vw !important;
  max-width:100vw !important;
  overflow-x: clip !important;
}

.navbar .container.nav-wrapper{
  width:100% !important;
  max-width:100% !important;
}

/* ================================
   MUSCLE SLIDER (Infrastructure)
================================ */
.infra-visual{
  position: relative;
}

.muscle-slider{
  position: relative;
  width: 100%;
  min-height: 520px;              /* najbitnije: visina da se vidi */
  border-radius: 0px;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(0,0,0,.35);
  background: #0b0f18;
}

/* svaka slika je layer preko cele površine */
.muscle-slide{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity .7s ease;
  transform: translateZ(0);
}

/* aktivni layer */
.muscle-slide.active{
  opacity: 1;
}

/* overlay (da luks izgleda i da tekst ne “bije”) */
.muscle-overlay{
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(1200px 600px at 70% 20%, rgba(197,160,89,.16), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.45));
}

/* responsive */
@media (max-width: 992px){
  .muscle-slider{ min-height: 420px; }
}
@media (max-width: 768px){
  .muscle-slider{ min-height: 320px; border-radius: 18px; }
}