@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Orbitron:wght@600;700;800&display=swap');
:root{--bg:#e7eaee;--panel:#f3f5f7;--ink:#10131a;--muted:#4e5662;--blue:#1557d6;--line:#aeb6c1;--dark:#111820}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:rgba(235,238,242,.94);border-bottom:1px solid #bbc1c9;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:42px;height:42px;object-fit:contain}.footer-logo{width:74px;height:74px;object-fit:contain;align-self:flex-start}.brand-mark{font-size:42px;line-height:1;font-weight:900;transform:skew(-12deg)}.brand strong{display:block;font-size:25px;letter-spacing:2px}.brand small{display:block;letter-spacing:5px;color:#606875;font-size:10px;text-align:center}.nav{display:flex;align-items:center;gap:31px;font-size:12px;font-weight:800}.nav a{padding:27px 0}.nav .active{color:#123b8e;border-bottom:2px solid var(--blue)}.shop-btn{padding:12px 18px!important;border:1px solid #8993a0;border-radius:10px;background:#f7f8fa;box-shadow:0 3px 10px #0001}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{min-height:470px;position:relative;border-bottom:1px solid #b5bcc5;overflow:hidden;background:#dfe3e7}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(231,234,238,.96) 0%,rgba(231,234,238,.88) 34%,rgba(231,234,238,.38) 57%,rgba(231,234,238,.05) 78%),linear-gradient(0deg,rgba(16,24,32,.08),transparent 35%);z-index:1}.hero-copy{padding:65px 4% 35px;position:relative;z-index:2;max-width:720px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1px;margin:0 0 10px}.hero h1,h2{font-family:Orbitron,Inter,sans-serif}.hero h1{font-size:48px;line-height:1.08;margin:0 0 14px;letter-spacing:1px}.hero h1 em{font-style:normal;color:var(--blue)}.lead{font-size:15px;line-height:1.65;margin:0 0 22px}.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:12px 18px;border-radius:8px;font-size:12px;font-weight:800;border:1px solid #697483}.btn.primary{background:#153c78;color:white;border-color:#153c78}.btn.ghost{background:#f1f3f5}.trust{display:flex;gap:25px;margin-top:32px}.trust span{display:grid;grid-template-columns:24px 1fr;font-size:16px;color:#214f9f}.trust b{font-size:9px;letter-spacing:.5px;color:#202631}.trust small{grid-column:2;font-size:8px;color:#202631}.hero-visual{position:absolute;inset:0;background:url("./hero-visual.webp") center center/cover no-repeat;z-index:0}.section{padding:34px 4%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-head h2{font-size:25px;margin:0;letter-spacing:1px}.section-head h2 i{display:inline-block;width:55px;height:2px;background:#5d6875;vertical-align:middle;margin-left:8px}.section-head>a{font-size:11px;font-weight:800;color:#1a3e84}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-card{min-height:110px;border:1px solid #adb5c0;border-radius:11px;background:linear-gradient(145deg,#f6f7f9,#e1e5e9);box-shadow:0 5px 12px #1c273514;display:grid;grid-template-columns:82px 1fr 20px;align-items:center;padding:15px 18px;gap:14px}.hex{width:68px;height:68px;display:grid;place-items:center;border:2px solid #1b355d;clip-path:polygon(25% 3%,75% 3%,98% 50%,75% 97%,25% 97%,2% 50%);font-size:30px;color:#152e52}.service-card h3{font-size:14px;margin:0 0 8px}.service-card p,.product p{font-size:11px;line-height:1.45;margin:0;color:#343b46}.service-card>span{color:var(--blue);font-size:22px}.product-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.product img{width:100%;aspect-ratio:.7;object-fit:cover;border:0;border-radius:6px;box-shadow:none;mix-blend-mode:multiply;display:block;background:transparent}.product{background:transparent}.product h3{font-size:12px;margin:10px 0 5px}.product a{display:block;margin-top:10px;font-size:9px;font-weight:800;color:#394656}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.portfolio{position:relative;border:1px solid #8e98a5;border-radius:8px;overflow:hidden;background:#202733;box-shadow:0 5px 12px #1c273520}.portfolio img{width:100%;height:145px;object-fit:cover;display:block;filter:saturate(.9)}.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:45px;height:45px;border:2px solid white;border-radius:50%;display:grid;place-items:center;color:white;background:#101820aa}.overlay{position:absolute;left:0;right:0;bottom:0;padding:15px;background:linear-gradient(transparent,#111820ee);color:white}.overlay h3{font-size:12px;margin:10px 0 3px}.overlay p{font-size:9px;margin:0}.cta{display:flex;justify-content:space-between;align-items:center;padding:42px 5%;border-top:1px solid #b1b8c2;background:linear-gradient(120deg,#e9edf0,#d3d9df)}.cta h2{font-size:24px;margin:0 0 8px}.cta p{font-size:12px;line-height:1.6}.cta .actions{margin-right:6%}footer{background:#121a23;color:#d8dde3;padding:35px 5%;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:35px}footer h4{font-size:10px;letter-spacing:1px;margin:0 0 14px}footer a,footer p{display:block;font-size:10px;line-height:1.8;color:#b8c0ca}.footer-brand{display:flex;gap:10px}.footer-brand strong{font-size:22px;letter-spacing:2px}.footer-brand small{display:block;letter-spacing:4px;font-size:9px}.footer-brand em{display:block;font-style:normal;font-size:8px;line-height:1.5;color:#7f8b99;margin-top:15px;letter-spacing:1px}
@media(max-width:900px){.nav{gap:15px}.product-grid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:40px}}
@media(max-width:700px){.site-header{height:68px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:#eef1f4;flex-direction:column;gap:0;padding:10px 5%;border-bottom:1px solid #aeb6c1}.nav.open{display:flex}.nav a{padding:12px 0;width:100%}.hero{min-height:520px}.hero-copy{padding:45px 6% 30px}.hero::before{background:linear-gradient(90deg,rgba(231,234,238,.97) 0%,rgba(231,234,238,.84) 52%,rgba(231,234,238,.22) 100%)}.service-grid,.portfolio-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.section{padding:30px 6%}.section-head{align-items:start;gap:15px}.section-head>a{display:none}.cta{display:block;padding:38px 6%}.cta .actions{margin-top:20px}footer{grid-template-columns:1fr 1fr;padding:30px 6%}}


/* =========================================================
   HOME PORTFOLIO — TRANSPARENT CLICKABLE IMAGE CARDS
   Uses: portoghost.png / portoremix.png / portorelease.png
   ========================================================= */
.portfolio-circle-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  gap:18px;
  width:100%;
}

.portfolio-circle-card{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  background:transparent;
  border:0;
  box-shadow:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:filter .25s ease;
}

.portfolio-circle-card img{
  display:block;
  width:100%;
  max-width:420px;
  height:auto;
  object-fit:contain;
  background:transparent;
  border:0;
  box-shadow:none;
  transition:transform .25s ease,filter .25s ease;
  will-change:transform;
}

.portfolio-circle-card:hover img{
  transform:scale(1.045);
  filter:drop-shadow(0 12px 18px rgba(30,90,170,.22));
}

.portfolio-circle-card:active img{
  transform:scale(.985);
}

/* Gentle floating/bouncing motion so visitors know the cards are interactive */
@keyframes portfolioCardBob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-11px)}
}

