*{box-sizing:border-box}
:root{
  --white:#ffffff;
  --text:#0e2d4d;
  --muted:#6b7c8f;
  --gold:#c7a252;
  --gold-dark:#a9802c;
  --navy:#12375f;
  --navy-deep:#0d2743;
  --line:rgba(18,55,95,.12);
  --shadow:0 20px 60px rgba(13,39,67,.10);
  --container:1180px;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0;
  overflow-x:hidden;
  font-family:"Inter",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(199,162,82,.18), transparent 26%),
    linear-gradient(180deg,#fbf9f5 0%, #f4efe6 100%);
}
.cta-box h2,
.cta-box p,
.cta-box span {
  color: #ffffff !important;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(var(--container),calc(100% - 32px));margin:0 auto}

.topbar{background:var(--navy-deep);color:rgba(255,255,255,.92);font-size:14px}
.topbar-inner{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar-links{display:flex;gap:18px;flex-wrap:wrap}

.header{
  position:sticky;top:0;z-index:120;background:rgba(251,249,245,.92);
  backdrop-filter:blur(12px);border-bottom:1px solid rgba(18,55,95,.08)
}
.nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;min-width:0}
.brand img{width:270px;height:auto;max-width:100%}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{font-size:15px;font-weight:600;color:var(--navy-deep)}
.nav-links a:hover{color:var(--gold-dark)}

.menu-toggle{
  display:none;width:48px;height:48px;border:1px solid var(--line);
  background:var(--white);border-radius:16px;padding:10px;cursor:pointer;flex:0 0 auto
}
.menu-toggle span{display:block;height:2px;margin:6px 0;background:var(--navy-deep);border-radius:999px}

.hero{position:relative;padding:84px 0 50px;overflow:hidden}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 14% 18%, rgba(199,162,82,.16), transparent 18%),
    radial-gradient(circle at 85% 20%, rgba(18,55,95,.12), transparent 20%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
.kicker{
  display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(199,162,82,.14);
  color:var(--gold-dark);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase
}
.hero h1,.section-intro h2,.center-head h2,.hero-panel-card h2,.cta-box h2{
  margin:16px 0 0;font-family:"Marcellus",serif;font-weight:400;line-height:1.1;letter-spacing:-.02em
}
.hero h1{font-size:clamp(40px,6vw,76px);max-width:760px}
.hero p,.section-content p,.head-text,.service-card p,.review-card p,.cta-box p{
  color:var(--muted);line-height:1.8;font-size:16px
}
.hero p{max-width:650px;margin-top:18px}
.hero-actions,.cta-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{
  min-height:54px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;transition:transform .2s ease, box-shadow .2s ease, background .2s ease
}
.btn:hover{transform:translateY(-2px)}
.btn-gold{color:#fff;background:linear-gradient(135deg,var(--gold),var(--gold-dark));box-shadow:0 18px 40px rgba(169,128,44,.28)}
.btn-dark{background:#fff;color:var(--navy-deep);border:1px solid var(--line)}
.btn-light{background:#fff;color:var(--navy-deep)}
.btn-outline{border:1px solid rgba(255,255,255,.35);color:#fff}

.hero-panel-card{
  min-height:460px;border-radius:34px;position:relative;overflow:hidden;display:flex;flex-direction:column;
  justify-content:flex-end;padding:34px;color:#fff;
  background:
    linear-gradient(180deg, rgba(9,28,49,.2), rgba(9,28,49,.88)),
    radial-gradient(circle at top left, rgba(236,216,171,.35), transparent 25%),
    linear-gradient(135deg, #1a4b7d 0%, #0f2b4a 100%);
  box-shadow:0 30px 80px rgba(13,39,67,.18)
}
.hero-panel-card span{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#f2dfb1}
.hero-panel-card h2{font-size:clamp(30px,3vw,48px);margin-top:14px}
.hero-panel-card p{color:rgba(255,255,255,.84);margin-top:14px}

.stats-section{padding:0 0 20px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat-box{background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:24px}
.stat-box strong{display:block;font-family:"Marcellus",serif;font-size:32px;color:var(--navy-deep);margin-bottom:8px}
.stat-box span{color:var(--muted);font-size:14px;line-height:1.7}

.section{padding:100px 0}
.section-soft{background:linear-gradient(180deg, rgba(18,55,95,.03), rgba(199,162,82,.05))}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:start}
.section-intro h2,.center-head h2,.cta-box h2{font-size:clamp(34px,5vw,62px);color:var(--navy-deep)}
.center-head{text-align:center;max-width:900px;margin:0 auto 32px}
.center-head .head-text{margin-top:14px}

.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card,.review-card,.contact-card{background:rgba(255,255,255,.82);border:1px solid rgba(18,55,95,.1);box-shadow:var(--shadow)}
.service-card{padding:26px;border-radius:24px}
.service-no{
  width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg, rgba(199,162,82,.20), rgba(169,128,44,.12));
  color:var(--gold-dark);display:grid;place-items:center;font-weight:800;margin-bottom:18px
}
.service-card h3{margin:0 0 10px;font-size:21px;color:var(--navy-deep)}

.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.gallery-card{
  min-height:250px;border-radius:26px;overflow:hidden;position:relative;box-shadow:0 22px 60px rgba(13,39,67,.16);
  border:1px solid rgba(255,255,255,.18);transition:transform .2s ease
}
.gallery-card::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(4,14,24,.12), rgba(4,14,24,.75)),
             radial-gradient(circle at top left, rgba(236,216,171,.30), transparent 26%);
}
.gallery-card:hover{transform:translateY(-4px)}
.gallery-overlay{position:absolute;inset:auto 18px 18px 18px;z-index:1;color:#fff}
.gallery-overlay span{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#f1dfb3}
.gallery-overlay strong{display:block;margin-top:10px;font-family:"Marcellus",serif;font-size:28px;font-weight:400;line-height:1.2}
.g1{grid-column:span 4;background:linear-gradient(135deg,#204d7f,#112a46)}
.g2{grid-column:span 4;background:linear-gradient(135deg,#c7a252,#866423)}
.g3{grid-column:span 4;background:linear-gradient(135deg,#345d8d,#173352)}
.g4{grid-column:span 5;background:linear-gradient(135deg,#143c69,#0b223c)}
.g5{grid-column:span 3;background:linear-gradient(135deg,#bf9850,#8b6827)}
.g6{grid-column:span 4;background:linear-gradient(135deg,#325a84,#152d48)}

.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review-card{padding:26px;border-radius:24px}
.review-card strong{display:block;margin-top:16px;color:var(--navy-deep)}

.cta-wrap{padding-top:20px}
.cta-box{
  background:linear-gradient(135deg, #153d69 0%, #0c2340 100%);border-radius:32px;padding:40px;color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:0 28px 60px rgba(12,35,64,.26)
}
.kicker-light{background:rgba(255,255,255,.12);color:#f0dfb4}
.cta-box p{color:rgba(255,255,255,.8)}

.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.contact-card{
  min-height:132px;border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:8px;
  transition:transform .2s ease,border-color .2s ease
}
.contact-card:hover{transform:translateY(-4px);border-color:rgba(169,128,44,.35)}
.contact-card span{font-size:14px;color:var(--muted)}
.contact-card strong{font-size:19px;color:var(--navy-deep);word-break:break-word}

.footer{padding:28px 0 120px}
.footer-inner{
  border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted)
}
.footer-logo img{width:190px}

.floating-whatsapp{
  position:fixed;right:18px;bottom:18px;z-index:150;min-width:150px;height:54px;border-radius:999px;padding:0 20px;color:#fff;
  font-weight:800;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  box-shadow:0 20px 45px rgba(169,128,44,.34)
}

@media (max-width:1100px){
  .hero-inner,.split,.cta-box{grid-template-columns:1fr}
  .services-grid,.review-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .g1,.g2,.g3,.g4,.g5,.g6{grid-column:span 6}
}

@media (max-width:820px){
  .topbar-inner{
    min-height:auto;padding:12px 0;flex-direction:column;align-items:flex-start
  }
  .topbar-links{
    width:100%;flex-direction:column;align-items:flex-start;gap:10px
  }
  .menu-toggle{display:inline-block}
  .nav{min-height:76px;gap:12px}
  .brand img{width:190px}
  .nav-links{
    position:absolute;left:12px;right:12px;top:calc(100% + 10px);padding:18px;border-radius:20px;
    background:rgba(255,255,255,.98);border:1px solid var(--line);box-shadow:var(--shadow);
    display:none;flex-direction:column;align-items:flex-start;gap:14px
  }
  .nav-links.active{display:flex}
  .hero{padding-top:42px}
  .hero-inner{gap:20px}
  .hero h1{font-size:clamp(34px,11vw,48px);line-height:1.08}
  .hero p{font-size:15px;line-height:1.75}
  .hero-panel-card{min-height:auto;padding:26px;border-radius:26px}
  .hero-panel-card h2{font-size:36px}
  .stats-grid,.services-grid,.review-grid,.contact-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .g1,.g2,.g3,.g4,.g5,.g6{grid-column:auto}
  .cta-box{padding:28px}
  .footer-inner{flex-direction:column;align-items:flex-start}
}

@media (max-width:560px){
  .container{width:min(var(--container),calc(100% - 24px))}
  .section,.hero{padding-block:60px}
  .hero{padding-top:34px}
  .kicker{font-size:11px;padding:7px 12px}
  .hero h1{font-size:clamp(30px,10vw,42px)}
  .hero-actions,.cta-actions{gap:12px}
  .btn{width:100%;min-height:52px}
  .section-intro h2,.center-head h2,.cta-box h2{font-size:clamp(28px,9vw,38px);line-height:1.15}
  .service-card,.review-card,.contact-card,.stat-box{padding:20px}
  .gallery-card{min-height:220px}
  .gallery-overlay strong{font-size:24px}
  .floating-whatsapp{
    left:12px;right:12px;bottom:12px;min-width:0;width:auto
  }
  .footer{padding-bottom:110px}
}
.cta-box {
  background: linear-gradient(135deg, #153d69 0%, #0c2340 100%);
  border-radius: 32px;
  padding: 40px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cta-box h2 {
  font-family: "Marcellus", serif;
  font-size: clamp(28px, 6vw, 40px);
  color: #ffffff;
  line-height: 1.2;
}

.cta-box p {
  color: rgba(255,255,255,0.85);
}

.kicker-light {
  background: rgba(255,255,255,0.15);
  color: #f1dfb3;
}
