/* Tema "swiss": Uluslararası Tipografik Stil. Beyaz, siyah, tek sinyal kırmızısı; görünür 12 sütun, dev grotesk,
   numaralı bölümler, kaydırmayla hareket eden kırmızı şekiller, sabitlenip yatay kayan galeri */
:root{
  --bg:#fff;--ink:#0b0b0b;--ink-2:#4d4d4d;--red:#e30613;--hair:rgba(0,0,0,.14);--gut:20px;--sy:0;
  --f-head:"Inter Tight","Helvetica Neue",Arial,sans-serif;--f-body:"Inter Tight","Helvetica Neue",Arial,sans-serif;
}
::selection{background:var(--red);color:#fff}
body{background:#fff;font-size:17px;line-height:1.55;letter-spacing:-.005em}
.wrap{max-width:1320px;padding:0 40px}
.progress{background:var(--red);height:4px}
.red{color:var(--red);font-style:normal}
main{position:relative;z-index:1}

/* Görünür 12 sütunlu ızgara */
.cols{position:fixed;inset:0;pointer-events:none;z-index:0}
.cols-in{height:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut)}
.cols span{border-left:1px solid rgba(227,6,19,.07);border-right:1px solid rgba(227,6,19,.07);background:rgba(0,0,0,.012);transform-origin:top;animation:colin 1.3s cubic-bezier(.7,0,.2,1) both;animation-delay:calc(var(--i) * 55ms)}
@keyframes colin{from{transform:scaleY(0)}}
.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut)}

/* Metin altı çizgi animasyonu */
.ul{background:linear-gradient(var(--red),var(--red)) 0 100%/0 3px no-repeat;transition:background-size .55s cubic-bezier(.7,0,.2,1);padding-bottom:2px}
a:hover .ul,.row:hover .ul,.dir li:hover .ul{background-size:100% 3px}

/* Butonlar */
.btn{border-radius:0;font-weight:700;letter-spacing:-.01em}
.btn-main{background:var(--red);color:#fff}
.btn-main:hover{background:var(--ink)}
.btn-main svg{transition:transform .3s}
.btn-main:hover svg{transform:translateX(4px)}
.tlink{display:inline-flex;align-items:center;gap:10px;font-weight:700;text-decoration:none}
.tlink svg{width:20px;height:20px;color:var(--red);transition:transform .35s}
.tlink:hover svg{transform:translateX(6px)}

/* Üst menü */
.top{background:rgba(255,255,255,.95);color:var(--ink);border-bottom:1px solid transparent}
.top.scrolled{border-bottom-color:var(--ink)}
.logo{font-weight:800;letter-spacing:-.04em;font-size:1.2rem}
.logo-mark{background:var(--red);color:#fff;transition:rotate .6s cubic-bezier(.7,0,.2,1)}
.logo:hover .logo-mark{rotate:90deg}
.nav{gap:28px}
.nav a.link{font-weight:500;padding:4px 0;background:linear-gradient(var(--red),var(--red)) 0 100%/0 2px no-repeat;transition:background-size .45s cubic-bezier(.7,0,.2,1)}
.nav a.link:hover{background-size:100% 2px}
.top .btn-call{background:var(--ink);color:#fff;padding:11px 18px;font-size:.92rem}
.top .btn-call:hover{background:var(--red)}

/* Bölüm başlığı: numara + başlık */
.sec{padding:130px 0}
.sh{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);padding-top:18px;margin-bottom:72px;border-top:2px solid var(--ink)}
.sh::before{content:"";position:absolute;left:0;top:-2px;width:calc(100% / 6);height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.7,0,.2,1) .2s}
.sh:has(.sh-n.in)::before{transform:none}
.sh-n{grid-column:1/3;font-size:clamp(3rem,7vw,6.4rem);font-weight:800;color:var(--red);line-height:.82;letter-spacing:-.06em}
.sh-t{grid-column:3/12;font-size:clamp(2.3rem,5.4vw,5rem);font-weight:800;letter-spacing:-.05em;line-height:.96}
.sh-d{grid-column:3/9;margin-top:24px;font-size:1.15rem;color:var(--ink-2);line-height:1.45}

/* Hero */
.hero{padding:116px 0 80px;overflow:hidden}
.shape{position:absolute;pointer-events:none}
.circ{z-index:3;width:min(40vw,540px);aspect-ratio:1;border-radius:50%;background:var(--red);right:-7vw;top:96px;mix-blend-mode:multiply;transform:translate3d(0,calc(var(--sy) * .32px),0) scale(calc(1 + var(--sy) * .0005));animation:pop 1.5s cubic-bezier(.2,.8,.2,1) .3s both}
@keyframes pop{from{scale:0}}
.sq{z-index:3;width:84px;height:84px;background:var(--red);left:calc(50% + 20px);top:68%;mix-blend-mode:multiply;rotate:calc(var(--sy) * .14deg);animation:pop 1.2s cubic-bezier(.2,.8,.2,1) .7s both}
.hero-in{position:relative;z-index:2;align-items:start}
.meta{font-size:.8rem;line-height:1.35;border-top:2px solid var(--ink);padding-top:10px;text-transform:uppercase;letter-spacing:.03em;font-weight:500}
.meta b{display:block;font-weight:800}
.m1{grid-column:1/4}.m2{grid-column:4/7}.m3{grid-column:7/10}
.h1{grid-column:1/-1;margin:46px 0 46px;font-weight:800}
.big{display:block;width:max-content;max-width:none;font-weight:900;letter-spacing:-.075em;line-height:.8;margin-left:-.05em;padding-right:.06em;padding-bottom:.17em}
.sub{display:block;margin-top:.15em;font-size:clamp(2.1rem,6.3vw,6rem);font-weight:800;letter-spacing:-.05em;line-height:.95}
.hero-txt{grid-column:1/7;padding-top:10px}
.kick{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:14px}
.lead{font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:500;line-height:1.42;letter-spacing:-.012em;max-width:560px}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:32px}
.hero-photo{grid-column:8/13;margin:0;position:relative}
.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:filter .8s}
.hero-photo:hover img{filter:none}
.hero-photo::after{content:"";position:absolute;right:-24px;top:-24px;width:34%;aspect-ratio:1;background:var(--red);mix-blend-mode:multiply;transform:translateY(calc(var(--sy) * -.12px))}
figcaption{font-size:.8rem;line-height:1.35;margin-top:10px;color:var(--ink-2)}
figcaption b{display:block;color:var(--ink);font-weight:800}
.facts{margin-top:90px;position:relative;z-index:2}
.fact{grid-column:span 3;border-top:8px solid var(--ink);padding-top:14px}
.fact:first-child{border-top-color:var(--red)}
.fact b{display:block;font-size:clamp(2.6rem,5vw,4.4rem);font-weight:800;letter-spacing:-.06em;line-height:1}
.fact span{font-size:.9rem;color:var(--ink-2)}

