/* =========================================================
   Sukhdeep Website Designer & Developer — Main Stylesheet
   ========================================================= */

:root{
  --navy: #123B5E;
  --navy-dark: #0B2A44;
  --sea: #22826A;
  --sea-light: #38A386;
  --sea-pale: #E7F3EF;
  --gray: #F4F6F7;
  --gray-mid: #E7EBEC;
  --gray-line: #DCE2E4;
  --white: #FFFFFF;
  --text: #262B2E;
  --text-light: #5B6669;
  --radius: 10px;
  --radius-lg: 20px;
  --shadow: 0 10px 30px rgba(18,59,94,0.08);
  --shadow-lg: 0 20px 50px rgba(18,59,94,0.14);
  --transition: all .35s cubic-bezier(.4,0,.2,1);
  --font-head: 'Sora', sans-serif;
  --font-body: 'Inter', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--text);
  background:var(--white);
  line-height:1.7;
  overflow-x:hidden;
  font-size:16px;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 20px;position:relative;z-index:1;}

h1,h2,h3,h4,h5,h6{font-family:var(--font-head);color:var(--navy);font-weight:700;line-height:1.25;}
h1{font-size:clamp(2.2rem,4vw,3.4rem);}
h2{font-size:clamp(1.8rem,3vw,2.5rem);}
h3{font-size:1.35rem;}
p{color:var(--text-light);}

/* ---------- Utility ---------- */
.section{padding:90px 0;position:relative;}

/* ===== Decorative Bubble Animation ===== */
.bg-bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.bg-bubbles .bubble{position:absolute;border-radius:50%;opacity:.45;}
.bg-bubbles .bubble-green{background:#a8e6c9;}
.bg-bubbles .bubble-gray{background:#dde2e6;}
.bg-bubbles .bubble-1{width:90px;height:90px;left:-30px;top:12%;animation:bubbleFloatA 9s ease-in-out infinite;}
.bg-bubbles .bubble-2{width:46px;height:46px;left:3%;top:68%;animation:bubbleFloatB 7s ease-in-out infinite;animation-delay:1.2s;}
.bg-bubbles .bubble-3{width:130px;height:130px;left:-60px;bottom:-45px;animation:bubbleFloatA 12s ease-in-out infinite;animation-delay:2s;}
.bg-bubbles .bubble-4{width:100px;height:100px;right:-35px;top:18%;animation:bubbleFloatB 10s ease-in-out infinite;animation-delay:.6s;}
.bg-bubbles .bubble-5{width:56px;height:56px;right:5%;top:72%;animation:bubbleFloatA 8s ease-in-out infinite;animation-delay:1.8s;}
.bg-bubbles .bubble-6{width:140px;height:140px;right:-50px;bottom:-55px;animation:bubbleFloatB 13s ease-in-out infinite;animation-delay:.3s;}
@keyframes bubbleFloatA{0%,100%{transform:translateY(0) translateX(0);}50%{transform:translateY(-22px) translateX(8px);}}
@keyframes bubbleFloatB{0%,100%{transform:translateY(0) translateX(0);}50%{transform:translateY(18px) translateX(-10px);}}
/* Extra bubbles for the hero banner only (wider canvas, more room to breathe) */
.hero-slide .bg-bubbles .bubble-7{width:36px;height:36px;left:14%;top:8%;animation:bubbleFloatB 6.5s ease-in-out infinite;animation-delay:.9s;}
.hero-slide .bg-bubbles .bubble-8{width:70px;height:70px;left:8%;top:90%;animation:bubbleFloatA 10.5s ease-in-out infinite;animation-delay:1.5s;}
.hero-slide .bg-bubbles .bubble-9{width:48px;height:48px;right:16%;top:6%;animation:bubbleFloatA 7.5s ease-in-out infinite;animation-delay:.4s;}
.hero-slide .bg-bubbles .bubble-10{width:64px;height:64px;right:10%;bottom:6%;animation:bubbleFloatB 9.5s ease-in-out infinite;animation-delay:2.2s;}
.hero-slide .bg-bubbles .bubble-11{width:30px;height:30px;left:32%;top:16%;animation:bubbleFloatA 6s ease-in-out infinite;animation-delay:1.6s;}
.hero-slide .bg-bubbles .bubble-12{width:38px;height:38px;right:30%;bottom:10%;animation:bubbleFloatB 8.5s ease-in-out infinite;animation-delay:.8s;}
@media (max-width:768px){
  .hero-slide .bg-bubbles .bubble-9,.hero-slide .bg-bubbles .bubble-10,.hero-slide .bg-bubbles .bubble-11,.hero-slide .bg-bubbles .bubble-12{display:none;}
}
@media (max-width:768px){
  .bg-bubbles .bubble{opacity:.3;}
  .bg-bubbles .bubble-3,.bg-bubbles .bubble-6{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .bg-bubbles .bubble{animation:none;}
  .nav-quote-btn{animation:none;}
  .topbar-promo span{animation:none;}
}
.section-sm{padding:60px 0;}
.bg-gray{background:var(--gray);}
.bg-navy{background:var(--navy);}
.bg-sea{background:var(--sea);}
.text-white{color:var(--white)!important;}
.text-white h1,.text-white h2,.text-white h3{color:var(--white)!important;}
.text-white p{color:rgba(255,255,255,.82)!important;}

.section-head{max-width:680px;margin:0 auto 50px;text-align:center;}
.section-head.left{margin:0 0 40px;text-align:left;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-head);font-weight:600;font-size:.78rem;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--sea);
  background:var(--sea-pale);padding:7px 16px;border-radius:30px;margin-bottom:16px;
}
.eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--sea);}
.section-head p{margin-top:14px;font-size:1.05rem;}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-head);font-weight:600;font-size:.92rem;
  padding:14px 30px;border-radius:50px;transition:var(--transition);
  letter-spacing:.2px;white-space:nowrap;
}
.btn-primary{background:var(--sea);color:var(--white);box-shadow:0 10px 24px rgba(34,130,106,.32);}
.btn-primary:hover{background:var(--navy);transform:translateY(-3px);box-shadow:0 14px 28px rgba(18,59,94,.3);}
.btn-outline{border:2px solid var(--navy);color:var(--navy);}
.btn-outline:hover{background:var(--navy);color:var(--white);transform:translateY(-3px);}
.btn-outline-white{border:2px solid rgba(255,255,255,.6);color:var(--white);}
.btn-outline-white:hover{background:var(--white);color:var(--navy);transform:translateY(-3px);}
.btn-sm{padding:10px 22px;font-size:.85rem;}
.btn-xs{padding:7px 16px;font-size:.78rem;border-radius:40px;}
.btn-block{width:100%;justify-content:center;}

.divider-line{width:60px;height:3px;background:var(--sea);border-radius:3px;}

