/* KOVA NFC — premium visual enhancement layer */
body{position:relative;background:
radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--text) 5%,transparent),transparent 28%),
radial-gradient(circle at 82% 22%,color-mix(in srgb,var(--text) 4%,transparent),transparent 32%),
radial-gradient(circle at 50% 72%,color-mix(in srgb,var(--text) 3%,transparent),transparent 38%),var(--bg)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-3;opacity:.34;background-image:linear-gradient(color-mix(in srgb,var(--text) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 4%,transparent) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 86%)}
body::after{content:"";position:fixed;inset:-20%;pointer-events:none;z-index:-4;background:conic-gradient(from 210deg at 50% 50%,transparent 0 24%,color-mix(in srgb,var(--text) 3%,transparent) 32%,transparent 40% 70%,color-mix(in srgb,var(--text) 2%,transparent) 78%,transparent 84%);animation:nfcAmbientSpin 38s linear infinite}
:root[data-theme="light"] body{background:radial-gradient(circle at 18% 8%,rgba(0,0,0,.035),transparent 28%),radial-gradient(circle at 82% 22%,rgba(0,0,0,.028),transparent 32%),radial-gradient(circle at 50% 72%,rgba(0,0,0,.022),transparent 38%),var(--bg)}

.nfc-header{backdrop-filter:blur(18px);background:color-mix(in srgb,var(--bg) 78%,transparent);position:sticky;top:0}
.nfc-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 28%,transparent),transparent)}
.nfc-header nav a{position:relative}.nfc-header nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1px;background:var(--text);transition:left .3s ease,right .3s ease}.nfc-header nav a:hover::after{left:0;right:0}

.nfc-hero{isolation:isolate;overflow:visible;min-height:860px}.nfc-hero::after{content:"";position:absolute;inset:4% -14% -2%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 70% 45%,color-mix(in srgb,var(--text) 9%,transparent),transparent 30%),radial-gradient(ellipse at 24% 36%,color-mix(in srgb,var(--text) 5%,transparent),transparent 34%);filter:blur(8px);animation:nfcGlowBreathe 8s ease-in-out infinite}.nfc-hero-copy{position:relative;z-index:5}.nfc-hero-copy::before{content:"NFC / 13.56 MHz";display:block;font:500 10px/1 "IBM Plex Mono",monospace;letter-spacing:.26em;color:var(--muted);margin-bottom:18px;opacity:.6}.nfc-hero h1{filter:drop-shadow(0 12px 36px color-mix(in srgb,var(--text) 7%,transparent))}.nfc-hero-art{perspective:1200px}.nfc-hero-art::before,.nfc-hero-art::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.nfc-hero-art::before{width:760px;height:230px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);transform:rotate(-14deg);animation:nfcOrbitWide 16s linear infinite}.nfc-hero-art::after{width:620px;height:620px;background:radial-gradient(circle,color-mix(in srgb,var(--text) 8%,transparent),transparent 62%);filter:blur(12px);animation:nfcHaloPulse 6s ease-in-out infinite}.nfc-product-main{transform-origin:50% 55%;animation:nfcProductHero 8s ease-in-out infinite!important}.nfc-orbit{box-shadow:0 0 80px color-mix(in srgb,var(--text) 5%,transparent),inset 0 0 60px color-mix(in srgb,var(--text) 3%,transparent)}
.nfc-mini-grid div{position:relative;overflow:hidden}.nfc-mini-grid div::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--text);transition:right .45s ease}.nfc-mini-grid div:hover::after{right:0}

.nfc-strip{position:relative;box-shadow:0 0 70px color-mix(in srgb,var(--text) 8%,transparent)}.nfc-strip::before,.nfc-strip::after{content:"";position:absolute;top:0;bottom:0;width:12vw;z-index:3;pointer-events:none}.nfc-strip::before{left:0;background:linear-gradient(90deg,var(--text),transparent)}.nfc-strip::after{right:0;background:linear-gradient(-90deg,var(--text),transparent)}

.nfc-section{position:relative;isolation:isolate}.nfc-section::before{content:"";position:absolute;inset:8% -10%;z-index:-2;pointer-events:none;background:radial-gradient(circle at var(--glow-x,75%) var(--glow-y,35%),color-mix(in srgb,var(--text) 4%,transparent),transparent 26%)}
.nfc-section:nth-of-type(even){--glow-x:22%;--glow-y:58%}.nfc-section-heading h2,.nfc-feature-copy h2,.nfc-experience-copy h2,.nfc-faq h2{position:relative}.nfc-section-heading h2::after,.nfc-feature-copy h2::after,.nfc-experience-copy h2::after{content:"";position:absolute;width:92px;height:1px;left:0;bottom:-24px;background:linear-gradient(90deg,var(--text),transparent);opacity:.65}

