@font-face{font-family:'Poppins';src:url('fonts/poppins-400.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/poppins-500.woff') format('woff');font-weight:500;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/poppins-700.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:'Lora';src:url('fonts/lora-700.woff') format('woff');font-weight:700;font-display:swap}

:root{
  --bg:#0a0f1e; --bg2:#0e1530; --surface:#111a36; --line-d:rgba(255,255,255,.1);
  --paper:#f6f8fc; --white:#fff; --ink:#0a0f1e; --line:#e4e9f2;
  --mint:#00e0a4; --mint2:#19f0b6; --blue:#6ea8fe; --violet:#8b8cf7;
  --text-d:#e8edf7; --muted-d:#9aa6c4; --muted:#586079;
  --maxw:1180px;
  --sans:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  --serif:'Lora',Georgia,'Times New Roman',serif;
  --shadow:0 1px 3px rgba(10,15,30,.08),0 18px 44px rgba(10,15,30,.10);
  --shadow-lg:0 40px 80px rgba(10,15,30,.22);
  --grad:linear-gradient(120deg,var(--mint),var(--blue));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;font-size:17px;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
@media(max-width:600px){.wrap{padding:0 20px}}
h1,h2,h3{margin:0;line-height:1.12;font-weight:700}
.serif{font-family:var(--serif);font-weight:700;letter-spacing:-.01em}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:9px;font-weight:700;text-decoration:none;padding:15px 26px;border-radius:12px;font-size:16px;border:2px solid transparent;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s}
.btn-mint{background:var(--mint);color:#06231a;box-shadow:0 10px 26px rgba(0,224,164,.32)}
.btn-mint:hover{background:var(--mint2);transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,224,164,.42)}
.btn-dark{background:var(--bg);color:#fff}.btn-dark:hover{background:#10183a;transform:translateY(-3px);box-shadow:var(--shadow)}
.btn-ghost-d{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}.btn-ghost-d:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-3px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink);transform:translateY(-3px)}
.btn-lg{padding:17px 30px;font-size:17px}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:2px}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(10,15,30,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-d);transition:background .25s,box-shadow .25s}
header.scrolled{background:rgba(10,15,30,.96);box-shadow:0 10px 30px rgba(0,0,0,.3)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:18px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;white-space:nowrap}
.brand img{width:40px;height:40px;border-radius:11px}
.brand .bt{display:flex;flex-direction:column;line-height:1}
.brand .bt b{font-size:18px;font-weight:700;letter-spacing:.04em}
.brand .bt small{font-size:8.5px;letter-spacing:.22em;font-weight:600;color:var(--mint);margin-top:3px}
.menu{display:flex;gap:2px;align-items:center}
.menu a{position:relative;color:var(--muted-d);text-decoration:none;font-weight:500;font-size:14.5px;padding:9px 13px;border-radius:9px;transition:color .15s}
.menu a:hover{color:#fff}
.menu a::after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .22s}
.menu a:hover::after{transform:scaleX(1)}
.nav-cta{display:flex;align-items:center;gap:10px}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.burger span{display:block;width:26px;height:3px;background:#fff;margin:5px 0;border-radius:2px}
@media(max-width:1024px){
  .menu{display:none;position:absolute;top:74px;left:0;right:0;background:var(--bg2);flex-direction:column;align-items:stretch;padding:12px 16px 18px;gap:2px;border-bottom:1px solid var(--line-d)}
  .menu.open{display:flex}.menu a{padding:14px 12px;font-size:16px}.menu a::after{display:none}
  .burger{display:block}.nav-cta .btn{display:none}
}

/* hero */
.hero{position:relative;background:var(--bg);color:var(--text-d);overflow:hidden}
.hero::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;top:-180px;right:-120px;
  background:radial-gradient(circle,rgba(0,224,164,.22),transparent 65%);filter:blur(20px)}
.hero::after{content:"";position:absolute;width:600px;height:600px;border-radius:50%;bottom:-260px;left:-160px;
  background:radial-gradient(circle,rgba(110,168,254,.20),transparent 65%);filter:blur(20px)}