.card-bob-1 img{
  animation:portfolioCardBob 2.7s ease-in-out infinite;
}

.card-bob-2 img{
  animation:portfolioCardBob 2.7s ease-in-out .35s infinite;
}

.card-bob-3 img{
  animation:portfolioCardBob 2.7s ease-in-out .7s infinite;
}

@media(max-width:900px){
  .portfolio-circle-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .portfolio-circle-card img{
    max-width:390px;
  }
}

@media(max-width:700px){
  .portfolio-circle-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .portfolio-circle-card img{
    width:min(100%,420px);
  }
}

@media(prefers-reduced-motion:reduce){
  .portfolio-circle-card img{
    animation:none!important;
  }
}


/* =========================================================
   PORTFOLIO CARD SIZE FIX — compact 3 cards in one row
   ========================================================= */
#portfolio .portfolio-circle-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:28px !important;
  align-items:center !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
}

#portfolio .portfolio-circle-card{
  width:100% !important;
  height:auto !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  overflow:visible !important;
  background:transparent !important;
}

#portfolio .portfolio-circle-card img{
  width:100% !important;
  max-width:300px !important;
  max-height:260px !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
}

@media(max-width:900px){
  #portfolio .portfolio-circle-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:14px !important;
  }

  #portfolio .portfolio-circle-card img{
    max-width:230px !important;
    max-height:210px !important;
  }
}

@media(max-width:650px){
  #portfolio .portfolio-circle-grid{
    grid-template-columns:1fr !important;
    max-width:340px !important;
  }

  #portfolio .portfolio-circle-card img{
    max-width:280px !important;
    max-height:240px !important;
  }
}


/* =========================================================
   DIGITAL PRODUCTS — CLICK ZOOM + BLUE LIGHT / SMOKE EFFECT
   Keeps the existing product artwork and layout unchanged.
   ========================================================= */
