/* =====================================================================
   SINGLE PORTFOLIO REDESIGN (prefix pf- ; original tab classes kept)
   colours = Ninja Coding Pro logo
   ===================================================================== */
.pf-page{--blue:#0ABAEA;--blue-l:#38D4FF;--blue-d:#0691B8;--ink:#0B1A26;
  font-family:"Nunito",sans-serif;color:#fff;overflow-x:clip;background:#F4FBFE;}
.pf-page *{box-sizing:border-box;}
.pf-page h1,.pf-page h2,.pf-page h3,.pf-page h4,.pf-page p{font-family:inherit;}
.my_container{max-width:1240px;margin:0 auto;padding:0 24px;position:relative;z-index:2;}
.pf-fx{position:absolute;inset:0;z-index:1;pointer-events:none;}
.pf-fx canvas{position:absolute !important;inset:0;width:100% !important;height:100% !important;}
.pf-grid{position:absolute;inset:-60px 0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(10,186,234,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(10,186,234,.09) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 75% at 50% 45%,#000 15%,transparent 78%);mask-image:radial-gradient(ellipse 80% 75% at 50% 45%,#000 15%,transparent 78%);animation:pfGrid 24s linear infinite;}
@keyframes pfGrid{to{background-position:64px 64px,64px 64px;}}
.pf-glow{position:absolute;z-index:0;border-radius:50%;pointer-events:none;animation:pfPulse 8s ease-in-out infinite;}
.pf-glow.g1{width:560px;height:560px;right:-150px;top:-180px;background:radial-gradient(circle,rgba(10,186,234,.4),rgba(10,186,234,0) 68%);}
.pf-glow.g2{width:460px;height:460px;left:-170px;bottom:-240px;background:radial-gradient(circle,rgba(10,186,234,.2),rgba(10,186,234,0) 70%);animation-delay:-3s;}
@keyframes pfPulse{0%,100%{transform:scale(1);opacity:.9;}50%{transform:scale(1.16);opacity:.55;}}

/* ---------- HERO ---------- */
section.pf-sec{position:relative;overflow:hidden;padding:190px 0 170px;background:radial-gradient(ellipse 70% 90% at 15% 0%,#03293f 0%,#000612 62%);clip-path:polygon(0 0,100% 0,100% calc(100% - 60px),0 100%);}
section.pf-sec .my_container{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;}
.pf-crumbs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;font-weight:700;color:rgba(255,255,255,.7);}
.pf-crumbs a{color:#fff;text-decoration:none;transition:.3s;}
.pf-crumbs a:hover{color:var(--blue-l);}
.pf-crumbs i{font-size:9px;color:var(--blue-l);}
.pf-crumbs span{color:var(--blue-l);}
.pf-badge{margin-top:22px;display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:40px;background:rgba(10,186,234,.12);border:1px solid rgba(10,186,234,.45);color:#DDF6FF;font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;}
.pf-badge i{color:var(--blue-l);}
.pf-sec-title h1{font-size:52px;line-height:1.1;font-weight:800;padding:0;margin:20px 0 22px;color:#fff;letter-spacing:-.015em;}
p.pf-sec-tags-list{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;}
p.pf-sec-tags-list a{font-size:14px;font-weight:800;line-height:1;padding:10px 16px;margin:0;border-radius:30px;background:rgba(10,186,234,.14);border:1px solid rgba(10,186,234,.45);color:#DDF6FF;text-decoration:none;transition:.3s;}
p.pf-sec-tags-list a:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px);}
.pf-sec-tags{margin:0;}
.pf-sec-desc{position:relative;max-height:300px;overflow:auto;padding:22px 26px 22px 30px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(10,186,234,.28);backdrop-filter:blur(8px);}
.pf-sec-desc::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:4px;background:linear-gradient(180deg,#38D4FF,#0691B8);}
.pf-sec-desc p{font-size:16px;line-height:1.75;color:rgba(255,255,255,.86);max-width:none;margin:0 0 .9em;}
.pf-sec-desc p:last-child{margin-bottom:0;}
.pf-sec-desc a{color:var(--blue-l);}
.pf-sec-desc::-webkit-scrollbar{width:5px;}
.pf-sec-desc::-webkit-scrollbar-thumb{background:rgba(10,186,234,.6);border-radius:4px;}
.pf-sec-link{margin-top:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.pf-visit{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border-radius:50px;background:linear-gradient(135deg,#12C6F5,#0691B8);color:#fff !important;font-weight:800;font-size:15.5px;text-decoration:none !important;box-shadow:0 12px 28px rgba(10,186,234,.45);transition:.3s;}
.pf-visit:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(10,186,234,.6);}
.pf-url{font-size:14px;font-weight:700;color:rgba(255,255,255,.6);word-break:break-all;}

/* featured image inside a browser window */
.pf-hero-vis{position:relative;}
.pf-win{border-radius:22px;overflow:hidden;background:#03141f;border:1px solid rgba(10,186,234,.6);box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 60px rgba(10,186,234,.28);}
.pf-win-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#0a2233;border-bottom:1px solid rgba(10,186,234,.25);}
.pf-win-bar i{width:11px;height:11px;border-radius:50%;background:#2A4356;display:block;}
.pf-win-bar i:first-child{background:#0ABAEA;}
.pf-win-bar span{margin-left:10px;flex:1;max-width:320px;padding:5px 14px;border-radius:20px;background:rgba(255,255,255,.07);font-size:12px;font-weight:700;color:rgba(255,255,255,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* the featured image is a desktop+phone mockup on a white background, so it sits on a light stage */
.pf-stage{position:relative;padding:26px;border-radius:26px;background:linear-gradient(145deg,#ffffff 0%,#e6f8fd 100%);border:1px solid rgba(10,186,234,.7);box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 70px rgba(10,186,234,.35);}
.pf-stage::before{content:"";position:absolute;inset:0;border-radius:26px;padding:2px;background:conic-gradient(from var(--a,0deg),transparent 0 62%,#0ABAEA 82%,#8EEAFF 92%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:pfSpin 6s linear infinite;pointer-events:none;}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg;}
@keyframes pfSpin{to{--a:360deg;}}
.pf-hero-vis img{position:static;display:block;width:100% !important;max-width:100% !important;height:auto !important;padding:0;border-radius:12px !important;}
/* laptop-style window + phone, screenshots slowly scroll on their own */
.pf-devices{position:relative;padding:0 0 46px;}
.pf-dwin{border-radius:20px;overflow:hidden;background:#03141f;border:1px solid rgba(10,186,234,.6);box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 60px rgba(10,186,234,.28);}
.pf-dscreen{position:relative;aspect-ratio:16/10;overflow:hidden;background:#fff;}
.pf-dscreen img{display:block;width:100% !important;height:auto !important;max-width:100%;border-radius:0 !important;}
.pf-phone{position:absolute;right:-14px;bottom:0;width:27%;aspect-ratio:9/18.5;overflow:hidden;border:8px solid #0b1a26;border-radius:30px;background:#fff;box-shadow:0 0 0 2px rgba(10,186,234,.7),0 24px 56px rgba(0,0,0,.6),0 0 50px rgba(10,186,234,.3);animation:pfBob 7s ease-in-out infinite;}
.pf-phone img{display:block;width:100% !important;height:auto !important;max-width:100%;border-radius:0 !important;}
.pf-notch2{position:absolute;left:50%;top:0;z-index:3;width:38%;height:14px;transform:translateX(-50%);border-radius:0 0 10px 10px;background:#0b1a26;}
.pf-chip{position:absolute;left:18px;bottom:0;display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:16px;background:rgba(3,16,28,.88);border:1px solid rgba(10,186,234,.5);backdrop-filter:blur(10px);font-weight:800;font-size:14px;box-shadow:0 14px 30px rgba(0,0,0,.4);animation:pfBob 6s ease-in-out infinite;}
.pf-chip i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#12C6F5,#0691B8);}
@keyframes pfBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

/* entrance */
.pf-in{animation:pfIn .9s cubic-bezier(.2,.7,.2,1) both;}
.pf-in:nth-child(2){animation-delay:.1s;}
@keyframes pfIn{from{opacity:0;transform:translateY(34px);}to{opacity:1;transform:none;}}

/* ---------- DESIGN PREVIEW (tabs; original classes kept) ---------- */
section.pi-tabs{position:relative;overflow:hidden;padding:100px 0 120px;background:linear-gradient(180deg,#F4FBFE 0%,#E6F6FC 100%);}
section.pi-tabs .pf-grid{display:none;}
section.pi-tabs::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(10,186,234,.28) 1.4px,transparent 1.6px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 85% 70% at 50% 30%,#000 10%,transparent 78%);mask-image:radial-gradient(ellipse 85% 70% at 50% 30%,#000 10%,transparent 78%);}
section.pi-tabs::after{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(10,186,234,.22),rgba(10,186,234,0) 70%);pointer-events:none;}
.pf-head{text-align:center;max-width:720px;margin:0 auto 46px;position:relative;z-index:2;}
.pf-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:40px;background:rgba(10,186,234,.14);color:var(--blue-d);font-weight:800;font-size:13px;letter-spacing:.09em;text-transform:uppercase;}
.pf-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(10,186,234,.2);}
.pf-head h2{margin:14px 0 0;font-size:42px;line-height:1.15;font-weight:800;color:var(--ink);}
.pf-head h2 span{background:linear-gradient(90deg,#0ABAEA,#0691B8);-webkit-background-clip:text;background-clip:text;color:transparent;}
.pf-head p{margin:14px 0 0;color:#556172;font-size:17px;line-height:1.7;}

.product_image_tab{position:relative;z-index:2;padding:28px;background:linear-gradient(135deg,#000612 0%,#01182B 60%,#032338 100%);border:1px solid rgba(10,186,234,.45);border-radius:28px;box-shadow:0 30px 70px rgba(6,60,90,.35),0 0 60px rgba(10,186,234,.15);}
.nav_parent_both{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:26px;}
.screen_tab_ul{display:inline-flex;list-style:none;padding:5px;margin:0;border-radius:50px;background:rgba(0,6,18,.6);border:1px solid rgba(10,186,234,.3);overflow:auto;}
.screen_tab_ul li{margin:0;font-size:16px;font-weight:800;font-style:normal;line-height:1;cursor:pointer;border-radius:40px;transition:.3s;}
.screen_tab_ul li a{display:block;padding:11px 24px;border:0 !important;border-radius:40px;color:rgba(255,255,255,.75);font-family:inherit;font-size:16px;line-height:1;font-weight:800;text-decoration:none;transition:.3s;}
.screen_tab_ul li.active a{background:linear-gradient(135deg,#12C6F5,#0691B8);color:#fff;box-shadow:0 8px 20px rgba(10,186,234,.45);}
.screen_tab_ul li:not(.active):hover a{color:#fff;background:rgba(10,186,234,.15);}
ul#tabs-nav{list-style:none;margin:0;padding:5px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;overflow:auto;}
ul#tabs-nav li{margin:0;padding:0;float:none;font-style:normal;background:transparent;cursor:pointer;}
#tabs-nav li a{display:block;padding:10px 20px;border-radius:30px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:#fff;font-family:inherit;font-size:15px;line-height:1.2;font-weight:800;text-decoration:none;transition:.3s;}
#tabs-nav li:hover a{border-color:var(--blue);color:var(--blue-l);}
ul#tabs-nav li.active{background:transparent;}
ul#tabs-nav li.active a{background:rgba(10,186,234,.22);border-color:var(--blue);color:#fff;}

.tab-content{position:relative;padding:0;background:transparent;}
.desktop_tab{position:relative;height:640px;overflow-y:scroll;border-radius:16px;border:1px solid rgba(10,186,234,.45);background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.45);}
.desktop_tab .pf-win-bar{position:sticky;top:0;z-index:3;}
.desktop_tab img{display:block;width:100%;object-fit:cover;object-position:top;opacity:.5;transition:opacity .4s;}
.mobile_tab{display:none;position:relative;height:580px;max-width:320px;overflow-y:scroll;margin:auto;border:10px solid #0b1a26;border-radius:38px;background:#fff;box-shadow:0 0 0 2px rgba(10,186,234,.6),0 24px 60px rgba(0,0,0,.5),0 0 50px rgba(10,186,234,.2);}
.mobile_tab img{display:block;width:100%;object-fit:cover;object-position:top;opacity:.5;transition:opacity .4s;}
.pf-notch{position:sticky;top:0;display:block;height:0;z-index:3;}
.pf-notch::before{content:"";position:absolute;left:50%;top:0;width:96px;height:22px;transform:translateX(-50%);border-radius:0 0 16px 16px;background:#0b1a26;}
.product_image_tab ::-webkit-scrollbar{background:#04121c;width:6px;height:6px;}
.product_image_tab ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#38D4FF,#0691B8);border-radius:6px;}
.tab-content:hover .desktop_tab img,.mobile_tab:hover img{opacity:1;}

.scroll-button,.hover-scroll-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;padding:13px 26px;border:0;border-radius:50px;background:linear-gradient(135deg,#12C6F5,#0691B8);color:#fff;font-family:inherit;font-size:16px;font-weight:800;font-style:normal;line-height:1.2;cursor:pointer;box-shadow:0 14px 34px rgba(10,186,234,.55);animation:pfBtn 2.4s ease-in-out infinite;}
.scroll-button{display:none;}
.desktop_tab:hover .hover-scroll-button,.mobile_tab:hover .hover-scroll-button{display:none;}
@keyframes pfBtn{0%,100%{box-shadow:0 14px 34px rgba(10,186,234,.55);}50%{box-shadow:0 14px 34px rgba(10,186,234,.55),0 0 0 12px rgba(10,186,234,.15);}}

/* ---------- NEXT / PREV + CTA ---------- */
.pf-more{position:relative;overflow:hidden;padding:140px 0 100px;clip-path:polygon(0 60px,100% 0,100% 100%,0 100%);background:radial-gradient(ellipse 70% 90% at 80% 0%,#03293f 0%,#000612 62%);}
.pf-navrow{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:46px;position:relative;z-index:2;}
.pf-navrow .pf-n a{display:flex;align-items:center;gap:16px;height:100%;padding:22px 26px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(10,186,234,.3);color:#fff;text-decoration:none;transition:.35s;}
.pf-navrow .pf-n a:hover{transform:translateY(-5px);border-color:var(--blue);box-shadow:0 20px 46px rgba(10,186,234,.28);}
.pf-navrow .pf-n.next a{justify-content:flex-end;text-align:right;}
.pf-navrow .pf-n i{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#12C6F5,#0691B8);}
.pf-navrow small{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-l);font-weight:800;}
.pf-navrow strong{display:block;margin-top:4px;font-size:17px;font-weight:800;line-height:1.3;}
.pf-cta{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:40px 46px;border-radius:26px;background:linear-gradient(120deg,rgba(10,186,234,.22),rgba(10,186,234,.06));border:1px solid rgba(10,186,234,.5);}
.pf-cta h2{margin:0;font-size:32px;font-weight:800;color:#fff;}
.pf-cta p{margin:8px 0 0;color:rgba(255,255,255,.78);font-size:16.5px;}
.pf-cta-btns{display:flex;gap:14px;flex-wrap:wrap;}
.pf-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:50px;font-weight:800;font-size:16px;text-decoration:none;transition:.3s;border:2px solid transparent;}
.pf-btn-p{background:linear-gradient(135deg,#12C6F5,#0691B8);color:#fff;box-shadow:0 12px 28px rgba(10,186,234,.45);}
.pf-btn-p:hover{transform:translateY(-3px);color:#fff;box-shadow:0 18px 36px rgba(10,186,234,.6);}
.pf-btn-g{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.06);}
.pf-btn-g:hover{border-color:var(--blue);background:rgba(10,186,234,.18);color:#fff;transform:translateY(-3px);}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1030px){
  section.pf-sec{padding:150px 0 130px;}
  section.pf-sec .my_container{grid-template-columns:1fr;gap:44px;}
  .pf-sec-title h1{font-size:42px;}
  .pf-chip{left:12px;}
  .pf-head h2{font-size:34px;}
}
@media(max-width:768px){
  .screen_tab_ul{display:none;}
  .desktop_tab{display:none !important;}
  .mobile_tab{display:block !important;height:460px;}
  .nav_parent_both{justify-content:center;}
  ul#tabs-nav{justify-content:center;}
  #tabs-nav li a{padding:8px 14px;font-size:13px;}
  .product_image_tab{padding:18px;border-radius:22px;}
  .tab_parent_wrapper .scroll-button{display:block;}
  .tab_parent_wrapper .mobile_tab{overflow-y:hidden;}
  .hover-scroll-button{display:none;}
  .tab_parent_wrapper .child_content .mobile_tab img{opacity:.5;}
  .pf-navrow{grid-template-columns:1fr;}
}
@media(max-width:600px){
  section.pf-sec{padding:130px 0 110px;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),0 100%);}
  .pf-sec-title h1{font-size:30px;}
  .pf-sec-desc{padding:18px 18px 18px 22px;max-height:260px;}
  section.pi-tabs{padding:60px 0 80px;}
  .pf-head h2{font-size:28px;}
  .pf-cta{padding:28px 24px;}
  .pf-cta h2{font-size:25px;}
  .pf-more{padding:60px 0 80px;}
}
@media(prefers-reduced-motion:reduce){.pf-grid,.pf-glow,.pf-chip,.scroll-button,.hover-scroll-button{animation:none;}.pf-in{animation:none;}}
