/* =========================================================
   CLIENT FIRST — BRAND LIGHT / PREMIUM MOTION THEME
   Based on Client First's blue + coral identity.
   Front-end only. PHP/database logic remains unchanged.
   ========================================================= */
:root{
  --cf-blue:#1289ad;
  --cf-blue-dark:#08789b;
  --cf-blue-soft:#e9f8fc;
  --cf-blue-soft-2:#f3fbfd;
  --cf-red:#ef4027;
  --cf-red-dark:#df331c;
  --cf-orange:#ff7d3a;
  --cf-ink:#15313b;
  --cf-muted:#687c84;
  --cf-line:#dcebef;
  --cf-paper:#f8fcfd;
  --cf-white:#fff;
  --cf-shadow:0 22px 70px rgba(19,87,108,.12);
  --cf-shadow-soft:0 14px 40px rgba(19,87,108,.08);
  --cf-radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#fff}
body{margin:0;color:var(--cf-ink);font-family:"DM Sans",sans-serif;background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
main{overflow:hidden;position:relative}
.container{width:min(1200px,calc(100% - 40px));margin:auto}
::selection{background:rgba(18,137,173,.19);color:#073f51}

/* Motion helpers */
.scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:9999;background:transparent;pointer-events:none}
.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cf-blue),var(--cf-red),var(--cf-orange));box-shadow:0 0 18px rgba(239,64,39,.35)}
.cursor-glow{position:fixed;width:220px;height:220px;border-radius:50%;pointer-events:none;z-index:1;opacity:.18;filter:blur(28px);background:radial-gradient(circle,rgba(18,137,173,.34),rgba(239,64,39,.09) 48%,transparent 72%);transform:translate(-50%,-50%);transition:opacity .25s;will-change:left,top}
.reveal-item{opacity:0;transform:translateY(34px);transition:opacity .75s cubic-bezier(.2,.65,.25,1),transform .75s cubic-bezier(.2,.65,.25,1)}
.reveal-item.reveal-left{transform:translateX(-38px)}
.reveal-item.reveal-right{transform:translateX(38px)}
.reveal-item.is-visible{opacity:1;transform:none}

