/* ===== Future Peak — shared stylesheet ===== */
:root{
  --navy-deep:#0B2E4F;
  --navy:#0F3460;
  --blue:#2E86C1;
  --blue-light:#4FA8D8;
  --sky:#EAF3FB;
  --white:#FFFFFF;
  --ink:#16324A;
  --muted:#5A7893;
  --muted-light:#CBD9E6;
  --gold:#E8A33D; /* used sparingly for star ratings only */
  --radius:14px;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{ font-family:'Poppins',sans-serif; color:var(--navy); margin:0; line-height:1.15; }
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.eyebrow{ font-family:'Inter',sans-serif; font-weight:600; font-size:13px; letter-spacing:2.5px; text-transform:uppercase; color:var(--blue); }
section{padding:88px 0;}
@media (max-width:720px){ section{padding:56px 0;} }
.center{text-align:center; margin-left:auto; margin-right:auto;}

/* ---------- header / topbar ---------- */
.topbar{ background:var(--navy-deep); color:var(--muted-light); font-size:13px; }
.topbar .wrap{ display:flex; justify-content:space-between; align-items:center; padding-top:8px; padding-bottom:8px; flex-wrap:wrap; gap:6px;}
.topbar a{ color:#fff; font-weight:600; }
header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.95); backdrop-filter:blur(8px); border-bottom:1px solid #E6EEF5; }
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 28px; max-width:var(--maxw); margin:0 auto;}
.brand{display:flex; align-items:center; gap:10px;}
.brand-name{font-family:'Poppins'; font-weight:700; font-size:17px; color:var(--navy);}
.brand-name span{color:var(--blue); font-size:12px; display:block; font-weight:600; letter-spacing:1px;}
.navlinks{display:flex; gap:26px; font-size:14.5px; font-weight:500;}
.navlinks a{color:var(--ink); opacity:0.85;}
.navlinks a:hover{color:var(--blue); opacity:1;}
.nav-cta{display:flex; align-items:center; gap:10px;}
.btn{ display:inline-flex; align-items:center; gap:8px; padding:11px 20px; border-radius:999px; font-weight:600; font-size:14px; border:1px solid transparent; cursor:pointer; white-space:nowrap;}
.btn-sm{padding:9px 16px; font-size:13.5px;}
.btn-primary{background:var(--navy); color:#fff;}
.btn-primary:hover{background:var(--navy-deep);}
.btn-wa{background:#25D366; color:#fff;}
.btn-wa:hover{background:#1EBE5A;}
.btn-ghost{background:transparent; border-color:#C9DCEA; color:var(--navy);}
.btn-ghost:hover{background:var(--sky);}
@media (max-width:860px){ .navlinks{display:none;} }

/* ---------- breadcrumb ---------- */
.breadcrumb{font-size:13px; color:var(--muted); padding:16px 0 0;}
.breadcrumb a{color:var(--blue);}

/* ---------- hero (service pages) ---------- */
.svc-hero{ background:linear-gradient(180deg,#DCEEFA 0%, #F5FAFD 60%, #FFFFFF 100%); padding:32px 0 56px; }
.svc-hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:start; margin-top:16px;}
@media (max-width:900px){ .svc-hero-grid{grid-template-columns:1fr;} }
.svc-hero h1{font-size:clamp(28px,4.2vw,44px); font-weight:800; letter-spacing:-0.4px;}
.svc-hero p.lead{font-size:17px; color:var(--muted); max-width:520px; margin:16px 0 24px; line-height:1.65;}
.price-badge{ display:inline-flex; align-items:center; gap:10px; background:#fff; border:1px solid #DCEAF4; padding:10px 18px; border-radius:999px; font-weight:700; color:var(--navy); font-size:15px; margin-bottom:20px;}
.price-badge .from{font-weight:500; color:var(--muted); font-size:13px;}
.stars{display:inline-flex; align-items:center; gap:6px; font-size:14px; color:var(--muted); font-weight:600;}
.stars svg{width:16px; height:16px;}
.hero-ctas{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:22px;}
.trust-row{display:flex; gap:22px; flex-wrap:wrap; font-size:13.5px; color:var(--muted); font-weight:500;}
.trust-row span{display:flex; align-items:center; gap:6px;}

/* quick request card in hero */
.quick-form{ background:#fff; border:1px solid #E7EEF4; border-radius:var(--radius); padding:26px; box-shadow:0 20px 44px rgba(15,52,96,0.08);}
.quick-form h3{font-size:18px; margin-bottom:4px;}
.quick-form p.small{font-size:13px; color:var(--muted); margin:0 0 16px;}
.quick-form input, .quick-form select, .quick-form textarea{
  width:100%; padding:12px 14px; border:1px solid #DCE6EF; border-radius:10px; font-family:'Inter'; font-size:14.5px;
  outline:none; background:#F9FBFD; margin-bottom:12px;
}
.quick-form input:focus, .quick-form select:focus, .quick-form textarea:focus{border-color:var(--blue); background:#fff;}
.quick-form button{width:100%; justify-content:center; padding:13px;}

/* ---------- trust bar ---------- */
.trust-bar{ background:var(--navy); padding:34px 0;}
.trust-bar .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
@media (max-width:760px){ .trust-bar .wrap{grid-template-columns:1fr 1fr;} }
.trust-stat b{ display:block; font-family:'Poppins'; font-size:26px; color:#fff; font-weight:700;}
.trust-stat span{font-size:12.5px; color:var(--muted-light);}

/* ---------- section heading ---------- */
.sec-head{max-width:640px; margin-bottom:40px;}
.sec-head h2{font-size:clamp(24px,3.2vw,34px); font-weight:700; margin-top:10px;}
.sec-head p{color:var(--muted); font-size:15.5px; margin-top:12px; line-height:1.6;}

/* ---------- included list ---------- */
.included-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px 32px;}
@media (max-width:640px){ .included-grid{grid-template-columns:1fr;} }
.included-item{display:flex; gap:12px; align-items:flex-start; font-size:15px; color:var(--ink); padding:10px 0; border-bottom:1px solid #EEF3F7;}
.included-item svg{flex-shrink:0; margin-top:2px;}

/* ---------- process steps ---------- */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
@media (max-width:860px){ .steps{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .steps{grid-template-columns:1fr;} }
.step h3{font-size:16px; font-weight:600; margin:14px 0 6px;}
.step p{font-size:14px; color:var(--muted); line-height:1.6; margin:0;}
.step .num{ width:34px; height:34px; border-radius:50%; background:var(--sky); color:var(--navy); font-weight:700; display:flex; align-items:center; justify-content:center; font-family:'Poppins'; font-size:14px;}

/* ---------- why cards ---------- */
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:860px){ .why-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .why-grid{grid-template-columns:1fr;} }
.why-card{ border:1px solid #E7EEF4; border-radius:var(--radius); padding:22px 20px;}
.why-card h3{font-size:15.5px; font-weight:600; margin:12px 0 6px;}
.why-card p{font-size:13.5px; color:var(--muted); line-height:1.6; margin:0;}

/* ---------- FAQ ---------- */
.faq-item{ border-bottom:1px solid #E7EEF4; padding:18px 0;}
.faq-item summary{ cursor:pointer; font-weight:600; font-size:15.5px; color:var(--navy); list-style:none; display:flex; justify-content:space-between; align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; font-size:20px; color:var(--blue);}
.faq-item[open] summary::after{content:'−';}
.faq-item p{font-size:14.5px; color:var(--muted); line-height:1.65; margin:12px 0 0;}

/* ---------- full request form section ---------- */
.form-section{ background:var(--sky); }
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
@media (max-width:900px){ .form-grid{grid-template-columns:1fr;} }
.full-form{ background:#fff; border-radius:var(--radius); padding:32px; border:1px solid #E7EEF4;}
.full-form .row2{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
@media (max-width:520px){ .full-form .row2{grid-template-columns:1fr;} }
.full-form input, .full-form select, .full-form textarea{
  width:100%; padding:13px 16px; border:1px solid #DCE6EF; border-radius:10px; font-family:'Inter'; font-size:14.5px;
  outline:none; background:#F9FBFD; margin-bottom:14px;
}
.full-form input:focus, .full-form select:focus, .full-form textarea:focus{border-color:var(--blue); background:#fff;}
.full-form textarea{min-height:100px; resize:vertical;}
.info-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:16px;}
.info-list li{display:flex; gap:12px; align-items:flex-start; font-size:14.5px;}
.info-list b{display:block; font-size:12.5px; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:0.5px;}

/* ---------- related services ---------- */
.related-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media (max-width:860px){ .related-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .related-grid{grid-template-columns:1fr;} }
.related-card{ border:1px solid #E7EEF4; border-radius:var(--radius); padding:18px; display:flex; align-items:center; gap:12px;}
.related-card:hover{border-color:var(--blue-light);}
.related-card .ic{width:40px; height:40px; border-radius:10px; background:var(--sky); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.related-card span{font-weight:600; font-size:14.5px; color:var(--navy);}

/* ---------- footer ---------- */
footer{background:var(--navy-deep); color:var(--muted-light); padding:52px 0 24px; font-size:14px;}
.foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px;}
@media (max-width:800px){ .foot-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .foot-grid{grid-template-columns:1fr;} }
.foot-grid h4{color:#fff; font-family:'Poppins'; font-size:14.5px; margin:0 0 14px;}
.foot-grid ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:9px;}
.foot-grid ul a:hover{color:#fff;}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.12); margin-top:32px; padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px;}

/* ---------- sticky mobile CTA bar ---------- */
.mobile-cta-bar{ display:none; }
@media (max-width:760px){
  .mobile-cta-bar{
    display:flex; position:fixed; bottom:0; left:0; right:0; z-index:80;
    background:#fff; border-top:1px solid #E2E9EF; box-shadow:0 -6px 20px rgba(15,52,96,0.12);
  }
  .mobile-cta-bar a{ flex:1; text-align:center; padding:14px 8px; font-weight:700; font-size:14px;}
  .mobile-cta-bar a.call{color:var(--navy);}
  .mobile-cta-bar a.wa{background:#25D366; color:#fff;}
  body{padding-bottom:58px;}
}

/* ---------- whatsapp float (desktop) ---------- */
.wa-float{ position:fixed; bottom:24px; right:24px; z-index:70; width:56px; height:56px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px rgba(37,211,102,0.4);}
@media (max-width:760px){ .wa-float{display:none;} }

::selection{background:var(--blue-light); color:#fff;}
:focus-visible{outline:2px solid var(--blue); outline-offset:2px;}
@media (prefers-reduced-motion:reduce){ *{scroll-behavior:auto !important;} }
