/* =========================================================
   Akdeniz Özkan İnşaat — site stilleri
   (Tailwind CDN ile birlikte; tasarım dili: lacivert + marka mavisi)
   ========================================================= */
:root{
  --navy-950:#0a1a45; --navy-900:#0f2460; --navy-800:#163175; --navy-700:#1d3d8a;
  --brand:#1f6fe0; --brand-light:#3d8bff; --gold:#d4b86a; --gold-light:#ecd795; --gold-dark:#b39552;
  --gutter:max(1.5rem, calc((100vw - 80rem) / 2));
}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--brand);color:#fff}
img{max-width:100%}
.px-gutter{padding-left:1.5rem;padding-right:1.5rem}
@media (min-width:768px){.px-gutter{padding-left:max(3rem,calc((100vw - 80rem)/2));padding-right:max(3rem,calc((100vw - 80rem)/2))}}
.px-gutter-wide{padding-left:1.5rem;padding-right:1.5rem}
@media (min-width:768px){.px-gutter-wide{padding-left:max(2.5rem,calc((100vw - 80rem)/2));padding-right:max(2.5rem,calc((100vw - 80rem)/2))}}

/* ---------- Header ---------- */
.site-header{transition:background-color .4s ease, box-shadow .4s ease, padding .4s ease, transform .4s ease}
.site-header .hdr-inner{transition:padding .4s ease}
.site-header.is-scrolled{background:rgba(10,26,69,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 40px -15px rgba(0,0,0,.5)}
.site-header.is-scrolled .hdr-inner{padding-top:.9rem;padding-bottom:.9rem}
.site-header.is-scrolled .logo-img{height:50px}
.logo-img{height:62px;width:auto;transition:height .4s ease}
@media (max-width:767px){.logo-img{height:44px}}
.nav-a{position:relative;padding-bottom:4px}
.nav-a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
.nav-a:hover::after,.nav-a.active::after{transform:scaleX(1);transform-origin:left}
.dd{position:relative}
.dd-menu{position:absolute;top:100%;left:-1rem;min-width:240px;padding-top:14px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s ease}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu-in{background:rgba(10,26,69,.97);border:1px solid rgba(140,175,240,.18);box-shadow:0 25px 50px -20px rgba(0,0,0,.6);padding:.5rem}
.dd-menu a{display:block;padding:.6rem .9rem;font-size:14px;color:rgba(255,255,255,.8);transition:all .2s}
.dd-menu a:hover{background:rgba(31,111,224,.25);color:#fff;padding-left:1.15rem}

/* Mobil menü */
.mnav{position:fixed;inset:0;z-index:60;background:var(--navy-950);clip-path:circle(0% at calc(100% - 44px) 44px);transition:clip-path .7s cubic-bezier(.77,0,.18,1);visibility:hidden}
.mnav.open{clip-path:circle(150% at calc(100% - 44px) 44px);visibility:visible}
.mnav a.ml{opacity:0;transform:translateY(20px);transition:all .5s ease}
.mnav.open a.ml{opacity:1;transform:none}

/* ---------- Hero ---------- */
.hero-overlay{background:
  linear-gradient(90deg, rgba(10,26,69,.92) 0%, rgba(15,36,96,.55) 45%, rgba(15,36,96,.15) 100%),
  linear-gradient(180deg, rgba(10,26,69,.45) 0%, rgba(15,36,96,0) 30%, rgba(15,36,96,.6) 80%, #0f2460 100%)}
.hero-media{position:absolute;inset:0;overflow:hidden;background:linear-gradient(160deg,#12307a,#2557b8 60%,#0f2460)}
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-slide{position:absolute;inset:-4%;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease;will-change:opacity,transform}
.hero-slide.on{opacity:1;animation:kenburns 9s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.12) translate3d(0,0,0)}to{transform:scale(1) translate3d(-1.5%,-1%,0)}}
.blueprint{position:absolute;inset:0;pointer-events:none;opacity:.14;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:80px 80px;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.3) 55%,transparent 80%);-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.3) 55%,transparent 80%);
  animation:gridmove 30s linear infinite}
