/* puritycall.com · stil (8 ekim 2026)
   sanat yönetimi: "bitkiden bileşene kontrollü dönüşüm" — belge hiyerarşisi, ince çizgi, numaralı aşama, şekil altyazısı.
   açık zemin baskın (beyaz ve mineral gri); koyu petrol yalnız mürekkep; bilim mavisi tek vurgu; logo yeşili yalnız logoda
   ve bireysel ürünler işaretinde.. köşe yok (radius 0), gölge yok, kart ızgarası yok..
   yazı: geologica (başlık ve metin, değişken; botanik adlarda eğik ve el yazısı biçimi), martian mono (bilgi satırı).. ikisi de OFL,
   sitenin kendi dosyası; grubun başka markasında kullanılmaz.. */

@font-face { font-family: "geologica"; src: url("/f/geologica-latin-full-normal.woff2") format("woff2"); font-weight: 100 900; font-style: oblique 0deg 12deg; font-display: swap; 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: "geologica"; src: url("/f/geologica-latin-ext-full-normal.woff2") format("woff2"); font-weight: 100 900; font-style: oblique 0deg 12deg; font-display: swap; 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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "martian mono"; src: url("/f/martian-mono-latin-300-normal.woff2") format("woff2"); font-weight: 300; font-display: swap; 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: "martian mono"; src: url("/f/martian-mono-latin-ext-300-normal.woff2") format("woff2"); font-weight: 300; font-display: swap; unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "martian mono"; src: url("/f/martian-mono-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; 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: "martian mono"; src: url("/f/martian-mono-latin-ext-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

:root {
  --zemin: #FFFFFF;
  --mineral: #E8ECEB;      /* mineral gri: ikinci zemin, alt bilgi */
  --murekkep: #102A2E;     /* koyu petrol: yalnız yazı ve çizgi */
  --soluk: #4A5F60;        /* ikincil yazı (beyazda 6,8:1) */
  --vurgu: #2C7180;        /* bilim mavisi: tek vurgu (beyazda 5,6:1) */
  --adacayi: #B9C9B5;      /* açık adaçayı: yalnız dolgu ve çizgi, yazıda kullanılmaz */
  --yaprak: #5AA832;       /* logo yeşili: yalnız logo ve bireysel ürünler işareti */
  --cizgi: rgba(16, 42, 46, .14);
  --cizgi-orta: rgba(16, 42, 46, .32);
  --yazi: "geologica", system-ui, -apple-system, "segoe ui", sans-serif;
  --veri: "martian mono", ui-monospace, monospace;
  --kenar: clamp(1rem, 4vw, 3rem);
  --genislik: 82rem;
  --bolum: clamp(3.5rem, 8vw, 6.5rem);
  --gorus-vurgu: var(--vurgu);
  --gorus-soluk: var(--soluk);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 1rem; }
body { margin: 0; background: var(--zemin); color: var(--murekkep); font-family: var(--yazi); font-weight: 300; font-size: 1.0625rem; line-height: 1.62; font-variation-settings: "SHRP" 0; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
a:hover { color: var(--vurgu); }
:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 3px; }
p { margin: 0 0 1em; max-width: 44rem; }
h1, h2, h3 { font-weight: 200; letter-spacing: -.02em; line-height: 1.06; margin: 0; text-wrap: balance; }
h1 { font-size: clamp(2.4rem, 5.4vw, 5.1rem); }
h2 { font-size: clamp(1.7rem, 3.1vw, 2.75rem); }
h3 { font-size: 1.15rem; font-weight: 400; letter-spacing: -.005em; line-height: 1.3; }
strong, b { font-weight: 500; }
sub { font-size: .62em; line-height: 0; vertical-align: -.28em; }
.bot { font-style: oblique 9deg; font-variation-settings: "CRSV" 1; letter-spacing: .005em; }
.gizli { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.atla { position: absolute; left: -999px; top: 0; background: var(--murekkep); color: #fff; padding: .6rem 1rem; z-index: 20; }
.atla:focus { left: 1rem; top: 1rem; }
.kap { width: 100%; max-width: var(--genislik); margin-inline: auto; padding-inline: var(--kenar); }

/* bilgi satırı: kod, numara, etiket.. her yerde aynı */
.kod, .iz, .kunye-satiri, .k-etiket, .dipnot, figcaption, .durum, .ust-kategori, .alt h2, .suzgec, .kutuphane-bas, .ut-bas, .at-bas, .bt-bas, .ks-bas { font-family: var(--veri); font-weight: 300; letter-spacing: .02em; }
.kod { display: flex; align-items: center; gap: .9rem; font-size: .72rem; color: var(--soluk); margin: 0 0 1.4rem; }
.kod-no { color: var(--vurgu); font-weight: 400; display: inline-flex; align-items: center; gap: .9rem; }
.kod-no::after { content: ""; width: 2.5rem; height: 1px; background: var(--cizgi-orta); }
.dipnot { font-size: .72rem; line-height: 1.7; color: var(--soluk); max-width: 52rem; }

/* düğmeler: tek kapı ve ikincil bağlantı */
.kapi { display: inline-flex; align-items: center; gap: 1.1rem; min-height: 3rem; padding: .7rem 1.15rem; border: 1px solid var(--murekkep); background: transparent; color: var(--murekkep); font: 400 .98rem/1.2 var(--yazi); text-decoration: none; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.kapi:hover, .kapi:focus-visible { background: var(--murekkep); color: #fff; }
.kapi-ok { font-family: var(--veri); transition: transform .25s ease; }
.kapi:hover .kapi-ok { transform: translateX(.25rem); }
.kapi:disabled { opacity: .45; cursor: not-allowed; }
.kapi:disabled:hover { background: transparent; color: var(--murekkep); }
.git { display: inline-block; line-height: 2.75rem; min-height: 2.75rem; color: var(--murekkep); font: 400 .98rem var(--yazi); text-decoration: underline; text-decoration-color: var(--cizgi-orta); background: none; border: 0; padding: 0; cursor: pointer; }
.git:hover { color: var(--vurgu); text-decoration-color: currentColor; }
.git > span[aria-hidden] { margin-left: .2rem; }

/* durum etiketleri: biçimleri farklı, gri tonda da ayırt edilir */
.durum { display: inline-block; font-size: .64rem; line-height: 1.5; padding: .05rem .45rem; border: 1px solid var(--cizgi-orta); color: var(--soluk); vertical-align: .12em; white-space: nowrap; }
.durum-o { border-style: solid; }
.durum-y { border-color: var(--vurgu); color: var(--vurgu); }
.durum-d { border-style: dashed; }
.durum-s { background: var(--mineral); border-color: transparent; color: var(--murekkep); }
.durum-h { background: var(--murekkep); border-color: var(--murekkep); color: #fff; }
.durum-f, .durum-a { border-color: var(--murekkep); color: var(--murekkep); }
.durum-a { background: var(--mineral); }
.durum-b { border-color: var(--cizgi-orta); border-style: solid; color: var(--murekkep); }
.durum-u { border-style: dotted; border-color: var(--murekkep); }
.bos { font-family: var(--veri); font-size: .78rem; color: var(--soluk); border-bottom: 1px dashed var(--cizgi-orta); }

/* ------------------------------------------------------------------ üst bölüm */
.ust { position: relative; container-type: inline-size; background: var(--zemin); border-bottom: 1px solid var(--cizgi); }
/* üst bölümün kırılımları kap sorgusuyla: yazı büyütülünce (rem büyür) menü de kendiliğinden telefon düzenine geçer */
.ust-serit { border-bottom: 1px solid var(--cizgi); }
.ust-serit-ic { display: flex; align-items: center; justify-content: space-between; min-height: 2.5rem; }
.ust-kategori { margin: 0; font-size: .68rem; color: var(--soluk); }
.ust-araclar { display: flex; align-items: center; gap: .25rem; }
.ara-simge { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; color: var(--murekkep); text-decoration: none; }
.ara-simge svg { width: 16px; height: 16px; }
.ara-simge:hover, .ara-simge[aria-current] { color: var(--vurgu); }
.dil-sec { display: flex; align-items: center; font-family: var(--veri); font-size: .7rem; color: var(--cizgi-orta); }
.dil-sec a { display: inline-flex; align-items: center; justify-content: center; min-width: 2.25rem; min-height: 2.5rem; color: var(--soluk); text-decoration: none; }
.dil-sec a[aria-current="true"] { color: var(--murekkep); text-decoration: underline; text-decoration-color: var(--vurgu); text-underline-offset: .35em; }
.ust-ana { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2rem; padding-block: .85rem; }
.logo { display: block; line-height: 0; }
.logo img { height: 3.6rem; width: auto; }
.menu { justify-self: end; }
.menu-ac { display: none; }
.menu ol { display: flex; align-items: stretch; list-style: none; margin: 0; padding: 0; }
.menu li a { position: relative; display: flex; align-items: center; min-height: 2.75rem; padding: .2rem 1rem .2rem 1rem; border-left: 1px solid var(--cizgi); font-size: .95rem; font-weight: 400; text-decoration: none; white-space: nowrap; }
.menu .m-no { position: absolute; top: -.1rem; left: 1rem; font-family: var(--veri); font-size: .56rem; color: var(--soluk); letter-spacing: .04em; }
.menu li a[aria-current="page"], .menu li a.secili { color: var(--vurgu); }
.menu li a[aria-current="page"]::after, .menu li a.secili::after { content: ""; position: absolute; left: 1rem; right: 1rem; bottom: .25rem; height: 1px; background: var(--vurgu); }
.menu .menu-b2c a { border-left: 1px solid var(--cizgi-orta); margin-left: .75rem; gap: .55rem; }
.menu-kapat { display: none; }
#pc-menu { scroll-margin-top: 10rem; } /* menü açılınca sayfa üst bölümü gösterecek kadar kayar */
.yaprak-nokta { display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: var(--yaprak); flex: none; }
.kapi-ust { min-height: 2.75rem; font-size: .9rem; padding: .55rem .9rem; }

@container (max-width: 78rem) {
  .menu li a { padding-inline: .7rem; font-size: .9rem; }
  .menu .m-no { left: .7rem; }
}
@container (max-width: 68rem) {
  .ust-ana { grid-template-columns: auto 1fr auto; gap: 1rem; }
  .menu-ac { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 .9rem; border: 1px solid var(--cizgi-orta); font-family: var(--veri); font-size: .75rem; text-decoration: none; }
  .menu ol { display: none; }
  .menu ol:target, .menu:focus-within ol { display: flex; flex-direction: column; position: absolute; left: 0; right: 0; top: 100%; z-index: 10; background: var(--zemin); border-top: 1px solid var(--murekkep); border-bottom: 1px solid var(--murekkep); padding: .5rem var(--kenar) 1rem; }
  .menu li a { border-left: 0; border-bottom: 1px solid var(--cizgi); min-height: 3rem; padding: .9rem 0 .9rem 3rem; font-size: 1.05rem; }
  .menu .m-no { top: 1.25rem; left: 0; font-size: .62rem; }
  .menu .menu-b2c a { margin: 0; border-left: 0; padding-left: 3rem; }
  .menu li a[aria-current="page"]::after, .menu li a.secili::after { left: 3rem; right: auto; width: 2rem; bottom: .5rem; }
  .menu-kapat { display: block; }
  .menu-kapat a { font-family: var(--veri); font-size: .72rem; color: var(--soluk); }
}
@container (max-width: 40rem) {
  .kapi-ust { display: none; }
  .ust-ana { grid-template-columns: auto 1fr; }
  .logo img { height: 3rem; }
  .ust-kategori { font-size: .6rem; }
}

/* ------------------------------------------------------------------ şekil (görsel levha): kesim işaretleri ve altyazı */
.sekil { margin: 0; }
.sekil-alan { position: relative; margin: 10px; }
.kesim { position: absolute; width: 14px; height: 14px; pointer-events: none; }
.k1 { top: -10px; left: -10px; border-top: 1px solid var(--murekkep); border-left: 1px solid var(--murekkep); }
.k2 { top: -10px; right: -10px; border-top: 1px solid var(--murekkep); border-right: 1px solid var(--murekkep); }
.k3 { bottom: -10px; left: -10px; border-bottom: 1px solid var(--murekkep); border-left: 1px solid var(--murekkep); }
.k4 { bottom: -10px; right: -10px; border-bottom: 1px solid var(--murekkep); border-right: 1px solid var(--murekkep); }
figcaption { display: block; font-size: .7rem; line-height: 1.6; color: var(--soluk); margin: 1.1rem 10px 0; max-width: 48rem; }
.sekil-no { color: var(--vurgu); font-weight: 400; white-space: nowrap; margin-right: .9rem; }

/* ------------------------------------------------------------------ ana sayfa: kapak
   tek görüntü, tek cümle, tek kapı.. masaüstünde başlık ve kapı üstte, görsel altta boydan boya; telefonda görsel başlığın altında */
.kapak { padding-block: clamp(1.5rem, 3.5vh, 2.75rem) clamp(2.5rem, 5vw, 4rem); }
.kapak-izgara { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, 22rem); grid-template-areas: "kod kod" "baslik yan" "sekil sekil"; column-gap: clamp(2rem, 5vw, 5rem); align-items: end; }
.kapak-kod { grid-area: kod; margin-bottom: .9rem; }
.kapak h1 { grid-area: baslik; font-size: clamp(2.5rem, 5.2vw, 6rem); letter-spacing: -.035em; line-height: .98; }
.kapak-yan { grid-area: yan; display: grid; gap: 1.25rem; justify-items: start; padding-bottom: .35rem; }
.kapak .sekil-kapak { grid-area: sekil; margin-top: clamp(1.25rem, 3vh, 2.25rem); }
.sekil-kapak .sekil-alan { aspect-ratio: 12 / 5; container-type: size; }
.sekil-kapak img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 68%; }
.isaret { position: absolute; display: inline-flex; align-items: center; gap: .55rem; font-family: var(--veri); font-size: .68rem; font-weight: 300; background: rgba(255,255,255,.92); border: 1px solid var(--cizgi-orta); padding: .3rem .55rem; white-space: nowrap; }
.isaret b { font-weight: 400; color: var(--vurgu); }
.isaret .bot { font-family: var(--yazi); font-size: .8rem; }
.isaret::after { content: ""; position: absolute; left: 1.1rem; top: 100%; width: 1px; height: var(--uzun, 10cqh); background: var(--murekkep); transform-origin: top; animation: cizgi 1s .4s ease-out both; }
.isaret-a { left: 21%; top: 20%; --uzun: 25cqh; }
.isaret-b { left: 64%; top: 14%; --uzun: 28cqh; }
@keyframes cizgi { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.giris { font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.5; margin: 0; max-width: 40rem; }

/* ------------------------------------------------------------------ bölümler */
.bolum { padding-block: var(--bolum); border-top: 1px solid var(--cizgi); }
.kapak + .bolum { border-top-color: var(--murekkep); }
.bolum-bas { margin-bottom: clamp(2rem, 4vw, 3.25rem); }
.bolum-bas h2 { max-width: 24ch; }
.bolum-alt { margin: 2.5rem 0 0; display: flex; gap: 2rem; flex-wrap: wrap; align-items: center; }

/* iki yöntem */
.iki-yontem > *, .iki-sutun > * { min-width: 0; }
.iki-yontem { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); }
.yontem { display: flex; flex-direction: column; gap: 1rem; }
.yontem-harf { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: 1px solid var(--murekkep); font-family: var(--veri); font-size: .8rem; margin: 0; }
.yontem h3 { font-size: clamp(1.35rem, 2vw, 1.7rem); font-weight: 300; letter-spacing: -.015em; }
.yontem-fiil { font-size: 1.05rem; color: var(--vurgu); margin: -.5rem 0 .5rem; }
.yontem .sekil { margin-block: .5rem 1rem; }

/* çizimler */
.sema { width: 100%; height: auto; overflow: visible; }
.sema-kap { position: relative; }
.sema text { font-family: var(--veri); font-size: 10.5px; font-weight: 300; fill: var(--murekkep); }
.sema .c-ince { fill: var(--soluk); font-size: 9.5px; }
.c-hat path, .c-hat rect, .c-hat circle { fill: none; stroke: var(--murekkep); stroke-width: 1.2; }
.c-hat .c-ceket { fill: var(--mineral); }
.c-hat .c-cik { stroke: var(--vurgu); stroke-width: 1.5; }
.c-dolgu path { stroke: var(--adacayi); stroke-width: 3; }
.c-donus { fill: none; stroke: var(--vurgu); stroke-width: 1; stroke-dasharray: 4 4; }
.c-ok path { fill: none; stroke: var(--murekkep); stroke-width: 1.2; }
.c-film { fill: none; stroke: var(--vurgu); stroke-width: 1.6; }
.c-gosterge { fill: none; stroke: var(--cizgi-orta); stroke-width: 1; stroke-dasharray: 2 3; }
.c-no circle { fill: var(--zemin); stroke: var(--vurgu); stroke-width: 1; }
.c-no text { fill: var(--vurgu); font-size: 9.5px; font-weight: 400; }

/* tanım tablosu */
.tablo { margin: 0; border-bottom: 1px solid var(--cizgi); }
.tablo .satir { display: grid; grid-template-columns: minmax(0, 14rem) minmax(0, 1fr); gap: 1.5rem; padding-block: .95rem; border-top: 1px solid var(--cizgi); }
.tablo dt { font-family: var(--veri); font-size: .7rem; color: var(--soluk); padding-top: .3rem; }
.tablo dd { margin: 0; min-width: 0; overflow-wrap: break-word; }
.satir-not { display: block; font-size: .85rem; color: var(--soluk); margin-top: .3rem; }
.tablo-uzun .satir { grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); }

/* akış */
.akis { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.akis li { position: relative; padding: 1.6rem 1.5rem 0 0; border-top: 1px solid var(--murekkep); }
.akis li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--zemin); border: 1px solid var(--murekkep); }
.akis li:first-child::before { background: var(--yaprak); border-color: var(--yaprak); }
.akis-no { display: block; font-family: var(--veri); font-size: .7rem; color: var(--vurgu); margin-bottom: .6rem; }
.akis h3 { margin-bottom: .5rem; }
.akis p { font-size: .95rem; }
.akis .akis-belge { font-family: var(--veri); font-size: .68rem; color: var(--murekkep); }
.akis-belge span { color: var(--soluk); margin-right: .6rem; }

/* bileşen kütüphanesi */
.kutuphane-bas, .kutuphane-satir a { display: grid; grid-template-columns: 3.5rem minmax(0, 1.7fr) minmax(0, .8fr) minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.25rem; align-items: center; }
.kutuphane-bas { font-size: .66rem; color: var(--soluk); padding-bottom: .75rem; }
.kutuphane-liste { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--cizgi); }
.kutuphane-satir a { padding-block: .7rem; border-top: 1px solid var(--cizgi); text-decoration: none; transition: background-color .2s ease; }
.kutuphane-satir a:hover { background: linear-gradient(90deg, var(--mineral), transparent); color: inherit; }
.k-no { font-family: var(--veri); font-size: .75rem; color: var(--vurgu); }
.k-ad { display: flex; align-items: center; gap: 1.1rem; }
.k-ad img { width: 36px; height: 102px; object-fit: cover; flex: none; }
.k-ad strong { display: block; font-weight: 400; font-size: 1.15rem; }
.k-ad .bot { color: var(--soluk); font-size: .95rem; }
.k-kisim, .k-tip { font-size: .95rem; }
.k-etiket { display: none; font-size: .64rem; color: var(--soluk); margin-right: .6rem; }
.k-belge { display: flex; gap: .35rem; flex-wrap: wrap; }
.belge-isareti { display: inline-flex; align-items: center; justify-content: center; min-width: 2.6rem; padding: .15rem .35rem; font-family: var(--veri); font-size: .6rem; border: 1px solid var(--cizgi-orta); color: var(--soluk); }
.belge-sablon, .belge-var { background: var(--murekkep); border-color: var(--murekkep); color: #fff; }
.belge-numune { border-color: var(--murekkep); color: var(--murekkep); }
.belge-seri { border-style: dotted; border-color: var(--murekkep); color: var(--murekkep); }
.belge-gerekirse { border-style: dashed; }
.belge-yok { border-color: var(--cizgi); color: rgba(74, 95, 96, .75); }
.bt-satir .belge-isareti { min-width: 0; width: .8rem; height: .8rem; padding: 0; margin-right: .6rem; vertical-align: -.05em; }

.suzgec { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: 2rem; font-size: .7rem; }
.suzgec-ad { color: var(--soluk); margin-right: .6rem; }
.suz-girdi { position: absolute; opacity: 0; width: 1px; height: 1px; }
.suzgec label { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 .9rem; border: 1px solid var(--cizgi-orta); cursor: pointer; }
.suzgec label:hover { border-color: var(--murekkep); }
.suz-girdi:checked + label { background: var(--murekkep); border-color: var(--murekkep); color: #fff; }
.suz-girdi:focus-visible + label { outline: 2px solid var(--vurgu); outline-offset: 3px; }
.kutuphane:has(#suz-sabit:checked) .kutuphane-satir:not([data-tur="sabit"]),
.kutuphane:has(#suz-ekstrakt:checked) .kutuphane-satir:not([data-tur="ekstrakt"]),
.kutuphane:has(#suz-tohum:checked) .kutuphane-satir:not([data-kisim="tohum"]),
.kutuphane:has(#suz-cekirdek:checked) .kutuphane-satir:not([data-kisim="cekirdek"]),
.kutuphane:has(#suz-yaprak:checked) .kutuphane-satir:not([data-kisim="yaprak"]) { display: none; }
.kutuphane .dipnot { margin-top: 1.25rem; }

/* kanıt: belge türleri */
.kanit { display: grid; gap: 2rem; }
.belge-yigini { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.belge-yigini li { position: relative; display: flex; flex-direction: column; gap: .5rem; padding: 1.25rem 1.25rem 1.4rem; border: 1px solid var(--murekkep); background: var(--zemin); clip-path: polygon(0 0, calc(100% - 1.4rem) 0, 100% 1.4rem, 100% 100%, 0 100%); min-height: 15rem; }
.belge-yigini li::after { content: ""; position: absolute; top: 0; right: 0; width: 1.4rem; height: 1.4rem; background: linear-gradient(225deg, var(--zemin) 50%, var(--murekkep) 50%, var(--murekkep) calc(50% + 1px), var(--mineral) calc(50% + 1px)); }
.belge-yigini .pasaport { border-style: dashed; }
.b-kod { font-family: var(--veri); font-size: 1.6rem; font-weight: 300; letter-spacing: -.02em; }
.b-ad { font-weight: 400; }
.b-ne { font-size: .9rem; color: var(--soluk); flex: 1; }
.belge-yigini .durum { align-self: flex-start; }
.kanit-not { max-width: 52rem; margin: 0; }

/* bireysel ürünler girişi */
.bireysel-giris { background: var(--mineral); border-top: 0; }
.bireysel-ic { display: grid; grid-template-columns: minmax(10rem, 15rem) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.bireysel-gorsel img { width: auto; max-height: 26rem; margin-inline: auto; }
.bireysel-metin h2 { margin-bottom: 1.25rem; }
.bireysel-metin .kod-no::after { width: 1.25rem; }
.imza-soz { font-style: oblique 9deg; font-variation-settings: "CRSV" 1; font-weight: 300; font-size: 1.3rem; color: var(--vurgu); margin: 1.5rem 0; }

/* davet */
.davet { border-top-color: var(--murekkep); }
.davet-baslik { font-size: clamp(2.6rem, 7.4vw, 7rem); letter-spacing: -.04em; line-height: .95; margin-bottom: 2.5rem; max-width: none; }
.davet-alt { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 3rem; align-items: start; }
.davet-alt p:first-child { font-size: 1.15rem; margin: 0; }
.iletisim-satiri { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .5rem 2rem; font-family: var(--veri); font-size: .78rem; margin: 0; }
.iletisim-satiri a { display: inline-flex; align-items: center; min-height: 2.75rem; }

/* ------------------------------------------------------------------ iç sayfa başlığı (belge başı) */
.belge-bas { border-bottom: 1px solid var(--murekkep); }
.belge-bas-ic { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem 4rem; padding-block: clamp(2rem, 5vw, 3.5rem) clamp(2rem, 4vw, 3rem); }
.iz { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .68rem; color: var(--soluk); margin-bottom: 1.5rem; }
.iz a { color: var(--soluk); text-decoration: none; min-height: 1.75rem; display: inline-flex; align-items: center; }
.iz a:hover { color: var(--vurgu); }
.iz [aria-current] { color: var(--murekkep); }
.iz-ayrac { color: var(--cizgi-orta); }
.belge-bas h1 { font-size: clamp(2.2rem, 4.6vw, 4.2rem); letter-spacing: -.03em; max-width: 18ch; }
.belge-bas .ozet { font-size: clamp(1.02rem, 1.3vw, 1.2rem); margin: 1.5rem 0 0; max-width: 46rem; }
.kunye-satiri { margin: 0; align-self: end; display: grid; gap: .45rem; padding-left: 1.25rem; border-left: 1px solid var(--cizgi); font-size: .66rem; min-width: 11rem; }
.kunye-satiri div { display: flex; justify-content: space-between; gap: 1.5rem; }
.kunye-satiri dt { color: var(--soluk); }
.kunye-satiri dd { margin: 0; color: var(--murekkep); }

.iki-sutun { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.metin-sutun { max-width: calc(46rem + 2 * var(--kenar)); margin-inline: 0; }
.metin-sutun h2 { font-size: 1.5rem; font-weight: 300; margin: 2.5rem 0 .75rem; }
.metin-sutun h2:first-child { margin-top: 0; }
.genis-metin { font-size: 1.15rem; max-width: 46rem; }

/* karşılaştırma tablosu */
.karsilastirma { border-bottom: 1px solid var(--cizgi); }
.ks-satir { display: grid; grid-template-columns: minmax(7rem, 11rem) minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; padding-block: 1rem; border-top: 1px solid var(--cizgi); }
.ks-satir [role="rowheader"] { font-family: var(--veri); font-size: .7rem; color: var(--soluk); padding-top: .25rem; }
.ks-bas { border-top: 1px solid var(--murekkep); font-size: .72rem; color: var(--vurgu); }
.ks-bas [role="columnheader"] { font-family: var(--yazi); font-size: 1.05rem; font-weight: 400; color: var(--murekkep); }

/* modül listesi */
.modul-liste { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--cizgi); }
.modul-liste a { display: grid; grid-template-columns: 3rem minmax(0, 1fr) minmax(0, 1.2fr) 2rem; gap: 1.5rem; align-items: center; padding-block: 1.4rem; border-top: 1px solid var(--cizgi); text-decoration: none; }
.modul-harf { font-family: var(--veri); font-size: .78rem; color: var(--vurgu); }
.modul-ad { font-size: clamp(1.2rem, 2vw, 1.6rem); font-weight: 300; letter-spacing: -.015em; }
.modul-ne { font-size: .92rem; color: var(--soluk); }
.modul-ok { font-family: var(--veri); justify-self: end; transition: transform .25s ease; }
.modul-liste a:hover .modul-ok { transform: translateX(.3rem); }

/* söylemediklerimiz */
.soylemeyiz { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--cizgi); }
.soylemeyiz li { display: grid; grid-template-columns: minmax(10rem, 16rem) minmax(0, 1fr); gap: 2rem; padding-block: 1.1rem; border-top: 1px solid var(--cizgi); }
.hayir { color: var(--soluk); text-decoration: line-through; text-decoration-thickness: 1px; }

/* saflık ve verim dengesi */
.denge { display: grid; gap: 1.5rem; max-width: 52rem; }
.denge-cizgi { position: relative; display: flex; justify-content: space-between; font-family: var(--veri); font-size: .68rem; color: var(--soluk); padding-top: 1.1rem; border-top: 1px solid var(--murekkep); }
.denge-cizgi::before, .denge-cizgi::after { content: ""; position: absolute; top: -5px; width: 1px; height: 9px; background: var(--murekkep); }
.denge-cizgi::before { left: 0; } .denge-cizgi::after { right: 0; }

/* model listesi */
.model-liste { margin: 0 0 1.5rem; padding: 0; list-style: none; counter-reset: m; columns: 3 14rem; column-gap: 2rem; }
.model-liste li { counter-increment: m; padding: .5rem 0; border-top: 1px solid var(--cizgi); break-inside: avoid; }
.model-liste li::before { content: counter(m, decimal-leading-zero); font-family: var(--veri); font-size: .66rem; color: var(--vurgu); margin-right: 1rem; }

/* bileşen sayfası */
.bilesen-ic { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: start; }
.bilesen-serit { margin: 0; position: sticky; top: 1.5rem; }
.bilesen-serit img { width: 8rem; height: auto; }
.bilesen-serit figcaption { margin: .75rem 0 0; }
.bilesen-eylem { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; }

/* uygulamalar */
.uygulama-tablo ol { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--cizgi); }
.ut-bas, .uygulama-tablo li { display: grid; grid-template-columns: 3rem minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1.2fr); gap: 1.5rem; }
.ut-bas { font-size: .66rem; color: var(--soluk); padding-bottom: .75rem; }
.ut-bas span:first-child { grid-column: 2; }
.uygulama-tablo li { padding-block: 1.25rem; border-top: 1px solid var(--cizgi); align-items: start; }
.uygulama-tablo li p { margin: 0; font-size: .95rem; }
.ut-no { font-family: var(--veri); font-size: .72rem; color: var(--vurgu); padding-top: .2rem; }
.ut-ad { font-size: 1.2rem; font-weight: 400; letter-spacing: -.01em; }

/* b2b */
.calisma-liste { list-style: none; margin: 0 0 1.5rem; padding: 0; border-bottom: 1px solid var(--cizgi); }
.calisma-liste > li { display: grid; grid-template-columns: 3rem minmax(0, 1fr) minmax(0, 2fr); gap: 1.5rem clamp(1.5rem, 3vw, 3rem); padding-block: 1.6rem; border-top: 1px solid var(--cizgi); align-items: start; }
.cl-bas p { margin-top: .5rem; }
.cl-ayrinti { margin: 0; display: grid; gap: .75rem; container-type: inline-size; }
.cl-ayrinti > div { display: grid; grid-template-columns: minmax(0, 8rem) minmax(0, 1fr); gap: 1rem; }
.cl-ayrinti dt { font-family: var(--veri); font-size: .66rem; color: var(--soluk); padding-top: .2rem; }
.cl-ayrinti dd { margin: 0; font-size: .95rem; }
.cl-net dd { color: var(--soluk); }
@container (max-width: 26rem) { .cl-ayrinti > div { grid-template-columns: 1fr; gap: .2rem; } }
.calisma-liste p { margin: 0; font-size: .95rem; }
.cl-no { font-family: var(--veri); font-size: .72rem; color: var(--vurgu); padding-top: .3rem; }
.calisma-liste h3 { font-size: 1.25rem; font-weight: 400; }
.cl-marka { color: var(--soluk); font-weight: 300; }
.cl-soru { color: var(--soluk); }
.surec { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.25rem 1.5rem; }
.surec li { display: grid; gap: .35rem; padding-top: 1rem; border-top: 1px solid var(--murekkep); font-size: .95rem; }
.s-no { font-family: var(--veri); font-size: .7rem; color: var(--vurgu); }
.surec strong { font-weight: 400; font-size: 1.05rem; }

/* laboratuvar */
.analiz-tablo ol { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--cizgi); }
.at-bas, .analiz-tablo li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1.2fr); gap: 1.5rem; }
.at-deger { font-family: var(--veri); font-size: .74rem; line-height: 1.7; padding-top: .1rem; }
.at-bas { font-size: .66rem; color: var(--soluk); padding-bottom: .75rem; }
.analiz-tablo li { padding-block: 1.1rem; border-top: 1px solid var(--cizgi); font-size: .95rem; }
.analiz-tablo strong { font-weight: 400; }
.at-yontem { font-family: var(--veri); font-size: .75rem; padding-top: .15rem; }

/* belge merkezi */
.belge-tablo { border-bottom: 1px solid var(--cizgi); }
.bt-satir { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 1.5rem; padding-block: 1rem; border-top: 1px solid var(--cizgi); font-size: .9rem; align-items: center; }
.bt-bas { border-top-color: var(--murekkep); font-size: .7rem; color: var(--soluk); }
.bt-satir a { font-size: 1.05rem; }

/* bireysel ürünler sayfası */
.urun-ic { display: grid; grid-template-columns: minmax(9rem, 14rem) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.urun-sise { margin: 0; background: var(--mineral); padding: 2rem 1.5rem 1.25rem; }
.urun-sise img { max-height: 24rem; width: auto; margin-inline: auto; }
.urun-sise figcaption { margin: 1.25rem 0 0; }
.urun-liste { list-style: none; margin: 0 0 1rem; padding: 0; border-bottom: 1px solid var(--cizgi); }
.urun-liste > li { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; gap: 1.25rem; align-items: start; padding-block: 1.25rem; border-top: 1px solid var(--cizgi); }
.urun-liste .ul-no { padding-top: .3rem; }
.ul-no { font-family: var(--veri); font-size: .72rem; color: var(--vurgu); }
.ul-ad strong { display: block; font-weight: 400; font-size: 1.1rem; }
.ul-ad .bot { color: var(--soluk); font-size: .9rem; }
.ul-hacim { font-size: .9rem; }
.satin-al { margin-top: 2.5rem; padding: 1.5rem; border: 1px dashed var(--cizgi-orta); }
.satin-al h2 { font-size: 1.3rem; font-weight: 300; margin-bottom: .75rem; }
.satin-al p { margin: 0; }

/* sss */
.sss-liste { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--cizgi); max-width: 60rem; }
.sss-liste li { border-top: 1px solid var(--cizgi); }
.sss-liste summary { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 1.5rem; gap: 1rem; align-items: baseline; padding-block: 1.15rem; cursor: pointer; list-style: none; font-size: 1.12rem; font-weight: 400; }
.sss-liste summary::-webkit-details-marker { display: none; }
.sss-liste summary::after { content: "+"; font-family: var(--veri); color: var(--vurgu); justify-self: end; }
.sss-liste details[open] summary::after { content: "−"; }
.sss-no { font-family: var(--veri); font-size: .7rem; color: var(--vurgu); }
.sss-liste details p { margin: 0 0 1.4rem 4rem; }

/* teknik talep */
.talep-ic { display: grid; grid-template-columns: minmax(0, 1fr) minmax(14rem, 20rem); gap: 2.5rem clamp(2rem, 5vw, 5rem); align-items: start; }
.talep-hata { grid-column: 1 / -1; border: 1px solid var(--vurgu); padding: 1.25rem 1.5rem; }
.talep-hata .kod { color: var(--vurgu); margin-bottom: .75rem; }
.talep-hata p:last-child { margin: 0; }
.talep-no { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1.25rem; padding: 1.1rem 1.25rem; border: 1px solid var(--murekkep); max-width: max-content; }
.talep-no .k-etiket { display: inline; margin: 0; }
.talep-no strong { font-family: var(--veri); font-weight: 400; font-size: 1.15rem; letter-spacing: .04em; color: var(--vurgu); }
.talep-form { display: grid; gap: 2.25rem; }
.talep-form fieldset { margin: 0; padding: 1.25rem 0 0; border: 0; border-top: 1px solid var(--murekkep); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 2rem; min-width: 0; }
.talep-form legend { font-family: var(--veri); font-size: .7rem; color: var(--vurgu); padding: 0 1rem 0 0; float: left; width: 100%; grid-column: 1 / -1; margin-bottom: .25rem; }
.alan { display: grid; gap: .3rem; }
.alan > span { font-family: var(--veri); font-size: .68rem; color: var(--soluk); }
.zorunlu { color: var(--vurgu); }
.alan input, .alan select, .alan textarea { width: 100%; min-height: 2.75rem; border: 0; border-bottom: 1px solid var(--murekkep); border-radius: 0; background: transparent; color: var(--murekkep); font: 300 1.02rem var(--yazi); padding: .45rem 0; }
.alan select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--murekkep) 50%), linear-gradient(135deg, var(--murekkep) 50%, transparent 50%); background-position: calc(100% - 10px) 55%, calc(100% - 5px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
.alan textarea { resize: vertical; border: 1px solid var(--cizgi-orta); padding: .6rem .7rem; }
.alan input:focus, .alan select:focus, .alan textarea:focus { outline: none; border-bottom: 2px solid var(--vurgu); }
.alan input:focus-visible, .alan select:focus-visible, .alan textarea:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 2px; }
.alan-genis { grid-column: 1 / -1; }
.onay { display: flex; gap: .7rem; align-items: flex-start; font-size: .95rem; }
.onay input { width: 1.25rem; height: 1.25rem; margin: .2rem 0 0; accent-color: var(--vurgu); flex: none; }
.form-eylem { margin: 0; }
.tuzak { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dugmeler { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; }
.talep-yan { grid-column: 2; position: sticky; top: 1.5rem; }
.talep-form > .dipnot { margin: -1.25rem 0 0; }
.talep-yan h2 { font-size: 1.2rem; font-weight: 300; margin-bottom: 1rem; }
.talep-yan .tablo .satir { grid-template-columns: 1fr; gap: .2rem; }

/* 404 */
.yok { border-top: 0; min-height: 50vh; }
.yok h1 { margin-bottom: 1rem; }

/* ------------------------------------------------------------------ alt bilgi */
.alt { overflow-wrap: break-word; background: var(--mineral); padding-block: clamp(3rem, 6vw, 4.5rem) 2rem; font-size: .92rem; }
.alt-bas { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem 3rem; padding-bottom: 2.25rem; border-bottom: 1px solid var(--cizgi-orta); }
.alt-logo { height: 4.75rem; width: auto; }
.alt-bas .imza-soz { margin: 0; font-size: clamp(1.2rem, 2vw, 1.55rem); color: var(--murekkep); }
.alt-izgara { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.3fr); gap: 2rem; padding-block: 2.25rem; }
.alt h2 { font-size: .66rem; color: var(--soluk); margin-bottom: 1rem; letter-spacing: .02em; }
.alt ul { list-style: none; margin: 0; padding: 0; }
.alt-sutun a { display: inline-flex; align-items: center; min-height: 2.25rem; text-decoration: none; }
.alt-sutun a:hover { text-decoration: underline; }
.alt-kunye p { margin: 0 0 .5rem; }
.alt-kunye a { display: inline-flex; min-height: 2.25rem; align-items: center; }
.alt-sosyal { border-top: 1px solid var(--cizgi-orta); padding-block: 1rem; }
.sosyal { display: flex; flex-wrap: wrap; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.sosyal a, .sosyal .bekliyor { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--murekkep); }
.sosyal a:hover { color: var(--vurgu); }
.sosyal .bekliyor { opacity: .3; }
.alt-imza { border-top: 1px solid var(--cizgi-orta); padding-top: 1.25rem; }
.telif, .imza { font-size: .82rem; color: var(--soluk); margin: 0; max-width: none; }
.telif a { color: var(--soluk); }
.grup-imza { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.grup-imza-logo { display: flex; align-items: center; gap: .7rem; padding: .3rem 0; transition: opacity .2s ease; }
.grup-imza-logo:hover, .grup-imza-logo:focus-visible { opacity: .8; }
.grup-imza-karakter { width: auto; height: 50px; }
.grup-imza-yazi { width: 170px; height: auto; }

/* ------------------------------------------------------------------ dar ekran */
@media (max-width: 62rem) {
  .iki-yontem, .iki-sutun { grid-template-columns: 1fr; }
  .akis { grid-template-columns: 1fr; }
  .akis li { border-top: 0; border-left: 1px solid var(--murekkep); padding: 0 0 1.75rem 1.75rem; }
  .akis li::before { top: .2rem; left: -5px; }
  .belge-yigini { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .surec { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .alt-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .alt-kunye { grid-column: 1 / -1; }
  .talep-ic { grid-template-columns: 1fr; }
  .talep-yan { grid-column: 1; grid-row: auto; position: static; }
  .uygulama-tablo li, .calisma-liste > li { grid-template-columns: 3rem minmax(0, 1fr); }
  .uygulama-tablo li p { grid-column: 2; }
  .cl-bas, .cl-ayrinti { grid-column: 2; }
  .ut-bas { display: none; }
  .uygulama-tablo .k-etiket, .calisma-liste .k-etiket { display: block; margin-bottom: .2rem; }
  .analiz-tablo li { grid-template-columns: 1fr; gap: .35rem; }
  .at-bas { display: none; }
}
@media (max-width: 48rem) {
  .belge-bas-ic { grid-template-columns: 1fr; }
  .kunye-satiri { border-left: 0; border-top: 1px solid var(--cizgi); padding: .9rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; }
  .kunye-satiri div { gap: .6rem; }
  .davet-alt { grid-template-columns: 1fr; }
  .kapak-izgara { grid-template-columns: 1fr; grid-template-areas: "kod" "baslik" "sekil" "yan"; }
  .kapak-yan { margin-top: 2rem; }
  .sekil-kapak .sekil-alan { aspect-ratio: 4 / 3; }
  .sekil-kapak img { object-position: 62% 70%; }
  .isaret-a { left: 6%; top: 14%; --uzun: 30cqh; }
  .isaret-b { left: auto; right: 4%; top: 34%; --uzun: 16cqh; }
  .isaret-b::after { left: auto; right: 1.4rem; }
  .kutuphane-bas { display: none; }
  .kutuphane-satir a { grid-template-columns: 2.25rem minmax(0, 1fr); gap: .5rem 1rem; padding-block: 1rem; }
  .k-ad { grid-column: 2; }
  .k-kisim, .k-tip, .k-belge { grid-column: 2; font-size: .9rem; }
  .k-etiket { display: inline; }
  .tablo .satir, .tablo-uzun .satir, .soylemeyiz li, .ks-satir { grid-template-columns: 1fr; gap: .35rem; }
  .ks-bas { display: none; }
  .ks-satir [role="cell"]:nth-child(2)::before { content: "a · "; font-family: var(--veri); font-size: .7rem; color: var(--vurgu); }
  .ks-satir [role="cell"]:nth-child(3)::before { content: "b · "; font-family: var(--veri); font-size: .7rem; color: var(--vurgu); }
  .modul-liste a { grid-template-columns: 2rem minmax(0, 1fr) 1.5rem; }
  .modul-ne { grid-column: 2; grid-row: 2; }
  .modul-ok { grid-row: 1; grid-column: 3; }
  .bireysel-ic, .urun-ic, .bilesen-ic { grid-template-columns: 1fr; }
  .bireysel-gorsel img { max-height: 18rem; }
  .bilesen-serit { position: static; display: flex; gap: 1rem; align-items: end; }
  .bilesen-serit img { width: 4.5rem; }
  .urun-sise img { max-height: 16rem; }
  .urun-liste > li { grid-template-columns: 2.25rem minmax(0, 1fr); gap: .35rem 1rem; }
  .ul-hacim, .urun-liste .git { grid-column: 2; }
  .talep-form fieldset { grid-template-columns: 1fr; }
  .bt-satir { grid-template-columns: 1fr 1fr 1fr; gap: .5rem 1rem; }
  .bt-satir [role="rowheader"] { grid-column: 1 / -1; }
  .bt-bas [role="columnheader"]:first-child { display: none; }
  .sss-liste details p { margin-left: 0; }
  .grup-imza { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 40rem) {
  .sema-kap { overflow-x: auto; overscroll-behavior-x: contain; padding-bottom: .5rem; }
  .sema-kap .sema { min-width: 34rem; }
}
@media (max-width: 30rem) {
  .belge-yigini, .surec { grid-template-columns: 1fr; }
  .belge-yigini li { min-height: 0; }
  .alt-izgara { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .menu-ac { padding: 0 .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media print {
  .ust-serit, .menu, .kapi-ust, .alt-sosyal, .suzgec { display: none; }
  .bolum { padding-block: 1.5rem; }
}

/* ------------------------------------------------------------------ süperkritik dosyaları: tesis, döngü, föy, sistem (8 ekim 2026) */
/* tesis fotoğrafı: harfli işaret, çerçeve yok; harf altyazıdaki satırla eşleşir */
.tf { position: relative; margin: 0; min-width: 0; }
.tf img { width: 100%; height: 100%; object-fit: cover; background: var(--mineral); }
.tf-harf { position: absolute; left: .75rem; top: .75rem; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; background: rgba(255,255,255,.94); border: 1px solid var(--murekkep); font-family: var(--veri); font-size: .72rem; color: var(--vurgu); }
.tesis-yazi { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: .45rem; font-family: var(--veri); font-size: .7rem; line-height: 1.6; color: var(--soluk); }
.tesis-yazi b { font-weight: 400; color: var(--vurgu); margin-right: .7rem; }
.tesis-yazi-yatay { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin: 1.5rem 0 0; }

/* ana sayfa: büyük hat fotoğrafı, uzun kolon, altta kapak şeridi; sağda künye */
.tesis-izgara { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .72fr) minmax(0, 1fr); grid-template-areas: "a b yan" "c c yan"; gap: 1.25rem clamp(1.5rem, 3vw, 3rem); align-items: start; }
.tf-buyuk { grid-area: a; aspect-ratio: 4 / 3; }
.tf-uzun { grid-area: b; align-self: stretch; }
.tf-kucuk { grid-area: c; aspect-ratio: 3 / 1; }
.tf-kucuk img { object-position: 50% 40%; }
.tesis-yan { grid-area: yan; min-width: 0; }
.tesis-yan .tablo .satir { grid-template-columns: 1fr; gap: .2rem; padding-block: .75rem; }
.tesis-yan .bolum-alt { margin-top: 1.5rem; }

/* tesis ve laboratuvar: beş fotoğraflık levha */
.tesis-galeri { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(11rem, 17vw, 16rem); grid-template-areas: "a a b d" "c e b d"; gap: 1rem; }
.tg-a { grid-area: a; } .tg-b { grid-area: b; } .tg-c { grid-area: c; } .tg-d { grid-area: d; } .tg-e { grid-area: e; }
.tg-e img { object-position: 30% 50%; }
.tg-a img { object-position: 50% 75%; }

/* teknoloji: şema ve ekran yan yana */
.sema-cift { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.sekil-foto img { width: 100%; }

/* sistem ailesi tablosu: dar ekranda yatay kayar */
.sistem-kap + .tablo + .dipnot { margin-top: 1.25rem; }
.sistem-kap { overflow-x: auto; overscroll-behavior-x: contain; margin-bottom: 2.5rem; border-bottom: 1px solid var(--cizgi); }
.sistem { width: 100%; min-width: 54rem; border-collapse: collapse; }
.sistem th, .sistem td { text-align: left; vertical-align: top; padding: .85rem 1rem .85rem 0; border-top: 1px solid var(--cizgi); }
.sistem thead th { font-family: var(--veri); font-weight: 300; font-size: .64rem; color: var(--soluk); border-top: 1px solid var(--murekkep); }
.sistem tbody th { font-weight: 400; font-size: .95rem; white-space: nowrap; }
.sistem td { font-family: var(--veri); font-size: .74rem; line-height: 1.6; }

/* döngü şeması: tek hat, altı durak; süperkritik durak vurgulu */
.dongu { margin: 0; container-type: inline-size; }
.dg-on { display: flex; flex-wrap: wrap; gap: .4rem 0; font-family: var(--veri); font-size: .68rem; color: var(--soluk); margin: 0 0 2rem; max-width: none; }
.dg-on span::after { content: "→"; margin: 0 .8rem; color: var(--murekkep); }
.dg-hat { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.dg-adim { position: relative; min-width: 0; padding: 1.6rem clamp(.75rem, 1.6vw, 1.5rem) 0 0; border-top: 1px solid var(--murekkep); }
.dg-adim::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--zemin); border: 1px solid var(--murekkep); }
.dg-likopen::before { background: var(--vurgu); border-color: var(--vurgu); }
.dg-son { border-top-style: dashed; }
.dg-no { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; min-height: 1.4rem; font-family: var(--veri); font-size: .7rem; color: var(--vurgu); margin-bottom: .9rem; }
.dg-co2 { font-size: .6rem; padding: .05rem .4rem; border: 1px solid var(--vurgu); white-space: nowrap; }
.dg-adim img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--mineral); margin-bottom: 1rem; }
.dg-likopen img { outline: 1px solid var(--vurgu); outline-offset: 4px; }
.dg-ikili { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; aspect-ratio: 4 / 5; margin-bottom: 1rem; }
.dg-adim .dg-ikili img { height: 100%; aspect-ratio: auto; margin: 0; }
.dg-adim h3 { font-size: 1.05rem; margin-bottom: .4rem; }
.dg-adim p { font-size: .88rem; line-height: 1.5; margin: 0; }
.dongu figcaption { margin: 2rem 0 0; }
.dg-alt { margin-top: 2rem; }

/* bileşen sayfası: laboratuvar fotoğrafı, ad notu, föy */
.bilesen-ic:has(.bilesen-foto) { grid-template-columns: minmax(0, 16rem) minmax(0, 1fr); }
.bilesen-foto { margin: 0; position: sticky; top: 1.5rem; }
.bilesen-foto img { width: 100%; }
.bilesen-foto figcaption { margin: .75rem 0 0; }
.ad-notu { margin: 1.75rem 0 0; padding: .85rem 1.1rem; border: 1px dashed var(--vurgu); font-size: .95rem; max-width: 46rem; }
.foy-ic { align-items: start; }
.yag-cizelge { margin: 0; position: sticky; top: 1.5rem; container-type: inline-size; }
.yag-cizelge li.yc-olcek { padding-block: 0 .4rem; border-top: 0; }
.yc-cetvel { display: flex; justify-content: space-between; font-family: var(--veri); font-size: .58rem; color: var(--soluk); }
.yag-cizelge ol { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--cizgi); }
.yag-cizelge li { display: grid; grid-template-columns: minmax(0, 10rem) minmax(0, 1fr) 6.5rem; gap: 1rem; align-items: center; padding-block: .75rem; border-top: 1px solid var(--cizgi); }
.yc-ad { font-size: .92rem; line-height: 1.35; }
.yc-kod { display: block; font-family: var(--veri); font-size: .6rem; color: var(--soluk); }
.yc-cubuk { width: 100%; height: 12px; }
.yc-zemin { fill: var(--cizgi-orta); }
.yc-aralik { fill: var(--vurgu); }
.yc-deger { font-family: var(--veri); font-size: .72rem; text-align: right; }
.yag-cizelge figcaption { margin: 1rem 0 0; }

/* bireysel ürünler: kullanım tavsiyesi ve etiket uyarıları */
.ul-govde { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: .5rem 1.75rem; align-items: start; min-width: 0; }
.ul-govde .ul-ad { grid-row: 1 / span 3; margin: 0; }
.ul-hacim, .ul-kullanim, .ul-not { grid-column: 2; margin: 0; }
.urun-liste .k-etiket { display: inline; }
.ul-kullanim .k-etiket { display: block; margin-bottom: .15rem; }
.ul-kullanim ul { margin: 0; padding-left: 1.1rem; font-size: .92rem; }
.ul-kullanim ul li { padding: .05rem 0; }
p.ul-kullanim { font-size: .9rem; color: var(--soluk); }
.ul-not { font-size: .82rem; color: var(--soluk); }
.etiket-uyari { margin-top: 2.5rem; padding: 1.5rem; border: 1px solid var(--murekkep); }
.etiket-uyari h2 { font-size: 1.3rem; font-weight: 300; margin-bottom: .75rem; }
.etiket-uyari ul { margin: 0 0 1rem; padding-left: 1.1rem; }
.etiket-uyari li { font-size: .95rem; padding: .1rem 0; }
.etiket-uyari .dipnot { margin: 0; }

@media (max-width: 62rem) {
  .tesis-izgara { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); grid-template-areas: "a b" "c c" "yan yan"; }
  .sema-cift { grid-template-columns: 1fr; }
}
@media (max-width: 48rem) {
  .tesis-izgara { grid-template-columns: 1fr 1fr; grid-template-areas: "a a" "b c" "yan yan"; }
  .tf-uzun, .tf-kucuk { aspect-ratio: 3 / 4; align-self: start; }
  .tf-kucuk img { object-position: 50% 50%; }
  .tesis-galeri { grid-template-columns: 1fr 1fr; grid-auto-rows: 10.5rem; grid-template-areas: "a a" "b d" "b d" "c e"; gap: .6rem; }
  .bilesen-ic:has(.bilesen-foto) { grid-template-columns: 1fr; }
  .bilesen-foto { position: static; max-width: 17rem; }
  .ul-govde { grid-template-columns: 1fr; }
  .ul-govde .ul-ad { grid-row: auto; }
  .ul-hacim, .ul-kullanim, .ul-not { grid-column: 1; }
  .etiket-uyari { padding: 1.25rem 1rem; }
}

/* dar kaplar: kap sorgusu (yazı büyütülünce rem büyür, düzen kendiliğinden dikleşir) */
.tablo { container-type: inline-size; }
.tablo .satir, .tablo dd { min-width: 0; }
.kanit, .urun-liste { container-type: inline-size; }
.belge-yigini li { overflow-wrap: anywhere; }
@container (max-width: 34rem) {
  .tablo .satir, .tablo-uzun .satir { grid-template-columns: 1fr; gap: .35rem; }
  .yag-cizelge li { grid-template-columns: minmax(0, 1fr) auto; gap: .35rem 1rem; }
  .yc-cubuk { grid-column: 1 / -1; grid-row: 2; }
  .yag-cizelge li.yc-olcek { display: none; }
}
@container (max-width: 60rem) {
  .belge-yigini { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 64rem) {
  .dg-hat { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2.75rem; }
  .dg-adim > img, .dg-ikili { max-width: 13rem; }
}
@container (max-width: 40rem) {
  .dg-hat { grid-template-columns: 1fr; row-gap: 0; }
  .dg-adim { display: grid; grid-template-columns: minmax(0, 7.5rem) minmax(0, 1fr); grid-template-areas: "no no" "img h" "img p"; grid-template-rows: auto auto 1fr; column-gap: 1.25rem; border-top: 0; border-left: 1px solid var(--murekkep); padding: 0 0 2rem 1.75rem; }
  .dg-son { border-left-style: dashed; padding-bottom: 0; }
  .dg-adim::before { top: .2rem; left: -5px; }
  .dg-no { grid-area: no; }
  .dg-adim > img, .dg-ikili { grid-area: img; margin: 0; }
  .dg-adim h3 { grid-area: h; margin-top: .1rem; }
  .dg-adim p { grid-area: p; }
}
@container (max-width: 44rem) {
  .ul-govde { grid-template-columns: 1fr; }
  .ul-govde .ul-ad { grid-row: auto; }
  .ul-hacim, .ul-kullanim, .ul-not { grid-column: 1; }
}
@container (max-width: 26rem) {
  .belge-yigini { grid-template-columns: 1fr; }
}
@media (max-width: 48rem) { .yag-cizelge { position: static; } }

/* ------------------------------------------------------------------ iskeletin ortak kuralları (aynen; değiştirmeyin) */

/* site içi arama (iskelet: arama.mjs), bütün markalarda aynı yapı */
.ara-simge { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 999px; color: inherit; text-decoration: none; flex: none; }
.ara-simge:hover, .ara-simge:focus-visible, .ara-simge[aria-current] { background: color-mix(in srgb, currentColor 10%, transparent); }
.arama-kutusu { display: flex; align-items: center; gap: .5rem; max-width: 36rem; margin: 1.25rem 0; }
.arama-kutusu label { position: relative; flex: 1; display: block; }
.arama-kutusu label svg { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); opacity: .6; pointer-events: none; }
.arama-kutusu input { width: 100%; box-sizing: border-box; font: inherit; padding: .8rem 1rem .8rem 2.75rem; border: 1.5px solid currentColor; border-radius: 999px; background: transparent; color: inherit; }
.arama-kutusu input::placeholder { color: inherit; opacity: .55; }
.arama-kutusu .dugme { flex: none; }
.arama-kutusu.genis { max-width: 40rem; }
.arama-kutusu.genis input { font-size: 1.125rem; padding-top: 1rem; padding-bottom: 1rem; }
.gizli-etiket { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.arama-sayi { font-weight: 600; margin: 1.5rem 0 .5rem; }
.arama-liste { list-style: none; padding: 0; margin: 0; max-width: 46rem; }
.arama-liste li { border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent); }
.arama-liste a { display: block; padding: 1rem 0; color: inherit; text-decoration: none; }
.arama-liste h2 { font-size: 1.25rem; margin: 0 0 .15rem; }
.arama-liste a:hover h2, .arama-liste a:focus-visible h2 { text-decoration: underline; }
.arama-yol { font-family: var(--mono, monospace); font-size: .8rem; opacity: .6; }
.arama-liste p { margin: .35rem 0 0; opacity: .8; }

/* tanışma kartı (iskelet: tanisma.mjs), bütün markalarda aynı yapı */
.tanisma { border: 0; border-radius: 20px; padding: 0; width: min(30rem, calc(100% - 2rem)); background: #fff; color: #16171a; box-shadow: 0 24px 60px rgba(0,0,0,.25); }
.tanisma::backdrop { background: rgba(10,12,16,.55); }
.tanisma-form { padding: 1.5rem; display: grid; gap: .75rem; }
.tanisma h2 { margin: 0; font-size: 1.35rem; }
.tanisma p { margin: 0; font-size: .92rem; opacity: .8; }
.tanisma-alanlar { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.tanisma-alanlar label { display: grid; gap: .25rem; font-size: .8rem; font-weight: 600; }
.tanisma-alanlar label:nth-child(n+3) { grid-column: 1 / -1; }
.tanisma-alanlar input { font: inherit; font-size: 1rem; font-weight: 400; padding: .65rem .8rem; border: 1.5px solid rgba(0,0,0,.25); border-radius: 10px; background: #fff; color: inherit; box-sizing: border-box; width: 100%; }
.tanisma-alanlar input:focus-visible { outline: 3px solid currentColor; outline-offset: 1px; }
.tanisma-dugmeler { display: flex; flex-wrap: wrap; gap: .5rem; opacity: 1 !important; margin-top: .25rem !important; }
@media (max-width: 30rem) { .tanisma-alanlar { grid-template-columns: 1fr; } }

/* kod deneyimi (iskelet: kodDeneyimi), bütün markalarda aynı kural: telefonda kod ve okutma dili yok, düğme var */
.kd-cihazda { display: none; }
.kd-cihazda .dugme span { margin-inline-start: .4em; }
.kd-kod .kisa-adres { font-size: .9rem; text-align: center; overflow-wrap: anywhere; margin: .75rem 0 0; }
@media (max-width: 51.99rem), (hover: none) and (pointer: coarse) {
  .kod-deneyim .kd-kod, .kod-deneyim .kd-kodla { display: none; }
  .kod-deneyim .kd-cihazda { display: block; }
  .kod-deneyim { grid-template-columns: 1fr !important; }
}

/* purity call: ortak kartın markaya uyarlanması (yalnız görünüş; yapı iskelette) */
.tanisma { border: 1px solid var(--murekkep); border-radius: 0; box-shadow: none; color: var(--murekkep); font-family: var(--yazi); }
.tanisma::backdrop { background: rgba(16, 42, 46, .5); }
.tanisma h2 { font-weight: 300; }
.tanisma-alanlar label { font-family: var(--veri); font-weight: 300; font-size: .7rem; color: var(--soluk); }
.tanisma-alanlar input { border: 0; border-bottom: 1px solid var(--murekkep); border-radius: 0; padding: .55rem 0; font-weight: 300; }
.tanisma-dugmeler button, .tanisma-dugmeler a { border-radius: 0; }
