/* Toparla — canlılık katmanı */
.tp-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#FF6A3D,#FF9A7A);z-index:40;pointer-events:none}
.logo svg .tp-piece{transform-box:fill-box;transform-origin:center;animation:tpSettle 1.1s cubic-bezier(.2,.9,.25,1.25) .35s both}
@keyframes tpSettle{0%{transform:translate(70%,-80%) rotate(-40deg);opacity:0}60%{opacity:1}100%{transform:none}}
.logo:hover svg .tp-piece{animation:tpWiggle .6s ease}
@keyframes tpWiggle{30%{transform:translate(8%,-10%) rotate(-12deg)}100%{transform:none}}

.hero{position:relative;overflow:hidden;isolation:isolate}
.tp-net{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 70% 45%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 75% 70% at 70% 45%,#000 30%,transparent 80%)}
.hero h1 em{position:relative;display:inline-block}
.hero h1 em::after{content:"";position:absolute;left:2%;right:2%;bottom:.02em;height:.09em;border-radius:99px;background:var(--tan);transform:scaleX(0);transform-origin:0 50%;animation:tpDraw .9s cubic-bezier(.6,0,.2,1) .9s forwards;opacity:.85}
@keyframes tpDraw{to{transform:scaleX(1)}}

/* örnek günlük sayfa */
.page{position:relative;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.page-top{position:relative}
.tp-scan{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden}
.tp-scan::before{content:"";position:absolute;top:0;bottom:0;width:30%;background:linear-gradient(90deg,transparent,var(--tan),transparent);animation:tpScan 2.4s linear infinite}
@keyframes tpScan{from{left:-30%}to{left:100%}}
.tp-status{font-family:var(--mono);font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:8px;min-height:18px;margin-top:-4px}
.tp-status i{width:12px;height:12px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--tan);animation:tpSpin .8s linear infinite;flex:none}
.tp-status.done i{border-color:var(--pos);animation:none;background:var(--pos)}
@keyframes tpSpin{to{transform:rotate(360deg)}}
.tp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tp-stats div{border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:var(--paper)}
.tp-stats small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted)}
.tp-stats b{font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tp-stats div.hl{background:var(--peach);border-color:#FFC9B1}
.tp-stats div.hl b{color:var(--tan-text)}
.tp-rows{display:grid;gap:10px;position:relative}
.tp-rows .row{animation:none;opacity:1;transform:none;transition:opacity .45s,transform .45s cubic-bezier(.2,.8,.2,1),border-color .3s}
.tp-rows .row.tp-enter{opacity:0;transform:translateY(-14px) scale(.98)}
.tp-rows .row.tp-leave{opacity:0;transform:translateY(10px)}
.tp-rows .row.tp-new{border-color:var(--tan);box-shadow:0 0 0 4px rgba(255,106,61,.12)}
.row .ic svg{transition:transform .4s}
.row:hover .ic svg{transform:scale(1.12)}

/* terminal şeridi */
.tp-term{background:var(--night);color:var(--on-night);border-block:1px solid #000;font-family:var(--mono);font-size:13.5px;overflow:hidden}
.tp-term .wrap{display:flex;align-items:center;gap:18px;height:54px}
.tp-term .p{color:#FF9A7A;flex:none}
.tp-term .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tp-term .c{display:inline-block;width:8px;height:15px;background:#FF9A7A;vertical-align:-2px;margin-left:3px;animation:tpBlink 1s steps(2) infinite}
.tp-term .ok{color:#6FD3A8}
.tp-term .r{margin-left:auto;color:var(--night-muted);white-space:nowrap;flex:none;display:flex;align-items:center;gap:8px}
.tp-term .r b{color:var(--on-night);font-weight:500;font-variant-numeric:tabular-nums}
.tp-term .r::before{content:"";width:7px;height:7px;border-radius:50%;background:#6FD3A8;animation:pulse 1.8s infinite}
@keyframes tpBlink{50%{opacity:0}}
@media(max-width:700px){.tp-term .r{display:none}.tp-term{font-size:12.5px}}

/* kartlar */
.card,.sector,.plan{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .3s,opacity .6s}
.card{position:relative;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--tan),#FF9A7A);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.6,0,.2,1)}
.card:hover,.sector:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(28,32,51,.45)}
.card:hover::before,.card.on::before{transform:scaleX(1)}
.card.on::before{transition-delay:.35s}
.sector{position:relative}
.sector::after{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:var(--tan);transform:scaleY(0);transition:transform .35s}
.sector:hover{border-color:#F0C6B4}
.sector:hover::after{transform:scaleY(1)}
.tp-radar{animation:tpSpin 4s linear infinite;transform-origin:12px 12px}
.reveal.tp-d1{transition-delay:.08s}.reveal.tp-d2{transition-delay:.16s}.reveal.tp-d3{transition-delay:.24s}.reveal.tp-d4{transition-delay:.32s}.reveal.tp-d5{transition-delay:.4s}

/* adımlar */
.step{position:relative;border-top-color:var(--line)!important}
.step::before{content:"";position:absolute;left:0;right:0;top:-3px;height:3px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .8s cubic-bezier(.6,0,.2,1)}
.step:nth-child(2)::before{background:var(--tan)}
.step.on::before{transform:scaleX(1)}
.step:nth-child(2).on::before{transition-delay:.5s}.step:nth-child(3).on::before{transition-delay:1s}
.step .k{display:inline-flex!important;align-items:center;gap:8px}
.step .k::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--tan);opacity:0;transition:opacity .3s}
.step.on .k::after{opacity:1;animation:pulse 1.8s infinite}

/* paket */
.plan.main{position:relative;border-color:transparent!important;background:linear-gradient(var(--raised),var(--raised)) padding-box,conic-gradient(from var(--tp-a,0deg),var(--tan),#FFC9B1,var(--tan),#FF9A7A,var(--tan)) border-box;animation:tpRot 6s linear infinite}
@property --tp-a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes tpRot{to{--tp-a:360deg}}
.plan:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(28,32,51,.45)}

/* iletişim */
.contact{position:relative;overflow:hidden;isolation:isolate}
.contact::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,transparent 40%,rgba(255,106,61,.08) 50%,transparent 60%);background-size:250% 100%;animation:tpSweep 7s ease-in-out infinite}
@keyframes tpSweep{0%{background-position:120% 0}100%{background-position:-120% 0}}
.contact .btn.pri,.wa-float{position:relative}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:tpRing 2.6s ease-out infinite}
@keyframes tpRing{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(1.55);opacity:0}}
.info div{transition:padding-left .25s}
.info div:hover{padding-left:6px}

@media(prefers-reduced-motion:reduce){.tp-net,.tp-scan,.tp-progress{display:none}.hero h1 em::after,.logo svg .tp-piece{animation:none;transform:none}.plan.main,.contact::before,.wa-float::after,.tp-radar,.tp-term .c,.tp-status i{animation:none}.step::before,.card::before{transform:scaleX(1);transition:none}}
