/* ============================================================
   Page-specific styles
   ============================================================ */

/* HERO (home) */
.hero{position:relative;min-height:100vh;display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:40px;padding:130px clamp(20px,5vw,64px) 70px;max-width:1440px;margin:0 auto;}
.hero .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;letter-spacing:.5px;color:var(--blue);background:var(--blue-soft);border-radius:30px;padding:7px 16px;margin-bottom:26px;opacity:0;transform:translateY(12px);animation:rise .6s ease forwards .15s;}
.hero .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--blue);}
.hero h1{font-size:clamp(38px,5.2vw,62px);line-height:1.07;font-weight:700;margin-bottom:24px;}
.hero h1 .blue{color:var(--blue);}
.hero h1 .word{display:inline-block;opacity:0;transform:translateY(18px);animation:rise .6s ease forwards;}
.hero-sub{font-size:clamp(15px,1.4vw,18px);color:var(--gray);max-width:480px;margin-bottom:34px;opacity:0;transform:translateY(12px);animation:rise .6s ease forwards .85s;}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;opacity:0;transform:translateY(12px);animation:rise .6s ease forwards 1s;}
.hero-stats{display:flex;gap:40px;margin-top:50px;opacity:0;transform:translateY(12px);animation:rise .6s ease forwards 1.15s;}
.stat .num{font-family:var(--font-head);font-size:32px;font-weight:700;}
.stat:nth-child(1) .num{color:var(--blue);}.stat:nth-child(2) .num{color:var(--green);}.stat:nth-child(3) .num{color:var(--red);}
.stat .lbl{font-size:12px;color:var(--gray-light);font-weight:500;margin-top:2px;}
@keyframes rise{to{opacity:1;transform:translateY(0);}}
.hero-stage{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;}
.hero-3d{position:relative;height:300px;}
#c3d{width:100%;height:100%;display:block;cursor:grab;}#c3d:active{cursor:grabbing;}
.stage-hint{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);font-size:10.5px;letter-spacing:1px;color:var(--gray-light);text-transform:uppercase;opacity:0;animation:rise .8s ease forwards 2.8s;}