/* Timeline instead of plain cards */
.nfc-steps{position:relative;border:0;gap:18px;margin-top:100px}.nfc-steps::before{content:"";position:absolute;left:0;right:0;top:25px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 26%,transparent) 8% 92%,transparent)}.nfc-steps article{position:relative;border:1px solid color-mix(in srgb,var(--text) 10%,transparent)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 84%,transparent),color-mix(in srgb,var(--bg) 96%,transparent));min-height:260px;padding:54px 28px 32px;overflow:hidden;backdrop-filter:blur(12px)}.nfc-steps article::before{content:"";position:absolute;top:18px;left:26px;width:14px;height:14px;border-radius:50%;background:var(--text);box-shadow:0 0 0 7px color-mix(in srgb,var(--text) 7%,transparent),0 0 28px color-mix(in srgb,var(--text) 20%,transparent)}.nfc-steps article::after{content:"";position:absolute;inset:auto -25% -45%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--text) 7%,transparent),transparent 66%);transition:transform .4s ease}.nfc-steps article:hover::after{transform:translateY(-14%)}

.nfc-experience{padding-top:190px;padding-bottom:190px}.nfc-phone-demo::before{content:"";position:absolute;width:560px;height:560px;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:50%;animation:nfcOrbitWide 20s linear infinite}.nfc-phone-demo::after{content:"TAP / CONNECT / OPEN";position:absolute;bottom:5%;left:6%;font:500 10px/1 "IBM Plex Mono",monospace;letter-spacing:.28em;color:var(--muted);writing-mode:vertical-rl;opacity:.55}.nfc-phone-frame{box-shadow:0 36px 90px rgba(0,0,0,.28),0 0 80px color-mix(in srgb,var(--text) 7%,transparent)}

.nfc-feature-art{border-color:color-mix(in srgb,var(--text) 13%,transparent);background:radial-gradient(circle at 48% 42%,color-mix(in srgb,var(--text) 9%,transparent),transparent 38%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 92%,transparent),transparent)}.nfc-feature-art::after{content:"";position:absolute;inset:8%;border:1px solid color-mix(in srgb,var(--text) 10%,transparent);clip-path:polygon(0 0,35% 0,35% 1px,1px 1px,1px 35%,0 35%,0 0,100% 0,100% 35%,calc(100% - 1px) 35%,calc(100% - 1px) 1px,65% 1px,65% 0,100% 0,100% 100%,65% 100%,65% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 65%,100% 65%,100% 100%,0 100%,0 65%,1px 65%,1px calc(100% - 1px),35% calc(100% - 1px),35% 100%,0 100%)}
.nfc-feature-art img{filter:drop-shadow(0 44px 58px rgba(0,0,0,.34))}

/* Application icons */
.nfc-use-grid{gap:14px;border:0}.nfc-use-grid article{position:relative;border:1px solid color-mix(in srgb,var(--text) 10%,transparent)!important;background:linear-gradient(160deg,color-mix(in srgb,var(--surface) 80%,transparent),transparent);border-radius:22px;overflow:hidden;padding-top:88px}.nfc-use-grid article::before{content:"";position:absolute;width:42px;height:42px;left:34px;top:30px;border:1px solid color-mix(in srgb,var(--text) 30%,transparent);border-radius:50%;background-position:center;background-repeat:no-repeat;background-size:22px 22px}.nfc-use-grid article::after{content:"↗";position:absolute;right:28px;top:30px;font-size:20px;color:var(--muted);transition:transform .25s ease,color .25s ease}.nfc-use-grid article:hover::after{transform:translate(4px,-4px);color:var(--text)}
.nfc-use-grid article:nth-child(1)::before{background-image:linear-gradient(45deg,transparent 43%,currentColor 44% 56%,transparent 57%);box-shadow:inset 0 0 0 7px var(--bg)}
.nfc-use-grid article:nth-child(2)::before{background-image:radial-gradient(circle,currentColor 0 18%,transparent 19% 100%)}
.nfc-use-grid article:nth-child(3)::before{background-image:linear-gradient(currentColor,currentColor);background-size:20px 14px}
.nfc-use-grid article:nth-child(4)::before{background-image:radial-gradient(circle at 50% 35%,currentColor 0 11%,transparent 12%),linear-gradient(currentColor,currentColor);background-size:100%,18px 2px}
.nfc-use-grid article:nth-child(5)::before{background-image:repeating-linear-gradient(0deg,currentColor 0 2px,transparent 2px 5px);background-size:18px 18px}
.nfc-use-grid article:nth-child(6)::before{background-image:linear-gradient(135deg,transparent 35%,currentColor 36% 42%,transparent 43% 57%,currentColor 58% 64%,transparent 65%);background-size:20px 20px}

