/* ============================================================
   Portfolio + Our Story — recreated visuals (additive)
   Loaded AFTER style.css + home.css.
   ============================================================ */

/* ===========================================================
   PORTFOLIO — hero: stacked real project screenshots
   =========================================================== */
.pf-stack{position:relative;height:520px;width:100%;max-width:560px;margin-left:auto}
.pf-glow{position:absolute;width:360px;height:360px;border-radius:50%;filter:blur(80px);opacity:.5;z-index:0}
.pf-glow.a{left:-6%;top:0;background:radial-gradient(circle,#00e0c6,transparent 70%)}
.pf-glow.b{right:-6%;bottom:0;background:radial-gradient(circle,#0277d4,transparent 70%)}
.pf-shot{position:absolute;border-radius:16px;overflow:hidden;background:#0b1f2e;
  border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 70px -22px rgba(0,0,0,.7);z-index:1}
.pf-shot .pbar{height:30px;display:flex;align-items:center;gap:6px;padding:0 12px;background:rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.08)}
.pf-shot .pbar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.3)}
.pf-shot img{width:100%;height:calc(100% - 30px);object-fit:cover;display:block}
.pf-shot.s1{width:70%;height:50%;left:0;top:0;z-index:3;animation:pfFloat 7s ease-in-out infinite}
.pf-shot.s2{width:54%;height:44%;right:0;top:26%;z-index:4;animation:pfFloat 7s ease-in-out infinite .6s}
.pf-shot.s3{width:46%;height:38%;left:6%;bottom:0;z-index:2;animation:pfFloat 7s ease-in-out infinite 1.2s}
@keyframes pfFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.pf-badge{position:absolute;z-index:5;right:-2%;top:18%;background:#fff;border-radius:14px;padding:12px 15px;
  box-shadow:0 22px 50px -16px rgba(0,0,0,.55);display:flex;align-items:center;gap:11px;animation:pfFloat 6s ease-in-out infinite .6s}
.pf-badge .pi{width:38px;height:38px;border-radius:11px;background:var(--grad);color:#fff;display:grid;place-items:center;flex:none}
.pf-badge .pi svg{width:19px;height:19px}
.pf-badge b{display:block;font-family:var(--display);font-size:17px;color:var(--ink);line-height:1}
.pf-badge small{font-size:11.5px;color:var(--slate);font-weight:600}

/* portfolio project cards (image-led, reuse home .svc-card visuals) */
.pf-card .num-badge{display:inline-block;margin-bottom:6px}

/* impact band — distinct from the dark stat strip */
.impact-row{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:8px}
.impact-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 24px;text-align:center;
  box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.impact-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.impact-card .ii{width:46px;height:46px;border-radius:13px;background:var(--grad-soft);color:var(--blue);display:grid;place-items:center;margin:0 auto 14px}
.impact-card .ii svg{width:23px;height:23px}
.impact-card b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(30px,3.6vw,44px);line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.impact-card span{display:block;margin-top:8px;font-size:14px;color:var(--slate);font-weight:600}

/* featured case-study metric chips */
.case-metrics{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0 4px}
.case-metric{background:var(--mist);border:1px solid var(--line);border-radius:14px;padding:12px 18px}
.case-metric b{font-family:var(--display);font-size:24px;color:var(--ink);display:block;line-height:1}
.case-metric span{font-size:12.5px;color:var(--slate);font-weight:600}

/* ===========================================================
   OUR STORY — hexagon brand emblem (hero) + brand-mark section
   =========================================================== */
.hex-stage{position:relative;width:100%;max-width:520px;height:480px;margin-left:auto;display:grid;place-items:center}
.hex-glow{position:absolute;width:340px;height:340px;border-radius:50%;filter:blur(80px);opacity:.55;
  background:radial-gradient(circle,#03aae1,transparent 70%);z-index:0}
.hex-ring{position:absolute;width:380px;height:380px;z-index:1;animation:hexSpin 60s linear infinite}
@keyframes hexSpin{to{transform:rotate(360deg)}}
.hex-ring circle{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1.2}
.hex-ring .dash{stroke:rgba(0,189,195,.4);stroke-dasharray:2 10;stroke-width:1.6}
/* the hexagon emblem */
.hex-emblem{position:relative;z-index:3;width:230px;height:252px;display:grid;place-items:center;
  filter:drop-shadow(0 26px 50px rgba(0,0,0,.5))}
.hex-emblem .hexbg{position:absolute;inset:0;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  background:linear-gradient(160deg,#00e0c6,#03aae1 48%,#0277d4);opacity:.16}
.hex-emblem .hexbg.brd{inset:0;background:linear-gradient(160deg,#00e0c6,#03aae1 48%,#0277d4);
  -webkit-mask:linear-gradient(#000 0 0);opacity:.9;
  /* border-only via slightly smaller inner cut */
  -webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.hex-emblem .hexbg.brd::after{content:"";position:absolute;inset:3px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--navy)}
.hex-emblem img{position:relative;z-index:4;width:104px;height:auto}
/* floating year chips around the emblem */
.year-chip{position:absolute;z-index:5;background:rgba(255,255,255,.96);border-radius:50px;padding:8px 15px;
  font-family:var(--display);font-weight:800;font-size:14px;color:var(--ink);box-shadow:0 16px 36px -14px rgba(0,0,0,.5);
  animation:hexFloat 6s ease-in-out infinite}
.year-chip small{display:block;font-size:10px;color:var(--slate);font-weight:600;letter-spacing:.04em}
.year-chip.y1{left:-4%;top:14%}
.year-chip.y2{right:-2%;top:30%;animation-delay:1.1s}
.year-chip.y3{right:2%;bottom:14%;animation-delay:2.2s}
.year-chip.y4{left:0;bottom:8%;animation-delay:1.6s}
@keyframes hexFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}

/* brand-mark explainer section */
.mark-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.mark-visual{position:relative;display:grid;place-items:center;min-height:360px}
.mark-visual .mglow{position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(70px);opacity:.4;background:radial-gradient(circle,#6a5cff,transparent 70%)}
.mark-hex{position:relative;width:240px;height:262px;display:grid;place-items:center;filter:drop-shadow(0 24px 46px rgba(0,0,0,.18))}
.mark-hex .mhexbg{position:absolute;inset:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  background:linear-gradient(160deg,#00e0c6,#03aae1 48%,#0277d4);padding:3px}
.mark-hex .mhexbg::after{content:"";position:absolute;inset:3px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#fff}
.mark-hex img{position:relative;z-index:2;width:112px;height:auto}
.meaning-list{display:flex;flex-direction:column;gap:8px}
.meaning{display:flex;gap:18px;padding:20px;border-radius:16px;border:1px solid transparent;transition:background .3s,border-color .3s}
.meaning:hover{background:#fff;border-color:var(--line);box-shadow:var(--shadow-sm)}
.meaning .mhex{flex:none;width:46px;height:50px;display:grid;place-items:center;position:relative}
.meaning .mhex::before{content:"";position:absolute;inset:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--grad)}
.meaning .mhex svg{position:relative;z-index:2;width:22px;height:22px;color:#fff}
.meaning h3{font-size:18px;margin-bottom:4px}
.meaning p{color:var(--slate);font-size:14.5px;margin:0}

/* statement callout */
.mark-statement{margin-top:54px;max-width:880px;margin-left:auto;margin-right:auto;text-align:center;
  font-family:var(--display);font-size:clamp(19px,2.2vw,26px);line-height:1.45;color:var(--ink)}
.mark-statement .qg{color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text}

/* ===========================================================
   Responsive
   =========================================================== */
@media(max-width:1024px){
  .pf-stack,.hex-stage{margin:0 auto}
  .mark-wrap{grid-template-columns:1fr;gap:36px}
  .mark-visual{min-height:300px}
}
@media(max-width:600px){
  .pf-stack{height:380px}
  .impact-row{grid-template-columns:1fr 1fr;gap:14px}
  .hex-stage{height:380px}
  .hex-ring{width:300px;height:300px}
  .hex-emblem{width:180px;height:198px}
  .hex-emblem img{width:78px}
  .year-chip{font-size:12px;padding:6px 11px}
  .pf-badge{display:none}
}