/* HERO SHOWCASE — cycling video/image panel under the laptop */
.hero-showcase{opacity:0;transform:translateY(14px);animation:rise .7s ease forwards 1.5s;}
.hs-screen{position:relative;height:240px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#070B14;box-shadow:0 22px 50px rgba(16,30,60,.18);}
.hs-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease;}
.hs-media.on{opacity:1;}
.hs-grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,11,20,.82) 4%,rgba(7,11,20,.15) 46%,rgba(7,11,20,.05));z-index:2;pointer-events:none;}
.hs-kind{position:absolute;top:13px;left:14px;z-index:3;display:flex;align-items:center;gap:7px;background:rgba(7,11,20,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:5px 11px;border-radius:30px;}
.hs-kind .hs-kind-label{font-family:var(--font-head);font-size:10.5px;font-weight:700;letter-spacing:1.4px;color:#fff;}
.hs-live{width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:hsPulse 1.8s infinite;}
@keyframes hsPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55);}70%{box-shadow:0 0 0 7px rgba(34,197,94,0);}100%{box-shadow:0 0 0 0 rgba(34,197,94,0);}}
.hs-cap{position:absolute;left:16px;right:16px;bottom:14px;z-index:3;}
.hs-cap .hs-tag{display:block;font-family:var(--font-head);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#7FB0FF;margin-bottom:3px;transition:opacity .5s,transform .5s;}
.hs-cap .hs-title{display:block;font-family:var(--font-head);font-size:clamp(15px,1.5vw,19px);font-weight:700;color:#fff;line-height:1.25;transition:opacity .5s,transform .5s;}
.hs-cap.swap .hs-tag,.hs-cap.swap .hs-title{opacity:0;transform:translateY(7px);}
.hs-dots{display:flex;justify-content:center;gap:7px;}
.hs-dots span{width:7px;height:7px;border-radius:50%;background:var(--line);cursor:pointer;transition:.25s;}
.hs-dots span.on{background:var(--blue);width:22px;border-radius:7px;}
.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--gray-light);font-size:11px;letter-spacing:1px;z-index:3;opacity:0;animation:rise .8s ease forwards 2.4s;}
.mouse{width:22px;height:34px;border:2px solid var(--gray-light);border-radius:12px;position:relative;}
.mouse::after{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:3px;height:6px;border-radius:2px;background:var(--gray-light);animation:wheel 1.6s infinite;}
@keyframes wheel{0%{opacity:1;top:6px;}100%{opacity:0;top:16px;}}
/* HERO corporate layer: animated backdrop + video + floating cards + trust strip */
.hero{overflow:hidden;}
.hero-copy{position:relative;z-index:2;}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.hero-bg-grad{position:absolute;inset:-20%;background-color:#fff;background-image:radial-gradient(circle at 30% 30%,rgba(29,78,216,.10),transparent 45%),radial-gradient(circle at 75% 65%,rgba(21,128,61,.08),transparent 45%),radial-gradient(circle at 60% 18%,rgba(96,165,250,.12),transparent 42%);animation:heroDrift 18s ease-in-out infinite alternate;}
@keyframes heroDrift{0%{transform:translate3d(-2%,-1%,0) scale(1.02);}100%{transform:translate3d(2%,2%,0) scale(1.08);}}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.15;mix-blend-mode:multiply;}
.hero-glow{position:absolute;width:78%;height:78%;left:50%;top:48%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(29,78,216,.22),rgba(29,78,216,0) 62%);filter:blur(18px);z-index:0;animation:glowPulse 6s ease-in-out infinite;}
@keyframes glowPulse{0%,100%{opacity:.65;}50%{opacity:1;}}
.hero-float{position:absolute;width:152px;height:104px;border-radius:14px;background-size:cover;background-position:center;box-shadow:0 18px 40px rgba(16,30,60,.22);border:3px solid rgba(255,255,255,.85);z-index:2;overflow:hidden;animation:floatY 5s ease-in-out infinite;}
.hero-float .hf-tag{position:absolute;left:0;right:0;bottom:0;font-size:10.5px;font-weight:600;letter-spacing:.3px;color:#fff;background:linear-gradient(to top,rgba(11,15,25,.8),transparent);padding:16px 10px 7px;}
.hero-float.hf1{top:5%;right:1%;animation-delay:.2s;}
.hero-float.hf2{bottom:7%;left:-3%;width:160px;height:110px;animation-delay:1.1s;}
.hero-float.hf3{top:40%;left:4%;width:auto;height:auto;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border:1px solid var(--line);padding:13px 18px;box-shadow:var(--shadow-md);animation-delay:.6s;}
.hf-metric{font-family:var(--font-head);font-weight:700;font-size:22px;color:var(--green);display:flex;align-items:center;gap:9px;}
.hf-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(21,128,61,.18);}
.hf-sub{font-size:11px;color:var(--gray);margin-top:3px;}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
.hero-trust{margin-top:38px;opacity:0;transform:translateY(12px);animation:rise .6s ease forwards 1.3s;}
.hero-trust .ht-label{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray-light);margin-bottom:12px;}
.hero-trust .ht-sectors{display:flex;flex-wrap:wrap;gap:10px;}
.hero-trust .ht-sectors span{font-family:var(--font-head);font-size:12.5px;font-weight:600;color:var(--gray);background:rgba(247,249,252,.8);border:1px solid var(--line);padding:7px 14px;border-radius:30px;}