/* ---------- Preloader ---------- */
#preloader{position:fixed;inset:0;background:var(--white);z-index:99999;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease, visibility .5s ease;}
#preloader.loaded{opacity:0;visibility:hidden;pointer-events:none;}
.loader-ring{width:56px;height:56px;border:4px solid var(--gray-mid);border-top-color:var(--sea);border-radius:50%;animation:spin 0.9s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ---------- Topbar ---------- */
.topbar{background:var(--navy-dark);color:rgba(255,255,255,.85);font-size:.85rem;padding:9px 0;}
.topbar-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.topbar-info{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.topbar-info span{display:inline-flex;align-items:center;gap:7px;}
.topbar-info i{color:var(--sea-light);}
.topbar-right{display:flex;align-items:center;gap:16px;}
.topbar-blog-link{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.85);font-weight:600;font-size:.85rem;transition:var(--transition);}
.topbar-blog-link:hover{color:var(--sea-light);}
.topbar-blog-link i{color:var(--sea-light);}
.topbar-divider{width:1px;height:16px;background:rgba(255,255,255,.2);}
.topbar-social{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.topbar-social a{color:rgba(255,255,255,.75);transition:var(--transition);}
.topbar-social a:hover{color:var(--sea-light);transform:translateY(-2px);}
.topbar-promo{display:inline-flex;align-items:center;gap:6px;background:#fff;padding:5px 12px 5px 8px;border-radius:20px;font-weight:700;font-size:.74rem;line-height:1;white-space:nowrap;transition:var(--transition);color:#0f5c2e;}
.topbar-promo i{font-size:.95rem;flex-shrink:0;}
.topbar-promo:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.2);}
.topbar-promo-youtube i{color:#FF0000;}
.topbar-promo-whatsapp i{color:#25D366;}
.topbar-promo span{display:inline-block;color:#0f5c2e;animation:topbarPromoTextZoom 1.6s ease-in-out infinite;}
.topbar-promo:hover span{animation-play-state:paused;}
@keyframes topbarPromoTextZoom{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}
@media (max-width:600px){
  .topbar-promo{padding:5px 10px 5px 8px;font-size:.68rem;}
}

/* ---------- Header / Nav ---------- */
.site-header{background:var(--white);position:sticky;top:0;z-index:1000;box-shadow:0 2px 18px rgba(18,59,94,.06);}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:14px;}
.brand{flex-shrink:0;}
.brand img{height:66px;width:auto;}
.main-nav{
  flex:1 1 auto;min-width:0;overflow:visible;
}
.main-nav > ul{display:flex;align-items:center;gap:2px;flex-wrap:wrap;row-gap:6px;}
.main-nav > ul > li{position:relative;}
.main-nav > ul > li > a{
  display:flex;align-items:center;gap:5px;font-family:var(--font-head);font-weight:600;
  font-size:.87rem;color:var(--navy);padding:14px 11px;transition:var(--transition);
}
.main-nav > ul > li > a:hover, .main-nav > ul > li.active > a{color:var(--sea);}
.main-nav .fa-chevron-down{font-size:.65rem;transition:var(--transition);}

.dropdown-menu{
  display:block;position:absolute;top:100%;left:0;min-width:280px;background:var(--white);
  border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:10px;z-index:1200;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:var(--transition);
  border:none;border-top:3px solid var(--sea);margin:0;
}
.main-nav li.dd-open .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.main-nav li.dd-open .fa-chevron-down{transform:rotate(180deg);}
.dropdown-menu li a{
  display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;
  font-size:.9rem;font-weight:500;color:var(--text);transition:var(--transition);
}
.dropdown-menu li a i{color:var(--sea);width:18px;}
.dropdown-menu li a:hover{background:var(--sea-pale);color:var(--sea);}

.nav-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.nav-quote-btn{animation:navQuoteFloat 2.6s ease-in-out infinite;}
@keyframes navQuoteFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:8px;}
.nav-toggle span{width:26px;height:3px;background:var(--navy);border-radius:2px;transition:var(--transition);}
.nav-close{display:none;}

/* ---------- Hero Banner (single image, no overlay text) ---------- */
.hero-slider{position:relative;background:var(--navy-dark);}
.hero-slide{position:relative;width:100%;overflow:hidden;}
.hero-slide img{display:block;width:100%;height:auto;}
.hero-slide .bg-bubbles{z-index:2;}
.hero-content{position:relative;z-index:2;max-width:640px;color:var(--white);}
.hero-content .eyebrow{background:rgba(255,255,255,.12);color:var(--sea-light);backdrop-filter:blur(6px);}
.hero-content h1{color:var(--white);margin-bottom:18px;}
.hero-content h1 span{color:var(--sea-light);}
.hero-content p{color:rgba(255,255,255,.85);font-size:1.08rem;margin-bottom:30px;max-width:520px;}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}
.swiper-pagination{position:absolute;bottom:26px!important;left:0;right:0;text-align:center;z-index:5;}
.swiper-pagination-bullet{background:#fff;opacity:.5;width:10px;height:10px;}
.swiper-pagination-bullet-active{opacity:1;background:var(--sea-light);width:28px;border-radius:6px;}
.hero-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;transition:var(--transition);backdrop-filter:blur(4px);}
.hero-nav-btn:hover{background:var(--sea);}
.hero-prev{left:24px;}.hero-next{right:24px;}

/* ---------- Welcome ---------- */
.welcome-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;}
.welcome-media{position:relative;}
.welcome-media img{border-radius:var(--radius-lg);}
.welcome-badge{
  position:absolute;bottom:-26px;right:-26px;background:var(--sea);color:#fff;
  padding:22px 26px;border-radius:var(--radius);box-shadow:var(--shadow-lg);text-align:center;
}
.welcome-badge strong{display:block;font-family:var(--font-head);font-size:1.8rem;}
.welcome-badge span{font-size:.78rem;letter-spacing:.5px;opacity:.9;}
.welcome-list{margin:22px 0;display:grid;gap:14px;}
.welcome-list li{display:flex;align-items:flex-start;gap:12px;font-weight:500;color:var(--text);}
.welcome-list li i{color:var(--sea);background:var(--sea-pale);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0;margin-top:2px;}