@keyframes gridmove{to{background-position:80px 80px,80px 80px}}
.hero-scanline{position:absolute;left:0;right:0;height:1px;top:0;background:linear-gradient(90deg,transparent,rgba(61,139,255,.9),transparent);opacity:.6;animation:scan 7s ease-in-out infinite}
@keyframes scan{0%{top:10%;opacity:0}15%{opacity:.7}85%{opacity:.7}100%{top:90%;opacity:0}}

/* Kelime kelime başlık animasyonu */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.split .w>span{display:inline-block;transform:none;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.js .split .w>span{transform:translateY(110%)}
.js .split.go .w>span{transform:none}
.eyebrow-line{display:inline-block;height:1px;width:0;background:#fff;vertical-align:middle;transition:width 1.2s cubic-bezier(.2,.8,.2,1) .3s}
.go .eyebrow-line,.eyebrow-line.go{width:48px}
.fade-up{transition:all 1s cubic-bezier(.2,.8,.2,1)}
.js .fade-up{opacity:0;transform:translateY(24px)}
.js .go .fade-up,.js .fade-up.go{opacity:1;transform:none}

.slide-prog{height:2px;background:rgba(255,255,255,.2);overflow:hidden;width:56px;position:relative}
.slide-prog i{position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.slide-prog.on i{animation:prog var(--dur,7s) linear forwards}
@keyframes prog{to{transform:scaleX(1)}}

.scroll-ind{width:22px;height:36px;border:1.5px solid rgba(255,255,255,.6);border-radius:12px;position:relative}
.scroll-ind::after{content:'';position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;background:#fff;border-radius:2px;animation:wheel 1.8s ease-in-out infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(-3px)}40%{opacity:1}100%{opacity:0;transform:translateY(10px)}}

/* ---------- Kartlar ---------- */
.card{background:linear-gradient(180deg,#1a3a8a 0%,#132d6e 100%);border:1px solid rgba(140,175,240,.2);box-shadow:0 25px 50px -20px rgba(0,0,0,.6);transition:transform .45s ease, box-shadow .45s ease}
.card img,.img-zoom img{transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.card:hover img,.img-zoom:hover img{transform:scale(1.07)}
.card:hover{transform:translateY(-6px);box-shadow:0 35px 60px -20px rgba(0,0,0,.7)}
.fallback{background:linear-gradient(135deg,#8fb2e6 0%,#3a64b0 55%,#18306f 100%)}

/* Proje kartı (efektli) */
.pcard{position:relative;overflow:hidden;isolation:isolate;background:#0b1d52;border:1px solid rgba(140,175,240,.18);transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s, border-color .5s;will-change:transform}
.pcard:hover{box-shadow:0 40px 80px -30px rgba(0,0,0,.85);border-color:rgba(61,139,255,.55)}
.pcard .pimg{position:absolute;inset:0;overflow:hidden}
.pcard .pimg img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s cubic-bezier(.2,.8,.2,1), filter .8s}
.pcard:hover .pimg img{transform:scale(1.13);filter:saturate(1.15)}
.pcard .pshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,26,69,0) 30%,rgba(10,26,69,.55) 60%,rgba(10,26,69,.96) 100%);transition:opacity .6s}
.pcard .pglow{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(61,139,255,.35),transparent 45%);mix-blend-mode:screen;z-index:2}
.pcard:hover .pglow{opacity:1}
.pcard .pbody{z-index:3;transform:translateZ(40px)}
.pcard .pmore{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s ease, opacity .6s ease, margin .6s}
.pcard:hover .pmore{max-height:120px;opacity:1;margin-top:.6rem}
.pcard .parrow{transition:transform .5s cubic-bezier(.2,.8,.2,1), background .3s}
.pcard:hover .parrow{transform:rotate(-45deg);background:var(--brand)}
.pcard .pline{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,var(--brand),var(--brand-light),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.2,.8,.2,1);z-index:4}
.pcard:hover .pline{transform:scaleX(1)}
/* Kaydırınca perde açılma efekti */
.js .unveil{clip-path:inset(0 0 100% 0)}
.unveil{transition:clip-path 1.3s cubic-bezier(.77,0,.18,1)}
.js .unveil.show{clip-path:inset(0 0 0 0)}

/* Arka plan dev yazı */
.bg-word{position:absolute;white-space:nowrap;font-weight:800;font-size:clamp(90px,16vw,240px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(140,175,240,.12);letter-spacing:-.02em;pointer-events:none;user-select:none}
.marquee-x{display:flex;width:max-content;animation:mq 40s linear infinite}
.marquee-x.rev{animation-direction:reverse}
.marquee-wrap:hover .marquee-x{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}

/* Takip eden imleç balonu */
.cursor-bubble{position:fixed;left:0;top:0;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:70;transform:scale(0);transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 15px 40px -10px rgba(31,111,224,.7)}
.cursor-bubble.on{transform:scale(1)}
@media (hover:none){.cursor-bubble{display:none}}

/* Filtre butonları */
.chip{border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.75);padding:.55rem 1.1rem;font-size:13px;transition:all .3s;position:relative;overflow:hidden}
.chip:hover{color:#fff;border-color:rgba(255,255,255,.5)}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 10px 30px -10px rgba(31,111,224,.8)}
.fitem{transition:opacity .45s ease, transform .45s ease}
.fitem.out{opacity:0;transform:scale(.92)}

/* ---------- Genel ---------- */
.js .reveal{opacity:0;transform:translateY(28px)}
.reveal{transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1)}
.js .reveal.show{opacity:1;transform:none}
.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}
.page-hero{background:#0f2460}
.prose-site{color:#475569;font-size:15px;line-height:1.85}
.prose-site p{margin:0 0 1.1em}
.prose-site h2,.prose-site h3{color:#1e293b;font-weight:700;margin:1.6em 0 .6em;line-height:1.3}
.prose-site h2{font-size:1.5rem}.prose-site h3{font-size:1.2rem}
.prose-site ul{list-style:none;padding:0;margin:0 0 1.2em}
.prose-site ul li{position:relative;padding-left:1.6em;margin:.45em 0}
.prose-site ul li::before{content:'';position:absolute;left:0;top:.7em;width:.8em;height:2px;background:var(--brand)}
.prose-site ol{list-style:decimal;padding-left:1.4em}
.prose-site a{color:var(--brand);text-decoration:underline}
.prose-site strong{color:#1e293b}

.field{width:100%;border:1px solid #e2e8f0;background:#fff;padding:.85rem 1rem;font-size:14px;outline:none;transition:border-color .2s, box-shadow .2s}
.field:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,111,224,.12)}

.btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--brand);color:#fff;font-size:14px;font-weight:500;padding:.85rem 2rem;border-radius:2px;box-shadow:0 10px 25px -8px rgba(15,36,96,.55);transition:background .3s, transform .3s, box-shadow .3s;position:relative;overflow:hidden}
.btn:hover{background:var(--brand-light);transform:translateY(-2px)}
.btn::before{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .8s}
.btn:hover::before{left:140%}
.btn-ghost{display:inline-flex;align-items:center;gap:.6rem;color:#fff;font-size:14px;font-weight:500;padding:.85rem 1.6rem;border:1px solid rgba(255,255,255,.45);border-radius:2px;transition:all .3s}
.btn-ghost:hover{background:#fff;color:var(--navy-900)}

/* Galeri (masonry) */
.masonry{columns:1;column-gap:1rem}
@media (min-width:640px){.masonry{columns:2}}
@media (min-width:1024px){.masonry{columns:3}}
.masonry>*{break-inside:avoid;margin-bottom:1rem}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:80;background:rgba(5,12,35,.94);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s}
.lb.open{opacity:1;visibility:visible}
.lb-stage{max-width:92vw;max-height:84vh;display:flex;align-items:center;justify-content:center}
.lb-stage img{max-width:92vw;max-height:84vh;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6);animation:lbin .45s cubic-bezier(.2,.8,.2,1)}
.lb-stage iframe{width:min(92vw,1280px);aspect-ratio:16/9;height:auto;border:0;background:#000}
@keyframes lbin{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.lb button{color:#fff;transition:background .2s}
.lb .lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}
.lb .lb-btn:hover{background:var(--brand)}

/* Yukarı çık */
.to-top{position:fixed;left:20px;bottom:20px;z-index:40;width:46px;height:46px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(20px);transition:all .35s;box-shadow:0 10px 25px -8px rgba(15,36,96,.7)}
.to-top.on{opacity:1;transform:none}

/* ---------- Sağ alt hızlı iletişim butonları ---------- */
.hizli-iletisim{position:fixed;right:18px;bottom:18px;z-index:45;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.hb{position:relative;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 12px 28px -8px rgba(10,26,69,.55);transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s}
.hb:hover{transform:translateY(-3px) scale(1.05)}
.hb-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.hb-tel{background:linear-gradient(135deg,var(--gold-light),var(--gold) 50%,var(--gold-dark));color:#0a1a45}
.hb-tel::before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold);animation:hbnabiz 2.2s ease-out infinite}
@keyframes hbnabiz{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.6);opacity:0}}
.hb-tel svg{animation:hbsalla 3s ease-in-out infinite}
@keyframes hbsalla{0%,80%,100%{transform:rotate(0)}84%{transform:rotate(-14deg)}88%{transform:rotate(12deg)}92%{transform:rotate(-8deg)}96%{transform:rotate(5deg)}}
.hb-etiket{position:absolute;right:68px;white-space:nowrap;background:#0a1a45;color:#fff;font-size:13px;font-weight:500;padding:.45rem .8rem;border-radius:6px;opacity:0;transform:translateX(8px);pointer-events:none;transition:all .25s}
.hb:hover .hb-etiket{opacity:1;transform:none}
@media (max-width:640px){.hb{width:52px;height:52px}.hizli-iletisim{right:14px;bottom:14px}.to-top{left:14px;bottom:14px}}

/* ---------- Projeler: lacivert + logo altını gradyan ---------- */
.altin-ton{background:
  radial-gradient(1000px 620px at 108% -12%, rgba(212,184,106,.42), rgba(179,149,82,.12) 38%, transparent 66%),
  radial-gradient(900px 600px at -12% 112%, rgba(212,184,106,.32), rgba(179,149,82,.08) 40%, transparent 64%),
  linear-gradient(118deg, transparent 38%, rgba(236,215,149,.07) 48%, rgba(236,215,149,.12) 50%, rgba(236,215,149,.07) 52%, transparent 62%),
  linear-gradient(165deg,#0f2460 0%,#0f2460 50%,#14286a 100%)}
.altin-ton::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-dark) 25%,var(--gold-light) 50%,var(--gold-dark) 75%,transparent);opacity:.6}
.altin-ton::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-dark) 20%,var(--gold-light) 50%,var(--gold-dark) 80%,transparent);opacity:.85}
.altin-ton .bg-word{-webkit-text-stroke:1px rgba(212,184,106,.32)}
.altin-yazi{background:linear-gradient(100deg,var(--gold-light) 0%,var(--gold) 45%,var(--gold-dark) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.altin-cizgi{display:block;width:56px;height:3px;margin-bottom:1rem;background:linear-gradient(90deg,var(--gold-light),var(--gold),var(--gold-dark))}
.altin-ton .pcard:hover{border-color:rgba(212,184,106,.65);box-shadow:0 40px 80px -30px rgba(0,0,0,.85),0 0 0 1px rgba(212,184,106,.25)}
.altin-ton .pcard .pglow{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(212,184,106,.28),transparent 45%)}
.altin-ton .pcard:hover .parrow{background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-dark));border-color:transparent;color:#0a1a45}
.altin-ton .pcard .pline{background:linear-gradient(90deg,var(--gold-dark),var(--gold-light),var(--gold))}
.altin-ton .chip.on{background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-dark));border-color:var(--gold);color:#0a1a45;box-shadow:0 10px 30px -10px rgba(212,184,106,.7)}
.altin-ton .chip:hover{border-color:rgba(212,184,106,.6)}
.altin-ton .sayac-no{background:linear-gradient(100deg,var(--gold-light),var(--gold) 50%,var(--gold-dark));-webkit-background-clip:text;background-clip:text;color:transparent}
.altin-ton .btn-ghost:hover{background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-dark));border-color:transparent;color:#0a1a45}
.altin-kutu{position:relative;background:
  radial-gradient(420px 260px at 110% -20%, rgba(212,184,106,.25), transparent 60%),
  linear-gradient(165deg,#0f2460,#13296a)}
.altin-kutu::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--gold-dark),var(--gold-light),var(--gold))}
.g-recaptcha{transform-origin:left top}
@media (max-width:360px){.g-recaptcha{transform:scale(.88)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.fade-up,.split .w>span{opacity:1!important;transform:none!important}
  .unveil{clip-path:none!important}
}
