/*
Theme Name: Daniel Martini Dev
Author: Daniel Martini
Version: 1.1
Text Domain: danielmartini-dev
*/
:root{--bg:#06080f;--bg2:#0c1020;--card:#0f1426;--line:rgba(255,255,255,.08);--tx:#e6eaf5;--mu:#8a93ad;--c1:#22d3ee;--c2:#8b5cf6;--c3:#34d399;--grad:linear-gradient(120deg,var(--c1),var(--c2));--r:18px;--mono:'JetBrains Mono',monospace;--sans:'Space Grotesk',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font:16px/1.6 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:60px 60px;-webkit-mask:radial-gradient(ellipse at 50% 0,#000 20%,transparent 70%);mask:radial-gradient(ellipse at 50% 0,#000 20%,transparent 70%);pointer-events:none;z-index:-1}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--c1);outline-offset:4px;border-radius:6px}
img{max-width:100%;display:block}
::selection{background:var(--c2);color:#fff}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#1c2340;border-radius:9px}
.wrap{width:min(1180px,92%);margin:auto}
em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.glow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.18),transparent 65%);pointer-events:none;z-index:0;transform:translate(var(--x,50vw),var(--y,30vh));transition:transform .15s ease-out}
.progress{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--grad);transform-origin:0;transform:scaleX(var(--p,0));z-index:100}

.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:.3s}
.nav.on{background:rgba(6,8,15,.75);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font:600 18px var(--mono);display:flex;align-items:center}
.logo b{color:var(--c1)}
.logo i{width:9px;height:18px;background:var(--c1);margin-left:6px;animation:blink 1s steps(1) infinite}
.links{display:flex;gap:28px;align-items:center;font-size:15px}
.links a:not(.btn){color:var(--mu);transition:.2s}
.links a:not(.btn):hover{color:var(--tx)}

.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:600;transition:.25s}
.btn.pri{background:var(--grad);color:#05070d;box-shadow:0 10px 30px -10px var(--c2)}
.btn.pri:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px var(--c1)}
.btn.ghost{border:1px solid var(--line);background:rgba(255,255,255,.03)}
.btn.ghost:hover{border-color:var(--c1);color:var(--c1)}
.btn.sm{padding:10px 18px;font-size:14px}

.hero{min-height:100vh;display:flex;align-items:center;position:relative;isolation:isolate;padding:110px 0 70px}
#net{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}
.tag{display:inline-flex;align-items:center;gap:10px;font:13px var(--mono);color:var(--c3);border:1px solid rgba(52,211,153,.3);background:rgba(52,211,153,.06);padding:7px 14px;border-radius:999px;margin-bottom:24px}
.tag i{width:8px;height:8px;border-radius:50%;background:var(--c3);animation:ping 2s infinite}
h1{font-size:clamp(40px,6.2vw,78px);line-height:1.02;letter-spacing:-.03em;font-weight:700}
.type{display:block;font:500 clamp(20px,2.4vw,28px) var(--mono);color:var(--c1);margin:18px 0 6px;min-height:1.4em}
.type::after{content:"▌";color:var(--c2);animation:blink 1s steps(1) infinite}
.sub{color:var(--mu);font-size:18px;max-width:560px;margin:14px 0 34px}
.cta{display:flex;gap:14px;flex-wrap:wrap}

