/* ===== Public landing page ===== */
.site{background:#fff}
.topbar{background:#071528;color:rgba(255,255,255,.7);font-size:.82rem;padding:.4rem 0}
.topbar a{color:rgba(255,255,255,.85);text-decoration:none}
.site-nav{background:rgba(11,31,58,.97);backdrop-filter:blur(8px);padding:.7rem 0;box-shadow:0 4px 20px rgba(0,0,0,.15)}
.site-nav .navbar-brand{color:#fff;line-height:1.1}
.site-nav .navbar-brand b{font-family:"Playfair Display",serif;font-size:1.25rem;display:block}
.site-nav .navbar-brand small{display:block;font-size:.68rem;color:var(--gold-2);letter-spacing:.08em;text-transform:uppercase}
.site-logo{height:46px}
.site-nav .nav-link{color:rgba(255,255,255,.85);font-weight:500}
.site-nav .nav-link:hover{color:var(--gold-2)}

.hero{position:relative;color:#fff;padding:6rem 0 7rem;overflow:hidden;background:var(--navy)}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(1000px 500px at 85% 20%,rgba(201,162,39,.22),transparent 60%),
  radial-gradient(800px 600px at 0% 100%,rgba(29,74,128,.9),transparent 60%),
  linear-gradient(135deg,#071528 0%,#0b1f3a 45%,#16365f 100%)}
.hero-bg:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(180deg,#000,transparent)}
.hero-bg.has-img{background:linear-gradient(100deg,rgba(7,21,40,.95) 0%,rgba(11,31,58,.85) 45%,rgba(11,31,58,.45) 100%),var(--hero-img) center/cover no-repeat}
.hero-bg.has-img:before{display:none}
.eyebrow{display:inline-flex;gap:.4rem;align-items:center;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-2);background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.35);padding:.4rem .85rem;border-radius:50px}
.eyebrow.dark{color:#8a6b0f;background:var(--gold-soft);border-color:#ecdca6}
.hero-title{font-family:"Playfair Display",serif;font-weight:800;font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.12;margin:1.2rem 0 1rem}
.hero-sub{font-size:1.12rem;color:rgba(255,255,255,.78);max-width:560px}
.hero-stats{display:flex;gap:2.5rem;margin-top:2.8rem;flex-wrap:wrap}
.hero-stats b{display:block;font-family:"Playfair Display",serif;font-size:2rem;color:var(--gold-2)}
.hero-stats span{font-size:.82rem;color:rgba(255,255,255,.7)}
.hero-visual svg{width:100%;height:auto;animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}

.trust{background:var(--gold-soft);padding:1.1rem 0;font-weight:600;color:var(--navy);font-size:.92rem;border-bottom:1px solid #efe1b4}
.trust i{color:var(--gold);font-size:1.1rem;margin-right:.3rem}

.section{padding:5.5rem 0}
.sec-head{text-align:center;max-width:680px;margin:0 auto 3rem}
.sec-head h2,.section h2{font-family:"Playfair Display",serif;font-weight:700;color:var(--navy);font-size:clamp(1.7rem,3vw,2.5rem);margin:.9rem 0 .6rem}
.sec-head p{color:var(--muted)}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem;height:100%;transition:.25s;position:relative;overflow:hidden}
.svc-card:after{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:.3s}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(11,31,58,.12);border-color:transparent}
.svc-card:hover:after{width:100%}
.svc-ico{width:62px;height:62px;border-radius:16px;background:linear-gradient(135deg,var(--navy),var(--navy-3));display:grid;place-items:center;color:var(--gold-2);font-size:1.6rem;margin-bottom:1.2rem}
.svc-card h5{font-weight:700;color:var(--navy)}
.svc-card p{color:var(--muted);font-size:.95rem}
.svc-card a{color:var(--gold);font-weight:600;text-decoration:none;font-size:.9rem}

.why{background:linear-gradient(135deg,#071528,#13325c);color:#fff}
.why h2{color:#fff}
.why-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;height:100%}
.why-card i{font-size:1.7rem;color:var(--gold-2)}
.why-card h6{margin:.8rem 0 .4rem;font-weight:700}
.why-card p{font-size:.88rem;color:rgba(255,255,255,.7);margin:0}

.process .step{text-align:center;padding:1.5rem}
.process .step span{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--gold-soft);border:2px solid var(--gold);color:var(--navy);font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;margin-bottom:1rem}
.process .step h6{font-weight:700;color:var(--navy)}
.process .step p{color:var(--muted);font-size:.92rem}
.industries{background:#f7f9fc}
.chip{background:#fff;border:1px solid var(--line);border-radius:50px;padding:.55rem 1.1rem;font-weight:500;color:var(--navy);font-size:.92rem}

.contact-list{list-style:none;padding:0;margin-top:2rem}
.contact-list li{display:flex;gap:1rem;margin-bottom:1.3rem;align-items:flex-start}
.contact-list i{width:48px;height:48px;border-radius:12px;background:var(--navy);color:var(--gold-2);display:grid;place-items:center;font-size:1.2rem;flex-shrink:0}
.contact-list small{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.contact-list a{color:var(--navy);font-weight:600;text-decoration:none;font-size:1.05rem}
.contact-card{background:#fff;border-radius:20px;padding:2.2rem;box-shadow:0 20px 60px rgba(11,31,58,.1);border:1px solid var(--line)}
.map{width:100%;height:340px;border:0;border-radius:18px}

.site-footer{background:#071528;color:rgba(255,255,255,.65);padding:3.5rem 0 1.5rem}
.site-footer h6{color:var(--gold-2);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:1rem}
.site-footer a{display:block;color:rgba(255,255,255,.72);text-decoration:none;margin-bottom:.5rem;font-size:.92rem}
.site-footer a:hover{color:var(--gold-2)}
.site-footer hr{border-color:rgba(255,255,255,.12);margin:2rem 0 1rem}
.wa-float{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.8rem;box-shadow:0 10px 25px rgba(37,211,102,.45);z-index:50;text-decoration:none}
.wa-float:hover{color:#fff;transform:scale(1.06)}
@media (max-width:991px){.hero{padding:4rem 0 5rem}.section{padding:4rem 0}}
@media (max-width:575px){
  .site{overflow-x:hidden}
  .site-nav .navbar-brand small{display:none}
  .site-nav .navbar-brand b{font-size:1.02rem}
  .site-logo{height:38px}
  .hero-stats{gap:1.4rem}
  .hero-stats b{font-size:1.6rem}
  .contact-card{padding:1.4rem}
}
