/* =========================================================
   NEXORA SOFTWARE HOUSE — MAIN STYLESHEET
   Design tokens: deep navy + electric blue + signal amber
   Display: Sora | Body: Inter | Utility/mono: IBM Plex Mono
   ========================================================= */

:root{
  --navy:        #0B1526;
  --navy-2:      #122542;
  --navy-3:      #16305A;
  --blue:        #2F6FED;
  --blue-dark:   #1D4FBF;
  --blue-light:  #E8EFFE;
  --amber:       #FFB020;
  --amber-dark:  #E29A0E;
  --bg:          #F6F8FC;
  --white:       #FFFFFF;
  --ink:         #0E1420;
  --slate:       #4B5768;
  --slate-light: #94A0B2;
  --border:      #E3E8F0;

  --font-display: 'Sora', 'Segoe UI', sans-serif;
  --font-body:    'Inter', 'Segoe UI', sans-serif;
  --font-mono:    'IBM Plex Mono', monospace;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 24px;
  --shadow-sm: 0 2px 10px rgba(11,21,38,.06);
  --shadow-md: 0 12px 32px rgba(11,21,38,.10);
  --shadow-lg: 0 24px 60px rgba(11,21,38,.16);
  --container-max: 1240px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,.font-display{font-family:var(--font-display); font-weight:700; color:var(--navy); letter-spacing:-0.02em;}
p{color:var(--slate);}
a{text-decoration:none; color:inherit;}
.mono{font-family:var(--font-mono);}
img{max-width:100%; display:block;}
.container-xl{max-width:var(--container-max); margin:0 auto; padding:0 24px;}

:focus-visible{outline:2px solid var(--blue); outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- Utility ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--blue-dark); background:var(--blue-light); padding:6px 14px; border-radius:100px; font-weight:600;
}
.eyebrow::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--amber); display:inline-block;}
.section{padding:96px 0;}
.section-sm{padding:64px 0;}
@media (max-width:768px){ .section{padding:64px 0;} .section-sm{padding:44px 0;} }
.section-title{font-size:clamp(1.9rem, 3.2vw, 2.6rem); margin-bottom:16px; line-height:1.15;}
.section-lead{color:var(--slate); font-size:1.08rem; max-width:640px;}
.section-head{margin-bottom:48px;}
.bg-navy{background:linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%); color:#fff;}
.bg-navy .section-title, .bg-navy h1,.bg-navy h2,.bg-navy h3{color:#fff;}
.bg-navy p{color:#B9C4D6;}
.divider-amber{width:56px; height:4px; background:var(--amber); border-radius:4px; margin:0 0 20px;}

/* ---------- Buttons ---------- */
.btn{font-family:var(--font-body); font-weight:600; border-radius:10px; padding:13px 26px; font-size:.95rem; transition:.25s ease; border:2px solid transparent; display:inline-flex; align-items:center; gap:8px;}
.btn-primary{background:var(--blue); color:#fff; border-color:var(--blue);}
.btn-primary:hover{background:var(--blue-dark); border-color:var(--blue-dark); color:#fff; transform:translateY(-2px); box-shadow:var(--shadow-md);}
.btn-amber{background:var(--amber); color:var(--navy); border-color:var(--amber);}
.btn-amber:hover{background:var(--amber-dark); border-color:var(--amber-dark); color:var(--navy); transform:translateY(-2px); box-shadow:var(--shadow-md);}
.btn-outline-light{background:transparent; color:#fff; border-color:rgba(255,255,255,.35);}
.btn-outline-light:hover{background:#fff; color:var(--navy); border-color:#fff;}
.btn-outline-navy{background:transparent; color:var(--navy); border-color:var(--border);}
.btn-outline-navy:hover{background:var(--navy); color:#fff; border-color:var(--navy);}
.btn-sm{padding:9px 18px; font-size:.85rem;}
.btn-block{width:100%; justify-content:center;}

/* =========================================================
   HEADER / NAVBAR
   ========================================================= */
.site-header{position:sticky; top:0; z-index:1000; background:rgba(11,21,38,.96); backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.08);}
.topbar{background:var(--navy-3); color:#B9C4D6; font-size:.82rem; padding:7px 0;}
.topbar .container-xl{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px;}
.topbar a{color:#fff; opacity:.9;}
.topbar a:hover{opacity:1; color:var(--amber);}
.topbar-links{display:flex; gap:20px; flex-wrap:wrap;}
.topbar-social{display:flex; gap:14px;}
.topbar-social a{font-size:.95rem;}

.navbar-main{padding:14px 0;}
.navbar-main .container-xl{display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:1.45rem; color:#fff;}
.brand .brand-mark{width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg, var(--blue), var(--amber)); display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-weight:700; color:var(--navy); font-size:1.1rem;}
.brand span{color:var(--amber);}

.nav-links{display:flex; align-items:center; gap:6px; list-style:none; margin:0; padding:0;}
.nav-links > li{position:relative;}
.nav-links > li > a{color:#DDE4F0; font-weight:600; font-size:.94rem; padding:12px 16px; display:flex; align-items:center; gap:6px; border-radius:8px; transition:.2s;}
.nav-links > li > a:hover, .nav-links > li.active > a{color:#fff; background:rgba(255,255,255,.06);}
.nav-cta{display:flex; align-items:center; gap:12px;}

/* Mega menu */
.nav-links > li.has-mega{position:static;}
.mega-menu{
  position:absolute; left:0; right:0; top:100%; width:100%;
  background:#fff; color:var(--ink); border-radius:0 0 var(--radius-lg) var(--radius-lg);
  box-shadow:var(--shadow-lg); padding:36px 0 30px;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:.22s ease; border-top:3px solid var(--blue);
}
.has-mega:hover .mega-menu, .has-mega.mega-open .mega-menu{opacity:1; visibility:visible; transform:translateY(0);}
.mega-menu .container-xl{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:36px;}
.mega-col-title{font-family:var(--font-mono); font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; color:var(--slate-light); margin-bottom:16px; font-weight:700;}
.mega-service-item{display:flex; gap:14px; align-items:flex-start; padding:11px 10px; border-radius:10px; transition:.2s;}
.mega-service-item:hover{background:var(--blue-light);}
.mega-service-icon{width:42px; height:42px; border-radius:10px; background:var(--blue-light); color:var(--blue); display:flex; align-items:center; justify-content:center; font-size:1.15rem; flex-shrink:0;}
.mega-service-item:hover .mega-service-icon{background:var(--blue); color:#fff;}
.mega-service-text strong{display:block; color:var(--navy); font-size:.95rem;}
.mega-service-text span{font-size:.82rem; color:var(--slate-light);}
.mega-industry-list{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:4px 10px;}
.mega-industry-list li a{display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:8px; font-size:.9rem; color:var(--slate); font-weight:500;}
.mega-industry-list li a:hover{background:var(--bg); color:var(--blue-dark);}
.mega-industry-list li a i{color:var(--amber-dark); font-size:.85rem;}
.mega-cta{background:linear-gradient(135deg, var(--navy), var(--navy-3)); border-radius:var(--radius-md); padding:26px; color:#fff;}
.mega-cta h4{color:#fff; font-size:1.1rem; margin-bottom:8px;}
.mega-cta p{color:#B9C4D6; font-size:.85rem; margin-bottom:16px;}

.navbar-toggle{display:none; background:none; border:none; color:#fff; font-size:1.6rem;}

/* Mobile nav */
@media (max-width: 991px){
  .navbar-toggle{display:block;}
  .nav-wrapper{position:fixed; inset:0 0 0 auto; width:86%; max-width:360px; background:var(--navy); height:100vh; overflow-y:auto; transform:translateX(100%); transition:.3s ease; z-index:1100; padding:24px;}
  .nav-wrapper.open{transform:translateX(0);}
  .nav-links{flex-direction:column; align-items:stretch; width:100%;}
  .nav-links > li > a{padding:14px 8px; border-bottom:1px solid rgba(255,255,255,.08); border-radius:0;}
  .mega-menu{position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border-top:none; background:transparent; padding:6px 0 10px 14px; display:none;}
  .has-mega.mega-open .mega-menu{display:block;}
  .mega-menu .container-xl{grid-template-columns:1fr; padding:0; gap:22px;}
  .mega-service-text strong,.mega-col-title{color:#fff;}
  .mega-service-text span{color:#8FA0BD;}
  .mega-industry-list li a{color:#DDE4F0;}
  .mega-cta{display:none;}
  .nav-overlay{position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1050; opacity:0; visibility:hidden; transition:.3s;}
  .nav-overlay.open{opacity:1; visibility:visible;}
  .nav-close{color:#fff; font-size:1.6rem; background:none; border:none; margin-bottom:10px;}
  .nav-cta{margin-top:18px; flex-direction:column; align-items:stretch;}
}

/* =========================================================
   HERO
   ========================================================= */
.hero{background:radial-gradient(120% 120% at 100% 0%, #1a3868 0%, var(--navy) 55%, var(--navy) 100%); color:#fff; padding:90px 0 110px; position:relative; overflow:hidden;}
.hero::before{content:''; position:absolute; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(255,176,32,.14), transparent 70%); top:-200px; right:-150px;}
.hero .container-xl{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; position:relative; z-index:2;}
.hero h1{color:#fff; font-size:clamp(2.2rem, 4vw, 3.35rem); line-height:1.12; margin-bottom:20px;}
.hero h1 .hl{color:var(--amber);}
.hero p.lead{color:#C4CEE0; font-size:1.12rem; max-width:520px; margin-bottom:32px;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:44px;}
.hero-trust{display:flex; gap:30px; flex-wrap:wrap;}
.hero-trust .item strong{display:block; font-family:var(--font-display); font-size:1.6rem; color:#fff;}
.hero-trust .item span{font-size:.82rem; color:#9FB0CC;}

/* Terminal mockup */
.terminal{background:#0D1526; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); border:1px solid rgba(255,255,255,.08); overflow:hidden;}
.terminal-bar{background:#131F35; padding:12px 16px; display:flex; align-items:center; gap:8px;}
.terminal-dot{width:11px; height:11px; border-radius:50%;}
.terminal-body{padding:26px 24px; font-family:var(--font-mono); font-size:.88rem; color:#9FE870; min-height:260px;}
.terminal-body .line{margin-bottom:10px; opacity:0; animation:typeIn .5s forwards;}
.terminal-body .prompt{color:var(--amber);}
.terminal-body .out{color:#8FA0BD;}
.cursor{display:inline-block; width:8px; height:16px; background:var(--amber); animation:blink 1s infinite; vertical-align:middle;}
@keyframes typeIn{to{opacity:1;}}
@keyframes blink{50%{opacity:0;}}

@media (max-width: 991px){
  .hero .container-xl{grid-template-columns:1fr; text-align:center;}
  .hero p.lead{margin-left:auto; margin-right:auto;}
  .hero-actions,.hero-trust{justify-content:center;}
}

/* =========================================================
   LOGO MARQUEE
   ========================================================= */
.marquee-wrap{padding:50px 0; background:#fff; border-bottom:1px solid var(--border); border-top:1px solid var(--border);}
.marquee-label{text-align:center; font-family:var(--font-mono); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--slate-light); margin-bottom:26px;}
.marquee-row{overflow:hidden; position:relative; mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); margin-bottom:22px;}
.marquee-track{display:flex; gap:60px; width:max-content; animation:scrollLeft 32s linear infinite;}
.marquee-track.reverse{animation:scrollRight 32s linear infinite;}
.marquee-track .logo-item{display:flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--slate-light); white-space:nowrap; opacity:.75; transition:.2s;}
.marquee-track .logo-item:hover{opacity:1; color:var(--navy);}
.marquee-track .logo-item i{color:var(--blue); font-size:1.3rem;}
@keyframes scrollLeft{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@keyframes scrollRight{from{transform:translateX(-50%);} to{transform:translateX(0);}}

/* =========================================================
   SERVICES GRID
   ========================================================= */
.services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media (max-width:991px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.services-grid{grid-template-columns:1fr;}}
.service-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:32px 28px; transition:.25s ease; height:100%;}
.service-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:transparent;}
.service-icon{width:54px; height:54px; border-radius:14px; background:var(--blue-light); color:var(--blue); display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:20px;}
.service-card h3{font-size:1.2rem; margin-bottom:10px;}
.service-card p{font-size:.93rem; margin-bottom:16px;}
.service-card .service-link{font-weight:700; font-size:.88rem; color:var(--blue-dark); display:inline-flex; align-items:center; gap:6px;}
.service-card .service-link i{transition:.2s;}
.service-card:hover .service-link i{transform:translateX(4px);}

/* =========================================================
   PROCESS (numbered — real sequential steps)
   ========================================================= */
.process-row{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative;}
@media (max-width:991px){.process-row{grid-template-columns:1fr 1fr;}}
@media (max-width:576px){.process-row{grid-template-columns:1fr;}}
.process-step{position:relative; padding-top:10px;}
.process-num{font-family:var(--font-mono); font-size:2.6rem; font-weight:700; color:transparent; -webkit-text-stroke:1.5px var(--blue); opacity:.5; line-height:1;}
.process-step h4{margin:14px 0 8px; font-size:1.08rem;}
.process-step p{font-size:.9rem;}

/* =========================================================
   STATS
   ========================================================= */
.stats-bar{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
@media (max-width:768px){.stats-bar{grid-template-columns:1fr 1fr;}}
.stat-item strong{font-family:var(--font-display); font-size:2.4rem; display:block; color:#fff;}
.stat-item span{color:#9FB0CC; font-size:.88rem; font-family:var(--font-mono); letter-spacing:.03em;}

/* =========================================================
   PORTFOLIO
   ========================================================= */
.portfolio-filters{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px;}
.filter-btn{border:1px solid var(--border); background:#fff; color:var(--slate); font-weight:600; font-size:.87rem; padding:9px 18px; border-radius:100px; transition:.2s;}
.filter-btn:hover{border-color:var(--blue);}
.filter-btn.active{background:var(--navy); color:#fff; border-color:var(--navy);}
.portfolio-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media (max-width:991px){.portfolio-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.portfolio-grid{grid-template-columns:1fr;}}
.portfolio-item{display:none; border-radius:var(--radius-md); overflow:hidden; background:#fff; border:1px solid var(--border); transition:.25s;}
.portfolio-item.show{display:block;}
.portfolio-item:hover{transform:translateY(-6px); box-shadow:var(--shadow-md);}
.portfolio-thumb{aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:1.6rem; color:#fff; position:relative;}
.portfolio-thumb span.tag{position:absolute; top:14px; left:14px; background:rgba(255,255,255,.18); backdrop-filter:blur(6px); font-family:var(--font-mono); font-size:.7rem; padding:5px 12px; border-radius:100px; text-transform:uppercase; letter-spacing:.05em;}
.portfolio-info{padding:20px 22px;}
.portfolio-info h4{font-size:1.05rem; margin-bottom:6px;}
.portfolio-info p{font-size:.86rem; margin-bottom:0;}

/* =========================================================
   TESTIMONIALS / GOOGLE REVIEWS SLIDER
   ========================================================= */
.reviews-wrap{position:relative;}
.google-badge{display:inline-flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--border); border-radius:100px; padding:8px 18px; font-weight:600; font-size:.88rem; box-shadow:var(--shadow-sm);}
.google-badge .stars{color:#FBBC04; letter-spacing:2px;}
.reviews-track-wrap{overflow:hidden; margin-top:36px;}
.reviews-track{display:flex; gap:22px; transition:transform .5s ease;}
.review-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:26px; min-width:340px; max-width:340px; flex:0 0 auto; box-shadow:var(--shadow-sm);}
.review-top{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.review-avatar{width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; color:#fff; font-size:1.05rem;}
.review-name{font-weight:700; color:var(--navy); font-size:.94rem;}
.review-date{font-size:.78rem; color:var(--slate-light);}
.review-stars{color:#FBBC04; font-size:.85rem; margin-bottom:10px; letter-spacing:2px;}
.review-text{font-size:.9rem; color:var(--slate);}
.reviews-nav{display:flex; gap:10px; margin-top:26px; justify-content:center;}
.reviews-nav button{width:42px; height:42px; border-radius:50%; border:1px solid var(--border); background:#fff; color:var(--navy); font-size:1.1rem; transition:.2s;}
.reviews-nav button:hover{background:var(--navy); color:#fff; border-color:var(--navy);}
@media (max-width:576px){.review-card{min-width:82vw; max-width:82vw;}}

/* =========================================================
   PRICING
   ========================================================= */
.pricing-tabs{display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-bottom:46px; background:#fff; border:1px solid var(--border); padding:8px; border-radius:100px; max-width:max-content; margin-left:auto; margin-right:auto;}
.pricing-tab-btn{border:none; background:transparent; font-weight:700; font-size:.88rem; padding:11px 20px; border-radius:100px; color:var(--slate); transition:.2s; white-space:nowrap;}
.pricing-tab-btn.active{background:var(--navy); color:#fff;}
.billing-toggle{display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:40px; font-weight:600; font-size:.92rem;}
.switch{position:relative; width:52px; height:28px; background:var(--border); border-radius:100px; cursor:pointer; border:none;}
.switch::after{content:''; position:absolute; width:22px; height:22px; background:#fff; border-radius:50%; top:3px; left:3px; transition:.25s; box-shadow:0 2px 4px rgba(0,0,0,.2);}
.switch.on{background:var(--blue);}
.switch.on::after{left:27px;}
.save-badge{background:#DFF6E4; color:#12793A; font-size:.72rem; font-weight:700; padding:3px 9px; border-radius:100px;}

.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media (max-width:991px){.pricing-grid{grid-template-columns:1fr; max-width:440px; margin:0 auto;}}
.price-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:34px 30px; position:relative; transition:.25s;}
.price-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md);}
.price-card.featured{border:2px solid var(--blue); box-shadow:var(--shadow-md);}
.price-card .ribbon{position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--amber); color:var(--navy); font-size:.72rem; font-weight:700; padding:5px 16px; border-radius:100px; text-transform:uppercase; letter-spacing:.04em;}
.price-name{font-family:var(--font-mono); text-transform:uppercase; font-size:.78rem; letter-spacing:.06em; color:var(--blue-dark); font-weight:700; margin-bottom:10px;}
.price-value{display:flex; align-items:baseline; gap:6px; margin-bottom:6px;}
.price-value .amt{font-family:var(--font-display); font-size:2.4rem; font-weight:800; color:var(--navy);}
.price-value .per{color:var(--slate-light); font-size:.88rem;}
.price-desc{font-size:.87rem; margin-bottom:24px;}
.price-features{list-style:none; padding:0; margin:0 0 28px;}
.price-features li{display:flex; gap:10px; align-items:flex-start; font-size:.89rem; color:var(--slate); padding:8px 0; border-bottom:1px dashed var(--border);}
.price-features li:last-child{border-bottom:none;}
.price-features li i{color:#12A150; margin-top:3px;}
.price-features li.muted{color:var(--slate-light);}
.price-features li.muted i{color:var(--slate-light);}

.deals-banner{background:linear-gradient(120deg, var(--navy), var(--navy-3)); border-radius:var(--radius-lg); padding:44px; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;}
.deals-banner h3{color:#fff; margin-bottom:8px;}
.deals-banner p{color:#B9C4D6; margin-bottom:0;}

/* =========================================================
   ABOUT
   ========================================================= */
.value-card{display:flex; gap:16px; padding:22px 0; border-bottom:1px solid var(--border);}
.value-card:last-child{border-bottom:none;}
.value-icon{width:48px; height:48px; border-radius:12px; background:var(--blue-light); color:var(--blue); display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0;}
.value-card h4{font-size:1.02rem; margin-bottom:4px;}
.value-card p{font-size:.89rem; margin-bottom:0;}
.team-card{text-align:center;}
.team-photo{width:100%; aspect-ratio:1/1; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:2rem; color:#fff; margin-bottom:16px;}
.team-card h4{font-size:1.02rem; margin-bottom:2px;}
.team-card span{font-size:.82rem; color:var(--slate-light); font-family:var(--font-mono);}

/* =========================================================
   CONTACT
   ========================================================= */
.contact-wrap{display:grid; grid-template-columns:.9fr 1.1fr; gap:40px;}
@media (max-width:900px){.contact-wrap{grid-template-columns:1fr;}}
.contact-info-card{background:var(--navy); color:#fff; border-radius:var(--radius-lg); padding:38px 32px;}
.contact-info-card h3{color:#fff;}
.contact-info-card p{color:#B9C4D6;}
.contact-row{display:flex; gap:14px; align-items:flex-start; margin-top:22px;}
.contact-row .ico{width:42px; height:42px; border-radius:10px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; color:var(--amber); flex-shrink:0;}
.contact-row strong{display:block; color:#fff; font-size:.92rem;}
.contact-row span, .contact-row a{font-size:.87rem; color:#B9C4D6;}
.social-row{display:flex; gap:10px; margin-top:28px;}
.social-row a{width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; color:#fff; transition:.2s;}
.social-row a:hover{background:var(--amber); color:var(--navy);}

.form-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:38px 34px; box-shadow:var(--shadow-sm);}
.form-control, .form-select{border:1px solid var(--border); border-radius:10px; padding:12px 14px; font-size:.92rem; margin-bottom:18px;}
.form-control:focus, .form-select:focus{border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-light);}
label{font-weight:600; font-size:.85rem; color:var(--navy); margin-bottom:6px; display:block;}
.form-alert{padding:14px 18px; border-radius:10px; margin-bottom:20px; font-size:.9rem; display:none;}
.form-alert.success{background:#DFF6E4; color:#12793A; display:block;}
.form-alert.error{background:#FDE8E8; color:#B42318; display:block;}

.map-embed{border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); height:340px;}

/* =========================================================
   CTA BANNER
   ========================================================= */
.cta-banner{background:linear-gradient(120deg, var(--blue-dark), var(--blue)); border-radius:var(--radius-lg); padding:56px; text-align:center; color:#fff; position:relative; overflow:hidden;}
.cta-banner h2{color:#fff; margin-bottom:14px;}
.cta-banner p{color:#DCE7FF; max-width:520px; margin:0 auto 30px;}

/* =========================================================
   FOOTER (mega footer)
   ========================================================= */
.site-footer{background:var(--navy); color:#B9C4D6; padding-top:70px;}
.footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr; gap:30px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.08);}
@media (max-width:991px){.footer-top{grid-template-columns:1fr 1fr;}}
@media (max-width:576px){.footer-top{grid-template-columns:1fr;}}
.footer-brand p{color:#8FA0BD; font-size:.88rem; margin:16px 0 20px;}
.footer-title{color:#fff; font-family:var(--font-mono); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:18px; font-weight:700;}
.footer-links{list-style:none; padding:0; margin:0;}
.footer-links li{margin-bottom:11px;}
.footer-links a{color:#B9C4D6; font-size:.89rem; transition:.2s;}
.footer-links a:hover{color:var(--amber); padding-left:3px;}
.footer-newsletter input{width:100%; padding:12px 14px; border-radius:10px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.05); color:#fff; margin-bottom:10px; font-size:.88rem;}
.footer-newsletter input::placeholder{color:#7488A6;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding:24px 0; flex-wrap:wrap; gap:12px; font-size:.84rem; color:#7488A6;}
.footer-bottom .social-row a{width:34px; height:34px;}
.payment-icons{display:flex; gap:10px; align-items:center; font-size:1.4rem; color:#7488A6;}

/* =========================================================
   PAGE HEADER (inner pages)
   ========================================================= */
.page-header{background:radial-gradient(120% 150% at 100% 0%, #1a3868 0%, var(--navy) 60%); color:#fff; padding:64px 0; position:relative; overflow:hidden;}
.page-header h1{color:#fff; margin-bottom:10px; font-size:clamp(1.9rem,3.4vw,2.6rem);}
.breadcrumb-nav{color:#9FB0CC; font-size:.88rem;}
.breadcrumb-nav a{color:#DCE7FF;}
.breadcrumb-nav a:hover{color:var(--amber);}

/* scroll to top */
.scroll-top{position:fixed; bottom:26px; right:26px; width:46px; height:46px; border-radius:50%; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-md); z-index:900; opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s;}
.scroll-top.show{opacity:1; visibility:visible; transform:translateY(0);}

/* WhatsApp float */
.float-whatsapp{position:fixed; bottom:26px; left:26px; width:52px; height:52px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.5rem; box-shadow:var(--shadow-md); z-index:900;}

/* fade-in on scroll */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