/* Giriş */
.ip0{grid-column:3/11;font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:500;line-height:1.35;letter-spacing:-.02em}
.ip1{grid-column:3/7;margin-top:44px;color:var(--ink-2)}
.ip2{grid-column:7/11;margin-top:44px;color:var(--ink-2)}
.pts{list-style:none;padding:0;margin:90px 0 0}
.pts li{grid-column:span 3;border-top:1px solid var(--ink);padding-top:14px;font-weight:600;line-height:1.35}
.pn{display:block;font-size:2.4rem;font-weight:800;color:var(--red);line-height:1;margin-bottom:10px}

/* Hizmetler: numaralı dizin */
.svc{overflow:hidden}
.sq2{right:3vw;top:150px;width:clamp(70px,11vw,170px);aspect-ratio:1;border:clamp(10px,1.4vw,18px) solid var(--red);rotate:calc(var(--sy) * -.16deg)}
.idx{list-style:none;padding:0;margin:0;border-bottom:1px solid var(--ink)}
.row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);align-items:baseline;padding:30px 0;border-top:1px solid var(--ink);cursor:default}
.rn{grid-column:1/3;font-weight:800;font-size:.95rem;font-variant-numeric:tabular-nums;transition:color .3s}
.row h3{grid-column:3/8;font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.05}
.row p{grid-column:8/12;color:var(--ink-2);font-size:.98rem;line-height:1.5}
.ra{grid-column:12/13;justify-self:end;align-self:center;width:30px;color:var(--red);opacity:0;transform:translateX(-14px);transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1)}
.ra svg{width:30px;height:30px}
.row:hover .rn{color:var(--red)}
.row:hover .ra{opacity:1;transform:none}

