  :root{
    --ink:#0d0c11;
    --ink-2:#161318;
    --blood:#ba2322;
    --blood-dim:#7c1a1a;
    --bone:#ece5d8;
    --bone-dim:#a39c8e;
    --line:#332b2b;
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{
    scroll-behavior:smooth;
    overflow-x:hidden;
    width:100%;
  }

  body{
    background:var(--ink);
    color:var(--bone);
    font-family:'IBM Plex Sans', sans-serif;
    line-height:1.65;
    overflow-x:hidden;
    width:100%;
    position:relative;
  }

  ::selection{background:var(--blood);color:var(--bone);}

  h1,h2,h3{
    font-family:'Anton', sans-serif;
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:0.02em;
  }

  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color:var(--blood);
  }

  a{color:inherit;}

  /* ---------- background texture ---------- */
  .grain{
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:100;
    opacity:0.06;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }

  /* ---------- nav ---------- */
  nav{
    position:fixed;
    top:0;left:0;right:0;
    z-index:50;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:22px 6vw;
    background:linear-gradient(to bottom, rgba(13,12,17,0.95), transparent);
  }
  .nav-mark{
    font-family:'Anton', sans-serif;
    font-size:1rem;
    letter-spacing:0.06em;
  }
  .nav-mark span{color:var(--blood);}
  .nav-links{
    display:flex;
    gap:2.2rem;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
  }
  .nav-links a{text-decoration:none;opacity:0.75;transition:opacity 0.2s, color 0.2s;}
  .nav-links a:hover, .nav-links a:focus-visible{opacity:1;color:var(--blood);}
  @media (max-width:640px){ .nav-links{display:none;} }

  /* ---------- hero ---------- */
  .hero{
    min-height:100svh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    position:relative;
    padding:120px 6vw 60px;
    overflow:hidden;
  }
  .hero-glow{
    position:absolute;
    top:50%;left:50%;
    width:900px;height:900px;
    transform:translate(-50%,-50%);
    background:radial-gradient(circle, rgba(186,35,34,0.16) 0%, transparent 68%);
    pointer-events:none;
  }
  .hero-emblem{
    width:min(58vw, 340px);
    aspect-ratio:1/1;
    margin-bottom:2.2rem;
    filter:drop-shadow(0 0 40px rgba(186,35,34,0.25));
    animation:rise 1.1s cubic-bezier(.2,.8,.2,1) both;
  }
  .hero-emblem img{width:100%;height:100%;display:block;}

  .hero h1{
    font-size:clamp(2.4rem, 7vw, 5.2rem);
    line-height:0.94;
    animation:rise 1.1s cubic-bezier(.2,.8,.2,1) both;
    animation-delay:0.12s;
  }
  .hero h1 em{
    font-style:normal;
    color:var(--blood);
  }
  .hero-tag{
    max-width:640px;
    margin:1.6rem auto 0;
    font-size:1.05rem;
    color:var(--bone-dim);
    animation:rise 1.1s cubic-bezier(.2,.8,.2,1) both;
    animation-delay:0.22s;
  }
  .hero-tag strong{color:var(--bone);font-weight:600;}

  @keyframes rise{
    from{opacity:0; transform:translateY(24px);}
    to{opacity:1; transform:translateY(0);}
  }
  @media (prefers-reduced-motion:reduce){
    .hero-emblem, .hero h1, .hero-tag{animation:none;}
  }

  .scroll-cue{
    position:absolute;
    bottom:28px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.68rem;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--bone-dim);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
  }
  .scroll-cue::after{
    content:'';
    width:1px; height:34px;
    background:linear-gradient(to bottom, var(--blood), transparent);
  }

  /* ---------- torn divider ---------- */
  .cut{
    height:34px;
    width:100%;
    background:var(--ink);
    clip-path:polygon(0 100%,3% 30%,7% 70%,12% 10%,18% 60%,24% 20%,30% 80%,37% 15%,44% 55%,50% 5%,57% 65%,63% 25%,70% 75%,77% 10%,84% 60%,90% 20%,96% 70%,100% 30%,100% 100%);
  }
  .section-alt{background:var(--ink-2);}
  .cut-alt{background:var(--ink-2);}

  /* ---------- sections ---------- */
  section{
    padding:110px 6vw;
    position:relative;
  }
  .section-inner{
    max-width:880px;
    margin:0 auto;
  }
  .section-inner h2{
    font-size:clamp(1.8rem, 4vw, 2.7rem);
    margin:0.4rem 0 1.8rem;
  }

  .lede{
    font-size:1.12rem;
    color:var(--bone);
    max-width:70ch;
  }
  .body-text{
    color:var(--bone-dim);
    max-width:70ch;
  }
  .body-text + .body-text{margin-top:1.1rem;}

  blockquote{
    margin:2.4rem 0;
    padding:1.6rem 0 1.6rem 1.6rem;
    border-left:3px solid var(--blood);
    font-family:'Anton', sans-serif;
    font-size:clamp(1.3rem, 2.6vw, 1.9rem);
    text-transform:none;
    letter-spacing:0.01em;
    line-height:1.3;
    color:var(--bone);
  }

  .pillars{
    margin-top:2.6rem;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .pillar{
    background:var(--ink);
    padding:1.6rem 1.5rem;
  }
  .pillar .eyebrow{display:block;margin-bottom:0.5rem;}
  .pillar h3{
    font-size:1.02rem;
    margin-bottom:0.5rem;
  }
  .pillar p{
    font-size:0.9rem;
    color:var(--bone-dim);
  }

  .credential{
    margin-top:2.6rem;
    display:flex;
    gap:2.4rem;
    flex-wrap:wrap;
  }
  .credential div{flex:1 1 160px;}
  .credential .num{
    font-family:'Anton', sans-serif;
    font-size:2.4rem;
    color:var(--blood);
    line-height:1;
  }
  .credential .label{
    margin-top:0.4rem;
    font-size:0.85rem;
    color:var(--bone-dim);
  }

  /* ---------- basından ---------- */
  .press-empty{
    margin-top:2.2rem;
    padding:2.6rem 2rem;
    border:1px dashed var(--line);
    text-align:center;
  }
  .press-empty p{
    color:var(--bone-dim);
    font-size:0.95rem;
    max-width:46ch;
    margin:0 auto;
  }
  .press-empty .eyebrow{display:block;margin-bottom:0.6rem;}

  .press-grid{
    margin-top:2.2rem;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:1.4rem;
  }
  .press-card{
    border-left:3px solid var(--blood);
    background:var(--ink-2);
    padding:1.6rem 1.5rem;
  }
  .press-card p{
    font-size:0.98rem;
    color:var(--bone);
  }
  .press-card .source{
    margin-top:0.9rem;
    display:block;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--bone-dim);
  }

  /* ---------- galeri: carousel ---------- */
  .carousel{
    margin-top:2.2rem;
    position:relative;
  }
  .carousel-viewport{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    background:var(--ink-2);
    border:1px solid var(--line);
    overflow:hidden;
  }
  .carousel-track{
    display:flex;
    height:100%;
    transition:transform 0.5s cubic-bezier(.2,.7,.2,1);
  }
  .carousel-track .slide{
    flex:0 0 100%;
    height:100%;
    position:relative;
  }
  .carousel-track .slide img{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
    filter:grayscale(35%) contrast(1.05);
  }
  .carousel-track .slide figcaption{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:0.9rem 1.2rem;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--bone);
    background:linear-gradient(to top, rgba(13,12,17,0.92), transparent);
  }

  .carousel-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:48px;height:48px;
    border:1px solid var(--line);
    background:rgba(13,12,17,0.7);
    color:var(--bone);
    font-family:'IBM Plex Mono', monospace;
    font-size:1.2rem;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:border-color 0.2s, background 0.2s, color 0.2s;
    z-index:5;
  }
  .carousel-arrow:hover, .carousel-arrow:focus-visible{
    border-color:var(--blood);
    background:var(--blood);
    color:var(--bone);
  }
  .carousel-arrow.prev{left:14px;}
  .carousel-arrow.next{right:14px;}

  .carousel-meta{
    margin-top:1rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
  }
  .carousel-counter{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.12em;
    color:var(--bone-dim);
  }
  .carousel-counter strong{color:var(--blood);}

  .carousel-dots{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
  }
  .carousel-dots button{
    width:8px;height:8px;
    border-radius:50%;
    border:none;
    background:var(--line);
    padding:0;
    cursor:pointer;
    transition:background 0.2s, transform 0.2s;
  }
  .carousel-dots button.active{
    background:var(--blood);
    transform:scale(1.3);
  }

  @media (max-width:640px){
    .carousel-arrow{width:40px;height:40px;font-size:1rem;}
  }

  /* ---------- iletişim ---------- */
  .contact-box{
    margin-top:2.2rem;
    display:flex;
    flex-wrap:wrap;
    gap:1.6rem;
    align-items:stretch;
  }
  .contact-info{
    flex:1 1 320px;
  }
  .contact-actions{
    flex:1 1 260px;
    display:flex;
    flex-direction:column;
    gap:0.8rem;
    justify-content:center;
  }
  .contact-btn{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:1.1rem 1.4rem;
    background:var(--ink-2);
    border:1px solid var(--line);
    text-decoration:none;
    transition:border-color 0.2s, background 0.2s;
  }
  .contact-btn:hover, .contact-btn:focus-visible{
    border-color:var(--blood);
    background:var(--ink);
  }
  .contact-btn .label{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.68rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--bone-dim);
    display:block;
    margin-bottom:0.3rem;
  }
  .contact-btn .value{
    font-size:1.05rem;
    color:var(--bone);
  }
  .contact-btn .arrow{color:var(--blood);font-size:1.2rem;}
  .contact-note{
    margin-top:1.6rem;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.04em;
    color:#6b6459;
  }

  /* ---------- footer ---------- */
  footer{
    padding:80px 6vw 50px;
    text-align:center;
    border-top:1px solid var(--line);
  }
  .footer-mark{
    width:64px;
    margin:0 auto 1.4rem;
    opacity:0.85;
  }
  footer h2{
    font-size:clamp(1.6rem, 4vw, 2.4rem);
  }
  footer p{
    color:var(--bone-dim);
    margin-top:0.8rem;
  }
  .footer-fine{
    margin-top:3rem;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.7rem;
    letter-spacing:0.1em;
    color:#5a534a;
    text-transform:uppercase;
  }