.term{background:rgba(15,20,38,.8);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(10px);box-shadow:0 30px 80px -30px rgba(34,211,238,.35);font:14px/1.9 var(--mono);overflow:hidden;transform:perspective(900px) rotateY(-8deg) rotateX(4deg);transition:transform .5s}
.term:hover{transform:none}
.bar{display:flex;align-items:center;gap:7px;padding:14px 16px;border-bottom:1px solid var(--line)}
.bar i{width:11px;height:11px;border-radius:50%;background:#ff5f57;flex:none}
.bar i:nth-child(2){background:#febc2e}.bar i:nth-child(3){background:#28c840}
.bar span{margin-left:auto;color:var(--mu);font:12px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.term pre{padding:20px 22px;white-space:pre-wrap;color:var(--mu);font:inherit}
.term .l{display:block;opacity:0;animation:line .5s forwards;animation-delay:calc(var(--i)*.18s + .5s)}
.term .k{color:var(--c2)}.term .s{color:var(--c3)}.term .f{color:var(--c1)}

.marquee{border-block:1px solid var(--line);background:var(--bg2);overflow:hidden;padding:18px 0;font:500 15px var(--mono);color:var(--mu)}
.marquee div{display:flex;gap:40px;width:max-content;animation:mq 30s linear infinite}
.marquee span:nth-child(even){color:var(--c1)}

section{position:relative}
.sec{padding:120px 0}
.head{max-width:680px;margin-bottom:60px}
.eye{font:14px var(--mono);color:var(--c1);display:block;margin-bottom:14px}
.eye::before{content:"// "}
h2{font-size:clamp(32px,4.4vw,54px);line-height:1.08;letter-spacing:-.02em}
.head p{color:var(--mu);font-size:18px;margin-top:16px}

.proj{display:grid;gap:110px}
.p{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
.p:nth-child(even)>:first-child{order:2}
.shot{position:relative;display:block;border-radius:var(--r);border:1px solid var(--line);background:var(--card);overflow:hidden;transition:transform .2s ease-out,box-shadow .4s;box-shadow:0 40px 90px -40px var(--glow,#8b5cf6)}
.shot:hover{box-shadow:0 50px 120px -30px var(--glow,#8b5cf6)}
.shot .bar{background:var(--bg2)}
.screen{position:relative;aspect-ratio:16/10;overflow:hidden;background:#000}
.screen iframe{position:absolute;top:0;left:0;width:1280px;height:800px;border:0;transform-origin:0 0;transform:scale(var(--s,.5));pointer-events:none;background:#fff}
.screen img{width:100%;height:100%;object-fit:cover;object-position:top;transition:object-position 4s ease}
.shot:hover .screen img{object-position:bottom}
.open{position:absolute;inset:0;display:grid;place-items:center;z-index:2;opacity:0;transition:.3s;background:rgba(6,8,15,.5);backdrop-filter:blur(2px)}
.open span{padding:12px 22px;border-radius:999px;background:var(--grad);color:#05070d;font:600 14px var(--mono);transform:translateY(10px);transition:.3s}
.shot:hover .open,.shot:focus-visible .open{opacity:1}.shot:hover .open span{transform:none}
.num{font:600 14px var(--mono);color:var(--c1)}
.p h3{font-size:clamp(28px,3vw,40px);margin:10px 0 14px;letter-spacing:-.02em;line-height:1.1}
.p p{color:var(--mu);margin-bottom:22px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.tags span{font:12px var(--mono);padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03)}
.lnk{font:500 15px var(--mono);color:var(--c1);display:inline-flex;gap:8px;align-items:center}
.lnk::after{content:"↗";transition:.25s}.lnk:hover::after{transform:translate(3px,-3px)}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{position:relative;height:100%;padding:34px 30px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);overflow:hidden;transition:transform .3s,border-color .3s}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(34,211,238,.13),transparent 40%);opacity:0;transition:.3s;pointer-events:none}
.card:hover{transform:translateY(-6px);border-color:rgba(34,211,238,.35)}
.card:hover::before{opacity:1}
.ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:rgba(139,92,246,.12);color:var(--c1);font:600 18px var(--mono);margin-bottom:22px}
.card h3{font-size:22px;margin-bottom:10px}
.card p{color:var(--mu)}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.stat{padding:30px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(160deg,rgba(34,211,238,.06),transparent)}
.stat b{display:block;font:700 clamp(40px,5vw,60px)/1.1 var(--sans);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{color:var(--mu)}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s;position:relative}
.steps::before{content:"";position:absolute;top:22px;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--c1),var(--c2),transparent);transform-origin:0;transform:scaleX(0);transition:transform 1.6s ease .3s}
.steps.in::before{transform:scaleX(1)}
.step{position:relative;padding-top:64px}
.step::before{counter-increment:s;content:"0" counter(s);position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--c1);font:600 14px var(--mono);color:var(--c1)}
.step h3{font-size:20px;margin-bottom:8px}
.step p{color:var(--mu);font-size:15px}

.box{position:relative;text-align:center;padding:90px 30px;border-radius:28px;border:1px solid var(--line);background:radial-gradient(ellipse at top,rgba(139,92,246,.25),transparent 60%),var(--bg2);overflow:hidden}
.box h2{font-size:clamp(36px,5.5vw,68px);max-width:820px;margin:0 auto 18px}
.box p{color:var(--mu);max-width:560px;margin:0 auto 36px;font-size:18px}
.box .cta{justify-content:center}
.soc{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin-top:34px;font:14px var(--mono);color:var(--mu)}
.soc a:hover{color:var(--c1)}
footer{padding:40px 0;border-top:1px solid var(--line);color:var(--mu);font:13px var(--mono)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

.wa{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 30px -6px rgba(37,211,102,.6);transition:.25s}
.wa:hover{transform:scale(1.08)}
.wa svg{width:30px;height:30px;fill:#fff}

.js .reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

@keyframes blink{50%{opacity:0}}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(52,211,153,.7)}70%,100%{box-shadow:0 0 0 10px rgba(52,211,153,0)}}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes line{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}

.price{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}
.pc{padding:40px 36px;border-radius:24px;border:1px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--grad) border-box;box-shadow:0 40px 100px -40px var(--c2);display:flex;flex-direction:column;gap:18px}
.pc .row{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px dashed var(--line);font-size:17px}
.pc .row b{font:700 22px var(--mono);color:var(--c3)}
.big{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.big small{width:100%;color:var(--mu);font-size:15px}
.big b{font:700 clamp(56px,7vw,84px)/1 var(--sans);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.big span{font:500 20px var(--mono);color:var(--mu)}
.pc .note{color:var(--mu)}
.pc .btn{justify-content:center;margin-top:auto}
.inc{list-style:none;padding:36px;border-radius:24px;border:1px solid var(--line);background:var(--bg2);display:grid;gap:18px;align-content:center}
.inc li{display:flex;gap:14px;font-size:17px}
.inc li::before{content:"✓";flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(52,211,153,.12);color:var(--c3);font:700 13px var(--mono)}
.ft{max-width:820px;margin:80px auto 20px;font-size:24px}
.faq{max-width:820px;margin:auto;display:grid;gap:12px}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--card)}
.faq details[open]{border-color:rgba(34,211,238,.35)}
.faq summary{cursor:pointer;list-style:none;padding:20px 24px;font-weight:600;font-size:17px;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 22px/1 var(--mono);color:var(--c1);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 24px 22px;color:var(--mu)}
@media(max-width:960px){.price{grid-template-columns:1fr}}

.admin-bar .nav{top:32px}
@media(max-width:782px){.admin-bar .nav{top:46px}}
@media(max-width:960px){.hero .wrap,.p{grid-template-columns:1fr}.p:nth-child(even)>:first-child{order:0}.term{transform:none}.grid3,.stats{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr;row-gap:40px}.steps::before,.glow{display:none}}
@media(max-width:640px){.links a:not(.btn){display:none}.sec{padding:90px 0}.steps{grid-template-columns:1fr}.proj{gap:80px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal,.term .l{opacity:1;transform:none}}