/* İşlerimiz: sabitlenen, yatay kayan şerit */
.work{padding-bottom:40px}
.work .sh{margin-bottom:10px}
.hs{position:relative}
.hs-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:58px;padding-top:60px}
.hs-track{display:flex;align-items:flex-start;gap:var(--gut);width:max-content;padding:0 max(40px,calc((100vw - 1320px) / 2 + 40px));will-change:transform}
.hs-item{flex:none;position:relative;margin:0;height:min(60vh,540px);aspect-ratio:var(--ar)}
.hs-item img,.hs-item video{width:100%;height:100%;object-fit:cover}
.hs-item img{filter:grayscale(1) contrast(1.06);transition:filter .7s}
.hs-item:hover img{filter:none}
@media (hover:none){.hs-item img,.hero-photo img{filter:none}}
.hs-item figcaption{position:absolute;left:0;top:100%;width:100%;max-width:300px}
.hs-intro{aspect-ratio:auto;width:min(400px,78vw);display:flex;flex-direction:column;justify-content:space-between;background:var(--ink);color:#fff;padding:30px}
.hs-big{font-size:clamp(7rem,15vw,13rem);font-weight:900;letter-spacing:-.08em;line-height:.8;color:var(--red)}
.hs-intro p{font-size:1.15rem;font-weight:500;line-height:1.35}
.hs-hint svg{width:40px;height:40px;color:var(--red);animation:nudge 1.4s ease-in-out infinite}
@keyframes nudge{50%{transform:translateX(10px)}}
.hs-end{aspect-ratio:auto;width:min(380px,78vw);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:24px;border:2px solid var(--ink);padding:30px;background:#fff}
.hs-end p{font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:800;letter-spacing:-.04em;line-height:1.05}
.hs-meta{display:flex;align-items:center;gap:16px;font-weight:800;font-size:.85rem;width:100%;font-variant-numeric:tabular-nums}
.hs-bar{flex:1;height:2px;background:var(--hair);position:relative}
.hs-bar i{position:absolute;inset:0;background:var(--red);transform-origin:left;transform:scaleX(var(--hp,0))}
.hs-c{color:var(--red)}

/* Süreç: basamaklar */
.stairs{list-style:none;padding:0;margin:0;position:relative}
.stairs::after{content:"";position:absolute;z-index:0;width:24px;height:24px;border-radius:50%;background:var(--red);left:calc(var(--p,0) * 66.67% - 12px);top:calc(var(--p,0) * 80% - 12px);transition:left .25s linear,top .25s linear}
.st{position:relative;z-index:1;border-top:2px solid var(--ink);padding:16px 20px 44px 0}
.st::before{content:"";position:absolute;left:0;top:-2px;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.7,0,.2,1) calc(var(--d) * 90ms + .3s)}
.st.in::before{transform:scaleX(.35)}
.st0{grid-column:1/5}.st1{grid-column:3/7}.st2{grid-column:5/9}.st3{grid-column:7/11}.st4{grid-column:9/13}
.st b{display:block;font-size:clamp(3.4rem,6vw,5.4rem);font-weight:900;letter-spacing:-.07em;line-height:.9;transition:color .3s}
.st:hover b{color:var(--red)}
.st h3{font-size:1.45rem;font-weight:800;letter-spacing:-.03em;margin:14px 0 8px}
.st p{color:var(--ink-2);font-size:.98rem;max-width:340px}

/* Mahalleler: dizin */
.dir{list-style:none;padding:0;margin:0;columns:4;column-gap:var(--gut);border-top:2px solid var(--ink)}
.dir li{break-inside:avoid;display:flex;gap:14px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--hair);font-size:1.3rem;letter-spacing:-.025em}
.dir li b{font-weight:600}
.dir li span{flex:none;width:24px;font-size:.75rem;font-weight:800;color:var(--ink-2);font-variant-numeric:tabular-nums}
.dir li.here b,.dir li.here span{color:var(--red)}
.dir li.here b{font-weight:800}