/* Top strip */
.topbar{position:relative;z-index:90;background:linear-gradient(90deg,var(--cf-blue-dark),var(--cf-blue));color:#eaffff;font-size:12px;overflow:hidden}
.topbar:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.18) 45%,transparent 70%);transform:translateX(-120%);animation:topShine 8s ease-in-out infinite}
@keyframes topShine{0%,55%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
.topbar-inner{height:39px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}
.topbar-left{display:flex;gap:14px;align-items:center}.topbar a{transition:.2s}.topbar a:hover{color:#fff;transform:translateY(-1px)}
.topbar .dot{width:5px;height:5px;background:#fff;border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.12);animation:dotPulse 1.8s ease-in-out infinite}
@keyframes dotPulse{50%{box-shadow:0 0 0 8px rgba(255,255,255,0)}}
.topbar-right{font-weight:700;letter-spacing:1.15px;text-transform:uppercase;font-size:10px}

/* Header */
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.91);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);border-bottom:1px solid rgba(17,137,173,.1);box-shadow:0 12px 35px rgba(30,95,113,.06);transition:.3s}
.site-header.is-scrolled{background:rgba(255,255,255,.97);box-shadow:0 12px 34px rgba(24,92,112,.11)}
.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content;position:relative}
.brand img{max-height:62px;max-width:236px;object-fit:contain;transition:.35s}
.brand:hover img{transform:translateY(-2px) scale(1.015)}
.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:17px;background:linear-gradient(145deg,var(--cf-blue),#37a7c6);color:#fff;font:800 16px/1 Manrope;box-shadow:0 13px 28px rgba(18,137,173,.22);position:relative;overflow:hidden}
.brand-mark:after{content:"";position:absolute;width:32px;height:32px;border-radius:50%;background:var(--cf-red);right:-15px;bottom:-15px}
.brand-text{font:800 20px/1 Manrope;letter-spacing:-.8px;color:var(--cf-blue)}.brand-text span{color:var(--cf-red)}
.main-nav{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:700;color:#244a57}
.main-nav>a,.nav-drop>button{position:relative;transition:.22s}
.main-nav>a:hover,.nav-drop>button:hover{color:var(--cf-blue)}
.main-nav>a:not(.nav-cta):after,.nav-drop>button:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;border-radius:4px;background:linear-gradient(90deg,var(--cf-blue),var(--cf-red));transition:.25s}
.main-nav>a:hover:after,.nav-drop>button:hover:after{width:100%}
.nav-drop{position:relative}.nav-drop>button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}.nav-drop b{font-size:12px;color:var(--cf-blue)}
.drop-menu{opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);position:absolute;top:36px;left:-22px;background:rgba(255,255,255,.98);border:1px solid var(--cf-line);border-radius:19px;padding:10px;min-width:225px;box-shadow:var(--cf-shadow);transition:.24s;overflow:hidden}
.drop-menu:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--cf-blue-soft);right:-35px;top:-45px}
.drop-menu a{display:block;position:relative;padding:10px 12px;border-radius:11px;color:#31545f;transition:.2s}
.drop-menu a:hover{background:var(--cf-blue-soft);color:var(--cf-blue-dark);padding-left:16px}
.nav-drop:hover .drop-menu{opacity:1;visibility:visible;transform:none}
.nav-cta{padding:12px 18px;border-radius:999px!important;background:linear-gradient(135deg,var(--cf-red),var(--cf-orange));color:#fff!important;box-shadow:0 12px 28px rgba(239,64,39,.2);border:1px solid rgba(255,255,255,.6)}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(239,64,39,.28)}.nav-cta span{margin-left:4px}
.nav-toggle{display:none;background:#fff;border:1px solid var(--cf-line);padding:8px;border-radius:12px;box-shadow:var(--cf-shadow-soft)}.nav-toggle span{display:block;width:25px;height:2px;background:var(--cf-blue-dark);margin:5px;border-radius:10px}

/* Hero */
.hero{min-height:720px;display:grid;align-items:stretch;position:relative;overflow:hidden;color:var(--cf-ink);background:linear-gradient(120deg,#ffffff 0%,#f6fcfe 48%,#e9f8fc 100%);border-bottom:1px solid var(--cf-line)}
.hero:before{content:"";position:absolute;width:470px;height:470px;border-radius:50%;right:-130px;top:-160px;background:radial-gradient(circle,rgba(239,64,39,.16),rgba(239,64,39,.02) 58%,transparent 70%);animation:blobFloat 8s ease-in-out infinite;z-index:1}
.hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;left:-165px;bottom:-155px;border:50px solid rgba(18,137,173,.08);animation:slowSpin 18s linear infinite;z-index:1}
@keyframes blobFloat{50%{transform:translate(-26px,28px) scale(1.06)}}
@keyframes slowSpin{to{transform:rotate(360deg)}}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s;z-index:2}.hero-slide.active{opacity:1;visibility:visible}
.hero-bg{position:absolute;right:-3%;top:6%;width:52%;height:88%;object-fit:cover;border-radius:44px 0 0 44px;box-shadow:-22px 30px 80px rgba(18,96,120,.14);filter:saturate(.98) contrast(1.01);transform:translateX(36px) scale(1.025);transition:transform 1.4s cubic-bezier(.2,.7,.2,1);clip-path:polygon(8% 0,100% 0,100% 100%,0 100%,0 17%)}
.hero-slide.active .hero-bg{transform:translateX(0) scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 42%,rgba(255,255,255,.76) 59%,rgba(255,255,255,.05) 76%);z-index:1}
.hero-inner{position:relative;z-index:4;padding:130px 0 110px;max-width:680px;display:flex;align-items:center;min-height:720px}
.hero-copy{position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:2.3px;color:var(--cf-blue);text-transform:uppercase}
.eyebrow:before{content:"";width:32px;height:3px;border-radius:4px;background:linear-gradient(90deg,var(--cf-blue),var(--cf-red));animation:eyebrowWidth 2.8s ease-in-out infinite alternate}
@keyframes eyebrowWidth{to{width:48px}}
.eyebrow.light{color:#fff}.eyebrow.light:before{background:#fff}
.hero h1{font:800 clamp(50px,6.6vw,86px)/.98 Manrope;margin:20px 0 25px;letter-spacing:-4.5px;color:#143945;text-wrap:balance}.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--cf-blue),var(--cf-red));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{max-width:630px;font-size:18px;color:#5e747c;margin:0 0 33px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 21px;border-radius:999px;border:1px solid transparent;font-weight:800;transition:transform .22s,box-shadow .22s,background .22s,color .22s;cursor:pointer;font-family:inherit;isolation:isolate}
.btn:before{content:"";position:absolute;inset:-2px auto -2px -45%;width:35%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transition:.65s;z-index:-1}.btn:hover:before{left:125%}
.btn-brand{background:linear-gradient(135deg,var(--cf-red),var(--cf-orange));color:#fff;box-shadow:0 12px 30px rgba(239,64,39,.22)}.btn-brand:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(239,64,39,.3)}
.btn-outline{border-color:rgba(18,137,173,.28);background:#fff;color:var(--cf-blue-dark);box-shadow:0 10px 28px rgba(18,137,173,.08)}.btn-outline:hover{background:var(--cf-blue);color:#fff;border-color:var(--cf-blue);transform:translateY(-2px)}
.btn-dark{background:linear-gradient(135deg,var(--cf-blue),var(--cf-blue-dark));color:#fff;box-shadow:0 11px 27px rgba(18,137,173,.18)}.btn-dark:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(18,137,173,.25)}
.btn-light{background:#fff;color:var(--cf-blue-dark);box-shadow:0 11px 25px rgba(0,0,0,.1)}
.hero-dots{position:absolute;right:max(25px,calc((100vw - 1200px)/2));bottom:42px;z-index:6;display:flex;gap:8px}.hero-dot{width:33px;height:5px;border:0;background:rgba(18,137,173,.22);cursor:pointer;border-radius:10px;transition:.25s}.hero-dot.active{width:55px;background:linear-gradient(90deg,var(--cf-blue),var(--cf-red));box-shadow:0 0 14px rgba(18,137,173,.24)}
.hero-motion{position:absolute;inset:0;z-index:3;pointer-events:none}.motion-pill{position:absolute;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.92);border:1px solid rgba(18,137,173,.14);box-shadow:0 15px 35px rgba(20,102,125,.1);border-radius:999px;padding:10px 15px;font-size:11px;font-weight:800;color:#24505d;backdrop-filter:blur(10px)}.motion-pill i{display:block;width:8px;height:8px;border-radius:50%;background:var(--cf-red);box-shadow:0 0 0 5px rgba(239,64,39,.09)}
.motion-pill.p1{right:37%;top:18%;animation:floatOne 5.8s ease-in-out infinite}.motion-pill.p2{right:8%;bottom:21%;animation:floatTwo 6.5s ease-in-out infinite}.motion-pill.p3{right:32%;bottom:10%;animation:floatThree 7s ease-in-out infinite}.motion-pill.p2 i{background:var(--cf-blue);box-shadow:0 0 0 5px rgba(18,137,173,.09)}
@keyframes floatOne{50%{transform:translate(14px,-18px) rotate(1deg)}}@keyframes floatTwo{50%{transform:translate(-18px,14px) rotate(-1deg)}}@keyframes floatThree{50%{transform:translate(12px,12px)}}

/* Announcement */
.announcement{position:relative;background:linear-gradient(90deg,var(--cf-red),#ff5f3e,var(--cf-red));color:#fff;overflow:hidden;border-bottom:1px solid rgba(239,64,39,.15)}
.announcement:before,.announcement:after{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none}.announcement:before{left:0;background:linear-gradient(90deg,var(--cf-red),transparent)}.announcement:after{right:0;background:linear-gradient(-90deg,var(--cf-red),transparent)}
.announcement-track{display:flex;gap:52px;white-space:nowrap;padding:12px 0;font-size:12px;font-weight:800;letter-spacing:.8px;animation:marquee 28s linear infinite}.announcement-track:hover{animation-play-state:paused}.announcement-track span:before{content:"✦";margin-right:14px;color:#fff0a9}@keyframes marquee{to{transform:translateX(-50%)}}

/* Shared sections */
.section{padding:106px 0;position:relative;background:#fff}.section:nth-of-type(even):not(.section-paper):not(.section-dark){background:#fff}
.section:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:28px solid rgba(18,137,173,.025);right:-80px;top:22%;pointer-events:none;animation:slowSpin 24s linear infinite}
.section-paper{background:linear-gradient(145deg,#f6fcfe,#eef9fc);border-top:1px solid #edf7f9;border-bottom:1px solid #edf7f9}.section-paper:after{content:"";position:absolute;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,rgba(239,64,39,.08),transparent 68%);left:-110px;bottom:-120px;pointer-events:none;animation:blobFloat 10s ease-in-out infinite reverse}
.section-dark{background:linear-gradient(145deg,#eef9fc 0%,#ffffff 58%,#fff6f2 100%);color:var(--cf-ink);border-top:1px solid var(--cf-line);border-bottom:1px solid var(--cf-line)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:42px;margin-bottom:50px;position:relative;z-index:2}.section-head h2,.big-title{font:800 clamp(36px,4.7vw,62px)/1.04 Manrope;letter-spacing:-2.45px;margin:12px 0 0;color:#173f4b}.section-head p{max-width:520px;color:var(--cf-muted);font-size:16px}.section-dark .section-head p{color:var(--cf-muted)}

/* About */
.about-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:74px;align-items:center;position:relative;z-index:2}.about-media{position:relative}.about-media:before{content:"";position:absolute;inset:-15px 26px 18px -15px;border:1px dashed rgba(18,137,173,.28);border-radius:35px;z-index:-1;animation:borderDrift 5s ease-in-out infinite}.about-media:after{content:"";position:absolute;width:88px;height:88px;border-radius:26px;background:linear-gradient(135deg,var(--cf-blue),#59b8d1);left:-25px;top:48px;z-index:-1;transform:rotate(18deg);animation:shapeDance 6s ease-in-out infinite}
@keyframes borderDrift{50%{transform:translate(7px,8px)}}@keyframes shapeDance{50%{transform:translate(8px,-12px) rotate(28deg)}}
.about-media img{border-radius:var(--cf-radius);min-height:520px;object-fit:cover;box-shadow:var(--cf-shadow);border:8px solid #fff}.experience-badge{position:absolute;right:-22px;bottom:30px;background:#fff;color:var(--cf-ink);padding:20px 24px;border-radius:22px;box-shadow:0 18px 45px rgba(23,90,111,.14);border:1px solid var(--cf-line);animation:badgeFloat 4.5s ease-in-out infinite}.experience-badge:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:5px;background:linear-gradient(var(--cf-blue),var(--cf-red))}.experience-badge strong{display:block;font:800 42px/1 Manrope;color:var(--cf-red)}.experience-badge span{font-size:11px;text-transform:uppercase;letter-spacing:1.1px;color:var(--cf-muted)}@keyframes badgeFloat{50%{transform:translateY(-9px)}}
.about-copy h2{font:800 clamp(38px,4.4vw,60px)/1.04 Manrope;letter-spacing:-2.45px;margin:14px 0 25px;color:#173f4b}.about-copy>p{color:var(--cf-muted);font-size:17px}.values{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0}.value-card{position:relative;overflow:hidden;padding:18px 18px 18px 21px;border:1px solid var(--cf-line);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(18,91,111,.035);transition:.28s}.value-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--cf-blue),var(--cf-red));transform:scaleY(.35);transition:.28s}.value-card:hover{transform:translateY(-4px);box-shadow:var(--cf-shadow-soft);border-color:rgba(18,137,173,.25)}.value-card:hover:before{transform:scaleY(1)}.value-card strong{display:block;font:700 16px Manrope;margin-bottom:4px;color:#204755}.value-card span{font-size:13px;color:var(--cf-muted)}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-5px;position:relative;z-index:3}.stat{position:relative;overflow:hidden;padding:34px 16px;text-align:center;border:1px solid var(--cf-line);border-radius:22px;background:#fff;box-shadow:0 11px 30px rgba(18,92,112,.055);transition:.28s}.stat:before{content:"";position:absolute;width:70px;height:70px;border-radius:50%;background:var(--cf-blue-soft);right:-25px;top:-28px;transition:.35s}.stat:nth-child(even):before{background:#fff0eb}.stat:hover{transform:translateY(-6px);box-shadow:var(--cf-shadow)}.stat:hover:before{transform:scale(1.35)}.stat strong{display:block;font:800 46px/1 Manrope;letter-spacing:-2px;background:linear-gradient(120deg,var(--cf-blue),var(--cf-red));-webkit-background-clip:text;background-clip:text;color:transparent}.stat span{display:block;margin-top:9px;color:var(--cf-muted);font-size:12px;text-transform:uppercase;letter-spacing:1.05px;font-weight:700}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.service-card{position:relative;min-height:500px;border-radius:var(--cf-radius);overflow:hidden;background:#fff;border:1px solid var(--cf-line);box-shadow:0 14px 42px rgba(21,90,110,.075);color:var(--cf-ink);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;border-color .35s;transform-style:preserve-3d}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(255,255,255,.88) 69%,#fff 100%);pointer-events:none}.service-card:before{content:"";position:absolute;z-index:4;width:120px;height:120px;border-radius:50%;right:-55px;bottom:-50px;background:linear-gradient(135deg,var(--cf-blue),var(--cf-red));opacity:.08;transition:.4s}.service-card:hover{transform:translateY(-8px);box-shadow:0 26px 65px rgba(20,91,111,.14);border-color:rgba(18,137,173,.26)}.service-card:hover:before{transform:scale(1.5);opacity:.12}.service-card img{position:absolute;inset:0 0 auto;width:100%;height:62%;object-fit:cover;transition:.65s cubic-bezier(.2,.7,.2,1)}.service-card:hover img{transform:scale(1.045)}.service-content{position:absolute;left:28px;right:28px;bottom:26px;z-index:5}.service-index{font:800 11px Manrope;color:var(--cf-red);letter-spacing:1.1px}.service-card h3{font:800 32px/1.05 Manrope;margin:8px 0 10px;color:#173f4b}.service-card p{color:var(--cf-muted);margin:0 0 17px;max-width:520px}.arrow-link{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:13px;color:var(--cf-blue-dark)}.arrow-link b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--cf-blue);color:#fff;transition:.25s}.service-card:hover .arrow-link b{transform:rotate(45deg);background:var(--cf-red)}

/* Portfolio */
.portfolio-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filter-btn{border:1px solid var(--cf-line);background:#fff;border-radius:999px;padding:10px 16px;font:700 13px DM Sans;cursor:pointer;color:#315460;transition:.25s}.filter-btn.active,.filter-btn:hover{background:var(--cf-blue);color:#fff;border-color:var(--cf-blue);box-shadow:0 9px 22px rgba(18,137,173,.17);transform:translateY(-2px)}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portfolio-card{position:relative;overflow:hidden;border-radius:23px;background:#eef6f8;aspect-ratio:4/3;border:1px solid var(--cf-line);box-shadow:0 10px 28px rgba(18,92,112,.055);transition:.35s;transform-style:preserve-3d}.portfolio-card:after{content:"";position:absolute;left:-120%;top:0;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);transition:.8s}.portfolio-card:hover:after{left:150%}.portfolio-card:hover{transform:translateY(-6px);box-shadow:0 22px 52px rgba(19,91,111,.14)}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:.65s}.portfolio-card:hover img{transform:scale(1.055)}.portfolio-info{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);padding:15px 17px;border-radius:16px;transform:translateY(7px);transition:.32s;box-shadow:0 11px 28px rgba(30,91,109,.09)}.portfolio-card:hover .portfolio-info{transform:none}.portfolio-info small{color:var(--cf-red);font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:.7px}.portfolio-info h3{font:700 18px Manrope;margin:3px 0 0;color:#183d48}

/* Logo cloud */
.logo-cloud{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.logo-box{height:118px;border:1px solid var(--cf-line);border-radius:18px;display:grid;place-items:center;background:#fff;padding:18px;transition:.28s;position:relative;overflow:hidden}.logo-box:before{content:"";position:absolute;width:70px;height:70px;border-radius:50%;background:var(--cf-blue-soft);right:-40px;top:-35px;transition:.3s}.logo-box:hover{transform:translateY(-5px) rotate(.4deg);box-shadow:var(--cf-shadow-soft);border-color:rgba(18,137,173,.25)}.logo-box:hover:before{transform:scale(1.5)}.logo-box img{max-height:70px;max-width:130px;object-fit:contain;filter:grayscale(1);opacity:.68;transition:.35s}.logo-box:hover img{filter:none;opacity:1;transform:scale(1.04)}

/* Testimonials — intentionally light */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.quote-card{position:relative;overflow:hidden;border:1px solid var(--cf-line);border-radius:23px;padding:29px;background:#fff;box-shadow:0 12px 34px rgba(18,90,110,.06);transition:.3s}.quote-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-48px;bottom:-48px;background:linear-gradient(135deg,rgba(18,137,173,.12),rgba(239,64,39,.09));transition:.35s}.quote-card:hover{transform:translateY(-7px);box-shadow:var(--cf-shadow);border-color:rgba(18,137,173,.23)}.quote-card:hover:after{transform:scale(1.3)}.quote-mark{font-size:45px;color:var(--cf-red);line-height:1}.stars{color:#f5b52a;letter-spacing:3px}.quote-card blockquote{font-size:16px;color:#4f6871;margin:16px 0 24px}.person{display:flex;align-items:center;gap:12px;position:relative;z-index:2}.person img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:3px solid var(--cf-blue-soft)}.person strong{display:block;color:#1d4854}.person small{color:#7a8d94}

/* CTA */
.cta-band{position:relative;overflow:hidden;color:#fff;padding:76px 0;background:linear-gradient(112deg,var(--cf-blue) 0%,#22a0c1 42%,var(--cf-red) 100%)}.cta-band:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:60px solid rgba(255,255,255,.08);right:-80px;top:-140px;animation:slowSpin 18s linear infinite}.cta-band:after{content:"";position:absolute;width:230px;height:230px;border-radius:45px;background:rgba(255,255,255,.06);left:-70px;bottom:-160px;transform:rotate(35deg);animation:ctaMove 8s ease-in-out infinite}@keyframes ctaMove{50%{transform:translate(35px,-25px) rotate(48deg)}}
.cta-grid{display:flex;align-items:center;justify-content:space-between;gap:50px;position:relative;z-index:2}.cta-grid h2{font:800 clamp(36px,4vw,58px)/1.04 Manrope;letter-spacing:-2.2px;margin:12px 0 0;max-width:780px}.cta-actions{text-align:right;min-width:210px}.cta-phone{display:block;margin-top:15px;font-weight:800;color:#fff}

/* Footer — light, not dark */
.footer{position:relative;background:linear-gradient(180deg,#edf9fc,#f9fdfe);color:#58717a;padding:76px 0 22px;border-top:1px solid var(--cf-line);overflow:hidden}.footer:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;border:70px solid rgba(18,137,173,.035);left:-170px;bottom:-230px;animation:slowSpin 28s linear infinite}.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.3fr;gap:50px;position:relative;z-index:2}.brand-footer{color:var(--cf-blue)}.brand-footer img{filter:none}.footer-brand p{max-width:360px;color:#637b83}.footer h4{font:800 13px Manrope;color:#184757;text-transform:uppercase;letter-spacing:1.35px;margin:4px 0 18px}.footer-grid>div>a:not(.brand){display:block;padding:4px 0;color:#607981;transition:.2s}.footer-grid>div>a:not(.brand):hover{color:var(--cf-red);transform:translateX(4px)}.contact-line{color:#607981}.socials{display:flex;gap:8px;margin-top:20px}.socials a{display:grid!important;place-items:center;width:37px;height:37px;padding:0!important;border:1px solid #cfe5eb;border-radius:50%;color:var(--cf-blue-dark)!important;background:#fff;transform:none!important;transition:.25s}.socials a:hover{background:var(--cf-red);border-color:var(--cf-red);color:#fff!important;transform:translateY(-3px)!important}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #d8ebef;margin-top:58px;padding-top:20px;font-size:12px;color:#71858b;position:relative;z-index:2}
.floating-call{position:fixed;right:20px;bottom:20px;z-index:70;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cf-blue),var(--cf-red));color:#fff;font-size:19px;box-shadow:0 16px 36px rgba(18,137,173,.24);border:3px solid rgba(255,255,255,.92);transition:.25s;animation:callPulse 2.6s ease-in-out infinite}@keyframes callPulse{50%{box-shadow:0 16px 36px rgba(18,137,173,.2),0 0 0 12px rgba(18,137,173,0)}}.floating-call:hover{transform:translateY(-4px) scale(1.04)}

/* Inner page hero */
.page-hero{position:relative;overflow:hidden;padding:105px 0 76px;color:var(--cf-ink);background:linear-gradient(130deg,#f9feff 0%,#eaf8fc 63%,#fff3ef 100%);border-bottom:1px solid var(--cf-line)}.page-hero:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;border:52px solid rgba(18,137,173,.07);right:-95px;top:-150px;animation:slowSpin 20s linear infinite}.page-hero:after{content:"";position:absolute;width:190px;height:190px;border-radius:40px;background:rgba(239,64,39,.055);right:18%;bottom:-120px;transform:rotate(32deg);animation:shapeDance 7s ease-in-out infinite}.page-hero .container{position:relative;z-index:2}.page-hero h1{font:800 clamp(45px,6vw,76px)/1 Manrope;letter-spacing:-3.8px;margin:15px 0 0;max-width:930px;color:#173f4b}.breadcrumbs{font-size:11px;color:#6e8992;margin-bottom:25px;text-transform:uppercase;letter-spacing:1.1px}.breadcrumbs a{color:var(--cf-blue);font-weight:700}

/* Content */
.content-grid{display:grid;grid-template-columns:1fr 330px;gap:60px;align-items:start}.rich-content{color:#4d6871}.rich-content h1,.rich-content h2,.rich-content h3,.rich-content h4{font-family:Manrope;color:#184553}.rich-content h2{font-size:36px;letter-spacing:-1.2px}.rich-content h3{font-size:25px}.rich-content p,.rich-content li{color:#5d737b;font-size:16px}.rich-content a{color:var(--cf-red);font-weight:700}.rich-content img{border-radius:22px;margin:25px 0;border:1px solid var(--cf-line);box-shadow:var(--cf-shadow)}.rich-content blockquote{margin:25px 0;padding:18px 20px;border-left:4px solid var(--cf-red);background:#f5fbfd;border-radius:0 14px 14px 0;color:#42616b}.side-card{background:linear-gradient(145deg,#f5fbfd,#fff);padding:27px;border-radius:20px;position:sticky;top:112px;border:1px solid var(--cf-line);box-shadow:var(--cf-shadow-soft)}.side-card h3{font:700 20px Manrope;color:#184553}.side-card a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--cf-line);font-weight:700;color:#53717a;transition:.22s}.side-card a:hover{color:var(--cf-red);padding-left:4px}.side-card a span{color:var(--cf-blue)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px}.contact-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--cf-blue),#29a7c8);color:#fff;border-radius:27px;padding:40px;box-shadow:var(--cf-shadow)}.contact-panel:after{content:"";position:absolute;width:260px;height:260px;right:-130px;bottom:-130px;border:45px solid rgba(255,255,255,.1);border-radius:50%;animation:slowSpin 16s linear infinite}.contact-panel h2{font:800 42px/1.1 Manrope;letter-spacing:-1.7px}.contact-panel p{color:#e8fbff}.contact-row{padding:18px 0;border-top:1px solid rgba(255,255,255,.2);position:relative;z-index:2;color:#fff}.contact-row small{display:block;color:#d9f7ff;text-transform:uppercase;letter-spacing:1.15px;font-size:10px;margin-bottom:3px}.contact-form{border:1px solid var(--cf-line);border-radius:27px;padding:38px;background:#fff;box-shadow:var(--cf-shadow-soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;margin:0 0 7px;color:#45646e}.field input,.field textarea,.field select{width:100%;border:1px solid #d7e7eb;border-radius:13px;padding:13px 14px;font:inherit;outline:0;background:#fbfeff;color:#193f4b;transition:.22s}.field input::placeholder,.field textarea::placeholder{color:#8da0a6}.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(18,137,173,.65);box-shadow:0 0 0 4px rgba(18,137,173,.08);background:#fff}.field textarea{min-height:140px;resize:vertical}.field.full{grid-column:1/-1}.alert{padding:13px 16px;border-radius:12px;margin-bottom:20px;border:1px solid transparent}.alert-success{background:#eaf8ef;color:#176b35;border-color:#c8edd6}.alert-error{background:#fff0ed;color:#a93020;border-color:#ffd4ca}

/* Careers */
.jobs{display:grid;gap:14px}.job-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:26px;border:1px solid var(--cf-line);border-radius:20px;background:#fff;transition:.28s;box-shadow:0 8px 24px rgba(18,90,110,.04)}.job-card:after{content:"";position:absolute;width:85px;height:85px;border-radius:50%;background:var(--cf-blue-soft);right:-45px;top:-45px;transition:.3s}.job-card:hover{transform:translateY(-4px);border-color:rgba(18,137,173,.24);box-shadow:var(--cf-shadow-soft)}.job-card:hover:after{transform:scale(1.4)}.job-card h3{font:700 22px Manrope;margin:0 0 5px;color:#184553}.job-card p{color:#657b83;margin-bottom:0}.job-meta{color:#7a9199;font-size:12px;text-transform:uppercase;letter-spacing:.55px}.empty{padding:40px;border:1px dashed #cbdfe4;border-radius:20px;text-align:center;color:#6f858d;background:#f8fcfd}

/* Generic */
.card{background:#fff;border:1px solid var(--cf-line);border-radius:20px;color:var(--cf-ink);box-shadow:var(--cf-shadow-soft)}

/* Responsive */
@media(max-width:1020px){
  .main-nav{display:none;position:absolute;top:88px;left:20px;right:20px;background:rgba(255,255,255,.99);border:1px solid var(--cf-line);border-radius:20px;padding:18px;box-shadow:var(--cf-shadow);flex-direction:column;align-items:stretch;gap:4px;backdrop-filter:blur(18px)}
  .main-nav.open{display:flex}.main-nav>a,.nav-drop>button{padding:10px;text-align:left}.nav-toggle{display:block}.drop-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 15px;display:none;background:transparent}.nav-drop.open .drop-menu{display:block}
  .hero-bg{width:58%;opacity:.55}.hero-overlay{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 54%,rgba(255,255,255,.4) 100%)}.motion-pill{display:none}
  .about-grid,.contact-grid,.content-grid{grid-template-columns:1fr}.side-card{position:static}.stats{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.logo-cloud{grid-template-columns:repeat(4,1fr)}.testimonials{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta-grid{display:block}.cta-actions{text-align:left;margin-top:25px}
}
@media(max-width:650px){
  .container{width:min(100% - 28px,1200px)}.topbar-right{display:none}.topbar-left{gap:8px;font-size:10px}.nav-wrap{height:78px}.main-nav{top:78px}.brand img{max-height:50px;max-width:190px}
  .hero{min-height:670px}.hero-inner{padding:100px 0 80px;min-height:670px}.hero-bg{right:-42%;top:0;width:110%;height:100%;border-radius:0;clip-path:none;opacity:.22}.hero-overlay{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.91) 100%)}.hero h1{letter-spacing:-3px;font-size:52px}.hero p{font-size:16px}.hero-dots{display:none}.section{padding:76px 0}.section-head{display:block}.values{grid-template-columns:1fr}.experience-badge{right:10px}.stats{grid-template-columns:1fr 1fr}.stat{padding:25px 8px}.stat strong{font-size:36px}.portfolio-grid{grid-template-columns:1fr}.logo-cloud{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin:5px 0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.job-card{grid-template-columns:1fr}.page-hero{padding:78px 0 54px}.page-hero h1{letter-spacing:-2.6px}.cursor-glow{display:none}.about-media img{min-height:380px}.service-card{min-height:470px}
}

/* Supplied 2:1 campaign banners: preserve every edge and keep UI unobtrusive. */
.hero{
  min-height:0!important;
  height:clamp(520px,50vw,760px)!important;
  background:#071f2c;
}
.hero-slide{background:#071f2c}
.hero-bg{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  filter:saturate(1.03) contrast(1.02)!important;
}
.hero-overlay{
  background:linear-gradient(180deg,transparent 45%,rgba(3,25,34,.10) 68%,rgba(3,25,34,.52) 100%)!important;
}
.hero-inner{
  min-height:0!important;
  height:100%;
  padding:0 0 26px!important;
  align-items:flex-end!important;
}
.hero-copy{
  width:min(390px,calc(100vw - 48px))!important;
  padding:17px 19px!important;
  border-radius:19px!important;
  background:linear-gradient(135deg,rgba(5,40,53,.82),rgba(8,72,90,.66))!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(9px)!important;
}
.hero-copy .eyebrow{font-size:9px!important;margin-bottom:7px!important}
.hero h1{font-size:clamp(25px,2.1vw,34px)!important;line-height:1.02!important;letter-spacing:-1.2px!important;margin:6px 0 7px!important}
.hero p{font-size:12px!important;line-height:1.45!important;margin:0 0 12px!important}
.hero-actions{gap:8px!important}
.hero-actions .btn{padding:9px 13px!important;font-size:11px!important}
.hero-motion{display:none!important}
.hero-dots{bottom:18px!important}

@media(max-width:700px){
  .hero{height:auto!important;min-height:0!important;aspect-ratio:2/1}
  .hero-inner{padding:0 0 12px!important}
  .hero-copy{margin:0 auto;padding:11px 13px!important;width:calc(100% - 26px)!important;border-radius:14px!important}
  .hero-copy .eyebrow,.hero p,.hero-actions .btn-outline{display:none!important}
  .hero h1{font-size:21px!important;margin:0 0 8px!important;letter-spacing:-.7px!important}
  .hero-actions .btn{padding:7px 11px!important;font-size:10px!important}
  .hero-dots{display:flex!important;bottom:8px!important;right:13px!important}
  .hero-dot{width:7px!important;height:7px!important}
}

/* WhatsApp + AI assistant */
.chat-launchers{position:fixed;right:25px;bottom:24px;z-index:9000;display:flex;flex-direction:column;align-items:center;gap:10px}
.chat-launcher{position:relative;display:grid;place-items:center;width:54px;height:54px;border:0;border-radius:18px;color:#fff;text-decoration:none;cursor:pointer;box-shadow:0 15px 35px rgba(5,54,70,.24);transition:transform .25s,box-shadow .25s;font:800 13px Manrope}
.chat-launcher:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 20px 42px rgba(5,54,70,.3)}
.whatsapp-launcher{background:linear-gradient(135deg,#25d366,#12aa50)}
.ai-launcher{background:linear-gradient(135deg,#0f88ad,#f24423);animation:aiPulse 2.3s ease-in-out infinite}
.ai-launcher i{position:absolute;right:4px;top:4px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#54dc84}
.call-launcher{background:linear-gradient(135deg,#153f4d,#0b7899);font-size:20px}
@keyframes aiPulse{0%,100%{box-shadow:0 15px 35px rgba(5,54,70,.24),0 0 0 0 rgba(18,137,173,.25)}50%{box-shadow:0 15px 35px rgba(5,54,70,.24),0 0 0 12px rgba(18,137,173,0)}}
.ai-chat-panel{position:fixed;right:92px;bottom:24px;z-index:9001;display:flex;flex-direction:column;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 48px));border:1px solid rgba(18,137,173,.18);border-radius:25px;background:#fff;box-shadow:0 28px 90px rgba(4,44,57,.3);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(20px) scale(.96);transform-origin:bottom right;transition:.3s cubic-bezier(.2,.7,.2,1)}
.ai-chat-panel.open{opacity:1;visibility:visible;transform:none}
.ai-chat-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;color:#fff;background:linear-gradient(120deg,#0c7597,#1195bb 62%,#f25436)}
.ai-chat-head>div{display:flex;align-items:center;gap:11px}.ai-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);font:800 13px Manrope}.ai-chat-head strong{display:block;font:800 15px Manrope}.ai-chat-head small{display:flex;align-items:center;gap:6px;margin-top:3px;color:#e8fbff;font-size:10px}.ai-chat-head small i{width:7px;height:7px;border-radius:50%;background:#67e58f}.ai-chat-head button{width:34px;height:34px;border:0;border-radius:11px;background:rgba(255,255,255,.14);color:#fff;font-size:24px;cursor:pointer}
.ai-chat-messages{flex:1;overflow-y:auto;padding:18px;background:linear-gradient(180deg,#f7fcfd,#fff)}
.ai-message{width:max-content;max-width:86%;margin:0 0 11px;padding:11px 13px;border-radius:15px;font-size:13px;line-height:1.55;white-space:pre-wrap}.ai-message.bot{background:#eaf7fa;color:#254f5b;border-bottom-left-radius:5px}.ai-message.user{margin-left:auto;background:linear-gradient(135deg,#118bb0,#087594);color:#fff;border-bottom-right-radius:5px}.ai-message.loading{color:#6a858e;font-style:italic}
.ai-chat-suggestions{display:flex;gap:6px;overflow-x:auto;padding:9px 13px;border-top:1px solid #e4f0f3;background:#fff}.ai-chat-suggestions button{flex:0 0 auto;border:1px solid #cbe4ea;border-radius:999px;padding:7px 10px;background:#fff;color:#24718a;font:700 10px Manrope;cursor:pointer}.ai-chat-suggestions button:hover{background:#eaf8fb}
.ai-chat-form{display:grid;grid-template-columns:1fr 42px;align-items:end;gap:8px;padding:12px;border-top:1px solid #e4f0f3}.ai-chat-form textarea{max-height:90px;resize:none;border:1px solid #d3e5e9;border-radius:14px;padding:11px 12px;outline:0;font:13px DM Sans}.ai-chat-form textarea:focus{border-color:#1590b4;box-shadow:0 0 0 3px rgba(21,144,180,.08)}.ai-chat-form button{height:42px;border:0;border-radius:13px;background:#f25436;color:#fff;cursor:pointer;font-size:17px}.ai-whatsapp-fallback{padding:0 14px 12px;text-align:center;color:#168c4c;font-size:11px;font-weight:800}
.floating-call{display:none!important}
@media(max-width:650px){.chat-launchers{right:13px;bottom:13px}.chat-launcher{width:48px;height:48px;border-radius:16px}.ai-chat-panel{right:14px;bottom:72px;width:calc(100vw - 28px);height:min(570px,calc(100vh - 90px))}.call-launcher{display:none}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.cursor-glow{display:none}.reveal-item{opacity:1!important;transform:none!important}}

/* Premium compact hero — keeps the complete banner visible */
.hero{min-height:620px;background:linear-gradient(125deg,#f8fdff 0%,#fff 42%,#edfaff 70%,#fff3ee 100%)}
.hero-slide{overflow:hidden}
.hero-bg{right:0;top:0;width:58%;height:100%;object-fit:contain;object-position:center right;border-radius:0;clip-path:none;box-shadow:none;filter:saturate(1.08) contrast(1.02);animation:premiumBannerFloat 9s ease-in-out infinite}
.hero-overlay{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 35%,rgba(255,255,255,.88) 49%,rgba(255,255,255,.26) 70%,rgba(255,255,255,.04) 100%)}
.hero-inner{min-height:620px;max-width:590px;padding:94px 0 82px}
.hero-copy{padding:30px 0}
.hero h1{max-width:570px;font-size:clamp(48px,5.8vw,76px);line-height:.98;letter-spacing:-3.8px;margin:18px 0 20px;background:linear-gradient(120deg,#123d4a 12%,#168eb3 62%,#ee4329 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{max-width:510px;font-size:17px;line-height:1.7;margin-bottom:27px;color:#57727b}
.hero-actions .btn{box-shadow:0 14px 34px rgba(19,112,140,.14)}
.hero-slide.active .hero-copy{animation:premiumCopyIn .9s cubic-bezier(.2,.72,.2,1) both}
.hero-slide.active .hero-bg{animation:premiumImageIn 1.15s cubic-bezier(.2,.72,.2,1) both,premiumBannerFloat 9s 1.15s ease-in-out infinite}
.motion-pill{animation-duration:5.5s!important}
@keyframes premiumCopyIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes premiumImageIn{from{opacity:0;transform:translateX(55px) scale(.97)}to{opacity:1;transform:none}}
@keyframes premiumBannerFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.012)}}

/* More polished movement across the complete theme */
.section-head h2,.about-copy h2,.big-title{background:linear-gradient(112deg,#123d4a 15%,#168eae 72%,#ee4329);-webkit-background-clip:text;background-clip:text;color:transparent}
.service-card,.portfolio-card,.quote-card,.value-card,.stat,.logo-box,.job-card{will-change:transform}
.service-card:hover,.portfolio-card:hover,.quote-card:hover,.value-card:hover,.stat:hover,.logo-box:hover,.job-card:hover{filter:saturate(1.04)}
.section-paper{position:relative;overflow:hidden}.section-paper:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;left:-220px;top:15%;background:radial-gradient(circle,rgba(23,145,179,.09),transparent 68%);animation:premiumOrb 10s ease-in-out infinite;pointer-events:none}
@keyframes premiumOrb{50%{transform:translate(80px,45px) scale(1.12)}}

@media(max-width:1024px){.hero-bg{width:62%;opacity:.62;object-position:center right}.hero-overlay{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 51%,rgba(255,255,255,.43) 100%)}.hero h1{font-size:58px}}
@media(max-width:700px){.hero{min-height:610px}.hero-inner{min-height:610px;padding:82px 0 65px;align-items:flex-end}.hero-copy{padding:22px 0}.hero-bg{right:0;top:0;width:100%;height:52%;opacity:.72;object-position:center top}.hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,.56) 37%,#fff 57%,#fff 100%)}.hero h1{font-size:46px;line-height:1;letter-spacing:-2.5px;margin:14px 0 16px}.hero p{font-size:15px;margin-bottom:22px}.hero-actions{gap:9px}.hero-actions .btn{padding:11px 15px;font-size:12px}}

/* =========================================================
   PREMIUM FULL-WIDTH HOMEPAGE V2
   ========================================================= */

/* Glass navigation with animated menu capsules */
.site-header{padding:10px 0;background:rgba(255,255,255,.84);border-bottom:0;box-shadow:0 16px 45px rgba(10,67,84,.08)}
.site-header:before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--cf-blue),#56c4d8,var(--cf-red),var(--cf-orange));background-size:220% 100%;animation:navGradient 7s linear infinite}
.nav-wrap{height:78px;padding:0 18px;border:1px solid rgba(18,137,173,.11);border-radius:24px;background:rgba(255,255,255,.77);box-shadow:0 12px 36px rgba(13,82,101,.07)}
.brand-logo{filter:drop-shadow(0 8px 16px rgba(9,91,116,.11))}
.main-nav{gap:7px}
.main-nav>a:not(.nav-cta),.nav-drop>button{padding:11px 15px;border-radius:999px}
.main-nav>a:not(.nav-cta):after,.nav-drop>button:after{display:none}
.main-nav>a:not(.nav-cta):before,.nav-drop>button:before{content:"";position:absolute;inset:0;border-radius:999px;background:linear-gradient(135deg,#e8f8fc,#fff0eb);opacity:0;transform:scale(.82);transition:.28s;z-index:-1}
.main-nav>a:hover:before,.nav-drop>button:hover:before{opacity:1;transform:scale(1)}
.main-nav>a:hover,.nav-drop>button:hover{transform:translateY(-2px);color:#075f7b}
.nav-cta{padding:13px 22px!important;animation:quotePulse 3.3s ease-in-out infinite}
@keyframes navGradient{to{background-position:220% 0}}@keyframes quotePulse{50%{box-shadow:0 15px 38px rgba(239,64,39,.32);transform:translateY(-2px)}}

/* Complete banner as a true full-width visual */
.hero{min-height:660px;background:#092c38;border:0}
.hero-bg{inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:0!important;opacity:1!important;filter:saturate(1.08) contrast(1.03) brightness(.91)!important;animation:none!important}
.hero-slide.active .hero-bg{animation:fullBannerIn 1.3s cubic-bezier(.2,.72,.2,1) both!important}
.hero-overlay{background:linear-gradient(90deg,rgba(4,35,46,.88) 0%,rgba(5,49,63,.73) 34%,rgba(7,58,72,.22) 66%,rgba(5,35,45,.1) 100%)!important}
.hero-inner{min-height:660px;max-width:none;padding:92px 0}
.hero-copy{width:min(540px,100%);padding:38px 40px;border:1px solid rgba(255,255,255,.2);border-radius:30px;background:linear-gradient(135deg,rgba(5,42,54,.72),rgba(5,63,79,.42));box-shadow:0 28px 85px rgba(0,0,0,.25);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.hero .eyebrow{color:#fff}.hero .eyebrow:before{background:linear-gradient(90deg,#62d6ef,#ff795d)}
.hero h1{font-size:clamp(48px,5.5vw,76px);max-width:500px;letter-spacing:-3.5px;color:#fff!important;background:none!important;-webkit-text-fill-color:#fff;text-shadow:0 8px 30px rgba(0,0,0,.22)}
.hero p{color:rgba(255,255,255,.88);font-size:17px}
.hero .btn-outline{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.38);color:#fff;backdrop-filter:blur(8px)}
.hero .btn-outline:hover{background:#fff;color:var(--cf-blue-dark)}
.motion-pill{background:rgba(255,255,255,.9);box-shadow:0 18px 48px rgba(0,0,0,.18)}
.hero-dots{bottom:25px}.hero-dot{background:rgba(255,255,255,.35)}.hero-dot.active{background:linear-gradient(90deg,#6ce2f5,#ff7759)}
@keyframes fullBannerIn{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}

/* Every home section has its own premium color mood */
.home-about-section{background:linear-gradient(135deg,#fff8f3 0%,#fff 50%,#eefbff 100%)!important}
.home-stats-section{padding:45px 0;background:linear-gradient(110deg,#0b7698,#14a0bc 54%,#f05234);position:relative;overflow:hidden}
.home-stats-section:before{content:"";position:absolute;width:420px;height:420px;border:70px solid rgba(255,255,255,.07);border-radius:50%;right:-160px;top:-220px;animation:slowSpin 18s linear infinite}
.home-stats-section .stats{margin:0}.home-stats-section .stat{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.42);box-shadow:0 22px 55px rgba(1,61,82,.17)}
.home-services-section{background:linear-gradient(145deg,#eefaff 0%,#f8fdff 50%,#fff1eb 100%)!important}
.home-work-section{background:linear-gradient(145deg,#fffdf4 0%,#fff 42%,#f1f7ff 100%)!important}
.home-testimonials-section{background:linear-gradient(140deg,#fff0eb 0%,#fff 48%,#eaf9fd 100%)!important}
.home-about-section .about-copy,.home-services-section .section-head,.home-work-section .section-head{position:relative;padding:25px;border-radius:25px;background:rgba(255,255,255,.63);border:1px solid rgba(18,137,173,.09);box-shadow:0 18px 55px rgba(16,87,105,.06);backdrop-filter:blur(8px)}

/* Partnership section — strong branded showcase */
.home-partners-section{background:linear-gradient(135deg,#073f52 0%,#0b7898 48%,#123c56 100%)!important;color:#fff;overflow:hidden}
.home-partners-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(85,213,238,.22),transparent 28%),radial-gradient(circle at 90% 80%,rgba(255,101,67,.2),transparent 31%);animation:partnerGlow 8s ease-in-out infinite alternate}
.home-partners-section .section-head{padding:34px 38px;border-radius:28px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);box-shadow:0 25px 80px rgba(0,0,0,.18);backdrop-filter:blur(14px)}
.home-partners-section .eyebrow{color:#7be4f6}.home-partners-section .eyebrow:before{background:linear-gradient(90deg,#73e6f8,#ff8b70)}
.home-partners-section .section-head h2{color:#fff!important;background:none!important;-webkit-text-fill-color:#fff;text-shadow:0 8px 28px rgba(0,0,0,.18)}
.home-partners-section .section-head p{color:rgba(255,255,255,.79)}
.home-partners-section .logo-cloud{grid-template-columns:repeat(6,1fr);gap:15px;position:relative;z-index:2}
.home-partners-section .logo-box{height:126px;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.95);box-shadow:0 16px 40px rgba(0,0,0,.15)}
.home-partners-section .logo-box:nth-child(4n+1){background:linear-gradient(145deg,#fff,#eafaff)}.home-partners-section .logo-box:nth-child(4n+2){background:linear-gradient(145deg,#fff,#fff0eb)}.home-partners-section .logo-box:nth-child(4n+3){background:linear-gradient(145deg,#fff,#fffbe8)}.home-partners-section .logo-box:nth-child(4n){background:linear-gradient(145deg,#fff,#f1edff)}
.home-partners-section .logo-box img{filter:none;opacity:.82}.home-partners-section .logo-box:hover img{opacity:1;transform:scale(1.08)}
@keyframes partnerGlow{to{filter:hue-rotate(12deg);transform:scale(1.03)}}

/* Richer footer */
.cta-band{background:linear-gradient(112deg,#ef4329 0%,#ff744d 35%,#158daf 76%,#076b8c 100%);border-top:1px solid rgba(255,255,255,.18)}
.cta-grid{padding:4px 0}.cta-band h2{text-shadow:0 10px 30px rgba(0,0,0,.18)}
.footer{position:relative;overflow:hidden;background:linear-gradient(145deg,#062d3a 0%,#074a5d 48%,#092f43 100%);color:rgba(255,255,255,.82)}
.footer:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:90px solid rgba(53,190,219,.07);left:-260px;bottom:-300px;animation:slowSpin 24s linear infinite}
.footer:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(239,64,39,.16),transparent 68%);right:-130px;top:-170px}
.footer-grid{position:relative;z-index:2;gap:28px}
.footer-grid>div{padding:27px 25px;border-radius:23px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(9px);transition:.3s}
.footer-grid>div:hover{transform:translateY(-7px);background:rgba(255,255,255,.085);border-color:rgba(103,220,241,.28)}
.footer h4{color:#78def0;letter-spacing:1.4px}.footer a{transition:.23s}.footer-grid>div>a:hover{color:#fff;padding-left:7px}
.footer-bottom{position:relative;z-index:2;border-top-color:rgba(255,255,255,.13)}
.footer-logo-plate{box-shadow:0 16px 42px rgba(0,0,0,.2)}

@media(max-width:1024px){.main-nav{gap:2px}.main-nav>a:not(.nav-cta),.nav-drop>button{padding:9px 9px}.home-partners-section .logo-cloud{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.site-header{padding:5px 0}.nav-wrap{height:70px;padding:0 12px;border-radius:18px}.hero{min-height:640px}.hero-inner{min-height:640px;padding:55px 0}.hero-copy{width:100%;padding:27px 23px;background:linear-gradient(135deg,rgba(4,39,51,.86),rgba(5,68,84,.63))}.hero h1{font-size:43px}.hero-bg{object-position:center!important}.hero-overlay{background:linear-gradient(180deg,rgba(4,33,43,.25),rgba(4,33,43,.62))!important}.home-partners-section .section-head{padding:24px;display:block}.home-partners-section .logo-cloud{grid-template-columns:repeat(2,1fr)}.home-partners-section .logo-box{height:105px}.footer-grid>div{padding:22px}.home-about-section .about-copy,.home-services-section .section-head,.home-work-section .section-head{padding:19px}}

/* Related icon system */
.nav-icon{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:6px;border-radius:8px;background:linear-gradient(135deg,#e7f8fc,#fff0eb);color:var(--cf-blue-dark);font-style:normal;font-size:12px;transition:.28s;vertical-align:middle}
.main-nav a:hover .nav-icon,.nav-drop button:hover .nav-icon{transform:rotate(-8deg) scale(1.12);background:linear-gradient(135deg,var(--cf-blue),var(--cf-red));color:#fff;box-shadow:0 7px 16px rgba(18,137,173,.18)}
.nav-cta .nav-icon{background:rgba(255,255,255,.2);color:#fff}
.feature-icon,.service-icon,.stat-icon,.heading-icon,.footer-heading-icon{font-style:normal;display:inline-grid;place-items:center}
.feature-icon{float:left;width:42px;height:42px;margin:0 13px 20px 0;border-radius:14px;background:linear-gradient(135deg,var(--cf-blue),#45b4cf);color:#fff;font-size:18px;box-shadow:0 10px 24px rgba(18,137,173,.19);transition:.32s}
.value-card:nth-child(even) .feature-icon{background:linear-gradient(135deg,var(--cf-red),var(--cf-orange));box-shadow:0 10px 24px rgba(239,64,39,.18)}
.value-card:hover .feature-icon{transform:translateY(-4px) rotate(8deg) scale(1.08)}
.value-card strong,.value-card span{display:block}.value-card span{clear:both}
.stat-icon{width:44px;height:44px;margin:0 auto 13px;border-radius:50%;background:linear-gradient(135deg,#e7f9fd,#fff0eb);color:var(--cf-red);font-size:20px;box-shadow:0 9px 22px rgba(13,95,119,.12);transition:.32s}
.stat:hover .stat-icon{transform:rotate(12deg) scale(1.1);background:linear-gradient(135deg,var(--cf-blue),var(--cf-red));color:#fff}
.service-icon{position:absolute;right:0;top:-6px;width:47px;height:47px;border-radius:15px;background:linear-gradient(135deg,var(--cf-blue),var(--cf-red));color:#fff;font-size:21px;box-shadow:0 12px 28px rgba(18,137,173,.22);transition:.35s}
.service-card:hover .service-icon{transform:rotate(12deg) scale(1.1)}
.heading-icon{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.18);margin-right:7px}
.footer-heading-icon{width:30px;height:30px;margin-right:8px;border-radius:10px;background:linear-gradient(135deg,rgba(89,213,236,.2),rgba(255,113,79,.18));color:#87e7f6;border:1px solid rgba(255,255,255,.12)}
.footer h4{display:flex;align-items:center}
@media(max-width:1024px){.nav-icon{display:none}}

/* Clean menu highlight + contact-only icons */
.nav-icon{display:none!important}
.contact-mini-icon{font-style:normal;display:inline-grid;place-items:center;width:23px;height:23px;margin-right:7px;border-radius:8px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:12px;transition:.3s}
.topbar a{display:inline-flex;align-items:center}.topbar a:hover .contact-mini-icon{transform:rotate(10deg) scale(1.12);background:#fff;color:var(--cf-red)}
.main-nav>a:not(.nav-cta),.nav-drop>button{font-size:15px;font-weight:800;letter-spacing:.05px;padding:12px 17px}
.main-nav>a:not(.nav-cta):before,.nav-drop>button:before{background:linear-gradient(135deg,#dff7fd 0%,#fff 55%,#ffe9e2 100%);box-shadow:inset 0 0 0 1px rgba(18,137,173,.12),0 10px 24px rgba(16,93,114,.1)}
.main-nav>a.active:not(.nav-cta),.nav-drop.active>button{color:#fff!important;background:linear-gradient(135deg,var(--cf-blue),#0b7597);box-shadow:0 12px 28px rgba(18,137,173,.25);transform:translateY(-2px)}
.main-nav>a.active:not(.nav-cta):after,.nav-drop.active>button:after{content:"";display:block;position:absolute;left:50%;bottom:-7px;width:7px;height:7px;border-radius:50%;background:var(--cf-red);box-shadow:0 0 0 5px rgba(239,64,39,.11);animation:activeMenuDot 1.8s ease-in-out infinite}
.main-nav>a:not(.nav-cta):hover,.nav-drop>button:hover{color:#075d77;transform:translateY(-3px)}
@keyframes activeMenuDot{50%{box-shadow:0 0 0 10px rgba(239,64,39,0);transform:translateX(-50%) scale(1.15)}0%,100%{transform:translateX(-50%) scale(1)}}
.contact-row-icon{display:grid!important;grid-template-columns:48px 1fr;gap:14px;align-items:center}
.contact-row-icon>i,.footer-contact-item>i{font-style:normal;display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);color:#fff;box-shadow:0 10px 25px rgba(0,0,0,.1);transition:.3s}
.contact-row-icon:hover>i,.footer-contact-item:hover>i{transform:rotate(8deg) scale(1.08);background:#fff;color:var(--cf-red)}
.footer-contact-item{display:flex!important;align-items:center;gap:12px;padding:7px 0!important}.footer-contact-item>i{width:37px;height:37px;border-radius:12px;flex:0 0 37px}.footer-contact-item>span{min-width:0}
@media(max-width:1024px){.main-nav>a:not(.nav-cta),.nav-drop>button{font-size:14px;padding:10px 11px}}

/* =========================================================
   LOGO-ALIGNED OVERRIDES — exact Client First brand colors
   ========================================================= */
:root{
  --cf-blue:#188ab1;
  --cf-blue-dark:#0f7395;
  --cf-blue-soft:#e8f7fb;
  --cf-blue-soft-2:#f4fbfd;
  --cf-red:#f24423;
  --cf-red-dark:#dd3719;
  --cf-orange:#ff7440;
  --cf-ink:#183841;
  --cf-muted:#6a7d84;
  --cf-line:#d8ebf0;
  --cf-paper:#f7fcfd;
  --cf-shadow:0 22px 70px rgba(24,138,177,.12);
  --cf-shadow-soft:0 14px 40px rgba(24,138,177,.08);
}

body{background:linear-gradient(180deg,#ffffff 0%,#fbfeff 48%,#f6fbfd 100%)}
.topbar{background:linear-gradient(90deg,var(--cf-blue-dark),var(--cf-blue))}
.site-header{border-bottom:1px solid rgba(24,138,177,.12)}
.nav-wrap{height:98px}
.brand.brand-has-logo{padding:4px 0;display:flex;align-items:center}
.brand .brand-logo{width:auto;height:auto;max-height:84px;max-width:320px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(24,138,177,.08));}
.brand.brand-footer .brand-logo{max-height:78px;max-width:290px}
.brand:hover .brand-logo{transform:translateY(-2px) scale(1.01)}
.main-nav{gap:24px;color:#25515d}
.main-nav>a:not(.nav-cta):after,.nav-drop>button:after{bottom:-10px;background:linear-gradient(90deg,var(--cf-blue),var(--cf-red))}
.nav-cta{background:linear-gradient(135deg,var(--cf-red),var(--cf-orange));box-shadow:0 14px 30px rgba(242,68,35,.18)}
.nav-cta:hover{box-shadow:0 18px 34px rgba(242,68,35,.25)}
.hero{background:linear-gradient(135deg,#ffffff 0%,#f4fbfd 45%,#eefafd 68%,#fff7f4 100%)}
.hero:before{background:radial-gradient(circle,rgba(242,68,35,.14),rgba(242,68,35,.02) 58%,transparent 70%)}
.hero-kicker,.eyebrow{color:var(--cf-red)}
.section-kicker,.section-head .eyebrow{color:var(--cf-blue-dark)}
.btn,.btn-primary{background:linear-gradient(135deg,var(--cf-blue),#27a4cc);box-shadow:0 12px 24px rgba(24,138,177,.16)}
.btn-secondary{background:linear-gradient(135deg,var(--cf-red),var(--cf-orange));box-shadow:0 12px 24px rgba(242,68,35,.16)}
.service-card,.portfolio-card,.testimonial-card,.stat,.value-card,.contact-form,.side-card,.job-card,.card{border-color:rgba(24,138,177,.11)}
.service-card:hover,.portfolio-card:hover,.job-card:hover{border-color:rgba(24,138,177,.24)}
.section-head h2,.hero h1,.page-hero h1,.about-copy h2,.rich-content h2,.contact-panel h2,.cta-grid h2{color:#173944}
.logo-cloud .logo-item{background:linear-gradient(180deg,#ffffff,#f8fdfe)}
.logo-cloud .logo-item:hover{border-color:rgba(24,138,177,.24);box-shadow:0 18px 38px rgba(24,138,177,.08)}
.cta-band{background:linear-gradient(135deg,var(--cf-blue-dark) 0%,var(--cf-blue) 58%,var(--cf-red) 100%)}
.footer{background:linear-gradient(180deg,#edf8fb 0%,#f9fdfe 70%,#ffffff 100%)}
.footer h4,.brand-footer{color:var(--cf-blue-dark)}
.floating-call{background:linear-gradient(135deg,var(--cf-blue),var(--cf-red))}
.scroll-progress span{background:linear-gradient(90deg,var(--cf-blue),var(--cf-red),var(--cf-orange))}
.cursor-glow{background:radial-gradient(circle,rgba(24,138,177,.30),rgba(242,68,35,.10) 50%,transparent 72%)}

@media(max-width:650px){
  .nav-wrap{height:84px}
  .main-nav{top:84px}
  .brand .brand-logo{max-height:62px;max-width:220px}
  .brand.brand-footer .brand-logo{max-height:62px;max-width:220px}
}

/* =========================================================
   FULL-WIDTH PRO UPGRADE
   - Wider page data area
   - Strong Client First page-title background
   - Visible footer
   - Portfolio permanent overlay + full image popup
   - Full service detail presentation
   ========================================================= */
.container{width:min(1500px,calc(100% - 64px));margin-left:auto;margin-right:auto}
.section{padding:88px 0}
.section-paper{background:linear-gradient(180deg,#f5fbfd 0%,#ffffff 100%)}
.section-head{margin-bottom:38px}
.section-head h2,.big-title{max-width:930px}

/* Header proportions on wide desktops */
.nav-wrap{height:100px}
.brand .brand-logo{max-height:86px;max-width:340px}
.main-nav{gap:29px}

/* Strong page-title band: clear text, brand colors, optional admin image */
.page-hero{
  min-height:340px;
  padding:76px 0 72px;
  display:flex;
  align-items:center;
  color:#fff;
  background:
    radial-gradient(circle at 86% 0%,rgba(242,68,35,.96) 0 7%,rgba(242,68,35,.34) 7.2% 18%,transparent 18.3%),
    linear-gradient(118deg,#0c6f90 0%,#188ab1 58%,#20a0c6 100%);
  border-bottom:0;
}
.page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  width:auto;height:auto;border:0;border-radius:0;
  background-image:linear-gradient(90deg,rgba(5,67,88,.90),rgba(11,117,150,.66) 52%,rgba(242,68,35,.32)),var(--cf-page-local-bg,var(--cf-page-global-bg,none));
  background-position:center;
  background-size:cover;
  opacity:1;
  animation:none;
  z-index:0;
}
.page-hero:after{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:4%;bottom:-170px;
  border-radius:58px;
  background:rgba(255,255,255,.075);
  transform:rotate(38deg);
  animation:shapeDance 8s ease-in-out infinite;
  z-index:1;
}
.page-hero .container,.page-hero-inner{position:relative;z-index:2}
.page-hero .breadcrumbs{color:rgba(255,255,255,.72);margin-bottom:22px;font-weight:700}
.page-hero .breadcrumbs a{color:#fff}
.page-hero .eyebrow,.page-hero .eyebrow.light{color:#fff}
.page-hero .eyebrow:before,.page-hero .eyebrow.light:before{background:#fff}
.page-hero h1{color:#fff;max-width:1100px;font-size:clamp(48px,5.2vw,78px);letter-spacing:-3.5px;text-shadow:0 10px 30px rgba(7,69,88,.18)}
.page-hero-copy{max-width:900px;color:rgba(255,255,255,.88)!important;font-size:18px!important;line-height:1.7;margin:18px 0 0}
.service-page-hero:before{background-image:linear-gradient(90deg,rgba(5,67,88,.94) 0%,rgba(12,107,139,.82) 52%,rgba(242,68,35,.38) 100%),var(--cf-page-local-bg,var(--cf-page-global-bg,none))}

/* Full page content */
.content-grid-wide{grid-template-columns:minmax(0,1fr) 350px;gap:54px}
.rich-content-full{max-width:1150px;margin:0 auto}
.rich-content{font-size:17px;line-height:1.8}
.rich-content h2{font-size:clamp(34px,3.5vw,50px);line-height:1.12;margin:36px 0 18px;color:#143f4c}
.rich-content h3{font-size:28px;margin:30px 0 14px;color:#174b5a}
.rich-content p,.rich-content li{font-size:17px;line-height:1.85;color:#55717a}
.rich-content ul,.rich-content ol{padding-left:24px}
.rich-content li{margin:8px 0}
.side-card{top:122px;padding:30px;border-radius:24px}
.side-card a.current{background:var(--cf-blue-soft);color:var(--cf-blue-dark);padding-left:12px;border-radius:10px}

/* Service page full-width presentation */
.service-overview-section{padding:72px 0}
.service-overview-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:52px;align-items:center}
.service-main-visual{position:relative;min-height:520px;border-radius:30px;overflow:hidden;background:#eaf6f9;border:1px solid var(--cf-line);box-shadow:var(--cf-shadow)}
.service-main-visual img{width:100%;height:100%;min-height:520px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.service-main-visual:hover img{transform:scale(1.025)}
.service-main-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,91,119,.28));pointer-events:none}
.service-image-badge{position:absolute;left:24px;bottom:24px;z-index:2;padding:16px 20px;border-radius:17px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 15px 35px rgba(8,80,103,.13)}
.service-image-badge span{display:block;font-size:10px;font-weight:800;letter-spacing:1.3px;color:var(--cf-red)}
.service-image-badge strong{display:block;font:800 20px Manrope;color:#164655;margin-top:3px}
.service-overview-copy h2{font:800 clamp(40px,4.2vw,62px)/1.04 Manrope;letter-spacing:-2.2px;color:#143f4c;margin:13px 0 20px}
.lead-copy{font-size:18px;line-height:1.8;color:#5d7881;max-width:700px}
.service-highlight-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0 30px}
.service-highlight-list>div{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--cf-line);border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(18,91,112,.045)}
.service-highlight-list b{display:grid;place-items:center;min-width:35px;height:35px;border-radius:10px;background:var(--cf-blue-soft);color:var(--cf-blue-dark);font-size:11px}
.service-highlight-list span{font-weight:700;color:#31545f}
.service-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:54px;align-items:start}
.service-rich-content{padding-right:20px}
.service-rich-content>.eyebrow{margin-bottom:8px}
.service-side-card .side-contact-mini{margin-top:24px;padding:20px;border-radius:17px;background:linear-gradient(135deg,#e9f8fc,#fff5f1);border:1px solid var(--cf-line)}
.side-contact-mini small{display:block;color:#69838c;text-transform:uppercase;font-weight:800;font-size:9px;letter-spacing:1px}
.side-contact-mini strong{display:block;font:800 18px Manrope;color:#174959;margin:7px 0 14px}
.side-contact-mini .btn{width:100%;justify-content:center;padding:10px 12px;font-size:12px}
.service-work-section{padding-top:78px}

/* Wider service cards */
.services-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.services-page-section .service-card{min-height:520px}

/* Portfolio full-width & full-image cards */
.portfolio-page-section{padding-top:58px}
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px;padding:16px 18px;border:1px solid var(--cf-line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(18,92,112,.05);position:sticky;top:112px;z-index:30}
.portfolio-toolbar .portfolio-filters{margin:0}
.portfolio-count{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#789099}
.portfolio-count strong{font:800 24px Manrope;color:var(--cf-red)}
.portfolio-count span{font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:800}
.portfolio-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
button.portfolio-card{font:inherit;text-align:left;padding:0;cursor:pointer;color:inherit;width:100%;appearance:none;-webkit-appearance:none}
.portfolio-card{aspect-ratio:4/3;border-radius:24px;background:#eaf4f7;border:1px solid rgba(24,138,177,.13);box-shadow:0 13px 34px rgba(18,92,112,.075)}
.portfolio-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,62,79,0) 30%,rgba(6,54,70,.18) 56%,rgba(5,48,62,.82) 100%);z-index:1;transition:.35s}
.portfolio-card:hover .portfolio-overlay{background:linear-gradient(180deg,rgba(7,62,79,.02) 18%,rgba(7,62,79,.18) 52%,rgba(5,48,62,.88) 100%)}
.portfolio-card:after{z-index:3}
.portfolio-info{left:20px;right:74px;bottom:19px;z-index:4;background:transparent!important;backdrop-filter:none!important;padding:0;box-shadow:none;transform:none!important}
.portfolio-info small{color:#ffb4a5;font-size:9px;letter-spacing:1.1px}
.portfolio-info h3{font:800 20px/1.15 Manrope;color:#fff;margin:5px 0 4px;text-shadow:0 4px 14px rgba(0,0,0,.16)}
.portfolio-info span{display:block;color:rgba(255,255,255,.74);font-size:11px;font-weight:600}
.portfolio-view{position:absolute;right:17px;bottom:18px;z-index:5;display:grid;place-items:center;width:45px;height:45px;border-radius:50%;overflow:hidden;text-indent:-9999px;background:rgba(255,255,255,.94);box-shadow:0 8px 20px rgba(0,0,0,.13);transition:.28s}
.portfolio-view:after{content:"↗";text-indent:0;color:var(--cf-red);font-size:18px;font-weight:800}
.portfolio-card:hover .portfolio-view{background:var(--cf-red);transform:rotate(45deg)}
.portfolio-card:hover .portfolio-view:after{color:#fff}

/* Work full image popup / lightbox */
.work-lightbox{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:28px}
.work-lightbox.is-open{display:flex}
.work-lightbox-backdrop{position:absolute;inset:0;background:rgba(4,34,44,.88);backdrop-filter:blur(10px);animation:lbFade .25s ease}
@keyframes lbFade{from{opacity:0}to{opacity:1}}
.work-lightbox-dialog{position:relative;z-index:2;width:min(1540px,96vw);max-height:92vh;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.5fr);background:#fff;border-radius:25px;overflow:hidden;box-shadow:0 38px 110px rgba(0,0,0,.35);animation:lbIn .32s cubic-bezier(.2,.7,.2,1)}
@keyframes lbIn{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}
.work-lightbox-media{min-height:70vh;max-height:92vh;display:flex;align-items:center;justify-content:center;background:#071d25;padding:20px;overflow:auto}
.work-lightbox-media img{display:block;max-width:100%;max-height:86vh;width:auto;height:auto;object-fit:contain;box-shadow:0 15px 50px rgba(0,0,0,.2)}
.work-lightbox-content{padding:42px 36px 34px;overflow:auto;background:linear-gradient(180deg,#fff,#f7fcfd)}
.work-lightbox-topline span{display:inline-block;padding:7px 10px;border-radius:999px;background:#e9f8fc;color:var(--cf-blue-dark);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.work-lightbox-content h2{font:800 clamp(30px,3.1vw,46px)/1.06 Manrope;letter-spacing:-1.7px;color:#143f4c;margin:17px 0 17px}
.work-lightbox-meta{display:grid;gap:8px;margin:0 0 22px;padding:16px 0;border-top:1px solid var(--cf-line);border-bottom:1px solid var(--cf-line)}
.work-meta-row{display:grid;grid-template-columns:76px 1fr;gap:10px;font-size:13px}.work-meta-row b{color:#7c9299;text-transform:uppercase;font-size:9px;letter-spacing:.8px}.work-meta-row span{color:#2e5966;font-weight:700}
.work-lightbox-content>p{color:#607a82;line-height:1.75;font-size:15px;white-space:pre-line}
.work-lightbox-close{position:absolute;right:14px;top:14px;z-index:5;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#173f4b;box-shadow:0 10px 30px rgba(0,0,0,.18);cursor:pointer;font-size:27px;line-height:1;transition:.22s}.work-lightbox-close:hover{transform:rotate(90deg);background:var(--cf-red);color:#fff}
.work-lightbox-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:28px}.work-lightbox-actions .btn{justify-content:center}.work-nav-btn{border:1px solid var(--cf-line);background:#fff;border-radius:11px;padding:10px 12px;color:#31545f;font-weight:800;cursor:pointer;transition:.2s}.work-nav-btn:hover{background:var(--cf-blue-soft);color:var(--cf-blue-dark);border-color:#b9e1eb}
body.lightbox-open{overflow:hidden}

/* Contact social links */
.contact-grid-wide{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:58px}
.contact-social-block{position:relative;z-index:2;margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22)}
.contact-social-block>small{display:block;color:#d8f4fb;font-size:9px;font-weight:800;letter-spacing:1.2px;margin-bottom:11px}
.contact-socials{display:flex;flex-wrap:wrap;gap:8px}
.contact-socials a{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:11px;font-weight:700;transition:.22s}
.contact-socials a:hover{background:#fff;color:var(--cf-blue-dark);transform:translateY(-2px)}
.contact-socials a span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.15);font-size:9px;font-weight:800}
.social-empty{color:#d7f4fb;font-size:11px}

/* CTA stronger contrast */
.cta-band{background:linear-gradient(112deg,#0b7395 0%,#188ab1 58%,#f24423 100%);padding:72px 0}
.cta-band .eyebrow,.cta-band .eyebrow.light,.cta-band h2,.cta-band .cta-phone{color:#fff}
.cta-band .eyebrow:before{background:#fff}
.cta-grid h2{color:#fff;text-shadow:0 10px 24px rgba(3,49,63,.12)}
.cta-band .btn-light{background:#fff;color:#0d7597;border-color:#fff;box-shadow:0 14px 30px rgba(5,55,70,.14)}

/* Footer must remain clearly visible */
.footer{background:linear-gradient(140deg,#0b6887 0%,#0e799b 55%,#126f8c 100%);color:#d9f2f7;border-top:0;padding-top:72px}
.footer:before{border-color:rgba(255,255,255,.04)}
.footer-logo-plate{display:inline-flex;padding:10px 14px;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(3,48,62,.16)}
.footer .brand-footer .brand-logo{max-height:66px;max-width:255px;filter:none}
.footer-brand p,.footer .contact-line{color:#d0eaf0}
.footer h4{color:#fff}
.footer-grid>div>a:not(.brand){color:#d4edf2}
.footer-grid>div>a:not(.brand):hover{color:#fff;transform:translateX(5px)}
.footer .socials{gap:9px}
.footer .socials a{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.18);color:#fff!important;width:40px;height:40px}
.footer .socials a:hover{background:#f24423;border-color:#f24423}
.footer .socials a span{font-size:11px;font-weight:800}
.footer-bottom{border-top-color:rgba(255,255,255,.15);color:#c3e2e8}

/* Admin-created data should breathe on wide pages */
.empty{max-width:100%}

@media(max-width:1320px){
  .portfolio-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}
  .container{width:min(100% - 48px,1500px)}
}
@media(max-width:1080px){
  .service-overview-grid,.service-detail-layout,.contact-grid-wide,.content-grid-wide{grid-template-columns:1fr}
  .service-main-visual,.service-main-visual img{min-height:440px}
  .service-side-card,.side-card{position:static}
  .portfolio-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portfolio-toolbar{top:98px;align-items:flex-start;flex-direction:column}
  .work-lightbox-dialog{grid-template-columns:1fr;max-height:94vh;overflow:auto}
  .work-lightbox-media{min-height:48vh;max-height:62vh}
  .work-lightbox-media img{max-height:57vh}
  .work-lightbox-content{overflow:visible}
}
@media(max-width:650px){
  .container{width:min(100% - 26px,1500px)}
  .nav-wrap{height:84px}.brand .brand-logo{max-height:62px;max-width:225px}
  .page-hero{min-height:300px;padding:58px 0 54px}.page-hero h1{font-size:45px;letter-spacing:-2.5px}.page-hero-copy{font-size:15px!important}
  .section{padding:68px 0}
  .service-main-visual,.service-main-visual img{min-height:330px}
  .service-overview-copy h2{font-size:39px;letter-spacing:-1.5px}
  .service-highlight-list{grid-template-columns:1fr}
  .portfolio-toolbar{position:static;padding:12px;margin-bottom:22px}
  .portfolio-grid-wide{grid-template-columns:1fr}
  .portfolio-card{aspect-ratio:1.18/1}
  .work-lightbox{padding:8px}.work-lightbox-dialog{width:100%;max-height:96vh;border-radius:18px}.work-lightbox-media{min-height:42vh;padding:10px}.work-lightbox-content{padding:28px 20px 22px}.work-lightbox-close{right:9px;top:9px}
  .footer-grid{gap:34px}.footer-logo-plate{padding:8px 10px}
}

/* Supplied 2:1 campaign banners: preserve every edge and keep UI unobtrusive. */
.hero{min-height:0!important;height:clamp(520px,50vw,760px)!important;background:#071f2c}
.hero-slide{background:#071f2c}
.hero-bg{inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;opacity:1!important;filter:saturate(1.03) contrast(1.02)!important}
.hero-overlay{background:linear-gradient(180deg,transparent 45%,rgba(3,25,34,.10) 68%,rgba(3,25,34,.52) 100%)!important}
.hero-inner{min-height:0!important;height:100%;padding:0 0 26px!important;align-items:flex-end!important}
.hero-copy{width:min(390px,calc(100vw - 48px))!important;padding:17px 19px!important;border-radius:19px!important;background:linear-gradient(135deg,rgba(5,40,53,.82),rgba(8,72,90,.66))!important;box-shadow:0 18px 48px rgba(0,0,0,.22)!important;backdrop-filter:blur(9px)!important}
.hero-copy .eyebrow{font-size:9px!important;margin-bottom:7px!important}
.hero h1{font-size:clamp(25px,2.1vw,34px)!important;line-height:1.02!important;letter-spacing:-1.2px!important;margin:6px 0 7px!important}
.hero p{font-size:12px!important;line-height:1.45!important;margin:0 0 12px!important}
.hero-actions{gap:8px!important}.hero-actions .btn{padding:9px 13px!important;font-size:11px!important}
.hero-motion{display:none!important}.hero-dots{bottom:18px!important}
@media(max-width:700px){
  .hero{height:auto!important;min-height:0!important;aspect-ratio:2/1}
  .hero-inner{padding:0 0 12px!important}
  .hero-copy{margin:0 auto;padding:11px 13px!important;width:calc(100% - 26px)!important;border-radius:14px!important}
  .hero-copy .eyebrow,.hero p,.hero-actions .btn-outline{display:none!important}
  .hero h1{font-size:21px!important;margin:0 0 8px!important;letter-spacing:-.7px!important}
  .hero-actions .btn{padding:7px 11px!important;font-size:10px!important}
  .hero-dots{display:flex!important;bottom:8px!important;right:13px!important}
  .hero-dot{width:7px!important;height:7px!important}
}