/* ---------- Counters ---------- */
.counter-section{position:relative;background:linear-gradient(120deg,var(--navy) 0%,var(--navy-dark) 100%);padding:60px 0;}
.counter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.counter-item{text-align:center;color:#fff;}
.counter-item i{font-size:2rem;color:var(--sea-light);margin-bottom:12px;}
.counter-num{font-family:var(--font-head);font-size:2.6rem;font-weight:700;display:flex;justify-content:center;gap:2px;}
.counter-item p{color:rgba(255,255,255,.7);font-weight:500;margin-top:4px;}

/* ---------- Features ---------- */
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.feature-card{
  background:var(--white);border:1px solid var(--gray-line);padding:34px 26px;border-radius:var(--radius-lg);
  transition:var(--transition);text-align:left;
}
.feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent;}
.feature-icon{width:58px;height:58px;border-radius:14px;background:var(--sea-pale);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--sea);margin-bottom:20px;transition:var(--transition);}
.feature-card:hover .feature-icon{background:var(--sea);color:#fff;transform:rotate(-8deg) scale(1.05);}
.feature-card h3{margin-bottom:10px;font-size:1.15rem;}
.feature-card p{font-size:.94rem;margin:0;}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-media{position:relative;}
.about-media img{border-radius:var(--radius-lg);}
.about-media-2{position:absolute;bottom:-40px;left:-40px;width:52%;border:6px solid #fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);}
.about-stats{display:flex;flex-wrap:wrap;gap:24px 30px;margin-top:26px;}
.about-stats div strong{display:block;font-family:var(--font-head);font-size:1.8rem;color:var(--sea);}
.about-stats div span{font-size:.85rem;color:var(--text-light);}
.signature-row{display:flex;align-items:center;gap:16px;margin-top:26px;padding-top:26px;border-top:1px solid var(--gray-line);}
.signature-row img{width:52px;height:52px;border-radius:50%;}

/* ---------- Services ---------- */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.service-card{
  background:var(--white);border-radius:var(--radius-lg);padding:36px 28px;border:1px solid var(--gray-line);
  transition:var(--transition);position:relative;overflow:hidden;
}
.service-card::before{content:'';position:absolute;inset:0;background:linear-gradient(150deg,var(--navy),var(--sea));opacity:0;transition:var(--transition);z-index:0;}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent;}
.service-card:hover::before{opacity:1;}
.service-card > *{position:relative;z-index:1;}
.service-num{font-family:var(--font-head);font-size:.8rem;font-weight:700;color:var(--sea);opacity:.7;}
.service-card:hover .service-num{color:rgba(255,255,255,.7);}
.service-icon{width:60px;height:60px;border-radius:14px;background:var(--sea-pale);display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:var(--sea);margin:16px 0 20px;transition:var(--transition);}
.service-card:hover .service-icon{background:rgba(255,255,255,.15);color:#fff;}
.service-card h3{transition:var(--transition);}
.service-card:hover h3, .service-card:hover p{color:#fff;}
.service-card p{font-size:.93rem;margin-bottom:16px;}
.service-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:600;font-size:.86rem;color:var(--navy);transition:var(--transition);}
.service-card:hover .service-link{color:#fff;}
.service-link i{transition:var(--transition);font-size:.78rem;}
.service-card:hover .service-link i{transform:translateX(4px);}

/* Service detail (services.html sections) */
.service-detail{padding:70px 0;border-bottom:1px solid var(--gray-line);scroll-margin-top:90px;}
.service-detail:nth-child(even){background:var(--gray);}
.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.service-detail-grid.reverse .sd-media{order:2;}
.sd-icon-lg{width:80px;height:80px;border-radius:18px;background:var(--sea);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:22px;}
.sd-feature-list{display:grid;gap:12px;margin:22px 0;}
.sd-feature-list li{display:flex;gap:10px;align-items:flex-start;font-weight:500;}
.sd-feature-list li i{color:var(--sea);margin-top:4px;}
.sd-media img{border-radius:var(--radius-lg);}

/* ---------- Serve Area ---------- */
.serve-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.serve-card{
  background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius);padding:22px 18px;
  text-align:center;transition:var(--transition);position:relative;
}
.serve-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--sea);}
.serve-flag{font-size:2.6rem;margin-bottom:10px;display:inline-block;transition:var(--transition);}
.serve-card:hover .serve-flag{transform:scale(1.15) rotate(-4deg);}
.serve-card h4{font-size:.98rem;margin-bottom:4px;}
.serve-place{font-size:.78rem;color:var(--text-light);display:flex;align-items:center;justify-content:center;gap:5px;}
.serve-place i{color:var(--sea);}
.serve-filter{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:34px;}
.serve-filter button{padding:9px 20px;border-radius:30px;border:1px solid var(--gray-line);font-weight:600;font-size:.85rem;font-family:var(--font-head);transition:var(--transition);}
.serve-filter button.active,.serve-filter button:hover{background:var(--sea);color:#fff;border-color:var(--sea);}

/* ---------- Portfolio ---------- */
.portfolio-filter{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;}
.portfolio-filter button{padding:11px 24px;border-radius:30px;border:1px solid var(--gray-line);font-weight:600;font-size:.86rem;font-family:var(--font-head);transition:var(--transition);}
.portfolio-filter button.active,.portfolio-filter button:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.portfolio-item{border-radius:var(--radius-lg);overflow:hidden;position:relative;box-shadow:var(--shadow);}
.portfolio-thumb{position:relative;overflow:hidden;}
.portfolio-thumb img{transition:transform .6s ease;width:100%;}
.portfolio-item:hover .portfolio-thumb img{transform:scale(1.1);}
.portfolio-overlay{
  position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,42,68,.92) 15%,rgba(11,42,68,.15) 65%);
  display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:1;transition:var(--transition);
}
.portfolio-overlay span{color:var(--sea-light);font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.portfolio-overlay h3{color:#fff;font-size:1.1rem;margin:6px 0 12px;}
.portfolio-overlay a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;font-size:.85rem;border:1px solid rgba(255,255,255,.4);padding:8px 16px;border-radius:30px;width:fit-content;transition:var(--transition);}
.portfolio-overlay a:hover{background:var(--sea);border-color:var(--sea);}

/* Portfolio video scroller */
.video-scroll-wrap{overflow:hidden;position:relative;}
.video-track{display:flex;gap:24px;width:max-content;animation:scrollLeft 42s linear infinite;}
.video-track:hover{animation-play-state:paused;}
@keyframes scrollLeft{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.video-card{width:300px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);flex-shrink:0;background:#000;position:relative;}
.video-card video{width:100%;height:190px;object-fit:cover;display:block;}
.video-card .video-label{padding:14px 16px;background:var(--navy);color:#fff;}
.video-card .video-label span{font-size:.78rem;color:var(--sea-light);font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.video-card .video-label h4{color:#fff;font-size:.98rem;margin-top:3px;}

.social-feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.social-feed-card{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);background:var(--white);}
.social-feed-head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--gray-line);}
.social-feed-head i{font-size:1.5rem;}
.social-feed-head .fa-instagram{color:#d6249f;}
.social-feed-head .fa-youtube{color:#ff0000;}
.social-feed-head .fa-facebook{color:#1877f2;}
.social-feed-head strong{display:block;font-size:.95rem;}
.social-feed-head span{font-size:.78rem;color:var(--text-light);}
.social-feed-body{aspect-ratio:1/1;overflow:hidden;}
.social-feed-body img{width:100%;height:100%;object-fit:cover;transition:var(--transition);}
.social-feed-card:hover .social-feed-body img{transform:scale(1.08);}
.social-feed-foot{padding:16px 20px;text-align:center;}

.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.gallery-item{border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer;}
.gallery-item img{transition:var(--transition);}
.gallery-item::after{content:'\f00e';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;inset:0;background:rgba(18,59,94,.65);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;opacity:0;transition:var(--transition);}
.gallery-item:hover img{transform:scale(1.12);}
.gallery-item:hover::after{opacity:1;}

/* ---------- Business Website Portfolio (offers gallery) ---------- */
.offers-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;}
.offers-gallery-item{margin:0;background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:var(--transition);}
.offers-gallery-item:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(18,59,94,.18);}
.offers-gallery-item img{width:100%;height:auto;display:block;}
.offers-gallery-item figcaption{padding:12px 14px;font-size:.82rem;font-weight:600;color:var(--navy);text-align:center;line-height:1.4;}
@media (max-width:600px){
  .offers-gallery-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .offers-gallery-item figcaption{font-size:.74rem;padding:10px;}
}

/* ---------- Process ---------- */
.process-steps{display:grid;gap:26px;}
.process-step{display:flex;gap:22px;padding:26px;border-radius:var(--radius-lg);transition:var(--transition);border:1px solid transparent;}
.process-step:hover{background:var(--white);box-shadow:var(--shadow);border-color:var(--gray-line);}
.process-num{font-family:var(--font-head);font-weight:700;font-size:1.6rem;color:var(--sea);width:60px;height:60px;border-radius:50%;border:2px dashed var(--sea);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.process-step h3{margin-bottom:6px;font-size:1.1rem;}
.process-step p{font-size:.93rem;margin:0;}

/* ---------- Why Choose Us ---------- */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.why-list{display:grid;gap:20px;}
.why-item{display:flex;gap:18px;}
.why-icon{width:52px;height:52px;border-radius:12px;background:var(--sea-pale);color:var(--sea);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;}
.why-item h3{font-size:1.05rem;margin-bottom:4px;}
.why-item p{font-size:.92rem;margin:0;}
.why-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;}
.why-media img{border-radius:var(--radius-lg);}

/* ---------- Testimonials ---------- */
.testi-card{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius-lg);padding:34px;margin:10px;height:100%;}
.testi-stars{color:#f5b400;font-size:.9rem;margin-bottom:14px;}
.testi-card p{font-style:italic;color:var(--text);font-size:.96rem;}
.testi-person{display:flex;align-items:center;gap:14px;margin-top:22px;}
.testi-person img{width:52px;height:52px;border-radius:50%;}
.testi-person strong{display:block;font-size:.95rem;color:var(--navy);}
.testi-person span{font-size:.8rem;color:var(--text-light);}

/* ---------- Google Review Badge ---------- */
.google-review-card{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius-lg);padding:26px 30px;box-shadow:var(--shadow);}
.google-review-icon{flex-shrink:0;width:56px;height:56px;border-radius:50%;background:var(--sea-pale);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:1.9rem;font-weight:800;color:#4285F4;}
.google-review-body{flex:1;min-width:220px;}
.google-review-brand{display:inline-flex;font-weight:700;font-size:.95rem;margin-bottom:2px;}
.google-review-brand span:nth-child(1){color:#4285F4;}
.google-review-brand span:nth-child(2){color:#EA4335;}
.google-review-brand span:nth-child(3){color:#FBBC05;}
.google-review-brand span:nth-child(4){color:#4285F4;}
.google-review-brand span:nth-child(5){color:#34A853;}
.google-review-brand span:nth-child(6){color:#EA4335;}
.google-review-stars{color:#f5b400;font-size:1.05rem;letter-spacing:2px;margin-bottom:4px;}
.google-review-name{font-weight:700;color:var(--navy);margin:0 0 2px;}
.google-review-sub{font-size:.85rem;color:var(--text-light);}
.google-review-actions{display:flex;gap:12px;flex-wrap:wrap;}
.google-review-actions .btn{padding:11px 22px;font-size:.85rem;}
@media (max-width:600px){
  .google-review-card{flex-direction:column;text-align:center;}
  .google-review-actions{width:100%;justify-content:center;}
}

/* ---------- Write a Review form ---------- */
.review-form-card{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius-lg);padding:28px 30px;margin-top:18px;box-shadow:var(--shadow);}
.review-form-card h3{margin-bottom:6px;}
.review-form-note{color:var(--text-light);font-size:.88rem;margin-bottom:18px;}
.review-star-picker{display:flex;gap:8px;font-size:1.6rem;color:#d8dde1;margin-bottom:18px;cursor:pointer;}
.review-star-picker i{transition:var(--transition);}
.review-star-picker i:hover, .review-star-picker i.is-active{color:#f5b400;}
.review-form-card input, .review-form-card textarea{width:100%;border:1px solid var(--gray-line);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:.92rem;margin-bottom:14px;resize:vertical;}
.review-form-card input:focus, .review-form-card textarea:focus{outline:none;border-color:var(--sea);}
.review-form-card button[type="submit"]{display:inline-flex;align-items:center;gap:8px;}

/* ---------- Top Reviews (static, always visible) ---------- */
.top-reviews{margin-top:40px;}
.top-reviews-head{text-align:center;margin-bottom:22px;}
.top-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;}
.top-review-card{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius-lg);padding:24px;}
.top-review-stars{color:#f5b400;font-size:.9rem;margin-bottom:12px;}
.top-review-card p{font-style:italic;color:var(--text);font-size:.9rem;margin-bottom:16px;}
.top-review-person strong{display:block;font-size:.9rem;color:var(--navy);}
.top-review-person span{font-size:.78rem;color:var(--text-light);}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.team-card{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);background:#fff;transition:var(--transition);}
.team-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.team-media{position:relative;overflow:hidden;}
.team-media img{width:100%;height:100%;object-fit:cover;transition:var(--transition);}
.team-card:hover .team-media img{transform:scale(1.08);}
.team-social{position:absolute;bottom:-50px;left:0;right:0;display:flex;justify-content:center;gap:10px;padding:16px 0;background:linear-gradient(0deg,rgba(11,42,68,.85),transparent);transition:var(--transition);}
.team-card:hover .team-social{bottom:0;}
.team-social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:var(--transition);}
.team-social a:hover{background:var(--sea);}
.team-info{padding:20px;text-align:center;}
.team-info span{color:var(--sea);font-size:.85rem;font-weight:600;}

/* ---------- FAQ ---------- */
.faq-list{max-width:820px;margin:0 auto;display:grid;gap:14px;}
.faq-item{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius);overflow:hidden;}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;cursor:pointer;font-family:var(--font-head);font-weight:600;color:var(--navy);gap:16px;}
.faq-q i{color:var(--sea);transition:var(--transition);flex-shrink:0;}
.faq-item.open .faq-q i{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a p{padding:0 24px 20px;font-size:.94rem;margin:0;}
.faq-item.open .faq-a{max-height:400px;}

/* ---------- CTA ---------- */
.cta-section{position:relative;padding:80px 0;text-align:center;}
.cta-section img.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.cta-section::before{content:'';position:absolute;inset:0;background:rgba(11,42,68,.86);z-index:1;}
.cta-section .container{position:relative;z-index:2;}
.cta-section h2{color:#fff;max-width:700px;margin:0 auto 16px;}
.cta-section p{color:rgba(255,255,255,.82);max-width:600px;margin:0 auto 30px;}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* ---------- Technology ---------- */
.tech-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;}
.tech-card{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius);padding:24px 14px;text-align:center;transition:var(--transition);}
.tech-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--sea);}
.tech-card i{font-size:2.4rem;margin-bottom:10px;}
.tech-card h4{font-size:.88rem;margin:0;}

/* ---------- Forms ---------- */
.form-control{width:100%;padding:14px 18px;border:1px solid var(--gray-line);border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;background:var(--gray);transition:var(--transition);color: var(--text);}
.form-control:focus{outline:none;border-color:var(--sea);background:#fff;box-shadow:0 0 0 4px var(--sea-pale);}
textarea.form-control{resize:vertical;min-height:130px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-weight:600;font-size:.85rem;color:var(--navy);margin-bottom:8px;font-family:var(--font-head);}
.quote-btn-group{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;}
.quote-btn-group button{padding:16px;border-radius:var(--radius);font-weight:700;}
.wa-quote-btn{background:#25D366;color:#fff;}
.wa-quote-btn:hover{background:#1fb956;}
.mail-quote-btn{background:var(--navy);color:#fff;}
.mail-quote-btn:hover{background:var(--navy-dark);}

/* ---------- Contact page extras ---------- */
.contact-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:50px;}
.contact-info-card{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius-lg);padding:30px 24px;text-align:center;transition:var(--transition);}
.contact-info-card:hover{box-shadow:var(--shadow);transform:translateY(-6px);}
.contact-info-card i{width:56px;height:56px;border-radius:50%;background:var(--sea-pale);color:var(--sea);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin:0 auto 16px;}
.contact-info-card h4{margin-bottom:6px;font-size:1rem;}
.contact-info-card p{font-size:.9rem;margin:0;}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:flex-start;}
.contact-side{background:var(--gray);border-radius:var(--radius-lg);padding:30px;}
.contact-side h3{margin-bottom:18px;font-size:1.1rem;}
.office-block{display:flex;gap:14px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--gray-line);}
.office-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.office-block i{color:var(--sea);font-size:1.2rem;margin-top:3px;}
.office-block strong{display:block;font-size:.92rem;color:var(--navy);margin-bottom:3px;}
.office-block span{font-size:.86rem;color:var(--text-light);}
.map-frame{border-radius:var(--radius-lg);overflow:hidden;margin-top:20px;border:1px solid var(--gray-line);}
.map-frame iframe{width:100%;height:280px;border:0;display:block;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-dark);color:rgba(255,255,255,.72);padding-top:70px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px;}
.footer-col h4{color:#fff;font-size:1rem;margin-bottom:20px;}
.footer-logo-badge{display:inline-block;background:#fff;padding:10px 18px;border-radius:10px;margin-bottom:16px;line-height:0;}
.footer-about img{width:150px;height:auto;max-width:100%;margin:0;display:block;}
.footer-copy p{margin:0;}
.footer-credit{font-size:.8rem;color:rgba(255,255,255,.5);margin-top:4px;}
.footer-about p{color:rgba(255,255,255,.6);font-size:.9rem;}
.footer-social{display:flex;gap:10px;margin-top:18px;}
.footer-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:var(--transition);color:#fff;}
.footer-social a:hover{background:var(--sea);transform:translateY(-3px);}
.footer-col ul li{margin-bottom:12px;}
.footer-col ul li a{font-size:.9rem;color:rgba(255,255,255,.65);transition:var(--transition);display:inline-flex;align-items:center;gap:8px;}
.footer-col ul li a:hover{color:var(--sea-light);}
.footer-col ul li a i{font-size:.7rem;}
.footer-contact li{display:flex;gap:10px;margin-bottom:16px;font-size:.9rem;align-items:flex-start;}
.footer-contact li i{color:var(--sea-light);margin-top:4px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:.85rem;}
.footer-bottom a{color:rgba(255,255,255,.7);}
.footer-bottom a:hover{color:var(--sea-light);}
.footer-bottom-links{display:flex;gap:20px;flex-wrap:wrap;}

/* ---------- Floating buttons ---------- */
.float-btns{position:fixed;right:22px;bottom:24px;z-index:900;display:flex;flex-direction:column;gap:14px;align-items:flex-end;}
.float-wa{
  width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1.7rem;box-shadow:0 8px 22px rgba(37,211,102,.45);position:relative;
}
.float-wa::before{content:'';position:absolute;inset:0;border-radius:50%;background:#25D366;animation:pulse 1.8s infinite;z-index:-1;}
@keyframes pulse{0%{transform:scale(1);opacity:.6;}100%{transform:scale(1.7);opacity:0;}}
.float-call{
  width:54px;height:54px;border-radius:50%;background:var(--navy);color:#fff;display:none;align-items:center;justify-content:center;
  font-size:1.4rem;box-shadow:0 8px 22px rgba(18,59,94,.4);
}
.back-to-top{width:46px;height:46px;border-radius:50%;background:var(--white);color:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:var(--transition);border:1px solid var(--gray-line);}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}

/* ---------- Page banner (inner pages) ---------- */
.page-banner{position:relative;padding:150px 0 70px;text-align:center;overflow:hidden;background:linear-gradient(120deg,var(--navy) 0%,var(--navy-dark) 100%);}
.page-banner::before{content:'';position:absolute;width:400px;height:400px;background:var(--sea);opacity:.15;border-radius:50%;top:-150px;right:-100px;}
.page-banner h1{color:#fff;position:relative;z-index:2;}
.breadcrumb{position:relative;z-index:2;display:flex;justify-content:center;gap:8px;margin-top:14px;color:rgba(255,255,255,.7);font-size:.92rem;}
.breadcrumb a{color:var(--sea-light);}

/* ---------- Legal / policy pages ---------- */
.policy-content{max-width:880px;margin:0 auto;}
.policy-content h2{margin-top:36px;margin-bottom:14px;font-size:1.3rem;}
.policy-content h2:first-child{margin-top:0;}
.policy-content p, .policy-content li{color:var(--text-light);margin-bottom:12px;}
.policy-content ul{padding-left:20px;list-style:disc;}
.policy-updated{color:var(--sea);font-weight:600;margin-bottom:30px;display:inline-block;}

/* ---------- Enhanced quote form (professional styling) ---------- */
.form-group label{display:flex;align-items:center;gap:8px;}
.form-group label i{color:var(--sea);width:16px;text-align:center;}
select.form-control{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322826A' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:44px;cursor:pointer;
}
select.form-control:disabled{background-color:var(--gray-mid);cursor:not-allowed;color:var(--text-light);}
.form-hint{font-size:.78rem;color:var(--text-light);margin-top:6px;display:block;}
.quote-form-card{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow);}

.quote-summary-card{background:linear-gradient(150deg,var(--navy),var(--navy-dark));border-radius:var(--radius-lg);padding:26px 28px;color:#fff;margin-bottom:24px;}
.quote-summary-card h3{color:#fff;font-size:1rem;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.quote-summary-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.87rem;}
.quote-summary-row:last-child{border-bottom:none;}
.quote-summary-row span:first-child{color:rgba(255,255,255,.62);}
.quote-summary-row span:last-child{color:#fff;font-weight:600;text-align:right;max-width:60%;}
.quote-summary-row span.pending{color:rgba(255,255,255,.4);font-weight:400;font-style:italic;}

/* ---------- YouTube feed section (Contact page) ---------- */
.youtube-feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.youtube-video-card{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);display:block;}
.youtube-video-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent;}
.youtube-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy);}
.youtube-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.youtube-video-card:hover .youtube-thumb img{transform:scale(1.08);}
.youtube-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,42,68,.6),rgba(11,42,68,.05));}
.youtube-play-btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;
  background:rgba(255,0,0,.9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;
  z-index:2;transition:var(--transition);box-shadow:0 6px 18px rgba(0,0,0,.3);
}
.youtube-video-card:hover .youtube-play-btn{background:#ff0000;transform:translate(-50%,-50%) scale(1.12);}
.youtube-duration{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.75);color:#fff;font-size:.72rem;padding:3px 7px;border-radius:4px;z-index:2;font-weight:600;}
.youtube-info{padding:16px 18px;}
.youtube-info h4{font-size:.94rem;color:var(--navy);margin-bottom:6px;line-height:1.4;}
.youtube-channel{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-light);}
.youtube-channel i{color:#ff0000;}
.youtube-subscribe-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:32px;}
.btn-youtube{background:#ff0000;color:#fff;}
.btn-youtube:hover{background:#cc0000;color:#fff;transform:translateY(-3px);}

@media (max-width:940px){
  .youtube-feed-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .youtube-feed-grid{grid-template-columns:1fr;}
}

/* ---------- Pricing section ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.pricing-card{
  background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:var(--transition);position:relative;
}
.pricing-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent;}
.pricing-card.popular{border:2px solid var(--sea);}
.pricing-popular-tag{
  position:absolute;top:16px;right:-34px;background:var(--sea);color:#fff;font-family:var(--font-head);
  font-weight:700;font-size:.72rem;letter-spacing:.5px;padding:5px 40px;transform:rotate(40deg);z-index:2;
  text-transform:uppercase;box-shadow:0 3px 8px rgba(0,0,0,.15);
}
.pricing-image{position:relative;aspect-ratio:5/3;overflow:hidden;}
.pricing-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.pricing-card:hover .pricing-image img{transform:scale(1.08);}
.pricing-image::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,42,68,.55),transparent 60%);}
.pricing-tag{
  position:absolute;bottom:10px;left:12px;z-index:2;background:rgba(255,255,255,.92);color:var(--navy);
  font-family:var(--font-head);font-weight:700;font-size:.72rem;padding:5px 12px;border-radius:20px;letter-spacing:.3px;
}
.pricing-body{padding:26px 22px 24px;display:flex;flex-direction:column;flex:1;}
.pricing-body h3{font-size:1.1rem;margin-bottom:10px;}
.pricing-price{display:flex;align-items:baseline;gap:6px;margin-bottom:4px;}
.pricing-price .amount{font-family:var(--font-head);font-weight:800;font-size:1.9rem;color:var(--sea);}
.pricing-price .period{font-size:.8rem;color:var(--text-light);}
.pricing-starting{font-size:.74rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin-bottom:14px;}
.pricing-features{display:grid;gap:9px;margin-bottom:20px;flex:1;}
.pricing-features li{display:flex;align-items:flex-start;gap:8px;font-size:.86rem;color:var(--text);}
.pricing-features li i{color:var(--sea);margin-top:3px;font-size:.78rem;flex-shrink:0;}
.pricing-note{font-size:.72rem;color:var(--text-light);font-style:italic;margin-bottom:16px;}
.pricing-btns{display:grid;gap:10px;}
.btn-zoom{transition:transform .28s cubic-bezier(.34,1.56,.64,1), box-shadow .28s ease, background .28s ease;}
.btn-zoom:hover{transform:scale(1.07);}
.btn-zoom:active{transform:scale(0.96);}
.pricing-disclaimer{text-align:center;font-size:.82rem;color:var(--text-light);margin-top:30px;}

@media (max-width:1100px){
  .pricing-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:520px){
  .pricing-grid{grid-template-columns:1fr;}
}

/* ---------- Portfolio details page ---------- */
.pd-thumb{border-radius:12px;cursor:pointer;transition:var(--transition);width:100%;}
.pd-thumb:hover{transform:scale(1.04);box-shadow:var(--shadow);}
.pd-cover{border-radius:20px;margin-bottom:30px;width:100%;}

/* ---------- Website type pages: zoom toggle benefits ---------- */
.benefits-toggle-wrap{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.benefits-toggle-btn{position:relative;}
.benefits-toggle-btn.active{background:var(--navy);color:#fff;}
.benefits-zoom-panel{max-height:0;opacity:0;transform:scale(.9);overflow:hidden;transition:max-height .6s cubic-bezier(.4,0,.2,1), opacity .5s ease, transform .5s ease;}
.benefits-zoom-panel.open{max-height:2400px;opacity:1;transform:scale(1);}

/* ---------- Blog listing page ---------- */
.blog-filter{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:36px;}
.blog-filter button{padding:10px 20px;border-radius:30px;border:1px solid var(--gray-line);font-weight:600;font-size:.82rem;font-family:var(--font-head);transition:var(--transition);}
.blog-filter button.active,.blog-filter button:hover{background:var(--sea);color:#fff;border-color:var(--sea);}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.blog-card{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column;}
.blog-card.blog-hide{display:none;}
.blog-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent;}
.blog-card-img{position:relative;aspect-ratio:16/10;overflow:hidden;}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.blog-card:hover .blog-card-img img{transform:scale(1.08);}
.blog-card-cat{position:absolute;top:14px;left:14px;background:var(--sea);color:#fff;font-size:.7rem;font-weight:700;padding:5px 12px;border-radius:20px;letter-spacing:.3px;}
.blog-card-body{padding:22px;display:flex;flex-direction:column;flex:1;}
.blog-card-meta{display:flex;align-items:center;gap:14px;font-size:.76rem;color:var(--text-light);margin-bottom:10px;}
.blog-card-meta i{color:var(--sea);margin-right:4px;}
.blog-card-body h3{font-size:1.02rem;margin-bottom:10px;line-height:1.4;}
.blog-card-body h3 a{color:var(--navy);transition:var(--transition);}
.blog-card-body h3 a:hover{color:var(--sea);}
.blog-card-body p{font-size:.88rem;margin-bottom:16px;flex:1;}
.blog-card-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-head);font-weight:600;font-size:.84rem;color:var(--sea);width:fit-content;}
.blog-card-link i{font-size:.72rem;transition:var(--transition);}
.blog-card:hover .blog-card-link i{transform:translateX(4px);}
.blog-load-more{text-align:center;margin-top:40px;}

/* ---------- Blog post detail page ---------- */
.blog-post-layout{display:grid;grid-template-columns:2fr 1fr;gap:50px;align-items:flex-start;}
.blog-post-content img.blog-hero{width:100%;border-radius:var(--radius-lg);margin-bottom:26px;}
.blog-post-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:.85rem;color:var(--text-light);margin-bottom:16px;}
.blog-post-meta span{display:inline-flex;align-items:center;gap:6px;}
.blog-post-meta i{color:var(--sea);}
.blog-post-content h2{margin-top:32px;margin-bottom:14px;font-size:1.3rem;}
.blog-post-content p{margin-bottom:16px;line-height:1.8;}
.blog-post-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px;padding-top:24px;border-top:1px solid var(--gray-line);}
.blog-post-tags a{background:var(--gray);color:var(--navy);font-size:.78rem;font-weight:600;padding:6px 14px;border-radius:20px;transition:var(--transition);}
.blog-post-tags a:hover{background:var(--sea);color:#fff;}
.blog-sidebar-card{background:var(--gray);border-radius:var(--radius-lg);padding:26px;margin-bottom:24px;}
.blog-sidebar-card h3{font-size:1rem;margin-bottom:18px;}
.blog-recent-item{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-line);}
.blog-recent-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.blog-recent-item img{width:60px;height:60px;border-radius:10px;object-fit:cover;flex-shrink:0;}
.blog-recent-item a{font-size:.84rem;font-weight:600;color:var(--navy);line-height:1.4;transition:var(--transition);}
.blog-recent-item a:hover{color:var(--sea);}
.blog-cat-list li{margin-bottom:10px;}
.blog-cat-list a{display:flex;justify-content:space-between;font-size:.88rem;color:var(--text);padding:8px 0;transition:var(--transition);}
.blog-cat-list a:hover{color:var(--sea);}
.blog-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px;}

@media (max-width:940px){
  .blog-grid{grid-template-columns:repeat(2,1fr);}
  .blog-post-layout{grid-template-columns:1fr;}
  .blog-related-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .blog-grid{grid-template-columns:1fr;}
}

/* ---------- Areas We Serve (SEO location keywords, after footer) ---------- */
.locations-served{background:var(--navy-dark);border-top:1px solid rgba(255,255,255,.08);padding:36px 0 44px;}
.locations-served h2{color:rgba(255,255,255,.55);font-size:.8rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;}
.locations-served > .container > p{color:rgba(255,255,255,.4);font-size:.78rem;max-width:900px;margin-bottom:16px;}
.locations-tags{display:flex;flex-wrap:wrap;gap:6px;max-height:180px;overflow:hidden;position:relative;}
.locations-tags.expanded{max-height:none;}
.locations-tags span{
  font-size:.68rem;color:rgba(255,255,255,.42);background:rgba(255,255,255,.04);
  padding:4px 10px;border-radius:20px;white-space:nowrap;line-height:1.4;
}
.locations-fade{position:relative;}
.locations-fade::after{content:'';position:absolute;left:0;right:0;bottom:44px;height:50px;background:linear-gradient(0deg,var(--navy-dark),transparent);pointer-events:none;}
.locations-fade.expanded::after{display:none;}
.locations-toggle{margin-top:14px;background:none;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.55);font-size:.75rem;padding:8px 18px;border-radius:20px;font-family:var(--font-head);font-weight:600;transition:var(--transition);}
.locations-toggle:hover{border-color:var(--sea-light);color:var(--sea-light);}

/* ---------- Scroll targets: keep clear of sticky header ---------- */
#quoteListingTop, #quoteFormSection, #quoteFormAnchor, .service-detail{scroll-margin-top:110px;}

/* ---------- Get a Quote by Category page ---------- */
.qsteps{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;max-width:760px;margin:0 auto;}
.qstep{
  display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:40px;background:var(--white);
  border:1px solid var(--gray-line);font-family:var(--font-head);font-weight:600;font-size:.88rem;color:var(--text-light);
  transition:var(--transition);
}
.qstep span{width:26px;height:26px;border-radius:50%;background:var(--gray-mid);color:var(--text-light);display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0;transition:var(--transition);}
.qstep.active{background:var(--sea-pale);border-color:var(--sea);color:var(--navy);}
.qstep.active span{background:var(--sea);color:#fff;}
.qstep.done span{background:var(--navy);color:#fff;}
.qstep.done span::before{content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;}

.quote-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.quote-cat-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--white);
  border:1px solid var(--gray-line);border-radius:var(--radius-lg);padding:22px 20px;text-align:left;
  transition:var(--transition);
}
.quote-cat-card i{font-size:1.6rem;color:var(--sea);transition:var(--transition);}
.quote-cat-card span{font-family:var(--font-head);font-weight:700;font-size:.98rem;color:var(--navy);}
.quote-cat-card small{color:var(--text-light);font-size:.78rem;}
.quote-cat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--sea);}
.quote-cat-card.active{background:linear-gradient(150deg,var(--navy),var(--sea));border-color:transparent;}
.quote-cat-card.active i,.quote-cat-card.active span{color:#fff;}
.quote-cat-card.active small{color:rgba(255,255,255,.75);}

.quote-search{position:relative;max-width:640px;margin:10px auto 8px;}
.quote-search i{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--sea);}
.quote-search input{
  width:100%;padding:16px 20px 16px 50px;border-radius:50px;border:1px solid var(--gray-line);
  background:var(--white);font-family:var(--font-body);font-size:.98rem;box-shadow:var(--shadow);transition:var(--transition);
}
.quote-search input:focus{outline:none;border-color:var(--sea);box-shadow:0 0 0 4px var(--sea-pale);}
.quote-count{text-align:center;color:var(--text-light);font-size:.85rem;margin-bottom:22px;}