/* SSS + form */
.qa-in{align-items:start}
.faq{grid-column:1/8;counter-reset:q;border-bottom:1px solid var(--ink)}
.faq details{border-top:1px solid var(--ink)}
.faq summary{display:flex;align-items:flex-start;gap:16px;padding:24px 0;font-size:1.3rem;font-weight:700;letter-spacing:-.025em;line-height:1.25}
.faq summary::before{counter-increment:q;content:counter(q,decimal-leading-zero);flex:none;width:32px;color:var(--red);font-size:.85rem;font-weight:800;padding-top:.32em}
.faq summary span{flex:1}
.pm{flex:none;width:30px;height:30px;display:grid;place-items:center;transition:transform .45s cubic-bezier(.7,0,.2,1),color .3s}
.pm svg{width:22px;height:22px}
.faq details[open] .pm{transform:rotate(45deg);color:var(--red)}
.faq details p{color:var(--ink-2);padding:0 46px 26px 48px;animation:fadeup .5s}
@keyframes fadeup{from{opacity:0;transform:translateY(-8px)}}
#teklif{grid-column:9/13;position:sticky;top:110px;scroll-margin-top:110px}
.quote{border:2px solid var(--ink);padding:32px;background:#fff}
.quote h3{font-size:2rem;font-weight:800;letter-spacing:-.045em}
.quote .sub{color:var(--ink-2);margin:8px 0 26px;font-size:.95rem;line-height:1.45}
.field{display:block;margin-bottom:18px}
.field span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.field input,.field select{width:100%;font:inherit;font-weight:500;padding:10px 0;border:0;border-bottom:2px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);transition:border-color .3s}
.field input:focus,.field select:focus{outline:0;border-bottom-color:var(--red)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.quote .btn-wa{width:100%;margin-top:8px}
.quote .note{font-size:.78rem;color:var(--ink-2);margin-top:12px}

/* Son çağrı: kırmızı poster */
.final{background:var(--red);color:#fff;padding:110px 0 120px;overflow:hidden}
.final .wrap{position:relative;z-index:2}
.circ2{z-index:1;width:min(56vw,760px);aspect-ratio:1;border-radius:50%;background:var(--ink);right:-12vw;bottom:-30vw;transform:translate(calc(var(--p,0) * -14vw),calc(var(--p,0) * -12vw)) scale(calc(.55 + var(--p,0) * .6))}
.final-k{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-top:2px solid #fff;padding-top:12px;max-width:50%}
.final-h{margin:40px 0 30px}
.final-h span{display:block;width:max-content;font-weight:900;letter-spacing:-.075em;line-height:.82;margin-left:-.05em;padding-right:.08em}
.final-phone{display:inline-flex;align-items:center;gap:16px;font-size:clamp(1.8rem,4.2vw,3.4rem);font-weight:800;letter-spacing:-.04em;text-decoration:none;color:#fff}
.final-phone svg{width:44px;height:44px;transition:transform .4s}
.final-phone:hover svg{transform:translateX(8px)}
.final .ul{background-image:linear-gradient(#fff,#fff)}

/* Alt bilgi */
.foot{position:relative;z-index:1;background:var(--ink);color:#b5b5b5;padding:80px 0 30px}
.foot-in{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}
.foot .logo{color:#fff;margin-bottom:16px}
.foot p{font-size:.93rem;max-width:400px}
.foot h4{color:#fff;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;margin-bottom:16px;padding-top:10px;border-top:2px solid var(--red);display:inline-block}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:.93rem}
.foot a{text-decoration:none;transition:color .3s}
.foot a:hover{color:#fff}
.copy{margin-top:56px;padding-top:22px;border-top:1px solid #2b2b2b;font-size:.82rem}
.mbar{background:#fff;border-top:2px solid var(--ink)}
.mbar .btn{border-radius:0}
.mbar .btn-call{background:var(--ink);color:#fff}

@media (max-width:900px){
  .wrap{padding:0 20px}
  :root{--gut:14px}
  .g,.sh,.row,.cols-in{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cols span:nth-child(n+5){display:none}
  .top .nav{background:#fff;border-bottom:2px solid var(--ink)}
  .nav a.link{padding:14px 4px;background:none}
  .sec{padding:90px 0}
  .sh{margin-bottom:44px}
  .sh-n,.sh-t,.sh-d{grid-column:1/-1}
  .sh-n{margin-bottom:12px}
  .hero{padding:100px 0 60px}
  .m1{grid-column:1/3}.m2{grid-column:3/5}.m3{display:none}
  .h1{margin:36px 0 26px}
  .hero-txt,.hero-photo{grid-column:1/-1}
  .hero-photo{margin-top:44px;max-width:calc(100% - 20px)}
  .hero-photo::after{right:-16px;top:-16px}
  .circ{width:72vw;right:-30vw;top:150px}
  .sq{width:46px;height:46px;left:auto;right:30px;top:auto;bottom:38%}
  .facts{margin-top:60px;row-gap:26px}
  .fact{grid-column:span 2}
  .ip0,.ip1,.ip2{grid-column:1/-1}
  .ip1,.ip2{margin-top:22px}
  .pts{margin-top:50px;row-gap:24px}
  .pts li{grid-column:span 2}
  .sq2{top:90px;right:20px}
  .row{padding:24px 0}
  .rn{grid-column:1/2}
  .row h3,.row p{grid-column:2/5}
  .row p{margin-top:8px}
  .ra{display:none}
  .hs-pin{gap:56px}
  .hs-track{padding:0 20px}
  .hs-item{height:min(52vh,430px)}
  .st{grid-column:1/-1 !important;padding-bottom:34px}
  .st1{margin-left:8%}.st2{margin-left:16%}.st3{margin-left:24%}.st4{margin-left:32%}
  .stairs::after{width:24px;height:24px;left:auto;right:0;top:calc(var(--p,0) * (100% - 60px))}
  .dir{columns:2}
  .dir li{font-size:1.05rem;gap:10px}
  .dir li span{width:20px}
  .faq,#teklif{grid-column:1/-1}
  #teklif{position:static;margin-top:50px}
  .faq summary{font-size:1.1rem}
  .faq details p{padding:0 0 22px 48px}
  .quote{padding:24px 18px}
  .row2{grid-template-columns:1fr;gap:0}
  .final{padding:80px 0 90px}
  .final-k{max-width:none}
  .circ2{width:90vw;right:-40vw;bottom:-50vw}
  .foot-in{grid-template-columns:1fr;gap:34px}
}