.nfc-detail-grid{gap:14px;border:0}.nfc-detail-grid article{border:1px solid color-mix(in srgb,var(--text) 10%,transparent)!important;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 72%,transparent),transparent);min-height:280px;position:relative;overflow:hidden}.nfc-detail-grid article::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-80px;bottom:-80px;border:1px solid color-mix(in srgb,var(--text) 8%,transparent)}

.nfc-faq details{background:color-mix(in srgb,var(--surface) 52%,transparent);padding:0 22px;border:1px solid transparent;border-bottom-color:var(--line);transition:border-color .25s ease,background .25s ease}.nfc-faq details:hover,.nfc-faq details[open]{border-color:color-mix(in srgb,var(--text) 12%,transparent);background:color-mix(in srgb,var(--surface) 82%,transparent)}

.nfc-final-cta{position:relative;overflow:hidden;min-height:600px;align-items:center;border-top:1px solid var(--line)}.nfc-final-cta::before{content:"NFC";position:absolute;right:-2%;bottom:-18%;font-size:clamp(240px,34vw,620px);font-weight:800;letter-spacing:-.09em;line-height:.7;color:color-mix(in srgb,var(--text) 4%,transparent);pointer-events:none}.nfc-final-cta::after{content:"";position:absolute;inset:10% 20%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--text) 7%,transparent),transparent 65%);filter:blur(28px);animation:nfcHaloPulse 7s ease-in-out infinite;pointer-events:none}.nfc-final-cta>*{position:relative;z-index:2}

.nfc-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}.nfc-reveal.is-visible{opacity:1;transform:none}.nfc-magnetic{will-change:transform;transition:transform .2s ease}

.nfc-particle-field{position:fixed;inset:0;pointer-events:none;z-index:-2;overflow:hidden}.nfc-particle{position:absolute;width:2px;height:2px;border-radius:50%;background:var(--text);opacity:.16;animation:nfcParticleDrift var(--dur,18s) linear infinite;transform:translate3d(0,0,0)}
.nfc-orb-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--text);box-shadow:0 0 18px color-mix(in srgb,var(--text) 50%,transparent)}

@keyframes nfcAmbientSpin{to{transform:rotate(360deg)}}
@keyframes nfcGlowBreathe{50%{opacity:.58;transform:scale(1.04)}}
@keyframes nfcHaloPulse{50%{opacity:.42;transform:scale(1.08)}}
@keyframes nfcOrbitWide{to{transform:rotate(346deg)}}
@keyframes nfcProductHero{0%,100%{transform:translateY(0) rotate(-1deg) rotateX(0)}50%{transform:translateY(-18px) rotate(1deg) rotateX(3deg)}}
@keyframes nfcParticleDrift{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.18}88%{opacity:.12}100%{transform:translate3d(var(--dx,40px),-120px,0);opacity:0}}

@media(max-width:980px){body::before{background-size:54px 54px}.nfc-hero{min-height:auto;overflow:hidden}.nfc-hero-art::before{width:620px}.nfc-steps{gap:10px}.nfc-use-grid,.nfc-detail-grid{gap:10px}.nfc-final-cta{min-height:480px}.nfc-phone-demo::after{display:none}}
@media(max-width:560px){.nfc-use-grid article{border-radius:16px;padding-top:82px}.nfc-steps article{min-height:230px}.nfc-final-cta{min-height:440px}.nfc-hero-art::before{width:460px;height:170px}}
@media(prefers-reduced-motion:reduce){body::after,.nfc-hero::after,.nfc-hero-art::before,.nfc-hero-art::after,.nfc-product-main,.nfc-phone-demo::before,.nfc-final-cta::after,.nfc-particle{animation:none!important}.nfc-reveal{opacity:1;transform:none;transition:none}}