.quote-sub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.quote-sub-item{
  position:relative;display:flex;align-items:center;gap:12px;background:var(--white);border:1.5px solid var(--gray-line);
  border-radius:var(--radius);padding:15px 40px 15px 16px;cursor:pointer;transition:var(--transition);font-weight:600;font-size:.9rem;color:var(--text);
}
.quote-sub-item i:first-child{color:var(--sea);font-size:1.05rem;flex-shrink:0;width:20px;text-align:center;}
.quote-sub-item .select-check{position:absolute;right:14px;top:50%;transform:translateY(-50%);opacity:0;color:var(--sea);transition:var(--transition);}
.quote-sub-item:hover{border-color:var(--sea);transform:translateY(-3px);box-shadow:var(--shadow);}
.quote-sub-item.selected{background:var(--sea-pale);border-color:var(--sea);color:var(--navy);}
.quote-sub-item.selected .select-check{opacity:1;}
.quote-sub-item.hide{display:none;}
.quote-sub-other{max-width:520px;margin:26px auto 0;justify-content:center;background:var(--gray);border-style:dashed;}
.quote-empty{text-align:center;color:var(--text-light);padding:30px 0;}

.quote-selected-bar{
  display:flex;align-items:center;gap:12px;background:var(--white);border:1.5px dashed var(--sea);
  border-radius:var(--radius);padding:16px 22px;font-weight:600;font-size:.92rem;color:var(--navy);flex-wrap:wrap;
}
.quote-selected-bar i.fa-circle-info{color:var(--sea);font-size:1.2rem;}
.quote-selected-bar.filled{border-style:solid;background:var(--sea-pale);}
.quote-change-link{margin-left:auto;color:var(--sea);font-weight:700;font-size:.85rem;text-decoration:underline;}
.quote-warning{display:none;color:#c0392b;background:#fdecea;border:1px solid #f5c6c0;padding:10px 16px;border-radius:8px;font-size:.85rem;margin-bottom:14px;}
.quote-warning.show{display:block;}

@media (max-width:940px){
  .quote-cat-grid{grid-template-columns:repeat(2,1fr);}
  .quote-sub-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:520px){
  .quote-cat-grid{grid-template-columns:1fr 1fr;}
  .quote-sub-grid{grid-template-columns:1fr;}
  .qsteps{flex-direction:column;align-items:stretch;}
}

/* ---------- FAQ page filter ---------- */
.faq-cats{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;}
.faq-cats button{padding:10px 22px;border-radius:30px;border:1px solid var(--gray-line);font-weight:600;font-size:.85rem;font-family:var(--font-head);transition:var(--transition);}
.faq-cats button.active,.faq-cats button:hover{background:var(--sea);color:#fff;border-color:var(--sea);}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  .features-grid,.services-grid,.tech-grid,.serve-grid,.social-feed-grid{grid-template-columns:repeat(2,1fr)!important;}
  .team-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .counter-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:940px){
  .main-nav{position:fixed;top:0;right:-100%;width:300px;height:100vh;background:#fff;flex-direction:column;padding:90px 24px 24px;box-shadow:-10px 0 30px rgba(0,0,0,.15);transition:right .4s ease;overflow-y:auto;z-index:1001;}
  .main-nav.active{right:0;}
  .nav-close{display:flex;align-items:center;justify-content:center;position:absolute;top:18px;right:18px;width:38px;height:38px;border:none;border-radius:50%;background:var(--sea-pale);color:var(--navy);font-size:1.1rem;cursor:pointer;transition:var(--transition);z-index:1002;}
  .nav-close:hover{background:var(--sea);color:#fff;}
  .main-nav > ul{flex-direction:column;flex-wrap:nowrap;width:100%;align-items:stretch;gap:0;}
  .main-nav > ul > li > a{padding:14px 4px;border-bottom:1px solid var(--gray-line);justify-content:space-between;}
  .dropdown-menu{position:static;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;border-top:none;padding-left:10px;}
  .main-nav li.dd-open .dropdown-menu{display:block;}
  .nav-toggle{display:flex;}
  .nav-wrap{display:flex;justify-content:space-between;align-items:center;gap:10px;}
  .brand img{height:52px;}
  .nav-actions{gap:10px;}
  .nav-quote-btn{padding:6px 13px;font-size:.72rem;animation:none;}
  .welcome-grid,.about-grid,.why-grid,.service-detail-grid,.contact-grid{grid-template-columns:1fr;}
  .service-detail-grid.reverse .sd-media{order:0;}
  .about-media-2{display:none;}
  .float-call{display:flex;}
}
@media (max-width:768px){
  .section{padding:60px 0;}
  .topbar-info span:nth-child(3){display:none;}
  .topbar-blog-link, .topbar-divider{display:none;}
  .topbar-social a[aria-label="Facebook"], .topbar-social a[aria-label="Instagram"]{display:none;}
  .features-grid,.services-grid,.tech-grid,.serve-grid,.social-feed-grid,.team-grid,.portfolio-grid,.gallery-grid,.contact-info-grid{grid-template-columns:repeat(2,1fr)!important;}
  .counter-grid{grid-template-columns:repeat(2,1fr);}
  .form-row{grid-template-columns:1fr;}
  .quote-btn-group{grid-template-columns:1fr;}
  .hero-content{max-width:100%;}
  .hero-nav-btn{display:none;}
  .footer-grid{grid-template-columns:1fr;}
}
@media (max-width:520px){
  .features-grid,.services-grid,.tech-grid,.serve-grid,.social-feed-grid,.team-grid,.portfolio-grid,.gallery-grid,.contact-info-grid,.counter-grid{grid-template-columns:1fr!important;}
  .hero-btns{flex-direction:column;align-items:flex-start;}
}

/* AOS-safe fallback (in case JS disabled) */
[data-aos]{opacity:1;}


.areas-we-serve-worldwide{padding:55px 0 60px;background:var(--navy-dark);color:#fff;overflow:hidden}
.areas-we-serve-worldwide h2{color:#fff;margin:0 0 8px}.areas-we-serve-worldwide p{color:rgba(255,255,255,.82);margin:0 0 28px}
.areas-worldwide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.areas-worldwide-column{min-width:0;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:20px;background:rgba(255,255,255,.045)}
.areas-worldwide-column h3{color:#fff;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.13)}
.areas-worldwide-scroll{height:320px;overflow-y:auto;overflow-x:hidden;padding-right:7px}
.areas-worldwide-scroll ul{list-style:none;margin:0;padding:0}.areas-worldwide-scroll li{margin:0;padding:0}
.areas-worldwide-scroll a{display:block;color:rgba(255,255,255,.88);text-decoration:none;padding:6px 0;line-height:1.45;font-size:.92rem}
.areas-worldwide-scroll a:hover{color:#fff;text-decoration:underline}
@media(max-width:900px){.areas-worldwide-grid{grid-template-columns:1fr}.areas-worldwide-scroll{height:280px}}
@media(max-width:576px){.areas-we-serve-worldwide{padding:42px 0 48px}.areas-worldwide-scroll{height:250px}}