/* SERVICES */
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-bottom:34px;transition:opacity .5s ease,transform .7s cubic-bezier(.16,1,.3,1);}
.svc-block:nth-child(even) .svc-visual{order:-1;}
.svc-visual{height:380px;position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--off);}
.svc-slides{position:absolute;inset:0;z-index:1;}
.svc-slides .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease;}
.svc-slides .slide.on{opacity:1;}
.svc-slides::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(11,15,25,.55),rgba(11,15,25,.1));}
.svc-canvas-wrap{position:absolute;right:0;bottom:0;width:55%;height:75%;z-index:2;}
.svc-canvas-wrap canvas{width:100%;height:100%;cursor:grab;}
.svc-canvas-wrap canvas:active{cursor:grabbing;}
.svc-dots{position:absolute;left:16px;bottom:14px;z-index:3;display:flex;gap:7px;}
.svc-dots .d{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);transition:.3s;cursor:pointer;}
.svc-dots .d.on{background:#fff;width:20px;border-radius:4px;}
.svc-tagimg{position:absolute;left:16px;top:14px;z-index:3;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#fff;background:rgba(11,15,25,.45);padding:5px 11px;border-radius:6px;backdrop-filter:blur(6px);}
.svc-info .svc-no{font-family:var(--font-head);font-size:14px;font-weight:600;letter-spacing:1px;margin-bottom:12px;}
.svc-info.blue .svc-no{color:var(--blue);}.svc-info.green .svc-no{color:var(--green);}.svc-info.red .svc-no{color:var(--red);}
.svc-info h3{font-size:clamp(24px,2.6vw,32px);margin-bottom:16px;}
.svc-info p{font-size:15.5px;color:var(--gray);margin-bottom:22px;line-height:1.75;}
.svc-feats{list-style:none;display:flex;flex-direction:column;gap:11px;}
.svc-feats li{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--ink);}
.svc-feats .ck{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:11px;color:#fff;}
.svc-info.blue .ck{background:var(--blue);}.svc-info.green .ck{background:var(--green);}.svc-info.red .ck{background:var(--red);}

/* CAPABILITIES carousel — 2x2 grid, pages vertically */
.cap-carousel{position:relative;}
.cap-viewport{overflow:hidden;height:744px;}            /* exactly 2 rows: 360*2 + 24 gap */
.cap-track{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;transition:transform .6s cubic-bezier(.16,1,.3,1);will-change:transform;}
.cap-card{height:360px;perspective:1300px;}
.cap-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d;}
.cap-card:hover .cap-inner{transform:rotateY(180deg);}
.cap-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:20px;border:1px solid var(--line);padding:22px 24px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);overflow:hidden;}
.cap-front{background:#fff;}
.cap-back{background:var(--black);color:#fff;transform:rotateY(180deg);justify-content:space-between;}
.cap-media{height:150px;}
.cap-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin-bottom:10px;}
.cap-ic svg{width:22px;height:22px;}
.cap-ic.blue{background:var(--blue-soft);}.cap-ic.blue svg{fill:var(--blue);}
.cap-ic.green{background:var(--green-soft);}.cap-ic.green svg{fill:var(--green);}
.cap-ic.red{background:var(--red-soft);}.cap-ic.red svg{fill:var(--red);}
.cap-no{position:absolute;top:20px;right:22px;z-index:2;font-family:var(--font-head);font-size:13px;font-weight:700;color:#fff;background:rgba(11,15,25,.5);backdrop-filter:blur(4px);width:30px;height:30px;border-radius:8px;display:grid;place-items:center;}
.cap-front h4{font-size:19px;margin-bottom:6px;}
/* description now sits in normal flow (no more overlap with the title) */
.cap-info-text{margin:0;font-size:12.5px;line-height:1.5;color:var(--gray);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cap-front .flip-hint{margin-top:auto;font-size:12px;color:var(--gray-light);display:flex;align-items:center;gap:6px;}
.cap-back h4{color:#fff;font-size:19px;margin-bottom:12px;}
.cap-back p{font-size:14px;color:#A9B4C4;line-height:1.65;}
.cap-back a{font-family:var(--font-head);font-size:13.5px;font-weight:600;color:#7FA8FF;text-decoration:none;}
/* soft pastel tints per card */
.cap-card.pal-1 .cap-front{background:linear-gradient(160deg,#EFF3FE,#DCE7FF);}
.cap-card.pal-2 .cap-front{background:linear-gradient(160deg,#ECFAF1,#D6F2E1);}
.cap-card.pal-3 .cap-front{background:linear-gradient(160deg,#FEF2F2,#FBDDDD);}
.cap-card.pal-4 .cap-front{background:linear-gradient(160deg,#FFF7ED,#FFE6C7);}
.cap-card.pal-5 .cap-front{background:linear-gradient(160deg,#F5F0FF,#E6DAFF);}
.cap-card.pal-6 .cap-front{background:linear-gradient(160deg,#ECFEFF,#CDF3F9);}
/* carousel controls (bottom bar) */
.cap-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px;}
.cap-nav{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:23px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-sm);transition:.22s;}
.cap-nav:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:scale(1.08);}
.cap-dots{display:flex;align-items:center;justify-content:center;gap:9px;}
.cap-dots span{width:9px;height:9px;border-radius:50%;background:var(--line);cursor:pointer;transition:.25s;}
.cap-dots span.on{background:var(--blue);width:26px;border-radius:9px;}

/* WHY US — photo banner + overlapping icon */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.why-card{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:#fff;transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s,border-color .38s;}
.why-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent;}
.why-img{height:150px;background-size:cover;background-position:center;position:relative;}
.why-img::after{content:'';position:absolute;inset:0;}
.why-card:hover .why-img{transform:none;}
.why-body{position:relative;padding:0 26px 28px;}
.why-ic{position:relative;z-index:2;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin:-30px 0 16px;box-shadow:0 12px 26px rgba(16,30,60,.2);border:3px solid #fff;}
.why-ic svg{width:26px;height:26px;fill:#fff;}
.why-big{font-family:var(--font-head);font-size:29px;font-weight:700;line-height:1;margin-bottom:10px;}
.why-body h4{font-size:16.5px;margin-bottom:9px;}
.why-body p{font-size:13.5px;color:var(--gray);line-height:1.65;}
.why-blue .why-img::after{background:linear-gradient(180deg,rgba(29,78,216,.12),rgba(29,78,216,.5));}.why-blue .why-ic{background:linear-gradient(135deg,#1D4ED8,#3B82F6);}.why-blue .why-big{color:var(--blue);}
.why-green .why-img::after{background:linear-gradient(180deg,rgba(21,128,61,.12),rgba(21,128,61,.5));}.why-green .why-ic{background:linear-gradient(135deg,#15803D,#22C55E);}.why-green .why-big{color:var(--green);}
.why-red .why-img::after{background:linear-gradient(180deg,rgba(220,38,38,.12),rgba(220,38,38,.5));}.why-red .why-ic{background:linear-gradient(135deg,#DC2626,#F87171);}.why-red .why-big{color:var(--red);}
.why-amber .why-img::after{background:linear-gradient(180deg,rgba(217,119,6,.12),rgba(217,119,6,.5));}.why-amber .why-ic{background:linear-gradient(135deg,#D97706,#FBBF24);}.why-amber .why-big{color:#D97706;}

/* PROCESS phases */
.phases{display:flex;flex-direction:column;gap:30px;max-width:920px;margin:0 auto;}
.phase{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s,opacity .5s,filter .5s;transform:scale(.94);opacity:.5;filter:saturate(.6);}
.phase:nth-child(even) .phase-media{order:2;}
.phase.active{transform:scale(1);opacity:1;filter:saturate(1);box-shadow:var(--shadow-lg);border-color:transparent;}
.phase-media{position:relative;min-height:260px;background-size:cover;background-position:center;overflow:hidden;}
.phase-media::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,15,25,.5),rgba(11,15,25,.15));transition:opacity .5s,background .5s;}
.phase.active .phase-media::after{opacity:.95;}
/* per-phase colour wash + tinted active body */
.phase:nth-child(1) .phase-media::after{background:linear-gradient(135deg,rgba(29,78,216,.62),rgba(29,78,216,.12));}
.phase:nth-child(2) .phase-media::after{background:linear-gradient(135deg,rgba(21,128,61,.62),rgba(21,128,61,.12));}
.phase:nth-child(3) .phase-media::after{background:linear-gradient(135deg,rgba(220,38,38,.62),rgba(220,38,38,.12));}
.phase:nth-child(4) .phase-media::after{background:linear-gradient(135deg,rgba(217,119,6,.62),rgba(217,119,6,.12));}
.phase:nth-child(1).active .phase-body{background:linear-gradient(180deg,#EFF3FE,#fff 60%);}
.phase:nth-child(2).active .phase-body{background:linear-gradient(180deg,#ECFAF1,#fff 60%);}
.phase:nth-child(3).active .phase-body{background:linear-gradient(180deg,#FEF2F2,#fff 60%);}
.phase:nth-child(4).active .phase-body{background:linear-gradient(180deg,#FFF7ED,#fff 60%);}
.phase-no{position:absolute;top:20px;left:22px;z-index:2;font-family:var(--font-head);font-weight:700;font-size:clamp(40px,6vw,72px);line-height:1;color:rgba(255,255,255,.25);transition:.5s;}
.phase.active .phase-no{color:rgba(255,255,255,.9);transform:scale(1.05);}
.phase-tag{position:absolute;bottom:20px;left:22px;z-index:2;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;background:rgba(11,15,25,.5);backdrop-filter:blur(6px);padding:6px 13px;border-radius:6px;}
.phase-body{padding:clamp(28px,4vw,46px);display:flex;flex-direction:column;justify-content:center;}
.phase-step{font-family:var(--font-head);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;}
.phase:nth-child(1) .phase-step{color:var(--blue);}.phase:nth-child(2) .phase-step{color:var(--green);}.phase:nth-child(3) .phase-step{color:var(--red);}.phase:nth-child(4) .phase-step{color:var(--blue);}
.phase-body h3{font-size:clamp(22px,3vw,30px);margin-bottom:14px;transition:font-size .5s;}
.phase.active .phase-body h3{font-size:clamp(26px,3.6vw,38px);}
.phase-body p{font-size:15px;color:var(--gray);line-height:1.75;transition:.5s;}
.phase.active .phase-body p{font-size:16.5px;color:var(--ink);}
.phase-meta{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}
.phase-meta span{font-size:12px;padding:6px 12px;border-radius:7px;background:var(--off);color:var(--gray);border:1px solid var(--line);}
.phase.reveal{transform:translateY(34px) scale(.94);}
.phase.reveal.in{transform:scale(.94);}

/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,opacity .5s;}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.blog-img{height:170px;background-size:cover;background-position:center;position:relative;}
.blog-cat{position:absolute;top:14px;left:14px;font-size:11px;font-weight:600;padding:5px 11px;border-radius:6px;background:#fff;}
.blog-cat.blue{color:var(--blue);}.blog-cat.green{color:var(--green);}.blog-cat.red{color:var(--red);}
.blog-body{padding:22px 24px 24px;}
.blog-body .meta{font-size:12px;color:var(--gray-light);margin-bottom:10px;}
.blog-body h4{font-size:17px;line-height:1.4;margin-bottom:10px;}
.blog-body p{font-size:13.5px;color:var(--gray);line-height:1.6;}
.blog-more{text-align:center;margin-top:44px;}

/* PORTFOLIO grid */
.port-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:44px;}
.port-filter{padding:9px 18px;border-radius:30px;border:1px solid var(--line);background:#fff;font-family:var(--font-head);font-size:13.5px;font-weight:500;color:var(--gray);cursor:pointer;transition:.25s;}
.port-filter.active,.port-filter:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
.port-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.port-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s;cursor:pointer;}
.port-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.port-img{height:220px;background-size:cover;background-position:center;position:relative;}
.port-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(11,15,25,.4),transparent 60%);}
.port-badge{position:absolute;top:14px;left:14px;z-index:2;font-size:11px;font-weight:600;padding:5px 11px;border-radius:6px;color:#fff;}
.port-badge.blue{background:var(--blue);}.port-badge.green{background:var(--green);}.port-badge.red{background:var(--red);}
.port-body{padding:24px 26px 26px;}
.port-body h3{font-size:20px;margin-bottom:9px;}
.port-body p{font-size:14px;color:var(--gray);line-height:1.7;margin-bottom:16px;}
.port-stack{display:flex;flex-wrap:wrap;gap:7px;}
.port-stack span{font-size:11.5px;padding:5px 11px;border-radius:6px;background:var(--off);color:var(--gray);border:1px solid var(--line);}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.about-img{height:420px;border-radius:20px;background-size:cover;background-position:center;border:1px solid var(--line);}
.about-text .sec-tag{display:inline-block;margin-bottom:12px;}
.about-text h2{font-size:clamp(26px,3vw,36px);margin-bottom:18px;}
.about-text p{font-size:15.5px;color:var(--gray);line-height:1.8;margin-bottom:16px;}
.about-feats{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:6px;}
.about-feats li{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--ink);}
.about-feats .ck{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:11px;color:#fff;background:var(--blue);}
/* media collage */
.about-media{position:relative;height:440px;}
.am-img{position:absolute;left:0;top:0;width:80%;height:82%;object-fit:cover;border-radius:20px;border:1px solid var(--line);}
.am-vid{position:absolute;right:0;bottom:0;width:54%;height:48%;object-fit:cover;border-radius:16px;border:5px solid #fff;box-shadow:var(--shadow-lg);background:#070B14;}
.am-badge{position:absolute;left:-6px;bottom:24px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px;box-shadow:var(--shadow-md);}
.am-badge-num{font-family:var(--font-head);font-size:28px;font-weight:700;color:var(--blue);line-height:1;}
.am-badge-lbl{font-size:12px;color:var(--gray);margin-top:4px;}
/* stats band */
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.as-card{text-align:center;padding:30px 18px;background:#fff;border:1px solid var(--line);border-radius:18px;transition:transform .3s,box-shadow .3s;}
.as-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.as-card .num{font-family:var(--font-head);font-size:clamp(30px,3.4vw,42px);font-weight:700;color:var(--blue);line-height:1;}
.as-card:nth-child(2) .num{color:var(--green);}.as-card:nth-child(3) .num{color:var(--red);}.as-card:nth-child(4) .num{color:#D97706;}
.as-card .as-lbl{font-size:13px;color:var(--gray);margin-top:10px;}
/* culture / video showcase */
.about-show{display:grid;grid-template-columns:1.1fr 1fr;gap:46px;align-items:center;}
.about-show-media{position:relative;height:360px;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md);background:#070B14;}
.about-show-media video{width:100%;height:100%;object-fit:cover;}
.asm-tag{position:absolute;left:16px;top:14px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#fff;background:rgba(7,11,20,.5);backdrop-filter:blur(6px);padding:6px 12px;border-radius:6px;}
.about-show-text .sec-tag{display:inline-block;margin-bottom:12px;}
.about-show-text h2{font-size:clamp(24px,2.8vw,34px);margin-bottom:16px;}
.about-show-text p{font-size:15.5px;color:var(--gray);line-height:1.8;margin-bottom:26px;}
.about-show-stats{display:flex;gap:28px;flex-wrap:wrap;}
.about-show-stats b{display:block;font-family:var(--font-head);font-size:24px;color:var(--ink);line-height:1;}
.about-show-stats span{font-size:12.5px;color:var(--gray);margin-top:6px;display:block;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.values-grid.val-6{grid-template-columns:repeat(3,1fr);}
.value-card{padding:30px 26px;border-radius:18px;border:1px solid var(--line);background:#fff;transition:.3s;}
.value-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.value-ic{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;margin-bottom:18px;font-family:var(--font-head);font-weight:700;font-size:20px;color:#fff;}
.value-ic.blue{background:var(--blue);}.value-ic.green{background:var(--green);}.value-ic.red{background:var(--red);}
.value-card h4{font-size:18px;margin-bottom:10px;}
.value-card p{font-size:14px;color:var(--gray);line-height:1.7;}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:44px;align-items:start;}
.contact-promise{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:var(--green);background:var(--green-soft);border:1px solid rgba(21,128,61,.15);border-radius:30px;padding:7px 15px;margin-bottom:20px;}
.contact-promise .cp-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(21,128,61,.15);}
.contact-info h3{font-size:24px;margin-bottom:14px;}
.contact-info>p{font-size:15px;color:var(--gray);line-height:1.75;margin-bottom:24px;}
.contact-card{display:flex;gap:15px;align-items:center;padding:16px 18px;margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;}
.contact-card:not(.static):hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:transparent;}
.contact-card .ci-ic{width:46px;height:46px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;}
.contact-card .ci-ic.blue{background:var(--blue-soft);}.contact-card .ci-ic.blue svg{fill:var(--blue);}
.contact-card .ci-ic.green{background:var(--green-soft);}.contact-card .ci-ic.green svg{fill:var(--green);}
.contact-card .ci-ic.red{background:var(--red-soft);}.contact-card .ci-ic.red svg{fill:var(--red);}
.contact-card .ci-ic svg{width:20px;height:20px;}
.contact-card h5{font-size:14.5px;margin-bottom:2px;}
.contact-card p{font-size:13.5px;color:var(--gray);}
.contact-hours{margin-top:6px;padding:16px 18px;border-radius:14px;background:var(--off);border:1px solid var(--line);}
.contact-hours h5{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--gray-light);margin-bottom:6px;}
.contact-hours p{font-size:14px;color:var(--ink);font-weight:500;}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow-sm);}
.cf-head{margin-bottom:22px;}
.cf-head h3{font-size:22px;margin-bottom:6px;}
.cf-head p{font-size:14px;color:var(--gray);}
.cf-note{font-size:12px;color:var(--gray-light);text-align:center;margin-top:14px;line-height:1.5;}
/* SOCIAL grid — icon beside name */
.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:0 auto;}
.social-card{display:flex;align-items:center;gap:15px;padding:16px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;}
.social-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent;}
.sc-ic{width:48px;height:48px;border-radius:13px;flex-shrink:0;display:grid;place-items:center;}
.sc-ic svg{width:23px;height:23px;fill:#fff;}
.sc-ic.s-linkedin{background:#0A66C2;}
.sc-ic.s-facebook{background:#1877F2;}
.sc-ic.s-instagram{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF);}
.sc-ic.s-tiktok{background:#000;}
.sc-ic.s-x{background:#000;}
.sc-ic.s-whatsapp{background:#25D366;}
.sc-txt b{display:block;font-family:var(--font-head);font-size:15px;color:var(--black);}
.sc-txt span{font-size:13px;color:var(--gray);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:13.5px;font-weight:500;color:var(--ink);margin-bottom:7px;}
.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14.5px;font-family:var(--font-body);outline:none;transition:border-color .2s;background:#fff;color:var(--ink);}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);}
.form-group textarea{resize:vertical;min-height:120px;}

@media (max-width:960px){.blog-grid,.port-grid,.values-grid,.values-grid.val-6{grid-template-columns:1fr 1fr;}.why-grid{grid-template-columns:1fr 1fr;}.svc-block,.about-grid,.contact-grid,.about-show{grid-template-columns:1fr;gap:28px;}.svc-block:nth-child(even) .svc-visual{order:0;}.about-stats{grid-template-columns:1fr 1fr;}.about-show-media{order:-1;}.social-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:760px){.hero{grid-template-columns:1fr;padding-top:120px;}.hero-stage{order:0;}.hero-3d{height:240px;}.hs-screen{height:200px;}.blog-grid,.why-grid,.port-grid,.values-grid,.values-grid.val-6{grid-template-columns:1fr;}.phase,.phase:nth-child(even){grid-template-columns:1fr;}.phase:nth-child(even) .phase-media{order:0;}.form-row{grid-template-columns:1fr;}.about-media{height:340px;}.social-grid{grid-template-columns:1fr;}}
@media (max-width:960px){.cap-track{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.cap-track{grid-template-columns:1fr;}.cap-nav{width:40px;height:40px;font-size:21px;}}
