/* PΛCHΛL landing v4 — neon identity. Tokens per design_handoff_landing README §7. */

/* ——— fonts: Jost + IBM Plex Mono, self-hosted (latin + latin-ext) ——— */
@font-face { font-family:'Jost'; src:url('/fonts/jost-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Jost'; src:url('/fonts/jost-latin-ext-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Jost'; src:url('/fonts/jost-latin-500-normal.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Jost'; src:url('/fonts/jost-latin-ext-500-normal.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Jost'; src:url('/fonts/jost-latin-600-normal.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Jost'; src:url('/fonts/jost-latin-ext-600-normal.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'IBM Plex Mono'; src:url('/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'IBM Plex Mono'; src:url('/fonts/ibm-plex-mono-latin-ext-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'IBM Plex Mono'; src:url('/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'IBM Plex Mono'; src:url('/fonts/ibm-plex-mono-latin-ext-500-normal.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'IBM Plex Mono'; src:url('/fonts/ibm-plex-mono-latin-600-normal.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'IBM Plex Mono'; src:url('/fonts/ibm-plex-mono-latin-ext-600-normal.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ——— tokens ——— */
:root {
  --bg:#0a0e15; --surface:#101623; --raised:#182134; --edge:#1f2b42; --hair:#141d2e;
  --t1:#f0f5ff; --t2:#8fa0bd; --t3:#687a9c; --dim:#55647f; --num:#3d4c68;
  --cyan:#22d3ee; --cyan-hi:#7ce4f5; --cyan-edge:#164e5c;
  --mint:#00e5a0; --mint-edge:#0f4636; --coral:#ff4d6a;
  --gold:#fbbf24; --gold-edge:#5c4408; --violet:#8b5cf6; --violet-edge:#2b2454;
  --fire:#ff6a2c; --fire-edge:#93330f;
  --sans:Jost,system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* ——— base ——— */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--t2); font:400 16px/1.6 var(--sans); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:var(--cyan); text-decoration:none; }
a:hover { color:var(--cyan-hi); }
button { font:inherit; cursor:pointer; }
h1,h2,h3 { font-weight:600; color:var(--t1); }
svg { display:block; }
::selection { background:#22d3ee33; }

/* newsletter feature flag — everything tagged data-nl stays hidden until the
   send pipeline exists (handoff §6: a form with no working backend never ships) */
html:not(.nl-on) [data-nl] { display:none !important; }

.mono { font-family:var(--mono); font-variant-numeric:tabular-nums; }
.wrap { max-width:1180px; margin:0 auto; }
.plabel { font:600 10.5px var(--mono); letter-spacing:.2em; color:var(--cyan); }
.up { color:var(--mint); } .down { color:var(--coral); }
.text-glow-up { color:var(--mint); text-shadow:0 0 14px #00e5a066; }
.text-glow-down { color:var(--coral); text-shadow:0 0 14px #ff4d6a66; }
.glow-info { box-shadow:0 0 44px -14px #22d3ee55; }
.glow-plan { box-shadow:0 0 44px -14px #ff6a2c44; }

.sample-tag { border:1px solid var(--edge); border-radius:4px; padding:1px 7px; font:600 8.5px var(--mono); letter-spacing:.1em; color:var(--t3); background:var(--bg); }

.btn { border-radius:9px; border:0; font:600 12px var(--mono); letter-spacing:.1em; display:inline-block; text-align:center; }
.btn-primary { background:var(--t1); color:var(--bg); padding:15px 34px; }
.btn-primary:hover { background:#fff; color:var(--bg); }
.btn-ghost { background:none; border:1px solid var(--edge); color:var(--t2); padding:14px 26px; }
.btn-ghost:hover { border-color:var(--cyan-edge); color:var(--t1); }
.btn-sub { margin-top:9px; font:500 9.5px var(--mono); letter-spacing:.1em; color:var(--dim); text-align:center; }

/* ——— scroll reveal ——— */
.rev { opacity:0; transform:translateY(14px); transition:opacity .48s ease-out, transform .48s ease-out; }
.rev.in { opacity:1; transform:none; }

/* ——— nav ——— */
.nav { position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:28px; padding:20px 56px; border-bottom:1px solid var(--hair); background:#0a0e15d9; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
/* anchor'lar yapışkan başlığın altında kalmasın */
section[id] { scroll-margin-top:60px; }
.nav-menu-btn { display:none; flex:none; background:none; border:1px solid var(--edge); border-radius:9px; padding:8px 9px; color:var(--t2); }
.nav-menu-btn:hover { color:var(--t1); border-color:var(--cyan-edge); }
.logo { font:600 14px var(--mono); letter-spacing:.32em; color:var(--t1); }
.nav-links { margin-left:auto; display:flex; gap:24px; font:500 11px var(--mono); letter-spacing:.1em; }
.nav-links a { color:var(--t2); }
.nav-links a:hover { color:var(--t1); }
.nav-links a.nl-link { color:var(--cyan); }
.lang { position:relative; }
.lang > summary { list-style:none; display:inline-flex; gap:8px; align-items:center; border:1px solid var(--edge); border-radius:8px; padding:7px 12px; font:600 10px var(--mono); color:var(--t2); cursor:pointer; }
.lang > summary::-webkit-details-marker { display:none; }
.lang-menu { position:absolute; right:0; top:calc(100% + 6px); z-index:40; background:var(--surface); border:1px solid var(--edge); border-radius:10px; padding:6px; min-width:150px; display:flex; flex-direction:column; }
.lang-menu a { padding:8px 12px; border-radius:7px; font:600 10px var(--mono); letter-spacing:.08em; color:var(--t2); }
.lang-menu a:hover { background:var(--raised); color:var(--t1); }
.lang-menu a[aria-current] { color:var(--cyan); }
.btn-login { flex:none; font:600 10.5px var(--mono); letter-spacing:.08em; color:var(--t2); padding:9px 2px; }
.btn-login:hover { color:var(--t1); }
.btn-nav { flex:none; background:var(--t1); color:var(--bg); border-radius:8px; padding:9px 18px; font:600 10.5px var(--mono); letter-spacing:.08em; }

/* ——— mobile sheet menu (app-vari alt panel) ——— */
.sheet { position:fixed; inset:0; z-index:90; visibility:hidden; }
.sheet.open { visibility:visible; }
.sheet-backdrop { position:absolute; inset:0; background:#05080ec7; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); opacity:0; transition:opacity .22s ease; }
.sheet.open .sheet-backdrop { opacity:1; }
.sheet-panel { position:absolute; left:0; right:0; bottom:0; max-height:88vh; overflow-y:auto; background:var(--surface); border-top:1px solid var(--edge); border-radius:20px 20px 0 0;
  padding:10px 16px calc(16px + env(safe-area-inset-bottom)); box-shadow:0 -24px 60px -20px #000;
  transform:translateY(100%); transition:transform .26s cubic-bezier(.32,.72,0,1); }
.sheet.open .sheet-panel { transform:none; }
.sheet-grip { width:38px; height:4px; border-radius:99px; background:var(--edge); margin:0 auto 12px; }
.sheet-link { display:flex; align-items:center; gap:12px; min-height:52px; padding:0 8px; border-bottom:1px solid var(--hair);
  font:600 13px var(--mono); letter-spacing:.08em; color:var(--t1); }
.sheet-link:last-of-type { border-bottom:0; }
.sheet-link:active { background:var(--raised); }
.sheet-link .arw { margin-left:auto; color:var(--t3); }
.sheet-link.nl-link { color:var(--cyan); }
.sheet-foot { margin-top:14px; padding-top:14px; border-top:1px solid var(--hair); display:flex; flex-direction:column; gap:10px; }
.sheet-langs { display:flex; gap:8px; }
.sheet-langs a { flex:1; text-align:center; border:1px solid var(--edge); border-radius:9px; padding:11px 0; font:600 10px var(--mono); letter-spacing:.08em; color:var(--t2); }
.sheet-langs a[aria-current] { border-color:var(--cyan-edge); color:var(--cyan); }
.sheet-cta { display:flex; gap:10px; }
.sheet-cta a { flex:1; text-align:center; border-radius:10px; padding:14px 0; font:600 11px var(--mono); letter-spacing:.08em; }
.sheet-cta .s-login { border:1px solid var(--edge); color:var(--t2); }
.sheet-cta .s-start { background:var(--t1); color:var(--bg); }
body.sheet-lock { overflow:hidden; }

/* ——— hero ——— */
.hero { position:relative; padding:88px 56px 0; text-align:center; overflow:hidden; }
.hero-grid { position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 47px,#141d2e88 48px),repeating-linear-gradient(90deg,transparent,transparent 47px,#141d2e88 48px); mask-image:radial-gradient(ellipse 900px 560px at 50% 30%,#000,transparent 78%); -webkit-mask-image:radial-gradient(ellipse 900px 560px at 50% 30%,#000,transparent 78%); will-change:transform; }
.hero-glow { position:absolute; inset:0; background:radial-gradient(ellipse 760px 380px at 50% 108%,#22d3ee16,transparent); }
.hero-curve { position:absolute; left:50%; top:-6px; transform:translateX(-50%); width:1240px; height:400px; pointer-events:none; }
.hero-inner { position:relative; }
.kicker { font:600 11px var(--mono); letter-spacing:.24em; color:var(--cyan); text-shadow:0 2px 20px var(--bg); }
.hero h1 { margin:16px auto 0; max-width:880px; font:600 42px/1.22 var(--sans); letter-spacing:-.01em; text-wrap:balance; text-shadow:0 2px 30px var(--bg),0 0 60px var(--bg); }
.hero-sub { margin:24px auto 0; max-width:720px; font:400 18px/1.65 var(--sans); color:var(--t2); text-shadow:0 1px 20px var(--bg); }
.hero-ctas { margin-top:34px; display:flex; gap:16px; justify-content:center; align-items:flex-start; }
.hero-nl { margin-top:20px; font:600 10px var(--mono); letter-spacing:.08em; }

/* hero live scene */
.scene { position:relative; margin:56px auto 0; width:1240px; max-width:100%; height:480px; }
.terminal { position:absolute; left:210px; right:210px; top:0; background:var(--surface); border:1px solid var(--edge); border-radius:16px 16px 0 0; border-bottom:0; overflow:hidden; box-shadow:0 -20px 120px -50px #22d3ee40; text-align:left; }
.term-head { display:flex; align-items:center; gap:10px; padding:13px 22px; border-bottom:1px solid var(--hair); }
.term-dots { display:flex; gap:5px; }
.term-dots span { width:9px; height:9px; border-radius:99px; background:var(--edge); }
.term-title { font:600 9.5px var(--mono); letter-spacing:.14em; color:var(--t3); }
.term-live { margin-left:auto; display:flex; gap:7px; align-items:center; font:600 9px var(--mono); color:var(--mint); }
.term-body { padding:24px 26px 20px; display:flex; gap:26px; }
.ladder { flex:1.35; position:relative; height:230px; }
.ladder-price { position:absolute; inset:0; }
.rung { position:absolute; left:0; right:0; display:flex; align-items:center; gap:10px; font:600 9.5px var(--mono); }
.rung .line { flex:1; height:1px; }
.dot-o { width:8px; height:8px; border-radius:99px; flex:none; }
.rung-due { left:-12px; right:-12px; background:#fbbf2410; border:1px solid var(--gold); border-radius:9px; padding:8px 12px; color:var(--gold); }
.due-tag { border:1px solid var(--gold); border-radius:4px; padding:1px 7px; font-size:8px; letter-spacing:.08em; }
.nudge { flex:1; background:var(--bg); border:1px solid var(--fire-edge); border-radius:12px; padding:16px 18px; display:flex; flex-direction:column; }
.nudge-label { display:flex; gap:8px; align-items:center; font:600 9.5px var(--mono); letter-spacing:.12em; color:var(--fire); }
.nudge-sentence { margin-top:10px; font:400 16px/1.55 var(--sans); color:var(--t1); min-height:50px; }
.nudge-sentence .amt { font:600 15px var(--mono); }
.nudge-meta { margin-top:8px; font:500 8.5px var(--mono); letter-spacing:.06em; color:var(--t3); }
.nudge-cta { margin-top:auto; padding-top:14px; display:flex; gap:12px; align-items:center; }
.nudge-cta .btn-go { background:var(--t1); color:var(--bg); border:0; border-radius:8px; padding:10px 18px; font:600 10px var(--mono); letter-spacing:.08em; }
.nudge-fine { margin-top:10px; font:500 8px var(--mono); color:var(--dim); }
.tape { border-top:1px solid var(--hair); overflow:hidden; padding:10px 0; white-space:nowrap; }
.tape-inner { display:inline-flex; gap:36px; font:600 10.5px var(--mono); animation:tape 28s linear infinite; }
.tape-inner > span { color:var(--t2); }

/* satellites */
.sat { position:absolute; text-align:left; will-change:transform; }
.sat-card { background:#101623ee; border:1px solid var(--edge); border-radius:14px; padding:16px 18px; box-shadow:0 24px 60px -24px #000; backdrop-filter:blur(6px); }
.sat-card.cy { border-color:var(--cyan-edge); }
.sat1 { left:0; top:64px; width:234px; }
.sat2 { right:0; top:120px; width:240px; }
.sat3 { left:34px; bottom:56px; width:224px; }
.sat4 { right:38px; bottom:40px; width:210px; }
/* float on the inner card so scroll parallax can own the outer transform */
.sat1 .sat-card { animation:float1 6s ease-in-out infinite; }
.sat2 .sat-card { animation:float2 7s ease-in-out infinite; }
.sat3 .sat-card { animation:float2 8s ease-in-out infinite; }
.sat4 .sat-card { animation:float1 7.5s ease-in-out infinite; }
.sat-label { font:600 8.5px var(--mono); letter-spacing:.12em; color:var(--t3); }
.sat-head { display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.sat-big { margin-top:8px; font:600 22px var(--mono); color:var(--t1); }
.alloc-bar { margin-top:8px; display:flex; height:5px; border-radius:99px; overflow:hidden; gap:2px; }
.sat-note { margin-top:8px; font:500 8.5px var(--mono); color:var(--t3); }
.blur-amt { filter:blur(5px); user-select:none; transition:filter .7s ease; }
.unblur .blur-amt { filter:blur(0); }

/* ——— sections ——— */
.sec { padding:96px 56px; border-top:1px solid var(--hair); }
.sec-title { margin:14px auto 0; max-width:820px; text-align:center; font:600 38px/1.25 var(--sans); text-wrap:balance; }
.sec-title.first { margin-top:0; }
.sec-intro { margin:18px auto 0; max-width:700px; text-align:center; font:400 16px/1.65 var(--sans); color:var(--t2); }
.sec-label { text-align:center; }

/* system */
.steps { margin:52px auto 0; max-width:1040px; display:grid; grid-template-columns:1fr 40px 1fr 40px 1fr; align-items:stretch; }
.step { background:var(--surface); border:1px solid var(--edge); border-radius:14px; padding:26px 26px 24px; text-align:left; }
.step h3 { margin-top:14px; font:500 19px var(--sans); }
.step p { margin-top:8px; font:400 13.5px/1.6 var(--sans); color:var(--t2); }
.step-arrow { display:flex; align-items:center; justify-content:center; }
.step-arrow path { stroke-dasharray:24; stroke-dashoffset:0; }
.disciplines { margin:40px auto 0; max-width:1040px; display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; text-align:left; }
.disc { display:flex; gap:10px; align-items:baseline; background:var(--surface); border:1px solid var(--edge); border-radius:10px; padding:12px 16px; font:500 10px/1.55 var(--mono); letter-spacing:.04em; color:var(--t2); }
.disc b { flex:none; font-weight:600; }
.aphorism { margin:56px auto 0; max-width:760px; text-align:center; font:500 30px/1.3 var(--sans); color:var(--t1); text-wrap:balance; }

/* capability board */
.board { position:relative; margin:48px auto 0; max-width:1180px; background:var(--surface); border:1px solid var(--edge); border-radius:18px; overflow:hidden; }
.board-scan { position:absolute; left:0; right:0; top:-90px; height:90px; background:linear-gradient(180deg,transparent,#22d3ee0a 45%,#22d3ee18 50%,#22d3ee0a 55%,transparent); animation:scan 7s linear infinite; pointer-events:none; }
.board-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(5,auto); grid-auto-flow:column; }
.cap { display:flex; gap:18px; align-items:center; padding:19px 28px; border-bottom:1px solid var(--hair); background:none; border-left:0; border-right:0; border-top:0; text-align:left; color:inherit; transition:background .2s; }
.cap:hover { background:var(--raised); }
.board-grid .cap:nth-child(-n+5) { border-right:1px solid var(--hair); }
.board-grid .cap:nth-child(5), .board-grid .cap:nth-child(10) { border-bottom:0; }
.cap-num { font:600 10px var(--mono); color:var(--num); }
.cap-body { flex:1; }
.cap-title { display:block; font:500 17px var(--sans); color:var(--t1); }
.cap-desc { display:block; margin-top:3px; font:400 12px/1.5 var(--sans); color:var(--t2); }
.cap-chip { flex:none; border:1px solid var(--edge); border-radius:5px; padding:2px 8px; font:600 8.5px var(--mono); letter-spacing:.08em; }
.chip-cy { border-color:var(--cyan-edge); color:var(--cyan); }
.chip-vi { border-color:var(--violet-edge); color:var(--violet); }
.chip-mi { border-color:var(--mint-edge); color:var(--mint); }
.chip-go { border-color:var(--gold-edge); color:var(--gold); }
.board-note { margin-top:16px; text-align:center; font:500 9px var(--mono); letter-spacing:.1em; color:var(--dim); }

/* bento tour */
.bento { margin:48px auto 0; max-width:1180px; display:grid; grid-template-columns:1.5fr 1fr 1fr; grid-template-rows:auto auto; gap:16px; }
.bcard { background:var(--surface); border:1px solid var(--edge); border-radius:16px; padding:24px 26px; transition:transform .2s, border-color .2s; }
.bcard:hover { transform:translateY(-3px); border-color:var(--cyan-edge); }
.bcard-big { grid-row:span 2; padding:26px 28px; display:flex; flex-direction:column; }
.bcard .plabel { letter-spacing:.16em; font-size:9.5px; }
.bcard-lead { margin-top:10px; font:500 17px/1.4 var(--sans); color:var(--t1); }
.bcard-big .bcard-lead { font-size:21px; line-height:1.35; }
.bcard-desc { margin-top:6px; font:400 12px/1.5 var(--sans); color:var(--t2); }
.bcard-big .bcard-desc { margin-top:8px; font-size:13.5px; line-height:1.6; }
.bcard-fine { margin-top:12px; font:500 9px var(--mono); color:var(--dim); }
.mini-shot { margin-top:auto; padding-top:20px; }
.mini-shot-in { background:var(--bg); border:1px solid var(--hair); border-radius:12px; padding:16px 18px; position:relative; }
.mini-shot-in .sample-tag { position:absolute; top:8px; right:10px; padding:0 6px; font-size:7.5px; }
.mini-ladder { margin-top:16px; position:relative; height:44px; }
.pill { border:1px solid var(--cyan-edge); border-radius:999px; padding:1px 8px; font:600 8px var(--mono); color:var(--cyan); }
.bank-chips { margin-top:14px; display:flex; gap:5px; font:600 8px var(--mono); flex-wrap:wrap; }
.bank-chips span { border:1px solid var(--edge); border-radius:999px; padding:2px 8px; color:var(--dim); }
.bank-chips span.on { border-color:var(--cyan-edge); color:var(--cyan); }
.odds-row { margin-top:14px; display:flex; gap:12px; align-items:center; }
.odds-big { font:600 26px var(--mono); color:var(--cyan); }
.pro-tag { border:1px solid var(--gold); border-radius:4px; padding:0 6px; font:600 8px var(--mono); color:var(--gold); }
.mini-form { margin-top:14px; display:flex; gap:6px; }
.mini-form input { flex:1; min-width:0; border:1px solid var(--edge); border-radius:8px; padding:8px 10px; font:400 11px var(--sans); color:var(--t1); background:var(--bg); }
.mini-form input::placeholder { color:var(--dim); }
.mini-form button { background:var(--t1); color:var(--bg); border:0; border-radius:8px; padding:8px 12px; font:600 8.5px var(--mono); letter-spacing:.06em; }
.lock-strip { margin:16px auto 0; max-width:1180px; background:var(--surface); border:1px solid var(--cyan-edge); border-radius:16px; padding:20px 28px; display:flex; gap:24px; align-items:center; text-align:left; }
.lock-strip .big { flex:1; }
.lock-strip .big > div:first-child { font:500 16px var(--sans); color:var(--t1); }
.lock-strip .big > div:last-child { margin-top:4px; font:400 12.5px var(--sans); color:var(--t2); }
.lock-demo { display:flex; gap:14px; align-items:center; font:600 13px var(--mono); }

/* data diagram */
.diagram { margin:52px auto 0; max-width:1060px; display:grid; grid-template-columns:1fr 340px 1fr; gap:0; align-items:center; }
.flow-col { display:flex; flex-direction:column; gap:10px; }
.flow-row { display:flex; align-items:center; gap:12px; }
.flow-box { flex:1; background:var(--surface); border:1px solid var(--edge); border-radius:10px; padding:11px 16px; font:500 11px var(--mono); color:var(--t1); }
.flow-box.out { color:var(--t2); }
.flow-box small { color:var(--dim); font-size:11px; }
.flow-note-no { margin-top:6px; font:600 9px var(--mono); letter-spacing:.14em; color:var(--coral); text-align:right; }
.flow-note-yes { margin-top:6px; font:600 9px var(--mono); letter-spacing:.14em; color:var(--cyan); }
.device { justify-self:center; position:relative; width:300px; background:var(--surface); border:1px solid var(--cyan-edge); border-radius:18px; padding:26px 24px; text-align:center; box-shadow:0 0 80px -20px #22d3ee40; }
.biometric { position:relative; width:88px; height:88px; margin:0 auto; }
.biometric .frame { position:absolute; inset:0; }
.biometric .face { position:absolute; left:22px; top:22px; }
.scan-line { position:absolute; left:10px; right:10px; top:8px; height:2px; background:linear-gradient(90deg,transparent,var(--cyan),transparent); box-shadow:0 0 12px #22d3ee88; animation:biyo 3.2s ease-in-out infinite; }
.device-name { margin-top:14px; font:500 17px var(--sans); color:var(--t1); }
.device-sub { margin-top:6px; font:500 9.5px var(--mono); letter-spacing:.08em; color:var(--t2); }
.device-status { margin-top:8px; font:600 8.5px var(--mono); letter-spacing:.1em; color:var(--cyan); animation:shimmer 3.2s ease-in-out infinite; }
.device-badge { margin-top:12px; display:inline-flex; gap:7px; align-items:center; border:1px solid var(--cyan-edge); border-radius:999px; padding:5px 12px; font:600 9px var(--mono); color:var(--cyan); }
.diagram-close { margin:40px auto 0; max-width:720px; text-align:center; font:400 14px/1.65 var(--sans); color:var(--t2); }

/* newsletter band */
.nl-sec { padding:84px 56px; border-top:1px solid var(--hair); background:radial-gradient(ellipse 720px 340px at 50% 50%,#22d3ee0a,transparent); }
.nl-band { position:relative; margin:0 auto; max-width:1080px; background:var(--surface); border:1px solid var(--cyan-edge); border-radius:20px; padding:44px 48px; display:grid; grid-template-columns:1.15fr 1fr; gap:44px; align-items:center; }
.nl-free { position:absolute; top:-12px; left:44px; border:1px solid var(--cyan); border-radius:999px; padding:4px 14px; font:600 9px var(--mono); letter-spacing:.08em; color:var(--cyan); background:var(--bg); }
.nl-band h2 { margin:12px 0 0; font:600 34px/1.15 var(--sans); }
.nl-band .lead { margin:12px 0 0; font:400 15px/1.65 var(--sans); color:var(--t2); }
.nl-checks { margin-top:18px; display:flex; flex-direction:column; gap:8px; font:500 10px var(--mono); letter-spacing:.06em; color:var(--t2); }
.nl-checks .ok { color:var(--mint); }
.nl-form { margin-top:22px; display:flex; gap:8px; }
.nl-form input[type=email] { flex:1; min-width:0; border:1px solid var(--edge); border-radius:10px; padding:14px 16px; font:400 13.5px var(--sans); color:var(--t1); background:var(--bg); }
.nl-form input::placeholder { color:var(--dim); }
.nl-form select { border:1px solid var(--edge); border-radius:10px; padding:14px 12px; font:600 10px var(--mono); color:var(--t2); background:var(--bg); -webkit-appearance:none; }
.nl-form .btn-sub-cy { background:var(--cyan); color:var(--bg); border:0; border-radius:10px; padding:14px 24px; font:600 11px var(--mono); letter-spacing:.08em; box-shadow:0 0 24px -6px #22d3ee88; }
.nl-consent { margin-top:12px; display:flex; gap:8px; align-items:flex-start; font:400 11px/1.5 var(--sans); color:var(--t3); }
.nl-consent input { flex:none; width:12px; height:12px; margin-top:2px; accent-color:var(--cyan); }
.nl-fine { margin-top:8px; font:500 8.5px var(--mono); letter-spacing:.06em; color:var(--dim); }
.nl-status { margin-top:10px; font:500 12px var(--sans); display:none; }
.nl-status.ok { display:block; color:var(--cyan); }
.nl-status.err { display:block; color:var(--fire); }
.nl-preview { background:var(--bg); border:1px solid var(--edge); border-radius:14px; overflow:hidden; }
.nl-prev-head { padding:14px 18px; border-bottom:1px solid var(--hair); display:flex; gap:8px; align-items:center; font:600 9px var(--mono); letter-spacing:.12em; color:var(--t3); }
.nl-item { padding:11px 18px; border-bottom:1px solid var(--hair); }
.nl-item:last-child { border-bottom:0; }
.nl-item .tit { font:400 12.5px/1.5 var(--sans); color:var(--t1); }
.nl-item .tag { margin-top:3px; font:500 8px var(--mono); color:var(--dim); }
.nl-prev-foot { padding:12px 18px; border-top:1px solid var(--hair); display:flex; justify-content:space-between; font:500 8.5px var(--mono); color:var(--dim); }

/* pricing */
.plans { margin:44px auto 0; max-width:1180px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; align-items:stretch; }
.plan { background:var(--surface); border:1px solid var(--edge); border-radius:16px; padding:26px 24px 22px; display:flex; flex-direction:column; position:relative; text-align:left; }
.plan-name { font:600 10.5px var(--mono); letter-spacing:.18em; color:var(--t2); }
.plan-price { margin-top:12px; display:flex; gap:8px; align-items:baseline; }
.plan-price .p { font:600 28px var(--sans); color:var(--t1); }
.plan-price .per { font:500 11px var(--mono); color:var(--t3); }
.plan-feats { margin-top:14px; display:flex; flex-direction:column; gap:8px; font:400 12.5px/1.5 var(--sans); color:var(--t2); }
.plan .btn-plan { margin-top:auto; padding:11px 0; background:none; border:1px solid var(--edge); border-radius:9px; color:var(--t2); font:600 10px var(--mono); letter-spacing:.08em; display:block; text-align:center; }
.plan .btn-plan:hover { border-color:var(--cyan-edge); color:var(--t1); }
.plan-pro { border-color:var(--cyan-edge); }
.plan-pro.breathe { animation:breathe 1.6s ease-out 1; }
.plan-pro .plan-name { color:var(--cyan); }
.plan-pro .btn-plan { background:var(--t1); border:0; color:var(--bg); }
.founder { position:absolute; top:-11px; left:22px; border:1px solid var(--gold); border-radius:999px; padding:3px 12px; font:600 9px var(--mono); letter-spacing:.08em; color:var(--gold); background:var(--bg); }
.plans-note { margin-top:20px; text-align:center; font:500 10px var(--mono); letter-spacing:.12em; color:var(--dim); }

/* faq */
.faq { margin:44px auto 0; max-width:760px; display:flex; flex-direction:column; }
.faq-item { border-bottom:1px solid var(--hair); padding:20px 4px; }
.faq-h { margin:0; }
.faq-q { display:flex; justify-content:space-between; align-items:center; gap:16px; width:100%; background:none; border:0; text-align:left; cursor:pointer; padding:0; }
.faq-qt { font:500 16px var(--sans); color:var(--t2); }
.faq-item.open .faq-qt { color:var(--t1); }
.faq-mark { font:400 18px var(--mono); color:var(--t3); }
.faq-item.open .faq-mark { color:var(--cyan); }
/* GEO rule: answers are always full in the DOM; the accordion is visual only */
.faq-a { margin:12px 0 0; font:400 14px/1.65 var(--sans); color:var(--t2); }
.faq-js .faq-item:not(.open) .faq-a { display:none; }

/* closing */
.closing { padding:110px 56px; border-top:1px solid var(--hair); text-align:center; background:radial-gradient(ellipse 800px 380px at 50% 100%,#22d3ee0c,transparent); }
.closing-line { margin:0 auto; max-width:820px; font:600 44px/1.2 var(--sans); color:var(--t1); text-wrap:balance; }

/* footer */
.footer { padding:44px 56px 30px; border-top:1px solid var(--hair); }
.foot-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px; }
.foot-brand-note { margin-top:12px; font:400 12px/1.6 var(--sans); color:var(--t3); max-width:260px; }
.foot-selectors { margin-top:16px; display:flex; gap:10px; }
.foot-selectors .lang > summary { border-radius:7px; padding:6px 11px; font-size:9px; }
.foot-selectors .lang-menu { top:auto; bottom:calc(100% + 6px); left:0; right:auto; }
.foot-rule { margin-top:8px; font:500 8.5px var(--mono); letter-spacing:.06em; color:var(--dim); }
.foot-col-title { font:600 9.5px var(--mono); letter-spacing:.16em; color:var(--t2); }
.foot-links { margin-top:12px; display:flex; flex-direction:column; gap:9px; font:400 12.5px var(--sans); }
.foot-links a { color:var(--t3); }
.foot-links a:hover { color:var(--t1); }
.foot-links a.nl-link { color:var(--cyan); }
.foot-legal { margin-top:32px; padding-top:18px; border-top:1px solid var(--hair); display:flex; gap:20px; align-items:center; font:500 9.5px var(--mono); letter-spacing:.08em; color:var(--dim); flex-wrap:wrap; }
.foot-right { margin-left:auto; display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.no-cookie { display:inline-flex; gap:6px; align-items:center; border:1px solid var(--cyan-edge); border-radius:999px; padding:3px 10px; color:var(--cyan); }

/* ——— hero sahnesi: cesur fiyat grafiği + üstüne düşen bildirim ——— */
.hero-viz { display:none; }

/* ——— hero derinlik katmanları ——— */
/* aurora: iki büyük ışık kütlesi, yavaşça sürükleniyor — düz siyah zemine
   derinlik veriyor; grain onun bantlaşmasını kırıyor */
.hero-aurora { position:absolute; inset:-20% -30% auto; height:120%; pointer-events:none; opacity:.55;
  background:radial-gradient(38% 42% at 22% 32%, #22d3ee2e, transparent 70%),
             radial-gradient(34% 38% at 78% 58%, #8b5cf628, transparent 70%);
  filter:blur(26px); animation:surukle 22s ease-in-out infinite alternate; }
.hero-grain { position:absolute; inset:0; pointer-events:none; opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E"); }
@keyframes surukle { from { transform:translate3d(-2%,-1%,0) scale(1); } to { transform:translate3d(3%,2%,0) scale(1.08); } }

/* eğrinin üzerinde ilerleyen canlı nabız */
.hero-spark { offset-path:path('M0 330 C90 322 150 310 210 300 S330 268 400 258 S520 250 590 232 S700 196 780 182 S900 164 980 140 S1120 96 1240 74');
  offset-rotate:0deg; animation:aksin 7s cubic-bezier(.5,0,.5,1) 1.2s infinite; opacity:0;
  filter:drop-shadow(0 0 6px #22d3ee) drop-shadow(0 0 14px #22d3ee88); }
@keyframes aksin {
  0% { offset-distance:0%; opacity:0; }
  8% { opacity:1; }
  86% { opacity:1; }
  100% { offset-distance:100%; opacity:0; }
}

/* ——— hero hareket katmanı ——— */
@keyframes ciz { from { stroke-dashoffset:2200; } to { stroke-dashoffset:0; } }
@keyframes dolgunlas { from { opacity:0; } to { opacity:1; } }
@keyframes yuksel { from { opacity:0; transform:translateY(16px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes zipla { 0%,100% { transform:translateY(0); opacity:.45; } 50% { transform:translateY(5px); opacity:1; } }
@keyframes nefes { 0%,100% { opacity:.5; transform:scale(1); } 50% { opacity:.9; transform:scale(1.06); } }
@keyframes isik { 0%,100% { box-shadow:0 10px 40px -14px #22d3ee55; } 50% { box-shadow:0 12px 52px -10px #22d3ee99; } }

.hero-cue { display:none; position:absolute; right:-6px; bottom:0; padding:8px 14px; color:var(--t3); }

/* ——— keyframes ——— */
@keyframes tape { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
@keyframes float1 { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@keyframes float2 { 0%,100% { transform:translateY(-6px); } 50% { transform:translateY(6px); } }
@keyframes shimmer { 0%,100% { opacity:.5; } 50% { opacity:1; } }
@keyframes scan { 0% { transform:translateY(0); } 100% { transform:translateY(720px); } }
@keyframes biyo { 0%,100% { transform:translateY(0); } 50% { transform:translateY(66px); } }
@keyframes notif-gel { from { opacity:0; transform:translateY(-30px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes notif-sal { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@keyframes ikon-parla { 0%,100% { box-shadow:0 0 0 0 #fbbf2400; } 50% { box-shadow:0 0 18px -2px #fbbf2455; } }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:.25; } }
@keyframes breathe { 0% { box-shadow:0 0 0 0 #22d3ee00; } 40% { box-shadow:0 0 60px -8px #22d3ee66; } 100% { box-shadow:0 0 44px -14px #22d3ee00; } }
.pulse-live { animation:pulse 2s ease-in-out infinite; }

/* ——— mobile-only / desktop-only helpers ——— */
.m-only { display:none; }
.m-chip { gap:7px; align-items:center; border:1px solid var(--gold); border-radius:999px; padding:3px 10px; font:600 8px var(--mono); letter-spacing:.06em; color:var(--gold); background:#fbbf2412; align-self:flex-start; margin-bottom:9px; }

/* ——— responsive ——— */
@media (max-width: 1279px) {
  .scene { width:100%; }
  .hero-curve { width:100%; left:0; transform:none; }
  .hero-curve svg { width:100%; height:auto; }
}
@media (max-width: 900px) {
  /* dikey snap kaldırıldı: parmağın bıraktığı yeri kabul etmeyip en yakın
     bölüme çekiyor, aşağı-yukarı gezinirken sayfa kıpırdıyordu */
  html { scroll-padding-top:54px; }
  .m-only { display:block; }
  .m-chip.m-only { display:inline-flex; }
  .d-only { display:none !important; }
  /* başlık: logo · menü · başla — dil ve giriş alt panele taşındı */
  .nav { padding:11px 16px; gap:10px; }
  .nav-links { display:none; }
  .nav > .lang { display:none; }
  .btn-login { display:none; }
  .nav-menu-btn { display:block; margin-left:auto; }
  .btn-nav { padding:9px 14px; font-size:10px; }
  .logo { font-size:13px; }
  /* Hero = tek vaat + tek aksiyon, ilk ekranın tamamı. Canlı kart onun
     içinde değil; hemen altında, kendi ekranında duruyor. */
  /* SOLA HİZALI EDİTORYAL HERO: ortalanmış blok yerine asimetrik kompozisyon;
     alt üçte biri ürünün imzası olan merdiven. */
  .hero { padding:0 20px 22px; text-align:left; }
  .hero-inner { position:relative; min-height:calc(100svh - 58px); display:flex; flex-direction:column;
    justify-content:flex-start; padding:38px 0 22px; }
  /* sahne: tam genişlik kalın grafik; bildirim onun üstüne düşer */
  .hero-viz { display:block; position:relative; flex:1 1 auto; min-height:37svh; margin:26px -20px 0; }
  .hv-chart { position:absolute; inset:0; width:100%; height:100%; }
  .hv-stroke { stroke-dasharray:300; animation:cizil 2s cubic-bezier(.3,0,.2,1) .6s both; filter:drop-shadow(0 0 12px #22d3ee88); }
  @keyframes cizil { from { stroke-dashoffset:300; } to { stroke-dashoffset:0; } }
  .hv-area { animation:dolgunlas 1s ease-out 1.9s both, soluk 6s ease-in-out 3.2s infinite; }
  .hv-rule { position:absolute; left:0; right:0; top:58%; height:2px;
    background:linear-gradient(90deg, #fbbf2400, #fbbf24d9 14%, #fbbf24d9 86%, #fbbf2400);
    box-shadow:0 0 16px #fbbf2455; transform-origin:left;
    animation:seril .8s cubic-bezier(.22,.61,.36,1) .25s both; }
  @keyframes seril { from { transform:scaleX(0); } to { transform:scaleX(1); } }
  @keyframes soluk { 0%,100% { opacity:1; } 50% { opacity:.7; } }
  .hv-dot { position:absolute; left:62%; top:58%; width:12px; height:12px; margin:-6px 0 0 -6px; border-radius:99px;
    background:var(--cyan); border:2px solid #eafcff; box-shadow:0 0 0 5px #22d3ee22, 0 0 20px #22d3ee;
    animation:nabiz 2.4s ease-in-out 2.6s infinite; opacity:0; }
  @keyframes nabiz { 0%,100% { opacity:1; box-shadow:0 0 0 4px #22d3ee33, 0 0 16px #22d3ee; }
    50% { opacity:1; box-shadow:0 0 0 11px #22d3ee00, 0 0 26px #22d3ee; } }
  .hn-card { position:relative; margin:0 20px; background:#151d2ef2; border:1px solid #24334e; border-radius:18px; padding:15px 16px 16px;
    box-shadow:0 26px 60px -20px #000c, 0 0 70px -34px #22d3ee88;
    animation:notif-gel .75s cubic-bezier(.18,1.08,.32,1) 2.5s both, notif-sal 6.5s ease-in-out 3.8s infinite; }
  /* grafik etiketleri: kesişim ekseninde (%62) dikey hizalı iki kutu */
  .hv-target, .hv-now { position:absolute; left:62%; white-space:nowrap;
    border-radius:999px; padding:5px 12px; font:600 10px var(--mono); letter-spacing:.08em;
    background:#0d1420e6; backdrop-filter:blur(4px); }
  .hv-target { top:58%; transform:translate(-50%,-100%); margin-top:-11px;
    border:1px solid #fbbf2455; color:var(--gold); box-shadow:0 0 20px -6px #fbbf2455;
    animation:dolgunlas .6s ease-out 1s both; }
  .hv-now { top:58%; transform:translate(-50%,0); margin-top:16px;
    border:1px solid var(--cyan-edge); color:var(--t1); box-shadow:0 0 20px -6px #22d3ee66;
    animation:dolgunlas .6s ease-out 2.3s both; }
  .hv-sample { position:absolute; left:50%; transform:translateX(-50%); bottom:12px; }
  .hn-head { display:flex; align-items:center; gap:8px; }
  .hn-icon { display:flex; align-items:center; justify-content:center; width:27px; height:27px; border-radius:7px;
    background:var(--bg); border:1px solid #2a3b5a; color:var(--gold); font:600 13px var(--mono);
    animation:ikon-parla 3.2s ease-in-out 3.8s infinite; }
  .hn-app { font:600 9px var(--mono); letter-spacing:.16em; color:var(--t3); }
  .hn-time { font:500 9px var(--mono); color:var(--dim); }
  .hn-title { margin-top:11px; font:600 16px/1.35 var(--sans); color:var(--t1); }
  .hn-body { margin-top:5px; font:400 12.5px/1.55 var(--sans); color:var(--t2); }

  /* Yükselen varlık eğrisi metnin arkasına geçer ve sayfa açılırken çizilir —
     masaüstündeki hareket katmanının telefondaki karşılığı. */
  /* eğri ilk ekranın alt üçte birine oturur (yüzde, kart dahil bütün
     bölüme göre hesaplanıyordu; svh ilk ekranı hedefler) */
  .hero-curve { display:none; }   /* grafikle yarışan ikinci çizgi kalksın */
  .hero-curve path[stroke] { stroke-dasharray:2200; animation:ciz 2.2s cubic-bezier(.22,.61,.36,1) .15s both; }
  .hero-curve path[fill] { animation:dolgunlas 1.4s ease-out 1.1s both; }
  .hero-curve circle { animation:nefes 3s ease-in-out infinite; transform-origin:980px 140px; }

  /* metin sırayla girer: kicker → başlık → cümle → buton → alt satırlar */
  .hero-inner > * { animation:yuksel .62s cubic-bezier(.16,.84,.34,1) both; }
  .hero-inner > .kicker { animation-delay:.06s; }
  .hero-inner > h1 { animation-delay:.14s; }
  .hero-inner > .hero-sub { animation-delay:.26s; }
  .hero-inner > .hero-ctas { animation-delay:.38s; }
  .hero-inner > .btn-sub, .hero-inner > .hero-nl { animation-delay:.48s; }

  /* butonun altında yavaşça nefes alan bir ışık — tek sıcak nokta */
  .hero-ctas .btn-primary { position:relative; box-shadow:0 10px 40px -12px #22d3ee66; animation:isik 4.5s ease-in-out 1.2s infinite; }

  .hero-cue { display:block; animation:zipla 2.4s ease-in-out 1.6s infinite; }
  .hero h1 { font-size:25px; line-height:1.28; letter-spacing:-.014em; margin:14px 0 0; text-wrap:balance; }
  .kicker { font-size:8.5px; letter-spacing:.22em; opacity:.85; }
  .hero-sub { margin-top:16px; font-size:13.5px; line-height:1.6; max-width:32ch; margin-inline:0; color:var(--t3); }
  .hero-ctas { flex-direction:row; align-items:flex-start; justify-content:flex-start; gap:12px; margin-top:24px; }
  .hero-ctas > div { display:block; }
  .hero-ctas .btn-ghost { display:inline-block; padding:15px 22px; border:1px solid var(--edge); border-radius:10px;
    font:600 11px var(--mono); letter-spacing:.1em; color:var(--t2); background:none; }
  .hero-ctas .btn { width:auto; }
  .hero-ctas .btn-primary { display:inline-flex; align-items:center; justify-content:center; min-width:172px; width:auto; padding:15px 26px; font-size:12px; letter-spacing:.14em; border-radius:10px; }
  .btn-sub { margin-top:9px; font-size:8.5px; text-align:center; color:var(--dim); }
  .hero-nl { display:none; }   /* bülten daveti menüde ve kendi bölümünde zaten var */
  .hero-nl a { display:inline-block; max-width:270px; }
  /* hero sahnesi (handoff 1B): terminal tam genişlik, altında net varlık ve
     olasılık yan yana — kaydırma yok, hero sabit bir kompozisyon */
  .scene { height:auto; margin-top:0; padding-bottom:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .terminal { grid-column:1 / -1; }
  .scene > .sat { align-self:stretch; }
  .terminal { position:static; border-radius:14px; border-bottom:1px solid var(--edge); box-shadow:none; }
  .term-head { padding:9px 12px; gap:7px; }
  .term-title { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:8.5px; letter-spacing:.08em; }
  .term-live { font-size:8px; }
  .term-dots { display:none; }        /* dar başlıkta üç nokta yer kaplıyordu */
  .term-body { align-items:flex-start; }  /* dürtme kartı içeriği kadar yüksek olsun */
  .term-body { padding:10px 12px; }
  .ladder { display:none; }
  .nudge { border-radius:10px; padding:10px 12px; }
  .nudge-sentence { font-size:13.5px; min-height:0; }
  .nudge-cta { margin-top:10px; padding-top:0; }
  .scene > .sat { align-self:flex-start; }
  .nudge-fine { font-size:7px; }
  .tape { padding:7px 0; }
  .sat { position:static; width:auto; margin:0; }
  .sat .sat-card { animation:none; height:100%; }
  .sat3, .sat4 { display:none; }
  .sat-big { font-size:16px; }
  .sec, .nl-sec, .closing { padding:38px 20px; }
  .sec-title { font-size:26px; line-height:1.18; letter-spacing:-.015em; }
  .sec-intro { font-size:13px; line-height:1.6; margin-top:12px; color:var(--t3); }
  .sec-label { margin-bottom:2px; }
  .sec { padding-top:52px; }
  .lock-strip { padding:10px 13px; gap:9px; margin-top:8px; }
  .lock-strip .big > div:first-child { font-size:12.5px; line-height:1.35; }
  .lock-strip .big > div:last-child { font-size:11px; margin-top:3px; }
  .lock-demo { font-size:11px; gap:9px; }
  .lock-strip > svg { width:20px; height:20px; }
  /* tur kartları: büyük kartın açıklaması ve mini görseli ekranı taşırıyordu */
  .bcard { padding:18px 18px; }
  .bcard-big { padding:18px 18px; }
  .bcard-big .bcard-lead { font-size:17px; line-height:1.35; }
  .bcard-big .bcard-desc { font-size:11.5px; line-height:1.45; }
  .mini-shot { padding-top:14px; }
  .mini-shot-in { padding:12px 14px; }
  .mini-ladder { height:38px; margin-top:12px; }
  /* metin uzunluğu dile göre değişiyor (DE ~%15 uzun); kart ekranı taşıramasın,
     taşarsa kartın kendi içinde kaysın — bölüm bir ekran kalır */

  .aphorism { font-size:20px; margin-top:36px; }
  .steps { grid-template-columns:1fr; gap:10px; }
  .step-arrow { display:none; }
  .disc { padding:12px 14px; font-size:9.5px; align-items:flex-start; }

  .faq-item { padding:15px 2px; }
  .faq-q h3 { font-size:15px; }
  .board-grid { grid-template-columns:1fr; grid-auto-flow:row; }
  .board-grid .cap:nth-child(-n+5) { border-right:0; }
  .board-grid .cap:nth-child(5) { border-bottom:1px solid var(--hair); }
  .cap { padding:13px 16px; gap:10px; }
  .cap-title { font-size:14px; }
  .cap-desc { display:none; }
  /* ——— ekran ekran akış ———
     Her bölüm bir ekran; bölümün içeriği aşağı değil yana gidiyor. Yükseklik
     min-height, sabit değil: küçük telefonda içerik kırpılmaz, taşarsa kayar. */
  /* Bölümler kendi doğal yüksekliğinde; yalnız snap noktası taşıyorlar.
     Zorla 100svh + ortalama, kısa bölümlerde ekranın yarısını boş bırakıyor
     ve uzun olanları telefonun değişken görünür alanında kırpıyordu. */
  .sec-title { margin-top:0; }

  /* yatay raylar: bento, fiyat, adımlar, yetenek panosu, veri diyagramı, bülten, hero sahnesi */
  .bento, .plans, .steps, .diagram, .disciplines {
    display:flex; grid-template-columns:none; gap:12px; overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; margin:16px -20px 0; padding:16px 20px 8px; scrollbar-width:none;
    /* eksen kilidi: parmak hafif eğik gittiğinde tarayıcı hem rayı yatayda hem
       sayfayı dikeyde kaydırıyordu; burada yalnız yatay pan'e izin var
       (yakınlaştırma erişilebilirlik için açık kalıyor) */
    touch-action:pan-x pinch-zoom; }
  .bento::-webkit-scrollbar, .plans::-webkit-scrollbar, .steps::-webkit-scrollbar, .diagram::-webkit-scrollbar, .disciplines::-webkit-scrollbar { display:none; }
  .bento > *, .plans > *, .steps > *, .diagram > *, .disciplines > * {
    flex:0 0 86%; scroll-snap-align:start; }
  /* veri diyagramı üç parçalı bir cümle ve öznesi ortadaki cihaz: kartlar
     sola değil merkeze otursun, iki yanda da komşusu görünsün */
  .diagram > * { flex-basis:78%; scroll-snap-align:center; }
  .bcard-big { grid-row:auto; }
  .bcard:hover { transform:none; }

  /* yetenek panosu: 10 madde yan yana kaydırılınca ekran boş kalıyordu —
     tek sütun dikey liste ekranı dolduruyor ve tek bakışta taranıyor */
  .board { margin-top:18px; }
  .board-grid { grid-template-columns:1fr; grid-auto-flow:row; }
  .board-grid .cap { padding:0 14px; min-height:52px; border-right:0; }
  .board-grid .cap:nth-child(-n+5) { border-right:0; }
  .board-grid .cap:last-child { border-bottom:0; }
  .cap-title { font-size:13.5px; }
  .cap-chip { font-size:7.5px; padding:2px 6px; }

  /* ——— ray kontrolleri: rayın altında ok · nokta · ok ——— */
  .swipe-hint { display:none; }   /* yerini bu satır aldı */
  .rail-wrap { position:relative; }
  .rail-nav { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:14px; }
  .rail-arrow { display:flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0;
    border-radius:99px; border:1px solid var(--cyan-edge); background:#0d1420e0; color:var(--cyan);
    box-shadow:0 6px 18px -10px #000, 0 0 16px -8px #22d3ee; transition:opacity .3s ease, border-color .3s ease; }
  .rail-l { animation:cue-sol 1.9s ease-in-out infinite; }
  .rail-r { animation:cue-sag 1.9s ease-in-out infinite; }
  @keyframes cue-sol { 0%,100% { transform:translateX(0); } 50% { transform:translateX(-4px); } }
  @keyframes cue-sag { 0%,100% { transform:translateX(0); } 50% { transform:translateX(4px); } }
  .rail-wrap.at-start .rail-l, .rail-wrap.at-end .rail-r { opacity:.28; border-color:var(--edge); animation:none; }
  .rail-dots { display:flex; align-items:center; gap:7px; }
  .rail-dot { width:6px; height:6px; border-radius:99px; background:var(--edge);
    transition:width .3s cubic-bezier(.16,.84,.34,1), background .3s ease, box-shadow .3s ease; }
  .rail-dot.on { width:20px; background:var(--cyan); box-shadow:0 0 12px -2px #22d3ee; }
  .lock-strip { flex-direction:column; align-items:flex-start; gap:12px; }
  .diagram { grid-template-columns:1fr; gap:24px; }
  .device { justify-self:stretch; width:auto; }
  .flow-note-no { text-align:left; }
  .nl-band { grid-template-columns:1fr; padding:26px 18px; gap:20px; }
  .nl-band h2 { font-size:24px; }
  .nl-form { flex-wrap:wrap; }
  .nl-form input[type=email] { flex-basis:100%; }
  .closing-line { font-size:26px; }
  /* footer bir tam ekran kaplıyordu — marka üstte, linkler iki sütunda */
  .foot-grid { grid-template-columns:1fr 1fr; gap:22px 14px; }
  .foot-grid > div:first-child { grid-column:1 / -1; }
  .foot-links { gap:7px; font-size:12px; }
  .footer { padding:32px 20px 24px; }
  .foot-legal { flex-direction:column; align-items:flex-start; gap:8px; }
  .foot-right { margin-left:0; }
}

/* ——— reduced motion: floats/marquee/parallax/scan stop, counters land ——— */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .tape-inner, .sat .sat-card, .board-scan, .scan-line, .device-status, .pulse-live, .plan-pro.breathe,
  .hero-curve path[stroke], .hero-curve path[fill], .hero-curve circle, .hero-inner > *, .hero-cue,
  .hero-aurora, .hero-spark, .hero-ctas .btn-primary,
  .hn-card, .hn-icon, .hv-target, .hv-now, .rail-arrow { animation:none !important; }
  .hero-spark { display:none; }
  .hero-curve path[stroke] { stroke-dashoffset:0; }
  .rev { opacity:1; transform:none; transition:none; }
  .bcard:hover { transform:none; }
}