#products .product{
  position:relative;
  isolation:isolate;
  overflow:visible;
  border-radius:10px;
}

#products .product img{
  position:relative;
  z-index:2;
  transform-origin:center center;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),
             filter .28s ease;
}

/* Blue light cloud behind the existing product image */
#products .product::before,
#products .product::after{
  content:"";
  position:absolute;
  left:50%;
  top:34%;
  width:72%;
  aspect-ratio:1;
  transform:translate(-50%,-50%) scale(.55);
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  z-index:1;
}

#products .product::before{
  background:
    radial-gradient(circle at 50% 50%,
      rgba(132,226,255,.95) 0 7%,
      rgba(48,163,255,.60) 18%,
      rgba(18,108,255,.22) 38%,
      transparent 68%);
  filter:blur(12px);
}

#products .product::after{
  background:
    radial-gradient(circle at 18% 55%, rgba(109,221,255,.85) 0 3%, transparent 9%),
    radial-gradient(circle at 78% 34%, rgba(101,196,255,.75) 0 3%, transparent 10%),
    radial-gradient(circle at 70% 76%, rgba(155,235,255,.72) 0 2%, transparent 9%),
    radial-gradient(circle at 35% 20%, rgba(80,167,255,.72) 0 2%, transparent 9%);
  filter:blur(3px);
}

/* Gentle feedback before clicking */
#products .product:hover img{
  transform:translateY(-5px) scale(1.025);
  filter:drop-shadow(0 10px 18px rgba(33,111,220,.20));
}

/* Triggered while the collection link is being clicked */
#products .product:has(a:active) img,
#products .product:active img{
  animation:productClickZoom .62s cubic-bezier(.18,.9,.22,1) both;
}

#products .product:has(a:active)::before,
#products .product:active::before{
  animation:productBlueSmoke .70s ease-out both;
}

#products .product:has(a:active)::after,
#products .product:active::after{
  animation:productLightParticles .70s ease-out both;
}

@keyframes productClickZoom{
  0%{
    transform:scale(1.025);
  }
  35%{
    transform:scale(1.15);
    filter:drop-shadow(0 0 24px rgba(74,190,255,.92));
  }
  100%{
    transform:scale(1.04);
    filter:drop-shadow(0 8px 20px rgba(32,115,230,.28));
  }
}

@keyframes productBlueSmoke{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.45);
  }
  20%{
    opacity:.95;
  }
  100%{
    opacity:0;
    transform:translate(-50%,-54%) scale(1.55);
  }
}

@keyframes productLightParticles{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.45) rotate(0deg);
  }
  25%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translate(-50%,-50%) scale(1.8) rotate(28deg);
  }
}

@media(prefers-reduced-motion:reduce){
  #products .product,
  #products .product img,
  #products .product::before,
  #products .product::after{
    animation:none!important;
    transition:none!important;
  }
}


/* =========================================================
   FINAL HOME INTERACTIONS
   Product mockups are clickable, and CTA buttons glow blue.
   ========================================================= */

/* Make only the mockup image itself a clickable product link */
#products .product .product-main-link{
  display:block;
  margin-top:0 !important;
  position:relative;
  z-index:3;
  border-radius:6px;
  cursor:pointer;
}

#products .product .product-main-link img{
  pointer-events:none;
}

/* Keep the existing View Collection button clearly clickable */
#products .product .product-collection-link{
  position:relative;
  z-index:4;
  cursor:pointer;
}

/* All main CTA / navigation buttons: smooth zoom + blue glow */
.btn,
.shop-btn{
  transform:translateZ(0);
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s ease,
    background-color .24s ease,
    border-color .24s ease,
    color .24s ease;
  will-change:transform, box-shadow;
}

.btn:hover,
.shop-btn:hover{
  transform:scale(1.07);
  box-shadow:
    0 0 0 1px rgba(91,190,255,.35),
    0 0 16px rgba(54,154,255,.72),
    0 0 34px rgba(36,113,255,.42);
  border-color:rgba(89,187,255,.95);
}

.btn.primary:hover{
  background:#1d57aa;
}

.btn.ghost:hover,
.shop-btn:hover{
  background:#f7fbff;
}

/* Footer social links become individually clickable */
footer .social-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
}

footer .social-links a{
  display:inline-block;
  color:#b8c0ca;
  transition:color .2s ease, text-shadow .2s ease, transform .2s ease;
}

footer .social-links a:hover{
  color:#8bd7ff;
  text-shadow:0 0 12px rgba(78,181,255,.75);
  transform:translateY(-1px);
}

@media(max-width:700px){
  footer .social-links{
    gap:3px;
  }
}
