/* Fontlar yerelden sunulur (assets/fonts, SIL OFL 1.1, kaynak: Google Fonts). Dış alan adına istek yok.
   Değişken (variable) fontlar: Bricolage Grotesque wght 500-700 + opsz 12-96, Source Sans 3 wght 400-600. */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:500 700;font-stretch:100%;font-display:swap;
  src:url("assets/fonts/bricolage-grotesque-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:500 700;font-stretch:100%;font-display:swap;
  src:url("assets/fonts/bricolage-grotesque-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 600;font-display:swap;
  src:url("assets/fonts/source-sans-3-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 600;font-display:swap;
  src:url("assets/fonts/source-sans-3-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink:#0B2B33; --petrol:#14505C; --mist:#DCE8E6; --bg:#F4F8F7; --lime:#C9E94B;
  --page:var(--bg); --text:var(--ink); --muted:var(--petrol); --line:var(--mist); --panel:#fff;
  --btn-bg:var(--lime); --btn-text:var(--ink);
  /* Anlamsal hata rengi (marka vurgusu değil). #B42318: zemin #F4F8F7 üzerinde 6.14:1, #fff üzerinde 6.57:1 */
  --err:#B42318;
  --head:"Bricolage Grotesque",ui-sans-serif,system-ui,"Segoe UI",Arial,sans-serif;
  --body:"Source Sans 3",ui-sans-serif,system-ui,"Segoe UI",Roboto,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{--page:var(--ink);--text:var(--bg);--muted:var(--mist);--line:var(--petrol);--panel:#0f353e;
    /* #FF8A7A: zemin #0B2B33 üzerinde 6.51:1, panel #0f353e üzerinde 5.73:1 */
    --err:#FF8A7A}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--text);font:1.125rem/1.6 var(--body);min-height:100vh;overflow-x:hidden}
.skip{position:absolute;left:-999px;top:0;background:var(--btn-bg);color:var(--btn-text);padding:.5rem 1rem;z-index:10}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--text);outline-offset:3px}
button{font-family:inherit}

/* Kenar boşlukları tek: 1.25rem (mobil), 2rem (geniş). Tek düğme biçimi, tek köşe yarıçapı (.35rem). */
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;max-width:72rem;margin:0 auto}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--text);text-decoration:none}
.brand picture{display:block}
.mark{width:2.4rem;height:2.4rem;display:block}
.word{font:700 1.5rem/1 var(--head);letter-spacing:-.01em}
.lang{display:flex;gap:.25rem}
.lang button{font:600 .875rem/1 var(--body);letter-spacing:.06em;color:var(--muted);background:none;border:1px solid transparent;border-radius:.35rem;padding:.55rem .6rem;min-width:2.75rem;min-height:2.75rem;cursor:pointer}
.lang button:hover{color:var(--text)}
.lang button[aria-pressed="true"]{color:var(--text);border-color:var(--text)}

h1,h2{font-family:var(--head);margin:0}
h1{font-weight:700;font-size:clamp(2.25rem,6vw,4.25rem);line-height:1.04;letter-spacing:-.025em;margin-bottom:1.25rem}
.lines .line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.lines [data-line]{display:block}
.cta{font:600 1.05rem/1 var(--body);background:var(--btn-bg);color:var(--btn-text);border:0;border-radius:.35rem;padding:1rem 1.5rem;min-height:3rem;cursor:pointer;transition:transform .15s}
.cta:hover{transform:translateY(-2px)}
.cta:active{transform:translateY(0) scale(.98)}
.cta:disabled{opacity:.6;cursor:progress;transform:none}

/* Hero */
.hero{max-width:72rem;margin:0 auto;padding:2rem 1.25rem 4rem;display:grid;gap:2.5rem}
.hero>*{min-width:0}
.sub{margin:0 0 2rem;max-width:34rem;color:var(--muted)}