.hero .grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(circle at 50% 40%,#000,transparent 78%)}
.hero .inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding-top:74px;padding-bottom:86px}
@media(max-width:940px){.hero .inner{grid-template-columns:1fr;gap:38px;padding-top:54px;padding-bottom:62px}}
.badge{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.06);border:1px solid var(--line-d);color:#fff;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;margin-bottom:22px}
.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(0,224,164,.2)}
.hero h1{font-family:var(--serif);font-size:clamp(38px,5.6vw,62px);line-height:1.05;letter-spacing:-.01em;color:#fff}
.hero h1 .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:clamp(17px,2.2vw,20px);color:var(--muted-d);margin:22px 0 30px;max-width:540px;font-weight:400}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.hero .assure{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:30px;color:var(--muted-d);font-size:13.5px;font-weight:500}
.hero .assure span{display:flex;align-items:center;gap:8px}
.hero .assure svg{color:var(--mint)}
.heromedia{position:relative}
.heromedia .shot{border-radius:20px;overflow:hidden;border:1px solid var(--line-d);box-shadow:var(--shadow-lg);transform:rotate(1.4deg)}
.heromedia .shot img{width:100%;display:block}
.heromedia .floatcard{position:absolute;background:rgba(17,26,54,.92);backdrop-filter:blur(8px);border:1px solid var(--line-d);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow-lg)}
.heromedia .fc1{left:-22px;bottom:30px;animation:floaty 5s ease-in-out infinite}
.heromedia .fc2{right:-16px;top:24px;animation:floaty 6s ease-in-out infinite .6s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.fc-row{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:14px}
.fc-row .ic{width:34px;height:34px;border-radius:9px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#06231a}
.fc-sub{color:var(--muted-d);font-size:12px;font-weight:400;margin-top:2px}
@media(max-width:940px){.heromedia{display:none}.hero{background-image:linear-gradient(rgba(8,12,24,.80),rgba(8,12,24,.94)),url('https://images.pexels.com/photos/34804003/pexels-photo-34804003.jpeg?auto=compress&cs=tinysrgb&w=1200');background-size:cover;background-position:center}.hero h1 br{display:none}}

/* trust bar */
.trustbar{background:var(--bg2);border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);color:var(--muted-d)}
.trustbar .wrap{display:flex;align-items:center;justify-content:center;gap:14px 34px;padding:20px 24px;flex-wrap:wrap}
.trustbar .lbl{color:#6f7aa0}
.trustbar .logos{display:flex;align-items:center;justify-content:center;gap:16px 30px;flex-wrap:wrap}
.trustbar .logo{display:flex;align-items:center;color:#aab5d6;opacity:.9;transition:color .22s,opacity .22s,transform .22s}
.trustbar .logo svg{height:24px;width:auto;display:block}
.trustbar .logo:hover{color:var(--mint);opacity:1;transform:translateY(-2px)}

/* sections */
section{padding:90px 0}
.eyebrow{display:inline-block;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--mint);margin-bottom:14px}
.dark .eyebrow{color:var(--mint)}
.sec-head{max-width:680px;margin-bottom:50px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{font-family:var(--serif);font-size:clamp(30px,4.4vw,46px);letter-spacing:-.01em}
.sec-head p{color:var(--muted);font-size:18px;margin-top:15px;font-weight:400}
.dark{background:var(--bg);color:var(--text-d)}
.dark .sec-head p{color:var(--muted-d)}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:880px){.pillars{grid-template-columns:1fr}}
.pillar{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.pillar:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.pillar .ic{width:54px;height:54px;border-radius:14px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#06231a;margin-bottom:18px}
.pillar h3{font-size:21px;margin-bottom:10px}
.pillar p{color:var(--muted);font-size:15.5px;margin:0 0 14px;font-weight:400}
.pillar ul{list-style:none;padding:0;margin:0}
.pillar li{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:14.5px;padding:4px 0;font-weight:400}
.pillar li svg{flex:0 0 auto;margin-top:3px;color:var(--mint)}

/* services with image */
.svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.svcs{grid-template-columns:1fr}}
.svc{border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.svc:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.svc__img{height:200px;overflow:hidden;position:relative}
.svc__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.svc:hover .svc__img img{transform:scale(1.08)}
.svc__b{padding:24px}
.svc__b h3{font-size:19px;margin-bottom:8px}
.svc__b p{color:var(--muted);font-size:15px;margin:0;font-weight:400}

/* pricing */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
@media(max-width:960px){.prices{grid-template-columns:1fr;max-width:460px;margin:0 auto}}
.price{position:relative;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:34px 30px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.price:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.price.feat{border:2px solid var(--mint);box-shadow:0 30px 70px rgba(0,224,164,.18)}
.price.feat::before{content:"★ Bestseller";position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--grad);color:#06231a;font-weight:700;font-size:12.5px;padding:7px 18px;border-radius:999px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 22px rgba(0,224,164,.45);animation:bspulse 2.6s ease-in-out infinite}
@keyframes bspulse{0%,100%{box-shadow:0 8px 22px rgba(0,224,164,.35)}50%{box-shadow:0 12px 30px rgba(0,224,164,.62)}}
.price h3{font-size:20px;margin-bottom:6px;color:var(--ink)}
.price .desc{color:var(--muted);font-size:14px;font-weight:400;min-height:42px}
.price .amount{font-family:var(--serif);font-size:44px;line-height:1;margin:16px 0 4px;letter-spacing:-.02em;color:var(--ink)}
.price .amount .cur{font-size:24px;vertical-align:top;margin-right:2px}
.price .retainer{color:var(--mint);font-weight:700;font-size:14.5px;background:rgba(0,224,164,.1);border:1px solid rgba(0,224,164,.25);display:inline-block;padding:5px 12px;border-radius:999px;margin-bottom:6px}
.price .once{color:var(--muted);font-size:13px;font-weight:500}
.price ul{list-style:none;padding:0;margin:22px 0 26px;flex:1}
.price li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14.5px;color:#3a4256;font-weight:400}
.price li svg{flex:0 0 auto;margin-top:3px;color:var(--mint)}
.price .btn{width:100%;justify-content:center}
.price-note{text-align:center;color:var(--muted);font-size:14px;margin-top:24px;font-weight:400}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:880px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{position:relative;padding:26px 22px;border-radius:18px;background:var(--surface);border:1px solid var(--line-d)}
.step .num{font-family:var(--serif);font-size:40px;color:var(--mint);line-height:1;margin-bottom:10px}
.step h3{font-size:17.5px;margin-bottom:7px;color:#fff}
.step p{color:var(--muted-d);font-size:14.5px;margin:0;font-weight:400}

/* why / bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(148px,1fr);gap:16px;grid-template-areas:"a a b c" "a a b d" "e e f f"}
.b-a{grid-area:a}.b-b{grid-area:b}.b-c{grid-area:c}.b-d{grid-area:d}.b-e{grid-area:e}.b-f{grid-area:f}
@media(max-width:880px){.bento{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(140px,auto);grid-template-areas:"a a" "b c" "b d" "e e" "f f"}}
@media(max-width:560px){.bento{grid-template-columns:1fr;grid-template-areas:"a" "b" "c" "d" "e" "f"}}
.bcard{position:relative;overflow:hidden;border-radius:18px;padding:24px;background:var(--surface);border:1px solid var(--line-d);display:flex;flex-direction:column;gap:7px;transition:transform .28s,border-color .28s,box-shadow .28s}
.bcard::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .35s;background:radial-gradient(440px circle at var(--mx,50%) var(--my,50%),rgba(0,224,164,.18),transparent 62%);pointer-events:none}
.bcard:hover{transform:translateY(-4px);border-color:rgba(0,224,164,.42);box-shadow:0 26px 54px rgba(0,0,0,.4)}
.bcard:hover::before{opacity:1}
.bcard>*{position:relative;z-index:1}
.bcard .ic{width:46px;height:46px;border-radius:12px;background:var(--grad);color:#06231a;display:flex;align-items:center;justify-content:center;margin-bottom:4px;transition:transform .25s}
.bcard:hover .ic{transform:scale(1.07) rotate(-3deg)}
.bcard h3{font-size:18px;color:#fff}
.bcard p{color:var(--muted-d);font-size:14.5px;margin:0;font-weight:400;line-height:1.55}
.bcard.feat{background:linear-gradient(160deg,#0f1a3c,#0b1228);border-color:rgba(110,168,254,.22);justify-content:space-between}
.bcard.feat h3{font-size:21px;font-family:var(--serif);letter-spacing:-.01em}
.bcard.feat .bcard__top{display:flex;flex-direction:column;gap:9px}
.bcard.feat p{max-width:420px}
.nodes{width:100%;max-width:300px;height:auto;margin-top:12px;align-self:flex-start}
.nodes .ln{stroke:rgba(110,168,254,.55);stroke-width:1.6;stroke-dasharray:5 7;animation:flow 1.7s linear infinite}
.nodes .nd{fill:var(--mint)}.nodes .nd.b{fill:var(--blue)}
.nodes .pulse{transform-box:fill-box;transform-origin:center;animation:ndpulse 2.4s ease-in-out infinite}
.nodes .nd:nth-of-type(2){animation-delay:.3s}.nodes .nd:nth-of-type(4){animation-delay:.6s}.nodes .nd:nth-of-type(6){animation-delay:.9s}
@keyframes flow{to{stroke-dashoffset:-24}}
@keyframes ndpulse{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}
.bcard .bigmark{position:absolute;top:-18px;right:-6px;font-family:var(--serif);font-size:128px;line-height:1;color:rgba(110,168,254,.07);z-index:0;pointer-events:none}

/* stats */
.statband .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:0}
@media(max-width:760px){.statband .wrap{grid-template-columns:1fr 1fr;gap:30px 18px}}
.stat{text-align:center;position:relative}
.stat .n{font-family:var(--serif);font-size:clamp(32px,5vw,50px);line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .l{color:var(--muted-d);font-size:14.5px;margin-top:8px;font-weight:500}
.stat+.stat::before{content:"";position:absolute;left:0;top:8%;height:84%;width:1px;background:var(--line-d)}
@media(max-width:760px){.stat+.stat::before{display:none}}

/* testimonials */
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:860px){.tcards{grid-template-columns:1fr}}
.tcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}
.tcard .stars{color:#f5b50a;letter-spacing:2px;margin-bottom:12px}
.tcard p{font-size:15.5px;margin:0 0 18px;font-weight:400;color:#2c3450}
.tcard .who{display:flex;align-items:center;gap:12px}
.tcard .av{width:44px;height:44px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#06231a;font-weight:700}
.tcard .who b{display:block;font-size:14.5px}.tcard .who span{color:var(--muted);font-size:13px;font-weight:400}

/* faq */
.faq{max-width:820px;margin:0 auto}
.qa{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.qa summary{cursor:pointer;padding:20px 22px;font-weight:700;font-size:16.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-size:24px;color:var(--mint);font-weight:700;transition:transform .2s}
.qa[open] summary::after{transform:rotate(45deg)}
.qa .a{padding:0 22px 20px;color:var(--muted);font-size:15px;font-weight:400}

/* CTA band */
.ctaband{position:relative;overflow:hidden;background:linear-gradient(120deg,#0c1330,#10224a);color:#fff;border-radius:26px;padding:58px;text-align:center}
.ctaband::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;top:-160px;right:-80px;background:radial-gradient(circle,rgba(0,224,164,.3),transparent 65%)}
.ctaband .in{position:relative;z-index:2}
.ctaband h2{font-family:var(--serif);font-size:clamp(28px,4vw,42px)}
.ctaband p{color:var(--muted-d);margin:14px auto 28px;max-width:560px;font-weight:400}
.ctaband .hero-cta{justify-content:center}

/* contact */
.contact{background:var(--bg);color:var(--text-d)}
.ccols{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px}
@media(max-width:860px){.ccols{grid-template-columns:1fr;gap:30px}}
.cline{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line-d)}
.cline .ic{width:44px;height:44px;flex:0 0 auto;border-radius:12px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:var(--mint)}
.cline a,.cline b{color:#fff;text-decoration:none;font-weight:700}.cline small{display:block;color:var(--muted-d);font-weight:400}
.cbtns{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
form label{display:block;font-size:14px;font-weight:500;margin:14px 0 6px;color:var(--text-d)}
form input,form textarea,form select{width:100%;padding:14px 15px;border-radius:12px;border:1px solid var(--line-d);background:rgba(255,255,255,.05);color:#fff;font-size:16px;font-family:inherit;transition:border .15s,background .15s}
form input:focus,form textarea:focus,form select:focus{background:rgba(255,255,255,.09);border-color:var(--mint)}
form input::placeholder,form textarea::placeholder{color:rgba(255,255,255,.45)}
form select option{color:#0a0f1e}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:560px){.frow{grid-template-columns:1fr}}
.fcheck{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:13px;color:var(--muted-d);font-weight:400}
.fcheck input{width:auto;margin-top:3px}
.formnote{font-size:13px;color:var(--muted-d);margin-top:10px;font-weight:400}

/* legal */
.legal{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow);max-width:820px}
.legal h2{font-size:21px;margin:24px 0 8px}.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:var(--muted);font-size:15.5px;font-weight:400}
.todo{background:#fff7e8;border:1px solid #f1d9a7;color:#7a5a10;border-radius:10px;padding:12px 14px;font-size:14px;font-weight:500}

/* footer */
footer{background:#070b18;color:var(--muted-d);font-size:13.5px}
footer .top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px;max-width:var(--maxw);margin:0 auto;padding:54px 24px}
@media(max-width:760px){footer .top{grid-template-columns:1fr 1fr}}
footer .brand{margin-bottom:14px}
footer h4{color:#fff;font-size:13px;margin:0 0 12px;letter-spacing:.08em;text-transform:uppercase}
footer a{color:var(--muted-d);text-decoration:none;display:block;padding:3px 0}footer a:hover{color:var(--mint)}
footer .bottom{border-top:1px solid var(--line-d);text-align:center;padding:18px;font-size:12.5px}

/* sticky mobile cta */
.stickycta{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;background:rgba(14,21,48,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line-d);padding:7px 12px;gap:8px}
.stickycta .btn{flex:1;justify-content:center;padding:11px;font-size:14px;border-radius:10px}
@media(max-width:720px){.stickycta{display:flex}body{padding-bottom:56px}}

/* cookie consent */
.consent{position:fixed;left:14px;right:14px;bottom:14px;z-index:60;background:#0e1530;color:var(--text-d);border:1px solid var(--line-d);border-radius:16px;box-shadow:var(--shadow-lg);padding:20px;max-width:560px;margin:0 auto}
.consent p{margin:0 0 14px;font-size:13.5px;color:var(--muted-d);font-weight:400}
.consent a{color:var(--mint)}
.consent .row{display:flex;gap:10px}
.consent .row .btn{flex:1;justify-content:center;padding:12px;font-size:14.5px}
.btn-line-d{background:rgba(255,255,255,.08);color:#fff}
@media(max-width:720px){.consent{bottom:66px}}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* scroll progress + anchor offset */
.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:var(--grad);z-index:70;will-change:transform;box-shadow:0 0 10px rgba(0,224,164,.5)}
#anfrage{scroll-margin-top:92px}

/* hero entrance + accent animations */
.hero .inner .badge,.hero .inner h1,.hero .inner p.lead,.hero .inner .hero-cta,.hero .inner .assure{animation:heroIn .7s cubic-bezier(.2,.7,.2,1) both}
.hero .inner h1{animation-delay:.07s}
.hero .inner p.lead{animation-delay:.15s}
.hero .inner .hero-cta{animation-delay:.23s}
.hero .inner .assure{animation-delay:.31s}
@keyframes heroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero h1 .hl{background:linear-gradient(110deg,var(--mint),var(--blue),var(--mint));background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s linear infinite}
@keyframes shimmer{to{background-position:220% center}}
.btn-mint{overflow:hidden}
.btn-mint::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);pointer-events:none;transition:left .65s ease}
.btn-mint:hover::after{left:150%}