/* Sahne: tek düz koyu zemin; içindeki parça gerçek arayüz boyutunda ve çalışır */
:root{--stage:#0B2B33;--card:#F4F8F7;--ok:#0B5D2E;--miss:#4A666D}
@media (prefers-color-scheme:dark){:root{--stage:#0f353e}}
.stage{background:var(--stage);border-radius:.75rem;padding:clamp(.75rem,3vw,2rem)}
.ui{background:var(--card);color:var(--ink);border-radius:.5rem;padding:1rem;font-size:.9375rem;line-height:1.45}
.ui-head{display:flex;align-items:center;gap:.65rem;padding:.65rem .85rem;border:1px solid var(--mist);border-radius:2rem;background:#fff;font-weight:500;font-size:1rem}
.ui-head .ico{width:1.15rem;height:1.15rem;flex:none;color:var(--petrol)}
.ui-head .q{min-width:0}
.ui-head .ex{margin-left:auto;font-size:.8125rem;color:var(--miss);white-space:nowrap;font-weight:400}
.tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:1rem 0 .75rem}
.tabs button{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;min-height:2.5rem;border:1px solid transparent;border-radius:.35rem;background:none;color:var(--ink);font:600 .9375rem/1 var(--body);cursor:pointer;transition:background .15s}
.tabs button svg{width:1rem;height:1rem;flex:none}
.tabs button:hover{background:var(--mist)}
.tabs button[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.tabs button[aria-selected="true"] svg{color:var(--lime)}
.panel{min-height:11.5rem;padding:.25rem .1rem 0}
.panel[hidden]{display:none}
.answer{margin:0 0 .75rem;font-size:1.125rem;line-height:1.5}
.answer mark{background:var(--lime);color:var(--ink);border-radius:.2rem;padding:0 .25rem;font-weight:600}
.answer sup,.src sup{font-size:.7em;margin-left:.1em}
.src{margin:0 0 1rem;font-size:.8125rem;color:var(--miss)}
.verdict{margin:0;font-weight:600}
.verdict.ok{color:var(--ok)}
.verdict.miss{color:var(--miss)}
.verdict.ok::before{content:"✓ "}
.verdict.miss::before{content:"– "}
.serp{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.35rem}
.serp li{display:flex;gap:.75rem;align-items:center;padding:.55rem .75rem;border:1px solid var(--mist);border-radius:.35rem;background:#fff}
.serp .n{width:1.25rem;font:700 1rem var(--head);color:var(--petrol)}
.serp .me{background:var(--lime);border-color:var(--lime);font-weight:600}
.serp .me .n{color:var(--ink)}

/* Nasıl çalışır: üç düz renk alanı, her birinde aynı kart, her seferinde bir adım ileride */
.how{display:grid}
.how .field{display:grid;grid-template-rows:auto 1fr auto;gap:1.5rem;padding:2rem 1.25rem;min-height:30rem}
.f1{background:var(--ink);color:var(--bg)}
.f2{background:var(--mist);color:var(--ink)}
.f3{background:var(--petrol);color:var(--bg)}
.how h2{grid-row:1;font-weight:700;font-size:clamp(1.375rem,2vw,2rem);line-height:1.15;letter-spacing:-.01em}
.how .card{grid-row:2;align-self:start;margin-top:1.5rem;justify-self:center;width:min(100%,17.5rem);transition:transform .15s}
.how .card:hover{transform:translateY(-6px)}
.how .clause{grid-row:3;margin:0;font:600 clamp(1.375rem,2vw,2rem)/1.2 var(--head);letter-spacing:-.01em}
.card .ct{margin:0 0 .75rem;font:700 1.0625rem var(--head)}
.rows,.todos{list-style:none;margin:0;padding:0}
.rows li{display:flex;justify-content:space-between;gap:.75rem;padding:.55rem 0;border-top:1px solid var(--mist)}
.rows .ok{color:var(--ok);font-weight:600}
.rows .miss{color:var(--miss)}
.todos{counter-reset:t}
.todos li{counter-increment:t;display:grid;grid-template-columns:1.5rem 1fr;gap:.25rem;padding:.55rem 0;border-top:1px solid var(--mist)}
.todos li::before{content:counter(t);font:700 1rem var(--head);color:var(--petrol)}
.trend{display:block;width:100%;height:auto;color:var(--petrol);margin:.25rem 0 .5rem}
.trend-note{margin:0;font-weight:500}

/* Bekleme listesi: koyu bant */
.band{background:var(--stage);color:var(--bg);--text:var(--bg);--muted:#B8D0CC;--line:#1d4650;--err:#FF8A7A}
.wl{max-width:72rem;margin:0 auto;padding:3.5rem 1.25rem 4rem;display:grid;gap:2rem;scroll-margin-top:1rem}
.wl:focus{outline:none}
.wl h2{font-weight:700;font-size:clamp(1.75rem,5vw,2.75rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 .75rem}
.wl-intro p{margin:0;max-width:30rem;color:var(--muted)}
.wl-form{max-width:34rem;width:100%}
.field-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}
.field-row .field{flex:1 1 14rem;margin:0}
.wl .field label{display:block;font-weight:600;margin:0 0 .4rem}
.wl input[type=email]{width:100%;font:1.125rem/1.4 var(--body);color:var(--ink);background:var(--card);border:2px solid transparent;border-radius:.35rem;padding:.75rem .85rem;min-height:3rem}
.wl input[type=email][aria-invalid=true]{border-color:var(--err);border-width:3px;padding:.7rem .8rem}
.check{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;margin:1.25rem 0 .5rem}
.check input{width:1.4rem;height:1.4rem;margin:.15rem 0 0;accent-color:var(--lime);cursor:pointer}
.check label{font-weight:400;margin:0;cursor:pointer}
.check input[aria-invalid=true]{outline:3px solid var(--err);outline-offset:2px}
.fine{margin:0 0 1rem 2.15rem;font-size:1rem;color:var(--muted)}
.wl a{color:var(--text);text-decoration:underline;text-underline-offset:.18em}
.err{margin:.4rem 0 0;font-weight:600;font-size:1rem;color:var(--err)}
.err:empty,.status:empty{display:none}
.err::before{content:"!";display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;margin-right:.45rem;border-radius:50%;background:var(--err);color:var(--stage);font:700 .8rem/1 var(--body);vertical-align:.1em}
#wl-consent-err{margin:0 0 1rem}
.status{margin:1.25rem 0 0;padding:.85rem 1rem;border-left:4px solid var(--lime);background:rgba(255,255,255,.07);border-radius:0 .35rem .35rem 0}
.band :focus-visible{outline-color:var(--lime)}

/* Alt satır */
.foot{max-width:72rem;margin:0 auto;padding:3rem 1.25rem 2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;font-size:1rem;color:var(--muted)}
.foot a{color:var(--text);text-underline-offset:.18em}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Gizlilik sayfası */
.legal{max-width:46rem;margin:0 auto;padding:2rem 1.25rem 4rem}
.legal h1{font-size:clamp(1.9rem,6vw,2.75rem);max-width:none;margin-bottom:1rem}
.legal h2{font:700 1.35rem/1.25 var(--head);margin:2.25rem 0 .5rem}
.legal h3{font:700 1.05rem/1.3 var(--head);margin:1.5rem 0 .25rem}
.legal p,.legal li{margin:.5rem 0}
.legal ul{padding-left:1.25rem}
.legal a{color:var(--text)}
.legal .todo{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--lime);padding:.75rem 1rem;border-radius:.25rem}

@media (min-width:48rem){
  .how{grid-template-columns:repeat(3,1fr)}
  .how .field{min-height:min(84svh,40rem);padding:2rem}
}
@media (min-width:56rem){
  .top{padding:1.5rem 2rem}
  .hero{grid-template-columns:5fr 7fr;grid-template-areas:"h1 h1" "copy stage";align-items:start;gap:2rem 3rem;padding:2.5rem 2rem 4.5rem}
  .hero h1{grid-area:h1;margin-bottom:0;max-width:none}
  .hero .copy{grid-area:copy;padding-top:.5rem}
  .hero .stage{grid-area:stage}
  
  .wl{grid-template-columns:1fr 1.1fr;gap:4rem;padding:5rem 2rem 5.5rem;align-items:start}
  .wl-form{justify-self:end}
  .foot{padding:3rem 2rem 2rem}
}

/* Hareket: maskeli başlık, ardından metin ve parça; alanlar kaydırınca açılır; geri bildirim düğmelerde */
@keyframes line-up{to{transform:none}}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .panel:not([hidden]){animation:fade .35s ease both}
  .js .lines [data-line]{transform:translateY(105%);animation:line-up .9s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i)*110ms + 150ms)}
  .js .rise{opacity:0;transform:translateY(14px);animation:rise .7s cubic-bezier(.16,1,.3,1) .65s forwards}
  .js .stage.rise{animation-delay:.85s}
  .js .how .field[data-rv]{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
  .js .how .field[data-rv].in{opacity:1;transform:none}
  .js[data-played] .lines [data-line]{animation:none;transform:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
